JP2019121999A - Data sharing method, data sharing system, communication terminal, data sharing server, and program - Google Patents

Data sharing method, data sharing system, communication terminal, data sharing server, and program Download PDF

Info

Publication number
JP2019121999A
JP2019121999A JP2018002420A JP2018002420A JP2019121999A JP 2019121999 A JP2019121999 A JP 2019121999A JP 2018002420 A JP2018002420 A JP 2018002420A JP 2018002420 A JP2018002420 A JP 2018002420A JP 2019121999 A JP2019121999 A JP 2019121999A
Authority
JP
Japan
Prior art keywords
data
key
data sharing
communication terminal
encrypted data
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
JP2018002420A
Other languages
Japanese (ja)
Other versions
JP6840685B2 (en
Inventor
裕樹 岡野
Hiroki Okano
裕樹 岡野
麗生 吉田
Reisei Yoshida
麗生 吉田
陵 西巻
Ryo Nishimaki
陵 西巻
鉄太郎 小林
Tetsutaro Kobayashi
鉄太郎 小林
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018002420A priority Critical patent/JP6840685B2/en
Publication of JP2019121999A publication Critical patent/JP2019121999A/en
Application granted granted Critical
Publication of JP6840685B2 publication Critical patent/JP6840685B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a highly secure data sharing technique that makes the possibility to extremely low that the contents of encrypted data gets known even if a re-encryption key and a key before update are leaked.SOLUTION: A data sharing method includes: a re-encryption key generation step of generating, by a communication terminal U, a re-encryption key rk from a public key pk, a secret key sk, and a public key pk' and transmitting the re-encryption key rk to a data sharing server; and an encryption data update step of re-encrypting, by the data sharing server, encrypted data C, ..., Cusing the re-encryption key rk received from the communication terminal Uand thereby generating encrypted data C', ..., C'.SELECTED DRAWING: Figure 8

Description

本発明は情報セキュリティ技術の応用に関し、特にグループを形成する複数の通信端末がデータを共有するデータ共有技術に関する。   The present invention relates to application of information security technology, and more particularly to data sharing technology in which a plurality of communication terminals forming a group share data.

スマートフォンやタブレットの普及に伴って、サーバにデータを預託して多人数でデータを共有するようなサービスが増えてきた。このようなデータ共有サービスの例として、例えば、オンラインストレージ、グループチャット、グループメールと呼ばれるサービスがある。   With the spread of smartphones and tablets, services that store data in a server and share data with many people are increasing. Examples of such data sharing services include services called online storage, group chat, and group mail.

このデータ共有サービスを提供するシステム(データ共有システム)においては、通信路を暗号化することで通信経路上の盗聴防止がなされていたり、通信端末にデータを残さないことによって通信端末の紛失や不正な持ち出しに起因する情報漏えい防止がなされていたりする。このように、従来のデータ共有システムは「通信経路」と「通信端末」に対する脅威に対処している一方、共有対象となるデータを保存するサーバ(データ共有サーバ)に対する脅威への対処は必ずしも十分なものとは言えない状況であった。   In a system that provides this data sharing service (data sharing system), the communication path is encrypted to prevent eavesdropping on the communication path, or by not leaving data in the communication terminal, the communication terminal is lost or illegal. May prevent information leakage caused by taking out. Thus, while the conventional data sharing system copes with threats to "communication path" and "communication terminal", it is not always sufficient to cope with threats to servers (data sharing servers) that store data to be shared. It could not be said that it was a thing.

ここでいうサーバに対する脅威として「サーバに対する外部からの攻撃」や「サーバ管理者などによる内部不正」等が挙げられる。これらの脅威に対して、共有対象となるデータを暗号化してサーバに保存するという対策が考えられる。しかしながら、サーバ側でデータを復号可能である場合、前述の脅威に対してサーバからのデータ漏えいの可能性が依然として存在する。このサーバからのデータ漏えいを防ぐためには、共有対象データがサーバに対して秘匿化されている(つまり、サーバ側で盗聴されない)ことが重要である。   The threats to the server mentioned here include "external attack on server" and "internal fraud by server administrator etc.". To cope with these threats, it is conceivable to encrypt the data to be shared and store it in a server. However, if the data can be decrypted on the server side, there is still the possibility of data leakage from the server against the aforementioned threats. In order to prevent data leakage from the server, it is important that the data to be shared is concealed from the server (that is, not intercepted on the server side).

サーバ側での盗聴に対応する1つの方法として、サーバに対してデータを秘匿し、通信端末でのみ復号可能なエンドツーエンドの暗号化通信を実現することが考えられる。この場合、通信端末がデータの暗号化に用いる鍵を通信端末間でどのように共有するかが問題となる。この問題の解決策が例えば非特許文献1に開示されている。非特許文献1では中央に認証サーバをもつスター型のネットワークにおいて、認証サーバに対していかなる情報ももらさずに通信端末間で鍵を共有するプロトコルが提案されている。これにより、サーバに対してデータを秘匿したまま通信端末間でデータをやりとりすることができるようになる。   One possible method for dealing with eavesdropping on the server side is to conceal data from the server and to realize end-to-end encrypted communication that can be decrypted only by the communication terminal. In this case, the problem is how to share the key used by the communication terminal for data encryption between the communication terminals. A solution to this problem is disclosed, for example, in Non-Patent Document 1. Non-Patent Document 1 proposes a protocol in which keys are shared between communication terminals in a star network having an authentication server at the center without sharing any information with the authentication server. As a result, data can be exchanged between communication terminals while the data is kept secret from the server.

また、データを共有しているグループにおいては、新たに通信端末が追加されたり、既存の通信端末がグループから離脱したりするなどのイベントが発生する。このような場合、現在グループに参加している通信端末ではデータを閲覧できるようにする必要があるために、追加・離脱等のイベントにより鍵を更新すると同時に、サーバに保存している暗号化データを再暗号化する必要がある。このような技術が非特許文献2に開示されている。   In addition, in a group sharing data, an event such as a new communication terminal being added or an existing communication terminal leaving the group occurs. In such a case, since the communication terminals currently participating in the group need to be able to view the data, the encrypted data stored in the server at the same time as the key is updated by an event such as addition or withdrawal Need to re-encrypt. Non-Patent Document 2 discloses such a technique.

K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto, “Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction”, Cryptology ePrint Archive, Report 2016/833, http://eprint.iacr.org/2016/833, 2016.K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto, "Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction", Cryptology ePrint Archive, Report 2016/833, http://eprint.iacr.org/2016/833, 2016. 岡野裕樹,吉田麗生,小林鉄太郎,奥山浩伸,“セキュアビジネスチャットにおける代理人再暗号化付き検索可能暗号”,SCIS2017,Jan. 2017.Hiroki Okano, Reio Yoshida, Tetsutaro Kobayashi, Hironobu Okuyama, "Retrievable Encryption with Agent Re-encryption in Secure Business Chat", SCIS 2017, Jan. 2017.

しかし、この非特許文献2に記載の技術では、再暗号化鍵が更新前後の鍵から生成されているため、通信路の盗聴や通信端末の紛失等により再暗号化鍵と更新前の鍵が漏洩してしまうと、現在の鍵がわかってしまい、暗号化データの中身が容易に知られてしまうという問題がある。   However, in the technique described in this non-patent document 2, since the re-encryption key is generated from the key before and after the update, the re-encryption key and the key before the update are lost due to eavesdropping on the communication path or loss of the communication terminal. If leaked, there is a problem that the current key is known and the contents of the encrypted data are easily known.

そこで本発明では、再暗号化鍵と更新前の鍵が漏洩したとしても、暗号化データの中身が知られる可能性が限りなく低い、安全性の高いデータ共有技術を提供することを目的とする。   Therefore, it is an object of the present invention to provide a highly secure data sharing technology in which the possibility of knowing the contents of encrypted data is extremely low even if the re-encryption key and the key before update leak. .

本発明の一態様は、データを共有するグループに属する2台以上の通信端末と前記グループに属する通信端末間で共有されるデータを暗号化した暗号化データを管理するデータ共有サーバとを含むデータ共有システムにおいて、前記データ共有サーバが、前記グループに属する何れかの通信端末Ui_0が共有対象となるデータmから生成した暗号化データCを管理するデータ共有方法であって、前記通信端末Ui_0の記録部は、前記データ共有サーバが生成した公開パラメータparamsと前記グループに属する通信端末間で共有されたセッション鍵SKから生成された公開鍵pkと秘密鍵skの鍵ペアを記録しており、前記通信端末Ui_0は、前記公開鍵pkを用いて前記データmを暗号化することにより前記暗号化データCを生成し、前記暗号化データCを前記データ共有サーバに送信する暗号化データ生成ステップと、前記データ共有サーバは、前記通信端末Ui_0から受信した前記暗号化データCを前記グループに属する通信端末間で共有できるよう管理する暗号化データ管理ステップとを含む。 One aspect of the present invention is data including a data sharing server that manages encrypted data obtained by encrypting data shared between two or more communication terminals belonging to a group sharing data and communication terminals belonging to the group In the sharing system, the data sharing server is a data sharing method for managing encrypted data C generated from data m to be shared by any of the communication terminals U i_0 belonging to the group, the communication terminal U i_0. The recording unit records a key pair of a public key pk and a secret key sk generated from the public parameter params generated by the data sharing server and the session key SK shared between communication terminals belonging to the group, the communication terminal U i_0, the using the public key pk to generate the encrypted data C by encrypting the data m, the data sharing the encrypted data C And the encrypted data generating step of transmitting to the over server, the data sharing server, the encrypted data management step of managing to be able to share the encrypted data C received from the communication terminal U i_0 between communication terminals belonging to the group And.

本発明の一態様は、データを共有するグループに属する2台以上の通信端末と前記グループに属する通信端末間で共有されるデータを暗号化した暗号化データを管理するデータ共有サーバとを含むデータ共有システムにおいて、前記グループに属する何れかの通信端末Ui_1が、前記データ共有サーバが管理する暗号化データCから当該暗号化データCを生成する前の元データであるデータmを生成するデータ共有方法であって、前記通信端末Ui_1の記録部は、前記データ共有サーバが生成した公開パラメータparamsと前記グループに属する通信端末間で共有されたセッション鍵SKから生成された公開鍵pkと秘密鍵skの鍵ペアを記録しており、前記通信端末Ui_1は、前記暗号化データCを特定するための暗号化データ取得要求を生成し、前記暗号化データ取得要求を前記データ共有サーバに送信する暗号化データ取得要求生成ステップと、前記データ共有サーバは、前記通信端末Ui_1から受信した前記暗号化データ取得要求を用いて前記暗号化データCを取得し、前記暗号化データCを前記通信端末Ui_1に送信する暗号化データ取得ステップと、前記通信端末Ui_1は、前記秘密鍵skを用いて、前記データ共有サーバから受信した前記暗号化データCを復号することにより、前記データmを生成する復号ステップとを含む。 One aspect of the present invention is data including a data sharing server that manages encrypted data obtained by encrypting data shared between two or more communication terminals belonging to a group sharing data and communication terminals belonging to the group In the sharing system, data sharing in which any communication terminal U i_1 belonging to the group generates data m which is original data before generating the encrypted data C from the encrypted data C managed by the data sharing server In the method, the recording unit of the communication terminal U i_1 is a public key pk generated from the public parameter params generated by the data sharing server and a session key SK shared between communication terminals belonging to the group, and a secret key keeps track of the sk key pair, the communication terminal U i_1 generates encrypted data acquisition request for specifying the encrypted data C, collected by the encrypted data And the encrypted data acquisition request generation step of transmitting a request to said data sharing server, the data sharing server obtains the encrypted data C using the encrypted data acquisition request received from the communication terminal U i_1, An encrypted data acquisition step of transmitting the encrypted data C to the communication terminal U i_1; and the communication terminal U i_1 decrypting the encrypted data C received from the data sharing server using the secret key sk. And d) generating the data m.

本発明の一態様は、データを共有するグループに属する2台以上の通信端末と前記グループに属する通信端末間で共有されるデータを暗号化した暗号化データを管理するデータ共有サーバとを含むデータ共有システムにおいて、前記グループに属する通信端末間で共有されるセッション鍵がSKからSK'に更新された場合に、前記データ共有サーバが、前記グループに属する通信端末間で共有されるデータm1, …, mk (kは1以上の整数)を暗号化した暗号化データC1, …, Ckから暗号化データC'1, …, C'kを生成するデータ共有方法であって、通信端末Ui_2を前記データ共有サーバが前記暗号化データC'1, …, C'kを生成する際に用いる再暗号化鍵rkを生成する前記グループに属する何れかの通信端末とし、前記通信端末Ui_2の記録部は、前記データ共有サーバが生成した公開パラメータparamsと前記セッション鍵SKから生成された公開鍵pkと秘密鍵skの鍵ペアと、前記公開パラメータparamsと前記セッション鍵SK'から生成された公開鍵pk'と秘密鍵sk'の鍵ペアを記録しており、前記通信端末Ui_2は、前記公開鍵pkと前記秘密鍵skと前記公開鍵pk'から前記再暗号化鍵rkを生成し、前記再暗号化鍵rkを前記データ共有サーバに送信する再暗号化鍵生成ステップと、前記データ共有サーバは、前記通信端末Ui_2から受信した前記再暗号化鍵rkを用いて前記暗号化データC1, …, Ckを再暗号化することにより、前記暗号化データC'1, …, C'kを生成する暗号化データ更新ステップとを含む。 One aspect of the present invention is data including a data sharing server that manages encrypted data obtained by encrypting data shared between two or more communication terminals belonging to a group sharing data and communication terminals belonging to the group In the sharing system, when the session key shared between the communication terminals belonging to the group is updated from SK to SK ′, the data sharing server shares data m 1 , ..., m k (k is an integer of 1 or more) encrypted data C 1 obtained by encrypting, ..., encrypted data C from the C k '1, ..., C' a data sharing method for generating k, communication wherein the terminal U i_2 data sharing server the encrypted data C '1, ..., C' and one of the communication terminals belonging to said group to generate a re-encryption key rk used to generate the k, the communication terminal recording portion of the U i_2, the data sharing service Key pair generated from the session key SK and a public key pk generated from the session key SK and a public key pk 'generated from the public parameter params and the session key SK' and the secret key sk The communication terminal U i_2 generates the re-encryption key rk from the public key pk, the secret key sk, and the public key pk ′, and the re-encryption key rk is a re-encryption key generation step of transmitting to said data sharing server, the data sharing server, the encrypted data C 1 using the re-encryption key rk received from the communication terminal U i_2, ..., a C k And an encrypted data update step of generating the encrypted data C ′ 1 ,..., C ′ k by re-encryption.

この発明によれば、再暗号化鍵と更新前の鍵が漏洩したとしても、暗号化データの中身が知られる可能性が限りなく低い、安全性の高いデータ共有を実現することができる。   According to the present invention, even if the re-encryption key and the pre-update key are leaked, highly secure data sharing can be realized with an extremely low possibility of knowing the contents of the encrypted data.

データ共有システム10の構成の一例を示す図。FIG. 1 is a diagram showing an example of the configuration of a data sharing system 10; データ共有サーバ100の構成の一例を示すブロック図。FIG. 2 is a block diagram showing an example of the configuration of a data sharing server 100. 通信端末200の構成の一例を示すブロック図。FIG. 2 is a block diagram showing an example of the configuration of a communication terminal 200. セットアップ処理の一例を示す図。The figure which shows an example of a setup process. 暗号化鍵・復号鍵の生成処理の一例を示す図。The figure which shows an example of the production | generation process of an encryption key and a decoding key. データの暗号化処理の一例を示す図。The figure which shows an example of the encryption process of data. 暗号化データの復号処理の一例を示す図。The figure which shows an example of the decoding process of encryption data. 暗号化データの再暗号化処理の一例を示す図。The figure which shows an example of the re-encryption process of encryption data.

以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   Hereinafter, embodiments of the present invention will be described in detail. Note that components having the same function will be assigned the same reference numerals and redundant description will be omitted.

^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
<定義>
Nを正の整数全体の集合とする。
^ (Caret) represents a superscript. For example, x ^ z indicates that yz is a superscript for x, and x ^ z indicates that yz is a subscript for x. Also, _ (underscore) represents a subscript. For example, xy_z represents that yz is a superscript for x, and xy_z represents that yz is a subscript for x.
<Definition>
Let N be the set of all positive integers.

一方向性複数ホップ代理人再暗号方式(Unidirectional multi-hop proxy re-encryption scheme) PREは、次の6つのアルゴリズムSetup, KeyGen, ReKeyGen, Enc, ReEnc, Decから構成される。つまり、PRE=(Setup, KeyGen, ReKeyGen, Enc, ReEnc, Dec)である。   Unidirectional multi-hop proxy re-encryption scheme PRE is comprised of the following six algorithms: Setup, KeyGen, ReKeyGen, Enc, ReEnc, Dec. That is, PRE = (Setup, KeyGen, ReKeyGen, Enc, ReEnc, Dec).

Setup, KeyGen, ReKeyGen, Enc, ReEnc, Decは、それぞれ以下の入出力をもつアルゴリズムである。ここで、λ∈Nをセキュリティパラメータとする。
[Setup(1λ)]
セットアップアルゴリズムSetupは、セキュリティパラメータλを入力とし、公開パラメータparamsを出力するアルゴリズムである。つまり、Setup(1λ)→paramsである。
[KeyGen(params; r)]
鍵生成アルゴリズムKeyGenは、公開パラメータparamsと乱数rを入力とし、公開鍵pkと秘密鍵skの鍵ペアを出力するアルゴリズムである。つまり、KeyGen(params; r)→(pk, sk)である。なお、秘密鍵skは、公開パラメータparamsと乱数rのみから決まるものとする。
[ReKeyGen(pk, sk, pk')]
再暗号化鍵生成アルゴリズムReKeyGenは、1つの鍵ペア(pk, sk)と他の公開鍵pk'を入力とし、再暗号化鍵rkを出力するアルゴリズムである。つまり、ReKeyGen(pk, sk, pk')→rkである。
[Enc(pk, m)]
暗号化アルゴリズムEncは、公開鍵pkと平文mを入力とし、暗号文Cを出力するアルゴリズムである。つまり、Enc(pk, m)→Cである。
[ReEnc(rk, C)]
再暗号化アルゴリズムReEncは、再暗号化鍵rkと暗号文Cを入力とし、再暗号化暗号文C'を出力するアルゴリズムである。つまり、ReEnc(rk, C)→C'である。
[Dec(sk, C)]
復号アルゴリズムDecは、秘密鍵skと暗号文Cを入力とし、平文m'を出力するアルゴリズムである。つまり、Dec(sk, C)→m'である。なお、復号に失敗した場合、平文の代わりに⊥(エラー)を出力する。
Setup, KeyGen, ReKeyGen, Enc, ReEnc, Dec are algorithms with the following inputs and outputs. Here, λ∈N is a security parameter.
[Setup (1 λ )]
The setup algorithm Setup is an algorithm which receives the security parameter λ and outputs the public parameter params. That is, Setup (1 λ ) → params.
[KeyGen (params; r)]
Key Generation Algorithm KeyGen is an algorithm that receives a public parameter params and a random number r, and outputs a key pair of a public key pk and a secret key sk. That is, KeyGen (params; r) → (pk, sk). The secret key sk is determined only from the public parameter params and the random number r.
[ReKeyGen (pk, sk, pk ')]
Re-Encryption Key Generation Algorithm ReKeyGen is an algorithm that receives one key pair (pk, sk) and another public key pk ′ and outputs a re-encryption key rk. That is, ReKeyGen (pk, sk, pk ′) → rk.
[Enc (pk, m)]
The encryption algorithm Enc is an algorithm that receives the public key pk and the plaintext m and outputs the ciphertext C. That is, Enc (pk, m) → C.
[ReEnc (rk, C)]
The re-encryption algorithm ReEnc is an algorithm that receives the re-encryption key rk and the ciphertext C and outputs a re-encryption ciphertext C ′. That is, ReEnc (rk, C) → C ′.
[Dec (sk, C)]
The decryption algorithm Dec is an algorithm that receives the secret key sk and the ciphertext C as an input, and outputs a plaintext m '. That is, Dec (sk, C) → m '. If decryption is unsuccessful, ⊥ (error) is output instead of plaintext.

上記暗号方式PREは以下の条件も満たすものとする。
(条件1)任意の公開パラメータparams←Setup(1λ)、任意の乱数r、任意の公開鍵と秘密鍵の鍵ペア(pk, sk)←KeyGen(params; r)、任意の平文mに対して、Dec(sk, Enc(pk, m))=mが成り立つ。
(条件2)任意の正の整数n、任意の公開パラメータparams←Setup(1λ)、任意の乱数列{ri}1≦i≦n、各i(1≦i≦n)に対してKeyGen(params; ri)により出力される任意の鍵ペア列{(pki, ski)}1≦i≦n、各i(1≦i≦n-1)に対してReKeyGen(pki, ski, pki+1)により出力される任意の再暗号化鍵列rk1→2, …,rkn-1→n、任意の平文mに対して、Dec(skn, ReEnc(rkn-1→n, …, ReEnc(rk1→2, Enc(pk1, m))…))=mが成り立つ。
The above encryption scheme PRE satisfies the following conditions.
(Condition 1) Arbitrary public parameter params Setup Setup (1 λ ), arbitrary random number r, key pair of arbitrary public key and private key (pk, sk) Key KeyGen (params; r), arbitrary plain text m Thus, Dec (sk, Enc (pk, m)) = m holds.
(Condition 2) KeyGen any positive integer n, any public parameters params ← Setup (1 λ), any random number sequence {r i} 1 ≦ i ≦ n, for each i (1 ≦ i ≦ n) Arbitrary key pair sequence {(pk i , sk i )} 1 ≦ i ≦ n outputted by (params; r i ), ReKeyGen (pk i , sk for each i (1 ≦ i ≦ n−1) i, pk i + 1) any re-encryption key sequence rk 1 → 2 output by, ..., rk n-1 → n, for any plaintext m, Dec (sk n, ReEnc (rk n- 1 → n ,..., ReEnc (rk 1 → 2 , Enc (pk 1 , m))...)) = M.

上記暗号方式PREは、さらに以下の条件を満たすものとする。
(条件3)秘密鍵skiで復号することができる暗号文Cに対して、それ以前の秘密鍵skj(j≦i-1)が漏えいしいたり、再暗号化鍵rkj→j+1, …, rki-1→iが知られていたとしても、暗号文Cの中身が知られる確率は、セキュリティパラメータλに関して無視可能(negligible)である。
The above encryption scheme PRE further satisfies the following condition.
(Condition 3) For the ciphertext C that can be decrypted with the secret key sk i , the secret key sk j (j ≦ i−1) before that may be leaked or the re-encryption key rk j → j + 1 Even though rk i-1 → i is known, the probability that the content of the ciphertext C is known is negligible with respect to the security parameter λ.

(条件1)、(条件2)、(条件3)を満たす暗号方式PREの例が、参考非特許文献1、参考非特許文献2に記載されている。
(参考非特許文献1:N. Chandran, M. Chase, F.-H. Liu, R. Nishimaki, and K. Xagawa, “Re-encryption, functional re-encryption, and multi-hop re-encryption: A framework for achieving obfuscation-based security and instantiations from lattices”, in Proc. PKC 2014, pp. 95-112, 2014.)
(参考非特許文献2:Y. Aono, X. Boyen, L. T. Phong, and L. Wang, “Key-private proxy re-encryption under LWE”, in Proc. INDOCRYPT 2013, pp.1-18, 2013.)
なお、(条件3)の無視可能性に関する定義については、参考非特許文献3に記載がある。
(参考非特許文献3:森山大輔,西巻陵,岡本龍明,“公開鍵暗号の数理(シリーズ応用数理 2)”,共立出版,2011年.)
以下、鍵生成アルゴリズムKeyGen(params; r)の処理について具体例を用いて説明する。参考非特許文献1における鍵生成アルゴリズムを例にとる。qを素数とし、Zqを標数qの有限体、Zq mをZq上のm次元ベクトル空間、Zq MをZq上のM次元ベクトル空間、Zq M×mを各成分がZqであるM×m行列の集合とする。また、τをlog2q以上の最小の整数とする。関数Gは乱数rを入力とし、τ×mビット列を出力する擬似乱数生成器とする。そのような擬似乱数生成器として、SHA256のようなハッシュ関数を用いて構成することができる。詳細については、例えば参考非特許文献4に記載されている。さらに、セットアップアルゴリズムSetup(1λ)は行列A∈Zq M×mを一様ランダムに生成し、params=Aとする。
(参考非特許文献4:結城浩,“暗号技術入門 第3版”,SBクリエイティブ,pp317-331,2015年.)
鍵生成アルゴリズムKeyGen(params; r)において、まず、G(r)を計算し、τ×mビット列を得る。これを整数値に変換した後、q進展開を行い、得られた各係数をベクトルの成分としてZq mの元sを得る。各成分が、ガウス正規分布にしたがってランダムに選ばれた実数値を整数値に丸めたものからなるM次元ベクトルeをとり、M次元ベクトルb:=As+eを計算する。なお、Asは行列の積である。sk=sとし、pk=(A, b)とする。この組(pk, sk)がKeyGen(params; r)の出力である。
Examples of the encryption method PRE satisfying (condition 1), (condition 2), and (condition 3) are described in Reference Non-Patent Document 1 and Reference Non-Patent Document 2.
(Reference Non-Patent Document 1: N. Chandran, M. Chase, F.-H. Liu, R. Nishikaki, and K. Xagawa, “Re-encryption, functional re-encryption, and multi-hop re-encryption: A framework for achieving obfuscation-based security and instantiations from lattices ”, in Proc. PKC 2014, pp. 95-112, 2014.)
(Reference Non-Patent Document 2: Y. Aono, X. Boyen, LT Phong, and L. Wang, “Key-private proxy re-encryption under LWE”, in Proc. INDOCRYPT 2013, pp. 1-18, 2013.)
In addition, about the definition regarding the disregardability of (condition 3), it describes in the reference nonpatent literature 3. FIG.
(Reference Non-Patent Document 3: Daisuke Moriyama, Nishimaki Ling, Takuaki Okamoto, "Mathematics of Public-Key Cryptography (Series Applied Mathematics 2), Kyoritsu Publishing, 2011.)
The processing of the key generation algorithm KeyGen (params; r) will be described below using a specific example. The key generation algorithm in Reference Non-Patent Document 1 is taken as an example. The q and prime, finite field target number q of Z q, m-dimensional vector space over the Z q m Z q, M-dimensional vector space over the Z q M Z q, the Z q M × m each component Let a set of M × m matrices be Z q . Also, let τ be the smallest integer greater than or equal to log 2 q. The function G is a pseudorandom number generator which receives a random number r and outputs a τ × m bit string. Such a pseudo random number generator can be configured using a hash function such as SHA256. Details are described in, for example, Reference Non-Patent Document 4. Furthermore, the setup algorithm Setup (1 λ ) uniformly and randomly generates a matrix AεZ q M × m, and sets params = A.
(Reference Non-Patent Document 4: Hiroshi Yuki, “Introduction to Cryptography 3rd Edition”, SB Creative, pp 317-331, 2015.)
In the key generation algorithm KeyGen (params; r), first, G (r) is calculated to obtain a τ × m bit string. After converting this into an integer value, q-ary expansion is performed, and an element s of Z q m is obtained with each obtained coefficient as a component of a vector. An M-dimensional vector b: = As + e is calculated by taking an M-dimensional vector e in which each component is a real value randomly selected according to a Gaussian normal distribution rounded to an integer value. As is a product of matrices. Let sk = s and pk = (A, b). This pair (pk, sk) is the output of KeyGen (params; r).

なお、上記はKeyGen(params; r)の計算例であって、用いる暗号方式に応じて計算方法は変わる。
<第一実施形態>
[システム構成]
以下、図1を参照して、データ共有システム10について説明する。図1は、データ共有システム10の構成の一例を示す図である。データ共有システム10は、データ共有サーバ100、通信端末2001、…、通信端末200n (n≧2)を含む。
The above is an example of calculation of KeyGen (params; r), and the calculation method changes according to the encryption method to be used.
First Embodiment
[System configuration]
The data sharing system 10 will be described below with reference to FIG. FIG. 1 is a diagram showing an example of the configuration of a data sharing system 10. The data sharing system 10 includes a data sharing server 100, communication terminals 200 1 ,..., Communication terminals 200 n (n ≧ 2).

データ共有サーバ100、通信端末2001、…、通信端末200nは、インターネットなどのネットワーク900に接続している。データ共有サーバ100は、通信端末2001、…、通信端末200nそれぞれと通信可能である。なお、通信端末2001、…、通信端末200n同士は通信できなくともよい。 The data sharing server 100, the communication terminals 200 1 ,..., The communication terminals 200 n are connected to a network 900 such as the Internet. The data sharing server 100 can communicate with each of the communication terminals 200 1 to 200 n . The communication terminals 200 1 ,..., And the communication terminals 200 n may not be able to communicate with each other.

データ共有システム10は、n台の通信端末2001、…、通信端末200nがデータを共有するためのシステムである。なお、通信端末200i(1≦i≦n)が他の通信端末200j(1≦j≦n)とデータを共有する際には、共有対象となるデータを暗号化した暗号化データを生成した上で、データ共有サーバ100を介して共有する。 The data sharing system 10 is a system for n communication terminals 200 1 ,..., Communication terminals 200 n to share data. When the communication terminal 200 i (1 ≦ i ≦ n) shares data with another communication terminal 200 j (1 ≦ j ≦ n), encrypted data is generated by encrypting the data to be shared. And share via the data sharing server 100.

データ共有サーバ100は、通信端末200iから送信された暗号化データを記録し、他の通信端末200jへ暗号化データを送信する。 The data sharing server 100 records the encrypted data transmitted from the communication terminal 200i, and transmits the encrypted data to the other communication terminal 200j .

通信端末200を用いてデータを共有する者をユーザという。通信端末はデータを共有するためのグループを形成する。各グループにはグループ識別子が与えられる。例えば、通信端末2001、…、通信端末200nはグループ識別子groupIDを有するグループに属しているものとする。なお、通信端末200は、パソコンやスマートフォンなどユーザが利用できる通信機能を持つ端末であればどのようなものでもよい。 A person sharing data using the communication terminal 200 is referred to as a user. The communication terminals form a group for sharing data. Each group is given a group identifier. For example, it is assumed that the communication terminals 200 1 to 200 n belong to a group having a group identifier groupID. Communication terminal 200 may be any terminal as long as it has a communication function that can be used by the user, such as a personal computer or a smartphone.

また、通信端末200iは、他の通信端末200jとセッション鍵を共有する。セッション鍵は、グループ単位で生成されるものであり、そのグループに属する通信端末200間でのみ共有される鍵である。なお、データ共有サーバ100に対してセッション鍵に関するいかなる情報も漏らさない形で、通信端末200間でセッション鍵が共有されるものとする。そのような共有方法として、例えば、非特許文献1に記載のプロトコルが挙げられる。ただし、セッション鍵の共有方法は、非特許文献1に記載のプロトコルに限るものではなく、どのような方法を用いてセッション鍵を共有してもよい。 The communication terminal 200 i share the other communication terminal 200 j and the session key. The session key is generated on a group basis and is a key shared only between the communication terminals 200 belonging to the group. It is assumed that the session key is shared between the communication terminals 200 in such a manner that any information related to the session key is not leaked to the data sharing server 100. As such a sharing method, for example, the protocol described in Non-Patent Document 1 can be mentioned. However, the session key sharing method is not limited to the protocol described in Non-Patent Document 1, and any method may be used to share the session key.

セッション鍵の安全性を確保するために、例えば、グループに新しい通信端末が追加される、グループから通信端末が離脱する(削除される)など所定のイベントが発生した場合や一定時間が経過した場合に新しいセッション鍵が生成、更新されるものする。   In order to ensure the security of the session key, for example, when a predetermined event such as addition of a new communication terminal to a group, withdrawal of a communication terminal from a group (deletion) occurs or a predetermined time has elapsed New session keys will be generated and updated.

次に、図2〜図3を参照して、データ共有サーバ100、通信端末200の各装置について説明する。図2は、データ共有サーバ100の構成の一例を示すブロック図である。データ共有サーバ100は、セットアップ部110、暗号化データ管理部120、暗号化データ取得部130、暗号化データ更新部140、記録部190を含む。記録部190は、データ共有サーバ100の処理に必要な情報を適宜記録する構成部である。例えば、暗号化データを記録する。また、セキュリティパラメータを記録しておく。   Next, each device of the data sharing server 100 and the communication terminal 200 will be described with reference to FIGS. 2 to 3. FIG. 2 is a block diagram showing an example of the configuration of the data sharing server 100. As shown in FIG. The data sharing server 100 includes a setup unit 110, an encrypted data management unit 120, an encrypted data acquisition unit 130, an encrypted data update unit 140, and a recording unit 190. The recording unit 190 is a component that appropriately records information necessary for the process of the data sharing server 100. For example, encrypted data is recorded. Also, record the security parameters.

図3は、通信端末200の構成の一例を示すブロック図である。通信端末200は、鍵ペア生成部210、暗号化データ生成部220、暗号化データ取得要求生成部230、暗号化データ復号部240、再暗号化鍵生成部250、記録部290を含む。記録部290は、通信端末200の処理に必要な情報を適宜記録する構成部である。例えば、セッション鍵を記録する。   FIG. 3 is a block diagram showing an example of the configuration of communication terminal 200. As shown in FIG. The communication terminal 200 includes a key pair generation unit 210, an encrypted data generation unit 220, an encrypted data acquisition request generation unit 230, an encrypted data decryption unit 240, a re-encryption key generation unit 250, and a recording unit 290. The recording unit 290 is a configuration unit that records information necessary for processing of the communication terminal 200 as appropriate. For example, the session key is recorded.

以降の説明では、以下のように記号を定義する。Sはデータ共有サーバ100を示し、Ui(i∈{1, …, n})はn台の通信装置2001, …, 200nを示すものとする。 In the following description, symbols are defined as follows. S indicates the data sharing server 100, U i (i∈ {1 , ..., n}) is a communication device 200 1 of n units, ..., denote the 200 n.

[セットアップ処理]
図4を参照して、セットアップ処理について説明する。
[Setup process]
The setup process will be described with reference to FIG.

S110において、データ共有サーバSのセットアップ部110は、セキュリティパラメータλから公開パラメータparamsを生成し、記録部190に記録する。公開パラメータparamsの生成には、PREのSetupを用いる。具体的には、params←Setup(1λ)とする。また、データ共有サーバSは、通信端末Ui(i∈{1, …, n})に対して公開パラメータparamsを公開する。例えば、通信装置Uiがアクセスできる領域に公開パラメータparamsをアップロードし、通信端末Uiが適宜ダウンロードするようにすればよい。公開パラメータparamsに関する処理は、上記に限られるものではなく、データ共有サーバS、通信端末Ui(i∈{1, …, n})の各記録部に公開パラメータparamsが記録されるようになるのであれば、どのようなものであってもよい。 In S110, the setup unit 110 of the data sharing server S generates the public parameter params from the security parameter λ and records the public parameter params in the recording unit 190. Setup of PRE is used to generate the public parameter params. Specifically, params ← Setup (1 λ ). Further, the data sharing server S publishes the public parameter params to the communication terminal U i (iε {1,..., N}). For example, the public parameter params may be uploaded to an area where the communication device U i can access, and the communication terminal U i may be appropriately downloaded. The process regarding the public parameter params is not limited to the above, and the public parameters params will be recorded in each recording unit of the data sharing server S and the communication terminal U i ( i ({1,..., N}). If it is, it may be anything.

なお、公開パラメータの生成はデータを共有するグループごとに行われる処理である。   The generation of the public parameter is a process performed for each group sharing data.

[暗号化鍵・復号鍵の生成処理]
図5を参照して、暗号化鍵・復号鍵の生成処理について説明する。ここで通信端末Uiにおいて生成される暗号化鍵は、共有対象となるデータを暗号化し、暗号化データを生成するために用いられるものである。また、復号鍵は、生成した暗号化データを復号し、元のデータを生成するために用いられるものである。
[Generation process of encryption key / decryption key]
The generation process of the encryption key / decryption key will be described with reference to FIG. Here, the encryption key generated in the communication terminal U i is used to encrypt data to be shared and generate encrypted data. The decryption key is used to decrypt the generated encrypted data to generate the original data.

グループ識別子groupIDを有するグループに属する通信端末U1、…、通信端末Unの間で共有されるセッション鍵が新たに生成されたものとする。このセッション鍵をSKとする。通信端末Ui(i∈{1, …, n})は、セッション鍵SKを取得し、記録部290に記録する。 It is assumed that a session key shared among communication terminals U 1 ,..., Communication terminals U n belonging to a group having a group identifier groupID is newly generated. Let this session key be SK. The communication terminal U i (iε {1,..., N}) acquires the session key SK and records it in the recording unit 290.

S210において、通信端末Ui(i∈{1, …, n})の鍵ペア生成部210は、記録部290に記録してある公開パラメータparamsとセッション鍵SKから、暗号化鍵である公開鍵pkと復号鍵である秘密鍵skの鍵ペア(pk, sk)を生成する。鍵ペア(pk, sk)の生成には、PREのKeyGenを用いる。具体的には、(pk, sk)←KeyGen(params; SK)とする。生成した鍵ペア(pk, sk)は記録部290に記録する。なお、セッション鍵SKが同一であったとしても、公開鍵pkは常に同じものになるとは限らない。一方、秘密鍵skは、PREの定義から、常に同じものが生成される。 In S210, the key pair generation unit 210 of the communication terminal U i (iε {1,..., N}) uses the public parameter params and the session key SK recorded in the recording unit 290 to generate a public key that is an encryption key. A key pair (pk, sk) of pk and a secret key sk which is a decryption key is generated. To generate a key pair (pk, sk), use KeyGen of PRE. Specifically, (pk, sk) ← KeyGen (params; SK). The generated key pair (pk, sk) is recorded in the recording unit 290. Note that even if the session keys SK are identical, the public key pk is not always the same. On the other hand, the same secret key sk is always generated from the definition of PRE.

[データの暗号化処理]
図6を参照して、データの暗号化処理について説明する。グループ識別子groupIDを有するグループに属する通信端末U1、…、通信端末Unの間でセッション鍵SKが共有され、記録部290に記録されているものとする。また、通信端末Ui_0(1≦i0≦n)において、公開パラメータparamsとセッション鍵SKから生成された公開鍵・秘密鍵の鍵ペア(pk, sk)が記録部290に記録されているものとする。
[Data encryption process]
Data encryption processing will be described with reference to FIG. It is assumed that the session key SK is shared among the communication terminals U 1 ,..., The communication terminals U n belonging to the group having the group identifier groupID, and is recorded in the recording unit 290. Further, in the communication terminal U i_0 (1 ≦ i 0 ≦ n), a key pair (pk, sk) of a public key and a secret key generated from the public parameter params and the session key SK is recorded in the recording unit 290 I assume.

S220において、通信端末Ui_0(1≦i0≦n)の暗号化データ生成部220は、暗号化鍵である公開鍵pkを用いて、共有対象となるデータmから、暗号化データCを生成する。暗号化データCの生成には、PREのEncを用いる。具体的には、C←Enc(pk, m)とする。暗号化データ生成部220は、生成した暗号化データCをデータ共有サーバSに送信する。 In S220, the encrypted data generation unit 220 of the communication terminal U i_0 (1 ≦ i 0 ≦ n) generates the encrypted data C from the data m to be shared, using the public key pk which is the encryption key Do. For generation of the encrypted data C, Enc of PRE is used. Specifically, CCEnc (pk, m). The encrypted data generation unit 220 transmits the generated encrypted data C to the data sharing server S.

S120において、データ共有サーバSの暗号化データ管理部120は、通信端末Ui_0が送信した暗号化データCを受信し、暗号化データCをグループに属する通信端末間で共有できるよう記録部190に記録、管理する。例えば、暗号化データを記録する際、当該暗号化データを共有することができるグループが特定できるよう、暗号化データを送信した通信端末Ui_0が属するグループのグループ識別子groupIDとともに暗号化データを記録すればよい。 In S120, the encrypted data management unit 120 of the data sharing server S receives the encrypted data C transmitted by the communication terminal U i_0 and allows the recording unit 190 to share the encrypted data C among the communication terminals belonging to the group. Record and manage. For example, when recording the encrypted data, so that the group can share the encrypted data can be identified, by recording the encrypted data together with the group identifier groupID of group communication terminals U i_0 that has transmitted the encrypted data belongs Just do it.

[暗号化データの復号処理]
図7を参照して、暗号化データの復号処理について説明する。先ほどと同様、グループ識別子groupIDを有するグループに属する通信端末U1、…、通信端末Unの間でセッション鍵SKが共有され、記録部290に記録されているものとする。また、通信端末Ui_1(1≦i1≦n)において、公開パラメータparamsとセッション鍵SKから生成された公開鍵・秘密鍵の鍵ペア(pk, sk)が記録部290に記録されているものとする。
[Decryption processing of encrypted data]
Decryption processing of encrypted data will be described with reference to FIG. Similarly to the above, it is assumed that the session key SK is shared among the communication terminals U 1 ,..., And the communication terminals U n belonging to the group having the group identifier groupID, and is recorded in the recording unit 290. In addition, in the communication terminal U i_1 (1 ≦ i 1 ≦ n), a key pair (pk, sk) of a public key and a secret key generated from the public parameter params and the session key SK is recorded in the recording unit 290 I assume.

S230において、通信端末Ui_1(1≦i1≦n)の暗号化データ取得要求生成部230は、暗号化データCを特定するための暗号化データ取得要求を生成し、当該取得要求をデータ共有サーバSに送信する。取得対象とする暗号化データCの特定方法は、どのようなものでもよい。例えば、グループで共有されているデータの一覧から選択するのでよい。 In S230, the encrypted data acquisition request generation unit 230 of the communication terminal U i_1 (1 ≦ i 1 ≦ n) generates an encrypted data acquisition request for specifying the encrypted data C, and the data acquisition request is shared Send to server S. The method of specifying encrypted data C to be acquired may be any method. For example, it may be selected from a list of data shared by the group.

S130において、データ共有サーバSの暗号化データ取得部130は、通信端末Ui_1が送信した暗号化データ取得要求を受信し、当該暗号化データ取得要求を用いて取得対象である暗号化データCを取得する。データ共有サーバSは、取得した暗号化データCを通信端末Ui_1に送信する。 In S130, the encrypted data acquisition unit 130 of the data sharing server S receives the encrypted data acquisition request transmitted by the communication terminal U i_1 , and uses the encrypted data acquisition request to acquire encrypted data C to be acquired. get. The data sharing server S transmits the acquired encrypted data C to the communication terminal U i_1 .

S240において、通信端末Ui_1の暗号化データ復号部230は、データ共有サーバSが送信した暗号化データCを受信し、秘密鍵skを用いて、暗号化データCを復号し、暗号化データCを生成する前の元データであるデータmを生成する。暗号化データCの復号には、PREのDecを用いる。具体的には、m←Dec(sk, C)とする。 In S240, the encrypted data decryption unit 230 of the communication terminal U i_1 receives the encrypted data C transmitted by the data sharing server S, decrypts the encrypted data C using the secret key sk, and transmits the encrypted data C. To generate data m which is the original data before generating. For decryption of the encrypted data C, Dec of PRE is used. Specifically, mmDec (sk, C).

[暗号化データの再暗号化処理]
図8を参照して、暗号化データの再暗号化処理について説明する。グループ識別子groupIDを有するグループに属する通信端末U1、…、通信端末Unの間でセッション鍵SKが共有されていたが、更新され新たにセッション鍵SK'が共有されたものとする。その結果、セッション鍵SK及びセッション鍵SK'は、通信端末Ui(1≦i≦n)の記録部290に記録されているものとする。
[Re-encryption processing of encrypted data]
The re-encryption processing of the encrypted data will be described with reference to FIG. It is assumed that the session key SK is shared among the communication terminals U 1 ,..., And the communication terminals U n belonging to the group having the group identifier group ID, but it is updated and a session key SK ′ is newly shared. As a result, it is assumed that the session key SK and the session key SK ′ are recorded in the recording unit 290 of the communication terminal U i (1 ≦ i ≦ n).

以下、データ共有サーバSには、当該グループの共有対象データm1, …, mk (kは1以上の整数)が暗号化された暗号化データC1, …, Ckが記録部190に記録されているものとする。また、通信端末Ui_2(1≦i2≦n)の記録部290には、公開パラメータparamsとセッション鍵SKから生成した鍵ペア(pk, sk)、公開パラメータparamsとセッション鍵SK'から生成した鍵ペア(pk', sk')も記録されているものとする。 Hereinafter, in the data sharing server S, encrypted data C 1 ,..., C k in which the sharing object data m 1 ,..., M k (k is an integer of 1 or more) of the group is encrypted It shall be recorded. Also, the recording unit 290 of the communication terminal U i_2 (1 ≦ i 2 ≦ n) is generated from the public key params and the key pair (pk, sk) generated from the session key SK, and the public parameter params and the session key SK ′ It is assumed that the key pair (pk ', sk') is also recorded.

S250において、通信端末Ui_2の再暗号化鍵生成部250は、記録部290に記録している鍵ペア(pk, sk)と公開鍵pk'から、再暗号化鍵rkを生成する。再暗号化鍵rkの生成には、PREのReKeyGenを用いる。具体的には、rk←ReKeyGen(pk, sk, pk')とする。再暗号化鍵生成部250は、生成した再暗号化鍵rkをデータ共有サーバSに送信する。 In S250, the re-encryption key generation unit 250 of the communication terminal U i_2 generates a re-encryption key rk from the key pair (pk, sk) recorded in the storage unit 290 and the public key pk ′. The ReKeyGen of PRE is used to generate the re-encryption key rk. Specifically, rk rk ReKeyGen (pk, sk, pk '). The re-encryption key generation unit 250 transmits the generated re-encryption key rk to the data sharing server S.

S140において、データ共有サーバSの暗号化データ更新部140は、通信端末Ui_2が送信した再暗号化鍵rkを受信し、再暗号化鍵rkを用いて、記録部190に記録されている、通信端末Ui_2が属するグループで共有対象となっているデータの暗号化データC1, …, Ckを再暗号化し、暗号化データC'1, …, C'kを生成する。暗号化データC1, …, Ckの再暗号化には、PREのReEncを用いる。具体的には、C'i←ReEnc(rk, Ci) (i=1, …, k)とする。生成した暗号化データC'1, …, C'kを記録部190に記録する。なお、再暗号化前の暗号化データC1, …, Ckは削除するのが好ましい。 In S140, the encrypted data update unit 140 of the data sharing server S receives the re-encryption key rk transmitted by the communication terminal U i_2, and is recorded in the recording unit 190 using the re-encryption key rk, The encrypted data C 1 ,..., C k of the data to be shared in the group to which the communication terminal U i — 2 belongs is re-encrypted to generate encrypted data C ′ 1 ,. The ReEnc of PRE is used for re-encryption of the encrypted data C 1 ,..., C k . Specifically, C ' i Re Re En c (rk, C i ) (i = 1,..., K). The generated encrypted data C ′ 1 ,..., C ′ k are recorded in the recording unit 190. Preferably, the encrypted data C 1 ,..., C k before re-encryption is deleted.

本実施形態によると、セッション鍵が更新されたタイミングでデータ共有サーバが暗号化データを更新後のセッション鍵から生成される秘密鍵で復号できるように再暗号化する過程において、更新後のセッション鍵や暗号化データの中身についてデータ共有サーバは知りえないようにすることができる。また、再暗号化鍵や過去のセッション鍵から現在のセッション鍵を知ることは困難であるため、現在共有されている暗号化データが不正に復号されることはなく、データ共有サーバに対してデータを秘匿したまま通信端末間で安全にデータを共有することができる。   According to the present embodiment, in the process of re-encrypting the encrypted data so that the data sharing server can decrypt the encrypted data with the secret key generated from the updated session key at the timing when the session key is updated, the updated session key And the data sharing server can not know the contents of the encrypted data. In addition, since it is difficult to know the current session key from the re-encryption key or the past session key, the encrypted data currently shared is not illegally decrypted, and data to the data sharing server is not The data can be shared safely between the communication terminals while keeping the

<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary Note>
The apparatus according to the present invention is, for example, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected as a single hardware entity, or a communication device (for example, communication cable) capable of communicating outside the hardware entity. Communication unit that can be connected, CPU (central processing unit, cache memory, registers, etc. may be provided), RAM or ROM that is memory, external storage device that is hard disk, input unit for these, output unit, communication unit , CPU, RAM, ROM, and a bus connected so as to enable exchange of data between external storage devices. If necessary, the hardware entity may be provided with a device (drive) capable of reading and writing a recording medium such as a CD-ROM. Examples of physical entities provided with such hardware resources include general purpose computers.

ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。   The external storage device of the hardware entity stores a program necessary for realizing the above-mentioned function, data required for processing the program, and the like (not limited to the external storage device, for example, the program is read) It may be stored in the ROM which is a dedicated storage device). In addition, data and the like obtained by processing of these programs are appropriately stored in a RAM, an external storage device, and the like.

ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。   In the hardware entity, each program stored in the external storage device (or ROM etc.) and data necessary for processing of each program are read into the memory as necessary, and interpreted and processed appropriately by the CPU . As a result, the CPU realizes predetermined functions (each component requirement expressed as the above-mentioned,...

本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。   The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention. Further, the processing described in the above embodiment may be performed not only in chronological order according to the order of description but also may be performed in parallel or individually depending on the processing capability of the device that executes the processing or the necessity. .

既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。   As described above, when the processing function in the hardware entity (the apparatus of the present invention) described in the above embodiment is implemented by a computer, the processing content of the function that the hardware entity should have is described by a program. Then, by executing this program on a computer, the processing function of the hardware entity is realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。   The program describing the processing content can be recorded in a computer readable recording medium. As the computer readable recording medium, any medium such as a magnetic recording device, an optical disc, a magneto-optical recording medium, a semiconductor memory, etc. may be used. Specifically, for example, as a magnetic recording device, a hard disk drive, a flexible disk, a magnetic tape or the like as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only) Memory), CD-R (Recordable) / RW (Rewritable), etc. as magneto-optical recording medium, MO (Magneto-Optical disc) etc., as semiconductor memory EEP-ROM (Electronically Erasable and Programmable Only Read Memory) etc. Can be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   Further, this program is distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD, a CD-ROM or the like in which the program is recorded. Furthermore, this program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   For example, a computer that executes such a program first temporarily stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, at the time of execution of the process, the computer reads the program stored in its own recording medium and executes the process according to the read program. Further, as another execution form of this program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer Each time, processing according to the received program may be executed sequentially. In addition, a configuration in which the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes processing functions only by executing instructions and acquiring results from the server computer without transferring the program to the computer It may be Note that the program in the present embodiment includes information provided for processing by a computer that conforms to the program (such as data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   Further, in this embodiment, the hardware entity is configured by executing a predetermined program on a computer, but at least a part of the processing content may be realized as hardware.

Claims (7)

データを共有するグループに属する2台以上の通信端末と前記グループに属する通信端末間で共有されるデータを暗号化した暗号化データを管理するデータ共有サーバとを含むデータ共有システムにおいて、前記データ共有サーバが、前記グループに属する何れかの通信端末Ui_0が共有対象となるデータmから生成した暗号化データCを管理するデータ共有方法であって、
前記通信端末Ui_0の記録部は、前記データ共有サーバが生成した公開パラメータparamsと前記グループに属する通信端末間で共有されたセッション鍵SKから生成された公開鍵pkと秘密鍵skの鍵ペアを記録しており、
前記通信端末Ui_0は、前記公開鍵pkを用いて前記データmを暗号化することにより前記暗号化データCを生成し、前記暗号化データCを前記データ共有サーバに送信する暗号化データ生成ステップと、
前記データ共有サーバは、前記通信端末Ui_0から受信した前記暗号化データCを前記グループに属する通信端末間で共有できるよう管理する暗号化データ管理ステップと
を含むデータ共有方法。
A data sharing system comprising: a data sharing server that manages encrypted data obtained by encrypting data shared between two or more communication terminals belonging to a group sharing data and communication terminals belonging to the group; A data sharing method in which a server manages encrypted data C generated from data m to be shared by any communication terminal U i_0 belonging to the group,
The recording unit of the communication terminal U i_0 is a key pair of a public key pk generated from the public parameter params generated by the data sharing server and a secret key sk generated from a session key SK shared between communication terminals belonging to the group. I have recorded,
The communication terminal U i_0 generates encrypted data C by encrypting the data m using the public key pk, and transmits the encrypted data C to the data sharing server. When,
A data sharing method, comprising: the data sharing server managing the encrypted data C received from the communication terminal U i_0 so that the encrypted data C received from the communication terminal U i_0 can be shared among the communication terminals belonging to the group.
データを共有するグループに属する2台以上の通信端末と前記グループに属する通信端末間で共有されるデータを暗号化した暗号化データを管理するデータ共有サーバとを含むデータ共有システムにおいて、前記グループに属する何れかの通信端末Ui_1が、前記データ共有サーバが管理する暗号化データCから当該暗号化データCを生成する前の元データであるデータmを生成するデータ共有方法であって、
前記通信端末Ui_1の記録部は、前記データ共有サーバが生成した公開パラメータparamsと前記グループに属する通信端末間で共有されたセッション鍵SKから生成された公開鍵pkと秘密鍵skの鍵ペアを記録しており、
前記通信端末Ui_1は、前記暗号化データCを特定するための暗号化データ取得要求を生成し、前記暗号化データ取得要求を前記データ共有サーバに送信する暗号化データ取得要求生成ステップと、
前記データ共有サーバは、前記通信端末Ui_1から受信した前記暗号化データ取得要求を用いて前記暗号化データCを取得し、前記暗号化データCを前記通信端末Ui_1に送信する暗号化データ取得ステップと、
前記通信端末Ui_1は、前記秘密鍵skを用いて、前記データ共有サーバから受信した前記暗号化データCを復号することにより、前記データmを生成する復号ステップと
を含むデータ共有方法。
A data sharing system comprising: two or more communication terminals belonging to a group sharing data; and a data sharing server managing encrypted data obtained by encrypting data shared between the communication terminals belonging to the group, A data sharing method according to any one of the communication terminals U i — 1 that generates data m, which is original data before generating the encrypted data C from the encrypted data C managed by the data sharing server,
The recording unit of the communication terminal U i_1 is a key pair of a public key pk generated from the public parameter params generated by the data sharing server and a secret key sk generated from a session key SK shared between communication terminals belonging to the group. I have recorded,
The communication terminal U i — 1 generates an encrypted data acquisition request for specifying the encrypted data C, and transmits an encrypted data acquisition request to the data sharing server, the encrypted data acquisition request generating step;
Said data sharing server, the using the encrypted data acquisition request received from the communication terminal U i_1 obtains the encrypted data C, the encrypted data acquisition for transmitting the encrypted data C to the communication terminal U i_1 Step and
The communication terminal U i_1, using the secret key sk, the by decrypting the encrypted data C received from the data sharing server, data sharing method comprising a decoding step of generating the data m.
データを共有するグループに属する2台以上の通信端末と前記グループに属する通信端末間で共有されるデータを暗号化した暗号化データを管理するデータ共有サーバとを含むデータ共有システムにおいて、前記グループに属する通信端末間で共有されるセッション鍵がSKからSK'に更新された場合に、前記データ共有サーバが、前記グループに属する通信端末間で共有されるデータm1, …, mk (kは1以上の整数)を暗号化した暗号化データC1, …, Ckから暗号化データC'1, …, C'kを生成するデータ共有方法であって、
通信端末Ui_2を前記データ共有サーバが前記暗号化データC'1, …, C'kを生成する際に用いる再暗号化鍵rkを生成する前記グループに属する何れかの通信端末とし、
前記通信端末Ui_2の記録部は、前記データ共有サーバが生成した公開パラメータparamsと前記セッション鍵SKから生成された公開鍵pkと秘密鍵skの鍵ペアと、前記公開パラメータparamsと前記セッション鍵SK'から生成された公開鍵pk'と秘密鍵sk'の鍵ペアを記録しており、
前記通信端末Ui_2は、前記公開鍵pkと前記秘密鍵skと前記公開鍵pk'から前記再暗号化鍵rkを生成し、前記再暗号化鍵rkを前記データ共有サーバに送信する再暗号化鍵生成ステップと、
前記データ共有サーバは、前記通信端末Ui_2から受信した前記再暗号化鍵rkを用いて前記暗号化データC1, …, Ckを再暗号化することにより、前記暗号化データC'1, …, C'kを生成する暗号化データ更新ステップと
を含むデータ共有方法。
A data sharing system comprising: two or more communication terminals belonging to a group sharing data; and a data sharing server managing encrypted data obtained by encrypting data shared between the communication terminals belonging to the group, Data m 1 , ..., m k (k is shared by the data sharing server among the communication terminals belonging to the group when the session key shared among the communication terminals belonging to the group is updated from SK to SK ' encrypted data C 1 1 or more integer) the encrypted, ..., encrypted data C from the C k '1, ..., C' a data sharing method for generating k,
Wherein the communication terminal U i_2 data sharing server the encrypted data C '1, ..., C' and one of the communication terminals belonging to said group to generate a re-encryption key rk used to generate the k,
The recording unit of the communication terminal U i_2 is a key pair of the public parameter params generated by the data sharing server, the public key pk generated from the session key SK, and a secret key sk, the public parameter params, and the session key SK A key pair of 'public key pk' generated from 'and private key sk' is recorded,
The communication terminal U i_2 generates the re-encryption key rk from the public key pk, the secret key sk, and the public key pk ′, and transmits the re-encryption key rk to the data sharing server. A key generation step,
The data sharing server, the encrypted data C 1 using the re-encryption key rk received from the communication terminal U i_2, ..., by re-encrypting the C k, the encrypted data C '1, , C ′ k generating encrypted data update step and the data sharing method.
請求項1ないし3のいずれか1項に記載のデータ共有方法を実行するデータ共有システム。   A data sharing system for executing the data sharing method according to any one of claims 1 to 3. 請求項1ないし3のいずれか1項に記載のデータ共有方法を実行するデータ共有システムに含まれる通信端末。   The communication terminal contained in the data sharing system which performs the data sharing method of any one of Claims 1 thru | or 3. 請求項1ないし3のいずれか1項に記載のデータ共有方法を実行するデータ共有システムに含まれるデータ共有サーバ。   A data sharing server included in a data sharing system that executes the data sharing method according to any one of claims 1 to 3. 請求項1ないし3のいずれか1項に記載のデータ共有方法を実行するデータ共有システムに含まれる通信端末またはデータ共有サーバとしてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as a communication terminal or data sharing server included in a data sharing system that executes the data sharing method according to any one of claims 1 to 3.
JP2018002420A 2018-01-11 2018-01-11 Data sharing method, data sharing system, communication terminal, data sharing server, program Active JP6840685B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018002420A JP6840685B2 (en) 2018-01-11 2018-01-11 Data sharing method, data sharing system, communication terminal, data sharing server, program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018002420A JP6840685B2 (en) 2018-01-11 2018-01-11 Data sharing method, data sharing system, communication terminal, data sharing server, program

Publications (2)

Publication Number Publication Date
JP2019121999A true JP2019121999A (en) 2019-07-22
JP6840685B2 JP6840685B2 (en) 2021-03-10

Family

ID=67307990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018002420A Active JP6840685B2 (en) 2018-01-11 2018-01-11 Data sharing method, data sharing system, communication terminal, data sharing server, program

Country Status (1)

Country Link
JP (1) JP6840685B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2590954A (en) * 2020-01-09 2021-07-14 British Telecomm Provision of digital content via a communication network
CN114079560A (en) * 2020-07-31 2022-02-22 中移(苏州)软件技术有限公司 Communication encryption method, aircraft and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004282575A (en) * 2003-01-23 2004-10-07 Matsushita Electric Ind Co Ltd Interaction key generation method
JP2005252384A (en) * 2004-03-01 2005-09-15 Rikogaku Shinkokai Encrypted data storage server system, encrypted data storage method, and re-encryption method
JP2015169842A (en) * 2014-03-07 2015-09-28 株式会社東芝 Data management device, system, re-encryption device, data sharing device, and program
JP2015177506A (en) * 2014-03-18 2015-10-05 国立研究開発法人情報通信研究機構 Cipher data updating system and cipher data updating method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004282575A (en) * 2003-01-23 2004-10-07 Matsushita Electric Ind Co Ltd Interaction key generation method
JP2005252384A (en) * 2004-03-01 2005-09-15 Rikogaku Shinkokai Encrypted data storage server system, encrypted data storage method, and re-encryption method
JP2015169842A (en) * 2014-03-07 2015-09-28 株式会社東芝 Data management device, system, re-encryption device, data sharing device, and program
JP2015177506A (en) * 2014-03-18 2015-10-05 国立研究開発法人情報通信研究機構 Cipher data updating system and cipher data updating method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
岡野 裕樹 ほか: "セキュアビジネスチャットにおける代理人再暗号化付き検索可能暗号", 2017年 暗号と情報セキュリティシンポジウム予稿集, JPN6021004547, 24 January 2017 (2017-01-24), JP, pages 1 - 8, ISSN: 0004444183 *
秦野 康生 ほか: "権限の異なる多重受信者のための暗号化方式", 電子情報通信学会技術研究報告, vol. 第105巻,第662号, JPN6021004545, 10 March 2006 (2006-03-10), JP, pages 91 - 96, ISSN: 0004444182 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2590954A (en) * 2020-01-09 2021-07-14 British Telecomm Provision of digital content via a communication network
GB2590954B (en) * 2020-01-09 2022-07-06 British Telecomm Provision of digital content via a communication network
CN114079560A (en) * 2020-07-31 2022-02-22 中移(苏州)软件技术有限公司 Communication encryption method, aircraft and computer readable storage medium
CN114079560B (en) * 2020-07-31 2024-05-07 中移(苏州)软件技术有限公司 Communication encryption method, aircraft and computer readable storage medium

Also Published As

Publication number Publication date
JP6840685B2 (en) 2021-03-10

Similar Documents

Publication Publication Date Title
JP6363032B2 (en) Key change direction control system and key change direction control method
JP6556955B2 (en) Communication terminal, server device, program
Yan et al. A scheme to manage encrypted data storage with deduplication in cloud
JP6770075B2 (en) Encrypted message search method, message sending / receiving system, terminal, program
US11985250B2 (en) Anonymous broadcast method, key exchange method, anonymous broadcast system, key exchange system, communication device, and program
JP2016012897A (en) Encryption data management system, proxy server, user terminal, encryption data management method, and computer program
JP2015177506A (en) Cipher data updating system and cipher data updating method
Harchol et al. Distributed SSH key management with proactive RSA threshold signatures
JP2019102970A (en) Data sharing server device, key generation server device, communication terminal, and program
JP6840685B2 (en) Data sharing method, data sharing system, communication terminal, data sharing server, program
JP5512559B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION SYSTEM, ENCRYPTION METHOD, PROGRAM
JP6908128B2 (en) Data sharing method, data sharing system, data sharing server, communication terminal, program
KR101812311B1 (en) User terminal and data sharing method of user terminal based on attributed re-encryption
JP2019200382A (en) Encryption system, encryption device, decryption device, encryption method, decryption method, and program
JP2016134722A (en) Key sharing device, key sharing system, key sharing method, program
JP7254296B2 (en) Key exchange system, information processing device, key exchange method and program
Pilla Enhancing data security by making data disappear in a P2P system
CN111480313B (en) Communication terminal, server device, and recording medium
Ansara et al. Security of Information in Cloud Computing: A Systematic Review
Kausalye et al. Data Confidentiality in Cloud Storage. A Survey
Lima et al. A secure collaborative network protocol
KR100954428B1 (en) Method for secret information protection in home device
Zameer et al. A Secure Anti-Collusion Data Sharing Scheme for Dynamic Groups in the Cloud
JP2020053772A (en) Communication system, server device, communication terminal, communication method and program
Thendral et al. Image Sharing in Clouds based on N-Server Forward Re-encryption System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210217

R150 Certificate of patent or registration of utility model

Ref document number: 6840685

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150