JP2016012897A - Encryption data management system, proxy server, user terminal, encryption data management method, and computer program - Google Patents

Encryption data management system, proxy server, user terminal, encryption data management method, and computer program Download PDF

Info

Publication number
JP2016012897A
JP2016012897A JP2014135050A JP2014135050A JP2016012897A JP 2016012897 A JP2016012897 A JP 2016012897A JP 2014135050 A JP2014135050 A JP 2014135050A JP 2014135050 A JP2014135050 A JP 2014135050A JP 2016012897 A JP2016012897 A JP 2016012897A
Authority
JP
Japan
Prior art keywords
server
encrypted data
data
key
user terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014135050A
Other languages
Japanese (ja)
Other versions
JP6348004B2 (en
Inventor
中村 徹
Toru Nakamura
徹 中村
清本 晋作
Shinsaku Kiyomoto
晋作 清本
渡辺 龍
Tatsu Watanabe
龍 渡辺
三宅 優
Masaru Miyake
優 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2014135050A priority Critical patent/JP6348004B2/en
Publication of JP2016012897A publication Critical patent/JP2016012897A/en
Application granted granted Critical
Publication of JP6348004B2 publication Critical patent/JP6348004B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce a load related to encryption processing in the case of sharing encryption data by using a proxy re-encryption technology or a searchable encryption technology.SOLUTION: A user terminal 10 includes: a data encryption part 13 for generating the encryption data of data; a key encryption part 17 for generating the encryption data of the key of the encryption data; and a key generation part 12 for generating a re-encryption key related to a reception server 70. A storage server 30 includes an encryption data storage part 33 for storing the encryption data of the data and the encryption data of the key from the user terminal 10 in association. A proxy server 50 includes a re-encryption part 53 for performing re-encryption to the encryption data of the key from the storage server 30 by using the re-encryption key from the user terminal 10. The reception server 70 includes a decryption part 72 for decrypting the encryption data of the data from the storage server 30 by using a key obtained by decrypting the encryption data of the key subjected to the re-encryption from the proxy server 50.

Description

本発明は、暗号化データ管理システム、プロキシサーバ、ユーザ端末、暗号化データ管理方法およびコンピュータプログラムに関する。   The present invention relates to an encrypted data management system, a proxy server, a user terminal, an encrypted data management method, and a computer program.

近年、パーソナルデータの利用が検討されている。例えば個人の滞在している位置を示す位置情報などのライフログデータを、通信ネットワークを介して他者がアクセスできる場所(例えば、クラウドストレージサーバ等)に保管しておくことにより、ライフログデータの活用が容易になると考えられる。しかしながら、プライバシ保護の観点からライフログデータの取り扱いには慎重を期することが肝要である。このため、例えば、ユーザがクラウドストレージサーバに保管したライフログデータに対して、当該ユーザが許可した他者にのみアクセスを可能にすることが、プライバシ保護の対策として挙げられる。また、ライフログデータへのアクセス制御については柔軟できることが望ましい。例えば、通常は位置情報を提供していても、ある特定の区域内にいる場合の位置情報は提供しないといったことである。また、クラウドストレージサーバを管理するクラウドストレージ事業者に対して該クラウドストレージサーバで保管されているライフログデータを秘匿することにより、ライフログデータを預けているユーザの安心感が増す。これらの点を解決するためにライフログデータを暗号化してクラウドストレージサーバに保管しておくことが考えられる。   In recent years, the use of personal data has been studied. For example, by storing life log data, such as location information indicating the location where an individual is staying, in a location (for example, a cloud storage server) accessible to others via a communication network, It will be easier to use. However, it is important to handle life log data carefully from the viewpoint of privacy protection. For this reason, for example, enabling the access to only the other person permitted by the user with respect to the life log data stored in the cloud storage server by the user is cited as a privacy protection measure. In addition, it is desirable that the access control to life log data should be flexible. For example, even if position information is usually provided, position information when in a specific area is not provided. In addition, by concealing the life log data stored in the cloud storage server from the cloud storage company that manages the cloud storage server, the security of the user who keeps the life log data is increased. In order to solve these points, it is conceivable that life log data is encrypted and stored in a cloud storage server.

従来の暗号技術として、例えばプロキシ再暗号化(Proxy Re-Encryption:PRE)技術や検索可能暗号技術などの暗号技術が知られている。プロキシ再暗号化技術は、ファイルを暗号化したまま、他の鍵で暗号化したファイルに変換する技術である(例えば、非特許文献1参照)。検索可能暗号技術は、暗号化されたファイルを復号化することなく検索する技術である(例えば、非特許文献2参照)。また、検索可能暗号の処理時間を短縮する「Secure Indexes」という技術が知られている(例えば、非特許文献3参照)。   As conventional encryption techniques, for example, encryption techniques such as a proxy re-encryption (PRE) technique and a searchable encryption technique are known. The proxy re-encryption technique is a technique for converting a file encrypted with another key while the file is encrypted (see, for example, Non-Patent Document 1). The searchable encryption technique is a technique for searching an encrypted file without decrypting it (see, for example, Non-Patent Document 2). Further, a technique called “Secure Indexes” that shortens the processing time of searchable encryption is known (see, for example, Non-Patent Document 3).

M. Blaze, G. Bleumer, and M. Strauss, “Divertible protocols and atomic proxy cryptography”, Advances in Cryptology EUROCRYPT'98, pp.127-144, Springer, 1998.M. Blaze, G. Bleumer, and M. Strauss, “Divertible protocols and atomic proxy cryptography”, Advances in Cryptology EUROCRYPT'98, pp.127-144, Springer, 1998. D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano. “Public key encryption with keyword search.”, In EUROCRYPT ’04, pp.506-522, 2004.D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano. “Public key encryption with keyword search.”, In EUROCRYPT '04, pp.506-522, 2004. E. Goh, “Secure Indexes”,Cryptology ePrint Archive, Report 2003/216, 2003.E. Goh, “Secure Indexes”, Cryptology ePrint Archive, Report 2003/216, 2003.

しかし、上述した従来のプロキシ再暗号化技術や検索可能暗号技術を利用して暗号化データの共用を行う場合に、暗号処理の負荷が重いという課題がある。また、「Secure Indexes」技術では、検索可能暗号の処理時間を短縮できるが、誤検索「False Positive」が発生する場合がある。   However, when the encrypted data is shared using the above-described conventional proxy re-encryption technique or searchable encryption technique, there is a problem that the load of encryption processing is heavy. In addition, the “Secure Indexes” technology can reduce the processing time of searchable encryption, but an erroneous search “False Positive” may occur.

本発明は、このような事情を考慮してなされたものであり、プロキシ再暗号化技術や検索可能暗号技術を利用して暗号化データの共用を行う場合に、暗号処理についての負荷を軽減できる、暗号化データ管理システム、プロキシサーバ、ユーザ端末、暗号化データ管理方法およびコンピュータプログラムを提供することを課題とする。   The present invention has been made in view of such circumstances, and can reduce the load on encryption processing when sharing encrypted data using proxy re-encryption technology or searchable encryption technology. An object is to provide an encrypted data management system, a proxy server, a user terminal, an encrypted data management method, and a computer program.

(1)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムであり、前記ユーザ端末は、前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、データの暗号化データを生成するデータ暗号化部と、前記データの暗号化データについての鍵の暗号化データを生成する鍵暗号化部と、前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、前記ユーザ端末通信部は、前記データの暗号化データ及び前記鍵の暗号化データを前記ストレージサーバへ送信し、前記再暗号化鍵を前記プロキシサーバへ送信し、前記ストレージサーバは、前記ユーザ端末、前記プロキシサーバ及び前記受領サーバと通信するストレージサーバ通信部と、前記ユーザ端末から取得した前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する暗号化データ記憶部と、を備え、前記ストレージサーバ通信部は、前記鍵の暗号化データを前記プロキシサーバへ送信し、前記データの暗号化データを前記受領サーバへ送信し、前記プロキシサーバは、前記ユーザ端末、前記ストレージサーバ及び前記受領サーバと通信するプロキシサーバ通信部と、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行う再暗号化部と、を備え、前記プロキシサーバ通信部は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、前記受領サーバは、前記ストレージサーバ及び前記プロキシサーバと通信する受領サーバ通信部と、前記プロキシサーバから取得した前記再暗号化された鍵の暗号化データを復号化して鍵を取得し、該取得した鍵で、前記ストレージサーバから取得した前記データの暗号化データを復号化する復号化部と、を備える、暗号化データ管理システムである。 (1) One aspect of the present invention is an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server, and the user terminal communicates with the storage server and the proxy server. A data encryption unit that generates encrypted data of the data, a key encryption unit that generates encrypted data of a key for the encrypted data of the data, and a re-encryption key for the receiving server A key generation unit, wherein the user terminal communication unit transmits the encrypted data of the data and the encrypted data of the key to the storage server, transmits the re-encryption key to the proxy server, and The storage server includes a storage server communication unit that communicates with the user terminal, the proxy server, and the receiving server, and the user. An encrypted data storage unit that associates and stores the encrypted data of the data acquired from the end and the encrypted data of the key, and the storage server communication unit transmits the encrypted data of the key to the proxy server The encrypted data of the data is transmitted to the receiving server, and the proxy server is obtained from the storage server, a proxy server communication unit that communicates with the user terminal, the storage server, and the receiving server. A re-encryption unit that re-encrypts the encrypted data of the key with the re-encryption key acquired from the user terminal, and the proxy server communication unit includes the re-encrypted key Receiving server communication for transmitting encrypted data to the receiving server, wherein the receiving server communicates with the storage server and the proxy server And decrypting the encrypted data of the re-encrypted key obtained from the proxy server to obtain the key, and decrypting the encrypted data of the data obtained from the storage server with the obtained key And a decryption unit.

(2)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムであり、前記ユーザ端末は、前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、データの暗号化データを生成するデータ暗号化部と、前記データについてのタグに基づいたインデックスを生成するインデックス生成部と、前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、前記ユーザ端末通信部は、前記データの暗号化データ及び前記インデックスを前記ストレージサーバへ送信し、前記再暗号化鍵を前記プロキシサーバへ送信し、前記ストレージサーバは、前記ユーザ端末及び前記プロキシサーバと通信するストレージサーバ通信部と、前記ユーザ端末から取得した前記データの暗号化データと前記インデックスとを関連付けて格納する暗号化データ記憶部と、前記プロキシサーバから取得したトラップドアに基づいて前記インデックスに関連付けられている暗号化データを検索する暗号検索部と、を備え、前記ストレージサーバ通信部は、前記検索の結果であるデータの暗号化データを前記プロキシサーバへ送信し、前記プロキシサーバは、前記ユーザ端末、前記ストレージサーバ及び前記受領サーバと通信するプロキシサーバ通信部と、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部と、前記トラップドアに基づく検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、を備え、前記プロキシサーバ通信部は、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信し、前記受領サーバは、前記プロキシサーバと通信する受領サーバ通信部と、前記プロキシサーバから取得した前記再暗号化されたデータの暗号化データを復号化する復号化部と、を備える、暗号化データ管理システムである。 (2) One aspect of the present invention is an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server, and the user terminal communicates with the storage server and the proxy server. A data encryption unit that generates encrypted data of the data, an index generation unit that generates an index based on a tag for the data, a key generation unit that generates a re-encryption key for the receiving server, The user terminal communication unit transmits the encrypted data of the data and the index to the storage server, transmits the re-encryption key to the proxy server, and the storage server includes the user terminal and the Obtained from the storage server communication unit communicating with the proxy server and the user terminal An encrypted data storage unit that associates and stores the encrypted data of the data and the index, and an encryption search unit that retrieves the encrypted data associated with the index based on the trap door acquired from the proxy server; The storage server communication unit transmits encrypted data of the data as a result of the search to the proxy server, and the proxy server communicates with the user terminal, the storage server, and the receiving server. A server communication unit, a trap door generation unit that generates a trap door for a search keyword acquired from the receiving server, and encrypted data of data acquired from the storage server as a result of a search based on the trap door, To the receiving server acquired from the user terminal A re-encryption unit that performs re-encryption using the re-encryption key, wherein the proxy server communication unit transmits encrypted data of the re-encrypted data to the receiving server, and the receiving server Is an encrypted data management system comprising: a receiving server communication unit that communicates with the proxy server; and a decryption unit that decrypts the encrypted data of the re-encrypted data acquired from the proxy server. .

(3)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバであり、データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信するプロキシサーバ通信部と、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、を備え、前記プロキシサーバ通信部は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、プロキシサーバである。
(4)本発明の一態様は、上記(3)のプロキシサーバにおいて、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部をさらに備え、前記プロキシサーバ通信部は、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、プロキシサーバである。
(5)本発明の一態様は、上記(4)のプロキシサーバにおいて、前記プロキシサーバ通信部は、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、前記プロキシサーバは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行うタグ検証部をさらに備える、プロキシサーバである。
(3) One aspect of the present invention is the proxy server in an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server, and a key for encrypted data of the data and the encrypted data of the data The user terminal that transmits the encrypted data of the data to the storage server, the storage server that stores the encrypted data of the data and the encrypted data of the key in association with each other, and the encrypted data of the data from the storage server A proxy server communication unit that communicates with the receiving server that acquires the encrypted data of the key acquired from the storage server, and re-encrypted with the re-encryption key for the receiving server acquired from the user terminal A re-encryption unit that performs the re-encryption. To transmitted key encrypted data to the receiving server is a proxy server.
(4) One aspect of the present invention is the proxy server according to (3), further including a trap door generation unit that generates a trap door for the search keyword acquired from the receiving server, wherein the proxy server communication unit includes The trap door is transmitted to the storage server storing an index based on the tag of the data in association with the encrypted data of the data and the encrypted data of the key, and a search based on the trap door is transmitted from the storage server. A proxy server that receives the resulting index and encrypted data of the key associated with the index, and transmits the received index and encrypted data of the re-encrypted key to the receiving server .
(5) In one aspect of the present invention, in the proxy server according to (4), the proxy server communication unit includes an encrypted data of a tag for the data, an index based on the tag, an encrypted data of the data, and The encrypted data of the tag as a result of the search based on the trap door is received from the storage server that is stored in association with the encrypted data of the key, and the proxy server receives the encrypted data of the received tag. The proxy server further includes a tag verification unit that performs tag verification based on a decryption result and the search keyword.

(6)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバであり、データの暗号化データと前記データについてのタグに基づいたインデックスとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバに格納されている前記データの暗号化データの提供を受ける受領サーバと通信するプロキシサーバ通信部と、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部と、前記プロキシサーバ通信部により前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、をさらに備え、前記プロキシサーバ通信部は、前記トラップドアを前記ストレージサーバへ送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるデータの暗号化データを受信し、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信する、プロキシサーバである。 (6) One aspect of the present invention is the proxy server in an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server, and an index based on encrypted data of the data and a tag for the data Provided to the storage server, the storage server storing the encrypted data and the index in association with each other, and the encrypted data of the data stored in the storage server. A proxy server communication unit that communicates with a receiving server, a trap door generation unit that generates a trap door for a search keyword acquired from the receiving server, and encrypted data of data acquired from the storage server by the proxy server communication unit On the other hand, A re-encryption unit that re-encrypts with the re-encryption key for the receiving server acquired from the terminal, and the proxy server communication unit transmits the trap door to the storage server, and the storage server A proxy server that receives encrypted data of data that is a result of a search based on the trapdoor from the server and transmits the encrypted data of the re-encrypted data to the receiving server.

(7)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記ユーザ端末であり、前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、データの暗号化データを生成するデータ暗号化部と、前記データの暗号化データについての鍵の暗号化データを生成する鍵暗号化部と、前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、前記ユーザ端末通信部は、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバへ前記データの暗号化データ及び前記鍵の暗号化データを送信し、前記ストレージサーバから取得した前記鍵の暗号化データに対して前記再暗号化鍵で再暗号化を行う前記プロキシサーバへ前記再暗号化鍵を送信する、ユーザ端末である。 (7) One aspect of the present invention is the user terminal in an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server, and a user terminal communication unit that communicates with the storage server and the proxy server; A data encryption unit that generates encrypted data of the data, a key encryption unit that generates encrypted data of a key for the encrypted data of the data, and a key that generates a re-encryption key for the receiving server And the user terminal communication unit stores the encrypted data of the data and the encrypted data of the key in the storage server that stores the encrypted data of the data and the encrypted data of the key in association with each other. The encrypted data of the key acquired from the storage server is re-encrypted with the re-encryption key Transmitting said re-encryption key to Rokishisaba a user terminal.

(8)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記ユーザ端末であり、前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、データの暗号化データを生成するデータ暗号化部と、前記データについてのタグに基づいたインデックスを生成するインデックス生成部と、前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、前記ユーザ端末通信部は、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバへ前記データの暗号化データ及び前記インデックスを送信し、前記受領サーバの検索キーワードについてのトラップドアに基づいた検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して前記再暗号化鍵で再暗号化を行う前記プロキシサーバへ前記再暗号化鍵を送信する、ユーザ端末である。 (8) One aspect of the present invention is the user terminal in an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server, and a user terminal communication unit that communicates with the storage server and the proxy server; A data encryption unit for generating encrypted data, an index generation unit for generating an index based on a tag for the data, and a key generation unit for generating a re-encryption key for the receiving server, The user terminal communication unit transmits the encrypted data of the data and the index to the storage server that associates and stores the encrypted data of the data and the index, and traps the search keyword of the receiving server The storage server as a search result based on doors Wherein transmitting said re-encryption key to the proxy server with respect et obtained data of the encrypted data to re-encrypted by the re-encryption key, a user terminal.

(9)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける暗号化データ管理方法であり、前記ユーザ端末が、データの暗号化データを生成し、前記データの暗号化データについての鍵の暗号化データを生成し、前記データの暗号化データ及び前記鍵の暗号化データを前記ストレージサーバへ送信し、前記受領サーバについての再暗号化鍵を生成し、前記再暗号化鍵を前記プロキシサーバへ送信し、前記ストレージサーバが、前記ユーザ端末から取得した前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納し、前記鍵の暗号化データを前記プロキシサーバへ送信し、前記データの暗号化データを前記受領サーバへ送信し、前記プロキシサーバが、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行い、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、前記受領サーバが、前記プロキシサーバから取得した前記再暗号化された鍵の暗号化データを復号化して鍵を取得し、該取得した鍵で、前記ストレージサーバから取得した前記データの暗号化データを復号化する、暗号化データ管理方法である。 (9) One aspect of the present invention is an encrypted data management method in an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server. The user terminal generates encrypted data of data. Generating encrypted data of the key for the encrypted data of the data, transmitting the encrypted data of the data and the encrypted data of the key to the storage server, and generating a re-encryption key for the receiving server The re-encryption key is transmitted to the proxy server, and the storage server stores the encrypted data of the data acquired from the user terminal in association with the encrypted data of the key, and the encryption of the key Send encrypted data to the proxy server, send encrypted data of the data to the receiving server, and the proxy server The encrypted data of the key acquired from the storage server is re-encrypted with the re-encryption key acquired from the user terminal, and the encrypted data of the re-encrypted key is transmitted to the receiving server. The receiving server decrypts the encrypted data of the re-encrypted key acquired from the proxy server to acquire a key, and encrypts the data acquired from the storage server with the acquired key. An encrypted data management method for decrypting data.

(10)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける暗号化データ管理方法であり、前記ユーザ端末が、データの暗号化データを生成し、前記データについてのタグに基づいたインデックスを生成し、前記データの暗号化データ及び前記インデックスを前記ストレージサーバへ送信し、前記受領サーバについての再暗号化鍵を生成し、前記再暗号化鍵を前記プロキシサーバへ送信し、前記ストレージサーバが、前記ユーザ端末から取得した前記データの暗号化データと前記インデックスとを関連付けて格納し、前記プロキシサーバが、前記受領サーバから取得した検索キーワードについてのトラップドアを生成し、前記トラップドアを前記ストレージサーバへ送信し、前記ストレージサーバが、前記プロキシサーバから取得したトラップドアに基づいて前記インデックスに関連付けられている暗号化データを検索し、前記検索の結果であるデータの暗号化データを前記プロキシサーバへ送信し、前記プロキシサーバが、前記トラップドアに基づいた検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行い、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信し、前記受領サーバが、前記プロキシサーバから取得した前記再暗号化されたデータの暗号化データを復号化する、暗号化データ管理方法である。 (10) One aspect of the present invention is an encrypted data management method in an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server, and the user terminal generates encrypted data of data. Generating an index based on a tag for the data, transmitting the encrypted data of the data and the index to the storage server, generating a re-encryption key for the receiving server, and generating the re-encryption key The storage server stores the encrypted data of the data acquired from the user terminal and the index in association with each other, and the proxy server traps the search keyword acquired from the receiving server. Create a door and move the trap door to the storage server And the storage server searches the encrypted data associated with the index based on the trap door acquired from the proxy server, and transmits the encrypted data of the data as a result of the search to the proxy server. The proxy server performs re-encryption with the re-encryption key acquired from the user terminal on the encrypted data acquired from the storage server as a result of the search based on the trap door, Encrypted data management, wherein encrypted data of the re-encrypted data is transmitted to the receiving server, and the receiving server decrypts the encrypted data of the re-encrypted data acquired from the proxy server Is the method.

(11)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバのコンピュータに、データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信する通信機能と、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化機能と、を実現させるためのコンピュータプログラムであり、前記通信機能は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、コンピュータプログラムである。 (11) According to one aspect of the present invention, there is provided a computer of the proxy server in an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server, about data encryption data and data encryption data. The user terminal that transmits encrypted data of a key to the storage server, the storage server that associates and stores the encrypted data of the data and the encrypted data of the key, and encryption of the data from the storage server A communication function for communicating with the receiving server for acquiring data, and re-encryption of the encrypted data of the key acquired from the storage server with a re-encryption key for the receiving server acquired from the user terminal. A computer program for realizing the re-encryption function to be performed. The communication function, transmits the encrypted data of said re-encrypted key to the receiving server is a computer program.

(12)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバのコンピュータに、データの暗号化データと前記データについてのタグに基づいたインデックスとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバに格納されている前記データの暗号化データの提供を受ける受領サーバと通信する通信機能と、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成機能と、前記通信機能により前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化機能と、を実現させるためのコンピュータプログラムであり、前記通信機能は、前記トラップドアを前記ストレージサーバへ送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるデータの暗号化データを受信し、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信する、コンピュータプログラムである。 (12) One aspect of the present invention is based on encrypted data of data and a tag about the data in a computer of the proxy server in an encrypted data management system including a user terminal, a storage server, a proxy server, and a receiving server. Providing the user terminal for transmitting an index to the storage server, the storage server storing the encrypted data and the index in association with each other, and providing the encrypted data of the data stored in the storage server A communication function for communicating with a receiving server, a trap door generating function for generating a trap door for a search keyword acquired from the receiving server, and encrypted data of data acquired from the storage server by the communication function, From the user terminal A re-encryption function for performing re-encryption with the re-encryption key for the obtained receiving server, and the communication function transmits the trap door to the storage server, and A computer program that receives encrypted data of data that is a result of a search based on the trapdoor from a storage server, and transmits the encrypted data of the re-encrypted data to the receiving server.

本発明によれば、プロキシ再暗号化技術や検索可能暗号技術を利用して暗号化データの共用を行う場合に、暗号処理についての負荷を軽減できるという効果が得られる。   According to the present invention, when sharing encrypted data using proxy re-encryption technology or searchable encryption technology, it is possible to reduce the load on encryption processing.

本発明の第1実施形態に係る暗号化データ管理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the encryption data management system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。It is a sequence chart which shows the procedure of the encryption data management method which concerns on 1st Embodiment of this invention. 本発明の第2実施形態に係る暗号化データ管理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the encryption data management system which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。It is a sequence chart which shows the procedure of the encryption data management method which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係る暗号化データ管理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the encryption data management system which concerns on 3rd Embodiment of this invention. 本発明の第3実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。It is a sequence chart which shows the procedure of the encryption data management method which concerns on 3rd Embodiment of this invention.

以下、図面を参照し、本発明の実施形態について説明する。はじめにプロキシ再暗号化処理と検索可能暗号処理について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. First, proxy re-encryption processing and searchable encryption processing will be described.

[プロキシ再暗号化処理]
プロキシ再暗号化処理は、アルゴリズムPKG,E,D,RG,Rから構成される。鍵生成アルゴリズムPKGは、セキュリティパラメータkを入力として、鍵ペア(pk,sk)を出力する。暗号化アルゴリズムEは、ユーザAの鍵pk_Aとメッセージmを入力として、暗号文c_Aを出力する。復号アルゴリズムDは、ユーザAの鍵sk_Aと暗号文c_Aを入力として、メッセージmを出力する。再暗号化鍵生成アルゴリズムRGは、ユーザAの鍵pk_A,sk_Aと、ユーザBの鍵pk_Bとを入力として、再暗号化鍵rk_(A,B)を出力する。再暗号化アルゴリズムRは、再暗号化鍵rk_(A,B)と暗号文c_Aを入力として、再暗号化された暗号文c_Bを出力する。ここで、たとえ再暗号化鍵rk_(A,B)を所有していても、メッセージmに関する情報は全く得られない。このプロキシ再暗号化処理は、例えば非特許文献1に記載されている。
[Proxy re-encryption process]
The proxy re-encryption process is composed of algorithms PKG, E, D, RG, and R. The key generation algorithm PKG receives the security parameter k and outputs a key pair (pk, sk). The encryption algorithm E receives the key pk_A of the user A and the message m, and outputs a ciphertext c_A. Decryption algorithm D receives user A's key sk_A and ciphertext c_A, and outputs message m. The re-encryption key generation algorithm RG receives the key pk_A, sk_A of the user A and the key pk_B of the user B, and outputs a re-encryption key rk_ (A, B). The re-encryption algorithm R receives the re-encryption key rk_ (A, B) and the cipher text c_A, and outputs the re-encrypted cipher text c_B. Here, even if the re-encryption key rk_ (A, B) is owned, no information regarding the message m can be obtained. This proxy re-encryption process is described in Non-Patent Document 1, for example.

[検索可能暗号処理]
検索可能暗号処理は、アルゴリズムSKG,TD,BI,SIから構成される。鍵生成アルゴリズムSKGは、セキュリティパラメータkを入力として、マスター鍵mkを出力する。トラップドア生成アルゴリズムTDは、マスター鍵mkとキーワードwを入力として、トラップドアt_wを出力する。インデックス生成アルゴリズムBIは、マスター鍵mkと文書dを入力として、インデックスi_dを出力する。インデックス検索アルゴリズムSIは、トラップドアt_wとインデックスi_dを入力として、文書dにキーワードwが含まれている場合には1を出力し、そうではない場合には0を出力する。この検索可能暗号処理は、例えば非特許文献2に記載されている。
[Searchable cryptographic processing]
The searchable encryption process is composed of algorithms SKG, TD, BI, and SI. The key generation algorithm SKG receives the security parameter k and outputs a master key mk. The trap door generation algorithm TD receives the master key mk and the keyword w and outputs a trap door t_w. The index generation algorithm BI receives the master key mk and the document d and outputs an index i_d. The index search algorithm SI receives the trapdoor t_w and the index i_d as input, and outputs 1 if the keyword d is included in the document d, and outputs 0 if not. This searchable encryption process is described in Non-Patent Document 2, for example.

[第1実施形態]
図1は、本発明の第1実施形態に係る暗号化データ管理システムの構成を示すブロック図である。図1において、ユーザ端末10、ストレージサーバ30、プロキシサーバ50及び受領サーバ70は、それぞれに通信ネットワーク90に接続しており、通信ネットワーク90を介して相互にデータを送受できるようになっている。
[First Embodiment]
FIG. 1 is a block diagram showing a configuration of an encrypted data management system according to the first embodiment of the present invention. In FIG. 1, a user terminal 10, a storage server 30, a proxy server 50, and a receiving server 70 are respectively connected to a communication network 90 so that data can be transmitted / received to / from each other via the communication network 90.

ユーザ端末10は、ストレージサーバ30に対して、データの暗号化データの保管を依頼するものである。ユーザ端末10は、通信部11(ユーザ端末通信部)、鍵生成部12、データ暗号化部13、インデックス生成部14、タグ設定部15及びデータ記憶部16を備える。通信部11は、通信ネットワーク90を介して、他の装置とデータの送受を行う。鍵生成部12は鍵の生成を行う。データ暗号化部13はデータの暗号化を行う。インデックス生成部14はインデックスの生成を行う。タグ設定部15はタグの設定を行う。データ記憶部16はデータを記憶する。   The user terminal 10 requests the storage server 30 to store the encrypted data. The user terminal 10 includes a communication unit 11 (user terminal communication unit), a key generation unit 12, a data encryption unit 13, an index generation unit 14, a tag setting unit 15, and a data storage unit 16. The communication unit 11 exchanges data with other devices via the communication network 90. The key generation unit 12 generates a key. The data encryption unit 13 encrypts data. The index generation unit 14 generates an index. The tag setting unit 15 sets a tag. The data storage unit 16 stores data.

ユーザ端末10は、メモリ及びCPU(中央演算処理装置)等により構成され、該ユーザ端末10の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものである。ユーザ端末10として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。また、ユーザ端末10として、スマートフォン等の携帯通信端末装置、タブレット型のコンピュータ装置、据置き型のパーソナルコンピュータ装置などを利用してもよい。   The user terminal 10 includes a memory, a CPU (Central Processing Unit), and the like. The CPU executes a computer program for realizing the function of the user terminal 10 and realizes the function. The user terminal 10 may be configured using a general-purpose computer device, or may be configured as a dedicated hardware device. As the user terminal 10, a mobile communication terminal device such as a smartphone, a tablet computer device, a stationary personal computer device, or the like may be used.

ストレージサーバ30は、通信部31(ストレージサーバ通信部)、暗号検索部32及び暗号化データ記憶部33を備える。通信部31は、通信ネットワーク90を介して、他の装置とデータの送受を行う。暗号検索部32は、暗号化データ記憶部33に記憶されている暗号化データの検索を行う。暗号化データ記憶部33は暗号化データを記憶する。   The storage server 30 includes a communication unit 31 (storage server communication unit), an encryption search unit 32, and an encrypted data storage unit 33. The communication unit 31 exchanges data with other devices via the communication network 90. The cryptographic search unit 32 searches the encrypted data stored in the encrypted data storage unit 33. The encrypted data storage unit 33 stores encrypted data.

ストレージサーバ30は、メモリ及びCPU等により構成され、該ストレージサーバ30の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものである。ストレージサーバ30として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。   The storage server 30 is configured by a memory, a CPU, and the like, and the function is realized by the CPU executing a computer program for realizing the function of the storage server 30. The storage server 30 may be configured using a general-purpose computer device, or may be configured as a dedicated hardware device.

プロキシサーバ50は、通信部51(プロキシサーバ通信部)、トラップドア生成部52、再暗号化部53、アクセス権検証部54及びアクセス権記憶部55を備える。通信部51は、通信ネットワーク90を介して、他の装置とデータの送受を行う。トラップドア生成部52はトラップドアの生成を行う。再暗号化部53は暗号化データの再暗号化を行う。アクセス権検証部54は、ストレージサーバ30に保管されている暗号化データへのアクセス権の検証を行う。アクセス権記憶部55は、ストレージサーバ30に保管されている暗号化データへのアクセス権の情報を記憶する。   The proxy server 50 includes a communication unit 51 (proxy server communication unit), a trap door generation unit 52, a re-encryption unit 53, an access right verification unit 54, and an access right storage unit 55. The communication unit 51 transmits and receives data to and from other devices via the communication network 90. The trap door generation unit 52 generates a trap door. The re-encryption unit 53 re-encrypts the encrypted data. The access right verification unit 54 verifies the access right to the encrypted data stored in the storage server 30. The access right storage unit 55 stores access right information for encrypted data stored in the storage server 30.

プロキシサーバ50は、メモリ及びCPU等により構成され、該プロキシサーバ50の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものである。プロキシサーバ50として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。   The proxy server 50 is configured by a memory, a CPU, and the like, and the function is realized by the CPU executing a computer program for realizing the function of the proxy server 50. The proxy server 50 may be configured using a general-purpose computer device, or may be configured as a dedicated hardware device.

受領サーバ70は、ストレージサーバ30に保管されているデータの暗号化データの提供を受けるものである。受領サーバ70は、通信部71(受領サーバ通信部)と復号化部72を備える。通信部71は、通信ネットワーク90を介して、他の装置とデータの送受を行う。復号化部72は暗号化データの復号化を行う。   The receiving server 70 is provided with encrypted data of data stored in the storage server 30. The receiving server 70 includes a communication unit 71 (receiving server communication unit) and a decoding unit 72. The communication unit 71 transmits and receives data to and from other devices via the communication network 90. The decryption unit 72 decrypts the encrypted data.

受領サーバ70は、メモリ及びCPU等により構成され、該受領サーバ70の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものである。受領サーバ70として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。   The receiving server 70 is configured by a memory, a CPU, and the like, and realizes the function by the CPU executing a computer program for realizing the function of the receiving server 70. The receiving server 70 may be configured using a general-purpose computer device, or may be configured as a dedicated hardware device.

次に、図2を参照して、図1に示される第1実施形態に係る暗号化データ管理システムの動作を説明する。図2は、本発明の第1実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。以下、ユーザ端末10、ストレージサーバ30、プロキシサーバ50、受領サーバ70のいずれか複数の間におけるデータのやり取りは、各通信部によって通信ネットワーク90を介して行われるものとする。   Next, the operation of the encrypted data management system according to the first embodiment shown in FIG. 1 will be described with reference to FIG. FIG. 2 is a sequence chart showing the procedure of the encrypted data management method according to the first embodiment of the present invention. Hereinafter, it is assumed that data exchange among any one of the user terminal 10, the storage server 30, the proxy server 50, and the receiving server 70 is performed via the communication network 90 by each communication unit.

ユーザ端末10は、事前に、鍵生成部12により鍵を生成する。鍵生成部12は、鍵生成アルゴリズムPKGを実行し、セキュリティパラメータkを入力として、鍵ペア(pk_A,sk_A)を取得する。鍵sk_Aは秘密に取得されてユーザ端末10内に安全に保持される。ユーザ端末10は、鍵pk_Aを公開する。受領サーバ70も同様にして、鍵ペア(pk_B,sk_B)を取得する。鍵sk_Bは秘密に取得されて受領サーバ70内に安全に保持される。受領サーバ70は、鍵pk_Bを公開する。   The user terminal 10 generates a key by the key generation unit 12 in advance. The key generation unit 12 executes the key generation algorithm PKG, receives the security parameter k, and acquires a key pair (pk_A, sk_A). The key sk_A is secretly acquired and securely held in the user terminal 10. The user terminal 10 discloses the key pk_A. Similarly, the receiving server 70 acquires the key pair (pk_B, sk_B). The key sk_B is secretly acquired and securely held in the receiving server 70. The receiving server 70 discloses the key pk_B.

また、ユーザ端末10の鍵生成部12は、鍵生成アルゴリズムSKGを実行し、マスター鍵mkを取得する。ユーザ端末10は、マスター鍵mkをプロキシサーバ50へ送信する。   Further, the key generation unit 12 of the user terminal 10 executes the key generation algorithm SKG and acquires the master key mk. The user terminal 10 transmits the master key mk to the proxy server 50.

(ステップS101)ユーザ端末10のデータ記憶部16には、ストレージサーバ30に預けるデータvが記憶されている。ユーザ端末10のタグ設定部15は、データvについてのタグを設定する。ここでは、説明の便宜上、2つのタグu_1,u_2を設定することとする。例えば、データvがユーザの詳細な滞在場所と滞在時刻を示す位置情報であるとする。この場合、タグu_1,u_2として、該滞在場所と滞在時刻を粗くした情報として設定する。例えば、滞在場所に関するタグとして「渋谷」、滞在時刻に関するタグとして「1月上旬」、くらいに、他者に知られてもそれほど気にならないレベルに曖昧化させる。 (Step S <b> 101) Data v stored in the storage server 30 is stored in the data storage unit 16 of the user terminal 10. The tag setting unit 15 of the user terminal 10 sets a tag for the data v. Here, for convenience of explanation, two tags u_1 and u_2 are set. For example, it is assumed that the data v is position information indicating the detailed stay location and stay time of the user. In this case, the tags u_1 and u_2 are set as information in which the stay location and the stay time are rough. For example, “Shibuya” as a tag related to the staying place and “Early January” as a tag related to the staying time are made ambiguous to a level that does not matter so much even if known to others.

ユーザ端末10のデータ暗号化部13は、暗号化アルゴリズムEを実行して、データvを自己の公開鍵pk_Aで暗号化し、暗号化データE(pk_A,v)を取得する。また、ユーザ端末10のインデックス生成部14は、データvについての全てのタグu_1,u_2を1つの文書dとし、マスター鍵mkを使用して文書dに対しインデックス生成アルゴリズムBIを実行し、インデックスi_dを取得する。   The data encryption unit 13 of the user terminal 10 executes the encryption algorithm E, encrypts the data v with its own public key pk_A, and obtains encrypted data E (pk_A, v). Further, the index generation unit 14 of the user terminal 10 sets all the tags u_1 and u_2 for the data v as one document d, executes the index generation algorithm BI for the document d using the master key mk, and sets the index i_d. To get.

ユーザ端末10は、ストレージサーバ30に対して、インデックスi_dと暗号化データE(pk_A,v)を送信する。ストレージサーバ30は、該受信したインデックスi_dと暗号化データE(pk_A,v)を関連付けて暗号化データ記憶部33に格納する。   The user terminal 10 transmits the index i_d and the encrypted data E (pk_A, v) to the storage server 30. The storage server 30 associates the received index i_d with the encrypted data E (pk_A, v) and stores it in the encrypted data storage unit 33.

(ステップS102)ユーザ端末10は、プロキシサーバ50に対して、アクセス権の情報を設定する。該アクセス権の情報として、例えば、ユーザ端末10からストレージサーバ30へ預けたデータの提供を許可する相手の事業者を示す情報が挙げられる。また、該アクセス権の情報として、例えば、データの提供を許可しない時間帯や、データの提供相手の居場所などが挙げられる。プロキシサーバ50は、ユーザ端末10から設定されたアクセス権の情報を該ユーザ端末10の識別情報に関連付けてアクセス権記憶部55に格納する。 (Step S <b> 102) The user terminal 10 sets access right information for the proxy server 50. The access right information includes, for example, information indicating a business partner of a partner who is permitted to provide data deposited from the user terminal 10 to the storage server 30. The access right information includes, for example, a time zone during which data provision is not permitted and the location of the data provision partner. The proxy server 50 stores the access right information set from the user terminal 10 in the access right storage unit 55 in association with the identification information of the user terminal 10.

(ステップS103)受領サーバ70は、ストレージサーバ30で保管されている暗号化データの検索をプロキシサーバ50に依頼する。受領サーバ70は、該暗号化データの検索のための検索キーワードxを、プロキシサーバ50へ送信する。プロキシサーバ50は、該検索の依頼を受けると、該受領サーバ70についてのアクセス権の有無を、アクセス権記憶部55に記憶されているアクセス権の情報に基づいて判断する。ここでは、該受領サーバ70がアクセス権を有すると判断されたとする。 (Step S103) The receiving server 70 requests the proxy server 50 to search for encrypted data stored in the storage server 30. The receiving server 70 transmits a search keyword x for searching the encrypted data to the proxy server 50. When the proxy server 50 receives the search request, the proxy server 50 determines whether or not there is an access right for the receiving server 70 based on the access right information stored in the access right storage unit 55. Here, it is assumed that the receiving server 70 is determined to have access rights.

(ステップS104)プロキシサーバ50のトラップドア生成部52は、マスター鍵mkと受領サーバ70から受信した検索キーワードxとを使用してトラップドア生成アルゴリズムTDを実行し、トラップドアt_xを取得する。プロキシサーバ50は、該取得したトラップドアt_xを、ストレージサーバ30へ送信する。 (Step S104) The trap door generation unit 52 of the proxy server 50 executes the trap door generation algorithm TD using the master key mk and the search keyword x received from the reception server 70, and acquires the trap door t_x. The proxy server 50 transmits the acquired trap door t_x to the storage server 30.

(ステップS105)ストレージサーバ30の暗号検索部32は、暗号化データ記憶部33に記憶されている全ての暗号化データについてのインデックスに対し、プロキシサーバ50から受信したトラップドアt_xを使用してインデックス検索アルゴリズムSIを実行する。この結果として、インデックス検索アルゴリズムSIは、検索キーワードxが含まれているインデックスに対して1を出力する。ストレージサーバ30は、該1が出力されたインデックスに関連付けられている暗号化データを、プロキシサーバ50へ送信する。ここでは、検索キーワードxがタグu_1に等しく、インデックスi_dに対して1が出力されたために、インデックスi_dに関連付けられている暗号化データE(pk_A,v)がプロキシサーバ50へ送信されたとする。 (Step S105) The cryptographic search unit 32 of the storage server 30 uses the trapdoor t_x received from the proxy server 50 as an index for all the encrypted data stored in the encrypted data storage unit 33. The search algorithm SI is executed. As a result, the index search algorithm SI outputs 1 for the index containing the search keyword x. The storage server 30 transmits the encrypted data associated with the index to which 1 is output to the proxy server 50. Here, since the search keyword x is equal to the tag u_1 and 1 is output for the index i_d, the encrypted data E (pk_A, v) associated with the index i_d is transmitted to the proxy server 50.

(ステップS106)プロキシサーバ50は、ユーザ端末10に対して、受領サーバ70についての再暗号化鍵を要求する。ユーザ端末10の鍵生成部12は、該再暗号化鍵の要求に応じて、自己の鍵pk_A,sk_Aと、受領サーバ70の公開鍵pk_Bとを使用して再暗号化鍵生成アルゴリズムRGを実行し、再暗号化鍵rk_(A,B)を取得する。ユーザ端末10は、該取得した再暗号化鍵rk_(A,B)をプロキシサーバ50へ送信する。
なお、このステップS106の代わりに、事前に、ユーザ端末10の鍵生成部12が受領サーバ70についての再暗号化鍵rk_(A,B)を生成し、ユーザ端末10が該再暗号化鍵rk_(A,B)をプロキシサーバ50へ送信しておいてもよい。
(Step S106) The proxy server 50 requests the re-encryption key for the receiving server 70 from the user terminal 10. The key generation unit 12 of the user terminal 10 executes the re-encryption key generation algorithm RG using its own key pk_A, sk_A and the public key pk_B of the receiving server 70 in response to the request for the re-encryption key. The re-encryption key rk_ (A, B) is acquired. The user terminal 10 transmits the acquired re-encryption key rk_ (A, B) to the proxy server 50.
Instead of step S106, the key generation unit 12 of the user terminal 10 generates a re-encryption key rk_ (A, B) for the receiving server 70 in advance, and the user terminal 10 transmits the re-encryption key rk_ (A, B) may be transmitted to the proxy server 50.

(ステップS107)プロキシサーバ50の再暗号化部53は、ストレージサーバ30から取得した暗号化データE(pk_A,v)に対し、ユーザ端末10から取得した再暗号化鍵rk_(A,B)を使用して再暗号化アルゴリズムRを実行し、再暗号化された暗号化データE(pk_B,v)を取得する。このとき、プロキシサーバ50は、データvについての何の情報も得ることがない。プロキシサーバ50は、該取得した暗号化データE(pk_B,v)を受領サーバ70へ送信する。受領サーバ70の復号化部72は、復号アルゴリズムDを実行して、暗号化データE(pk_B,v)を自己の秘密鍵sk_Bで復号化し、データvを取得する。 (Step S107) The re-encryption unit 53 of the proxy server 50 uses the re-encryption key rk_ (A, B) acquired from the user terminal 10 for the encrypted data E (pk_A, v) acquired from the storage server 30. The re-encryption algorithm R is used to execute the re-encrypted encrypted data E (pk_B, v). At this time, the proxy server 50 does not obtain any information about the data v. The proxy server 50 transmits the acquired encrypted data E (pk_B, v) to the receiving server 70. The decryption unit 72 of the receiving server 70 executes the decryption algorithm D, decrypts the encrypted data E (pk_B, v) with its own secret key sk_B, and acquires data v.

上述した第1実施形態によれば、プロキシサーバ50が、ストレージサーバ30に保管されている暗号化データの検索のためのトラップドアを生成し、該トラップドアに基づいた検索結果の暗号化データをストレージサーバ30から受け取り、該受け取った暗号化データを受領サーバ70についての再暗号化鍵で再暗号化する。このため、受領サーバ70は、該再暗号化された暗号化データを自己の鍵で復号化できるので、ストレージサーバ30に暗号化データを預けたユーザ端末10についての鍵を有する必要がない。これにより、ストレージサーバ30に暗号化データを預けるユーザ端末10が複数存在しても、データの提供を受ける受領サーバ70は、該複数のユーザ端末10毎の鍵を有さなくてもよく、暗号処理についての負荷を軽減できるという効果が得られる。   According to the first embodiment described above, the proxy server 50 generates a trap door for searching for encrypted data stored in the storage server 30, and the encrypted data of the search result based on the trap door is generated. The encrypted data received from the storage server 30 is re-encrypted with the re-encryption key for the receiving server 70. For this reason, the receiving server 70 can decrypt the re-encrypted encrypted data with its own key, so it is not necessary to have a key for the user terminal 10 that has deposited the encrypted data in the storage server 30. As a result, even if there are a plurality of user terminals 10 that deposit encrypted data in the storage server 30, the receiving server 70 that receives the data need not have a key for each of the plurality of user terminals 10. The effect that the load about a process can be reduced is acquired.

[第2実施形態]
第2実施形態は、上述した第1実施形態の変形例である。
図3は、本発明の第2実施形態に係る暗号化データ管理システムの構成を示すブロック図である。この図3において、図1の各部に対応する部分には同一の符号を付している。以下、第1実施形態と異なる点を主に説明する。
[Second Embodiment]
The second embodiment is a modification of the first embodiment described above.
FIG. 3 is a block diagram showing the configuration of the encrypted data management system according to the second embodiment of the present invention. In FIG. 3, parts corresponding to the parts in FIG. Hereinafter, differences from the first embodiment will be mainly described.

図3において、ユーザ端末10は、図1の構成に対してさらに鍵暗号化部17を備える。鍵暗号化部17は鍵の暗号化を行う。   In FIG. 3, the user terminal 10 further includes a key encryption unit 17 in addition to the configuration of FIG. The key encryption unit 17 performs key encryption.

図4は、本発明の第2実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。以下、図4を参照して、図3に示される第2実施形態に係る暗号化データ管理システムの動作について、第1実施形態と異なる点を主に説明する。以下、ユーザ端末10、ストレージサーバ30、プロキシサーバ50、受領サーバ70のいずれか複数の間におけるデータのやり取りは、各通信部によって通信ネットワーク90を介して行われるものとする。   FIG. 4 is a sequence chart showing the procedure of the encrypted data management method according to the second embodiment of the present invention. In the following, with reference to FIG. 4, the operation of the encrypted data management system according to the second embodiment shown in FIG. 3 will be described mainly with respect to differences from the first embodiment. Hereinafter, it is assumed that data exchange among any one of the user terminal 10, the storage server 30, the proxy server 50, and the receiving server 70 is performed via the communication network 90 by each communication unit.

まず第1実施形態と同様に、事前に、ユーザ端末10は、鍵ペア(pk_A,sk_A)を取得し、鍵sk_Aをユーザ端末10内に安全に保持し、鍵pk_Aを公開する。受領サーバ70も同様に、鍵ペア(pk_B,sk_B)を取得し、鍵sk_Bを受領サーバ70内に安全に保持し、鍵pk_Bを公開する。また、ユーザ端末10は、マスター鍵mkを取得し、該マスター鍵mkをプロキシサーバ50へ送信する。   First, similarly to the first embodiment, the user terminal 10 acquires a key pair (pk_A, sk_A) in advance, securely holds the key sk_A in the user terminal 10, and discloses the key pk_A. Similarly, the receiving server 70 acquires the key pair (pk_B, sk_B), securely holds the key sk_B in the receiving server 70, and discloses the key pk_B. The user terminal 10 acquires the master key mk and transmits the master key mk to the proxy server 50.

(ステップS101a)ユーザ端末10の鍵生成部12は、データvを暗号化する鍵として乱数rを生成する。ユーザ端末10のデータ暗号化部13は、共通鍵暗号方式によりデータvを乱数rで暗号化し、暗号化データE(r,v)を取得する。ユーザ端末10の鍵暗号化部17は、暗号化アルゴリズムEを実行して、データvを暗号化した鍵(乱数r)を自己の公開鍵pk_Aで暗号化し、暗号化データE(pk_A,r)を取得する。また、ユーザ端末10は、第1実施形態と同様に、データvについてのタグu_1,u_2からインデックスi_dを取得する。 (Step S101a) The key generation unit 12 of the user terminal 10 generates a random number r as a key for encrypting the data v. The data encryption unit 13 of the user terminal 10 encrypts the data v with a random number r using a common key encryption method, and obtains encrypted data E (r, v). The key encryption unit 17 of the user terminal 10 executes the encryption algorithm E, encrypts the key (random number r) obtained by encrypting the data v with its own public key pk_A, and encrypts the data E (pk_A, r). To get. Further, as in the first embodiment, the user terminal 10 acquires the index i_d from the tags u_1 and u_2 for the data v.

ユーザ端末10は、ストレージサーバ30に対して、インデックスi_dと暗号化データE(pk_A,r)と暗号化データE(r,v)とを送信する。ストレージサーバ30は、該受信したインデックスi_dと暗号化データE(pk_A,r)と暗号化データE(r,v)とを関連付けて暗号化データ記憶部33に格納する。   The user terminal 10 transmits the index i_d, the encrypted data E (pk_A, r), and the encrypted data E (r, v) to the storage server 30. The storage server 30 stores the received index i_d, encrypted data E (pk_A, r), and encrypted data E (r, v) in the encrypted data storage unit 33 in association with each other.

次いで、上述した第1実施形態と同様に、ステップS102,S103,S104が行われる。次いで、ステップS105aが行われる。
(ステップS105a)ストレージサーバ30の暗号検索部32は、暗号化データ記憶部33に記憶されている全ての暗号化データについてのインデックスに対し、プロキシサーバ50から受信したトラップドアt_xを使用してインデックス検索アルゴリズムSIを実行する。この結果として、インデックス検索アルゴリズムSIは、検索キーワードxが含まれているインデックスに対して1を出力する。ストレージサーバ30は、該1が出力されたインデックスに関連付けられているインデックス及び鍵の暗号化データを、プロキシサーバ50へ送信する。ここでは、検索キーワードxがタグu_1に等しく、インデックスi_dに対して1が出力されたために、インデックスi_dと該インデックスi_dに関連付けられている暗号化データE(pk_A,r)とがプロキシサーバ50へ送信されたとする。
Next, steps S102, S103, and S104 are performed as in the first embodiment described above. Next, step S105a is performed.
(Step S105a) The cryptographic search unit 32 of the storage server 30 uses the trapdoor t_x received from the proxy server 50 as an index for all the encrypted data stored in the encrypted data storage unit 33. The search algorithm SI is executed. As a result, the index search algorithm SI outputs 1 for the index containing the search keyword x. The storage server 30 transmits the index and key encrypted data associated with the index from which 1 is output to the proxy server 50. Here, since the search keyword x is equal to the tag u_1 and 1 is output for the index i_d, the index i_d and the encrypted data E (pk_A, r) associated with the index i_d are sent to the proxy server 50. Suppose that it was sent.

次いで、上述した第1実施形態と同様に、ステップS106が行われる。なお、このステップS106の代わりに、事前に、ユーザ端末10からプロキシサーバ50へ、受領サーバ70についての再暗号化鍵rk_(A,B)を送信しておいてもよい。
次いで、ステップS107aが行われる。
(ステップS107a)プロキシサーバ50の再暗号化部53は、ストレージサーバ30から取得した暗号化データE(pk_A,r)に対し、ユーザ端末10から取得した再暗号化鍵rk_(A,B)を使用して再暗号化アルゴリズムRを実行し、再暗号化された暗号化データE(pk_B,r)を取得する。プロキシサーバ50は、該取得した暗号化データE(pk_B,r)と、ストレージサーバ30から取得したインデックスi_dとを受領サーバ70へ送信する。
Next, step S106 is performed as in the first embodiment described above. Instead of step S106, the re-encryption key rk_ (A, B) for the receiving server 70 may be transmitted from the user terminal 10 to the proxy server 50 in advance.
Next, step S107a is performed.
(Step S107a) The re-encryption unit 53 of the proxy server 50 uses the re-encryption key rk_ (A, B) acquired from the user terminal 10 for the encrypted data E (pk_A, r) acquired from the storage server 30. The re-encryption algorithm R is used to obtain the re-encrypted encrypted data E (pk_B, r). The proxy server 50 transmits the acquired encrypted data E (pk_B, r) and the index i_d acquired from the storage server 30 to the receiving server 70.

(ステップS110)受領サーバ70は、プロキシサーバ50から取得したインデックスi_dをストレージサーバ30へ送信する。ストレージサーバ30は、該インデックスi_dに関連付けられている暗号化データE(r,v)を受領サーバ70へ送信する。 (Step S <b> 110) The receiving server 70 transmits the index i_d acquired from the proxy server 50 to the storage server 30. The storage server 30 transmits the encrypted data E (r, v) associated with the index i_d to the receiving server 70.

受領サーバ70の復号化部72は、復号アルゴリズムDを実行して、プロキシサーバ50から取得した暗号化データE(pk_B,r)を自己の秘密鍵sk_Bで復号化し、鍵(乱数r)を取得する。受領サーバ70の復号化部72は、該取得した鍵(乱数r)を使用して、ストレージサーバ30から取得した暗号化データE(r,v)を復号化し、データvを取得する。   The decryption unit 72 of the receiving server 70 executes the decryption algorithm D, decrypts the encrypted data E (pk_B, r) acquired from the proxy server 50 with its own private key sk_B, and acquires a key (random number r). To do. The decryption unit 72 of the receiving server 70 decrypts the encrypted data E (r, v) acquired from the storage server 30 using the acquired key (random number r), and acquires data v.

上述した第2実施形態によれば、データvの暗号についての鍵をプロキシ再暗号化して受領サーバ70(復号側)へ渡すようにしている。これにより、データvについてはプロキシ再暗号化処理を行う必要がなく、データvについての暗号方式は限定されず任意の暗号方式を利用できる。例えば、上述した第2実施形態のように、共通鍵暗号方式によりデータvを暗号化できる。一般に、共通鍵暗号方式は公開鍵暗号方式よりも処理時間を短くできる。これにより、暗号処理についての負荷を軽減できる。   According to the second embodiment described above, the key for the encryption of the data v is proxy re-encrypted and passed to the receiving server 70 (decryption side). Thereby, it is not necessary to perform proxy re-encryption processing for data v, and the encryption method for data v is not limited, and any encryption method can be used. For example, as in the second embodiment described above, the data v can be encrypted by a common key encryption method. In general, the common key cryptosystem can shorten the processing time compared to the public key cryptosystem. As a result, the load on cryptographic processing can be reduced.

また、第2実施形態によれば、プロキシサーバ50は、鍵の暗号化データをストレージサーバ30から受信し、該鍵の暗号化データを再暗号化した暗号化データを受領サーバ70へ送信する。これは、データの暗号化データやデータの暗号化データを再暗号化した暗号化データを送受するよりも、通信データ量を削減できる。   Further, according to the second embodiment, the proxy server 50 receives the encrypted data of the key from the storage server 30 and transmits the encrypted data obtained by re-encrypting the encrypted data of the key to the receiving server 70. This can reduce the amount of communication data compared to sending / receiving encrypted data of data or encrypted data obtained by re-encrypting encrypted data of data.

[第3実施形態]
第3実施形態は、上述した第2実施形態の変形例である。第3実施形態では、検索可能暗号の処理時間を短縮する「Secure Indexes」技術を使用する。この「Secure Indexes」技術は、検索可能暗号の処理時間を短縮できるが、誤検索「False Positive」が発生する場合がある。「False Positive」とは、文書dに含まれていないキーワードを用いてトラップドアを生成したにもかかわらず、文書dから生成されたインデックスであると誤判定してしまうエラーである。このエラーが発生すると、ユーザ端末10が受領サーバ70への提供を許可していない文書が受領サーバ70に提供されてしまう、という問題が生じる可能性がある。本第3実施形態では、検索可能暗号の処理時間を短縮する「Secure Indexes」技術を使用したときに、「False Positive」の発生による問題を防ぐことを図る。
[Third Embodiment]
The third embodiment is a modification of the above-described second embodiment. In the third embodiment, “Secure Indexes” technology is used to shorten the processing time of searchable encryption. This “Secure Indexes” technology can reduce the processing time of searchable encryption, but may cause an erroneous search “False Positive”. “False Positive” is an error that erroneously determines that the index is generated from the document d even though the trap door is generated using a keyword that is not included in the document d. When this error occurs, there is a possibility that a document that the user terminal 10 does not permit to provide to the receiving server 70 is provided to the receiving server 70. In the third embodiment, when the “Secure Indexes” technology that shortens the processing time of searchable encryption is used, problems due to the occurrence of “False Positive” are prevented.

図5は、本発明の第3実施形態に係る暗号化データ管理システムの構成を示すブロック図である。この図5において、図3の各部に対応する部分には同一の符号を付している。以下、第2実施形態と異なる点を主に説明する。   FIG. 5 is a block diagram showing a configuration of an encrypted data management system according to the third embodiment of the present invention. In FIG. 5, portions corresponding to the respective portions in FIG. 3 are denoted by the same reference numerals. Hereinafter, differences from the second embodiment will be mainly described.

図5において、ユーザ端末10は、図3の構成に対してさらにタグ暗号化部18を備える。タグ暗号化部18はタグの暗号化を行う。プロキシサーバ50は、図3の構成に対してさらにタグ検証部56を備える。タグ検証部56はタグの検証を行う。   In FIG. 5, the user terminal 10 further includes a tag encryption unit 18 in addition to the configuration of FIG. 3. The tag encryption unit 18 encrypts the tag. The proxy server 50 further includes a tag verification unit 56 in addition to the configuration of FIG. The tag verification unit 56 performs tag verification.

図6は、本発明の第3実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。以下、図6を参照して、図5に示される第3実施形態に係る暗号化データ管理システムの動作について、第2実施形態と異なる点を主に説明する。以下、ユーザ端末10、ストレージサーバ30、プロキシサーバ50、受領サーバ70のいずれか複数の間におけるデータのやり取りは、各通信部によって通信ネットワーク90を介して行われるものとする。   FIG. 6 is a sequence chart showing the procedure of the encrypted data management method according to the third embodiment of the present invention. In the following, with reference to FIG. 6, the operation of the encrypted data management system according to the third embodiment shown in FIG. 5 will be described mainly with respect to differences from the second embodiment. Hereinafter, it is assumed that data exchange among any one of the user terminal 10, the storage server 30, the proxy server 50, and the receiving server 70 is performed via the communication network 90 by each communication unit.

まず第1実施形態と同様に、事前に、ユーザ端末10は、鍵ペア(pk_A,sk_A)を取得し、鍵sk_Aをユーザ端末10内に安全に保持し、鍵pk_Aを公開する。受領サーバ70も同様に、鍵ペア(pk_B,sk_B)を取得し、鍵sk_Bを受領サーバ70内に安全に保持し、鍵pk_Bを公開する。また、ユーザ端末10は、マスター鍵mkを取得し、該マスター鍵mkをプロキシサーバ50へ送信する。また、第3実施形態では、プロキシサーバ50は、一般的な公開鍵暗号の鍵生成アルゴリズムを実行し、鍵sk_Pを秘密に取得してプロキシサーバ50内に安全に保持し、また取得した鍵pk_Pを公開する。   First, similarly to the first embodiment, the user terminal 10 acquires a key pair (pk_A, sk_A) in advance, securely holds the key sk_A in the user terminal 10, and discloses the key pk_A. Similarly, the receiving server 70 acquires the key pair (pk_B, sk_B), securely holds the key sk_B in the receiving server 70, and discloses the key pk_B. The user terminal 10 acquires the master key mk and transmits the master key mk to the proxy server 50. In the third embodiment, the proxy server 50 executes a general public key encryption key generation algorithm, acquires the key sk_P secretly, securely holds it in the proxy server 50, and acquires the acquired key pk_P. Publish.

(ステップS101b)ユーザ端末10の鍵生成部12は、データvを暗号化する鍵として乱数rを生成する。ユーザ端末10のデータ暗号化部13は、共通鍵暗号方式によりデータvを乱数rで暗号化し、暗号化データE(r,v)を取得する。ユーザ端末10の鍵暗号化部17は、暗号化アルゴリズムEを実行して、データvを暗号化した鍵(乱数r)を自己の公開鍵pk_Aで暗号化し、暗号化データE(pk_A,r)を取得する。また、ユーザ端末10は、第1実施形態と同様に、データvについてのタグu_1,u_2からインデックスi_dを取得する。 (Step S101b) The key generation unit 12 of the user terminal 10 generates a random number r as a key for encrypting the data v. The data encryption unit 13 of the user terminal 10 encrypts the data v with a random number r using a common key encryption method, and obtains encrypted data E (r, v). The key encryption unit 17 of the user terminal 10 executes the encryption algorithm E, encrypts the key (random number r) obtained by encrypting the data v with its own public key pk_A, and encrypts the data E (pk_A, r). To get. Further, as in the first embodiment, the user terminal 10 acquires the index i_d from the tags u_1 and u_2 for the data v.

ユーザ端末10のタグ暗号化部18は、各タグu_1,u_2をプロキシサーバ50の公開鍵pk_Pで暗号化し、暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)を取得する。ユーザ端末10は、ストレージサーバ30に対して、インデックスi_dと暗号化データE(pk_A,r)と暗号化データE(r,v)と暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)を送信する。ストレージサーバ30は、該受信したインデックスi_dと暗号化データE(pk_A,r)と暗号化データE(r,v)と暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)を関連付けて暗号化データ記憶部33に格納する。   The tag encryption unit 18 of the user terminal 10 encrypts each tag u_1, u_2 with the public key pk_P of the proxy server 50, and acquires encrypted data E (pk_P, u_1) and encrypted data E (pk_P, u_2). . The user terminal 10 makes an index i_d, encrypted data E (pk_A, r), encrypted data E (r, v), encrypted data E (pk_P, u_1), and encrypted data E (to the storage server 30. pk_P, u_2) is transmitted. The storage server 30 receives the received index i_d, encrypted data E (pk_A, r), encrypted data E (r, v), encrypted data E (pk_P, u_1), and encrypted data E (pk_P, u_2). Are stored in the encrypted data storage unit 33 in association with each other.

次いで、上述した第1実施形態と同様に、ステップS102,S103,S104が行われる。次いで、ステップS105bが行われる。
(ステップS105b)ストレージサーバ30の暗号検索部32は、暗号化データ記憶部33に記憶されている全ての暗号化データについてのインデックスに対し、プロキシサーバ50から受信したトラップドアt_xを使用してインデックス検索アルゴリズムSIを実行する。この結果として、インデックス検索アルゴリズムSIは、検索キーワードxが含まれているインデックスに対して1を出力する。ストレージサーバ30は、該1が出力されたインデックスに関連付けられているインデックス、鍵の暗号化データ及びタグの暗号化データを、プロキシサーバ50へ送信する。ここでは、検索キーワードxがタグu_1に等しく、インデックスi_dに対して1が出力されたために、インデックスi_dと該インデックスi_dに関連付けられている暗号化データE(pk_A,r)と暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)とがプロキシサーバ50へ送信されたとする。
Next, steps S102, S103, and S104 are performed as in the first embodiment described above. Next, step S105b is performed.
(Step S105b) The cryptographic search unit 32 of the storage server 30 uses the trapdoor t_x received from the proxy server 50 as an index for all the encrypted data stored in the encrypted data storage unit 33. The search algorithm SI is executed. As a result, the index search algorithm SI outputs 1 for the index containing the search keyword x. The storage server 30 transmits to the proxy server 50 the index, the key encrypted data, and the tag encrypted data associated with the index from which 1 is output. Here, since the search keyword x is equal to the tag u_1 and 1 is output for the index i_d, the encrypted data E (pk_A, r) and the encrypted data E ( It is assumed that pk_P, u_1) and encrypted data E (pk_P, u_2) are transmitted to the proxy server 50.

次いで、上述した第1実施形態と同様に、ステップS106が行われる。なお、このステップS106の代わりに、事前に、ユーザ端末10からプロキシサーバ50へ、受領サーバ70についての再暗号化鍵rk_(A,B)を送信しておいてもよい。
次いで、ステップS120が行われる。
(ステップS120)プロキシサーバ50のタグ検証部56は、自己の秘密鍵sk_Pを使用して暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)をそれぞれ復号化し、タグu_1,u_2を取得する。次いで、タグ検証部56は、ステップS103で受領サーバ70から取得した検索キーワードxがタグu_1,u_2のいずれかと一致しているかを判定する。この判定の結果、検索キーワードxがタグu_1,u_2のいずれかと一致している場合には「False Positive」が発生していないと考えられる。この場合には、上述した第2実施形態と同様に、ステップS107aが行われ、プロキシサーバ50は、暗号化データE(pk_B,r)とインデックスi_dとを受領サーバ70へ送信する。
Next, step S106 is performed as in the first embodiment described above. Instead of step S106, the re-encryption key rk_ (A, B) for the receiving server 70 may be transmitted from the user terminal 10 to the proxy server 50 in advance.
Next, step S120 is performed.
(Step S120) The tag verification unit 56 of the proxy server 50 decrypts the encrypted data E (pk_P, u_1) and the encrypted data E (pk_P, u_2) using its own secret key sk_P, and tags u_1, u_2 is acquired. Next, the tag verification unit 56 determines whether the search keyword x acquired from the receiving server 70 in step S103 matches either of the tags u_1 and u_2. As a result of this determination, if the search keyword x matches either of the tags u_1 and u_2, it is considered that “False Positive” has not occurred. In this case, similarly to the second embodiment described above, step S107a is performed, and the proxy server 50 transmits the encrypted data E (pk_B, r) and the index i_d to the receiving server 70.

一方、該判定の結果、検索キーワードxがタグu_1,u_2のいずれとも不一致である場合には「False Positive」が発生していると考えられる。この場合には、プロキシサーバ50は処理を中止する。したがって、受領サーバ70には、暗号化データE(pk_B,r)及びインデックスi_dが送信されない。   On the other hand, as a result of the determination, if the search keyword x does not match either of the tags u_1 and u_2, it is considered that “False Positive” has occurred. In this case, the proxy server 50 stops the process. Accordingly, the encrypted data E (pk_B, r) and the index i_d are not transmitted to the receiving server 70.

上記ステップS120で検索キーワードxがタグu_1,u_2のいずれかと一致し、ステップS107aで暗号化データE(pk_B,r)とインデックスi_dとが受領サーバ70へ送信された場合には、上述した第2実施形態と同様に、ステップS110が行われる。このステップS110により、受領サーバ70はデータvを取得する。   If the search keyword x matches either of the tags u_1 and u_2 in step S120, and the encrypted data E (pk_B, r) and the index i_d are transmitted to the receiving server 70 in step S107a, the above-described second Step S110 is performed as in the embodiment. By this step S110, the receiving server 70 acquires the data v.

上述した第3実施形態によれば、検索可能暗号の処理時間を短縮できる「Secure Indexes」技術を使用した際に発生する誤検索「False Positive」を検出することができる。これにより、「False Positive」の発生により、ユーザ端末10が受領サーバ70への提供を許可していない文書が受領サーバ70に提供されてしまう、という問題を防ぐことができる。   According to the third embodiment described above, it is possible to detect an erroneous search “False Positive” that occurs when using the “Secure Indexes” technology that can reduce the processing time of searchable encryption. Accordingly, it is possible to prevent a problem that a document that the user terminal 10 does not permit to be provided to the receiving server 70 is provided to the receiving server 70 due to the occurrence of “False Positive”.

また、プロキシサーバ50は、ストレージサーバ30から取得した暗号化データE(pk_A,r)の再暗号化を行う前に、タグの検証(ステップS120)を行う。これにより、タグの検証が失敗した場合(「False Positive」の発生ありの場合)には、暗号化データE(pk_A,r)の再暗号化を実施しないようにすることができるので、暗号処理についての負荷を軽減できる。   Further, the proxy server 50 performs tag verification (step S120) before re-encrypting the encrypted data E (pk_A, r) acquired from the storage server 30. As a result, when the tag verification fails (when “False Positive” occurs), it is possible to prevent re-encryption of the encrypted data E (pk_A, r). The load about can be reduced.

上述した第1,2,3実施形態によれば、プロキシ再暗号化によって、ユーザ端末10からストレージサーバ30へ預けられたデータの暗号化データの安全性及び利便性が向上する。例えば、ストレージサーバ30の管理者(例えば、クラウドストレージ事業者など)は該データの暗号化データを復号できないので、ストレージサーバ30の管理者に対する該データの漏洩を防ぐことができる。一方、受領サーバ70の利用者は、該データの暗号化データ、又は、該データの暗号化データについての鍵の暗号化データが該受領サーバ70についての再暗号化鍵で再暗号化されたものを取得して復号化できるので、該データを取得することができる。   According to the first, second, and third embodiments described above, the security and convenience of the encrypted data of the data deposited from the user terminal 10 to the storage server 30 is improved by proxy re-encryption. For example, since an administrator of the storage server 30 (for example, a cloud storage operator) cannot decrypt the encrypted data, the leakage of the data to the administrator of the storage server 30 can be prevented. On the other hand, the user of the receiving server 70 re-encrypts the encrypted data of the data or the encrypted data of the key of the encrypted data of the data with the re-encryption key of the receiving server 70. Can be obtained and decoded, so that the data can be obtained.

さらに、上述した第1,2,3実施形態によれば、検索可能暗号によって、ストレージサーバ30に格納された暗号化データを復号化することなく、そのままで検索を行うことができるので、ストレージサーバ30の管理者に対して暗号化データの内容を秘匿できる。また、検索キーワードについてもストレージサーバ30の管理者に対して秘匿できる。   Furthermore, according to the above-described first, second, and third embodiments, the search can be performed as it is without decrypting the encrypted data stored in the storage server 30 by the searchable encryption. The content of the encrypted data can be kept secret from 30 managers. Further, the search keyword can be kept secret from the administrator of the storage server 30.

以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。   As mentioned above, although embodiment of this invention was explained in full detail with reference to drawings, the specific structure is not restricted to this embodiment, The design change etc. of the range which does not deviate from the summary of this invention are included.

例えば、図2、図4、図6に示す各ステップを実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
For example, a computer program for realizing the steps shown in FIGS. 2, 4, and 6 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. You may do it. Here, the “computer system” may include an OS and hardware such as peripheral devices.
“Computer-readable recording medium” refers to a flexible disk, a magneto-optical disk, a ROM, a writable nonvolatile memory such as a flash memory, a portable medium such as a DVD (Digital Versatile Disk), and a built-in computer system. A storage device such as a hard disk.

さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Further, the “computer-readable recording medium” means a volatile memory (for example, DRAM (Dynamic DRAM) in a computer system that becomes a server or a client when a program is transmitted through a network such as the Internet or a communication line such as a telephone line. Random Access Memory)), etc., which hold programs for a certain period of time.
The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

10…ユーザ端末、11…通信部(ユーザ端末通信部)、12…鍵生成部、13…データ暗号化部、14…インデックス生成部、15…タグ設定部、16…データ記憶部、17…鍵暗号化部、18…タグ暗号化部、30…ストレージサーバ、31…通信部(ストレージサーバ通信部)、32…暗号検索部、33…暗号化データ記憶部、50…プロキシサーバ、51…通信部(プロキシサーバ通信部)、52…トラップドア生成部、53…再暗号化部、54…アクセス権検証部、55…アクセス権記憶部、56…タグ検証部、70…受領サーバ、71…通信部(受領サーバ通信部)、72…復号化部 DESCRIPTION OF SYMBOLS 10 ... User terminal, 11 ... Communication part (user terminal communication part), 12 ... Key generation part, 13 ... Data encryption part, 14 ... Index generation part, 15 ... Tag setting part, 16 ... Data storage part, 17 ... Key Encryption unit, 18 ... tag encryption unit, 30 ... storage server, 31 ... communication unit (storage server communication unit), 32 ... cryptographic search unit, 33 ... encrypted data storage unit, 50 ... proxy server, 51 ... communication unit (Proxy server communication unit), 52 ... trap door generation unit, 53 ... re-encryption unit, 54 ... access right verification unit, 55 ... access right storage unit, 56 ... tag verification unit, 70 ... receiving server, 71 ... communication unit (Receiving server communication unit) 72, Decoding unit

Claims (12)

ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムであり、
前記ユーザ端末は、
前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、
データの暗号化データを生成するデータ暗号化部と、
前記データの暗号化データについての鍵の暗号化データを生成する鍵暗号化部と、
前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、
前記ユーザ端末通信部は、前記データの暗号化データ及び前記鍵の暗号化データを前記ストレージサーバへ送信し、前記再暗号化鍵を前記プロキシサーバへ送信し、
前記ストレージサーバは、
前記ユーザ端末、前記プロキシサーバ及び前記受領サーバと通信するストレージサーバ通信部と、
前記ユーザ端末から取得した前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する暗号化データ記憶部と、を備え、
前記ストレージサーバ通信部は、前記鍵の暗号化データを前記プロキシサーバへ送信し、前記データの暗号化データを前記受領サーバへ送信し、
前記プロキシサーバは、
前記ユーザ端末、前記ストレージサーバ及び前記受領サーバと通信するプロキシサーバ通信部と、
前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行う再暗号化部と、を備え、
前記プロキシサーバ通信部は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、
前記受領サーバは、
前記ストレージサーバ及び前記プロキシサーバと通信する受領サーバ通信部と、
前記プロキシサーバから取得した前記再暗号化された鍵の暗号化データを復号化して鍵を取得し、該取得した鍵で、前記ストレージサーバから取得した前記データの暗号化データを復号化する復号化部と、を備える、
暗号化データ管理システム。
An encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
The user terminal is
A user terminal communication unit that communicates with the storage server and the proxy server;
A data encryption unit that generates encrypted data;
A key encryption unit for generating encrypted data of a key for the encrypted data of the data;
A key generation unit for generating a re-encryption key for the receiving server,
The user terminal communication unit transmits the encrypted data of the data and the encrypted data of the key to the storage server, and transmits the re-encryption key to the proxy server.
The storage server
A storage server communication unit for communicating with the user terminal, the proxy server and the receiving server;
An encrypted data storage unit that stores the encrypted data of the data acquired from the user terminal and the encrypted data of the key in association with each other,
The storage server communication unit transmits the encrypted data of the key to the proxy server, transmits the encrypted data of the data to the receiving server,
The proxy server is
A proxy server communication unit that communicates with the user terminal, the storage server, and the receiving server;
A re-encryption unit that re-encrypts the encrypted data of the key acquired from the storage server with the re-encryption key acquired from the user terminal,
The proxy server communication unit transmits encrypted data of the re-encrypted key to the receiving server,
The receiving server is
A receiving server communication unit that communicates with the storage server and the proxy server;
Decrypting the encrypted data of the re-encrypted key acquired from the proxy server to acquire the key, and decrypting the encrypted data of the data acquired from the storage server with the acquired key And comprising
Encrypted data management system.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムであり、
前記ユーザ端末は、
前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、
データの暗号化データを生成するデータ暗号化部と、
前記データについてのタグに基づいたインデックスを生成するインデックス生成部と、
前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、
前記ユーザ端末通信部は、前記データの暗号化データ及び前記インデックスを前記ストレージサーバへ送信し、前記再暗号化鍵を前記プロキシサーバへ送信し、
前記ストレージサーバは、
前記ユーザ端末及び前記プロキシサーバと通信するストレージサーバ通信部と、
前記ユーザ端末から取得した前記データの暗号化データと前記インデックスとを関連付けて格納する暗号化データ記憶部と、
前記プロキシサーバから取得したトラップドアに基づいて前記インデックスに関連付けられている暗号化データを検索する暗号検索部と、を備え、
前記ストレージサーバ通信部は、前記検索の結果であるデータの暗号化データを前記プロキシサーバへ送信し、
前記プロキシサーバは、
前記ユーザ端末、前記ストレージサーバ及び前記受領サーバと通信するプロキシサーバ通信部と、
前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部と、
前記トラップドアに基づく検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、を備え、
前記プロキシサーバ通信部は、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信し、
前記受領サーバは、
前記プロキシサーバと通信する受領サーバ通信部と、
前記プロキシサーバから取得した前記再暗号化されたデータの暗号化データを復号化する復号化部と、を備える、
暗号化データ管理システム。
An encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
The user terminal is
A user terminal communication unit that communicates with the storage server and the proxy server;
A data encryption unit that generates encrypted data;
An index generator for generating an index based on a tag for the data;
A key generation unit for generating a re-encryption key for the receiving server,
The user terminal communication unit transmits the encrypted data of the data and the index to the storage server, and transmits the re-encryption key to the proxy server.
The storage server
A storage server communication unit that communicates with the user terminal and the proxy server;
An encrypted data storage unit that stores the encrypted data of the data acquired from the user terminal in association with the index;
A cryptographic search unit that searches for encrypted data associated with the index based on the trapdoor acquired from the proxy server,
The storage server communication unit transmits encrypted data of the data as a result of the search to the proxy server,
The proxy server is
A proxy server communication unit that communicates with the user terminal, the storage server, and the receiving server;
A trap door generation unit for generating a trap door for the search keyword acquired from the receiving server;
A re-encryption unit that re-encrypts the encrypted data of the data acquired from the storage server as a result of the search based on the trapdoor with a re-encryption key for the receiving server acquired from the user terminal; With
The proxy server communication unit transmits encrypted data of the re-encrypted data to the receiving server,
The receiving server is
A receiving server communication unit that communicates with the proxy server;
A decryption unit that decrypts encrypted data of the re-encrypted data acquired from the proxy server,
Encrypted data management system.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバであり、
データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信するプロキシサーバ通信部と、
前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、を備え、
前記プロキシサーバ通信部は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、
プロキシサーバ。
The proxy server in an encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
The user terminal that transmits the encrypted data of the data and the encrypted data of the key for the encrypted data of the data to the storage server, the encrypted data of the data and the encrypted data of the key are stored in association with each other A proxy server communication unit that communicates with the storage server and the receiving server that obtains encrypted data of the data from the storage server;
A re-encryption unit that re-encrypts the encrypted data of the key acquired from the storage server with a re-encryption key for the receiving server acquired from the user terminal,
The proxy server communication unit transmits encrypted data of the re-encrypted key to the receiving server;
Proxy server.
前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部をさらに備え、
前記プロキシサーバ通信部は、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、
請求項3に記載のプロキシサーバ。
A trap door generating unit that generates a trap door for the search keyword acquired from the receiving server;
The proxy server communication unit transmits the trap door to the storage server that stores an index based on the tag of the data in association with the encrypted data of the data and the encrypted data of the key, and from the storage server Receiving an index as a result of a search based on the trapdoor and encrypted data of the key associated with the index, and receiving the received index and encrypted data of the re-encrypted key in the receiving server; Send to
The proxy server according to claim 3.
前記プロキシサーバ通信部は、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、
前記プロキシサーバは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行うタグ検証部をさらに備える、
請求項4に記載のプロキシサーバ。
The proxy server communication unit stores the encrypted data of the tag for the data in association with the index based on the tag, the encrypted data of the data, and the encrypted data of the key from the storage server. Receives encrypted tag data that is the result of a search based on
The proxy server further includes a tag verification unit that performs tag verification based on the decrypted result of the encrypted data of the received tag and the search keyword.
The proxy server according to claim 4.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバであり、
データの暗号化データと前記データについてのタグに基づいたインデックスとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバに格納されている前記データの暗号化データの提供を受ける受領サーバと通信するプロキシサーバ通信部と、
前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部と、
前記プロキシサーバ通信部により前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、をさらに備え、
前記プロキシサーバ通信部は、前記トラップドアを前記ストレージサーバへ送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるデータの暗号化データを受信し、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信する、
プロキシサーバ。
The proxy server in an encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
The user terminal that transmits encrypted data of data and an index based on a tag for the data to the storage server, the storage server that associates and stores the encrypted data of the data and the index, and the storage server A proxy server communication unit that communicates with a receiving server that receives provision of encrypted data of the data stored in
A trap door generation unit for generating a trap door for the search keyword acquired from the receiving server;
A re-encrypting unit that re-encrypts the encrypted data of the data acquired from the storage server by the proxy server communication unit with a re-encryption key for the receiving server acquired from the user terminal; Prepared,
The proxy server communication unit transmits the trap door to the storage server, receives encrypted data of data that is a result of a search based on the trap door from the storage server, and transmits the re-encrypted data Sending encrypted data to the receiving server;
Proxy server.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記ユーザ端末であり、
前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、
データの暗号化データを生成するデータ暗号化部と、
前記データの暗号化データについての鍵の暗号化データを生成する鍵暗号化部と、
前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、
前記ユーザ端末通信部は、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバへ前記データの暗号化データ及び前記鍵の暗号化データを送信し、前記ストレージサーバから取得した前記鍵の暗号化データに対して前記再暗号化鍵で再暗号化を行う前記プロキシサーバへ前記再暗号化鍵を送信する、
ユーザ端末。
The user terminal in an encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
A user terminal communication unit that communicates with the storage server and the proxy server;
A data encryption unit that generates encrypted data;
A key encryption unit for generating encrypted data of a key for the encrypted data of the data;
A key generation unit for generating a re-encryption key for the receiving server,
The user terminal communication unit transmits the encrypted data of the data and the encrypted data of the key to the storage server that associates and stores the encrypted data of the data and the encrypted data of the key, and the storage server Transmitting the re-encryption key to the proxy server that re-encrypts with the re-encryption key the encrypted data of the key obtained from
User terminal.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記ユーザ端末であり、
前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、
データの暗号化データを生成するデータ暗号化部と、
前記データについてのタグに基づいたインデックスを生成するインデックス生成部と、
前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、
前記ユーザ端末通信部は、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバへ前記データの暗号化データ及び前記インデックスを送信し、前記受領サーバの検索キーワードについてのトラップドアに基づいた検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して前記再暗号化鍵で再暗号化を行う前記プロキシサーバへ前記再暗号化鍵を送信する、
ユーザ端末。
The user terminal in an encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
A user terminal communication unit that communicates with the storage server and the proxy server;
A data encryption unit that generates encrypted data;
An index generator for generating an index based on a tag for the data;
A key generation unit for generating a re-encryption key for the receiving server,
The user terminal communication unit transmits the encrypted data of the data and the index to the storage server that stores the encrypted data of the data in association with the index, and serves as a trap door for the search keyword of the receiving server. Transmitting the re-encryption key to the proxy server that re-encrypts the encrypted data of the data acquired from the storage server as a result of the search based on the re-encryption key;
User terminal.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける暗号化データ管理方法であり、
前記ユーザ端末が、データの暗号化データを生成し、前記データの暗号化データについての鍵の暗号化データを生成し、前記データの暗号化データ及び前記鍵の暗号化データを前記ストレージサーバへ送信し、前記受領サーバについての再暗号化鍵を生成し、前記再暗号化鍵を前記プロキシサーバへ送信し、
前記ストレージサーバが、前記ユーザ端末から取得した前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納し、前記鍵の暗号化データを前記プロキシサーバへ送信し、前記データの暗号化データを前記受領サーバへ送信し、
前記プロキシサーバが、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行い、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、
前記受領サーバが、前記プロキシサーバから取得した前記再暗号化された鍵の暗号化データを復号化して鍵を取得し、該取得した鍵で、前記ストレージサーバから取得した前記データの暗号化データを復号化する、
暗号化データ管理方法。
An encrypted data management method in an encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
The user terminal generates encrypted data of data, generates encrypted data of a key for the encrypted data of the data, and transmits the encrypted data of the data and the encrypted data of the key to the storage server Generating a re-encryption key for the receiving server, sending the re-encryption key to the proxy server,
The storage server stores the encrypted data of the data acquired from the user terminal in association with the encrypted data of the key, transmits the encrypted data of the key to the proxy server, and encrypts the data Sending data to the receiving server;
The proxy server re-encrypts the encrypted data of the key acquired from the storage server with the re-encryption key acquired from the user terminal, and the encrypted data of the re-encrypted key To the receiving server,
The receiving server obtains a key by decrypting the encrypted data of the re-encrypted key obtained from the proxy server, and uses the obtained key to obtain the encrypted data of the data obtained from the storage server. Decrypt,
Encrypted data management method.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける暗号化データ管理方法であり、
前記ユーザ端末が、データの暗号化データを生成し、前記データについてのタグに基づいたインデックスを生成し、前記データの暗号化データ及び前記インデックスを前記ストレージサーバへ送信し、前記受領サーバについての再暗号化鍵を生成し、前記再暗号化鍵を前記プロキシサーバへ送信し、
前記ストレージサーバが、前記ユーザ端末から取得した前記データの暗号化データと前記インデックスとを関連付けて格納し、
前記プロキシサーバが、前記受領サーバから取得した検索キーワードについてのトラップドアを生成し、前記トラップドアを前記ストレージサーバへ送信し、
前記ストレージサーバが、前記プロキシサーバから取得したトラップドアに基づいて前記インデックスに関連付けられている暗号化データを検索し、前記検索の結果であるデータの暗号化データを前記プロキシサーバへ送信し、
前記プロキシサーバが、前記トラップドアに基づいた検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行い、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信し、
前記受領サーバが、前記プロキシサーバから取得した前記再暗号化されたデータの暗号化データを復号化する、
暗号化データ管理方法。
An encrypted data management method in an encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
The user terminal generates encrypted data of the data, generates an index based on a tag for the data, transmits the encrypted data of the data and the index to the storage server, and re-registers for the receiving server. Generate an encryption key, send the re-encryption key to the proxy server,
The storage server stores the encrypted data of the data acquired from the user terminal in association with the index;
The proxy server generates a trap door for a search keyword acquired from the receiving server, and transmits the trap door to the storage server.
The storage server searches the encrypted data associated with the index based on the trap door acquired from the proxy server, and transmits the encrypted data of the data as a result of the search to the proxy server,
The proxy server re-encrypts the encrypted data acquired from the storage server as a result of the search based on the trap door with the re-encryption key acquired from the user terminal, and Sending encrypted data of the encrypted data to the receiving server;
The receiving server decrypts the encrypted data of the re-encrypted data obtained from the proxy server;
Encrypted data management method.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバのコンピュータに、
データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信する通信機能と、
前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化機能と、を実現させるためのコンピュータプログラムであり、
前記通信機能は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、
コンピュータプログラム。
In the computer of the proxy server in the encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
The user terminal that transmits the encrypted data of the data and the encrypted data of the key for the encrypted data of the data to the storage server, the encrypted data of the data and the encrypted data of the key are stored in association with each other A communication function for communicating with the storage server and the receiving server for obtaining encrypted data of the data from the storage server;
A computer program for realizing a re-encryption function for re-encrypting the encrypted data of the key acquired from the storage server with a re-encryption key for the receiving server acquired from the user terminal And
The communication function transmits encrypted data of the re-encrypted key to the receiving server.
Computer program.
ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバのコンピュータに、
データの暗号化データと前記データについてのタグに基づいたインデックスとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバに格納されている前記データの暗号化データの提供を受ける受領サーバと通信する通信機能と、
前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成機能と、
前記通信機能により前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化機能と、を実現させるためのコンピュータプログラムであり、
前記通信機能は、前記トラップドアを前記ストレージサーバへ送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるデータの暗号化データを受信し、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信する、
コンピュータプログラム。
In the computer of the proxy server in the encrypted data management system comprising a user terminal, a storage server, a proxy server, and a receiving server,
The user terminal that transmits encrypted data of data and an index based on a tag for the data to the storage server, the storage server that associates and stores the encrypted data of the data and the index, and the storage server A communication function for communicating with a receiving server that receives provision of encrypted data of the data stored in
A trap door generation function for generating a trap door for the search keyword acquired from the receiving server;
To realize a re-encryption function for re-encrypting encrypted data of data acquired from the storage server by the communication function with a re-encryption key for the receiving server acquired from the user terminal. Computer program
The communication function transmits the trap door to the storage server, receives encrypted data of data that is a search result based on the trap door from the storage server, and encrypts the re-encrypted data. Sending data to the receiving server;
Computer program.
JP2014135050A 2014-06-30 2014-06-30 Encrypted data management system, proxy server, encrypted data management method, and computer program Active JP6348004B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014135050A JP6348004B2 (en) 2014-06-30 2014-06-30 Encrypted data management system, proxy server, encrypted data management method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014135050A JP6348004B2 (en) 2014-06-30 2014-06-30 Encrypted data management system, proxy server, encrypted data management method, and computer program

Publications (2)

Publication Number Publication Date
JP2016012897A true JP2016012897A (en) 2016-01-21
JP6348004B2 JP6348004B2 (en) 2018-06-27

Family

ID=55229331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014135050A Active JP6348004B2 (en) 2014-06-30 2014-06-30 Encrypted data management system, proxy server, encrypted data management method, and computer program

Country Status (1)

Country Link
JP (1) JP6348004B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017141520A1 (en) * 2016-02-18 2017-08-24 株式会社日立ソリューションズ Virtual terminal management device and document protection method
WO2017141399A1 (en) * 2016-02-18 2017-08-24 株式会社日立製作所 Data processing system
JP2018097034A (en) * 2016-12-08 2018-06-21 株式会社日立製作所 Computer system and data management method
JP2018107625A (en) * 2016-12-26 2018-07-05 日本電信電話株式会社 Data distribution system, data generation device, mediation device, data distribution method, and program
KR20190046021A (en) * 2017-10-25 2019-05-07 이화여자대학교 산학협력단 Location based vehicle communication method using proxy re-encryption and proxy server for vehicle communication
JP2019102970A (en) * 2017-12-01 2019-06-24 日本電信電話株式会社 Data sharing server device, key generation server device, communication terminal, and program
WO2019142265A1 (en) 2018-01-17 2019-07-25 三菱電機株式会社 Data management device, search device, registration device, data management method, and data management program
JP2020010267A (en) * 2018-07-12 2020-01-16 コニカミノルタ株式会社 Distributed medical information sharing system, medical information provision server, and program
CN112042150A (en) * 2018-05-08 2020-12-04 三菱电机株式会社 Registration device, server device, confidential search system, confidential search method, registration program, and server program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012147869A1 (en) * 2011-04-27 2012-11-01 株式会社 東芝 Re-encryption key generator, re-encryption device, and program
WO2013005825A1 (en) * 2011-07-07 2013-01-10 日本電気株式会社 Information processing device, information processing method, and program
US20130031367A1 (en) * 2011-07-29 2013-01-31 Qualcomm Incorporated Facilitating access control in peer-to-peer overlay networks
WO2013069505A1 (en) * 2011-11-09 2013-05-16 株式会社 東芝 Re-encryption system, re-encryption device, and program
WO2013080365A1 (en) * 2011-12-01 2013-06-06 株式会社日立製作所 Secure search method and secure search device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012147869A1 (en) * 2011-04-27 2012-11-01 株式会社 東芝 Re-encryption key generator, re-encryption device, and program
WO2013005825A1 (en) * 2011-07-07 2013-01-10 日本電気株式会社 Information processing device, information processing method, and program
US20130031367A1 (en) * 2011-07-29 2013-01-31 Qualcomm Incorporated Facilitating access control in peer-to-peer overlay networks
WO2013069505A1 (en) * 2011-11-09 2013-05-16 株式会社 東芝 Re-encryption system, re-encryption device, and program
JP2013101260A (en) * 2011-11-09 2013-05-23 Toshiba Corp Re-encryption system, re-encryption device, and program
WO2013080365A1 (en) * 2011-12-01 2013-06-06 株式会社日立製作所 Secure search method and secure search device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHEN, X., ET AL.: "Efficient Proxy Re-encryption with Private Keyword Searching in Untrusted Storage", INTERNATIONAL JOURNAL OF COMPUTER NETWORK AND INFORMATION SECURITY, vol. 3, no. 2, JPN6018008180, March 2011 (2011-03-01), pages 50 - 59, ISSN: 0003753761 *
KAMARA, S., ET AL.: "Cryptographic Cloud Storage", PROCEEDINGS OF FINANCIAL CRYPTOGRAPHY: WORKSHOP ON REAL-LIFE CRYPTOGRAPHIC PROTOCOLS AND STANDARDIZA, JPN6018008179, 2010, ISSN: 0003753760 *
XU, L., ET AL.: "CL-PRE: a Certificateless Proxy Re-Encryption Scheme for Secure Data Sharing with Public Cloud", PROCEEDINGS OF THE 7TH ACM SYMPOSIUM ON INFORMATION, COMPUTER AND COMMUNICATIONS SECURITY (ASIACCS ', JPN7018000710, May 2012 (2012-05-01), ISSN: 0003753759 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11290277B2 (en) 2016-02-18 2022-03-29 Hitachi, Ltd. Data processing system
WO2017141399A1 (en) * 2016-02-18 2017-08-24 株式会社日立製作所 Data processing system
JPWO2017141399A1 (en) * 2016-02-18 2018-05-31 株式会社日立製作所 Data processing system
WO2017141520A1 (en) * 2016-02-18 2017-08-24 株式会社日立ソリューションズ Virtual terminal management device and document protection method
JP2018097034A (en) * 2016-12-08 2018-06-21 株式会社日立製作所 Computer system and data management method
JP2018107625A (en) * 2016-12-26 2018-07-05 日本電信電話株式会社 Data distribution system, data generation device, mediation device, data distribution method, and program
KR20190046021A (en) * 2017-10-25 2019-05-07 이화여자대학교 산학협력단 Location based vehicle communication method using proxy re-encryption and proxy server for vehicle communication
KR101997984B1 (en) 2017-10-25 2019-07-08 이화여자대학교 산학협력단 Location based vehicle communication method using proxy re-encryption and proxy server for vehicle communication
JP2019102970A (en) * 2017-12-01 2019-06-24 日本電信電話株式会社 Data sharing server device, key generation server device, communication terminal, and program
WO2019142265A1 (en) 2018-01-17 2019-07-25 三菱電機株式会社 Data management device, search device, registration device, data management method, and data management program
CN112042150A (en) * 2018-05-08 2020-12-04 三菱电机株式会社 Registration device, server device, confidential search system, confidential search method, registration program, and server program
US11831769B2 (en) 2018-05-08 2023-11-28 Mitsubishi Electric Corporation Registration device, server device, searchable encryption system, and searchable encryption method
CN112042150B (en) * 2018-05-08 2024-02-23 三菱电机株式会社 Registration device, server device, concealment search system, concealment search method, and computer-readable recording medium
JP2020010267A (en) * 2018-07-12 2020-01-16 コニカミノルタ株式会社 Distributed medical information sharing system, medical information provision server, and program

Also Published As

Publication number Publication date
JP6348004B2 (en) 2018-06-27

Similar Documents

Publication Publication Date Title
JP6348004B2 (en) Encrypted data management system, proxy server, encrypted data management method, and computer program
EP3248310B1 (en) Method, apparatus, and system for quantum key distribution
US10546141B2 (en) Network system, and methods of encrypting data, decrypting encrypted data in the same
JP5562687B2 (en) Securing communications sent by a first user to a second user
JP6363032B2 (en) Key change direction control system and key change direction control method
BR112019013130A2 (en) dynamic symmetric searchable encryption method and system unrelated to search patterns
JP6770075B2 (en) Encrypted message search method, message sending / receiving system, terminal, program
JP2016502153A (en) Privacy protection database system
CN110688666B (en) Data encryption and preservation method in distributed storage
EP2879323A1 (en) Method and distributed data processing system for managing access to data
US10063655B2 (en) Information processing method, trusted server, and cloud server
Zichichi et al. Personal data access control through distributed authorization
JP2013156675A (en) Ciphertext retrieval system, retrieval information generation device, retrieval execution device, retrieval request device, ciphertext retrieval method, retrieval information generation method, retrieval execution method, retrieval request method and program
JP2019102970A (en) Data sharing server device, key generation server device, communication terminal, and program
US20190095628A1 (en) Method and a device for secure storage of at least one element of digital information, and system comprising such device
JP6840685B2 (en) Data sharing method, data sharing system, communication terminal, data sharing server, program
Fakhar et al. Management of symmetric cryptographic keys in cloud based environment
JP2017108237A (en) System, terminal device, control method and program
JP6433448B2 (en) ENCRYPTION SYSTEM, ENCRYPTION METHOD, AND ENCRYPTION PROGRAM
Xue-Zhou Network data encryption strategy for cloud computing
Parsamehr et al. Mutual authentication protocol to share files in cloud storage
CN111480313B (en) Communication terminal, server device, and recording medium
JP2014017763A (en) Encryption update system, encryption update request device, encryption update device, decryption device, encryption update method, and computer program
JP2018107625A (en) Data distribution system, data generation device, mediation device, data distribution method, and program
US11985250B2 (en) Anonymous broadcast method, key exchange method, anonymous broadcast system, key exchange system, communication device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180530

R150 Certificate of patent or registration of utility model

Ref document number: 6348004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150