WO2013094018A1 - 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム - Google Patents

暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム Download PDF

Info

Publication number
WO2013094018A1
WO2013094018A1 PCT/JP2011/079519 JP2011079519W WO2013094018A1 WO 2013094018 A1 WO2013094018 A1 WO 2013094018A1 JP 2011079519 W JP2011079519 W JP 2011079519W WO 2013094018 A1 WO2013094018 A1 WO 2013094018A1
Authority
WO
WIPO (PCT)
Prior art keywords
encrypted data
key
vector
key information
user
Prior art date
Application number
PCT/JP2011/079519
Other languages
English (en)
French (fr)
Inventor
幸宏 市川
松田 規
忠和 山中
克幸 高島
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2013549994A priority Critical patent/JP5668191B2/ja
Priority to EP11878276.2A priority patent/EP2797254A4/en
Priority to CN201180075670.4A priority patent/CN104012028B/zh
Priority to US14/355,043 priority patent/US9237013B2/en
Priority to PCT/JP2011/079519 priority patent/WO2013094018A1/ja
Priority to IN4197CHN2014 priority patent/IN2014CN04197A/en
Publication of WO2013094018A1 publication Critical patent/WO2013094018A1/ja

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

Definitions

  • This invention relates to a technique for managing encrypted data for realizing the revocation of a secret key.
  • the public key cryptosystem developed by Diffie and Hermann in 1976 has undergone various improvements and functional enhancements.
  • Bonnet and Franklin developed a public key cryptosystem called ID-based cryptography based on pairing operations.
  • ID-based cryptography a public key cryptosystem with high security described in Non-Patent Documents 1 and 2 (hereinafter referred to as functional cryptography).
  • functional cryptography 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).
  • the functional encryption method can perform encryption by designating a plurality of users (secret keys) that can be decrypted with one public key.
  • 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.
  • 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.
  • the functional encryption method Since the functional encryption method is a significantly different encryption method from the conventional 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.
  • 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 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 a user having a revoked secret key is included in the user having the attribute information set in the encrypted data acquired by the data acquisition unit; 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 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.
  • FIG. 1 is a configuration diagram of a cryptographic processing system 10 according to a first embodiment.
  • 1 is a configuration diagram of a user terminal 100 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of an encrypted data management apparatus 200 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of an encrypted data storage device 300 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a key generation device 400 according to Embodiment 1.
  • FIG. 5 is a flowchart showing a flow of encrypted data registration processing according to the first embodiment. 5 is a flowchart showing a flow of encrypted data acquisition processing according to the first embodiment.
  • FIG. 9 is a configuration diagram of an encrypted data management apparatus 200 according to Embodiment 3.
  • FIG. 9 is a configuration diagram of an encrypted data management apparatus 200 according to Embodiment 3.
  • FIG. 5 is a configuration diagram of an encrypted data storage device 300 according to a third embodiment.
  • 10 is a flowchart showing a flow of encrypted data registration processing according to the third embodiment.
  • 10 is a flowchart showing a flow of encrypted data acquisition processing according to the third embodiment.
  • 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.
  • 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.
  • Non-Patent Document 1 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.
  • the Setup algorithm is an algorithm for generating a public parameter pk and a master secret key sk.
  • 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.
  • 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).
  • the KeyGen algorithm is an algorithm that generates a user secret key k * .
  • a user secret key k * is generated using a base B * included in the master secret key sk.
  • k * : ⁇ (v 1 b * 1 + ... + v n b * n ) + b * n + 1
  • is a random value.
  • v 1 ,. . . , V n is a such as attribute information of the user is given a user secret key k *.
  • the Enc algorithm is an algorithm for generating encrypted data c.
  • the element c 1 of the encrypted data c is generated using the base B included in the public parameter pk.
  • c 1 : ⁇ (x 1 b 1 +... + x n b n ) + ⁇ b n + 1 + ⁇ b n + 2
  • ⁇ , ⁇ , and ⁇ are random values.
  • x 1 ,. . . , X n are attribute information of a user who can decrypt the encrypted data c.
  • 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.
  • c 2 : e (g, g) ⁇ ⁇ m
  • 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.
  • the Dec algorithm is an algorithm for decrypting the encrypted data c with the user secret key k * .
  • the calculation shown in Expression 4 is executed, the encrypted data c is decrypted with the user secret key k * , and m ′ is extracted.
  • m ′: c 2 / e (c 1 , k * )
  • e (c 1 , k * ) is a pairing operation for the element c 1 and the user secret key k * .
  • 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, the encrypted data management device 200, the encrypted data storage device 300, and the key generation device 400 are connected via a network 500 such as the Internet.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 describing the three preconditions, the encrypted data registration process and the encrypted data acquisition process will be described.
  • 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.
  • 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.
  • the key generation unit 420 generates a user secret key k * as shown in Equation 5.
  • k * ⁇ 1 (v 1 b * 1 + v 2 b * 2 ) + ⁇ 2 (v 3 b * 3 + v 4 b * 4 ) + b * 5
  • ⁇ 1 and ⁇ 2 are random values.
  • v 1 and v 2 are key information.
  • 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.
  • the user secret key k * is generated here as shown in Equation 6.
  • the key generation unit 420 When the key generation unit 420 first generates a user secret key k * for a certain user, the generation number is set to 1. 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the encrypted data generation unit 110 uses the base B included in the public parameter pk stored in the key management unit 150 to generate the element c 1 of the encrypted data c, as shown in Expression 7, by the processing device.
  • c 1 : ⁇ 1 (r 1 b 1 + r 2 b 2 ) + ⁇ 2 (x 3 b 3 + x 4 b 4 ) + ⁇ b 5 + ⁇ b 6
  • ⁇ 1 , ⁇ 2 , r 1 , r 2 , ⁇ , and ⁇ are random values.
  • attribute information of a user who can decrypt the encrypted data c is set.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the data receiving unit 210 of the encrypted data management device 200 receives the result information from the encrypted data storage device 300 through the communication device.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 device 200 determines whether or not the revocation information stored in the revocation information management unit 250 includes the user identification information included in the user list ul of the encrypted data c by the processing device. To determine.
  • the key information setting unit 230 causes the processing device to reset 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, 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.
  • the key information setting unit 230 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. .
  • 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.
  • the element c 1 ′ shown in Expression 10 can be obtained from the element c 1 shown in Expression 8.
  • ⁇ 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.
  • B 1 and b 2 are obtained from the base B included in the public parameter pk.
  • the key information setting unit 230 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. .
  • 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 ⁇ (value of generation number of revoked user secret key k * + 1).
  • 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.
  • the decryption unit 140 decrypts the encrypted data c ′ with the user secret key k * by executing the calculation shown in Expression 14 by the processing device, and extracts the message m ′.
  • m ′: c 2 / e (c 1 , k * )
  • 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 Equation 15 in which 1 is set to ⁇ in Equation 6.
  • k * ⁇ 1 (b * 1 + b * 2 ) + ⁇ 2 ( ⁇ b * 3 + b * 4 ) + b * 5
  • ⁇ Formula 16> c 1 : ⁇ 1 (r 1 b 1 + r 2 b 2 ) + ⁇ 2 (b 3 ⁇ b 4 ) + ⁇ b 5 + ⁇ b 6
  • 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 * .
  • the element c 1 ′ is generated as shown in Expression 18.
  • the user secret key k * whose generation number is 1 has expired.
  • c 1 ′ ⁇ 1 (b 1 ⁇ 2b 2 ) + ⁇ 2 (b 3 ⁇ b 4 ) + ⁇ b 5 + ⁇ b 6
  • 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.
  • 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.
  • c 1 : ⁇ 1 (r 1 b 1 + r 2 b 2 ) + ⁇ 2 (b 3 ⁇ b 4 ) + ⁇ b 5 + ⁇ b 6
  • ⁇ i 1 4 v i ⁇ x i ⁇ 0 regardless of the number of generation numbers set in the user secret key k * . Cannot decrypt.
  • the encrypted data c cannot be decrypted with the lost user secret key k * and is regenerated.
  • 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.
  • the cryptographic processing system 10 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 outsourced to a third party, and the encrypted data c may be leaked from the encrypted data storage device 300. Even can keep safe.
  • the user attribute information and the generation number of the key are set in the user secret key k * .
  • a decryptable user attribute information condition and a decryptable key generation number condition are set in the encrypted data c as AND conditions.
  • 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.
  • 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 for the generation number value. If a revoked user is included, the generation number value that has not expired is set. 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.
  • 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 .
  • the user secret key k * may be generated by multiplying the key information and the attribute information by the same random value ⁇ .
  • k * ⁇ (v 1 b * 1 + v 2 b * 2 + v 3 b * 3 + v 4 b * 4 ) + b * 5
  • 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 .
  • the element c 1 may be generated by multiplying the key information and the attribute information by the same random value ⁇ .
  • c 1 : ⁇ (r 1 b 1 + r 2 b 2 + x 3 b 3 + x 4 b 4 ) + ⁇ b 5 + ⁇ b 6
  • 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.
  • c 1 : r 1 b 1 + r 2 b 2 + ⁇ 2 (x 3 b 3 + x 4 b 4 ) + ⁇ b 5 + ⁇ b 6
  • 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.
  • c 1 : r 2 b 2 + ⁇ 2 (x 3 b 3 + x 4 b 4 ) + ⁇ b 5 + ⁇ b 6
  • 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.
  • the user secret key k * shown in Equation 26 may be used.
  • 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
  • c may be used.
  • the encrypted data c shown in Expression 27 may be used.
  • the element c 1 ′ is generated as shown in Expression 29.
  • the user secret key k * whose generation number is 1 has expired.
  • c 1 : ⁇ 1 (b 1 ⁇ 2b 2 ) + ⁇ 2 (b 3 ⁇ 1 b 4 + b 5 ⁇ 2 b 6 ) + ⁇ b 11 + ⁇ b 12
  • the element c 1 can be expressed even when another user U 2 belonging to the B section acquires the encrypted data c.
  • Embodiment 2 a method for realizing a secret key revocation method in the functional encryption method described in Non-Patent Document 2 will be described.
  • Non-Patent Document 2 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.
  • the span program and secret sharing used in the functional encryption scheme described in Non-Patent Document 2 will be omitted or simplified for explanation.
  • 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.
  • the Setup algorithm is an algorithm for generating a public parameter pk and a master secret key sk.
  • 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 set as the public parameters pk
  • the base B * t is set as the master secret key sk.
  • the basis B 0 is the basis vector b 0,1 , b 0,2,. . . It has a b 0, 5
  • base B * 0 is a basis vector b * 0,1, b * 0,2, . . .
  • each of the bases B 0 and B * 0 has five base vectors.
  • 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 a 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.
  • the base B 0 included in the public parameter pk has only the base vectors b 0,1 , b 0,3 , b 0,5
  • 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.
  • t 1,. . . , D
  • the base B t included in the public parameter pk is the basis vector b t, 1 ,,. . .
  • 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.
  • the KeyGen algorithm is an algorithm that generates a user secret key k * .
  • k * 0: ( ⁇ , 0,1, ⁇ 0, 0)
  • B * 0 k * t : ( ⁇ v ⁇ t , 0 nt , ⁇ ⁇ t , 0) B * t
  • ⁇ , ⁇ 0 , ⁇ ⁇ t : ⁇ t, 1 ,.
  • k * t : ( ⁇ v ⁇ t , 0 nt , ⁇ ⁇ t , 0)
  • the Enc algorithm is an algorithm for generating encrypted data c.
  • e ⁇ t, 1 is a vector having nt elements
  • the first element is 1 and the remaining elements are 0.
  • ⁇ t are random values.
  • Xt, nt are user attribute information that can decrypt the encrypted data c.
  • c t : (s t e ⁇ t, 1 + ⁇ t x ⁇ t , 0 nt , 0 nt , ⁇ t )
  • the element cd + 1 of the encrypted data c is generated using the parameter param included in the public parameter pk.
  • c d + 1 : e (g, g) ⁇ ⁇ m
  • 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.
  • the Dec algorithm is an algorithm for decrypting the encrypted data c with the user secret key k * .
  • the calculation shown in Expression 33 is executed, the encrypted data c is decrypted with the user secret key k * , and m ′ is extracted.
  • e (c 0 , k * 0 ) is a pairing operation for the element c 0 and the user secret key k * 0
  • e (c t , k * t ) is the element c t and the user secret. It is a pairing operation with respect to the key k * t .
  • t 1,. . . , L
  • Y1 ⁇ s 0 + ⁇ .
  • ⁇ t 1 L
  • e ( c t, k * t) (g, g) a Y2.
  • 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.
  • 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.
  • 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.
  • the key generation unit 420 generates a user secret key k * as shown in Expression 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
  • ⁇ , ⁇ 0 , ⁇ ⁇ 1 and ⁇ ⁇ 2 are random values.
  • v ⁇ 1 : v 1,1 , v 1 , 2 are key information.
  • a generation number whose value is incremented each time a new key is issued is used as key information.
  • 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.
  • k * 0: ( ⁇ , 0,1, ⁇ 0, 0)
  • B * 0 k * 1 : ( ⁇ ( ⁇ , 1), 0 n1 , ⁇ ⁇ 1 , 0)
  • B * 1 k * 2 : ( ⁇ ( ⁇ , 1), 0 n2 , ⁇ ⁇ 2 , 0)
  • 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.
  • 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
  • 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.
  • the encrypted data c is generated here as shown in Expression 37.
  • 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.
  • 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.
  • 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.
  • the key information setting unit 230 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. .
  • 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.
  • c 1 ′: c 1 ⁇ 1 rb 1,2 ⁇ 1 b 1,2
  • 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.
  • b 1,1 , b 1 , 2 are obtained from the base B included in the public parameter pk.
  • S26 is the same as that in the first embodiment.
  • S27 is also the same as that of the first embodiment in principle.
  • the decoding method is different.
  • 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 ′.
  • t 1,. . . , L
  • 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.
  • 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 revoked user secret key k * .
  • 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.
  • 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)
  • 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 having the user secret key k * regenerated.
  • 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.
  • c 1 : (s 1 e ⁇ 1,1 + ⁇ 1 (1, r), 0 n1 , 0 n1 , ⁇ 1 ) B 1
  • ⁇ 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.
  • 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.
  • the element c 1 of the encrypted data c is generated as shown in Expression 36.
  • 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.
  • c 1 : (s 1 e ⁇ 1,1 + (1, r), 0 n1 , 0 n1 , ⁇ 1 ) B 1
  • 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.
  • 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.
  • the same effect can be obtained by encrypting the other parts with the domain public key.
  • Embodiment 3 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 the third embodiment includes an authentication processing unit 350 in addition to the functions of the encrypted data storage device 300 according to the first embodiment shown in FIG.
  • the three preconditions are basically the same as those in the first embodiment.
  • 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.
  • a secure communication path using SSL or the like is used.
  • 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.
  • 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.
  • c 1 : ⁇ (x 3 b 3 + x 4 b 4 ) + ⁇ b 5 + ⁇ b 6
  • ⁇ , ⁇ , and ⁇ are random values.
  • attribute information of a user who can decrypt the encrypted data c is set.
  • the encrypted data c is generated here as shown in Expression 53.
  • 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.
  • the data transmission unit 120 of the user terminal 100 transmits user identification information and a password as authentication information to the encrypted data management apparatus 200 by the communication apparatus.
  • 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 the identification information and 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. If the authentication is successful, the authentication processing unit 270 advances the process to S34. If the authentication is not successful, the authentication processing unit 270 ends the process.
  • 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.
  • 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.
  • 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.
  • 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 processing from S38 to S41 is the same as the processing from S14 to S17 shown in FIG.
  • 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 as authentication information to the encrypted data management apparatus 200 by the communication apparatus.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the processing from S57 to S58 is the same as the processing from S23 to S24 shown in FIG.
  • 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.
  • the revocation determination unit 220 of the encrypted data management device 200 determines whether or not the revocation information stored in the revocation information management unit 250 includes the user identification information included in the user list ul of the encrypted data c 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.
  • 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.
  • 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).
  • the processing from S61 to S62 is the same as the processing from S26 to S27 shown in FIG.
  • the cryptographic processing system 10 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.
  • the cryptographic processing system 10 can prevent unauthorized data from being registered in the encrypted data storage device 300 in the encrypted data registration processing.
  • authentication is performed by the encrypted data management device 200 and the encrypted data storage device 300, respectively.
  • the encrypted data management apparatus 200 may not perform authentication and only the encrypted data storage apparatus 300 may perform 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.
  • c 1 : (s 1 e ⁇ 1 , 1 , 0 n 1 , 0 n 1 , ⁇ 1 ) B 1
  • the element c 1 ′ generated in S60 is expressed by Expression 39 and Expression 41.
  • 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.
  • a secure communication path using SSL or the like is used.
  • 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.
  • the attribute information is alpha
  • 1 is set as the coefficient of the basis vector b * 4.
  • 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 .
  • 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.
  • the case where the message m is transmitted using the functional encryption method has been described.
  • a so-called hybrid cryptosystem is used in which data is encrypted with a common key and then the common key is encrypted with the user's public key.
  • a common key encrypted with the user's public key is attached to the encrypted data.
  • 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.
  • the key revocation method according to the above embodiment is used, the key revocation can be realized even in the case of the hybrid encryption method using the functional encryption method.
  • a common key (or common key generation source data) for encrypting content is set as the message m.
  • 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.
  • 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.
  • 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.
  • 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.
  • the LCD 901 is an example of a display device.
  • an operating system 921 OS
  • a window system 922 a program group 923
  • 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.
  • 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.
  • 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.
  • 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”.
  • ⁇ device may be “ ⁇ circuit”, “ ⁇ equipment”, “ ⁇ means”, “ ⁇ function”, and “ ⁇ step”, “ ⁇ procedure”, “ May be “processing”.
  • 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 procedure or method of “unit” described above is executed by a computer or the like.
  • Cryptographic processing system 100 User terminal, 110 Encrypted data generation unit, 120 Data transmission unit, 130 Data reception unit, 140 Decryption unit, 150 Key management unit, 200 Encrypted data management device, 210 Data reception unit, 220 Revocation determination Unit, 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.

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)

Abstract

関数型暗号方式においても利用可能な秘密鍵の失効方式を実現する。暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、暗号化データを秘密鍵で復号できない暗号化方式を用いる暗号処理システム10において、データの暗号化及び復号を行うユーザ端末100と、暗号化データを記憶する暗号化データ記憶装置300との間の中継を行う暗号化データ管理装置200を設ける。暗号化データ管理装置200は、暗号化データ記憶装置300から取得した暗号化データに設定された属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否かを判定し、判定結果によって異なる値を鍵情報として暗号化データに設定する。そして、暗号化データ管理装置200は、鍵情報を設定した暗号化データをユーザ端末100へ送信する。

Description

暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
 この発明は、秘密鍵の失効を実現する暗号化データの管理技術に関する。
 1976年にディフィーとヘルマンとが開発した公開鍵暗号方式は、様々な改良と機能拡張が行われている。2001年には、ボネとフランクリンとにより、ペアリング演算に基づいたIDベース暗号と呼ばれる公開鍵暗号方式が開発された。近年ではペアリング演算に基づいた方式に関する研究が盛んに行われている。
 ペアリングを用いた高機能な公開鍵暗号方式として、非特許文献1,2に記載された高い安全性を持つ暗号方式(以下、関数型暗号方式と呼ぶ)がある。関数型暗号方式は、従来の暗号とは異なり、復号が可能なユーザ(秘密鍵)を複数指定した暗号化を1つの公開鍵で行うことができる。
 公開鍵暗号方式を一般のユーザが利用するシステムに適用した場合には、ユーザが秘密鍵を紛失する恐れがある。この場合、紛失した秘密鍵が悪用されることを防止するため、紛失した秘密鍵を失効させることが必要になる。
 秘密鍵を失効させる失効方式としては、特許文献1,2に記載された方式がある。
 特許文献1には、特定のユーザの秘密鍵を無効にするコマンドが入力された場合に、そのユーザの秘密鍵を無効にし、秘密鍵を再発行するコマンドが入力された場合に新規の暗号鍵及び秘密鍵の鍵ペアを生成する失効方式について記載されている。
 特許文献2には、アクセス要求とアクセス識別子とを受信したとき、無効にされた識別子のリストに記載された識別子とアクセス識別子とが一致するかを確認し、一致する場合、アクセスを終了させる失効方式について記載されている。
特開2005-51614号公報 特表2003-506782号公報
T.Okamoto,K.Takashima,"A geometric approach on pairings and hierarchical predicate 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.
 関数型暗号方式は、従来と大きく異なる暗号方式であるため、従来の暗号方式に適用された秘密鍵の失効方式を適用することができない。また、関数型暗号方式は、従来の暗号方式と同様に、アルゴリズム自体では失効を考慮していない。そのため、関数型暗号方式は、一般のユーザが利用するシステムに適用した場合に発生する可能性の高い秘密鍵の紛失に対応できない。
 特許文献1に記載された失効方式では、秘密鍵が失効した場合に新しく鍵ペアを再発行する。そのため、この失効方式を関数型暗号方式に適用すると失効した秘密鍵で復号できるように暗号化した全てのデータを再暗号化しなければならない。したがって、過去に暗号化した多くデータを再暗号化することが必要となる恐れがあり、膨大なコストがかかってしまう恐れがある。
 特許文献2に記載された失効方式を関数型暗号方式に適用した場合も同様に、失効した秘密鍵で復号できるように暗号化したデータを再暗号化しなければならない。
 この発明は、関数型暗号方式においても利用可能な秘密鍵の失効方式を実現することを主な目的とする。
 この発明に係る暗号化データ管理装置は、
 暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理装置であり、
 属性情報が設定された暗号化データを記憶装置から取得するデータ取得部と、
 前記データ取得部が取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定部と、
 秘密鍵が失効しているユーザが含まれると前記失効判定部に判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定部と、
 前記鍵情報設定部が鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信部と
を備えることを特徴とする。
 この発明に係る暗号化データ管理装置は、暗号化データを復号可能なユーザに秘密鍵が失効しているユーザが含まれるか否かによって、異なる値を鍵情報として設定した上で、ユーザへ送信する。これにより、失効した秘密鍵で暗号化データが復号されることを防止できる。
実施の形態1に係る暗号処理システム10の構成図。 実施の形態1に係るユーザ端末100の構成図。 実施の形態1に係る暗号化データ管理装置200の構成図。 実施の形態1に係る暗号化データ記憶装置300の構成図。 実施の形態1に係る鍵生成装置400の構成図。 実施の形態1に係る暗号化データ登録処理の流れを示すフローチャート。 実施の形態1に係る暗号化データ取得処理の流れを示すフローチャート。 実施の形態3に係る暗号化データ管理装置200の構成図。 実施の形態3に係る暗号化データ記憶装置300の構成図。 実施の形態3に係る暗号化データ登録処理の流れを示すフローチャート。 実施の形態3に係る暗号化データ取得処理の流れを示すフローチャート。 ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400のハードウェア構成の一例を示す図。
 実施の形態1.
 実施の形態1では、非特許文献1に記載された関数型暗号方式において、秘密鍵の失効方式を実現する方法を説明する。
 まず、非特許文献1に記載された関数型暗号方式について、この実施の形態の説明に必要な部分のみに簡略化して説明する。
 非特許文献1に記載された関数型暗号方式には、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムがある。
 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以上の整数)の基底ベクトルを有する。
 KeyGenアルゴリズムは、ユーザ秘密鍵kを生成するアルゴリズムである。
 KeyGenアルゴリズムでは、式1に示すように、マスター秘密鍵skに含まれる基底Bを用いて、ユーザ秘密鍵kが生成される。
<式1>
:=σ(v +...+v )+b n+1
 ここで、σは、乱数値である。v,...,vは、ユーザ秘密鍵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とについてのペアリング演算である。
 Decアルゴリズムは、暗号化データcをユーザ秘密鍵kで復号するアルゴリズムである。
 Decアルゴリズムでは、式4に示す計算が実行され、暗号化データcがユーザ秘密鍵kで復号されて、m’が抽出される。
<式4>
m’:=c/e(c,k
 ここで、e(c,k)は、要素cとユーザ秘密鍵kとについてのペアリング演算である。
 Decアルゴリズムでは、ユーザ秘密鍵kにおける基底ベクトルb ,...,b に設定された属性情報等(v,...,v)と、要素cにおける基底ベクトルb,...,bに設定された属性情報等(x,...,x)とが対応する場合、抽出されたm’=mとなる。
 属性情報等(v,...,v)と属性情報等(x,...,x)とが対応するとは、Σi=1 ・x=0となることである。
 ペアリング演算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となる。
 以下の説明では、説明を簡単にするため、n=4として説明する。
 図1は、実施の形態1に係る暗号処理システム10の構成図である。
 暗号処理システム10は、非特許文献1,2等に記載された関数型暗号方式に基づく暗号処理を実現する。暗号処理システム10は、複数のユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400を備える。各ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400は、それぞれ、インターネット等のネットワーク500を介して接続されている。
 図2は、実施の形態1に係るユーザ端末100の構成図である。
 ユーザ端末100は、ユーザが使用する端末であり、データの暗号化、復号を行う。ユーザ端末100は、暗号化データ生成部110、データ送信部120、データ受信部130、復号部140、鍵管理部150を備える。
 図3は、実施の形態1に係る暗号化データ管理装置200の構成図である。
 暗号化データ管理装置200は、ユーザ端末100と暗号化データ記憶装置300との間で、暗号化データの管理をする。暗号化データ管理装置200は、データ受信部210(データ取得部)、失効判定部220、鍵情報設定部230、データ送信部240、失効情報管理部250、鍵管理部260を備える。
 図4は、実施の形態1に係る暗号化データ記憶装置300の構成図である。
 暗号化データ記憶装置300は、暗号化データを記憶する。暗号化データ記憶装置300は、データ受信部310、データ操作部320、データ送信部330、暗号化データ管理部340を備える。
 図5は、実施の形態1に係る鍵生成装置400の構成図である。
 鍵生成装置400は、ユーザ秘密鍵k、マスター秘密鍵sk、公開パラメータpkを生成する。鍵生成装置400は、指示受信部410、鍵生成部420、鍵送信部430、マスター鍵記憶部440を備える。
 暗号処理システム10の主な処理には、暗号化データ登録処理と、暗号化データ取得処理とがある。暗号化データ登録処理は、ユーザ端末100が暗号化データを暗号化データ記憶装置300に登録する処理である。暗号化データ取得処理は、ユーザ端末100が暗号化データを暗号化データ記憶装置300から取得する処理である。
 また、暗号化データ登録処理と暗号化データ取得処理とには、3つの前提条件がある。
 そこで、3つの前提条件を説明した上で、暗号化データ登録処理と、暗号化データ取得処理とを説明する。
 <前提条件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が悪意ある第三者に不正に利用されないようにする。
 ここでは、鍵生成部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である。
 鍵生成部420は、あるユーザに対して、初めにユーザ秘密鍵kを生成する場合には、世代番号の値を1とする。そのユーザがユーザ秘密鍵kを紛失して、再びユーザ秘密鍵kを生成する場合には、世代番号の値をインクリメントして2とする。以降、ユーザ秘密鍵kを紛失して再生成する場合には、インクリメントした世代番号の値を用いる。
 <前提条件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等を用いた安全な通信路を使用する。
 <前提条件3>
 暗号化データ管理装置200が、失効情報を取得している必要がある。
 失効情報とは、ユーザ秘密鍵kを紛失したユーザの識別情報と、紛失したユーザ秘密鍵kの世代番号とを示す情報である。
 ユーザがユーザ秘密鍵kを紛失した場合、ユーザ端末100のデータ送信部120は、ユーザ秘密鍵kを紛失したユーザの識別情報と、紛失したユーザ秘密鍵kの世代番号とを失効情報として暗号化データ管理装置200へ送信する。暗号化データ管理装置200のデータ受信部210は、失効情報を受信し、失効情報管理部250に記憶する。
 なお、データ受信部210は、失効情報を受信する場合、ユーザ認証を行い、失効を届け出たユーザが本人であることを確認する。
 <暗号化データ登録処理>
 図6は、実施の形態1に係る暗号化データ登録処理の流れを示すフローチャートである。
 (S11:暗号化処理)
 ユーザ端末100の暗号化データ生成部110は、Encアルゴリズムを実行して暗号化データcを生成する。
 ここでは、暗号化データ生成部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:=-αである。
 また、暗号化データ生成部110は、処理装置により、式9に示すように、鍵管理部150に記憶した公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cを生成する。
<式9>
:=e(g,g)ζ・m
 また、暗号化データ生成部110は、処理装置により、鍵管理部150に記憶したドメイン公開鍵dpkで、ωを暗号化したE(ω)と、ωを暗号化したE(ω)とを生成する。
 また、暗号化データ生成部110は、要素cに設定した属性情報が示すユーザの識別情報をユーザリストulとして生成する。
 (S12:第1データ送信処理)
 ユーザ端末100のデータ送信部120は、通信装置により、暗号化データ生成部110が生成した要素c,c,E(ω),E(ω),ulを含む暗号化データcを、暗号化データ管理装置200へ送信する。
 (S13:第2データ送信処理)
 暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcをユーザ端末100から受信する。暗号化データ管理装置200のデータ送信部240は、暗号化データcに関連情報rを添付して、暗号化データ記憶装置300へ送信する。なお、関連情報rとは、暗号化データcの作成者や、暗号化データcの受信日時等であり、後に暗号化データcを検索する際に利用される情報である。
 (S14:データ記憶処理)
 暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データcと関連情報rとを暗号化データ管理装置200から受信する。暗号化データ記憶装置300のデータ操作部320は、暗号化データcと関連情報rとを関連付けて、暗号化データ管理部340に記憶する。
 (S15:結果送信処理)
 暗号化データ記憶装置300のデータ送信部330は、通信装置により、暗号化データcの記憶が成功したか否かを示す結果情報を、暗号化データ管理装置200へ送信する。
 (S16:結果転送処理)
 暗号化データ管理装置200のデータ受信部210は、通信装置により、結果情報を暗号化データ記憶装置300から受信する。暗号化データ管理装置200のデータ送信部240は、通信装置により、結果情報をユーザ端末100へ送信する。
 (S17:結果受信処理)
 ユーザ端末100のデータ受信部130は、通信装置により、結果情報を暗号化データ管理装置200から受信する。
 <暗号化データ取得処理>
 図7は、実施の形態1に係る暗号化データ取得処理の流れを示すフローチャートである。
 (S21:キーワード送信処理)
 ユーザ端末100のデータ送信部120は、通信装置により、暗号化データcを特定可能なキーワードを、暗号化データ管理装置200へ送信する。
 (S22:キーワード転送処理)
 暗号化データ管理装置200のデータ受信部210は、通信装置により、キーワードをユーザ端末100から受信する。暗号化データ管理装置200のデータ送信部240は、通信装置により、キーワードを暗号化データ記憶装置300へ送信する。
 (S23:データ検索処理)
 暗号化データ記憶装置300のデータ受信部310は、通信装置により、キーワードを暗号化データ管理装置200から受信する。暗号化データ記憶装置300のデータ操作部320は、処理装置により、キーワードと一致する関連情報rを有する暗号化データcを暗号化データ管理部340から抽出する。
 (S24:第1データ送信処理)
 暗号化データ記憶装置300のデータ送信部330は、通信装置により、抽出した暗号化データcを暗号化データ管理装置200へ送信する。
 (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’を示す。
 ユーザリスト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から得られる。
 ユーザリスト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-(ω+ω)+(ω-ωρ
 (S26:第2データ送信処理)
 暗号化データ管理装置200のデータ送信部240は、通信装置により、暗号化データcの要素cを要素c’に置き換えた暗号化データc’を、ユーザ端末100へ送信する。
 (S27:復号処理)
 ユーザ端末100の暗号化データ生成部110は、通信装置により、暗号化データc’を暗号化データ管理装置200から受信する。ユーザ端末100の復号部140は、Decアルゴリズムを実行することにより、暗号化データc’をユーザ秘密鍵kで復号する。
 ここでは、復号部140は、処理装置により、式14に示す計算を実行することにより、暗号化データc’をユーザ秘密鍵kで復号して、メッセージm’を抽出する。
<式14>
m’:=c/e(c,k
 上述したように、ユーザ秘密鍵kにおける基底ベクトルb ,...,b に設定された属性情報等(v,...,v)と、要素cにおける基底ベクトルb,...,bに設定された属性情報等(x,...,x)とが対応する場合、抽出されたm’=mとなる。そして、ここでは、属性情報等(v,...,v)と属性情報等(x,...,x)とが対応するとは、Σi=1 ・x=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
 ユーザリスト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を復号することができる。
 一方、ユーザリスト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を復号することはできない。
 しかし、ユーザ端末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の復号が可能となる。
 また、ユーザ端末100が、暗号化データ管理装置200を介すことなく、暗号化データ記憶装置300から暗号化データcを取得することも考えられる。しかし、この場合、暗号化データcの要素cは、式20(=式8)に示す通りである。
<式20>
:=ω(r+r)+ω(b-αb)+ζb+φb
 この場合、乱数値r,rが用いられているため、ユーザ秘密鍵kに設定された世代番号の値がいくつであっても、Σi=1 ・x≠0となり、復号できない。
 以上のように、実施の形態1に係る暗号処理システム10では、ユーザ秘密鍵kを紛失した場合には、紛失したユーザ秘密鍵kでは暗号化データcを復号できない状態とし、再生成されたユーザ秘密鍵kでは暗号化データcを復号できる状態とすることができる。特に、この際、既に暗号化データ記憶装置300に記憶された暗号化データcに対して、再暗号化等の処理を行う必要はない。
 また、実施の形態1に係る暗号処理システム10では、仮に、ユーザ端末100が、暗号化データ管理装置200を介すことなく、暗号化データ記憶装置300から暗号化データcを取得した場合にも、暗号化データcを復号できない。
 したがって、実施の形態1に係る暗号処理システム10では、暗号化データ記憶装置300を第三者に委託し、暗号化データ記憶装置300から暗号化データcが漏洩する可能性がある場合であっても、安全性を保つことができる。
 つまり、実施の形態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を復号できる状態とする。
 なお、上記説明では、式5に示すようにユーザ秘密鍵kを生成するとした。つまり、鍵情報と属性情報とに、異なる乱数値σ,σを乗じていた。しかし、式21に示すように、鍵情報と属性情報とに同一の乱数値σを乗じて、ユーザ秘密鍵kを生成してもよい。
<式21>
=σ(v +v +v +v )+b
 また、上記説明では、式7に示すように暗号化データcの要素cを生成するとした。つまり、鍵情報と属性情報とに、異なる乱数値ω,ωを乗じていた。しかし、式22に示すように、鍵情報と属性情報とに同一の乱数値ωを乗じて、要素cを生成してもよい。
<式22>
:=ω(r+r+x+x)+ζb+φb
 また、式23に示すように、乱数値ωを用いず、要素cを生成してもよい。これは、r,r自身が乱数値であり、さらに乱数値を掛けなくてもよいためである。
<式23>
:=r+r+ω(x+x)+ζb+φb
 また、式24に示すように、鍵情報を設定する一部の基底ベクトル(式24ではb)の係数を0とし、要素cを生成してもよい。これは、基底ベクトルb,bは、暗号化データ管理装置200によって値を付け直しされるので、どちらか1つの基底ベクトルの係数に乱数値を設定しておけばよいためである。
<式24>
:=r+ω(x+x)+ζb+φb
 また、式25に示すように、鍵情報を設定する基底ベクトルに乱数値を設定せず、他の部分をドメイン公開鍵で暗号化して、要素cを生成してもよい。鍵情報を設定する基底ベクトルに乱数値を設定することにより、ユーザ端末100が暗号化データ記憶装置300から直接暗号化データcを取得した場合に、復号できない状態としていた。しかし、他の部分をドメイン公開鍵で暗号化しておくことで、同様の効果が得られるためである。
<式25>
:=E(ω(x+x)+ζb+φb
 また、上記説明では、説明を簡単にするため、αが属性情報の値として設定されたユーザ秘密鍵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
 ユーザリスト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と等しい。
 一方、ユーザリスト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を復号することはできなくなる。
 実施の形態2.
 実施の形態2では、非特許文献2に記載された関数型暗号方式において、秘密鍵の失効方式を実現する方法を説明する。
 まず、非特許文献2に記載された関数型暗号方式について、この実施の形態の説明に必要な部分のみに簡略化して説明する。特に、非特許文献2に記載された関数型暗号方式で用いられるスパンプログラムや秘密分散等については、省略、あるいは簡略化して説明する。
 非特許文献2に記載された関数型暗号方式には、非特許文献1に記載された関数型暗号方式と同様に、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムがある。
 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のみを有するとしてもよい。
 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である。
 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である。
 また、Encアルゴリズムでは、式32に示すように、公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cd+1が生成される。
<式32>
d+1:=e(g,g)ζ・m
 ここで、gは、パラメータparamに含まれる情報であり、双対ペアリングベクトル空間を構成する群Gの要素である。mは、メッセージである。e(g,g)は、要素gと要素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 とについてのペアリング演算である。
 Decアルゴリズムでは、t=1,...,Lの各tについて、ユーザ秘密鍵kにおける要素k に設定された属性情報等(v )と、暗号化データcにおける要素cに設定された属性情報等(x )とが対応する場合、抽出されたm’=mとなる。
 属性情報等(v )と属性情報等(x )とが対応するとは、v ・x =Σi=1 ntt,i・xt,i=0となることである。
 ペアリング演算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となる。
 以下の説明では、説明を簡単にするため、d=2,L=2とし、n1=2,n2=2として説明する。
 実施の形態2に係る暗号処理システム10の構成は、図1に示す実施の形態1に係る暗号処理システム10の構成と同じである。実施の形態2に係るユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400の構成は、図2-5に示す実施の形態1に係るユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400の構成と同じである。
 実施の形態2に係る暗号処理システム10の主な処理には、実施の形態1に係る暗号処理システム10と同様に、暗号化データ登録処理と、暗号化データ取得処理とがあり、暗号化データ登録処理と暗号化データ取得処理とには、3つの前提条件がある。
 3つの前提条件は、前提条件1において生成されるユーザ秘密鍵kの構成を除き、実施の形態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である。
 <暗号化データ登録処理>
 図6を用いて、実施の形態2に係る暗号化データ登録処理について、実施の形態1に係る暗号化データ登録処理と異なる部分を中心に説明する。
 (S11:暗号化処理)
 ユーザ端末100の暗号化データ生成部110は、Encアルゴリズムを実行して暗号化データcを生成する。
 ここでは、暗号化データ生成部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:=-αである。
 また、暗号化データ生成部110は、処理装置により、式38に示すように、鍵管理部150に記憶した公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cd+1を生成する。
<式38>
d+1:=e(g,g)ζ・m
 また、暗号化データ生成部110は、処理装置により、鍵管理部150に記憶したドメイン公開鍵dpkで、rを暗号化したE(r)と、θを暗号化したE(θ)とを生成する。
 また、暗号化データ生成部110は、要素cに設定した属性情報が示すユーザの識別情報をユーザリストulとして生成する。
 (S12:第1データ送信処理)
 データ送信部120は、通信装置により、暗号化データ生成部110が生成した要素c,c,c,cd+1,E(r),E(r),ulを含む暗号化データcを、暗号化データ管理装置200へ送信する。
 S13からS17までの処理は、実施の形態1と同じである。
 <暗号化データ取得処理>
 図7を用いて、実施の形態2に係る暗号化データ取得処理について、実施の形態1に係る暗号化データ取得処理と異なる部分を中心に説明する。
 S21からS24までの処理は、実施の形態1と同じである。
 (S25:世代番号付け代え処理)
 S25も、原則として実施の形態1と同様である。しかし、暗号化データcの要素cにおける乱数値rを設定し直す方法が異なる。
 具体的には、鍵情報設定部230は、以下のように乱数値rを設定し直す。なお、ここでは、式37に示す要素cにおける乱数値rを設定し直した要素c’を示す。
 ユーザリスト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から得られる。
 ユーザリスト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
 S26は、実施の形態1と同じである。
 S27も、原則として実施の形態1と同様である。しかし、復号の方法が異なる。
 ここでは、復号部140は、処理装置により、式43に示す計算を実行することにより、暗号化データc’をユーザ秘密鍵kで復号して、メッセージm’を抽出する。
<式43>
m’:=cd+1/(e(c,k )・Πt=1 e(c,k ))
 上述したように、t=1,...,Lの各tについて、ユーザ秘密鍵kにおける要素k に設定された属性情報等(v )と、暗号化データcにおける要素cに設定された属性情報等(x )とが対応する場合、抽出されたm’=mとなる。そして、ここでは、属性情報等(v )と属性情報等(x )とが対応するとは、v ・x =Σi=1 ntt,i・xt,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
 ユーザリスト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を復号することができる。
 一方、ユーザリスト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を復号することはできない。
 しかし、ユーザ端末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の復号が可能となる。
 また、ユーザ端末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となり、復号できない。
 以上のように、実施の形態2に係る暗号処理システム10では、実施の形態1に係る暗号処理システム10と同様の効果を得ることができる。
 なお、上記説明では、式36に示すように暗号化データcの要素cを生成するとした。しかし、式50に示すように、乱数値θを用いず、要素cを生成してもよい。これは、r自身が乱数値であり、さらに乱数値を掛けなくてもよいためである。
<式50>
:=(s 1,1+(1,r),0n1,0n1,η)B
 また、式51に示すように、鍵情報を設定する基底ベクトルに乱数値を設定せず、要素c全体をドメイン公開鍵で暗号化して、要素cを生成してもよい。鍵情報を設定する基底ベクトルに乱数値を設定することにより、ユーザ端末100が暗号化データ記憶装置300から直接暗号化データcを取得した場合に、復号できない状態としていた。しかし、他の部分をドメイン公開鍵で暗号化しておくことで、同様の効果が得られるためである。
<式51>
:=E(s 1,1,0n1,0n1,η)B
 実施の形態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に係る処理を応用した場合についても同様に実現可能である。
 暗号処理システム10の構成は、図1に示す実施の形態1に係る暗号処理システム10の構成と同じである。ユーザ端末100、鍵生成装置400の構成は、図2,5に示す実施の形態1に係るユーザ端末100、鍵生成装置400の構成と同じである。
 図8は、実施の形態3に係る暗号化データ管理装置200の構成図である。
 実施の形態3に係る暗号化データ管理装置200は、図3に示す実施の形態1に係る暗号化データ管理装置200の機能に加え、認証処理部270を備える。
 図9は、実施の形態3に係る暗号化データ記憶装置300の構成図である。
 実施の形態3に係る暗号化データ記憶装置300は、図4に示す実施の形態1に係る暗号化データ記憶装置300の機能に加え、認証処理部350を備える。
 3つの前提条件については、原則として実施の形態1と同じである。
 但し、実施の形態1では公開パラメータpkに含まれていた基底Bの基底ベクトルb,bは、公開パラメータpkから除かれ、鍵生成装置400から暗号化データ管理装置200へのみ送信される。なお、この際、盗聴と改ざんを防ぐため、SSL等を用いた安全な通信路が使用される。
 <暗号化データ登録処理>
 図10は、実施の形態3に係る暗号化データ登録処理の流れを示すフローチャートである。
 (S31:暗号化処理)
 ユーザ端末100の暗号化データ生成部110は、図6のS11と同様に、Encアルゴリズムを実行して暗号化データcを生成する。
 ここでは、暗号化データ生成部110は、処理装置により、式52に示すように暗号化データcの要素cを生成する。
<式52>
:=ω(x+x)+ζb+φb
 ここで、ω,ζ,φは、乱数値である。x,xは、暗号化データcを復号可能なユーザの属性情報が設定される。
 属性情報の値をαとした場合、ここでは、式53に示すように暗号化データcは生成される。
<式53>
:=ω(b-αb)+ζb+φb
 つまり、x:=1,x:=-αである。
 暗号化データ生成部110は、要素c2,E(ω),E(ω),ulについても、図6のS11と同様に生成する。
 (S32:第1認証情報送信処理)
 ユーザ端末100のデータ送信部120は、通信装置により、認証情報として、ユーザの識別情報とパスワードとを暗号化データ管理装置200へ送信する。
 (S33:第1認証処理)
 暗号化データ管理装置200のデータ受信部210は、通信装置により、ユーザの識別情報とパスワードとをユーザ端末100から受信する。
 すると、暗号化データ管理装置200の認証処理部270は、ユーザの識別情報とパスワードとに基づき、ユーザの認証を行う。例えば、認証処理部270は、ユーザ毎に識別情報とパスワードとを予め記憶しておき、受信した識別情報及びパスワードと、記憶された識別情報及びパスワードとが一致するか否かにより認証する。認証処理部270は、認証に成功した場合、処理をS34へ進め、認証に失敗した場合、処理を終了する。
 (S34:第1データ送信処理)
 ユーザ端末100のデータ送信部120は、図6のS12と同様に、暗号化データcを暗号化データ管理装置200へ送信する。
 (S35:第2認証情報送信処理)
 暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcをユーザ端末100から受信する。すると、データ送信部240は、認証情報として、暗号化データ管理装置200の識別情報とパスワードとを暗号化データ記憶装置300へ送信する。
 (S36:第2認証処理)
 暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データ管理装置200の識別情報とパスワードとをユーザ端末100から受信する。
 すると、暗号化データ記憶装置300の認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとに基づき認証処理を行う。例えば、認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとを予め記憶しておき、受信した識別情報及びパスワードと、記憶された識別情報及びパスワードとが一致するか否かにより認証する。認証処理部350は、認証に成功した場合、処理をS37へ進め、認証に失敗した場合、処理を終了する。
 (S37:第2データ送信処理)
 暗号化データ管理装置200のデータ送信部240は、暗号化データcに関連情報rを添付して、暗号化データ記憶装置300へ送信する。
 S38からS41までの処理は、図6に示すS14からS17までの処理と同じである。
 <暗号化データ取得処理>
 図11は、実施の形態3に係る暗号化データ取得処理の流れを示すフローチャートである。
 (S51:第1認証情報送信処理)
 ユーザ端末100のデータ送信部120は、通信装置により、認証情報として、ユーザの識別情報とパスワードとを暗号化データ管理装置200へ送信する。
 (S52:第1認証処理)
 暗号化データ管理装置200のデータ受信部210は、通信装置により、ユーザの識別情報とパスワードとをユーザ端末100から受信する。
 すると、暗号化データ管理装置200の認証処理部270は、ユーザの識別情報とパスワードとに基づき、ユーザの認証を行う。例えば、認証処理部270は、S33と同じ方法により認証を行う。認証処理部270は、認証に成功した場合、処理をS53へ進め、認証に失敗した場合、処理を終了する。
 (S53:キーワード送信処理)
 ユーザ端末100のデータ送信部120は、通信装置により、暗号化データcを特定可能なキーワードを、暗号化データ管理装置200へ送信する。
 (S54:第2認証情報送信処理)
 暗号化データ管理装置200のデータ受信部210は、通信装置により、キーワードをユーザ端末100から受信する。すると、データ送信部240は、認証情報として、暗号化データ管理装置200の識別情報とパスワードとを暗号化データ記憶装置300へ送信する。
 (S55:第2認証処理)
 暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データ管理装置200の識別情報とパスワードとをユーザ端末100から受信する。
 すると、暗号化データ記憶装置300の認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとに基づき認証処理を行う。例えば、認証処理部350は、S36と同じ方法より認証する。認証処理部350は、認証に成功した場合、処理をS56へ進め、認証に失敗した場合、処理を終了する。
 (S56:キーワード転送処理)
 暗号化データ管理装置200のデータ送信部240は、通信装置により、キーワードを暗号化データ記憶装置300へ送信する。
 S57からS58までの処理は、図7に示すS23からS24までの処理と同じである。
 (S59:権限判定処理)
 暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcを暗号化データ記憶装置300から受信する。
 すると、暗号化データ管理装置200の認証処理部270は、処理装置により、S52で受信したユーザの識別情報が、暗号化データcのユーザリストulに含まれているか否かを判定する。認証処理部270は、含まれている場合、処理をS60へ進め、含まれていない場合、処理を終了する。
 (S60:世代番号付け代え処理)
 暗号化データ管理装置200の失効判定部220は、処理装置により、暗号化データcのユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれているか否か判定する。鍵情報設定部230は、処理装置により、暗号化データcの要素cに、失効判定部220の判定結果に応じて異なる値に設定し、要素c’を生成する。
 具体的には、鍵情報設定部230は、以下のように要素cに値を設定する。なお、ここでは、式53に示す要素cに値を設定した要素c’を示す。
 ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれていない場合、鍵情報設定部230は、式54(=式10)に示すように、要素c’を生成する。
<式54>
’:=ω(b-b)+ω(b-αb)+ζb+φb
 つまり、基底ベクトルbの係数に1を設定し、基底ベクトルbの係数に-1を設定する。基底ベクトルbの係数に設定し直した-1は、-1×世代番号の初期値である。
 なお、式55に示す計算をすることにより、式53に示す要素cから式54に示す要素c’を得ることができる。
<式55>
’:=c+(ω-ω
 ユーザリスト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+(ω-ωρ
 S61からS62までの処理は、図7に示すS26からS27までの処理と同じである。
 以上のように、実施の形態3に係る暗号処理システム10は、暗号化データ管理装置200と暗号化データ記憶装置300とでそれぞれ認証を行う。これにより、ユーザ端末100により直接暗号化データ記憶装置300から暗号化データcを取得されることを防止できる。そのため、暗号化データcに乱数値を設定する等せずに、安全性を保つことができる。
 また、実施の形態3に係る暗号処理システム10は、暗号化データ登録処理において、不正なデータを暗号化データ記憶装置300に登録されることを防止できる。
 なお、上記説明では、暗号化データ管理装置200と暗号化データ記憶装置300とでそれぞれ認証を行った。しかし、暗号化データ管理装置200では認証を行わず、暗号化データ記憶装置300だけが認証を行うようにしてもよい。少なくとも暗号化データ記憶装置300が認証を行うことで、ユーザ端末100により直接暗号化データ記憶装置300から暗号化データcを取得されることや、不正なデータを暗号化データ記憶装置300に登録されることを防止できる。
 また、上記説明では、実施の形態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等を用いた安全な通信路が使用される。
 ここで、上記実施の形態におけるユーザ秘密鍵kと暗号化データcとへの鍵情報や属性情報の割り当て方法は、一例であり他の方法であってもよい。
 例えば、実施の形態1では、属性情報がαであれば、ユーザ秘密鍵kについては、基底ベクトルb の係数としてα、基底ベクトルb の係数として1が設定された。また、暗号化データcの要素cについては、基底ベクトルbの係数として1、基底ベクトルbの係数として-αが設定された。しかし、例えば、ユーザ秘密鍵kについては、基底ベクトルb の係数として1、基底ベクトルb の係数としてαが設定され、暗号化データcの要素cについては、基底ベクトルbの係数として-α、基底ベクトルbの係数として1が設定されてもよい。
 また、このように単純に値を設定する基底ベクトルを変更するのではなく、全く別の方法により鍵情報や属性情報を割り当てるようにしてもよい。どのような割り当て方法であっても、上記実施の形態に係る失効方式を適用することは可能である。
 また、上記実施の形態では、鍵の失効方式を非特許文献1,2に記載された関数型暗号方式へ適用する方法について説明した。
 しかし、上記実施の形態に係る鍵の失効方式は、非特許文献1,2に記載された関数型暗号方式に限らず、非特許文献1,2に記載された関数型暗号方式を応用した関数型暗号方式に適用することも可能である。
 また、上記実施の形態に係る鍵の失効方式は、関数型暗号方式に限らず、他の暗号方式にも適用可能である。
 また、上記実施の形態では、関数型暗号方式を用いて、メッセージmを送信する場合について説明した。
 公開鍵暗号方式を用いた暗号化では、通常、データを共通鍵で暗号化した後、その共通鍵をユーザの公開鍵で暗号化するいわゆるハイブリッド暗号方式を用いることが多い。ハイブリッド暗号方式では、暗号化したデータにユーザの公開鍵で暗号化された共通鍵が添付される。
 ハイブリッド暗号方式では、暗号化された共通鍵を暗号化データから削除することで、共通鍵で暗号化されたデータを復号することができなくなる。しかし、関数型暗号方式は複数の秘密鍵で復号可能なデータを1つの公開鍵で暗号化する。そのため、仮に同じ仕組みで共通鍵を添付する場合、複数の秘密鍵に対して1つしか暗号化された共通鍵を付与しない。つまり、1人のユーザが失効すれば、従来通りの方式で対応すると再暗号化するしか方法がない。
 しかし、上記実施の形態に係る鍵の失効方式を用いれば、関数型暗号方式を用いたハイブリッド暗号方式の場合であっても鍵の失効を実現することができる。なお、ハイブリッド暗号方式の場合、メッセージ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は、所定の固定ディスクインタフェースを介して接続される。
 ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。RAM914は、揮発性メモリの一例である。ROM913とRAM914と磁気ディスク装置920とは、記憶装置(メモリ)の一例である。また、キーボード902、通信ボード915は、入力装置の一例である。また、通信ボード915は、通信装置の一例である。さらに、LCD901は、表示装置の一例である。
 磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム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の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
 また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
 また、上記の説明において「~部」として説明するものは、「~回路」、「~装置」、「~機器」、「~手段」、「~機能」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。また、「~装置」として説明するものは、「~回路」、「~機器」、「~手段」、「~機能」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。さらに、「~処理」として説明するものは「~ステップ」であっても構わない。すなわち、「~部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「~部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「~部」の手順や方法をコンピュータ等に実行させるものである。
 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 マスター鍵記憶部。

Claims (11)

  1.  暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理装置であり、
     属性情報が設定された暗号化データを記憶装置から取得するデータ取得部と、
     前記データ取得部が取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定部と、
     秘密鍵が失効しているユーザが含まれると前記失効判定部に判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定部と、
     前記鍵情報設定部が鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信部と
    を備えることを特徴とする暗号化データ管理装置。
  2.  前記データ取得部は、前記鍵情報として乱数値が設定された暗号化データを取得し、
     前記鍵情報設定部は、前記データ取得部が取得した暗号化データに設定された鍵情報を前記異なる値に設定し直す
    ことを特徴とする請求項1に記載の暗号化データ管理装置。
  3.  前記暗号化データ管理装置は、さらに、
     失効した秘密鍵の世代番号を管理する失効情報管理部
    を備え、
     前記鍵情報設定部は、秘密鍵が失効しているユーザが含まれないと判定された場合、前記世代番号の初期値を前記鍵情報として設定し、秘密鍵が失効しているユーザが含まれると判定された場合、前記失効情報管理部が管理する世代番号とは異なる値を前記鍵情報として設定する
    ことを特徴とする請求項1に記載の暗号化データ管理装置。
  4.  前記データ取得部は、所定の基底Bにおける一部の基底ベクトルである基底ベクトルAの係数に前記属性情報が設定された暗号化ベクトルを前記暗号化データとして取得し、
     前記鍵情報設定部は、前記基底Bにおける前記基底ベクトルAとは異なる基底ベクトルである基底ベクトルKの係数に前記異なる値を設定する
    ことを特徴とする請求項1に記載の暗号化データ管理装置。
  5.  前記データ取得部は、前記基底ベクトルKの係数に乱数値が設定された前記暗号化ベクトルと、前記乱数値が暗号化された暗号化乱数値とを含む暗号化データを取得し、
     前記鍵情報設定部は、前記暗号化乱数値を復号して前記乱数値を得て、前記基底ベクトルKの係数に前記乱数値を設定したベクトルを前記暗号化ベクトルから減算し、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記暗号化ベクトルに加算する
    ことを特徴とする請求項4に記載の暗号化データ管理装置。
  6.  前記データ取得部は、前記基底ベクトルKの係数に0が設定された前記暗号化ベクトルを前記暗号化データとして取得し、
     前記鍵情報設定部は、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記暗号化ベクトルに加算する
    ことを特徴とする請求項4に記載の暗号化データ管理装置。
  7.  前記データ取得部は、t=1,...,n(nは2以上の整数)の各tについての基底B[t]の一部の基底である属性基底の基底ベクトルの係数に前記属性情報が設定された属性ベクトルと、前記基底B[t]における前記属性基底とは異なる基底である鍵情報基底の鍵情報ベクトルとを含む暗号化ベクトルを前記暗号化データとして取得し、
     前記鍵情報設定部は、前記鍵情報基底の基底ベクトルの係数に前記異なる値を設定したベクトルに前記鍵情報ベクトルをする
    ことを特徴とする請求項1に記載の暗号化データ管理装置。
  8.  前記データ取得部は、前記鍵情報基底の基底ベクトルのうちの所定の基底ベクトルKの係数に乱数値が設定されたベクトルを、前記鍵情報ベクトルとして含む前記暗号化ベクトルと、前記乱数値が暗号化された暗号化乱数値とを含む暗号化データを取得し、
     前記鍵情報設定部は、前記暗号化乱数値を復号して前記乱数値を得て、前記基底ベクトルKの係数に前記乱数値を設定したベクトルを前記鍵情報ベクトルから減算し、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記鍵情報ベクトルに加算する
    ことを特徴とする請求項7に記載の暗号化データ管理装置。
  9.  前記データ取得部は、前記鍵情報基底の基底ベクトルのうちの所定の前記基底ベクトルKの係数に0が設定された前記暗号化ベクトルを前記暗号化データとして取得し、
     前記鍵情報設定部は、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記鍵情報ベクトルに加算する
    ことを特徴とする請求項7に記載の暗号化データ管理装置。
  10.  暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理方法であり、
     通信装置が、属性情報が設定された暗号化データを記憶装置から取得するデータ取得ステップと、
     処理装置が、前記データ取得ステップで取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定ステップと、
     処理装置が、秘密鍵が失効しているユーザが含まれると前記失効判定ステップで判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定ステップと、
     通信装置が、前記鍵情報設定ステップで鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信ステップと
    を備えることを特徴とする暗号化データ管理方法。
  11.  暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理プログラムであり、
     属性情報が設定された暗号化データを記憶装置から取得するデータ取得処理と、
     前記データ取得処理で取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定処理と、
     秘密鍵が失効しているユーザが含まれると前記失効判定処理で判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定処理と、
     前記鍵情報設定処理で鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信処理と
    をコンピュータに実行させることを特徴とする暗号化データ管理プログラム。
PCT/JP2011/079519 2011-12-20 2011-12-20 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム WO2013094018A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2013549994A JP5668191B2 (ja) 2011-12-20 2011-12-20 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
EP11878276.2A EP2797254A4 (en) 2011-12-20 2011-12-20 ENCRYPTED DATA ADMINISTRATION DEVICE, ENCRYPTED DATA DELIVERY METHOD, AND ENCRYPTED DATA DELIVERY PROGRAM
CN201180075670.4A CN104012028B (zh) 2011-12-20 2011-12-20 加密数据管理装置以及加密数据管理方法
US14/355,043 US9237013B2 (en) 2011-12-20 2011-12-20 Encrypted data management device, encrypted data management method, and encrypted data management program
PCT/JP2011/079519 WO2013094018A1 (ja) 2011-12-20 2011-12-20 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
IN4197CHN2014 IN2014CN04197A (ja) 2011-12-20 2011-12-20

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079519 WO2013094018A1 (ja) 2011-12-20 2011-12-20 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム

Publications (1)

Publication Number Publication Date
WO2013094018A1 true WO2013094018A1 (ja) 2013-06-27

Family

ID=48667946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/079519 WO2013094018A1 (ja) 2011-12-20 2011-12-20 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム

Country Status (6)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015087407A1 (ja) * 2013-12-11 2015-06-18 三菱電機株式会社 ファイル保管システム、ファイル保管装置及びユーザ端末
WO2015107641A1 (ja) * 2014-01-16 2015-07-23 三菱電機株式会社 暗号システム、鍵生成装置、再暗号化装置及びユーザ端末
WO2016132547A1 (ja) * 2015-02-20 2016-08-25 三菱電機株式会社 データ保管装置及びデータ更新システム及びデータ処理方法及びデータ処理プログラム
WO2016132546A1 (ja) * 2015-02-20 2016-08-25 三菱電機株式会社 データ保管装置及びデータ処理方法及びデータ処理プログラム
US9979536B2 (en) 2013-10-09 2018-05-22 Mitsubishi Electric Corporation Cryptographic system, encryption device, re-encryption key generation device, re-encryption device, and cryptographic program

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023944B (zh) * 2011-09-27 2015-11-25 腾讯科技(深圳)有限公司 一种sns网络中推送关联用户的方法及系统
US10033711B2 (en) * 2013-07-18 2018-07-24 Nippon Telegraph And Telephone Corporation Directory service device, client device, key cloud system, method thereof, and program
US11496893B2 (en) 2014-10-07 2022-11-08 Nippon Telegraph And Telephone Corporation Secure computation system and relay device, and method, program, and recording medium thereof
US9811680B2 (en) 2015-06-04 2017-11-07 Microsoft Technology Licensing, Llc Secure storage and sharing of data by hybrid encryption using predefined schema
US11121868B2 (en) * 2016-07-06 2021-09-14 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation device, secure computation method, and program
JP6575547B2 (ja) 2017-03-17 2019-09-18 富士ゼロックス株式会社 ドキュメント管理システム
US10666422B2 (en) * 2017-12-29 2020-05-26 Shenzhen China Star Optoelectronics Technology Co., Ltd. Data processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003506782A (ja) 1999-08-09 2003-02-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 違法行為を防止するよう無効リストを更新するシステム及びその方法
JP2005051614A (ja) 2003-07-30 2005-02-24 Mitsui Sumitomo Insurance Co Ltd 情報管理システム、キー配信サーバ、情報管理方法、及びプログラム
WO2011086668A1 (ja) * 2010-01-13 2011-07-21 三菱電機株式会社 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2496740T3 (es) * 2009-04-24 2014-09-19 Nippon Telegraph And Telephone Corporation Aparato de codificación, aparato de descodificación, método de codificación, método de descodificación, método y programa de seguridad y medio de almacenamiento
US8938068B2 (en) * 2009-08-03 2015-01-20 Nippon Telegraph And Telephone Corporation Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
EP2503533B1 (en) * 2009-11-20 2016-10-05 Mitsubishi Electric Corporation Cipher processing system, key generating device, key delegating device, encrypting device, decrypting device, cipher processing method and cipher processing program
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003506782A (ja) 1999-08-09 2003-02-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 違法行為を防止するよう無効リストを更新するシステム及びその方法
JP2005051614A (ja) 2003-07-30 2005-02-24 Mitsui Sumitomo Insurance Co Ltd 情報管理システム、キー配信サーバ、情報管理方法、及びプログラム
WO2011086668A1 (ja) * 2010-01-13 2011-07-21 三菱電機株式会社 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
KEN'ICHIRO MUTO ET AL.: "Joho Kagi Ango ni Okeru Kagi Kanri Hoshiki no Kento", 2011 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY YOKOSHU, 25 January 2011 (2011-01-25), XP008174084 *
MITSUHIRO HATTORI ET AL.: "Searchable Public-Key Encryption for Hierarchical Systems with Adaptive Join/Leave of Members", 2011 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY YOKOSHU, 25 January 2011 (2011-01-25), XP008174088 *
See also references of EP2797254A4 *
T. OKAMOTO; K. TAKASHIMA: "A geometric approach on pairings and hierarchical predicate encryption", 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, vol. 6223, 2010
TAKUHO MITSUNAGA: "Implementation and Evaluation of Attribute Based Encryption with Revocation Function", DAI 73 KAI (HEISEI 23 NEN) ZENKOKU TAIKAI KOEN RONBUNSHU (3) NETWORK SECURITY, 2 March 2011 (2011-03-02), pages 3-443 - 3-444, XP008174086 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979536B2 (en) 2013-10-09 2018-05-22 Mitsubishi Electric Corporation Cryptographic system, encryption device, re-encryption key generation device, re-encryption device, and cryptographic program
WO2015087407A1 (ja) * 2013-12-11 2015-06-18 三菱電機株式会社 ファイル保管システム、ファイル保管装置及びユーザ端末
JP6049908B2 (ja) * 2013-12-11 2016-12-21 三菱電機株式会社 ファイル保管システム
US10140460B2 (en) 2013-12-11 2018-11-27 Mitsubishi Electric Corporation File storage system and user terminal
CN105830133B (zh) * 2013-12-11 2019-03-12 三菱电机株式会社 文件保管系统及用户终端
WO2015107641A1 (ja) * 2014-01-16 2015-07-23 三菱電機株式会社 暗号システム、鍵生成装置、再暗号化装置及びユーザ端末
WO2016132547A1 (ja) * 2015-02-20 2016-08-25 三菱電機株式会社 データ保管装置及びデータ更新システム及びデータ処理方法及びデータ処理プログラム
WO2016132546A1 (ja) * 2015-02-20 2016-08-25 三菱電機株式会社 データ保管装置及びデータ処理方法及びデータ処理プログラム
JPWO2016132547A1 (ja) * 2015-02-20 2017-05-25 三菱電機株式会社 データ保管装置及びデータ更新システム及びデータ処理方法及びデータ処理プログラム
JPWO2016132546A1 (ja) * 2015-02-20 2017-06-22 三菱電機株式会社 データ保管装置及びデータ処理方法及びデータ処理プログラム
US10116442B2 (en) 2015-02-20 2018-10-30 Mitsubishi Electric Corporation Data storage apparatus, data updating system, data processing method, and computer readable medium
US10592682B2 (en) 2015-02-20 2020-03-17 Mitsubishi Electric Corporation Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5668191B2 (ja) 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
US9912485B2 (en) Method and apparatus for embedding secret information in digital certificates
EP2677682B1 (en) Key management system
JP5670272B2 (ja) 情報処理装置、サーバ装置およびプログラム
KR20070029864A (ko) 일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치
CN106797316B (zh) 路由器、数据设备、分发数据的方法和系统
CN108809633B (zh) 一种身份认证的方法、装置及系统
JP6049914B2 (ja) 暗号システム、鍵生成装置及び再暗号化装置
JP2013207376A (ja) 情報処理装置およびプログラム
KR20090084545A (ko) Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체
JP6501701B2 (ja) システム、端末装置、制御方法、およびプログラム
KR20100025624A (ko) 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법
JP2014022920A (ja) 電子署名システム、電子署名方法および電子署名プログラム
JPH09294120A (ja) 暗号化された共有データのアクセス制御方法及びシステム
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
JP2010272899A (ja) 鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラム
KR101652846B1 (ko) 무인증서 공개키 암호 기반 웹서버 인증 방법
US20230376574A1 (en) Information processing device and method, and information processing system
JP5739078B1 (ja) サーバ装置、通信方法、およびプログラム
JP5705366B1 (ja) サーバ装置およびプログラム
Adamović Development of a Cryptographic Solution Based on Kerberos for Database Security
KR101281928B1 (ko) 다운로더블 제한 수신 시스템에서의 상호 인증 장치 및 방법
KR20190067316A (ko) 가드온솔루션의 정보보호를 위한 비밀번호 일방향 암호화 저장방법
Lapon et al. Building advanced applications with the Belgian eID
JP2002232414A (ja) 情報配送方法及び装置並びにプログラム及び記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11878276

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013549994

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14355043

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE