JP2016139894A - Re-encryption method, re-encryption system, and re-encryption device - Google Patents

Re-encryption method, re-encryption system, and re-encryption device Download PDF

Info

Publication number
JP2016139894A
JP2016139894A JP2015013107A JP2015013107A JP2016139894A JP 2016139894 A JP2016139894 A JP 2016139894A JP 2015013107 A JP2015013107 A JP 2015013107A JP 2015013107 A JP2015013107 A JP 2015013107A JP 2016139894 A JP2016139894 A JP 2016139894A
Authority
JP
Japan
Prior art keywords
encryption
key
encrypted
encrypted data
user terminal
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
Application number
JP2015013107A
Other languages
Japanese (ja)
Other versions
JP6302851B2 (en
Inventor
尚生 坂崎
Hisao Sakazaki
尚生 坂崎
なおこ 郷
Naoko Go
なおこ 郷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015013107A priority Critical patent/JP6302851B2/en
Priority to CN201510850048.6A priority patent/CN105827585B/en
Publication of JP2016139894A publication Critical patent/JP2016139894A/en
Application granted granted Critical
Publication of JP6302851B2 publication Critical patent/JP6302851B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Abstract

PROBLEM TO BE SOLVED: To securely avoid encryption data's browsing by unauthorized persons including a device manager, in an environment in which browsing right management for each user is performed by holding, in a predetermined device, encryption data shared by a plurality of users.SOLUTION: A re-encryption system 1 has a configuration including: a re-encryption device 20 that receives, from a user terminal of a data creator, first encryption data obtained by encrypting a plaintext by using a first encryption key of the data creator and second and third encryption data obtained by encrypting the first encryption key and predetermined data generated from the first encryption key by using a predetermined algorithm, respectively by using a commutative encryption algorithm, and individually re-encrypts the second and third encryption data so as to be capable of being decrypted by using a decryption key of a user having a browsing right; and a user terminal 10 that acquires the first encryption data and the respective re-encrypted second and third encryption data from the re-encryption device 20, decrypts the re-encrypted second encryption data by using the user's decryption key to obtain the first encryption key, and uses the first encryption key to decrypt the first encryption data and output the plaintext.SELECTED DRAWING: Figure 1

Description

本発明は、再暗号化方法、再暗号化システム、および再暗号化装置に関するものであり、具体的には、複数ユーザ間で共有の暗号化データを所定装置にて保持しユーザ毎の閲覧権限管理を行う環境下において、装置管理者を含む無権限者による暗号化データの閲覧を確実に回避する技術に関する。   The present invention relates to a re-encryption method, a re-encryption system, and a re-encryption device, and more specifically, a predetermined device holds encrypted data shared among a plurality of users, and viewing authority for each user. The present invention relates to a technique for reliably avoiding browsing of encrypted data by an unauthorized person including a device administrator in an environment where management is performed.

複数ユーザ間でサーバ等に格納した暗号化データを共有している状況において、或るユーザのアクセス権を失効させても、暗号化データ復号用の復号鍵が該当ユーザにて保持されたままであれば、そのユーザからの暗号化データ閲覧を許してしまう恐れがある。こうした、アクセス権失効がなされたユーザからの閲覧を防止するためには、暗号化データを別の暗号鍵で暗号化し直す必要がある。   In a situation where encrypted data stored on a server etc. is shared among multiple users, even if the access right of a certain user is revoked, the decryption key for decrypting the encrypted data may be held by the corresponding user. In this case, the user may be allowed to view the encrypted data. In order to prevent such browsing from a user whose access right has been revoked, it is necessary to re-encrypt the encrypted data with another encryption key.

この場合の暗号化に関しては、例えば、暗号化データを上述のサーバ等で一度復号化し、この復号化で得た平文データを再度別の暗号鍵で暗号化するといった手法を採用することができる。しかしながらそうした手法を採用した場合、上述の復号化で得られた平文データがサーバから漏洩するリスクが高くなってしまう。   Regarding encryption in this case, for example, it is possible to employ a technique in which encrypted data is once decrypted by the above-described server or the like, and plaintext data obtained by this decryption is encrypted again with another encryption key. However, when such a method is adopted, the risk that the plaintext data obtained by the above-described decryption leaks from the server is increased.

そこで、暗号化データを復号せずに新しい暗号鍵で再暗号化させる技術が知られている。特に近年、この再暗号化技術は、クラウドサービス上でより安全にデータを共有できる技術として注目されている。このような再暗号化技術としては、例えば、平文データを第1の暗号鍵を用いて暗号化して暗号化データを作成する暗号化部と、前記暗号化データを読み出し可能に記憶するデータ保存部とを備えたストレージノードに設けられて、前記暗号化データを第2の暗号鍵で復号できる再暗号化データに変換するストレージノード用再暗号化システム(特許文献1参照)などが提案されている。   Therefore, a technique for re-encrypting encrypted data with a new encryption key without decrypting the data is known. In particular, in recent years, this re-encryption technique has attracted attention as a technique that allows data to be shared more securely on a cloud service. As such a re-encryption technique, for example, an encryption unit that encrypts plaintext data using a first encryption key to create encrypted data, and a data storage unit that stores the encrypted data in a readable manner And a storage node re-encryption system (see Patent Document 1) that converts the encrypted data into re-encrypted data that can be decrypted with a second encryption key. .

この技術では、ストレージサーバにて複数の暗号鍵を生成、保持する一方、データ作成者は対象データを平文データのままストレージサーバに登録する。また、ストレージサーバは、その平文データに第一の暗号鍵を適用してストリーム暗号方式にて暗号化を行う。そしてストレージサーバは、アクセス権を有するユーザごとに、その公開鍵を用いて上述の第一の暗号鍵に対する暗号化を各々行う。ストレージサーバは、当該暗号化後の第一の暗号鍵および上述のストリーム暗号化のデータと、平文データとを共に管理する。   In this technology, a plurality of encryption keys are generated and held in the storage server, while the data creator registers the target data as plain text data in the storage server. In addition, the storage server applies the first encryption key to the plaintext data and performs encryption by the stream encryption method. Then, the storage server performs encryption on the first encryption key using the public key for each user having access rights. The storage server manages both the encrypted first encryption key, the above-described stream encryption data, and plaintext data.

こうした状況下において、或るユーザが暗号化データ(上述の平文データをストリーム暗号化したデータ)に対するアクセス権を失効した際、ストレージサーバは、自身で生成した第二の暗号鍵を用いて、上述の暗号化データを暗号化(二重暗号化)し、この二重暗号化したデータを第一の暗号鍵を用いて復号化する。なお、ストリーム暗号技術において、暗号化に用いる鍵と復号に用いる鍵は同一である。   Under such circumstances, when a certain user revokes the access right to the encrypted data (data obtained by stream encryption of the above-mentioned plaintext data), the storage server uses the second encryption key generated by itself to Is encrypted (double-encrypted), and the double-encrypted data is decrypted using the first encryption key. In the stream encryption technique, the key used for encryption and the key used for decryption are the same.

ストレージサーバは、上述の第二の暗号鍵を、残りのユーザ(アクセス権が有効なユーザ)の公開鍵で各々暗号化し、上述の二重暗号化したデータを第一の暗号鍵にて復号したデータと、第二の暗号鍵を各公開鍵で暗号化したデータと共に管理する。ここで、ストリーム暗号技術では暗号化の順番を問わない為、第一の暗号鍵でストリーム暗号化したデータを第二の暗号鍵で二重暗号化し、更に第一の暗号鍵で復号したデータは、単に第二の暗号鍵で暗号化したデータと等しくなる。   The storage server encrypts the second encryption key with the public keys of the remaining users (users with valid access rights), and decrypts the double-encrypted data with the first encryption key. The data and the second encryption key are managed together with the data encrypted with each public key. Here, since the encryption order does not matter in the stream encryption technology, the data encrypted with the first encryption key is double-encrypted with the second encryption key, and the data decrypted with the first encryption key is Simply equal to the data encrypted with the second encryption key.

従来技術ではこの性質を応用し、対象となる暗号化データを復号せずに新しい暗号鍵で
再暗号化させる方法を実現している。
In the prior art, this property is applied to realize a method of re-encrypting the target encrypted data with a new encryption key without decrypting it.

特許第5133850号公報Japanese Patent No. 5133850

しかしながら従来技術においては、暗号化対象のデータがデータ作成者により平文データのままストレージサーバに登録される。そのため、ストレージサーバの管理者は暗号化前の平文データをそのまま閲覧することが可能である。また、この平文データは、ストレージサーバにて暗号化されるといえども、当該ストレージサーバ自身が上述の各暗号鍵を生成、管理している関係上、ストレージサーバの管理者によれば、ストレージサーバで保持する暗号鍵を用いた暗号化データの復号化は自在である。   However, in the prior art, data to be encrypted is registered in the storage server by the data creator as plain text data. Therefore, the administrator of the storage server can browse the plaintext data before encryption as it is. In addition, even though this plaintext data is encrypted by the storage server, the storage server itself generates and manages the above encryption keys. The decryption of the encrypted data using the encryption key held in is free.

つまり、データの閲覧権限が無いストレージサーバの管理者であっても、該当サーバで保持する暗号鍵を用いて暗号化データを復号化し、その平文データを閲覧可能となる、といった状況を排除出来ない課題があった。   In other words, even a storage server administrator who does not have the right to view data cannot be excluded from the situation where the encrypted data can be decrypted using the encryption key held by the server and the plaintext data can be viewed. There was a problem.

本発明は、このような事情に鑑みてなされたものであり、複数ユーザ間で共有の暗号化データを所定装置にて保持しユーザ毎の閲覧権限管理を行う環境下において、装置管理者を含む無権限者による暗号化データの閲覧を確実に回避する技術を提供することにある。   The present invention has been made in view of such circumstances, and includes an apparatus administrator in an environment in which encrypted data shared by a plurality of users is held in a predetermined apparatus and browsing authority is managed for each user. It is an object of the present invention to provide a technique for reliably avoiding browsing of encrypted data by an unauthorized person.

上記課題を解決する本発明の再暗号化方法は、複数の利用者端末とネットワークを介して接続された再暗号化装置が、データ作成者の第1暗号鍵にて平文を暗号化した第1の暗号化データと、前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化した第2および第3の暗号化データとを、前記データ作成者の利用者端末から受信し、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2および第3の各暗号化データを再暗号化する処理を実行し、前記閲覧権限を有する利用者の利用者端末が、前記第1の暗号化データと前記再暗号化された第2および第3の各暗号化データとを前記再暗号化装置から取得し、前記再暗号化された第2の暗号化データから、当該利用者端末が保持する自身の復号鍵によって前記第1暗号鍵を復号し、当該復号で得た第1暗号鍵により前記第1の暗号化データを復号して前記平文を出力する処理を実行することを特徴とする。   In the re-encryption method of the present invention that solves the above-described problem, a re-encryption device connected to a plurality of user terminals via a network encrypts a plaintext with a first encryption key of a data creator. And the second and third encrypted data obtained by encrypting the first encryption key and the predetermined data generated from the first encryption key with a predetermined algorithm using a commutative encryption algorithm, respectively. , Executing a process of re-encrypting each of the second and third encrypted data received from the user terminal of the data creator and decryptable with a decryption key of the user having the authority to view the plaintext The user terminal of the user having the viewing authority acquires the first encrypted data and the re-encrypted second and third encrypted data from the re-encryption device, and Re-encrypted second encrypted data The first encryption key is decrypted with its own decryption key held by the user terminal, the first encrypted data is decrypted with the first encryption key obtained by the decryption, and the plaintext is output. It is characterized by performing.

また、本発明の再暗号化システムは、複数の利用者端末と通信する通信装置と、データ作成者の第1暗号鍵にて平文を暗号化した第1の暗号化データと、前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化した第2および第3の暗号化データとを、前記データ作成者の利用者端末から受信し、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2および第3の各暗号化データを再暗号化する処理を実行する演算装置とを備えた再暗号化装置と、前記再暗号化装置と通信する通信装置と、前記第1の暗号化データと前記再暗号化された第2および第3の各暗号化データとを前記再暗号化装置から取得し、前記再暗号化された第2の暗号化データから、当該利用者端末が保持する自身の復号鍵によって前記第1暗号鍵を復号し、当該復号で得た第1暗号鍵により前記第1の暗号化データを復号して前記平文を出力する処理を実行する演算装置とを備えた利用者端末と、を含むことを特徴とする。   The re-encryption system of the present invention includes a communication device that communicates with a plurality of user terminals, first encrypted data obtained by encrypting plaintext with a first encryption key of a data creator, and the first encryption. Second and third encrypted data obtained by encrypting a key and predetermined data generated from the first encryption key by a predetermined algorithm with a commutative encryption algorithm, from the user terminal of the data creator A re-encryption device comprising: an arithmetic unit that executes a process of re-encrypting each of the second and third encrypted data so as to be received and decryptable with a decryption key of a user having the authority to view the plaintext A communication device communicating with the re-encryption device, the first encrypted data, and the re-encrypted second and third encrypted data from the re-encryption device, Is the second encrypted data re-encrypted? The process of decrypting the first encryption key with its own decryption key held by the user terminal, decrypting the first encrypted data with the first encryption key obtained by the decryption, and outputting the plaintext And a user terminal provided with a computing device to be executed.

また、本発明の再暗号化装置は、複数の利用者端末と通信する通信装置と、データ作成
者の第1暗号鍵にて平文を暗号化した第1の暗号化データと、前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化した第2および第3の暗号化データとを、前記データ作成者の利用者端末から受信し、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2および第3の各暗号化データを再暗号化する処理を実行し、前記第1の暗号化データと前記再暗号化された第2および第3の各暗号化データとを前記利用者端末に送信する演算装置とを備えることを特徴とする。
The re-encryption device of the present invention includes a communication device that communicates with a plurality of user terminals, first encrypted data obtained by encrypting plaintext with a first encryption key of a data creator, and the first encryption. Second and third encrypted data obtained by encrypting a key and predetermined data generated from the first encryption key by a predetermined algorithm with a commutative encryption algorithm, from the user terminal of the data creator Receiving and executing a process of re-encrypting each of the second and third encrypted data so that the decryption key can be decrypted with a decryption key of a user having the authority to view the plaintext, and the first encrypted data and the And an arithmetic unit that transmits the re-encrypted second and third encrypted data to the user terminal.

本発明によれば、複数ユーザ間で共有の暗号化データを所定装置にて保持しユーザ毎の閲覧権限管理を行う環境下において、装置管理者を含む無権限者による暗号化データの閲覧を確実に回避可能となる。   According to the present invention, in an environment where encrypted data shared by a plurality of users is held in a predetermined device and browsing authority management is performed for each user, it is ensured that the unauthorized data including the device administrator can browse the encrypted data. Can be avoided.

本実施形態の再暗号化装置を含むシステム構成例を示す図である。It is a figure which shows the system configuration example containing the re-encryption apparatus of this embodiment. 本実施形態における利用者端末のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the user terminal in this embodiment. 本実施形態における再暗号化装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the re-encryption apparatus in this embodiment. 本実施形態における再暗号化方法の手順例1を示すシーケンス図である。It is a sequence diagram which shows the procedure example 1 of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例2を示すシーケンス図である。It is a sequence diagram which shows the procedure example 2 of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例3を示すシーケンス図である。It is a sequence diagram which shows the example 3 of a procedure of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例4を示すシーケンス図である。It is a sequence diagram which shows the example 4 of a procedure of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例5を示すシーケンス図である。It is a sequence diagram which shows procedure example 5 of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例6を示すシーケンス図である。It is a sequence diagram which shows the example 6 of a procedure of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例7を示すシーケンス図である。It is a sequence diagram which shows the example 7 of a procedure of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例8を示すシーケンス図である。It is a sequence diagram which shows the example 8 of a procedure of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例9を示すシーケンス図である。It is a sequence diagram which shows the example 9 of a procedure of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例10を示すシーケンス図である。It is a sequence diagram which shows the example 10 of a procedure of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例11を示すシーケンス図である。It is a sequence diagram which shows the example 11 of a procedure of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例12を示すシーケンス図である。It is a sequence diagram which shows the procedure example 12 of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例13を示すシーケンス図である。It is a sequence diagram which shows the procedure example 13 of the re-encryption method in this embodiment. 本実施形態における再暗号化方法の手順例14を示すシーケンス図である。It is a sequence diagram which shows the procedure example 14 of the re-encryption method in this embodiment. 本実施形態の変換鍵の登録テーブルの構成例1を示す図である。It is a figure which shows the structural example 1 of the registration table of the conversion key of this embodiment. 本実施形態のアクセス鍵の登録テーブルの構成例1を示す図である。It is a figure which shows the structural example 1 of the registration table of the access key of this embodiment. 本実施形態のアクセス鍵の登録テーブルの構成例2を示す図である。It is a figure which shows the structural example 2 of the registration table of the access key of this embodiment. 本実施形態のアクセス鍵の登録テーブルの構成例3を示す図である。It is a figure which shows the structural example 3 of the registration table of the access key of this embodiment. 本実施形態の二重暗号鍵の登録テーブルの構成例1を示す図である。It is a figure which shows the structural example 1 of the registration table of the double encryption key of this embodiment. 本実施形態の暗号化データの登録テーブルの構成例1を示す図である。It is a figure which shows the structural example 1 of the registration table of the encryption data of this embodiment. 本実施形態の暗号化データの登録テーブルの構成例2を示す図である。It is a figure which shows the structural example 2 of the registration table of the encryption data of this embodiment. 本実施形態の暗号化データの登録テーブルの構成例3を示す図である。It is a figure which shows the structural example 3 of the registration table of the encryption data of this embodiment. 本実施形態の変換鍵の登録テーブルの構成例2を示す図である。It is a figure which shows the structural example 2 of the registration table of the conversion key of this embodiment. 本実施形態のアクセス鍵の登録テーブルの構成例4を示す図である。It is a figure which shows the structural example 4 of the registration table of the access key of this embodiment. 本実施形態の暗号化データの登録テーブルの構成例4を示す図である。It is a figure which shows the structural example 4 of the registration table of the encryption data of this embodiment. 本実施形態の二重暗号鍵の登録テーブルの構成例2を示す図である。It is a figure which shows the structural example 2 of the registration table of the double encryption key of this embodiment.

−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態における再暗号化装置20を含む再暗号化システム1の全体構成例を示す図である。この図では、全体構成と共に、再暗号化システム1を構成する各コンピュータの機能構成例についても示している。図1に示す再暗号化システム1は、複数ユーザ間で共有の暗号化データを再暗号化装置20(所定装置)にて保持しユーザ毎の閲覧権限管理を行う環境下において、再暗号化装置20の管理者を含む無権限者による暗号化データの閲覧を確実に回避するシステムである。
--- System configuration ---
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a diagram illustrating an example of the overall configuration of a re-encryption system 1 including a re-encryption device 20 according to the present embodiment. In this figure, an example of a functional configuration of each computer constituting the re-encryption system 1 is shown together with the overall configuration. The re-encryption system 1 shown in FIG. 1 is a re-encryption device in an environment in which encrypted data shared by a plurality of users is held in a re-encryption device 20 (predetermined device) and browsing authority is managed for each user. This is a system that reliably avoids browsing of encrypted data by unauthorized persons including 20 managers.

本実施形態に係る再暗号化システム1は、複数の利用者端末10(本実施形態では、複数の利用者端末10を区別するため、便宜的に“10−1”、“10−2”、“10−3”、“10−4”、と表記するが、特に利用者端末間で区別が必要無い記載の場合、利用者端末10とする)と、再暗号化装置20とがインターネットなどの適宜なネットワーク30を介して通信可能に接続されて構成されたコンピュータネットワークシステムである。   The re-encryption system 1 according to the present embodiment includes a plurality of user terminals 10 (in this embodiment, for the sake of convenience, “10-1”, “10-2”, “10-3” and “10-4” are described, and in particular, the user terminal 10 is used when there is no need to distinguish between the user terminals) and the re-encryption device 20 includes the Internet. This is a computer network system configured to be communicably connected via an appropriate network 30.

図1に示すように、各利用者端末10−1〜10−4は、秘密鍵生成部101、鍵演算部102、公開ID記憶部103、鍵記憶部104、情報生成部105、暗号処理部106、暗号化データ送受信部107、一次記憶部108、および情報表示部109から構成することができる。   As shown in FIG. 1, each of the user terminals 10-1 to 10-4 includes a secret key generation unit 101, a key calculation unit 102, a public ID storage unit 103, a key storage unit 104, an information generation unit 105, and an encryption processing unit. 106, an encrypted data transmission / reception unit 107, a primary storage unit 108, and an information display unit 109.

このうち秘密鍵生成部101は、各利用者端末10−1〜10−4で管理する秘密鍵を生成するものである。また、鍵演算部102は、動的に暗号鍵、復号鍵等を生成するものである。また、公開ID記憶部103は、通信相手端末を識別するID(identification)を記憶するものである。また、鍵記憶部104は、秘密鍵成部101で生成された秘密鍵を安全に管理するものである。また、情報生成部105は、通信相手端末へのメッセージを生成するものである。また、暗号処理部106は、暗号鍵を用いてメッセージを暗号化したり、復号鍵を用いて暗号化データを復号したりするものである。また、暗号化データ送受信部107は、暗号化データを送受信する。また、一次記憶部108は、半導体を用いた一次記憶領域である。また、情報表示部109は、メッセージを表示するものである。なお、上述した通信相手を識別するIDは、メールアドレスや身分証明書番号等、公に個人を特定できるものであればよく、利用するシステム毎に予め利用者に通知されているものとする。   Among these, the secret key generation unit 101 generates a secret key managed by each of the user terminals 10-1 to 10-4. In addition, the key calculation unit 102 dynamically generates an encryption key, a decryption key, and the like. The public ID storage unit 103 stores an ID (identification) for identifying a communication partner terminal. The key storage unit 104 manages the secret key generated by the secret key generation unit 101 safely. The information generation unit 105 generates a message to the communication partner terminal. The encryption processing unit 106 encrypts a message using an encryption key or decrypts encrypted data using a decryption key. The encrypted data transmission / reception unit 107 transmits / receives encrypted data. The primary storage unit 108 is a primary storage area using a semiconductor. The information display unit 109 displays a message. Note that the ID for identifying the communication partner described above may be any ID that can publicly identify an individual, such as an email address or identification card number, and is assumed to be notified to the user in advance for each system to be used.

このような機能を有する各利用者端末10−1〜10−4は、図2に例示するように一般的なコンピュータにより実現できる。例えば、秘密鍵生成部101、鍵演算部102、情報生成部105、暗号処理部106、暗号化データ送受信部107は、CPU(Central Processing Unit)等の演算装置14により実行されるコンピュータプログラム12と
して実現できる。こうしたコンピュータプログラム12は、例えば、ハードディスクやフラッシュメモリデバイス等の記憶装置11に予め格納、保持するか、或いはネットワーク30から配布を受けて利用することとできる。また、公開ID記憶部103、鍵記憶部104も上述の記憶装置11として実現できる。また、一次記憶部108はメモリ13にて実現出来る。また、情報表示部109は、例えば液晶表示装置や有機EL(Electro Luminescence)ディスプレイなど出力装置16として実現できる。この他、利用者端末10−1〜10−4は、利用者からの指示、入力を受け付けるためのキーボードやマウス等の入力装置15、およびネットワーク30を介して他装置と通信する通信装置17を備える。
Each of the user terminals 10-1 to 10-4 having such a function can be realized by a general computer as illustrated in FIG. For example, the secret key generation unit 101, the key calculation unit 102, the information generation unit 105, the encryption processing unit 106, and the encrypted data transmission / reception unit 107 are used as the computer program 12 executed by the calculation device 14 such as a CPU (Central Processing Unit). realizable. Such a computer program 12 can be stored and held in advance in the storage device 11 such as a hard disk or a flash memory device, or can be distributed from the network 30 and used. The public ID storage unit 103 and the key storage unit 104 can also be realized as the storage device 11 described above. Further, the primary storage unit 108 can be realized by the memory 13. The information display unit 109 can be realized as the output device 16 such as a liquid crystal display device or an organic EL (Electro Luminescence) display. In addition, the user terminals 10-1 to 10-4 include an input device 15 such as a keyboard and a mouse for receiving instructions and inputs from the user, and a communication device 17 that communicates with other devices via the network 30. Prepare.

また再暗号化装置20の機能構成は以下の通りとなる。図1にて示すように、再暗号化装置20は、暗号化データ送受信部201、送受信者制御部202、変換鍵記憶部203、暗号化データ記憶部204、鍵演算部205、再暗号化処理部206、一次記憶部20
7、アクセス鍵記憶部208、および二重暗号鍵記憶部209から構成することができる。
The functional configuration of the re-encryption device 20 is as follows. As shown in FIG. 1, the re-encryption device 20 includes an encrypted data transmission / reception unit 201, a sender / receiver control unit 202, a conversion key storage unit 203, an encrypted data storage unit 204, a key calculation unit 205, and a re-encryption process. Unit 206, primary storage unit 20
7, an access key storage unit 208, and a double encryption key storage unit 209.

このうち暗号化データ送受信部201は、暗号化データを送受信するものである。また、送受信者制御部202は、再暗号化装置20にアップロードされた暗号化データがどの利用者端末からどの利用者端末へのメッセージであるかを制御するものである。また、変換鍵記憶部203は、再暗号化に用いる変換鍵を管理するものである。また、暗号化データ記憶部204は、再暗号化データを記憶するものである。また、鍵演算部205は、変換鍵を登録するための情報を計算したり、乱数を生成したりするものである。また、再暗号化処理部206は、再暗号化処理を行うものである。また、アクセス鍵記憶部208は、暗号化データを復号する為の情報を暗号化した情報(以下、アクセス鍵と称する)を記憶するものである。また、二重暗号鍵記憶部209は、暗号化データを更に二重に暗号化する際に用いた暗号鍵(以下、二重暗号鍵と称する)を記憶するものである。   Among these, the encrypted data transmitting / receiving unit 201 transmits / receives encrypted data. The sender / receiver control unit 202 controls which user terminal the encrypted data uploaded to the re-encryption apparatus 20 is from which user terminal. The conversion key storage unit 203 manages a conversion key used for re-encryption. The encrypted data storage unit 204 stores re-encrypted data. The key calculation unit 205 calculates information for registering the conversion key or generates a random number. The re-encryption processing unit 206 performs re-encryption processing. The access key storage unit 208 stores information obtained by encrypting information for decrypting encrypted data (hereinafter referred to as an access key). The double encryption key storage unit 209 stores an encryption key (hereinafter referred to as a double encryption key) used when the encrypted data is further encrypted twice.

こうした再暗号化装置20は、図3に例示するように一般的なコンピュータにより実現できる。例えば、暗号化データ送受信部201、送受信者制御部202、鍵演算部205、および再暗号化処理部206は、CPU(Central Processing Unit)等の演算装置2
4により実行されるコンピュータプログラム22として実現できる。こうしたコンピュータプログラム22は、例えば、ハードディスクやフラッシュメモリデバイス等の記憶装置21に予め格納、保持するか、或いはネットワーク30から配布を受けて利用することとできる。また、変換鍵記憶部203、暗号化データ記憶部204、アクセス鍵記憶部208、および二重暗号鍵記憶部209は、記憶装置21として実現できる。また、一次記憶部207はメモリ23にて実現出来る。この他、再暗号化装置20は、ネットワーク30を介して利用者端末10−1〜10−4ら他装置と通信する通信装置25を備える。
Such a re-encryption device 20 can be realized by a general computer as illustrated in FIG. For example, the encrypted data transmission / reception unit 201, the sender / receiver control unit 202, the key calculation unit 205, and the re-encryption processing unit 206 are the calculation device 2 such as a CPU (Central Processing Unit).
4 can be realized as a computer program 22 executed by the computer. Such a computer program 22 can be stored and held in advance in the storage device 21 such as a hard disk or a flash memory device, or can be distributed from the network 30 and used. Also, the conversion key storage unit 203, the encrypted data storage unit 204, the access key storage unit 208, and the double encryption key storage unit 209 can be realized as the storage device 21. The primary storage unit 207 can be realized by the memory 23. In addition, the re-encryption device 20 includes a communication device 25 that communicates with other devices such as the user terminals 10-1 to 10-4 via the network 30.

−−−本実施形態における用語等の定義−−−
ここで、本実施形態で用いる関数および演算子の意味を予め説明する。本実施形態で記載する“h()”は、入力データをハッシュ化するハッシュ関数である。また、“EK()”は、ストリーム暗号による暗号化関数であり、入力データに対し鍵Kを用いて暗号化処理する関数を意味する。また、“DK()”は、ストリーム暗号による復号関数であり、入力データに対し鍵Kを用いて復号処理する関数を意味する。
--- Definition of terms and the like in this embodiment ---
Here, the meanings of functions and operators used in the present embodiment will be described in advance. “H ()” described in the present embodiment is a hash function for hashing input data. “EK ()” is an encryption function using stream encryption, and means a function for performing encryption processing on input data using the key K. “DK ()” is a decryption function based on stream encryption, and means a function for decrypting input data using the key K.

また、“A|B”はデータAとデータBとの連結を意味し、必要に応じて連結したデータからデータAとデータBとを分離することできる。また、図中における“○の中に+”の記号は排他的論理和演算(xor)を意味する。   “A | B” means connection of data A and data B, and data A and data B can be separated from the connected data as necessary. Also, the symbol “+” in the circle in the figure means exclusive OR operation (xor).

なお本実施形態では、暗号化関数および復号関数としてストリーム暗号を用いているが、多重に暗号処理または復号処理を行う際、その処理結果が処理の順番に依存しない可換性の性質を持つ暗号化関数、復号関数であればいずれの関数を採用しても良い。よって、必ずしも本実施形態にて挙げたストリーム暗号を用いなくてもよい。また、本実施形態では、上述のハッシュ関数によるハッシュ値、暗号化に用いる暗号化鍵、復号に用いる復号鍵は同じ長さの固定長とする。   In this embodiment, the stream cipher is used as the encryption function and the decryption function. However, when multiple encryption processes or decryption processes are performed, the encryption process has a commutative property that does not depend on the processing order. Any function may be adopted as long as it is a conversion function or a decryption function. Therefore, the stream cipher mentioned in this embodiment is not necessarily used. In the present embodiment, the hash value by the above hash function, the encryption key used for encryption, and the decryption key used for decryption are set to the same fixed length.

ここであらためて、「再暗号」の定義を記載しておく。広義の意味における「再暗号」は、「暗号文を、再度暗号化すること」となるが、本実施形態における意味すなわち狭義の意味での「再暗号」は、「Aさん宛の暗号文を復号することなくBさんのみが保持する復号鍵で復号できる形に変換すること」を意味している。   Here, the definition of “re-encryption” is described again. “Re-encryption” in the broad sense means “to re-encrypt the ciphertext”, but “re-encryption” in the narrow sense, that is, “re-encryption” in the narrow sense means “ciphertext addressed to Mr. A”. It means “converting to a form that can be decrypted with a decryption key held only by Mr. B without decryption”.

広義の意味では「暗号文を一旦復号し再度暗号化すること」や「暗号文を二重に暗号化」することも含まれるが、本実施形態で想定するように、暗号学の研究分野においては上
述した狭義の意味での「再暗号」を定義として用いるケースが一般に多い。
In a broad sense, it also includes “decrypting the ciphertext once and re-encrypting it” and “encrypting the ciphertext doubly”, but as assumed in this embodiment, In many cases, “re-encryption” in the narrow sense described above is used as a definition.

−−−処理手順例−−−
以下、本実施形態における再暗号化方法の実際手順について図に基づき説明する。以下で説明する再暗号化方法に対応する各種動作は、再暗号化システム1を構成する各装置、すなわち再暗号化装置20および利用者端末10がそれぞれメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
--- Processing procedure example ---
Hereinafter, an actual procedure of the re-encryption method in the present embodiment will be described with reference to the drawings. Various operations corresponding to the re-encryption method described below are realized by programs that are read out and executed by the respective devices constituting the re-encryption system 1, that is, the re-encryption device 20 and the user terminal 10, respectively. The And this program is comprised from the code | cord | chord for performing the various operation | movement demonstrated below.

図4〜9は、本実施形態における再暗号化方法の手順例1〜6を示すシーケンス図である。ここでは、再暗号を行う為の変換鍵の登録、利用者端末間で授受されるメッセージの暗号化、その暗号化データの再暗号化処理、再暗号化データの復号およびメッセージ取得、といった利用者端末間でのメッセージ授受に伴う一連のシーケンスについて説明する。   4 to 9 are sequence diagrams showing procedure examples 1 to 6 of the re-encryption method in the present embodiment. Here, users such as registration of conversion key for re-encryption, encryption of messages exchanged between user terminals, re-encryption processing of the encrypted data, decryption of re-encrypted data and message acquisition A series of sequences associated with message exchange between terminals will be described.

図4のシーケンス図は、再暗号化装置20にて暗号化データを再暗号化する際に用いる、利用者端末10−4と利用者端末10−1との間に関する変換鍵の登録方法を示すシーケンス図である。   The sequence diagram of FIG. 4 shows a method of registering a conversion key between the user terminal 10-4 and the user terminal 10-1, which is used when the re-encryption device 20 re-encrypts the encrypted data. It is a sequence diagram.

この場合まず、利用者Sの利用者端末10−4(利用者端末10−1に宛てたメッセージ作成、送信を行う利用者端末)は、利用者Aの利用者端末10−1へメッセージの内容を通知するため、再暗号化装置20に対して変換鍵の登録申請を実行する(ステップS001)。この変換鍵は、メッセージの暗号化データを再暗号化装置20にて再暗号化する際に用いる鍵となる。   In this case, first, the user terminal 10-4 of the user S (the user terminal that creates and transmits a message addressed to the user terminal 10-1) sends the content of the message to the user terminal 10-1 of the user A. Is sent to the re-encryption apparatus 20 (step S001). This conversion key is a key used when the encrypted data of the message is re-encrypted by the re-encryption device 20.

一方、再暗号化装置20は、利用者端末10−4から上述の変換鍵登録申請を受信すると、予め定めたハッシュ値と同じ長さの乱数pを適宜な乱数生成アルゴリズムにて生成し(ステップS002)、その乱数pを変換鍵登録申請元である上述の利用者端末10−4に送信する(ステップS003)。   On the other hand, when the re-encryption device 20 receives the conversion key registration application from the user terminal 10-4, the re-encryption device 20 generates a random number p having the same length as the predetermined hash value by using an appropriate random number generation algorithm (step). In step S002, the random number p is transmitted to the user terminal 10-4, which is the conversion key registration application source (step S003).

他方、利用者端末10−4は、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて利用者端末10−1に関して管理している公開ID“ID”を、ハッシュ関数に入力してハッシュ値Ks(a)=h(K,ID)を計算することで、鍵を暗号化する鍵暗号鍵を生成する(ステップS004)。 On the other hand, the user terminal 10-4, and the secret key K s of its own that is managed by the key storage unit 104, the public ID "ID which is managed with respect to the user terminal 10-1 in the public ID storage unit 103 By inputting a ″ into the hash function and calculating the hash value K s (a) = h (K s , ID a ), a key encryption key for encrypting the key is generated (step S004).

続いて利用者端末10−4は、上述のステップS004で生成した鍵暗号鍵を用いて、予め定めたハッシュ値と同じ長さで値が全て0のメッセージ“all 0”をストリーム暗号にて暗号化し、予め定めたハッシュ値と同じ長さの乱数rs(a)=EKs(a)(all 0)を生成する(ステップS005)。 Subsequently, the user terminal 10-4 encrypts the message “all 0” having the same length as the predetermined hash value and having the value of all “0” with the stream cipher using the key encryption key generated in step S004 described above. And a random number r s (a) = E Ks (a) (all 0) having the same length as a predetermined hash value is generated (step S005).

また利用者端末10−4は、上述のステップS003で受信した乱数pと、ステップS005で生成した乱数rs(a)とをxorした値“p xor rs(a)”を、利用者端末10−1へ送信する(ステップS006)。 Also, the user terminal 10-4 obtains a value “p xor rs (a) ” obtained by xoring the random number p received in step S003 and the random number rs (a) generated in step S005. 10-1 is transmitted (step S006).

この場合、利用者端末10−1は、上述の利用者端末10−4から送信されてきた値“p xor rs(a)”を受信すると、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて管理している利用者端末10−4を識別する公開IDであるIDをハッシュ関数に入力してハッシュ値Ka(s)=h(K,ID)を計算し、鍵暗号鍵を生成する(ステップS007)。 In this case, when the user terminal 10-1 receives the value “p xor r s (a) ” transmitted from the user terminal 10-4, the user terminal 10-1 manages its own managed by the key storage unit 104. the secret key K a and, by entering the ID s is a public ID that identifies the user terminal 10-4 which is managed by the public ID storage unit 103 to the hash function hash value K a (s) = h ( K a , ID s ) and a key encryption key is generated (step S007).

続いて利用者端末10−1は、上述のステップS007で生成した鍵暗号鍵を用いて、
予め定めたハッシュ値と同じ長さで値が全て0のメッセージ“all 0”をストリーム暗号にて暗号化し、予め定めたハッシュ値と同じ長さの乱数ra(s)=EKa(s)(all 0)を生成する(ステップS008)。
Subsequently, the user terminal 10-1 uses the key encryption key generated in step S007 described above,
A message “all 0” having the same length as the predetermined hash value and having a value of all 0 is encrypted by the stream cipher, and a random number r a (s) = E Ka (s) having the same length as the predetermined hash value. (All 0) is generated (step S008).

また利用者端末10−4は、上述のステップS006で受信した値“p xor rs(a)”と、ステップS008で生成した乱数ra(s)とをxorした値“ra(s) xor p xor rs(a)”を再暗号化装置20へ送信する(ステップS009)。 Further, the user terminal 10-4 xor's the value “r a (s) obtained by xoring the value“ p xor r s (a) ”received in step S006 and the random number r a (s) generated in step S008. xor p xor r s (a) "is transmitted to the re-encryption apparatus 20 (step S009).

なお、ストリーム暗号の性質上、ステップS009で再暗号化装置20に送信した値“ra(s) xor p xor rs(a)”は、鍵暗号鍵Ka(s)を用いてステッ
プS006で受信した値“p xor rs(a)”をストリーム暗号にて暗号化した値と等しくなる。
Note that due to the nature of the stream cipher, the value “r a (s) xor p xor r s (a) ” transmitted to the re-encryption device 20 in step S009 is obtained using the key encryption key K a (s) in step S006. The value “p xor r s (a) ” received in (1) is equal to the value obtained by encrypting with the stream cipher.

一方、再暗号化装置20は、利用者端末10−1から“ra(s) xor p xo
r rs(a)”を受信すると、この値に上述のステップS002で用いた乱数pをxorし、利用者端末10−4と利用者端末10−1との変換鍵“ra(s) xor r
(a)”を計算し(ステップS010)、上述の変換鍵“ra(s) xor rs(a
”を変換鍵記憶部203のテーブルT203(図18、図26)に利用者端末10−4と利用者端末10−1との変換鍵として登録する(ステップS011)。
On the other hand, the re-encryption device 20 receives “ra (s) xor p xo from the user terminal 10-1.
When r r s (a) "is received, the random number p used in step S002 is xored to this value, and the conversion key" r a (s) between the user terminal 10-4 and the user terminal 10-1 is obtained. xor r s
(A) "is calculated (step S010), and the above-mentioned conversion key" r a (s) xor r s (a
) "Conversion key storage unit 203 of table T203 (FIG. 18, is registered as the conversion key with the user terminal 10-4 in FIG. 26) and the user terminal 10-1 (step S011).

図5は、再暗号化装置20にて暗号化データを再暗号化する際に用いる利用者端末10−1と利用者端末10−2との変換鍵の登録方法を示すシーケンス図である。この場合まず、利用者Aの利用者端末10−1は、利用者Bの利用者端末10−2へメッセージの内容を通知するため、再暗号化装置20に対して、変換鍵の登録申請を行う(ステップS101)。この変換鍵は、上述のメッセージを再暗号化する際に再暗号化装置20が用いる鍵となる。   FIG. 5 is a sequence diagram illustrating a conversion key registration method for the user terminal 10-1 and the user terminal 10-2 used when the re-encryption device 20 re-encrypts the encrypted data. In this case, first, the user terminal 10-1 of the user A makes an application for registration of the conversion key to the re-encryption device 20 in order to notify the content of the message to the user terminal 10-2 of the user B. This is performed (step S101). This conversion key is a key used by the re-encryption device 20 when re-encrypting the above message.

一方、再暗号化装置20は、上述の変換鍵登録申請を受信すると、予め定めたハッシュ値と同じ長さの乱数p'を生成し(ステップS102)、その乱数p'を変換鍵登録申請元である上述の利用者端末10−1に送信する(ステップS103)。   On the other hand, when receiving the above conversion key registration application, the re-encryption device 20 generates a random number p ′ having the same length as the predetermined hash value (step S102), and the random number p ′ is converted into the conversion key registration application source. To the above-described user terminal 10-1 (step S103).

他方、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて利用者端末10−4(メッセージの送信元)に関して管理している公開ID“ID”をハッシュ関数に入力して、ハッシュ値Ka(s)=h(K,ID)を計算することで、鍵を暗号化する鍵暗号鍵を生成する(ステップS104)。 On the other hand, the user terminal 10-1 manages the secret key K a of its own that is managed by the key storage unit 104, with respect to the user terminal 10-4 in public ID storage unit 103 (the message source) A public key ID “ID s ” is input to the hash function and a hash value K a (s) = h (K a , ID s ) is calculated to generate a key encryption key for encrypting the key ( Step S104).

次に利用者端末10−1は、上述のステップS104で生成した鍵暗号鍵を用いて、予め定めたハッシュ値と同じ長さで値が全て0のメッセージ“all 0”をストリーム暗号にて暗号化し、予め定めたハッシュ値と同じ長さの乱数ra(s)=EKa(s)(all 0)を生成する(ステップS105)。 Next, the user terminal 10-1 encrypts the message “all 0” having the same length as the predetermined hash value and all 0 values using stream encryption, using the key encryption key generated in step S 104 described above. And a random number r a (s) = E Ka (s) (all 0) having the same length as the predetermined hash value is generated (step S105).

また利用者端末10−1は、上述のステップS103で受信した乱数p'とステップS
105で生成した乱数ra(s)とをxorした値“p'xor ra(s)”を利用者
端末10−2へ送信する(ステップS106)。
In addition, the user terminal 10-1 receives the random number p ′ received in step S <b> 103 and the step S <b> 103.
A value “p′xor r a (s) ” obtained by xoring the random number r a (s) generated in 105 is transmitted to the user terminal 10-2 (step S106).

一方、利用者端末10−2は、利用者端末10−4から送信された値“p'xor r
a(s)”を受信すると、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて利用者端末10−1に関して管理している公開ID“ID”をハッシュ関数に入力してハッシュ値Kb(a)=h(K,ID)を計算し、鍵暗号鍵を生
成する(ステップS107)。
On the other hand, the user terminal 10-2 receives the value “p′xor r” transmitted from the user terminal 10-4.
a (s) ”is received, the private key K b managed by the key storage unit 104 and the public ID“ ID a managed by the public ID storage unit 103 regarding the user terminal 10-1. "Is input to the hash function to calculate a hash value K b (a) = h (K b , ID a ) and generate a key encryption key (step S107).

続いて利用者端末10−2は、上述のステップS107で生成した鍵暗号鍵を用いて、予め定めたハッシュ値と同じ長さで値が全て0のメッセージ“all 0”をストリーム暗号にて暗号化し、予め定めたハッシュ値と同じ長さの乱数rb(a)=EKb(a)(all 0)を生成する(ステップS108)。 Subsequently, the user terminal 10-2 encrypts the message “all 0” having the same length as the predetermined hash value and having the value of all 0 using stream encryption, using the key encryption key generated in step S107 described above. And a random number rb (a) = E Kb (a) (all 0) having the same length as the predetermined hash value is generated (step S108).

また利用者端末10−2は、上述のステップS106で受信した値“p'xor r
(s)”とステップS108で生成した乱数rb(a)とをxorした値“rb(a) xor p' xor ra(s)”を再暗号化装置20へ送信する(ステップS109)。
In addition, the user terminal 10-2 receives the value “p′xor r a a ” received in step S106 described above.
(S) ”and the value“ r b (a) xor p ′ xor r a (s) ”obtained by xoring the random number rb (a) generated in step S108 are transmitted to the re-encryption apparatus 20 (step S109). .

なお、ストリーム暗号の性質上、上述のステップS109で再暗号化装置20に送信した値“rb(a) xor p' xor ra(s)”は、鍵暗号鍵Kb(a)を用いてステップS106で受信した値“p'xor ra(s)”をストリーム暗号にて暗号化
した値と等しくなる。
Note that due to the nature of the stream cipher, the value “r b (a) xor p ′ xor ra (s) ” transmitted to the re-encryption apparatus 20 in step S109 described above uses the key encryption key K b (a) . Thus, the value “p′xor r a (s) ” received in step S106 is equal to the value encrypted with the stream cipher.

一方、再暗号化装置20は、上述の利用者端末10−2から“rb(a) xor p' xor ra(s)”を受信すると、この値に上述のステップS102で用いた乱数p'をxorし、利用者端末10−4が生成したメッセージに対する、利用者端末10−1
と利用者端末10−2との変換鍵“rb(a) xor ra(s)”を計算する(ステ
ップS110)。
On the other hand, when the re-encryption device 20 receives “rb (a) xor p ′ xor ra (s) ” from the user terminal 10-2, the re-encryption device 20 uses this value as the random number p used in step S102. Xor 'and the user terminal 10-1 for the message generated by the user terminal 10-4
And a conversion key “rb (a) xor ra (s) ” between the user terminal 10-2 and the user terminal 10-2 (step S110).

また、再暗号化装置20は、上述の変換鍵“rb(a) xor ra(s)”を、利
用者端末10−4が生成したメッセージに対する利用者端末10−1と利用者端末10−2との変換鍵として変換鍵記憶部203に登録する(ステップS111)。このようにして登録された変換鍵は、メッセージ送信者の利用者端末10−4からメッセージ受信者の利用者端末10−1宛ての暗号化メッセージを、該当暗号化メッセージへのアクセス権がある別の利用者端末10−2宛ての暗号化メッセージに変換するための鍵となる。
Further, the re-encryption device 20 uses the above-described conversion key “r b (a) xor r a (s) ” for the user terminal 10-1 and the user terminal 10 for the message generated by the user terminal 10-4. -2 is registered in the conversion key storage unit 203 as a conversion key (step S111). The conversion key registered in this way is an encrypted message addressed to the user terminal 10-1 of the message receiver from the user terminal 10-4 of the message sender. As a key for conversion into an encrypted message addressed to the user terminal 10-2.

なお、メッセージを生成する利用者端末が利用者端末10−4のみであり、その旨が本システム1で明らかである場合、利用者端末10−4が生成したメッセージに対する利用者端末10−1と利用者端末10−2との変換鍵を、単に利用者端末10−1と利用者端末10−2との変換鍵として変換鍵記憶部203のテーブルT203(図18、図26)に登録する。また、上述のステップS101からステップS111までの処理を、利用者Aの利用者端末10−1と利用者Cの利用者端末10−3とでも行い、上述したメッセージ送信者の利用者端末10−4からメッセージ受信者の利用者端末10−1宛ての暗号化メッセージへのアクセス権のある別の利用者端末全てに対して変換鍵の登録を行う。なお、ここでの利用者端末10−4が生成したメッセージに対する利用者端末10−1と利用者端末10−3との変換鍵を“rc(a) xor ra(s)”とする。 Note that when the user terminal 10-4 is the only user terminal that generates a message and this fact is clear in the present system 1, the user terminal 10-1 corresponding to the message generated by the user terminal 10-4 The conversion key for the user terminal 10-2 is simply registered in the table T203 (FIGS. 18 and 26) of the conversion key storage unit 203 as a conversion key for the user terminal 10-1 and the user terminal 10-2. Further, the above-described processing from step S101 to step S111 is also performed on user A's user terminal 10-1 and user C's user terminal 10-3, and the message sender's user terminal 10- described above. 4 to register the conversion key for all other user terminals having access rights to the encrypted message addressed to the user terminal 10-1 of the message receiver. Here, the conversion key between the user terminal 10-1 and the user terminal 10-3 for the message generated by the user terminal 10-4 is “rc (a) xor ra (s) ”.

図18、図26で例示するテーブルT203は、上述のステップS011、ステップS111で再暗号化装置20の変換鍵記憶部203に登録した変換鍵に関するテーブルの内容を示している。このテーブルT203は、メッセージの受信先である利用者端末の情報とメッセージの送信/変換元である利用者端末の情報と、変換鍵とのカラムから成ってい
る。
The table T203 illustrated in FIGS. 18 and 26 shows the contents of the table related to the conversion key registered in the conversion key storage unit 203 of the re-encryption apparatus 20 in the above-described steps S011 and S111. This table T203 comprises columns of information on the user terminal that is the message receiving destination, information on the user terminal that is the message transmission / conversion source, and the conversion key.

以上説明した変換鍵の登録方法により、利用者端末10−1、10−2、10−3、10−4にてそれぞれ管理する秘密鍵K、K、K、Kを自分以外の利用者端末および再暗号化装置20に漏洩することなく再暗号化する際に必要な変換鍵を、再暗号化装置
20に登録することができる。
By using the conversion key registration method described above, the secret keys K a , K b , K c , K s managed by the user terminals 10-1, 10-2, 10-3, 10-4, respectively, A conversion key necessary for re-encryption without leaking to the user terminal and the re-encryption device 20 can be registered in the re-encryption device 20.

続いて図6は、上述の利用者端末10−4により利用者端末10−1宛ての、メッセージM、メッセージMの暗号化データ、およびその暗号化に用いた暗号鍵を暗号化したデータを生成し、生成した暗号化データおよび暗号鍵を暗号化したデータを、再暗号化装置20に送信するまでの処理の流れを示すシーケンス図である。   Next, FIG. 6 shows that the above-described user terminal 10-4 generates the message M, the encrypted data of the message M, and the data obtained by encrypting the encryption key used for the encryption addressed to the user terminal 10-1. FIG. 6 is a sequence diagram showing a flow of processing until the generated encrypted data and data obtained by encrypting the encryption key are transmitted to the re-encryption device 20.

この場合まず、利用者端末10−4は,利用者端末10−1宛てのメッセージMを生成し(ステップS201)、このメッセージMに対して、鍵演算部102にて動的にランダムなメッセージ暗号鍵Kを生成する(ステップS202)。 In this case, first, the user terminal 10-4 generates a message M addressed to the user terminal 10-1 (step S201), and the key calculation unit 102 responds to the message M dynamically and randomly. generating a key K 1 (step S202).

また、利用者端末10−4は、上述のステップS202で生成したメッセージ暗号鍵Kを用いてメッセージMをストリーム暗号にて暗号化し、暗号化データEK1(M)を生成する(ステップS203)。 Further, the user terminal 10-4 encrypts the message M with a stream cipher using the message encryption key K 1 generated in step S202 described above, to generate encrypted data E K1 (M) (step S203) .

次に利用者端末10−4は、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて利用者端末10−1に関し管理している公開ID“ID”を、ハッシュ関数に入力してハッシュ値Ks(a)=h(K,ID)を計算し、鍵暗号鍵を生成する(ステップS204)。 Next, the user terminal 10-4 manages its own secret key K s managed by the key storage unit 104 and the public ID “ID managed by the public ID storage unit 103 regarding the user terminal 10-1. a ″ is input to the hash function to calculate a hash value K s (a) = h (K s , ID a ) and generate a key encryption key (step S204).

次に利用者端末10−4は、上述で生成した鍵暗号鍵Ks(a)を用いてメッセージ暗号鍵Kをストリーム暗号にて暗号化する(ステップS205)。なお、この時の暗号データはEKs(a)(K)=rs(a)xor Kとなる。さらに利用者端末10−4は、メッセージ暗号鍵Kのハッシュ値h(K)を計算し(ステップS206)、上述の鍵暗号鍵Ks(a)を用いて上述のハッシュ値h(K)をストリーム暗号にて暗号化する(ステップS207)。なお、この時の暗号データはEKs(a)(h(K))=rs(a)xor h(K)となる。 Then the user terminal 10-4 encrypts the message encryption key K 1 with a stream cipher using a key encryption key K s generated by the above (a) (step S205). Note that the encrypted data at this time is E Ks (a) (K 1 ) = rs (a) xor K 1 . Furthermore, the user terminal 10-4 calculates the hash value h (K 1 ) of the message encryption key K 1 (step S206), and uses the above-described key encryption key K s (a) to describe the hash value h (K 1 ) is encrypted with a stream cipher (step S207). Note that the encrypted data at this time is E Ks (a) (h (K 1 )) = rs (a) xor h (K 1 ).

次に利用者端末10−4は、上述のステップS203、ステップS205、ステップS207で生成した値を結合して、利用者端末10−1宛ての暗号化データおよび暗号鍵を暗号化したデータとし、再暗号化装置20に送信する(ステップS208)。   Next, the user terminal 10-4 combines the values generated in step S203, step S205, and step S207 described above to obtain encrypted data and encryption key addressed to the user terminal 10-1, It transmits to the re-encryption apparatus 20 (step S208).

図7は、利用者端末10−4から送信された、利用者端末10−1宛ての暗号化データおよび暗号鍵を暗号化したデータのうち暗号鍵を暗号化したデータを、再暗号化装置20が、利用者端末10−1向けのアクセス鍵として変換させる処理を示すシーケンス図である。   FIG. 7 shows the re-encryption device 20 for encrypting the encryption key among the encrypted data addressed to the user terminal 10-1 and the data encrypted from the encryption key transmitted from the user terminal 10-4. These are the sequence diagrams which show the process converted as an access key for user terminals 10-1.

この場合、再暗号化装置20は、上述のステップS208で利用者端末10−4から送られてきた、利用者端末10−1宛ての暗号化データおよび暗号鍵を暗号化したデータを受信すると、変換鍵記憶部203のテーブルT203(図18)から、利用者端末10−4から利用者端末10−1への変換鍵“ra(s)xor rs(a)”を取得する(ステップS209)。 In this case, when the re-encryption device 20 receives the encrypted data addressed to the user terminal 10-1 and the data obtained by encrypting the encryption key transmitted from the user terminal 10-4 in step S208 described above, A conversion key “r a (s) xor r s (a) ” from the user terminal 10-4 to the user terminal 10-1 is acquired from the table T203 (FIG. 18) of the conversion key storage unit 203 (step S209). ).

次に再暗号化装置20は、上述のステップS208で送られてきたデータの内、ステップS203で生成された暗号化データEK1(M)を暗号化データ記憶部204のテーブルT204−1(図18)に保管する(ステップS210)。 Next, the re-encryption device 20 uses the encrypted data E K1 (M) generated in step S203 among the data sent in step S208 described above to the table T204-1 in the encrypted data storage unit 204 (FIG. 18) (step S210).

次に再暗号化装置20は、ステップS208で送られてきたデータの内、ステップS205で生成された暗号化データEKs(a)(K)をステップS209で取得した変換鍵“ra(s)xor rs(a)”を用いて再暗号化処理を施す。本実施形態における
再暗号化処理は、単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the re-encryption device 20 converts the encrypted data E Ks (a) (K 1 ) generated in step S205 out of the data sent in step S208 into the conversion key “r a ( s) xor r s (a) "is used to perform re-encryption processing. The re-encryption process in the present embodiment is simply an exclusive OR operation process (xor). By this re-encryption process, the re-encryption device 20 obtains the following values.

(ra(s)xor rs(a)) xor EKs(a)(K
=(ra(s)xor rs(a)) xor (rs(a) xor K
=(ra(s) xor K)=EKa(s)(K
そして再暗号化装置20は、得られた値EKa(s)(K)を、利用者端末10−4と利用者端末10−1とのアクセス鍵の一部とし、アクセス鍵記憶部208のテーブルT208−1(図19)に登録する(ステップS211)。
(R a (s) xor r s (a) ) xor E Ks (a) (K 1 )
= (R a (s) xor r s (a) ) xor (r s (a) xor K 1 )
= (R a (s) xor K 1 ) = E Ka (s) (K 1 )
Then, the re-encryption device 20 uses the obtained value E Ka (s) (K 1 ) as part of the access key between the user terminal 10-4 and the user terminal 10-1, and uses the access key storage unit 208. In the table T208-1 (FIG. 19) (step S211).

次に再暗号化装置20は、上述のステップS208で送られてきたデータの内、ステップS207で生成された暗号化データEKs(a)(h(K))を、ステップS209で取得した変換鍵“ra(s)xor rs(a)”を用いて再暗号化処理を施す。この再暗号化処理により再暗号化装置20は、以下の値を得る。 Next, the re-encryption device 20 acquires the encrypted data E Ks (a) (h (K 1 )) generated in step S207 from the data sent in step S208 described above in step S209. The re-encryption process is performed using the conversion key “r a (s) xor r s (a) ”. By this re-encryption process, the re-encryption device 20 obtains the following values.

(ra(s)xor rs(a)) xor EKs(a)(h(K))
=(ra(s)xor rs(a)) xor (rs(a) xor h(K))
=(ra(s) xor h(K))=EKa(s)(h(K))
そして再暗号化装置20は、得られた値EKa(s)(h(K))を、利用者端末10−4と利用者端末10−1とのアクセス鍵のもう一つの一部とし、アクセス鍵記憶部208のテーブルT208−1(図19)に登録する(ステップS212)。
(R a (s) xor r s (a) ) xor E Ks (a) (h (K 1 ))
= (R a (s) xor r s (a) ) xor (r s (a) xor h (K 1 ))
= (R a (s) xor h (K 1 )) = E Ka (s) (h (K 1 ))
Then, the re-encryption device 20 uses the obtained value E Ka (s) (h (K 1 )) as another part of the access key between the user terminal 10-4 and the user terminal 10-1. Then, it is registered in the table T208-1 (FIG. 19) of the access key storage unit 208 (step S212).

図8は、利用者端末10−4から再暗号化装置20に送信された、利用者端末10−1宛ての暗号化データを、再暗号化装置20にて利用者端末10−2が復号できるように、利用者端末10−1向けのアクセス鍵を利用者端末10−2向けのアクセス鍵として変換する処理の流れを示すシーケンス図である。   FIG. 8 shows that the re-encrypting device 20 can decrypt the encrypted data addressed to the user terminal 10-1 transmitted from the user terminal 10-4 to the re-encrypting device 20. Thus, it is a sequence diagram which shows the flow of a process which converts the access key for user terminals 10-1 into an access key for user terminals 10-2.

この場合、再暗号化装置20は、変換鍵記憶部203のテーブルT203(図18)から、利用者端末10−4が生成したメッセージに対する、利用者端末10−1から利用者端末10−2への変換鍵"rb(a)xor ra(s)"を取得する(ステップS213)。 In this case, the re-encryption device 20 from the user terminal 10-1 to the user terminal 10-2 with respect to the message generated by the user terminal 10-4 from the table T203 (FIG. 18) of the conversion key storage unit 203. The conversion key “r b (a) xor r a (s) ” is acquired (step S213).

次に再暗号化装置20は、JステップS211で得ている値EKa(s)(K)をステップS213で取得した変換鍵“rb(a)xor ra(s)”を用いて再暗号化処理を施す。この再暗号化処理により再暗号化装置20は、以下の値を得る。 Next, the re-encryption device 20 uses the conversion key “r b (a) xor r a (s) ” obtained in step S213 for the value E Ka (s) (K 1 ) obtained in J step S211. Re-encryption processing is performed. By this re-encryption process, the re-encryption device 20 obtains the following values.

(rb(a)xor ra(s)) xor EKa(s)(K
=(rb(a)xor ra(s)) xor (ra(s) xor K
=(rb(a) xor K)=EKb(a)(K
そして再暗号化装置20は、得られた値EKb(a)(K)を、利用者端末10−4が生成したメッセージに対する、利用者端末10−1と利用者端末10−2とのアクセス鍵の一部としてアクセス鍵記憶部208のテーブルT208−1(図19)に登録する(ステップS214)。
( Rb (a) xor r a (s) ) xor E Ka (s) (K 1 )
= (R b (a) xor r a (s) ) xor (r a (s) xor K 1 )
= ( Rb (a) xor K 1 ) = E Kb (a) (K 1 )
Then, the re-encryption device 20 uses the obtained value E Kb (a) (K 1 ) between the user terminal 10-1 and the user terminal 10-2 for the message generated by the user terminal 10-4. It registers in the table T208-1 (FIG. 19) of the access key memory | storage part 208 as a part of access key (step S214).

次に再暗号化装置20は、上述のステップS212で得られた値EKa(s)(h(K))をステップS213で取得した変換鍵“rb(a)xor ra(s)”を用いて再暗号化処理を施す。この再暗号化処理により再暗号化装置20は、以下の値を得る。 Next, the re-encryption device 20 converts the value E Ka (s) (h (K 1 )) obtained in step S212 described above into the conversion key “r b (a) xor r a (s) obtained in step S213. "Is used to perform re-encryption processing. By this re-encryption process, the re-encryption device 20 obtains the following values.

(rb(a)xor ra(s)) xor EKa(s)(h(K))
=(rb(a)xor ra(s)) xor (ra(s) xor h(K))
=(rb(a) xor h(K))=EKb(a)(h(K))
そして再暗号化装置20は、得られた値EKb(a)(h(K))を、利用者端末10−4が生成したメッセージに対する、利用者端末10−1と利用者端末10−2とのアクセス鍵のもう一つの一部としてアクセス鍵記憶部208のテーブルT208−1(図19)に登録する(ステップS215)。
(R b (a) xor r a (s) ) xor E Ka (s) (h (K 1 ))
= (R b (a) xor r a (s) ) xor (r a (s) xor h (K 1 ))
= (R b (a) xor h (K 1 )) = E Kb (a) (h (K 1 ))
Then, the re-encryption device 20 uses the obtained value E Kb (a) (h (K 1 )) for the message generated by the user terminal 10-4 and the user terminal 10-1 and the user terminal 10-. 2 is registered in the table T208-1 (FIG. 19) of the access key storage unit 208 as another part of the access key 2 (step S215).

図9は、利用者端末10−1または利用者端末10−2が、それぞれ、再暗号化装置20に登録されている暗号化データおよびアクセス鍵を取得し、前述の暗号化データを復号してメッセージMを取得するまでの流れを示すシーケンス図である。   FIG. 9 shows that the user terminal 10-1 or the user terminal 10-2 acquires the encrypted data and the access key registered in the re-encryption device 20, respectively, and decrypts the above-mentioned encrypted data. It is a sequence diagram showing a flow until a message M is acquired.

この場合、利用者端末10−1は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−1(図23)から暗号化データEK1(M)を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−1(図19)からアクセス鍵EKa(s)(K)とEKa(s)(h(K))を取得する(ステップS216)。 In this case, the user terminal 10-1 accesses the encrypted data E K1 (M) from the table T204-1 (FIG. 23) of the encrypted data storage unit 204 of the re-encrypting device 20 and accesses the re-encrypting device 20. The access keys E Ka (s) (K 1 ) and E Ka (s) (h (K 1 )) are acquired from the table T208-1 (FIG. 19) of the key storage unit 208 (step S216).

次に利用者端末10−1は、暗号化データを復号するための鍵暗号鍵を生成する(ステップS217)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて利用者端末10−4について管理している公開ID“ID”をハッシュ関数に入力したハッシュ値Ka(s)=h(K,ID)を計算することで、鍵暗号鍵を生成する。 Next, the user terminal 10-1 generates a key encryption key for decrypting the encrypted data (step S217). Specifically, the user terminal 10-1, and the secret key K a of its own that is managed by the key storage unit 104, the public that manages the user terminal 10-4 in public ID storage unit 103 The key encryption key is generated by calculating the hash value K a (s) = h (K a , ID s ) obtained by inputting the ID “ID s ” into the hash function.

次に利用者端末10−1は、生成した鍵暗号鍵Ka(s)を用いて、ステップS216で取得したアクセス鍵の内、EKa(s)(K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージ暗号鍵Kを復号することができる(ステップS218)。 Next, the user terminal 10-1 uses the generated key encryption key K a (s) to decrypt E Ka (s) (K 1 ) using the stream cipher in the access key acquired in step S216. Do. The user terminal 10-1 by the decoding process can decrypt the message encryption key K 1 as follows (step S218).

Ka(s)(EKa(s)(K))=ra(s) xor (ra(s) xor
)=K
次に利用者端末10−1は、ステップS218で復号したメッセージ暗号鍵Kを用いて、ステップS216で取得した暗号化データEK1(M)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージMを復号することができる(ステップS219)。
D Ka (s) (E Ka (s) (K 1 )) = r a (s) xor (r a (s) xor
K 1 ) = K 1
Then the user terminal 10-1, by using the message encryption key K 1 decrypted in step S218, performs a decoding process by the acquired encrypted data E K1 (M) the stream cipher at step S216. By this decryption process, the user terminal 10-1 can decrypt the message M as follows (step S219).

K1(EK1(M))=M
また同様に、利用者端末10−2は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−1(図23)から暗号化データEK1(M)を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−1(図19)からアクセス鍵EKb(a)(K)とEKb(a)(a)(h(K))を取得する(ステップS220)。
D K1 (E K1 (M)) = M
Similarly, the user terminal 10-2 obtains the encrypted data E K1 (M) from the table T204-1 (FIG. 23) of the encrypted data storage unit 204 of the re-encryption device 20 and the re-encryption device 20. Access keys E Kb (a) (K 1 ) and E Kb (a) (a) (h (K 1 )) are acquired from table T208-1 (FIG. 19) of access key storage unit 208 (step S220).

次に利用者端末10−2は、暗号化データを復号するための鍵暗号鍵を生成する(ステップS221)。具体的には、利用者端末10−2は、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて利用者端末10−1に関して管理している公開ID“ID”をハッシュ関数に入力したハッシュ値Kb(a)=h(K,ID)を計算することで、鍵暗号鍵を生成する。 Next, the user terminal 10-2 generates a key encryption key for decrypting the encrypted data (step S221). Specifically, the user terminal 10-2 has its own private key K b managed by the key storage unit 104 and the public terminal managed by the public ID storage unit 103 regarding the user terminal 10-1. A key encryption key is generated by calculating a hash value K b (a) = h (K b , ID a ) in which the ID “ID a ” is input to the hash function.

次に利用者端末10−2は、生成した鍵暗号鍵Kb(a)を用いて、ステップS220で取得したアクセス鍵の内、EKb(a)(K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−2は、以下の様にメッセージ暗号鍵Kを復号することができる(ステップS222)。 Next, the user terminal 10-2 uses the generated key encryption key K b (a) to decrypt E Kb (a) (K 1 ) of the access key acquired in step S220 using stream encryption. Do. The user terminal 10-2 by the decoding process can decrypt the message encryption key K 1 as follows (step S222).

Kb(a)(EKb(a)(K))=rb(a) xor (rb(a) xor
)=K
次に利用者端末10−2は、ステップS222で復号したメッセージ暗号鍵Kを用いて、ステップS220で取得した暗号化データEK1(M)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−2は、以下の様にメッセージMを復号することができる(ステップS223)。
D Kb (a) (E Kb (a) (K 1 )) = rb (a) xor (rb (a) xor
K 1 ) = K 1
Then the user terminal 10-2, by using the message encryption key K 1 decrypted in step S222, performs a decoding process by the acquired encrypted data E K1 (M) the stream cipher at step S220. By this decryption process, the user terminal 10-2 can decrypt the message M as follows (step S223).

K1(EK1(M))=M
以上、図4から図9を用いて、再暗号を行う為の変換鍵を再暗号化装置20に登録する仕組みと、利用者端末10−4が利用者端末10−1宛てのメッセージを暗号化し、その暗号化データを利用者端末10−1が復号できる形に、再暗号化装置20にて再暗号化処理を施し、その再暗号化データを利用者端末10−1にて復号して上記メッセージを取得するための仕組みと、前記再暗号化データを利用者端末10−2が復号できる形に更に再暗号化装置20にて再暗号化処理を施し、その再暗号化データを利用者端末10−2にて復号して上記メッセージを取得するための仕組みを説明した。
D K1 (E K1 (M)) = M
As described above, the mechanism for registering the conversion key for re-encryption in the re-encryption device 20 and the message destined for the user terminal 10-1 by the user terminal 10-4 using FIG. 4 to FIG. The re-encryption device 20 performs re-encryption processing so that the encrypted data can be decrypted by the user terminal 10-1, and the re-encrypted data is decrypted by the user terminal 10-1. A mechanism for acquiring a message, and the re-encryption device 20 further performs re-encryption processing so that the re-encrypted data can be decrypted by the user terminal 10-2. The mechanism for obtaining the message by decoding in 10-2 has been described.

次に、図10と図11を用いて、本発明の課題であった利用者Bの利用者端末10−2の再暗号化装置20にて管理されている暗号化データEK1(M)へのアクセス権を失効させた際、利用者端末10−2からの閲覧を防止する為に再暗号化装置20にて管理されている暗号化データEK1(M)を復号せずに新しい暗号鍵で再暗号化させる仕組みを説明する。また、図12と図13を用いて、利用者Bに続いて更に利用者Cの利用者端末10−3の上述の新しい暗号鍵で再暗号化されたデータへのアクセス権を失効させた際の、再暗号化データを復号せずに更に新しい暗号鍵で再暗号化させる仕組みを説明する。 Next, using FIG. 10 and FIG. 11, to the encrypted data E K1 (M) managed by the re-encryption apparatus 20 of the user terminal 10-2 of the user B, which was the subject of the present invention. When the access right is revoked, the new encryption key is not decrypted without decrypting the encrypted data E K1 (M) managed by the re-encryption device 20 in order to prevent browsing from the user terminal 10-2. Explains the mechanism for re-encryption. 12 and FIG. 13, when the access right to the data re-encrypted with the above-mentioned new encryption key of the user terminal 10-3 of the user C following the user B is revoked. A mechanism for re-encrypting the re-encrypted data with a new encryption key without decrypting it will be described.

図10は、再暗号化装置20において管理されている暗号化データEK1(M)への、利用者端末10−2によるアクセス権を抹消した際に、この利用者端末10−2が上述の暗号化データEK1(M)を復号できないよう、暗号化データEK1(M)を、再暗号化装置20が生成した暗号鍵Kで再度暗号化して二重暗号化データを生成し、この二重暗号化データを利用者端末10−1が復号できるように、利用者端末10−1向けのアクセス鍵EKa(s)(K)とEKa(s)(h(K))を変換するまでの流れを示すシーケンス図である。 FIG. 10 shows that when the access right by the user terminal 10-2 to the encrypted data E K1 (M) managed in the re-encryption device 20 is deleted, the user terminal 10-2 In order to prevent the encrypted data E K1 (M) from being decrypted, the encrypted data E K1 (M) is re-encrypted with the encryption key K 2 generated by the re-encryption device 20 to generate double encrypted data. The access key E Ka (s) (K 1 ) and E Ka (s) (h (K 1 )) for the user terminal 10-1 so that the user terminal 10-1 can decrypt the double encrypted data. It is a sequence diagram which shows the flow until it converts.

再暗号化装置20は、利用者端末10−1、利用者端末10−3、および利用者端末10−4のいずれかからの依頼により、暗号化データEK1(M)への利用者端末10−2のアクセス権について、アクセス鍵記憶部208のテーブルT208−2(図20参照)に登録されている利用者端末10−2のアクセス鍵を削除する(ステップS301)。 The re-encryption device 20 sends the user terminal 10 to the encrypted data E K1 (M) in response to a request from any of the user terminal 10-1, the user terminal 10-3, and the user terminal 10-4. For the access right of -2, the access key of the user terminal 10-2 registered in the table T208-2 (see FIG. 20) of the access key storage unit 208 is deleted (step S301).

次に再暗号化装置20は、上述の暗号化データEK1(M)に対して、鍵演算部205にて動的にランダムな二重暗号鍵Kを生成し、二重暗号鍵記憶部209のテーブルT209(図22)に保管する(ステップS302)。 Next, the re-encryption device 20 dynamically generates a random double encryption key K 2 in the key calculation unit 205 for the encrypted data E K1 (M) described above, and a double encryption key storage unit It is stored in table T209 (FIG. 22) of 209 (step S302).

次に再暗号化装置20は、暗号化データ記憶部204のテーブルT204−1(図23)にて保管されている暗号化データEK1(M)を、ステップS302で生成した二重暗号鍵Kを用いてストリーム暗号にて二重に暗号化し、二重暗号データEK2(EK1(M))を計算する。そして、暗号化データ記憶部204にて保管されている暗号化データEK1(M)を、この二重暗号データEK2(EK1(M))に置き換える(ステップS303)。このとき、上述の二重暗号データEK2(EK1(M))が、二重暗号鍵Kにて二重暗号化されていることを再暗号化装置20が識別できるように、テーブルT209(図22)およびテーブルT204−2(図24)に識別子を用いて記録する。ここでは、テーブルT204−2にて、二重暗号化データE2(EK1(M))には、識別子
"2"が割り振られている。また、テーブルT209にて、二重暗号鍵Kにも識別子"2"が割り振られている。そのため、再暗号化装置20は、二重暗号化データEK2(EK1(M))が、二重暗号鍵Kにて二重暗号化されていることを識別することが可能となる。
Next, the re-encryption device 20 uses the double encryption key K generated in step S302 for the encrypted data E K1 (M) stored in the table T204-1 (FIG. 23) of the encrypted data storage unit 204. 2 is double-encrypted with a stream cipher and double-encrypted data E K2 (E K1 (M)) is calculated. Then, the encrypted data E K1 (M) stored in the encrypted data storage unit 204 is replaced with the double encrypted data E K2 (E K1 (M)) (step S303). At this time, the table T209 is provided so that the re-encryption apparatus 20 can identify that the above-described double encryption data E K2 (E K1 (M)) is double-encrypted with the double encryption key K 2 . (FIG. 22) and table T204-2 (FIG. 24) are recorded using identifiers. Here, in the table T204-2, the double encrypted data E K2 (E K1 (M)) has an identifier.
“2” is allocated. In addition, in the table T209, it has been assigned identifier "2" is also in the double encryption key K 2. Therefore, the re-encryption device 20 can identify that the double encrypted data E K2 (E K1 (M)) is double encrypted with the double encryption key K 2 .

次に再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−1(図19)にて保管されている、利用者端末10−4と利用者端末10−1とのアクセス鍵の片側であるEKa(s)(h(K))に、ステップS302で生成した二重暗号鍵Kを用いて再暗号処理を施す。なお、ここでの再暗号処理も単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。 Next, the re-encryption device 20 is stored in the table T208-1 (FIG. 19) of the access key storage unit 208 on one side of the access keys for the user terminal 10-4 and the user terminal 10-1. A certain E Ka (s) (h (K 1 )) is re-encrypted using the double encryption key K 2 generated in step S302. Here, the re-encryption process is also simply an exclusive OR operation process (xor). By this re-encryption process, the re-encryption device 20 obtains the following values.

Ka(s)(h(K)) xor K
=(ra(s) xor h(K)) xor K
=ra(s) xor (h(K) xor K
= EKa(s)(h(K)xor K
そして、再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−1(図19)に保管されている、利用者端末10−4と利用者端末10−1とのアクセス鍵の片側であるEKa(s)(h(K))を、この再暗号処理によって得た値EKa(s)(h(K)xor K)に置き換える(ステップS304、図20のテーブルT208−2参照)。また、同様にして利用者端末10−1と利用者端末10−3とのアクセス鍵の片側であるEKC(a)(h(K))も二重暗号鍵Kを用いた再暗号処理値EKC(a)(h(K)xor K)に置き換える(図20のテーブルT208−2参照)。
E Ka (s) (h (K 1 )) xor K 2
= (R a (s) xor h (K 1 )) xor K 2
= R a (s) xor (h (K 1 ) xor K 2 )
= E Ka (s) (h (K 1 ) xor K 2 )
The re-encryption device 20 is one side of the access keys for the user terminal 10-4 and the user terminal 10-1, which are stored in the table T208-1 (FIG. 19) of the access key storage unit 208. E Ka (s) (h (K 1 )) is replaced with the value E Ka (s) (h (K 1 ) xor K 2 ) obtained by this re-encryption process (step S304, table T208-2 in FIG. 20). reference). Further, a side of the access key to the user terminal 10-3 and the user terminal 10-1 in the same manner as E KC (a) (h ( K 1)) also re-encryption using double encryption key K 2 The processing value E KC (a) is replaced with (h (K 1 ) xor K 2 ) (see table T208-2 in FIG. 20).

図11は、利用者端末10−1が、再暗号化装置20に登録されている上述の二重暗号化データEK2(EK1(M))およびアクセス鍵EKa(s)(K)とEKa(s)(h(K)xor K)を取得し、二重暗号化データを復号してメッセージMを取得するまでの流れを示すシーケンス図である。 FIG. 11 shows the above-described double encrypted data E K2 (E K1 (M)) and access key E Ka (s) (K 1 ) registered in the re-encryption device 20 by the user terminal 10-1. And E Ka (s) (h (K 1 ) xor K 2 ) are acquired, and the sequence from decrypting the double encrypted data to acquiring the message M is a sequence diagram.

この場合、利用者端末10−1は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−2(図24)から二重暗号化データEK2(EK1(M))を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−2(図20)からアクセス鍵EKあ(s)(K)とEKa(s)(h(K)xor K)を取得する(ステップS305)。 In this case, the user terminal 10-1 re-encrypts the double encrypted data E K2 (E K1 (M)) from the table T204-2 (FIG. 24) of the encrypted data storage unit 204 of the re-encryption device 20. Access keys E K a (s) (K 1 ) and E Ka (s) (h (K 1 ) xor K 2 ) are acquired from table T 208-2 (FIG. 20) of access key storage unit 208 of encryption device 20. (Step S305).

次に利用者端末10−1は、二重暗号化データを復号するための鍵暗号鍵を生成する(ステップS306)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて利用者端末10−4に関して管理している公開ID“ID”をハッシュ関数に入力したハッシュ値Ka(s)=h(K,ID)を計算することで、鍵暗号鍵を生成する。 Next, the user terminal 10-1 generates a key encryption key for decrypting the double encrypted data (step S306). Specifically, the user terminal 10-1, and the secret key K a of its own that is managed by the key storage unit 104, the public that control over the user terminal 10-4 in public ID storage unit 103 The key encryption key is generated by calculating the hash value K a (s) = h (K a , ID s ) obtained by inputting the ID “ID s ” into the hash function.

次に利用者端末10−1は、生成した鍵暗号鍵Ka(s)を用いて、ステップS305で取得したアクセス鍵の内、EKa(s)(K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージ暗号鍵Kを復号することができる(ステップS307)。 Next, the user terminal 10-1 uses the generated key encryption key K a (s) to decrypt E Ka (s) (K 1 ) using the stream cipher in the access key acquired in step S305. Do. The user terminal 10-1 by the decoding process can decrypt the message encryption key K 1 as follows (step S307).

Ka(s)(EKa(s)(K))
=ra(s) xor (ra(s) xor K
=K
次に利用者端末10−1は、ステップS306で生成した鍵暗号鍵Ka(s)を用いて、ステップS305で取得したアクセス鍵の内、EKa(s)(h(K)xor K
)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の値を復号することができる(ステップS308)。
D Ka (s) (E Ka (s) (K 1 ))
= R a (s) xor (r a (s) xor K 1 )
= K 1
Then the user terminal 10-1, by using the generated key encryption key K a (s) in step S306, among the access key obtained at step S305, E Ka (s) ( h (K 1) xor K 2
) Is decrypted by stream cipher. By this decryption process, the user terminal 10-1 can decrypt the following values (step S308).

Ka(s)(EKa(s)(h(K)xor K))
=ra(s) xor (ra(s) xor (h(K)xor K))
=h(K)xor K
次に利用者端末10−1は、ステップS307で復号したメッセージ暗号鍵Kをハッシュ関数h()に入力したハッシュ値h(K)を計算し、そのハッシュ値h(K)とステップS308で得た値h(K)xor Kとの排他的論理和(xor)を計算して以下の様に二重暗号鍵Kを取得する(ステップS309)。
D Ka (s) (E Ka (s) (h (K 1 ) xor K 2 ))
= R a (s) xor (r a (s) xor (h (K 1 ) xor K 2 ))
= H (K 1 ) xor K 2
Next, the user terminal 10-1 calculates a hash value h (K 1 ) in which the message encryption key K 1 decrypted in step S307 is input to the hash function h (), and the hash value h (K 1 ) and step The exclusive OR (xor) with the value h (K 1 ) xor K 2 obtained in S308 is calculated to obtain the double encryption key K 2 as follows (step S309).

h(K)xor (h(K)xor K)= K
そして利用者端末10−1は、ステップS309で復号した二重暗号鍵Kを用いて、ステップS305で取得した二重暗号化データEK2(EK1(M))をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の値を得ることできる(ステップS310)。
h (K 1 ) xor (h (K 1 ) xor K 2 ) = K 2
The user terminal 10-1, by using the double encryption key K 2 decrypted in step S309, the decryption processing by the stream cipher obtained double-encrypted data E K2 (E K1 (M) ) in step S305 Do. By this decryption process, the user terminal 10-1 can obtain the following values (step S310).

K2(EK2(EK1(M)))=EK1(M)
そして利用者端末10−1は、ステップS307で復号したメッセージ暗号鍵Kを用いて、ステップS310で取得した値EK1(M)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージMを復号することができる(ステップS311)。
D K2 (E K2 (E K1 (M))) = E K1 (M)
The user terminal 10-1, by using the message encryption key K 1 decrypted in step S307, performs decoding processing by obtaining the value E K1 (M) the stream cipher at step S310. By this decryption process, the user terminal 10-1 can decrypt the message M as follows (step S311).

K1(EK1(M))=M
図12は、利用者端末10−2に引き続き、更に利用者端末10−3に関して、二重暗号化データEK2(EK1(M))へのアクセス権を抹消した際に、利用者端末10−3が二重暗号化データEK2(EK1(M))を復号できないよう、二重暗号化データEK2(EK1(M))を再暗号化装置20が再度生成した暗号鍵Kで暗号化処理を施し、アクセス権を有する利用者端末10−1ならば復号できるように利用者端末10−1向けのアクセス鍵EKa(s)(K)とEKa(s)(h(K) xor K)を再度変換するまでの流れを示すシーケンス図である。
D K1 (E K1 (M)) = M
FIG. 12 shows the user terminal 10-2 when the access right to the double encrypted data E K2 (E K1 (M)) is deleted for the user terminal 10-3 following the user terminal 10-2. -3 can not decrypt the double encrypted data E K2 (E K1 (M) ) as double encrypted data E K2 encryption key K 3 (E K1 of (M)) re-encryption apparatus 20 has generated again The access keys E Ka (s) (K 1 ) and E Ka (s) (h ) for the user terminal 10-1 are encrypted so that the user terminal 10-1 having the access right can decrypt it. (K 1) is a sequence diagram showing a flow until the conversion xor K 2) again.

この場合、再暗号化装置20は、利用者端末10−1または利用者端末10−4からの、二重暗号化データEK2(EK1(M))への利用者端末10−3のアクセス権の抹消依頼により、アクセス鍵記憶部208に登録されている利用者端末10−3のアクセス鍵を削除する(ステップS401、図21のテーブルT208−3参照)。 In this case, the re-encryption apparatus 20 accesses the user terminal 10-3 to the double encrypted data E K2 (E K1 (M)) from the user terminal 10-1 or the user terminal 10-4. The access key of the user terminal 10-3 registered in the access key storage unit 208 is deleted in response to the right deletion request (see step S401, table T208-3 in FIG. 21).

次に再暗号化装置20は、上述の二重暗号化データEK2(EK1(M))に対して、鍵演算部205にて動的にランダムな二重暗号鍵Kを生成し、二重暗号鍵記憶部209のテーブルT209(図22)に保管する(ステップS402)。 Next, the re-encryption device 20 dynamically generates a random double encryption key K 3 in the key calculation unit 205 for the above-described double encryption data E K2 (E K1 (M)), The table is stored in the table T209 (FIG. 22) of the double encryption key storage unit 209 (step S402).

次に再暗号化装置20は、暗号化データ記憶部204のテーブルT204−2(図24)にて保管されている二重暗号化データEK2(EK1(M))を、ステップS402で生成した二重暗号鍵Kを用いてストリーム暗号にて二重に暗号化し、二重暗号データEK3(EK2(EK1(M)))を計算する(ステップS403)。 Next, the re-encryption device 20 generates the double encrypted data E K2 (E K1 (M)) stored in the table T204-2 (FIG. 24) of the encrypted data storage unit 204 in step S402. using double encryption key K 3 that was doubly encrypted with a stream cipher, double encryption data E K3 (E K2 (E K1 (M))) to calculate the (step S403).

次に再暗号化装置20は、暗号化データ記憶部204のテーブルT204−2(図24)にて保管されている二重暗号化データEK2(EK1(M))の識別子を基に、二重暗号鍵記憶部209のテーブルT209(図22)より、上述のEK2(EK1(M))の識別子と同じ識別子を持つ二重暗号鍵Kを取り出し、この二重暗号鍵Kを用いてステ
ップS403にて得た二重暗号データEK3(EK2(EK1(M)))を復号化する。この復号処理により再暗号化装置20は以下の値を得る。
Next, the re-encryption device 20 is based on the identifier of the double encrypted data E K2 (E K1 (M)) stored in the table T204-2 (FIG. 24) of the encrypted data storage unit 204. A double encryption key K 2 having the same identifier as that of E K2 (E K1 (M)) described above is extracted from the table T 209 (FIG. 22) of the double encryption key storage unit 209, and this double encryption key K 2. Is used to decrypt the double encrypted data E K3 (E K2 (E K1 (M))) obtained in step S403. By this decryption process, the re-encryption device 20 obtains the following values.

K2(EK3(EK2(EK1(M))))= EK3(EK1(M))。 D K2 (E K3 (E K2 (E K1 (M)))) = E K3 (E K1 (M)).

そして、暗号化データ記憶部204のテーブルT204−2(図24)にて保管されている二重暗号化データEK2(EK1(M))を、ここで得た値EK3(EK1(M))に置き換える(ステップS404)。このとき、上述の二重暗号データEK3(EK1(M))が、二重暗号鍵Kにて二重暗号化されていることを再暗号化装置20が識別できるように、図22のテーブルT209および図25のテーブルT204−3に識別子を用いて記録する。ここでは、テーブルT204−3にて二重暗号化データEK3(EK1(M))には識別子"3"が割り振られており、テーブルT209にて二重暗号鍵Kにも識別子"3"が割り振られているため、再暗号化装置20は、二重暗号化データEK3(EK1(M))が、二重暗号鍵Kにて二重暗号化されていることを識別することが可能となる。 Then, the double encrypted data E K2 (E K1 (M)) stored in the table T204-2 (FIG. 24) of the encrypted data storage unit 204 is obtained as a value E K3 (E K1 ( M)) (step S404). At this time, the re-encryption apparatus 20 can identify that the above-mentioned double encryption data E K3 (E K1 (M)) is double-encrypted with the double encryption key K 3 as shown in FIG. The table T209 and the table T204-3 in FIG. 25 are recorded using identifiers. Here, the table T204-3 at double encrypted data E K3 (E K1 (M) ) identifier "3" have been assigned, dual in table T209 encryption key K 3 to be identifier "3 Since “is assigned, the re-encryption device 20 identifies that the double encrypted data E K3 (E K1 (M)) is double encrypted with the double encryption key K 3 . It becomes possible.

次に再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−2(図20)にて保管されている、利用者端末10−4と利用者端末10−1とのアクセス鍵の片側であるEKa(s)(h(K) xor K)に、ステップS404で二重暗号鍵記憶部209のテーブルT209(図22)から取り出した二重暗号鍵KとステップS402で生成した二重暗号鍵Kとをxorした値を暗号鍵として用いて再暗号処理を施す。なお、ここでの再暗号処理も、単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。 Next, the re-encryption device 20 is stored in the table T208-2 (FIG. 20) of the access key storage unit 208 on one side of the access keys for the user terminal 10-4 and the user terminal 10-1. A certain E Ka (s) (h (K 1 ) xor K 2 ) is generated in step S404 and the double encryption key K 2 extracted from the table T209 (FIG. 22) of the double encryption key storage unit 209 in step S402. the re-encryption process by using a value obtained by xor a double encryption key K 3 as the encryption key applied. The re-encryption process here is also simply an exclusive OR operation process (xor). By this re-encryption process, the re-encryption device 20 obtains the following values.

Ka(s)(h(K) xor K xor (K xor K
=(ra(s) xor (h(K) xor K)) xor (K xor
) = ra(s) xor (h(K)xor K
= EKa(s)(h(K)xor K
そして、再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−2(図20)に保管されている、利用者端末10−4と利用者端末10−1とのアクセス鍵の片側であるEKa(s)(h(K)xor K)を、この再暗号処理によって得た値EKa(s)(h(K)xor K)に置き換える(ステップS405、図21のテーブルT208−3参照)。
E Ka (s) (h (K 1 ) xor K 2 xor (K 2 xor K 3 )
= (R a (s) xor (h (K 1 ) xor K 2 )) xor (K 2 xor
K 3 ) = ra (s) xor (h (K 1 ) xor K 3 )
= E Ka (s) (h (K 1 ) xor K 3 )
The re-encryption device 20 is one side of the access keys for the user terminal 10-4 and the user terminal 10-1, which are stored in the table T208-2 (FIG. 20) of the access key storage unit 208. E Ka (s) (h (K 1 ) xor K 2 ) is replaced with the value E Ka (s) (h (K 1 ) xor K 3 ) obtained by this re-encryption process (step S405, table in FIG. 21). T208-3).

図13は、利用者端末10−1が、利用者端末10−2および利用者端末10−3が復号できない形で再暗号化装置20に登録されている上述の二重暗号化データEK3(EK1(M))およびアクセス鍵EKa(s)(K)とEKa(s)(h(K)xor K)を取得し、上述の二重暗号化データを復号してメッセージMを取得するまでの流れを示すシーケンス図である。 FIG. 13 shows the above-described double encrypted data E K3 (registered in the re-encryption device 20 in such a manner that the user terminal 10-1 cannot be decrypted by the user terminal 10-2 and the user terminal 10-3). E K1 (M)) and access keys E Ka (s) (K 1 ) and E Ka (s) (h (K 1 ) xor K 3 ) are obtained, and the above-mentioned double encrypted data is decrypted to obtain a message. It is a sequence diagram which shows the flow until it acquires M.

この場合、利用者端末10−1は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−3(図25)から二重暗号化データEK3(EK1(M))を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−3(図21)からアクセス鍵EKa(s)(K)とEKa(s)(h(K)xor K)を取得する(ステップS406)。 In this case, the user terminal 10-1 re-encrypts the double encrypted data E K3 (E K1 (M)) from the table T204-3 (FIG. 25) of the encrypted data storage unit 204 of the re-encrypting device 20. The access keys E Ka (s) (K 1 ) and E Ka (s) (h (K 1 ) xor K 3 ) are acquired from the table T208-3 (FIG. 21) of the access key storage unit 208 of the encryption device 20. (Step S406).

次に利用者端末10−1は、二重暗号化データを復号するための鍵暗号鍵を生成する(ステップS407)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kと、公開ID記憶部103にて利用者端末10−4に関し管理している公開ID“ID”をハッシュ関数に入力したハッシュ値Ka(s)=h(K,I
)を計算することで、鍵暗号鍵を生成する。
Next, the user terminal 10-1 generates a key encryption key for decrypting the double encrypted data (step S407). Specifically, the user terminal 10-1, and the secret key K a of its own that is managed by the key storage unit 104, the public that manages relates the user terminal 10-4 in public ID storage unit 103 Hash value K a (s) = h (K a , I obtained by inputting ID “ID s ” into the hash function
A key encryption key is generated by calculating D s ).

次に利用者端末10−1は、生成した鍵暗号鍵Ka(s)を用いて、ステップS406で取得したアクセス鍵の内、EKa(s)(K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージ暗号鍵Kを復号することができる(ステップS408)。 Next, the user terminal 10-1 uses the generated key encryption key K a (s) to decrypt E Ka (s) (K 1 ) in the access key acquired in step S406 using stream encryption. Do. The user terminal 10-1 by the decoding process can decrypt the message encryption key K 1 as follows (step S408).

Ka(s)(EKa(s)(K))
=ra(s) xor (ra(s) xor K
=K
次に利用者端末10−1は、ステップS407で生成した鍵暗号鍵Ka(s)を用いて、ステップS406で取得したアクセス鍵の内、Ea(s)(h(K)xor K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の値を復号することができる(ステップS409)。
D Ka (s) (E Ka (s) (K 1 ))
= R a (s) xor (r a (s) xor K 1 )
= K 1
Next, the user terminal 10-1 uses the key encryption key K a (s) generated in step S 407 to use E K a (s) (h (K 1 ) xor among the access keys acquired in step S 406. K 3 ) is decrypted by the stream cipher. By this decryption process, the user terminal 10-1 can decrypt the following values (step S409).

Ka(s)(EKa(s)(h(K)xor K))
=ra(s) xor (ra(s) xor (h(K)xor K))
=h(K)xor K
次に利用者端末10−1は、ステップS408で復号したメッセージ暗号鍵Kをハッシュ関数h()に入力したハッシュ値h(K)を計算し、そのハッシュ値h(K)とステップS409で得た値h(K)xor Kとの排他的論理和(xor)を計算して以下の様に二重暗号鍵Kを取得する(ステップS410)。
D Ka (s) (E Ka (s) (h (K 1 ) xor K 3 ))
= R a (s) xor (r a (s) xor (h (K 1 ) xor K 3 ))
= H (K 1 ) xor K 3
Next, the user terminal 10-1 calculates a hash value h (K 1 ) in which the message encryption key K 1 decrypted in step S408 is input to the hash function h (), and the hash value h (K 1 ) and step An exclusive OR (xor) with the value h (K 1 ) xor K 3 obtained in S409 is calculated to obtain the double encryption key K 3 as follows (step S410).

h(K)xor (h(K)xor K)= K
そして利用者端末10−1は、ステップS410で復号した二重暗号鍵Kを用いて、ステップS406で取得した二重暗号化データEK3(EK1(M))をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の値を得ることできる(ステップS411)。
h (K 1 ) xor (h (K 1 ) xor K 3 ) = K 3
The user terminal 10-1, by using the double encryption key K 3 decrypted in step S410, the decryption process by the stream cipher obtained double-encrypted data E K3 (E K1 (M) ) in step S406 Do. By this decryption process, the user terminal 10-1 can obtain the following values (step S411).

K3(EK3(EK1(M)))=EK1(M)
そして利用者端末10−1は、ステップS408で復号したメッセージ暗号鍵Kを用いて、ステップS411で取得した値EK1(M)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージMを復号することができる(ステップS412)。
D K3 (E K3 (E K1 (M))) = E K1 (M)
The user terminal 10-1, by using the message encryption key K 1 decrypted in step S408, performs decoding processing by obtaining the value E K1 (M) the stream cipher at step S411. By this decryption process, the user terminal 10-1 can decrypt the message M as follows (step S412).

K1(EK1(M))=M
以上、図10、図11より、本発明の課題であった利用者Bの利用者端末10−2の再暗号化装置20にて管理されている暗号化データEK1(M)へのアクセス権を失効させた際、利用者端末10−2からの閲覧を防止する為に再暗号化装置20にて管理されている暗号化データEK1(M)を復号せずに新しい暗号鍵で再暗号化させる仕組みと、図12と図13より、利用者Bに引き続き更に利用者Cの利用者端末10−3の前記新しい暗号鍵で再暗号化されたデータへのアクセス権を失効させた際の、再暗号化データを復号せずに更に新しい暗号鍵で再暗号化させる仕組みを説明した。
D K1 (E K1 (M)) = M
10 and 11, the right to access the encrypted data E K1 (M) managed by the re-encryption device 20 of the user terminal 10-2 of the user B, which was the subject of the present invention. Is re-encrypted with a new encryption key without decrypting the encrypted data E K1 (M) managed by the re-encryption device 20 in order to prevent browsing from the user terminal 10-2. 12 and FIG. 13, when the access right to the data re-encrypted with the new encryption key of the user terminal 10-3 of the user C is subsequently revoked from the user B. A mechanism for re-encrypting re-encrypted data with a new encryption key without decrypting the data has been described.

以上、本発明の実施形態を具体的に説明したが、本発明はこれに限定されるものでなく、その趣旨を逸脱しない範囲において種々変更可能である。例えば、上記実施形態では、ステップS208にて再暗号化装置20が利用者端末10−4より暗号化データEK1(M)等を受け取った際、再暗号化装置20では、前記暗号化データEK1(M)をそのまま暗号化データ記憶部204に保管したが、再暗号化装置20は、この受け取った暗号化データEK1(M)をアクセス権のある利用者端末毎に再暗号化して暗号化データ記憶部
204に保管してもよい。より具体的にこの実施形態を図14から図17を用いて説明する。
As mentioned above, although embodiment of this invention was described concretely, this invention is not limited to this, A various change is possible in the range which does not deviate from the meaning. For example, in the above embodiment, when the re-encryption device 20 receives the encrypted data E K1 (M) or the like from the user terminal 10-4 in step S208, the re-encryption device 20 uses the encrypted data E Although K1 (M) is stored in the encrypted data storage unit 204 as it is, the re-encryption device 20 re-encrypts the received encrypted data E K1 (M) for each user terminal having the access right. The data may be stored in the converted data storage unit 204. More specifically, this embodiment will be described with reference to FIGS.

図14は、図7から図13までの処理とは別実施形態において、利用者端末10−4から再暗号化装置20に送信された利用者端末10−1宛ての暗号化データEK1(M)および暗号鍵を暗号化したデータ"EKs(a)(K)、EKs(a)(h(K))"に対し、暗号化データEK1(M)を再暗号化装置20にて利用者端末10−1向けに二重暗号化処理を施して二重暗号化データを生成し、前記二重暗号化データを利用者端末10−1が復号できるように、暗号鍵を暗号化したデータ"EKs(a)(K)、EKs(
a)(h(K))"を利用者端末10−1向けのアクセス鍵として変換させるまでの処
理の流れを示すシーケンス図である。
FIG. 14 shows an embodiment in which the encrypted data E K1 (M) addressed to the user terminal 10-1 transmitted from the user terminal 10-4 to the re-encryption device 20 is different from the processes in FIGS. ) And the data “E Ks (a) (K 1 ), E Ks (a) (h (K 1 ))” obtained by encrypting the encryption key, the encrypted data E K1 (M) is re-encrypted. The user terminal 10-1 is subjected to double encryption processing to generate double encrypted data, and the encryption key is encrypted so that the user terminal 10-1 can decrypt the double encrypted data. Data “E Ks (a) (K 1 ), E Ks (
a) (h (K 1) ) " is a sequence diagram showing a flow of a process up to convert the access key for the user terminal 10-1.

再暗号化装置20は、ステップS208で利用者端末10−4から送られてきた利用者端末10−1宛ての暗号化データEK1(M)および暗号鍵を暗号化したデータ"EKs
(a)(K)、EKs(a)(h(K))"を受信すると、再暗号化装置20は、上
述の暗号化データEK1(M)に対して、鍵演算部205にて動的にランダムな二重暗号鍵Kを生成し、二重暗号鍵記憶部209のテーブルT209(図22)に保管する(ステップS501)。
The re-encryption device 20 transmits the encrypted data E K1 (M) addressed to the user terminal 10-1 sent from the user terminal 10-4 in step S208 and the data “E Ks encrypted with the encryption key.
When (a) (K 1 ), E Ks (a) (h (K 1 )) ”is received, the re-encryption device 20 applies the key operation unit 205 to the encrypted data E K1 (M) described above. dynamically generate a random double encryption key K 2 with and stored in the table T209 of double encryption key storage unit 209 (FIG. 22) (step S501).

次に再暗号化装置20は前記暗号化データEK1(M)をステップS501で生成した二重暗号鍵Kを用いてストリーム暗号にて二重に暗号化し、二重暗号データEK2(EK1(M))を計算する。そして、暗号化データ記憶部204のテーブルT204−4(図28)に利用者端末10−1宛として、この二重暗号データEK2(EK1(M))を保管する。(ステップS502)。 Next, the re-encryption device 20 double-encrypts the encrypted data E K1 (M) with the stream encryption using the double encryption key K 2 generated in step S501, and double-encrypted data E K2 (E K1 (M)) is calculated. Then, this double encrypted data E K2 (E K1 (M)) is stored in the table T204-4 (FIG. 28) of the encrypted data storage unit 204 as addressed to the user terminal 10-1. (Step S502).

このとき、二重暗号データEK2(EK1(M))が二重暗号鍵Kにて二重暗号化されていることを再暗号化装置20が識別できるよう、図22のテーブルT209および図28のテーブルT204−4に識別子を用いて記録する。ここでは、テーブルT204−4にて二重暗号化データEK2(EK1(M))には識別子"2"が割り振られており、テーブルT209にて二重暗号鍵Kにも識別子"2"が割り振られているため、再暗号化装置20は、二重暗号化データEK2(EK1(M))が、二重暗号鍵Kにて二重暗号化されていることを識別することが可能となる。 In this case, the double encrypted data E K2 (E K1 (M) ) that that can be identified re-encryption unit 20 which is double encrypted by double encryption key K 2, table T209 of FIG. 22 and It records using an identifier in table T204-4 of FIG. Here, the table T204-4 at double encrypted data E K2 (E K1 (M) ) in the identifier "2" have been assigned, even identifier to the double encryption key K 2 with table T209 "2 Since “is assigned, the re-encryption device 20 identifies that the double encrypted data E K2 (E K1 (M)) is double encrypted with the double encryption key K 2 . It becomes possible.

次に再暗号化装置20は、変換鍵記憶部203のテーブルT203(図26)から、利用者端末10−4から利用者端末10−1への変換鍵"ra(s)xor rs(a)"を取得する(ステップS503)。 Next, the re-encryption device 20 converts the conversion key “r a (s) xor r s ( ) from the user terminal 10-4 to the user terminal 10-1 from the table T203 (FIG. 26) of the conversion key storage unit 203. a) "is acquired (step S503).

次に再暗号化装置20は、ステップS208で送られてきたデータの内、EKs(a)(K)をステップS503で取得した変換鍵"ra(s) xor rs(a)"を用いて再暗号化処理を施す。なお、ここでの再暗号化処理は単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。 Next, the re-encryption device 20 uses the conversion key “r a (s) xor r s (a) ” obtained by acquiring E Ks (a) (K 1 ) in step S503 among the data sent in step S208. Re-encryption processing is performed using The re-encryption process here is simply an exclusive OR operation process (xor). By this re-encryption process, the re-encryption device 20 obtains the following values.

(ra(s)xor rs(a)) xor EKs(a)(K
=(ra(s)xor rs(a)) xor (rs(a) xor K
=(ra(s) xor K)=EKa(s)(K
そして再暗号化装置20は、得られた値EKa(s)(K)を利用者端末10−4と利用者端末10−1とのアクセス鍵の一部としてアクセス鍵記憶部208のテーブルT208−4(図27)に登録する(ステップS504)。
(R a (s) xor r s (a) ) xor E Ks (a) (K 1 )
= (R a (s) xor r s (a) ) xor (r s (a) xor K 1 )
= (R a (s) xor K 1 ) = E Ka (s) (K 1 )
Then, the re-encryption device 20 uses the obtained value E Ka (s) (K 1 ) as a part of the access key between the user terminal 10-4 and the user terminal 10-1, and is stored in the table of the access key storage unit 208. Registration is made in T208-4 (FIG. 27) (step S504).

次に再暗号化装置20は、ステップS208で送られてきたデータの内、EKs(a)
(h(K))をステップS503で取得した変換鍵"ra(s) xor rs(a)"を用いて再暗号化処理を施す。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the re-encryption apparatus 20 uses E Ks (a) among the data sent in step S208.
(H (K 1 )) is re-encrypted using the conversion key “r a (s) xor r s (a) ” acquired in step S503. By this re-encryption process, the re-encryption device 20 obtains the following values.

(ra(s)xor rs(a)) xor EKs(a)(h(K))
=(ra(s)xor rs(a)) xor (rs(a) xor h(K))
=(ra(s) xor h(K))=EKa(s)(h(K))
そして再暗号化装置20は、得られた値EKa(s)(h(K))に、ステップS501で生成した二重暗号鍵K用いて再暗号処理を施す。なお、ここでの再暗号処理も単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
(R a (s) xor r s (a) ) xor E Ks (a) (h (K 1 ))
= (R a (s) xor r s (a) ) xor (r s (a) xor h (K 1 ))
= (R a (s) xor h (K 1 )) = E Ka (s) (h (K 1 ))
Then, the re-encryption apparatus 20 performs re-encryption processing on the obtained value E Ka (s) (h (K 1 )) using the double encryption key K 2 generated in step S501. Here, the re-encryption process is also simply an exclusive OR operation process (xor). By this re-encryption process, the re-encryption device 20 obtains the following values.

Ka(s)(h(K)) xor K
=(ra(s) xor h(K))xor K
=ra(s) xor (h(K) xor K
=EKa(s)(h(K)xor K)。
E Ka (s) (h (K 1 )) xor K 2
= (R a (s) xor h (K 1 )) xor K 2
= R a (s) xor (h (K 1 ) xor K 2 )
= E Ka (s) (h (K 1 ) xor K 2 ).

そして再暗号化装置20は、得られた値EKa(s)(h(K)xor K)を利用者端末10−4と利用者端末10−1とのアクセス鍵のもう一つの一部としてアクセス鍵記憶部208のテーブルT208−4(図27)に登録する(ステップS505)。 Then, the re-encryption device 20 uses the obtained value EK a (s) (h (K 1 ) xor K 2 ) as another access key for the user terminal 10-4 and the user terminal 10-1. Are registered in the table T208-4 (FIG. 27) of the access key storage unit 208 (step S505).

図15は、図14のシーケンス図において再暗号化装置20に登録されている利用者端末10−1宛ての二重暗号化データEK2(EK1(M))およびアクセス鍵"EKa(
s)(K)、EKa(s)(h(K)xor K)"に対し、前記二重暗号化デー
タEK2(EK1(M))を再暗号化装置20にて利用者端末10−2向けに更に暗号化処理を施し、上述の暗号化処理したデータを利用者端末10−2が復号できるように、利用者端末10−1向けのアクセス鍵"EKa(s)(K)、EKa(s)(h(K
xor K)"を利用者端末10−2向けのアクセス鍵として変換させるまでの処理の
流れを示すシーケンス図である。
Figure 15 is a sequence double encrypted data E of the user terminal 10-1 addressed registered in the re-encryption unit 20 in view K2 in FIG. 14 (E K1 (M)) and access key "E Ka (
s) (K 1 ), E Ka (s) (h (K 1 ) xor K 2 ) ", the re-encryption device 20 uses the double encrypted data E K2 (E K1 (M)). The access key “E Ka (s) for the user terminal 10-1 is further subjected to encryption processing for the user terminal 10-2 so that the user terminal 10-2 can decrypt the encrypted data. (K 1 ), E Ka (s) (h (K 1 )
xor K 2) "is a sequence diagram showing a flow of a process up to convert the access key for the user terminal 10-2.

この場合、再暗号化装置20は、二重暗号化データEK2(EK1(M))に対して、鍵演算部205にて動的にランダムな二重暗号鍵Kを生成し、二重暗号鍵記憶部209のテーブルT209(図29)に保管する(ステップS506)。 In this case, the re-encryption device 20 dynamically generates a random double encryption key K 3 in the key calculation unit 205 for the double encryption data E K2 (E K1 (M)). It is stored in the table T209 (FIG. 29) of the double encryption key storage unit 209 (step S506).

次に再暗号化装置20は、暗号化データ記憶部204のテーブルT204−4(図289にて保管されている利用者端末10−1宛の二重暗号化データEK2(EK1(M))をステップS506で生成した二重暗号鍵Kを用いてストリーム暗号にて二重に暗号化し、二重暗号データEK3(EK2(EK1(M)))を計算する。 Next, the re-encryption device 20 stores the double encrypted data E K2 (E K1 (M) addressed to the user terminal 10-1 stored in FIG. 289 in the encrypted data storage unit 204. ) was doubly encrypted with a stream cipher using double encryption key K 3 generated in step S506, calculates the double encryption data E K3 (E K2 (E K1 (M))).

そして再暗号化装置20は、暗号化データ記憶部204のテーブルT204−4にて保管されている利用者端末10−1宛の二重暗号化データEK2(EK1(M))の識別子を基に、二重暗号鍵記憶部209のテーブルT209より、前記EK2(EK1(M))の識別子と同じ識別子を持つ二重暗号鍵Kを取り出し、この二重暗号鍵Kを用いて二重暗号データEK3(EK2(EK1(M)))を復号化する。この復号処理により再暗号化装置20は以下の値を得る。 Then, the re-encryption device 20 uses the identifier of the double encrypted data E K2 (E K1 (M)) addressed to the user terminal 10-1 stored in the table T204-4 of the encrypted data storage unit 204. based, from the table T209 of double encryption key storage unit 209, takes out the double encryption key K 2 with the same identifier as the identifier of the E K2 (E K1 (M) ), using the double encryption key K 2 The double encrypted data E K3 (E K2 (E K1 (M))) is decrypted. By this decryption process, the re-encryption device 20 obtains the following values.

K2(EK3(EK2(EK1(M))))= EK3(EK1(M))
そして、再暗号化装置20は、暗号化データ記憶部204のテーブルT204−4(図28)に、利用者端末10−1宛として、この二重暗号データEK3(EK1(M))を保管する(ステップS507)。このとき、前記二重暗号データEK3(EK1(M))
が二重暗号鍵Kにて二重暗号化されていることを再暗号化装置20が識別できるように、図29のテーブルT209および図28のテーブルT204−4に識別子を用いて記録する。ここでは、テーブルT204−4にて二重暗号化データEK3(EK1(M))には識別子"3"が割り振られており、テーブルT209にて二重暗号鍵Kにも識別子"3"が割り振られているため、再暗号化装置20は、二重暗号化データEK3(EK1(M))が、二重暗号鍵Kにて二重暗号化されていることを識別することが可能となる。
D K2 (E K3 (E K2 (E K1 (M)))) = E K3 (E K1 (M))
Then, the re-encryption device 20 sends this double encrypted data E K3 (E K1 (M)) to the user terminal 10-1 in the table T204-4 (FIG. 28) of the encrypted data storage unit 204. Store (step S507). At this time, the double encryption data E K3 (E K1 (M))
There at double encryption key K 3 for re-encryption apparatus 20 identifies that it is double encrypted, recorded using the identifiers in a table T204-4 table T209 and 28 in FIG. 29. Here, the table T204-4 at double encrypted data E K3 (E K1 (M) ) identifier "3" have been assigned, dual in table T209 encryption key K 3 to be identifier "3 Since “is assigned, the re-encryption device 20 identifies that the double encrypted data E K3 (E K1 (M)) is double encrypted with the double encryption key K 3 . It becomes possible.

次に再暗号化装置20は、変換鍵記憶部203のテーブルT203(図26)から、利用者端末10−4からのメッセージに対する利用者端末10−1から利用者端末10−2への変換鍵"rb(a) xor ra(s)"を取得する(ステップS508)。 Next, the re-encryption device 20 converts the conversion key from the user terminal 10-1 to the user terminal 10-2 for the message from the user terminal 10-4 from the table T203 (FIG. 26) of the conversion key storage unit 203. “r b (a) xor r a (s) ” is acquired (step S508).

次に再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−4から利用者端末10−1のアクセス鍵の一部であるEKa(s)(K)をステップS508で取得した変換鍵"rb(a) xor ra(s)"を用いて再暗号化処理を施す。なお、本実施形態では、この再暗号化処理は単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。 Next, the re-encryption device 20 obtains E Ka (s) (K 1 ), which is a part of the access key of the user terminal 10-1, from the table T208-4 of the access key storage unit 208 in step S508. Re-encryption processing is performed using the key “r b (a) xor r a (s) ”. In the present embodiment, this re-encryption process is simply an exclusive OR operation process (xor). By this re-encryption process, the re-encryption device 20 obtains the following values.

(rb(a) xor ra(s)) xor EKa(s)(K
=(rb(a) xor ra(s)) xor (ra(s) xor K
=(rb(a) xor K
=EKb(a)(K
そして再暗号化装置20は、得られた値EKb(a)(K)を利用者端末10−1と利用者端末10−2とのアクセス鍵の一部としてアクセス鍵記憶部208のテーブルT208−4(図27)に登録する(ステップS509)。
( Rb (a) xor r a (s) ) xor E Ka (s) (K 1 )
= (R b (a) xor r a (s) ) xor (r a (s) xor K 1 )
= (R b (a) xor K 1 )
= E Kb (a) (K 1 )
Then, the re-encryption device 20 uses the obtained value E Kb (a) (K 1 ) as a part of the access key between the user terminal 10-1 and the user terminal 10-2 in the table of the access key storage unit 208. Registration is made in T208-4 (FIG. 27) (step S509).

次に再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−4から利用者端末10−1のアクセス鍵の一部であるEKa(s)(h(K)xor K)をステップS508で取得した変換鍵"rb(a) xor ra(s)"を用いて再暗号化処理を施す。なお、本実施形態では、この再暗号化処理は単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。 Next, the re-encryption device 20 obtains E Ka (s) (h (K 1 ) xor K 2 ), which is a part of the access key of the user terminal 10-1, from the table T208-4 of the access key storage unit 208. The re-encryption process is performed using the conversion key “r b (a) xor r a (s) ” acquired in step S508. In the present embodiment, this re-encryption process is simply an exclusive OR operation process (xor). By this re-encryption process, the re-encryption device 20 obtains the following values.

(rb(a) xor ra(s)) xor EKa(s)(h(K)xor K
=(rb(a) xor ra(s)) xor (ra(s) xor (h(K)xor K)) =(rb(a) xor (h(K)xor K))
=EKb(a)(h(K)xor K
そして再暗号化装置20は、得られた値EKb(a)(h(K)xor K)をステップS507で二重暗号鍵記憶部209のテーブルT209から取り出した二重暗号鍵KとステップS506で生成した二重暗号鍵Kとをxorした値を暗号鍵として用いて再暗号処理を施す。なお、ここでの再暗号処理も単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
(R b (a) xor r a (s) ) xor E Ka (s) (h (K 1 ) xor K 2 )
= (R b (a) xor r a (s) ) xor (r a (s) xor (h (K 1 ) xor K 2 )) = (r b (a) xor (h (K 1 ) xor K 2 ))
= E Kb (a) (h (K 1 ) xor K 2 )
The re-encryption apparatus 20, the obtained value E Kb (a) (h ( K 1) xor K 2) was taken out from the table T209 in step S507 double encryption key storage unit 209 double encryption key K 2 a re-encryption processing performed by using a value obtained by xor a double encryption key K 3 generated in step S506 as the encryption key. Here, the re-encryption process is also simply an exclusive OR operation process (xor). By this re-encryption process, the re-encryption device 20 obtains the following values.

Kb(a)(h(K)xor K) xor (K xor K
=(rb(a) xor (h(K) xor K)) xor (K xor
) =rb(a) xor (h(K)xor K
=EKb(a)(h(K)xor K
そして、再暗号化装置20は、得られた値EKb(a)(h(K)xor K)を利用者端末10−1と利用者端末10−2とのアクセス鍵の一部としてアクセス鍵記憶部208のテーブルT208−4(図27)に登録する(ステップS510)。
E Kb (a) (h (K 1 ) xor K 2 ) xor (K 2 xor K 3 )
= (R b (a) xor (h (K 1 ) xor K 2 )) xor (K 2 xor
K 3 ) = r b (a) xor (h (K 1 ) xor K 3 )
= E Kb (a) (h (K 1 ) xor K 3 )
Then, the re-encryption device 20 uses the obtained value E Kb (a) (h (K 1 ) xor K 3 ) as part of the access key between the user terminal 10-1 and the user terminal 10-2. Register in the table T208-4 (FIG. 27) of the access key storage unit 208 (step S510).

図16は、利用者端末10−1が、図14のシーケンス図において再暗号化装置20に登録されている利用者端末10−1向けの二重暗号化データおよびアクセス鍵を取得し、上述の二重暗号化データを復号してメッセージMを取得するまでの流れを示すシーケンス図である。   In FIG. 16, the user terminal 10-1 acquires the double encrypted data and the access key for the user terminal 10-1 registered in the re-encryption device 20 in the sequence diagram of FIG. It is a sequence diagram which shows the flow until it decrypts double encryption data and acquires the message M.

この場合、利用者端末10−1は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−4(図28)から二重暗号化データEK2(EK1(M))を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−4(図27)からアクセス鍵EKa(s)(K)とEKa(s)(h(K)xor K)を取得する(ステップS511)。 In this case, the user terminal 10-1 re-encrypts the double encrypted data E K2 (E K1 (M)) from the table T204-4 (FIG. 28) of the encrypted data storage unit 204 of the re-encrypting device 20. Access keys E Ka (s) (K 1 ) and E Ka (s) (h (K 1 ) xor K 2 ) are obtained from the table T 208-4 (FIG. 27) of the access key storage unit 208 of the encryption device 20. (Step S511).

次に利用者端末10−1は、二重暗号化データを復号するための鍵暗号鍵を生成する(ステップS512)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kaと、公開ID記憶部103にて利用者端末10−4に関し管理している公開ID“ID”をハッシュ関数に入力したハッシュ値Ka(s)=h(K,ID)を計算することで、鍵暗号鍵を生成する。 Next, the user terminal 10-1 generates a key encryption key for decrypting the double encrypted data (step S512). Specifically, the user terminal 10-1 manages its own private key K a a managed by the key storage unit 104 and the user terminal 10-4 by the public ID storage unit 103. A key encryption key is generated by calculating a hash value K a (s) = h (K a , ID s ) obtained by inputting the public ID “ID s ” into the hash function.

次に利用者端末10−1は、生成した鍵暗号鍵Ka(s)を用いて、ステップS511で取得したアクセス鍵の内、EKa(s)(K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージ暗号鍵Kを復号することができる(ステップ513)。 Next, the user terminal 10-1 uses the generated key encryption key K a (s) to decrypt E Ka (s) (K 1 ) using the stream cipher in the access key acquired in step S511. Do. The user terminal 10-1 by the decoding process can decrypt the message encryption key K 1 as follows (step 513).

Ka(s)(EKa(s)(K))
=ra(s) xor (ra(s) xor K
=K
次に利用者端末10−1は、ステップS512で生成した鍵暗号鍵Ka(s)を用いて、ステップS511で取得したアクセス鍵の内、EKa(s)(h(K)xor K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の値を復号することができる(ステップS514)。
D Ka (s) (E Ka (s) (K 1 ))
= R a (s) xor (r a (s) xor K 1 )
= K 1
Next, the user terminal 10-1 uses the key encryption key K a (s) generated in step S512 to use E Ka (s) (h (K 1 ) xor K among the access keys acquired in step S511. 2 ) is decrypted by stream cipher. By this decryption process, the user terminal 10-1 can decrypt the following values (step S514).

Ka(s)(EKa(s)(h(K)xor K))
=ra(s) xor(ra(s) xor (h(K)xor K))
=h(K)xor K
次に利用者端末10−1は、ステップS513で復号したメッセージ暗号鍵Kをハッシュ関数h()に入力したハッシュ値h(K)を計算し、そのハッシュ値h(K)とステップS514で得た値h(K)xor Kとの排他的論理和(xor)を計算して以下の様に二重暗号鍵K2を取得する(ステップS515)。
D Ka (s) (E Ka (s) (h (K 1 ) xor K 2 ))
= R a (s) xor (r a (s) xor (h (K 1 ) xor K 2 ))
= H (K 1 ) xor K 2
Next, the user terminal 10-1 calculates a hash value h (K 1 ) in which the message encryption key K 1 decrypted in step S513 is input to the hash function h (), and the hash value h (K 1 ) and step An exclusive OR (xor) with the value h (K 1 ) xor K 2 obtained in S514 is calculated to obtain the double encryption key K2 as follows (step S515).

h(K)xor (h(K)xor K)= K
そして利用者端末10−1は、ステップS515で復号した二重暗号鍵Kを用いて、ステップS511で取得した二重暗号化データEK2(EK1(M))をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の値を得ることできる(ステップS516)。
h (K 1 ) xor (h (K 1 ) xor K 2 ) = K 2
The user terminal 10-1, by using the double encryption key K 2 decrypted in step S515, the decryption process by the stream cipher obtained double-encrypted data E K2 (E K1 (M) ) in step S511 Do. By this decryption process, the user terminal 10-1 can obtain the following values (step S516).

K2(EK2(EK1(M)))=EK1(M)
そして利用者端末10−1は、ステップS513で復号したメッセージ暗号鍵Kを用いて、ステップS516で取得した値EK1(M)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージMを復号することができる(ステップS517)。
D K2 (E K2 (E K1 (M))) = E K1 (M)
The user terminal 10-1, by using the message encryption key K 1 decrypted in step S513, performs decoding processing by obtaining the value E K1 (M) the stream cipher at step S516. By this decryption process, the user terminal 10-1 can decrypt the message M as follows (step S517).

K1(EK1(M))=M
図17は、利用者端末10−2が、図15のシーケンス図において再暗号化装置20に登録されている利用者端末10−2向けの二重暗号化データおよびアクセス鍵を取得し、上述の二重暗号化データを復号してメッセージMを取得するまでの流れを示すシーケンス図である。
D K1 (E K1 (M)) = M
FIG. 17 shows that the user terminal 10-2 acquires the double encrypted data and the access key for the user terminal 10-2 registered in the re-encryption apparatus 20 in the sequence diagram of FIG. It is a sequence diagram which shows the flow until it decrypts double encryption data and acquires the message M.

この場合、利用者端末10−2は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−4(図28)から二重暗号化データEK3(EK1(M))を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−4(図27)からアクセス鍵EKb(a)(K)とEKb(a)(h(K)xor K)を取得する(ステップS518)。 In this case, the user terminal 10-2 re-encrypts the double encrypted data E K3 (E K1 (M)) from the table T204-4 (FIG. 28) of the encrypted data storage unit 204 of the re-encrypting device 20. Access keys E Kb (a) (K 1 ) and E Kb (a) (h (K 1 ) xor K 3 ) are acquired from the table T 208-4 (FIG. 27) of the access key storage unit 208 of the encryption device 20. (Step S518).

次に利用者端末10−2は、二重暗号化データを復号するための鍵暗号鍵を生成する(ステップS519)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kbと、公開ID記憶部103にて利用者端末10−1について管理している公開ID“ID”をハッシュ関数に入力したハッシュ値Kb(a)=h(K,ID)を計算することで、鍵暗号鍵を生成する。 Next, the user terminal 10-2 generates a key encryption key for decrypting the double encrypted data (step S519). Specifically, the user terminal 10-1 manages its own private key K b b managed by the key storage unit 104 and the user terminal 10-1 by the public ID storage unit 103. A key encryption key is generated by calculating a hash value K b (a) = h (K b , ID a ) in which the public ID “ID a ” is input to the hash function.

次に利用者端末10−2は、生成した鍵暗号鍵Kb(a)を用いて、ステップS518で取得したアクセス鍵の内、EKb(a)(K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−2は、以下の様にメッセージ暗号鍵Kを復号することができる(ステップS520)。 Next, the user terminal 10-2 uses the generated key encryption key K b (a) to decrypt E Kb (a) (K 1 ) of the access key acquired in step S518 using stream encryption. Do. The user terminal 10-2 by the decoding process can decrypt the message encryption key K 1 as follows (step S520).

Kb(a)(EKb(a)(K))
=rb(a) xor (rb(a) xor K
=K
次に利用者端末10−2は、ステップS519で生成した鍵暗号鍵Kb(a)を用いて、ステップS518で取得したアクセス鍵の内、EKb(a)(h(K)xor K)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−2は、以下の値を復号することができる(ステップS521)。
D Kb (a) (E Kb (a) (K 1 ))
= R b (a) xor (r b (a) xor K 1 )
= K 1
Then the user terminal 10-2, by using the key encryption key K b (a) generated in step S519, among the access key obtained at step S518, E Kb (a) ( h (K 1) xor K 3 ) is decrypted by stream cipher. By this decryption process, the user terminal 10-2 can decrypt the following values (step S521).

Kb(a)(EKb(a)(h(K)xor K))
=rb(a) xor (rb(a) xor (h(K)xor K))
=h(K)xor K
次に利用者端末10−2は、ステップS520で復号したメッセージ暗号鍵Kをハッシュ関数h()に入力したハッシュ値h(K)を計算し、そのハッシュ値h(K)とステップS521で得た値h(K)xor Kとの排他的論理和(xor)を計算して以下の様に二重暗号鍵K3を取得する(ステップS522)。
D Kb (a) (E Kb (a) (h (K 1 ) xor K 3 ))
= R b (a) xor (r b (a) xor (h (K 1 ) xor K 3 ))
= H (K 1 ) xor K 3
Next, the user terminal 10-2 calculates a hash value h (K 1 ) in which the message encryption key K 1 decrypted in step S520 is input to the hash function h (), and the hash value h (K 1 ) and step The exclusive OR (xor) with the value h (K 1 ) xor K 3 obtained in S521 is calculated to obtain the double encryption key K3 as follows (step S522).

h(K)xor (h(K)xor K)= K
そして利用者端末10−2は、ステップS522で復号した二重暗号鍵Kを用いて、ステップS518で取得した二重暗号化データEK3(EK1(M))をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−2は、以下の値を得ることできる(ステップS523)。
h (K 1 ) xor (h (K 1 ) xor K 3 ) = K 3
The user terminal 10-2, by using the double encryption key K 3 decrypted in step S522, the decryption process by the stream cipher obtained double-encrypted data E K3 (E K1 (M) ) in step S518 Do. By this decryption process, the user terminal 10-2 can obtain the following values (step S523).

K3(EK3(EK1(M)))=EK1(M)
そして利用者端末10−2は、ステップS520で復号したメッセージ暗号鍵Kを用いて、ステップS523で取得した値EK1(M)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−2は、以下の様にメッセージMを復号することができる(ステップS524)。
D K3 (E K3 (E K1 (M))) = E K1 (M)
The user terminal 10-2, by using the message encryption key K 1 decrypted in step S520, performs decoding processing by obtaining the value E K1 (M) the stream cipher at step S523. By this decryption process, the user terminal 10-2 can decrypt the message M as follows (step S524).

K1(EK1(M))=M
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
D K1 (E K1 (M)) = M
Although the best mode for carrying out the present invention has been specifically described above, the present invention is not limited to this, and various modifications can be made without departing from the scope of the invention.

こうした本実施形態によれば、複数ユーザ間で共有の暗号化データを所定装置にて保持しユーザ毎の閲覧権限管理を行う環境下において、装置管理者を含む無権限者による暗号化データの閲覧を確実に回避可能となる。   According to the present embodiment, the encrypted data can be viewed by an unauthorized person including the device administrator in an environment in which encrypted data shared by a plurality of users is held in a predetermined device and the viewing authority is managed for each user. Can be reliably avoided.

本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の再暗号化方法において、前記再暗号化装置が、特定利用者に関する閲覧権限の失効イベントに伴い、当該再暗号化装置にて生成した第2暗号鍵を用いて、前記第1の暗号化データを二重に暗号化する処理と、現時点で閲覧権限を有する利用者の復号鍵で復号可能に、前記第2の暗号化データを再暗号化する処理および、前記第3の暗号化データを再暗号化した値で前記第2暗号鍵の再暗号化を行う処理とを更に実行し、前記現時点で閲覧権限を有する利用者の利用者端末が、前記二重に暗号化された第1の暗号化データと、前記再暗号化された第2の暗号化データと、前記再暗号化された第2の暗号化データにより再暗号化された第2暗号鍵とを、前記再暗号化装置から取得し、当該利用者端末が保持する復号鍵によって、前記再暗号化された第2の暗号化データからの前記第1暗号鍵の復号、および、前記再暗号化された第2暗号鍵からの前記第2暗号鍵の復号を行い、得られた第1暗号鍵および第2暗号鍵を用いて、前記二重に暗号化された第1の暗号化データを復号して前記平文を出力する処理を更に実行する、としてもよい。   At least the following will be clarified by the description of the present specification. That is, in the re-encryption method of the present embodiment, the re-encryption device uses the second encryption key generated by the re-encryption device in association with a revocation event of the viewing authority related to the specific user. A process of double-encrypting one encrypted data, a process of re-encrypting the second encrypted data so that it can be decrypted with a decryption key of a user who has the viewing authority at the present time, and the third A process of re-encrypting the second encryption key with a value obtained by re-encrypting the encrypted data, and the user terminal of the user having the viewing authority at the present time is double-encrypted. The first encrypted data, the re-encrypted second encrypted data, and the second encryption key re-encrypted with the re-encrypted second encrypted data are re-encoded. Using the decryption key obtained from the encryption device and held by the user terminal The first encryption key is decrypted from the re-encrypted second encrypted data, and the second encryption key is decrypted from the re-encrypted second encryption key. Further, the first encrypted key and the second encrypted key may be used to further execute a process of decrypting the double encrypted first encrypted data and outputting the plaintext.

これによれば、当初は閲覧権限を有していた或る利用者が、その閲覧権限を失う状況が生じたケースに対して、従来のように、暗号化データ復号用の復号鍵が該当利用者にて保持されたままであれば、その利用者からの暗号化データ閲覧を許してしまうといった事態を確実に回避することができる。   According to this, a decryption key for decrypting encrypted data is used in a conventional manner for a case in which a certain user who originally had the viewing authority loses the viewing authority. If it is held by the user, it is possible to reliably avoid the situation where the user is allowed to view the encrypted data.

また、本実施形態の再暗号化方法において、前記再暗号化装置が、前記第1、第2および第3の各暗号化データを前記データ作成者の利用者端末から受信し、当該再暗号化装置にて生成した第2暗号鍵を用いて、前記第1の暗号化データを二重に暗号化する処理と、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2の暗号化データを再暗号化する処理および、前記第3の暗号化データを再暗号化した値で前記第2暗号鍵の再暗号化を行う処理とを実行し、前記閲覧権限を有する利用者の利用者端末が、前記二重に暗号化された第1の暗号化データと、前記再暗号化された第2の暗号化データと、前記再暗号化された第2暗号鍵とを、前記再暗号化装置から取得し、当該利用者端末が保持する復号鍵によって、前記再暗号化された第2の暗号化データからの前記第1暗号鍵の復号、および、前記再暗号化された第2暗号鍵からの前記第2暗号鍵の復号を行い、得られた第1暗号鍵および第2暗号鍵を用いて、前記二重に暗号化された第1の暗号化データを復号して前記平文を出力する処理を実行する、としてもよい。   Further, in the re-encryption method of the present embodiment, the re-encryption device receives the first, second and third encrypted data from the user terminal of the data creator, and performs the re-encryption. The second encryption key generated by the apparatus is used to double-encrypt the first encrypted data, and the second encryption key can be decrypted by a decryption key of a user who has the authority to view the plaintext. A user who has the viewing authority to execute the process of re-encrypting the encrypted data and the process of re-encrypting the second encryption key with a value obtained by re-encrypting the third encrypted data. The user terminal of the second encrypted data, the double encrypted first encrypted data, the re-encrypted second encrypted data, and the re-encrypted second encryption key, The re-encryption is performed using the decryption key acquired from the re-encryption device and held by the user terminal. Decrypting the first encryption key from the second encrypted data and decrypting the second encryption key from the re-encrypted second encryption key, and obtaining the obtained first encryption key and A process of decrypting the double encrypted first encrypted data using the second encryption key and outputting the plaintext may be executed.

これによれば、例えば電子メールをセキュアに管理する状況などに対応し、各利用者ごとに電子メールを暗号化して管理する一方、本願の請求項1に記載の発明の場合よりも再暗号の手間を低減したシステム運用が可能となる。   According to this, for example, in response to a situation in which e-mail is securely managed, e-mail is encrypted and managed for each user, while re-encryption is performed more than in the case of the invention according to claim 1 of the present application. System operation with reduced effort is possible.

また、本実施形態の再暗号化方法において、前記利用者端末が、データ作成者の第1暗号鍵にて平文を暗号化して第1の暗号化データを生成し、前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化して第2および第3の暗号化データを生成し、前記生成した第1、第2、および第3の各暗号化データを再暗号化装置に送信する処理を実行する、としてもよい。   Further, in the re-encryption method of the present embodiment, the user terminal generates first encrypted data by encrypting plaintext with the first encryption key of the data creator, and the first encryption key and the Second data and third encrypted data are generated by encrypting predetermined data generated from the first encryption key by a predetermined algorithm using a commutative encryption algorithm, and the generated first, second, and second data are generated. The process of transmitting the encrypted data 3 to the re-encryption apparatus may be executed.

これによれば、利用者端末において各暗号化データを生成し、これを再暗号化装置に格納することが可能となる。   According to this, each encrypted data can be generated in the user terminal and stored in the re-encryption device.

また、本実施形態の再暗号化システムの前記再暗号化装置において、前記演算装置が、特定利用者に関する閲覧権限の失効イベントに伴い、当該再暗号化装置にて生成した第2暗号鍵を用いて、前記第1の暗号化データを二重に暗号化する処理と、現時点で閲覧権限を有する利用者の復号鍵で復号可能に、前記第2の暗号化データを再暗号化する処理および、前記第3の暗号化データを再暗号化した値で前記第2暗号鍵の再暗号化を行う処理とを更に実行するものであり、前記現時点で閲覧権限を有する利用者の利用者端末において、前記演算装置が、前記二重に暗号化された第1の暗号化データと、前記再暗号化された第2の暗号化データと、前記再暗号化された第2の暗号化データにより再暗号化された第2暗号鍵とを、前記再暗号化装置から取得し、当該利用者端末が保持する復号鍵によって、前記再暗号化された第2の暗号化データからの前記第1暗号鍵の復号、および、前記再暗号化された第2暗号鍵からの前記第2暗号鍵の復号を行い、得られた第1暗号鍵および第2暗号鍵を用いて、前記二重に暗号化された第1の暗号化データを復号して前記平文を出力する処理を更に実行するものである、としてもよい。   Further, in the re-encryption device of the re-encryption system according to the present embodiment, the arithmetic device uses the second encryption key generated by the re-encryption device in association with the expiration event of the viewing authority related to the specific user. A process of double-encrypting the first encrypted data, a process of re-encrypting the second encrypted data so that it can be decrypted with a decryption key of a user who currently has the viewing authority, and A process of re-encrypting the second encryption key with a value obtained by re-encrypting the third encrypted data, and at the user terminal of the user having the viewing authority at the present time, The arithmetic unit re-encrypts the double encrypted first encrypted data, the re-encrypted second encrypted data, and the re-encrypted second encrypted data. The re-encryption device with the encrypted second encryption key From the re-encrypted second encrypted data, and the re-encrypted second encryption key from the re-encrypted second encrypted data. And decrypting the double encrypted first encrypted data using the obtained first and second encryption keys and outputting the plaintext The process may be further executed.

また、本実施形態の再暗号化システムの前記再暗号化装置において、前記演算装置が、前記第1、第2および第3の各暗号化データを前記データ作成者の利用者端末から受信し、当該再暗号化装置にて生成した第2暗号鍵を用いて、前記第1の暗号化データを二重に暗号化する処理と、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2の暗号化データを再暗号化する処理および、前記第3の暗号化データを再暗号化した値で前記第2暗号鍵の再暗号化を行う処理とを実行するものであり、前記閲覧権限を有する利用者の利用者端末において、前記演算装置が、前記二重に暗号化された第1の暗号化データと、前記再暗号化された第2の暗号化データと、前記再暗号化された第2暗号鍵とを、前記再暗号化装置から取得し、当該利用者端末が保持する復号鍵によって、前記再暗号化された第2の暗号化データからの前記第1暗号鍵の復号、および、前記再暗号化された第2暗号鍵からの前記第2暗号鍵の復号を行い、得られた第1暗号鍵および第2暗号鍵を用いて、前記二重に暗号化された第1の暗号化データを復号して前記平文を出力する処理を実行するものである、としてもよい。   Further, in the re-encryption device of the re-encryption system of the present embodiment, the arithmetic device receives the first, second and third encrypted data from the user terminal of the data creator, Using the second encryption key generated by the re-encryption device, the first encrypted data can be double-encrypted and decrypted with the decryption key of the user who has the authority to view the plaintext A process for re-encrypting the second encrypted data and a process for re-encrypting the second encryption key with a value obtained by re-encrypting the third encrypted data. In the user terminal of the user having the browsing authority, the computing device is configured to execute the double encrypted first encrypted data, the re-encrypted second encrypted data, and the re-encrypted data. Obtaining an encrypted second encryption key from the re-encryption device; With the decryption key held by the user terminal, the first encryption key is decrypted from the re-encrypted second encrypted data, and the second from the re-encrypted second encryption key. A process of decrypting the encryption key, decrypting the double encrypted first encrypted data using the obtained first encryption key and second encryption key, and outputting the plaintext is executed. It may be a thing.

また、本実施形態の再暗号化システムの前記利用者端末において、前記演算装置が、データ作成者の第1暗号鍵にて平文を暗号化して第1の暗号化データを生成し、前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化して第2および第3の暗号化データを生成し、前記生成した第1、第2、および第3の各暗号化データを再暗号化装置に送信する処理を実行するものである、としてもよい。   Further, in the user terminal of the re-encryption system of the present embodiment, the computing device encrypts plaintext with the first encryption key of the data creator to generate first encrypted data, and the first The encryption key and the predetermined data generated from the first encryption key by a predetermined algorithm are respectively encrypted by a commutative encryption algorithm to generate second and third encrypted data, and the generated first, first, Processing for transmitting the second and third encrypted data to the re-encryption device may be executed.

1 再暗号化システム
10 利用者端末
11 記憶装置
12 プログラム
13 メモリ
14 演算装置
15 入力装置
16 出力装置
17 通信装置
20 再暗号化装置
21 記憶装置
22 プログラム
23 メモリ
24 演算装置
25 通信装置
30 ネットワーク
101 秘密鍵生成部
102 鍵演算部
103 公開ID記憶部
104 鍵記憶部(秘密鍵)
105 情報生成部
106 暗号処理部
107 暗号化データ送受信部
108 一次記憶部
109 情報表示部
201 暗号化データ送受信部
202 送受信者制御部
203 変換鍵記憶部
204 暗号化データ記憶部
205 鍵演算部
206 再暗号化処理部
207 一次記憶部
208 アクセス鍵記憶部
209 二重暗号鍵記憶部
1 re-encryption system 10 user terminal 11 storage device 12 program 13 memory 14 arithmetic device 15 input device 16 output device 17 communication device 20 re-encryption device 21 storage device 22 program 23 memory 24 arithmetic device 25 communication device 30 network 101 secret Key generation unit 102 Key calculation unit 103 Public ID storage unit 104 Key storage unit (secret key)
105 Information generation unit 106 Encryption processing unit 107 Encrypted data transmission / reception unit 108 Primary storage unit 109 Information display unit 201 Encrypted data transmission / reception unit 202 Sender control unit 203 Conversion key storage unit 204 Encrypted data storage unit 205 Key operation unit 206 Encryption processing unit 207 Primary storage unit 208 Access key storage unit 209 Double encryption key storage unit

Claims (9)

複数の利用者端末とネットワークを介して接続された再暗号化装置が、
データ作成者の第1暗号鍵にて平文を暗号化した第1の暗号化データと、前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化した第2および第3の暗号化データとを、前記データ作成者の利用者端末から受信し、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2および第3の各暗号化データを再暗号化する処理を実行し、
前記閲覧権限を有する利用者の利用者端末が、
前記第1の暗号化データと前記再暗号化された第2および第3の各暗号化データとを前記再暗号化装置から取得し、前記再暗号化された第2の暗号化データから、当該利用者端末が保持する自身の復号鍵によって前記第1暗号鍵を復号し、当該復号で得た第1暗号鍵により前記第1の暗号化データを復号して前記平文を出力する処理を実行する、
ことを特徴とする再暗号化方法。
A re-encryption device connected to multiple user terminals via a network
The first encrypted data obtained by encrypting plaintext with the first encryption key of the data creator, and the first encryption key and the predetermined data generated from the first encryption key by a predetermined algorithm are exchangeably encrypted. Second and third encrypted data respectively encrypted with an algorithm are received from the user terminal of the data creator and can be decrypted with a decryption key of a user who has the authority to view the plaintext. And a process of re-encrypting each of the third encrypted data,
The user terminal of the user having the viewing authority is
Obtaining the first encrypted data and the re-encrypted second and third encrypted data from the re-encryption device, and from the re-encrypted second encrypted data, A process of decrypting the first encryption key with its own decryption key held by the user terminal, decrypting the first encrypted data with the first encryption key obtained by the decryption, and outputting the plaintext is executed. ,
A re-encryption method characterized by the above.
前記再暗号化装置が、
特定利用者に関する閲覧権限の失効イベントに伴い、当該再暗号化装置にて生成した第2暗号鍵を用いて、前記第1の暗号化データを二重に暗号化する処理と、現時点で閲覧権限を有する利用者の復号鍵で復号可能に、前記第2の暗号化データを再暗号化する処理および、前記第3の暗号化データを再暗号化した値で前記第2暗号鍵の再暗号化を行う処理とを更に実行し、
前記現時点で閲覧権限を有する利用者の利用者端末が、
前記二重に暗号化された第1の暗号化データと、前記再暗号化された第2の暗号化データと、前記再暗号化された第2の暗号化データにより再暗号化された第2暗号鍵とを、前記再暗号化装置から取得し、当該利用者端末が保持する復号鍵によって、前記再暗号化された第2の暗号化データからの前記第1暗号鍵の復号、および、前記再暗号化された第2暗号鍵からの前記第2暗号鍵の復号を行い、得られた第1暗号鍵および第2暗号鍵を用いて、前記二重に暗号化された第1の暗号化データを復号して前記平文を出力する処理を更に実行する、
ことを特徴とする請求項1に記載の再暗号化方法。
The re-encryption device is
A process of double-encrypting the first encrypted data using the second encryption key generated by the re-encryption device in association with the expiration event of the viewing authority related to the specific user, and the viewing authority at the present time A process of re-encrypting the second encrypted data so that the second encrypted data can be decrypted with a decryption key of the user having the key And further execute the process of performing
The user terminal of the user who has the viewing authority at the present time,
The second encrypted data re-encrypted by the double-encrypted first encrypted data, the re-encrypted second encrypted data, and the re-encrypted second encrypted data. An encryption key is obtained from the re-encryption device, and the decryption key held by the user terminal is used to decrypt the first encryption key from the re-encrypted second encrypted data, and Decrypting the second encryption key from the re-encrypted second encryption key, and using the obtained first encryption key and second encryption key, the double encrypted first encryption Further executing a process of decrypting the data and outputting the plaintext;
The re-encryption method according to claim 1.
前記再暗号化装置が、
前記第1、第2および第3の各暗号化データを前記データ作成者の利用者端末から受信し、当該再暗号化装置にて生成した第2暗号鍵を用いて、前記第1の暗号化データを二重に暗号化する処理と、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2の暗号化データを再暗号化する処理および、前記第3の暗号化データを再暗号化した値で前記第2暗号鍵の再暗号化を行う処理とを実行し、
前記閲覧権限を有する利用者の利用者端末が、
前記二重に暗号化された第1の暗号化データと、前記再暗号化された第2の暗号化データと、前記再暗号化された第2暗号鍵とを、前記再暗号化装置から取得し、当該利用者端末が保持する復号鍵によって、前記再暗号化された第2の暗号化データからの前記第1暗号鍵の復号、および、前記再暗号化された第2暗号鍵からの前記第2暗号鍵の復号を行い、得られた第1暗号鍵および第2暗号鍵を用いて、前記二重に暗号化された第1の暗号化データを復号して前記平文を出力する処理を実行する、
ことを特徴とする請求項1に記載の再暗号化方法。
The re-encryption device is
Each of the first, second, and third encrypted data is received from the data creator's user terminal, and the first encryption is performed using the second encryption key generated by the re-encryption device. A process of double-encrypting the data, a process of re-encrypting the second encrypted data so that it can be decrypted with a decryption key of a user who has the authority to view the plaintext, and the third encrypted data And re-encrypting the second encryption key with a value obtained by re-encrypting
The user terminal of the user having the viewing authority is
The double-encrypted first encrypted data, the re-encrypted second encrypted data, and the re-encrypted second encryption key are acquired from the re-encryption device. Then, with the decryption key held by the user terminal, the decryption of the first encryption key from the re-encrypted second encrypted data and the re-encryption from the second encryption key Decrypting the second encryption key, using the obtained first encryption key and second encryption key, decrypting the double encrypted first encrypted data and outputting the plaintext Run,
The re-encryption method according to claim 1.
前記利用者端末が、
データ作成者の第1暗号鍵にて平文を暗号化して第1の暗号化データを生成し、
前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化して第2および第3の暗号化データを生成
し、
前記生成した第1、第2、および第3の各暗号化データを再暗号化装置に送信する処理を実行する、
ことを特徴とする請求項1に記載の再暗号化方法。
The user terminal is
The first encrypted data is generated by encrypting the plaintext with the first encryption key of the data creator,
Encrypting the first encryption key and predetermined data generated from the first encryption key by a predetermined algorithm with a commutative encryption algorithm, respectively, to generate second and third encrypted data;
A process of transmitting the generated first, second, and third encrypted data to the re-encryption device;
The re-encryption method according to claim 1.
複数の利用者端末と通信する通信装置と、
データ作成者の第1暗号鍵にて平文を暗号化した第1の暗号化データと、前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化した第2および第3の暗号化データとを、前記データ作成者の利用者端末から受信し、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2および第3の各暗号化データを再暗号化する処理を実行する演算装置と、
を備えた再暗号化装置と、
前記再暗号化装置と通信する通信装置と、
前記第1の暗号化データと前記再暗号化された第2および第3の各暗号化データとを前記再暗号化装置から取得し、前記再暗号化された第2の暗号化データから、当該利用者端末が保持する自身の復号鍵によって前記第1暗号鍵を復号し、当該復号で得た第1暗号鍵により前記第1の暗号化データを復号して前記平文を出力する処理を実行する演算装置と、
を備えた利用者端末と、
を含むことを特徴とする再暗号化システム。
A communication device for communicating with a plurality of user terminals;
The first encrypted data obtained by encrypting plaintext with the first encryption key of the data creator, and the first encryption key and the predetermined data generated from the first encryption key by a predetermined algorithm are exchangeably encrypted. Second and third encrypted data respectively encrypted with an algorithm are received from the user terminal of the data creator and can be decrypted with a decryption key of a user who has the authority to view the plaintext. And an arithmetic unit that executes a process of re-encrypting each third encrypted data;
A re-encryption device comprising:
A communication device for communicating with the re-encryption device;
Obtaining the first encrypted data and the re-encrypted second and third encrypted data from the re-encryption device, and from the re-encrypted second encrypted data, A process of decrypting the first encryption key with its own decryption key held by the user terminal, decrypting the first encrypted data with the first encryption key obtained by the decryption, and outputting the plaintext is executed. An arithmetic unit;
A user terminal with
A re-encryption system characterized by including:
前記再暗号化装置において、
前記演算装置が、
特定利用者に関する閲覧権限の失効イベントに伴い、当該再暗号化装置にて生成した第2暗号鍵を用いて、前記第1の暗号化データを二重に暗号化する処理と、現時点で閲覧権限を有する利用者の復号鍵で復号可能に、前記第2の暗号化データを再暗号化する処理および、前記第3の暗号化データを再暗号化した値で前記第2暗号鍵の再暗号化を行う処理とを更に実行するものであり、
前記現時点で閲覧権限を有する利用者の利用者端末において、
前記演算装置が、
前記二重に暗号化された第1の暗号化データと、前記再暗号化された第2の暗号化データと、前記再暗号化された第2の暗号化データにより再暗号化された第2暗号鍵とを、前記再暗号化装置から取得し、当該利用者端末が保持する復号鍵によって、前記再暗号化された第2の暗号化データからの前記第1暗号鍵の復号、および、前記再暗号化された第2暗号鍵からの前記第2暗号鍵の復号を行い、得られた第1暗号鍵および第2暗号鍵を用いて、前記二重に暗号化された第1の暗号化データを復号して前記平文を出力する処理を更に実行するものである、
ことを特徴とする請求項5に記載の再暗号化システム。
In the re-encryption device,
The arithmetic unit is
A process of double-encrypting the first encrypted data using the second encryption key generated by the re-encryption device in association with the expiration event of the viewing authority related to the specific user, and the viewing authority at the present time A process of re-encrypting the second encrypted data so that the second encrypted data can be decrypted with a decryption key of the user having the key And further performing the process of performing
In the user terminal of the user having the viewing authority at the present time,
The arithmetic unit is
The second encrypted data re-encrypted by the double-encrypted first encrypted data, the re-encrypted second encrypted data, and the re-encrypted second encrypted data. An encryption key is obtained from the re-encryption device, and the decryption key held by the user terminal is used to decrypt the first encryption key from the re-encrypted second encrypted data, and Decrypting the second encryption key from the re-encrypted second encryption key, and using the obtained first encryption key and second encryption key, the double encrypted first encryption Further executing a process of decrypting the data and outputting the plaintext,
The re-encryption system according to claim 5.
前記再暗号化装置において、
前記演算装置が、
前記第1、第2および第3の各暗号化データを前記データ作成者の利用者端末から受信し、当該再暗号化装置にて生成した第2暗号鍵を用いて、前記第1の暗号化データを二重に暗号化する処理と、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2の暗号化データを再暗号化する処理および、前記第3の暗号化データを再暗号化した値で前記第2暗号鍵の再暗号化を行う処理とを実行するものであり、
前記閲覧権限を有する利用者の利用者端末において、
前記演算装置が、
前記二重に暗号化された第1の暗号化データと、前記再暗号化された第2の暗号化データと、前記再暗号化された第2暗号鍵とを、前記再暗号化装置から取得し、当該利用者端
末が保持する復号鍵によって、前記再暗号化された第2の暗号化データからの前記第1暗号鍵の復号、および、前記再暗号化された第2暗号鍵からの前記第2暗号鍵の復号を行い、得られた第1暗号鍵および第2暗号鍵を用いて、前記二重に暗号化された第1の暗号化データを復号して前記平文を出力する処理を実行するものである、
ことを特徴とする請求項5に記載の再暗号化システム。
In the re-encryption device,
The arithmetic unit is
Each of the first, second, and third encrypted data is received from the data creator's user terminal, and the first encryption is performed using the second encryption key generated by the re-encryption device. A process of double-encrypting the data, a process of re-encrypting the second encrypted data so that it can be decrypted with a decryption key of a user who has the authority to view the plaintext, and the third encrypted data And re-encrypting the second encryption key with a value obtained by re-encrypting
In the user terminal of the user having the viewing authority,
The arithmetic unit is
The double-encrypted first encrypted data, the re-encrypted second encrypted data, and the re-encrypted second encryption key are acquired from the re-encryption device. Then, with the decryption key held by the user terminal, the decryption of the first encryption key from the re-encrypted second encrypted data and the re-encryption from the second encryption key Decrypting the second encryption key, using the obtained first encryption key and second encryption key, decrypting the double encrypted first encrypted data and outputting the plaintext What to do,
The re-encryption system according to claim 5.
前記利用者端末において、
前記演算装置が、
データ作成者の第1暗号鍵にて平文を暗号化して第1の暗号化データを生成し、
前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化して第2および第3の暗号化データを生成し、
前記生成した第1、第2、および第3の各暗号化データを再暗号化装置に送信する処理を実行するものである、
ことを特徴とする請求項5に記載の再暗号化システム。
In the user terminal,
The arithmetic unit is
The first encrypted data is generated by encrypting the plaintext with the first encryption key of the data creator,
Encrypting the first encryption key and predetermined data generated from the first encryption key by a predetermined algorithm with a commutative encryption algorithm, respectively, to generate second and third encrypted data;
The process of transmitting the generated first, second, and third encrypted data to the re-encryption device is executed.
The re-encryption system according to claim 5.
複数の利用者端末と通信する通信装置と、
データ作成者の第1暗号鍵にて平文を暗号化した第1の暗号化データと、前記第1暗号鍵および当該第1暗号鍵から所定アルゴリズムで生成される所定データを可換性の暗号化アルゴリズムでそれぞれ暗号化した第2および第3の暗号化データとを、前記データ作成者の利用者端末から受信し、前記平文の閲覧権限を有する利用者の復号鍵で復号可能に、前記第2および第3の各暗号化データを再暗号化する処理を実行し、前記第1の暗号化データと前記再暗号化された第2および第3の各暗号化データとを前記利用者端末に送信する演算装置と、
を備えることを特徴とする再暗号化装置。
A communication device for communicating with a plurality of user terminals;
The first encrypted data obtained by encrypting plaintext with the first encryption key of the data creator, and the first encryption key and the predetermined data generated from the first encryption key by a predetermined algorithm are exchangeably encrypted. Second and third encrypted data respectively encrypted with an algorithm are received from the user terminal of the data creator and can be decrypted with a decryption key of a user who has the authority to view the plaintext. And a process of re-encrypting each of the third encrypted data, and transmitting the first encrypted data and the re-encrypted second and third encrypted data to the user terminal An arithmetic unit to
A re-encryption device comprising:
JP2015013107A 2015-01-27 2015-01-27 Re-encryption method, re-encryption system, and re-encryption device Expired - Fee Related JP6302851B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015013107A JP6302851B2 (en) 2015-01-27 2015-01-27 Re-encryption method, re-encryption system, and re-encryption device
CN201510850048.6A CN105827585B (en) 2015-01-27 2015-11-27 Method is re-encrypted, system is re-encrypted and re-encrypts device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015013107A JP6302851B2 (en) 2015-01-27 2015-01-27 Re-encryption method, re-encryption system, and re-encryption device

Publications (2)

Publication Number Publication Date
JP2016139894A true JP2016139894A (en) 2016-08-04
JP6302851B2 JP6302851B2 (en) 2018-03-28

Family

ID=56513489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015013107A Expired - Fee Related JP6302851B2 (en) 2015-01-27 2015-01-27 Re-encryption method, re-encryption system, and re-encryption device

Country Status (2)

Country Link
JP (1) JP6302851B2 (en)
CN (1) CN105827585B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190074170A (en) * 2017-12-19 2019-06-27 유재욱 Software code obfuscation using doubly packed structures
CN113645183A (en) * 2021-06-21 2021-11-12 苏州工业园区服务外包职业学院 Data encryption transmission method, system, computer equipment and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112019005438A2 (en) * 2016-09-21 2019-06-18 Mastercard International Inc double data anonymization method and system
CN110909316B (en) * 2019-11-14 2023-05-09 武汉正维电子技术有限公司 Encryption protection method for singlechip software and storage medium
CN112907268A (en) * 2019-12-04 2021-06-04 北京京东尚科信息技术有限公司 Attribution method, apparatus, device and medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293099A1 (en) * 2009-05-15 2010-11-18 Pauker Matthew J Purchase transaction system with encrypted transaction information
JP2013101260A (en) * 2011-11-09 2013-05-23 Toshiba Corp Re-encryption system, re-encryption device, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739604B (en) * 2011-03-31 2016-09-28 中兴通讯股份有限公司 The method and system of secure transmission of media information
US8769705B2 (en) * 2011-06-10 2014-07-01 Futurewei Technologies, Inc. Method for flexible data protection with dynamically authorized data receivers in a content network or in cloud storage and content delivery services
CN102629940A (en) * 2012-03-19 2012-08-08 天津书生投资有限公司 Storage method, system and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293099A1 (en) * 2009-05-15 2010-11-18 Pauker Matthew J Purchase transaction system with encrypted transaction information
JP2013101260A (en) * 2011-11-09 2013-05-23 Toshiba Corp Re-encryption system, re-encryption device, and program

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
坂崎 尚生 ほか: "共通鍵暗号ベースの再暗号方式の検討", 2014年 暗号と情報セキュリティシンポジウム SCIS2014 [CD−ROM], vol. 2D4−1, JPN6014048127, 21 January 2014 (2014-01-21), JP, pages 1 - 8, ISSN: 0003733838 *
坂崎 尚生 ほか: "共通鍵暗号ベースの再暗号方式の検討その2", 2015年 暗号と情報セキュリティシンポジウム SCIS2015 [CD−ROM], vol. 3F3−4, JPN6018003718, 20 January 2015 (2015-01-20), JP, pages 1 - 8, ISSN: 0003733839 *
王 立華 ほか: "PRINCESS:プロキシ暗号化技術を活用したセキュアなストレージシステム", 2014年 暗号と情報セキュリティシンポジウム SCIS2014 [CD−ROM], vol. 2C3−4, JPN6017036778, 24 January 2014 (2014-01-24), JP, pages 1 - 6, ISSN: 0003733836 *
高山 一樹 ほか: "平文を生成しない分散ストレージ上での再暗号化手法の提案", 情報処理学会研究報告, vol. 2008, no. 88, JPN6014048125, 14 September 2008 (2008-09-14), JP, pages 169 - 174, ISSN: 0003733837 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190074170A (en) * 2017-12-19 2019-06-27 유재욱 Software code obfuscation using doubly packed structures
KR102018960B1 (en) 2017-12-19 2019-09-05 유재욱 Software code obfuscation using doubly packed structures
CN113645183A (en) * 2021-06-21 2021-11-12 苏州工业园区服务外包职业学院 Data encryption transmission method, system, computer equipment and storage medium
CN113645183B (en) * 2021-06-21 2023-08-15 苏州工业园区服务外包职业学院 Data encryption transmission method, system, computer equipment and storage medium

Also Published As

Publication number Publication date
CN105827585A (en) 2016-08-03
JP6302851B2 (en) 2018-03-28
CN105827585B (en) 2019-01-11

Similar Documents

Publication Publication Date Title
JP7073268B2 (en) Systems and methods for encryption and decryption based on quantum key distribution
US9197410B2 (en) Key management system
JP6302851B2 (en) Re-encryption method, re-encryption system, and re-encryption device
US10148430B1 (en) Revocable stream ciphers for upgrading encryption in a shared resource environment
JP6049914B2 (en) Cryptographic system, key generation device, and re-encryption device
JP2016158189A (en) Change direction with key control system and change direction with key control method
JP2006345261A (en) Data processor
JP2008172736A (en) Ciphertext decryption right transfer system
JPWO2018016330A1 (en) Communication terminal, server device, program
WO2017033843A1 (en) Searchable cryptograph processing system
US20150082040A1 (en) Method, information service system and program for information encryption/decryption
WO2015083210A1 (en) Data processing system, encryption apparatus, decryption apparatus, and program
JP6058514B2 (en) Cryptographic processing method, cryptographic system, and server
US20180013830A1 (en) Method and system for managing encrypted data of devices
JP2019102970A (en) Data sharing server device, key generation server device, communication terminal, and program
JP2006279269A (en) Information management device, information management system, network system, user terminal, and their programs
WO2015156145A1 (en) Re-encryption method, re-encryption system, and re-encryption device
JP2016076759A (en) Cryptographic system, encryption method, universal re-encryption key generation device and re-encryption key generation device
KR101812311B1 (en) User terminal and data sharing method of user terminal based on attributed re-encryption
JP5491713B2 (en) ENCRYPTION DEVICE, ENCRYPTION PROGRAM, AND METHOD
JP5945525B2 (en) KEY EXCHANGE SYSTEM, KEY EXCHANGE DEVICE, ITS METHOD, AND PROGRAM
JP2018032908A (en) Information transmission method, information processing method, program, decoding method, and program
WO2019088279A1 (en) Data sharing method, data sharing system, data sharing server, communication terminal, and program
CN105515760A (en) Information encryption method, information decryption method and information encryption and decryption system
KR101599996B1 (en) Server and system for revocable identity based encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180119

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: 20180206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180305

R150 Certificate of patent or registration of utility model

Ref document number: 6302851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees