JP6840685B2 - データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム - Google Patents

データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム Download PDF

Info

Publication number
JP6840685B2
JP6840685B2 JP2018002420A JP2018002420A JP6840685B2 JP 6840685 B2 JP6840685 B2 JP 6840685B2 JP 2018002420 A JP2018002420 A JP 2018002420A JP 2018002420 A JP2018002420 A JP 2018002420A JP 6840685 B2 JP6840685 B2 JP 6840685B2
Authority
JP
Japan
Prior art keywords
data
data sharing
key
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.)
Active
Application number
JP2018002420A
Other languages
English (en)
Other versions
JP2019121999A (ja
Inventor
裕樹 岡野
裕樹 岡野
麗生 吉田
麗生 吉田
陵 西巻
陵 西巻
鉄太郎 小林
鉄太郎 小林
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/ja
Publication of JP2019121999A publication Critical patent/JP2019121999A/ja
Application granted granted Critical
Publication of JP6840685B2 publication Critical patent/JP6840685B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は情報セキュリティ技術の応用に関し、特にグループを形成する複数の通信端末がデータを共有するデータ共有技術に関する。
スマートフォンやタブレットの普及に伴って、サーバにデータを預託して多人数でデータを共有するようなサービスが増えてきた。このようなデータ共有サービスの例として、例えば、オンラインストレージ、グループチャット、グループメールと呼ばれるサービスがある。
このデータ共有サービスを提供するシステム(データ共有システム)においては、通信路を暗号化することで通信経路上の盗聴防止がなされていたり、通信端末にデータを残さないことによって通信端末の紛失や不正な持ち出しに起因する情報漏えい防止がなされていたりする。このように、従来のデータ共有システムは「通信経路」と「通信端末」に対する脅威に対処している一方、共有対象となるデータを保存するサーバ(データ共有サーバ)に対する脅威への対処は必ずしも十分なものとは言えない状況であった。
ここでいうサーバに対する脅威として「サーバに対する外部からの攻撃」や「サーバ管理者などによる内部不正」等が挙げられる。これらの脅威に対して、共有対象となるデータを暗号化してサーバに保存するという対策が考えられる。しかしながら、サーバ側でデータを復号可能である場合、前述の脅威に対してサーバからのデータ漏えいの可能性が依然として存在する。このサーバからのデータ漏えいを防ぐためには、共有対象データがサーバに対して秘匿化されている(つまり、サーバ側で盗聴されない)ことが重要である。
サーバ側での盗聴に対応する1つの方法として、サーバに対してデータを秘匿し、通信端末でのみ復号可能なエンドツーエンドの暗号化通信を実現することが考えられる。この場合、通信端末がデータの暗号化に用いる鍵を通信端末間でどのように共有するかが問題となる。この問題の解決策が例えば非特許文献1に開示されている。非特許文献1では中央に認証サーバをもつスター型のネットワークにおいて、認証サーバに対していかなる情報ももらさずに通信端末間で鍵を共有するプロトコルが提案されている。これにより、サーバに対してデータを秘匿したまま通信端末間でデータをやりとりすることができるようになる。
また、データを共有しているグループにおいては、新たに通信端末が追加されたり、既存の通信端末がグループから離脱したりするなどのイベントが発生する。このような場合、現在グループに参加している通信端末ではデータを閲覧できるようにする必要があるために、追加・離脱等のイベントにより鍵を更新すると同時に、サーバに保存している暗号化データを再暗号化する必要がある。このような技術が非特許文献2に開示されている。
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.
しかし、この非特許文献2に記載の技術では、再暗号化鍵が更新前後の鍵から生成されているため、通信路の盗聴や通信端末の紛失等により再暗号化鍵と更新前の鍵が漏洩してしまうと、現在の鍵がわかってしまい、暗号化データの中身が容易に知られてしまうという問題がある。
そこで本発明では、再暗号化鍵と更新前の鍵が漏洩したとしても、暗号化データの中身が知られる可能性が限りなく低い、安全性の高いデータ共有技術を提供することを目的とする。
本発明の一態様は、データを共有するグループに属する2台以上の通信端末と前記グループに属する通信端末間で共有されるデータを暗号化した暗号化データを管理するデータ共有サーバとを含むデータ共有システムにおいて、前記データ共有サーバが、前記グループに属する何れかの通信端末Ui_0が共有対象となるデータmから生成した暗号化データCを管理するデータ共有方法であって、前記通信端末Ui_0の記録部は、前記データ共有サーバが生成した公開パラメータparamsと前記グループに属する通信端末間で共有されたセッション鍵SKから生成された公開鍵pkと秘密鍵skの鍵ペアを記録しており、前記通信端末Ui_0は、前記公開鍵pkを用いて前記データmを暗号化することにより前記暗号化データCを生成し、前記暗号化データCを前記データ共有サーバに送信する暗号化データ生成ステップと、前記データ共有サーバは、前記通信端末Ui_0から受信した前記暗号化データCを前記グループに属する通信端末間で共有できるよう管理する暗号化データ管理ステップとを含む。
本発明の一態様は、データを共有するグループに属する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を生成する復号ステップとを含む。
本発明の一態様は、データを共有するグループに属する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を生成する暗号化データ更新ステップとを含む。
この発明によれば、再暗号化鍵と更新前の鍵が漏洩したとしても、暗号化データの中身が知られる可能性が限りなく低い、安全性の高いデータ共有を実現することができる。
データ共有システム10の構成の一例を示す図。 データ共有サーバ100の構成の一例を示すブロック図。 通信端末200の構成の一例を示すブロック図。 セットアップ処理の一例を示す図。 暗号化鍵・復号鍵の生成処理の一例を示す図。 データの暗号化処理の一例を示す図。 暗号化データの復号処理の一例を示す図。 暗号化データの再暗号化処理の一例を示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
<定義>
Nを正の整数全体の集合とする。
一方向性複数ホップ代理人再暗号方式(Unidirectional multi-hop proxy re-encryption scheme) PREは、次の6つのアルゴリズムSetup, KeyGen, ReKeyGen, Enc, ReEnc, Decから構成される。つまり、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'である。なお、復号に失敗した場合、平文の代わりに⊥(エラー)を出力する。
上記暗号方式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が成り立つ。
上記暗号方式PREは、さらに以下の条件を満たすものとする。
(条件3)秘密鍵skiで復号することができる暗号文Cに対して、それ以前の秘密鍵skj(j≦i-1)が漏えいしいたり、再暗号化鍵rkj→j+1, …, rki-1→iが知られていたとしても、暗号文Cの中身が知られる確率は、セキュリティパラメータλに関して無視可能(negligible)である。
(条件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)の出力である。
なお、上記はKeyGen(params; r)の計算例であって、用いる暗号方式に応じて計算方法は変わる。
<第一実施形態>
[システム構成]
以下、図1を参照して、データ共有システム10について説明する。図1は、データ共有システム10の構成の一例を示す図である。データ共有システム10は、データ共有サーバ100、通信端末2001、…、通信端末200n (n≧2)を含む。
データ共有サーバ100、通信端末2001、…、通信端末200nは、インターネットなどのネットワーク900に接続している。データ共有サーバ100は、通信端末2001、…、通信端末200nそれぞれと通信可能である。なお、通信端末2001、…、通信端末200n同士は通信できなくともよい。
データ共有システム10は、n台の通信端末2001、…、通信端末200nがデータを共有するためのシステムである。なお、通信端末200i(1≦i≦n)が他の通信端末200j(1≦j≦n)とデータを共有する際には、共有対象となるデータを暗号化した暗号化データを生成した上で、データ共有サーバ100を介して共有する。
データ共有サーバ100は、通信端末200iから送信された暗号化データを記録し、他の通信端末200jへ暗号化データを送信する。
通信端末200を用いてデータを共有する者をユーザという。通信端末はデータを共有するためのグループを形成する。各グループにはグループ識別子が与えられる。例えば、通信端末2001、…、通信端末200nはグループ識別子groupIDを有するグループに属しているものとする。なお、通信端末200は、パソコンやスマートフォンなどユーザが利用できる通信機能を持つ端末であればどのようなものでもよい。
また、通信端末200iは、他の通信端末200jとセッション鍵を共有する。セッション鍵は、グループ単位で生成されるものであり、そのグループに属する通信端末200間でのみ共有される鍵である。なお、データ共有サーバ100に対してセッション鍵に関するいかなる情報も漏らさない形で、通信端末200間でセッション鍵が共有されるものとする。そのような共有方法として、例えば、非特許文献1に記載のプロトコルが挙げられる。ただし、セッション鍵の共有方法は、非特許文献1に記載のプロトコルに限るものではなく、どのような方法を用いてセッション鍵を共有してもよい。
セッション鍵の安全性を確保するために、例えば、グループに新しい通信端末が追加される、グループから通信端末が離脱する(削除される)など所定のイベントが発生した場合や一定時間が経過した場合に新しいセッション鍵が生成、更新されるものする。
次に、図2〜図3を参照して、データ共有サーバ100、通信端末200の各装置について説明する。図2は、データ共有サーバ100の構成の一例を示すブロック図である。データ共有サーバ100は、セットアップ部110、暗号化データ管理部120、暗号化データ取得部130、暗号化データ更新部140、記録部190を含む。記録部190は、データ共有サーバ100の処理に必要な情報を適宜記録する構成部である。例えば、暗号化データを記録する。また、セキュリティパラメータを記録しておく。
図3は、通信端末200の構成の一例を示すブロック図である。通信端末200は、鍵ペア生成部210、暗号化データ生成部220、暗号化データ取得要求生成部230、暗号化データ復号部240、再暗号化鍵生成部250、記録部290を含む。記録部290は、通信端末200の処理に必要な情報を適宜記録する構成部である。例えば、セッション鍵を記録する。
以降の説明では、以下のように記号を定義する。Sはデータ共有サーバ100を示し、Ui(i∈{1, …, n})はn台の通信装置2001, …, 200nを示すものとする。
[セットアップ処理]
図4を参照して、セットアップ処理について説明する。
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が記録されるようになるのであれば、どのようなものであってもよい。
なお、公開パラメータの生成はデータを共有するグループごとに行われる処理である。
[暗号化鍵・復号鍵の生成処理]
図5を参照して、暗号化鍵・復号鍵の生成処理について説明する。ここで通信端末Uiにおいて生成される暗号化鍵は、共有対象となるデータを暗号化し、暗号化データを生成するために用いられるものである。また、復号鍵は、生成した暗号化データを復号し、元のデータを生成するために用いられるものである。
グループ識別子groupIDを有するグループに属する通信端末U1、…、通信端末Unの間で共有されるセッション鍵が新たに生成されたものとする。このセッション鍵をSKとする。通信端末Ui(i∈{1, …, n})は、セッション鍵SKを取得し、記録部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の定義から、常に同じものが生成される。
[データの暗号化処理]
図6を参照して、データの暗号化処理について説明する。グループ識別子groupIDを有するグループに属する通信端末U1、…、通信端末Unの間でセッション鍵SKが共有され、記録部290に記録されているものとする。また、通信端末Ui_0(1≦i0≦n)において、公開パラメータparamsとセッション鍵SKから生成された公開鍵・秘密鍵の鍵ペア(pk, sk)が記録部290に記録されているものとする。
S220において、通信端末Ui_0(1≦i0≦n)の暗号化データ生成部220は、暗号化鍵である公開鍵pkを用いて、共有対象となるデータmから、暗号化データCを生成する。暗号化データCの生成には、PREのEncを用いる。具体的には、C←Enc(pk, m)とする。暗号化データ生成部220は、生成した暗号化データCをデータ共有サーバSに送信する。
S120において、データ共有サーバSの暗号化データ管理部120は、通信端末Ui_0が送信した暗号化データCを受信し、暗号化データCをグループに属する通信端末間で共有できるよう記録部190に記録、管理する。例えば、暗号化データを記録する際、当該暗号化データを共有することができるグループが特定できるよう、暗号化データを送信した通信端末Ui_0が属するグループのグループ識別子groupIDとともに暗号化データを記録すればよい。
[暗号化データの復号処理]
図7を参照して、暗号化データの復号処理について説明する。先ほどと同様、グループ識別子groupIDを有するグループに属する通信端末U1、…、通信端末Unの間でセッション鍵SKが共有され、記録部290に記録されているものとする。また、通信端末Ui_1(1≦i1≦n)において、公開パラメータparamsとセッション鍵SKから生成された公開鍵・秘密鍵の鍵ペア(pk, sk)が記録部290に記録されているものとする。
S230において、通信端末Ui_1(1≦i1≦n)の暗号化データ取得要求生成部230は、暗号化データCを特定するための暗号化データ取得要求を生成し、当該取得要求をデータ共有サーバSに送信する。取得対象とする暗号化データCの特定方法は、どのようなものでもよい。例えば、グループで共有されているデータの一覧から選択するのでよい。
S130において、データ共有サーバSの暗号化データ取得部130は、通信端末Ui_1が送信した暗号化データ取得要求を受信し、当該暗号化データ取得要求を用いて取得対象である暗号化データCを取得する。データ共有サーバSは、取得した暗号化データCを通信端末Ui_1に送信する。
S240において、通信端末Ui_1の暗号化データ復号部230は、データ共有サーバSが送信した暗号化データCを受信し、秘密鍵skを用いて、暗号化データCを復号し、暗号化データCを生成する前の元データであるデータmを生成する。暗号化データCの復号には、PREのDecを用いる。具体的には、m←Dec(sk, C)とする。
[暗号化データの再暗号化処理]
図8を参照して、暗号化データの再暗号化処理について説明する。グループ識別子groupIDを有するグループに属する通信端末U1、…、通信端末Unの間でセッション鍵SKが共有されていたが、更新され新たにセッション鍵SK'が共有されたものとする。その結果、セッション鍵SK及びセッション鍵SK'は、通信端末Ui(1≦i≦n)の記録部290に記録されているものとする。
以下、データ共有サーバSには、当該グループの共有対象データm1, …, mk (kは1以上の整数)が暗号化された暗号化データC1, …, Ckが記録部190に記録されているものとする。また、通信端末Ui_2(1≦i2≦n)の記録部290には、公開パラメータparamsとセッション鍵SKから生成した鍵ペア(pk, sk)、公開パラメータparamsとセッション鍵SK'から生成した鍵ペア(pk', sk')も記録されているものとする。
S250において、通信端末Ui_2の再暗号化鍵生成部250は、記録部290に記録している鍵ペア(pk, sk)と公開鍵pk'から、再暗号化鍵rkを生成する。再暗号化鍵rkの生成には、PREのReKeyGenを用いる。具体的には、rk←ReKeyGen(pk, sk, pk')とする。再暗号化鍵生成部250は、生成した再暗号化鍵rkをデータ共有サーバ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は削除するのが好ましい。
本実施形態によると、セッション鍵が更新されたタイミングでデータ共有サーバが暗号化データを更新後のセッション鍵から生成される秘密鍵で復号できるように再暗号化する過程において、更新後のセッション鍵や暗号化データの中身についてデータ共有サーバは知りえないようにすることができる。また、再暗号化鍵や過去のセッション鍵から現在のセッション鍵を知ることは困難であるため、現在共有されている暗号化データが不正に復号されることはなく、データ共有サーバに対してデータを秘匿したまま通信端末間で安全にデータを共有することができる。
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、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)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (7)

  1. データを共有するグループに属する2台以上の通信端末と前記グループに属する通信端末間で共有されるデータを暗号化した暗号化データを管理するデータ共有サーバとを含むデータ共有システムにおいて、前記データ共有サーバが、前記グループに属する何れかの通信端末Ui_0が共有対象となるデータmから生成した暗号化データCを管理するデータ共有方法であって、
    前記通信端末Ui_0の記録部は、前記データ共有サーバが生成した公開パラメータparamsと前記グループに属する通信端末間で共有されたセッション鍵SKから生成された公開鍵pkと秘密鍵skの鍵ペアを記録しており、
    前記通信端末Ui_0は、前記公開鍵pkを用いて前記データmを暗号化することにより前記暗号化データCを生成し、前記暗号化データCを前記データ共有サーバに送信する暗号化データ生成ステップと、
    前記データ共有サーバは、前記通信端末Ui_0から受信した前記暗号化データCを前記グループに属する通信端末間で共有できるよう管理する暗号化データ管理ステップと
    を含むデータ共有方法。
  2. データを共有するグループに属する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を生成する復号ステップと
    を含むデータ共有方法。
  3. データを共有するグループに属する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を生成する暗号化データ更新ステップと
    を含むデータ共有方法。
  4. 請求項1ないし3のいずれか1項に記載のデータ共有方法を実行するデータ共有システム。
  5. 請求項1ないし3のいずれか1項に記載のデータ共有方法を実行するデータ共有システムに含まれる通信端末。
  6. 請求項1ないし3のいずれか1項に記載のデータ共有方法を実行するデータ共有システムに含まれるデータ共有サーバ。
  7. 請求項1ないし3のいずれか1項に記載のデータ共有方法を実行するデータ共有システムに含まれる通信端末またはデータ共有サーバとしてコンピュータを機能させるためのプログラム。
JP2018002420A 2018-01-11 2018-01-11 データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム Active JP6840685B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018002420A JP6840685B2 (ja) 2018-01-11 2018-01-11 データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018002420A JP6840685B2 (ja) 2018-01-11 2018-01-11 データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム

Publications (2)

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

Family

ID=67307990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018002420A Active JP6840685B2 (ja) 2018-01-11 2018-01-11 データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム

Country Status (1)

Country Link
JP (1) JP6840685B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2590954B (en) * 2020-01-09 2022-07-06 British Telecomm Provision of digital content via a communication network
CN114079560A (zh) * 2020-07-31 2022-02-22 中移(苏州)软件技术有限公司 一种通信加密方法及飞行器、计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004282575A (ja) * 2003-01-23 2004-10-07 Matsushita Electric Ind Co Ltd 対話鍵生成法
JP2005252384A (ja) * 2004-03-01 2005-09-15 Rikogaku Shinkokai 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法
JP6313074B2 (ja) * 2014-03-07 2018-04-18 株式会社東芝 データ管理装置、システム、データ共有装置及びプログラム
JP6341599B2 (ja) * 2014-03-18 2018-06-13 国立研究開発法人情報通信研究機構 暗号データ更新システム、暗号データ更新方法

Also Published As

Publication number Publication date
JP2019121999A (ja) 2019-07-22

Similar Documents

Publication Publication Date Title
Shao et al. Fine-grained data sharing in cloud computing for mobile devices
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
JP2010220212A (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
JP6556955B2 (ja) 通信端末、サーバ装置、プログラム
Harchol et al. Distributed SSH key management with proactive RSA threshold signatures
JP2019102970A (ja) データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム
JP6840685B2 (ja) データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム
Islam et al. A novel approach for client side encryption in cloud computing
JP6908128B2 (ja) データ共有方法、データ共有システム、データ共有サーバ、通信端末、プログラム
Zheng et al. Improved anonymous proxy re-encryption with CCA security
Salem et al. An efficient privacy preserving public auditing mechanism for secure cloud storage
Akanksha et al. A Secure Multiowner Dynamic Groups Data Sharing In Cloud
Salim et al. An efficient public auditing scheme for cloud storage with secure access control and resistance against DOS attack by iniquitous TPA
Parhi et al. Mp3: A more efficient private presence protocol
Liu et al. vFAC: Fine-grained access control with versatility for cloud storage
Lavanya et al. Anonymous data sharing scheme for dynamic groups in an untrusted cloud
Pawar et al. Performance analysis of privacy preservation-based authentication scheme and cryptographic-based data protocols for DSaC in cloud
Sathana et al. Three level security system for dynamic group in cloud
JP6939897B2 (ja) 通信端末、プログラム
Kausalye et al. Data Confidentiality in Cloud Storage. A Survey
Sathana et al. Automated Security Providence for Dynamic Group in Cloud
Rong et al. Efficient Privacy-Preserving Building Blocks in Cloud Environments under Multiple Keys.
Contiu Applied Cryptographic Access Control for Untrusted Cloud Storage
Ansara et al. Security of Information in Cloud Computing: A Systematic Review
Krishnaiah et al. A Collaborative Approach to Cloud-Based Functional Packaging: Sharing Intelligence Data Securely

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