JP2019086744A - Encryption system, user system, encryption method, and encryption program - Google Patents
Encryption system, user system, encryption method, and encryption program Download PDFInfo
- Publication number
- JP2019086744A JP2019086744A JP2017217331A JP2017217331A JP2019086744A JP 2019086744 A JP2019086744 A JP 2019086744A JP 2017217331 A JP2017217331 A JP 2017217331A JP 2017217331 A JP2017217331 A JP 2017217331A JP 2019086744 A JP2019086744 A JP 2019086744A
- Authority
- JP
- Japan
- Prior art keywords
- key
- user terminal
- attribute
- user
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、暗号システム、ユーザシステム、暗号方法、及び暗号プログラムに関する。 The present invention relates to an encryption system, a user system, an encryption method, and an encryption program.
近年、電子ファイルの数及びサイズの増加に伴い、クラウドストレージサービスが普及している。クラウドストレージを利用するにあたり、個人情報及び機密情報を保護するために、電子ファイルに暗号化が施される。暗号方式として、属性ベース暗号が知られている(例えば、特許文献1、特許文献2、及び非特許文献1参照)。属性ベース暗号は、ユーザごとに複数の属性を付与し、ユーザの属性に基づいて設定された復号条件(ポリシー)を満たすユーザのみが暗号文を復号可能な暗号技術である。 In recent years, with the increase in the number and size of electronic files, cloud storage services have become widespread. In using cloud storage, encryption is applied to electronic files to protect personal information and confidential information. Attribute-based encryption is known as an encryption method (see, for example, Patent Document 1, Patent Document 2, and Non-Patent Document 1). The attribute-based encryption is a cryptographic technology that gives a plurality of attributes for each user and allows only a user who satisfies the decryption condition (policy) set based on the user's attribute to decrypt the ciphertext.
属性ベース暗号では、全ての暗号文を復号可能なマスタ秘密鍵を管理する必要がある。多くのシステムでは、鍵発行機関がマスタ秘密鍵を管理している。このため、クラウド上のサーバ等を用いてシステムを構築する場合、サーバでマスタ秘密鍵を管理する必要があり、本来は秘密とすべき情報がサーバの管理者等には、公開されてしまうこととなる。このような問題に対応するために、マスタ秘密鍵の管理者権限を複数の鍵発行機関に分散して配置する方法が提案されている。例えば、非特許文献1には、複数の鍵発行機関が発行する秘密鍵を組み合わせることで、暗号化鍵及び復号鍵を生成することが記載されている。 In attribute-based encryption, it is necessary to manage a master secret key that can decrypt all ciphertexts. In many systems, a key issuing authority manages the master secret key. Therefore, when constructing a system using a server or the like on the cloud, it is necessary to manage the master secret key on the server, and information that should originally be kept secret will be disclosed to the server manager or the like. It becomes. In order to cope with such a problem, a method has been proposed in which the administrator authority of the master secret key is distributed and arranged to a plurality of key issuing organizations. For example, Non-Patent Document 1 describes that an encryption key and a decryption key are generated by combining secret keys issued by a plurality of key issuing organizations.
しかしながら、非特許文献1に記載のシステムにおいて、複数の鍵発行機関が結託した場合には、全ての暗号文を復号できることとなる。このため、本技術分野では、さらなる安全性の向上が望まれている。 However, in the system described in Non-Patent Document 1, when a plurality of key issuing organizations collude, all ciphertexts can be decrypted. For this reason, further improvement of safety is desired in this technical field.
本発明の一側面に係る暗号システムは、属性ベース暗号を用いたシステムである。この暗号システムは、鍵発行機関と、1以上の属性を含む第1属性を有する第1ユーザ端末及び第2ユーザ端末を含むユーザシステムと、を備える。鍵発行機関は、第1公開鍵を生成するとともに、第1公開鍵を公開する。第2ユーザ端末は、第2公開鍵を生成するとともに、第2公開鍵を公開する。第1ユーザ端末は、第1属性に応じた第1秘密鍵を鍵発行機関に要求するとともに、第1属性に応じた第2秘密鍵を第2ユーザ端末に要求する。鍵発行機関は、第1ユーザ端末からの要求に応じて、第1秘密鍵を生成して第1秘密鍵を第1ユーザ端末に配布する。第2ユーザ端末は、第1ユーザ端末からの要求に応じて、第2秘密鍵を生成して第2秘密鍵を第1ユーザ端末に配布する。第1ユーザ端末は、第1公開鍵及び第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成し、第1秘密鍵及び第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成する。 An encryption system according to an aspect of the present invention is a system using attribute-based encryption. The cryptographic system comprises a key issuing authority and a user system comprising a first user terminal having a first attribute comprising one or more attributes and a second user terminal. The key issuing organization generates the first public key and makes the first public key public. The second user terminal generates a second public key and makes the second public key public. The first user terminal requests the key issuing organization for the first secret key corresponding to the first attribute and also requests the second user key for the second secret key corresponding to the first attribute. The key issuing organization generates a first secret key and distributes the first secret key to the first user terminal in response to a request from the first user terminal. The second user terminal generates a second secret key and distributes the second secret key to the first user terminal in response to a request from the first user terminal. The first user terminal generates an encryption key for attribute-based encryption encryption using the first public key and the second public key, and decrypts the attribute-based encryption using the first secret key and the second secret key. Generating a first decryption key for the
この暗号システムでは、第1ユーザ端末は、鍵発行機関によって生成された第1公開鍵とユーザシステム内の第2ユーザ端末によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第1ユーザ端末は、鍵発行機関によって生成された第1秘密鍵とユーザシステム内の第2ユーザ端末によって生成された第2秘密鍵とを用いて属性ベース暗号の復号用の第1復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。 In this encryption system, the first user terminal uses the first public key generated by the key issuing organization and the second public key generated by the second user terminal in the user system for encryption of attribute-based encryption. Generate an encryption key for The first user terminal uses the first secret key generated by the key issuing organization and the second secret key generated by the second user terminal in the user system to generate a first decryption key for attribute based encryption. Generate As described above, the second user terminal in the user system plays a role as a key issuing organization, which can reduce the possibility of decryption of a ciphertext by collusion by the key issuing organization. As a result, it is possible to improve the security of attribute-based encryption.
第2ユーザ端末は、1以上の属性を含む第2属性を有してもよい。第2ユーザ端末は、第2属性に応じた第3秘密鍵を鍵発行機関に要求するとともに、第2属性に応じた第4秘密鍵を生成してもよい。鍵発行機関は、第2ユーザ端末からの要求に応じて、第3秘密鍵を生成して第3秘密鍵を第2ユーザ端末に配布してもよい。第2ユーザ端末は、第1公開鍵及び第2公開鍵を用いて暗号化鍵を生成してもよく、第3秘密鍵及び第4秘密鍵を用いて属性ベース暗号の復号用の第2復号鍵を生成してもよい。この場合、第2ユーザ端末は、鍵発行機関によって生成された第1公開鍵と第2ユーザ端末自身が生成した第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第2ユーザ端末は、鍵発行機関によって生成された第3秘密鍵と第2ユーザ端末自身が生成した第4秘密鍵とを用いて属性ベース暗号の復号用の第2復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。 The second user terminal may have a second attribute that includes one or more attributes. The second user terminal may request the key issuing organization for a third secret key corresponding to the second attribute, and may generate a fourth secret key corresponding to the second attribute. The key issuing organization may generate a third secret key and distribute the third secret key to the second user terminal in response to a request from the second user terminal. The second user terminal may generate an encryption key using the first public key and the second public key, and may use the third secret key and the fourth secret key to perform second decryption for attribute-based encryption. You may generate a key. In this case, the second user terminal generates an encryption key for encryption of attribute-based encryption using the first public key generated by the key issuing organization and the second public key generated by the second user terminal itself. Do. The second user terminal generates a second decryption key for decryption of the attribute-based encryption using the third secret key generated by the key issuing organization and the fourth secret key generated by the second user terminal itself. As described above, the second user terminal in the user system plays a role as a key issuing organization, which can reduce the possibility of decryption of a ciphertext by collusion by the key issuing organization. As a result, it is possible to improve the security of attribute-based encryption.
暗号システムは、別の鍵発行機関をさらに備えてもよい。第2ユーザ端末は、ユーザシステムで用いられる複数の属性のうちの1以上の属性を委譲属性の集合として別の鍵発行機関に委譲してもよい。第1ユーザ端末は、第1属性が委譲属性の集合に含まれる場合には、第2秘密鍵を別の鍵発行機関に要求してもよい。別の鍵発行機関は、第1ユーザ端末からの要求に応じて、第2秘密鍵を生成して第2秘密鍵を第1ユーザ端末に配布してもよい。この場合、第2ユーザ端末は、委譲属性に関する秘密鍵の生成及び配布を行う必要がなくなるので、第2ユーザ端末のユーザの負担を軽減することができる。 The cryptographic system may further comprise another key issuing authority. The second user terminal may delegate one or more of the plurality of attributes used in the user system to another key issuing organization as a set of delegation attributes. The first user terminal may request the second secret key from another key issuing organization if the first attribute is included in the set of delegation attributes. Another key issuing organization may generate a second secret key and distribute the second secret key to the first user terminal in response to a request from the first user terminal. In this case, since the second user terminal does not have to generate and distribute the secret key related to the transfer attribute, the burden on the user of the second user terminal can be reduced.
本発明の別の側面に係るユーザシステムは、1以上の属性を含む第1属性を有する第1ユーザ端末と第2ユーザ端末とを含み、属性ベース暗号を利用するシステムである。第1ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵と第2ユーザ端末によって生成された第2公開鍵とを取得して、第1公開鍵及び第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第1ユーザ端末は、第1属性に応じた第1秘密鍵を鍵発行機関に要求するとともに、第1属性に応じた第2秘密鍵を第2ユーザ端末に要求する。第1ユーザ端末は、第1秘密鍵を鍵発行機関から取得し、第2秘密鍵を第2ユーザ端末から取得し、第1秘密鍵及び第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成する。 A user system according to another aspect of the present invention is a system that includes an attribute-based encryption including a first user terminal having a first attribute including one or more attributes and a second user terminal. The first user terminal acquires the first public key generated by the external key issuing organization and the second public key generated by the second user terminal, and uses the first public key and the second public key. Generate an encryption key for attribute based encryption. The first user terminal requests the key issuing organization for the first secret key corresponding to the first attribute and also requests the second user key for the second secret key corresponding to the first attribute. The first user terminal acquires the first secret key from the key issuing organization, acquires the second secret key from the second user terminal, and uses the first secret key and the second secret key to decrypt the attribute-based encryption. Generate a first decryption key.
このユーザシステムでは、第1ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵とユーザシステム内の第2ユーザ端末によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第1ユーザ端末は、外部の鍵発行機関から取得した第1秘密鍵とユーザシステム内の第2ユーザ端末から取得した第2秘密鍵とを用いて属性ベース暗号の復号用の第1復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。 In this user system, the first user terminal uses the first public key generated by an external key issuing organization and the second public key generated by the second user terminal in the user system to encrypt attribute-based encryption. An encryption key for encryption. The first user terminal uses the first secret key acquired from the external key issuing organization and the second secret key acquired from the second user terminal in the user system to generate a first decryption key for attribute-based encryption. Generate As described above, the second user terminal in the user system plays a role as a key issuing organization, which can reduce the possibility of decryption of a ciphertext by collusion by the key issuing organization. As a result, it is possible to improve the security of attribute-based encryption.
第2ユーザ端末は、1以上の属性を含む第2属性を有してもよい。第2ユーザ端末は、第2属性に応じた第3秘密鍵を鍵発行機関に要求するとともに、第2属性に応じた第4秘密鍵を生成してもよい。第2ユーザ端末は、第1公開鍵及び第2公開鍵を用いて暗号化鍵を生成してもよい。第2ユーザ端末は、第3秘密鍵を鍵発行機関から取得して、第3秘密鍵及び第4秘密鍵を用いて属性ベース暗号の復号用の第2復号鍵を生成してもよい。この場合、第2ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵と第2ユーザ端末自身によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。また、第2ユーザ端末は、外部の鍵発行機関から取得した第3秘密鍵と第2ユーザ端末自身が生成した第4秘密鍵とを用いて属性ベース暗号の復号用の第2復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。 The second user terminal may have a second attribute that includes one or more attributes. The second user terminal may request the key issuing organization for a third secret key corresponding to the second attribute, and may generate a fourth secret key corresponding to the second attribute. The second user terminal may generate the encryption key using the first public key and the second public key. The second user terminal may obtain the third secret key from the key issuing authority, and generate the second decryption key for decryption of the attribute-based encryption using the third secret key and the fourth secret key. In this case, the second user terminal encrypts for encryption of attribute-based encryption using the first public key generated by the external key issuing organization and the second public key generated by the second user terminal itself. Generate a key. Also, the second user terminal generates a second decryption key for attribute-based encryption decryption using the third secret key acquired from the external key issuing organization and the fourth secret key generated by the second user terminal itself. Do. As described above, the second user terminal in the user system plays a role as a key issuing organization, which can reduce the possibility of decryption of a ciphertext by collusion by the key issuing organization. As a result, it is possible to improve the security of attribute-based encryption.
第2ユーザ端末は、ユーザシステムで用いられる複数の属性のうちの1以上の属性を委譲属性の集合として別の鍵発行機関に委譲してもよい。第1ユーザ端末は、第1属性が委譲属性の集合に含まれる場合には、第2秘密鍵を別の鍵発行機関に要求してもよい。この場合、第2ユーザ端末は、委譲属性に関する秘密鍵の生成及び配布を行う必要がなくなるので、第2ユーザ端末のユーザの負担を軽減することができる。 The second user terminal may delegate one or more of the plurality of attributes used in the user system to another key issuing organization as a set of delegation attributes. The first user terminal may request the second secret key from another key issuing organization if the first attribute is included in the set of delegation attributes. In this case, since the second user terminal does not have to generate and distribute the secret key related to the transfer attribute, the burden on the user of the second user terminal can be reduced.
本発明のさらに別の側面に係る暗号方法は、1以上の属性を含む第1属性を有する第1ユーザ端末と第2ユーザ端末とを含み、属性ベース暗号を利用するユーザシステムにおいて、第1ユーザ端末が行う暗号方法である。この暗号方法は、外部の鍵発行機関によって生成された第1公開鍵と第2ユーザ端末によって生成された第2公開鍵とを取得するステップと、第1公開鍵及び第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成するステップと、第1属性に応じた第1秘密鍵を鍵発行機関に要求するとともに、第1属性に応じた第2秘密鍵を第2ユーザ端末に要求するステップと、第1秘密鍵を鍵発行機関から取得し、第2秘密鍵を第2ユーザ端末から取得するステップと、第1秘密鍵及び第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成するステップと、を備える。 An encryption method according to still another aspect of the present invention includes a first user terminal having a first attribute including one or more attributes and a second user terminal, and in a user system using attribute-based encryption, the first user terminal It is an encryption method performed by the terminal. This encryption method comprises the steps of acquiring a first public key generated by an external key issuing organization and a second public key generated by a second user terminal, and using the first public key and the second public key. Generating an encryption key for encryption of attribute-based encryption; requesting a first private key according to the first attribute from the key issuing organization; and generating a second private key according to the first attribute as the second user The step of requesting the terminal, the step of acquiring the first secret key from the key issuing organization, and the step of acquiring the second secret key from the second user terminal, and the attribute-based encryption using the first secret key and the second secret key Generating a first decryption key for decryption.
この暗号方法では、第1ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵とユーザシステム内の第2ユーザ端末によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第1ユーザ端末は、外部の鍵発行機関から取得した第1秘密鍵とユーザシステム内の第2ユーザ端末から取得した第2秘密鍵とを用いて属性ベース暗号の復号用の第1復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。 In this encryption method, the first user terminal uses the first public key generated by an external key issuing organization and the second public key generated by the second user terminal in the user system to encrypt attribute-based encryption. An encryption key for encryption. The first user terminal uses the first secret key acquired from the external key issuing organization and the second secret key acquired from the second user terminal in the user system to generate a first decryption key for attribute-based encryption. Generate As described above, the second user terminal in the user system plays a role as a key issuing organization, which can reduce the possibility of decryption of a ciphertext by collusion by the key issuing organization. As a result, it is possible to improve the security of attribute-based encryption.
本発明のさらに別の側面に係る暗号プログラムは、コンピュータに、外部の鍵発行機関によって生成された第1公開鍵と、コンピュータとともにユーザシステムに属するユーザ端末によって生成された第2公開鍵と、を取得するステップと、第1公開鍵及び第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成するステップと、コンピュータの1以上の属性を含む第1属性に応じた第1秘密鍵を鍵発行機関に要求するとともに、第1属性に応じた第2秘密鍵をユーザ端末に要求するステップと、第1秘密鍵を鍵発行機関から取得し、第2秘密鍵をユーザ端末から取得するステップと、第1秘密鍵及び第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成するステップと、を実行させるための暗号プログラムである。 An encryption program according to still another aspect of the present invention includes a computer, a first public key generated by an external key issuing organization, and a second public key generated by a user terminal belonging to a user system together with the computer. Obtaining, generating an encryption key for encryption of attribute-based encryption using the first public key and the second public key, and a first according to a first attribute including one or more attributes of the computer. Requesting a secret key from the key issuing organization, and requesting a second secret key corresponding to the first attribute from the user terminal, acquiring the first secret key from the key issuing authority, and obtaining the second secret key from the user terminal It is an encryption program for executing the step of acquiring and the step of generating a first decryption key for decryption of attribute-based encryption using the first secret key and the second secret key.
この暗号プログラムでは、コンピュータは、外部の鍵発行機関によって生成された第1公開鍵とユーザシステム内のユーザ端末によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。コンピュータは、外部の鍵発行機関から取得した第1秘密鍵とユーザシステム内のユーザ端末から取得した第2秘密鍵とを用いて属性ベース暗号の復号用の第1復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内のユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。 In this encryption program, the computer encrypts for encryption of attribute-based encryption using the first public key generated by the external key issuing organization and the second public key generated by the user terminal in the user system. Generate a key. The computer generates a first decryption key for decryption of the attribute-based encryption using the first secret key acquired from the external key issuing organization and the second secret key acquired from the user terminal in the user system. As described above, when the user terminal in the user system plays a role as a key issuing organization, it is possible to reduce the possibility that a ciphertext is decrypted by collusion by the key issuing organization. As a result, it is possible to improve the security of attribute-based encryption.
本発明によれば、属性ベース暗号の安全性を向上させることができる。 According to the present invention, the security of attribute-based encryption can be improved.
以下、図面を参照しながら本発明の実施形態が詳細に説明される。なお、図面の説明において同一要素には同一符号が付され、重複する説明は省略される。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the description of the drawings, the same elements will be denoted by the same reference symbols, without redundant description.
図1は、一実施形態に係る暗号システムの構成を示す図である。図1に示されるように、暗号システム1は、属性ベース暗号を用いた暗号化及び復号を行うシステムである。属性ベース暗号は、ユーザの属性に基づいて設定された復号条件(ポリシー)を満たすユーザのみが暗号文を復号可能な暗号技術である。暗号システム1は、ユーザシステム10と、複数の鍵発行機関(本実施形態では、鍵発行機関20A〜20C)と、公開サーバ30と、クラウドストレージ40と、を備えている。ユーザシステム10と、鍵発行機関20A〜20Cと、公開サーバ30と、クラウドストレージ40とは、ネットワークNWによって互いに通信可能に接続されている。ネットワークNWは、有線及び無線のいずれで構成されてもよい。ネットワークNWの例としては、移動体通信網、インターネット、及びWAN(Wide Area Network)等が挙げられる。
FIG. 1 is a diagram showing the configuration of a cryptographic system according to an embodiment. As shown in FIG. 1, the encryption system 1 is a system that performs encryption and decryption using attribute-based encryption. Attribute-based encryption is an encryption technology in which only a user who can satisfy a decryption condition (policy) set based on the attribute of the user can decrypt the ciphertext. The encryption system 1 includes a
ユーザシステム10は、属性ベース暗号を利用するユーザ側のシステムである。ユーザシステム10は、複数のユーザ端末(本実施形態では、ユーザ端末11A〜11C)を含む。ユーザ端末は、ユーザにより用いられる端末装置である。ユーザ端末の例としては、デスクトップPC(Personal Computer)、ノートPC、スマートフォン、及びタブレット端末等が挙げられる。ここでは、ユーザ端末11A〜11Cは、同一の組織に属する。ユーザ端末11A〜11Cは、LAN等によって互いに通信可能に接続され、不図示のゲートウェイ装置を介してネットワークNWに接続されている。なお、ユーザ端末11A〜11Cは、同一組織に属していなくてもよい。
The
ユーザ端末11A〜11Cは、物理的には、1又は複数のプロセッサ、RAM(Random Access Memory)及びROM(Read Only Memory)等の主記憶装置、ハードディスク装置等の補助記憶装置、キーボード等の入力装置、ディスプレイ等の出力装置、並びに、データ送受信デバイスである通信モジュール等のハードウェアを備えるコンピュータとして構成され得る。ユーザ端末11A〜11Cの各機能は、主記憶装置等のハードウェアに1又は複数の所定のコンピュータプログラム(暗号プログラム)を読み込ませることにより、1又は複数のプロセッサの制御のもとで各ハードウェアを動作させるとともに、主記憶装置及び補助記憶装置におけるデータの読み出し及び書き込みを行うことで実現される。
The
ユーザUA〜UCのそれぞれは、1以上の属性(以下、「属性の組み合わせ」という。)を有する。ユーザUAはユーザ端末11A(第1ユーザ端末)を使用し、ユーザUBはユーザ端末11B(第2ユーザ端末)を使用し、ユーザUCはユーザ端末11Cを使用している。ユーザUA〜UCは、例えば、ユーザ端末11A〜11Cにおいて、属性ベース暗号のためのアプリケーションを用いて、属性ベース暗号でデータを暗号化し、暗号化されたデータ(以下、「暗号文」という。)をクラウドストレージ40に格納する。また、ユーザUA〜UCは、ユーザ端末11A〜11Cを用いて、クラウドストレージ40から暗号文を取得し、暗号文を復号する。ユーザ端末11A〜11Cの少なくとも1台は、鍵発行機関としての役割を担う。本実施形態では、ユーザ端末11Bが鍵発行機関としての役割を担っている。
Each of the users UA to UC has one or more attributes (hereinafter referred to as "combination of attributes"). The user UA uses the
鍵発行機関20A〜20Cは、属性ベース暗号の公開鍵及び秘密鍵を生成する。公開鍵は、全てのユーザ(ユーザ端末11A〜11C)に共通の鍵である。秘密鍵は、各ユーザ(ユーザ端末11A〜11C)に固有の鍵であって、ユーザの属性の組み合わせに応じて生成される。公開鍵及び秘密鍵の生成に関する詳細な説明は、後述する。鍵発行機関20A〜20Cは、ユーザシステム10の外部に設けられる。鍵発行機関20A〜20Cは、公開鍵を含む公開情報を公開サーバ30に送信する。なお、ユーザ端末11Bも、鍵発行機関20A〜20Cと同様の機能を有する。
The
公開サーバ30は、公開情報を公開するためのサーバ装置である。公開サーバ30は、鍵発行機関20A〜20Cのそれぞれから公開情報を受信し、公開情報を不図示の記憶装置に格納する。公開サーバ30は、暗号システム1に含まれる各機関からの要求に応じて、公開情報を各機関に送信する。
The
クラウドストレージ40は、オンラインストレージとも呼ばれ、ネットワークNW上でデータを共有するサービスである。クラウドストレージ40は、例えば、単一又は複数のファイルサーバを含む。クラウドストレージ40は、ユーザ端末11A〜11Cからデータを受信して、受信したデータを格納する。クラウドストレージ40は、ユーザ端末11A〜11Cからの要求に応じて、格納しているデータをユーザ端末11A〜11Cに送信する。クラウドストレージ40に代えて、ユーザシステム10内に設けられた記憶装置(ローカルストレージ)が用いられてもよい。
The
次に、図2を参照して、属性ベース暗号を説明する。図2は、属性ベース暗号で用いられるアクセス構造の一例を示す図である。図2に示されるアクセス構造は、ツリー形式で示されている。アクセス構造は、復号を許可する復号条件(ポリシー)を表す。ポリシーは、属性の論理和及び論理積で表される。図2では、{属性AT1∧(属性AT2∧属性AT3)}∨属性AT4の条件を満たすユーザが、暗号文を復号することができる。なお、「∨」は論理和を示し、「∧」は論理積を示す。各ユーザは、属性ベース暗号のためのアプリケーションを用いてデータを暗号化する際に、アクセス構造を指定する。 Next, attribute-based encryption will be described with reference to FIG. FIG. 2 is a diagram showing an example of an access structure used in attribute-based encryption. The access structure shown in FIG. 2 is shown in a tree format. The access structure represents a decryption condition (policy) that permits decryption. A policy is expressed by logical sum and logical product of attributes. In FIG. 2, the user who satisfies the condition of {attribute AT1∧ (attribute AT2∧attribute AT3)} ∨ attribute AT4 can decrypt the ciphertext. "∨" indicates a logical sum, and "∧" indicates a logical product. Each user specifies an access structure when encrypting data using an application for attribute based encryption.
例えば、ユーザ端末11AのユーザUAが、開発部に所属し、海外支社を経験しており、プロジェクトPを担当しているとする。この場合、ユーザUAの属性は、「開発部」、「海外支社経験者」、及び「プロジェクトP担当者」である。ユーザ端末11BのユーザUBが、情報グループに所属し、IoT(Internet of Things)を担当しているとする。この場合、ユーザUBの属性は、「情報G」、及び「IoT」である。ユーザ端末11CのユーザUCが、総務課に所属しているとする。この場合、ユーザUCの属性は、「総務課」である。
For example, it is assumed that the user UA of the
図2のアクセス構造において、属性AT1が「開発部」であり、属性AT2が「海外支社経験者」であり、属性AT3が「プロジェクトP担当者」であり、属性AT4が「総務部」であると仮定する。この場合、ユーザUA及びユーザUCの属性の組み合わせはポリシーを満たすので、ユーザUA及びユーザUCは暗号文を復号することができる。一方、ユーザUBの属性の組み合わせはポリシーを満たさないので、ユーザUBは暗号文を復号することができない。 In the access structure of FIG. 2, attribute AT1 is "Development Department", attribute AT2 is "overseas branch office experienced person", attribute AT3 is "person in charge of Project P", and attribute AT4 is "General Affairs Department" Suppose. In this case, since the combination of the attributes of the user UA and the user UC satisfies the policy, the user UA and the user UC can decrypt the ciphertext. On the other hand, since the combination of the attributes of the user UB does not satisfy the policy, the user UB can not decrypt the ciphertext.
次に、図3〜図7を参照して、暗号システム1の動作例を説明する。図3は、図1に示される暗号システムにおける初期設定処理を示すシーケンス図である。図4は、図1に示される暗号システムにおける暗号化鍵生成処理を示すシーケンス図である。図5は、図1に示される暗号システムにおける復号鍵生成処理を示すシーケンス図である。図6は、図1に示される暗号システムにおける暗号化処理を示すシーケンス図である。図7は、図1に示される暗号システムにおける復号処理を示すシーケンス図である。 Next, an operation example of the cryptographic system 1 will be described with reference to FIGS. 3 to 7. FIG. 3 is a sequence diagram showing an initial setting process in the cryptographic system shown in FIG. FIG. 4 is a sequence diagram showing an encryption key generation process in the encryption system shown in FIG. FIG. 5 is a sequence diagram showing a decryption key generation process in the encryption system shown in FIG. FIG. 6 is a sequence diagram showing an encryption process in the encryption system shown in FIG. FIG. 7 is a sequence diagram showing decryption processing in the encryption system shown in FIG.
なお、説明の便宜上、ユーザについては、ユーザUA,UBのみを図示し、鍵発行機関については、鍵発行機関20A,20Bのみを図示する。また、ユーザ端末11Bが鍵発行機関としての役割を担っている。いずれのユーザ端末及び鍵発行機関が、暗号システム1における秘密鍵及び公開鍵の鍵発行機関となるかは、予め設定されている。又は、鍵発行機関20Aが、鍵発行機関となる機関を指定してもよい。
For convenience of explanation, only users UA and UB are illustrated for the user, and only
図3に示されるように、暗号システム1では、まず初期設定処理が行われる。具体的には、各ユーザは、利用属性の申請を行う。ここではユーザUA,UBのみを説明するが、他のユーザについても同様である。ユーザUAは、ユーザ端末11Aを用いて鍵発行機関20Aに利用属性の申請を行う(ステップS11)。同様に、ユーザUBは、ユーザ端末11Bを用いて鍵発行機関20Aに利用属性の申請を行う(ステップS11)。利用属性の申請には、ユーザの属性又はユーザが利用したい属性(属性の組み合わせ)と、ユーザを特定するための識別情報(ユーザ識別情報)と、が含まれる。ユーザ識別情報としては、ウェブページ等において予め登録されたログインID及びパスワードの組み合わせが用いられ得る。ユーザが使用するユーザ端末のIP(Internet Protocol)アドレスがユーザ識別情報として用いられてもよい。
As shown in FIG. 3, in the cryptographic system 1, first, an initialization process is performed. Specifically, each user applies for a usage attribute. Although only the users UA and UB are described here, the same applies to other users. The user UA applies the usage attribute to the
続いて、鍵発行機関20Aは、各ユーザから利用属性の申請を受信すると、初期設定を行う(ステップS12)。ステップS12において、鍵発行機関20Aは、素数p1を位数とする生成元g1からなる巡回群G1と、素数p2を位数とする生成元g2からなる巡回群G2と、式(1)で表される双線形写像eを有する巡回群GTと、を決定する。巡回群G1は、素数p1を位数とする巡回群であり、乗算が定義された巡回群である。巡回群G2は、素数p2を位数とする巡回群であり、乗算が定義された巡回群である。巡回群GTは、加算及び乗算が定義された巡回群である。そして、鍵発行機関20Aは、式(1)を満たす双線形写像eを決定する。双線形写像eは、2つの引数を有し、e(・,・)で表される写像である。
続いて、鍵発行機関20Aは、乱数b(b∈Zp1)をランダムに決定し、元g1 bを計算する。
Subsequently, the
また、鍵発行機関20Aは、各ユーザから申請されたN個の属性に対して、巡回群G1から乱数h1,h2,・・・,hN(h1,h2,・・・,hN∈G1)をランダムに選択する。
In addition, the
そして、鍵発行機関20Aは、生成元g1、生成元g2、元g1 b、双線形写像e、乱数h1,h2,・・・,hN、及び鍵発行機関(ここでは、鍵発行機関20A,20B及びユーザ端末11B)を特定するための識別情報(発行機関識別情報)を公開情報として公開するために、公開情報を公開サーバ30に送信する(ステップS13)。発行機関識別情報としては、例えば、鍵発行機関のIPアドレスが用いられる。そして、公開サーバ30は、不図示の記憶装置に公開情報を格納する(ステップS14)。
The
なお、鍵発行機関20Aは、全てのユーザから利用属性の申請を受け取った後にステップS12を実施しているが、ステップS12の実施タイミングはこれに限られない。例えば、鍵発行機関20Aは、ユーザから利用属性の申請を受け取る前に生成元g1及び生成元g2の選択、元g1 bの計算、並びに双線形写像eの決定を行ってもよく、ユーザから利用属性の申請を受け取る前に生成元g1、生成元g2、元g1 b、双線形写像e、及び発行機関識別情報を公開サーバ30に送信してもよい。鍵発行機関20Aは、ユーザから新たな属性の申請を受け取ると、その属性に対応する乱数hn(nは1〜Nの整数)を選択し、選択した乱数hnを公開サーバ30に送信してもよい。また、各ユーザとユーザの属性の組み合わせとが対応付けられて、各ユーザとユーザの属性の組み合わせとの対応関係が鍵発行機関20Aにおいて管理されてもよい。鍵発行機関20Aは、各ユーザとユーザの属性の組み合わせとの対応関係を他の鍵発行機関に送信してもよい。
Although the
続いて、各ユーザ(ユーザ端末11A及びユーザ端末11B)と、複数の鍵発行機関のうち鍵発行機関20A以外の鍵発行機関(ここでは、鍵発行機関20B)とは、公開サーバ30から公開情報を取得する(ステップS15)。なお、暗号システム1内の各機関は、公開サーバ30のIPアドレスを予め取得している。
Subsequently, each user (
続いて、図4に示されるように、暗号システム1では、暗号化鍵生成処理が行われる。暗号化鍵生成処理では、まず、各鍵発行機関(ここでは、鍵発行機関20A,20B及びユーザ端末11B)が公開鍵PKjを生成する(ステップS21)。なお、各鍵発行機関には番号j(jは1〜Ncの整数)が割り当てられている。総数Ncは、公開鍵PKj及び秘密鍵SKu jを生成する鍵発行機関の総数である。ステップS21では、j番目の鍵発行機関は、乱数ajを生成し、式(2)に示される計算を行って公開鍵PKjを生成する。
そして、各鍵発行機関は、公開鍵PKjを公開するために公開鍵PKjを公開サーバ30に送信する(ステップS22)。そして、公開サーバ30は、不図示の記憶装置に公開鍵PKjを公開情報として格納する(ステップS23)。
Each key issuing authority sends the public key PK j to the
続いて、暗号システム1内の各機関(ここでは、ユーザ端末11A,11B、及び鍵発行機関20A,20B)は、公開サーバ30からNc個の公開鍵PKjを取得する(ステップS24)。そして、各機関は、Nc個の公開鍵PKjを用いて属性ベース暗号の暗号化用の暗号化鍵PKを生成する(ステップS25)。具体的には、各機関は、式(3)に示されるように、各公開鍵PKjを加算し、その加算結果e(g1,g2)aを計算する。
そして、各機関は、式(4)に示されるように、公開情報と加算結果e(g1,g2)aとを属性ベース暗号の暗号化用の暗号化鍵PKとする。
このように、暗号化鍵生成処理では、鍵発行機関20A,20Bは、公開鍵PKj(第1公開鍵)を生成するとともに、公開鍵PKjを公開する。同様に、ユーザ端末11Bは、公開鍵PKj(第2公開鍵)を生成するとともに、公開鍵PKjを公開する。ユーザ端末11Aは、鍵発行機関20A,20Bによって生成された公開鍵PKjとユーザ端末11Bによって生成された公開鍵PKjとを取得して、これらの公開鍵PKjを用いて属性ベース暗号の暗号化用の暗号化鍵PKを生成する。
As described above, in the encryption key generation process, the
続いて、図5に示されるように、暗号システム1では、復号鍵生成処理が行われる。ここでは、ユーザ端末11Aが復号鍵を生成する場合を説明する。復号鍵生成処理では、まず、ユーザ端末11Aが各鍵発行機関(ここでは、鍵発行機関20A,20B及びユーザ端末11B)に秘密鍵を要求する(ステップS31)。このとき、ユーザ端末11Aは、ユーザUAの属性の組み合わせ(第1属性)を指定して、ユーザUAの属性の組み合わせに対応した秘密鍵を要求する。
Subsequently, as shown in FIG. 5, in the cryptographic system 1, decryption key generation processing is performed. Here, a case where the
そして、各鍵発行機関(ここでは、鍵発行機関20A,20B及びユーザ端末11B)は、ユーザ端末11Aから秘密鍵の要求を受け取ると、ユーザUAの属性の組み合わせに応じた秘密鍵を生成する(ステップS32)。このとき、各鍵発行機関は、指定されたユーザUAの属性の組み合わせにユーザUAに無関係な属性が含まれている場合には、指定されたユーザUAの属性の組み合わせを否決してもよい。
When each key issuing organization (here, the
ステップS32では、まず、各鍵発行機関は、ユーザ端末11A(ユーザUA)に対して乱数su jをランダムに決定して、式(5)に示される計算を行う。なお、乱数su jはユーザごとに決定される値である。ユーザUAの属性(ユーザUAの属性の組み合わせに含まれる属性)の総数Xは、ユーザシステム10で用いられる属性の総数N以下である。なお、乱数huxは、ユーザUAのX個の属性のうちのx番目の属性に対応する乱数hnである。
続いて、各鍵発行機関は、式(6)に示される秘密鍵SKu jをユーザ端末11Aに送信(配布)する(ステップS33)。
そして、ユーザ端末11Aは、Nc個の秘密鍵SKu jを用いて属性ベース暗号の復号用の復号鍵SKuを生成する(ステップS34)。具体的には、ユーザ端末11Aは、式(7)及び式(8)に示されるように、Nc個の秘密鍵SKu jを要素ごとに加算し、その加算結果を復号鍵SKuとする。なお、復号鍵SKuには、X個の属性鍵(属性鍵Ku1〜KuX)が含まれる。
このように、復号鍵生成処理では、ユーザ端末11Aは、鍵発行機関20A,20BにユーザUAの属性の組み合わせに応じた秘密鍵SKu j(第1秘密鍵)を要求するとともに、ユーザ端末11BにユーザUAの属性の組み合わせに応じた秘密鍵SKu j(第2秘密鍵)を要求する。鍵発行機関20A,20Bは、ユーザ端末11Aからの要求に応じて、秘密鍵SKu jを生成して秘密鍵SKu jをユーザ端末11Aに配布する。同様に、ユーザ端末11Bは、ユーザ端末11Aからの要求に応じて、秘密鍵SKu jを生成して秘密鍵SKu jをユーザ端末11Aに配布する。ユーザ端末11Aは、鍵発行機関20A,20Bから秘密鍵SKu jを取得するとともに、ユーザ端末11Bから秘密鍵SKu jを取得する。そして、ユーザ端末11Aは、これらの秘密鍵SKu jを用いて属性ベース暗号の復号用の復号鍵SKu(第1復号鍵)を生成する。
As described above, in the decryption key generation process, the
続いて、ユーザが属性ベース暗号を用いて暗号化を行う暗号化処理を説明する。ここでは、ユーザ端末11Aが暗号化を行う場合を説明する。図6に示されるように、暗号化処理では、まずユーザUAがユーザ端末11Aを用いて所望のデータMsgを暗号化する(ステップS41)。ユーザ端末11Aには、例えば、属性ベース暗号のための暗号アプリケーションが予めインストールされている。ユーザUAは、暗号アプリケーションにおいて、当該データを復号可能な属性の組み合わせ(アクセス構造)を指定する。図2の例では、「開発部」かつ「海外支社経験者」かつ「プロジェクトP担当者」の属性の組み合わせを有するユーザ、又は「総務課」の属性の組み合わせを有するユーザが復号できるように、アクセス構造の指定が行われる。なお、各ユーザは、任意のアクセス構造を指定でき、例えば、当該ユーザが復号できないアクセス構造を指定することもできる。
Subsequently, encryption processing will be described in which the user performs encryption using attribute-based encryption. Here, the case where the
そして、ユーザ端末11Aは、線形秘密分散法を用いて、指定されたアクセス構造をl行m列の行列Mの形で表現する。なお、行の総数lは、アクセス構造に含まれる属性であって、重複している属性でも別個に計数した場合の属性の数と等しい。例えば、図2の例では、ポリシーを満たす行列の一例として、式(9)で示される行列Mが生成される。
そして、ユーザ端末11Aは、行列Mに対応して、m個の要素を含むベクトルvをランダムに生成する。式(10)に示されるように、ベクトルvは、秘密情報sと、乱数z2〜zmと、を含む。
そして、ユーザ端末11Aは、式(11)に示されるように、ベクトルvと、行列Mのi(iは1〜lの整数)行目の行Miと、を用いて値λiを計算する。
続いて、ユーザ端末11Aは、l個の乱数riをランダムに決定する。そして、ユーザ端末11Aは、式(12)に示されるように、値λiと乱数riと暗号化鍵PKとを用いて暗号化対象のデータMsgを暗号化し、暗号文を生成する。なお、乱数hρ(i)は、i行目の属性に対応する乱数hnである。
そして、ユーザ端末11Aは、クラウドストレージ40に暗号文を送信する(ステップS42)。クラウドストレージ40は、ユーザ端末11Aから暗号文を受信すると、暗号文を不図示の記憶装置に格納する(ステップS43)。
Then, the
続いて、ユーザが属性ベース暗号を用いて暗号文を復号する復号処理を説明する。ここでは、ユーザ端末11Aが復号を行う場合を説明する。図7に示されるように、復号処理では、まずユーザUAがユーザ端末11Aを用いて、クラウドストレージ40に暗号文の取得を要求する(ステップS51)。そして、クラウドストレージ40は、ユーザ端末11Aから暗号文の取得要求を受信すると、要求されている暗号文を不図示の記憶装置から読み出し、当該暗号文をユーザ端末11Aに送信する(ステップS52)。
Subsequently, decryption processing in which a user decrypts a ciphertext using attribute-based encryption will be described. Here, the case where the
続いて、ユーザ端末11Aは、クラウドストレージ40から暗号文を受信すると、ユーザUAの復号鍵SKuを用いて復号を行う(ステップS53)。このとき、ユーザ端末11Aは、ユーザUAの属性の組み合わせが暗号文に設定されたポリシーを満たす場合には、式(13)を満たす値wiを計算することができる。
そして、ユーザ端末11Aは、式(14)に示されるように、値wiとユーザUAの復号鍵SKuとを用いて暗号文を復号し、元のデータMsgを得る。なお、属性鍵Kρ(i)は、行列M(アクセス構造)に含まれるl個の属性のうちのi行目の属性に対応する属性鍵Kuxである。
このように、各ユーザは、自身の属性の組み合わせが暗号文に設定されたポリシーを満たす場合にのみ、ユーザの復号鍵を用いて当該暗号文の復号が可能となる。属性ベース暗号の安全性は、離散対数問題の困難性に起因している。例えば、一例を挙げると、生成元g1と元g1 a1とから、乱数a1を計算することが困難であるという性質である。この性質により、上記の属性ベース暗号は安全であるといえる。 As described above, each user can decrypt the ciphertext using the decryption key of the user only when the combination of the attributes of the user satisfies the policy set in the ciphertext. The security of attribute-based cryptography stems from the difficulty of the discrete logarithm problem. For example, the way of example, a generator g 1 of the original g 1 a1 Tokyo, is the property that it is difficult to calculate the random number a 1. Due to this property, it can be said that the above attribute-based encryption is secure.
次に、図8及び図9を参照して、暗号システム1の別の動作例を説明する。図8は、図1に示される暗号システムにおける委譲処理を示すシーケンス図である。図9は、図1に示される暗号システムにおける秘密鍵生成処理を示すシーケンス図である。委譲とは、鍵発行機関がN個の属性のうちの一部についての権限を他の機関に受け渡すことを意味する。なお、説明の便宜上、ユーザについては、ユーザUA,UBのみを図示し、鍵発行機関については、鍵発行機関20A,20B,20Cのみを図示する。また、ユーザ端末11Bが鍵発行機関としての役割を担っている。
Next, another operation example of the cryptographic system 1 will be described with reference to FIGS. 8 and 9. FIG. 8 is a sequence diagram showing delegation processing in the encryption system shown in FIG. FIG. 9 is a sequence diagram showing a secret key generation process in the encryption system shown in FIG. Delegation means that the key issuing authority passes the authority over some of the N attributes to other authorities. For convenience of explanation, only users UA and UB are shown for the user, and only
初期設定処理において、ユーザ端末11B(ユーザUB)は、複数の鍵発行機関のうち、委譲先の鍵決定機関となることを承諾している鍵発行機関の中から委譲先の鍵発行機関を任意に選択する。そして、ユーザ端末11Bは、例えば、ステップS11において、利用属性の申請に加えて、委譲対象の属性である委譲属性と委譲先の鍵発行機関(鍵発行機関20C;別の鍵発行機関)の発行機関識別情報とを鍵発行機関20Aに通知する。鍵発行機関20Aは、ステップS13において、公開情報に委譲属性と委譲先の鍵発行機関の発行機関識別情報とを含めて公開サーバ30に送信する。これにより、委譲属性と委譲先の鍵発行機関とが暗号システム1内の各機関に事前に周知される。なお、ユーザ端末11Bは、複数の鍵発行機関に異なる委譲属性を委譲してもよい。委譲先の鍵発行機関は、秘密鍵SKu j及び公開鍵PKjを生成している鍵発行機関と重複してもよい。
In the initial setting process, the
ここでは、ユーザ端末11BがN個の属性の一部を鍵発行機関20Cに委譲する場合について説明する。まず、ユーザ端末11Bが委譲鍵を生成する(ステップS61)。ステップS61では、まず、ユーザ端末11Bは、乱数sd jをランダムに決定して、式(15)に示される計算を行う。委譲属性の総数Yは、ユーザシステム10で用いられる属性の総数N以下である。乱数hdyは、Y個の委譲属性のうちのy番目の属性に対応する乱数hnである。
そして、ユーザ端末11Bは、式(16)に示される委譲鍵DKjを鍵発行機関20Cに送信(配布)する(ステップS62)。委譲鍵DKjには、Y個の属性鍵(属性鍵Kd1 j〜KdY j)が含まれる。なお、委譲鍵DKjからは、元の秘密鍵SKu jを判別することはできない。
また、鍵発行機関20Cは、公開サーバ30から公開情報を取得する(ステップS63)。
Also, the
続いて、図9に示されるように、暗号システム1では、復号鍵生成処理が行われる。ここでは、ユーザ端末11Aが復号を行う場合を説明する。復号鍵生成処理では、まず、ユーザ端末11Aが、ユーザUAの属性の組み合わせが委譲属性の集合に含まれるか否かを判定する(ステップS71)。ユーザUAの属性の組み合わせが委譲属性の集合に含まれないと判断された場合(ステップS71:NO)、図5に示される復号鍵生成処理が行われる。
Subsequently, as shown in FIG. 9, in the cryptographic system 1, decryption key generation processing is performed. Here, the case where the
一方、ユーザ端末11Aは、ユーザUAの属性の組み合わせが委譲属性の集合に含まれると判断した場合(ステップS71:YES)、各鍵発行機関に秘密鍵を要求する(ステップS72)。図5のステップS31と比較して、ユーザ端末11Bに代えて鍵発行機関20Cに秘密鍵を要求する点が異なる。そして、各鍵発行機関(ここでは、鍵発行機関20A〜20C)は、ユーザ端末11Aから秘密鍵の要求を受け取ると、ユーザUAの属性の組み合わせに応じた秘密鍵を生成する(ステップS73)。
On the other hand, when the
ステップS73では、鍵発行機関20Cは、ユーザ端末11A(ユーザUA)に対して乱数su jをランダムに決定して、式(17)に示される計算を行う。属性鍵Kdux jは、ユーザUAのX個の属性のうちのx番目の属性に対応する属性鍵Kdy jである。なお、鍵発行機関20A,20Bの秘密鍵生成処理は、ステップS32と同様であるので、説明を省略する。
続いて、各鍵発行機関は、式(6)に示される秘密鍵SKu jをユーザ端末11Aに送信(配布)する(ステップS74)。そして、ユーザ端末11Aは、ステップS34と同様に、Nc個の秘密鍵SKu jを用いて属性ベース暗号の復号用の復号鍵SKuを生成する(ステップS75)。
Subsequently, each key issuing organization transmits (distributes) the secret key SK u j shown in Formula (6) to the
以上説明したように、暗号システム1、ユーザシステム10、ユーザ端末11Aが行う暗号方法、及びユーザ端末11Aに暗号方法を実行させる暗号プログラムでは、ユーザ端末11Aは、鍵発行機関20A,20Bによって生成された公開鍵PKjと、ユーザシステム10内のユーザ端末11Bによって生成された公開鍵PKjとを用いて属性ベース暗号の暗号化用の暗号化鍵PKを生成する。ユーザ端末11Aは、鍵発行機関20A,20Bによって生成された秘密鍵SKu jとユーザシステム10内のユーザ端末11Bによって生成された秘密鍵SKu jとを用いて属性ベース暗号の復号用の復号鍵SKuを生成する。
As described above, in the encryption system 1, the
ユーザ端末11Bが暗号化及び復号を行う場合も同様である。つまり、ユーザ端末11Bは、ユーザUBの属性の組み合わせ(第2属性)に応じた秘密鍵SKu j(第3秘密鍵)を鍵発行機関20A,20Bに要求するとともに、ユーザUBの属性の組み合わせに応じた秘密鍵SKu j(第4秘密鍵)を生成する。鍵発行機関20A,20Bは、ユーザ端末11Bからの要求に応じて、秘密鍵SKu jを生成して秘密鍵SKu jをユーザ端末11Bに配布する。ユーザ端末11Bは、公開鍵PKjを用いて暗号化鍵PKを生成し、鍵発行機関20A,20Bから秘密鍵SKu jを取得して、鍵発行機関20A,20Bによって生成された秘密鍵SKu jとユーザ端末11B自身が生成した秘密鍵SKu jとを用いて属性ベース暗号の復号用の復号鍵SKu(第2復号鍵)を生成する。
The same applies to the case where the
このように、鍵発行機関としての役割をユーザシステム10内のユーザ端末11Bが担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。つまり、ユーザUBが鍵の管理権限の一部を有しているので、ユーザシステム10以外の全ての鍵発行機関が結託した場合でも、暗号文を復号することはできない。その結果、属性ベース暗号の安全性を向上させることが可能となる。
As described above, when the
ユーザ端末11Bは、ユーザシステム10で用いられる複数(N個)の属性のうちの1以上(Y個)の属性を委譲属性の集合として鍵発行機関20Cに委譲する。そして、ユーザ端末11Aは、ユーザUAの属性の組み合わせが委譲属性の集合に含まれる場合には、ユーザ端末11Bに代えて委譲先の鍵発行機関20Cに秘密鍵SKu jを要求する。鍵発行機関20Cは、ユーザ端末11Aからの要求に応じて、秘密鍵SKu jを生成して秘密鍵SKu jをユーザ端末11Aに配布する。このように、ユーザシステム10において機密性を保ちたい属性に対しては、ユーザ端末11B(ユーザUB)自身が鍵発行機関の役割を果たし、ユーザシステム10のユーザ(ユーザUA等)に対して鍵の生成及び配布を行う。また、ユーザ端末11BのユーザUBの負担を軽減するために、ユーザシステム10において機密性に拘らない属性、及び関係の無い属性等に対しては、ユーザ端末11Bは委譲鍵DKjを作成し、鍵発行機関20Cに委譲属性に関する鍵の生成及び配布を委譲する。これにより、ユーザ端末11Bは、委譲属性に関する秘密鍵の生成及び配布を行う必要がなくなるので、ユーザ端末11BのユーザUBの負担を軽減することができる。一方、委譲属性以外の属性については、ユーザUBが鍵の管理権限の一部を有しているので、ユーザシステム10以外の全ての鍵発行機関が結託した場合でも、暗号文を復号することはできない。その結果、ユーザUBの負担を軽減しつつ、属性ベース暗号の安全性を向上させることが可能となる。
The
なお、本発明に係る暗号システム、ユーザシステム、暗号方法、及び暗号プログラムは上記実施形態に限定されない。 Note that the encryption system, user system, encryption method, and encryption program according to the present invention are not limited to the above embodiment.
上記実施形態では、各ユーザが鍵発行機関20Aに利用属性の申請を行っているが、他の鍵発行機関に利用属性の申請を行ってもよい。例えば、ある組織のユーザが利用属性の申請を行う鍵発行機関と、別の組織のユーザが利用属性の申請を行う鍵発行機関とが異なる場合のように、2以上の鍵発行機関に利用属性の申請が行われることがある。このような場合、1つの鍵発行機関(例えば、鍵発行機関20A)がそれ以外の鍵発行機関に申請された属性を取りまとめてもよい。他の鍵発行機関は、自身に申請された利用属性について、鍵発行機関20Aに利用属性の申請を行う。鍵発行機関20Aは、上記実施形態と同様に初期設定を行う。
In the above embodiment, each user applies for the use attribute to the
暗号システム1は、公開サーバ30を備えていなくてもよい。この場合、公開情報は、暗号システム1内の各機関に電子メール等によって直接配布される。
The cryptographic system 1 may not have the
ユーザの属性は、所定の規則によって決定されてもよい。例えば、ユーザが会社員である場合には、所属部署、及び入社年度等の属性が管理されている。この場合、これらの属性を一括して、企業の管理部門において利用属性の申請が行われてもよく、各ユーザは利用属性の申請を行わなくてもよい。 The attributes of the user may be determined by predetermined rules. For example, when the user is a company employee, attributes such as the department to which the user belongs and the year of employment are managed. In this case, these attributes may be collectively applied to the usage attribute in the management department of the company, and each user may not apply for the usage attribute.
ユーザシステム10は、1つの組織に属するユーザ端末だけでなく、異なる組織に属するユーザ端末を含んでもよい。この場合、同じ名称の属性が2以上の組織で利用される可能性がある。このため、各組織の属性が一意に識別可能なように属性名等が設定される。例えば、ユーザUAがE社に属しており、ユーザUBがF社に属しており、ユーザUA及びユーザUBが「総務課」の属性について利用属性の申請を行う場合、属性名を「総務課E社」、及び「総務課F社」として2つの属性が区別されるか、会社名の属性と「総務課」の属性とが論理積される。
The
また、ユーザ端末11Bが鍵発行機関20Cに委譲属性を委譲した場合、ユーザ端末11Aは、図5と同様、各鍵発行機関(図5の例では、鍵発行機関20A,20B及びユーザ端末11B)に秘密鍵を要求してもよい。そして、ユーザ端末11BがステップS71の処理を行い、ユーザUAの属性の組み合わせが委譲属性の集合に含まれないと判断された場合(ステップS71:NO)、図5に示される復号鍵生成処理が行われる。一方、ユーザ端末11Bは、ユーザUAの属性の組み合わせが委譲属性の集合に含まれると判断した場合(ステップS71:YES)、ユーザ端末11Aに委譲先の鍵発行機関20Cを通知し、ユーザ端末11Aは鍵発行機関20Cに秘密鍵を要求してもよい。
Further, when the
1…暗号システム、10…ユーザシステム、11A…ユーザ端末(第1ユーザ端末)、11B…ユーザ端末(第2ユーザ端末)、11C…ユーザ端末、20A…鍵発行機関、20B…鍵発行機関、20C…鍵発行機関(別の鍵発行機関)、30…公開サーバ、40…クラウドストレージ、NW…ネットワーク、UA…ユーザ、UB…ユーザ、UC…ユーザ。 DESCRIPTION OF SYMBOLS 1 ... Encryption system, 10 ... User system, 11A ... User terminal (1st user terminal), 11B ... User terminal (2nd user terminal), 11C ... User terminal, 20A ... Key issuing organization, 20B ... Key issuing organization, 20C ... key issuing organization (another key issuing organization), 30 ... public server, 40 ... cloud storage, NW ... network, UA ... user, UB ... user, UC ... user.
Claims (8)
鍵発行機関と、
1以上の属性を含む第1属性を有する第1ユーザ端末及び第2ユーザ端末を含むユーザシステムと、
を備え、
前記鍵発行機関は、第1公開鍵を生成するとともに、前記第1公開鍵を公開し、
前記第2ユーザ端末は、第2公開鍵を生成するとともに、前記第2公開鍵を公開し、
前記第1ユーザ端末は、前記第1属性に応じた第1秘密鍵を前記鍵発行機関に要求するとともに、前記第1属性に応じた第2秘密鍵を前記第2ユーザ端末に要求し、
前記鍵発行機関は、前記第1ユーザ端末からの要求に応じて、前記第1秘密鍵を生成して前記第1秘密鍵を前記第1ユーザ端末に配布し、
前記第2ユーザ端末は、前記第1ユーザ端末からの要求に応じて、前記第2秘密鍵を生成して前記第2秘密鍵を前記第1ユーザ端末に配布し、
前記第1ユーザ端末は、前記第1公開鍵及び前記第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成し、前記第1秘密鍵及び前記第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成する、暗号システム。 An encryption system using attribute-based encryption
Key issuing authority,
A user system comprising a first user terminal having a first attribute comprising one or more attributes and a second user terminal;
Equipped with
The key issuing organization generates a first public key and makes the first public key public.
The second user terminal generates a second public key and makes the second public key public.
The first user terminal requests the key issuing organization for a first secret key corresponding to the first attribute, and requests a second secret key corresponding to the first attribute to the second user terminal.
The key issuing organization generates the first secret key and distributes the first secret key to the first user terminal in response to a request from the first user terminal.
The second user terminal generates the second secret key and distributes the second secret key to the first user terminal in response to a request from the first user terminal.
The first user terminal generates an encryption key for encryption of attribute-based encryption using the first public key and the second public key, and uses the first secret key and the second secret key. Cryptographic system for generating a first decryption key for decryption of attribute based cryptography.
前記第2ユーザ端末は、前記第2属性に応じた第3秘密鍵を前記鍵発行機関に要求するとともに、前記第2属性に応じた第4秘密鍵を生成し、
前記鍵発行機関は、前記第2ユーザ端末からの要求に応じて、前記第3秘密鍵を生成して前記第3秘密鍵を前記第2ユーザ端末に配布し、
前記第2ユーザ端末は、前記第1公開鍵及び前記第2公開鍵を用いて前記暗号化鍵を生成し、前記第3秘密鍵及び前記第4秘密鍵を用いて属性ベース暗号の復号用の第2復号鍵を生成する、請求項1に記載の暗号システム。 The second user terminal has a second attribute including one or more attributes;
The second user terminal requests the key issuing organization for a third secret key corresponding to the second attribute, and generates a fourth secret key corresponding to the second attribute.
The key issuing organization generates the third secret key and distributes the third secret key to the second user terminal in response to a request from the second user terminal.
The second user terminal generates the encryption key using the first public key and the second public key, and uses the third secret key and the fourth secret key to decrypt the attribute-based encryption. The cryptographic system according to claim 1, wherein a second decryption key is generated.
前記第2ユーザ端末は、前記ユーザシステムで用いられる複数の属性のうちの1以上の属性を委譲属性の集合として前記別の鍵発行機関に委譲し、
前記第1ユーザ端末は、前記第1属性が前記委譲属性の集合に含まれる場合には、前記第2秘密鍵を前記別の鍵発行機関に要求し、
前記別の鍵発行機関は、前記第1ユーザ端末からの要求に応じて、前記第2秘密鍵を生成して前記第2秘密鍵を前記第1ユーザ端末に配布する、請求項1又は請求項2に記載の暗号システム。 Further equipped with another key issuing agency,
The second user terminal delegates one or more of the plurality of attributes used in the user system to the other key issuing organization as a set of delegation attributes,
The first user terminal requests the second secret key from the other key issuing organization if the first attribute is included in the set of delegation attributes.
The other key issuing organization generates the second secret key and distributes the second secret key to the first user terminal in response to a request from the first user terminal. The encryption system according to 2.
前記第1ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵と前記第2ユーザ端末によって生成された第2公開鍵とを取得して、前記第1公開鍵及び前記第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成し、
前記第1ユーザ端末は、前記第1属性に応じた第1秘密鍵を前記鍵発行機関に要求するとともに、前記第1属性に応じた第2秘密鍵を前記第2ユーザ端末に要求し、
前記第1ユーザ端末は、前記第1秘密鍵を前記鍵発行機関から取得し、前記第2秘密鍵を前記第2ユーザ端末から取得し、前記第1秘密鍵及び前記第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成する、ユーザシステム。 A user system including a first user terminal having a first attribute including one or more attributes and a second user terminal, wherein the user system uses attribute-based encryption,
The first user terminal acquires a first public key generated by an external key issuing organization and a second public key generated by the second user terminal, and the first public key and the second public key are acquired. Generate an encryption key for attribute based encryption encryption using the key,
The first user terminal requests the key issuing organization for a first secret key corresponding to the first attribute, and requests a second secret key corresponding to the first attribute to the second user terminal.
The first user terminal acquires the first secret key from the key issuing organization, acquires the second secret key from the second user terminal, and uses the first secret key and the second secret key. A user system generating a first decryption key for decryption of attribute-based encryption.
前記第2ユーザ端末は、前記第2属性に応じた第3秘密鍵を前記鍵発行機関に要求するとともに、前記第2属性に応じた第4秘密鍵を生成し、
前記第2ユーザ端末は、前記第1公開鍵及び前記第2公開鍵を用いて前記暗号化鍵を生成し、
前記第2ユーザ端末は、前記第3秘密鍵を前記鍵発行機関から取得して、前記第3秘密鍵及び前記第4秘密鍵を用いて属性ベース暗号の復号用の第2復号鍵を生成する、請求項4に記載のユーザシステム。 The second user terminal has a second attribute including one or more attributes;
The second user terminal requests the key issuing organization for a third secret key corresponding to the second attribute, and generates a fourth secret key corresponding to the second attribute.
The second user terminal generates the encryption key using the first public key and the second public key.
The second user terminal acquires the third secret key from the key issuing organization, and generates a second decryption key for attribute-based encryption decryption using the third secret key and the fourth secret key. The user system according to claim 4.
前記第1ユーザ端末は、前記第1属性が前記委譲属性の集合に含まれる場合には、前記第2秘密鍵を前記別の鍵発行機関に要求する、請求項4又は請求項5に記載のユーザシステム。 The second user terminal delegates one or more of the plurality of attributes used in the user system to another key issuing organization as a set of delegation attributes,
The said 1st user terminal requests | requires the said 2nd secret key to the said another key issuing organization, when the said 1st attribute is contained in the set of the said transfer attribute, The 4th or Claim 5 User system.
外部の鍵発行機関によって生成された第1公開鍵と前記第2ユーザ端末によって生成された第2公開鍵とを取得するステップと、
前記第1公開鍵及び前記第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成するステップと、
前記第1属性に応じた第1秘密鍵を前記鍵発行機関に要求するとともに、前記第1属性に応じた第2秘密鍵を前記第2ユーザ端末に要求するステップと、
前記第1秘密鍵を前記鍵発行機関から取得し、前記第2秘密鍵を前記第2ユーザ端末から取得するステップと、
前記第1秘密鍵及び前記第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成するステップと、
を備える暗号方法。 A cryptographic method performed by the first user terminal in a user system including a first user terminal and a second user terminal having a first attribute including one or more attributes and using attribute-based encryption,
Acquiring a first public key generated by an external key issuing organization and a second public key generated by the second user terminal;
Generating an encryption key for attribute-based encryption using the first public key and the second public key;
Requesting a first secret key according to the first attribute from the key issuing organization, and requesting a second secret key according to the first attribute from the second user terminal;
Acquiring the first secret key from the key issuing authority and acquiring the second secret key from the second user terminal;
Generating a first decryption key for decryption of attribute based encryption using the first secret key and the second secret key;
Cryptographic method comprising:
外部の鍵発行機関によって生成された第1公開鍵と、前記コンピュータとともにユーザシステムに属するユーザ端末によって生成された第2公開鍵と、を取得するステップと、
前記第1公開鍵及び前記第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成するステップと、
前記コンピュータの1以上の属性を含む第1属性に応じた第1秘密鍵を前記鍵発行機関に要求するとともに、前記第1属性に応じた第2秘密鍵を前記ユーザ端末に要求するステップと、
前記第1秘密鍵を前記鍵発行機関から取得し、前記第2秘密鍵を前記ユーザ端末から取得するステップと、
前記第1秘密鍵及び前記第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成するステップと、
を実行させるための暗号プログラム。 On the computer
Acquiring a first public key generated by an external key issuing organization, and a second public key generated by a user terminal belonging to a user system together with the computer;
Generating an encryption key for attribute-based encryption using the first public key and the second public key;
Requesting a first secret key according to a first attribute including one or more attributes of the computer from the key issuing organization, and requesting a second secret key according to the first attribute from the user terminal;
Acquiring the first secret key from the key issuing authority and acquiring the second secret key from the user terminal;
Generating a first decryption key for decryption of attribute based encryption using the first secret key and the second secret key;
Cryptographic program to run.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017217331A JP6936482B2 (en) | 2017-11-10 | 2017-11-10 | Cryptographic systems, user systems, cryptographic methods, and cryptographic programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017217331A JP6936482B2 (en) | 2017-11-10 | 2017-11-10 | Cryptographic systems, user systems, cryptographic methods, and cryptographic programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019086744A true JP2019086744A (en) | 2019-06-06 |
JP6936482B2 JP6936482B2 (en) | 2021-09-15 |
Family
ID=66762992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017217331A Active JP6936482B2 (en) | 2017-11-10 | 2017-11-10 | Cryptographic systems, user systems, cryptographic methods, and cryptographic programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6936482B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203182A (en) * | 2011-03-25 | 2012-10-22 | Mitsubishi Electric Corp | Encryption processing system, key generation device, encryption device, decoding device, encryption processing method, and encryption processing program |
JP2014139623A (en) * | 2013-01-21 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | Function type cryptography system and method |
-
2017
- 2017-11-10 JP JP2017217331A patent/JP6936482B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203182A (en) * | 2011-03-25 | 2012-10-22 | Mitsubishi Electric Corp | Encryption processing system, key generation device, encryption device, decoding device, encryption processing method, and encryption processing program |
JP2014139623A (en) * | 2013-01-21 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | Function type cryptography system and method |
Non-Patent Citations (1)
Title |
---|
高島克幸,岡本龍明: "アクセス権限を制御できる最新技術「関数型暗号」", 日経エレクトロニクス, vol. 第1087号, JPN6021030201, pages 87 - 95, ISSN: 0004566475 * |
Also Published As
Publication number | Publication date |
---|---|
JP6936482B2 (en) | 2021-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102025409B1 (en) | Data access management system based on blockchain and method thereof | |
Yan et al. | Heterogeneous data storage management with deduplication in cloud computing | |
Hota et al. | Capability-based cryptographic data access control in cloud computing | |
CN108418784B (en) | Distributed cross-domain authorization and access control method based on attribute password | |
US10735186B2 (en) | Revocable stream ciphers for upgrading encryption in a shared resource environment | |
CN113037484B (en) | Data transmission method, device, terminal, server and storage medium | |
WO2021098152A1 (en) | Blockchain-based data processing method, device, and computer apparatus | |
CN114679340B (en) | File sharing method, system, device and readable storage medium | |
Li et al. | Multi-user searchable encryption with a designated server | |
JP2007201522A (en) | Encryption communication system, key sharing method, key providing apparatus, and information processing apparatus | |
Kalaivani et al. | Enhanced hierarchical attribute based encryption with modular padding for improved public auditing in cloud computing using semantic ontology | |
JP6401875B2 (en) | Data processing system | |
Ramachandran et al. | Secure and efficient data forwarding in untrusted cloud environment | |
JP4891933B2 (en) | Access control device, access control method and program | |
US20240179150A1 (en) | Management of access rights to digital files with possible delegation of the rights | |
JP2020099010A (en) | Information processing method, information processing device, program, and information processing system | |
JP6936482B2 (en) | Cryptographic systems, user systems, cryptographic methods, and cryptographic programs | |
Srisakthi et al. | Pcsp: A protected cloud storage provider employing light weight techniques | |
Yasmin et al. | Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds | |
Swetha et al. | Security on mobile cloud computing using cipher text policy and attribute based encryption scheme | |
Dhal et al. | RACC: an efficient and revocable fine grained access control model for cloud storage | |
Liu et al. | A secure and efficient data sharing framework with delegated capabilities in hybrid cloud | |
Ullah et al. | QuSigS: A quantum Signcryption scheme to recover key escrow problem and key revocation problem in cloud computing | |
SATHEESH et al. | A NOVEL HARDWARE PARAMETERS BASED CLOUD DATA ENCRYPTION AND DECRYPTION AGAINST UNAUTHORIZED USERS. | |
JP2020098993A (en) | Data management device, data management method, data management program, and data management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201021 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210622 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210810 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210820 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6936482 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |