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

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

Info

Publication number
JP5076110B2
JP5076110B2 JP2009529732A JP2009529732A JP5076110B2 JP 5076110 B2 JP5076110 B2 JP 5076110B2 JP 2009529732 A JP2009529732 A JP 2009529732A JP 2009529732 A JP2009529732 A JP 2009529732A JP 5076110 B2 JP5076110 B2 JP 5076110B2
Authority
JP
Japan
Prior art keywords
data
master block
block
authentication code
auth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009529732A
Other languages
English (en)
Other versions
JP2010505169A (ja
JP2010505169A5 (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

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 (15)

  1. データの信頼性を保証するためのシステム(10)において、
    モノトニックカウンター(11)と、
    演算手段(12)と、
    物理的データ媒体(14)とを備えていて、
    前記物理的データ媒体(14)上には、
    1つ又は複数のデータブロック(DBk1,DBk2,DBk3,DBk4)と、
    第1マスターブロック(MBk1)と、
    前記第1マスターブロック(MBk1)の複製である第2マスターブロック(MBk2)とが書込まれていて、
    前記第1マスターブロック(MBk1)は、
    前記モノトニックカウンター(11)から最後に読出された値(Vlast)と、
    前記物理的データ媒体(14)上に最後に書込まれたデータブロックの識別子(IDlast)と、
    認証キー(15)と、
    前記識別子(IDlast)が指し示すデータブロックから計算される第1認証コード(Auth_A)と、
    予め定められた値が書込まれたデータブロックから計算される第2認証コード(Auth_B)と、
    前記モノトニックカウンター(11)の現在値から計算される第3認証コード(Auth_C)とを含んでいて、
    前記演算手段(12)が新しいデータブロックを物理的データ媒体(14)上に書込む際には、演算手段(12)はデータ書込処理を実行し、このデータ書込処理は、
    新しい第1マスターブロック(MBk1’)を生成する第1ステップと、
    モノトニックカウンター(11)をインクリメントする第2ステップと、
    生成された新しい第1マスターブロック(MBk1’)を物理的データ媒体(14)上に書込む第3ステップと、
    新しい第1マスターブロック(MBk1’)を複製した新しい第2マスターブロック(MBk2’)を物理的データ媒体(14)上に書込む第4ステップと、
    新しいデータブロックを物理的データ媒体(14)上に書込む第5ステップとを含んでいて、
    前記第1ステップは、
    第1マスターブロック(MBk1)内の識別子(IDlast)を更新する第1サブステップと、
    モノトニックカウンター(11)の現在値に1を足した値を前記値(Vlast)とする第2サブステップと、
    更新された識別子(IDlast)が指し示すデータブロックから新しい第1認証コード(Auth_A)を計算する第3サブステップと、
    モノトニックカウンター(11)の現在値に1を足した値から新しい第3認証コード(Auth_C)を計算する第4サブステップとを含む
    ことを特徴とするシステム(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)とを備えるシステム(10)を用いてデータの信頼性を保証するための方法において、
    前記物理的データ媒体(14)上には、
    1つ又は複数のデータブロック(DBk1,DBk2,DBk3,DBk4)と、
    第1マスターブロック(MBk1)と、
    前記第1マスターブロック(MBk1)の複製である第2マスターブロック(MBk2)とが書込まれていて、
    前記第1マスターブロック(MBk1)は、
    前記モノトニックカウンター(11)から最後に読出された値(Vlast)と、
    前記物理的データ媒体(14)上に最後に書込まれたデータブロックの識別子(IDlast)と、
    認証キー(15)と、
    前記識別子(IDlast)が指し示すデータブロックから計算される第1認証コード(Auth_A)と、
    予め定められた値が書込まれたデータブロックから計算される第2認証コード(Auth_B)と、
    前記モノトニックカウンター(11)の現在値から計算される第3認証コード(Auth_C)とを含んでいて、
    前記演算手段(12)が新しいデータブロックを物理的データ媒体(14)上に書込む際には、演算手段(12)はデータ書込処理を実行し、このデータ書込処理は、
    新しい第1マスターブロック(MBk1’)を生成する第1ステップと、
    モノトニックカウンター(11)をインクリメントする第2ステップと、
    生成された新しい第1マスターブロック(MBk1’)を物理的データ媒体(14)上に書込む第3ステップと、
    新しい第1マスターブロック(MBk1’)を複製した新しい第2マスターブロック(MBk2’)を物理的データ媒体(14)上に書込む第4ステップと、
    新しいデータブロックを物理的データ媒体(14)上に書込む第5ステップとを含んでいて、
    前記第1ステップは、
    第1マスターブロック(MBk1)内の識別子(IDlast)を更新する第1サブステップと、
    モノトニックカウンター(11)の現在値に1を足した値を前記値(Vlast)とする第2サブステップと、
    更新された識別子(IDlast)が指し示すデータブロックから新しい第1認証コード(Auth_A)を計算する第3サブステップと、
    モノトニックカウンター(11)の現在値に1を足した値から新しい第3認証コード(Auth_C)を計算する第4サブステップとを含む
    ことを特徴とする方法。
  10. 前記演算手段(12)が新しいデータブロックを物理的データ媒体(14)上に書込む際に、前記データ書込処理の前に、演算手段(12)はマスターブロック検証処理を実行し、このマスターブロック検証処理は、
    第1マスターブロック(MBk1)のフォーマットの正当さを検証する第1プロセスと、
    前記第1プロセスにおいて検証に失敗した場合に、第2マスターブロック(MBk2)のフォーマットの正当さを検証する第2プロセスと、
    前記第2プロセスにおいて検証に成功した場合に、第1マスターブロック(MBk1)を第2マスターブロック(MBk2)によって置換する第3プロセスと、
    前記第2プロセスにおいて検証に失敗した場合に、システム(10)を永久に破壊されているとみなす第4プロセスとを含んでいて、
    前記第1および第2プロセスにおいては、認証キー(15)および第1、第2および第3認証コード(Auth_A,Auth_B,Auth_C)の存在を検証することによって、マスターブロックのフォーマットの正当さを検証する
    ことを特徴とする請求項9に記載の方法。
  11. 前記マスターブロック検証処理の後に、前記演算手段(12)は第3認証コード検証処理を実行し、この第3認証コード検証処理においては、第1マスターブロック(MBk1)内の第3認証コード(Auth_C)の完全性を検証し、検証に失敗した場合には、マスターブロックの信頼性を回復させるためのマスターブロック回復処理を実行し、
    前記第3認証コード検証処理の後に、前記演算手段(12)は前記データ書込処理を実行する
    ことを特徴とする請求項10に記載の方法。
  12. 前記マスターブロック回復処理は、
    モノトニックカウンター(11)の現在値を読出す第1過程と、
    第1マスターブロック(MBk1)内の値(Vlast)が、読出されたモノトニックカウンターの現在値に1を足した値に等しければ、モノトニックカウンターの現在値は、読出された現在値に1を足した値であるものと仮定して、第1マスターブロック(MBk1)内の第3認証コード(Auth_C)の完全性を検証する第2過程と、
    前記第2過程における検証に成功した場合には、モノトニックカウンター(11)をインクリメントする第3過程と、
    前記第2過程における検証に失敗した場合には、第2マスターブロック(MBk2)内の第3認証コード(Auth_C)の完全性を検証する第4過程と、
    前記第4過程における検証に成功した場合には、第1マスターブロック(MBk1)を第2マスターブロック(MBk2)によって置換する第5過程と、
    前記第4過程における検証に失敗した場合には、システム(10)を永久に破壊されているとみなす第6過程とを含んでいる
    ことを特徴とする請求項11に記載の方法。
  13. 前記演算手段(12)が物理的データ媒体(14)からデータブロックを読出す際には、
    まず、前記マスターブロック検証処理を実行し、
    次に、前記第3認証コード検証処理を実行し、検証に失敗した場合には、前記マスターブロック回復処理を実行し、
    次に、第1マスターブロック(MBk1)内の第1認証コード(Auth_A)の完全性を検証するための第1認証コード検証処理を実行し、検証に失敗した場合には、物理的データ媒体(14)上のデータの完全性を回復させるためのデータ回復処理を実行し、
    次に、データ読出処理を実行する
    ことを特徴とする請求項12に記載の方法。
  14. 前記データ回復処理においては、
    最後に書込まれたデータの代わりに、予め定められた値を用いて認証コードを計算し、
    計算した認証コードが、第2認証コード(Auth_B)に等しければ、実際に、最後に書込まれたデータの代わりに、予め定められた値を書込み、
    計算した認証コードが、第2認証コード(Auth_B)に等しくなければ、システム(10)を永久に破壊されているとみなし、
    第2認証コード(Auth_B)を第1認証コード(Auth_A)に複写し、
    モノトニックカウンター(11)の現在値に1を足した値を用いて第3認証コード(Auth_C)を計算し、
    モノトニックカウンター(11)をインクリメントし、
    マスターブロックを複写する
    ことを特徴とする請求項13に記載の方法。
  15. 前記システム(10)を起動する際には、
    まず、前記マスターブロック検証処理を実行し、
    次に、前記第3認証コード検証処理を実行し、検証に失敗した場合には、前記マスターブロック回復処理を実行し、
    次に、前記第1認証コード検証処理を実行し、検証に失敗した場合には、前記データ回復処理を実行し、
    次に、システム起動処理を実行する
    ことを特徴とする請求項14に記載の方法。
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 JP2010505169A (ja) 2010-02-18
JP2010505169A5 JP2010505169A5 (ja) 2012-07-19
JP5076110B2 true 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
US9405707B2 (en) 2011-12-20 2016-08-02 Intel Corporation Secure replay protected storage
US9411748B2 (en) 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
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
CN113228025A (zh) * 2018-12-21 2021-08-06 美光科技公司 确保安全的存储器存取的方法及装置
CN111062057B (zh) * 2019-12-16 2022-06-14 英联(厦门)金融技术服务股份有限公司 一种中立的数据应用方法、装置以及系统
CN112582009B (zh) * 2020-12-11 2022-06-21 武汉新芯集成电路制造有限公司 单调计数器及其计数方法
KR102576566B1 (ko) 2021-05-17 2023-09-08 (주)유미테크 데이터 암호화 시스템 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06511582A (ja) * 1992-07-24 1994-12-22 マイクロソフト コーポレイション メモリを割り当てそして解放するコンピュータ方法及びシステム
KR20010100011A (ko) * 1999-10-29 2001-11-09 요트.게.아. 롤페즈 보안 카운터를 경유하여 데이터 통합성을 보증하는 방법
WO2001061437A2 (en) * 2000-02-17 2001-08-23 General Instrument Corporation Method and system for secure downloading of software
US6947556B1 (en) * 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
US20020152396A1 (en) * 2001-04-11 2002-10-17 Fox Michael S. Method for secure restoration of a database stroring non-secure content
KR100583635B1 (ko) * 2003-01-24 2006-05-26 삼성전자주식회사 다수의 동작 모드들을 지원하는 암호화 장치
US7325130B2 (en) * 2003-03-21 2008-01-29 International Business Machines Corporation Method for guaranteeing freshness of results for queries against a non-secure data store
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 兆日科技(深圳)有限公司 闪速存储器数据完整性保护方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5076110B2 (ja) データを保証するためのシステム及び方法
CN108170562B (zh) 一种固态硬盘及其数据处理方法和系统
US11803366B2 (en) Firmware updating system and method
EP2343662B1 (en) Method of and apparatus for storing data
WO2006007329A2 (en) Secure data backup and recovery
US20080016127A1 (en) Utilizing software for backing up and recovering data
CN109445705B (zh) 固件认证方法及固态硬盘
US20090144563A1 (en) Method of detecting data tampering on a storage system
US9715591B2 (en) Code validation
JP2010505169A5 (ja)
CN113505363B (zh) 通过软件方式实现存储空间防重放的方法和系统
CN115310136B (zh) 基于sata桥接芯片的数据安全保障方法
CN113886899A (zh) 自动驾驶软件使用期限管理方法、装置、设备及介质
CN110311773B (zh) 一种高级加密标准协处理器防注入式攻击的方法
CN113486399A (zh) 基于risc-v架构的数据存储方法及系统
CN113779511A (zh) 软件授权方法、装置、服务器和可读存储介质
EP3649553B1 (en) Data protection
CN114239091B (zh) 基于可信芯片的磁盘加密方法及系统
CN115208554B (zh) 一种密钥自校验、自纠错、自恢复的管理方法及系统
CN117768114A (zh) 一种密钥派生方法及安全架构系统
CN117632798A (zh) 内存防替换方法、电路、装置、终端及存储介质
CN116166277A (zh) 一种应用程序的管理装置和嵌入式设备
CN116719565A (zh) 一种芯片启动的方法、装置、设备及介质
CN115221477A (zh) 授权许可方法、许可证制作方法、芯片装置及存储介质
CN111259413A (zh) 一种基于区块链的数据管理方法及装置

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