JP2010166549A - フィンガープリントデータ生成方法方法、フィンガープリントデータ生成装置 - Google Patents

フィンガープリントデータ生成方法方法、フィンガープリントデータ生成装置 Download PDF

Info

Publication number
JP2010166549A
JP2010166549A JP2009219088A JP2009219088A JP2010166549A JP 2010166549 A JP2010166549 A JP 2010166549A JP 2009219088 A JP2009219088 A JP 2009219088A JP 2009219088 A JP2009219088 A JP 2009219088A JP 2010166549 A JP2010166549 A JP 2010166549A
Authority
JP
Japan
Prior art keywords
data
fingerprint
block
fingerprint data
data generation
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.)
Pending
Application number
JP2009219088A
Other languages
English (en)
Inventor
Ke Zeng
カ ゼン
Hao Lei
ハゥ レー
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.)
NEC China Co Ltd
Original Assignee
NEC China Co Ltd
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 NEC China Co Ltd filed Critical NEC China Co Ltd
Publication of JP2010166549A publication Critical patent/JP2010166549A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】増分的証明可能データ保全性(IPDI)検証方法を提供する。
【解決手段】最初にデータのフィンガープリントがクライアントで生成され、そのフィンガープリントがデータと共にアーカイブに送信され、続いて、必要が生じたときにクライアントがデータの保全性を判定するための「チャレンジデータ」をアーカイブに送信し、アーカイブが受信したフィンガープリントを使用してデータの保全性を証明し、最後に、クライアントが「チャレンジデータ」への応答として返されたアーカイブからの出力に基づいてデータの保全性を検証する。さらに、IPDIスキームでは、すでにフィンガープリントが付加され外注されたデータファイルに増分データを安全に追加することができる。
【選択図】図2

Description

本発明は、ストレージネットワークのセキュリティ分野に関し、特に、増分的証明可能データ保全性(IPDI)検証方法、装置、およびシステムに関する。
インターネットの世界では、これまでローカルストレージで行っていたデータの保管を、世界規模の固定ストレージサービスに外注する動きが急速に高まっている。Amazon Simple Storage Service(Amazon S3)(非特許文献1:Amazon Simple Storage Service(Amazon S3),http://aws.amazon.com/s3)は、インターネット上のこうしたストレージシステムの1つである。Amazon S3は、データの格納と取り出しに利用できるウェブサービスインターフェースを提供する。Amazon S3は世界規模でビジネスクラスのサービスでありながら、その料金は非常に安価であり、利用料は記憶容量1GB当たり月額0.15米ドル、全データの転送入力料は1GB当たり0.10米ドル、データの転送出力料は最初の10 TBまで1GB当たり月額0.18米ドルである。無料の世界規模ストレージサービスを希望する企業向けにも、いくつかのサービスが提供されている。MediaMax(非特許文献2:MediaMax Free Online Storage,http://www.mediamax.com)が25 GBの無料オンラインストレージを提供しており、Gmail File System(非特許文献3:Gmail Drive Shell Extension,http://www.viksoe.dk/code/gmail.htm)プロジェクトではフリーGmailアカウントが1つの連続した無料ネットワークストレージ領域に変換された。
これらの公開された記憶領域サービスを利用すれば、クライアントはローカルな記憶サブシステムを持たずに、インターネット上でいつでも、どこからでもデータを取り出すことが可能になる。この大きな魅力によって産業界での利用が進み、今ではストレージのアウトソーシングが必然的な流れとなっている。
IETF Network WGはこの動向を受けて標準化に取り組み、その結果として、RFC 4810 “Long−Term Archive Service Requirement”(長期アーカイブサービス要件)が発行された(非特許文献4:RFC 4810,Long−Term Archive Service Requirement、IETF Network WG.http://www.ietf.org/rfc/rfc4810.txt)。RFC 4810は、長期間のデータ保管を目的とする長期アーカイブサービスに関する要件を定めている。長期アーカイブサービスの主な目的は、データの存在、保全性、および発信元の否認防止をサポートすることである。RFC 4810で述べられているように、長期アーカイブサービスは、データを受け入れた時点からデータ保管期間の終了時点まで、データ保全性の実証に使用できる証拠を提供できなければならない。
クライアントストレージのデータの保管をアーカイブサービスに委託する場合は、データの送信とデータの取り込みという2つのステップが必要となる。データ保全性の検証を目的とする単純な解決策では、データはアーカイブから取り出される。しかし、リモートアーカイブからクライアント検証器までを高帯域で接続することは現時点では実用的ではなく、近い将来にも同様である。特にモバイルクライアントでは、快適な高帯域接続を実現することは困難である。さらに、RFC 4810にもあるように、サードパーティ検証器がユーザデータの保全性を検査するケースもある。この場合は、ユーザデータのプライバシ侵害を防止するために、サードパーティ検証器がユーザデータにアクセスできないようにする必要がある。従来技術では、アーカイブから取り出さずにデータの保全性を検証するための方策として、図1に示す3つのステップから成る動作モデルが採用されている。説明の一般性を損なわず、かつ表記上の煩雑化を避けるため、以下では、クライアント(すなわち、データ所有者)がユーザデータ保全性の検証器であるケースを例にとって説明する。しかし、前述したように、実際の検証器はデータ所有者以外のサードパーティのこともある。
ステップ0において、クライアントによってデータのデジタルフィンガープリントが生成され、データと共にアーカイブに送信される。アーカイブには、データそのものに加えて、データのフィンガープリントも格納する必要がある。ステップ1において、クライアントがアーカイブに、データ保全性に関するチャレンジデータを送信する。アーカイブは、データのコンテンツ、データのフィンガープリント、クライアントのチャレンジデータのすべてを利用して、データ保全性証明を計算する。計算結果はクライアントに送り返され、ステップ2の検証に利用される。ステップ1とステップ2は、データの保管期間が終了するまで複数回にわたって反復することができる。
上記の動作モデルを使用する場合に、証明可能データ保全性問題の技術的解決策において考慮すべき主な要因を以下に示す。
(I) クライアントがデータのフィンガープリントを生成する際の所要時間
(II) データのフィンガープリントが消費するアーカイブ記憶領域のサイズ
(III) 検証器がアーカイブに送信するチャレンジデータのサイズ
(IV) アーカイブがデータ保全性証明を計算する際の所要時間
(V) アーカイブが検証器に送信するデータ保全性証明のサイズ
(VI) 検証器がデータ保全性証明を検査する際の所要時間
(VII) データの増分的変化に対処する能力
データ保全性問題に一見対処しているように見える解決策はある。この解決策では、データ所有者がまずデータを複数の断片に分割し、各断片について、メッセージ認証コード(MAC)を事前計算する。そして、検証器(データ所有者かサードパーティかを問わない)がデータ保全性証明を必要とするときには、アーカイブサービスから無作為に選択されたいくつかの断片を取り出し、各断片のMACを再計算して比較する。
Deswarte et al.(非特許文献5:Y.Deswarte,J.J.Quisquater,A.Saidane,Remote integrity checking(リモート保全性検査),In Proc.of Conference on Integrity and Internal control in Information systems(IICIS'03),2003)とFilho et al.(非特許文献6:D.L.G.Filho、P.S.L.M.Baretto.Demonstrating Data Possession and Uncheatable Data Transfer.http://eprint.iacr.org/2006/150.pdf)では、RSAベースのハッシュ関数を使用して、アーカイブが格納するファイルの正確性を検証する方法が提案されている。
ごく最近では、Ateniese et al.(非特許文献7:G.Ateniese,R.Burns,R.Curtmola,J.Herring,L.Kissner,Z.Peterson,D.Song,Provable Data Possession at Untrusted Stores(信頼されない記憶装置における証明可能データの保有).http://eprint.iacr.org/2007/202.pdf)において、RSAベースの証明可能データ保有スキームとして、S−PDPスキーム(Sは「サンプリング」の略)が提案されている。この提案における「サンプリング」とは、クライアントがデータの一部を無作為に選択し、アーカイブに対して、この無作為に選択されたデータが健全な状態にある(すなわち、選択されたデータのデータ保全性が保たれている)という証拠を示すよう要求することである。S−PDPスキームは、ファイル全体のべき乗を必要とせず、通信の複雑性が一定であるため、従来技術の中で最も効率的である。
単純な解決策の短所は、通信の複雑性がクエリー対象のデータサイズに線形に比例することである。さらに、サードパーティ検証器の場合には、データ所有者のプライバシ侵害防止の観点から、ユーザデータを検証器に送ることは禁じられる。アーカイブサービスからデータを取り出さないようにするための方策としては、複数の秘密鍵を選択し、データに対して複数キーのハッシュMACを事前に計算することで、単純な解決策を改良するという方法がある。これにより、検証器は秘密鍵をアーカイブサービスに都度開示し、新たなキーを付加したハッシュMACを要求して比較することが可能になる。しかし、この方法では、各データを検証できる回数は、事前に設定された秘密鍵の個数によって制限される。そのため、キーを使い果たした場合は、新たなMACを計算するために、アーカイブサービスからデータを取り出すことが不可避となる。
また、非特許文献5および6の提案には、アーカイブがファイル全体をべき乗しなければならないという短所がある。参考として2048ビットのRSA係数を例にとると、1つの指数を完全にべき乗するには、Intel Core Duo 2.16 GHzプロセッサ上で61.325ミリ秒を要する。そのため、べき乗の所要時間は1メガバイト当たり251.3秒となり、64MBのファイルの保全性をテストする場合には、アーカイブがクライアントにデータ保全性証明を送信できるまでに16083.8秒もかかってしまうことになる。
S−PDPスキームは、その設計目標(すなわち、サンプリング)がデータ所有者には無意味な場合があるという問題を抱える。S−PDPスキームは、サンプリングによって、高い検出確率において遭遇されるファイルブロックの破壊の問題に対処する。例えば、非特許文献7では、ファイルブロックの破壊が1%の場合に99%の検出確率を達成する方法が説明されている。しかし、1ビットのエラーも許容できないファイルタイプは多い。例えば、符号復号器の構成パラメータが格納されるメディアファイルの先頭部分が失われると、処理が困難になる。また、暗号化されたファイルに埋め込まれた(公開鍵で暗号化された)対称暗号キーが壊れると、誰も普通テキストを回復できない無意味な暗号文となってしまう。概してデータ所有者は100%のデータ安全性を要求し、どんな理由があろうとも妥協を許容しない。S−PDPスキームにはもう一つ、サードパーティ検証(いわゆる、「公的検証可能性」)システムで採用するには、あまりにも効率が低すぎるという問題もある。S−PDPスキームを使用した公的検証を可能とするためには、1つのファイルブロックをRSA公開鍵eよりも小さくする必要がある。例えば、2048ビットのRSA係数の場合、公開鍵eは1024ビット程度でしかない。そのため、公的検証が可能なS−PDPスキームによる解決策では、1つのファイルを複数の1024ビットファイルブロックに論理的に分割しなければならない。その結果生じるファイルブロックは膨大な数に上り、その一つひとつにタグを生成する必要がある。これにより、タグのサイズはファイルそのものの2倍となり、クライアントがファイルにタグ付けするための費用を考慮すると、とうてい実用に資するものとはいえない。
本願の出願人に付与された中国の先行出願(特許文献1(中国特許第200810165864.3号))では、ペアリングベースの証明可能データ保全性(PDI)スキームが提案されている。先行出願におけるこのPDIスキームは上記の要件(I)〜(VI)を十分に満たしているが、要件(VII)は満たしていない。すなわち、このPDIスキームは外注されたデータへの増分的変化に対応することができない。ここでいう増分的変化とは、データファイルに新たなデータセグメントが追加されることを意味する。このPDIスキームでは、増分的変化を許容することはセキュリティ違反となる。つまり、一旦データファイルが前処理され(このPDIスキームの場合は、フィンガープリントの付加)、外注され(すなわち、データの前処理に使用された鍵がサードパーティ検証器に開示される)た後に、このPDIスキームがファイルへの新たなデータセグメントの追加を受け入れると、十分なセキュリティが確保できなくなるのである。
上記7つの要件(I)〜(VII)のすべてを満たすことのできる関連技術は存在しない。
中国特許第200810165864.3号
Amazon Simple Storage Service(Amazon S3),http://aws.amazon.com/s3 MediaMax Free Online Storage,http://www.mediamax.com Gmail Drive Shell Extension,http://www.viksoe.dk/code/gmail.htm RFC 4810,Long−Term Archive Service Requirement、IETF Network WG.http://www.ietf.org/rfc/rfc4810.txt Y.Deswarte,J.J.Quisquater,A.Saidane,Remote integrity checking(リモート保全性検査),In Proc.of Conference on Integrity and Internal control in Information systems(IICIS'03),2003 D.L.G.Filho、P.S.L.M.Baretto.Demonstrating Data Possession and Uncheatable Data Transfer.http://eprint.iacr.org/2006/150.pdf G.Ateniese,R.Burns,R.Curtmola,J.Herring,L.Kissner,Z.Peterson,D.Song,Provable Data Possession at Untrusted Stores(信頼されない記憶装置における証明可能データの保有).http://eprint.iacr.org/2007/202.pdf
上述した関連技術における短所を考慮して、本発明は、特許文献1(中国特許第200810165864.3号(ここにその開示全体を援用する)に開示されたPDIスキームをベースとし、関連技術(PDIスキームに限定されない)が抱える増分的変化の問題を克服する、増分的証明可能データ保全性(IPDI)検証方法を提案する。
先行出願で提案されたPDIスキームによれば、フィンガープリントデータ生成方法方法であって、データをN個のブロックM(i=1,2,...,N)に分割するステップと、n個のブロックの各々を1つのスーパーブロックに結合してn=|N/n|個のスーパーブロックを取得するステップと、有限循環グループG=<g>からn個の要素h(j=1,2,...,n)を選択するステップと、k番目(k=1,2,...,n)のスーパーブロックのロケータWと、選択されたn個の要素hと、第1の秘密鍵xとを使用して、k番目のスーパーブロックのフィンガープリントTを生成するステップとを備えることを特徴とする、フィンガープリントデータ生成方法方法が提供される。
新たに提案されるIPDIスキームは、主に「仮想ファイルブロック(VFB)」と呼ばれる概念を導入した点で、PDIスキームと異なる。IPDIスキームでは、VFBは「真」のファイルブロックとみなされ、n=|N/n|個のスーパーブロックのうちの各スーパーブロックは、n個のデータブロックと1個の仮想ファイルブロック(VFB)とで構成される。
したがって、新たに提案されるIPDIスキームによれば、フィンガープリントデータ生成方法方法であって、データをN個のブロックM(i=1,2,...,N)に分割するステップと、n個のブロックの各々と1個の仮想ファイルブロックM(k−1)・nB+'+0'とを1つのスーパーブロックに結合してn=|N/n|個のスーパーブロックを取得するステップと、有限循環グループG=<g>からn+1個の要素h(j=1,2,...,n)を選択するステップと、k番目(k=1,2,...,n)のスーパーブロックのロケータWと、選択されたn+1個の要素hと、第1の秘密鍵xとを使用して、k番目のスーパーブロックのフィンガープリントTを生成するステップとを備えることを特徴とする、フィンガープリントデータ生成方法方法が提供される。
+1個の要素hは、第1の秘密鍵xに対応する公開鍵の一部であるのが望ましい。
+1個の要素hは、h=g rj(rは秘密鍵)を満足するのが望ましい。
k番目のスーパーブロックのフィンガープリントTは、以下の式に従って生成されるのが望ましい。
Figure 2010166549

ここで、zはデータの識別子である。
k番目のスーパーブロックのロケータWは、少なくともkを入力とするハッシュ値であるのがさらに望ましい。
k番目のスーパーブロックのフィンガープリントTは、以下の式に従って生成されるのが望ましい。
Figure 2010166549

k番目のスーパーブロックのロケータWは、少なくともkと、データの識別子zとを入力とするハッシュ値であるのがさらに望ましい。
本発明の第2の態様によれば、フィンガープリントデータ生成装置であって、生成される各スーパーブロックにつき1個の仮想ファイルブロックM(k−1)・nB+'+0'を生成する仮想ファイルブロック生成手段と、データをN個のブロックM(i=1,2,...,N)に分割し、n個のブロックの各々と仮想ファイルブロック生成手段からの仮想ファイルブロックM(k−1)・nB+'+0'とを1つのスーパーブロックに結合してn=|N/n|スーパーブロックを取得するスーパーブロック生成手段と、有限循環グループG=<g>からn+1個の要素h(j=1,2,...,n)を選択し、k番目(k=1,2,...,n)のスーパーブロックのロケータWと、選択されたn+1個の要素hと、第1の秘密鍵xとを使用して、k番目のスーパーブロックのフィンガープリントTを生成するフィンガープリントデータ生成手段とを備えることを特徴とするフィンガープリントデータ生成装置が提供される。
+1個の要素hは、第1の秘密鍵xに対応する公開鍵の一部であるのが望ましい。
+1個の要素hは、h=g rj(rは秘密鍵)を満足するのが望ましい。
先行出願で提案されたPDIスキームにより、圧倒的に高い確率(例えば、1−2−64)でデータ保全性を確保することができる。従来技術は(1)データ保全性がビット単位で保証される、(2)クライアントがアーカイブに送信するチャレンジデータのサイズが一定である、(3)アーカイブがクライアントに送信するデータ保全性証明のサイズが一定である、という効果を実現するのに対し、先願のPDIスキームは以下の4つの主要な利点を有する。
(I) クライアントがデータのフィンガープリントを生成する速度が最速である。
(II) アーカイブがクライアントのチャレンジデータへの応答を生成する速度が最速である。
(III) クライアントがアーカイブの応答を検証する速度が最速である。
(IV) 検証器はサードパーティ検証器であってもよく、上記3つの利点(I)〜(III)のすべてが同様に実現される。しかも、フィンガープリントのサイズが最小である。
以下では、具体例として64MBのデータファイルについて説明する。セキュリティ強度は2048ビットのRSA署名相当に設定され、I=64である。クライアントはIntel Core Duo 2.16GHzプロセッサ、アーカイブはIntel Qx6700 Core2 Quad 2.66 GHzプロセッサとすると、PDIスキームにおいては、クライアントがファイルへのフィンガープリントの付加に要する時間は12.7秒間、アーカイブが変換済みフィンガープリントと変換済みスーパーブロックの知識証明の生成に要する時間は1.4秒間、クライアントが知識証明の検証に要する時間は約0.4秒間である。これらの時間値は、従来技術のRSAベーススキームが達成可能な理論的下限よりもさらに低い。
新たに提案されるIPDIスキームは、すでにフィンガープリントが付加され外注されたデータファイルに増分データを安全に追加することを可能にするという利点を有する。IPDIスキームは、記憶容量の消費量を増大させずに、全7つの要件(I)〜(VII)を満たすことができる。
本発明の上記および他の目的、特徴、利点は、本発明の非限定的な実施例に関する以下の説明と添付図面とを参照することにより、さらに明らかになるであろう。
データ保全性証明における動作モデルを示す。 本発明によるデータ保全性証明方法(アトミック証明手順)とデータ保全性検証方法(アトミック検証手順)のフローチャートを示す。 先願で提案されたPDIスキームにおけるデータの論理ビューである。 新たに提案されるIPDIスキームにおけるデータの論理ビューである。 データ保全性証明における他の動作モデルを示す。 データ保全性証明におけるさらに他の動作モデルを示す。 本発明を実装したクライアント1400のブロック図を示す。 本発明を実装したアーカイブ1500のブロック図を示す。 本発明を実装した検証器1600のブロック図を示す。
次に、図面を参照しながら本発明について説明する。以下の説明では、説明の便宜上いくつかの具体的な実施例を使用しているが、これらは本発明を限定するものではなく、例示にすぎない。また、本発明の理解が多少曖昧になる可能性はあるが、従来技術の構成・構造の説明は省略する。

(原理の説明)
本明細書において提示する増分的証明可能データ保全性(IPDI)スキームは、従来技術が抱えるすべての問題を克服するのみならず、どの従来技術にも勝る性能を示す。
IPDIスキームは、基本的には、図1に示す動作モデルに従った以下の3つのステップで構成される。
ステップ0':
IPDIスキームでは、有限循環グループG=<g>が必要とされるが、このGは楕円曲線上の有限循環グループであるのが望ましい。本発明の開示では、その全体を通して、楕円曲線に関連して頻用される加算表記ではなく、従来の乗法群表記を使用する。クライアントは、秘密鍵xとそれに対応する公開鍵とを有する。
クライアントは、データファイルをN個のブロックM(i=1,2,...,N)に分割する。n個の各ブロックと1個の仮想ファイルブロックM(k−1)・nB+'+0'が1つのスーパーブロックに結合される。したがって、データはn=|N/n|個のスーパーブロックに分割される。データファイルの長さがn個のスーパーブロックに必要な長さに満たない場合は、データファイルはゼロを使用して論理的に埋められる。ここでは、論理的には、スーパーブロック内において仮想ファイルブロックはn個のブロックの前に配置される。しかし、仮想ファイルブロックはスーパーブロック内においてn個のブロックの後に配置することも、あるいはスーパーブロック内の他の位置を指定して配置することもできる。ここでは、下付文字「+0」は、スーパーブロック内の最初の真のファイルブロックの直前のブロックを表すために使用されている。
クライアントは、各データファイルに関して、Gのn+1個の要素h(i=+0,1,2,...,n)を作成する。好適なケースでは、クライアントは、h=g riとなるようにrを選択し、rを秘匿しておく。要素hは、クライアントの公開鍵の一部とし、データファイルから独立させるのがさらに望ましい。
クライアントは自身の秘密鍵と上記n+1個の要素hを利用して、すべてのスーパーブロックのフィンガープリントを生成する。例えば、i番目のスーパーブロックのフィンガープリントは、以下のような形式をとる。
Figure 2010166549

ここで、ロケータWは、少なくともiを入力とするハッシュ値である。また、データファイルのファイル名やバージョン番号などを入力として追加することもできる。zは、データファイルに対して選択された固有な識別子である。例えば、あるデータファイル集合には識別子z、別のデータファイル集合には別の識別子zというように選択する。あるいは、フィンガープリントを以下の式で計算することもできる。
Figure 2010166549

ここで、ロケータWはiとzとを入力とする。好適なケースでは、クライアントは、rの値と、h=g riであるという知識を有する。したがって、
Figure 2010166549


Figure 2010166549

に置換することにより、クライアントはrの知識を利用してフィンガープリント付加処理を迅速化することができる。
ステップ0'の結果、クライアントは、n個のスーパーブロックに対してn個のフィンガープリントを取得する。クライアントは、データファイルとn個の要素hと共に、すべてのフィンガープリントをアーカイブに送信する。n個の要素hをクライアントの公開鍵の一部とする好適なケースでは、アーカイブはこれらの要素を公開鍵ディレクトリなどから事前に取得することもできる。その場合は、これらの要素をデータファイルと共に送信する必要はない。
ステップ1':
クライアントは、データの保全性を判定するための「チャレンジデータ」をアーカイブに送信する。
アーカイブは、クライアントから受信したチャレンジデータに基づいて、アトミック証明手順を数回(例:ψ回)実行する必要がある。
アーカイブは、各アトミック証明手順において、まずΦ=2φ個のボックスを構築し、論理的かつ無作為にn個のフィンガープリントをこれらのボックスに割り当てる。個数Fと無作為性は、クライアントから受信した「チャレンジデータ」によって決まる。1つのフィンガープリントの配置先は、必ず1つのボックスに限定しなければならない。1つのフィンガープリントを1つのスーパーブロックに対応させることを念頭に全n個のフィンガープリントをボックスに配置すると、その結果として、各ボックスには1つの「充てん済みスーパーブロック」と、そのボックスに割り当てられたフィンガープリントに基づいて生成された「充てん済みスーパーブロック」の「充てん済みフィンガープリント」とが存在することになる。例えば、λ番目のボックスに、η番目およびω番目のスーパーブロックに関連する2つのフィンガープリントのみが配置されるケースであれば、このボックスの「充てん済みスーパーブロック」はMλj=Mη*nB+j+Mω*nB+j,(j=+0,1,2,...,n)を含み、「充てん済みスーパーブロック」の「充てん済みフィンガープリント」はTλ=Tη・Tωとなる。
次に、アーカイブは、すべてのボックスの「充てん済みスーパーブロック」と「充てん済みフィンガープリント」に別の無作為性を適用することにより、1つの「変換済みスーパーブロック」と、その「変換済みスーパーブロック」の1つの「変換済みフィンガープリント」を生成する。この無作為性もまた、クライアントから受信した「チャレンジデータ」によって決定される。上記の例を続けると、「変換済みスーパーブロック」には
Figure 2010166549

(j=+0,1,2,...,n)が含まれ、「充てん済みスーパーブロック」の「充てん済みフィンガープリント」は以下のようになる。
Figure 2010166549
ここで、aλはクライアントの「チャレンジデータ」によって決定される乱数である。
最後に、アーカイブは、「変換済みスーパーブロックの知識証明」を生成する。これには「変換済みスーパーブロック」を直接使用することもできる。あるいは、標準的なゼロ知識証明技術(対話または非対話方式)による「変換済みスーパーブロック」のコンテンツの知識を使用してもよい。また、クライアントの「チャレンジデータ」がH=h (I=+0,1,2,...,n)を含む場合に、クライアントがチャレンジデータ毎に異なるvを選択し、vを秘匿しておくことも可能である。好適なケースでは、Hはクライアントの公開鍵、vはクライアントの秘密鍵の一部である。アーカイブは、Hを利用して、「変換済みスーパーブロックの知識証明」を以下の様に計算する。
Figure 2010166549

アーカイブは、「変換済みフィンガープリント」Tと「変換済みスーパーブロックの知識証明」Hとを、アトミック証明手順の出力としてクライアントに送信する必要がある。
アーカイブは、アトミック証明手順を全部でψ回反復する必要がある。ボックス数を決定する値としては、φ=|l/ψ|+1を選択することができる。ここで、lはセキュリティレベルを決定する値であり、クライアントによって選択される。乱数aλのビット長としては、φを選択する。アトミック手順をψ回反復すると、PDIスキームのセキュリティレベルは(n/ψ)・2−lとなる。これは、1つ以上のブロックが破壊されている場合に、アーカイブが検証器に正しい結果を返す確率は、最大(n/ψ)・2−lであることを意味する。
上記の「個数Φと無作為性は、クライアントか受信したチャレンジデータによって決定される」と「aλは、クライアントのチャレンジデータによって決定される乱数である」の部分については、代替の実施例がある。例えば、φ=nを選択し、n個のフィンガープリントをn個のボックスに均等に配置し(すなわち、1つのボックスに必ず1つのフィンガープリントが含まれるようにする)、aλのビット長としてlを選択したとすると、この場合には、ψ=1を選択すると、n・2−lのセキュリティレベルが実現される。
ステップ2':
クライアントは、アーカイブから、全ψ回のアトミック証明手順の出力を受信する。
クライアントは、1回のアトミック証明手順から得られた「変換済みスーパーブロック」の「変換済みフィンガープリント」と「変換済みスーパーブロックの知識証明」の各々を対象に、アトミック検証手順を実行する。
クライアントは、各アトミック検証手順において、まずΦ個のボックスを構築し、論理的かつ無作為にロケータWをこれらのボックスに割り当てる。無作為性はクライアントが選択した「チャレンジデータ」によって決まるので、ここで使用される無作為性は、アーカイブがフィンガープリントを割り当てる際に使用した無作為性と同一である。1つのロケータは、必ず1つのボックスに配置しなければならない。全n個のロケータがボックスに配置された後、各ボックス内には、ボックスに割り当てられたロケータに基づいて生成された「充てん済みロケータ」が存在する。例えば、λ番目のボックスに2つのロケータWηおよびWωのみが配置されるケースであれば、このボックスの「充てん済みロケータ」はWλ=Wη+Wωとなる。
次に、クライアントは、別の無作為性をすべてのボックスの「充てん済みロケータ」に適用することにより、1つの「変換済みロケータ」を生成する。無作為性はクライアントが選択した「チャレンジデータ」によって決まるので、ここで使用される無作為性は、アーカイブが「変換済みフィンガープリント」を計算する際に使用した無作為性と同一である。「変換済みロケータ」は以下の式で表される。
Figure 2010166549

ここで、aλはクライアントの「チャレンジデータ」によって決定される乱数である。
最後に、アーカイブが「変換済みスーパーブロックの知識証明」を直接「変換済みスーパーブロック」として生成する場合には、クライアントは「検証対象の変換済みスーパーブロックの知識証明」をH'=(Tx+zM/W)として計算し、以下と比較する。
Figure 2010166549

アトミック検証手順は、一致した場合にのみ、「成功」を出力する。あるいは、クライアントは「検証対象の変換済みスーパーブロックの知識証明」をH'=(Tx+zM/W)θとして計算し、アーカイブから受信した値Hと比較することもできる。アトミック検証手順は、H=H'の場合にのみ、「成功」を出力する。また、フィンガープリントが以下の様に計算される場合には、「検証対象の変換済みスーパーブロックの知識証明」は(T1/x/W)θとして計算される。
Figure 2010166549

クライアントは、アトミック検証手順が「成功」を出力した場合にのみ、アーカイブ側でデータ保全性が保たれていると判定する。アーカイブ側で1つ以上のブロックが破壊されているときにクライアントが誤判定する確率は、最大で2−lである。

(詳細な説明)
以下、本発明についてさらに詳細に説明する。
本発明の開示では、楕円曲線に関連して頻用される加算表記ではなく、従来の乗法群表記を使用する。
=<g>とG=<g>とを加群g=<g>を伴う2つの有限循環グループとして、|G|=|G|=|g|=pとなるとする。ここでpは任意の大きな素数である。双線形マップe:G×G→gは、以下の特性を有する関数である。
■ 双線形:すべてのh∈Gにおいてh∈Gであり、すべてのa,b∈Zpにおいてe(h ,h )=e(h,habである。
■ 非縮退:∃h∈G、∃h∈G2、よってe(h,h)≠I(Iはgの本人情報)である。
■ 計算可能:cを計算するための効率的なアルゴリズムが存在する。
入力セキュリティパラメータ1に基づいて上記の双線形マップの設定を出力し、それを(p,G,G,g,g,g,e)←Setup(1)として記述するセットアップアルゴリズムSetup(.)が存在すると仮定する。
、G、およびgは同一の素数位数pを有するので、双線形の特性と非縮退の特性からe(g,g)=gであることは容易に理解できる。.
(p,G,G,g,g,g,e)←Setup(1)とし、6つの疑似ランダム関数prf:{0,1}*→Zp,prf:{0,1}*→G、prf(φ):{0,1}*→Z2p、prfVFB:{0,1}*→Zp、prf(φ):{0,1}*→Z2p、およびprf:G→{0,1}160をシステムパラメータとする。
クライアントによるデータへのフィンガープリント付加
クライアントは、秘密鍵(x,v)←Zpと公開鍵Y=g ∈Gを有する。クライアントは、認証局からのYの証明書を有するのが望ましい。あるいは、クライアントの秘密鍵vを、例えばv=prf(xは「第2の秘密鍵」)として計算することもできる。
さらに、クライアントは、(h=g prf1(I,x),H=h θ)∈G (i=+0,1,2,...,n)を計算して自身の公開鍵とする。
データMを、各ビット長がl(l<logpが必須)のN個のブロックM(I=1,2,...,N)に分割する。Mは、修飾ファイル名としてFNのように表わす。
図3に、PDIスキームにおいて、データMを論理的に分割してn個のスーパーブロックにする方法を示す。スーパーブロック数は、n=|N/n|で表す。データMの長さがN・lまたはn・(n・l)に満たない場合は、ゼロを使用して論理的に埋められる。
本発明のIPDIスキームによれば、仮想ファイルブロックM(i−1)・nB+'+0'は、i番目(i=1,2,...,n)のスーパーブロックのn個の真のファイルブロックM(i−1)・nB+1,…,MinBの前に付加される。真のファイルブロックの長さはlビットであるのに対し、仮想ファイルブロックM(i−1)・nB+'+0'の長さはpビットである。仮想ファイルブロックM(i−1)・nB+'+0'は、クライアントによって以下の式で計算される。
(i−1)・nB+'+0'=prfVFB(I,z,FN)∈Zp.
図3aに第1のスーパーブロックを示す。ここで、M+0は仮想ファイルブロックであり、下付文字「+0」は第1の真のファイルブロックMの直前のブロックを表すために使用されている。これは、他のスーパーブロックにおいても同様である。
あるいは、prfVFB:{0,1}*→Z(ここで、Z⊆Zp)を選択することにより、仮想ファイルブロックの長さをpビットよりも短くすることもできる。
クライアントは、以下を実行してデータにフィンガープリントを付加する。
a) クライアントは識別子z←Zpを選択し、以下の式でロケータWi=prf(I,z,FN)∈Gを計算する。
Figure 2010166549

ここで、i=1,2,...,nである。i番目のスーパーブロックのフィンガープリントをTと命名する。
b) クライアントは秘密鍵xを使用して(FN,M,z,{T})に署名し、署名Sを生成する。
c) クライアントはFNに対してzを保存する。
d) クライアントはFN、M、z∈Zp、{T}∈G1、およびSをアーカイブに送信する。
e) アーカイブはFN、M、z,{T}、およびSを受信後、クライアントの公開鍵を使用して、Sが(FN,M,z,{T})の有効な署名であるか検証する。
クライアントによるデータへのフィンガープリントの増分的付加
クライアントは、以下を実行してデータに増分的変化のフィンガープリントを付加する。ファイル参照FNおよびファイルキーzを有するファイルFには、すでにnSB個のスーパーブロックが存在する。Fの最後尾に新たなデータ集合{MnSB・nB+j}(j=1,2,...,n)を追加するために、即ち、i=nSBをi=nSB+1に増分するために、以下の動作が実行される。
a) クライアントは、以下の式により仮想ファイルブロック(VFB)を計算する。
nSB・nB+'+0'=prfVFB(nSB+1,z,FN)∈Zp
b) クライアントは、以下を計算する。
Figure 2010166549
アーカイブによるデータ保全性の証明
アーカイブが(最大の確率2−lにおけるエラー以外には)ゼロビットエラー率でFNのコンテンツを保持しているか確認するため、クライアントがアーカイブにチャレンジデータを送り、アーカイブはそれに対して以下を応答する。
i) クライアントは、反復因数1≦ψ≦lを選択する。
ii) クライアントは(k,k)←Zpを選択し、FN,chal=(l,ψ,k,k)をアーカイブに送信する。
iii) アーカイブは、FNとchal=(l,ψ,k,k)とを受信後、まずφ=|l/ψ|+1を計算し、変換済みフィンガープリントT=O∈G(ここでk=1,2,...ψ、OはGの本人情報)を初期化する。その後、以下のアトミック証明手順を独自にψ回にわたって反復する。
iii−a. 充填済みフィンガープリントTv=O∈G、充填済みスーパーブロックevj=0、および変換済みスーパーブロック E=0,v=0,1,...,Φ−1=2φ−1,j=+0,1,2,...,nを初期化する。
iii−b. i=1,2,...,nの各々について、以下の計算を行う。
b−i. σ=prf(i,k,k
b−ii. Tσ*=T。これはTをσ番目のボックスの充てん済みフィンガープリントに付加することを意味する。
b−iii. j=+0,1,2,...,nの各々について、eσj+=M(j−1)*nB+jmodpを計算する。これは、M(j−1)*nB+jをσ番目のボックスの充てん済みスーパーブロックに付加することを意味する。
iii−c. v=+0,1,2,...,Φの各々について、以下の計算を行う。
c−i. a=prf(v,k,k
c−ii. T*=T av
c−iii. j=+0,1,2,...,nの各々について、E+=a・evjmodpを計算する。
iii−d. 以下を計算し、
Figure 2010166549

変換済みスーパーブロックの知識証明とする。
iv) アーカイブは、保全性証明(T,H),k=1,2,...,ψをクライアントに送信する。
あるいは、クライアントがk←Zpを選択し、kを例えばk=prf(kは「第2の無作為性定義キー」)として計算することもできる。この場合は、kの送信は省略することができる。
先願で提案されたPDIスキームにおける「アーカイブによるデータ保全性の証明」手順と比較すると、ファイルブロックが計算に用いられる場合は常に、VFBが真のファイルブロックであるかのように使用される点が異なる。
クライアントによるデータ保全性の検証
クライアントは、(T,H)(ここで、k=1,2,...,ψ)の受信後、以下のアトミック検証手順を独自にψ回にわたって反復する。
I) 変換済みロケータW=I∈G、充填済みロケータW=I∈G,v=0,1,...,Φ−1=2φ−1を初期化する。
II) I=1,2,...,nの各々について、σ=prf(i,k,k)およびWσ*=prf(i,FN)を計算する。
III) v=1,2,...,Φの各々について、a=prf(v,k,k)およびW*=W −avを計算する。
IV) 計算により、H=prf((T x+zM・W)であることを検証する。この合同式が成り立つ場合にのみTRUEを出力する。
全てのアトミック検証手順でTRUEが出力された場合にのみ、クライアントはデータ保全性証明が正しいと判断する。
先願で提案されたPDIスキームにおける「クライアントによるデータ保全性の検証」手順と比較すると、修正が不要である点が異なる。

(他の実施例)
(代替スキーム1)
PDI−2スキームは、「アーカイブによるデータ保全性の証明」のステップiii−dと「クライアントによるデータ保全性の検証」のステップIV)を一部変更したものである。これは、公的検証可能性をサポートするスキームである。
クライアントは、Y=Yとg2v=g とを計算して自身の公開鍵とする。
「アーカイブによるデータ保全性の証明」のステップiii−d.への変更:
iii−dd. 以下を計算し、
Figure 2010166549

変換済みスーパーブロックの知識証明とする。
「クライアントによるデータ保全性の検証」のステップIV)への変更:
IV') 計算により、e(H,g)=e(T,Y・g2v zM)・e(W,g2v)であることを検証する。
IPDI−2スキームでは、「アーカイブによるデータ保全性の証明」と「クライアントによるデータ保全性の検証」のどのステップもクライアントの秘密鍵を必要とせず、サードパーティ検証器が有効に処理を実行できるため、公的検証可能性がサポートされる。

(代替スキーム1.1)
加速化PDI−2は、IPDI−2の「クライアントによるデータ保全性の検証」を一部変更したものである。
「クライアントによるデータ保全性の検証」のステップIV)への変更:
IV−e)k個の乱数r∈Z⊆Zp(ただし、k=1,2,...,ψ)を選択し、計算により以下であることを検証する。
Figure 2010166549
加速化IPDI−2スキームでは、クライアントはより低い計算能力で対の評価を行うことができる。

(代替スキーム2)
IPDI−3スキームは、「クライアントによるデータへのフィンガープリント付加」のステップa)と「クライアントによるデータ保全性の検証」のステップIV)を一部変更したものである。
「クライアントによるデータへのフィンガープリント付加」のステップa)への変更:
aa) クライアントは識別子z←Zpを選択し、以下の式でW=prf(I,z,FN)∈Gを計算する。
Figure 2010166549

ここで、i=1,2,...,nである。
「クライアントによるデータ保全性の検証」のステップIV)への変更:
IV”) 計算により、H=prf((T 1/x)・W)であることを検証する。

(代替スキーム3)
IPDI−4スキームは、上記の代替スキーム2に対し、「アーカイブによるデータ保全性の証明」のステップiii−d.と「クライアントによるデータ保全性の検証」のステップIV)に一部変更を加えたものである。これもまた、公的検証可能性をサポートするスキームである。
クライアントは、さらに、Y=g v/xとg2v=g とを計算して自身の公開鍵とする必要がある。
「アーカイブによるデータ保全性の証明」のステップiii−d.への変更:
iii−ddd. 以下を計算し、
Figure 2010166549

変換済みスーパーブロックの知識証明とする。
「クライアントによるデータ保全性の検証」のステップIV)への変更:
IV''') 計算により、e(H,g)=e(T,Y)・e(W,g2v)であることを検証する。
IPDI−4スキームでは、「アーカイブによるデータ保全性の証明」と「クライアントによるデータ保全性の検証」のどのステップもクライアントの秘密鍵を必要とせず、サードパーティ検証器が有効に処理を実行できるため、公的検証可能性がサポートされる。

(代替スキーム3.1)
加速化IPDI−4は、IPDI−4の「クライアントによるデータ保全性の検証」を一部変更したものである。
「クライアントによるデータ保全性の検証」のステップIV''')への変更:
IV−f)k個の乱数r∈Z⊆Zp(ただし、k=1,2,...,ψ)を選択し、計算により以下であることを検証する。
Figure 2010166549
加速化IPDI−4スキームでは、クライアントはより低い計算能力で対の評価を行うことができる。

(代替スキーム4)
上記のすべてのスキームに対し、システムパラメータ、「クライアントによるデータへのフィンガープリント付加」のステップ、および「クライアントによるデータ保全性の検証」のステップに一部変更を加えることで、サンプリングをサポートするスキームが得られる。
サンプリングをサポートするには、システムパラメータprf:{0,1}*→{1,2,...,n}を追加する必要がある。チャレンジデータchal=(l,ψ,k,k)には、キーk←Zpと正の数値Λが追加される。
次に、「クライアントによるデータへのフィンガープリント付加」と「クライアントによるデータ保全性の検証」の全ステップにおいて、i=1,2,...,nがすべてi=prf(k,1),prf(k,2),...,prf(k,Λ)に置換される。これにより、i=prf(k,1),prf(k,2),...,prf(k,Λ)によって選択されたΛ個のスーパーブロックのみが処理対象となるため、サンプリングされたスーパーブロックデータのみのデータ保全性が検証される。
したがって、代替スキーム4においては、アーカイブはすべてのスーパーブロックを使用しなくてもデータ保全性証明を生成することができる。アーカイブは、クライアントのチャレンジデータの情報をもとに、証明の生成において、どのスーパーブロックをいくつ選択すべきかを決定する。

(代替動作モデル)
非特許文献4(RFC 4810)で提案されるタイムスタンプ局(TSA)を導入することにより、図4に示すように、チャレンジキー(k,k)←ZpをTSAから取得したデジタル署名付きタイムスタンプに置換することが可能になる。ここで、タイムスタンプをTとすると、標準的なハッシュアルゴリズムSHA−1を使用して、k=SHA−1(T,“1”)とk=SHA−1(T,“2”)を得ることができる。こうした置換を行った場合のクライアントのチャレンジデータは、データがTSAによるタイムスタンプ発行時間まで正常に保持されているかどうかの検証を求める内容となる。この事前計算により、アーカイブの応答、すなわち(T,H)、の利用が必須となるのはアトミック検証手順の最後のステップのみとなり、アーカイブとクライアントのいずれにおいても大幅に処理が簡素化される。
さらに、図5に示すように、検証器がサードパーティ検証器の場合には、TSAのタイムスタンプからkとkを推論することもできる。また、サンプリングが有効な場合には、kはTSAのタイムスタンプから、例えばk=SHA−1(T,“3”)として推論することができる。

(代替スキーム5)
仮想ファイルブロック(VFB)は、「真」のファイルブロック{M(I−1)・nB+j},j=1,2,...,nを追加の入力として受け付けることができる。つまり、VFBは以下により計算できる。
(I−1)・nB+'+0'=prfVFB(I,z,FN,{M(I−1)・nB+j})∈Zp,j=1,2,...,n

(ハードウェア実装)
当業者には明らかなように、本発明はハードウェア構造によって実装することもできる。以下では、限定ではなく参考として、いくつかの例について説明する。
クライアント
図6に、本発明を実装したクライアント1400のブロック図を示す。この実装では、クライアント1400はフィンガープリントデータ生成装置として使用される。
図6に示すように、クライアント1400は、生成される各スーパーブロックにつき1個の仮想ファイルブロックM(I−1)・nB+'+0'を生成する仮想ファイルブロック生成手段1405と、データをN個のブロックM(i=1,2,...,N)に分割し、n個のブロックの各々と仮想ファイルブロック生成手段1405からの仮想ファイルブロックM(I−1)・nB+'+0'とを1つのスーパーブロックに結合してn=|N/n|スーパーブロックを取得するスーパーブロック生成手段1410と、有限循環グループG=<g>からn+1個の要素h(j=1,2,...,n)を選択し、k番目(k=1,2,...,n)のスーパーブロックのロケータWと、選択されたn+1個の要素hと、第1の秘密鍵xとを使用して、k番目のスーパーブロックのフィンガープリントTを生成するフィンガープリントデータ生成手段1420とを備える。クライアント1400は、さらに、生成されたスーパーブロック、有限循環グループ、生成されたフィンガープリント、ロケータ、秘密鍵などの、スーパーブロック生成手段1410とフィンガープリントデータ生成手段1420によって利用または生成される情報を格納するメモリ1430を含む。ただし、メモリ1430は、上記のように独立した手段とすることも、あるいはスーパーブロック生成手段1410とフィンガープリントデータ生成手段1420に組み込まれた1つまたは複数の内蔵手段とすることも可能なことは、当業者には明かであろう。
同様に、n+1個の要素hは、第1の秘密鍵xに対応する公開鍵の一部であるのが望ましい。また、n+1個の要素hは、h=g rj(rは秘密鍵)の関係を満足するものとすることができる。さらに、公開鍵と秘密鍵もメモリ1430に格納することができる。
アーカイブ
図7に、本発明を実装したアーカイブ1500のブロック図を示す。この実装では、アーカイブ1500はデータ保全性証明装置として使用される。
図7に示すように、アーカイブ1500は、少なくとも第1のランダム性定義キーkと第2のランダム性定義キーkとから成るチャレンジデータを受信する受信手段1510と、前記チャレンジデータによって決定される個数であるΦ個のボックスを構築し、第1のランダム性定義キーによって定義された第1の無作為方法に従って、1つのフィンガープリントが1個のボックスに入るように、n個のフィンガープリントをΦ個のボックスに割り当て、n個のフィンガープリントの上記割り当てに基づいて、Φ個の充てん済みスーパーブロックと対応する充てん済みフィンガープリントとを生成するパッケージ化手段1520と、第2のランダム性定義キーkによって定義された第2の無作為方法に従って、Φ個の充てん済みスーパーブロックと対応する充てん済みフィンガープリントとを無作為に変換して、変換済みスーパーブロックと変換済みフィンガープリントとを生成する変換手段1530と、変換済みスーパーブロックの知識証明を生成する知識証明生成手段1540とを含む。アーカイブ1500はさらに、受信手段1510、パッケージ化手段1520、変換手段1530、および知識証明生成手段1540によって使用または生成される情報を格納するメモリ1550を含む。ただし、メモリ1550は、上記のように独立した手段とすることも、あるいは受信手段1510、パッケージ化手段1520、変換手段1530、および知識証明生成手段1540に組み込まれた1つまたは複数の内蔵手段とすることも可能なことは、当業者には明かであろう。
知識証明生成手段1540は、変換済みスーパーブロックの知識証明を、変換済みスーパーブロック自体として生成することも、あるいは公開鍵と変換済みスーパーブロックに基づいて生成することもできる。
チャレンジデータは、全n個のスーパーブロックとそれに対応するフィンガープリントの代わりに、どのΛ個のスーパーブロックとそれに対応するフィンガープリントとをパッケージ化手段1520がデータ保全性証明のために選択するかを定義する、スーパーブロック選択キー対(k,Λ)をさらに備えることができる。
チャレンジデータは、反復因数ψをさらに備えることができる。これにより、パッケージ化手段1520と、変換手段1530と、知識証明生成手段1540の動作がψ回反復され、各反復毎に、1つの変換済みスーパーブロックの知識証明が生成される。これは、変換済みスーパーブロックH(m=1,2,...,ψ)のm番目の知識証明と呼ばれる。
チャレンジデータには、タイムスタンプ局(TSA)から取得したデジタル署名付きのタイムスタンプを含めることができる。
さらに、デジタル署名付きタイムスタンプから、第1および第2のランダム性定義キーk、kの少なくとも一方と、スーパーブロック選択キーkとが生成される。
また、アーカイブ1500は、変換済みフィンガープリントと、変換済みスーパーブロックの知識証明とを送信する送信手段1560をさらに備える。
検証器(クライアントまたはサードパーティ検証器)
図8は、本発明を実装した検証器1600のブロック図を示す。この実装では、検証器1600はデータ保全性検証装置として使用される。検証器1600はクライアント1400自体、あるいはサードパーティ検証器のいずれでもよいことは当業者には明かであろう。クライアント1400自体を検証器1600とする前者のケースでは、図6のデータにフィンガープリントを付加するためのサブシステムと、図8の検証データ保全性を検証するためのサブシステムはクライアント1400に備えられる。一方、サードパーティ検証器を検証器1600とする後者のケースでは、サードパーティ検証器は図8の構造を備えることのみが必須となり、図6の構造は任意である。
図8に示すように、検証器1600は、第1のランダム性定義キーkと第2のランダム性定義キーkの少なくとも一方を含むチャレンジデータを生成して送信するチャレンジデータ生成・送信手段1610と、変換済みフィンガープリントと、変換済みスーパーブロックの知識証明とを受信する受信手段1620と、Φ個のボックスを構築し、第1の無作為方法に従って、1つのロケータが1個のボックスに入るように、n個のロケータWをΦ個のボックスに割り当て、n個のロケータの上記割り当てに基づいて、Φ個の充てん済みロケータを生成するロケータパッケージ化手段1630と、第2の無作為方法に従って、Φ個の充てん済みロケータを無作為に変換し、変換済みフィンガープリントと変換済みロケータとから、検証対象の変換済みスーパーブロックの知識証明を生成する検証対象知識証明生成手段1640と、検証対象の変換済みスーパーブロックの知識証明と、受信した変換済みスーパーブロックの知識証明とを比較する比較器1650と、比較結果が一致の場合に、データ保全性を検証する検証装置1660とを含む。検証器1600はさらに、チャレンジデータ生成・送信手段1610、受信手段1620、ロケータパッケージ化手段1630、検証対象知識証明生成手段1640、比較器1650、および検証装置1660によって使用または生成される情報を格納するメモリ1670を含む。ただし、メモリ1670は、上記のように独立した手段とすることも、あるいはチャレンジデータ生成・送信手段1610、受信手段1620、ロケータパッケージ化手段1630、検証対象知識証明生成手段1640、比較器1650、および検証装置1660に組み込まれた1つまたは複数の内蔵手段とすることも可能なことは、当業者には明かであろう。
検証対象知識証明生成手段1640は、検証対象の変換済みスーパーブロックの知識証明を、データの識別子zと、変換済みフィンガープリントと、変換済みロケータとに基づいて生成することができる。
また、検証対象知識証明生成手段1640は、検証対象の変換済みスーパーブロックの知識証明を、第1および第2の秘密鍵x、vに基づいて生成することもできる。
チャレンジデータ生成・送信手段1610によって生成されるチャレンジデータは、ロケータパッケージ化手段がデータ保全性検証のために全n個のロケータの代わりに、どのΛ個のロケータを選択すべきかを定義するスーパーブロック選択キー対(k,Λ)をさらに備える。
チャレンジデータ生成・送信手段1610によって生成されるチャレンジデータは、反復因数ψをさらに備える。これにより、ロケータパッケージ化手段1630と、検証対象知識証明生成手段1640と、比較器1650の動作がψ回反復され、すべての比較結果が一致の場合にのみ、検証手段1660がデータ保全性を検証する。
チャレンジデータ生成・送信手段1610によって生成されるチャレンジデータには、タイムスタンプ局(TSA)から取得した、デジタル署名付きのタイムスタンプを含めることができる。
チャレンジデータ生成・送信手段1610は、デジタル署名付きタイムスタンプから、第1および第2のランダム性定義キーk、kの少なくとも一方と、スーパーブロック選択キーkとを決定する。
提案されるVFBの代替利用法
VFB概念をPDPスキームに応用することも可能である。この場合、IPDPを以下の方法(非特許文献7の11頁)で構築することにより、データファイルの増分的変化を処理できるようになる。原理上は、PDPスキームは、n=1とするPDIスキームの簡略版とみなすことができる。
IPDPスキームが実行することは、基本的には、各ファイルブロックmに対してVFB mを計算することである。スーパーブロックに1個のファイルブロックが存在する(すなわち、n=1)と考えれば、IPDIの中心的概念(すなわち、ファイルブロックの集まりである各スーパーブロックに対してVFBを計算し、それを付加するという概念)とまったく同じである。
また、IPDPスキームでは、VFBを計算に組み込むためにオリジナルのPDPスキームの別の部分が若干変更される。
IPDPスキームの利点は、RSAベースのスキームとしては、上記要件(I)〜(VII)を満足する唯一のスキームであることである。
TagBlock(.):
i,m=(PRF(W)・h ・gmodN(ここで、VFB m=prf(v,i))。また、h0∈QRは公開鍵の追加のパラメータである(例えばNであり、具体的にはPRF(・):{0,1}*→QR(ここで、ed≡1modφ(N))となる)。
あるいは、VFBをm=prf(v,i,m)として計算することもできる。
GenProof(.):
T=Ti1,mi1 a1…‥Tic,mic ac=(PRF(Wi1a1)……PRF(Wicac・h a1mi1+…+acmic・ga1mi1+…+acmicmodN.
P=H((h0s a1mi1+…+acmic・g a1mi1+…+acmic)modN(ここで、h0s=h ∈QRであり、H(・):{0,1}*→Zは、例えばSHA−1ハッシュ関数である。)パラメータc、a、i(ここでj=1,2,...,c,g)、およびh0sは、チャレンジデータによって決定される。
CheckProof(.):
この部分は、オリジナルと同じである。
本発明の詳細がより明確かつ体系的に理解されるよう、中国の先行出願(特許文献1(中国特許第200810165864.3号))の内容全体をここに(冗長的な反復ではなく)本明細書の一部として組み込む。本発明において理解の困難な部分がある場合は、特許文献1(中国特許第200810165864.3号)を参照して解決することができ、場合によってはこうした困難そのものの説明も得られるであろう。
上記の説明は本発明の好適な実施例のみを示したものであり、いかなる形であれ本発明を限定することを意図するものではない。したがって、本発明の適用範囲には、本発明の精神および原則に則ったあらゆる変更、置換、改良等も内包される。
1:チャレンジデータ
2:データ保全性証明
1':タイムスタンプ
2':データ保全性証明
1405:仮想ファイルブロック生成手段
1410:スーパーブロック生成手段
1420:フィンガープリントデータ生成手段
1430:メモリ
1510:受信手段
1520:パッケージ化手段
1530:変換手段
1540:知識証明生成手段
1550:メモリ
1560:送信手段
1610:チャレンジデータ生成・送信手段
1620:受信手段
1630:ロケータパッケージ化手段
1640:検査対象知識証明生成手段
1650:比較器
1660:検証手段
1670:メモリ

Claims (20)

  1. フィンガープリントデータ生成方法であって、
    データをN個のブロックM(i=1,2,...,N)に分割するステップと、
    個のブロックの各々と1個の仮想ファイルブロックM(k−1)・nB+'+0'とを1つのスーパーブロックに結合して、n=|N/n|個のスーパーブロックを取得するステップと、
    有限循環グループG=<g>からn+1個の要素h(j=1,2,...,n)を選択するステップと、
    k番目(k=1,2,...,n)のスーパーブロックのロケータWと、選択されたn+1個の要素hと、第1の秘密鍵xとを使用して、k番目のスーパーブロックのフィンガープリントTを生成するステップと
    を有することを特徴とするフィンガープリントデータ生成方法。
  2. +1個の要素hは、第1の秘密鍵xに対応する公開鍵の一部であることを特徴とする請求項1に記載のフィンガープリントデータ生成方法。
  3. +1個の要素hは、h=g rj(rは秘密鍵)を満足することを特徴とする請求項1に記載のフィンガープリントデータ生成方法。
  4. k番目のスーパーブロックのフィンガープリントTは、
    Figure 2010166549


    はデータの識別子、
    の式に従って生成されることを特徴とする請求項1に記載のフィンガープリントデータ生成方法。
  5. k番目のスーパーブロックのロケータWは、少なくともkを入力とするハッシュ値であることを特徴とする請求項4に記載のフィンガープリントデータ生成方法方法。
  6. k番目のスーパーブロックのフィンガープリントTは、
    Figure 2010166549


    の式に従って生成されることを特徴とする請求項1に記載のフィンガープリントデータ生成方法方法。
  7. k番目のスーパーブロックのロケータWは、少なくともkと、データの識別子zとを入力とするハッシュ値であることを特徴とする請求項6に記載のフィンガープリントデータ生成方法方法。
  8. 既存のデータの最後尾に新たなデータが付加された際に、
    新たなデータをNNEW個のブロックM NEW(i=N+1,N+2,...,N+NNEW)に分割するステップと、
    個のブロックの各々と1個の仮想ファイルブロックM(k−1)・nB+'+0'とを1つのスーパーブロックに結合して、nNEW=|NNEW/n|個のスーパーブロックを取得するステップと、
    k番目(k=n+1,n+2,...,n+nNEW)のスーパーブロックのロケータWと、選択されたn+1個の要素hと、第1の秘密鍵xとを使用して、k番目のスーパーブロックのフィンガープリントTを生成するステップを有することを特徴とする請求項1に記載のフィンガープリントデータ生成方法方法。
  9. 仮想ファイルブロックM(k−1)・nB+'+0'が、
    (k−1)・nB+'+0'=prfVEF(k,z,FN),

    はデータの識別子、FNはデータのファイル識別子、prfVEF(・)は疑似ランダム関数
    として生成されることを特徴とする請求項1から請求項8の何れかに記載のフィンガープリントデータ生成方法方法。
  10. 仮想ファイルブロックM(k−1)・nB+'+0'が、
    (k−1)・nB+'+0'=prfVEF(k,z,FN,{M(k−1)・nB+j}), j=1,2,...,n
    はデータの識別子、FNはデータのファイル識別子、{M(k−1)・nB+j}は、仮想ファイルブロックM(k−1)・nB+'+0'と共に1つのスーパーブロックに結合されるn個のブロックのデータ集合、prfVEF(・)は疑似ランダム関数
    として生成されることを特徴とする請求項1から請求項8の何れかに記載のフィンガープリントデータ生成方法方法。
  11. フィンガープリントデータ生成装置であって、
    生成される各スーパーブロックにつき1個の仮想ファイルブロックM(k−1)・nB+'+0'を生成する仮想ファイルブロック生成手段と、
    データをN個のブロックM(i=1,2,...,N)に分割し、n個のブロックの各々と前記仮想ファイルブロック生成手段からの仮想ファイルブロックM(k−1)・nB+'+0'とを1つのスーパーブロックに結合してn=|N/n|スーパーブロックを取得するスーパーブロック生成手段と、
    有限循環グループG=<g>からn+1個の要素h(j=1,2,...,n)を選択し、k番目(k=1,2,...,n)のスーパーブロックのロケータWと、選択されたn+1個の要素hと、第1の秘密鍵xとを使用して、k番目のスーパーブロックのフィンガープリントTを生成するフィンガープリントデータ生成手段と
    を備えることを特徴とするフィンガープリントデータ生成装置。
  12. +1個の要素hは、第1の秘密鍵xに対応する公開鍵の一部であることを特徴とする請求項11に記載のフィンガープリントデータ生成装置。
  13. +1個の要素hは、h=g rj(rは秘密鍵)を満足することを特徴とする請求項11に記載のフィンガープリントデータ生成装置。
  14. 前記フィンガープリントデータ生成手段は、
    k番目のスーパーブロックのフィンガープリントTを、
    Figure 2010166549

    はデータの識別子、
    の式に従って生成することを特徴とする請求項11に記載のフィンガープリントデータ生成装置。
  15. k番目のスーパーブロックのロケータWは、少なくともkを入力とするハッシュ値であることを特徴とする請求項14に記載のフィンガープリントデータ生成装置。
  16. 前記フィンガープリントデータ生成手段は、
    k番目のスーパーブロックのフィンガープリントTを、
    Figure 2010166549


    の式に従って生成することを特徴とする請求項11に記載のフィンガープリントデータ生成装置。
  17. k番目のスーパーブロックのロケータWは、少なくともkと、データの識別子zとを入力とするハッシュ値であることを特徴とする請求項16に記載のフィンガープリントデータ生成装置。
  18. 既存のデータの最後尾に新たなデータが付加された際に、
    前記仮想ファイルブロック生成手段は、生成される各スーパーブロックにつき1個の仮想ファイルブロックM(k−1)・nB+'+0'を生成し、
    前記スーパーブロック生成手段は、新たなデータをNNEW個のブロックM NEW(i=N+1,N+2,...,N+NNEW)に分割し、
    個のブロックの各々と1個の仮想ファイルブロックM(k−1)・nB+'+0'とを1つのスーパーブロックに結合して、nNEW=|NNEW/n|個のスーパーブロックを取得し、
    前記フィンガープリントデータ生成手段は、k番目(k=n+1,n+2,...,n+nNEW)のスーパーブロックのロケータWと、選択されたn+1個の要素hと、第1の秘密鍵xとを使用して、k番目のスーパーブロックのフィンガープリントTを生成することを特徴とする請求項11に記載のフィンガープリントデータ生成装置。
  19. 前記フィンガープリントデータ生成手段は、
    仮想ファイルブロックM(k−1)・nB+'+0'を、
    (k−1)・nB+'+0'=prfVEF(k,z,FN),

    はデータの識別子、FNはデータのファイル識別子、prfVEF(・)は疑似ランダム関数
    として生成することを特徴とする請求項11又は請求項18に記載のフィンガープリントデータ生成装置。
  20. 前記フィンガープリントデータ生成手段は、
    仮想ファイルブロックM(k−1)・nB+'+0'を、
    (k−1)・nB+'+0'=prfVEF(k,z,FN,{M(k−1)・nB+j}), j=1,2,...,n
    はデータの識別子、FNはデータのファイル識別子、{M(k−1)・nB+j}は、仮想ファイルブロックM(k−1)・nB+'+0'と共に1つのスーパーブロックに結合されるn個のブロックのデータ集合、prfVEF(・)は疑似ランダム関数
    として生成することを特徴とする請求項11又は請求項18に記載のフィンガープリントデータ生成装置。

JP2009219088A 2008-10-21 2009-09-24 フィンガープリントデータ生成方法方法、フィンガープリントデータ生成装置 Pending JP2010166549A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810170804.0A CN101729250B (zh) 2008-10-21 2008-10-21 增量可证数据完整性验证方法、设备和系统

Publications (1)

Publication Number Publication Date
JP2010166549A true JP2010166549A (ja) 2010-07-29

Family

ID=42449531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009219088A Pending JP2010166549A (ja) 2008-10-21 2009-09-24 フィンガープリントデータ生成方法方法、フィンガープリントデータ生成装置

Country Status (2)

Country Link
JP (1) JP2010166549A (ja)
CN (1) CN101729250B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103024006A (zh) * 2012-11-23 2013-04-03 西安电子科技大学 一种云计算环境下双线性对的安全外包的方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102102672A (zh) * 2011-03-23 2011-06-22 兖矿集团有限公司 一种涡壳式多级离心泵
US9438609B2 (en) * 2014-08-29 2016-09-06 Microsoft Technology Licensing, Llc Device verification prior to registration
CN106203179B (zh) * 2016-07-12 2019-06-18 何晓行 一种对文件的完整性校验系统及方法
CN111526146B (zh) * 2020-04-24 2022-05-17 天津易维数科信息科技有限公司 数据持有验证方法、数据搜索方法及相应的系统
CN115001744B (zh) * 2022-04-27 2023-08-29 中国科学院信息工程研究所 一种云平台数据完整性验证方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506659A (ja) * 2002-11-01 2006-02-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フィンガープリントのサーチおよびその改良
WO2008064153A2 (en) * 2006-11-21 2008-05-29 Lucent Technologies Inc. Processing method for message integrity with tolerance for non-sequential arrival of message data
JP2009187537A (ja) * 2007-12-29 2009-08-20 Nec (China) Co Ltd データ保全性検証方法、装置、およびシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530757A (en) * 1994-06-28 1996-06-25 International Business Machines Corporation Distributed fingerprints for information integrity verification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506659A (ja) * 2002-11-01 2006-02-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フィンガープリントのサーチおよびその改良
WO2008064153A2 (en) * 2006-11-21 2008-05-29 Lucent Technologies Inc. Processing method for message integrity with tolerance for non-sequential arrival of message data
JP2009187537A (ja) * 2007-12-29 2009-08-20 Nec (China) Co Ltd データ保全性検証方法、装置、およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103024006A (zh) * 2012-11-23 2013-04-03 西安电子科技大学 一种云计算环境下双线性对的安全外包的方法

Also Published As

Publication number Publication date
CN101729250B (zh) 2014-03-26
CN101729250A (zh) 2010-06-09

Similar Documents

Publication Publication Date Title
Hao et al. A multiple-replica remote data possession checking protocol with public verifiability
CN105593872B (zh) 数据认证的方法和设备
JP5419056B2 (ja) Cartier対形成の暗号化適用
NL2013944B1 (en) Public-key encryption system.
US8254569B2 (en) Provable data integrity verifying method, apparatuses and system
US7000110B1 (en) One-way function generation method, one-way function value generation device, proving device, authentication method, and authentication device
CN105721156B (zh) 对数据进行编码和数字签名的方法和相关设备
CN112163854B (zh) 一种层级化基于区块链公钥可搜索加密方法及系统
JP2010166549A (ja) フィンガープリントデータ生成方法方法、フィンガープリントデータ生成装置
CN110750796B (zh) 一种支持公开审计的加密数据去重方法
CN115225409B (zh) 基于多备份联合验证的云数据安全去重方法
JP4884456B2 (ja) データ保全性検証方法、装置、およびシステム
US20220020020A1 (en) Methods, systems, and devices for managing digital assets
CN109274504B (zh) 一种基于云平台的多用户大数据存储分享方法及系统
WO2018045647A1 (zh) 一种多变量公钥的签名系统和方法
US8954728B1 (en) Generation of exfiltration-resilient cryptographic keys
JP5518668B2 (ja) 電子署名用鍵管理装置、電子署名用鍵管理方法、電子署名用鍵管理プログラム
JP5669204B2 (ja) 分散情報管理システム、分散情報管理方法、および分散情報管理プログラム
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
US20210226791A1 (en) Encryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program
Chavan et al. Secure proof of retrievability system in cloud for data integrity
Gohel et al. A new data integrity checking protocol with public verifiability in cloud storage
KR20100003093A (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
KR100617456B1 (ko) 비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키관리방법
JP5448801B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120904