JP2008520030A - データを安全に記憶する方法、デバイス、及びシステム - Google Patents

データを安全に記憶する方法、デバイス、及びシステム Download PDF

Info

Publication number
JP2008520030A
JP2008520030A JP2007540829A JP2007540829A JP2008520030A JP 2008520030 A JP2008520030 A JP 2008520030A JP 2007540829 A JP2007540829 A JP 2007540829A JP 2007540829 A JP2007540829 A JP 2007540829A JP 2008520030 A JP2008520030 A JP 2008520030A
Authority
JP
Japan
Prior art keywords
record
stored
group
integrity
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007540829A
Other languages
English (en)
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 JP2008520030A publication Critical patent/JP2008520030A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00753Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本発明の幾つかの例証的な実施形態は、例えば記憶されたデータの無許可の開示を防ぐこと及び/又は記憶されたデータの完全性を保証することによるデータを安全に記憶する方法、デバイス、及び/又はシステムを含む。安全にデータを記憶することができる装置は、本発明の幾つかの例証的な実施形態によれば、セキュア制御構成を含むことができ、セキュア制御構成は、鍵を安全に記憶するためのセキュアメモリ、鍵を使用して記憶されるデータレコードを暗号化することによって暗号化レコードを生成するための暗号化モジュール、及び鍵に基づいて暗号化レコードの完全性を認証するための認証情報を生成するためのコントローラを含むことができる。本装置はまた、暗号化レコード及び認証情報を記憶するためのストレージを含むことができる。他の実施形態が記載され請求される。
【選択図】図1

Description

データの無許可の開示を防ぐための従来の方法は、データを暗号化するために種々の暗号化サイファ、例えば次世代標準暗号方式(AES)に従うサイファを実装することができる。暗号化されたデータは、秘密鍵を使用して許可されたユーザによって解読することができる。
残念ながら、このような従来の方法は、データの無許可の操作に対する十分な保護及び/又は特定の状況におけるこのような操作を検出する能力を提供することはできない。例えば、暗号化されたデータは、暗号化されたデータの前のバージョンで例えば全体的に許可なく置換えられる可能性がある。許可されたユーザは、このような置換えを検出できず、気付かずにデータの前のバージョンを現在のバージョンとして扱う可能性がある。更に、このような方法では、秘密鍵は、例えば暗号化されたデータを記憶するために使用されるデバイス上など、内部的に記憶される可能性があり、或いはユーザが提供する場合もある。内部的に記憶されている場合、秘密鍵は、例えばリバースエンジニアリングによって許可なく暴かれる可能性がある。逆に、秘密鍵がユーザによって提供されることになる場合、保護メカニズムを使用するデバイスは、他のアプリケーションに関して制限された「トランスペアレンシー」を有する可能性があり、及び/又はデータの制限されたタイプだけを記憶することができる。例えばこのようなデバイスは、例えば、ユーザが例えば秘密鍵を使用して慎重にデータを変更することができるので、秘密鍵を有するユーザによって所有されていないデータを記憶するためには適用することができない。
安全にデータを記憶するための従来のデバイスは、記憶されたデータへのどのようなアクセスも禁止する「物理的」保護構造を含むことができる。しかしながら、このような保護構造は、比較的複雑で、及び/又は高価な場合があり、従って大量のデータに対するコスト効果のある保護を提供することはできない。
本発明の幾つかの例証的な実施形態は、例えば記憶されたデータの無許可の開示を防ぐこと及び/又は記憶されたデータの完全性を保証することによって、データを安全に記憶する方法、デバイス、及び/又はシステムを含む。
データを安全に記憶することができる装置は、本発明の幾つかの例証的な実施形態に従って、鍵を安全に記憶するためのセキュアメモリ、鍵を使用して記憶されるデータレコードを暗号化することによって暗号化レコードを生成するための暗号化モジュール、及び鍵に基づいて暗号化レコードの完全性を認証するための認証情報を生成するためのコントローラを含むことができるセキュア制御構成を含むことができる。本装置はまた、暗号化レコード及び認証情報を記憶するためのストレージモジュールを含むことができる。
本発明の幾つかの例証的な実施形態によれば、ストレージの容量は、セキュアメモリの容量に比べて実質的に大きくすることができる。例えば、ストレージの容量は、セキュアメモリの容量よりも少なくとも100倍大きくすることができる。
本発明の幾つかの例証的な実施形態によれば、セキュアメモリの容量は、例えば10キロバイトを超えないようにすることができる。
本発明の幾つかの例証的な実施形態によれば、セキュアメモリは、電子的消去可能プログラム可能読出し専用メモリ、ワンタイムプログラマブルメモリ、或いは1つ又はそれ以上のヒューズによって実装されるメモリとすることができ、或いはこれらを含むことができ、及び/又は、ストレージはフラッシュメモリとすることができる、或いはこれを含むことができる。
本発明の幾つかの例証的な実施形態によれば、コントローラは、鍵に基づいて1つ又はそれ以上のメッセージ認証コードを生成することによって認証情報を生成することができる。
本発明の幾つかの例証的な実施形態によれば、コントローラは、レコードのグループに対応する複数のレコード認証コードに基づいてレコードのグループの完全性を認証するためのグループ認証コードを生成することができる。
本発明の幾つかの例証的な実施形態によれば、コントローラは、複数のグループに対応する複数のグループ認証コードに基づいてレコードの複数のグループの完全性を認証するためのグローバル認証コードを生成することができる。本発明の他の例証的な実施形態では、グローバル認証コードを1つのグループに関係付けることができる。
本発明の幾つかの例証的な実施形態によれば、暗号化モジュールはまた、記憶レコードを解読することができる。コントローラは、記憶レコードの完全性の認証、記憶レコードを含むレコードのグループの完全性の認証、レコードのグループを含むグループのセットの認証、及び記憶レコードが最新であるかどうかの判定の少なくとも1つに基づいて、解読されたレコードに選択的にアクセスできる。コントローラは、例えば記憶レコード、レコードのグループの完全性、及び/又はグループのセットの完全性が認証されていない場合、及び/又は記憶レコードが最新でないと判定された場合に、解読されたレコードへのアクセスを拒否することができる。コントローラは、例えば記憶レコードの完全性が認証された場合、記憶レコードが最新であると判定された場合、及びレコードのグループの完全性とグループのセットの完全性の少なくとも1つが認証された場合に、解読されたレコードにアクセスできる。
本発明の幾つかの例証的な実施形態によれば、コントローラは、鍵に基づいた記憶レコードに対応するレコード認証コードと、記憶レコードに対応する記憶された初期化ベクトルとを求め、求められたレコード認証コードを記憶レコードに対応する記憶レコード認証コードと比較することによって記憶レコードの完全性を認証することができる。
本発明の幾つかの例証的な実施形態によれば、コントローラは、鍵に基づいた記憶レコードのグループに対応するグループ認証コードと、グループのレコードに対応する複数の記憶レコード認証コードとを求め、求められたグループ認証コードをグループに対応する記憶グループ認証コードと比較することによってグループの完全性を認証することができる。
本発明の幾つかの例証的な実施形態によれば、コントローラは、鍵に基づいた記憶レコードのグループのセットのグローバル認証コードと、グループのセットに対応する複数の記憶グループ認証コードとを求め、求められたグローバル認証コードをグループのセットに対応する記憶グローバル認証コードと比較することによってグループのセットの完全性を認証することができる。
本発明の幾つかの例証的な実施形態によれば、コントローラは、ストレージ内に記憶された1つ又はそれ以上のレコードのバージョンを示すバージョン情報をメモリ内に安全に記憶することができる。例えばコントローラは、1つ又はそれ以上の記憶レコードを含むグループのセットに対応するグローバル認証コードをメモリ内に安全に記憶することができる。別の実施例では、ストレージはカウンタを記憶することができ、コントローラは、レコードを記憶するときにカウンタを更新し、メモリ内にカウンタの値を安全に記憶することができる。コントローラは、例えば安全に記憶されたバージョン情報をストレージ内に記憶された対応するバージョン情報と比較することによって、1つ又はそれ以上の記憶レコードが最新であるかどうかを判定することができる。
本発明とみなされる対象は、本明細書の最後の部分において特に指摘され明確に特許として請求される。しかしながら本発明は、オペレーションの編成及び方法の両方、並びにその目的、特徴、及び利点に関して、添付図面と共に読みながら以下の詳細な説明を参照することによってより理解することができる。
説明を簡単且つ明確にするために、図面に示される要素は必ずしも正確に又は縮尺通りには描かれていない点は理解されるであろう。例えば、要素の一部の寸法は、明確にするために他の要素に対して誇張されており、或いは幾つかの物理的構成要素が1つの機能ブロック又は要素に含まれている場合がある。更に、適切とみなされる場合には、参照数字は、対応する要素又は同様の要素を示すために図面全体を通して繰り返すことができる。更に、図面に示されるブロックの一部は単一の機能に結合してもよい。
以下の詳細な説明では、本発明を完全に理解するために多くの特定の詳細事項が記載されている。しかしながら、本発明がこれらの特定の詳細事項がなくとも実施することができる点は当業者であれば理解されるであろう。状況によっては、公知の方法、手順、構成要素、及び回路は、本発明を曖昧にしないように詳細には説明しない場合もある。
本明細書で使用される「記憶されたデータの無許可の開示を防ぐ」という用語は、例えば記憶されたデータへの完全なアクセス(例えば部分的又は完全な物理的及び/又は電子的アクセス)が得られた場合でも、記憶されたデータを許可なしには解釈することができないことを保証することを意味する点は理解されるであろう。本明細書で使用される「記憶されたデータの完全性を保証する」という用語は、記憶されたデータが部分的又は全体的に、例えば、許可なく及び/又は可能性が高いのは許可されたユーザなどによって検出できないようにして操作、変更、改竄、及び/又は他のデータとの置換えが行われていないことを保証することを意味する。
本明細書で使用される「安全にデータを記憶する」という用語は、記憶されたデータの無許可の開示を防ぐこと及び/又は記憶されたデータの完全性を保証することを意味する点が理解されるであろう。
本発明の幾つかの例証的な実施形態は、以下に説明されるように安全にデータを記憶するための方法、デバイス及び/又はシステムを含む。
本明細書の説明の一部は、例証的な目的において、データレコード(「レコード」)を安全に記憶することに関係することができる。しかしながら、本発明の実施形態は、この点に限定されず、例えばデータブロック、データ部分、データシーケンス、データフレーム、データフィールド、コンテンツ、アイテム、メッセージ、キー、コード、又は同様のものを安全に記憶することを含むことができる。
図1を参照すると、本発明の幾つかの例証的な実施形態によるコンピューティングプラットフォーム100を概略的に例示している。
本発明はこの点において限定されないが、コンピューティングプラットフォーム100はポータブルデバイスとすることができる。このようなポータブルデバイスの非限定的な実施例には、モバイル電話、ラップトップ及びノートブックコンピュータ、パーソナルデジタルアシスタント(PDA)、メモリカード、メモリユニット、及び同様のものが含まれる。或いは、コンピューティングプラットフォームは、例えばデスクトップコンピュータなどのポータブルでないデバイスであってもよい。
図1の例証的な実施形態によれば、コンピューティングプラットフォーム100は、以下に説明されるようにセキュリティ保護可能なストレージデバイス102を含むことができる。プラットフォーム100は更に、プロセッサ104、メモリ106、及び任意選択的に出力ユニット108、入力ユニット110、ネットワーク接続部112、及び/又は他の何れかの好適なハードウェア構成要素及び/又はソフトウェア構成要素を含むことができる。
本発明の幾つかの例証的な実施形態によれば、プロセッサ104は、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、マイクロプロセッサ、ホストプロセッサ、複数のプロセッサ、コントローラ、チップ、マイクロチップ、或いは他の何れかの好適な汎用又は特定用途向けプロセッサ又はコントローラを含むことができる。入力ユニット110は、例えばキーボード、マウス、タッチパッド、又は他の好適なポインティングデバイス又は入力デバイスを含むことができる。出力ユニット108は、例えば陰極線管(CRT)モニタ、液晶ディスプレイ(LCD)モニタ、或いは他の好適なモニタ又はディスプレイユニットを含むことができる。メモリ106は、例えばランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SD−RAM)、フラッシュメモリ、揮発性メモリ、不揮発性メモリ、キャッシュメモリ、バッファ、短期ストレージユニット、長期ストレージユニット、或いは他の好適なメモリユニット又はストレージユニットを含むことができる。ネットワーク接続部112は、通信ネットワーク、例えばローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、又はグローバル通信ネットワーク(例えばインターネット)と対話するように適合させることができる。幾つかの実施形態によれば、通信ネットワークは、例えば無線LAN(WLAN)通信ネットワークなどの無線通信ネットワークを含むことができる。本発明の範囲はこの点において限定されないが、通信ネットワークは、例えば基地局、移動局、又はセルラーハンドセットであるプラットフォーム100を備えたセルラー通信ネットワークを含むことができる。本発明の幾つかの実施形態によるセルラー通信ネットワークは、例えば周波数ドメインデュプレクシング(FDD)、移動体通信用グローバルシステム(GSM)、広帯域符号分割多元接続(WCDMA)セルラー通信ネットワーク、及び同様のものなどの第3世代パートナーシッププロジェクト(3GPP)とすることができる。
本発明はこの点において限定されないが、ストレージデバイス102は、例えばポータブルメモリカード、ディスク、チップ、及び/又は他の何れかのポータブルストレージデバイスであるポータブルストレージデバイスとすることができ、これらは、例えばコンピューティングプラットフォーム100から着脱可能とすることができる。他の実施形態によれば、記憶装置102は、例えばコンピューティングプラットフォーム100に一体的に接続されたメモリカード、ディスク、チップ、及び/又は他の何れかのストレージユニット又は要素である非ポータブルストレージデバイスとすることができる。
本発明の例証的な実施形態によれば、ストレージデバイス102は、例えば、以下に説明されるようにプロセッサ104、メモリ106、入力ユニット110、ネットワーク接続部112、及び/又はプラットフォーム100及び/又はプラットフォーム100に付随(例えば内部又は外部的に)する他の何れかの好適な構成要素から受け取った1つ又はそれ以上のレコードであるデータを安全に記憶するように適合されたセキュアストレージ構成114を含むことができる。
本発明の例証的な実施形態によれば、セキュアストレージ114は、ストレージモジュール120と保護制御構成118とを含むことができる。
本発明の例証的な実施形態によれば、制御構成118は、例えば当該技術分野において公知の何れかの好適な「物理」保護構造及び/又は他の何れかの好適な保護構成などの何れかの適切な保護メカニズムを含み、構成118のコンテンツのあらゆる部分の開示を保護し、構成118のコンテンツのあらゆる部分へのアクセスのあらゆる試みを防ぎ、部分的又は全体的に構成118のコンテンツの改竄又は変更のあらゆる試みを防ぎ、及び/又は構成118のオペレーションを妨げるあらゆる試みを防ぐことができる。
本発明の例証的な実施形態によれば、構成118は、以下に説明されるようにストレージモジュール120内に記憶されることになるレコードを受け取り、暗号化レコードをストレージモジュール120に提供することができる。構成118はまた、例えば以下に説明されるように、ストレージモジュール120から受け取った暗号化レコードを解読することができる。構成118はまた、例えばストレージモジュール120内にレコードを記憶する前及び/又はストレージモジュール120から検索されたレコードを出力する前に、ストレージモジュール120のレコード及び/又は他の何れかのコンテンツが、以下に説明されるように例えば許可なく操作、変更、改竄、及び/又は他のコンテンツによって置換えが行われていないことを検証することができる。
本発明の幾つかの例証的な実施形態によれば、構成118は、コントローラ121、メモリ122、及び暗号化/解読モジュール124を含むことができる。
メモリ122は、当該技術分野において公知の何れかの好適なメモリ、例えば、
電子的消去可能プログラム可能読出し専用メモリ(EEPROM)、ワンタイムプログラマブル(OTP)メモリ、1つ又はそれ以上のヒューズによって実装されるメモリなどの不揮発性RAMメモリを含むことができる。メモリ122は、例えば、予め設定された長さ(例えば128ビット)を有する、コントローラ121によって生成されたランダムシーケンスなどのランダム生成シーケンスを含む秘密デバイス鍵191を記憶することができる。メモリ122はまた、以下に説明されるように、データ完全性情報193、例えば「ストレージ署名」値及び/又は「世代カウンタ」値を記憶することができる。
本発明の幾つかの例証的な実施形態では、メモリ122の容量は、比較的小さくすることができる。非限定的な実施例では、メモリ122の容量は、10キロバイト程度とすることができる。
暗号化/解読モジュール124は、例えば以下に説明されるように、ストレージモジュール120内に記憶されることになるレコードを暗号化し、又はストレージモジュール120から受け取られたレコードを解読することができる何れかの好適なハードウェア及び/又はソフトウェア(例えば、当該技術分野で公知の暗号化/解読エンジン)を含むことができる。例えば、モジュール124は、当該技術分野で公知のように、AES−CBCサイファアルゴリズム又は他の何れかの好適な暗号化/解読アルゴリズムを実装することができる。
本発明の幾つかの例証的な実施形態によれば、コントローラ121は、CPU、DSP、マイクロプロセッサ、ホストプロセッサ、複数のプロセッサ、チップ、マイクロチップ、或いは他の何れかの好適な汎用もしくは特定用途向けプロセッサ又はコントローラを含むことができる。
本発明の幾つかの例証的な実施形態によれば、コントローラ121は、任意選択的に、例えばレコード初期化ベクトル(IV)をランダムに作成することができる。例えば、レコードIVは、以下に説明されるように、例えば暗号化/解読モジュール124によって実装されるサイファアルゴリズムに対応する予め設定された長さ(例えば128ビット)のビットのブロックを含むことができる。コントローラ121は、任意選択的に、他の何れかの予め設定された初期化ベクトル(IV)、例えばレコードのテーブルに対応するテーブルIV、及び/又は複合メッセージ認証コード(MAC)に対応する複合IVを作成することができる。本発明の他の実施形態によれば、1つ又はそれ以上のIVは、コントローラ121以外の他の何れかの好適なユニット、モジュール、又は要素によって作成することができる。
コントローラ121及び/又はモジュール124は、例えばハッシュアルゴリズム、ブロックサイファアルゴリズム、CBC−MACアルゴリズム、及び/又は当該技術分野で公知の他の何れかの好適な方法を使用して、例えばデバイス鍵191及び/又は他の何れかの好適な値及び/又はパラメータから認証鍵(例えばMAC鍵)を求めることができる。コントローラ121及び/又はモジュール124はまた、例えばストレージモジュール120から受け取られ又はストレージモジュール120内に記憶されるよう意図されたレコード、及び任意選択的にレコードIVに対応するレコードMACなどレコード認証コードを計算することができる。コントローラ121及び/又はモジュール124はまた、以下に詳細に説明されるように、ストレージモジュール120内に記憶テーブルの2つ又はそれ以上のレコード認証コードに対応するテーブル認証コード、及び/又はストレージモジュール120の1つ又はそれ以上のテーブル認証コード及び/又は他のコンテンツに対応する複合認証コードなどの1つ又はそれ以上の他の認証コード又はMACを計算することができる。コントローラ121及び/又はモジュール124は、当該技術分野で公知のように、例えば、MAC鍵などの認証鍵を使用して、AES−MACアルゴリズム又はHMACアルゴリズムなどの好適な認証アルゴリズムを実施することによって認証コードの1つ又はそれ以上を計算することができる。
本発明の幾つかの例証的な実施形態では、MACを認証コード又は鍵として実装することに関連して本明細書で説明されているが、本発明はこの点において限定されず、本発明の他の実施形態では他の何れかの好適な認証コード及び/又は鍵を使用することができる点は当業者には理解されるであろう。
本発明の幾つかの例証的な実施形態は、制御構成(例えば構成118)の種々の要素として実装されるコントローラ(例えばコントローラ121)及び暗号化/解読モジュール(例えば暗号化/解読モジュール124)に関して本明細書で説明される。しかしながら、本発明がこの点において限定されず、本発明の他の実施形態では、制御構成がコントローラ及び解読/暗号化モジュールの両方の機能を実施可能なモジュールを含むことができる点は当業者であれば理解されるであろう。
本発明の幾つかの例証的な実施形態によれば、ストレージモジュール120は、例えばRAM、DRAM、SD−RAM、フラッシュメモリ、又は他の好適な(不揮発性などの)メモリ又はストレージを含むことができる。
幾つかの例証的な実施形態によれば、ストレージモジュール120は、例えば、保護されたメモリ122内に記憶することができるデータの量に比べて比較的大量のデータを記憶することができる。本発明の幾つかの例証的な実施形態では、ストレージモジュール120の容量は、メモリ122の容量に比べてかなり大きくすることができる。非限定的な実施例では、ストレージ120の容量は、メモリ122の容量の少なくとも100倍大きくすることができる。
本発明はこの点において限定されないが、ストレージモジュール120は、例えば制御構成118に一体的に接続することができる。他の実施形態によれば、ストレージモジュール120は、制御構成118から着脱可能にすることができる。
本発明の幾つかの例証的な実施形態によれば、ストレージモジュール120は、1つ又はそれ以上のテーブル160内にデータを記憶することができる。テーブル160の各々は、例えば、第1、第2、及び第3の部分164、166、及び168をそれぞれ含む1つ又はそれ以上のフィールド162を含むことができる。幾つかの実施形態では、例えば以下に説明されるように、部分166は、構成118から受け取られた暗号化レコードを記憶することができ、部分164及び168は、部分164のレコードに対応するIV及びレコードMACを記憶することができる。しかしながら、本発明の他の実施形態により、テーブル160は、何れかの適切なフォーマット及び/又は順序、例えば可変長のリンクリストで認証コード及び/又はIVデータなどのデータを記憶するための1つ又はそれ以上のフィールドの何れかの好適な構成を含むことができる点は当業者であれば理解されるであろう。特定のレコードに対応するレコード認証コードは、例えば以下に説明されるように特定のレコードの完全性を保証するために使用することができる。
本発明の幾つかの例証的な実施形態によれば、ストレージモジュール120は、任意選択的に、1つ又はそれ以上のテーブル160のコンテンツにそれぞれ対応するテーブルMAC170などの1つ又はそれ以上のテーブル認証コードを記憶することができる。コントローラ121及び/又はモジュール124は、例えば、以下に説明されるように、1つ又はそれ以上のレコードをテーブル160内に記憶する場合、或いはテーブル160の1つ又はそれ以上のレコードを検索又は変更する場合に、テーブルMAC170を計算することができる。特定のテーブルのテーブル認証コードは、例えば特定のテーブルのレコード認証コードの全てを使用して計算することができる。特定のテーブルに対応するテーブル認証コードは、例えば以下に説明されるように、全体として特定のテーブルの完全性を保証するために使用することができる。
本発明の幾つかの例証的な実施形態によれば、ストレージモジュール120はまた、予め設定された長さ、例えば128ビットの長さ又は他の何らかの長さを有する世代カウンタ190を含むことができる。カウンタ190は、何れかの適切なカウンタ又はグレイカウンタなどのカウンタ様を含むか、或いはそのものとすることができる。世代カウンタ190内に記憶された値は、以下に説明されるように、ストレージモジュール120内に1つ又はそれ以上のレコードを記憶する場合、或いはストレージモジュール120の1つ又はそれ以上のレコードを変更する場合に修正され、例えば1ずつのようにインクリメントすることができる。他の例証的な実施形態によれば、ストレージモジュール120は、世代カウンタ190を実装することができない。このような実施形態では、ストレージ署名値などの他の更新検証情報を用いて、以下に説明されるようにストレージモジュール120のコンテンツが最新であることを検証することができる。
本発明の幾つかの例証的な実施形態によれば、ストレージモジュール120はまた、例えば、テーブル認証コードの全て及び任意選択的に実装されている場合には世代カウンタ190の値を含む、ストレージモジュール120の全コンテンツに対応する複合MAC180などの複合認証コードを記憶することができる。複合認証コードは、例えば、テーブル認証コードの全てを使用して、或いは例えば1つのテーブルだけが実装される場合でもレコード認証コードの全てを使用して計算することができる。コントローラ121は、例えば以下に説明されるように、1つ又はそれ以上のレコードをストレージモジュール120内に記憶する場合、或いはストレージモジュール120の1つ又はそれ以上のレコードを変更する場合に複合MAC180を計算することができる。複合認証コードは、例えば以下に説明されるようにストレージモジュール120の全体の完全性を保証するために使用することができる。本発明の幾つかの実施形態によれば、ストレージ120は、例えば1つ又はそれ以上のテーブルIV及び/又は複合IVなどの他の何れかの好適なデータ完全性情報を付加的に或いは代替的に含むことができる。
本発明の幾つかの例証的な実施形態によれば、ストレージ構成102は、例えばプロセッサ104、メモリ106、入力ユニット110及び/又はネットワーク接続部112からストレージモジュール120内に記憶されることになるデータを受け取り、該データを好適なフォーマットでコントローラ118に提供することができる入力/出力インターフェース116を更に含むことができる。インターフェース116はまた、ストレージモジュール120内に記憶されたデータをコントローラ118から受け取り、該データを好適なフォーマットでプロセッサ104、メモリ106、出力ユニット108、及び/又はネットワーク接続部112に提供することができる。インターフェース116は、当該技術分野で公知の何れかの適切なハードウェア及び/又はソフトウェアなどを含むことができる。
図2を更に参照すると、本発明の幾つかの例証的な実施形態に従ってデータを安全に記憶するための方法が概略的に示されている。
本発明はこの点において限定されないが、図2の方法は、例えばストレージモジュール120内に1つ又はそれ以上のレコードを記憶しようとする場合にコントローラ121が実装することができる。
本発明の例証的な実施形態によれば、本方法は、ブロック202で示されるように記憶されることになるレコード(「現在のレコード」)を受け取る段階を含むことができる。例えば、制御構成118は、例えばインターフェース116からストレージモジュール120内に記憶されることが意図されたレコードを受け取ることができる。
ブロック204で示されるように、本方法は、任意選択的に、レコードIVを生成する段階と、ストレージモジュール120内に現在のレコードを記憶するよう意図されたフィールドの一部に生成レコードIVを記憶する段階とを含むことができる。例えばコントローラ121は、レコードIVを生成し、テーブル160の部分164にレコードIVを記憶することができる。
本発明の幾つかの例証的な実施形態によれば、現在のレコードは、例えば部分166の少なくとも一部などストレージモジュール120内に現在記憶されているレコード(「記憶レコード」)の一部又は全体を置換えるよう意図することができる。ブロック206で示されるように、これらの例証的な実施形態によれば、本方法は、任意選択的に記憶レコードの完全性を検証する段階を含むことができる。記憶レコードの完全性を検証する段階は、例えば、対応する記憶レコードIV及び秘密鍵(鍵191など)を使用して記憶レコードのレコード認証コードを計算する段階と、計算されたレコード認証コードが部分168内に記憶されたレコード認証コード(「記憶レコード認証コード」)とマッチするかどうかを判定する段階とを含むことができる。計算されたレコード認証コードと記憶レコード認証コードとのミスマッチは、記憶レコードが最初に記憶された後のある時点で、例えば許可なくレコードが変更され、置換えられ、或いは改竄されていることを示すことができる。従って、ブロック208で示されるように、本方法は、計算されたレコード認証コードが記憶レコード認証コードにマッチしない場合には、デバイスが現在のレコードを記憶するのを拒否、中止、或いは取り消しなど阻止する段階を含むことができる。
ブロック210で示されるように、本方法は、現在のレコードを暗号化する段階を含むことができる。例えば、暗号化/解読モジュール124は、例えばデバイス鍵191又は他の何れかの好適な秘密鍵などの秘密鍵、及び任意選択的にコントローラ121によって生成されたレコードIVを使用して、現在のレコードを暗号化することができる。
ブロック212で示されるように、本方法は、例えば上述のように認証コード鍵を使用して、現在の暗号化レコード又は現在のレコード、及び任意選択的にレコードIVに対応する現在のレコード認証コードを計算する段階を含むことができる。コントローラ121は、部分168内に現在のレコード認証コードを記憶することができる。本発明の幾つかの例証的な実施形態によれば、現在のレコード認証コードを計算する段階は、例えば図2に示されるように現在のレコードを暗号化する段階後に実行することができる。しかしながら、本発明の他の実施形態によれば、現在のレコード認証コードを計算する段階は現在のレコードを暗号化する前に実行してもよいことは当業者であれば理解されるであろう。
ブロック214で示されるように、本方法は、記憶レコードを含むテーブル(「記憶テーブル」)の完全性を検証する段階を任意選択的に含むことができる。記憶テーブルの完全性を検証する段階は、例えば、記憶レコード認証コード及び記憶テーブルの全ての他のレコード認証コードに対応するテーブル認証コード(「計算されたテーブル認証コード」)を計算する段階と、計算されたテーブル認証コードがストレージモジュール120内に現在記憶されているテーブル認証コード(「記憶テーブル認証コード」)とマッチするかどうかを判定する段階とを含むことができる。計算されたテーブル認証コードと記憶テーブル認証コードとのミスマッチは、最初にレコードを記憶した後のある時点で、例えば許可なく部分的に或いは全体的に記憶テーブルが変更され、置換えられ、或いは改竄されていることを示すことができる。従って、ブロック216で示されるように、本方法は、例えば計算されたテーブル認証コードが記憶テーブル認証コードにマッチしない場合には、記憶テーブルへの更なるアクセスの中止、阻止、或いは取り消しなどの拒否する段階及び/又は記憶テーブルのテーブル認証コードを更新しない段階を含むことができる。
ブロック218で示されるように、計算されたテーブル認証コードが記憶テーブル認証コードにマッチする場合、本方法はまた、例えば記憶テーブルの現在のレコード認証コード及び他のレコード認証コードを使用して現在のテーブル認証コードを計算する段階と、記憶テーブル認証コードを現在のテーブル認証コードと置換える段階とを含むことができる。
本発明の他の実施形態によれば、例えばストレージモジュール120が1つのテーブルだけを含む場合、テーブル認証コードを実装する必要はないものとすることができる。このような場合、例えば、レコード認証コードの1つ又はそれ以上(例えば全て)を使用してこれまでに計算されたようなストレージモジュールの複合認証コードを検証する段階は、単一のテーブルのコンテンツが例えば許可なく部分的に或いは全体的に変更、置換え、又は改竄されていないことを検証するだけで十分とすることができる。
ブロック220で示されるように、本方法はまた、ストレージモジュール120の完全性を検証する段階を含むことができる。ストレージモジュール120の完全性を検証する段階は、例えば記憶テーブル認証コード及び全ての他のテーブル認証コード及び/又は世代カウンタ190内に記憶された値に対応する複合認証コード(「計算された複合認証コード」)を計算する段階と、計算された複合認証コードがストレージモジュール120内に現在記憶されている複合認証コード(「記憶複合認証コード」)にマッチするかどうかを判定する段階とを含むことができる。計算された複合認証コードと記憶複合認証コードとのミスマッチは、ストレージモジュール120のコンテンツが、例えば許可なく部分的或いは全体的に変更され、置換えられ、或いは改竄されていることを示すことができる。従って、ブロック221で示されるように、本方法は、計算された複合認証コードが記憶複合認証コードにマッチしない場合には、複合認証コードへのあらゆる更なるアクセスを中止或いは拒否する段階及び/又は複合認証コードを更新しない段階を含むことができる。
例えば無許可のユーザによる攻撃が、ストレージモジュール120の全コンテンツをストレージモジュール120内に以前に記憶されたコンテンツと置換えることを含むことができる点は理解される。このような攻撃は、ストレージモジュール120のレコード、テーブル及び/又は全体の完全性を検証することによって発見することができない。
従って、ブロック225で示されるように、本発明の幾つかの例証的な実施形態によれば、本方法はまた、例えば計算された複合認証コードが記憶複合認証コードとマッチする場合に、ストレージモジュール120のコンテンツが適切且つ完全に最新であることを保証する段階、すなわちストレージモジュール120が許可されて最近記憶されたデータを含むことを保証する段階を含むことができる。
ブロック226で示されるように、ストレージモジュール120のコンテンツが最新であることを保証する段階は、本発明の幾つかの例証的な実施形態に従って世代カウンタ190の値を制御構成118のメモリ122内に記憶された世代カウンタ値(例えばデータ完全性情報193の世代カウンタ値)と比較する段階を含むことができる。
ブロック230で示されるように、本方法はまた、例えば、ストレージモジュール120の世代カウンタ値とメモリ122の世代カウンタ値との比較が、ストレージモジュール120のコンテンツの最新であることを示す場合に、世代カウンタ値を変更する段階を含むことができる。例えば、世代カウンタ値は、ストレージモジュール120の世代カウンタ値がメモリ122の世代カウンタ値に等しいか又はこれよりも大きい場合に、例えば1ずつインクリメントすることができる。
ブロック232で示されるように、本方法はまた、更新された世代カウンタ値をメモリ122にコピーする段階を含むことができる。他の実施形態によれば、世代カウンタ値は、例えば、レコードがストレージモジュール120内に記憶されるか又は修正されるときに世代カウンタ値がインスタンスの一部についてだけ更新されるように、他の何れかの予め設定された更新方式に従って更新することができる。
ブロック222で示されるように、ストレージモジュール120のコンテンツが最新であることを保証する段階は、例えば所与のコンテキストにおいて使用可能な場合、例えば現在のテーブル認証コード、他のテーブル認証コード又は記憶テーブルのレコード認証コード及び任意選択的に更新された世代カウンタ値とを使用して現在の複合認証コードを計算する段階と、記憶複合認証コードを現在の複合認証コードと置換える段階とを含むことができる。幾つかの実施形態によれば、例えばストレージモジュール120のコンテンツが適正且つ完全に最新であることを保証する段階が上述の世代カウンタを使用する段階を含む場合、世代カウンタ値は、複合認証コードを計算する前に更新することができ、複合認証コードを計算する段階は、更新された世代カウンタ値を使用する段階を含むことができる。
ブロック224で示されるように、本発明の他の例証的な実施形態によれば、ストレージモジュール120のコンテンツが最新であることを保証する段階は、例えば世代カウンタが実装されていない場合、現在の複合認証コードをデータ完全性情報193としてメモリ122にコピーする段階を含むことができる。
例えば上記の順序で実行される場合に上記のオペレーションは、種々の完全性検証オペレーションが例えばプロセスの始めに共にグループ化されておらず、及び/又は種々の記憶オペレーションが共にグループ化されていないので、幾つかの競合条件攻撃、すなわち2つ又はそれ以上のプロセスが互いに干渉し合う時間期間中に行われる攻撃に対する効率的な保護を提供することができる点は当業者には理解されるであろう。しかしながら、上記の動作のあらゆる組合せは本発明の実施形態に従ってデータを安全に記憶するために実行することができる点は当業者には理解されるであろう。更に、他の動作又は一連の動作を使用してもよい。
図3を更に参照すると、本発明の幾つかの例証的な実施形態に従って安全に記憶されたデータを検索するための方法が概略的に示されている。
本発明はこの点において限定されないが、図3の方法は、例えば1つ又はそれ以上のレコードをストレージモジュール120から検索する場合にコントローラ121が実施することができる。
ブロック302で示されるように、本方法は、暗号化レコードを含むフィールドを例えばストレージモジュール120から検索する段階を含むことができる。例えば、コントローラ121は、暗号化レコードを含む部分166、及び対応するレコードIVと記憶レコード認証コードをそれぞれ含む部分164及び168を有するフィールド162を検索することができる。
ブロック304で示されるように、本方法は、例えばデバイス鍵191及び任意選択的に検索されたレコードIVを使用して検索されたレコードを解読する段階を含むことができる。
ブロック306で示されるように、本方法はまた、検索されたレコードの完全性を検証する段階を含むことができる。検索されたレコードの完全性を検証する段階は、例えば、検索されたレコード、及び任意選択的に検索されたレコードIVに対応するレコード認証コードを計算する段階と、計算されたレコード認証コードを検索されたレコード認証コードと比較する段階とを含むことができる。
ブロック308で示されるように、本方法は、例えば計算されたレコード認証コードが検索されたレコード認証コードにマッチしない場合に、インターフェース116への暗号化され検索されたレコードの転送を中止、取り消し、又は拒否する段階を含むことができる。
ブロック310で示されるように、本方法はまた、レコードが検索されたテーブル(「現在のテーブル」)の完全性を検証する段階を含むことができる。現在のテーブルの完全性を検証する段階は、例えば、現在のテーブルに対応するテーブル認証コードをストレージモジュール120から検索する段階と、現在のテーブルのレコード認証コードに対応するテーブル認証コードを計算する段階と、計算されたテーブル認証コードを検索されたテーブル認証コードと比較する段階とを含むことができる。
ブロック312で示されるように、本方法は、例えば計算されたテーブル認証コードがストレージモジュール120内に記憶されたテーブル認証コードにマッチしない場合に、インターフェース116への暗号化され検索されたレコードの転送を中止、取り消し、又は拒否する段階を含むことができる。
ブロック314で示されるように、本方法はまた、ストレージモジュール120の完全性を検証する段階を含むことができる。ストレージモジュール120の完全性を検証する段階は、例えば、ストレージモジュール120のテーブル認証コード及び任意選択的にストレージモジュール120の世代カウンタに対応するストレージモジュール120の複合認証コードを計算する段階と、計算された複合認証コードをストレージモジュール120内に記憶された複合認証コードと比較する段階とを含むことができる。
ブロック316で示されるように、本方法は、例えば計算された複合認証コードがストレージモジュール120内に記憶された複合認証コードにマッチしない場合に、インターフェース116への暗号化され検索されたレコードの転送を中止し、取り消し、又は拒否する段階を含むことができる。
ブロック327で示されるように、本方法はまた、ストレージモジュール120のコンテンツが最新であるかどうかを判定する段階を含むことができる。
ブロック318で示されるように、本発明の幾つかの例証的な実施形態によれば、ストレージモジュール120のコンテンツが最新であるかどうかを判定する段階は、ストレージモジュール120の世代カウンタ値190を制御構成118のメモリ122内に記憶された世代カウンタ値、例えばデータ完全性情報193の世代カウンタ値と比較する段階を含むことができる。
ブロック320で示されるように、本方法は、例えば、ストレージモジュール120の世代カウンタ値が、メモリ122内に記憶された世代カウンタ値(例えばデータ完全性情報193の世代カウンタ値)よりも小さい場合に、インターフェース116への暗号化され検索されたレコードの転送を中止し、取り消し、或いは拒否する段階を含むことができる。
ブロック322で示されるように、本発明の他の例証的な実施形態によれば、ストレージモジュール120のコンテンツが最新であるかどうかを判定する段階は、例えばデータ完全性情報193としてメモリ122内に記憶されたストレージ署名値を複合MAC180と比較する段階を含むことができる。
ブロック324で示されるように、本方法は、例えばデータ完全性情報193として記憶されたストレージ署名が複合MAC180に等しくない場合に、インターフェース116への暗号化され検索されたレコードの転送を中止し、取り消し、又は拒否する段階を含むことができる。
ブロック326で示されるように、本方法はまた、例えばレコード完全性が検証され、テーブル完全性が検証され、ストレージモジュール120の完全性が検証されて、更にストレージモジュール120が最新であると判定された場合に、解読されたレコードを例えばインターフェース116に提供する段階を含むことができる。
本発明の実施形態は、特定のアプリケーション或いは特定の設計要件に従って好適とすることができる、ソフトウェア、ハードウェア、或いはソフトウェア及び/又はハードウェアのあらゆる組合せによって実施することができる。本発明の実施形態は、全体的に或いは部分的に互いに別個に又は共に組み合わせることができるユニット及びサブユニットを含むことができ、当該技術分野において公知の特定多用途又は汎用のプロセッサもしくはデバイスを使用して実施することができる。本発明の幾つかの実施形態は、データの一時的又は長期の記憶保持のため及び/又は特定の実施形態のオペレーションを容易にするために、バッファ、レジスタ、ストレージユニット及び/又はメモリユニットを含むことができる。
本発明の幾つかの特徴について本明細書で例証し説明してきたが、当業者であれば多くの修正形態、置換形態、変更形態、及び均等物を想起することができる。従って、添付の請求項は、本発明の真の精神の範囲内にある全てのこのような修正及び変更を保護するものとする点を理解されたい。
本発明の幾つかの例証的な実施形態によるセキュアストレージ構成を含むコンピューティングプラットフォームの概略ブロック図である。 本発明の幾つかの例証的な実施形態によるデータを安全に記憶する方法の概略フローチャートである。 本発明の幾つかの例証的な実施形態による安全に記憶されたデータを検索する方法の概略フローチャートである。
符号の説明
100 コンピューティングプラットフォーム
102 ストレージデバイス
104 プロセッサ
106 メモリ
108 出力ユニット
110 入力ユニット
112 ネットワーク接続
114 セキュアストレージ構成
116 入出力インターフェース
118 制御構成
120 ストレージ
121 コントローラ
124 暗号化/解読
132 メモリ
160 テーブル
162 フィールド
164 部分(IV)
166 部分(レコード)
168 部分(MAC)
170 テーブルMAC
180 複合MAC
190 世代カウンタ
191 デバイス鍵
193 データ完全性

Claims (47)

  1. データを安全に記憶する装置であって、
    鍵を安全に記憶するためのセキュアメモリと、前記鍵を使用して記憶されることになるデータレコードを暗号化することによって暗号化レコードを生成するための暗号化モジュールと、前記鍵に基づいて前記暗号化レコードの完全性を認証するための認証情報を生成するためのコントローラとを含むセキュア制御構成と、
    前記暗号化レコードと前記認証情報とを記憶するためのストレージ部と、
    を備える装置。
  2. 前記コントローラは、前記レコードのグループに対応する複数のレコード認証コードに基づいてレコードのグループの完全性を認証するためのグループ認証コードを生成することができることを特徴とする請求項1に記載の装置。
  3. 前記コントローラは、前記複数のグループに対応する複数のグループ認証コードに基づいてレコードの複数のグループの完全性を認証するためのグローバル認証コードを生成することができることを特徴とする請求項2に記載の装置。
  4. 前記暗号化モジュールは記憶レコードを解読することができ、前記コントローラは、前記記憶レコードの完全性の認証、前記記憶レコードを含むレコードのグループの完全性の認証、前記レコードのグループを含むグループのセットの認証、及び前記記憶レコードが最新であるかどうかの判定の少なくとも1つに基づいて、前記解読されたレコードに選択的にアクセスすることができることを特徴とする請求項1に記載の装置。
  5. 前記コントローラは、前記記憶レコードの完全性、前記レコードのグループの完全性、及び前記グループのセットの完全性の少なくとも1つが認証されなかった場合に、前記解読されたレコードへのアクセスを拒否することができることを特徴とする請求項4に記載の装置。
  6. 前記コントローラは、前記記憶レコードが最新でないと判定された場合に、前記解読されたレコードへのアクセスを拒否することができることを特徴とする請求項4に記載の装置。
  7. 前記記憶レコードの完全性が認証された場合、前記記憶レコードが最新であると判定された場合、及び前記レコードのグループの完全性と前記グループのセットの完全性の少なくとも1つが認証された場合に、前記コントローラは、前記解読されたレコードへアクセスすることができることを特徴とする請求項4に記載の装置。
  8. 前記コントローラは、前記鍵に基づいて記憶レコードに対応するレコード認証コードを求め、前記求められたレコード認証コードを前記記憶レコードに対応する記憶レコード認証コードと比較することによって、前記記憶レコードの完全性を認証することができることを特徴とする請求項1に記載の装置。
  9. 前記コントローラは、前記鍵に基づいたレコードの記憶グループに対応するグループ認証コードと、前記グループのレコードに対応する複数の記憶レコード認証コードとを求め、前記求められたグループ認証コードを前記グループに対応する記憶グループ認証コードと比較することによって、前記グループの完全性を認証することができることを特徴とする請求項1に記載の装置。
  10. 前記コントローラは、前記鍵に基づいた記憶レコードのグループのセットのグローバル認証コードと、前記グループのセットに対応する複数の記憶グループ認証コードとを求め、前記求められたグローバル認証コードを前記グループのセットに対応する記憶グローバル認証コードと比較することによって、前記グループのセットの完全性を認証することができることを特徴とする請求項1に記載の装置。
  11. 前記コントローラは、前記ストレージ部内に記憶された1つ又はそれ以上のレコードのバージョンを示すバージョン情報を前記セキュアメモリ内に安全に記憶できることを特徴とする請求項1に記載の装置。
  12. 前記コントローラは、前記1つ又はそれ以上の記憶レコードを含むグループのセットに対応するグローバル認証コードを前記セキュアメモリ内に安全に記憶できることを特徴とする請求項11に記載の装置。
  13. 前記ストレージ部は、カウンタを記憶することができ、前記コントローラは、レコードを記憶するときに前記カウンタを更新し、更に前記メモリ内に前記カウンタの値を安全に記憶することができることを特徴とする請求項11に記載の装置。
  14. 前記コントローラは、前記安全に記憶されたバージョン情報を前記ストレージ内に記憶された対応するバージョン情報と比較することによって、前記1つ又はそれ以上の記憶レコードが最新であるかどうかを判定できることを特徴とする請求項11に記載の装置。
  15. 前記セキュア制御構成は、前記制御構成のコンテンツの無許可の開示を防ぎ、更に前記制御構成のコンテンツへの無許可のアクセスを防ぐように適合されていることを特徴とする請求項1に記載の装置。
  16. 前記ストレージの容量は、前記セキュアメモリの容量に比べて実質的に大きいことを特徴とする請求項1に記載の装置。
  17. 前記ストレージの容量は、前記セキュアメモリの容量よりも少なくとも100倍大きいことを特徴とする請求項16に記載の装置。
  18. 前記セキュアメモリの容量は、10キロバイトを超えないことを特徴とする請求項1に記載の装置。
  19. 前記セキュアメモリは、電子的消去可能プログラム可能読出し専用メモリ、ワンタイムプログラマブルメモリ、及び1つ又はそれ以上のヒューズによって実装されるメモリからなるグループから選択されたメモリを含むことを特徴とする請求項1に記載の装置。
  20. 前記ストレージは、フラッシュメモリを含むことを特徴とする請求項1に記載の装置。
  21. データを安全に記憶する方法であって、
    第1メモリ内に鍵を安全に記憶する段階と、
    前記鍵を使用して記憶されることになるデータレコードを暗号化することによって暗号化レコードを生成する段階と、
    前記鍵に基づいて前記暗号化レコードの完全性を認証するための認証情報を生成する段階と、
    前記暗号化レコード及び前記認証情報を前記第1メモリにリンク可能な第2メモリ内に記憶する段階と、
    を含む方法。
  22. 前記認証情報を生成する段階は、前記レコードのグループに対応する複数のレコード認証コードに基づいてレコードのグループの完全性を認証するためのグループ認証コードを生成する段階を含む請求項21に記載の方法。
  23. 前記認証情報を生成する段階は、前記複数のグループに対応する複数のグループ認証コードに基づいてレコードの複数のグループの完全性を認証するためのグローバル認証コードを生成する段階を含む請求項22に記載の方法。
  24. 記憶レコードを解読する段階と、
    前記記憶レコードの完全性の認証、前記記憶レコードを含むレコードのグループの完全性の認証、前記レコードのグループを含むグループのセットの認証、及び前記記憶レコードが最新であるかどうかの判定の少なくとも1つに基づいて、前記解読されたレコードに選択的にアクセスする段階と、
    を含む請求項21に記載の方法。
  25. 前記記憶レコードの完全性、前記レコードのグループの完全性、及び前記グループのセットの完全性の少なくとも1つが認証されなかった場合に、前記解読されたレコードへのアクセスを拒否する段階を含む請求項24に記載の方法。
  26. 前記記憶レコードが最新でないと判定された場合に、前記解読されたレコードへのアクセスを拒否する段階を含む請求項25に記載の方法。
  27. 前記記憶レコードの完全性が認証された場合、前記記憶レコードが最新であると判定された場合、及び前記レコードのグループの完全性と前記グループのセットの完全性の少なくとも1つが認証された場合に、前記解読されたレコードにアクセスする段階を含む請求項25に記載の方法。
  28. 前記鍵に基づいて前記第2メモリ内に記憶されたレコードに対応するレコード認証コード求める段階と、
    前記求められたレコード認証コードを前記記憶レコードに対応する記憶レコード認証コードと比較することによって、前記記憶レコードの完全性を認証する段階と、
    を含む請求項21に記載の方法。
  29. 前記鍵に基づいた前記第2メモリ内に記憶されたレコードのグループに対応するグループ認証コードと、前記グループのレコードに対応する複数の記憶レコード認証コードとを求める段階と、
    前記求められたグループ認証コードを前記グループに対応する記憶グループ認証コードと比較することによって、前記グループの完全性を認証する段階と、
    を含む請求項21に記載の方法。
  30. 前記鍵に基づいた前記第2メモリ内に記憶されたレコードのグループのセットのグローバル認証コードと、前記グループのセットに対応する複数の記憶グループ認証コードとを求める段階と、
    前記求められたグローバル認証コードを前記グループのセットに対応する記憶グローバル認証コードと比較することによって、前記グループのセットの完全性を認証する段階と、
    を含む請求項21に記載の方法。
  31. 前記第2メモリ内に記憶された1つ又はそれ以上のレコードのバージョンを示すバージョン情報を前記第1メモリ内に安全に記憶する段階を含む請求項21に記載の方法。
  32. 前記バージョン情報を安全に記憶する段階は、前記1つ又はそれ以上の記憶レコードを含むグループのセットに対応するグローバル認証コードを安全に記憶する段階を含む請求項31に記載の方法。
  33. レコードを前記第2メモリ内に記憶するときにカウンタを更新する段階と、
    前記カウンタの値を前記第1メモリ内に安全に記憶する段階と、
    を含む請求項31に記載の方法。
  34. 前記安全に記憶されたバージョン情報を前記1つ又はそれ以上の記憶レコードに関連する前記第2メモリ内に記憶された対応するバージョン情報と比較することによって、前記1つ又はそれ以上の記憶レコードが最新であるかどうかを判定する段階を含む請求項31に記載の方法。
  35. 前記鍵を安全に記憶する段階は、前記鍵の無許可の開示を防ぐ段階と、前記鍵への無許可のアクセスを防ぐ段階とを含む請求項21に記載の方法。
  36. 前記第2メモリの容量は、前記第1メモリの容量に比べて実質的に大きいことを特徴とする請求項21に記載の方法。
  37. 前記第2メモリの容量は、前記第1メモリの容量よりも少なくとも100倍大きいことを特徴とする請求項36に記載の方法。
  38. 前記第1メモリの容量は、10キロバイトを超えないことを特徴とする請求項21に記載の方法。
  39. 前記第1メモリは、電子的消去可能プログラム可能読出し専用メモリ、ワンタイムプログラマブルメモリ、及び1つ又はそれ以上のヒューズによって実装されるメモリからなるグループから選択されたメモリを含むことを特徴とする請求項21に記載の方法。
  40. 前記第2メモリは、フラッシュメモリを含むことを特徴とする請求項21に記載の方法。
  41. コンピューティングプラットフォームであって、
    鍵を安全に記憶するためのメモリと、前記鍵を使用して記憶されることになるデータレコードを暗号化することによって暗号化レコードを生成するための暗号化モジュールと、前記鍵に基づいて前記暗号化レコードの完全性を認証するための認証情報を生成するためのコントローラとを含むセキュア制御構成と、
    前記暗号化レコードと前記認証情報を記憶するためのストレージ部と、
    を含むデータを安全に記憶するためのセキュアストレージ構成と、
    前記セキュアストレージ構成から検索された1つ又はそれ以上の安全に記憶されたレコードを処理するためのプロセッサと、
    を備えるコンピューティングプラットフォーム。
  42. 前記コントローラは、前記レコードのグループに対応する複数のレコード認証コードに基づいてレコードのグループの完全性を認証するためのグループ認証コードを生成することができることを特徴とする請求項41に記載のコンピューティングプラットフォーム。
  43. 前記暗号化モジュールは記憶レコードを解読することができ、前記コントローラは、前記記憶レコードの完全性の認証、前記記憶レコードを含むレコードのグループの完全性の認証、前記レコードのグループを含むグループのセットの認証、及び前記記憶レコードが最新であるかどうかの判定の少なくとも1つに基づいて、前記解読されたレコードに選択的にアクセスすることができることを特徴とする請求項41に記載のコンピューティングプラットフォーム。
  44. 前記コントローラは、前記鍵に基づいて記憶レコードに対応するレコード認証コードを求め、前記求められたレコード認証コードを前記記憶レコードに対応する記憶レコード認証コードと比較することによって、前記記憶レコードの完全性を認証することができることを特徴とする請求項41に記載のコンピューティングプラットフォーム。
  45. 前記コントローラは、前記鍵に基づいたレコードの記憶グループに対応するグループ認証コードと、前記グループのレコードに対応する複数の記憶レコード認証コードとを求め、前記求められたグループ認証コードを前記グループに対応する記憶グループ認証コードと比較することによって、前記グループの完全性を認証することができることを特徴とする請求項41に記載のコンピューティングプラットフォーム。
  46. 前記コントローラは、前記鍵に基づいた記憶レコードのグループのセットのグローバル認証コードと、前記グループのセットに対応する複数の記憶グループ認証コードとを求め、前記求められたグローバル認証コードを前記グループのセットに対応する記憶グローバル認証コードと比較することによって、前記グループのセットの完全性を認証することができることを特徴とする請求項41に記載のコンピューティングプラットフォーム。
  47. 前記コントローラは、前記ストレージに記憶された1つ又はそれ以上のレコードのバージョンを示すバージョン情報を前記メモリ内に安全に記憶することができることを特徴とする請求項41に記載のコンピューティングプラットフォーム。
JP2007540829A 2004-11-12 2005-11-03 データを安全に記憶する方法、デバイス、及びシステム Pending JP2008520030A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62687304P 2004-11-12 2004-11-12
PCT/IL2005/001156 WO2006051522A2 (en) 2004-11-12 2005-11-03 Method, device, and system of securely storing data

Publications (1)

Publication Number Publication Date
JP2008520030A true JP2008520030A (ja) 2008-06-12

Family

ID=36336875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007540829A Pending JP2008520030A (ja) 2004-11-12 2005-11-03 データを安全に記憶する方法、デバイス、及びシステム

Country Status (5)

Country Link
US (1) US20060107047A1 (ja)
JP (1) JP2008520030A (ja)
DE (1) DE112005002845T5 (ja)
GB (1) GB2434673B (ja)
WO (1) WO2006051522A2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239450A1 (en) * 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption and error correction method
US8601283B2 (en) 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US20060242066A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Versatile content control with partitioning
US8396208B2 (en) * 2004-12-21 2013-03-12 Sandisk Technologies Inc. Memory system with in stream data encryption/decryption and error correction
US20060242151A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Control structure for versatile content control
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US20060242067A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb System for creating control structure for versatile content control
US7743409B2 (en) 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
US20070056042A1 (en) * 2005-09-08 2007-03-08 Bahman Qawami Mobile memory system for secure storage and delivery of media content
US8156563B2 (en) * 2005-11-18 2012-04-10 Sandisk Technologies Inc. Method for managing keys and/or rights objects
US7835518B2 (en) * 2006-04-03 2010-11-16 Sandisk Corporation System and method for write failure recovery
US20070230690A1 (en) * 2006-04-03 2007-10-04 Reuven Elhamias System for write failure recovery
US20080010458A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Control System Using Identity Objects
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8639939B2 (en) * 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20080022395A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
US8245031B2 (en) 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8266711B2 (en) 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8200961B2 (en) * 2006-11-19 2012-06-12 Igware, Inc. Securing a flash memory block in a secure device system and method
TWI378702B (en) * 2007-08-24 2012-12-01 Ind Tech Res Inst Group authentication method
US7991943B2 (en) * 2007-10-26 2011-08-02 Standard Microsystems Corporation Implementation of one time programmable memory with embedded flash memory in a system-on-chip
IL187041A0 (en) 2007-10-30 2008-02-09 Sandisk Il Ltd Optimized hierarchical integrity protection for stored data
IL187042A0 (en) 2007-10-30 2008-02-09 Sandisk Il Ltd Write failure protection for hierarchical integrity schemes
IL187037A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Fast update for hierarchical integrity schemes
IL187040A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Caching for structural integrity schemes
IL187039A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure overlay manager protection
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
JP5899751B2 (ja) * 2011-09-28 2016-04-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9256762B1 (en) * 2011-12-20 2016-02-09 Amazon Technologies, Inc. Securing a remote database
FR3011653B1 (fr) * 2013-10-09 2018-01-12 Oberthur Technologies Procedes et dispositifs de masquage et demasquage
US10185842B2 (en) * 2015-03-18 2019-01-22 Intel Corporation Cache and data organization for memory protection
US9798900B2 (en) 2015-03-26 2017-10-24 Intel Corporation Flexible counter system for memory protection
FI127335B (en) 2016-05-27 2018-04-13 Cysec Ice Wall Oy Logging of telecommunications on a computer network
US10528485B2 (en) 2016-09-30 2020-01-07 Intel Corporation Method and apparatus for sharing security metadata memory space
GB2564878B (en) * 2017-07-25 2020-02-26 Advanced Risc Mach Ltd Parallel processing of fetch blocks of data
KR20200130539A (ko) * 2019-05-08 2020-11-19 삼성전자주식회사 강력한 보안 기능을 제공하는 스토리지 장치 및 그 스토리지 장치를 포함하는 전자 장치
JP2022084980A (ja) * 2020-11-27 2022-06-08 キオクシア株式会社 電子デバイス

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10282882A (ja) * 1997-04-10 1998-10-23 Fujitsu Ltd 認証子付与方法および認証子付与装置
JPH11143361A (ja) * 1997-11-14 1999-05-28 Fujitsu Ltd 電子データ保管装置、保管システム、および保管方法
JP2001147898A (ja) * 1999-11-18 2001-05-29 Ricoh Co Ltd 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体
JP2003248627A (ja) * 2002-02-25 2003-09-05 Nippon Telegr & Teleph Corp <Ntt> ファイルアクセス制御方法、プログラム及び記憶媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8704883D0 (en) * 1987-03-03 1987-04-08 Hewlett Packard Co Secure information storage
ATE419586T1 (de) * 1995-02-13 2009-01-15 Intertrust Tech Corp Systeme und verfahren zur gesicherten transaktionsverwaltung und elektronischem rechtsschutz
US7152165B1 (en) * 1999-07-16 2006-12-19 Intertrust Technologies Corp. Trusted storage systems and methods
DE60200323T2 (de) * 2002-03-26 2005-02-24 Soteres Gmbh Verfahren zum Schutz der Integrität von Programmen
US7809953B2 (en) * 2002-12-09 2010-10-05 Research In Motion Limited System and method of secure authentication information distribution
US20050050342A1 (en) * 2003-08-13 2005-03-03 International Business Machines Corporation Secure storage utility
US7231538B2 (en) * 2003-11-06 2007-06-12 Mentor Graphics (Holdings) Ltd. Synchronized communication between integrated circuit chips

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10282882A (ja) * 1997-04-10 1998-10-23 Fujitsu Ltd 認証子付与方法および認証子付与装置
JPH11143361A (ja) * 1997-11-14 1999-05-28 Fujitsu Ltd 電子データ保管装置、保管システム、および保管方法
JP2001147898A (ja) * 1999-11-18 2001-05-29 Ricoh Co Ltd 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体
JP2003248627A (ja) * 2002-02-25 2003-09-05 Nippon Telegr & Teleph Corp <Ntt> ファイルアクセス制御方法、プログラム及び記憶媒体

Also Published As

Publication number Publication date
US20060107047A1 (en) 2006-05-18
GB2434673B (en) 2009-10-14
GB2434673A (en) 2007-08-01
DE112005002845T5 (de) 2007-12-13
GB0709237D0 (en) 2007-06-20
WO2006051522A3 (en) 2006-11-30
WO2006051522A2 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
JP2008520030A (ja) データを安全に記憶する方法、デバイス、及びシステム
US9043615B2 (en) Method and apparatus for a trust processor
US20060232826A1 (en) Method, device, and system of selectively accessing data
US7636858B2 (en) Management of a trusted cryptographic processor
US8347114B2 (en) Method and apparatus for enforcing a predetermined memory mapping
US20090282254A1 (en) Trusted mobile platform architecture
JP6509197B2 (ja) セキュリティパラメータに基づくワーキングセキュリティキーの生成
US7043636B2 (en) Data integrity mechanisms for static and dynamic data
US20060294370A1 (en) Method, device, and system of maintaining a context of a secure execution environment
US20040098591A1 (en) Secure hardware device authentication method
US20080072066A1 (en) Method and apparatus for authenticating applications to secure services
US11308241B2 (en) Security data generation based upon software unreadable registers
US11042652B2 (en) Techniques for multi-domain memory encryption
US8181028B1 (en) Method for secure system shutdown
CN110401538A (zh) 数据加密方法、系统以及终端
US20230409700A1 (en) Systems and methods for managing state
US20080104396A1 (en) Authentication Method
CN111523127B (zh) 一种用于密码设备的权限认证方法及系统
KR100952300B1 (ko) 저장매체의 안전한 데이터 관리를 위한 단말 장치, 메모리및 그 방법
JP4338185B2 (ja) ファイルの暗号化・復号方法
Sood Physically Unclonable Functions with Confidential Computing for Enhanced Encryption of EHRs
JP2024045374A (ja) 排他的自己エスクロー方法及び機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100924

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110301