JP5668191B2 - ENCRYPTED DATA MANAGEMENT DEVICE, ENCRYPTED DATA MANAGEMENT METHOD, AND ENCRYPTED DATA MANAGEMENT PROGRAM - Google Patents

ENCRYPTED DATA MANAGEMENT DEVICE, ENCRYPTED DATA MANAGEMENT METHOD, AND ENCRYPTED DATA MANAGEMENT PROGRAM Download PDF

Info

Publication number
JP5668191B2
JP5668191B2 JP2013549994A JP2013549994A JP5668191B2 JP 5668191 B2 JP5668191 B2 JP 5668191B2 JP 2013549994 A JP2013549994 A JP 2013549994A JP 2013549994 A JP2013549994 A JP 2013549994A JP 5668191 B2 JP5668191 B2 JP 5668191B2
Authority
JP
Japan
Prior art keywords
encrypted data
key
vector
key information
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013549994A
Other languages
Japanese (ja)
Other versions
JPWO2013094018A1 (en
Inventor
幸宏 市川
幸宏 市川
松田 規
規 松田
忠和 山中
忠和 山中
克幸 高島
克幸 高島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5668191B2 publication Critical patent/JP5668191B2/en
Publication of JPWO2013094018A1 publication Critical patent/JPWO2013094018A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Description

この発明は、秘密鍵の失効を実現する暗号化データの管理技術に関する。   The present invention relates to a technique for managing encrypted data that realizes revocation of a secret key.

1976年にディフィーとヘルマンとが開発した公開鍵暗号方式は、様々な改良と機能拡張が行われている。2001年には、ボネとフランクリンとにより、ペアリング演算に基づいたIDベース暗号と呼ばれる公開鍵暗号方式が開発された。近年ではペアリング演算に基づいた方式に関する研究が盛んに行われている。
ペアリングを用いた高機能な公開鍵暗号方式として、非特許文献1,2に記載された高い安全性を持つ暗号方式(以下、関数型暗号方式と呼ぶ)がある。関数型暗号方式は、従来の暗号とは異なり、復号が可能なユーザ(秘密鍵)を複数指定した暗号化を1つの公開鍵で行うことができる。
The public key cryptosystem developed by Diffie and Hermann in 1976 has undergone various improvements and functional enhancements. In 2001, Bonnet and Franklin developed a public key cryptosystem called ID-based cryptography based on pairing operations. In recent years, research on methods based on pairing operations has been actively conducted.
As a highly functional public key cryptosystem using pairing, there are cryptosystems with high security described in Non-Patent Documents 1 and 2 (hereinafter referred to as functional cryptography). Unlike the conventional encryption, the functional encryption method can perform encryption by designating a plurality of users (secret keys) that can be decrypted with one public key.

公開鍵暗号方式を一般のユーザが利用するシステムに適用した場合には、ユーザが秘密鍵を紛失する恐れがある。この場合、紛失した秘密鍵が悪用されることを防止するため、紛失した秘密鍵を失効させることが必要になる。
秘密鍵を失効させる失効方式としては、特許文献1,2に記載された方式がある。
When the public key cryptosystem is applied to a system used by a general user, the user may lose the secret key. In this case, in order to prevent the lost secret key from being misused, it is necessary to revoke the lost secret key.
As revocation methods for revoking the secret key, there are methods described in Patent Documents 1 and 2.

特許文献1には、特定のユーザの秘密鍵を無効にするコマンドが入力された場合に、そのユーザの秘密鍵を無効にし、秘密鍵を再発行するコマンドが入力された場合に新規の暗号鍵及び秘密鍵の鍵ペアを生成する失効方式について記載されている。   In Patent Document 1, when a command for invalidating a secret key of a specific user is input, a new encryption key is input when a command for invalidating the secret key of the user and reissuing the secret key is input. And a revocation method for generating a private key pair.

特許文献2には、アクセス要求とアクセス識別子とを受信したとき、無効にされた識別子のリストに記載された識別子とアクセス識別子とが一致するかを確認し、一致する場合、アクセスを終了させる失効方式について記載されている。   In Patent Document 2, when an access request and an access identifier are received, it is confirmed whether or not the identifier described in the list of invalidated identifiers matches the access identifier. The method is described.

特開2005−51614号公報JP-A-2005-51614 特表2003−506782号公報Japanese translation of PCT publication No. 2003-506782

T.Okamoto,K.Takashima,“A geometric approach on pairings and hierarchical predicate encryption”,In:Poster session,EUROCRYPT 2009.T. T. et al. Okamoto, K .; Takashima, “A geometric approach on pairing and hierarchical predicates encryption”, In: Poster session, EUROCRYPT 2009. T.Okamoto,K.Takashima,“Fully Secure Functional Encryption With General Relations from the Decisional Linear Assumption”,CRYPTO 2010,Lecture Notes In Computer Science,2010,Volume 6223/2010.T. T. et al. Okamoto, K .; Takashima, “Fully Security Functional Encryption With General Relations form the Decision Linear Assessment,” CRYPTO 2010, Lecture Notes 20 In 23.

関数型暗号方式は、従来と大きく異なる暗号方式であるため、従来の暗号方式に適用された秘密鍵の失効方式を適用することができない。また、関数型暗号方式は、従来の暗号方式と同様に、アルゴリズム自体では失効を考慮していない。そのため、関数型暗号方式は、一般のユーザが利用するシステムに適用した場合に発生する可能性の高い秘密鍵の紛失に対応できない。   Since the functional encryption method is significantly different from the conventional encryption method, the secret key revocation method applied to the conventional encryption method cannot be applied. In addition, the functional encryption method does not consider revocation in the algorithm itself, as in the conventional encryption method. Therefore, the functional encryption method cannot cope with the loss of a secret key that is likely to occur when applied to a system used by a general user.

特許文献1に記載された失効方式では、秘密鍵が失効した場合に新しく鍵ペアを再発行する。そのため、この失効方式を関数型暗号方式に適用すると失効した秘密鍵で復号できるように暗号化した全てのデータを再暗号化しなければならない。したがって、過去に暗号化した多くデータを再暗号化することが必要となる恐れがあり、膨大なコストがかかってしまう恐れがある。
特許文献2に記載された失効方式を関数型暗号方式に適用した場合も同様に、失効した秘密鍵で復号できるように暗号化したデータを再暗号化しなければならない。
In the revocation method described in Patent Document 1, when a secret key is revoked, a new key pair is reissued. Therefore, when this revocation method is applied to a functional encryption method, all the encrypted data must be re-encrypted so that it can be decrypted with the revoked secret key. Therefore, it may be necessary to re-encrypt a large amount of data that has been encrypted in the past, and there is a risk that enormous costs may be required.
Similarly, when the revocation method described in Patent Document 2 is applied to the functional encryption method, the encrypted data must be re-encrypted so that it can be decrypted with the revoked secret key.

この発明は、関数型暗号方式においても利用可能な秘密鍵の失効方式を実現することを主な目的とする。   The main object of the present invention is to realize a secret key revocation method that can also be used in a functional encryption method.

この発明に係る暗号化データ管理装置は、
暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理装置であり、
属性情報が設定された暗号化データを記憶装置から取得するデータ取得部と、
前記データ取得部が取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定部と、
秘密鍵が失効しているユーザが含まれると前記失効判定部に判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定部と、
前記鍵情報設定部が鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信部と
を備えることを特徴とする。
The encrypted data management device according to the present invention is:
If the attribute information and key information set in the encrypted data does not correspond to the attribute information and key information set in the secret key, the encryption method cannot decrypt the encrypted data with the secret key. An encrypted data management device that manages encrypted data,
A data acquisition unit that acquires encrypted data set with attribute information from a storage device;
A revocation determination unit that determines whether the user having the attribute information set in the encrypted data acquired by the data acquisition unit includes a user whose private key has been revoked;
A key information setting unit that sets a different value in the encrypted data as the key information depending on whether or not the revocation determination unit determines that a user whose private key has been revoked;
The key information setting unit includes a data transmission unit that transmits the encrypted data in which the key information is set to the user terminal.

この発明に係る暗号化データ管理装置は、暗号化データを復号可能なユーザに秘密鍵が失効しているユーザが含まれるか否かによって、異なる値を鍵情報として設定した上で、ユーザへ送信する。これにより、失効した秘密鍵で暗号化データが復号されることを防止できる。   The encrypted data management device according to the present invention sets a different value as key information depending on whether or not a user whose secret key is revoked is included in a user who can decrypt the encrypted data, and transmits it to the user To do. Thereby, it is possible to prevent the encrypted data from being decrypted with the expired secret key.

実施の形態1に係る暗号処理システム10の構成図。1 is a configuration diagram of a cryptographic processing system 10 according to a first embodiment. 実施の形態1に係るユーザ端末100の構成図。1 is a configuration diagram of a user terminal 100 according to Embodiment 1. FIG. 実施の形態1に係る暗号化データ管理装置200の構成図。1 is a configuration diagram of an encrypted data management apparatus 200 according to Embodiment 1. FIG. 実施の形態1に係る暗号化データ記憶装置300の構成図。1 is a configuration diagram of an encrypted data storage device 300 according to Embodiment 1. FIG. 実施の形態1に係る鍵生成装置400の構成図。1 is a configuration diagram of a key generation device 400 according to Embodiment 1. FIG. 実施の形態1に係る暗号化データ登録処理の流れを示すフローチャート。5 is a flowchart showing a flow of encrypted data registration processing according to the first embodiment. 実施の形態1に係る暗号化データ取得処理の流れを示すフローチャート。5 is a flowchart showing a flow of encrypted data acquisition processing according to the first embodiment. 実施の形態3に係る暗号化データ管理装置200の構成図。FIG. 9 is a configuration diagram of an encrypted data management apparatus 200 according to Embodiment 3. 実施の形態3に係る暗号化データ記憶装置300の構成図。FIG. 5 is a configuration diagram of an encrypted data storage device 300 according to a third embodiment. 実施の形態3に係る暗号化データ登録処理の流れを示すフローチャート。10 is a flowchart showing a flow of encrypted data registration processing according to the third embodiment. 実施の形態3に係る暗号化データ取得処理の流れを示すフローチャート。10 is a flowchart showing a flow of encrypted data acquisition processing according to the third embodiment. ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400のハードウェア構成の一例を示す図。The figure which shows an example of the hardware constitutions of the user terminal 100, the encryption data management apparatus 200, the encryption data storage apparatus 300, and the key generation apparatus 400.

実施の形態1.
実施の形態1では、非特許文献1に記載された関数型暗号方式において、秘密鍵の失効方式を実現する方法を説明する。
Embodiment 1 FIG.
In the first embodiment, a method for realizing a secret key revocation method in the functional encryption method described in Non-Patent Document 1 will be described.

まず、非特許文献1に記載された関数型暗号方式について、この実施の形態の説明に必要な部分のみに簡略化して説明する。
非特許文献1に記載された関数型暗号方式には、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムがある。
First, the functional encryption method described in Non-Patent Document 1 will be described by simplifying only the portions necessary for the description of this embodiment.
The functional encryption methods described in Non-Patent Document 1 include Setup algorithm, KeyGen algorithm, Enc algorithm, and Dec algorithm.

Setupアルゴリズムは、公開パラメータpkとマスター秘密鍵skとを生成するアルゴリズムである。
Setupアルゴリズムでは、双対ペアリングベクトル空間のパラメータparamと、ペアリング演算で関連付けられた双対正規直交基底である基底B及び基底Bとが生成される。そして、パラメータparamと基底Bとが公開パラメータpkとされ、基底Bがマスター秘密鍵skとされる。
なお、基底Bは、基底ベクトルb,b,...,bn+2を有し、基底Bは、基底ベクトルb ,b ,...,b n+2を有する。つまり、基底B,Bは、それぞれのn+2個(nは1以上の整数)の基底ベクトルを有する。
The Setup algorithm is an algorithm that generates a public parameter pk and a master secret key sk.
In the Setup algorithm, a parameter param of the dual pairing vector space and a base B and a base B * which are dual orthonormal bases associated by the pairing operation are generated. The parameter param and the base B are the public parameters pk, and the base B * is the master secret key sk.
Note that the basis B has basis vectors b 1 , b 2 ,. . . , B n + 2 and the basis B * is a basis vector b * 1 , b * 2 ,. . . , B * n + 2 . That is, the bases B and B * have n + 2 base vectors (n is an integer of 1 or more).

KeyGenアルゴリズムは、ユーザ秘密鍵kを生成するアルゴリズムである。
KeyGenアルゴリズムでは、式1に示すように、マスター秘密鍵skに含まれる基底Bを用いて、ユーザ秘密鍵kが生成される。
<式1>
:=σ(v +...+v )+b n+1
ここで、σは、乱数値である。v,...,vは、ユーザ秘密鍵kが与えられるユーザの属性情報等である。
The KeyGen algorithm is an algorithm that generates a user secret key k * .
In the KeyGen algorithm, as shown in Equation 1, a user secret key k * is generated using the base B * included in the master secret key sk.
<Formula 1>
k * : = σ (v 1 b * 1 + ... + v n b * n ) + b * n + 1
Here, σ is a random value. v 1 ,. . . , V n is a such as attribute information of the user is given a user secret key k *.

Encアルゴリズムは、暗号化データcを生成するアルゴリズムである。
Encアルゴリズムでは、式2に示すように、公開パラメータpkに含まれる基底Bを用いて、暗号化データcの要素cが生成される。
<式2>
:=ω(x+...+x)+ζbn+1+φbn+2
ここで、ω,ζ,φは、乱数値である。x,...,xは、暗号化データcを復号可能なユーザの属性情報等である。
また、Encアルゴリズムでは、式3に示すように、公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cが生成される。
<式3>
:=e(g,g)ζ・m
ここで、gは、パラメータparamに含まれる情報であり、双対ペアリングベクトル空間を構成する群Gの要素である。mは、メッセージである。e(g,g)は、要素gと要素gとについてのペアリング演算である。
The Enc algorithm is an algorithm for generating encrypted data c.
In the Enc algorithm, as shown in Expression 2, the element c 1 of the encrypted data c is generated using the base B included in the public parameter pk.
<Formula 2>
c 1 : = ω (x 1 b 1 + ... + x n b n ) + ζb n + 1 + φb n + 2
Here, ω, ζ, and φ are random values. x 1 ,. . . , X n are attribute information of a user who can decrypt the encrypted data c.
Further, the Enc algorithm, as shown in Equation 3, using the parameter param included in the public parameter pk, element c 2 of the encrypted data c is generated.
<Formula 3>
c 2 : = e (g, g) ζ · m
Here, g is information included in the parameter param and is an element of the group G constituting the dual pairing vector space. m is a message. e (g, g) is a pairing operation for the element g and the element g.

Decアルゴリズムは、暗号化データcをユーザ秘密鍵kで復号するアルゴリズムである。
Decアルゴリズムでは、式4に示す計算が実行され、暗号化データcがユーザ秘密鍵kで復号されて、m’が抽出される。
<式4>
m’:=c/e(c,k
ここで、e(c,k)は、要素cとユーザ秘密鍵kとについてのペアリング演算である。
The Dec algorithm is an algorithm for decrypting the encrypted data c with the user secret key k * .
In the Dec algorithm, the calculation shown in Expression 4 is executed, the encrypted data c is decrypted with the user secret key k * , and m ′ is extracted.
<Formula 4>
m ′: = c 2 / e (c 1 , k * )
Here, e (c 1 , k * ) is a pairing operation for the element c 1 and the user secret key k * .

Decアルゴリズムでは、ユーザ秘密鍵kにおける基底ベクトルb ,...,b に設定された属性情報等(v,...,v)と、要素cにおける基底ベクトルb,...,bに設定された属性情報等(x,...,x)とが対応する場合、抽出されたm’=mとなる。
属性情報等(v,...,v)と属性情報等(x,...,x)とが対応するとは、Σi=1 ・x=0となることである。
In the Dec algorithm, basis vectors b * 1 in the user secret key k *,. . . , B * n set attribute information or the like to (v 1, ..., v n ) and basis vectors b 1 in element c 1,. . . , B n corresponds to the attribute information (x 1 ,..., X n ) set in n , the extracted m ′ = m.
If the attribute information etc. (v 1 ,..., V n ) and the attribute information etc. (x 1 ,..., X n ) correspond, Σ i = 1 n v i · x i = 0 It is.

ペアリング演算e(sg,tg)=e(g,g)stである。そのため、e(c,k)=e(g,g)となる。ここで、Y=ωσ(x・v+...x・v)+ζである。したがって、Σi=1 ・x=0であれば、Y=ζであり、e(c,k)=e(g,g)ζである。
式3に示すように、c:=e(g,g)ζ・mであるから、式4の計算を実行すれば、Σi=1 ・x=0の場合には、m’=mとなる。
Pairing operation e (sg, tg) = e (g, g) st . Therefore, e (c 1 , k * ) = e (g, g) Y. Here, Y = ωσ (x 1 · v 1 +... X n · v n ) + ζ. Therefore, if Σ i = 1 n v i · x i = 0, Y = ζ and e (c 1 , k * ) = e (g, g) ζ .
Since c 2 : = e (g, g) ζ · m as shown in Equation 3, if the calculation of Equation 4 is performed, if Σ i = 1 n v i · x i = 0, m ′ = m.

以下の説明では、説明を簡単にするため、n=4として説明する。   In the following description, n = 4 will be described for the sake of simplicity.

図1は、実施の形態1に係る暗号処理システム10の構成図である。
暗号処理システム10は、非特許文献1,2等に記載された関数型暗号方式に基づく暗号処理を実現する。暗号処理システム10は、複数のユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400を備える。各ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400は、それぞれ、インターネット等のネットワーク500を介して接続されている。
FIG. 1 is a configuration diagram of a cryptographic processing system 10 according to the first embodiment.
The cryptographic processing system 10 realizes cryptographic processing based on the functional cryptographic scheme described in Non-Patent Documents 1, 2 and the like. The cryptographic processing system 10 includes a plurality of user terminals 100, an encrypted data management device 200, an encrypted data storage device 300, and a key generation device 400. Each user terminal 100, encrypted data management device 200, encrypted data storage device 300, and key generation device 400 are connected via a network 500 such as the Internet.

図2は、実施の形態1に係るユーザ端末100の構成図である。
ユーザ端末100は、ユーザが使用する端末であり、データの暗号化、復号を行う。ユーザ端末100は、暗号化データ生成部110、データ送信部120、データ受信部130、復号部140、鍵管理部150を備える。
FIG. 2 is a configuration diagram of the user terminal 100 according to the first embodiment.
The user terminal 100 is a terminal used by the user, and encrypts and decrypts data. The user terminal 100 includes an encrypted data generation unit 110, a data transmission unit 120, a data reception unit 130, a decryption unit 140, and a key management unit 150.

図3は、実施の形態1に係る暗号化データ管理装置200の構成図である。
暗号化データ管理装置200は、ユーザ端末100と暗号化データ記憶装置300との間で、暗号化データの管理をする。暗号化データ管理装置200は、データ受信部210(データ取得部)、失効判定部220、鍵情報設定部230、データ送信部240、失効情報管理部250、鍵管理部260を備える。
FIG. 3 is a configuration diagram of the encrypted data management apparatus 200 according to the first embodiment.
The encrypted data management device 200 manages encrypted data between the user terminal 100 and the encrypted data storage device 300. The encrypted data management apparatus 200 includes a data reception unit 210 (data acquisition unit), a revocation determination unit 220, a key information setting unit 230, a data transmission unit 240, a revocation information management unit 250, and a key management unit 260.

図4は、実施の形態1に係る暗号化データ記憶装置300の構成図である。
暗号化データ記憶装置300は、暗号化データを記憶する。暗号化データ記憶装置300は、データ受信部310、データ操作部320、データ送信部330、暗号化データ管理部340を備える。
FIG. 4 is a configuration diagram of the encrypted data storage device 300 according to the first embodiment.
The encrypted data storage device 300 stores encrypted data. The encrypted data storage device 300 includes a data reception unit 310, a data operation unit 320, a data transmission unit 330, and an encrypted data management unit 340.

図5は、実施の形態1に係る鍵生成装置400の構成図である。
鍵生成装置400は、ユーザ秘密鍵k、マスター秘密鍵sk、公開パラメータpkを生成する。鍵生成装置400は、指示受信部410、鍵生成部420、鍵送信部430、マスター鍵記憶部440を備える。
FIG. 5 is a configuration diagram of the key generation apparatus 400 according to the first embodiment.
The key generation device 400 generates a user secret key k * , a master secret key sk, and a public parameter pk. The key generation device 400 includes an instruction reception unit 410, a key generation unit 420, a key transmission unit 430, and a master key storage unit 440.

暗号処理システム10の主な処理には、暗号化データ登録処理と、暗号化データ取得処理とがある。暗号化データ登録処理は、ユーザ端末100が暗号化データを暗号化データ記憶装置300に登録する処理である。暗号化データ取得処理は、ユーザ端末100が暗号化データを暗号化データ記憶装置300から取得する処理である。
また、暗号化データ登録処理と暗号化データ取得処理とには、3つの前提条件がある。
そこで、3つの前提条件を説明した上で、暗号化データ登録処理と、暗号化データ取得処理とを説明する。
The main processes of the cryptographic processing system 10 include an encrypted data registration process and an encrypted data acquisition process. The encrypted data registration process is a process in which the user terminal 100 registers encrypted data in the encrypted data storage device 300. The encrypted data acquisition process is a process in which the user terminal 100 acquires encrypted data from the encrypted data storage device 300.
The encrypted data registration process and the encrypted data acquisition process have three preconditions.
Therefore, after explaining the three preconditions, the encrypted data registration process and the encrypted data acquisition process will be described.

<前提条件1>
ユーザ端末100が、関数型暗号方式におけるユーザ秘密鍵kを取得している必要がある。
鍵生成装置400の指示受信部410は、ユーザ端末100等から鍵の生成指示を受信する。すると、鍵生成装置400の鍵生成部420は、処理装置により、Setupアルゴリズムを実行して、公開パラメータpkとマスター秘密鍵skとを生成し、マスター鍵記憶部440に記憶する。また、鍵生成部420は、処理装置により、KeyGenアルゴリズムを実行して、マスター秘密鍵skに含まれる基底Bを用いて、ユーザ秘密鍵kを生成する。
そして、鍵送信部430は、公開パラメータpkとユーザ秘密鍵kとをユーザ端末100へ送信する。ユーザ端末100のデータ受信部130は、公開パラメータpkとユーザ秘密鍵kとを受信して、鍵管理部150に記憶する。また、鍵送信部430は、公開パラメータpkを暗号化データ管理装置200へ送信する。暗号化データ管理装置200のデータ受信部210は、公開パラメータpkを受信して、鍵管理部260に記憶する。
なお、Setupアルゴリズムは一度だけ実行されればよく、ユーザ秘密鍵kを生成する度に実行する必要はない。
また、鍵送信部430がユーザ秘密鍵kをユーザ端末100へ送信する場合、ユーザ認証を行い、正当なユーザの端末であることを確認する。また、鍵送信部430がユーザ秘密鍵kをユーザ端末100へ送信する場合、盗聴と改ざんを防ぐため、SSL(Secure Socket Layer)等を用いた安全な通信路を使用する。つまり、ユーザ秘密鍵kが悪意ある第三者に不正に利用されないようにする。
<Prerequisite 1>
The user terminal 100 needs to acquire the user secret key k * in the functional encryption method.
The instruction receiving unit 410 of the key generation device 400 receives a key generation instruction from the user terminal 100 or the like. Then, the key generation unit 420 of the key generation device 400 executes the Setup algorithm by the processing device, generates the public parameter pk and the master secret key sk, and stores them in the master key storage unit 440. In addition, the key generation unit 420 executes the KeyGen algorithm by the processing device, and generates the user secret key k * using the base B * included in the master secret key sk.
Then, the key transmission unit 430 transmits the public parameter pk and the user secret key k * to the user terminal 100. The data receiving unit 130 of the user terminal 100 receives the public parameter pk and the user secret key k * and stores them in the key management unit 150. Further, the key transmission unit 430 transmits the public parameter pk to the encrypted data management apparatus 200. The data receiving unit 210 of the encrypted data management apparatus 200 receives the public parameter pk and stores it in the key management unit 260.
Note that the Setup algorithm need only be executed once and does not need to be executed every time the user secret key k * is generated.
When the key transmission unit 430 transmits the user secret key k * to the user terminal 100, user authentication is performed to confirm that the terminal is a legitimate user terminal. When the key transmission unit 430 transmits the user secret key k * to the user terminal 100, a secure communication path using SSL (Secure Socket Layer) or the like is used to prevent eavesdropping and tampering. That is, the user secret key k * is prevented from being illegally used by a malicious third party.

ここでは、鍵生成部420は、式5に示すようにユーザ秘密鍵kを生成する。
<式5>
=σ(v +v )+σ(v +v )+b
ここで、σ,σは、乱数値である。v,vは、鍵情報である。ここでは、鍵情報として、新たな鍵の発行毎に値がインクリメントされる世代番号を用いる。v,vは、ユーザ秘密鍵kが与えられるユーザの属性情報である。
世代番号の値をρとし、属性情報の値をαとした場合、ここでは、式6に示すようにユーザ秘密鍵kは生成される。
<式6>
=σ(ρb +b )+σ(αb +b )+b
つまり、v:=ρ,v:=1,v:=α,v:=1である。
Here, the key generation unit 420 generates a user secret key k * as shown in Equation 5.
<Formula 5>
k * = σ 1 (v 1 b * 1 + v 2 b * 2 ) + σ 2 (v 3 b * 3 + v 4 b * 4 ) + b * 5
Here, σ 1 and σ 2 are random values. v 1 and v 2 are key information. Here, a generation number whose value is incremented each time a new key is issued is used as the key information. v 3 and v 4 are user attribute information to which the user secret key k * is given.
When the value of the generation number is ρ and the value of the attribute information is α, the user secret key k * is generated here as shown in Equation 6.
<Formula 6>
k * = σ 1 (ρb * 1 + b * 2 ) + σ 2 (αb * 3 + b * 4 ) + b * 5
That is, v 1 : = ρ, v 2 : = 1, v 3 : = α, v 4 : = 1.

鍵生成部420は、あるユーザに対して、初めにユーザ秘密鍵kを生成する場合には、世代番号の値を1とする。そのユーザがユーザ秘密鍵kを紛失して、再びユーザ秘密鍵kを生成する場合には、世代番号の値をインクリメントして2とする。以降、ユーザ秘密鍵kを紛失して再生成する場合には、インクリメントした世代番号の値を用いる。The key generation unit 420 sets the value of the generation number to 1 when first generating the user secret key k * for a certain user. The user has lost the user secret key k *, in the case of generating a user secret key k * again, and 2 increments the value of the generation number. Thereafter, when the user secret key k * is lost and regenerated, the incremented generation number value is used.

<前提条件2>
ユーザ端末100が、ドメイン公開鍵dpkを取得している必要がある。
ドメイン公開鍵dpkとは、暗号化データ管理装置200の秘密鍵(ドメイン秘密鍵dsk)に対応する公開鍵である。なお、ドメイン秘密鍵dskとドメイン公開鍵dpkとの鍵ペアは、関数型暗号方式における鍵ペアでなく、他の公開鍵暗号方式における鍵ペアであってもよい。
鍵生成部420は、ドメイン秘密鍵dskとドメイン公開鍵dpkとの鍵ペアを生成し、鍵送信部430は、ドメイン公開鍵dpkをユーザ端末100へ送信し、ドメイン秘密鍵dskを暗号化データ管理装置200へ送信する。ユーザ端末100のデータ受信部130は、ドメイン公開鍵dpkを受信し、鍵管理部150に記憶する。また、暗号化データ管理装置200のデータ受信部210は、ドメイン公開鍵dpkを受信し、鍵管理部260に記憶する。
鍵送信部430がドメイン秘密鍵dskを暗号化データ管理装置200へ送信する場合、盗聴と改ざんを防ぐため、SSL等を用いた安全な通信路を使用する。
<Precondition 2>
The user terminal 100 needs to acquire the domain public key dpk.
The domain public key dpk is a public key corresponding to the secret key (domain secret key dsk) of the encrypted data management apparatus 200. The key pair of the domain secret key dsk and the domain public key dpk may be a key pair in another public key cryptosystem instead of a key pair in the functional cryptosystem.
The key generation unit 420 generates a key pair of the domain secret key dsk and the domain public key dpk, and the key transmission unit 430 transmits the domain public key dpk to the user terminal 100, and the domain secret key dsk is encrypted data management. Transmit to device 200. The data receiving unit 130 of the user terminal 100 receives the domain public key dpk and stores it in the key management unit 150. Further, the data receiving unit 210 of the encrypted data management apparatus 200 receives the domain public key dpk and stores it in the key management unit 260.
When the key transmission unit 430 transmits the domain secret key dsk to the encrypted data management apparatus 200, a secure communication path using SSL or the like is used to prevent eavesdropping and tampering.

<前提条件3>
暗号化データ管理装置200が、失効情報を取得している必要がある。
失効情報とは、ユーザ秘密鍵kを紛失したユーザの識別情報と、紛失したユーザ秘密鍵kの世代番号とを示す情報である。
ユーザがユーザ秘密鍵kを紛失した場合、ユーザ端末100のデータ送信部120は、ユーザ秘密鍵kを紛失したユーザの識別情報と、紛失したユーザ秘密鍵kの世代番号とを失効情報として暗号化データ管理装置200へ送信する。暗号化データ管理装置200のデータ受信部210は、失効情報を受信し、失効情報管理部250に記憶する。
なお、データ受信部210は、失効情報を受信する場合、ユーザ認証を行い、失効を届け出たユーザが本人であることを確認する。
<Precondition 3>
The encrypted data management apparatus 200 needs to acquire the revocation information.
The revocation information is information indicating the identification information of the user who lost the user secret key k *, and the user secret key k * generation number that was lost.
If the user has lost the user secret key k *, the data transmission unit 120 of the user terminal 100, revocation information and identification information of the user who lost the user secret key k *, and the user secret key k * generation number that was lost To the encrypted data management apparatus 200. The data receiving unit 210 of the encrypted data management apparatus 200 receives the revocation information and stores it in the revocation information management unit 250.
In addition, when receiving the revocation information, the data receiving unit 210 performs user authentication and confirms that the user who has reported the revocation is the principal.

<暗号化データ登録処理>
図6は、実施の形態1に係る暗号化データ登録処理の流れを示すフローチャートである。
(S11:暗号化処理)
ユーザ端末100の暗号化データ生成部110は、Encアルゴリズムを実行して暗号化データcを生成する。
<Encrypted data registration process>
FIG. 6 is a flowchart showing a flow of encrypted data registration processing according to the first embodiment.
(S11: Encryption processing)
The encrypted data generation unit 110 of the user terminal 100 generates the encrypted data c by executing the Enc algorithm.

ここでは、暗号化データ生成部110は、処理装置により、式7に示すように、鍵管理部150に記憶した公開パラメータpkに含まれる基底Bを用いて、暗号化データcの要素cを生成する。
<式7>
:=ω(r+r)+ω(x+x)+ζb+φb
ここで、ω,ω,r,r,ζ,φは、乱数値である。x,xは、暗号化データcを復号可能なユーザの属性情報が設定される。
属性情報の値をαとした場合、ここでは、式8に示すように暗号化データcは生成される。
<式8>
:=ω(r+r)+ω(b−αb)+ζb+φb
つまり、x:=1,x:=−αである。
Here, the encrypted data generation unit 110 uses the base B included in the public parameter pk stored in the key management unit 150, as shown in Expression 7, by the processing device to convert the element c 1 of the encrypted data c. Generate.
<Formula 7>
c 1 : = ω 1 (r 1 b 1 + r 2 b 2 ) + ω 2 (x 3 b 3 + x 4 b 4 ) + ζb 5 + φb 6
Here, ω 1 , ω 2 , r 1 , r 2 , ζ, and φ are random values. In x 3 and x 4 , attribute information of a user who can decrypt the encrypted data c is set.
When the value of the attribute information is α, the encrypted data c is generated here as shown in Expression 8.
<Formula 8>
c 1 : = ω 1 (r 1 b 1 + r 2 b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6
That is, x 3 : = 1, x 4 : = − α.

また、暗号化データ生成部110は、処理装置により、式9に示すように、鍵管理部150に記憶した公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cを生成する。
<式9>
:=e(g,g)ζ・m
Also, the encrypted data generation unit 110 generates the element c 2 of the encrypted data c using the parameter param included in the public parameter pk stored in the key management unit 150 as shown in Expression 9 by the processing device. To do.
<Formula 9>
c 2 : = e (g, g) ζ · m

また、暗号化データ生成部110は、処理装置により、鍵管理部150に記憶したドメイン公開鍵dpkで、ωを暗号化したE(ω)と、ωを暗号化したE(ω)とを生成する。
また、暗号化データ生成部110は、要素cに設定した属性情報が示すユーザの識別情報をユーザリストulとして生成する。
Further, the encrypted data generation unit 110, the processing device, the domain public key dpk stored in the key management unit 150, an omega 1 r 1 the encrypted E (ω 1 r 1), the omega 1 r 2 encryption E (ω 1 r 2 ) is generated.
Further, the encrypted data generation unit 110 generates user identification information indicated by the attribute information set to the element c 1 as the user list ul.

(S12:第1データ送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、暗号化データ生成部110が生成した要素c,c,E(ω),E(ω),ulを含む暗号化データcを、暗号化データ管理装置200へ送信する。
(S12: First data transmission process)
The data transmission unit 120 of the user terminal 100 is a cipher including elements c 1 , c 2 , E (ω 1 r 1 ), E (ω 1 r 2 ), ul generated by the encrypted data generation unit 110 by the communication device. The encrypted data c is transmitted to the encrypted data management apparatus 200.

(S13:第2データ送信処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcをユーザ端末100から受信する。暗号化データ管理装置200のデータ送信部240は、暗号化データcに関連情報rを添付して、暗号化データ記憶装置300へ送信する。なお、関連情報rとは、暗号化データcの作成者や、暗号化データcの受信日時等であり、後に暗号化データcを検索する際に利用される情報である。
(S13: Second data transmission process)
The data receiving unit 210 of the encrypted data management device 200 receives the encrypted data c from the user terminal 100 by the communication device. The data transmission unit 240 of the encrypted data management apparatus 200 attaches the related information r to the encrypted data c and transmits it to the encrypted data storage apparatus 300. The related information r is the creator of the encrypted data c, the reception date and time of the encrypted data c, etc., and is information used when searching for the encrypted data c later.

(S14:データ記憶処理)
暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データcと関連情報rとを暗号化データ管理装置200から受信する。暗号化データ記憶装置300のデータ操作部320は、暗号化データcと関連情報rとを関連付けて、暗号化データ管理部340に記憶する。
(S14: Data storage process)
The data receiving unit 310 of the encrypted data storage device 300 receives the encrypted data c and the related information r from the encrypted data management device 200 through the communication device. The data operation unit 320 of the encrypted data storage device 300 stores the encrypted data c and the related information r in the encrypted data management unit 340 in association with each other.

(S15:結果送信処理)
暗号化データ記憶装置300のデータ送信部330は、通信装置により、暗号化データcの記憶が成功したか否かを示す結果情報を、暗号化データ管理装置200へ送信する。
(S15: Result transmission process)
The data transmission unit 330 of the encrypted data storage device 300 transmits, to the encrypted data management device 200, result information indicating whether or not the encrypted data c has been successfully stored by the communication device.

(S16:結果転送処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、結果情報を暗号化データ記憶装置300から受信する。暗号化データ管理装置200のデータ送信部240は、通信装置により、結果情報をユーザ端末100へ送信する。
(S16: Result transfer process)
The data receiving unit 210 of the encrypted data management apparatus 200 receives the result information from the encrypted data storage apparatus 300 through the communication apparatus. The data transmission unit 240 of the encrypted data management apparatus 200 transmits the result information to the user terminal 100 through the communication apparatus.

(S17:結果受信処理)
ユーザ端末100のデータ受信部130は、通信装置により、結果情報を暗号化データ管理装置200から受信する。
(S17: Result reception process)
The data receiving unit 130 of the user terminal 100 receives the result information from the encrypted data management device 200 by the communication device.

<暗号化データ取得処理>
図7は、実施の形態1に係る暗号化データ取得処理の流れを示すフローチャートである。
(S21:キーワード送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、暗号化データcを特定可能なキーワードを、暗号化データ管理装置200へ送信する。
<Encrypted data acquisition processing>
FIG. 7 is a flowchart showing a flow of encrypted data acquisition processing according to the first embodiment.
(S21: Keyword transmission process)
The data transmission unit 120 of the user terminal 100 transmits a keyword capable of specifying the encrypted data c to the encrypted data management device 200 by the communication device.

(S22:キーワード転送処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、キーワードをユーザ端末100から受信する。暗号化データ管理装置200のデータ送信部240は、通信装置により、キーワードを暗号化データ記憶装置300へ送信する。
(S22: Keyword transfer process)
The data receiving unit 210 of the encrypted data management apparatus 200 receives the keyword from the user terminal 100 by the communication apparatus. The data transmission unit 240 of the encrypted data management device 200 transmits the keyword to the encrypted data storage device 300 through the communication device.

(S23:データ検索処理)
暗号化データ記憶装置300のデータ受信部310は、通信装置により、キーワードを暗号化データ管理装置200から受信する。暗号化データ記憶装置300のデータ操作部320は、処理装置により、キーワードと一致する関連情報rを有する暗号化データcを暗号化データ管理部340から抽出する。
(S23: Data search process)
The data receiving unit 310 of the encrypted data storage device 300 receives the keyword from the encrypted data management device 200 through the communication device. The data operation unit 320 of the encrypted data storage device 300 extracts, from the encrypted data management unit 340, the encrypted data c having the related information r that matches the keyword by the processing device.

(S24:第1データ送信処理)
暗号化データ記憶装置300のデータ送信部330は、通信装置により、抽出した暗号化データcを暗号化データ管理装置200へ送信する。
(S24: First data transmission process)
The data transmission unit 330 of the encrypted data storage device 300 transmits the extracted encrypted data c to the encrypted data management device 200 through the communication device.

(S25:世代番号付け代え処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcを暗号化データ記憶装置300から受信する。
暗号化データ管理装置200の失効判定部220は、処理装置により、暗号化データcのユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれているか否か判定する。鍵情報設定部230は、処理装置により、暗号化データcの要素cにおける乱数値r,rを、失効判定部220の判定結果に応じて異なる値に設定し直し、要素c’を生成する。
具体的には、鍵情報設定部230は、以下のように乱数値r,rを設定し直す。なお、ここでは、式8に示す要素cにおける乱数値r,rを設定し直した要素c’を示す。
(S25: Generation number changing process)
The data receiving unit 210 of the encrypted data management device 200 receives the encrypted data c from the encrypted data storage device 300 through the communication device.
The revocation determination unit 220 of the encrypted data management apparatus 200 determines whether or not the identification information of the user included in the user list ul of the encrypted data c is included in the revocation information stored in the revocation information management unit 250 by the processing device. To determine. The key information setting unit 230 resets the random values r 1 and r 2 in the element c 1 of the encrypted data c to different values according to the determination result of the revocation determination unit 220 by the processing device, and the element c 1 ′. Is generated.
Specifically, the key information setting unit 230 resets the random values r 1 and r 2 as follows. Here, showing elements c 1 'which resets the random number r 1, r 2 in the element c 1 shown in Equation 8.

ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれていない場合、鍵情報設定部230は、式10に示すように、要素c’を生成する。
<式10>
’:=ω(b−b)+ω(b−αb)+ζb+φb
つまり、rを1に設定し直し、rを−1に設定し直す。rを設定し直した−1は、−1×世代番号の初期値である。
なお、式11に示す計算をすることにより、式8に示す要素cから式10に示す要素c’を得ることができる。
<式11>
’:=c−(ω+ω)+(ω−ω
ここで、ω,ωは、暗号化データcの要素E(ω),E(ω)を、鍵管理部260に記憶したドメイン秘密鍵dskで復号することにより得られる。また、b,bは、公開パラメータpkに含まれる基底Bから得られる。
When the user identification information included in the user list ul is not included in the revocation information stored in the revocation information management unit 250, the key information setting unit 230 generates an element c 1 ′ as shown in Expression 10. .
<Formula 10>
c 1 ′: = ω 1 (b 1 −b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6
That is, r 1 is reset to 1, and r 2 is reset to -1. -1 after resetting r 2 is an initial value of −1 × generation number.
In addition, by performing the calculation shown in Expression 11, the element c 1 ′ shown in Expression 10 can be obtained from the element c 1 shown in Expression 8.
<Formula 11>
c 1 ′: = c 1 − (ω 1 r 1 b 1 + ω 1 r 2 b 2 ) + (ω 1 b 1 −ω 1 b 2 )
Here, ω 1 r 1 and ω 1 r 2 decrypt the elements E (ω 1 r 1 ) and E (ω 1 r 2 ) of the encrypted data c with the domain secret key dsk stored in the key management unit 260. Can be obtained. B 1 and b 2 are obtained from the base B included in the public parameter pk.

ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれている場合、鍵情報設定部230は、式12に示すように、要素c’を生成する。
<式12>
’:=ω(b−ρ)+ω(b−αb)+ζb+φb
つまり、rを1に設定し直し、rを−ρに設定し直す。rを設定し直した−ρは、−1×(失効したユーザ秘密鍵kの世代番号の値+1)である。つまり、ユーザリストulにユーザAが含まれており、失効したユーザAのユーザ秘密鍵kの世代番号として1が失効リストに含まれている場合、−ρは、−1×(1+1)=−2となる。
なお、式13に示す計算をすることにより、式8に示す要素cから式12に示す要素c’を得ることができる。
<式13>
’:=c−(ω+ω)+(ω−ωρ
When the user identification information included in the user list ul is included in the revocation information stored in the revocation information management unit 250, the key information setting unit 230 generates the element c 1 ′ as shown in Expression 12. .
<Formula 12>
c 1 ′: = ω 1 (b 1 −ρ 1 b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6
That is, r 1 is reset to 1 and r 2 is reset to −ρ 1 . -ρ 1 obtained by resetting r 2 is −1 × (the value of the generation number of the revoked user secret key k * + 1). That is, when the user A is included in the user list ul and 1 is included in the revocation list as the generation number of the user secret key k * of the revoked user A, −ρ 1 is −1 × (1 + 1) = −2.
Note that by performing the calculation shown in Expression 13, the element c 1 ′ shown in Expression 12 can be obtained from the element c 1 shown in Expression 8.
<Formula 13>
c 1 ′: = c 1 − (ω 1 r 1 b 1 + ω 1 r 2 b 2 ) + (ω 1 b 1 −ω 1 ρ 1 b 2 )

(S26:第2データ送信処理)
暗号化データ管理装置200のデータ送信部240は、通信装置により、暗号化データcの要素cを要素c’に置き換えた暗号化データc’を、ユーザ端末100へ送信する。
(S26: Second data transmission process)
Data transmission unit 240 of the encrypted data management device 200, a communication device, the 'encrypted data c is replaced with' an element c 1 of the encrypted data c element c 1, and transmits to the user terminal 100.

(S27:復号処理)
ユーザ端末100の暗号化データ生成部110は、通信装置により、暗号化データc’を暗号化データ管理装置200から受信する。ユーザ端末100の復号部140は、Decアルゴリズムを実行することにより、暗号化データc’をユーザ秘密鍵kで復号する。
ここでは、復号部140は、処理装置により、式14に示す計算を実行することにより、暗号化データc’をユーザ秘密鍵kで復号して、メッセージm’を抽出する。
<式14>
m’:=c/e(c,k
(S27: Decoding process)
The encrypted data generation unit 110 of the user terminal 100 receives the encrypted data c ′ from the encrypted data management device 200 through the communication device. The decryption unit 140 of the user terminal 100 decrypts the encrypted data c ′ with the user secret key k * by executing the Dec algorithm.
Here, the decryption unit 140 performs the calculation shown in Expression 14 by the processing device, thereby decrypting the encrypted data c ′ with the user secret key k * and extracting the message m ′.
<Formula 14>
m ′: = c 2 / e (c 1 , k * )

上述したように、ユーザ秘密鍵kにおける基底ベクトルb ,...,b に設定された属性情報等(v,...,v)と、要素cにおける基底ベクトルb,...,bに設定された属性情報等(x,...,x)とが対応する場合、抽出されたm’=mとなる。そして、ここでは、属性情報等(v,...,v)と属性情報等(x,...,x)とが対応するとは、Σi=1 ・x=0となることである。As described above, the basis vectors b * 1 in the user secret key k *,. . . , B * n set attribute information or the like to (v 1, ..., v n ) and basis vectors b 1 in element c 1,. . . , B n corresponds to the attribute information (x 1 ,..., X n ) set in n , the extracted m ′ = m. Here, the attribute information and the like (v 1 ,..., V n ) and the attribute information and the like (x 1 ,..., X n ) correspond to Σ i = 1 n v i · x i = 0.

ユーザ端末100は、初めに生成され、世代番号の値として1が付されたユーザ秘密鍵kを有しているとする。つまり、ユーザ端末100は、式6のρに1が設定された、式15に示すユーザ秘密鍵kを有しているとする。
<式15>
=σ(b +b )+σ(αb +b )+b
また、S11において、暗号化データcの要素cは、式16(=式8)に示すように生成されているとする。
<式16>
:=ω(r+r)+ω(b−αb)+ζb+φb
It is assumed that the user terminal 100 has a user secret key k * that is generated first and has a generation number value of 1. That is, it is assumed that the user terminal 100 has the user secret key k * shown in Expression 15 in which 1 is set in ρ of Expression 6.
<Formula 15>
k * = σ 1 (b * 1 + b * 2 ) + σ 2 (αb * 3 + b * 4 ) + b * 5
Further, in S11, the element c 1 of the encrypted data c is assumed to be generated as shown in Equation 16 (= Equation 8).
<Formula 16>
c 1 : = ω 1 (r 1 b 1 + r 2 b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6

ユーザリストulに含まれるユーザの識別情報が失効情報に含まれていない場合、式17(=式10)に示すように、要素c’は生成される。
<式17>
’:=ω(b−b)+ω(b−αb)+ζb+φb
この場合、v=1,v=1,v=α,v=1であり、x=1,x=−1,x=1,x=−αであるから、Σi=1 ・x=1−1+α−α=0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cに設定されたメッセージmと等しい。
つまり、ユーザ秘密鍵kで、暗号化データcを復号することができる。
When the user identification information included in the user list ul is not included in the revocation information, the element c 1 ′ is generated as shown in Expression 17 (= Expression 10).
<Formula 17>
c 1 ′: = ω 1 (b 1 −b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6
In this case, v 1 = 1, v 2 = 1, v 3 = α, v 4 = 1, x 1 = 1, x 2 = −1, x 3 = 1, x 4 = −α, Σ i = 1 4 v i · x i = 1−1 + α−α = 0. Accordingly, the message m, which is extracted with S26 'is equal to the message m, which is set to the element c 2 of the encrypted data c at S11.
That is, the encrypted data c can be decrypted with the user secret key k * .

一方、ユーザリストulに含まれるユーザの識別情報が失効情報に含まれている場合、式18に示すように、要素c’は生成される。ここでは、世代番号がの値が1のユーザ秘密鍵kが失効していたとする。
<式18>
’:=ω(b−2b)+ω(b−αb)+ζb+φb
この場合、ユーザ秘密鍵kにおいて、基底ベクトルb ,...,b の係数に設定されたv,...,vは、v=1,v=1,v=α,v=1である。また、要素c’において、基底ベクトルb,...,bの係数に設定されたx,...,xは、x=1,x=−2,x=1,x=−αであるから、Σi=1 ・x=1−2+α−α≠0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cに設定されたメッセージmと等しくない。
つまり、失効しているユーザ秘密鍵kでは、暗号化データcを復号することはできない。
On the other hand, when the user identification information included in the user list ul is included in the revocation information, the element c 1 ′ is generated as shown in Expression 18. Here, it is assumed that the user secret key k * whose generation number is 1 has expired.
<Formula 18>
c 1 ′: = ω 1 (b 1 −2b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6
In this case, in the user secret key k * , the basis vectors b * 1 ,. . . , B * 4 set to v 1 ,. . . , V 4 are v 1 = 1, v 2 = 1, v 3 = α, v 4 = 1. Further, in the element c 1 ′, the basis vectors b 1 ,. . . , B 4 set to the coefficients of x 1 ,. . . , X 4 are x 1 = 1, x 2 = −2, x 3 = 1, x 4 = −α, and Σ i = 1 4 v i · x i = 1−2 + α−α ≠ 0. . Accordingly, the message m, which is extracted with S26 'is not equal to the message m, which is set to the element c 2 of the encrypted data c at S11.
That is, the encrypted data c cannot be decrypted with the expired user secret key k * .

しかし、ユーザ端末100は、鍵生成装置400にユーザ秘密鍵kを再生成してもらい、世代番号の値として2が付されたユーザ秘密鍵kを取得したとする。つまり、ユーザ端末100は、式6のρに2が設定された、式19に示すユーザ秘密鍵kを取得したとする。
<式19>
=σ(2b +b )+σ(αb +b )+b
この場合、v=2,v=1,v=α,v=1であり、x=1,x=−2,x=1,x=−αであるから、Σi=1 ・x=2−2+α−α=0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cに設定されたメッセージmと等しい。
つまり、ユーザ秘密鍵kを紛失した場合、ユーザ秘密鍵kを再生成してもらうことで、暗号化データcの復号が可能となる。
However, the user terminal 100, asked to re-generate the user secret key k * to the key generation device 400, and has obtained the user secret key k * 2 is attached as the value of the generation number. That is, it is assumed that the user terminal 100 has acquired the user secret key k * shown in Expression 19 in which 2 is set in ρ of Expression 6.
<Formula 19>
k * = σ 1 (2b * 1 + b * 2 ) + σ 2 (αb * 3 + b * 4 ) + b * 5
In this case, v 1 = 2, v 2 = 1, v 3 = α, v 4 = 1, x 1 = 1, x 2 = −2, x 3 = 1, x 4 = −α, Σ i = 1 4 v i · x i = 2-2 + α−α = 0. Accordingly, the message m, which is extracted with S26 'is equal to the message m, which is set to the element c 2 of the encrypted data c at S11.
That is, when the user secret key k * is lost, the encrypted data c can be decrypted by regenerating the user secret key k * .

また、ユーザ端末100が、暗号化データ管理装置200を介すことなく、暗号化データ記憶装置300から暗号化データcを取得することも考えられる。しかし、この場合、暗号化データcの要素cは、式20(=式8)に示す通りである。
<式20>
:=ω(r+r)+ω(b−αb)+ζb+φb
この場合、乱数値r,rが用いられているため、ユーザ秘密鍵kに設定された世代番号の値がいくつであっても、Σi=1 ・x≠0となり、復号できない。
It is also conceivable that the user terminal 100 acquires the encrypted data c from the encrypted data storage device 300 without going through the encrypted data management device 200. However, in this case, the element c 1 of the encrypted data c is as shown in Expression 20 (= Expression 8).
<Formula 20>
c 1 : = ω 1 (r 1 b 1 + r 2 b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6
In this case, since the random values r 1 and r 2 are used, Σ i = 1 4 v i · x i ≠ 0 regardless of the number of generation numbers set in the user secret key k * . Cannot decrypt.

以上のように、実施の形態1に係る暗号処理システム10では、ユーザ秘密鍵kを紛失した場合には、紛失したユーザ秘密鍵kでは暗号化データcを復号できない状態とし、再生成されたユーザ秘密鍵kでは暗号化データcを復号できる状態とすることができる。特に、この際、既に暗号化データ記憶装置300に記憶された暗号化データcに対して、再暗号化等の処理を行う必要はない。As described above, in the cryptographic processing system 10 according to the first embodiment, when the user secret key k * is lost, the encrypted data c cannot be decrypted with the lost user secret key k * and is regenerated. In addition, the user secret key k * can be in a state where the encrypted data c can be decrypted. In particular, at this time, it is not necessary to perform processing such as re-encryption on the encrypted data c already stored in the encrypted data storage device 300.

また、実施の形態1に係る暗号処理システム10では、仮に、ユーザ端末100が、暗号化データ管理装置200を介すことなく、暗号化データ記憶装置300から暗号化データcを取得した場合にも、暗号化データcを復号できない。
したがって、実施の形態1に係る暗号処理システム10では、暗号化データ記憶装置300を第三者に委託し、暗号化データ記憶装置300から暗号化データcが漏洩する可能性がある場合であっても、安全性を保つことができる。
Also, in the cryptographic processing system 10 according to the first embodiment, even when the user terminal 100 acquires the encrypted data c from the encrypted data storage device 300 without going through the encrypted data management device 200. The encrypted data c cannot be decrypted.
Therefore, in the cryptographic processing system 10 according to the first embodiment, the encrypted data storage device 300 is entrusted to a third party, and the encrypted data c may be leaked from the encrypted data storage device 300. Even can keep safe.

つまり、実施の形態1に係る暗号処理システム10では、ユーザ秘密鍵kに、ユーザの属性情報と、その鍵の世代番号とを設定しておく。また、暗号化データcに、復号できる条件として、復号可能なユーザの属性情報の条件と、復号可能な鍵の世代番号の条件とをAND条件で設定しておく。
また、実施の形態1に係る暗号処理システム10では、ユーザ端末100と暗号化データ記憶装置300との間の処理を中継する暗号化データ管理装置200を設置する。そして、ユーザ端末100が暗号化データcを取得する場合、暗号化データ管理装置200が暗号化データ記憶装置300から暗号化データcを取得して、ユーザ端末100へ送信する。この際、暗号化データ管理装置200は、暗号化データcを復号可能なユーザにユーザ秘密鍵kを失効したユーザが含まれるか否かに応じて、暗号化データcの世代番号を異なる値に設定し直す。具体的には、失効したユーザが含まれない場合には、世代番号の値に初期値を設定し、失効したユーザが含まれる場合には、世代番号の値に失効していない世代番号の値を設定する。
これにより、実施の形態1に係る暗号処理システム10は、暗号化データcの再暗号化をすることなく、紛失したユーザ秘密鍵kでは暗号化データcを復号できず、再生成されたユーザ秘密鍵kでは暗号化データcを復号できる状態とする。
That is, in the cryptographic processing system 10 according to the first embodiment, the user attribute information and the generation number of the key are set in the user secret key k * . In addition, a decryptable user attribute information condition and a decryptable key generation number condition are set in the encrypted data c as AND conditions.
In the cryptographic processing system 10 according to the first embodiment, the encrypted data management device 200 that relays the processing between the user terminal 100 and the encrypted data storage device 300 is installed. When the user terminal 100 acquires the encrypted data c, the encrypted data management device 200 acquires the encrypted data c from the encrypted data storage device 300 and transmits it to the user terminal 100. At this time, the encrypted data management apparatus 200 sets the generation number of the encrypted data c to a different value depending on whether or not the user who can decrypt the encrypted data c includes a user who has revoked the user secret key k *. Set to. Specifically, if a revoked user is not included, an initial value is set as the generation number value. If a revoked user is included, the generation number value is not revoked. Set.
Thereby, the cryptographic processing system 10 according to the first embodiment cannot decrypt the encrypted data c with the lost user secret key k * without re-encrypting the encrypted data c, and the regenerated user The secret key k * is in a state where the encrypted data c can be decrypted.

なお、上記説明では、式5に示すようにユーザ秘密鍵kを生成するとした。つまり、鍵情報と属性情報とに、異なる乱数値σ,σを乗じていた。しかし、式21に示すように、鍵情報と属性情報とに同一の乱数値σを乗じて、ユーザ秘密鍵kを生成してもよい。
<式21>
=σ(v +v +v +v )+b
In the above description, the user secret key k * is generated as shown in Equation 5. That is, the key information and the attribute information are multiplied by different random values σ 1 and σ 2 . However, as shown in Equation 21, the user secret key k * may be generated by multiplying the key information and the attribute information by the same random value σ.
<Formula 21>
k * = σ (v 1 b * 1 + v 2 b * 2 + v 3 b * 3 + v 4 b * 4 ) + b * 5

また、上記説明では、式7に示すように暗号化データcの要素cを生成するとした。つまり、鍵情報と属性情報とに、異なる乱数値ω,ωを乗じていた。しかし、式22に示すように、鍵情報と属性情報とに同一の乱数値ωを乗じて、要素cを生成してもよい。
<式22>
:=ω(r+r+x+x)+ζb+φb
In the above description, the element c 1 of the encrypted data c is generated as shown in Expression 7. That is, the key information and the attribute information are multiplied by different random values ω 1 and ω 2 . However, as shown in Expression 22, the element c 1 may be generated by multiplying the key information and the attribute information by the same random value ω.
<Formula 22>
c 1 : = ω (r 1 b 1 + r 2 b 2 + x 3 b 3 + x 4 b 4 ) + ζb 5 + φb 6

また、式23に示すように、乱数値ωを用いず、要素cを生成してもよい。これは、r,r自身が乱数値であり、さらに乱数値を掛けなくてもよいためである。
<式23>
:=r+r+ω(x+x)+ζb+φb
Further, as shown in Expression 23, the element c 1 may be generated without using the random value ω 1 . This is because r 1 and r 2 themselves are random values, and it is not necessary to multiply the random values.
<Formula 23>
c 1 : = r 1 b 1 + r 2 b 2 + ω 2 (x 3 b 3 + x 4 b 4 ) + ζb 5 + φb 6

また、式24に示すように、鍵情報を設定する一部の基底ベクトル(式24ではb)の係数を0とし、要素cを生成してもよい。これは、基底ベクトルb,bは、暗号化データ管理装置200によって値を付け直しされるので、どちらか1つの基底ベクトルの係数に乱数値を設定しておけばよいためである。
<式24>
:=r+ω(x+x)+ζb+φb
Also, as shown in Expression 24, an element c 1 may be generated by setting coefficients of some base vectors (b 1 in Expression 24) for setting key information to 0. This is because the base vectors b 1 and b 2 are revalued by the encrypted data management apparatus 200, and therefore it is sufficient to set a random value as the coefficient of one of the base vectors.
<Formula 24>
c 1 : = r 2 b 2 + ω 2 (x 3 b 3 + x 4 b 4 ) + ζb 5 + φb 6

また、式25に示すように、鍵情報を設定する基底ベクトルに乱数値を設定せず、他の部分をドメイン公開鍵で暗号化して、要素cを生成してもよい。鍵情報を設定する基底ベクトルに乱数値を設定することにより、ユーザ端末100が暗号化データ記憶装置300から直接暗号化データcを取得した場合に、復号できない状態としていた。しかし、他の部分をドメイン公開鍵で暗号化しておくことで、同様の効果が得られるためである。
<式25>
:=E(ω(x+x)+ζb+φb
Further, as shown in equation 25, without setting a random number to the base vector for setting the key information, encrypts the other part the domain public key may generate an element c 1. By setting a random value to the basis vector for setting the key information, when the user terminal 100 directly obtains the encrypted data c from the encrypted data storage device 300, it cannot be decrypted. However, the same effect can be obtained by encrypting the other parts with the domain public key.
<Formula 25>
c 1 : = E (ω 2 (x 3 b 3 + x 4 b 4 ) + ζb 5 + φb 6 )

また、上記説明では、説明を簡単にするため、αが属性情報の値として設定されたユーザ秘密鍵kと暗号化データcとを用いて説明した。
しかし、実際には、ユーザUの所属するA会社を示す値α、B部を示す値α、C課を示す値α、ユーザUを示すαが属性情報の値として設定されたユーザ秘密鍵kを用いることがある。例えば、式26に示すユーザ秘密鍵kを用いることがある。なお、ここでは、世代番号の値として1を設定している。また、この場合、n=10である。
<式26>
=σ(b +b )+σ(α +b +α +b +α +b +α +b 10)+b 11
また、A会社のB部に所属するユーザであれば誰でも復号可能であるように、A会社を示す値α、B部を示す値αが属性情報の値として設定された暗号化データcを用いることがある。例えば、式27に示す暗号化データcを用いることがある。
<式27>
:=ω(r+r)+ω(b−α+b−α)+ζb11+φb12
Further, in the above description, for the sake of simplicity, the description has been made using the user secret key k * in which α is set as the value of the attribute information and the encrypted data c.
However, in practice, the value α 1 indicating the company A to which the user U belongs, the value α 2 indicating the B section, the value α 3 indicating the C section, and α 4 indicating the user U are set as the attribute information values. The user secret key k * may be used. For example, the user secret key k * shown in Expression 26 may be used. Here, 1 is set as the value of the generation number. In this case, n = 10.
<Formula 26>
k * = σ 1 (b * 1 + b * 2) + σ 2 (α 1 b * 3 + b * 4 + α 2 b * 5 + b * 6 + α 3 b * 7 + b * 8 + α 4 b * 9 + b * 10) + b * 11
Further, the encrypted data in which the value α 1 indicating the A company and the value α 2 indicating the B part are set as the attribute information values so that any user belonging to the B part of the A company can decrypt it. c may be used. For example, the encrypted data c shown in Expression 27 may be used.
<Formula 27>
c 1 : = ω 1 (r 1 b 1 + r 2 b 2 ) + ω 2 (b 3 −α 1 b 4 + b 5 −α 2 b 6 ) + ζb 11 + φb 12

ユーザリストulに含まれるユーザの識別情報が失効情報に含まれている場合、式28に示すように、要素c’は生成される。
<式28>
:=ω(b−b)+ω(b−α+b−α)+ζb11+φb12
この場合、v=1,v=1,v=α,v=1,v=α,v=1,v=α,v=1,v=α,v10=1であり、x=1,x=−1,x=1,x=−α,x=1,x=−α,x=0,x=0,x=0,x10=0であるから、Σi=1 10・x=σω(1−1)+σω(α−α+α−α+0+0+0+0)=0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cに設定されたメッセージmと等しい。
When the user identification information included in the user list ul is included in the revocation information, the element c 1 ′ is generated as shown in Expression 28.
<Formula 28>
c 1 : = ω 1 (b 1 −b 2 ) + ω 2 (b 3 −α 1 b 4 + b 5 −α 2 b 6 ) + ζb 11 + φb 12
In this case, v 1 = 1, v 2 = 1, v 3 = α 1 , v 4 = 1, v 5 = α 2 , v 6 = 1, v 7 = α 3 , v 8 = 1, v 9 = α 4 , v 10 = 1, x 1 = 1, x 2 = −1, x 3 = 1, x 4 = −α 1 , x 5 = 1, x 6 = −α 2 , x 7 = 0, x Since 8 = 0, x 9 = 0, and x 10 = 0, Σ i = 1 10 v i · x i = σ 1 ω 1 (1-1) + σ 2 ω 21 −α 1 + α 2 − α 2 + 0 + 0 + 0 + 0) = 0. Accordingly, the message m, which is extracted with S26 'is equal to the message m, which is set to the element c 2 of the encrypted data c at S11.

一方、ユーザリストulに含まれるユーザの識別情報が失効情報に含まれている場合、式29に示すように、要素c’は生成される。ここでは、世代番号がの値が1のユーザ秘密鍵kが失効していたとする。
<式29>
:=ω(b−2b)+ω(b−α+b−α)+ζb11+φb12
なお、B部に所属する1人のユーザUがユーザ秘密鍵kを紛失すると、B部に所属する他のユーザUが暗号化データcを取得する場合にも、要素cは式28に示す要素c’ではなく、式29に示す要素c’に変換される。したがって、ユーザUだけでなく、ユーザU等のB部に所属する他のユーザもユーザ秘密鍵kを再作成してもらわなければ、暗号化データcを復号することはできなくなる。
On the other hand, when the user identification information included in the user list ul is included in the revocation information, the element c 1 ′ is generated as shown in Expression 29. Here, it is assumed that the user secret key k * whose generation number is 1 has expired.
<Formula 29>
c 1 : = ω 1 (b 1 −2b 2 ) + ω 2 (b 3 −α 1 b 4 + b 5 −α 2 b 6 ) + ζb 11 + φb 12
Note that if one user U 1 belonging to the B section loses the user secret key k * , the element c 1 can be expressed even when another user U 2 belonging to the B section acquires the encrypted data c. Instead of the element c 1 ′ shown in FIG. 28, the element c 1 ′ shown in Expression 29 is converted. Therefore, not only the user U 1 but also other users belonging to the B section such as the user U 2 cannot re-encrypt the encrypted data c unless the user secret key k * is recreated.

実施の形態2.
実施の形態2では、非特許文献2に記載された関数型暗号方式において、秘密鍵の失効方式を実現する方法を説明する。
Embodiment 2. FIG.
In the second embodiment, a method for realizing a secret key revocation method in the functional encryption method described in Non-Patent Document 2 will be described.

まず、非特許文献2に記載された関数型暗号方式について、この実施の形態の説明に必要な部分のみに簡略化して説明する。特に、非特許文献2に記載された関数型暗号方式で用いられるスパンプログラムや秘密分散等については、省略、あるいは簡略化して説明する。
非特許文献2に記載された関数型暗号方式には、非特許文献1に記載された関数型暗号方式と同様に、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムがある。
First, the functional encryption method described in Non-Patent Document 2 will be described by simplifying only the portions necessary for the description of this embodiment. In particular, the span program and secret sharing used in the functional encryption method described in Non-Patent Document 2 will be omitted or simplified.
The functional encryption scheme described in Non-Patent Document 2 includes a Setup algorithm, a KeyGen algorithm, an Enc algorithm, and a Dec algorithm, similar to the functional encryption scheme described in Non-Patent Document 1.

Setupアルゴリズムは、公開パラメータpkとマスター秘密鍵skとを生成するアルゴリズムである。
Setupアルゴリズムでは、双対ペアリングベクトル空間のパラメータparamと、t=0,...,d(dは1以上の整数)の各tについての正規直交基底である基底B及び基底B とが生成される。そして、パラメータparamと基底Bとが公開パラメータpkとされ、基底B がマスター秘密鍵skとされる。
なお、基底Bは、基底ベクトルb0,1,b0,2,...,b0,5を有し、基底B は、基底ベクトルb 0,1,b 0,2,...,b 0,5を有する。つまり、基底B,B は、それぞれ5個の基底ベクトルを有する。また、t=1,...,dの各tについての基底Bは、基底ベクトルbt,1,bt,2,...,bt,3nt+1を有し、基底B は、基底ベクトルb t,1,b t,2,...,b t,3nt+1を有する。つまり、基底B,B は、それぞれ3nt+1個(ntは1以上の整数)の基底ベクトルを有する。
但し、厳密には、係数として必ず0が割り当てられる基底ベクトルは公開パラメータpkやマスター秘密鍵skに含める必要がない。そのため、公開パラメータpkに含める基底Bは、基底ベクトルb0,1,b0,3,b0,5のみを有し、マスター秘密鍵skに含める基底B は、基底ベクトルb 0,1,b 0,3,b 0,4のみを有するとしてもよい。また、t=1,...,dの各tについて、公開パラメータpkに含める基底Bは、基底ベクトルbt,1,,...,bt,nt,bt,3nt+1のみを有し、マスター秘密鍵skに含める基底B は、基底ベクトルb t,1,...,b t,nt+1,b t,2nt+1,...,b t,3ntのみを有するとしてもよい。
The Setup algorithm is an algorithm that generates a public parameter pk and a master secret key sk.
In the Setup algorithm, the parameter param of the dual pairing vector space and t = 0,. . . , D (d is an integer of 1 or more), a base B t and a base B * t that are orthonormal bases for each t are generated. The parameter param and the base B t are the public parameters pk, and the base B * t is the master secret key sk.
Note that the basis B 0 is the basis vector b 0,1 , b 0,2,. . . , B 0,5 and the basis B * 0 is the basis vector b * 0,1 , b * 0,2,. . . , B * 0,5 . That is, each of the bases B 0 and B * 0 has five base vectors. Also, t = 1,. . . , Base B t for each t of d, the basis vector b t, 1, b t, 2,. . . , B t, 3nt + 1 and the basis B * t is the basis vector b * t, 1 , b * t, 2 ,. . . , B * t, 3nt + 1 . That is, each of the bases B t and B * t has 3nt + 1 (nt is an integer of 1 or more) base vectors.
However, strictly speaking, it is not necessary to include a base vector to which 0 is always assigned as a coefficient in the public parameter pk and the master secret key sk. Therefore, the base B 0 included in the public parameter pk has only the base vectors b 0,1 , b 0,3 , b 0,5 , and the base B * 0 included in the master secret key sk is the base vector b * 0. , 1, b * 0,3, it may have only b * 0, 4. Also, t = 1,. . . , D, the base B t included in the public parameter pk is the basis vector b t, 1 ,,. . . , B t, nt , b t, 3 nt + 1 and the base B * t included in the master secret key sk is the base vector b * t, 1 ,. . . , B * t, nt + 1 , b * t, 2nt + 1,. . . , B * t, 3nt only.

KeyGenアルゴリズムは、ユーザ秘密鍵kを生成するアルゴリズムである。
KeyGenアルゴリズムでは、式30に示すように、マスター秘密鍵skに含まれる基底B を用いて、要素k と、t=1,...,dの各tについての要素k とを有するユーザ秘密鍵kが生成される。
<式30>
:=(δ,0,1,φ,0)B
:=(δv ,0nt,φ ,0)B
ここで、δ,φ,φ :=φt,1,...,φt,ntは、乱数値である。v :=vt,1,...,vt,ntは、ユーザ秘密鍵kが与えられるユーザの属性情報等である。
また、(z,...,z)B :=Σi=1 t,iである。つまり、k :=(δ,0,1,φ,0)B :=δb 0,1+b 0,3+φ 0,4である。また、k :=(δv ,0nt,φ ,0)B :=Σi=1 ntδvt,i t,i+Σi=1 ntφt,i t,2nt+iである。
The KeyGen algorithm is an algorithm that generates a user secret key k * .
In the KeyGen algorithm, as shown in Equation 30, using the basis B * t included in the master secret key sk, the element k * 0 and t = 1,. . . , The user secret key k * having an element k * t for each t of d is generated.
<Formula 30>
k * 0: = (δ, 0,1, φ 0, 0) B * 0
k * t : = (δv t , 0 nt , φ t , 0) B * t
Here, δ, φ 0 , φ t : = φ t, 1 ,. . . , Φ t, nt are random values. v t : = v t, 1 ,. . . , V t, nt are attribute information of the user to whom the user secret key k * is given.
In addition, (z 1 ,..., Z N ) B * t : = Σ i = 1 N z i b * t, i . That, k * 0: = (δ , 0,1, φ 0, 0) B * 0: = a δb * 0,1 + b * 0,3 + φ 0 b * 0,4. Also, k * t: = (δv → t, 0 nt, φ → t, 0) B * t: = Σ i = 1 nt δv t, i b * t, i + Σ i = 1 nt φ t, i b * T, 2nt + i .

Encアルゴリズムは、暗号化データcを生成するアルゴリズムである。
Encアルゴリズムでは、式31に示すように、公開パラメータpkに含まれる基底Bを用いて、暗号化データcの要素cと、t=1,...,L(Lは、d以下の整数)の各tについての要素cとが生成される。
<式31>
:=(−s,0,ζ,0,η)B
:=(s t,1+θ ,0nt,0nt,η)B
ここで、e t,1は、nt個の要素を持ち、先頭要素が1で残りの要素が0であるベクトルである。また、s=Σi=1 である。ζ,θ,η,ηは、乱数値である。xt,1,...,xt,ntは、暗号化データcを復号可能なユーザの属性情報等である。
また、(z,...,z)B:=Σi=1 t,iである。つまり、c:=(−s,0,ζ,0,η)B:=−s0,1+ζb0,3+η0,5である。また、c:=(s t,1+θ ,0nt,0nt,η)B:=Σi=1 nt(s t,1+θt,i)bt,i+η3nt+1である。
The Enc algorithm is an algorithm for generating encrypted data c.
In the Enc algorithm, as shown in Expression 31, using the base B included in the public parameter pk, the element c 0 of the encrypted data c, t = 1,. . . , L (L is an integer equal to or less than d) and element c t for each t is generated.
<Formula 31>
c 0 : = (− s 0 , 0, ζ, 0, η 0 ) B 0
c t : = (s t e t, 1 + θ t x t , 0 nt , 0 nt , η t ) B t
Here, e t, 1 is a vector having nt elements, the first element is 1 and the remaining elements are 0. Further, s 0 = Σ i = 1 L s i . ζ, θ t , η 0 , and η t are random values. xt, 1,. . . , Xt, nt are user attribute information that can decrypt the encrypted data c.
Also, (z 1 ,..., Z N ) B t : = Σ i = 1 N z i b t, i . That is, c 0 : = (− s 0 , 0, ζ, 0, η 0 ) B 0 : = − s 0 b 0,1 + ζb 0,3 + η 0 b 0,5 . Also, c t : = (s t e t, 1 + θ t x t , 0 nt , 0 nt , η t ) B t : = Σ i = 1 nt (s t e t, 1 + θ t x t , I ) b t, i + η t b 3nt + 1 .

また、Encアルゴリズムでは、式32に示すように、公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cd+1が生成される。
<式32>
d+1:=e(g,g)ζ・m
ここで、gは、パラメータparamに含まれる情報であり、双対ペアリングベクトル空間を構成する群Gの要素である。mは、メッセージである。e(g,g)は、要素gと要素gとについてのペアリング演算である。
In the Enc algorithm, as shown in Expression 32, the element cd + 1 of the encrypted data c is generated using the parameter param included in the public parameter pk.
<Formula 32>
c d + 1 : = e (g, g) ζ · m
Here, g is information included in the parameter param and is an element of the group G constituting the dual pairing vector space. m is a message. e (g, g) is a pairing operation for the element g and the element g.

Decアルゴリズムは、暗号化データcをユーザ秘密鍵kで復号するアルゴリズムである。
Decアルゴリズムでは、式33に示す計算が実行され、暗号化データcがユーザ秘密鍵kで復号されて、m’が抽出される。
<式33>
m’:=cd+1/(e(c,k )・Πt=1 e(c,k ))
ここで、e(c,k )は、要素cとユーザ秘密鍵k とについてのペアリング演算であり、e(c,k )は、要素cとユーザ秘密鍵k とについてのペアリング演算である。
The Dec algorithm is an algorithm for decrypting the encrypted data c with the user secret key k * .
In the Dec algorithm, the calculation shown in Expression 33 is executed, the encrypted data c is decrypted with the user secret key k * , and m ′ is extracted.
<Formula 33>
m ′: = c d + 1 / (e (c 0 , k * 0 ) · Π t = 1 L e (c t , k * t ))
Here, e (c 0 , k * 0 ) is a pairing operation for the element c 0 and the user secret key k * 0 , and e (c t , k * t ) is the element c t and the user secret. This is a pairing operation for the key k * t .

Decアルゴリズムでは、t=1,...,Lの各tについて、ユーザ秘密鍵kにおける要素k に設定された属性情報等(v )と、暗号化データcにおける要素cに設定された属性情報等(x )とが対応する場合、抽出されたm’=mとなる。
属性情報等(v )と属性情報等(x )とが対応するとは、v ・x =Σi=1 ntt,i・xt,i=0となることである。
In the Dec algorithm, t = 1,. . . , L, the attribute information set for the element k * t in the user secret key k * (v t ) and the attribute information set for the element c t in the encrypted data c (x t ) Corresponds to the extracted m ′ = m.
Attribute information etc. (v t ) and attribute information etc. (x t ) correspond to v t · x t = Σ i = 1 nt v t, i · x t, i = 0. It is.

ペアリング演算e(sg,tg)=e(g,g)stである。そのため、e(c,k )=e(g,g)Y1となる。ここで、Y1=−s+ζである。また、Πt=1 e(c,k )=(g,g)Y2となる。ここで、Y2=Σi=1 (s+v ・x )=Σi=1 (s)+Σi=1 ・x である。したがって、Σi=1 ・x =0であれば、Y2=Σi=1 (s)である。
そして、e(c,k )・Πt=1 e(c,k )=e(g,g)Y3となり、Σi=1 ・x =0であれば、Y3=−s+ζ+Σi=1 (s)である。そして、上述した通り、s=Σi=1 であるから、Y3=ζである。つまり、e(c,k )・Πt=1 e(c,k )=e(g,g)ζである。
式32に示すように、cd+1:=e(g,g)ζ・mであるから、式33の計算を実行すれば、Σi=1 ・x =0の場合には、m’=mとなる。
Pairing operation e (sg, tg) = e (g, g) st . Therefore, e (c 0 , k * 0 ) = e (g, g) Y1 . Here, Y1 = −s 0 + ζ. Further, Π t = 1 L e ( c t, k * t) = (g, g) a Y2. Here, Y2 = Σ i = 1 L (s i + v t · x t ) = Σ i = 1 L (s i ) + Σ i = 1 L v i · x i . Therefore, if the Σ i = 1 L v → i · x → i = 0, is a Y2 = Σ i = 1 L ( s i).
And, e (c 0, k * 0) · Π t = 1 L e (c t, k * t) = e (g, g) Y3 next, Σ i = 1 L v → i · x → i = 0 Then, Y3 = −s 0 + ζ + Σ i = 1 L (s i ). As described above, since s 0 = Σ i = 1 L s i , Y 3 = ζ. That is, e (c 0 , k * 0 ) · Π t = 1 L e (c t , k * t ) = e (g, g) ζ .
As shown in Equation 32, cd + 1 : = e (g, g) ζ · m, so if the calculation of Equation 33 is executed, Σ i = 1 L v i · x i = 0. Is m ′ = m.

以下の説明では、説明を簡単にするため、d=2,L=2とし、n1=2,n2=2として説明する。   In the following description, for simplicity of explanation, d = 2 and L = 2, and n1 = 2 and n2 = 2 will be described.

実施の形態2に係る暗号処理システム10の構成は、図1に示す実施の形態1に係る暗号処理システム10の構成と同じである。実施の形態2に係るユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400の構成は、図2−5に示す実施の形態1に係るユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400の構成と同じである。   The configuration of the cryptographic processing system 10 according to the second embodiment is the same as the configuration of the cryptographic processing system 10 according to the first embodiment shown in FIG. The configuration of the user terminal 100, the encrypted data management device 200, the encrypted data storage device 300, and the key generation device 400 according to the second embodiment is the same as that of the user terminal 100 according to the first embodiment shown in FIG. The configuration is the same as that of the data management device 200, the encrypted data storage device 300, and the key generation device 400.

実施の形態2に係る暗号処理システム10の主な処理には、実施の形態1に係る暗号処理システム10と同様に、暗号化データ登録処理と、暗号化データ取得処理とがあり、暗号化データ登録処理と暗号化データ取得処理とには、3つの前提条件がある。   The main processing of the cryptographic processing system 10 according to the second embodiment includes the encrypted data registration processing and the encrypted data acquisition processing, as in the cryptographic processing system 10 according to the first embodiment. There are three preconditions for the registration process and the encrypted data acquisition process.

3つの前提条件は、前提条件1において生成されるユーザ秘密鍵kの構成を除き、実施の形態1と同じである。The three preconditions are the same as those in the first embodiment except for the configuration of the user secret key k * generated in the precondition 1.

ここでは、鍵生成部420は、式34に示すようにユーザ秘密鍵kを生成する。
<式34>
:=(δ,0,1,φ,0)B
:=(δv ,0n1,φ ,0)B
:=(δv ,0n2,φ ,0)B
ここで、δ,φ,φ ,φ は、乱数値である。v :=v1,1,v1,2は、鍵情報である。ここでは実施の形態1と同様に、鍵情報として、新たな鍵の発行毎に値がインクリメントされる世代番号を用いる。v :=v2,1,v2,2は、ユーザ秘密鍵kが与えられるユーザの属性情報等である。
世代番号の値をρとし、属性情報の値をαとした場合、ここでは、式35に示すようにユーザ秘密鍵kは生成される。
<式35>
:=(δ,0,1,φ,0)B
:=(δ(ρ,1),0n1,φ ,0)B
:=(δ(α,1),0n2,φ ,0)B
つまり、v1,1:=ρ,v1,2:=1,v2,1:=α,v2,2:=1である。
Here, the key generation unit 420 generates a user secret key k * as shown in Expression 34.
<Formula 34>
k * 0: = (δ, 0,1, φ 0, 0) B * 0
k * 1 : = (δv 1 , 0 n1 , φ 1 , 0) B * 1
k * 2 : = (δv 2 , 0 n2 , φ 2 , 0) B * 2
Here, δ, φ 0 , φ 1 and φ 2 are random values. v 1 : = v 1,1 , v 1 , 2 are key information. Here, as in the first embodiment, a generation number whose value is incremented each time a new key is issued is used as key information. v 2 : = v 2,1 , v 2,2 is attribute information of the user to whom the user secret key k * is given.
When the value of the generation number is ρ and the value of the attribute information is α, the user secret key k * is generated here as shown in Expression 35.
<Formula 35>
k * 0: = (δ, 0,1, φ 0, 0) B * 0
k * 1 : = (δ (ρ, 1), 0 n1 , φ 1 , 0) B * 1
k * 2 : = (δ (α, 1), 0 n2 , φ 2 , 0) B * 2
That is, v 1,1 : = ρ, v 1,2 : = 1, v 2,1 : = α, v 2,2 : = 1.

<暗号化データ登録処理>
図6を用いて、実施の形態2に係る暗号化データ登録処理について、実施の形態1に係る暗号化データ登録処理と異なる部分を中心に説明する。
(S11:暗号化処理)
ユーザ端末100の暗号化データ生成部110は、Encアルゴリズムを実行して暗号化データcを生成する。
<Encrypted data registration process>
With reference to FIG. 6, the encrypted data registration process according to the second embodiment will be described with a focus on differences from the encrypted data registration process according to the first embodiment.
(S11: Encryption processing)
The encrypted data generation unit 110 of the user terminal 100 generates the encrypted data c by executing the Enc algorithm.

ここでは、暗号化データ生成部110は、処理装置により、式36に示すように、鍵管理部150に記憶した公開パラメータpkに含まれる基底Bを用いて、暗号化データcの要素c,c,cを生成する。
<式36>
:=(−s,0,ζ,0,η)B
:=(s 1,1+θ(1,r),0n1,0n1,η)B
:=(s 2,1+θ ,0n2,0n2,η)B
ここで、s=s+sである。ζ,θ,θ,η,η,η,rは、乱数値である。x2,1,x2,2は、暗号化データcを復号可能なユーザの属性情報等である。
属性情報の値をαとした場合、ここでは、式37に示すように暗号化データcは生成される。
<式37>
:=(−s,0,ζ,0,η)B
:=(s 1,1+θ(1,r),0n1,0n1,η)B
:=(s 2,1+θ(1,−α),0n2,0n2,η)B
つまり、x2,1:=1,x2,2:=−αである。
Here, the encrypted data generation unit 110 uses the base B included in the public parameter pk stored in the key management unit 150, as shown in Expression 36, by the processing device, and the elements c 0 , c 1 and c 2 are generated.
<Formula 36>
c 0 : = (− s 0 , 0, ζ, 0, η 0 ) B 0
c 1 : = (s 1 e 1,1 + θ 1 (1, r), 0 n1 , 0 n1 , η 1 ) B 1
c 2 : = (s 2 e 2,1 + θ 2 x 2 , 0 n2 , 0 n2 , η 2 ) B 2
Here, s 0 = s 1 + s 2 . ζ, θ 1 , θ 2 , η 0 , η 1 , η 2 , r are random values. x 2,1 , x 2,2 are attribute information of a user who can decrypt the encrypted data c.
When the value of the attribute information is α, the encrypted data c is generated here as shown in Expression 37.
<Formula 37>
c 0 : = (− s 0 , 0, ζ, 0, η 0 ) B 0
c 1 : = (s 1 e 1,1 + θ 1 (1, r), 0 n1 , 0 n1 , η 1 ) B 1
c 2 : = (s 2 e 2,1 + θ 2 (1, −α), 0 n2 , 0 n2 , η 2 ) B 2
That is, x 2,1 : = 1, x 2,2 : = − α.

また、暗号化データ生成部110は、処理装置により、式38に示すように、鍵管理部150に記憶した公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cd+1を生成する。
<式38>
d+1:=e(g,g)ζ・m
Also, the encrypted data generation unit 110 generates the element cd + 1 of the encrypted data c using the parameter param included in the public parameter pk stored in the key management unit 150 as shown in Expression 38 by the processing device. To do.
<Formula 38>
c d + 1 : = e (g, g) ζ · m

また、暗号化データ生成部110は、処理装置により、鍵管理部150に記憶したドメイン公開鍵dpkで、rを暗号化したE(r)と、θを暗号化したE(θ)とを生成する。
また、暗号化データ生成部110は、要素cに設定した属性情報が示すユーザの識別情報をユーザリストulとして生成する。
Further, the encrypted data generation unit 110, the processing device, the domain public key dpk stored in the key management unit 150, an encrypted E (r) and r, theta 1 the encrypted E (θ 1) and Is generated.
Further, the encrypted data generation unit 110 generates user identification information indicated by the attribute information set to the element c 1 as the user list ul.

(S12:第1データ送信処理)
データ送信部120は、通信装置により、暗号化データ生成部110が生成した要素c,c,c,cd+1,E(r),E(r),ulを含む暗号化データcを、暗号化データ管理装置200へ送信する。
(S12: First data transmission process)
The data transmission unit 120 receives encrypted data c including the elements c 0 , c 1 , c 2 , c d + 1 , E (r), E (r), and ul generated by the encrypted data generation unit 110 by the communication device. And transmitted to the encrypted data management apparatus 200.

S13からS17までの処理は、実施の形態1と同じである。   The processes from S13 to S17 are the same as those in the first embodiment.

<暗号化データ取得処理>
図7を用いて、実施の形態2に係る暗号化データ取得処理について、実施の形態1に係る暗号化データ取得処理と異なる部分を中心に説明する。
S21からS24までの処理は、実施の形態1と同じである。
<Encrypted data acquisition processing>
With reference to FIG. 7, the encrypted data acquisition process according to the second embodiment will be described with a focus on differences from the encrypted data acquisition process according to the first embodiment.
The processing from S21 to S24 is the same as that in the first embodiment.

(S25:世代番号付け代え処理)
S25も、原則として実施の形態1と同様である。しかし、暗号化データcの要素cにおける乱数値rを設定し直す方法が異なる。
具体的には、鍵情報設定部230は、以下のように乱数値rを設定し直す。なお、ここでは、式37に示す要素cにおける乱数値rを設定し直した要素c’を示す。
(S25: Generation number changing process)
S25 is also the same as that of the first embodiment in principle. However, how to reset the random number r in the element c 1 of the encrypted data c are different.
Specifically, the key information setting unit 230 resets the random value r as follows. Here, an element c 1 ′ obtained by resetting the random value r in the element c 1 shown in Expression 37 is shown.

ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれていない場合、鍵情報設定部230は、式39に示すように、要素c’を生成する。
<式39>
’:=(s 1,1+θ(1,−1),0n1,0n1,η)B
つまり、rを−1に設定し直す。rを設定し直した−1は、−1×世代番号の初期値である。
なお、式40に示す計算をすることにより、式37に示す要素cから式39に示す要素c’を得ることができる。
<式40>
’:=c−θrb1,2−θ1,2
ここで、r,θは、暗号化データcの要素E(r),E(θ)を、鍵管理部260に記憶したドメイン秘密鍵dskで復号することにより得られる。また、b1,1,b1,2は、公開パラメータpkに含まれる基底Bから得られる。
When the user identification information included in the user list ul is not included in the revocation information stored in the revocation information management unit 250, the key information setting unit 230 generates an element c 1 ′ as shown in Expression 39. .
<Formula 39>
c 1 ′: = (s 1 e 1,1 + θ 1 (1, −1), 0 n1 , 0 n1 , η 1 ) B 1
That is, r is reset to -1. -1 after resetting r is an initial value of −1 × generation number.
Note that by performing the calculation shown in Expression 40, the element c 1 ′ shown in Expression 39 can be obtained from the element c 1 shown in Expression 37.
<Formula 40>
c 1 ′: = c 1 −θ 1 rb 1,2 −θ 1 b 1,2
Here, r and θ 1 are obtained by decrypting the elements E (r) and E (θ 1 ) of the encrypted data c with the domain secret key dsk stored in the key management unit 260. In addition, b 1,1 , b 1 , 2 are obtained from the base B included in the public parameter pk.

ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれている場合、鍵情報設定部230は、式41に示すように、要素c’を生成する。
<式41>
’:=(s 1,1+θ(1,−ρ),0n1,0n1,η)B
つまり、rを−ρに設定し直す。rを設定し直した−ρは、−1×(失効したユーザ秘密鍵kの世代番号の値+1)である。つまり、ユーザリストulにユーザAが含まれており、失効したユーザAのユーザ秘密鍵kの世代番号として1が失効リストに含まれている場合、−ρは、−1×(1+1)=−2となる。
なお、式42に示す計算をすることにより、式37に示す要素cから式41に示す要素c’を得ることができる。
<式42>
’:=c−θrb1,2−θρ1,2
When the user identification information included in the user list ul is included in the revocation information stored in the revocation information management unit 250, the key information setting unit 230 generates an element c 1 ′ as shown in Expression 41. .
<Formula 41>
c 1 ′: = (s 1 e 1,1 + θ 1 (1, −ρ 1 ), 0 n1 , 0 n1 , η 1 ) B 1
In other words, re-set the r to -ρ 1.1 obtained by resetting r is −1 × (the value of the generation number of the revoked user secret key k * + 1). That is, when the user A is included in the user list ul and 1 is included in the revocation list as the generation number of the user secret key k * of the revoked user A, −ρ 1 is −1 × (1 + 1) = −2.
In addition, by performing the calculation shown in Expression 42, the element c 1 ′ shown in Expression 41 can be obtained from the element c 1 shown in Expression 37.
<Formula 42>
c 1 ′: = c 1 −θ 1 rb 1, 2 −θ 1 ρ 1 b 1, 2

S26は、実施の形態1と同じである。   S26 is the same as that in the first embodiment.

S27も、原則として実施の形態1と同様である。しかし、復号の方法が異なる。
ここでは、復号部140は、処理装置により、式43に示す計算を実行することにより、暗号化データc’をユーザ秘密鍵kで復号して、メッセージm’を抽出する。
<式43>
m’:=cd+1/(e(c,k )・Πt=1 e(c,k ))
S27 is also the same as that of the first embodiment in principle. However, the decoding method is different.
Here, the decryption unit 140 decrypts the encrypted data c ′ with the user secret key k * by executing the calculation shown in Expression 43 by the processing device, and extracts the message m ′.
<Formula 43>
m ′: = c d + 1 / (e (c 0 , k * 0 ) · Π t = 1 L e (c t , k * t ))

上述したように、t=1,...,Lの各tについて、ユーザ秘密鍵kにおける要素k に設定された属性情報等(v )と、暗号化データcにおける要素cに設定された属性情報等(x )とが対応する場合、抽出されたm’=mとなる。そして、ここでは、属性情報等(v )と属性情報等(x )とが対応するとは、v ・x =Σi=1 ntt,i・xt,i=0となることである。As described above, t = 1,. . . , L, the attribute information set for the element k * t in the user secret key k * (v t ) and the attribute information set for the element c t in the encrypted data c (x t ) Corresponds to the extracted m ′ = m. In this case, attribute information or the like (v t ) and attribute information or the like (x t ) correspond to v t · x t = Σ i = 1 nt v t, i · x t, i = 0.

ユーザ端末100は、初めに生成され、世代番号の値として1が付されたユーザ秘密鍵kを有しているとする。つまり、ユーザ端末100は、式35のρに1が設定された、式44に示すユーザ秘密鍵kを有しているとする。
<式44>
:=(δ,0,1,φ,0)B
:=(δ(1,1),0n1,φ ,0)B
:=(δ(α,1),0n2,φ ,0)B
また、S11において、暗号化データcの要素cは、式45(=式37)に示すように生成されているとする。
<式45>
:=(−s,0,ζ,0,η)B
:=(s 1,1+θ(1,r),0n1,0n1,η)B
:=(s 2,1+θ(1,−α),0n2,0n2,η)B
It is assumed that the user terminal 100 has a user secret key k * that is generated first and has a generation number value of 1. That is, it is assumed that the user terminal 100 has the user secret key k * shown in Expression 44 in which 1 is set in ρ of Expression 35.
<Formula 44>
k * 0: = (δ, 0,1, φ 0, 0) B * 0
k * 1 : = (δ (1,1), 0 n1 , φ 1 , 0) B * 1
k * 2 : = (δ (α, 1), 0 n2 , φ 2 , 0) B * 2
Further, in S11, the element c 1 of the encrypted data c is assumed to be generated as shown in Equation 45 (= Equation 37).
<Formula 45>
c 0 : = (− s 0 , 0, ζ, 0, η 0 ) B 0
c 1 : = (s 1 e 1,1 + θ 1 (1, r), 0 n1 , 0 n1 , η 1 ) B 1
c 2 : = (s 2 e 2,1 + θ 2 (1, −α), 0 n2 , 0 n2 , η 2 ) B 2

ユーザリストulに含まれるユーザの識別情報が失効情報に含まれていない場合、式46(=式39)に示すように、要素c’は生成される。
<式46>
’:=(s 1,1+θ(1,−1),0n1,0n1,η)B
この場合、ユーザ秘密鍵kにおいて、基底B の基底ベクトルb 1,1,b 1,2の係数に設定されたv1,1,v1,2は、v1,1=1,v1,2=1である。また、要素c’において、基底Bの基底ベクトルb1,1,b1,2の係数に設定されたx1,1,x1,2は、x1,1=1,x1,2=−1である。そのため、v ・x =Σi=1 1,i・x1,i=1−1=0となる。また、ユーザ秘密鍵kにおいて、基底B の基底ベクトルb 2,1,b 2,2の係数に設定されたv2,1,v2,2は、v2,1=α,v2,2=1である。また、要素c’において、基底Bの基底ベクトルb2,1,b2,2の係数に設定されたx2,1,x2,2は、x2,1=1,x2,2=−αである。そのため、v ・x =Σi=1 2,i・x2,i=α−α=0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cd+1に設定されたメッセージmと等しい。
つまり、ユーザ秘密鍵kで、暗号化データcを復号することができる。
If the user identification information included in the user list ul is not included in the revocation information, the element c 1 ′ is generated as shown in Expression 46 (= Expression 39).
<Formula 46>
c 1 ′: = (s 1 e 1,1 + θ 1 (1, −1), 0 n1 , 0 n1 , η 1 ) B 1
In this case, in the user secret key k * , v 1,1 , v 1,2 set to the coefficients of the basis vectors b * 1,1 , b * 1,2 of the basis B * 1 are v 1,1 = 1, v 1,2 = 1. In addition, in the element c 1 ′, x 1,1 , x 1,2 set to the coefficients of the basis vectors b 1,1 , b 1,2 of the basis B 1 are x 1,1 = 1, x 1, 2 = -1. Therefore, v 1 · x 1 = Σ i = 1 2 v 1, i · x 1, i = 1-1 = 0. Further, the user private key k *, basis vectors of the basis B * 2 b * 2,1, b * 2,2 v 2,1 set to the coefficient of, v 2, 2 is, v 2,1 = alpha , V 2,2 = 1. Further, in the elements c 1 ', a basis vector b 2,1 of the base B 2, b x 2,1 set to the coefficient of 2, 2, x 2, 2 is, x 2,1 = 1, x 2 , 2 = −α. Therefore, it is v → 2 · x → 2 = Σ i = 1 2 v 2, i · x 2, i = α-α = 0. Therefore, the message m ′ extracted in S26 is equal to the message m set in the element cd + 1 of the encrypted data c in S11.
That is, the encrypted data c can be decrypted with the user secret key k * .

一方、ユーザリストulに含まれるユーザの識別情報が失効情報に含まれている場合、式47に示すように、要素c’は生成される。ここでは、世代番号がの値が1のユーザ秘密鍵kが失効していたとする。
<式47>
’:=(s 1,1+θ(1,−2),0n1,0n1,η)B
この場合、v1,1=1,v1,2=1であり、x1,1=1,x1,2=−2であるから、v ・x =Σi=1 1,i・x1,i=1−2≠0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cd+1に設定されたメッセージmと等しくない。
つまり、失効しているユーザ秘密鍵kでは、暗号化データcを復号することはできない。
On the other hand, when the user identification information included in the user list ul is included in the revocation information, the element c 1 ′ is generated as shown in Expression 47. Here, it is assumed that the user secret key k * whose generation number is 1 has expired.
<Formula 47>
c 1 ′: = (s 1 e 1,1 + θ 1 (1, −2), 0 n1 , 0 n1 , η 1 ) B 1
In this case, v 1,1 = 1, v 1,2 = 1, and x 1,1 = 1, x 1,2 = -2, so v 1 · x 1 = Σ i = 1 2 v 1, i · x 1, i = 1-2 ≠ 0. Therefore, the message m ′ extracted in S26 is not equal to the message m set in the element cd + 1 of the encrypted data c in S11.
That is, the encrypted data c cannot be decrypted with the expired user secret key k * .

しかし、ユーザ端末100は、鍵生成装置400にユーザ秘密鍵kを再生成してもらい、世代番号の値として2が付されたユーザ秘密鍵kを取得したとする。つまり、ユーザ端末100は、式35のρに2が設定された、式48に示すユーザ秘密鍵kを取得したとする。
<式48>
:=(δ,0,1,φ,0)B
:=(δ(2,1),0n1,φ ,0)B
:=(δ(α,1),0n2,φ ,0)B
この場合、v1,1=2,v1,2=1であり、x1,1=1,x1,2=−2であるから、v ・x =Σi=1 1,i・x1,i=2−2=0となる。また、v ・x =Σi=1 2,i・x2,i=α−α=0である。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cd+1に設定されたメッセージmと等しい。
つまり、ユーザ秘密鍵kを紛失した場合、ユーザ秘密鍵kを再生成してもらうことで、暗号化データcの復号が可能となる。
However, the user terminal 100, asked to re-generate the user secret key k * to the key generation device 400, and has obtained the user secret key k * 2 is attached as the value of the generation number. That is, it is assumed that the user terminal 100 has acquired the user secret key k * shown in Expression 48 in which 2 is set in ρ of Expression 35.
<Formula 48>
k * 0: = (δ, 0,1, φ 0, 0) B * 0
k * 1 : = (δ (2,1), 0 n1 , φ 1 , 0) B * 1
k * 2 : = (δ (α, 1), 0 n2 , φ 2 , 0) B * 2
In this case, v 1,1 = 2 and v 1,2 = 1, and x 1,1 = 1, x 1,2 = −2, so v 1 · x 1 = Σ i = 1 2 v 1, i · x 1, i = 2-2 = 0. Further, v 2 · x 2 = Σ i = 1 2 v 2, i · x 2, i = α−α = 0. Therefore, the message m ′ extracted in S26 is equal to the message m set in the element cd + 1 of the encrypted data c in S11.
That is, when the user secret key k * is lost, the encrypted data c can be decrypted by regenerating the user secret key k * .

また、ユーザ端末100が、暗号化データ管理装置200を介すことなく、暗号化データ記憶装置300から暗号化データcを取得することも考えられる。しかし、この場合、暗号化データcの要素cは、式49(=式37)に示す通りである。
<式49>
:=(s 1,1+θ(1,r),0n1,0n1,η)B
この場合、乱数値rが用いられているため、ユーザ秘密鍵kに設定された世代番号の値がいくつであっても、Σi=1 1,i・x1,i≠0となり、復号できない。
It is also conceivable that the user terminal 100 acquires the encrypted data c from the encrypted data storage device 300 without going through the encrypted data management device 200. However, in this case, the element c 1 of the encrypted data c is as shown in Expression 49 (= Expression 37).
<Formula 49>
c 1 : = (s 1 e 1,1 + θ 1 (1, r), 0 n1 , 0 n1 , η 1 ) B 1
In this case, since the random value r is used, Σ i = 1 2 v 1, i · x 1, i ≠ 0 regardless of the number of generation numbers set in the user secret key k * . Cannot decrypt.

以上のように、実施の形態2に係る暗号処理システム10では、実施の形態1に係る暗号処理システム10と同様の効果を得ることができる。   As described above, the cryptographic processing system 10 according to the second embodiment can obtain the same effects as the cryptographic processing system 10 according to the first embodiment.

なお、上記説明では、式36に示すように暗号化データcの要素cを生成するとした。しかし、式50に示すように、乱数値θを用いず、要素cを生成してもよい。これは、r自身が乱数値であり、さらに乱数値を掛けなくてもよいためである。
<式50>
:=(s 1,1+(1,r),0n1,0n1,η)B
In the above description, the element c 1 of the encrypted data c is generated as shown in Expression 36. However, as shown in Expression 50, the element c 1 may be generated without using the random value θ 1 . This is because r itself is a random value and it is not necessary to multiply the random value.
<Formula 50>
c 1 : = (s 1 e 1,1 + (1, r), 0 n1 , 0 n1 , η 1 ) B 1

また、式51に示すように、鍵情報を設定する基底ベクトルに乱数値を設定せず、要素c全体をドメイン公開鍵で暗号化して、要素cを生成してもよい。鍵情報を設定する基底ベクトルに乱数値を設定することにより、ユーザ端末100が暗号化データ記憶装置300から直接暗号化データcを取得した場合に、復号できない状態としていた。しかし、他の部分をドメイン公開鍵で暗号化しておくことで、同様の効果が得られるためである。
<式51>
:=E(s 1,1,0n1,0n1,η)B
Further, as shown in Expression 51, the element c 1 may be generated by encrypting the entire element c 1 with the domain public key without setting a random value in the basis vector for setting the key information. By setting a random value to the basis vector for setting the key information, when the user terminal 100 directly obtains the encrypted data c from the encrypted data storage device 300, it cannot be decrypted. However, the same effect can be obtained by encrypting the other parts with the domain public key.
<Formula 51>
c 1 : = E (s 1 e 1,1 , 0, n 1 , 0 n 1 , η 1 ) B 1

実施の形態3.
実施の形態1では、暗号化データcの要素cにおける鍵情報が設定される基底ベクトルに乱数値r,rを設定すること等により、ユーザ端末100が直接暗号化データ記憶装置300から暗号化データcを取得した場合の安全性を保っていた。同様に、実施の形態2では、暗号化データcの要素cにおける鍵情報が設定される基底に乱数値rを設定すること等により、ユーザ端末100が直接暗号化データ記憶装置300から暗号化データcを取得した場合の安全性を保っていた。
実施の形態3では、暗号化データcの設定を簡略化しつつ、暗号化データ記憶装置300へのアクセス制御を行うことにより、ユーザ端末100が直接暗号化データ記憶装置300から暗号化データcを取得しようとした場合の安全性を保つ方法について説明する。
実施の形態3では、実施の形態1に係る処理を応用した場合について説明するが、実施の形態2に係る処理を応用した場合についても同様に実現可能である。
Embodiment 3 FIG.
In the first embodiment, the user terminal 100 directly moves from the encrypted data storage device 300 by setting the random values r 1 and r 2 to the basis vector in which the key information in the element c 1 of the encrypted data c is set. The security when the encrypted data c was acquired was maintained. Similarly, in the second embodiment, the user terminal 100 directly encrypts data from the encrypted data storage device 300 by setting a random value r as a base in which the key information in the element c 1 of the encrypted data c is set. The safety when data c was acquired was maintained.
In the third embodiment, the user terminal 100 obtains the encrypted data c directly from the encrypted data storage device 300 by performing access control to the encrypted data storage device 300 while simplifying the setting of the encrypted data c. Explain how to keep safe when you try.
In the third embodiment, a case where the process according to the first embodiment is applied will be described. However, the case where the process according to the second embodiment is applied can be similarly realized.

暗号処理システム10の構成は、図1に示す実施の形態1に係る暗号処理システム10の構成と同じである。ユーザ端末100、鍵生成装置400の構成は、図2,5に示す実施の形態1に係るユーザ端末100、鍵生成装置400の構成と同じである。   The configuration of the cryptographic processing system 10 is the same as the configuration of the cryptographic processing system 10 according to the first embodiment shown in FIG. The configurations of the user terminal 100 and the key generation device 400 are the same as the configurations of the user terminal 100 and the key generation device 400 according to Embodiment 1 shown in FIGS.

図8は、実施の形態3に係る暗号化データ管理装置200の構成図である。
実施の形態3に係る暗号化データ管理装置200は、図3に示す実施の形態1に係る暗号化データ管理装置200の機能に加え、認証処理部270を備える。
FIG. 8 is a configuration diagram of the encrypted data management apparatus 200 according to the third embodiment.
The encrypted data management apparatus 200 according to Embodiment 3 includes an authentication processing unit 270 in addition to the functions of the encrypted data management apparatus 200 according to Embodiment 1 shown in FIG.

図9は、実施の形態3に係る暗号化データ記憶装置300の構成図である。
実施の形態3に係る暗号化データ記憶装置300は、図4に示す実施の形態1に係る暗号化データ記憶装置300の機能に加え、認証処理部350を備える。
FIG. 9 is a configuration diagram of the encrypted data storage device 300 according to the third embodiment.
The encrypted data storage device 300 according to Embodiment 3 includes an authentication processing unit 350 in addition to the functions of the encrypted data storage device 300 according to Embodiment 1 shown in FIG.

3つの前提条件については、原則として実施の形態1と同じである。
但し、実施の形態1では公開パラメータpkに含まれていた基底Bの基底ベクトルb,bは、公開パラメータpkから除かれ、鍵生成装置400から暗号化データ管理装置200へのみ送信される。なお、この際、盗聴と改ざんを防ぐため、SSL等を用いた安全な通信路が使用される。
The three preconditions are basically the same as in the first embodiment.
However, in Embodiment 1, the base vectors b 1 and b 2 of the base B included in the public parameter pk are removed from the public parameter pk and transmitted only from the key generation device 400 to the encrypted data management device 200. . At this time, a secure communication path using SSL or the like is used in order to prevent eavesdropping and tampering.

<暗号化データ登録処理>
図10は、実施の形態3に係る暗号化データ登録処理の流れを示すフローチャートである。
(S31:暗号化処理)
ユーザ端末100の暗号化データ生成部110は、図6のS11と同様に、Encアルゴリズムを実行して暗号化データcを生成する。
<Encrypted data registration process>
FIG. 10 is a flowchart showing a flow of encrypted data registration processing according to the third embodiment.
(S31: Encryption processing)
The encrypted data generation unit 110 of the user terminal 100 generates the encrypted data c by executing the Enc algorithm as in S11 of FIG.

ここでは、暗号化データ生成部110は、処理装置により、式52に示すように暗号化データcの要素cを生成する。
<式52>
:=ω(x+x)+ζb+φb
ここで、ω,ζ,φは、乱数値である。x,xは、暗号化データcを復号可能なユーザの属性情報が設定される。
属性情報の値をαとした場合、ここでは、式53に示すように暗号化データcは生成される。
<式53>
:=ω(b−αb)+ζb+φb
つまり、x:=1,x:=−αである。
Here, the encrypted data generation unit 110 generates the element c 1 of the encrypted data c as shown in Expression 52 by the processing device.
<Formula 52>
c 1 : = ω (x 3 b 3 + x 4 b 4 ) + ζb 5 + φb 6
Here, ω, ζ, and φ are random values. In x 3 and x 4 , attribute information of a user who can decrypt the encrypted data c is set.
When the value of the attribute information is α, the encrypted data c is generated here as shown in Expression 53.
<Formula 53>
c 1 : = ω (b 3 −αb 4 ) + ζb 5 + φb 6
That is, x 3 : = 1, x 4 : = − α.

暗号化データ生成部110は、要素c2,E(ω),E(ω),ulについても、図6のS11と同様に生成する。The encrypted data generation unit 110 also generates the elements c2, E (ω 1 r 1 ), E (ω 1 r 2 ), and ul in the same manner as S11 in FIG.

(S32:第1認証情報送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、認証情報として、ユーザの識別情報とパスワードとを暗号化データ管理装置200へ送信する。
(S32: first authentication information transmission process)
The data transmission unit 120 of the user terminal 100 transmits user identification information and a password to the encrypted data management apparatus 200 as authentication information by the communication apparatus.

(S33:第1認証処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、ユーザの識別情報とパスワードとをユーザ端末100から受信する。
すると、暗号化データ管理装置200の認証処理部270は、ユーザの識別情報とパスワードとに基づき、ユーザの認証を行う。例えば、認証処理部270は、ユーザ毎に識別情報とパスワードとを予め記憶しておき、受信した識別情報及びパスワードと、記憶された識別情報及びパスワードとが一致するか否かにより認証する。認証処理部270は、認証に成功した場合、処理をS34へ進め、認証に失敗した場合、処理を終了する。
(S34:第1データ送信処理)
ユーザ端末100のデータ送信部120は、図6のS12と同様に、暗号化データcを暗号化データ管理装置200へ送信する。
(S33: First authentication process)
The data receiving unit 210 of the encrypted data management apparatus 200 receives the user identification information and the password from the user terminal 100 through the communication apparatus.
Then, the authentication processing unit 270 of the encrypted data management apparatus 200 performs user authentication based on the user identification information and the password. For example, the authentication processing unit 270 stores identification information and a password for each user in advance, and performs authentication based on whether or not the received identification information and password match the stored identification information and password. The authentication processing unit 270 advances the process to S34 when the authentication is successful, and ends the process when the authentication fails.
(S34: First data transmission process)
The data transmission unit 120 of the user terminal 100 transmits the encrypted data c to the encrypted data management apparatus 200 as in S12 of FIG.

(S35:第2認証情報送信処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcをユーザ端末100から受信する。すると、データ送信部240は、認証情報として、暗号化データ管理装置200の識別情報とパスワードとを暗号化データ記憶装置300へ送信する。
(S35: Second authentication information transmission process)
The data receiving unit 210 of the encrypted data management device 200 receives the encrypted data c from the user terminal 100 by the communication device. Then, the data transmission unit 240 transmits the identification information and password of the encrypted data management device 200 to the encrypted data storage device 300 as authentication information.

(S36:第2認証処理)
暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データ管理装置200の識別情報とパスワードとをユーザ端末100から受信する。
すると、暗号化データ記憶装置300の認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとに基づき認証処理を行う。例えば、認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとを予め記憶しておき、受信した識別情報及びパスワードと、記憶された識別情報及びパスワードとが一致するか否かにより認証する。認証処理部350は、認証に成功した場合、処理をS37へ進め、認証に失敗した場合、処理を終了する。
(S36: Second authentication process)
The data receiving unit 310 of the encrypted data storage device 300 receives the identification information and password of the encrypted data management device 200 from the user terminal 100 through the communication device.
Then, the authentication processing unit 350 of the encrypted data storage device 300 performs an authentication process based on the identification information and password of the encrypted data management device 200. For example, the authentication processing unit 350 stores the identification information and password of the encrypted data management apparatus 200 in advance, and determines whether or not the received identification information and password match the stored identification information and password. Certify. The authentication processing unit 350 advances the process to S37 if the authentication is successful, and ends the process if the authentication fails.

(S37:第2データ送信処理)
暗号化データ管理装置200のデータ送信部240は、暗号化データcに関連情報rを添付して、暗号化データ記憶装置300へ送信する。
(S37: Second data transmission process)
The data transmission unit 240 of the encrypted data management apparatus 200 attaches the related information r to the encrypted data c and transmits it to the encrypted data storage apparatus 300.

S38からS41までの処理は、図6に示すS14からS17までの処理と同じである。   The processing from S38 to S41 is the same as the processing from S14 to S17 shown in FIG.

<暗号化データ取得処理>
図11は、実施の形態3に係る暗号化データ取得処理の流れを示すフローチャートである。
(S51:第1認証情報送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、認証情報として、ユーザの識別情報とパスワードとを暗号化データ管理装置200へ送信する。
<Encrypted data acquisition processing>
FIG. 11 is a flowchart showing a flow of encrypted data acquisition processing according to the third embodiment.
(S51: First authentication information transmission process)
The data transmission unit 120 of the user terminal 100 transmits user identification information and a password to the encrypted data management apparatus 200 as authentication information by the communication apparatus.

(S52:第1認証処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、ユーザの識別情報とパスワードとをユーザ端末100から受信する。
すると、暗号化データ管理装置200の認証処理部270は、ユーザの識別情報とパスワードとに基づき、ユーザの認証を行う。例えば、認証処理部270は、S33と同じ方法により認証を行う。認証処理部270は、認証に成功した場合、処理をS53へ進め、認証に失敗した場合、処理を終了する。
(S52: first authentication process)
The data receiving unit 210 of the encrypted data management apparatus 200 receives the user identification information and the password from the user terminal 100 through the communication apparatus.
Then, the authentication processing unit 270 of the encrypted data management apparatus 200 performs user authentication based on the user identification information and the password. For example, the authentication processing unit 270 performs authentication by the same method as S33. The authentication processing unit 270 advances the process to S53 when the authentication is successful, and ends the process when the authentication fails.

(S53:キーワード送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、暗号化データcを特定可能なキーワードを、暗号化データ管理装置200へ送信する。
(S53: Keyword transmission process)
The data transmission unit 120 of the user terminal 100 transmits a keyword capable of specifying the encrypted data c to the encrypted data management device 200 by the communication device.

(S54:第2認証情報送信処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、キーワードをユーザ端末100から受信する。すると、データ送信部240は、認証情報として、暗号化データ管理装置200の識別情報とパスワードとを暗号化データ記憶装置300へ送信する。
(S54: Second authentication information transmission process)
The data receiving unit 210 of the encrypted data management apparatus 200 receives the keyword from the user terminal 100 by the communication apparatus. Then, the data transmission unit 240 transmits the identification information and password of the encrypted data management device 200 to the encrypted data storage device 300 as authentication information.

(S55:第2認証処理)
暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データ管理装置200の識別情報とパスワードとをユーザ端末100から受信する。
すると、暗号化データ記憶装置300の認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとに基づき認証処理を行う。例えば、認証処理部350は、S36と同じ方法より認証する。認証処理部350は、認証に成功した場合、処理をS56へ進め、認証に失敗した場合、処理を終了する。
(S55: Second authentication process)
The data receiving unit 310 of the encrypted data storage device 300 receives the identification information and password of the encrypted data management device 200 from the user terminal 100 through the communication device.
Then, the authentication processing unit 350 of the encrypted data storage device 300 performs an authentication process based on the identification information and password of the encrypted data management device 200. For example, the authentication processing unit 350 performs authentication by the same method as S36. The authentication processing unit 350 advances the process to S56 when the authentication is successful, and ends the process when the authentication fails.

(S56:キーワード転送処理)
暗号化データ管理装置200のデータ送信部240は、通信装置により、キーワードを暗号化データ記憶装置300へ送信する。
(S56: Keyword transfer process)
The data transmission unit 240 of the encrypted data management device 200 transmits the keyword to the encrypted data storage device 300 through the communication device.

S57からS58までの処理は、図7に示すS23からS24までの処理と同じである。   The processing from S57 to S58 is the same as the processing from S23 to S24 shown in FIG.

(S59:権限判定処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcを暗号化データ記憶装置300から受信する。
すると、暗号化データ管理装置200の認証処理部270は、処理装置により、S52で受信したユーザの識別情報が、暗号化データcのユーザリストulに含まれているか否かを判定する。認証処理部270は、含まれている場合、処理をS60へ進め、含まれていない場合、処理を終了する。
(S59: Authority determination process)
The data receiving unit 210 of the encrypted data management device 200 receives the encrypted data c from the encrypted data storage device 300 through the communication device.
Then, the authentication processing unit 270 of the encrypted data management device 200 determines whether or not the user identification information received in S52 is included in the user list ul of the encrypted data c by the processing device. If it is included, the authentication processing unit 270 advances the process to S60. If not included, the authentication processing unit 270 ends the process.

(S60:世代番号付け代え処理)
暗号化データ管理装置200の失効判定部220は、処理装置により、暗号化データcのユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれているか否か判定する。鍵情報設定部230は、処理装置により、暗号化データcの要素cに、失効判定部220の判定結果に応じて異なる値に設定し、要素c’を生成する。
具体的には、鍵情報設定部230は、以下のように要素cに値を設定する。なお、ここでは、式53に示す要素cに値を設定した要素c’を示す。
(S60: Generation number changing process)
The revocation determination unit 220 of the encrypted data management apparatus 200 determines whether or not the identification information of the user included in the user list ul of the encrypted data c is included in the revocation information stored in the revocation information management unit 250 by the processing device. To determine. The key information setting unit 230 sets the element c 1 of the encrypted data c to a different value according to the determination result of the revocation determination unit 220 by the processing device, and generates the element c 1 ′.
Specifically, the key information setting unit 230 sets a value for the element c 1 as follows. Here, showing elements c 1 'obtained by setting the value to the element c 1 shown in Equation 53.

ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれていない場合、鍵情報設定部230は、式54(=式10)に示すように、要素c’を生成する。
<式54>
’:=ω(b−b)+ω(b−αb)+ζb+φb
つまり、基底ベクトルbの係数に1を設定し、基底ベクトルbの係数に−1を設定する。基底ベクトルbの係数に設定し直した−1は、−1×世代番号の初期値である。
When the user identification information included in the user list ul is not included in the revocation information stored in the revocation information management unit 250, the key information setting unit 230 uses the element c as shown in Expression 54 (= Expression 10). 1 'is generated.
<Formula 54>
c 1 ′: = ω 1 (b 1 −b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6
That is, 1 is set as the coefficient of the basis vector b 1 and −1 is set as the coefficient of the basis vector b 2 . −1 reset to the coefficient of the basis vector b 2 is an initial value of −1 × generation number.

なお、式55に示す計算をすることにより、式53に示す要素cから式54に示す要素c’を得ることができる。
<式55>
’:=c+(ω−ω
Note that by performing the calculation shown in Expression 55, the element c 1 ′ shown in Expression 54 can be obtained from the element c 1 shown in Expression 53.
<Formula 55>
c 1 ′: = c 1 + (ω 1 b 1 −ω 1 b 2 )

ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれている場合、鍵情報設定部230は、式56(=式12)に示すように、要素c’を生成する。
<式56>
’:=ω(b−ρ)+ω(b−αb)+ζb+φb
つまり、基底ベクトルbの係数に1を設定し、基底ベクトルbの係数に−ρを設定する。基底ベクトルbの係数に設定した−ρは、−1×(失効したユーザ秘密鍵kの世代番号の値+1)である。
なお、式57に示す計算をすることにより、式53に示す要素cから式56に示す要素c’を得ることができる。
<式57>
’:=c+(ω−ωρ
When the user identification information included in the user list ul is included in the revocation information stored in the revocation information management unit 250, the key information setting unit 230 uses the element c as shown in Expression 56 (= Expression 12). 1 'is generated.
<Formula 56>
c 1 ′: = ω 1 (b 1 −ρ 1 b 2 ) + ω 2 (b 3 −αb 4 ) + ζb 5 + φb 6
That is, 1 is set as the coefficient of the basis vector b 1 , and −ρ 1 is set as the coefficient of the basis vector b 2 . -Ρ 1 set as the coefficient of the basis vector b 2 is −1 × (the value of the generation number of the revoked user secret key k * + 1).
Note that by performing the calculation shown in Expression 57, the element c 1 ′ shown in Expression 56 can be obtained from the element c 1 shown in Expression 53.
<Formula 57>
c 1 ′: = c 1 + (ω 1 b 1 −ω 1 ρ 1 b 2 )

S61からS62までの処理は、図7に示すS26からS27までの処理と同じである。   The processing from S61 to S62 is the same as the processing from S26 to S27 shown in FIG.

以上のように、実施の形態3に係る暗号処理システム10は、暗号化データ管理装置200と暗号化データ記憶装置300とでそれぞれ認証を行う。これにより、ユーザ端末100により直接暗号化データ記憶装置300から暗号化データcを取得されることを防止できる。そのため、暗号化データcに乱数値を設定する等せずに、安全性を保つことができる。   As described above, the cryptographic processing system 10 according to the third embodiment authenticates the encrypted data management device 200 and the encrypted data storage device 300, respectively. Thereby, it is possible to prevent the encrypted data c from being directly acquired from the encrypted data storage device 300 by the user terminal 100. Therefore, safety can be maintained without setting a random value in the encrypted data c.

また、実施の形態3に係る暗号処理システム10は、暗号化データ登録処理において、不正なデータを暗号化データ記憶装置300に登録されることを防止できる。   The cryptographic processing system 10 according to the third embodiment can prevent unauthorized data from being registered in the encrypted data storage device 300 in the encrypted data registration process.

なお、上記説明では、暗号化データ管理装置200と暗号化データ記憶装置300とでそれぞれ認証を行った。しかし、暗号化データ管理装置200では認証を行わず、暗号化データ記憶装置300だけが認証を行うようにしてもよい。少なくとも暗号化データ記憶装置300が認証を行うことで、ユーザ端末100により直接暗号化データ記憶装置300から暗号化データcを取得されることや、不正なデータを暗号化データ記憶装置300に登録されることを防止できる。   In the above description, authentication is performed by the encrypted data management device 200 and the encrypted data storage device 300, respectively. However, the encrypted data management apparatus 200 may not perform authentication and only the encrypted data storage apparatus 300 may perform authentication. When at least the encrypted data storage device 300 performs authentication, the user terminal 100 can directly acquire the encrypted data c from the encrypted data storage device 300, or illegal data is registered in the encrypted data storage device 300. Can be prevented.

また、上記説明では、実施の形態1に係る処理を応用した場合について説明した。実施の形態2に係る処理を応用した場合、処理の流れは実施の形態1に係る処理を応用した場合と同じである。しかし、S31で生成される要素cと、S60で生成される要素c’とが、実施の形態1に係る処理を応用した場合とは異なる。
実施の形態2に係る処理を応用した場合、S31で生成される要素cは式58のようになる。
<式58>
:=(s 1,1,0n1,0n1,η)B
また、実施の形態2に係る処理を応用した場合、S60で生成される要素c’は式39や式41のようになる。
また、実施の形態2では公開パラメータpkに含まれていた基底Bは、公開パラメータpkから除かれ、鍵生成装置400から暗号化データ管理装置200へのみ送信される。なお、この際、盗聴と改ざんを防ぐため、SSL等を用いた安全な通信路が使用される。
In the above description, the case where the process according to the first embodiment is applied has been described. When the process according to the second embodiment is applied, the process flow is the same as when the process according to the first embodiment is applied. However, the element c 1 generated in S31 and the element c 1 ′ generated in S60 are different from the case where the processing according to the first embodiment is applied.
When the process according to the second embodiment is applied, the element c 1 generated in S31 is expressed by Expression 58.
<Formula 58>
c 1 : = (s 1 e 1 , 1 , 0 n 1 , 0 n 1 , η 1 ) B 1
Further, when the process according to the second embodiment is applied, the element c 1 ′ generated in S60 is expressed by Expression 39 and Expression 41.
Further, the base B 1 included in the public parameter pk in the second embodiment is removed from the public parameter pk and transmitted only from the key generation device 400 to the encrypted data management device 200. At this time, a secure communication path using SSL or the like is used in order to prevent eavesdropping and tampering.

ここで、上記実施の形態におけるユーザ秘密鍵kと暗号化データcとへの鍵情報や属性情報の割り当て方法は、一例であり他の方法であってもよい。
例えば、実施の形態1では、属性情報がαであれば、ユーザ秘密鍵kについては、基底ベクトルb の係数としてα、基底ベクトルb の係数として1が設定された。また、暗号化データcの要素cについては、基底ベクトルbの係数として1、基底ベクトルbの係数として−αが設定された。しかし、例えば、ユーザ秘密鍵kについては、基底ベクトルb の係数として1、基底ベクトルb の係数としてαが設定され、暗号化データcの要素cについては、基底ベクトルbの係数として−α、基底ベクトルbの係数として1が設定されてもよい。
また、このように単純に値を設定する基底ベクトルを変更するのではなく、全く別の方法により鍵情報や属性情報を割り当てるようにしてもよい。どのような割り当て方法であっても、上記実施の形態に係る失効方式を適用することは可能である。
Here, the method of assigning key information and attribute information to the user secret key k * and the encrypted data c in the above embodiment is an example, and other methods may be used.
For example, in the first embodiment, if the attribute information is alpha, the user secret key k *, alpha as the coefficients of the basis vector b * 3, 1 is set as the coefficient of the basis vector b * 4. For the element c 1 of the encrypted data c, 1 is set as the coefficient of the base vector b 3 and −α is set as the coefficient of the base vector b 4 . However, for example, for the user private key k *, 1 as coefficients of basis vectors b * 3, alpha as the coefficient of the basis vector b * 4 are set, elements c 1 of the encrypted data c, basis vector b 3 -α as the coefficient of 1 as the coefficient of the basis vector b 4 may be set.
In addition, instead of simply changing the basis vectors for setting values in this way, key information and attribute information may be assigned by a completely different method. Regardless of the allocation method, the revocation method according to the above embodiment can be applied.

また、上記実施の形態では、鍵の失効方式を非特許文献1,2に記載された関数型暗号方式へ適用する方法について説明した。
しかし、上記実施の形態に係る鍵の失効方式は、非特許文献1,2に記載された関数型暗号方式に限らず、非特許文献1,2に記載された関数型暗号方式を応用した関数型暗号方式に適用することも可能である。
また、上記実施の形態に係る鍵の失効方式は、関数型暗号方式に限らず、他の暗号方式にも適用可能である。
In the above embodiment, the method of applying the key revocation method to the functional encryption methods described in Non-Patent Documents 1 and 2 has been described.
However, the key revocation method according to the above embodiment is not limited to the functional encryption method described in Non-Patent Documents 1 and 2, but is a function that applies the functional encryption method described in Non-Patent Documents 1 and 2. It is also possible to apply to the type encryption method.
Further, the key revocation method according to the above embodiment is not limited to the functional encryption method but can be applied to other encryption methods.

また、上記実施の形態では、関数型暗号方式を用いて、メッセージmを送信する場合について説明した。
公開鍵暗号方式を用いた暗号化では、通常、データを共通鍵で暗号化した後、その共通鍵をユーザの公開鍵で暗号化するいわゆるハイブリッド暗号方式を用いることが多い。ハイブリッド暗号方式では、暗号化したデータにユーザの公開鍵で暗号化された共通鍵が添付される。
ハイブリッド暗号方式では、暗号化された共通鍵を暗号化データから削除することで、共通鍵で暗号化されたデータを復号することができなくなる。しかし、関数型暗号方式は複数の秘密鍵で復号可能なデータを1つの公開鍵で暗号化する。そのため、仮に同じ仕組みで共通鍵を添付する場合、複数の秘密鍵に対して1つしか暗号化された共通鍵を付与しない。つまり、1人のユーザが失効すれば、従来通りの方式で対応すると再暗号化するしか方法がない。
しかし、上記実施の形態に係る鍵の失効方式を用いれば、関数型暗号方式を用いたハイブリッド暗号方式の場合であっても鍵の失効を実現することができる。なお、ハイブリッド暗号方式の場合、メッセージmとして、コンテンツを暗号化するための共通鍵(又は共通鍵の生成元データ)が設定される。
In the above embodiment, the case where the message m is transmitted using the functional encryption method has been described.
In encryption using a public key cryptosystem, a so-called hybrid cryptosystem is usually used in which data is encrypted with a common key and then the common key is encrypted with the user's public key. In the hybrid encryption method, a common key encrypted with the user's public key is attached to the encrypted data.
In the hybrid encryption method, by deleting the encrypted common key from the encrypted data, the data encrypted with the common key cannot be decrypted. However, the functional encryption method encrypts data that can be decrypted with a plurality of secret keys with one public key. Therefore, if a common key is attached with the same mechanism, only one encrypted common key is assigned to a plurality of secret keys. In other words, if one user expires, there is no other way but to re-encrypt it in the conventional manner.
However, if the key revocation method according to the above embodiment is used, key revocation can be realized even in the case of a hybrid encryption method using a functional encryption method. In the case of the hybrid encryption method, a common key (or common key generation source data) for encrypting content is set as the message m.

図12は、ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400のハードウェア構成の一例を示す図である。
図12に示すように、ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
FIG. 12 is a diagram illustrating an example of a hardware configuration of the user terminal 100, the encrypted data management device 200, the encrypted data storage device 300, and the key generation device 400.
As shown in FIG. 12, the user terminal 100, the encrypted data management device 200, the encrypted data storage device 300, and the key generation device 400 include a CPU 911 (Central Processing Unit, a central processing unit, a processing device, An arithmetic device, a microprocessor, a microcomputer, and a processor). The CPU 911 is connected to the ROM 913, the RAM 914, the LCD 901 (Liquid Crystal Display), the keyboard 902 (K / B), the communication board 915, and the magnetic disk device 920 via the bus 912, and controls these hardware devices. Instead of the magnetic disk device 920 (fixed disk device), a storage device such as an optical disk device or a memory card read / write device may be used. The magnetic disk device 920 is connected via a predetermined fixed disk interface.

ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。RAM914は、揮発性メモリの一例である。ROM913とRAM914と磁気ディスク装置920とは、記憶装置(メモリ)の一例である。また、キーボード902、通信ボード915は、入力装置の一例である。また、通信ボード915は、通信装置の一例である。さらに、LCD901は、表示装置の一例である。   The ROM 913 and the magnetic disk device 920 are examples of a nonvolatile memory. The RAM 914 is an example of a volatile memory. The ROM 913, the RAM 914, and the magnetic disk device 920 are examples of a storage device (memory). The keyboard 902 and the communication board 915 are examples of input devices. The communication board 915 is an example of a communication device. Furthermore, the LCD 901 is an example of a display device.

磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。   An operating system 921 (OS), a window system 922, a program group 923, and a file group 924 are stored in the magnetic disk device 920 or the ROM 913. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922.

プログラム群923には、上記の説明において「暗号化データ生成部110」、「データ送信部120」、「データ受信部130」、「復号部140」、「データ受信部210」、「失効判定部220」、「鍵情報設定部230」、「データ送信部240」、「認証処理部270」、「データ受信部310」、「データ操作部320」、「データ送信部330」、「指示受信部410」、「鍵生成部420」、「鍵送信部430」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、上記の説明において「鍵管理部150」、「失効情報管理部250」、「鍵管理部260」、「暗号化データ管理部340」、「マスター鍵記憶部440」等に記憶される情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
The program group 923 includes “encrypted data generation unit 110”, “data transmission unit 120”, “data reception unit 130”, “decryption unit 140”, “data reception unit 210”, “revocation determination unit” in the above description. 220 ”,“ key information setting unit 230 ”,“ data transmission unit 240 ”,“ authentication processing unit 270 ”,“ data reception unit 310 ”,“ data operation unit 320 ”,“ data transmission unit 330 ”,“ instruction reception unit ” Software, programs, and other programs that execute the functions described as “410”, “key generation unit 420”, “key transmission unit 430”, and the like are stored. The program is read and executed by the CPU 911.
The file group 924 includes “key management unit 150”, “revocation information management unit 250”, “key management unit 260”, “encrypted data management unit 340”, “master key storage unit 440”, and the like in the above description. Stored information, data, signal values, variable values, and parameters are stored as items of “file” and “database”. The “file” and “database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for the operation of the CPU 911 such as calculation / processing / output / printing / display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the operation of the CPU 911 for extraction, search, reference, comparison, calculation, calculation, processing, output, printing, and display. Is remembered.

また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
In the above description, the arrows in the flowchart mainly indicate input / output of data and signals, and the data and signal values are recorded in a memory of the RAM 914, other recording media such as an optical disk, and an IC chip. Data and signals are transmitted online by a bus 912, signal lines, cables, other transmission media, and radio waves.
In addition, what is described as “to part” in the above description may be “to circuit”, “to device”, “to device”, “to means”, and “to function”. It may be “step”, “˜procedure”, “˜processing”. In addition, what is described as “˜device” may be “˜circuit”, “˜device”, “˜means”, “˜function”, and “˜step”, “˜procedure”, “ ~ Process ". Furthermore, what is described as “to process” may be “to step”. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored in a recording medium such as ROM 913 as a program. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes a computer or the like to function as the “˜unit” described above. Alternatively, the computer or the like is caused to execute the procedures and methods of “to part” described above.

10 暗号処理システム、100 ユーザ端末、110 暗号化データ生成部、120 データ送信部、130 データ受信部、140 復号部、150 鍵管理部、200 暗号化データ管理装置、210 データ受信部、220 失効判定部、230 鍵情報設定部、240 データ送信部、250 失効情報管理部、260 鍵管理部、270 認証処理部、300 暗号化データ記憶装置、310 データ受信部、320 データ操作部、330 データ送信部、340 暗号化データ管理部、350 認証処理部、400 鍵生成装置、410 指示受信部、420 鍵生成部、430 鍵送信部、440 マスター鍵記憶部。   DESCRIPTION OF SYMBOLS 10 Encryption processing system, 100 User terminal, 110 Encrypted data generation part, 120 Data transmission part, 130 Data reception part, 140 Decryption part, 150 Key management part, 200 Encrypted data management apparatus, 210 Data reception part, 220 Revocation determination , 230 Key information setting unit, 240 Data transmission unit, 250 Revocation information management unit, 260 Key management unit, 270 Authentication processing unit, 300 Encrypted data storage device, 310 Data reception unit, 320 Data operation unit, 330 Data transmission unit 340 Encrypted data management unit, 350 Authentication processing unit, 400 Key generation device, 410 Instruction reception unit, 420 Key generation unit, 430 Key transmission unit, 440 Master key storage unit.

Claims (11)

暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理装置であり、
属性情報が設定された暗号化データを記憶装置から取得するデータ取得部と、
前記データ取得部が取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定部と、
秘密鍵が失効しているユーザが含まれると前記失効判定部に判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定部と、
前記鍵情報設定部が鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信部と
を備えることを特徴とする暗号化データ管理装置。
If the attribute information and key information set in the encrypted data does not correspond to the attribute information and key information set in the secret key, the encryption method cannot decrypt the encrypted data with the secret key. An encrypted data management device that manages encrypted data,
A data acquisition unit that acquires encrypted data set with attribute information from a storage device;
A revocation determination unit that determines whether the user having the attribute information set in the encrypted data acquired by the data acquisition unit includes a user whose private key has been revoked;
A key information setting unit that sets a different value in the encrypted data as the key information depending on whether or not the revocation determination unit determines that a user whose private key has been revoked;
An encrypted data management apparatus comprising: a data transmission unit that transmits encrypted data in which the key information setting unit sets key information to a user terminal.
前記データ取得部は、前記鍵情報として乱数値が設定された暗号化データを取得し、
前記鍵情報設定部は、前記データ取得部が取得した暗号化データに設定された鍵情報を前記異なる値に設定し直す
ことを特徴とする請求項1に記載の暗号化データ管理装置。
The data acquisition unit acquires encrypted data in which a random value is set as the key information,
The encrypted data management apparatus according to claim 1, wherein the key information setting unit resets the key information set in the encrypted data acquired by the data acquisition unit to the different value.
前記暗号化データ管理装置は、さらに、
失効した秘密鍵の世代番号を管理する失効情報管理部
を備え、
前記鍵情報設定部は、秘密鍵が失効しているユーザが含まれないと判定された場合、前記世代番号の初期値を前記鍵情報として設定し、秘密鍵が失効しているユーザが含まれると判定された場合、前記失効情報管理部が管理する世代番号とは異なる値を前記鍵情報として設定する
ことを特徴とする請求項1に記載の暗号化データ管理装置。
The encrypted data management device further includes:
It has a revocation information management unit that manages the generation number of revoked private keys,
When it is determined that the user whose secret key has expired is not included, the key information setting unit sets the initial value of the generation number as the key information, and includes the user whose secret key has expired 2. The encrypted data management apparatus according to claim 1, wherein a value different from a generation number managed by the revocation information management unit is set as the key information.
前記データ取得部は、所定の基底Bにおける一部の基底ベクトルである基底ベクトルAの係数に前記属性情報が設定された暗号化ベクトルを前記暗号化データとして取得し、
前記鍵情報設定部は、前記基底Bにおける前記基底ベクトルAとは異なる基底ベクトルである基底ベクトルKの係数に前記異なる値を設定する
ことを特徴とする請求項1に記載の暗号化データ管理装置。
The data acquisition unit acquires, as the encrypted data, an encryption vector in which the attribute information is set to a coefficient of a base vector A that is a partial base vector in a predetermined base B,
The encrypted data management apparatus according to claim 1, wherein the key information setting unit sets the different value to a coefficient of a base vector K that is a base vector different from the base vector A in the base B. .
前記データ取得部は、前記基底ベクトルKの係数に乱数値が設定された前記暗号化ベクトルと、前記乱数値が暗号化された暗号化乱数値とを含む暗号化データを取得し、
前記鍵情報設定部は、前記暗号化乱数値を復号して前記乱数値を得て、前記基底ベクトルKの係数に前記乱数値を設定したベクトルを前記暗号化ベクトルから減算し、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記暗号化ベクトルに加算する
ことを特徴とする請求項4に記載の暗号化データ管理装置。
The data acquisition unit acquires encrypted data including the encryption vector in which a random value is set as a coefficient of the base vector K, and an encrypted random number value in which the random value is encrypted,
The key information setting unit decrypts the encrypted random number value to obtain the random number value, subtracts a vector in which the random value is set as a coefficient of the base vector K from the encrypted vector, and the base vector K 5. The encrypted data management apparatus according to claim 4, wherein a vector in which the different value is set as the coefficient is added to the encrypted vector.
前記データ取得部は、前記基底ベクトルKの係数に0が設定された前記暗号化ベクトルを前記暗号化データとして取得し、
前記鍵情報設定部は、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記暗号化ベクトルに加算する
ことを特徴とする請求項4に記載の暗号化データ管理装置。
The data acquisition unit acquires the encryption vector in which the coefficient of the base vector K is set to 0 as the encryption data,
5. The encrypted data management apparatus according to claim 4, wherein the key information setting unit adds a vector in which the different value is set to a coefficient of the base vector K to the encrypted vector.
前記データ取得部は、t=1,...,n(nは2以上の整数)の各tについての基底B[t]の一部の基底である属性基底の基底ベクトルの係数に前記属性情報が設定された属性ベクトルと、前記基底B[t]における前記属性基底とは異なる基底である鍵情報基底の鍵情報ベクトルとを含む暗号化ベクトルを前記暗号化データとして取得し、
前記鍵情報設定部は、前記鍵情報基底の基底ベクトルの係数に前記異なる値を設定したベクトルに前記鍵情報ベクトルをする
ことを特徴とする請求項1に記載の暗号化データ管理装置。
The data acquisition unit includes t = 1,. . . , N (n is an integer equal to or greater than 2), an attribute vector in which the attribute information is set to a coefficient of a base vector of an attribute base that is a partial base of the base B [t] for each t, and the base B [ an encryption vector including a key information vector of a key information base that is a base different from the attribute base at t] is obtained as the encrypted data,
The encrypted data management apparatus according to claim 1, wherein the key information setting unit sets the key information vector to a vector in which the different value is set as a coefficient of a base vector of the key information base.
前記データ取得部は、前記鍵情報基底の基底ベクトルのうちの所定の基底ベクトルKの係数に乱数値が設定されたベクトルを、前記鍵情報ベクトルとして含む前記暗号化ベクトルと、前記乱数値が暗号化された暗号化乱数値とを含む暗号化データを取得し、
前記鍵情報設定部は、前記暗号化乱数値を復号して前記乱数値を得て、前記基底ベクトルKの係数に前記乱数値を設定したベクトルを前記鍵情報ベクトルから減算し、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記鍵情報ベクトルに加算する
ことを特徴とする請求項7に記載の暗号化データ管理装置。
The data acquisition unit includes, as the key information vector, a vector in which a random value is set as a coefficient of a predetermined basis vector K among the basis vectors of the key information basis, and the random value is encrypted. The encrypted data including the encrypted random number value,
The key information setting unit decrypts the encrypted random number value to obtain the random value, subtracts a vector in which the random value is set as a coefficient of the basis vector K from the key information vector, and The encrypted data management apparatus according to claim 7, wherein a vector in which the different value is set as the coefficient is added to the key information vector.
前記データ取得部は、前記鍵情報基底の基底ベクトルのうちの所定の前記基底ベクトルKの係数に0が設定された前記暗号化ベクトルを前記暗号化データとして取得し、
前記鍵情報設定部は、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記鍵情報ベクトルに加算する
ことを特徴とする請求項7に記載の暗号化データ管理装置。
The data acquisition unit acquires, as the encrypted data, the encryption vector in which a coefficient of the predetermined base vector K among the base vectors of the key information base is set to 0,
The encrypted data management apparatus according to claim 7, wherein the key information setting unit adds a vector in which the different value is set to a coefficient of the base vector K to the key information vector.
暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理方法であり、
通信装置が、属性情報が設定された暗号化データを記憶装置から取得するデータ取得ステップと、
処理装置が、前記データ取得ステップで取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定ステップと、
処理装置が、秘密鍵が失効しているユーザが含まれると前記失効判定ステップで判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定ステップと、
通信装置が、前記鍵情報設定ステップで鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信ステップと
を備えることを特徴とする暗号化データ管理方法。
If the attribute information and key information set in the encrypted data does not correspond to the attribute information and key information set in the secret key, the encryption method cannot decrypt the encrypted data with the secret key. An encrypted data management method for managing encrypted data,
A data acquisition step in which the communication device acquires encrypted data in which the attribute information is set from the storage device;
A revocation determination step of determining whether or not the user having the attribute information set in the encrypted data acquired in the data acquisition step includes a user whose secret key has been revoked,
A key information setting step for setting a different value in the encrypted data as the key information depending on whether or not the processing device includes a user whose private key has been revoked, as determined in the revocation determination step;
An encrypted data management method, comprising: a data transmission step in which the communication device transmits the encrypted data in which the key information is set in the key information setting step to the user terminal.
暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理プログラムであり、
属性情報が設定された暗号化データを記憶装置から取得するデータ取得処理と、
前記データ取得処理で取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定処理と、
秘密鍵が失効しているユーザが含まれると前記失効判定処理で判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定処理と、
前記鍵情報設定処理で鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信処理と
をコンピュータに実行させることを特徴とする暗号化データ管理プログラム。
If the attribute information and key information set in the encrypted data does not correspond to the attribute information and key information set in the secret key, the encryption method cannot decrypt the encrypted data with the secret key. An encrypted data management program for managing encrypted data,
A data acquisition process for acquiring encrypted data set with attribute information from a storage device;
Revocation determination processing for determining whether the user having the attribute information set in the encrypted data acquired in the data acquisition processing includes a user whose secret key has been revoked;
A key information setting process for setting a different value in the encrypted data as the key information depending on whether or not it is determined in the revocation determination process that a user whose secret key has expired is included;
An encrypted data management program for causing a computer to execute a data transmission process for transmitting encrypted data in which key information is set in the key information setting process to a user terminal.
JP2013549994A 2011-12-20 2011-12-20 ENCRYPTED DATA MANAGEMENT DEVICE, ENCRYPTED DATA MANAGEMENT METHOD, AND ENCRYPTED DATA MANAGEMENT PROGRAM Active JP5668191B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079519 WO2013094018A1 (en) 2011-12-20 2011-12-20 Encrypted data administration device, encrypted data administration method, and encrypted data administration program

Publications (2)

Publication Number Publication Date
JP5668191B2 true JP5668191B2 (en) 2015-02-12
JPWO2013094018A1 JPWO2013094018A1 (en) 2015-04-27

Family

ID=48667946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013549994A Active JP5668191B2 (en) 2011-12-20 2011-12-20 ENCRYPTED DATA MANAGEMENT DEVICE, ENCRYPTED DATA MANAGEMENT METHOD, AND ENCRYPTED DATA MANAGEMENT PROGRAM

Country Status (6)

Country Link
US (1) US9237013B2 (en)
EP (1) EP2797254A4 (en)
JP (1) JP5668191B2 (en)
CN (1) CN104012028B (en)
IN (1) IN2014CN04197A (en)
WO (1) WO2013094018A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023944B (en) * 2011-09-27 2015-11-25 腾讯科技(深圳)有限公司 The method and system of associated user are pushed in a kind of SNS network
WO2015008769A1 (en) * 2013-07-18 2015-01-22 日本電信電話株式会社 Directory service device, client device, key cloud system, method thereof, and program
WO2015052799A1 (en) 2013-10-09 2015-04-16 三菱電機株式会社 Cipher system, encryption device, re-encryption key generation device, re-encryption device, and cipher program
US10140460B2 (en) 2013-12-11 2018-11-27 Mitsubishi Electric Corporation File storage system and user terminal
WO2015107641A1 (en) * 2014-01-16 2015-07-23 三菱電機株式会社 Encryption system, key generating device, re-encryption device, and user terminal
WO2016056473A1 (en) * 2014-10-07 2016-04-14 日本電信電話株式会社 Secret calculation system and relay device, and method, program, and storage medium thereof
JP6227187B2 (en) * 2015-02-20 2017-11-08 三菱電機株式会社 Data storage device, data update system, data processing method, and data processing program
CN107251479B (en) 2015-02-20 2020-08-11 三菱电机株式会社 Data storage device and data processing method
US9811680B2 (en) 2015-06-04 2017-11-07 Microsoft Technology Licensing, Llc Secure storage and sharing of data by hybrid encryption using predefined schema
JP6534778B2 (en) * 2016-07-06 2019-06-26 日本電信電話株式会社 Secret calculation system, secret calculation device, secret calculation method, and program
JP6575547B2 (en) 2017-03-17 2019-09-18 富士ゼロックス株式会社 Document management system
US10666422B2 (en) * 2017-12-29 2020-05-26 Shenzhen China Star Optoelectronics Technology Co., Ltd. Data processing method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010087366A (en) 1999-08-09 2001-09-15 요트.게.아. 롤페즈 Updating a revocation list to foil an adversary
JP3833635B2 (en) 2003-07-30 2006-10-18 三井住友海上火災保険株式会社 Information management system, key distribution server, information management method, and program
US8515060B2 (en) * 2009-04-24 2013-08-20 Nippon Telegraph And Telephone Corporation Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium
JP5285778B2 (en) * 2009-08-03 2013-09-11 日本電信電話株式会社 Function encryption application system and method
KR101336349B1 (en) * 2009-11-20 2013-12-04 니폰덴신뎅와 가부시키가이샤 Cipher processing system, key generating device, key delegating device, encrypting device, decrypting device, cipher processing method, and computer readable recording medium storing cipher processing program
WO2011086668A1 (en) * 2010-01-13 2011-07-21 三菱電機株式会社 Secret retrieval system, public parameter generation device, encryption device, user secret key generation device, query issue device, retrieval device, computer program, secret retrieval method, public parameter generation method, encryption method, user secret key generation method, query issue method, and retrieval method
US8634563B2 (en) * 2010-12-17 2014-01-21 Microsoft Corporation Attribute based encryption using lattices
US8516244B2 (en) * 2011-06-10 2013-08-20 Zeutro Llc System, apparatus and method for decentralizing attribute-based encryption information

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6014034477; Hattori, M. et al.: 'Searchable Public-Key Encryption for Hierarchical Systems withAdaptive Join/Leave of Members' 2011年 暗号と情報セキュリティシンポジウム予稿集 , 20110125 *
JPN6014034478; 武藤健一郎 他: '情報鍵暗号における鍵管理方式の検討' 2011年 暗号と情報セキュリティシンポジウム予稿集 , 20110125 *
JPN6014034481; Hur, J. and Noh, D. K.: 'Attribute-Based Access Control with Efficient Revocation in Data Outsourcing Systems' IEEE Transactions on Parallel and Distributed Systems Volume 22 Issue 7, 201107, p.1214-1221 *

Also Published As

Publication number Publication date
CN104012028B (en) 2016-10-26
US20140310521A1 (en) 2014-10-16
EP2797254A4 (en) 2015-10-28
WO2013094018A1 (en) 2013-06-27
IN2014CN04197A (en) 2015-07-17
JPWO2013094018A1 (en) 2015-04-27
EP2797254A1 (en) 2014-10-29
US9237013B2 (en) 2016-01-12
CN104012028A (en) 2014-08-27

Similar Documents

Publication Publication Date Title
JP5668191B2 (en) ENCRYPTED DATA MANAGEMENT DEVICE, ENCRYPTED DATA MANAGEMENT METHOD, AND ENCRYPTED DATA MANAGEMENT PROGRAM
US9912485B2 (en) Method and apparatus for embedding secret information in digital certificates
EP2677682B1 (en) Key management system
US8509449B2 (en) Key protector for a storage volume using multiple keys
US8813247B1 (en) Providing cryptographic security for objective-oriented programming files
JP5670272B2 (en) Information processing apparatus, server apparatus, and program
KR20070029864A (en) Method and apparatus for securely transmitting and receiving data in peer to peer
CN106797316B (en) Router, data equipment, the method and system for distributing data
JP6049914B2 (en) Cryptographic system, key generation device, and re-encryption device
JP2013207376A (en) Information processing device and program
KR20090084545A (en) Ce device management server, method for issuing drm key using ce device management server, and computer readable medium
JP6501701B2 (en) SYSTEM, TERMINAL DEVICE, CONTROL METHOD, AND PROGRAM
KR20170047853A (en) Apparatus and method for providing drm service, apparatus and method for playing contents using drm service
JP2010028689A (en) Server, method, and program for providing open parameter, apparatus, method, and program for performing encoding process, and apparatus, method, and program for executing signature process
KR20090024482A (en) Key management system for using content and method thereof
JP2010272899A (en) Key generating system, key generating method, blind server device, and program
US20230376574A1 (en) Information processing device and method, and information processing system
JP5739078B1 (en) Server apparatus, communication method, and program
JP5705366B1 (en) Server apparatus and program
JP4615889B2 (en) Attribute verification method, attribute authentication system, and program for attribute authentication system
JP5369003B2 (en) Authentication method, authentication system, key generation device, server device, program
Lapon et al. Building advanced applications with the Belgian eID
KR20100102032A (en) Apparatus and method for mutual authentication in downloadable conditional access system

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140819

R150 Certificate of patent or registration of utility model

Ref document number: 5668191

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250