JP2018093363A - 検証システム、検証方法及び検証プログラム - Google Patents
検証システム、検証方法及び検証プログラム Download PDFInfo
- Publication number
- JP2018093363A JP2018093363A JP2016234925A JP2016234925A JP2018093363A JP 2018093363 A JP2018093363 A JP 2018093363A JP 2016234925 A JP2016234925 A JP 2016234925A JP 2016234925 A JP2016234925 A JP 2016234925A JP 2018093363 A JP2018093363 A JP 2018093363A
- Authority
- JP
- Japan
- Prior art keywords
- data
- key
- data server
- linear combination
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
ユーザデータを格納したクラウドサーバにおいて、完全性を維持するためのデータ検証の手法として、POR(Proof Of Retrievability)が提案されている。また、可用性を維持するためのデータ修復の手法としてネットワークコーディングが提案されている。例えば、非特許文献1〜3には、ネットワークコーディング及びPORを用いた手法が示されている。
図1は、本実施形態に係る検証システム1の構成を示すブロック図である。
検証システム1は、端末Cと、複数のデータサーバS(S1〜Sn)と、検証装置Aとを備える。各装置は、ネットワークを介して互いに接続され、通信データのセキュリティが確保されているものとする。
データサーバSは、事業者により提供されるクラウド上のサーバ装置であり、ユーザデータを複数装置に分散記憶し、端末Cからの要求に応じて、ユーザデータ又はこれらを用いた演算結果等を提供する。
検証装置Aにより異常が認められたデータサーバSは、新たなデータサーバ(代替サーバ)S’に置き換えられ、代替サーバS’は、他の正常なデータサーバSに格納されている冗長なデータを用いて、新たに格納するデータを生成する。
端末Cは、セキュリティパラメータλに基づいて、端末Cの秘密鍵skCと、検証装置Aの秘密鍵skTPAとを出力する。
端末Cは、秘密鍵skCと元データファイルFとを入力とし、Fからエンコードされ、各データサーバSi(i∈[1,n])にd個ずつ格納される符号化ブロックF* Si={(cij)}j∈[1,d]と、秘密鍵skCを用いて算出されるF* Siに対するタグ(メッセージ認証符号;MAC)T* Si={(tij)}j∈[1,d]とを出力する。出力された(F* Si,T* Si)は、データサーバSiに格納される。
具体的には、データサーバS’rは、秘密鍵skS’rを端末Cから受け取り、まず、各サーバから取得した符号化ブロックの完全性を確認する。次に、データサーバS’rは、取得した正常な符号化ブロックから、自身が格納するd個の符号化ブロックF* S’r={(crj)}j∈[1,d]、及び対応するd個のタグT* S’r={(trj)}j∈[1,d]を生成する。
端末Cは、対象ファイルFを、冗長性を持つ符号化ブロックに分割し、n台のデータサーバSにd個ずつ格納する。
端末Cは、まず、ファイルFを次のように、m個のブロックvkに分割する。
ここで、拡張ブロックwkの最後のm個のベクトル要素は、k番目のみが1で、残りは0であることから、符号化ブロックcの最後のm個のベクトル要素から、エンコードの際に用いられた係数α1,…,αmが得られる。ファイルFを復元する際には、符号化ブロックの最初のz個のベクトル要素を取り出すと、次の式(1)が得られる。
ここで、Fが復元可能であるためには、m個の式(1)が解を持つ必要があり、復元に利用されるm個の符号化ブロックの係数α1,…,αmのm個の組からなる行列のランクがmであることが条件となる。端末Cが十分に大きな素数qを選び、係数をランダムに選ぶと、この行列のランクは、十分に高い確率でmになることが知られている。
データサーバSi(i∈[1,n])に問題が生じた場合、残りの正常なデータサーバSから符号化ブロックを収集し、これらを線形結合することで、新たな符号化ブロックが生成される。
準同型MACは、ベクトル及びタグ(MAC)の2組のペア(v1,t1)及び(v2,t2)が与えられたとき、任意の係数α1,α2∈Fqに対して、y=α1v1+α2v2であるベクトルyの有効なタグtが、t=α1t1+α2t2で計算できるという性質を備えている。
t=k1w+PRF(k2,k)∈Fq
ここで、PRFは、鍵空間KFから選ばれた鍵と[1,m]とから有限体Fqの元を出力する疑似ランダム関数である。
直交ベクトルは、ベクトル集合w1,…,wm(wk∈Fq z+m,k∈[1,m])が与えられたとき、任意のk∈[1,m]に対してwkkφ=0となるベクトルkφである。
次に、πM ⊥の基底ベクトルをz個(B1,…,Bz∈Fq z+m)求め、Fq上のz個の乱数ri(i∈[1,z])を用いて、次式によりkφを計算する。
端末Cは、分割部11と、第1鍵生成部12と、第2鍵生成部13と、格納部14とを備える。これらの各機能部は、制御部(例えば、CPU)が記憶部に格納されたプログラムを実行することにより実現される。
F=v1‖…‖vm,vk∈Fq z(ただし、k∈[1,m])
さらに、分割部11は、分割したブロックvkそれぞれに対して、次のようにm次元のインデックスを付加したz+m次元の拡張ブロックwkを生成する。
端末Cは、秘密鍵ペアskTPA={k2,k3}を、安全な通信路を介して検証装置Aに送り、skC={k1,k2}を自身の秘密鍵ペアとして保持する。
端末Cは、新たな秘密鍵ペアskS’r={k2,k4}を、安全な通信路を介してデータサーバS’rに送る。
具体的には、格納部14は、i∈[1,n],j∈[1,d]に対して、有限体Fqからランダムにm個の係数αijkを生成し、次のように、符号化ブロックを算出する。
タグを生成するための所定の演算は、例えば、次のように、秘密鍵k1と符号化ブロックとの内積、及び秘密鍵k2と、符号化ブロックが格納されるサーバ及びサーバ内の順位を示すインデックスi,jとを入力とした擬似ランダム関数(PRF:KF×[1,n]‖[1,d]→Fq)の和である。
検証装置Aは、第1送信部21と、第1受信部22と、第1判定部23とを備える。これらの各機能部は、制御部(例えば、CPU)が記憶部に格納されたプログラムを実行することにより実現される。
このとき、第1送信部21は、データサーバSのそれぞれに対して、このデータサーバに格納されている符号化ブロックをランダムに1又は複数(s個)選択し、チャレンジを送信する。
具体的には、第1送信部21は、整数s∈[1,d]を選択し、s組のチャレンジchall={(b1,β1),…,(bs,βs)}を生成してデータサーバSiに送信する。ここで、各u∈[1,s]に対して、buはランダムに[1,d]から重複なく選ばれ、βuはランダムに有限体Fqから選ばれる。なお、sはデータサーバS毎に、また、定期的に実行される検証処理の度に異なっていてよい。
データサーバSは、記憶部31と、応答部32とを備える。さらに、データの異常が認められたデータサーバSの代替となる新たなデータサーバS(代替サーバ)は、第2送信部33と、第2受信部34と、第2判定部35と、修復部36とを備える。これらの各機能部は、制御部(例えば、CPU)が記憶部に格納されたプログラムを実行することにより実現される。
応答部32は、検証装置A又は他のデータサーバSから受信したチャレンジに対して、乱数βの組を係数とした、符号化ブロックの線形結合及びタグの線形結合を応答する。
ここで、正常なデータサーバSの台数hは、「ceil(m/d)≦h<n」(ceil(x)は、x以上の最小の整数)の条件を満たす値が選択される。
h台の正常なデータサーバSから修復部36がd個の新たな符号化ブロックを得るまで、第2送信部33、第2受信部34及び第2判定部35による検証処理が繰り返される。なお、同一のデータサーバSに対するチャレンジの値は毎回異なるものとする。
修復部36は、検証済みの符号化ブロックを検証装置Aから取得してもよい。
trj=crjk4+PRF(k2,r‖j)
修復部36は、符号化ブロックとタグとの組み合わせ{crj,trj}(ただし、j∈[1,d])を、記憶部31に格納する。
なお、本処理に先立って、端末Cは、第1鍵生成部12により自身の秘密鍵を生成しているものとする。
ステップS2において、端末C(分割部11)は、ステップS1で分割した各ブロックにm次元のインデックスを付加してm個の拡張ブロックwを生成する。
ステップS4において、端末C(格納部14)は、ステップS3で生成した符号化ブロックそれぞれに対して、準同型のタグを生成する。
本処理は、各データサーバSi(i=1,…,n)に対して定期的に実行される。
なお、本処理に先立って、端末Cは、第2鍵生成部により検証装置Aの秘密鍵を生成し、検証装置Aへ提供しているものとする。
ステップS12において、検証装置A(第1送信部21)は、s個のインデックスbu(u=1,…,s)をランダムに[1,d]から重複なく選択する。
ステップS13において、検証装置A(第1送信部21)は、s個の乱数βuを生成する。
ステップS16において、データサーバSi(応答部32)は、ステップS14のチャレンジにより指定されたs個のタグ(bu番目)を線形結合する。
ステップS19において、検証装置A(第1判定部23)は、ステップS18で算出したタグと、ステップS17でレスポンスとして受信したタグの線形結合tiとを比較し、データサーバSiに格納されているデータの完全性を検証する。
本処理は、異常が認められたデータサーバSrに代えて設けられるデータサーバS’rにおいて、検証装置Aからの指示に応じて実行される。
なお、本処理に先立って、端末Cは、第2鍵生成部によりデータサーバS’rの秘密鍵を生成し、データサーバS’rへ提供しているものとする。
ステップS22において、データサーバS’r(第2送信部33)は、ステップS21で選択したデータサーバSiに対して、検証処理(図6)と同様のチャレンジを送信する。
ステップS23において、データサーバS’r(第2受信部34)は、データサーバSiから、検証処理(図6)と同様のレスポンスを受信する。
ステップS27において、データサーバS’r(修復部36)は、符号化ブロック及びタグの組み合わせd組を記憶部31に格納する。
また、検証システム1は、ネットワークコーディングの技術を用いて複数のデータサーバSに分散して符号化ブロックを格納し、効率的に復元可能とした。さらに、検証システム1は、準同型MACにより、チャレンジ及びレスポンスを用いたPORの手順を構築したので、データを秘匿したままの演算で処理負荷を低減しつつ、十分な検証精度を得られる。
さらに、検証システム1は、データサーバSにおいて、PORの手順により符号化ブロックを検証できるので、端末C及び検証装置Aを介さずに、データサーバS間で正常な符号化ブロックを自立的に取得できる。
このとき、データサーバSは、検証装置Aと同様に、他のデータサーバSに格納された一部の符号化ブロックをランダムに検証するので、高い精度を確保しつつ処理を効率化できる。
C 端末
S データサーバ
1 検証システム
11 分割部
12 第1鍵生成部
13 第2鍵生成部
14 格納部
21 第1送信部
22 第1受信部
23 第1判定部
31 記憶部
32 応答部
33 第2送信部
34 第2受信部
35 第2判定部
36 修復部
Claims (9)
- 端末が複数のデータサーバに格納したデータそれぞれの完全性を、検証装置により検証する検証システムであって、
前記端末は、
対象ファイルを、素数を位数として持つ有限体上のベクトル空間の要素からなる複数個のファイルブロックに分割する分割部と、
前記複数個のファイルブロックのベクトル空間と同次元の第1鍵を生成する第1鍵生成部と、
前記複数個のファイルブロックに対する直交ベクトルを算出し、前記第1鍵と前記直交ベクトルとの和を、第2鍵として生成する第2鍵生成部と、
前記複数個のファイルブロックを線形結合した符号化ブロック、及び当該符号化ブロックと前記第1鍵との内積を含む所定の演算により算出される準同型のメッセージ認証符号の組み合わせを、前記データサーバに複数格納する格納部と、を備え、
前記検証装置は、
前記データサーバに対するチャレンジとして、乱数の組を送信する第1送信部と、
前記データサーバから、前記乱数の組を係数とした、前記符号化ブロックの線形結合及び前記メッセージ認証符号の線形結合をレスポンスとして受信する第1受信部と、
前記符号化ブロックの線形結合に対して、前記第2鍵を用いた前記所定の演算により算出したメッセージ認証符号を、受信した前記メッセージ認証符号の線形結合と比較し、等しい場合に前記データサーバのデータを正常と判定し、異なる場合に前記データサーバのデータを異常と判定する第1判定部と、を備え、
前記データサーバは、
前記符号化ブロックを複数記憶する記憶部と、
前記チャレンジに対して、前記乱数の組を係数とした、前記符号化ブロックの線形結合及び前記メッセージ認証符号の線形結合を応答する応答部と、を備える検証システム。 - 前記第1送信部は、前記データサーバのそれぞれに対して、当該データサーバに格納されている前記符号化ブロックをランダムに1又は複数選択し、前記チャレンジを送信する請求項1に記載の検証システム。
- 前記第1判定部により前記データサーバのデータが異常と判定された場合に、
前記端末は、代替サーバに対して、新たな第2鍵を通知し、
前記代替サーバは、
正常と判定された前記データサーバから受信した前記符号化ブロックの線形結合を新たな符号化ブロックとし、当該符号化ブロック、及び当該符号化ブロックに対して前記新たな第2鍵を用いた前記所定の演算により算出した新たなメッセージ認証符号の組み合わせを複数格納する修復部を備える請求項1又は請求項2に記載の検証システム。 - 前記代替サーバは、
前記データサーバに対するチャレンジとして、乱数の組を送信する第2送信部と、
前記データサーバから、前記乱数の組を係数とした、前記符号化ブロックの線形結合及び前記メッセージ認証符号の線形結合をレスポンスとして受信する第2受信部と、
前記符号化ブロックの線形結合に対して、前記新たな第2鍵を用いた前記所定の演算により算出したメッセージ認証符号を、受信した前記メッセージ認証符号の線形結合と比較し、等しい場合に前記データサーバのデータを正常と判定し、異なる場合に前記データサーバのデータを異常と判定する第2判定部と、を備える請求項3に記載の検証システム。 - 前記第2送信部は、前記データサーバのそれぞれに対して、当該データサーバに格納されている前記符号化ブロックをランダムに1又は複数選択し、前記チャレンジを送信する請求項4に記載の検証システム。
- 前記所定の演算は、前記複数個のファイルブロックのベクトル空間と同次元の鍵と、前記符号化ブロックとの内積、並びに所定の鍵空間から選択された鍵と、前記符号化ブロックが格納されているサーバ及び順位を示すインデックスとを入力とした擬似ランダム関数の和である請求項1から請求項4のいずれかに記載の検証システム。
- 前記分割部は、対象ファイルを、素数qを位数として持つz次元の有限体の要素からなるm個のブロックに分割し、当該ブロックそれぞれに対して、m次元のインデックスを付加したz+m次元の拡張ブロックを、前記ファイルブロックとして生成する請求項1から請求項6のいずれかに記載の検証システム。
- 端末が複数のデータサーバに格納したデータそれぞれの完全性を、検証装置により検証する検証方法であって、
前記端末が、
対象ファイルを、素数を位数として持つ有限体上のベクトル空間の要素からなる複数個のファイルブロックに分割する分割ステップと、
前記複数個のファイルブロックのベクトル空間と同次元の第1鍵を生成する第1鍵生成ステップと、
前記複数個のファイルブロックに対する直交ベクトルを算出し、前記第1鍵と前記直交ベクトルとの和を、第2鍵として生成する第2鍵生成ステップと、
前記複数個のファイルブロックを線形結合した符号化ブロック、及び当該符号化ブロックと前記第1鍵との内積を含む所定の演算により算出される準同型のメッセージ認証符号の組み合わせを、前記データサーバに複数格納する格納ステップと、を実行し、
前記検証装置が、
前記データサーバに対するチャレンジとして、乱数の組を送信する第1送信ステップと、
前記データサーバから、前記乱数の組を係数とした、前記符号化ブロックの線形結合及び前記メッセージ認証符号の線形結合をレスポンスとして受信する第1受信ステップと、
前記符号化ブロックの線形結合に対して、前記第2鍵を用いた前記所定の演算により算出したメッセージ認証符号を、受信した前記メッセージ認証符号の線形結合と比較し、等しい場合に前記データサーバのデータを正常と判定し、異なる場合に前記データサーバのデータを異常と判定する第1判定ステップと、を実行し、
前記データサーバが、
前記符号化ブロックを複数記憶する記憶ステップと、
前記チャレンジに対して、前記乱数の組を係数とした、前記符号化ブロックの線形結合及び前記メッセージ認証符号の線形結合を応答する応答ステップと、を実行する検証方法。 - コンピュータを、請求項1から請求項7のいずれかに記載の検証システムの各部として機能させるための検証プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016234925A JP6632959B2 (ja) | 2016-12-02 | 2016-12-02 | 検証システム、検証方法及び検証プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016234925A JP6632959B2 (ja) | 2016-12-02 | 2016-12-02 | 検証システム、検証方法及び検証プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018093363A true JP2018093363A (ja) | 2018-06-14 |
JP6632959B2 JP6632959B2 (ja) | 2020-01-22 |
Family
ID=62566446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016234925A Active JP6632959B2 (ja) | 2016-12-02 | 2016-12-02 | 検証システム、検証方法及び検証プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6632959B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985102A (zh) * | 2018-06-22 | 2018-12-11 | 中国电子科技集团公司电子科学研究院 | 数据完整性验证方法、装置、系统及存储介质 |
CN111814137A (zh) * | 2020-06-29 | 2020-10-23 | 深圳市海邻科信息技术有限公司 | 终端的运维方法、运维系统及存储介质 |
WO2023112244A1 (ja) * | 2021-12-16 | 2023-06-22 | 日本電信電話株式会社 | 検出システム、検出方法及び検出プログラム |
US11750398B2 (en) | 2018-09-27 | 2023-09-05 | Nec Corporation | MAC tag list generation apparatus, MAC tag list verification apparatus, aggregate MAC verification system and method |
US11824993B2 (en) | 2019-04-18 | 2023-11-21 | Nec Corporation | MAC tag list generation apparatus, MAC tag list verification apparatus, method, and program |
-
2016
- 2016-12-02 JP JP2016234925A patent/JP6632959B2/ja active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985102A (zh) * | 2018-06-22 | 2018-12-11 | 中国电子科技集团公司电子科学研究院 | 数据完整性验证方法、装置、系统及存储介质 |
US11750398B2 (en) | 2018-09-27 | 2023-09-05 | Nec Corporation | MAC tag list generation apparatus, MAC tag list verification apparatus, aggregate MAC verification system and method |
US11824993B2 (en) | 2019-04-18 | 2023-11-21 | Nec Corporation | MAC tag list generation apparatus, MAC tag list verification apparatus, method, and program |
CN111814137A (zh) * | 2020-06-29 | 2020-10-23 | 深圳市海邻科信息技术有限公司 | 终端的运维方法、运维系统及存储介质 |
CN111814137B (zh) * | 2020-06-29 | 2024-03-22 | 深圳市海邻科信息技术有限公司 | 终端的运维方法、运维系统及存储介质 |
WO2023112244A1 (ja) * | 2021-12-16 | 2023-06-22 | 日本電信電話株式会社 | 検出システム、検出方法及び検出プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP6632959B2 (ja) | 2020-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Secure and constant cost public cloud storage auditing with deduplication | |
Yuan et al. | Proofs of retrievability with public verifiability and constant communication cost in cloud | |
US10360392B2 (en) | Generating shares of secret data | |
JP6632959B2 (ja) | 検証システム、検証方法及び検証プログラム | |
Yang et al. | Data storage auditing service in cloud computing: challenges, methods and opportunities | |
JP5885840B2 (ja) | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム | |
JP5860556B1 (ja) | 不整合検知方法、不整合検知システム、不整合検知装置、およびプログラム | |
Yang et al. | Provable ownership of files in deduplication cloud storage | |
US20100217986A1 (en) | Authenticated secret sharing | |
US10873631B2 (en) | Method for storing data in a cloud and network for carrying out the method | |
Fu et al. | DIPOR: An IDA-based dynamic proof of retrievability scheme for cloud storage systems | |
JP5860557B1 (ja) | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム | |
JP5944841B2 (ja) | 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム | |
US20150023498A1 (en) | Byzantine fault tolerance and threshold coin tossing | |
Chen et al. | Message‐locked proof of ownership and retrievability with remote repairing in cloud | |
Balmany et al. | Dynamic proof of retrievability based on public auditing for coded secure cloud storage | |
He et al. | Public auditing for encrypted data with client-side deduplication in cloud storage | |
US11329808B2 (en) | Secure computation device, secure computation authentication system, secure computation method, and program | |
Fakhar et al. | Management of symmetric cryptographic keys in cloud based environment | |
CN115499150A (zh) | 一种边缘数据完整性审计方法及系统 | |
Ganorkar et al. | An information security scheme for cloud based environment using 3DES encryption algorithm | |
KR20150002821A (ko) | 복수의 저장 서비스 제공자들에 분산 및 저장된 파일의 기밀성을 보호하기 위한 방법 | |
Omote et al. | DD-POR: Dynamic operations and direct repair in network coding-based proof of retrievability | |
Omote et al. | D2-POR: direct repair and dynamic operations in network coding-based proof of retrievability | |
Liu et al. | Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191120 |
|
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: 20191203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6632959 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |