IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ユニバーシティ・オブ・ハートフォードシャー・ハイヤーエデュケーション・コーポレーションの特許一覧

特表2023-539143破壊読み出しメモリベースの改ざん明示コンテナとその検証方法
<>
  • 特表-破壊読み出しメモリベースの改ざん明示コンテナとその検証方法 図1
  • 特表-破壊読み出しメモリベースの改ざん明示コンテナとその検証方法 図2
  • 特表-破壊読み出しメモリベースの改ざん明示コンテナとその検証方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-13
(54)【発明の名称】破壊読み出しメモリベースの改ざん明示コンテナとその検証方法
(51)【国際特許分類】
   G06F 21/79 20130101AFI20230906BHJP
【FI】
G06F21/79
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023512264
(86)(22)【出願日】2021-08-19
(85)【翻訳文提出日】2023-04-13
(86)【国際出願番号】 GB2021052153
(87)【国際公開番号】W WO2022038360
(87)【国際公開日】2022-02-24
(31)【優先権主張番号】2013018.3
(32)【優先日】2020-08-20
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】517389355
【氏名又は名称】ユニバーシティ・オブ・ハートフォードシャー・ハイヤーエデュケーション・コーポレーション
【氏名又は名称原語表記】UNIVERSITY OF HERTFORDSHIRE HIGHER EDUCATION CORPORATION
【住所又は居所原語表記】College Lane Hatfield Hertfordshire AL10 9AB (GB)
(74)【代理人】
【識別番号】100116850
【弁理士】
【氏名又は名称】廣瀬 隆行
(74)【代理人】
【識別番号】100165847
【弁理士】
【氏名又は名称】関 大祐
(72)【発明者】
【氏名】クリスチャンソン ブルース ドナルド
(72)【発明者】
【氏名】シャファレンコ アレックス
(57)【要約】
本発明は、データ用の確率的デジタル改ざん防止コンテナ、コンテナにデータをロードする方法、ならびに、その後コンテナからデータを読み取り、同時に、コンテナにロードされたデータが以前に読み取られたことがないことを検証する方法を提供する。

【特許請求の範囲】
【請求項1】
コンテンツを保存するように構成された1つまたは複数の破壊読み出しメモリ(DeRM)要素を備える改ざん明示コンテナであって、
前記1つまたは複数のDeRM要素のそれぞれは、前記1つまたは複数のDeRM要素のそれぞれによって保存された前記コンテンツが、前記1つまたは複数のDeRM要素のそれぞれが破壊的に読み出されるときに明らかにされる前記コンテンツよりも大きくなるように構成される、
改ざん明示コンテナ。
【請求項2】
前記コンテナが物理的コンテナを備える、
請求項1に記載の改ざん明示コンテナ。
【請求項3】
コンテナが、送り主と受取人との間でデジタルデータを搬送または輸送するように構成される、
請求項1または請求項2に記載の改ざん明示コンテナ。
【請求項4】
前記コンテナが複数のDeRM要素のアレイを備える、
請求項1~3のいずれかに記載の改ざん明示コンテナ。
【請求項5】
前記1つまたは複数のDeRM要素のそれぞれが、1つまたは複数のDeRMセルを備える、
請求項1~4のいずれかに記載の改ざん明示コンテナ。
【請求項6】
前記1つまたは複数のDeRM要素のそれぞれが、複数のDeRMセルを備える、
請求項1~5のいずれかに記載の改ざん明示コンテナ。
【請求項7】
前記1つまたは複数のDeRM要素のそれぞれが、3つ以上のDeRMセルを備える、
請求項1~6のいずれかに記載の改ざん明示コンテナ。
【請求項8】
前記1つまたは複数のDeRM要素のそれぞれが、チャレンジされるように構成される、
請求項1~7のいずれかに記載の改ざん明示コンテナ。
【請求項9】
前記1つまたは複数のDeRM要素のそれぞれが、前記1つまたは複数のDeRM要素のそれぞれのアドレスと制限値セットからのデジタル値とを前記コンテナに供給することによってチャレンジされるように構成される、
請求項1~8のいずれかに記載の改ざん明示コンテナ。
【請求項10】
前記1つまたは複数のDeRM要素のそれぞれが3つのDeRMセルを備える場合、前記制限値セットが110、101、011を含む、
請求項9に記載の改ざん明示コンテナ。
【請求項11】
前記チャレンジが、前記1つまたは複数のDeRM要素のそれぞれに2つのアクションを同時に実行させ、すなわち
a.前記DeRM要素の前記コンテンツおよび前記チャレンジ値に基づいて前記DeRM要素の前記コンテンツを修正させ、
b.前記新しいコンテンツが前記修正の前にそこにあったものと何らかの形で異なるか否かを示す1ビット信号応答を出力させ、
前記応答が、前記新しいコンテンツが異なることを示す場合、前記応答は相違(1)応答であり、そうでない場合、前記応答は一致(0)である、
請求項8~10のいずれか一項に記載の改ざん明示コンテナ。
【請求項12】
前記1つまたは複数のDeRM要素のそれぞれが、前記DeRM要素に、書き込まれるべき前記コンテンツの一部または全部でチャレンジすることにより、前記DeRM要素に書き込まれた有効なコンテンツを有するように構成される、
請求項8~11のいずれか一項に記載の改ざん明示コンテナ。
【請求項13】
前記1つまたは複数のDeRM要素のそれぞれが、前記コンテンツのすべてが書き込まれるまで、前記DeRM要素に、書き込まれるべき前記コンテンツの一部または全部で繰り返しチャレンジすることにより、前記DeRM要素に書き込まれた有効なコンテンツを有するように構成される、
請求項8~12のいずれか一項に記載の改ざん明示コンテナ。
【請求項14】
前記DeRM要素に、書き込まれるべき前記コンテンツの一部または全部でチャレンジする前に、前記DeRM要素が消去される、
請求項8~13のいずれか一項に記載の改ざん明示コンテナ。
【請求項15】
前記1つまたは複数のDeRM要素のそれぞれが、前記DeRM要素の前記コンテンツが前記DeRM要素にチャレンジすること以外によって読み取られることができないように構成される、
請求項8~14のいずれか一項に記載の改ざん明示コンテナ。
【請求項16】
前記1つまたは複数のDeRM要素のそれぞれが、チャレンジされたときにのみ前記1ビット一致/相違応答を出力するように構成される、
請求項8~15のいずれか一項に記載の改ざん明示コンテナ。
【請求項17】
前記1つまたは複数のDeRM要素のそれぞれが、チャレンジされたときに前記1ビット一致/相違応答以外の情報を出力しないように構成される、
請求項8~16のいずれか一項に記載の改ざん明示コンテナ。
【請求項18】
前記1つまたは複数のDeRM要素のそれぞれが、任意のチャレンジへの前記応答がもたらすよりも多くの情報を含むように構成される、
請求項8~17のいずれか一項に記載の改ざん明示コンテナ。
【請求項19】
前記追加情報が、少なくとも1つのチャレンジ値に対して不可逆的に破壊され、どのチャレンジ値がそのような情報損失を引き起こすかは、前記チャレンジされたDeRM要素に保存された前記コンテンツに依存する、
請求項18に記載の改ざん明示コンテナ。
【請求項20】
前記1つまたは複数のDeRM要素のそれぞれが複数のDeRMセルを備えるとき、前記破壊的読み出しは、前記DeRM要素が構成される前記DeRMセルのうちの1つが状態を変化させたことを明らかにすることができるが、これがどのDeRMセルであったかを開示しない、
請求項8~19のいずれか一項に記載の改ざん明示コンテナ。
【請求項21】
前記コンテンツの一部または全部に、書き込まれるべき前記DeRM要素のそれぞれでチャレンジすることにより、
請求項1~20のいずれか一項に記載のコンテナにデータをロードする方法。
【請求項22】
コンテンツを保存するように構成された1つまたは複数の破壊読み出しメモリ(DeRM)要素を備えるコンテナにデータをロードする方法であって、
前記1つまたは複数のDeRM要素のそれぞれは、前記1つまたは複数のDeRM要素のそれぞれによって保存された前記コンテンツが、前記1つまたは複数のDeRM要素のそれぞれに、書き込まれるべき前記コンテンツの一部または全部でチャレンジすることにより前記1つまたは複数のDeRM要素のそれぞれが破壊的に読み出されるときに明らかにされる前記コンテンツよりも大きくなるように構成される、
方法。
【請求項23】
前記1つまたは複数のDeRM要素のそれぞれは、前記コンテンツのすべてが書き込まれるまで、前記DeRM要素のそれぞれに、書き込まれるべき前記コンテンツの一部または全部で繰り返しチャレンジすることにより、前記要素に書き込まれた有効なコンテンツを有するように構成される、
請求項21または請求項22に記載の方法。
【請求項24】
前記DeRM要素のそれぞれに、書き込まれるべき前記コンテンツの一部または全部をチャレンジする前に、前記DeRM要素が消去される、
請求項21~23のいずれか一項に記載の方法。
【請求項25】
前記1つまたは複数のDeRM要素のそれぞれが、前記1つまたは複数のDeRM要素のそれぞれのアドレスと制限値セットからのデジタル値とをコンテナに供給することによってチャレンジされる、
請求項21~24のいずれか一項に記載の方法。
【請求項26】
前記1つまたは複数のDeRM要素のそれぞれが3つのDeRMセルを備える場合、前記制限値セットが110、101、011を含む、
請求項25に記載の方法。
【請求項27】
前記チャレンジが、前記1つまたは複数のDeRM要素のそれぞれに2つのアクションを同時に実行させ、すなわち
a.前記DeRM要素の前記コンテンツおよびチャレンジ値に基づいて前記DeRM要素の前記コンテンツを修正させ、
b.前記新しいコンテンツが前記修正の前にそこにあったものと何らかの形で異なるか否かを示す1ビット信号応答を出力させ、
前記応答が、前記新しいコンテンツが異なることを示す場合、これは相違(1)応答であり、そうでない場合、前記応答は一致(0)である、
請求項21~26のいずれか一項に記載の方法。
【請求項28】
請求項21~27のいずれか一項に記載の方法によって請求項1~20のいずれか一項に記載のコンテナにロードされたデータが以前にアクセスされていないことを検証する方法であって、
1.送り主が、本発明の第1の態様のコンテナ内に含まれるランダム化された機密コンテンツを受取人に送信するステップであって、前記送り主が前記コンテンツのコピーを前記送り主の局部セキュア記憶装置に保持する、ステップと、
2.前記送り主が、サイドチャネル通信を介して、前記受取人が前記コンテナを受信したことを確立するステップと、
3.前記送り主が、前記サイドチャネル通信を介して、前記コンテナの前記コンテンツからのデータのサブセットに関する追加情報を前記受取人に明らかにするステップと、
4.前記受取人が、前記追加情報を使用してステップ3からの前記コンテナの前記コンテンツからの前記データのサブセットを取得するステップと、
5.前記受取人が、ステップ4で取得された前記データのサブセットの要約を作成するステップと、
6.前記受取人が、ステップ5で取得された前記要約を、前記サイドチャネルを通じて前記送り主に送信するステップと、
7.前記送り主が、前記送り主の局部セキュア記憶装置に保持された前記コンテンツの前記コピーに関する前記要約を計算するステップと、
8.前記送り主が、前記受取人の要約を前記送り主の要約と比較し、前記送り主の要約が前記受取人の要約と同じである場合、前記コンテンツが第三者によって読み取られておらず、そうでない場合は読み取られている、ステップと、
9.前記送り主が、ステップ8で前記送り主によって実行された比較の結果を、前記サイドチャネルを通じて前記受取人に送信するステップと、
10.前記受取人が、随意に、前記コンテナから、前記コンテナが前記機密コンテンツに関して含むことができる残りの情報を削除するステップと
を含む、
方法。
【請求項29】
コンテンツを保存するように構成された1つまたは複数の破壊読み出しメモリ(DeRM)要素を備えるコンテナにロードされるデータであって、前記1つまたは複数のDeRM要素のそれぞれは、前記1つまたは複数のDeRM要素のそれぞれによって保存された前記コンテンツが、前記1つまたは複数のDeRM要素のそれぞれが前記1つまたは複数のDeRM要素のそれぞれを、請求項21~27のいずれか一項に記載の方法によって書き込まれるべき前記コンテンツの一部または全部でチャレンジすることによって破壊的に読み出されるときに明らかにされる前記コンテンツよりも大きいように構成される、データに以前にアクセスされたことがないことを検証する方法であって、
1.送り主が、本発明の第1の態様のコンテナ内に含まれるランダム化された機密コンテンツを受取人に送信するステップであって、前記送り主が前記コンテンツのコピーを前記送り主の局部セキュア記憶装置に保持する、ステップと、
2.前記送り主が、サイドチャネル通信を介して、前記受取人が前記コンテナを受信したことを確立するステップと、
3.前記送り主が、前記サイドチャネル通信を介して、前記コンテナの前記コンテンツからのデータのサブセットに関する追加情報を前記受取人に明らかにするステップと、
4.前記受取人が、前記追加情報を使用してステップ3からの前記コンテナの前記コンテンツから前記データのサブセットを取得するステップと、
5.前記受取人が、ステップ4で取得した前記データのサブセットの要約を作成するステップと、
6.前記受取人が、ステップ5で取得された前記要約を、前記サイドチャネルを通じて前記送り主に送信するステップと、
7.前記送り主が、前記送り主の局部セキュア記憶装置に保持された前記コンテンツの前記コピーに関する前記要約を計算するステップと、
8.前記送り主が、前記受取人の前記要約を前記送り主の前記要約と比較し、前記送り主の前記要約が前記受取人の前記要約と同じである場合、前記コンテンツが第三者によって読み取られたことがなく、そうでない場合は読み取られたことがある、ステップと、
9.前記送り主が、ステップ8で前記送り主によって実行された前記比較の結果を、前記サイドチャネルを通じて受取人に送信するステップと、
10.前記受取人が、随意に、前記コンテナから、前記機密コンテンツに関する、前記コンテナが含むことができる残りの情報を削除するステップと
を含む、
方法。
【請求項30】
前記方法がステップ2a(ステップ2とステップ3との間)を含み、必要に応じて前記追加情報の詳細を決定するために、前記サイドチャネルを通じて前記送り主と前記受取人との間に予備通信が存在する、
請求項28または請求項29に記載の方法。
【請求項31】
前記データのサブセットの前記要約が業界標準の暗号ハッシュである、
請求項28~30のいずれか一項に記載の方法。
【請求項32】
改ざんが、ステップ8での不一致によって証明される、
請求項28~31のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ用の確率的デジタル改ざん防止コンテナ(probabilistically digital tamper proof container)、コンテナにデータをロードする方法、ならびに、その後コンテナからデータを読み取り、同時に、コンテナにロードされたデータが以前に読み取られたことがないことを検証する方法に関する。
【背景技術】
【0002】
ある物理的場所から別の物理的場所への秘密(secret)の移動は、秘密情報の寿命において最も露出している期間である。その場合、それは機密性が最も危険にさらされることである。鍵のかかる物理的ドア、監視カメラ、警備員、および他の形態の物理的アクセス制御などの固定的な防御は、秘密を搬送するコンテナがその機密性を保持することにかかわる当事者のセキュリティ境界の外側に移動しているときに、有効性が大幅に低下する。
【0003】
移動する秘密の物理的保護は、何世紀にもわたってあまり変化していない。変化しているのは、改ざん防止保護(tamper proof protection)と比較した改ざん明示(tamper evident)の相対的重要性である。その理由は、場所から場所へ物理的に輸送されるコンテンツが現今では、ランダムなデジタルデータとなる傾向があり、ランダムなデジタルデータは、コピーが行われていることを送り主(sender)および受取人(recipient)に気付かれないようにコンテンツがコピーされない限り、盗まれるとゼロ値になるからである。データへのコピーアクセスがないことを妥当なコストでの検査で確実に確認することができると、実際の秘密情報は、オープンチャネルを通じて、そのデータを強力な対称暗号化のための鍵として使用してデジタル形式で送信され得る。現時点では、そのような暗号化を解読することは、コンテンツを当事者間で搬送することができるものは何でも、物理的ハードシェルを解除することよりも比較にならないほど多くの時間および費用がかかる。
【0004】
そうした状況にもかかわらず、高セキュリティの改ざん明示パッケージングは非常に需要があり、このパッケージングは、それが何世紀にもわたって行われてきたように、可能な限り破砕可能でありかつ複製不能であるように製造された物理的シェルに依然として依存している。前者の特性は、シェルがコンテンツにアクセスするために貫通された場合、シェルは顕著に破壊される、すなわち「粉砕する」ことになることを意味し、後者は、粉砕されたシェルはクローン、すなわち元のシェルの偽造コピーに気付かれずに置き換えることができないことを意味する。
【0005】
実際の状況では、前述の2つの技術的要素よりもさらに大きく依存する第3の要因、すなわち輸送セキュリティがある。荷物は、宅配業者、必要であれば武装警備員によって輸送され、宅配業者は、荷物が移動している間に荷物へのいかなるアクセスも防止するように信頼されている。
【0006】
3つの要因のいずれも、マシンによって自動的に実行される暗号手順のセキュリティほど強力なセキュリティを提供しない。おそらく、すべての最大の脆弱性は、シェルの信ぴょう性と、シェルが破壊されているか否かと、を受取人自身が100%の確信をもって判定することがほとんど不可能であることである。メッセージを取り出すにはとにかくシェルを破壊する必要があるので、プロトコルの事後監査は困難である、すなわち、パッケージがうまく砕けた場合、受取人はシェルが無傷であると判定し、シェルを破壊してメッセージを取り出した時点で、シェルが既に破壊されていると判定することは可能でないかもしれない。
【0007】
シェルの信ぴょう性には、受取人の技術的能力の範囲内であると見なすことができない専門家による調査が必要である(専門家は、偽造技術の専門知識を持たない、代理店、法律事務所、またはその他のユニットでもよい)。受取人が非ローカル専門家を雇うと、彼らは単純なインサイダ攻撃に身をさらし、それにより、元のパッケージは、侵入されたインサイダによって傍受され、破壊され、読み取られ、次いで不完全にクローニングされたシェルに再パッケージングされ、非専門家の正当な受取人を納得させるのに十分である。破損した偽造シェルは、その後、専門家へ出ていく途中で傍受され、同じ侵入者によって元の破損したシェルに置き換えられる。このシナリオでは、インサイダは、それらが正当な受取人に納得させるのに成功した場合、事後検出に対して少しも脆弱ではない。
【0008】
公開されている改ざん防止シェル技術は、以下の特許によって例示される。
【0009】
米国特許第5918983号明細書(CONTROL PAPER CO INC)は、貴重な文書および物品を輸送するためのセキュリティ封筒を記述しており、この封筒は、折り重ね押圧して閉じられるとヘッダを前面パネルに封止する接着剤層を有する背面パネルに固定された薄い脆弱材料で形成された薄いヘッダを含む。背面パネルの内面上の接着剤の内層は、内側の正面および背面パネル表面を封止して封筒室を閉じ、封止されたときにヘッダ接着剤層よりも封筒底部に向かってさらに延びていて、封筒室への不正開封ツールのアクセスを妨げる。不正開封熱を加えるとヘッダを収縮させ、内側接着剤層を解放するのに十分な冷熱により、外側接着剤層の片が分離し、剥離する。ヘッダ内面上の印刷された印およびヘッダ内面上の透明なフラッドコートは、ヘッダ接着剤層に付着し、改ざんの試みを指示するのに役立つ。
【0010】
米国特許第5788377号明細書(UNIFLEX)は、耐改ざん性封筒を記述しており、この封筒は、互いに接合されて封筒の対向する側縁部および底縁部を画定する第1のパネルおよび第2のパネルを含む。パネルはそれぞれ、封筒内へのアクセスを可能にするために封筒の底縁部の反対側に開口部を共に画定する上縁部を有する。第2のパネルの上縁部は、パネル延長部を画定するように第1のパネルの上縁部を越えて延びる。接着性シーラント材料の層が、第2のパネルの内面に密封接着するために、第1のパネルの上縁部に隣接する第1のパネルの内面上に配置される。シーラント材料は、実質的に室温より低い温度での解放に耐える接着特性を有する。封筒はまた、第1のパネルの外面に取り付けられた下部と第2のパネルのパネル延長部に密封接着するように配置された上部とを有する接着シールストリップを含む。
【0011】
米国特許第5108194号明細書(RADEN DAVID T)は、プラスチックセキュリティバッグ用の閉鎖システムが、この閉鎖システムへのアクセスを調節する接着剤を含むセロハンキャリアフィルム付きアクセス開口部を備えることを記述している。フィルムは、アクセス開口部の下縁部の下でバッグに貼られ、そこに沿って「ホットメルト」のバンドを有する。解放可能ライナを除去すると、キャリアフィルムは、「ホットメルト」がアクセス開口部にまたがり、アクセス開口部を閉じるように配置される。開口部の端部のラッカーコーティングは、セキュリティバッグへの解放可能なライナの望ましくない付着を防止する。アクセス開口部の端部は「ヒートシールされ」、接着剤と協働して、閉じた開口部を通る液体の漏れを防止する。バッグの進入は、観察者に明らかである、キャリアフィルムおよび/またはバッグを適切に裂くことによって達成される。
【0012】
米国特許出願公開第20050036716号明細書(AMPAC PLASTICS LLC)は、従来の改ざん指示テープを必要とせずに、製造中にバッグに直接組み込まれ得る改ざん指示機能を有するセキュリティバッグを記述している。インク保持特性を改善するためにバッグを処理する前に、剥離材料がパターンメッセージまたはボイドメッセージの形でバッグに選択的に塗布される。処理後、剥離材料の上にインク層が塗布される。バッグの開口部を封止するとともに、少なくともバッグが密封されるときにインク層と接触する領域内で、接着剤層がバッグに塗布される。バッグが最初の密封の後で再び開放されると、剥離材料の上に塗布されたインク層の各部分が接着剤で保持され、インク層の残りはバッグの処理された表面上に保持される。
【0013】
米国特許第5631068号明細書(TRIGON PACKAGING CORP)は、コンテナを密封するためのテープまたはラベルを記述しており、このテープまたはラベルは、シールがこじ開けられるか、または破損温度未満に冷却された場合に視覚的証拠を提供する。テープは、プラスチックストリップ、プラスチックストリップの表面上に印刷されたインクの層、および感圧接着剤の層を含む。テープは、バッグを閉じて密封するためにバッグに組み込むことができる。テープは、プラスチックストリップと接着剤層との間に挟まれるインク層を含む。接着剤は、バッグを閉じて密封するためにバッグの各部分に固定することができる。シールがこじ開けられると、インク層は、プラスチックストリップから目に見えるように剥離する。接着剤層およびプラスチックストリップは、テープがその破壊温度未満に冷却されたときにインク層が剥離するように、冷却時に異なる収縮率を有するように選択される。テープの代替実施形態では、2つのインク層がプラスチックストリップ上に印刷される。第1のインク層は透明であり、未処理のプラスチックストリップ上にパターン状に印刷される。第2のインク層は不透明であり、プラスチックストリップが処理された後でプラスチックストリップおよび透明インクの上に均一に印刷される。
【0014】
米国特許第4449631号明細書(レベルガーアルビン、レベルバータンク)は、改ざんの存在を直ちに明らかにする、医薬品および他の製品用の密封可能なパッケージを記述している。パッケージは、印刷された輪郭を有する熱可塑性フィルムの封印済み封筒からなり、パッケージの封止は印刷された輪郭で行われる。密封後、フィルムは収縮して、閉じ込められた空気のために封止領域を膨張させやすい。パッケージが破裂した場合、膨張は失われる。パッケージが封止領域で切断された場合、印刷領域内の不規則性によって引き起こされる視覚的指示なしにパッケージを再封止するのは不可能である。
【0015】
秘密がデジタルである場合、秘密は、それが認証された受取人によってロック解除されるまで、いかなる情報リーダに対しても不透明な物理的コンテナ/導管を依然として必要とする。コンテナが通信回線である場合、秘密は、通常、回線上での盗聴を防止するために暗号化されなければならない。これで問題は解決しない、というのは、現在、暗号鍵である別の秘密が受取人に伝達されなければならず、この場合もさらなる暗号化などを必要とするからである。公開鍵暗号は、現在、秘密が移動する必要がないことを確実にする最良の解決策であるが、公開鍵暗号は一般に、量子コンピューティング攻撃に対して脆弱である。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】米国特許第5918983号明細書
【特許文献2】米国特許第5788377号明細書
【特許文献3】米国特許第5108194号明細書
【特許文献4】米国特許出願公開第20050036716号明細書
【特許文献5】米国特許第5631068号明細書
【特許文献6】米国特許第4449631号明細書
【発明の概要】
【発明が解決しようとする課題】
【0017】
本発明の第1の態様によれば、コンテンツを保存するように構成された1つまたは複数の破壊読み出しメモリ(DeRM)要素を備える改ざん明示コンテナであって、1つまたは複数のDeRM要素のそれぞれは、1つまたは複数のDeRM要素のそれぞれによって保存されたコンテンツが、1つまたは複数のDeRM要素のそれぞれが破壊的に読み出されるときに明らかにされるコンテンツよりも大きくなるように構成される、改ざん明示コンテナが提供される。
【課題を解決するための手段】
【0018】
この構成は、傍受者が、読み取ることで明らかになるコンテンツよりも多くのコンテンツを破壊することなく、コンテナのコンテンツのかなりの部分を読み取ることができないことを意味する。コンテンツを以前の状態に復元するには、明らかにされなかったものを含む、破壊されたすべてのコンテンツの知識が必要である。
【0019】
破壊読み出しメモリ(DeRM)要素は、メモリを読み出すプロセスがメモリのコンテンツを破壊させるものである。DeRM要素のためのライトバック機構を提供することが可能であり、取得されたデータへの継続的なアクセスが許可されると決定された場合、ライトバック機構は、データがメモリから破壊的に読み取られるときにデータをライトバックし、この場合はライトバック機構が提供されないことが好ましい。
【0020】
本発明は、完全にデジタルの改ざん明示技術を提供し、この技術は、一実施形態では、個々のビットのデータが読み取られないように保護されているメモリチップの形態のマイクロ電子とすることができ、それにより、任意の有意な数のビットを読み取る傍受者の行為は顕著な痕跡を残す。したがって、複製不能性および破砕可能性がナノメートルスケールで達成される。これにより、技術プロバイダは、すべてのプロトコルから人的要素を除外し、かかるチップにメッセージを書き込むか、またはかかるチップに入っているデータを読み取り検証するマシンの周りにセキュリティ境界を配置することが可能になる。
【0021】
好ましくは、コンテナは物理的コンテナを備える。コンテナは、電子機器ベース、光学ベース、化学ベース、またはマイクロメカニクスベースとすることができる。好ましくは、コンテナは、コンテナ内にデジタルデータを保持する物理的コンテナを備える。
【0022】
好ましくは、コンテナは、実用的な目的のために十分な記憶容量を備え、例えば、この容量は、数メガバイトから1テラバイト超に及ぶことができ、好ましくは、以下に記載される消去およびチャレンジ機構を介する以外の、すべてまたはほぼすべての個々の記憶要素へのアクセスを得ることを実行不可能または非経済的にするように配置される。
【0023】
好ましくは、コンテナは、送り主と受取人との間でデジタルデータを搬送または輸送するように構成される。
【0024】
好ましくは、コンテナは、複数のDeRM要素のアレイを備える。
【0025】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、1つまたは複数のDeRMセルを備える。
【0026】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、複数のDeRMセルを備える。
【0027】
一代替例では、1つまたは複数のDeRM要素のそれぞれが、3つのDeRMセルを備える。
【0028】
一代替例では、1つまたは複数のDeRM要素のそれぞれが、3つ以上のDeRMセルを備える。
【0029】
一代替例では、1つまたは複数のDeRM要素のそれぞれが、4つのDeRMセルを備える。
【0030】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、好ましくは製造中にのみ消去されるか、その要素のユーザによって繰り返し消去されるかのどちらかとなるように構成される。前者の場合、コンテナは、秘密を1回だけ伝達するために使用することができる。
【0031】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、チャレンジされるように構成される。
【0032】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、1つまたは複数のDeRM要素のそれぞれのアドレスと(各アドレスに関して)制限値セットからのデジタル値とをコンテナに供給することによってチャレンジされるように構成される。
【0033】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、1つまたは複数のDeRM要素のそれぞれのアドレスと各アドレスに関して制限値セットからのデジタル値とをコンテナに供給することによってチャレンジされるように構成される。
【0034】
好ましくは、アドレスは、従来のメモリで使用されるのと同じ形式である。
【0035】
好ましくは、各DeRM要素が3つのDeRMセルを備える場合、制限値セットは110、101、011を含む。
【0036】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、エンコーダおよびアグリゲータを備える。
【0037】
好ましくは、エンコーダは、2ビットのチャレンジコードを、DeRM要素が3つのDeRMセルを備える制限値セットから選択される3ビットのチャレンジに変換するように構成される。
【0038】
好ましくは、エンコーダは、3ビットのチャレンジコードを、DeRM要素が4つのDeRMセルを備える制限値セットから選択される4ビットのチャレンジに変換するように構成される。
【0039】
好ましくは、アグリゲータは、DeRM要素からの単一出力を可能にするように配置される。
【0040】
好ましくは、コンテナはクロック信号を有し、チャレンジはクロック信号のエッジで検知される。
【0041】
チャレンジは、好ましくは、1つまたは複数のDeRM要素のそれぞれに2つのアクションを同時に実行させ、すなわち
a.DeRM要素のコンテンツおよびチャレンジ値に基づいてDeRM要素のコンテンツを修正させ、
b.新しいコンテンツが修正の前にそこにあったものと何らかの形で異なるか否かを示す1ビット信号応答を出力させ、
応答が、新しいコンテンツが異なることを示す場合、これは相違(1)応答であり、そうでない場合、応答は一致(0)である。
【0042】
このようにして、1つまたは複数のDeRM要素のそれぞれの出力が存在する。
【0043】
好ましくは、チャレンジは、1つまたは複数のDeRM要素のそれぞれの外側の任意のインタフェースではなく、1つまたは複数のDeRM要素のそれぞれ自体に、2つのアクションを同時に実行させる。
【0044】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、DeRM要素に、書き込まれるべきコンテンツの一部または全部でチャレンジすることにより、そのDeRM要素に書き込まれた有効なコンテンツを有するように構成される。
【0045】
一代替例では、1つまたは複数のDeRM要素のそれぞれが、コンテンツのすべてが書き込まれるまで、DeRM要素に、書き込まれるべきコンテンツの一部または全部で繰り返しチャレンジすることにより、そのDeRM要素に書き込まれた有効なコンテンツを有するように構成される。
【0046】
一代替例では、DeRM要素に、書き込まれるべきコンテンツの一部または全部でチャレンジする前に、DeRM要素は消去される。別の代替例では、DeRM要素は製造中に既に消去されており、再び消去することはできない。
【0047】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、以下のステップ、すなわち、
1.DeRM要素を消去するステップ(要素が製造中に消去されており、再び消去することができない場合を除く)、次いで随意に、
2.DeRM要素に、書き込まれるべきコンテンツの一部または全部でチャレンジするステップ、次いで随意に、
3.ステップ2を繰り返すステップ
を実行することにより、そのDeRM要素に書き込まれる有効なコンテンツを有するように構成される。
【0048】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、DeRM要素のコンテンツがそれにチャレンジすること以外によって読み取られることができないように構成される、例えば好ましくは、1つまたは複数のDeRM要素のそれぞれは、DeRM要素のコンテンツがコンテナのインタフェースを改ざんすることによって読み取られることができないように構成される。
【0049】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、チャレンジされたときにのみ1ビット一致/相違応答を出力するように構成される。
【0050】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、チャレンジされたときに1ビット一致/相違応答以外の情報を出力しないように構成される。
【0051】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、任意のチャレンジへの応答がもたらすよりも多くの情報を含むように構成され、好ましくは、付加情報は、少なくとも1つのチャレンジ値に対して不可逆的に破壊され、どのチャレンジ値がそのような情報損失を引き起こすかは、好ましくは、チャレンジされたDeRM要素に保存されたコンテンツに依存する。例えば、各DeRM要素が3つのDeRMセルを備える場合、コンテンツ011にチャレンジ011でチャレンジすること(「一致」応答につながる)は、どんな状態変化または情報損失も引き起こさないのに対して、コンテンツ011にチャレンジ110でチャレンジすることは、コンテンツを111に移行させ(「相違」応答につながる)、したがって、初期コンテンツが011であり、101ではなかったという情報を破壊する。
【0052】
好ましくは、1つまたは複数のDeRM要素のそれぞれが複数のDeRMセルを備えるとき、破壊的読み出しは、そのDeRM要素が構成されるDeRMセルのうちの1つが状態を変化させたことを明らかにすることができるが、これがどのDeRMセルであったかを開示しない。
【0053】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、相違応答を引き起こす任意のチャレンジ値がプロセス内の一部の情報を破壊するように構成される。したがって、1つまたは複数のDeRM要素のそれぞれのコンテンツの検索には、好ましくは、受取人が、1つまたは複数のDeRM要素のいずれかがチャレンジされる前に、チャレンジによって破壊される情報に取って代わる付加情報を取得する必要がある。この付加情報は情報不足と呼ばれる。
【0054】
例えば、特定の実施形態においてDeRM要素が値110、101または011を含む場合、値110でチャレンジすることであれば、相違応答は、DeRM要素のコンテンツが101であったか011であったかを示さず、以前のコンテンツはチャレンジによって破壊され、したがって再びチャレンジすることはできない。しかしながら、チャレンジを発行する前に、コンテンツが110か011のどちらかであると受取人がライタによって公に知らされた場合、110か011のどちらかでのチャレンジは、正しいコンテンツを受取人に明らかにするが、第三者には明らかにしない。
【0055】
破壊的読み出しと情報不足とを組み合わせた別の結果は、物理的記憶要素の直上に信号プローブを特徴サイズ精度で配置することにより、侵入がコンテナの1つまたは複数のDeRMセルを備えるすべてまたはほぼすべての個々のメモリ要素(ビット)を分離し、その状態を測定することができない場合を除いて、含まれるデータを読み出し、それを同一のコンテナにコピーするためのコンテナ内の物理的介入が無効になることである。
【0056】
これによりコンテナを大量生産することが可能になる、というのは、コンテナは、改ざん検出の証拠のために個別化される必要がないからである。
【0057】
本発明の第2の態様によれば、好ましくはDeRM要素のそれぞれに、書き込まれるべきコンテンツの一部または全部でチャレンジすることにより、本発明の第1の態様のコンテナにデータをロードする方法が提供される。
【0058】
一代替例では、1つまたは複数のDeRM要素のそれぞれが、コンテンツのすべてが書き込まれるまで、DeRM要素のそれぞれに、書き込まれるべきコンテンツの一部または全部で繰り返しチャレンジすることにより、そのDeRM要素に書き込まれた有効なコンテンツを有するように構成される。
【0059】
一代替例では、DeRM要素のそれぞれに、書き込まれるべきコンテンツの一部または全部でチャレンジする前に、DeRM要素は消去される。別の代替例では、DeRM要素のそれぞれが製造中に既に消去されており、再び消去されることはできない。
【0060】
一代替例では、コンテナにデータをロードする方法は、1つまたは複数のDeRM要素のそれぞれに、以下のステップ、すなわち、
1.DeRM要素を消去するステップ(要素が製造中に消去されており、再び消去されることができない場合を除く)、次いで随意に、
2.DeRM要素に、書き込まれるべきコンテンツの一部または全部でチャレンジするステップ、次いで随意に、
3.ステップ2を繰り返すステップ
を連続的に実行することを含む。
【0061】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、1つまたは複数のDeRM要素のそれぞれのアドレスと(各アドレスに関して)制限値セットからのデジタル値とをコンテナに供給することによってチャレンジされる。
【0062】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、1つまたは複数のDeRM要素のそれぞれのアドレスと各アドレスに関して制限値セットからのデジタル値とをコンテナに供給することによってチャレンジされる。
【0063】
好ましくは、アドレスは、従来のメモリで使用されるのと同じ形式である。
【0064】
好ましくは、1つまたは複数のDeRM要素のそれぞれが3つのDeRMセルを備える場合、制限値セットは110、101、011を含む。
【0065】
好ましくは、コンテナはクロック信号を有し、チャレンジはクロック信号のエッジで検知される。
【0066】
チャレンジは、好ましくは、1つまたは複数のDeRM要素のそれぞれに2つのアクションを同時に実行させ、すなわち
a.DeRM要素のコンテンツおよびチャレンジ値に基づいてDeRM要素のコンテンツを修正させ、
b.新しいコンテンツが修正の前にそこにあったものと何らかの形で異なるか否かを示す1ビット信号応答を出力させ、
応答が、新しいコンテンツが異なることを示す場合、これは相違(1)応答であり、そうでない場合、応答は一致(0)である。
このようにして、1つまたは複数のDeRM要素のそれぞれの出力が存在する。
【0067】
好ましくは、チャレンジは、1つまたは複数のDeRM要素のそれぞれの外側の任意のインタフェースではなく、1つまたは複数のDeRM要素のそれぞれ自体に、2つのアクションを同時に実行させる。
【0068】
好ましくは、コンテナにデータをロードする方法は、以下のステップ、すなわち
1.(情報理論的な用語で)情報不足に等しいランダムフィラーを用いて秘密ビット列を拡張するステップ、
2.送り主が、可能性のあるチャレンジのどれが秘密ビット列を明らかにし、(秘密ビット列内の情報の一部を破壊するのではなく)フィラーを破壊するかに関する情報を、サイドチャネルを通じて受取人に送信するステップ
を経由して送り主から受取人への秘密ビット列の伝達を容易にする。
本発明の特定の実施形態では、コンテナにデータをロードする方法は、1つまたは複数のDeRM要素のそれぞれが3つのDeRMセルを備える場合、以下に記載の手順CFP1またはCFP2に記載のステップを含むことができる。
【0069】
コンテナ充填手順CFP1
1.書き込む前に、送り主は、送り主がまさに充填しようとしているDeRM要素のそれぞれについて、個人用除外値011、101または110を指定する。除外値は無作為に選択され、送り主は、その選択肢を送り主のセキュリティ境界内のある永続記憶装置に記録する。この値は、対応するDeRM要素に書き込まれるべき値の選択肢から除外され、他の2つの情報保持値が唯一の選択肢として残される。除外値(複数可)の機密性は、提案した方法のセキュリティプロパティにとって重要である、というのは、この機密性は、このプロパティがDeRMコンテナ内の秘密を読み取り不能にする十分な情報不足を作り出すのは任意の傍受者(ならびに情報公開前の正当な受取人)に知られていないということであるからである。
2.コンテナに保存されるべきコンテンツは、トリプレット形式(triplet form)で符号化された一連の2進値である。2進値は、個人用であり、永続的であり、かつ送り主のセキュリティ境界内に保存される秘密ビット列の一部を形成し、2進値の元の形式で通信されることはない。1つの可能な実施形態では、トリプレット値と2進値との間の対応関係は、優先符号化規則011<101<110を使用して確立され、いずれのトリプレットが除外されても、残りの低い方が値「0」の符号化になり、残りの高い方が「1」の符号化になる。このようにして、送り主および受取人は、除外値が既知であるときにコンテンツの一貫した解釈をする。送り主は、それに応じてコンテンツを符号化し、これを一時ファイルに保存し、一時ファイルは、CFP1を完了した後で破壊される。別の可能な実施形態では、トリプレット値と2進値との間の対応関係は、巡回符号化規則011->101->110->011を使用して確立され、いずれのトリプレットが除外されても、サイクル内の次のトリプレットは値「0」の符号化になり、サイクル内の前のトリプレットは「1」の符号化値になる。
3.コンテンツが符号化されたときに、コンテナは消去され(要素が製造中に消去されており、再び消去されることができない場合を除く)、トリプレットの符号化シーケンスはチャレンジとしてそれに提示され、それはシーケンスをDeRMコンテナの連続アドレスに効果的にコピーする。
【0070】
コンテナ充填手順CFP2
1.書き込む前に、送り主は、送り主がまさに充填しようとしているDeRM要素のそれぞれについて、個人用符号化値011、101または110を指定する。符号化値は無作為に選択され、送り主は、その選択肢を送り主のセキュリティ境界内のある永続記憶装置に記録する。符号化値の機密性は、提案した方法のセキュリティプロパティにとって重要である。
2.符号化値が選択されたときに、コンテナは消去され(要素が製造中に消去されており、再び消去されることができない場合を除く)、符号化値のシーケンスはチャレンジとしてそれに提示され、それはシーケンスをDeRMコンテナの連続アドレスに効果的にコピーする。
3.コンテナによって公開されるべきコンテンツは、一連の2進値である。2進値は、個人用であり、永続的であり、かつ送り主のセキュリティ境界内に保存される秘密ビット列の一部を形成し、2進値の元の形式で通信されることはない。これらの値は、コンテナの受領が受取人によって、例えばサイドチャネルを使用することによって確認された後まで、送り主によって選択されないことが可能である。公開されるべき各2進値について、除外されるトリプレット値は、符号化値に応じて選択される。1つの可能な実施形態では、トリプレット値と2進値との間の対応関係は、巡回符号化規則011->101->110->011を使用して確立され、いずれのトリプレットが符号化されても、サイクル内の次のトリプレットは、2進値「1」を公開するための除外値になり、サイクル内の前のトリプレットは、2進値「0」を公開するための除外値になる。
【0071】
本発明の第3の態様によれば、コンテンツを保存するように構成された1つまたは複数の破壊読み出しメモリ(DeRM)要素を備えるコンテナにデータをロードする方法であって、1つまたは複数のDeRM要素のそれぞれは、1つまたは複数のDeRM要素のそれぞれによって保存されたコンテンツが、1つまたは複数のDeRM要素のそれぞれに、書き込まれるべきコンテンツの一部または全部でチャレンジすることにより、1つまたは複数のDeRM要素のそれぞれが破壊的に読み出されるときに明らかにされるコンテンツよりも大きくなるように構成される、方法が提供される。
【0072】
一代替例では、1つまたは複数のDeRM要素のそれぞれが、コンテンツのすべてが書き込まれるまで、1つまたは複数のDeRM要素のそれぞれに、書き込まれるべきコンテンツの一部または全部で繰り返しチャレンジすることにより、そのDeRM要素に書き込まれた有効なコンテンツを有するように構成される。
【0073】
一代替例では、1つまたは複数のDeRMのそれぞれに、書き込まれるべきコンテンツの一部または全部でチャレンジする前に、1つまたは複数のDeRM要素のそれぞれが消去される。別の代替例では、1つまたは複数のDeRM要素のそれぞれが製造中に既に消去されており、再び消去されることはできない。
【0074】
一代替例では、コンテナにデータをロードする方法は、1つまたは複数のDeRM要素のそれぞれに、以下のステップ、すなわち、
1.DeRM要素を消去するステップ(要素が製造中に消去されており、再び消去されることができない場合を除く)、次いで随意に、
2.DeRM要素に、書き込まれるべきコンテンツの一部または全部でチャレンジするステップ、次いで随意に、
3.ステップ2を繰り返すステップ
を連続的に実行することを含む。
【0075】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、1つまたは複数のDeRM要素のそれぞれのアドレスと(各アドレスに関して)制限値セットからのデジタル値とをコンテナに供給することによってチャレンジされる。
【0076】
好ましくは、1つまたは複数のDeRM要素のそれぞれが、1つまたは複数のDeRM要素のそれぞれのアドレスと各アドレスに関して制限値セットからのデジタル値とをコンテナに供給することによってチャレンジされる。
【0077】
好ましくは、アドレスは、従来のメモリで使用されるのと同じ形式である。
【0078】
好ましくは、1つまたは複数のDeRM要素のそれぞれが3つのDeRMセルを備える場合、制限値セットは110、101、011を含む。
【0079】
好ましくは、コンテナはクロック信号を有し、チャレンジはクロック信号のエッジで検知される。
【0080】
チャレンジは、好ましくは、1つまたは複数のDeRM要素のそれぞれに2つのアクションを同時に実行させ、すなわち
a.DeRM要素のコンテンツおよびチャレンジ値に基づいてDeRM要素のコンテンツを修正させ、
b.新しいコンテンツが修正の前にそこにあったものと何らかの形で異なるか否かを示す1ビット信号応答を出力させ、
応答が、新しいコンテンツが異なることを示す場合、これは相違(1)応答であり、そうでない場合、応答は一致(0)である。
このようにして、1つまたは複数のDeRM要素のそれぞれの出力が存在する。
【0081】
好ましくは、チャレンジは、1つまたは複数のDeRM要素のそれぞれの外側の任意のインタフェースではなく、1つまたは複数のDeRM要素のそれぞれ自体に、2つのアクションを同時に実行させる。
【0082】
好ましくは、コンテナにデータをロードする方法は、以下のステップ、すなわち
1.(情報理論的な用語で)情報不足に等しいランダムフィラーを用いて秘密ビット列を拡張するステップ、
2.送り主が、可能性のあるチャレンジのどれが秘密ビット列を明らかにし、(秘密ビット列内の情報の一部を破壊するのではなく)フィラーを破壊するかに関する情報を、サイドチャネルを通じて受取人に送信するステップ
を経由して送り主から受取人への秘密ビット列の伝達を容易にする。
【0083】
本発明の第4の態様によれば、本発明の第2の態様または第3の態様の方法によって本発明の第1の態様のコンテナにロードされたデータが以前にアクセスされていないことを検証する方法であって、
【0084】
1.送り主が、本発明の第1の態様のコンテナ内に含まれるランダム化された機密コンテンツを受取人に送信するステップであって、送り主がそのコンテンツのコピーを送り主の局部セキュア記憶装置に保持する、ステップと、
2.送り主が、サイドチャネル通信を介して、受取人がコンテナを受信したことを確立するステップと、
3.送り主が、サイドチャネル通信を介して、コンテナのコンテンツからのデータのサブセットに関する追加情報を受取人に明らかにするステップと、
4.受取人が、追加情報を使用してステップ3からのコンテナのコンテンツからのデータのサブセットを取得するステップと、
5.受取人が、ステップ4で取得されたデータのサブセットの要約を作成するステップと、
6.受取人が、ステップ5で得られた要約を、サイドチャネルを通じて送り主に送信するステップと、
7.送り主が、送り主の局部セキュア記憶装置に保持されたコンテンツのコピーに関する要約を計算するステップと、
8.送り主が、受取人の要約を送り主の要約と比較し、送り主の要約が受取人の要約と同じである場合、コンテンツが第三者によって読み取られておらず、そうでない場合は読み取られている、ステップと、
9.送り主が、ステップ8で送り主によって実行された比較の結果を、サイドチャネルを通じて受取人に送信するステップと、
10.受取人が、随意に、コンテナから、コンテナが機密コンテンツに関して含むことができる残りの情報を削除するステップと
を含む、方法が提供される。
【0085】
好ましくは、サイドチャネルは認証される。しかしながら、サイドチャネルは個人用である必要はない。
【0086】
一代替例では、本方法は、ステップ2a(ステップ2とステップ3との間)を含み、必要に応じて追加情報の詳細を決定するために、サイドチャネルを通じて送り主と受取人との間に予備通信が存在する。
【0087】
好ましくは、データのサブセットの要約は、業界標準の暗号ハッシュであり、好ましくは、業界標準の暗号ハッシュは、それが取得された元のデータの単一ビットを学習するために第三者によって反転されることができない。
【0088】
一代替例では、ステップ3において、コンテナのコンテンツからのデータのサブセットに関する追加情報は、一連のn(A,X)個のペアを含む受取人へのメッセージを含む、ただし、i=0...n-1であり、nは、送り主がこの時点で受取人と共有したい秘密ビット列の長さである。値nは、ビット列を正確に推測する確率を低減するのに十分な大きさであるものとする。通常、n≧100である。各ペアにおいて、AはDeRM要素のアドレスであり、Xは送り主によって以前に選択された除外値である。
【0089】
一代替例では、ステップ4において、受取人は、Xが除外されるときに、各i番目のペアについて、アドレスAを持つコンテナDeRM要素に残りの2つの可能なトリプレット値{L,H}の一方でチャレンジすることにより、追加情報を使用してコンテナのコンテンツからデータのサブセットを取得する。2つのチャレンジのどちらが使用されるかは、受取人によって無作為に選択される。受取人は、チャレンジサイクルが終わると、DeRM要素からの出力Dを記録する。値Dが0である場合、選択されたチャレンジは、保存された情報コンテンツCと同じになる。値Dが1である場合、選択されなかったチャレンジは、保存された情報コンテンツと同じになる。
【0090】
一代替例では、ステップ5において、ステップ4で取得されたデータのサブセットの要約は、再構築されたビット列Cの業界標準の暗号ハッシュを含む。
【0091】
一代替例では、ステップ6において、再構築されたビット列Cの業界標準の暗号ハッシュが、共有を確認するために受取人によってサイドチャネル上で送り主に返信される。
【0092】
一代替例では、ステップ9において、ハッシュが正しい場合に肯定応答がサイドチャネル上で受取人に送信される、またはハッシュが正しくない場合に否定応答が送信される。これは共有秘密Cを暴露しない、というのは、暗号ハッシュは原像に関する情報を漏洩しないと推定されるからである。
【0093】
一代替例では、ステップ10において、受取人は、本方法のステップ1で使用されたすべてのコンテナ位置Aに111を書き込み、したがって、DeRM要素内の合意された共有秘密のすべての痕跡を確実に破棄する。共有秘密は、揮発性メモリに保持され、このメモリに上書きされるまで、あるいは電源が切れるかまたは方法ステップが繰り返されるまで、どちらが先に起こるかにかかわらず有効なままである。
【0094】
一代替例では、ステップ3において、コンテナのコンテンツからのデータのサブセットに関する追加情報は、一連のn(A,X)個のペアを含む受取人へのメッセージを含む、ただし、i=0...n-1であり、nは、送り主がこの時点で受取人と共有したい秘密ビット列の長さである。値nは、ビット列を正確に推測する確率を低減するのに十分な大きさであるものとする。通常、n≧100である。各ペアにおいて、AはDeRM要素のアドレスであり、Xは、除外値か、アドレスAを持つDeRM要素の実際のコンテンツのどちらかである。Xが前者である場合、ペアを鍵ペアと呼び、後者である場合、選択肢ペアと呼ぶ。送り主が自由に使える計算能力が大きいほど、一連の選択肢ペアの数m<nが多くなり、プロトコルにかかる時間が長くなる。実用的な目的のために、最小長さシーケンスn~100では、m~20を有することで十分であろう(下記参照)。送り主は、ステップ3で使用するための一連のすべての選択肢ペアの位置を記録する。
【0095】
一代替例では、ステップ4において、受取人は、Xが除外されるときに、各i番目のペアについて、アドレスAを持つコンテナDeRM要素に残りの2つの可能なトリプレット値{L,H}の一方でチャレンジすることにより、追加情報を使用する。2つのチャレンジのどちらが使用されるかは、受取人によって無作為に選択される。受取人は、チャレンジサイクルが終わると、DeRM要素からの出力Dを記録する。値Dが0である場合、選択されたチャレンジは、保存された情報コンテンツCと同じになる。値Dが1である場合、選択されなかったチャレンジは、保存された情報コンテンツと同じになる。
【0096】
一代替例では、ステップ5において、ステップ4で取得されたデータのサブセットの要約は、再構築されたビット列Cの業界標準の暗号ハッシュを含む。
【0097】
一代替例では、ステップ6において、再構築されたビット列Cの業界標準の暗号ハッシュが、共有を確認するために受取人によってサイドチャネル上で送り主に返信される。
【0098】
一代替例では、ステップ7において、送り主は、元の一連上の選択肢ペアに対応する位置をマーキングする受取人に代わってビット列Cを再構築する。そうした位置のビットは予測することができない、というのは、受取人には誤った除外値を送信され、したがって、DeRMにチャレンジしたときのDeRMからの出力は、受取人がそれぞれの場合に選択した2つの利用可能なチャレンジのどちらかに応じて0または1となり得るからである。送り主は、典型的には100万オーダの全2個の組合せを試みる。
【0099】
一代替例では、ステップ8において、ステップ6からのビット列Cの受信したハッシュ値に等しいハッシュ値をもたらすステップ7からの組合せは正しいと宣言される。
【0100】
一代替例では、ステップ9において、一致が見出された場合に肯定応答がサイドチャネル上で受取人に送信される、または一致が見出されない場合に否定応答が送信される。
【0101】
一代替例では、ステップ10において、受取人は、プロトコルのステップ1で使用されたすべてのコンテナ位置Aに111を書き込み、したがって、DeRM要素内の合意された共有秘密のすべての痕跡を確実に破棄する。共有秘密は、揮発性メモリに保持され、このメモリに上書きされるまで、あるいは電源が切れるかまたは方法ステップが繰り返されるまで、どちらが先に起こるかにかかわらず有効なままである。
【0102】
定義。透かしは、111で始まり終わる111値および000値のシーケンスであり、連続したアドレスにあるDeRM内に配置される。エンドマーカとは別に、トリプレット111は2進法の1として解釈され、トリプレット000は2進法の0として解釈される。バイナリとして解釈される透かしのコンテンツは、バージョン値と呼ばれる。
【0103】
一代替例では、ステップ2aにおいて、サイドチャネルを通じた送り主から受取人への追加の通信は、開始アドレスを含む。受取人は、コンテナの開始アドレスに(任意のトリプレットで)チャレンジすることにより、開始アドレスを使用してコンテナのコンテンツからバージョン値を取得する。アドレスにあるDeRM要素が111以外のものであると決定された場合、受取人は、最初の透かしに遭遇し、これが完全に読み取られるまで、次のアドレスに進む。この代替例では、ステップ2aにおいて、サイドチャネルを通じた受取人から送り主への追加の通信は、透かし位置およびバージョン値を含む。送り主は、透かし位置およびバージョン値を受信し、送り主は、送り主の局部記憶装置に保持されたコンテンツのコピーを使用して、送り主が送り主の不揮発性メモリに保持しているコンテンツファイルの関連するアドレスからL個のトリプレットをフェッチすることにより、コンテナのコンテンツからデータのサブセットに関する追加データを計算して、変換T(ただし、vは透かしのバージョン値であり、Tはそれに依存する何らかの公開アルゴリズムである)をL個のトリプレットのシーケンスに適用して、それらのアドレスにあるコンテナに書き込まれるシーケンスS’を取得する。以前に不揮発性記憶装置にセーブされたバイナリコンテンツファイル(本発明の第2の態様に記載のCFP1ステップ2またはCFP2ステップ3を参照)を使用して、送り主は、シーケンスS’からそのコンテンツを生成する除外値X’を再構成することができる、すなわち、送り主はL個の新たな鍵ペアを計算することができる。送り主はまた、S’から対応するトリプレットを取るだけで選択肢ペアを生成することもできる。
【0104】
一代替例では、ステップ3において、コンテナのコンテンツからのデータのサブセットに関する追加情報は、一連のn(A,X)個のペアを含む受取人へのメッセージを含む、ただし、i=0・・・n-1であり、各ペアは、鍵ペアか選択肢ペアのどちらかである。値nは、ビット列を正確に推測する確率を低減するのに十分な大きさであるものとする。通常、n≧100である。各ペアにおいて、AはDeRM要素のアドレスであり、Xは、鍵ペアの場合の除外値か、選択肢ペアの場合のアドレスAを持つDeRM要素の実際のコンテンツのどちらかである。コンテナのすべての受取人が一般に異なるコンテンツを受信するので、受取人は、仮定された脅威モデルの下で選択肢ペアをまったく必要としないことを選択することができる。選択肢ペアの使用が依然として正当化され得る、より攻撃的な脅威モデルが存在し得ることが認識される。
【0105】
一代替例では、ステップ4において、各i番目のペアについて、受取人は、Xが除外されるときに、アドレスAを持つコンテナDeRM要素に残りの2つの可能なトリプレット値{L,H}の一方でチャレンジする。2つのチャレンジのどちらが使用されるかは、受取人によって無作為に選択される。受取人は、チャレンジサイクルが終わると、DeRM要素からの出力Dを記録する。値Dが1である場合、選択されなかったチャレンジは、保存された情報コンテンツと同じになる。値Dが0である場合、選択されたチャレンジは、保存された情報コンテンツCと同じになるか、あるいは保存されたコンテンツは111である。これらのケースを区別するために、受取人は、DeRM要素に2回目にペアL、Hからの他のトリプレット値でチャレンジし、2回目のチャレンジが終わるとDeRM要素からの出力Dを記録する。この値Dが1である場合、第1のチャレンジは、保存された情報コンテンツと同じである。この値Dが0である場合、保存されたコンテンツは111である。L個のトリプレットが読み取られる前に透かしが検出された場合、プロトコルは失敗する。
【0106】
一代替例では、ステップ5において、ステップ4で取得されたデータのサブセットの要約は、再構築されたビット列Cの業界標準の暗号ハッシュを含む。
【0107】
一代替例では、ステップ6において、ビット列Cの暗号ハッシュは、共有を確認するために受取人からサイドチャネル上で送り主に返信される。
【0108】
一代替例では、ステップ7において、送り主は、元の一連上の選択肢ペアに対応する位置(もしあれば)をマーキングする受取人に代わってビット列Cを再構築する。そうした位置のビットは予測することができない、というのは、受取人には誤った除外値を送信され、したがって、DeRMにチャレンジしたときのDeRMからの出力は、受取人がそれぞれの場合に選択した2つの利用可能なチャレンジのどちらかに応じて0または1となり得るからである。送り主は、2個の組合せをすべて試みる。
【0109】
一代替例では、ステップ8において、ビット列Cの受信したハッシュ値に等しいハッシュ値をもたらす組合せは正しいと宣言される。(選択肢ペアが使用されていない場合、m=0であり、チェックすべきビット列は1つのみである。)
【0110】
一代替例では、ステップ9において、一致が見出された場合に肯定応答がサイドチャネル上で受取人に送信される、または一致が見出されない場合に否定応答が送信される。
【0111】
一代替例では、ステップ10において、受取人は、プロトコルのステップ1で使用されたすべてのコンテナ位置Aに111を書き込み、したがって、DeRM要素内の合意された共有秘密のすべての痕跡を確実に破棄する。共有秘密は、揮発性メモリに保持され、このメモリに上書きされるまで、あるいは電源が切れるかまたは方法ステップが繰り返されるまで、どちらが先に起こるかにかかわらず有効なままである。
【0112】
好ましくは、データのサブセットの要約は、業界標準の暗号ハッシュであり、好ましくは、業界標準の暗号ハッシュは、それが取得された元のデータの単一ビットを学習するために第三者によって反転されることができない。
【0113】
本発明はまた、送り主と受取人との間でデジタルデータを搬送する物理的コンテナの第三者による改ざんの証拠を取得する方法であって、証拠が、その信号端末を使用してコンテナにデジタル信号を送受信することによってのみ自動モードで確実に取得される、方法を提供する。改ざんは、上記の一般的な方法のステップ8での不一致によって証明される。
【0114】
コンテナおよびその有用性は、もっぱら本明細書に記載の破壊的読み出しおよび情報不足の2つの基本的特性に依存する。破壊的読み出し特性は、傍受者が、情報を破壊するようにプロセス内のコンテンツを変更する可能性なしに、コンテナのコンテンツを読み出すことができないことを意味する。情報不足特性は、1つまたは複数のDeRM要素のそれぞれによって保存された情報コンテンツが、1つまたは複数のDeRM要素のそれぞれが破壊的に読み取られるときに明らかにされる情報コンテンツよりも大きいことを意味する。これは、傍受者が、読み取ることで明らかになる情報よりも多くの情報を破壊することなく、コンテナのコンテンツのかなりの部分を読み取ることができないことを意味する。コンテンツが読み取られ、したがって変更された後、コンテンツを、これが読み取る前であった状態に復元しようとするいかなる試みも、情報不足特性によって妨げられ、コンテンツを復元するには、傍受者は、送り主によってコンテナに保存されたすべての情報を必要とし、この情報は、送り主が読み取ることによって破壊されるはずの部分を最初に供給することなしに、取り出すことができない。
【0115】
本発明の一用途は、ランダムなコンテンツを共有し、そのコンテンツが共有鍵として使用されるようにすることであり、オープンチャネル上での送り主と受取人との間のさらなる機密の交換のためのワンタイムパッドの使用を含む。このようなユースケースでは、ステップ8の失敗は機密データを暴露しない。ステップ8が成功した場合、これは、共有されるべきコンテンツを第三者が見ていないことを保証する。
【0116】
本発明の第5の態様によれば、コンテンツを保存するように構成された1つまたは複数の破壊読み出しメモリ(DeRM)要素を備えるコンテナにロードされるデータであって、1つまたは複数のDeRM要素のそれぞれは、1つまたは複数のDeRM要素のそれぞれによって保存されたコンテンツが、1つまたは複数のDeRM要素のそれぞれが1つまたは複数のDeRM要素のそれぞれを、書き込まれるべきコンテンツの一部または全部でチャレンジすることによって破壊的に読み出されるときに明らかにされるコンテンツよりも大きいように構成される、データに以前にアクセスされたことがないことを検証する方法であって、
1.送り主が、本発明の第1の態様のコンテナ内に含まれるランダム化された機密コンテンツを受取人に送信するステップであって、送り主がそのコンテンツのコピーを送り主の局部セキュア記憶装置に保持する、ステップと、
2.送り主が、サイドチャネル通信を介して、受取人がコンテナを受信したことを確立するステップと、
3.送り主が、サイドチャネル通信を介して、コンテナのコンテンツからのデータのサブセットに関する追加情報を前記受取人に明らかにするステップと、
4.受取人が、追加情報を使用してステップ3からのコンテナのコンテンツからデータのサブセットを取得するステップと、
5.受取人が、ステップ4で取得されたデータのサブセットの要約を作成するステップと、
6.受取人が、ステップ5で取得された要約を、サイドチャネルを通じて送り主に送信するステップと、
7.送り主が、送り主の局部セキュア記憶装置に保持されたコンテンツのコピーに関する要約を計算するステップと、
8.送り主が、受取人の要約を送り主の要約と比較し、送り主の要約が受取人の要約と同じである場合、コンテンツが第三者によって読み取られたことがなく、そうでない場合は読み取られたことがある、ステップと、
9.送り主が、ステップ8で送り主によって実行された比較の結果を、サイドチャネルを通じて受取人に送信するステップと、
10.受取人が、随意に、コンテナから、機密コンテンツに関する、コンテナが含むことができる残りの情報を削除するステップと
を含む、方法が提供される。
【0117】
好ましくは、サイドチャネルは認証される。しかしながら、サイドチャネルは個人用である必要はない。
【0118】
一代替例では、本方法は、ステップ2a(ステップ2とステップ3との間)を含み、必要に応じて追加情報の詳細を決定するために、サイドチャネルを通じて送り主と受取人との間に予備通信が存在する。
【0119】
好ましくは、データのサブセットの要約は、業界標準の暗号ハッシュであり、好ましくは、業界標準の暗号ハッシュは、それが取得された元のデータの単一ビットを学習するために第三者によって反転されることができない。
ここで、本発明について、添付の図面を参照して単なる例として説明する。
【図面の簡単な説明】
【0120】
図1】単一ビットDeRMセルを示す図である。
図2】3つのDeRMセルを有するDeRM要素を示す図である。
図3】4つのDeRMセルを有するDeRM要素を示す図である。
【発明を実施するための形態】
【0121】
本発明の実施形態について、単なる例として以下に説明する。これらの例は、本出願人に現在知られている本発明を実施する最良の方法を示すが、これを実現することができる唯一の方法ではない。
【0122】
本発明は、データの確率的改ざん防止(PTP)デジタルコンテナを取得するための方法および実装形態に関する。
【0123】
本発明は、偽造が困難な破壊可能ラッピングや硬質シェルなど、個々の記憶ビットのレベルを超えるレベルの物理的保護の存在に依存しないが、本発明は、そのような物理的保護の任意の組合せに関連して使用することができる。
【0124】
本発明は、コンテナに何らかの改ざんがある場合、すなわち、コンテナに保存されているデータの任意の十分に大きなサブセットを読み取るための第三者による任意の試みがある場合、このような試みは、送り主および受取人が送達後検証プロトコルに関与するときに送り主および/または受取人によって検出されることを確実にする。
【0125】
破壊読み出しメモリ(DeRM)コンテナは、コンテナを送り主から受取人に輸送するのに必要とされるはずの最大時間よりも長い期間にわたって外部電力を必要とせずにデータを保存することができる記憶装置である。コンテナは、1つまたは複数のDeRM要素を有し、各DeRM要素はk個の列挙DeRMセルを含み、DeRMセルはそれぞれ、1ビットのデータを保存することができる。kは小さい整数であり、ほとんどの場合、3~8である。本発明の一実施形態では、k=3である。
【0126】
本発明は、完全デジタルPTPコンテナを生産するための技術としてDeRMコンテナを利用する。
【0127】
それぞれが1つまたは複数のDeRMセルを備える1つまたは複数のDeRM要素が提供され、任意の時点で、1つまたは複数のDeRM要素のそれぞれが、以下の状態、すなわち、
全ての構成DeRMセルのコンテンツが0であるときの消去された状態、
構成DeRMセルのコンテンツが1と0の混合であるときの充填された状態、
すべての構成DeRMセルのコンテンツが1であるときの読み取られた状態、
のうちの1つで個々に見出される。
【0128】
充填されたDeRM要素の有効なコンテンツは、情報不足の維持を容易にするために、DeRMセル値のいくつかの組合せを除外することができる。例えば、k=3の実施形態では、1を確保するために、値の組合せ001、010、および100を除外することができる。「相違」応答をもたらすDeRM要素に対する任意のチャレンジは、DeRM要素に含まれる情報をすべて破壊する、これは、001、次いで010、次いで100、および2などの一連のチャレンジによって傍受者がこの情報を徐々に抽出するのを阻止する。状態(コンテナの消費電力を監視する傍受者が知ることができる)を変化させるDeRMセルの数の知識では、DeRM要素内の情報について、出力によって明らかにされる1ビット(一致または相違)しか明らかにならない。
【0129】
DeRM要素は、個々にも、DeRMコンテナ全体を消去するときにも消去することができる(ユーザによっていつでも、あるいは場合によっては製造中に1回のみ、再度ではない)。DeRM要素のいずれかを消去しないと、DeRMコンテナの正しい機能を妨げる技術的障害となるが、セキュリティリスクをもたらすことはない。
【0130】
DeRM要素は、いつでもコンテンツで充填することができる。DeRM要素をコンテンツで充填する好ましい方法は、それが消去された後であり、かつそれに対して他の動作が実行される前である。DeRM要素を、これをコンテンツで充填する前に消去しないと、DeRMコンテナの正しい機能を妨げる技術的障害となるが、セキュリティリスクをもたらすことはない。好ましくは、充填ハードウェアは、情報不足が維持されることを確実にするために、DeRMセルが除外された組合せに設定されるのを防止するように考案される。
【0131】
好ましくは、DeRM要素は、破壊的読み出し動作を使用することにより、DeRM要素の所望のコンテンツの表現でチャレンジとして充填される。
【0132】
DeRM要素は、いつでも破壊的に読み出すことができる。この動作には、DeRM要素にチャレンジが提示される必要がある。チャレンジは、DeRMセル値の組合せで表され得る情報の一部または全部の表現である。チャレンジがDeRM要素のコンテンツを変更する場合、チャレンジは相違すると言われる。そうでなければ、チャレンジは一致すると言われる。k=3での発明者らのインスタンス化例では、チャレンジは、011などのDeRMセルのコンテンツにおける推測を表すことができる。DeRMセルのコンテンツを破壊的に読み取るプロセスでは、以下の2つのことが起こる。
【0133】
装置は、チャレンジが相違するか一致するかを検知する。一代替例では、装置は、これを電子的に、例えば、当技術分野で知られている標準的な技術である、フローティングゲートトランジスタ(フラッシュメモリの標準的なビルディングブロック)が低い制御ゲート電圧で開いたか高い制御ゲート電圧で開いたかに注目することにより、検知することができる。しかしながら、異なる検知方法を利用することができ、検知方法は本発明に特有のものではない。
【0134】
チャレンジが相違し、DeRM要素が充填状態にある場合、DeRM要素は読取り状態に設定され、これは、すべての構成DeRMセルのコンテンツが1に設定されることを意味する。チャレンジが相違しており、DeRM要素が消去状態にある場合、DeRM要素は、チャレンジによって表されるものに対応するコンテンツでの充填状態に設定される。一例では、破壊的読み出し動作の出力は、チャレンジの結果、すなわち、一致(0)または相違(1)である。
【0135】
好ましくは、各DeRM要素は、技術的障害を引き起こすことなく繰り返し読み取ることができる。
【0136】
このDeRMアーキテクチャの使用は、データが読み取られていることに受取人が気付かずに傍受者がDeRMコンテナに保存されたかなりの量のデータを読み取ることができないことを確実にする、というのは、DeRMコンテナは、充填状態のDeRMコンテナ内のすべての関連するDeRM要素と共に送り主によって送信されるからである。異なるチャレンジを使用して傍受者によって破壊的に読み取られるDeRM要素は、直ちに読取り状態へ移行し、その結果、これらのDeRM要素内の情報の一部の不可逆的破壊をもたらし、この破壊は、DeRM要素がDeRM要素に保存されたデータを読み取ったときに受取人によって検出され得る、次いで受取人は改ざんアラートを発することができる。改ざんは、上記の一般的な方法のステップ8での不一致によって証明される。
【0137】
本発明は、傍受者がそれによってチップに入り込んで、メモリへのアクセスを制御し、次いで各DeRMセルのデータ部分を読み取り、消去し、そして再充填するインタフェースをブロックアウトするインタフェース攻撃を排除するために、各DeRM要素を個々にかつ局所的に(例えば、シリコンダイ上の保護回路の物理的配置に関して)保護するように構成される。シリコンチップの現代の多層構造を考えると、シリコンに装着されたマイクロ電子プローブを直接使用して個々のDeRMセルにアクセスすることは、ほぼすべてのDeRMセルがこのように読み取られる必要がある場合には不可能または非実用的であると見なすことができる。DeRM要素の100%未満(例えば、99%)を有意に読み取ることは、ビット拡散逆関数を有する可逆関数を使う可能性があるために、傍受者には効果がないであろう。送り主は、それをコンテナ内に配置する前に、公開可逆関数を特定の長さLの秘密ビットの列に適用することができる。関数が、その逆関数が高度な計算ビット拡散を有するようなものである場合、数ビットの変更は、結果のすべてのビットを予測不可能にする点まで元のコンテンツの復元を妨げる。そのような拡散は、対称暗号、例えばAESの特徴である。コンテンツをコンテナ内に配置する前に、公知の鍵を有するAESをコンテンツに適用すると、任意の傍受者の復元プロセスにビット変更が壊滅的になる。これらの技術は、送り主および受取人が、すべてのDeRM要素のデータの有効性に決定的に依存する方法で、コンテンツを、それが配信された後で一貫して変換することを可能にする。
【0138】
アーキテクチャ
上記の考察に基づいて、トリプレット形式で符号化された単一の秘密の2進値を送り主から受取人へ伝達するのに適したDeRM要素の実装形態について以下に説明する。
【0139】
図1に示すDeRMセル10は、2つの入力、すなわちチャレンジ14および消去16と1つの出力18とを有する1ビット不揮発性メモリセル12をベースとする。DeRMセル10のコンテンツは、DeRMセル10に電力が供給されている限り、常に出力18上でアサートされる。クロック20が立ち上がる(ローからハイへ移行する)ときに入力14がハイである場合、セル12は状態「1」へ移行し、無期限にその状態のままである。セル12は、クロック20がハイへ移行する前に入力16をハイに上げることにより、「0」に消去することができる。セル12は、フラッシュメモリ内に見られるフローティングゲートトランジスタを使用して実装することができる。しかしながら、本発明は、特定の実装形態を必要としない、すなわち、上記のように挙動する任意のデジタル構造を、本発明を実装するときに使用することができる。
【0140】
セル12の前の2つのNOTゲート22およびANDゲート24は、入力14、16上でどの値がアサートされるかにかかわらず、セル12を同時にチャレンジおよび消去することを不可能にする。
【0141】
任意の入力信号がセル12を横切って伝播することができないうちにクロック20の立ち上がり(ローからハイへの移行)によってリセットされるラッチ26が設けられる。セル12の出力18は、立ち上がりエッジ-パルスコンバータ28(入力相互間にインバータ(NOTゲートなど)32を有するANDゲート30)を通ってラッチ26の入力34に送られる。消去信号がローのままであるという条件で、これは、クロック20が再び立ち上がる(ローからハイへ移行する)前にセル12のメモリコンテンツが変化した場合にラッチ26を設定することになる。これは、チャレンジ信号がハイであり、セル12のコンテンツが0である場合にのみ起こる。そうでなければ、ラッチ26はリセットされたままである。
【0142】
図2は、3つのDeRMセル10、エンコーダ40、およびアグリゲータ50を有するDeRM要素100を示す。エンコーダ40は、下の表1に示すように、入力された2ビットのチャレンジコードを3ビットのチャレンジに変換するように配置される。図示の実施形態におけるエンコーダ40は、XORゲート42を備えるが、エンコーダ40は、異なる装置を備えることもできる。アグリゲータ50は、DeRM要素200からの単一出力を可能にするように配置される。図示の実施形態におけるアグリゲータ50はORゲートを備えるが、アグリゲータ50は異なる装置を備えることもできる。

表1
【表1】
【0143】
3つの値のみが有効である、すなわち、3つのトリプレットに対応する01、10、11がチャレンジとして使用される。第4の値00は非チャレンジを表し、これは、標準的なデコーダによってDeRM要素のアレイ内の1つのDeRM要素をイネーブルにするのに便利である、すなわち、イネーブルにされたDeRM要素は非ゼロチャレンジを見ることになるが、残りは影響を及ぼさない00を受信することになる。次に、3つのDeRMセル10がエンコーダ40によって駆動され、最後に、DeRMセル10の出力がORゲート50に集められて、DeRM要素100の出力を形成する。DeRMセル10の状態はlog3≒1.58ビットの情報を伝えるが、出力は厳密にはバイナリ、すなわち1ビットであることに留意されたい。その結果、チャレンジする1つの行為がDeRMセル10の状態を潜在的に変化させる場合、その行為中に生成される出力は、前のコンテンツを決定するのに十分な情報を伝達しないので、DeRM要素100はその応答において情報不足を示す。
【0144】
図3は、4つのDeRMセル10、エンコーダ140、およびアグリゲータ150を有するDeRM要素200を示す。エンコーダ140は、下の表2に示すように、入力された3ビットのチャレンジコードを4ビットのチャレンジに変換するように配置される。図示の実施形態におけるエンコーダ140は、インバータ144(一代替例ではNOTゲートとすることもできる)、ORゲート146、およびANDゲート148からなる装置を備えるが、エンコーダ140は異なる装置を備えることもできる。アグリゲータ150は、DeRM要素200からの単一出力を可能にするように配置される。図示の実施形態におけるアグリゲータ150はORゲートを備えるが、アグリゲータ150は異なる装置を備えることもできる。
表2
【表2】
【0145】
4つの値のみが有効である、すなわち、4つのトリプレットに対応する100、101、110、111がチャレンジとして使用される。他の4つの値0XXは非チャレンジを表し、これは、標準的なデコーダによってDeRM要素のアレイ内の1つのDeRM要素をイネーブルにするのに便利である、すなわち、イネーブルにされたDeRM要素は非ゼロチャレンジを見ることになるが、残りは影響を及ぼさない000を受信することになる。次に、4つのDeRMセル10がエンコーダ140によって駆動され、最後に、DeRMセル10の出力がORゲート150に集められて、DeRM要素200の出力を形成する。DeRMセル10の状態はlog4=2ビットの情報を伝えるが、出力は厳密にはバイナリ、すなわち1ビットであることに留意されたい。その結果、チャレンジする1つの行為がDeRMセル10の状態を潜在的に変化させる場合、その行為中に生成される出力は、以前のコンテンツを決定するのに十分な情報を伝達しないので、要素はその応答において情報不足を示す。
【0146】
同様に情報不足および破壊的読み出しを示す任意のDeRM構造が、本発明の目的のためのDeRM要素の実装形態として許容できる。
【0147】
本発明の一実施形態によれば、PTP特性を提供することができるスローリリースコンテナ(slow release container)(SRC)が提供される。
【0148】
本発明の一実施形態では、スローリリースコンテナはコンテンツのすべてのビットに3セルDeRM要素を使用し、したがって情報不足によって各ビットを保護する。しかしながら、各DeRM要素において4つか、さらには5つ以上のDeRMセルを使用することが可能である。
【0149】
例えば、各DeRM要素が4つのDeRMセルを含む場合の一実施形態では、有効値は空:0(0000)、充填後:7(0111)、b(1011)、d(1101)、e(1110)、および読取り後:f(1111)であり、各DeRM要素について、送り主は、サイドチャネルを通じて受取人に2つの値(例えば、eおよび7)を通知する。この例では、eは送信された2進値0を表し、7は送信された値1を表す。どちらか一方の値を有するチャレンジは、受取人が、DeRM要素がどの値を含んでいたかを判定することを可能にする。
【0150】
傍受者がかなりの量のコンテンツを検出不能に読み取ることが不可能であるだけでなく、傍受者は、送り主に関与することなくそれを確実に読み取ることさえできない。そうでなければ、傍受者は、指数関数的にmが小さい確率で推測を確認するだけでmビットのコンテンツを読み取ることができ、これは、送り主および受取人が長さL≫mのブロックを使用するだけで、任意の所望の統計的マージンに対する確率的改ざん防止保護を得ることができることを意味する。
【0151】
PTP特性は、不可逆的(例えば、ハッシュ)か、または可逆的(例えば、公開された対称鍵による暗号化)のどちらかの、(公開の)ビットに敏感なコンテンツポストコーディングを必要とし、そのどちらかは、ブロック長さLが短いほど強い必要がある。上記の意味でのその確率的改ざん防止性のために、スローリリースDeRMコンテナは、時々部分的に公開される大量の秘密を保存するために使用することができ、これは、セキュリティ境界が弱い受取人にとって有用なプロパティ、例えば、モノのインターネット上のモノであり得る。
【0152】
DeRMで使用するためのスウォームプロトコル(swarm protocols)
以下では、IoTアプリケーション(しかしそれに限定されるものではない)に特に適している、DeRMコンテナの別の実施形態について説明する。IoTセキュリティ状況は、以下の2つの点で特殊である。
1.IoT装置のセキュリティは、それが固定セキュリティ境界の概念を損なうほどに、非常に弱い。欠点は、十分に高い周波数を有する複雑な暗号アルゴリズムの使用を妨げる、装置の限られた計算リソース、高いエネルギーコスト、またはその両方に起因する。攻撃を受けた場合、非DeRMメモリに含まれるデータは直ちに危険にさらされたと見なされるべきである。
2.物理的セキュリティもまた、例えば、装置が、通り、屋上、または遠隔地もしくは無人の場所の管理された建物の外側に配置されると、弱い可能性がある。しかしながら、スマート工場やスマート病院などの他の状況では、物理的セキュリティは、装置が設置されるとDeRMコンテナにアクセスできないと仮定するのに十分であり得る。
3.IoT装置は、多くの場合、十分に保護されたデータセンタと機密情報を共有するが、必ずしも互いに共有するとは限らない、最大で数千の個々のモノのスウォームで存在する。そのような条件下では、スウォームのすべてのモノにおいて同一またはほぼ同一のコンテンツのDeRMコンテナのレプリカを設置することが技術的に有利である。これはまた、監督エージェントが新しいモノを、その秘密のデータベースを拡張することなくいつでも動的に導入することを可能にし、一般的な、すなわち軽くカスタマイズされたコンテンツを有するDeRMコンテナのレプリカをインストールするだけで認可が与えられる。
【0153】
上記の状況は、以下の機構を必要とする。
(i)すべての秘密が、DeRMコンテナ内に、または攻撃検出インフラストラクチャによって敏速にかつ効果的に消去される揮発性メモリ内に(短寿命少量)存在する。
(ii)DeRMコンテナは、機密データのスローリリースをサポートし、それにより、センタが関与するプロトコルは、DeRMコンテナのコンテンツの一部を、残りをこのエージェントまたは他のエージェントにさらすことなく「ロック解除」することができる。プロトコルは、繰り返し実行するように設計されるべきであり、いかなる以前の結果にも依存すべきではない。
【0154】
スローリリースの要件のために、コンテナのまだ使用されていない部分も読取り不可能であるものとする。いかなるエージェントであっても、センタとのプロトコルに関与することなく、コンテンツをどこでも100%近く正確に読み取ることは(顕著な痕跡を残すか否かにかかわらず)、不可能であるか、またはほとんど起こりそうもないものとする。認証されたサイドチャネルの存在を推定するので、プロトコルに関与するという要件は、プロトコルが正当な相手方とのものであることを自動的に保証することを想起されたい。
【0155】
アーキテクチャ
本発明は、一実施形態では、図2に示すように3ビットの組合せとして符号化された1ビットのペイロードを搬送するDeRMセルトリプレットを使用する。具体的には、このインスタンス化におけるDeRM要素は、値000、011、101、110、111のみを保存するように電子的に制約される3つのDeRMセルを含む。
【0156】
3つのDeRMセルは同時に破壊的に読み取られ、これらのセルの出力はOR演算される。DeRM要素が消去されると、DeRM要素が3つのDeRMセルを有する場合にコンテンツは000に設定され、DeRM要素は、DeRMセルがどの状態にあっても出力に一致応答を生成する。コンテナは、チャレンジまたは消去するための特定のDeRM要素を選択することを可能にする任意の標準的なアドレス指定機構を装備したそのようなDeRM要素のセットであることが好ましい。
【0157】
チャレンジすることは、初期コンテンツを(消去後に)DeRM要素に書き込むプロセス、またはそのコンテンツを(書き込んだ後の任意の時点で)破壊的に検査するプロセスである。消去することは、グローバルである必要はない、というのは、再充填攻撃は、コンテナに再充填するためのコンテンツの完全な知識を有する傍受者に依存するからである。図2のゲート構造は、DeRM要素が単一の1を含むトリプレットで書き込まれるのを妨げ、単一の1は、3つの情報保持(充填)値、すなわち011、101、110のうちの1つに対応する2つの1であるか、またはそれぞれ読取り値/空の値である数値111/000のどちらかであることに留意されたい。値111は、1サイクルでDeRM要素に書き込むことはできないが、これは、DeRM要素に3つのチャレンジ011、101、110のうちの2つで連続的にチャレンジすることによって達成できることに留意されたい。
【0158】
消去後のコンテナへのデータロードは、以下の方法のうちの1つで進行することができる。
【0159】
コンテナ充填手順CFP1
1.書き込む前に、送り主は、送り主がまさに充填しようとしているDeRM要素のそれぞれについて、個人用除外値011、101または110を指定する。除外値は無作為に選択され、送り主は、その選択肢を送り主のセキュリティ境界内のある永続記憶装置に記録する。この値は、対応するDeRM要素に書き込まれるべき値の選択肢から除外され、他の2つの情報保持値が唯一の選択肢として残される。除外値の機密性は、提案した方法のセキュリティプロパティにとって重要である、というのは、この機密性は、セキュリティプロパティが、DeRMコンテナ内の秘密を読み取り不能にする十分な情報不足を作り出す傍受者(ならびに情報リリース前の正当な受取人)に知られていないということであるからである。
2.コンテナに保存されるべきコンテンツは、トリプレット形式で符号化された一連の2進値である。2進値は個人用であり、永続的であり、送り主のセキュリティ境界内に保存され、2進値の元の形式で通信されることはない。1つの可能な実施形態では、トリプレット値と2進値との間の対応関係は、優先符号化規則011<101<110を使用して確立され、いずれのトリプレットが除外されても、残りの低い方が値「0」の符号化になり、残りの高い方が「1」の符号化になる。このようにして、送り主および受取人は、除外値が既知であるときにコンテンツの一貫した解釈をする。送り主は、それに応じてコンテンツを符号化し、これを一時ファイルに保存し、一時ファイルは、CFP1を完了した後で破壊される。別の可能な実施形態では、トリプレット値と2進値との間の対応関係は、巡回符号化規則011->101->110->011を使用して確立され、いずれのトリプレットが除外されても、サイクル内の次のトリプレットは値「0」の符号化になり、サイクル内の前のトリプレットは「1」の符号化値になる。
3.コンテンツが符号化されたときに、コンテナは消去され(DeRM要素が製造中に消去され、再び消去されることができない場合を除く)、トリプレットの符号化シーケンスはチャレンジとしてそれに提示され、それはトリプレットのシーケンスをDeRMコンテナの連続アドレスにあるDeRM要素に効果的にコピーする。
【0160】
コンテナ充填手順CFP2
1.書き込む前に、送り主は、送り主がまさに充填しようとしているDeRM要素のそれぞれについて、個人用符号化値011、101または110を指定する。符号化値は無作為に選択され、送り主は、その選択肢を送り主のセキュリティ境界内のある永続記憶装置に記録する。符号化値の機密性は、提案した方法のセキュリティプロパティにとって重要である。
2.符号化値が選択されたときに、コンテナは消去され(DeRM要素が製造中に消去され、再び消去されることができない場合を除く)、符号化値のシーケンスはチャレンジとしてそれに提示され、それは符号化値のシーケンスをDeRMコンテナの連続アドレスにあるDeRM要素に効果的にコピーする。
3.コンテナによって公開されるべきコンテンツは、一連の2進値である。2進値は個人用であり、永続的であり、送り主のセキュリティ境界内に保存され、2進値の元の形式で通信されることはない。これらの値は、コンテナの受領が受取人によって、例えばサイドチャネルを使用することによって確認された後まで、送り主によって選択されないことが可能である。公開されるべき各2進値について、除外されるトリプレット値は、符号化値に応じて選択される。1つの可能な実施形態では、トリプレット値と2進値との間の対応関係は、巡回符号化規則011->101->110->011を使用して確立され、いずれのトリプレットが符号化されても、サイクル内の次のトリプレットは、2進値「1」を公開するための除外値になり、サイクル内の前のトリプレットは、2進値「0」を公開するための除外値になる。
【0161】
プロトコル
本発明は、傍受者も、受取人でさえもその除外値の知識なしに単一のDeRM要素を確実に読み取ることができず、除外値は、最初は送り主にとって個人用であるため、秘密を共有することを可能にする。実際、受取人がトリプレットTを含むDeRM要素に任意の有効なチャレンジG≠111を適用する場合、出力Dは、G=Tの場合に0(一致)となる、というのは、DeRMセルはその値を変更しないからである。G≠Tの場合、出力はD=1(相違)となり、同時にコンテンツはT=111となる。出力Dは、コンテンツもチャレンジも111に等しくないという条件で、100%の信頼性でG=Tであるか否かを示す。
【0162】
受取人が送り主にサイドチャネル上でのコンテナの到着を通知した後、受取人は、以下に記載されるプロトコルAに関与することによりコンテンツを読み取ることができる。いくつかの実施形態では、このプロトコルは、場合により間に長い時間遅延(数日間/数週間)があっても、異なるアドレス範囲に連続して適用され得る。
【0163】
プロトコルA
1.サイドチャネルを使用して、送り主は、一連のn(A,X)個のペアを含むメッセージを受取人に送信する、ただし、i=0・・・n-1であり、nは、送り主がこの時点で受取人と共有したい秘密ビット列の長さである。値nは、ビット列を正確に推測する確率を低減するのに十分な大きさであるものとする。通常、n≧100である。各ペアにおいて、AはDeRM要素のアドレスであり、Xは送り主によって以前に選択された除外値である。
2.各i番目のペアについて、受取人は、Xが除外されるときに、アドレスAを持つコンテナDeRM要素に残りの2つの可能なトリプレット値{L,H}の一方でチャレンジする。2つのチャレンジのどちらが使用されるかは、受取人によって無作為に選択される。受取人は、チャレンジサイクルが終わると、DeRM要素からの出力Dを記録する。値Dが0である場合、選択されたチャレンジは、保存された情報コンテンツCと同じになる。値Dが1である場合、選択されなかったチャレンジは、保存された情報コンテンツと同じになる。
3.再構築されたビット列Cのハッシュは、共有を確認するために受取人によってサイドチャネル上で送り主に返信される。送り主は、サイドチャネル上で受取人にハッシュが正しいと認めるか、または一致が見出されない場合に否定応答が送信される。これは共有秘密Cを暴露しない、というのは、暗号ハッシュは原像に関する情報を漏洩しないと推定されるからである。
4.受取人は、プロトコルのステップ1で使用されたすべてのコンテナ位置Aに111を書き込み、したがって、DeRM要素内の合意された共有秘密のすべての痕跡を確実に破棄する。共有秘密は、揮発性メモリに保持され、このメモリに上書きされるまで、あるいは電源が切れるかまたは方法ステップが再び実行されるまで、どちらが先に起こるかにかかわらず有効なままである。
【0164】
ここで、プロトコルAを傍受者の観点から検討する。下記の2つの可能なシナリオがある。
1.傍受者はサイドチャネルを監視するが、移動中にコンテナを傍受しない。
2.傍受者はコンテナを傍受し、いくつかのDeRM要素に対する再充填攻撃を開始する。
【0165】
第1のシナリオでは、傍受者にはコンテナへのアクセスがないため、ペアの知識は文字列Cの知識に変換されない。
【0166】
第2のシナリオでは、傍受者は、除外値を知ることなくいくつかのDeRM要素を正確に読み取り、DeRM要素を消去し(要素が製造中に消去され、再び消去されることができない場合を除く)、得られた値をライトバックしなければならない。あるいは、傍受者は、DeRM要素が消去状態に置かれている別のDeRMコンテナに値をライトバックしようと試みることができる。いずれにせよ、傍受者ができる最善のことは、出力からDeRM要素のコンテンツを推測したいと望む特定の数の要素にランダムなチャレンジを適用することである。チャレンジが0の出力を配信する場合、傍受者はコンテンツを確実に確立している(DeRM要素内にビットフリップがないのは正確に推測されたトリプレットを意味する、または0の出力は空のDeRM要素000を意味することができ、後で空のDeRM要素について論じるが、この時点では送り主がいかなるDeRM要素も空のままにしないものとする)。出力が1である場合、他の2つのトリプレットの一方がDeRM要素に保存され、コンテンツが破壊されるため、傍受者は、どのトリプレットかを知らないかまたは知ることができず、DeRM要素はここで111を含む。この後者のケースでは、傍受者は、チャレンジ以外の2つのトリプレットの間で推測を行う。確率を加算すると、
【数1】
となる。明らかに、n個のDeRM要素のセットについて、セット全体を正確に推測する確率は
【数2】
である。
【0167】
例えば、n=100の場合、この確率は
【数3】
である。困難にもかかわらず傍受者が幸運であると感じた場合、傍受者は、100個のDeRM要素のセットに対する再充填攻撃を、それらを消去し(要素が製造中に消去され、再び消去することができない場合を除く)、推測されたコンテンツをライトバックすることにより、開始することができる。(あるいは、傍受者は、値を別のDeRMコンテナにライトバックしようと試みてもよい。)次いで、傍受者は、ライトバックされたコンテナを受取人に転送する。受取人によって読み取られたコンテンツが送り主によって送信されたコンテンツと少なくとも1ビットが相違する場合、攻撃は失敗する。傍受者によって読み取られた各ビットについて、受取人によって読み取られたビットが送り主によって送信されたビットと相違する確率は1/4であり、したがって、ステップ3は、使用される暗号ハッシュの品質に起因して100%に十分に近い確率で失敗する。
【0168】
スウォーム制約:同一コンテナ
本発明はまた、個々の装置の代わりに、スウォームと呼ばれることが多い同じ種類のモノ、例えばセンサの大規模な集合を扱うときのIoT状況に対する解決策を提供する。このシナリオにおける送り主は、非IoT、例えば高電力サーバであり、これを続編でスウォームキーパと呼ぶ。キーパは、スウォーム内の各モノを対象としたコンテナのコンテンツ全体のコピーを、たとえそれらがすべて同じ種類であっても保持しなければならない。全てのコンテナが一般に異なるデータを含む場合、キーパにおけるストレージ要件はスウォームのサイズに比例し、法外に高価になる可能性がある(結果として個々のコンテナサイズを制限する)。
【0169】
スウォームのすべてのモノで同じコンテナデータ(ギガバイトに達する可能性がある)を使用できることが非常に望ましいが、他のモノが同じコンテナデータにアクセスすることができるという事実にもかかわらず、他のモノ(そのうちのいくつかが危険にさらされ得る)が所与のモノとそのスウォームキーパとの間で共有される秘密にアクセスするのを妨げるために追加のプロトコルサポートが必要になる。
【0170】
したがって、本発明は、プロトコルAのステップ1および3に変更が加えられた以下に記載のプロトコルBを提供する。
【0171】
プロトコルB。
1.送り主が、一連のn(A,X)個のペアを含むメッセージを受取人に送信する、ただし、i=0・・・n-1であり、nは、送り主がこの時点で受取人と共有したい秘密ビット列の長さである。値nは、ビット列を正確に推測する確率を低減するのに十分な大きさであるものとする。通常、n≧100である。各ペアにおいて、AはDeRM要素のアドレスであり、Xは、除外値か、アドレスAを持つDeRM要素の実際のコンテンツのどちらかである。それが前者である場合、ペアを鍵ペアと呼び、後者である場合、選択肢ペアと呼ぶ。キーパが自由に使える計算能力が大きいほど、一連の選択肢ペアの数m<nが多くなり、プロトコルにかかる時間が長くなる。最小長さシーケンスn~100における実用的な目的のためには、m~20を有することで十分であろう(下記参照)。送り主は、ステップ3で使用するための一連のすべての選択肢ペアの位置を記録する。
2.各i番目のペアについて、受取人は、Xが除外されるときに、アドレスAを持つコンテナDeRM要素に残りの2つの可能なトリプレット値{L,H}の一方でチャレンジする。2つのチャレンジのどちらが使用されるかは、受取人によって無作為に選択される。受取人は、チャレンジサイクルが終わると、DeRM要素からの出力Dを記録する。値Dが0である場合、選択されたチャレンジは、保存された情報コンテンツCと同じになる。値Dが1である場合、選択されなかったチャレンジは、保存された情報コンテンツと同じになる。
3.ビット列Cの暗号ハッシュは、共有を確認するために受取人からサイドチャネル上で送り主に返信される。送り主は、元の一連上の選択肢ペアに対応する位置をマーキングする受取人に代わってビット列Cを再構築する。それらの位置のビットは予測することができない、というのは、受取人には、誤った除外値、したがってDeRM要素からの出力が送信されたからである。チャレンジすると、それは、2つの利用可能なチャレンジのどちらかを受取人がそれぞれの場合に選択したかに応じて、0または1となり得る。送り主は、典型的には100万オーダの全2個の組合せを試み、ビット列Cの受信ハッシュに等しいハッシュ値をもたらす組合せは正しいと宣言される。プロトコルは、サイドチャネル上で受取人に送信された肯定応答で成功するか、または一致が見出されない場合に否定応答が送信される。
4.受取人は、プロトコルのステップ1で使用されたすべてのコンテナ位置Aに111を書き込み、したがって、DeRM要素内の合意された共有秘密のすべての痕跡を確実に破棄する。共有秘密は、揮発性メモリに保持され、このメモリに上書きされるまで、あるいは電源が切れるかまたは方法ステップが再び実行されるまで、どちらが先に起こるかにかかわらず有効なままである。
同じメッセージを持つコンテナを有し、ステップ1で公開されているメッセージから共有秘密を知りたい傍受者は、はるかに大きなチャレンジに直面する。傍受者は一連の選択肢ペアの位置を認識していないので、傍受者は、すべてのペアが潜在的に選択肢ペアであると仮定しなければならない。mの値が公開されている(攻撃者にとって幾分容易になる)場合、mビットがマークされたnビットのシーケンス上のすべての可能なマーキング、または受取人が送り主と共有している可能性のあるビット列を推測しようと試みるために、例ではn=100、m=20で8020>1038文字列の下限を与える2項係数
【数4】
を考慮しなければならない。暗号ハッシュを何度も計算することは、計算上実行不可能である。
【0172】
傍受者と正当な受取人は自由に使える同じ装置のコピーを有しているので、結果は少し不思議に見えるが、事実は、傍受者には2つの情報、0を試験するか1を試験するかを決定する際に受取人によって行われたランダムな選択、および送り主にのみ知られている元の除外値が欠けているが、送り主は前者を欠いているだけであるということである。傍受者および送り主のタスクが複雑さにおいて不釣り合いであることは驚くにはあたらない。実際、nがハッシュの長さpよりも有意に大きい場合、合意された秘密の少なくとも2pビットが使用されることもなく送り主と受取人の両方によって削除されることを条件として、非常に多くのフォールスポジティブが存在するので、傍受者の問題は無限の計算能力が与えられても解決できない。
【0173】
デュアルコンテナ攻撃および透かし防御
上記のプロトコルは、IoTアプリケーションにとって非常に満足のいくものであり、DeRMアーキテクチャの多くの強力な機能を利用する。そこにも1つの弱点がある。
【0174】
2つのDeRMコンテナが傍受者によって役立つモノから盗まれ、両方のコンテナ内のかなりの量のコンテンツが依然として未読であることを想像されたい。次いで、傍受者は、第1のコンテナのすべてのDeRM要素にチャレンジ011でチャレンジし、第2のコンテナのすべてのDeRM要素に101でチャレンジすることができる。どちらかのDeRMコンテナのDeRM要素から0の結果が得られる場合、その中のコンテンツはチャレンジに等しい。そうでなければ、各DeRM要素は3つの組合せのうちの1つを含むと予想されるので、コンテンツは110である。すべてのDeRMコンテナが同じコンテンツを保存する場合、傍受者は、確信をもって、かつ最初に除外値を知る必要なしに、コンテンツを再構築することが容易に分かる。
【0175】
本発明者らは、脅威モデルが物理的侵入の可能性を含む場合(およびこれはすべてのIoT状況に必ずしも存在するとは限らない要因である)、モノのスウォームは、DeRMコンテナコンテンツを個別化される必要があると結論付ける。しかし、個別化の目的は追加のエントロピーを提供することではないので、開始した場所には戻らず、そのため、モノは、本構成では、既にモノのキーパと非常に大量の真のランダムデータを共有することができる。個別化の目的は、同じコンテンツを保持することが公知であるDeRM要素の並置を防止することであり、この並置は、本方法を機能させるために必要な情報不足を(情報を2倍にすることなくデータを2倍にすることにより)効果的に除去する。
【0176】
その結果、デュアルコンテナまたは一般に任意の複数コンテナ攻撃を非生産的にするのに十分な、スウォームメンバのDeRMコンテナに保存されたデータを表面的に個別化するだけで十分であり、追加の秘密データを導入することなくそうするだけで十分である。いかなる秘密も管理される必要があるので、すなわち、保存され、保護され、かつ(遡及的攻撃を回避するために)もはや必要とされないときに破棄されるので、追加の秘密データの欠如は重要である。秘密が個人的なもの(モノにつき1つの秘密)である場合、スウォームキーパのオーバーヘッドにスウォームのサイズが乗算され、これは望ましくない。
【0177】
一般に、本発明者らは、コンテンツがキーパによってモノのDeRMコンテナに転送されるときに、コンテンツのランダム突然変異を、キーパに突然変異に関する情報を一切残すことなく導入することを望む。キーパは、認証されたモノと相互作用するプロセスにおいて、コンテンツが事後どのように変異したかを判定することができなければならない。本発明者らは、攻撃者が認証プロトコルを破ることはできないと仮定しており、したがって、通信チャネルの他端のアクターがそれ自体を識別する本物のモノであるという厳しい保証があると仮定し続けている。これにより、複数コンテナ攻撃が成功するのを不可能にできるようになる、ただし、異なるコンテナ内のコンテンツが十分に異なるならば、攻撃者は、送り主が本発明のDeRMコンテナに固有の破壊的な読取りおよび情報不足のために支援することなく、元の秘密を復元し並置することができない。
【0178】
したがって、以下に示す本発明の一実施形態は、それが実現可能であることを示すために、キーパと追加の秘密を共有する必要のない個別化の特定の技術である。他の技術を使用してもよい。本発明は、1つの特定の技術で使用するのではなく、マルチコンテナ攻撃を防止する革新的な方法を提供する。
【0179】
観察1。DeRM要素内のコンテンツ111は、送り主からのいかなる情報もなしにかつ特定のチャレンジも必要とせずに決定することができる。さらに、一度チャレンジされたDeRM要素を分析して、チャレンジ自体が111ではなかったという条件で、それが111を元々含んでいたかどうかを、確信して判定することができる。
【0180】
実際、受信されたコンテナのDeRM要素に何らかのチャレンジx(110、101、または011)で初めてチャレンジされ、その応答が1である場合、DeRM要素が111を含まなかったと確信をもって言う。あるいは、応答が0である場合、DeRM要素に非ゼロトリプレットy≠x(ただしy≠111)で再度チャレンジし、再び0を得る場合、結論は元のコンテンツが111であったということである。
【0181】
観察2。DeRM要素内のコンテンツ000は、任意のチャレンジxが与えられて結果0をもたらす。
両方の観察結果は、アーキテクチャのセクションで説明したDeRMアーキテクチャから得られる。
【0182】
定義。透かしは、111で始まり終わる111値および000値のシーケンスであり、連続したアドレスにあるDeRMコンテナ内に配置される。エンドマーカとは別に、トリプレット111は2進法の1として解釈され、トリプレット000は2進法の0として解釈される。
【0183】
透かしは、コピー機によって配置することができ、チャレンジ者(受取人または傍受者であり得る)によって検出することができ、DeRMコンテナの連続するアドレスに適用された任意の一連のチャレンジの下で完全に読み取ることができる。コピー機は、キーパに代わって動作し、モノがスウォームのメンバとして展開される前に、キーパによって供給される共有コンテンツをモノコンテナ(0で始まる連続アドレス)にコピーする役割を担う別個のエンティティとすることができる。コピー機は、キーパによって生成され、コピー機が新たなDeRMコンテナにコピーするように指示される完全なDeRMコンテンツ以外のいかなる秘密もキーパと共有しない。コピー機は、キーパの一部とすることもできるが、コピー機をキーパのセキュリティ境界内の別個のエンティティとして考えると便利である。
【0184】
透かしは、その位置を事前に知ることなく受取人によって認識され、透かしには、プロトコルCに基づくキーパからの命令を受けてDeRM要素にチャレンジするプロセスにおいて遭遇する。これは、スウォーム全体で元の秘密のみを使用しながら、すべてのDeRMコンテナで同じコンテンツを回避するという目標を達成するための鍵である。これが実際にどのように達成され得るかを以下に例示する。
【0185】
派生コンテンツ
1.プロトコルAおよびプロトコルBとは対照的に、送り主は、除外値ではなくコピー機に渡されるべきトリプレットのシーケンス(それらのプロトコルに基づいてコンテナに書き込まれる)を保存する。バイナリコンテンツは以前と同様に保存される。
2.コピー機は、ある長さのランダムな2進数(実際には数十ビットに限定することができるが、固定長である必要はない)を符号化する透かしを用いて、センタによって供給されるトリプレットの流れを散在させる。透かしは、影響を受けていないトリプレットのアドレスを保存するように元のコンテンツを置き換える。透かしに含まれる数字は、バージョンの意味を有する。透かしは一定の間隔Lで続き、透かし自体の長さは間隔から除外される。アドレス0を持つDeRM要素は、第1の透かしの開始位置である。
3.連続する透かしの間で、コピー機は、バージョン値を使用して元のコンテンツSのセグメントを変換する。コピー機は、S’=T(S)を取得する、ただし、vは先行する透かしの値であり、Tはそれに依存する何らかの公開アルゴリズムであり、SをS’に置き換える。S’の長さは、Sと同じになるようにアルゴリズムによって保証されるものとする。S’は、コンテナに保存される。
4.プロセスは、センタによって供給されたトリプレットSに対応するすべてのトリプレットS’がコンテナに保存されるまで継続する。コピー機は、キーパの不揮発性記憶装置に保存された元のコンテンツを変更せず、挿入された透かしおよび適用された変換を、アルゴリズムTがキーパを含めて公知であることを除いて、キーパに通知しないことに留意されたい。
【0186】
プロトコルBは、以下を得るように修正される。
【0187】
プロトコルC。
1.送り主は、コンテナがプロトコルCのために準備されていることをサイドチャネル上で受取人に通知し、それらに開始アドレスを与える。受取人は、コンテナの開始アドレスに(任意のトリプレットで)チャレンジすることによって開始する。アドレスにあるDeRM要素が111以外であると決定された場合、受取人は、最初の透かしに遭遇し、これが完全に読み取られるまで、次のアドレスに進む。透かし位置およびバージョン値は、サイドチャネル上で送り主に返信される。
2.送り主は、透かし位置およびバージョン値を受信する。送信者は、その不揮発性メモリ内に保持するコンテンツファイルの関連アドレスからL個のトリプレットをフェッチする。次いで、それは、コピー機がそれらのアドレスにあるコンテナに書き込んだシーケンスS’を取得するために、L個のトリプレットのシーケンスにTを適用する。以前に不揮発性記憶装置にセーブされたバイナリコンテンツファイル(CFP1のステップ2またはCFP2のステップ3を参照)を使用して、送り主は、シーケンスS’からそのコンテンツを生成する除外値X’を再構成することができる、すなわち、送り主はL個の新たな鍵ペアを計算することができる。送り主はまた、S’から対応するトリプレットを取るだけで選択肢ペアを生成することもできる。送り主が、一連のn(A,X)個のペアを含むメッセージを送信する、ただし、i=0・・・n-1であり、各ペアは鍵ペアか選択肢ペアのどちらかである。値nは、ビット列を正確に推測する確率を低減するのに十分な大きさであるものとする。通常、n≧100である。各ペアにおいて、AはDeRM要素のアドレスであり、Xは、鍵ペアの場合の除外値か、選択肢ペアの場合のアドレスAを持つDeRM要素の実際のコンテンツのどちらかである。コンテナのすべての受取人が一般に異なるコンテンツを受信するので、受取人は、仮定された脅威モデルの下で選択肢ペアをまったく必要としないことを選択することができる。選択肢ペアの使用が依然として正当化され得る、より攻撃的な脅威モデルが存在し得ることが認識される。
3.各i番目のペアについて、受取人は、Xが除外されるときに、アドレスAを持つコンテナDeRM要素に残りの2つの可能なトリプレット値{L,H}の一方でチャレンジする。2つのチャレンジのどちらが使用されるかは、受取人によって無作為に選択される。受取人は、チャレンジサイクルが終わると、DeRM要素からの出力Dを記録する。値Dが1である場合、選択されなかったチャレンジは、保存された情報コンテンツと同じになる。値Dが0である場合、選択されたチャレンジは、保存された情報コンテンツCと同じになるか、あるいは保存されたコンテンツは111である。これらのケースを区別するために、受取人は、DeRM要素に2回目にペアL、Hからの他のトリプレット値でチャレンジし、2回目のチャレンジが終わるとDeRM要素からの出力Dを記録する。この値Dが1である場合、第1のチャレンジは、保存された情報コンテンツと同じである。この値Dが0である場合、保存されたコンテンツは111である。L個のトリプレットが読み取られる前に透かしが検出された場合、プロトコルは失敗する。
4.ビット列Cの暗号ハッシュは、共有を確認するために受取人からサイドチャネル上で送り主に返信される。送り主は、元の一連上の選択肢ペアに対応する位置(もしあれば)をマーキングする受取人に代わってビット列Cを再構築する。そうした位置のビットは予測することができない、というのは、受取人は誤った除外値を送信され、したがって、それにチャレンジしたときのDeRM要素からの出力は、受取人がそれぞれの場合に選択した2つの利用可能なチャレンジのどちらかに応じて0または1になる可能性があったからである。送り主は2個のすべての組合せを試み、受信したCに等しいハッシュ値をもたらす組合せは正しいと宣言される。(選択肢ペアが使用されていない場合、m=0であり、チェックすべきビット列は1つのみである。)プロトコルは、サイドチャネルを通じて受取人に送信された肯定応答で成功するか、または一致が見出されない場合に否定応答が送信される。
5.受取人は、プロトコルのステップ1で使用されたすべてのコンテナ位置Aに111を書き込み、したがって、DeRM要素内の合意された共有秘密のすべての痕跡を確実に破棄する。共有秘密は、揮発性メモリに保持され、このメモリに上書きされるまで、あるいは電源が切れるかまたは方法ステップが再び実行されるまで、どちらが先に起こるかにかかわらず有効なままである。
【0188】
最後に、マルチコンテナ攻撃を阻止する少なくとも1つの変換Tの存在を実証しなければならない。ここで示される特定の変換は不可逆的であるが、この目的のために可逆的変換Tを構築し使用することも可能である。
【0189】
関数を導入
M(t,v,S)=ε(T(S),t)、
上式で、同じ長さの任意のシーケンスxおよびyについて、関数ε(x,y)は、x=yであればε(x,y)=1、そうでなければ0となるような同じ長さのシーケンスをもたらす。シーケンスMは、攻撃者がコンテナを盗み、対応するコンテンツに何らかのシーケンスtでチャレンジした場合に攻撃者が見るものであることに留意されたい。任意の有効なv1≠v2、t1、t2、および任意のSについて、M(t、v、S)とM(t、v、S)との間の相互情報を最小化しようとしている。
【0190】
相互情報を最小化する1つの明白な(しかし、必ずしも最も経済的ではない)方法が、暗号ハッシュを使用し、それにSおよびvを供給することである。そのようなハッシュの結果は、それが引数と認識可能に相関しないという意味で擬似乱数である。
【0191】
トリプレット上の「三値チェックサム」演算子
【数5】
を以下のように定義する、
【数6】
上式で、ωはトリプレットから数へのマッピングであり、
ω(011)=0、ω(101)=1、ω(110)=2である。
【0192】
ここで、R(S,v)=H(S||v)を、Sとvの連結の暗号ハッシュとする。明らかに、RのすべてのビットがSのすべてのビットの擬似ランダム関数であると仮定され、これは暗号ハッシュの品質基準であり、Sの任意のビットとRの任意のビットとの間の相互情報が無視できるほど小さいという別の言い方である。次に、Tを以下のように定義し、
【数7】
暗号ハッシュ関数のプロパティにより、所要の独立性が達成されることを観察する。また、「Tをクラックする」試みは、ハッシュの中で最も単純なものでさえも大規模な試行錯誤の試みを必要とし、各試みは有効なDeRMコンテナを必要とすることに留意されたい。現実的なスウォームは、数千または数万のモノからなり得るが、ハッシュに対する典型的な総当たり攻撃は、数十億の試行、しばしば無数の試行を伴う。これにより、提案した方法が安全になる。
【0193】
ここでは、はるかに単純化された手順を見つける可能性があることを述べるが、ハッシュ計算の複雑さは送り主、この場合はスウォームキーパにのみ影響を及ぼすこと、また本発明者らの脅威モデルでは、送り主は強力であり、物理的にも暗号的にもその固定セキュリティ境界によって保護されているため、送り主が新たなシーケンスを送信するたびに呼び出される標準的なハッシュであっても大きなコストを伴わないことにも留意されたい。

図1
図2
図3
【国際調査報告】