JP2004038968A - 第2レベルセキュアカウンタをインプリメントするためのセキュアカウンタのマルチプレクシング - Google Patents

第2レベルセキュアカウンタをインプリメントするためのセキュアカウンタのマルチプレクシング Download PDF

Info

Publication number
JP2004038968A
JP2004038968A JP2003180219A JP2003180219A JP2004038968A JP 2004038968 A JP2004038968 A JP 2004038968A JP 2003180219 A JP2003180219 A JP 2003180219A JP 2003180219 A JP2003180219 A JP 2003180219A JP 2004038968 A JP2004038968 A JP 2004038968A
Authority
JP
Japan
Prior art keywords
level counter
value
file
data
counter value
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
JP2003180219A
Other languages
English (en)
Inventor
Paul England
ポール イングランド
Marcus Peinado
マーカス ペイナード
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004038968A publication Critical patent/JP2004038968A/ja
Pending legal-status Critical Current

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
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)

Abstract

【課題】複数の子セキュアカウンタが、親セキュアカウンタによってセキュアされる、マルチプレクシングされたセキュアカウンタを提供すること。
【解決手段】子カウンタが、親カウンタ値及び署名と共にストアされる。子カウンタをリードする前に、署名をベリファイし、ストアされた値を親セキュアカウンタの現在の値と比べて検査する。ベリファイが成功した場合には、子セキュアカウンタを使用することができる。子カウンタをインクリメントするためには、署名をベリファイし、ストアされた値を、親セキュアカウンタの現在の値に対して検査する。ベリファイが成功した場合に、親カウンタ及び子カウンタがインクリメントされ、データがもう一度署名される。
【選択図】    図2

Description

【0001】
【発明の属する技術分野】
本発明は、カウンタに関し、具体的には、第2レベルセキュアカウンタ(secure counter)をインプリメントする方法でのセキュアカウンタの使用に関する。
【0002】
【従来の技術】
コンピュータシステムには、通常は、持続型ストレージ(persistent storage)が含まれている。持続型ストレージとは、そのストレージに電源が供給されていない時でも、内容が保存されるストレージである。磁気ストレージは、通常は、本来、不揮発性であるが、半導体メモリ(例えば、ダイナミックRAMおよびスタチックRAM)は、通常は、揮発性である。
【0003】
持続型ストレージは、ステート(state)情報を維持するのに使用することができる。例えば、オーディオ素材に対する権利をコントロールする権利マネジメントアプリケーションでは、ユーザが、あるオーディオファイルを何回聞くことができるかに関する情報を、ステート情報に含めることができる。使用されると、その度に、使用回数に関するステート情報が、権利マネジメントアプリケーションによって変更されることになる。このステート情報は、権利マネジメントアプリケーションがラン(run)していないかインアクティブである時、及びコンピュータシステムがオフの時であっても、維持される。他のコンテキストにおいても、同様にして、ステート情報を使用して、持続的(persistent)に情報がストアされる。
【0004】
ステート情報は、感知可能(sensitive)データをストアすることができるので、そのような情報は、データを変更しようとするアドバーサリ(adversary)から保護しなければならない。権利マネジメントコンテキストにおいて、アドバーサリは、例えば、ステート情報を変更して、オーディオファイルの使用を無制限に許可させようとすることができる。
【0005】
ステート情報をセキュア(secure)する1つの方法は、暗号化を使用するものである。仮にステート情報が変更される度に、トラステッドパーティ(trusted party)が当該ステート情報に署名する場合には、検出されない限り、ステート情報を変更することができない。当該ステート情報を使用する前に、当該ステート情報を検査して、当該ステート情報がこのトラステッドパーティによって署名されたことを確認することができる。
【0006】
これに関する問題は、ロールバック(rollback)の問題である。アドバーサリは、署名されたステート情報のバージョンをセーブすることができるから、この署名されたステート情報のバージョンが新バージョンと置換されたとき、この新バージョンを除去し、この新バージョンを、セーブされている旧バージョンと置換することができる。デジタル権利の例においては、このアドバーサリは、当該オーディオファイルのユーザにプレイ(play)が残っていないことを示すステート情報を、プレイが残っていることを示す旧ステート情報と、置換することができる。このようにして、アドバーサリは、コンテンツへアクセスすることができる。
【0007】
このロールバック問題を防止するためには、セキュアカウンタを使用することができる。セキュアカウンタとは、アドバーサリがデータを変更できないようにセキュアにデータ(カウンタ値)を保持し、要求があったときに、2つのオペレーションをパフォームすることができるカウンタをいう。このセキュアカウンタは、カウンタ値について報告することができ、カウンタ値をインクリメントすることができる。このセキュアカウンタに対するオペレーションとしては、これらのオペレーションに制限されるので、このセキュアカウンタのセキュリティがより簡単に保証される。仮にユーザか、又はセキュアカウンタを含むコンピュータシステムが、例えば、セキュアカウンタに特定の値をセットできない場合には、アドバーサリも、それを行うことができない、のが普通である。
【0008】
セキュアカウンタを使用してステート情報を保護するためには、ステート情報が署名されるとき、カウンタ値がインクリメントされ、カウンタ値のコピーが、ステート情報にアペンド(append)され、しかも署名される。ステート情報が使用されるに先立ち、当該ステート情報の署名がベリファイされ、その上、現在のカウンタ値が検査され、上記ステート情報にアペンドされ署名されたカウンタ値と、比較される。仮に当該署名がベリファイされ、アペンドされたカウンタ値が現在のカウンタ値と一致する場合に限って、当該データが使用される。このようにして、ロールバックを防止することができ、セキュリティを強化することができる。
【0009】
このロールバック防止方法には、保護される各データに対して1つのセキュアカウンタを必要とする。このセキュアカウンタが、第1データをセキュアするため、セキュアカウンタが使用されるとき、そのカウンタ値が、当該データにアペンドされ、しかも署名される。当該データのセキュリティを検査するため、当該署名がベリファイされ、当該セキュアカウンタのカウンタ値が、現在の実際のカウンタ値かどうか検査される。仮に第2データも同一のセキュアカウンタを使用してセキュアされる場合には、第1データが修正されると、これに伴いこのセキュアカウンタがインクリメントされることになり、これにより第2データのベリファイが失敗する。というのは、当該セキュアカウンタのカウンタ値が、第2データと共にストアされているため、当該セキュアカウンタのカウンタ値が、最早、現在の実際のカウンタ値と等しくない、からである。
【0010】
1つの可能なソリューションは、セキュアされるデータに対応するカウンタをハードウェアでインプリメントすることである。しかし、ハードウェアであるという点で、コストが高くなることは明らかである。加えて、セキュアカウンタの数を増やすほど、セキュアカウンタをハードウェアでインプリメントするのも複雑になるから、セキュリティが妨害される虞がある。
【0011】
【発明が解決しようとする課題】
そこで、当技術分野においてこれまでに満たされていないニーズに適正に対処しこのニーズを満足させるハードウェアセキュアカウンタを増すことなく、2つ以上のデータセットに対するセキュリティを提供する方法に対するニーズがある。
【0012】
【課題を解決するための手段】
本発明は、マルチプレクシングされたセキュアカウンタのシステム及び方法を提供するものであり、このシステム及び方法により、1つの既存の親セキュアカウンタから、複数の子セキュアカウンタを作成することができる。この子セキュアカウンタの各値は、この親セキュアカウンタの値と共にストアされる。これら2つの値が、トラステッドエンティティによって署名される。子セキュアカウンタの個数を、一緒にストアすることができる。例えば、この子セキュアカウンタの全ての値と、この親セキュアカウンタの値を、連結(concatenate)することができ、この連結のための署名を作成することができる。
【0013】
子セキュアカウンタから値をリードするため、当該署名をベリファイし、当該親セキュアカウンタのためのストアされた値を、当該親セキュアカウンタの実際の値と比較検査する。仮にこのベリファイが成功した場合であって、この親セキュアカウンタのためのストアされた値が、この親セキュアカウンタの実際の値と等しい場合には、この子セキュアカウンタの値は、真正であって、「ロールバック」された値ではない、と推定される。
【0014】
1つの特定の子セキュアカウンタの値をインクリメントするために、その特定の子セキュアカウンタの値を、この親セキュアカウンタの値と同様にインクリメントする。この特定の子セキュアカウンタの新値が、この親セキュアカウンタの新値と共にストアされ、トラステッドエンティティによって署名される。他の全ての子セキュアカウンタの値も、この親セキュアカウンタの新値と共にストアされ、トラステッドエンティティによって署名されなければならない。
【0015】
このようにして、複数のセキュアカウンタがセキュアに提供されるが、これには、複数のセキュアカウンタを別々に提供するのに必要なハードウェアオーバヘッドはない。
【0016】
本発明の他の特徴を次に説明する。
【0017】
本発明によるマルチプレクシングされたセキュアカウンタをインプリメントするシステム及び方法を、添付図面を参照して説明する。
【0018】
【発明の実施の形態】
概要
第1セキュアカウンタに対して、追加の複数のセキュアカウンタ(「子」又は「第2レベル」のセキュアカウンタ)が提供されている。各子セキュアカウンタのために使用される値は、第1(「親」又は「第1レベル」又は「ベース」)セキュアカウンタからリードされた値と共に、ストアされる。この値は、トラステッドエンティティ(trusted entity)によって署名される。
【0019】
複数の子セキュアカウンタのうちの1つ子セキュアカウンタのための値をリードするため、当該署名をベリファイし、親セキュアカウンタのためのストアされた値を親セキュアカウンタの実際の値と比較しなければならない。仮に当該署名がベリファイされ、親カウンタのためのストアされた値が親カウンタの実際の値と一致する場合には、子セキュアカウンタのためのリードされた値を使用することができる。
【0020】
複数の子セキュアカウンタのうちの1つのセキュアカウンタに対する値を変更するため、署名をベリファイしなければならず、ストアされた親カウンタを検査しなければならない。一度これが成功すると、この親セキュアカウンタをインクリメントする。当該子セキュアカウンタに対する新値が、他の全ての子セキュアカウンタに対する値と、新親カウンタ値と共にストアされ、これら値が署名される。
【0021】
コンピューティング環境の例
図1は、本発明をインプリメントすることができる適正なコンピューティングシステム環境100の例を示す。このコンピューティングシステム環境100は、適正なコンピューティング環境の1つの例にすぎず、本発明の使用の範囲、又は本発明の機能を制限するものではない。また、本発明は、例に過ぎないコンピューティング環境100内にあるコンポーネントのどれに対しても、又はこれらコンポーネントを組み合わせたものに対しても、依存しないし要求しない。
【0022】
当業者にとって当然のことであるが、コンピュータその他のクライアント装置又はサーバ装置を、コンピュータネットワークの一部としてディプロイ(deploy)することができるか、又は分散コンピューティング環境でディプロイすることができる。この点、本発明に係るコンピュータは、任意の数のメモリ又はストレージユニットを有し、ストレージユニット又はボリュームに現れる任意の数のアプリケーション及びプロセスを有する。これらは、本発明と協働して使用することができる。本発明は、サーバコンピュータ及びクライアントコンピュータであって、リモートストレージ又はローカルストレージを有するものが、ネットワーク環境又は分散コンピューティング環境でディプロイされる環境に、適用することができる。本発明は、リモートサービス又はローカルサービスと協働して情報を生成し受信し送信するため、プログラミング言語機能と、解釈能力と、実行能力とを有するスタンドアローンコンピューティング装置にも適用することができる。
【0023】
本発明は、多数の他の汎用又は専用コンピューティングシステム環境又は構成と共にオペレートすることができる。周知のコンピューティングシステム、コンピューティング環境、及び/又はコンピューティング構成であって、本発明と共に使用するのに適している例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータが含まれるとともに、上記のシステム又は装置のうちの任意のものを含む分散コンピューティング環境、等々が含まれるが、これらに限定されるものではない。本発明は、コンピュータ実行可能命令、例えばコンピュータによって実行されるプログラムモジュールの一般的なコンテキストで説明することができる。一般的に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等であって、特定のタスクをパフォームするか、特定の抽象データ型をインプリメントしたものが含まれる。本発明は、通信ネットワークその他のデータ伝送媒体を介してリンクされているリモートプロセシング装置によって、タスクがパフォームされる分散コンピューティング環境においても実施することができる。分散コンピューティング環境においては、プログラムモジュール及び他のデータは、ローカル及びリモートのコンピュータ記憶媒体であって、メモリ記憶装置を含むものに位置させることができる。分散コンピューティングによれば、コンピューティング装置とコンピューティングシステムの間で直接交換することにより、コンピュータリソース及びサービスのシェアリング(sharing)が容易になる。これらリソース及びサービスには、情報の交換、キャッシュストレージ、及びファイルをディスクスにストアすることが含まれる。分散コンピューティングにおいては、ネットワーク接続が利用されるから、クライアントは、エンタプライズ全体の利益のため、集約させたパワーをレバレッジ(leverage)することができる。この点、種々の装置が、アプリケーション、オブジェクト、又はリソースであって、本発明に係る技術を利用できるものを有することができる。
【0024】
図1を説明する。本発明をインプリメントしたシステムの例には、コンピュータ110の形態の汎用コンピューティング装置が含まれる。コンピュータ110の構成要素には、プロセシングユニット120、システムメモリ130が含まれるとともに、システムメモリを含む種々のシステム構成要素をプロセシングユニット120に結合するシステムバス121が含まれるが、これらに限定されるものではない。このシステムバス121は、幾つかのタイプのバス構造であって、メモリバス又はメモリコントローラと、ペリフェラルバスと、任意のバスアーキテクチャを使用するローカルバスとを含むバス構造とすることができる。例を挙げると、このようなアーキテクチャには、ISA(Industry Standard Architecture)バスと、MCA(Micro Channel Architecture)バスと、EISA(Enhanced ISA)バスと、VESA(Video Electronics Standards Association)ローカルバスと、PCI(Peripheral Component Interconnect)バス(メザニンバスともいう。)とが含まれるが、これらに限定されるものではない。
【0025】
コンピュータ110には、典型的には、種々のコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、コンピュータ110によってアクセスできる全ての利用可能な媒体とすることができ、コンピュータ可読媒体には、揮発性及び不揮発性の媒体と、リムーバブル及びノンリムーバブルの媒体とが含まれる。例を挙げると、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体を備えるが、これらに限定されるものではない。コンピュータ記憶媒体には、揮発性及び不揮発性で、リムーバブル及びノンリムーバブルの媒体であって、情報、例えばコンピュータ可読命令、データ構造、プログラムモジュールその他のデータを記憶するための方法又は技術でインプリメントされた媒体か含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリその他のメモリ技術、CD−ROM、DVD(digital versatile disks)その他の光学ディスク記憶媒体、磁気カセット、磁気テープ、磁気記憶媒体その他の磁気記憶装置、あるいは所望の情報をストアするために使用することができる媒体であって、コンピュータ110によってアクセスできる他の全ての媒体が含まれるが、これらに限定されるものではいない。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュールその他のデータであって、変調データ信号、例えば搬送波その他のトランスポートメカニズムで搬送されるものを具現化したものであり、この通信媒体には、情報供給媒体が含まれる。「変調データ信号」とは、1つ以上の特性セットを有する信号であって、情報を信号でエンコードするような方法で変化する信号を意味する。例を挙げると、通信媒体には、ワイヤード媒体、例えばワイヤードネットワーク又は直接ワイヤード接続が含まれ、ワイヤレス媒体、例えばアコースティック、RF、赤外線その他のワイヤレス媒体が含まれるが、これらに限定されるものではない。上記のものを任意に組み合わせたものも、コンピュータ可読媒体の範囲内のものである。
【0026】
システムメモリ130には、揮発性メモリ及び/又は不揮発性メモリの形態のコンピュータ記憶媒体、例えばROM(read only memory)131及びRAM(random access memory)132が含まれている。コンピュータ110内の要素の間での情報の転送、例えば起動中における情報の転送を助ける基本ルーチンを含むBIOS(basic input output system)133が、典型的には、ROM131にストアされる。RAM132には、プロセシングユニット120により即時にアクセス可能であり、及び/又はプロセシングユニット120によって現在オペレートされている、データ及び/又はプログラムモジュールが含まれてるのが、典型的である。例として、図1には、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、及びプログラムデータ137を示すが、これらに限定されるものではない。
【0027】
コンピュータ110には、他のリムーバブル/ノンリムーバブルの揮発性/不揮発性コンピュータ記憶媒体を含めることもできる。図1は、ノンリムーバブル不揮発性磁気媒体との間でリード及びライトする磁気ディスクドライブ151と、リムーバブル不揮発性磁気ディスク152との間でリード及びライトするハードディスクドライブ141と、リムーバブル不揮発性光ディスク156、例えばCD ROMその他の光媒体との間でリード及びライトする光ディスクドライブ155を示すが、これらは例にすぎない。他のリムーバブル/ノンリムーバブルの揮発性/不揮発性のコンピュータ記憶媒体であって、オペレーティング環境例で使用することができるものには、磁気テープカセット、フラッシュメモリカード、DVD(digital versatile disks)、デジタルビデオテープ、半導体RAM、半導体ROM、等々が含まれるが、これらに限定されるものではない。ハードディスクドライブ141は、典型的には、インタフェース140のようなノンリムーバブルメモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151及び光ディスクドライブ155は、典型的には、インタフェース150のようなリムーバブルメモリインタフェースによってシステムバス121に接続されている。
【0028】
図1に示したドライブ及びそれに関連するコンピュータ記憶媒体であって上述したものは、コンピュータ110に対する、コンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータを記憶するものである。
【0029】
図1において、例えば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、及びプログラムデータ147をストアするためのものとして図示されている。次のことに留意されたい。すなわち、これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、及びプログラムデータ137と、同一のもの又は異なるもののいずれかとすることができる。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、及びプログラムデータ147については、少なくともこれらが異なるものであることを示すため、異なる符号を付してある。ユーザは、コマンド及び情報を、入力装置、例えばキーボード162と、ポインティングデバイス161、いわゆるマウス、トラックボール、又はタッチパッドというものと、を介して、コンピュータ110に入力することができる。他の入力装置(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信用パラボラアンテナ、スキャナ、等々を含めることができる。これら及び他の入力装置は、しばしば、システムバスに結合されているユーザ入力インタフェース160を介して、プロセシングユニット120に接続されているが、他のインタフェース及びバス構造、例えばパラレルポート、ゲームポート、又はUSB(universal serial bus)によって接続することができる。モニタ191その他のディスプレイ装置も、ビデオインタフェース190のようなインタフェースを介して、システムバス121に接続されている。コンピュータには、モニタに加えて、スピーカ197及びプリンタ196のような他のペリフェラル出力装置も含めることができ、これらのペリフェラル出力装置は、出力ペリフェラルインタフェース195を介して接続することができる。
【0030】
コンピュータ110は、リモートコンピュータ180のような1つ以上のリモートコンピュータへの論理接続を使用して、ネットワーク環境においてオペレーションすることができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置その他の一般的なネットワークノードとすることができ、リモートコンピュータ180には、典型的には、コンピュータ110に関して上述した要素の多数又は全てが含まれるが、図1にはメモリ記憶装置181のみを図示してある。図1に示した論理接続には、LAN(local area network)171及び(WAN(wide area network)173が含まれるが、他のネットワークを含めることもできる。このようなネットワーキング環境は、オフィス、enterprise−wideコンピュータネットワーク、イントラネット、及びthe Internetにおいてありふれたものである。
【0031】
コンピュータ110は、LANネットワーキング環境で使用されると、ネットワークインタフェース又はネットワークアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用されるとき、コンピュータ110には、典型的には、モデム172その他の手段であって、the InternetのようなWAN173を介する通信を確立するものが含まれる。モデム172は、内蔵又は外付けとすることができるが、ユーザ入力インタフェース160その他の適正な機構を介して、システムバス121に接続することができる。ネットワーク化された環境においては、コンピュータ110に関して図示したプログラムモジュール、又はその一部を、リモートメモリ記憶装置にストアすることができる。例として、図1に、メモリ装置181に駐在するものとして、リモートアプリケーションプログラム185を示すが、これに限定されるものではない。当然、図示のネットワーク接続は、例にすぎず、コンピュータ間で通信リンクを確立する他の手段を、使用することができる。
【0032】
マルチプレクシングされたセキュアカウンタのインプリメント
本発明の一実施形態によれば、親セキュアカウンタがマルチプレクシングされて、少なくとも1つの子セキュアカウンタが提供される。親セキュアカウンタには、値をセキュアに保持するメモリが含まれ、親セキュアカウンタは、リード(read)コマンド及びインクリメントコマンドを受ける。リードコマンドによって、親セキュアカウンタが、メモリにストアされた値を返す。インクリメントコマンドによって、親セキュアカウンタは、メモリにストアされた値をインクリメントする。
【0033】
好ましい実施形態においては、セキュアカウンタ(親セキュアカウンタ又は子セキュアカウンタのいずれか)のインクリメントによって、セキュアカウンタの前の値に1が加算される。しかし、代替実施形態においては、インクリメントによって、セキュアカウンタの値を他の形で変更することができる。セキュアカウンタが有用になるためには、セキュアカウンタの連続する新値が、一意であるか、少なくともまれなもの(rare)でなければならない。そうでなければ、ストアされたカウンタ値を現在のカウンタ値と比較検査するとき、ロールバックその他のタンパリング(tampering)が行われた可能性がある場合であっても、これらのカウンタ値が一致する可能性がある。
【0034】
図2に示すように、本発明の一実施形態によれば、ファイル200に、子カウンタ値DからD210が、親カウンタ値C220と共にストアされる。子カウンタ値210と親カウンタ値C220が、トラステッドエンティティ(trusted entity)によって署名され、署名証明書230に含まれる。本発明の他の実施形態によれば、ファイル200は、異なるフォーマットを有することができる。それぞれが1つ以上の子カウンタ値、親カウンタ値、及び署名をストアする複数のファイルを使用することができる。一実施形態においては、子カウンタ値ごとに別々のファイルが存在する。
【0035】
好ましい実施形態においては、子セキュアカウンタに対して2つのオペレーションをパフォームすることができる、すなわち、(1)子セキュアカウンタの値をベリファイすることができ、(2)子セキュアカウンタの値をインクリメントすることができる。一実施形態においては、これらのオペレーションが、ハードウェア又はソフトウェアによってインプリメントすることができるトラステッドエンティティへの要求を介して、パフォームされる。セキュリティを維持するため、トラステッドエンティティの署名が、セキュアされなければならず、親セキュアカウンタが、セキュアされなければならない。しかし、カウンタ値を含むファイル200は、セキュアにストアされる必要がない。このファイルが変更された場合は、署名を検査することによって、その変更を検出することができる。ロールバック攻撃を試みることができるが、その場合には、アドバーサリによって、ファイルの前バージョンが、ファイルの現在のバージョンと置換される。この場合、署名はベリファイされるが、親カウンタ値が、ストアされた親カウンタ値と一致せず、したがって、このロールバックを検出することができる。
【0036】
子セキュアカウンタのリード
子セキュアカウンタDをリードするためには、図3に示すように、署名をベリファイしなければならない(310)。署名のベリファイが成功した場合に(320)、実際の親カウンタ値を、ストアされた親カウンタ値と比較する(330)。署名のベリファイが成功しなかった場合には、子カウンタのリードが失敗する(340)。実際の親カウンタ値が、ストアされたカウンタ値と等しい場合(350)には、ストアされた子カウンタ値Dが有効である(360)。実際の親カウンタ値が、ストアされた親カウンタ値と等しいくない場合には、子カウンタのリードが失敗する(340)。
【0037】
他の実施形態においては、署名検査(310)が、親カウンタ値検査(330)の後又はこれと同時に行なわれる。
【0038】
子セキュアカウンタのインクリメント
子セキュアカウンタDをインクリメントするためには、図4に示されているように、子セキュアカウンタのリードと同一の検査を行わなければならない。署名をベリファイしなければならない(410)。署名のベリファイが成功した場合(420)に、実際の親カウンタ値を、ストアされた親カウンタ値と比較する(430)。署名のベリファイが成功した場合には、子カウンタインクリメントが失敗する(440)。実際の親カウンタ値が親のストアされたカウンタ値と等しくない場合(450)には、子カウンタインクリメントが失敗する(440)。
【0039】
実際の親カウンタ値がストアされた親カウンタ値と等しい場合(450)には、ストアされた子セキュアカウンタDが有効である。カウンタ値Dの値を、インクリメントする(460)。親セキュアカウンタCの値をインクリメントする(470)。子セキュアカウンタDの新値と、全ての他の子セキュアカウンタ(DからDm−1までと、Dm+1からDまで)の旧値と、親セキュアカウンタCの新値とに、署名する(480)。
【0040】
新カウンタ値の追加
新子セキュアカウンタを追加するためには、署名されストアされた親カウンタ値を検査する。タンパリングが検出されない場合に、親カウンタ値をインクリメントする。新子セキュアカウンタを、前から存在する子セキュアカウンタ及び親カウンタ値と共にストアする。親カウンタ値及び子カウンタ値をストアするファイルに、署名する。カウンタ値を、同様にして、削除することができる。
【0041】
上述したように、本発明の一実施形態においては、それぞれが1つ以上の子カウンタ値と、親カウンタ値と、署名とをストアする複数のファイルを使用することができる。あるファイルに1つの子カウンタ値だけが含まれる場合には、その子セキュアカウンタを、そのファイルを削除することによって削除することができる。本発明の別の実施形態によれば、新子カウンタ値を作成し、それを現在のカウンタ値と連結(concatenate)し、得られた連結に署名することによって、セキュアカウンタを作成することができる。
【0042】
むすび
本明細書にマルチプレクシングされたセキュアカウンタのシステム及び方法。上述したように、本発明の実施形態を、種々のコンピューティング装置とネットワークアーキテクチャに関して説明したが、複数のセキュアカウンタを使用することが望ましい全てのコンピューティング装置又はコンピューティングシステムに、その基礎となる概念を適用することができる。したがって、本発明に係る複数のセキュアカウンタを使用する技法を、種々の応用例及び装置に適用することができる。例えば、本発明に係る技法を、コンピューティング装置のオペレーティングシステムに適用することができ、また、かかる技法は、当該コンピューティング装置上の個別のオブジェクトとして、別のオブジェクトの一部として、サーバからのダウンロード可能なオブジェクトとして、装置又はオブジェクトとネットワークとの間の「仲介役」として、分散オブジェクト、等々として、供給することができる。名前及び例は、本明細書においては、種々の選択肢を表すものとして選択されたが、これらの名前及び例に、限定されるものではない。
【0043】
本明細書で説明した種々の技法は、ハードウェア又はソフトウェアと協働させてインプリメントすることができ、あるいは、適正な場合に、ハードウェア及びソフトウェアを組み合せたものと協働させてインプリメントすることができる。したがって、本発明の方法及び装置、あるいはある態様又はその態様の部分は、有形の媒体、例えばフロッピディスク(登録商標)、CD−ROM(登録商標)、ハードドライブその他のマシン(machine)可読記憶媒体に具現化されたプログラムコード(すなわち命令)の形をとることができる。ここで、プログラムコードがマシン、例えばコンピュータにロードされ、このマシンによって実行されると、当該コンピュータは、本発明を実施する装置となる。プログラマブルコンピュータにおいてプログラムコードを実行する場合に、このコンピューティング装置には、一般的に、プロセッサ、このプロセッサが可読な記憶媒体(揮発性及び不揮発性のメモリ及び/又は記憶要素を含む)、少なくとも1つの入力装置、及び少なくとも1つの出力装置が含まれる。本発明に係る技法を使用できる1つ以上のプログラムであって、例えばデータ処理API等を使用するプログラムは、コンピュータシステムと通信するため、高水準プロシージャ(procedure)指向プログラミング言語、又は高水準オブジェクト指向プログラミング言語でインプリメントするのが、好ましい。しかし、当該プログラムは、必要であれば、アセンブリ言語又は機械語でインプリメントすることができる。いずれにせよ、当該言語は、コンパイル言語、又はインタプリタ言語とすることができ、しかもハードウェアでインプリメントしたものと組み合わせることができる。
【0044】
本発明に係る方法及び装置は、プログラムコードの形態で具現化された通信を介して実施することができ、かかる通信においては、伝送媒体、例えば電気配線又はケーブリング、光ファイバを介して、伝送されるか又は他の形態の伝送が行なわれるから、プログラムコードが受信され、マシン、例えばEPROM、ゲートアレイ、PLD(programmable logic device)、クライアントコンピュータ、ビデオレコーダ等にロードされて実行されると、上記実施形態において述べた信号処理機能を有する受信側マシンは、本発明を実施する装置となる。汎用プロセッサにインプリメントされると、当該プログラムコードは、当該汎用プロセッサと組み合わされて、本発明の機能をインボークするためにオペレートする一意の装置を提供する。加えて、本発明とともに使用されるストレージ技法は、例外なく、ハードウェアとソフトウェアを組み合せたものとすることができる。
【0045】
以上、本発明を、種々の図面の好ましい実施形態に関連して説明したが、当然、他の類似する実施形態を使用することができ、あるいは、本発明から逸脱せずに、本発明の同一の機能を実行するために説明された実施形態に対して修正又は追加を行うことができる。例えば、本発明に係るネットワーク環境の例を、ピアツーピアネットワーク環境のようなネットワーク環境のコンテクストで説明したが、本発明がこれに限定されないことは、当業者にとって当然のことであり、また、本明細書において説明したような方法は、コンピューティング装置又はコンピューティング環境、例えば、ゲーミングコンソール、ハンドヘルドコンピュータ、ポータブルコンピュータ等であってワイヤード(wired)又はワイヤレス(wireless)のものに適用することができ、さらに、通信ネットワークを介して接続され、しかもネットワークを介してインタラクト(interact)されたコンピューティング装置に適用することができることは、当業者にとって当然のことである。さらに、これは強調すべきことであるが、特にワイヤレスネットワーク化された装置の数が激増するにつれて、ハンドヘルド装置オペレーティングシステムと、他のアプリケーションに特化されたオペレーティングシステムとを含むコンピュータプラットフォームが予想される。さらにまた、本発明は、複数のプロセシングチップ又は装置でインプリメントすることができ、同様に、複数の装置に亘って記憶(storage)することができる。したがって、本発明は、単一の実施形態に限定されず、請求の範囲に従って解釈すべきである。
【図面の簡単な説明】
【図1】本発明の態様をインプリメントすることができるコンピューティング環境の例を示すブロック図である。
【図2】本発明の一実施形態に係るカウンタファイルを示すブロック図である。
【図3】本発明の一実施形態において、マルチプレクシングされたカウンタを用いて子カウンタ値をリードする流れ図である。
【図4】本発明の一実施形態において、マルチプレクシングされたカウンタを使用して、子カウンタのカウンタ値をインクリメントする流れ図である。
【符号の説明】
110 コンピュータ
120 プロセシングユニット
121 システムバス
130 システムメモリ
131 ROM
132 RAM
133 BIOS
134 オペレーティングシステム
135 アプリケーションプログラム
136 他のプログラムモジュール
137 プログラムデータ
140 インタフェース
141 ハードディスクドライブ
144 オペレーティングシステム
145 アプリケーションプログラム
146 他のプログラムモジュール
147 プログラムデータ
150 インタフェース
151 磁気ディスクドライブ
152 リムーバブル不揮発性磁気ディスク
156 リムーバブル不揮発性光ディスク
160 ユーザ入力インタフェース
161 ポインティングデバイス
162 キーボード
170 ネットワークインタフェース
171 LAN
172 モデム
173 WAN
180 リモートコンピュータ
181 メモリ装置
185 リモートアプリケーションプログラム
190 ビデオインタフェース
191 モニタ
195 出力ペリフェラルインタフェース
196 プリンタ
197 スピーカ

Claims (29)

  1. 少なくとも1つの第2レベルカウンタをインプリメントする方法であって、第1レベルカウンタが第1レベルカウンタ値を供給し、第1レベルカウンタ値と前記少なくとも1つの第2レベルカウンタ値とを備えたデータが、該データのベリファイ情報と共に、ストアされる方法において、
    前記少なくとも1つの第2レベルカウンタのうちの1つの第2レベルカウンタのためのリードコマンドに応答し、少なくとも1つのファイルのセキュリティをベリファイし、前記少なくとも1つの第2レベルカウンタの値を返すステップ
    を備えたことを特徴とする方法。
  2. 請求項1において、トラステッドエンティティは、ベリファイ可能な署名を用いてデータに署名することができ、
    前記データのベリファイ情報は、前記トラステッドエンティティからの前記データの署名を備えた
    ことを特徴とする方法。
  3. 請求項2において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記署名をベリファイすることを特徴とする方法。
  4. 請求項1において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記ストアされた第1レベルカウンタ値が前記第1レベルカウンタの現在の値に対応することをベリファイすることを特徴とする方法。
  5. 請求項1において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記少なくとも1つのファイルのセキュリティのベリファイが、成功でない場合に、エラーメッセージを返すことを特徴とする方法。
  6. 少なくとも1つの第2レベルカウンタをインプリメントする方法であって、第1レベルカウンタが第1レベルカウンタ値を供給し、該第1レベルカウンタ値と、前記少なくとも1つの第2レベルカウンタとを備えたデータが、前記データのベリファイ情報と共にストアされ、
    前記少なくとも1つの第2レベルカウンタのうちの特定の第2レベルカウンタのためのインクリメントコマンドに応答し、前記少なくとも1つのファイルのセキュリティをベリファイするステップであって、前記特定の第2レベルカウンタの値をインクリメントするステップであり、前記少なくとも1つの第1レベルカウンタの値をインクリメントするステップであり、前記第1レベルカウンタ値と、前記インクリメントされた特定の第2レベルカウンタ値とを備えたデータを、該データのベリファイ情報と共に、前記少なくとも1つのファイル内にストアするステップ
    を備えたことを特徴とする方法。
  7. 請求項6において、トラステッドエンティティは、ベリファイ可能署名を用いてデータに署名することができ、
    前記データのベリファイ情報は、前記トラステッドエンティティからの前記データの署名を備えた
    ことを特徴とする方法。
  8. 請求項7において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記署名をベリファイすることを特徴とする方法。
  9. 請求項7において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記ストアされた第1レベルカウンタ値が前記第1レベルカウンタの現在の値に対応することをベリファイすることを特徴とする方法。
  10. 請求項7において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記少なくとも1つのファイルのセキュリティの前記ベリファイが成功でない場合にエラーメッセージを返すことを特徴とする方法。
  11. 少なくとも1つの第2レベルカウンタをインプリメントする方法であって、第1レベルカウンタが第1レベルカウンタ値を提供し、該第1レベルカウンタ値と、前記少なくとも1つの第2レベルカウンタ値とを備えたデータが、前記データのベリファイ情報と共にストアされる方法において、
    新第2レベルカウンタを追加する要求に応答し、前記第1レベルカウンタ値と前記新第2レベルカウンタとを備えたデータを、ベリファイ情報と共に、少なくとも1つのファイルにストアするステップ
    を備えたことを特徴とする方法。
  12. 請求項11において、前記新第2レベルカウンタを追加する要求に対する応答は、
    前記第1レベルカウンタ値の値をインクリメントし、
    前記インクリメントされた第1レベルカウンタ値と、前記新第2レベルカウンタとを備えたデータを、ベリファイ情報と共に、前記少なくとも1つのファイルにストアする
    ことを特徴とする方法。
  13. 少なくとも1つの第2レベルカウンタをインプリメントし、第1レベルカウンタが第1レベルカウンタ値を提供するシステムにおいて、
    前記第1レベルカウンタ値と、前記少なくとも1つの第2レベルカウンタとを備えたデータを、前記データのベリファイ情報と共に、少なくとも1つのファイルにストアする手段と、
    前記少なくとも1つの第2レベルカウンタの特定の1つの第2レベルカウンタのためのリードコマンドに応答する手段であって、前記少なくとも1つのファイルのセキュリティをベリファイし、前記少なくとも1つの第2レベルカウンタの値を返す手段と、
    前記少なくとも1つの第2レベルカウンタの特定の1つの第2レベルカウンタのためのインクリメントコマンドに応答する手段であって、前記少なくとも1つのファイルのセキュリティをベリファイし、前記特定の第2レベルカウンタの値をインクリメントし、前記第1レベルカウンタの値をインクリメントし、前記第1レベルカウンタと、前記インクリメントされた特定の第2レベルカウンタ値とを備えたデータを、前記データのベリファイ情報と共に、前記少なくとも1つのファイル内にストアする手段と
    を備えたことを特徴とするシステム。
  14. 請求項13において、トラステッドエンティティは、ベリファイ可能署名を用いてデータに署名することができ、
    前記データのベリファイ情報は、前記トラステッドエンティティからの前記データの署名を備えた
    ことを特徴とするシステム。
  15. 請求項14において、前記少なくとも1つのファイルのセキュリティをベリファイする手段は、前記署名をベリファイする手段を備えたことを特徴とするシステム。
  16. 請求項13において、前記少なくとも1つのファイルのセキュリティをベリファイする手段は、前記ストアされた第1レベルカウンタ値が前記第1レベルカウンタの現在の値に対応することをベリファイする手段を備えたことを特徴とするシステム。
  17. 請求項13において、前記少なくとも1つのファイルのセキュリティをベリファイする手段は、前記少なくとも1つのファイルのセキュリティのベリファイが成功でない場合にエラーメッセージを返す手段を備えたことを特徴とするシステム。
  18. 請求項13において、前記少なくとも1つの第2レベルカウンタをインクリメントする手段は、前記第1レベルカウンタに1を加算する手段を備えたことを特徴とするシステム。
  19. 請求項13において、前記少なくとも1つのファイルは、前記少なくとも1つの第2レベルカウンタのそれぞれについて1つのファイルを備えたことを特徴とするシステム。
  20. 請求項13において、前記新第2レベルカウンタを追加する要求に応答する手段であって、前記第1レベルカウンタ値と、前記新第2レベルカウンタ値とを備えたデータを、ベリファイ情報と共に、前記少なくとも1つのファイルにストアする手段をさらに備えたことを特徴とするシステム。
  21. 請求項20において、前記新第2レベルカウンタを追加する要求に応答する手段は、
    前記第1レベルカウンタの値をインクリメントする手段と、
    前記インクリメントされた第1レベルカウンタ値と、前記新第2レベルカウンタ値とを備えたデータを、ベリファイ情報と共に、前記少なくとも1つのファイルにストアする手段と
    を備えたことを特徴とするシステム。
  22. 少なくとも1つの第2レベルカウンタをインプリメントするコンピュータ可読媒体であって、第1レベルカウンタが第1レベルカウンタ値を提供するコンピュータ可読媒体において、
    前記第1レベルカウンタ値と、前記少なくとも1つの第2レベルカウンタ値とを備えたデータを、前記データのベリファイ情報と共に、少なくとも1つのファイルにストアするアクトと、
    前記少なくとも1つの第2レベルカウンタの特定の1つの第2レベルカウンタのためのリードコマンドに応答するアクトであって、前記少なくとも1つのファイルのセキュリティをベリファイし、前記少なくとも1つの第2レベルカウンタの値を返すアクトと、
    前記少なくとも1つの第2レベルカウンタの特定の1つの第2レベルカウンタのためのインクリメントコマンドに応答するアクトであって、前記少なくとも1つのファイルのセキュリティをベリファイし、前記特定の第2レベルカウンタの値をインクリメントし、前記第1レベルカウンタの値をインクリメントし、前記第1レベルカウンタ値と、前記インクリメントされた特定の第2レベルカウンタ値とを備えたデータを、前記データのベリファイ情報と共に、前記少なくとも1つのファイル内にストアするアクトと
    をパフォームする命令を備えたことを特徴とするコンピュータ可読媒体。
  23. 請求項22において、トラステッドエンティティは、ベリファイ可能署名を用いてデータに署名することができ、
    前記データのベリファイ情報は、前記トラステッドエンティティからの前記データの署名を備えた
    ことを特徴とするコンピュータ可読媒体。
  24. 請求項23において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記署名をベリファイすることを備えたことを特徴とするコンピュータ可読媒体。
  25. 請求項22において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記ストアされた第1レベルカウンタ値が前記第1レベルカウンタの現在の値に対応することをベリファイすることを特徴とするコンピュータ可読媒体。
  26. 請求項22において、前記少なくとも1つのファイルのセキュリティをベリファイすることは、前記少なくとも1つのファイルのセキュリティのベリファイが成功しない場合にエラーメッセージを返すこと特徴とするコンピュータ可読媒体。
  27. 請求項22において、前記少なくとも1つのファイルは、前記少なくとも1つの第2レベルカウンタのそれぞれについて1つのファイルを備えたことを特徴とするコンピュータ可読媒体。
  28. 請求項22において、前記アクトは、新第2レベルカウンタを追加する要求に応答し、前記第1レベルカウンタ値と、前記新第2レベルカウンタ値とを備えたデータを、ベリファイ情報と共に、前記少なくとも1つのファイルにストアすることを特徴とするコンピュータ可読媒体。
  29. 請求項28において、前記新第2レベルカウンタを追加する要求に対する応答は、
    前記第1レベルカウンタ値の前記値をインクリメントし、
    前記インクリメントされた第1レベルカウンタ値と、前記新第2レベルカウンタ値とを備えたデータを、ベリファイ情報と共に、前記少なくとも1つのファイルにストアする
    ことを特徴とするコンピュータ可読媒体。
JP2003180219A 2002-06-28 2003-06-24 第2レベルセキュアカウンタをインプリメントするためのセキュアカウンタのマルチプレクシング Pending JP2004038968A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/185,506 US7421579B2 (en) 2002-06-28 2002-06-28 Multiplexing a secure counter to implement second level secure counters

Publications (1)

Publication Number Publication Date
JP2004038968A true JP2004038968A (ja) 2004-02-05

Family

ID=27612987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003180219A Pending JP2004038968A (ja) 2002-06-28 2003-06-24 第2レベルセキュアカウンタをインプリメントするためのセキュアカウンタのマルチプレクシング

Country Status (4)

Country Link
US (1) US7421579B2 (ja)
EP (1) EP1376306A3 (ja)
JP (1) JP2004038968A (ja)
NO (1) NO20032786L (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012068959A (ja) * 2010-09-24 2012-04-05 Toshiba Corp メモリ管理装置及びメモリ管理方法
US11789716B2 (en) 2020-09-23 2023-10-17 Kabushiki Kaisha Toshiba Electronic apparatus capable of updating firmware program securely and method of updating firmware program securely

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7609406B2 (en) * 2002-08-16 2009-10-27 Avery Dennison Retail Information Services, Llc Hand held portable printer with RFID read write capability
US7681050B2 (en) * 2005-12-01 2010-03-16 Telefonaktiebolaget L M Ericsson (Publ) Secure and replay protected memory storage
FR2895608B1 (fr) * 2005-12-23 2008-03-21 Trusted Logic Sa Procede pour la realisation d'un compteur securise sur un systeme informatique embarque disposant d'une carte a puce
EP1850256B1 (en) * 2006-04-24 2010-06-09 Telefonaktiebolaget LM Ericsson (publ) Authorisation of the installation of a software version
US9811330B2 (en) * 2006-10-06 2017-11-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for version control in a reprogrammable security system
JP4956292B2 (ja) * 2007-06-25 2012-06-20 パナソニック株式会社 情報セキュリティ装置およびカウンタ制御方法
GB0802741D0 (en) * 2008-02-14 2008-03-26 Wolfson Microelectronics Plc Secure Clock
EP2166471A1 (en) * 2008-08-27 2010-03-24 Hewlett-Packard Development Company, L.P. Method and apparatus for storing and verifying data
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
DE102010054446A1 (de) * 2010-12-14 2012-06-14 Giesecke & Devrient Gmbh Portabler Datenträger mit Fehlbedienungszähler
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9571275B1 (en) 2012-08-14 2017-02-14 Google Inc. Single use identifier values for network accessible devices
US9146969B2 (en) * 2012-11-26 2015-09-29 The Boeing Company System and method of reduction of irrelevant information during search
US10592710B1 (en) * 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347579A (en) * 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
US5386369A (en) * 1993-07-12 1995-01-31 Globetrotter Software Inc. License metering system for software applications
US5563946A (en) 1994-04-25 1996-10-08 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems
US20030191719A1 (en) * 1995-02-13 2003-10-09 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
DE69724947T2 (de) * 1997-07-31 2004-05-19 Siemens Ag Rechnersystem und Verfahren zur Sicherung einer Datei
DE19821696A1 (de) 1998-05-14 1999-11-18 Ernst Olav Pagel Verfahren und Vorrichtung zum manipulationssicheren Übertragen und Speichern einer Information, insbesondere eine von einem Kraftfahrzeug zurückgelegten Wegstrecke
US6865675B1 (en) 1998-07-14 2005-03-08 Koninklijke Philips Electronics N.V. Method and apparatus for use of a watermark and a unique time dependent reference for the purpose of copy protection
US6820063B1 (en) * 1998-10-26 2004-11-16 Microsoft Corporation Controlling access to content based on certificates and access predicates
US6219656B1 (en) * 1998-11-25 2001-04-17 Schlumberger Resource Management Services, Inc. Memory integrity for meters
US6510513B1 (en) * 1999-01-13 2003-01-21 Microsoft Corporation Security services and policy enforcement for electronic data
NO311197B1 (no) * 2000-03-02 2001-10-22 Ramirez Olguin Nelson Eric Sikkerhetssystem mot ulovlig bruk eller kopiering av elektronisk data
JP2002024098A (ja) * 2000-07-04 2002-01-25 Canon Inc 情報処理装置、情報処理システム、情報処理方法及び記録媒体
US20020152393A1 (en) * 2001-01-09 2002-10-17 Johannes Thoma Secure extensible computing environment
US20020107806A1 (en) * 2001-02-02 2002-08-08 Akio Higashi Content usage management system and content usage management method
US7134144B2 (en) * 2001-03-01 2006-11-07 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
US7020850B2 (en) * 2001-05-02 2006-03-28 The Mathworks, Inc. Event-based temporal logic
US20030088783A1 (en) * 2001-11-06 2003-05-08 Dipierro Massimo Systems, methods and devices for secure computing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012068959A (ja) * 2010-09-24 2012-04-05 Toshiba Corp メモリ管理装置及びメモリ管理方法
US8732480B2 (en) 2010-09-24 2014-05-20 Kabushiki Kaisha Toshiba Memory management device and memory management method
US11789716B2 (en) 2020-09-23 2023-10-17 Kabushiki Kaisha Toshiba Electronic apparatus capable of updating firmware program securely and method of updating firmware program securely

Also Published As

Publication number Publication date
US20040003244A1 (en) 2004-01-01
NO20032786D0 (no) 2003-06-18
EP1376306A2 (en) 2004-01-02
NO20032786L (no) 2003-12-29
EP1376306A3 (en) 2004-04-21
US7421579B2 (en) 2008-09-02

Similar Documents

Publication Publication Date Title
US10242192B2 (en) Method, system, and program product for remotely attesting to a state of a computer system
JP2004038968A (ja) 第2レベルセキュアカウンタをインプリメントするためのセキュアカウンタのマルチプレクシング
KR100970830B1 (ko) 데이터 스트림 헤더 객체 보호
US7424606B2 (en) System and method for authenticating an operating system
JP4510373B2 (ja) 共有名を用いてコンポーネントにセキュリティを提供するシステムおよび方法
KR101066727B1 (ko) 컴퓨팅 장치의 보안 부팅
KR101301332B1 (ko) 보안 기계 카운팅
US7165076B2 (en) Security system with methodology for computing unique security signature for executable file employed across different machines
US20040054901A1 (en) Creating and verifying a sequence of consecutive data
JP2004234668A (ja) ボリュームライセンスキー環境においてソフトウェアの著作権侵害を阻止するシステムおよび方法
CN110555293A (zh) 用于保护数据的方法、装置、电子设备和计算机可读介质
KR101411181B1 (ko) 스키마의 패키징, 배포, 이용가능성
US20050060549A1 (en) Controlling access to content based on certificates and access predicates
JP2003280972A (ja) ファイル保管システムとnasサーバ
JP4890569B2 (ja) 実行可能コード変更の防止
CN111052117A (zh) 在没有多元化创作的情况下安全地定义操作系统组成
US20050010752A1 (en) Method and system for operating system anti-tampering
CN110851851A (zh) 一种块链式账本中的权限管理方法、装置及设备
Maruyama et al. Linux with TCPA integrity measurement
CN111292082A (zh) 一种块链式账本中的公钥管理方法、装置及设备
Kim SURF: Software Update Registration Framework

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100226