JP4792609B2 - 認証済みデータ・ストレージのための方法および装置 - Google Patents

認証済みデータ・ストレージのための方法および装置 Download PDF

Info

Publication number
JP4792609B2
JP4792609B2 JP2007294389A JP2007294389A JP4792609B2 JP 4792609 B2 JP4792609 B2 JP 4792609B2 JP 2007294389 A JP2007294389 A JP 2007294389A JP 2007294389 A JP2007294389 A JP 2007294389A JP 4792609 B2 JP4792609 B2 JP 4792609B2
Authority
JP
Japan
Prior art keywords
data
message authentication
authentication code
data block
block set
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.)
Expired - Fee Related
Application number
JP2007294389A
Other languages
English (en)
Other versions
JP2008140384A (ja
Inventor
ハース ラズロ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
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 Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of JP2008140384A publication Critical patent/JP2008140384A/ja
Application granted granted Critical
Publication of JP4792609B2 publication Critical patent/JP4792609B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/80Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明はデータ・ストレージ・デバイスに関し、とりわけ、データ・ストレージ・デバイスに格納されたデータを認証するための方法および装置に関する。
セキュアなデータ・ストレージ・デバイスは、格納済みデータを暗号化し、データへのアクセスを制御するための手段を含む。デバイスは、適切な許可がなければ、たとえ暗号化されたデータに対するアクセスであっても、ストレージ・デバイス・インターフェースを介したアクセスを認可しない。しかしながら、ストレージ・デバイスの物理的保護は非常に費用がかかり、多くの場合非実用的であるため、ディスク・ドライブを分解すること、および微細な磁気検出器を備えたスピン・スタンド上にプラッタを置くこと、または単にヘッド信号を他のディスク・コントローラに接続することなどの、物理的攻撃が依然として可能な場合がある。したがって、暗号化は必ずしも、無許可者によるデータの修正を保護するものではない。
無許可者がストレージ・デバイスへの書き込みアクセスを得ると、たとえば、古い内容をストレージ媒体内の同じ場所に再書き込みすることによって、または他の場所からデータを上書きコピーすることによって、損害を発生させることができる。これを防ぐ安価な物理的方法がないため、データが改ざんされていることをユーザに警告するために、格納済みデータの無許可の変更を検出するための暗号化方法が必要である。
通常は、ユーザにドライブが開かれたかどうかを通知する、ディスク・ドライブ・エンクロージャのシールなどの、高価で脆弱な物理的改ざん検出器が採用される。
物理的改ざん検出器に依拠しない改ざん検出方法を提供することが望ましい。
第1の態様では、本発明は、データ・ストレージ媒体上の複数のデータ・ブロック・セットそれぞれについて、第1のメッセージ認証コードを計算するステップと、認証されるべきデータ・ブロック・セットのそれぞれについて第2のメッセージ認証コードを計算すること、および第1と第2のメッセージ認証コードを比較することによって、データ・ブロック・セットを認証するステップと、を含む方法を提供する。
データ・ブロック・セットは、第1と第2のメッセージ認証コードが異なる場合、変更されているとみなされる。それぞれのデータ・ブロック・セットが、ディスク・ストレージ媒体の1トラック内のデータを含むことができる。メッセージ認証コードは、ストレージ媒体上または不揮発性メモリのテーブル内に格納可能であり、ツリー構造に編成することができる。
他の態様では、本発明は、データ・ストレージ媒体上の複数のデータ・ブロック・セットそれぞれについて、第1のメッセージ認証コードを計算するため、ならびに、認証されるべきデータ・ブロック・セットのそれぞれについて第2のメッセージ認証コードを計算すること、および第1と第2のメッセージ認証コードを比較することによって、データ・ブロック・セットを認証するための、プロセッサを備える、装置を提供する。
図面を参照すると、図1は、本発明の実施形態に従って動作可能な、ディスク・ドライブ10の形のデータ・ストレージ・デバイスを示す絵画図である。ディスク・ドライブは、ディスク・ドライブの様々なコンポーネントを含むようにサイズ設定および構成された、ハウジング12(この図では、上部が取り除かれ、下部が見える)を含む。ディスク・ドライブは、ハウジング内で少なくとも1つのデータ・ストレージ媒体16、この場合は磁気ディスクを回転させるための、スピンドル・モータ14も含む。各ハウジング12内には少なくとも1つのアーム18が含まれ、それぞれのアーム18は、記録および/または読み取りヘッドまたはスライダ22を備えた第1の端部20と、ベアリング26によってシャフトに枢動可能(pivotally)に取り付けられた第2の端部24とを有する。アクチュエータ・モータ28は、ディスク16の所望のトラック上にヘッド22を位置決めするようにアーム18を枢動させるために、アームの第2の端部24に配置される。アクチュエータ・モータ28は、この図には示されていないコントローラによって制御される。データは、ディスク上の同心トラック30に格納される。複数のディスクが含まれる場合、複数のディスク上の対応するトラックが円柱を形成する。トラックはセクタ32に分割され、データ・ブロックがセクタに格納される。
図2は、本発明の実施形態に従って構築可能な装置40を示すブロック図である。装置は、コンピュータ42と、たとえばディスク・ドライブ、プローブ・ストレージ・デバイス、メモリ・カード、フラッシュ・ドライブ、または他のストレージ・デバイスとすることが可能な、データ・ストレージ・デバイス44とを含む。コンピュータ42は、ホスト・オペレーティング・システムに従って動作し、チャネル48を介してデータ・ストレージ・デバイスと通信する、プロセッサ46を含む。コンピュータは、一般にコンピュータ内に見られるがこの図には示されていない、入力および出力デバイスならびにメモリ・コンポーネントなどの、他のコンポーネントも含むことになる。プロセッサ46は、この説明に記載された様々な読み取り、書き込み、および暗号化の機能を実行するように動作可能である。
データ・ストレージ・デバイスは、磁気または光のストレージ媒体、強誘電性ストレージ媒体、あるいはソリッドステート・メモリなどの、何らかのタイプのストレージ媒体50と、媒体上でのデータのストレージを制御するコントローラ52と、を含む。コントローラは、データ・ストレージ・デバイスに含まれ、ストレージ媒体へ書き込まれ、および/またはストレージ媒体から読み取られるデータを処理するために使用される、ファームウェア54を実行することができる。メモリ56および暗号モジュール58を含む追加のコンポーネントを、データの処理を容易にするために含めることができる。コントローラは、ファームウェア54に応答して様々な機能を実行するプロセッサを含むことができる。図2に示されるように、暗号モジュールはストレージ・デバイス内部に含めることができるが、ホスト・コンピュータのソフトウェア内(たとえば、ホスト・オペレーティング・システム内)で実施するか、または、ホストとデータ・ストレージ・デバイスとの間のデータ・パスに挿入することもできる。
一態様では、本発明は、無許可の人物が知らない秘密鍵に依拠する、改ざん検出の暗号化方法(cryptographic method of tamper detection)を提供する。この方法は、暗号化メッセージ認証コード(MAC)を使用して、秘密鍵に基づくデータ完全性チェック(data integrity check)を提供する。暗号化メッセージ認証コードは、データ文字列を認証するために使用される短い情報である。メッセージ認証コードは、メッセージ認証アルゴリズムを通じてデータを渡す結果として生じる、暗号チェックサム(cryptographic checksum)とみなすことができる。MACアルゴリズムは、秘密鍵と認証されるべき任意の長さのデータ文字列とを入力として受け入れ、タグと呼ばれることもあるMACを出力する。MAC値を使用して、検証者−彼もまた秘密鍵を有する−がデータ文字列コンテンツへの変更があれば検出できるようにすることにより、データ文字列の完全性および真正性(authenticity)を保護することが可能である。
ハッシュ関数(hash function)とは、任意長さのデータ文字列を固定長さのデータ文字列にマッピングする数学関数である。ハッシュ関数ベースのMACは、ハッシュ関数とともに鍵を使用して、データ文字列に付加されるチェックサムを生成する。データのMACは、秘密鍵の知識なしでは構築不可能である。
一例では、データ認証は、データ文字列のタグまたは署名を生成するために使用される、ガロア・メッセージ認証コード(GMAC)のような、更新可能なキー付きハッシュによって提供することができる。これらのコードは、データ文字列の中ほどが変更された場合、データ文字列全体を読み取らずにタグまたは署名を更新することができる、という特性を有する。
GMACとは、データ認証を提供するために使用可能なブロック暗号化コード(block cipher code)である。これは、ガロア/カウンタ・モード(GCM)認証済み暗号化操作に関して定義される。GCM認証済み暗号化操作は、秘密鍵、初期化ベクトル(IV)、プレーンテキスト(plaintext)、および追加認証済みデータ(additional authenticated data:AAD)に関する入力の、4つの入力を有する。出力は、プレーンテキストと同じ長さの暗号テキスト、および認証タグの、2つである。GMACは、暗号テキスト出力が無視されるGCMの特殊なケースであるため、関数の出力のみが認証タグである。
図3および図4は、本発明の方法の一実施形態を示す流れ図である。データがストレージ・デバイスに書き込まれると、第1のMACが計算され、媒体または他の不揮発性メモリに格納される。認証中にデータがストレージ・デバイスから読み取られると、第2のMACが計算され、格納済みの第1のMACと比較される。第1および第2のMACが一致しない場合、データは不法に変更されており、ユーザに警告が出されることになる。MACは、たとえばホスト・コンピュータによって、ストレージ・デバイス内で、または独立した暗号モジュール内で、計算することができる。MACを計算するために使用される鍵は、暗号鍵が格納されているストア(store)と同じ鍵ストア(key store)内に格納することが可能である。鍵ストアは、認証モジュール内部または外部とすることが可能であり、外部の場合、セキュアな鍵転送プロトコルを実施しなければならない。一実施形態では、MACはGMACとすることができる。
セキュアなディスク・ドライブに格納されたデータは、ディスク・ドライブの電源が入っている間に変更することができない。したがって、通常は、パワー・サイクル毎に1回のみデータ・ブロック・セットを認証し、適切に認証または変更されたものとしてデータ・ブロックにマーク付けすれば十分である。これらのマークは、揮発性ランダム・アクセス・メモリ内に格納し、電源を切る時に消去することができる。
図3に示されるように、データがストレージ媒体に書き込まれる場合、MAC関数を使用して、秘密鍵と入力データとを組み合わせることによって形成される第1のMACを生成することが可能であり(ブロック62)、すでに格納済みのすべてのデータ・ブロックは同じセットに属する。第1のMACは、その後、入力データと共にデータ・ストレージ・デバイスに格納することができる(ブロック64)。MACがデータにリンクされる方式は、実施者に委ねられる。たとえば、MACをデータ・ブロックに添付することができるか、またはソフトウェア/ディスク・ファームウェアが、データをMACにリンクするポインタを維持することができる。
図4に示されるように、格納済みのデータの完全性を検証するために、ストレージ・デバイスは、データが格納された際に使用されたものと同じ鍵およびMAC関数を使用して、格納済みデータについてMACを計算し(ブロック66)、その結果と以前に計算されたMACとを比較する(ブロック68)。2つの値が一致する場合、格納済みデータは認証されているものとみなされる。2つの値が一致しない場合、ユーザには、たとえばユーザ・インターフェース上のメッセージによって、データ認証の失敗が通知される。
データ・ストレージ・デバイス内のすべてのデータの完全性を検証するためには、あらゆるブロックを読み取らなければならず、たとえこれがセッションごとに1回だけ、たとえば正常なユーザ認証の後、またはセッション終了前、すなわちユーザのログオフ前に実行しなければならないとしても、遅いプロセスである。
本発明は、ほとんど時間的なオーバヘッドなしにアクセス可能な、データ・ブロック・セット(sets of data blocks)に対応する多くのメッセージ認証コード(MAC)値を維持することによって、プロセスの速度を上げる。たとえば、ディスク・ドライブの各トラックについて、更新可能なMACを維持することができる。したがって本発明は、ストレージ・デバイスの物理的特徴を使用してブロックを共にグループ化し(to group blocks together)、それは新たなシーク操作なしにアクセス可能であり、これは平均して、単一のブロックを読み取るよりも多くともせいぜい2倍の時間しかかからない(that is only at most twice slower than reading a single block)。
本発明の一実施形態では、データ・ブロックはグループ化される(the blocks of data are grouped)ため、ディスク上で即時に、すなわちシーク(seek)操作を実行すること、または、ディスク回転時にヘッドの下に所望のブロックが到達するまで待機することなしに、アクセス可能である。理論的には、トラックの半分、またはトラック内の1つおきのセクタが(データの多くの他の部分またはグループと同様に)可能であるが(Half the track,or every other sector in a track are theoretically possible)、それらはすべてトラック全体のアクセス(a whole track access)に比べて時間を失う。なぜなら、トラックは任意の開始位置から読み取りまたは書き込みが可能である、すなわちシーク操作後の遅延(latency)がないためである。
ユーザがデータ・ブロックにアクセスし(すなわち読み取り)、そのデータを含むブロック・セット(block set)がまだ認証されていない場合、そのブロック・セットはディスク・ファームウェアによって認証することが可能であり、認証障害が発生すると、ユーザに警告が発せられる。
ディスク・ドライブがアイドル状態の場合、背景プロセス(background process)として格納済みのすべてのMAC値をテストし、それらを検証することができる。合格したMAC値は、RAMに格納可能な揮発性テーブル内で識別可能であるため、ユーザがデータにアクセスしたい場合、このテーブルをチェックして所望のデータが認証されているかどうかを判別することができる。認証されている場合、そのデータへのその後のアクセスはほぼ即時に行われる。ユーザがシステムからログオフするか、または電源がオフになった場合、テーブルは消去される(The table can be eraced)。
メッセージ認証コードを追加することによって、オリジナル・データが修正されているか否かを検出することができる。このコンテキストでは、メッセージ認証コードはオリジナル・データに追加されたビット・シーケンスである。修正は、格納済みデータと、格納済みデータおよび秘密鍵から導出されたMACチェックサムとを比較することによって検出される。出力が格納済みデータと一致する場合、格納済みデータは真正であると見なされる。
他の例では、MACの均衡ツリー(a balanced tree of MACs)を利用する。この例では、複数のデータ・ブロック・セットについて複数の第1のMACが計算され、第1のMACのグループについて複数の追加のMACが計算される。次に、第1のMACおよび追加のMACが互いにツリー構造に編成される。図5は、こうしたツリー構造70の概略図である。ツリーは、階層構造に配置構成された、複数のノード72、74、76、78、80、82、84、86、88、90、および92を含む。この例では、ノード72がルート・ノードであり、ノード74および76はルート・ノードの子である。ノード78、80、82、および84はノード74の子であり、ノード86、88、90、および92はノード76の子である。図5は、4つの第1のMACのグループについて、ノード74および76でMACが計算される例を示すが、異なる数の第1のMACを使用して追加のMACを計算することが可能である。
ツリー内の各ノードが、データのMACまたはその子ノードのMACを含む。最低レベルでは、ノードは、データ・ブロック・セット94、96、98、100、102、104、106、および108内のデータのMACを含む。データ・ブロック・セットのうちの1つのデータに書き込み操作が発生した場合、変更されたブロックからルートへのパス上にあるMACのみを更新(すなわち再計算)しなければならない。
ツリーは、コンピュータ・サイエンスにおける標準的なデータ構造である。これらは、親ノードのアドレスを指すポインタを用いて実施することができる。ストレージ・デバイスは、既知のプログラミング方法に従い、ポインタまたはアドレス・テーブルを使用してデータ・ブロックとMACとの間の関係を追跡することができる。
まとめて認証されたデータ・ブロック内でデータが変更されていない場合、そのブロックに関するMACは同じままである。あるノードのすべての子が、ツリー内でそれ以上変更されていない場合、そのノード内のMACも変更されていない。したがって、変更されたブロックの親、親の親など、ルートまでのノードでMACを修正するだけでよい。
攻撃の可能性とは、攻撃者がデータ・ブロック・セット全体を、それらの古いコンテンツおよび対応する古いMACに置き換えられることである。古いMACは計算された時点で有効であったため、依然として有効である。この種のリプレイ攻撃(replay attack)を検出するために、対応するブロック・セットのMACを計算し、MACが有効であるかどうかを判別するためにチェックしなければならない。その後、MACのツリー内で次に高いレベルがチェックされる、という具合である。ルートのMACはあらゆるデータ・ブロックに依存するため、ディスク・データを以前の状態に完全に復元することのみが成功であり、それよりも小規模のリプレイ(replay)は不可能である。したがって、アクセスされたデータの認証では、現在のブロックからパスに沿ってルートまでのすべてのMAC値を再計算および検証しなければならない。
ツリー構造にはかなりの柔軟性がある。図5は、より実用的なシステムにおける簡略化されたツリー構造を示すが、ノードの第1のレベルは16の子を有することが可能であり、より高レベルのノードはそれより多いかまたは少ないものとすることができる。248の論理ブロック・アドレス(LBA)があり、異なるディスク標準によるアクセス可能性が最大であり、あらゆるノードが16の子を有するものと想定すると、第1レベルの各ノードからルート・ノードへのパスの長さは12である。書き込み操作が発生すると、15の他のデータ・ブロック・セットを読み取りおよびハッシュしなければならず、ルート・ノードへのパス上では、キャッシュに入れられたデータに対して11の他のハッシュ操作が実行されることになる。これには何らかの特別な処理が必要であるが、特に16のデータ・ブロックが互いに隣り合っている場合、処理時間におけるオーバヘッドは管理可能であるため、高速アクセスが可能である。
本発明を実施する場合、ストレージ・オーバヘッドも小さい。たとえば、128ビットMAC値は、16LBAごとに16B程度のストレージしか必要とせず、これはLBAあたり1バイト、または512Bブロックではディスク容量の0.2%未満の損失、または4KBブロックでは8分の1(eight times less with 4KB blocks)である。MAC値はFLASHメモリ、または他の不揮発性RAM内に格納することもできる。RAMはデータ・ストレージ・デバイス内に配置可能であるが、他の場所に配置してもよい。
他のハッシュ関数ベースのメッセージ認証コード、1鍵メッセージ認証コード(one−key message authentication codes)、または並列化可能(parallelizable)メッセージ認証コードなどの、他のメッセージ認証コードを使用することができる。
以上、本発明についていくつかの例に関して説明してきたが、当業者であれば、添付の特許請求の範囲に示された本発明の範囲を逸脱することなく、説明された例に様々な変更を加えることが可能なことが明らかとなろう。
本発明の実施形態に従って構築可能な、ディスク・ドライブを示す絵画図である。 本発明の実施形態に従って構築可能なデータ・ストレージ・デバイスを含む、システムを示すブロック図である。 本発明の方法の一実施形態を示す流れ図である。 本発明の方法の一実施形態を示す流れ図である。 こうしたメッセージ認証コードのツリー構造を示す概略図である。
符号の説明
40 装置
42 コンピュータ
44 ストレージ・デバイス
46 プロセッサ
48 チャネル
50 ストレージ媒体
52 ディスク・コントローラ
54 ファームウェア
56 メモリ
58 暗号モジュール

Claims (20)

  1. データ記憶装置に記憶されたデータの認証のための方法であって、前記データ記憶装置はデータ・ストレージ媒体とリードおよびライト処理を制御するためのコントローラとを含み、
    前記コントローラが、前記データ・ストレージ媒体の複数のデータ・ブロック・セットそれぞれについて、第1のメッセージ認証コードを計算するステップを含み、各前記データ・ブロック・セットは、前記データ記憶装置の物理的特徴に基づいて選択され、別途のシーク動作なしにアクセス可能なデータ・ブロックをグループ化するものであり、
    前記コントローラが、前記第1のメッセージ認証コードを記憶するステップと、
    前記コントローラが、認証されることになる前記データ・ブロック・セットのそれぞれについて第2のメッセージ認証コードを計算すること、および前記記憶された第1のメッセージ認証コード前記第2のメッセージ認証コードを比較することによって、前記データ・ブロック・セットを認証するステップと、
    を含む方法。
  2. 前記データ・ストレージ媒体は、表面に複数のトラックを有するディスク記録媒体を含み、
    前記データ・ブロック・セットのそれぞれ前記ディスク・ストレージ媒体の1トラック内のデータを含む、請求項1記載の方法。
  3. 前記第1と第2のメッセージ認証コードが異なる場合、前記データ・ブロック・セットが変更されているものとみなされる、請求項1記載の方法。
  4. 前記第1のメッセージ認証コードを記憶するステップは、前記第1のメッセージ認証コードを不揮発性メモリに格納するステップを含む、請求項1記載の方法。
  5. データ・ブロック・セットに対応する比較結果を示す1つ以上のポインタのテーブルを記憶するステップと、
    前記第1および第2のメッセージ認証コードを比較する代わりに、前記テーブルを参照することで当該データ・ブロック・セットが変更されたか否かを判断するステップとをさらに備える、請求項1記載の方法。
  6. 前記第1のメッセージ認証コードのグループに対して追加のメッセージ認証コードを計算するステップと、
    前記第1のメッセージ認証コードおよび前記追加のメッセージ認証コードをツリー構造に編成するステップをさらに含む、請求項5記載の方法。
  7. 前記比較結果は所定の期間内に生成される、請求項5記載の方法。
  8. 前記所定の期間は、前記データ記憶装置のパワー・サイクルを含み、前記テーブルの前記ポインタは、前記データ記憶装置のパワー・サイクルに基づいて消去される、請求項7記載の方法。
  9. 認証障害が発生した場合、ユーザに警告を発するステップをさらに含む、請求項1記載の方法。
  10. 前記第1のメッセージ認証コードが、鍵、入力データ、および前記データ・ブロック・セットのうちの1つの以前に格納されたデータ・ブロックを使用して計算される、請求項1記載の方法。
  11. 前記データ記憶装置がアイドル状態である間に、生成されたメッセージ認証コードと記憶されたメッセージ認証コードとの比較に基づいて、1つ以上の前記データ・ブロックが変更されたか否かを判断するステップと、
    関連するデータブ・ロックが変更されていないと判断された場合、前記関連するデータに対応するポインタを前記テーブルに記憶させ、
    前記テーブルを参照して、リードリクエストに対応するデータ・ブロック・セットが変更されたか否かを判断するステップと、
    前記リードリクエストに対応するデータ・ブロック・セットと関連するポインタが前記テーブルに含まれる場合、前記リードリクエストに対応する前記データ・ブロック・セットへのアクセスを実行するステップとをさらに含む、請求項5記載の方法。
  12. 記憶されたデータを認証するための装置であって、
    ストレージ媒体と、
    前記ストレージ媒体の複数のデータ・ブロック・セットそれぞれについて、第1のメッセージ認証コードを計算し、前記第1のメッセージ認証コードを記憶させるためのプロセッサとを備え、各前記データ・ブロック・セットは、前記装置の物理的特徴に基づいて選択され、別途のシーク動作なしにアクセス可能なデータ・ブロックをグループ化するものであり、
    前記プロセッサは、認証されるべき前記データ・ブロック・セットのそれぞれについて第2のメッセージ認証コードを計算し、前記記憶された第1のメッセージ認証コード前記第2のメッセージ認証コードを比較することによって、前記データ・ブロック・セットを認証する、装置。
  13. 前記ストレージ媒体は、表面に複数のトラックを有するディスク記録媒体を含み、
    前記データ・ブロック・セットのそれぞれが、前記ストレージ媒体の1トラック内のデータを含む、請求項12記載の装置。
  14. 前記第1と第2のメッセージ認証コードが異なる場合、前記データ・ブロック・セットが変更されているものとみなされる、請求項12記載の装置。
  15. 前記第1のメッセージ認証コードを格納するための不揮発性メモリをさらに備える、請求項12記載の装置。
  16. 前記プロセッサは、データ・ブロック・セットに対応する比較結果を示す1つ以上のポインタのテーブルを記憶させ、
    前記第1および第2のメッセージ認証コードを比較する代わりに、前記テーブルを参照することで当該データ・ブロック・セットが変更されたか否かを判断する、請求項12記載の装置。
  17. 前記プロセッサは、前記第1のメッセージ認証コードのグループに対して追加のメッセージ認証コードを計算し、
    前記第1のメッセージ認証コードおよび前記追加のメッセージ認証コードがツリー構造に編成される、請求項16記載の装置。
  18. 前記プロセッサは、前記比較結果は所定の期間内に生成する、請求項16記載の装置。
  19. 前記所定の期間は、前記データ記憶装置のパワー・サイクルを含み、前記テーブルの前記ポインタは、前記データ記憶装置のパワー・サイクルに基づいて消去される、請求項18記載の装置。
  20. 前記第1のメッセージ認証コードが、鍵、入力データ、および前記データ・ブロック・セットのうちの1つの以前に格納されたデータ・ブロックを使用して計算される、請求項12記載の装置。
JP2007294389A 2006-11-13 2007-11-13 認証済みデータ・ストレージのための方法および装置 Expired - Fee Related JP4792609B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/598,409 US8356178B2 (en) 2006-11-13 2006-11-13 Method and apparatus for authenticated data storage
US11/598,409 2006-11-13

Publications (2)

Publication Number Publication Date
JP2008140384A JP2008140384A (ja) 2008-06-19
JP4792609B2 true JP4792609B2 (ja) 2011-10-12

Family

ID=39370565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007294389A Expired - Fee Related JP4792609B2 (ja) 2006-11-13 2007-11-13 認証済みデータ・ストレージのための方法および装置

Country Status (2)

Country Link
US (1) US8356178B2 (ja)
JP (1) JP4792609B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301906B2 (en) * 2006-05-10 2012-10-30 Nero Ag Apparatus for writing information on a data content on a storage medium
EP1855281B1 (en) * 2006-05-10 2019-06-12 Nero Ag Apparatus for writing data to a medium
US20080232228A1 (en) * 2007-03-20 2008-09-25 Nanochip, Inc. Systems and methods of writing and reading a ferro-electric media with a probe tip
US20080318086A1 (en) * 2007-06-19 2008-12-25 Nanochip, Inc. Surface-treated ferroelectric media for use in systems for storing information
US20080316897A1 (en) * 2007-06-19 2008-12-25 Nanochip, Inc. Methods of treating a surface of a ferroelectric media
US7626846B2 (en) * 2007-07-16 2009-12-01 Nanochip, Inc. Method and media for improving ferroelectric domain stability in an information storage device
US20090201015A1 (en) * 2008-02-12 2009-08-13 Nanochip, Inc. Method and device for detecting ferroelectric polarization
US20090213492A1 (en) * 2008-02-22 2009-08-27 Nanochip, Inc. Method of improving stability of domain polarization in ferroelectric thin films
US20100002563A1 (en) * 2008-07-01 2010-01-07 Nanochip, Inc. Media with tetragonally-strained recording layer having improved surface roughness
CN102483781B (zh) * 2009-06-26 2015-05-13 信诚逻辑公司 数据验证方法
US8826035B2 (en) * 2009-12-23 2014-09-02 Intel Corporation Cumulative integrity check value (ICV) processor based memory content protection
DE102010002472A1 (de) * 2010-03-01 2011-09-01 Robert Bosch Gmbh Verfahren zum Verifizieren eines Speicherblocks eines nicht-flüchtigen Speichers
DE102010044858B4 (de) * 2010-09-09 2012-04-19 Siemens Aktiengesellschaft Verfahren zum Verarbeiten von Nachrichten in einem Kommunikationsnetz aus mehreren Netzknoten
JP5159849B2 (ja) 2010-09-24 2013-03-13 株式会社東芝 メモリ管理装置及びメモリ管理方法
EP2726991B1 (en) * 2011-06-29 2018-03-14 Intel Corporation Method and apparatus for memory encryption with integrity check and protection against replay attacks
US9553725B2 (en) * 2011-11-21 2017-01-24 Combined Conditional Access Development And Support, Llc System and method for authenticating data
DE102012209408A1 (de) * 2012-06-04 2013-12-05 Siemens Aktiengesellschaft Sichere Übertragung einer Nachricht
US8793506B2 (en) 2012-08-31 2014-07-29 Intel Corporation Mechanism for facilitating encryption-free integrity protection of storage data at computing systems
US9460312B2 (en) 2014-03-11 2016-10-04 Qualcomm Incorporated Data integrity protection from rollback attacks for use with systems employing message authentication code tags
KR101593169B1 (ko) * 2014-08-20 2016-02-15 한국전자통신연구원 페이스텔 구조의 가변길이 블록암호 장치 및 방법
US9298647B2 (en) * 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
WO2016049225A1 (en) * 2014-09-23 2016-03-31 The Regents Of The University Of California Provably secure virus detection
US10256981B2 (en) * 2016-09-27 2019-04-09 International Business Machines Corporation Secure logging for host security module
WO2019083440A2 (zh) 2017-10-24 2019-05-02 华为国际有限公司 一种车载设备升级方法及相关设备
CN109936454A (zh) * 2017-12-19 2019-06-25 互联安睿资通股份有限公司 通信装置及其安全组件与通信方法
SE1951008A1 (en) * 2019-09-04 2021-03-05 Fingerprint Cards Ab Secure storage of sensor setting data
US11861046B2 (en) * 2021-04-29 2024-01-02 Infineon Technologies Ag System for an improved safety and security check
US12468819B2 (en) * 2022-06-27 2025-11-11 Micron Technology, Inc. Detecting information modification in a memory system
US20250390597A1 (en) * 2024-06-25 2025-12-25 Sandisk Technologies Llc Authenticating a host computer system to access a data storage device

Family Cites Families (52)

* 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
US4941176A (en) * 1988-08-11 1990-07-10 International Business Machines Corporation Secure management of keys using control vectors
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
US5050212A (en) 1990-06-20 1991-09-17 Apple Computer, Inc. Method and apparatus for verifying the integrity of a file stored separately from a computer
JP2689998B2 (ja) 1990-08-22 1997-12-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 暗号動作を行う装置
NL9301784A (nl) 1993-10-14 1995-05-01 Irdeto Bv Systeem voor het versleutelen en ontsleutelen van digitale informatie.
US6026293A (en) 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
JP3570114B2 (ja) * 1996-10-21 2004-09-29 富士ゼロックス株式会社 データ検証方法およびデータ検証システム
JP3748155B2 (ja) 1997-11-14 2006-02-22 富士通株式会社 改ざん防止/検出機能を有するファイル管理システム
US6122738A (en) 1998-01-22 2000-09-19 Symantec Corporation Computer file integrity verification
US6247151B1 (en) 1998-06-30 2001-06-12 Intel Corporation Method and apparatus for verifying that data stored in a memory has not been corrupted
US6842860B1 (en) 1999-07-23 2005-01-11 Networks Associates Technology, Inc. System and method for selectively authenticating data
US6665420B1 (en) * 1999-12-02 2003-12-16 Verizon Laboratories Inc. Message authentication code with improved error tolerance
AU2001260970A1 (en) * 2000-01-31 2001-08-07 Vdg Inc. Block encryption method and schemes for data confidentiality and integrity protection
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
FR2808948B1 (fr) 2000-05-12 2006-03-03 Ibm Corp Internat Business Mac Systeme et methode pour authentifier de maniere unique chaque reproduction d'un groupe de documents electroniques
JP4366845B2 (ja) * 2000-07-24 2009-11-18 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラム提供媒体
US7043636B2 (en) 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
US6912634B2 (en) * 2000-12-28 2005-06-28 Intel Corporation Verifying the integrity of a media key block by storing validation data in a validation area of media
JP3809779B2 (ja) * 2001-06-18 2006-08-16 ソニー株式会社 データ転送システム、データ転送装置、データ記録装置、データ転送方法
US7283316B2 (en) * 2002-01-17 2007-10-16 Maxtor Corporation Vertical track zoning for disk drives
AU2002343970A1 (en) * 2002-02-20 2003-09-09 Sony Corporation Data access control apparatus, data access control method, controller, and computer program
US8226473B2 (en) * 2002-04-10 2012-07-24 Wms Gaming Inc. Gaming software authentication
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7660421B2 (en) * 2002-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Method and system for secure storage, transmission and control of cryptographic keys
US20040015762A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable system testing tools
US20040015761A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable asynchronous I/O testing tool
US6950517B2 (en) 2002-07-24 2005-09-27 Qualcomm, Inc. Efficient encryption and authentication for data processing systems
ATE383613T1 (de) * 2002-11-08 2008-01-15 Nokia Corp Software-integritätstest bei einem mobiltelefon
US7961759B2 (en) * 2002-12-31 2011-06-14 Vixs Systems, Inc. Method and apparatus for synchronized channel transmission
US20050050357A1 (en) * 2003-09-02 2005-03-03 Su-Huei Jeng Method and system for detecting unauthorized hardware devices
US20050071640A1 (en) * 2003-09-25 2005-03-31 General Instrument Corporation Method and apparatus for authenticating data
WO2005093989A1 (en) * 2004-03-29 2005-10-06 Smart Internet Technology Crc Pty Limited Digital license sharing system and method
US8117651B2 (en) * 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
US7314164B2 (en) * 2004-07-01 2008-01-01 American Express Travel Related Services Company, Inc. System for biometric security using a smartcard
JP2006039206A (ja) * 2004-07-27 2006-02-09 Canon Inc 暗号化装置および復号化装置
EP1622333A1 (en) * 2004-07-29 2006-02-01 Sun Microsystems France S.A. Method and apparatus for minimally onerous and rapid authentification
US7454797B2 (en) * 2004-10-13 2008-11-18 Microsoft Corporation Secure image authentication with discrete level tamper localization
US7383438B2 (en) * 2004-12-18 2008-06-03 Comcast Cable Holdings, Llc System and method for secure conditional access download and reconfiguration
US7797745B2 (en) * 2004-12-22 2010-09-14 Electronics And Telecommunications Research Institute MAC security entity for link security entity and transmitting and receiving method therefor
US20070255947A1 (en) * 2005-02-09 2007-11-01 Choudhury Abhijit K Methods and systems for incremental crypto processing of fragmented packets
KR101073915B1 (ko) * 2005-05-03 2011-10-17 엘지전자 주식회사 자동 재전송 기능을 가지는 이동통신 시스템에서, 제어정보 전송 방법
US20060271796A1 (en) * 2005-05-25 2006-11-30 Kaimal Biju R Method and system for protecting information stored in an electronic device against backup and restore attack
JP4718921B2 (ja) * 2005-07-14 2011-07-06 株式会社東芝 紙葉類処理装置における処理プログラムの改ざん防止方法と紙葉類処理装置と紙葉類処理システムにおける処理プログラムの改ざん防止方法と紙葉類処理システム
KR100735221B1 (ko) * 2005-08-12 2007-07-03 삼성전자주식회사 컨텐츠를 다수의 단말기에서 재생할 수 있도록 하는 컨텐츠재생 방법 및 이를 이용한 시스템과 단말 장치
US20070061597A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US8966284B2 (en) * 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US7725719B2 (en) * 2005-11-08 2010-05-25 International Business Machines Corporation Method and system for generating ciphertext and message authentication codes utilizing shared hardware
JP4631658B2 (ja) * 2005-11-09 2011-02-16 ソニー株式会社 デジタル放送受信システム及びデジタル放送受信装置
JP4778361B2 (ja) * 2006-05-19 2011-09-21 日立オムロンターミナルソリューションズ株式会社 認証装置及び認証システム及び認証装置の装置確認方法
US7779258B2 (en) * 2006-09-22 2010-08-17 International Business Machines Corporation Method for controlling security function execution with a flexible, extendable, and non-forgable block
US7624276B2 (en) * 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method

Also Published As

Publication number Publication date
US8356178B2 (en) 2013-01-15
JP2008140384A (ja) 2008-06-19
US20080114981A1 (en) 2008-05-15

Similar Documents

Publication Publication Date Title
JP4792609B2 (ja) 認証済みデータ・ストレージのための方法および装置
US8838984B2 (en) Optimized hierarchical integrity protection for stored data
JP4646927B2 (ja) 記憶システムにおける暗号化キー
US8307161B2 (en) Caching for structural integrity schemes
US8271801B2 (en) Implementing data confidentiality and integrity of shingled written data
KR101577886B1 (ko) 무결성 검사 및 리플레이 공격들에 대한 보호를 이용하는 메모리 암호화를 위한 방법 및 장치
US9037875B1 (en) Key generation techniques
US20060272027A1 (en) Secure access to segment of data storage device and analyzer
US8082236B2 (en) Write failure protection for hierarchical integrity schemes
US20200310989A1 (en) Method and apparatus to generate zero content over garbage data when encryption parameters are changed
CN114730342B (zh) 数据存储设备加密
WO2010134192A1 (ja) 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法
US9298565B1 (en) System and method for identification of memory
JP2012099100A (ja) データ記憶装置における信頼できるタイムスタンプ
JP2004510367A (ja) 暗号化キーとしてのデータ塊アドレスによる保護
CN1527208A (zh) 基于身份认证的计算机安全及加密的实现方法和装置
US8495035B2 (en) Systems and methods for providing data integrity protection in a storage medium
JP2000330870A (ja) コンテンツ処理システムおよびコンテンツ保護方法
JP5489201B2 (ja) 安全な直接プラッタ・アクセス
CN114747177A (zh) 数据存储设备加密
CN113434876A (zh) 一种数据加密方法、装置、内存控制器、芯片及电子设备
US20060200414A1 (en) Methods of copy protecting software stored on portable memory
US20180018287A1 (en) Method to generate pattern data over garbage data when encryption parameters are changed
JP2010171806A (ja) 記憶装置及び記憶装置のデータ改ざん防止方法
GB2622065A (en) Counter integrity tree

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110428

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110601

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110628

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110707

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4792609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees