JP2010505169A - データを保証するためのシステム及び方法 - Google Patents

データを保証するためのシステム及び方法 Download PDF

Info

Publication number
JP2010505169A
JP2010505169A JP2009529732A JP2009529732A JP2010505169A JP 2010505169 A JP2010505169 A JP 2010505169A JP 2009529732 A JP2009529732 A JP 2009529732A JP 2009529732 A JP2009529732 A JP 2009529732A JP 2010505169 A JP2010505169 A JP 2010505169A
Authority
JP
Japan
Prior art keywords
data
master block
auth
block
authentication code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009529732A
Other languages
English (en)
Other versions
JP2010505169A5 (ja
JP5076110B2 (ja
Inventor
アクセル・アプヴリル
アレクサンドル・フレイ
クリストフ・コラス
Original Assignee
トラスティド・ロジック
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 トラスティド・ロジック filed Critical トラスティド・ロジック
Publication of JP2010505169A publication Critical patent/JP2010505169A/ja
Publication of JP2010505169A5 publication Critical patent/JP2010505169A5/ja
Application granted granted Critical
Publication of JP5076110B2 publication Critical patent/JP5076110B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Abstract

本発明は、データを保証するためのシステム及び方法に関する。本発明のシステムは、モノトニックカウンターと、演算エンティティと、物理的データ媒体と、認証キーとを具備してなり、前記物理的データ媒体は、1つ又は複数の保証されたデータブロック(DBk1,DBk2,DBk3,DBk4)と、第1マスターブロック(MBk1)と、第1マスターブロックの複製を形成している第2マスターブロックとを備え、第1マスターブロック(MBk1)は、モノトニックカウンターから回復された最後の値(Vlast)と、前記媒体上に書込まれた最後のデータブロック(DBk)の識別子(IDlast)と、書込まれた1つ又は複数のデータブロックの信頼性を保証する第1認証コード(Auth_A)と、中立値に固定されている前記データが書込まれた最後のデータブロックから計算された第2認証コード(Auth_B)と、第1マスターブロック(MBk1)の信頼性を保証する第3の認証コード(Auth_C)とを具備することを特徴とする。より詳細には、本発明は、再生に対して、及び、実行するシステムにおける突然のサービス妨害に対して、データ保証する。

Description

本発明は、物理的媒体上に記憶されたデータを保証するためのシステム及び方法に関する。より詳細には、再生に対してデータを保証する一方、他方では、特に突然のサービス妨害によって生じた損傷又は変更に対してデータを保証するようなシステム及び方法に関する。
データ管理システムの以前の内容を非合法的にコピーすることによって、データに不正にアクセスする再生がよくあった。例えば、時間t0において、システムS0はファイルFを読み出す権利を持ち、t0の後の時間tにおいて、これらの権利はSに相当する前記システムの内容を消費すると仮定すると、時間tにおいて有効として認識されたS0を含むシステムを得るために、システムSにおけるシステムS0の内容をコピーすることによって、再生は時間tにおいてファイルFを読出すための不正なアクセスを許可する。
慣習的に、従来技術のシステムにおけるデータは、各セッションで変更するランダムなイベント、タイムスタンプ、又はモノトニックカウンターに送信することによって、再生から保護される。
突然のサービス妨害は、例えば前記データが読出されるとき又は書込まれるときに、物理的媒体に含まれたデータを損傷する可能性がある。こうした突然のサービス妨害は一般に、主に停電の結果又は不注意な再起動の結果、急に停止したデータ管理システムによって引き起こされる。書込まれた又は読出されたデータの損傷は、さらにまた、犯罪者がデータ管理システムにおける読出し又は書込み行為を意図的に変更するとき、攻撃作用によって引き起こされる。あるいはその他にも、偶発的誤りが生じた場合、特に、ハードディスクの再生ヘッドに損傷を与えたり、又はそれを駆動するメカニズムに損傷を与える。
慣習的に、従来技術のシステムにおけるデータは、前記データをバックアップし、かつ、バックアップされたデータを回復させることを可能とすることによって、突然のサービス妨害から保護される。例えば、データ媒体がハードディスクであるとき、このディスクは、1つ又はそれ以上の追加ディスクを使用しているRAID(Redundant Array of Independent Disks)に搭載されている。RAID1におけるディスクの配置が特に挙げられる。
しかしながら、突然のサービス妨害によって引き起こされた損傷に対して、一方ではデータを回復させるとともに、他方では前記データを再生から保護することを組み合わせることは容易なことではない。実際、データ回復に関しては、損傷を受けたデータを取り戻すことが望まれるのに対して、再生を防ぐには、目的が前記データのいかなる検索をも防止することである。データを含むパーティションに対するバックアップシステムを、モノトニック(monotonic)カウンターを含む、再生に対する前記パーティションの保護に組合せることは、それゆえ両立しないようにみえる。反対の状況において、保存された旧いパーティションの回復は、再生させない(anti‐playback)の保護システムと矛盾する。なぜならば、それはモノトニックカウンターの優先順位の値を使用するからである。
上記で述べた先行技術を考慮すると、本発明が解決を提供する問題は、一方では再生に対して、他方では特に持続するサービス中断によるデータ変更に対して、データを保証するシステム及び方法の実現である。
前述のこの問題に対する発明によって提案された解決の第1目的は、データを保証するためのシステムであって、
モノトニックカウンターと、
演算エンティティと、
物理的データ媒体と、
認証キーとを具備してなり、
前記物理的データ媒体は、1つ又は複数の保証されたデータブロックと、
第1マスターブロックと、
第1マスターブロックの複製を形成している第2マスターブロックとを備え、
前記第1マスターブロックは、モノトニックカウンターから回復された最後の値と、前記媒体上に書込まれた最後のデータブロックの識別子と、書込まれた1つ又は複数のデータブロックの信頼性を保証する第1認証コードと、中立値に固定されている前記データが書込まれた最後のデータブロックから計算された第2認証コードと、第1マスターブロックの信頼性を保証する第3の認証コードとを具備することを特徴とする。
第2目的は、データを保証する方法であって、
モノトニックカウンターと、演算エンティティと、物理的データ媒体と、認証キーとを提供するステップと、
書込みステップとを具備し、前記書込みステップは、
前記データ媒体に、1つ又は複数のデータブロックと、モノトニックカウンターから回復された最後の値を含む第1マスターブロックと、前記媒体上に書込まれた最後のデータブロックの識別子と、書込まれた1つ又は複数のデータブロックの信頼性を保証する第1認証コードと、中立値に固定されている前記データが書込まれた最後のデータブロックから計算された第2認証コードと、第1マスターブロックの信頼性及び第1マスターブロックの複製を形成する第2マスターの信頼性を保証する第3の認証コードとを書込むことを特徴とする。
本発明は、以下の非限定的記載及び関係する添付の図面を読むことによってよく理解される。
本発明によるシステムの種々の構成を示す概略図である。 物理的媒体上に記録されたデータブロックのセットと、前記データに関連づけた2つのマスターブロックの概略図であり、それらは本発明によって保証されることができることを示す図である。 本発明によるシステムが起動されるとき、前記システムのコヒーレンスの検証を導く異なるステップを示す図である。 本発明によるシステムの物理的媒体上に新しいデータを書込むことを導く種々のステップを示す図である。 本発明によるマスターブロック認証コードの識別子を導くステップの概略図である。 本発明によるマスターブロック認証コードの計算を導くステップの概略図である。 本発明によるデータ媒体上に書込まれたデータの読出しを導く種々のステップを示す図である。 本発明によるデータ回復処理における種々のステップを示す図である。 本発明によるマスターブロック回復システムにおける種々のステップを示す図である。
本発明において、データがサードパーティーによって非合法的に変更又は置換されてはいないと保証することが許可されると、いずれのデータも信頼できるとみなされる。データは、より詳細には、MAC(Message Authentication Code)として知られた暗号化データを与える暗号化アルゴリズムによって認証される。このようなアルゴリズムは秘密キーを使用するとともに、保護のためにデータで動作する。それは適切な秘密キーを提供することによって、検証することができるだけである。それは一般に、データの由来及び整合性を保証する短い認証コードを生成する。データ及びコードに対する単一の循環が変化(alternation)する。
本発明は、データを保証するためのシステム10に関する。一例として、前記システムは携帯電話型の装置に組み込まれたシステムであり、より詳細には、キーパッドを嵌め込んだケーシング、スクリーン、マイクロフォン、拡声器、電子カード、データ送信及び受信モジュール、加入者識別モジュール(SIM)、及び電力を供給するバッテリーを具備している。電子カードは少なくとも1つのマイクロコントローラ、RAMメモリ、フラッシュメモリ、及びバス・システムを具備している。電話動作は、オペレーティング・システムと、例えば前記電話のメモリ内にインストールされた一連のアプリケーションとのセットによって管理される。
図1Aに示すように、本発明のシステムは、モノトニックカウンター11、演算エンティティ(entity)12、システムキー13、及び物理的データ媒体14を具備している。
前記システム10は、詳細には、パーティション管理システム又はファイル管理システムである。
前記モノトニックカウンター11は、単一のユニットによってインクリメントすることができるだけのカウンターである。このカウンターの現在値Vは回復することができる。しかしながら、この現在値の回復はカウンター11をインクリメントしないことに留意される。カウンター11はこのように、その現在値の回復のために、第1インクリメント命令及び第1命令とは異なる第2命令に対して応答することができる。モノトニックカウンター11の現在値は、本発明の一つの好ましい実施形態よれば、このカウンターに保存・暗号化される。この場合、この値は正規に認証されたシステムエンティティによって回復することができるだけである。
前記演算エンティティ12は、物理的エンティティ又は論理エンティティである。物理的エンティティが含まれるとき、これは例えば、暗号化プロセッサのような計算アプリケーションに専用可能なマイクロプロセッサ又はマイクロコントローラである。論理エンティティが含まれるとき、これは例えば、一般的なプロセッサ上で計算させることが可能なソフトウェアの一部である。より詳細には、これは、特にMAC又は本発明による、要求される検証だけでなく他の暗号化及び復号化を演算するエンティティ12である。このエンティティは、ランダムアクセスメモリリソースのような、図示されていないシステムリソースを使用することができる。本発明の好ましい実施形態によれば、演算エンティティ12は、1つ又はそれ以上のデータブロック配列上のMACを計算する。それは、これらの計算結果をランダムアクセスメモリ内に保存する。前記認証コードAuth_A及びAuth_Bは、これらの結果のMACと一致する。より正確には、それは第2データブロック配列のMACと連結された(全配列が考慮に入れられるまで)第1データブロック配列のMACセットのMACである。演算エンティティ12は、それゆえ、認証コードAuth_A及びAuth_BのMACを計算する。配列のサイズは、上記の結果を使用してマスターブロックに記録される。
前記システムキー13は、システム10によって認可されたエンティティによってアクセスすることができるだけの暗号化キーである。一般に、それはこのシステムからアクセスすることができるだけである。
前記物理的データ媒体14は、計算データの永続的な保存のための媒体である。それは、例えば、ハードディスク、フラッシュメモリ、又はディスケット型の取外し可能型ディスクであってもよい。
図1Bに示したように、媒体14は、1つ又はそれ以上の連続データブロックDBk及び2つの連続マスターブロックと、第1MBk及び第2MBkマスターブロックと、前記データブロックに関係づけられ、かつ、そこに隣接する前記マスターブロックと、マスターブロックMBk1の複製であるマスターブロックMBk2とを具備する。換言すれば、マスターブロックMBk1及びMBk2は通常等しい。しかしながら、詳細には、例えばサービス妨害による書込みエラーがある場合、でなければ前記ブロックの1つに攻撃があった場合、それらは異なるかもしれない。
前記データブロックDBkのサイズは設定可能がある。それは、例えば256バイトである。本発明によって保証されたデータを含むデータブロック数はいくつであってもよい。図1Bの例において、4つのブロックDBk1,DBk2,DBk3,DBk4が図示されている。
前記マスターブロックMBk1及びMBk2は、データフィールドを具備する。前記データフィールドには、本発明の開示の後半に記載されているデータフィールドを具備するのに十分な最小サイズである。実際、この最小サイズは約100バイトである。
前記各マスターブロックMBkは、以下のフィールドを具備する。すなわち、
モノトニックカウンター11の最後に回復された(又は返された)値Vlastと、
データ媒体14上に書込まれた最後のデータブロックDBkの識別子IDlastと、
システムキー13によって暗号化された認証キー15と、
データブロックDBk1〜DBk4の信頼性及び整合性を保証する認証コードAuth_Aと、
中立値に固定されたデータを持つ書込まれた最後のデータブロック、例えばゼロのシークエンスに等しい前記中立値から計算されるとともに、そのまま保存されている他のデータブロックから計算された認証コードAuth_Bと、
前記マスターブロックMBkの信頼性及び整合性を保証する認証コードAuth_Cと
を含んでいる。より正確に換言すれば、前記マスターブロックMBkの信頼性及び整合性は、フィールドAuth_Cを仕様して中立値に固定されている。実際、Auth_Cは、一般にゼロのシークエンスである中立値に固定されたフィールドAuth_Cを持つマスターブロックMBkから計算される。Auth_Cが計算されるとき、その値はマスターブロックMBkに入力される。さらに、各マスターブロックMBkは、例えばそのサイズ又はそのセクター数のような他の情報を含んでいる。前記情報は、図1Bに図示されていない。
本発明によれば、前記データブロックDBkは暗号化キーによって暗号化され得る。演算エンティティ12によって生成された、いくつかのMAC計算値は、暗号化データブロック上に組み込まれる。暗号化キーは、マスターブロック又は直接システム自身に保存され得る。あるいは、それはシステムキーによって暗号化され得る。この場合、システムキーだけがシステム上にある。
前記データブロックDBkは変更されず、かつ、マスターブロックMBkは前記データブロックDBk間にインターリーブされない。それゆえ、データブロックDBkのデータは直接読出すことができる。
本発明のシステムのコヒーレンスは、システム起動時に検証される。図2に示すように、本発明のシステムのコヒーレンスを検証するために、第1マスターブロックMBk1のフォーマットは、まず第1に検証される。このフォーマットの検証は、例えば、識別子IDlastの合法性、モノトニックカウンター11の最後の返された値Vlast、認証コードAuth_A,Auth_B,Auth_Cの存在、及びシステムキー13によって暗号化された認証キー15の存在を検証するステップを具備する。第1マスターブロックMBk1のフォーマットが非合法である場合、第2マスターブロックMBk2のフォーマットが検証される。第2マスターブロックMBk2のフォーマットが非合法である場合、システムは永久に破壊され、データは保証されず、前記システムは例えば攻撃を保持していたとみなされる。そして、システムユーザーに対して警告が現れ、データアクセスは一般に禁止される。第2マスターブロックMBk2のフォーマットが合法である場合、第1マスターブロックMBk1は、第2マスターブロックMBk2によって置換される。
前記第1マスターブロックMBk1のフォーマットが合法であるとき、又は、第1マスターブロックMBk1のフォーマットが非合法であるが、第2マスターブロックMBk2のフォーマットが合法であるとき、及び、前述したようにブロックMBk1がブロックMBk2によって置換されたとき、本発明の方法の後続ステップに従って認証コードCは検証される。この検証は、図4Aに示したように、それによって提供される暗号化関数MACに要求しながら、一方ではシステムキー13を用いて復号化された認証キー15を関係させ、他方ではモノトニックカウンター値のフィールドがこのカウンター11に含まれた現在値Vによって更新されたマスターブロックMBk1の内容を関係させる。そこで得られた結果は、マスターブロックMBk1の認証コードと比較される。もし、この結果がブロックMBk1の認証コードAuth_Cと同一ならば、ブロックMBk1は信頼できる。逆の場合、信頼できるとはみなされず、マスターブロック回復処理が開始される(図2を参照)。
もし、マスターブロックMBk1が信頼できるならば、本発明の方法における別なステップに従って、認証コードAuth_Aは検証される。この検証はまた、システム内のデータブロックDBkに含まれた全データ上で計算されるMACを、可能であれば暗号化された状態で呼出す。好ましくは、このMACは、最初にデータブロック配列に関する限りにおいて、次にデータ配列から計算された認証コードに関する限りにおいて計算され得る。コードAuth_Aの検証が正しい場合、システムはコヒーレントであるとみなされる。逆の場合、データ回復処理が開始される。
システムのコヒーレンスが検証された後、システム内に新しいデータを書込む点において、本発明の処理は以下のように続く。
まず第1に、図3に示したように、ブロックMBk1及び適切ならばブロックMBk2のフォーマットは、システムのコヒーレンスを検証するために、前述の方法によって検証される。まさに前述のように、もしこれらの検証が失敗であるならば、システムは永久に破壊される。
ついで、次のステップにおいてコードAuth_Cは検証される。まさに前述のように、もしこのコードが検証されないとき、マスターブロック回復処理は着手される。逆に、もしこのコードが検証さるとき、ブロックMBk1は信頼でき、コードAuth_Aが検証されることなく、新しいマスターブロックMBk1´が生成される。実際、システムの実行中、サードパーティーの犯罪者は、このシステムと相互作用することはできない。
新しいマスターブロックMBk1´を生成するために、以下のステップが実行される。まず第1に、書出された最後のデータブロックの識別子が更新される。そして、モノトニックカウンター11の現在値Vは回復され、値V+1が新しいマスターブロックMBk1´に書込まれる。それから、マスターブロックにあるかもしれないその他の情報は更新される。新しいマスターブロックMBk1´において、例えばゼロのシークエンスのような予め特定された値は、認証コードAuth_A及びAuth_Bを提供する点においてそれから計算され、マスターブロックMBk1´が更新される。最後に、新しい認証コードAuth_Cが計算され、対応する値がそれからマスターブロックMBK1´に記述される。この計算のステップは、図4Bにおいて概略的に図示されている。それは、そのように構成された新しいマスターブロックに基づいて作成される。すなわち、より詳細に換言すれば、新しいデータ識別子と、V+1に等しいモノトニックカウンター値と、新しいデータの認証コードA及びBとに基づいて作成される。
新しいマスターブロックMBk1´が一度生成され、かつ、一度生成されるだけで、モノトニックカウンター値はV+1にインクリメントされ、それから、マスターブロックMBk1´はシステムに書込まれ、マスターブロックMBk1の複写である第2マスターブロックMBk2´もまた書込まれ、最後に、新しいデータが書込まれる。
前記データを読出すために、図5に示したように、処理は以下のようになる。まさに前述のように、マスターブロックMBk1のフォーマットは検証される。もし、それが非合法であるならば、マスターブロックMBk2のフォーマットが検証される。もし、この第2検証が失敗であるならば、システムは永久に破壊されているとみなされる。
逆に、マスターブロックMBk1及びMBk2のうち1つのフォーマットの検証が成功して完了する場合は、処理における次のステップが取られる。まず第1に、コードAuth_Cが、モノトニックカウンター11の現在値Vを用いて検証される。マスターブロックMBk1が信頼できない場合、マスターブロック回復処理が着手される。逆の場合、コードAuth_Aは検証される。もし、この検証が失敗であるならば、データ回復処理が着手される。逆の場合、供給されたデータ識別子に対応するデータは読出される。任意ではあるが、もし暗号化の実行が開始されるときデータは読出され、それから復号され、復号化されたデータが返される。
データ回復システムを図6に示す。この処理は、システムを再起動する必要なく、自動的に実行される。それは、以下のステップを具備する。まず第1に、書込まれた最後のデータに、例えばゼロのシークエンスのような予め特定された中立値を設定することによって、認証コードは計算される。この書込まれた最後のデータは、マスターブロックに記述された識別子によって識別される。
もし、前述の計算結果が認証コードAuth_Bに等しいならば、処理は以下のようになる。まず第1に、データは実際、中立値が設定される。それから、認証コードAuth_Bは、コードAuth_Aに複写される。このように変更されたコードAuth_Cは、モノトニックカウンターV+1の現在値を用いて再び計算され、前記計算は、予め中立値で設定されたマスターブロックの認証コードの位置を持つマスターブロックMBk上で行なわれる。最後に、モノトニックカウンターはインクリメントされ、マスターブロックは複写される。
もし、前述の計算結果が認証コードAuth_Bに等しくないならば、データシステムは永久に破壊されているとみなされる。
マスターブロックのために自動回復処理を図7に示す。それは、コードAuth_Cが、マスターブロックMBkは信頼できないと示すときに実行を開始される。この処理は、以下の方法によって実行される。まず第1に、モノトニックカウンターVの現在値が回復される。もし、マスターブロック内に示されたモノトニックカウンター値が値V+1に等しいならば、モノトニックカウンター値が現在値V+1に等しいと仮定し、認証コードCは検証される。
もし、この検証が成功して完了するならば、モノトニックカウンター11の値Vはインクリメントされる。実際、モノトニックカウンター11がインクリメントされる直前に、急な書込み妨害があるときにこの状況が起こる。
逆に、もし、この検証が成功して完了しないとき、第2ブロックMBk2のコードAuth_Cは検証される。この最後の検証が成功して完了する場合、ブロックMBk1はブロックMBk2に置換される。逆の場合、システムは破壊され回復不可能になる。
一般に、前記データブロックがマスターブロックに含まれた暗号化キーによって暗号化されている場合、データブロックの書込みは前記データの暗号化ステップに先行されることに留意すべきである。読出しのために、前記ブロックも予め復号化される。認証コードAuth_Aは暗号化されたデータから特定されるため、データ回復システムもわずかに変更される。暗号化された中立値を含む最後のブロックから特定される認証コードAuth_Aについても同じである。
以下に実行例を説明するように、本発明は再生に対して耐性がある。
システムは、2つの信頼できるマスターブロックMBk1及びMBk2と、内容データDBkとを具備し、Vに等しいモノトニックカウンター現在値を持つと仮定する。その後、システムは変更され、信頼できるマスターブロックMBk1´及びMBk2´と、内容データDBk´と、V+1に等しいモノトニックカウンター現在値とを持つ。
もし攻撃者はデータDBk´をデータDBkで置換し、マスターブロックMBk1´及びMBk2´をそれぞれブロックMBk1及びMBk2で置換するならば、ブロックMBk1及びMBk2の認証コードCの検証は失敗となる。なぜならば、モノトニックカウンターの現在値はV+1であるのに対し、これらのブロックは値Vを用いて計算されたものだからである。
もし攻撃者はデータDBk´をデータDBkで置換するだけで、マスターブロックMBk1´及びMBk2´を保存するならば、ブロックMBk1´は信頼できるが、このデータの認証コードAuth_Aは信頼できない。なぜならば、このブロックは今、データDBkに関連づけられているのに対して、認証コードAuth_AはデータDBk´に関するものだからである。もし、攻撃者によってなされた変更が、書込まれた最後のデータブロックに関するものであるならば、システム回復が起こり、最後のデータブロックは中立値で設定される。
最後に、もし攻撃者がデータDBk´を、例えばDBkなどのデータで置換するとともに、モノトニックカウンター値VlastがVに等しくV+1ではないことを示す場合を除いて、マスターブロックMBk1´と同一なマスターブロックDBk1´を構築するならば、マスターブロックMBk1´の認証コードは有効でなない。なぜならば、モノトニックカウンターの現在値はV+1だからである。
同様に、以下で実行例を説明するように、本発明のシステムは、特にシステム再開又は電源供給切断のような突然のサービス妨害のために生じる変更に対して耐性がある。
本発明のシステムは、2つのマスターブロックMBk1及びMBk2と、データDBkと、Vに等しいモノトニックカウンター値を含むと仮定する。
もし、新しいデータDBk´を書込むことが望まれるが、マスターブロックが書込まれた後に電力切断が生じるとき、システムはマスターブロックMBk1´と、マスターブロックMBk2´と、データDBkと、値Vであるモノトニックカウンターとを含むような状態になる。現在値がVであるのに対して、カウンター値V+1を用いて計算されるため、マスターブロックMBk1´の認証コードAuth_Cの検証は失敗となる。マスターブロック回復処理はそれから実行を開始する。MBk1´に記述されたカウンター値は、実際には現在値+1である。それから、カウンターは稼動している現在値+1に等しいと仮定し、マスターブロックMBk1´は検証される。モノトニックカウンターはそれからインクリメントされ、システムは再びコヒーレントになる。
もし、まさに前述ように、新しいデータDBk´を書込むことが望まれ、モノトニックカウンターがインクリメントされた直後に電力切断が生じるとき、システムはマスターブロックMBk1´,MBk2´,DBkと、V+1に等しいカウンター値とを得る。カウンター値はV+1であるため、MBk1´の認証コードCの検証は成功する。しかしながら、DBkではなくデータDBk´が期待されるので、認証コードAの検証は失敗となる。データ回復処理は、それから実行を開始する。認証コードBは、書込まれた最後のデータブロックのために、中立値を用いて検証される。これは、DBkに応答して現れる。それゆえ、検証は成功する。書込まれた最後のブロック内の中立値を用い、かつ、マスターブロックを修正することによって、システムは最後に正常な状態にリセットされる。システムは、この例においてもまた、再びコヒーレントとなる。
もし、第2マスターブロックが書込まれた後に電源供給切断がシステムに生じるとき、その処理は前述の状況と同じであると留意すべきである。
最後に、もし最後のデータブロックが書込まれた後に電源供給切断がシステムに生じるとき、システムはコヒーレントな状態になり更正をする必要はないと留意すべきである。
全てが決定され実行されるとき、以下の3つの仕組みを用いることによって、書込まれた最後のデータは本発明によって回復することができる。
第1に、書き込みは厳密には以下の4つの連続したステップに従う。すなわち、モノトニックカウンター+1の現在値を用いるマスターブロックの計算及び書込みと、モノトニックカウンター値のインクリメントと、第2マスターブロックの書込みと、最後のデータブロックの書込みとである。
第2に、マスターブロックは、認証コードAuth_Bと、書込まれた最後のデータブロックの識別子とを含む。
第3に、マスターブロックが書込まれるちょうどその時にエラーが生じる場合、マスターブロックは複写されたマスターブロック自身である。
本発明のシステムは、上記の実施形態で述べたように、特に突然のサービス妨害の結果で生じる最後のエラーだけを回復するのに用いることができる。しかしながら、当業者は、その他のマスターブロックを追加することによって、それ以前に生じたエラーを回復し得る。さらにまた、本発明のシステムは、上記の実施形態で述べたように、複数の異なるデータブロックに影響する複数のエラーを回復するのに用いることはできない。しかしながら、ここでもまた、当業者は、追加の認証コードAuth_Bフィールドをマスターブロックに追加することによって、複数のデータブロック内のエラーに影響されたデータの回復に進むことができる。
最後に、本発明のシステムは、望ましくない変更に対する耐性と、望ましくない再生に対する耐性と、損傷の際の自動回復との3つの特性を合わせ持つ。
10・・・システム
11・・・モノトニックカウンター
12・・・演算エンティティ
13・・・システムキー
14・・・物理的データ媒体
15・・・認証キー

Claims (25)

  1. データ(DBk)を保証するためのシステムであって、
    モノトニックカウンター(11)と、
    演算エンティティ(12)と、
    物理的データ媒体(14)と、
    認証キー(15)とを具備してなり、
    前記物理的データ媒体(14)は、1つ又は複数の保証されたデータブロックと、
    第1マスターブロック(MBk1)と、
    前記第1マスターブロック(MBk1)の複製を形成している第2マスターブロック(MBk2)とを備え、
    前記第1マスターブロック(MBk1)は、モノトニックカウンター(11)から回復された最後の値(Vlast)と、前記媒体(14)上に書込まれた最後のデータブロック(DBk)の識別子(IDlast)と、書込まれた1つ又は複数のデータブロックの信頼性を保証する第1認証コード(Auth_A)と、中立値に固定されている前記データが書込まれた最後のデータブロックから計算された第2認証コード(Auth_B)と、前記第1マスターブロック(MBk1)の信頼性を保証する第3の認証コード(Auth_C)とを具備することを特徴とするシステム(10)。
  2. データブロック(DBk1,DBk2,DBk3,DBk4)のサイズは、設定可能があることを特徴とする請求項1に記載のシステム(10)。
  3. 前記第1認証コード(Auth_A)はさらに、1つまたは複数の書込まれたデータブロックの整合性を保証し、かつ、第3認証コード(Auth_C)はさらに、マスターブロックの整合性を保証することを特徴とする請求項1又は2に記載のシステム(10)。
  4. 前記第2認証コード(Auth_B)は、書込まれた最後のデータブロックと、中立値で固定されているこの最後のブロック内のデータと、保存されている他のデータブロック内のデータとから計算されることを特徴とする請求項1,2又は3の何れか一項に記載のシステム(10)。
  5. 前記認証キー(15)は、第1マスターブロック(MBk1)及び第2マスターブロック(MBk2)内に含まれることを特徴とする請求項1〜4の何れか一項に記載のシステム(10)。
  6. システムキー(13)をさらに含み、かつ、認証キー(15)は前記システムキー(13)によって暗号化されることを特徴とする請求項5に記載のシステム(10)。
  7. 前記データブロック(DBk1,DBk2,DBk3,DBk4)は、暗号化キーによって暗号化されることを特徴とする請求項1〜6の何れか一項に記載のシステム(10)。
  8. 前記暗号化キーは、システムキー(13)によって暗号化されることを特徴とする請求項7に記載のシステム(10)。
  9. データ保証するための方法であって、
    モノトニックカウンター(11)と、演算エンティティ(12)と、物理的データ媒体(14)と、認証キー(15)とを提供するステップと、書込みステップとを具備し、前記書込みステップは、
    前記媒体(14)に、1つ又は複数のデータブロック(DBk1,DBk2,DBk3,DBk4)と、モノトニックカウンター(11)から回復された最後の値(Vlast)を含む第1マスターブロック(MBk1)と、前記媒体(14)上に書込まれた最後のデータブロック(DBk)の識別子(IDlast)と、書込まれた1つ又は複数のデータブロックの信頼性を保証する第1認証コード(Auth_A)と、中立値に固定されている前記データが書込まれた最後のデータブロックから計算された第2認証コード(Auth_B)と、第1マスターブロックの信頼性及び第1マスターブロック(MBk1)の複製を形成する第2マスターブロック(MBk2)の信頼性を保証する第3の認証コード(Auth_C)とを書込むことを特徴とする方法。
  10. 起動時に、システム(10)のコヒーレンスが検証されることを特徴とする請求項9に記載の方法。
  11. システム(10)のコヒーレンスを検証するために、第1マスターブロック(MBk1)のフォーマットの合法性が検証され、
    前記第1マスターブロック(MBk1)が非合法である場合、第2マスターブロック(MBk2)の合法性が検証され、
    第2マスターブロック(MBk2)のフォーマットが合法である場合、第1マスターブロック(MBk1)は第2マスターブロック(MBk2)によって置換され、第2マスターブロック(MBk2)のフォーマットが非合法である場合、システムは永久に破壊されているとみなされることを特徴とする請求項10に記載の方法。
  12. システム(10)のコヒーレンスを検証するために、第3認証コード(Auth_C)が検証され、
    前記第3認証コード(Auth_C)の検証が成功した場合、第1認証コード(Auth_A)が検証され、
    第3認証コード(Auth_C)の検証が失敗である場合、マスターブロック(MBk1)の回復のための処理が開始されるとともに、もし第1認証コード(Auth_A)の検証が失敗であるならば、データ回復処理が開始されることを特徴とする請求項10又は11に記載の方法。
  13. 新しいデータを書込むために、マスターブロック(MBk1)のフォーマットの合法性が検証され、第3認証コード(Auth_C)が検証されることを特徴とする請求項9〜12の何れか一項に記載の方法。
  14. 新しいデータを書込むために、新しい第1マスターブロック(MBk1´)が生成され、モノトニックカウンター(11)がインクリメントされ、前記新しいマスターブロック(MBk1´)が書込まれ、新しい第マスターブロック(MBk2´)が書込まれ、新しいデータが書込まれることを特徴とする請求項9〜13の何れか一項に記載の方法。
  15. 新しい第1マスターブロック(MBk1´)を生成するために、最後のデータブロックの識別子が更新され、モノトニックカウンター(11)の現在値が回復され、このカウンターの現在値(V)に1を足した値が新しい第1マスターブロック(MBk1´)に記述され、認証コードは構成された新しい第1マスターブロック(MBk1´)から計算されることを特徴とする請求項14に記載の方法。
  16. データの読出しのために、第1マスターブロック(MBk1)の合法性が検証され、第3認証コード(Auth_C)が検証されることを特徴とする請求項9〜15の何れか一項に記載の方法。
  17. データ回復ステップを含み、前記データ回復ステップは、システム(10)が再起動されることなく自動的に実行されることを特徴とする請求項9〜16の何れか一項に記載の方法。
  18. データ回復のために、予め特定された中立値を、書込まれた最後のデータに設定することによって認証コードが計算され、
    もし、この計算結果が第2認証コード(Auth_B)に等しいならば、中立値が設定され、
    第2認証コード(Auth_B)は、第1認証コード(Auth_A)に複写され、
    第3認証コード(Auth_C)は、モノトニックカウンターの現在値の1を足した値を用いて計算され、
    モノトニックカウンターがインクリメントされるとともに、マスターブロックが複写されることを特徴とする請求項17に記載の方法。
  19. マスターブロックの自動回復のためのステップを含むことを特徴とする請求項9〜18の何れか一項に記載の方法。
  20. マスターブロックの回復のために、モノトニックカウンターの現在値が回復され、
    もし、モノトニックカウンター値が、マスターブロックはこの値に1を足した値に等しいことを示すならば、モノトニックカウンター値は現在値に1を足した値に等しいと仮定して、第3認証コード(Auth_C)は検証されることを特徴とする請求項19に記載の方法。
  21. 検証が成功して完了する場合、モノトニックカウンター値はインクリメントされ、一方、この検証が失敗である場合、第2マスターブロック(MBk2)の認証コード(Auth_C)は検証されることを特徴とする請求項20に記載の方法。
  22. 以下の連続するステップ、すなわち、
    モノトニックカウンターの現在値に1を足した値を用いてマスターブロックを計算及び書込むステップと、
    モノトニックカウンターの連続値をインクリメントするステップと、
    第2マスターブロック(MBk2)を書込むステップと、
    最後のデータブロックを書込むステップと、
    を具備することを特徴とする請求項9〜21の何れか一項に記載の方法。
  23. 演算エンティティ(12)はデータブロックのMAC計算を実行し、前記データブロックは暗号化可能であることを特徴とする請求項9〜22の何れか一項に記載の方法。
  24. 演算エンティティ(12)は、ランダムアクセスメモリ内のデータ配列上で行なわれた計算結果を保存し、これらの計算結果を、第1認証コード(Auth_A)及び第2認証コード(Auth_B)のMACと、マスターブロック内に記述される配列サイズを計算するために用いることを特徴とする請求項9〜23の何れか一項に記載の方法。
  25. 一方では再生に対して、他方では突然のサービス妨害に対してデータを保証するための、請求項1〜8の何れか一項に記載のシステムの使用、及び/又は、請求項9〜24の何れか一項に記載の方法の使用。
JP2009529732A 2006-09-27 2007-09-27 データを保証するためのシステム及び方法 Active JP5076110B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0608451 2006-09-27
FR0608451A FR2906380B1 (fr) 2006-09-27 2006-09-27 Systeme et procede de securisation de donnees.
PCT/FR2007/001582 WO2008037895A2 (fr) 2006-09-27 2007-09-27 Systeme et procede de securisation de donnees

Publications (3)

Publication Number Publication Date
JP2010505169A true JP2010505169A (ja) 2010-02-18
JP2010505169A5 JP2010505169A5 (ja) 2012-07-19
JP5076110B2 JP5076110B2 (ja) 2012-11-21

Family

ID=37888068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009529732A Active JP5076110B2 (ja) 2006-09-27 2007-09-27 データを保証するためのシステム及び方法

Country Status (7)

Country Link
US (1) US8880904B2 (ja)
EP (1) EP2100250B1 (ja)
JP (1) JP5076110B2 (ja)
KR (1) KR101443405B1 (ja)
CN (1) CN101589399B (ja)
FR (1) FR2906380B1 (ja)
WO (1) WO2008037895A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411748B2 (en) 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
CN103988185B (zh) * 2011-12-20 2017-02-15 英特尔公司 用于安全的重放保护存储的系统、装置和方法
FR3079044B1 (fr) 2018-03-14 2020-05-22 Ledger Traitement securise de donnees
DE102018120344A1 (de) * 2018-08-21 2020-02-27 Pilz Gmbh & Co. Kg Automatisierungssystem zur Überwachung eines sicherheitskritischen Prozesses
KR20210104117A (ko) * 2018-12-21 2021-08-24 마이크론 테크놀로지, 인크. 보안 메모리 액세스를 보장하기 위한 방법 및 디바이스
CN111062057B (zh) * 2019-12-16 2022-06-14 英联(厦门)金融技术服务股份有限公司 一种中立的数据应用方法、装置以及系统
CN112582009B (zh) * 2020-12-11 2022-06-21 武汉新芯集成电路制造有限公司 单调计数器及其计数方法
KR102576566B1 (ko) 2021-05-17 2023-09-08 (주)유미테크 데이터 암호화 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020152396A1 (en) * 2001-04-11 2002-10-17 Fox Michael S. Method for secure restoration of a database stroring non-secure content
JP2003513388A (ja) * 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 安全性が確保されたカウンタによりデータ信頼性を保証するシステム及び方法
JP2004226966A (ja) * 2003-01-24 2004-08-12 Samsung Electronics Co Ltd 多数の動作モードを支援する暗号化装置
US20040187006A1 (en) * 2003-03-21 2004-09-23 International Business Machines Corporation Method for guaranteeing freshness of results for queries against a non-secure data store

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2119788C (en) * 1992-07-24 1996-12-31 Peter L. Morse Computer method and system for allocating and freeing memory
CN1423766A (zh) * 2000-02-17 2003-06-11 通用仪器公司 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置
US6947556B1 (en) * 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
US7596570B1 (en) * 2003-11-04 2009-09-29 Emigh Aaron T Data sharing
JP2005293357A (ja) * 2004-04-01 2005-10-20 Toshiba Corp ログインシステム及び方法
CN100590606C (zh) * 2005-12-14 2010-02-17 兆日科技(深圳)有限公司 闪速存储器数据完整性保护方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003513388A (ja) * 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 安全性が確保されたカウンタによりデータ信頼性を保証するシステム及び方法
US20020152396A1 (en) * 2001-04-11 2002-10-17 Fox Michael S. Method for secure restoration of a database stroring non-secure content
JP2004226966A (ja) * 2003-01-24 2004-08-12 Samsung Electronics Co Ltd 多数の動作モードを支援する暗号化装置
US20040187006A1 (en) * 2003-03-21 2004-09-23 International Business Machines Corporation Method for guaranteeing freshness of results for queries against a non-secure data store

Also Published As

Publication number Publication date
CN101589399A (zh) 2009-11-25
CN101589399B (zh) 2012-11-14
WO2008037895A3 (fr) 2008-05-08
FR2906380B1 (fr) 2008-12-19
EP2100250B1 (fr) 2019-08-21
KR101443405B1 (ko) 2014-09-24
FR2906380A1 (fr) 2008-03-28
US8880904B2 (en) 2014-11-04
KR20090089285A (ko) 2009-08-21
WO2008037895A2 (fr) 2008-04-03
US20110162083A1 (en) 2011-06-30
EP2100250A2 (fr) 2009-09-16
JP5076110B2 (ja) 2012-11-21

Similar Documents

Publication Publication Date Title
JP5076110B2 (ja) データを保証するためのシステム及び方法
US8726035B2 (en) Method and system for a recursive security protocol for digital copyright control
CN108170562B (zh) 一种固态硬盘及其数据处理方法和系统
EP2343662B1 (en) Method of and apparatus for storing data
US11803366B2 (en) Firmware updating system and method
WO2006007329A2 (en) Secure data backup and recovery
WO2005106618A1 (en) A method of backing up and restoring data in a computing device
CN109445705B (zh) 固件认证方法及固态硬盘
US20090144563A1 (en) Method of detecting data tampering on a storage system
CN113505363B (zh) 通过软件方式实现存储空间防重放的方法和系统
JP2010505169A5 (ja)
CN108256351B (zh) 文件处理方法和装置、存储介质及终端
CN115310136B (zh) 基于sata桥接芯片的数据安全保障方法
CN109271281B (zh) 一种防数据被篡改的数据备份方法及系统
CN113486399A (zh) 基于risc-v架构的数据存储方法及系统
CN110311773B (zh) 一种高级加密标准协处理器防注入式攻击的方法
CN113779511A (zh) 软件授权方法、装置、服务器和可读存储介质
CN113886899A (zh) 自动驾驶软件使用期限管理方法、装置、设备及介质
EP3649553B1 (en) Data protection
CN114239091B (zh) 基于可信芯片的磁盘加密方法及系统
CN115208554B (zh) 一种密钥自校验、自纠错、自恢复的管理方法及系统
CN117768114A (zh) 一种密钥派生方法及安全架构系统
CN117632798A (zh) 内存防替换方法、电路、装置、终端及存储介质
Bel et al. Inkpack
Bel et al. Inkpack: A Secure, Data-Exposure Resistant Storage System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120604

TRDD Decision of grant or rejection written
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120625

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120625

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120723

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5076110

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250