JP2016139894A - Re-encryption method, re-encryption system, and re-encryption device - Google Patents
Re-encryption method, re-encryption system, and re-encryption device Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0478—Network 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
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.
しかしながら従来技術においては、暗号化対象のデータがデータ作成者により平文データのままストレージサーバに登録される。そのため、ストレージサーバの管理者は暗号化前の平文データをそのまま閲覧することが可能である。また、この平文データは、ストレージサーバにて暗号化されるといえども、当該ストレージサーバ自身が上述の各暗号鍵を生成、管理している関係上、ストレージサーバの管理者によれば、ストレージサーバで保持する暗号鍵を用いた暗号化データの復号化は自在である。 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.
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図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
本実施形態に係る再暗号化システム1は、複数の利用者端末10(本実施形態では、複数の利用者端末10を区別するため、便宜的に“10−1”、“10−2”、“10−3”、“10−4”、と表記するが、特に利用者端末間で区別が必要無い記載の場合、利用者端末10とする)と、再暗号化装置20とがインターネットなどの適宜なネットワーク30を介して通信可能に接続されて構成されたコンピュータネットワークシステムである。
The
図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
このうち秘密鍵生成部101は、各利用者端末10−1〜10−4で管理する秘密鍵を生成するものである。また、鍵演算部102は、動的に暗号鍵、復号鍵等を生成するものである。また、公開ID記憶部103は、通信相手端末を識別するID(identification)を記憶するものである。また、鍵記憶部104は、秘密鍵成部101で生成された秘密鍵を安全に管理するものである。また、情報生成部105は、通信相手端末へのメッセージを生成するものである。また、暗号処理部106は、暗号鍵を用いてメッセージを暗号化したり、復号鍵を用いて暗号化データを復号したりするものである。また、暗号化データ送受信部107は、暗号化データを送受信する。また、一次記憶部108は、半導体を用いた一次記憶領域である。また、情報表示部109は、メッセージを表示するものである。なお、上述した通信相手を識別するIDは、メールアドレスや身分証明書番号等、公に個人を特定できるものであればよく、利用するシステム毎に予め利用者に通知されているものとする。
Among these, the secret
このような機能を有する各利用者端末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
また再暗号化装置20の機能構成は以下の通りとなる。図1にて示すように、再暗号化装置20は、暗号化データ送受信部201、送受信者制御部202、変換鍵記憶部203、暗号化データ記憶部204、鍵演算部205、再暗号化処理部206、一次記憶部20
7、アクセス鍵記憶部208、および二重暗号鍵記憶部209から構成することができる。
The functional configuration of the
7, an access
このうち暗号化データ送受信部201は、暗号化データを送受信するものである。また、送受信者制御部202は、再暗号化装置20にアップロードされた暗号化データがどの利用者端末からどの利用者端末へのメッセージであるかを制御するものである。また、変換鍵記憶部203は、再暗号化に用いる変換鍵を管理するものである。また、暗号化データ記憶部204は、再暗号化データを記憶するものである。また、鍵演算部205は、変換鍵を登録するための情報を計算したり、乱数を生成したりするものである。また、再暗号化処理部206は、再暗号化処理を行うものである。また、アクセス鍵記憶部208は、暗号化データを復号する為の情報を暗号化した情報(以下、アクセス鍵と称する)を記憶するものである。また、二重暗号鍵記憶部209は、暗号化データを更に二重に暗号化する際に用いた暗号鍵(以下、二重暗号鍵と称する)を記憶するものである。
Among these, the encrypted data transmitting / receiving
こうした再暗号化装置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
4 can be realized as a
−−−本実施形態における用語等の定義−−−
ここで、本実施形態で用いる関数および演算子の意味を予め説明する。本実施形態で記載する“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
図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
この場合まず、利用者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
一方、再暗号化装置20は、利用者端末10−4から上述の変換鍵登録申請を受信すると、予め定めたハッシュ値と同じ長さの乱数pを適宜な乱数生成アルゴリズムにて生成し(ステップS002)、その乱数pを変換鍵登録申請元である上述の利用者端末10−4に送信する(ステップS003)。
On the other hand, when the
他方、利用者端末10−4は、鍵記憶部104にて管理している自身の秘密鍵Ksと、公開ID記憶部103にて利用者端末10−1に関して管理している公開ID“IDa”を、ハッシュ関数に入力してハッシュ値Ks(a)=h(Ks,IDa)を計算することで、鍵を暗号化する鍵暗号鍵を生成する(ステップS004)。
On the other hand, the user terminal 10-4, and the secret key K s of its own that is managed by the
続いて利用者端末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にて管理している自身の秘密鍵Kaと、公開ID記憶部103にて管理している利用者端末10−4を識別する公開IDであるIDsをハッシュ関数に入力してハッシュ値Ka(s)=h(Ka,IDs)を計算し、鍵暗号鍵を生成する(ステップ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
続いて利用者端末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
一方、再暗号化装置20は、利用者端末10−1から“ra(s) xor p xo
r rs(a)”を受信すると、この値に上述のステップS002で用いた乱数pをxorし、利用者端末10−4と利用者端末10−1との変換鍵“ra(s) xor rs
(a)”を計算し(ステップS010)、上述の変換鍵“ra(s) xor rs(a
)”を変換鍵記憶部203のテーブルT203(図18、図26)に利用者端末10−4と利用者端末10−1との変換鍵として登録する(ステップS011)。
On the other hand, the
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
図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
一方、再暗号化装置20は、上述の変換鍵登録申請を受信すると、予め定めたハッシュ値と同じ長さの乱数p'を生成し(ステップS102)、その乱数p'を変換鍵登録申請元である上述の利用者端末10−1に送信する(ステップS103)。
On the other hand, when receiving the above conversion key registration application, the
他方、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kaと、公開ID記憶部103にて利用者端末10−4(メッセージの送信元)に関して管理している公開ID“IDs”をハッシュ関数に入力して、ハッシュ値Ka(s)=h(Ka,IDs)を計算することで、鍵を暗号化する鍵暗号鍵を生成する(ステップS104)。
On the other hand, the user terminal 10-1 manages the secret key K a of its own that is managed by the
次に利用者端末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
また利用者端末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にて管理している自身の秘密鍵Kbと、公開ID記憶部103にて利用者端末10−1に関して管理している公開ID“IDa”をハッシュ関数に入力してハッシュ値Kb(a)=h(Kb,IDa)を計算し、鍵暗号鍵を生
成する(ステップ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
続いて利用者端末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 ra
(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
一方、再暗号化装置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
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
なお、メッセージを生成する利用者端末が利用者端末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
図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
以上説明した変換鍵の登録方法により、利用者端末10−1、10−2、10−3、10−4にてそれぞれ管理する秘密鍵Ka、Kb、Kc、Ksを自分以外の利用者端末および再暗号化装置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
続いて図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
この場合まず、利用者端末10−4は,利用者端末10−1宛てのメッセージMを生成し(ステップS201)、このメッセージMに対して、鍵演算部102にて動的にランダムなメッセージ暗号鍵K1を生成する(ステップ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
また、利用者端末10−4は、上述のステップS202で生成したメッセージ暗号鍵K1を用いてメッセージ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にて管理している自身の秘密鍵Ksと、公開ID記憶部103にて利用者端末10−1に関し管理している公開ID“IDa”を、ハッシュ関数に入力してハッシュ値Ks(a)=h(Ks,IDa)を計算し、鍵暗号鍵を生成する(ステップS204)。
Next, the user terminal 10-4 manages its own secret key K s managed by the
次に利用者端末10−4は、上述で生成した鍵暗号鍵Ks(a)を用いてメッセージ暗号鍵K1をストリーム暗号にて暗号化する(ステップS205)。なお、この時の暗号データはEKs(a)(K1)=rs(a)xor K1となる。さらに利用者端末10−4は、メッセージ暗号鍵K1のハッシュ値h(K1)を計算し(ステップS206)、上述の鍵暗号鍵Ks(a)を用いて上述のハッシュ値h(K1)をストリーム暗号にて暗号化する(ステップS207)。なお、この時の暗号データはEKs(a)(h(K1))=rs(a)xor h(K1)となる。 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
この場合、再暗号化装置20は、上述のステップS208で利用者端末10−4から送られてきた、利用者端末10−1宛ての暗号化データおよび暗号鍵を暗号化したデータを受信すると、変換鍵記憶部203のテーブルT203(図18)から、利用者端末10−4から利用者端末10−1への変換鍵“ra(s)xor rs(a)”を取得する(ステップS209)。
In this case, when the
次に再暗号化装置20は、上述のステップS208で送られてきたデータの内、ステップS203で生成された暗号化データEK1(M)を暗号化データ記憶部204のテーブルT204−1(図18)に保管する(ステップS210)。
Next, the
次に再暗号化装置20は、ステップS208で送られてきたデータの内、ステップS205で生成された暗号化データEKs(a)(K1)をステップS209で取得した変換鍵“ra(s)xor rs(a)”を用いて再暗号化処理を施す。本実施形態における
再暗号化処理は、単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
(ra(s)xor rs(a)) xor EKs(a)(K1)
=(ra(s)xor rs(a)) xor (rs(a) xor K1)
=(ra(s) xor K1)=EKa(s)(K1)
そして再暗号化装置20は、得られた値EKa(s)(K1)を、利用者端末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
次に再暗号化装置20は、上述のステップS208で送られてきたデータの内、ステップS207で生成された暗号化データEKs(a)(h(K1))を、ステップS209で取得した変換鍵“ra(s)xor rs(a)”を用いて再暗号化処理を施す。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
(ra(s)xor rs(a)) xor EKs(a)(h(K1))
=(ra(s)xor rs(a)) xor (rs(a) xor h(K1))
=(ra(s) xor h(K1))=EKa(s)(h(K1))
そして再暗号化装置20は、得られた値EKa(s)(h(K1))を、利用者端末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
図8は、利用者端末10−4から再暗号化装置20に送信された、利用者端末10−1宛ての暗号化データを、再暗号化装置20にて利用者端末10−2が復号できるように、利用者端末10−1向けのアクセス鍵を利用者端末10−2向けのアクセス鍵として変換する処理の流れを示すシーケンス図である。
FIG. 8 shows that the
この場合、再暗号化装置20は、変換鍵記憶部203のテーブルT203(図18)から、利用者端末10−4が生成したメッセージに対する、利用者端末10−1から利用者端末10−2への変換鍵"rb(a)xor ra(s)"を取得する(ステップS213)。
In this case, the
次に再暗号化装置20は、JステップS211で得ている値EKa(s)(K1)をステップS213で取得した変換鍵“rb(a)xor ra(s)”を用いて再暗号化処理を施す。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
(rb(a)xor ra(s)) xor EKa(s)(K1)
=(rb(a)xor ra(s)) xor (ra(s) xor K1)
=(rb(a) xor K1)=EKb(a)(K1)
そして再暗号化装置20は、得られた値EKb(a)(K1)を、利用者端末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
次に再暗号化装置20は、上述のステップS212で得られた値EKa(s)(h(K1))をステップS213で取得した変換鍵“rb(a)xor ra(s)”を用いて再暗号化処理を施す。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
(rb(a)xor ra(s)) xor EKa(s)(h(K1))
=(rb(a)xor ra(s)) xor (ra(s) xor h(K1))
=(rb(a) xor h(K1))=EKb(a)(h(K1))
そして再暗号化装置20は、得られた値EKb(a)(h(K1))を、利用者端末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
図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
この場合、利用者端末10−1は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−1(図23)から暗号化データEK1(M)を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−1(図19)からアクセス鍵EKa(s)(K1)とEKa(s)(h(K1))を取得する(ステップ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
次に利用者端末10−1は、暗号化データを復号するための鍵暗号鍵を生成する(ステップS217)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kaと、公開ID記憶部103にて利用者端末10−4について管理している公開ID“IDs”をハッシュ関数に入力したハッシュ値Ka(s)=h(Ka,IDs)を計算することで、鍵暗号鍵を生成する。
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
次に利用者端末10−1は、生成した鍵暗号鍵Ka(s)を用いて、ステップS216で取得したアクセス鍵の内、EKa(s)(K1)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージ暗号鍵K1を復号することができる(ステップ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).
DKa(s)(EKa(s)(K1))=ra(s) xor (ra(s) xor
K1)=K1
次に利用者端末10−1は、ステップS218で復号したメッセージ暗号鍵K1を用いて、ステップ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).
DK1(EK1(M))=M
また同様に、利用者端末10−2は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−1(図23)から暗号化データEK1(M)を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−1(図19)からアクセス鍵EKb(a)(K1)とEKb(a)(a)(h(K1))を取得する(ステップ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
次に利用者端末10−2は、暗号化データを復号するための鍵暗号鍵を生成する(ステップS221)。具体的には、利用者端末10−2は、鍵記憶部104にて管理している自身の秘密鍵Kbと、公開ID記憶部103にて利用者端末10−1に関して管理している公開ID“IDa”をハッシュ関数に入力したハッシュ値Kb(a)=h(Kb,IDa)を計算することで、鍵暗号鍵を生成する。
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
次に利用者端末10−2は、生成した鍵暗号鍵Kb(a)を用いて、ステップS220で取得したアクセス鍵の内、EKb(a)(K1)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−2は、以下の様にメッセージ暗号鍵K1を復号することができる(ステップ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).
DKb(a)(EKb(a)(K1))=rb(a) xor (rb(a) xor
K1)=K1
次に利用者端末10−2は、ステップS222で復号したメッセージ暗号鍵K1を用いて、ステップ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).
DK1(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
次に、図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
図10は、再暗号化装置20において管理されている暗号化データEK1(M)への、利用者端末10−2によるアクセス権を抹消した際に、この利用者端末10−2が上述の暗号化データEK1(M)を復号できないよう、暗号化データEK1(M)を、再暗号化装置20が生成した暗号鍵K2で再度暗号化して二重暗号化データを生成し、この二重暗号化データを利用者端末10−1が復号できるように、利用者端末10−1向けのアクセス鍵EKa(s)(K1)とEKa(s)(h(K1))を変換するまでの流れを示すシーケンス図である。
FIG. 10 shows that when the access right by the user terminal 10-2 to the encrypted data E K1 (M) managed in the
再暗号化装置20は、利用者端末10−1、利用者端末10−3、および利用者端末10−4のいずれかからの依頼により、暗号化データEK1(M)への利用者端末10−2のアクセス権について、アクセス鍵記憶部208のテーブルT208−2(図20参照)に登録されている利用者端末10−2のアクセス鍵を削除する(ステップS301)。
The
次に再暗号化装置20は、上述の暗号化データEK1(M)に対して、鍵演算部205にて動的にランダムな二重暗号鍵K2を生成し、二重暗号鍵記憶部209のテーブルT209(図22)に保管する(ステップS302)。
Next, the
次に再暗号化装置20は、暗号化データ記憶部204のテーブルT204−1(図23)にて保管されている暗号化データEK1(M)を、ステップS302で生成した二重暗号鍵K2を用いてストリーム暗号にて二重に暗号化し、二重暗号データEK2(EK1(M))を計算する。そして、暗号化データ記憶部204にて保管されている暗号化データEK1(M)を、この二重暗号データEK2(EK1(M))に置き換える(ステップS303)。このとき、上述の二重暗号データEK2(EK1(M))が、二重暗号鍵K2にて二重暗号化されていることを再暗号化装置20が識別できるように、テーブルT209(図22)およびテーブルT204−2(図24)に識別子を用いて記録する。ここでは、テーブルT204−2にて、二重暗号化データEK2(EK1(M))には、識別子
"2"が割り振られている。また、テーブルT209にて、二重暗号鍵K2にも識別子"2"が割り振られている。そのため、再暗号化装置20は、二重暗号化データEK2(EK1(M))が、二重暗号鍵K2にて二重暗号化されていることを識別することが可能となる。
Next, the
“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
次に再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−1(図19)にて保管されている、利用者端末10−4と利用者端末10−1とのアクセス鍵の片側であるEKa(s)(h(K1))に、ステップS302で生成した二重暗号鍵K2を用いて再暗号処理を施す。なお、ここでの再暗号処理も単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
EKa(s)(h(K1)) xor K2
=(ra(s) xor h(K1)) xor K2
=ra(s) xor (h(K1) xor K2)
= EKa(s)(h(K1)xor K2)
そして、再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−1(図19)に保管されている、利用者端末10−4と利用者端末10−1とのアクセス鍵の片側であるEKa(s)(h(K1))を、この再暗号処理によって得た値EKa(s)(h(K1)xor K2)に置き換える(ステップS304、図20のテーブルT208−2参照)。また、同様にして利用者端末10−1と利用者端末10−3とのアクセス鍵の片側であるEKC(a)(h(K1))も二重暗号鍵K2を用いた再暗号処理値EKC(a)(h(K1)xor K2)に置き換える(図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
図11は、利用者端末10−1が、再暗号化装置20に登録されている上述の二重暗号化データEK2(EK1(M))およびアクセス鍵EKa(s)(K1)とEKa(s)(h(K1)xor K2)を取得し、二重暗号化データを復号してメッセージ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
この場合、利用者端末10−1は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−2(図24)から二重暗号化データEK2(EK1(M))を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−2(図20)からアクセス鍵EKあ(s)(K1)とEKa(s)(h(K1)xor K2)を取得する(ステップ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
次に利用者端末10−1は、二重暗号化データを復号するための鍵暗号鍵を生成する(ステップS306)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kaと、公開ID記憶部103にて利用者端末10−4に関して管理している公開ID“IDs”をハッシュ関数に入力したハッシュ値Ka(s)=h(Ka,IDs)を計算することで、鍵暗号鍵を生成する。
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
次に利用者端末10−1は、生成した鍵暗号鍵Ka(s)を用いて、ステップS305で取得したアクセス鍵の内、EKa(s)(K1)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージ暗号鍵K1を復号することができる(ステップ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).
DKa(s)(EKa(s)(K1))
=ra(s) xor (ra(s) xor K1)
=K1
次に利用者端末10−1は、ステップS306で生成した鍵暗号鍵Ka(s)を用いて、ステップS305で取得したアクセス鍵の内、EKa(s)(h(K1)xor K2
)をストリーム暗号により復号処理を行う。この復号処理により利用者端末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).
DKa(s)(EKa(s)(h(K1)xor K2))
=ra(s) xor (ra(s) xor (h(K1)xor K2))
=h(K1)xor K2
次に利用者端末10−1は、ステップS307で復号したメッセージ暗号鍵K1をハッシュ関数h()に入力したハッシュ値h(K1)を計算し、そのハッシュ値h(K1)とステップS308で得た値h(K1)xor K2との排他的論理和(xor)を計算して以下の様に二重暗号鍵K2を取得する(ステップ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(K1)xor (h(K1)xor K2)= K2
そして利用者端末10−1は、ステップS309で復号した二重暗号鍵K2を用いて、ステップ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).
DK2(EK2(EK1(M)))=EK1(M)
そして利用者端末10−1は、ステップS307で復号したメッセージ暗号鍵K1を用いて、ステップ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).
DK1(EK1(M))=M
図12は、利用者端末10−2に引き続き、更に利用者端末10−3に関して、二重暗号化データEK2(EK1(M))へのアクセス権を抹消した際に、利用者端末10−3が二重暗号化データEK2(EK1(M))を復号できないよう、二重暗号化データEK2(EK1(M))を再暗号化装置20が再度生成した暗号鍵K3で暗号化処理を施し、アクセス権を有する利用者端末10−1ならば復号できるように利用者端末10−1向けのアクセス鍵EKa(s)(K1)とEKa(s)(h(K1) xor K2)を再度変換するまでの流れを示すシーケンス図である。
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))
この場合、再暗号化装置20は、利用者端末10−1または利用者端末10−4からの、二重暗号化データEK2(EK1(M))への利用者端末10−3のアクセス権の抹消依頼により、アクセス鍵記憶部208に登録されている利用者端末10−3のアクセス鍵を削除する(ステップS401、図21のテーブルT208−3参照)。
In this case, the
次に再暗号化装置20は、上述の二重暗号化データEK2(EK1(M))に対して、鍵演算部205にて動的にランダムな二重暗号鍵K3を生成し、二重暗号鍵記憶部209のテーブルT209(図22)に保管する(ステップS402)。
Next, the
次に再暗号化装置20は、暗号化データ記憶部204のテーブルT204−2(図24)にて保管されている二重暗号化データEK2(EK1(M))を、ステップS402で生成した二重暗号鍵K3を用いてストリーム暗号にて二重に暗号化し、二重暗号データEK3(EK2(EK1(M)))を計算する(ステップS403)。
Next, the
次に再暗号化装置20は、暗号化データ記憶部204のテーブルT204−2(図24)にて保管されている二重暗号化データEK2(EK1(M))の識別子を基に、二重暗号鍵記憶部209のテーブルT209(図22)より、上述のEK2(EK1(M))の識別子と同じ識別子を持つ二重暗号鍵K2を取り出し、この二重暗号鍵K2を用いてステ
ップS403にて得た二重暗号データEK3(EK2(EK1(M)))を復号化する。この復号処理により再暗号化装置20は以下の値を得る。
Next, the
DK2(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))が、二重暗号鍵K3にて二重暗号化されていることを再暗号化装置20が識別できるように、図22のテーブルT209および図25のテーブルT204−3に識別子を用いて記録する。ここでは、テーブルT204−3にて二重暗号化データEK3(EK1(M))には識別子"3"が割り振られており、テーブルT209にて二重暗号鍵K3にも識別子"3"が割り振られているため、再暗号化装置20は、二重暗号化データEK3(EK1(M))が、二重暗号鍵K3にて二重暗号化されていることを識別することが可能となる。
Then, the double encrypted data E K2 (E K1 (M)) stored in the table T204-2 (FIG. 24) of the encrypted
次に再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−2(図20)にて保管されている、利用者端末10−4と利用者端末10−1とのアクセス鍵の片側であるEKa(s)(h(K1) xor K2)に、ステップS404で二重暗号鍵記憶部209のテーブルT209(図22)から取り出した二重暗号鍵K2とステップS402で生成した二重暗号鍵K3とをxorした値を暗号鍵として用いて再暗号処理を施す。なお、ここでの再暗号処理も、単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
EKa(s)(h(K1) xor K2 xor (K2 xor K3)
=(ra(s) xor (h(K1) xor K2)) xor (K2 xor
K3) = ra(s) xor (h(K1)xor K3)
= EKa(s)(h(K1)xor K3)
そして、再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−2(図20)に保管されている、利用者端末10−4と利用者端末10−1とのアクセス鍵の片側であるEKa(s)(h(K1)xor K2)を、この再暗号処理によって得た値EKa(s)(h(K1)xor K3)に置き換える(ステップ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
図13は、利用者端末10−1が、利用者端末10−2および利用者端末10−3が復号できない形で再暗号化装置20に登録されている上述の二重暗号化データEK3(EK1(M))およびアクセス鍵EKa(s)(K1)とEKa(s)(h(K1)xor K3)を取得し、上述の二重暗号化データを復号してメッセージMを取得するまでの流れを示すシーケンス図である。
FIG. 13 shows the above-described double encrypted data E K3 (registered in the
この場合、利用者端末10−1は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−3(図25)から二重暗号化データEK3(EK1(M))を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−3(図21)からアクセス鍵EKa(s)(K1)とEKa(s)(h(K1)xor K3)を取得する(ステップ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
次に利用者端末10−1は、二重暗号化データを復号するための鍵暗号鍵を生成する(ステップS407)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kaと、公開ID記憶部103にて利用者端末10−4に関し管理している公開ID“IDs”をハッシュ関数に入力したハッシュ値Ka(s)=h(Ka,I
Ds)を計算することで、鍵暗号鍵を生成する。
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
A key encryption key is generated by calculating D s ).
次に利用者端末10−1は、生成した鍵暗号鍵Ka(s)を用いて、ステップS406で取得したアクセス鍵の内、EKa(s)(K1)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージ暗号鍵K1を復号することができる(ステップ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).
DKa(s)(EKa(s)(K1))
=ra(s) xor (ra(s) xor K1)
=K1
次に利用者端末10−1は、ステップS407で生成した鍵暗号鍵Ka(s)を用いて、ステップS406で取得したアクセス鍵の内、EKa(s)(h(K1)xor K3)をストリーム暗号により復号処理を行う。この復号処理により利用者端末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).
DKa(s)(EKa(s)(h(K1)xor K3))
=ra(s) xor (ra(s) xor (h(K1)xor K3))
=h(K1)xor K3
次に利用者端末10−1は、ステップS408で復号したメッセージ暗号鍵K1をハッシュ関数h()に入力したハッシュ値h(K1)を計算し、そのハッシュ値h(K1)とステップS409で得た値h(K1)xor K3との排他的論理和(xor)を計算して以下の様に二重暗号鍵K3を取得する(ステップ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(K1)xor (h(K1)xor K3)= K3
そして利用者端末10−1は、ステップS410で復号した二重暗号鍵K3を用いて、ステップ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).
DK3(EK3(EK1(M)))=EK1(M)
そして利用者端末10−1は、ステップS408で復号したメッセージ暗号鍵K1を用いて、ステップ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).
DK1(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
以上、本発明の実施形態を具体的に説明したが、本発明はこれに限定されるものでなく、その趣旨を逸脱しない範囲において種々変更可能である。例えば、上記実施形態では、ステップ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
図14は、図7から図13までの処理とは別実施形態において、利用者端末10−4から再暗号化装置20に送信された利用者端末10−1宛ての暗号化データEK1(M)および暗号鍵を暗号化したデータ"EKs(a)(K1)、EKs(a)(h(K1))"に対し、暗号化データEK1(M)を再暗号化装置20にて利用者端末10−1向けに二重暗号化処理を施して二重暗号化データを生成し、前記二重暗号化データを利用者端末10−1が復号できるように、暗号鍵を暗号化したデータ"EKs(a)(K1)、EKs(
a)(h(K1))"を利用者端末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
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)(K1)、EKs(a)(h(K1))"を受信すると、再暗号化装置20は、上
述の暗号化データEK1(M)に対して、鍵演算部205にて動的にランダムな二重暗号鍵K2を生成し、二重暗号鍵記憶部209のテーブルT209(図22)に保管する(ステップS501)。
The
When (a) (K 1 ), E Ks (a) (h (K 1 )) ”is received, the
次に再暗号化装置20は前記暗号化データEK1(M)をステップS501で生成した二重暗号鍵K2を用いてストリーム暗号にて二重に暗号化し、二重暗号データEK2(EK1(M))を計算する。そして、暗号化データ記憶部204のテーブルT204−4(図28)に利用者端末10−1宛として、この二重暗号データEK2(EK1(M))を保管する。(ステップS502)。
Next, the
このとき、二重暗号データEK2(EK1(M))が二重暗号鍵K2にて二重暗号化されていることを再暗号化装置20が識別できるよう、図22のテーブルT209および図28のテーブルT204−4に識別子を用いて記録する。ここでは、テーブルT204−4にて二重暗号化データEK2(EK1(M))には識別子"2"が割り振られており、テーブルT209にて二重暗号鍵K2にも識別子"2"が割り振られているため、再暗号化装置20は、二重暗号化データEK2(EK1(M))が、二重暗号鍵K2にて二重暗号化されていることを識別することが可能となる。
In this case, the double encrypted data E K2 (E K1 (M) ) that that can be identified
次に再暗号化装置20は、変換鍵記憶部203のテーブルT203(図26)から、利用者端末10−4から利用者端末10−1への変換鍵"ra(s)xor rs(a)"を取得する(ステップS503)。
Next, the
次に再暗号化装置20は、ステップS208で送られてきたデータの内、EKs(a)(K1)をステップS503で取得した変換鍵"ra(s) xor rs(a)"を用いて再暗号化処理を施す。なお、ここでの再暗号化処理は単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
(ra(s)xor rs(a)) xor EKs(a)(K1)
=(ra(s)xor rs(a)) xor (rs(a) xor K1)
=(ra(s) xor K1)=EKa(s)(K1)
そして再暗号化装置20は、得られた値EKa(s)(K1)を利用者端末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
次に再暗号化装置20は、ステップS208で送られてきたデータの内、EKs(a)
(h(K1))をステップS503で取得した変換鍵"ra(s) xor rs(a)"を用いて再暗号化処理を施す。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
(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
(ra(s)xor rs(a)) xor EKs(a)(h(K1))
=(ra(s)xor rs(a)) xor (rs(a) xor h(K1))
=(ra(s) xor h(K1))=EKa(s)(h(K1))
そして再暗号化装置20は、得られた値EKa(s)(h(K1))に、ステップS501で生成した二重暗号鍵K2用いて再暗号処理を施す。なお、ここでの再暗号処理も単に排他的論理和演算処理(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
EKa(s)(h(K1)) xor K2
=(ra(s) xor h(K1))xor K2
=ra(s) xor (h(K1) xor K2)
=EKa(s)(h(K1)xor K2)。
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(K1)xor K2)を利用者端末10−4と利用者端末10−1とのアクセス鍵のもう一つの一部としてアクセス鍵記憶部208のテーブルT208−4(図27)に登録する(ステップS505)。
Then, the
図15は、図14のシーケンス図において再暗号化装置20に登録されている利用者端末10−1宛ての二重暗号化データEK2(EK1(M))およびアクセス鍵"EKa(
s)(K1)、EKa(s)(h(K1)xor K2)"に対し、前記二重暗号化デー
タEK2(EK1(M))を再暗号化装置20にて利用者端末10−2向けに更に暗号化処理を施し、上述の暗号化処理したデータを利用者端末10−2が復号できるように、利用者端末10−1向けのアクセス鍵"EKa(s)(K1)、EKa(s)(h(K1)
xor K2)"を利用者端末10−2向けのアクセス鍵として変換させるまでの処理の
流れを示すシーケンス図である。
Figure 15 is a sequence double encrypted data E of the user terminal 10-1 addressed registered in the
s) (K 1 ), E Ka (s) (h (K 1 ) xor K 2 ) ", the
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にて動的にランダムな二重暗号鍵K3を生成し、二重暗号鍵記憶部209のテーブルT209(図29)に保管する(ステップS506)。
In this case, the
次に再暗号化装置20は、暗号化データ記憶部204のテーブルT204−4(図289にて保管されている利用者端末10−1宛の二重暗号化データEK2(EK1(M))をステップS506で生成した二重暗号鍵K3を用いてストリーム暗号にて二重に暗号化し、二重暗号データEK3(EK2(EK1(M)))を計算する。
Next, the
そして再暗号化装置20は、暗号化データ記憶部204のテーブルT204−4にて保管されている利用者端末10−1宛の二重暗号化データEK2(EK1(M))の識別子を基に、二重暗号鍵記憶部209のテーブルT209より、前記EK2(EK1(M))の識別子と同じ識別子を持つ二重暗号鍵K2を取り出し、この二重暗号鍵K2を用いて二重暗号データEK3(EK2(EK1(M)))を復号化する。この復号処理により再暗号化装置20は以下の値を得る。
Then, the
DK2(EK3(EK2(EK1(M))))= EK3(EK1(M))
そして、再暗号化装置20は、暗号化データ記憶部204のテーブルT204−4(図28)に、利用者端末10−1宛として、この二重暗号データEK3(EK1(M))を保管する(ステップS507)。このとき、前記二重暗号データEK3(EK1(M))
が二重暗号鍵K3にて二重暗号化されていることを再暗号化装置20が識別できるように、図29のテーブルT209および図28のテーブルT204−4に識別子を用いて記録する。ここでは、テーブルT204−4にて二重暗号化データEK3(EK1(M))には識別子"3"が割り振られており、テーブルT209にて二重暗号鍵K3にも識別子"3"が割り振られているため、再暗号化装置20は、二重暗号化データEK3(EK1(M))が、二重暗号鍵K3にて二重暗号化されていることを識別することが可能となる。
D K2 (E K3 (E K2 (E K1 (M)))) = E K3 (E K1 (M))
Then, the
There at double encryption key K 3 for
次に再暗号化装置20は、変換鍵記憶部203のテーブルT203(図26)から、利用者端末10−4からのメッセージに対する利用者端末10−1から利用者端末10−2への変換鍵"rb(a) xor ra(s)"を取得する(ステップS508)。
Next, the
次に再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−4から利用者端末10−1のアクセス鍵の一部であるEKa(s)(K1)をステップS508で取得した変換鍵"rb(a) xor ra(s)"を用いて再暗号化処理を施す。なお、本実施形態では、この再暗号化処理は単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
(rb(a) xor ra(s)) xor EKa(s)(K1)
=(rb(a) xor ra(s)) xor (ra(s) xor K1)
=(rb(a) xor K1)
=EKb(a)(K1)
そして再暗号化装置20は、得られた値EKb(a)(K1)を利用者端末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
次に再暗号化装置20は、アクセス鍵記憶部208のテーブルT208−4から利用者端末10−1のアクセス鍵の一部であるEKa(s)(h(K1)xor K2)をステップS508で取得した変換鍵"rb(a) xor ra(s)"を用いて再暗号化処理を施す。なお、本実施形態では、この再暗号化処理は単に排他的論理和演算処理(xor)とする。この再暗号化処理により再暗号化装置20は、以下の値を得る。
Next, the
(rb(a) xor ra(s)) xor EKa(s)(h(K1)xor K2)
=(rb(a) xor ra(s)) xor (ra(s) xor (h(K1)xor K2)) =(rb(a) xor (h(K1)xor K2))
=EKb(a)(h(K1)xor K2)
そして再暗号化装置20は、得られた値EKb(a)(h(K1)xor K2)をステップS507で二重暗号鍵記憶部209のテーブルT209から取り出した二重暗号鍵K2とステップS506で生成した二重暗号鍵K3とを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
EKb(a)(h(K1)xor K2) xor (K2 xor K3)
=(rb(a) xor (h(K1) xor K2)) xor (K2 xor
K3) =rb(a) xor (h(K1)xor K3)
=EKb(a)(h(K1)xor K3)
そして、再暗号化装置20は、得られた値EKb(a)(h(K1)xor K3)を利用者端末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
図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
この場合、利用者端末10−1は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−4(図28)から二重暗号化データEK2(EK1(M))を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−4(図27)からアクセス鍵EKa(s)(K1)とEKa(s)(h(K1)xor K2)を取得する(ステップ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
次に利用者端末10−1は、二重暗号化データを復号するための鍵暗号鍵を生成する(ステップS512)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kaaと、公開ID記憶部103にて利用者端末10−4に関し管理している公開ID“IDs”をハッシュ関数に入力したハッシュ値Ka(s)=h(Ka,IDs)を計算することで、鍵暗号鍵を生成する。
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
次に利用者端末10−1は、生成した鍵暗号鍵Ka(s)を用いて、ステップS511で取得したアクセス鍵の内、EKa(s)(K1)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−1は、以下の様にメッセージ暗号鍵K1を復号することができる(ステップ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).
DKa(s)(EKa(s)(K1))
=ra(s) xor (ra(s) xor K1)
=K1
次に利用者端末10−1は、ステップS512で生成した鍵暗号鍵Ka(s)を用いて、ステップS511で取得したアクセス鍵の内、EKa(s)(h(K1)xor K2)をストリーム暗号により復号処理を行う。この復号処理により利用者端末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).
DKa(s)(EKa(s)(h(K1)xor K2))
=ra(s) xor(ra(s) xor (h(K1)xor K2))
=h(K1)xor K2
次に利用者端末10−1は、ステップS513で復号したメッセージ暗号鍵K1をハッシュ関数h()に入力したハッシュ値h(K1)を計算し、そのハッシュ値h(K1)とステップS514で得た値h(K1)xor K2との排他的論理和(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(K1)xor (h(K1)xor K2)= K2
そして利用者端末10−1は、ステップS515で復号した二重暗号鍵K2を用いて、ステップ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).
DK2(EK2(EK1(M)))=EK1(M)
そして利用者端末10−1は、ステップS513で復号したメッセージ暗号鍵K1を用いて、ステップ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).
DK1(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
この場合、利用者端末10−2は、再暗号化装置20の暗号化データ記憶部204のテーブルT204−4(図28)から二重暗号化データEK3(EK1(M))を、再暗号化装置20のアクセス鍵記憶部208のテーブルT208−4(図27)からアクセス鍵EKb(a)(K1)とEKb(a)(h(K1)xor K3)を取得する(ステップ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
次に利用者端末10−2は、二重暗号化データを復号するための鍵暗号鍵を生成する(ステップS519)。具体的には、利用者端末10−1は、鍵記憶部104にて管理している自身の秘密鍵Kbbと、公開ID記憶部103にて利用者端末10−1について管理している公開ID“IDa”をハッシュ関数に入力したハッシュ値Kb(a)=h(Kb,IDa)を計算することで、鍵暗号鍵を生成する。
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
次に利用者端末10−2は、生成した鍵暗号鍵Kb(a)を用いて、ステップS518で取得したアクセス鍵の内、EKb(a)(K1)をストリーム暗号により復号処理を行う。この復号処理により利用者端末10−2は、以下の様にメッセージ暗号鍵K1を復号することができる(ステップ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).
DKb(a)(EKb(a)(K1))
=rb(a) xor (rb(a) xor K1)
=K1
次に利用者端末10−2は、ステップS519で生成した鍵暗号鍵Kb(a)を用いて、ステップS518で取得したアクセス鍵の内、EKb(a)(h(K1)xor K3)をストリーム暗号により復号処理を行う。この復号処理により利用者端末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).
DKb(a)(EKb(a)(h(K1)xor K3))
=rb(a) xor (rb(a) xor (h(K1)xor K3))
=h(K1)xor K3
次に利用者端末10−2は、ステップS520で復号したメッセージ暗号鍵K1をハッシュ関数h()に入力したハッシュ値h(K1)を計算し、そのハッシュ値h(K1)とステップS521で得た値h(K1)xor K3との排他的論理和(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(K1)xor (h(K1)xor K3)= K3
そして利用者端末10−2は、ステップS522で復号した二重暗号鍵K3を用いて、ステップ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).
DK3(EK3(EK1(M)))=EK1(M)
そして利用者端末10−2は、ステップS520で復号したメッセージ暗号鍵K1を用いて、ステップ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).
DK1(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
また、本実施形態の再暗号化方法において、前記利用者端末が、データ作成者の第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
これによれば、利用者端末において各暗号化データを生成し、これを再暗号化装置に格納することが可能となる。 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
105
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:
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)
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)
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)
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)
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 |
-
2015
- 2015-01-27 JP JP2015013107A patent/JP6302851B2/en not_active Expired - Fee Related
- 2015-11-27 CN CN201510850048.6A patent/CN105827585B/en not_active Expired - Fee Related
Patent Citations (2)
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)
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)
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 |