JP4603167B2 - コンピューティング装置のモジュール間通信 - Google Patents

コンピューティング装置のモジュール間通信 Download PDF

Info

Publication number
JP4603167B2
JP4603167B2 JP2000598915A JP2000598915A JP4603167B2 JP 4603167 B2 JP4603167 B2 JP 4603167B2 JP 2000598915 A JP2000598915 A JP 2000598915A JP 2000598915 A JP2000598915 A JP 2000598915A JP 4603167 B2 JP4603167 B2 JP 4603167B2
Authority
JP
Japan
Prior art keywords
hardware module
trusted
data
computing device
response
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
JP2000598915A
Other languages
English (en)
Other versions
JP2002536756A5 (ja
JP2002536756A (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.)
HP Inc
Original Assignee
Hewlett Packard Co
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
Priority claimed from EP99301100A external-priority patent/EP1030237A1/en
Priority claimed from EP99306416A external-priority patent/EP1076280A1/en
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2002536756A publication Critical patent/JP2002536756A/ja
Publication of JP2002536756A5 publication Critical patent/JP2002536756A5/ja
Application granted granted Critical
Publication of JP4603167B2 publication Critical patent/JP4603167B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/009Trust
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/1097Boot, Start, Initialise, Power
    • 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/2103Challenge-response

Landscapes

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

Description

【0001】
【発明の属する技術分野】
この発明は、コンピューティング装置に関連し、具体的には、コンピューティング装置の様々なモジュール間の信用およびセキュリティを改良することに関連する。
【0002】
【従来の技術】
ユーザによりロードされたソフトウェアまたはネットワーク通信を介してロードされたソフトウェアによる不正な修正に対して脆弱な環境に商業クライアント・プラットフォームがしばしばあるので、コンピュータ・プラットフォームの完全性(integrity)への関心が生じている。このため、ユーザは、重要なデータ操作のためにプラットフォームを信用することに消極的であり、コンピュータ・プラットフォーム内のセキュリティのレベルを改善することが望まれている。
【0003】
コンピュータ・プラットフォームの従来技術の機能モジュール(CPU、メモリ、ハードディスク・ドライブ、キーボード、CDROM、DVD、スマートカード読み取り装置、ISAカード、EISAカード、PCIカード、その他)がこれらのモジュール間で通信される情報を確認せず、モジュールとの通信が秘密でないという事実から弱点が発生する。この弱点の主な理由を以下に示す。
【0004】
・コンピュータ・プラットフォームのメイン・コンピューティング・エンジンが物理的にプラットフォーム内部で分散(CPU、メモリ、長期記憶デバイス、その他を分離)されており、メイン・コンピューティング・エンジンの多くの個々の分散されたコンポーネントが通信するデータをセキュア(secure)にする機能を持たない。
【0005】
・分散されたエンジンの要素間の通信と、他の機能モジュールとの通信の両方が共用された通信経路(共用通信インフラストラクチャ)を使用してなされる。
【0006】
・機能モジュールのサービスがいくつかの他の機能モジュールによって潜在的に共用される。
【0007】
したがって、主分散型コンピューティング・エンジンまたは別の機能モジュール上のローグ・ソフトウェア(rogue software)は、データを盗聴することができ、不適当なデータ操作を実行し、発生させることができる。
【0008】
【発明が解決しようとする課題】
暗号セキュリティ機能の能力を持つ内蔵コンピューティング・エンジンを機能モジュールが有する場合、いかなる共用環境でも、セキュア通信(認証、完全性、信頼性、その他を有する)が可能である。その様なエンジンは、機能モジュールがデータ・ソースを認証し、データの完全性を検証し、データの信頼性を提供することを可能にするだろう。コンピュータ・プラットフォームの多くの機能モジュールは、既に内蔵型コンピューティング・エンジンを有し、これらのエンジンを修正して必要な暗号セキュリティ機能を提供することが可能である。その様な修正それ自体は、セキュリティおよび電子技術の分野の当業者に既知である。たとえそうしても、残る問題は、その様な暗号プロセスの全てが一般に鍵と呼ばれる秘密情報(secret)の利用に依存していることである。鍵は分配されなければならない。各機能モジュールは、それ自身の秘密情報を有し、他の機能モジュールの適当な秘密情報にアクセスしなければならない。これらの性質および問題(並びに特性および鍵の使用)は、それ自体、情報セキュリティの分野においてよく知られている。
【0009】
【課題を解決するための手段】
信頼性のある測定および信頼性のある完全性測定基準の報告によってコンピュータのプラットフォームの完全性を検証することを可能にするためにコンピュータ・プラットフォームにおいて信用コンポーネントまたはモジュールを使用することが、信用通信の確立において特に有効な要素であることが分かった。信用モジュールは、権限の無い修正または内部データの検閲に対して本質的に免疫がある。それは、偽造を防ぐのに物理的であり、模造を防ぐのに耐タンパ性があり、距離のあるセキュア通信に対する暗号機能を有する。信用モジュールを作る方法、それ自体は、本分野の当業者に明らかである。信用モジュールは、暗号方法を使用して、それ自身に暗号のアイデンティティを与え、確実性、完全性、信頼性を提供し、リプレイ攻撃に対するガードをし、デジタル署名をし、必要に応じてデジタル証明書を使用する。これらおよび他の暗号方法並びにそれらの初期化、それ自体は、セキュリティの分野における当業者に既知のものである。その様な信用コンポーネントの役割は、「信用コンピューティング・プラットフォーム」と題され、本願と同日で同じ出願人による国際特許出願に記載される。
【0010】
本発明によれば、信用ハードウェア・モジュールと、複数のさらなるハードウェア・モジュールと、それによりモジュールが互いに通信することができる共用通信インフラストラクチャ(例えば通常のEISAおよびPCIバスなど)と、通信インフラストラクチャとは異なる第1の通信経路と、を備えるコンピューティング装置が提供される。第1の通信経路によって、さらなるモジュールのうちの第1のモジュールは、信用モジュールと直接通信することができるが、さらなるモジュールのうちの他のいずれとも直接通信することはできない。(第1のさらなるモジュールは、それ自身、信用モジュールであってもよいしそうでなくてもよい。)したがって、信用モジュールおよび第1のさらなるモジュールは、暗号化および解読の必要性なく、かつ通信を盗聴する他のいずれかの装置の可能性なしに通信することができる。前記第1の通信経路は、シリアル通信を可能とする単一の専用物理ワイヤとして実施されてもよいし、複数のワイヤ、光接続、または様々な周波数上での短距離ワイヤレス通信、その他でもよい。本発明は、信用モジュールと第1のさらなるモジュールとの間で、私有の、暗黙の、認証された情報通信を可能にする。これは、私有の情報通信または信頼性を最重要とする情報通信を可能にする。これは、例えば共用通信インフラストラクチャ上で通信されるべきデータ自体、またはコマンド、標識、フラグ、若しくはデータのチェックサムを含む。
【0011】
好ましくは、信用モジュールおよび第1のさらなるモジュールは、第1の通信経路を介する直接の通信に参加するそれぞれコンピューティング・エンジンを備える。この文脈において、フレーズ「コンピューティング・エンジン」は、データを操作する能力を有する任意のデバイスを意味し、プログラムされたデバイスおよびハードワイヤード・デバイスを含むことを理解されたい。全機能ブロックがその様な個別のコンピューティング・エンジンを必要とするわけではない。例えばハードディスク・ドライブは、ハードディスク・ドライブを制御する目的で、既にコンピューティング・エンジンを組み込んでおり、単に付加的通信経路の制御を提供するために特別の命令の追加を必要とする。他方で、通常のPCのCPU(例えばインテルのペンティアム・プロセッサ(商標)など)は、明らかにコンピューティング・エンジンであるが、明らかに別個のコンピューティング・エンジンを持たない。したがって、付加的なコンピューティング・エンジンまたはなんらかの他の方法を提供して、CPUの汎用目的コンピューティング・エンジンを「別個」のコンピューティング・エンジンとして使用することが可能になる。例えば既存のCPUは、保護された通信経路上でデータを通信する新しい命令をおよび新しいハードウェアを有するよう修正されることができる。
【0012】
第1のさらなるモジュールは、好ましくはデータ操作のリクエストを信用モジュールに供給するよう動作することができる。その様なリクエストに応答して、信用モジュールは、レスポンスを生成し、共用通信インフラストラクチャを介してではなく、第1の通信経路を介して第1のさらなるハードウェア・モジュールにレスポンスを供給するよう動作することができる。この場合、信用モジュールは、好ましくは許可することができる動作および/または許可することができない動作に関するポリシー情報を記憶するための手段を有し、そのポリシー情報を参照して、レスポンスを生成するよう動作することができる。これは、あるモジュールによって別のモジュールに提供されるサービスにおける信用を改善する。特に、第1のさらなるモジュールは、信用モジュールをうまく利用することができる。例えば信用モジュールは、暗号コプロセッサ(crypto-coprocessor)または「ハードウェア」暗号APIとして作用することができ、例えば他の特許出願において記載されるコンピュータ・プログラムなどのような信用性が不可欠である他の非暗号機能(non-crypto function)も含むことができる。第1のさらなるモジュールは、共用通信インフラストラクチャを使用してデータおよびリクエストを信用モジュールに送信することができる。信用モジュールは、供給されたデータを使用してリクエストに基づいて動作することができ、第1の通信経路上で第1のさらなるモジュールに結果を戻して報告することができる。これは、例えばネットワーク・インターフェース・カードが必要な鍵を安全に記憶(または隠す)することなく外部メッセージの起源および完全性を検証することを可能にする。代替的に、リクエストは、ある秘密情報または供給されたデータについて保護機能を実行することであってもよい。全ての場合において、第1の通信経路を使用してレスポンスが受信されるという事実は、適当な信用モジュールが実際にリクエストを受信したことを第1のさらなるモジュールに示し、第1の通信経路上で受信されたレスポンスが適当な信用モジュールの実際の判断になる。
【0013】
信用モジュールは、暗号および/または解読鍵を生成し、共用通信インフラストラクチャを介してではなく、第1の通信経路を介して第1のさらなるハードウェア・モジュールにその鍵を供給するよう動作することができる。この場合、第1のさらなるハードウェア・モジュールは、好ましくは、共用通信インフラストラクチャを介して通信されるデータの暗号化および解読のために鍵を使用するよう動作することができる。したがって、装置の他の部分が鍵の通信を盗聴する可能性なしに、鍵は、信用モジュールと第1のさらなるモジュールとの間で秘密に保持される。信用モジュールおよび第1のさらなるモジュールにおけるコンピューティング・エンジンは、第1の通信経路に沿ってプレーンテキストで鍵を交換することができる。第1の通信経路上で明確に明らかになることが鍵にとって全く受け入れられない場合、信用モジュールおよび第1のさらなるモジュールは、Diffie-Hellmanプロトコルを使用してそれらの間の鍵を設定することができる。Diffie-Hellmanの場合には、第1の通信経路の使用は、単に、Diffie-Hellmanプロセスに従事する「他」のエンティティのアイデンティティの暗黙のプルーフを提供する。装置は、鍵のメンテナンスおよび取り替えのためにも使用されることができる。その様な鍵の分配方法、それ自体は、情報セキュリティの分野における当業者によく知られている。一旦、鍵が交換されると、これらの鍵は、共用通信インフラストラクチャを使用する通信のためのセキュリティを提供するのに使用されることができる。例えばセキュア通信方法、それ自体は、情報セキュリティの分野における当業者によく知られている。鍵の生成/分配は、さらなるモジュールの全てが信用モジュールである場合でさえも有用である。
【0014】
信用モジュールは、好ましくは、チャレンジを生成し、第1の通信経路を使用して設定された暗号化を使用して、第1の通信経路を介してまたは共用通信インフラストラクチャを介して第1のさらなるモジュールにチャレンジを供給するよう動作することができる。この場合、チャレンジに応答して、好ましくは、第1のさらなるモジュールがレスポンスを生成し、第1の通信経路を使用して設定された暗号化を使用して、第1の通信経路を介してまたは共用通信インフラストラクチャを介して、信用モジュールにレスポンスを供給するよう動作することができる。信用モジュールは、装置の完全性測定基準の生成においてレスポンスを使用するよう動作することができる。これは、ハードウェア「ウォッチドッグ」機能を可能にし、信用モジュールが、第1の通信経路上で、または第1の通信経路を使用して設定されたセキュア通信を使用して、第1の通信モジュールに合間合間にチャレンジすることができる。第1のさらなるモジュールは、第1の通信経路(または第1の通信経路を使用して設定された何らかの他の経路上のセキュア通信)を使用してリプライでチャレンジに応答する。その様なウォッチドッグ・チャレンジは、前述した先行特許出願に記載されるような完全性チャレンジを受信する結果としてなされることができる。
【0015】
特定の適用することができるネットワーク・インターフェース・モジュールが第1のさらなるモジュールである1つの例では、第1のさらなるモジュールは、好ましくは、私有のデータのためのゾーンおよび非私有のデータのためのゾーンを有する。第1のさらなるモジュールは、共用通信インフラストラクチャを介してではなく、第1の通信経路を介して、私有データ・ゾーンから/へデータを供給および/または受信するよう動作することができる。この場合、好ましくは、第1のさらなるハードウェア・モジュールは、共用通信インフラストラクチャを介して、非私有のデータ・ゾーンから/へデータを供給および/または受信するよう動作することができる。さらに、第1のさらなるモジュールは、好ましくは、私有と非私有との間に、前記私有データ・ゾーンから非私有データ・ゾーンへのデータの通過を妨げるよう動作するインターフェースを有する。したがって、装置は、安全と非安全、すなわち非私有と私有のデータ・ゾーンとに整然と仕切られる。
【0016】
装置は、当然、共用通信インフラストラクチャおよび第1の通信経路とは異なる第2の通信経路を備えることができる。これによって、さらなるモジュールのうちの第2のもの(例えば装置のメイン・プロセッサ・ユニットまたは不揮発性データ記憶モジュール)は、信用モジュールと直接通信することができる。この場合、第2のさらなるモジュールは、さらなるハードウェア・モジュールの他のいずれとも直接通信することはできない。
【0017】
この場合には、第1のさらなるモジュールは、第1と第2のモジュールとの間で、信用モジュールにデータの転送のリクエストを供給するよう動作することができる。その様なリクエストに応答して、信用モジュールは、レスポンスを生成し、共用通信インフラストラクチャではなくて、場合に応じて第1または第2の通信経路を介して、第1または第2のさらなるモジュールにレスポンスを供給するよう動作することができる。この場合には、信用モジュールは、好ましくは、許可することができる転送およびまたは許可することができない転送に関するポリシー情報を記憶するための手段を有し、ポリシー情報を参照してレスポンスを生成するよう動作することができる。さらに、その様な適当な転送レスポンスに応答して、第1または第2のさらなるモジュールは、場合に応じて第1または第2の通信経路を介して、信用モジュールにデータを供給することができ、その様なデータの受信に応答して、信用モジュールは、場合に応じて第2または第1の通信経路を介して、場合に応じて第2または第1のさらなるハードウェア・モジュールにデータを中継する。
【0018】
装置は、当然、共用通信インフラストラクチャおよび他の通信リンクとは異なる少なくとも第3の通信リンクを備える。それにより、さらなるモジュールのうちの第3のものは、信用モジュールと直接通信することができる。この場合、第3のさらなるモジュールは、さらなるモジュールの他のいずれとも直接通信することができない。
【0019】
したがって、信用モジュールは、スイッチング能力を有することができ、個々の通信経路は、スター型通信ネットワークとして使用されることができる。これは、信用モジュールの制御下で、さらなるモジュール間の通信を可能とする。信用モジュールは、信用モジュールに記憶されたなんらかのポリシーに従って、さらなるモジュール間で情報を経路設定またはブロックすることができる。より具体的には、通信ネットワークがスター型であるので、信用モジュールは、関連するモジュールだけに情報を提示することができ、結果として、他のモジュールが盗聴する機会を阻むことができる。
【0020】
【発明の実施の形態】
本発明の実施形態を説明する前に、先に述べた国際特許出願された信用デバイスを組み込んだコンピューティング・プラットフォームが最初に、図1〜図6を参照して述べられる。
【0021】
この信用プラットフォーム(trusted platform)の例では、プラットフォームの完全性測定基準(integrity metric)を提供する信頼のある測定データにプラットフォームのアイデンティティを結び付ける機能を有する物理的な信用デバイスのコンピューティング・プラットフォームへの組み込みが提供される。アイデンティティおよび完全性測定基準は、プラットフォームの信用を保証するために用意された信用パーティ(TP;trusted party)により提供された期待値と比較される。合致すれば、完全性測定基準の範囲に応じて少なくともプラットフォームの部分が正しく動作していることを意味する。
【0022】
ユーザは、プラットフォームと他のデータを交換する前に、プラットフォームの正しい動作を検証する。ユーザは、そのアイデンティティおよび完全性測定基準を提供するよう信用デバイスに要求することによってこれを行う(選択的に、信用デバイスは、それ自身がプラットフォームの正しい動作を検証することができなければ、アイデンティティの証拠を提供することを拒否する)。ユーザは、アイデンティティのプルーフ(proof;証拠)とアイデンティティの測定基準を受け取り、真であると信じる値に対してそれらを比較する。これらの適当な値は、TPによってかまたはユーザが信用した別のエンティティによって提供される。信用デバイスにより報告されたデータがTPによって提供されたものと同じであれば、ユーザはプラットフォームを信用する。これは、ユーザがエンティティを信用するからである。エンティティは、以前にアイデンティティを検証し、プラットフォームの適当な完全性測定基準を求めているので、そのプラットフォームを信用する。
【0023】
一旦、ユーザがプラットフォームの信用動作を確立したならば、他のデータをプラットフォームと交換する。ローカル・ユーザの場合、交換は、プラットフォーム上で走る任意のソフトウェア・アプリケーションと相互作用することによってなされるかもしれない。リモート・ユーザの場合、交換は、セキュア・トランザクション(secure transaction)を含むかもしれない。どちらの場合も、データ交換は、信用デバイスにより「署名(sign)」される。そのとき、ユーザは、信用できる振る舞いのプラットフォームとデータが交換されているという、より大きな信頼を持つことができる。
【0024】
信用デバイスは、暗号プロセスを使用するが、必ずしも暗号プロセスへの外部インターフェースを提供するとはかぎらない。さらに、最も好ましい実施は、信用デバイスをタンパプルーフ(tamperproof)にして、プラットフォームの他の機能に対してアクセス不可能にすることによって秘密情報を保護し、権限の無い修正に対して実質的に免疫のある環境を提供することであろう。タンパプルーフ化(tamper-proofing)が不可能なので、最良の近似は、耐タンパ性(tamper-resistant)の信用デバイスまたはタンパ検出(tamper-detecting)する信用デバイスである。したがって、信用デバイスは、耐タンパ性である1つの物理的コンポーネントからなるのが好ましい。
【0025】
耐タンパ性に関する技術は、セキュリティ技術における当業者に既知のものである。この技術は、不正変更(tampering)に抵抗する方法(例えば信用デバイスの適当なカプセル化など)、タンパ検出の方法(例えば仕様電圧、X線、または信用デバイスのケーシングにおける物理的な完全性の損失からの検出など)および不正変更を検出したときにデータを除去する方法を含む。適当な技術のさらなる説明は、http://www.cl.cam.ac.uk/~mgk25/tamper.htmlで見つけることができる。タンパプルーフが本発明の最も望ましい機能であるけれども、これは、本発明の通常の動作に入らず、したがって、本発明の範囲を超えるので、ここでは詳細に記載しない。
【0026】
信用デバイスは、偽造困難でなければならないので、物理的デバイスであることが好ましい。これは、模造困難でなければならないので、耐タンパ性であることが最も好ましい。典型的には、ローカルおよびリモートの距離の両方でアイデンティティを証明する必要があるので、暗号プロセスを使用することができるエンジンを有し、関連するプラットフォームのなんらかの完全性測定基準を測定する少なくとも1つの方法を含む。
【0027】
図1に信用プラットフォーム10を図示する。プラットフォーム10は、キーボード14、マウス16、および視覚表示ユニット(VDU)18の標準的機能を有し、これらがプラットフォームの物理的「ユーザ・インターフェース」を提供する。信用プラットフォームのこの実施形態は、スマートカード読み取り装置12も有する(スマートカード読み取り装置は全ての信用プラットフォームの必須の要素ではないが、以下で説明する様々な好ましい実施形態において用いられる。)スマートカード読み取り装置12の側に沿ってスマートカード19が図示される。このスマートカードが、以下でさらに述べるように、信用ユーザが信用プラットフォームと相互に作用することを可能にする。プラットフォーム10には複数のモジュール15が存在する。これらは、そのプラットフォームに適する必須の任意の種類の信用プラットフォームの他の機能的要素である(その様な要素の機能的意義が本発明に関連しないので、ここではさらに説明しない)。
【0028】
図2に示すように、信用コンピューティング・プラットフォーム10のマザーボード20は、(他の標準的コンポーネントの中の)メイン・プロセッサ21、メイン・メモリ22、信用デバイス24、データバス26、並びに各制御ライン27およびライン28を含む。さらにマザーボード20は、プラットフォーム10のためのBIOSプログラムを含むBIOSメモリ29および入出力(IO)デバイス23を含む。入出力デバイス23は、マザーボードのコンポーネントと、スマートカード読み取り装置12、キーボード14、マウス16、VDU18との間の相互作用を制御する。メイン・メモリ22は、典型的にランダム・アクセス・メモリ(RAM)である。動作中、プラットフォーム10は、ハードディスク(図示せず)からRAMにオペレーティング・システム(例えばWindows NT(商標)など)をロードする。さらに、動作中、プラットフォーム10は、プラットフォーム10により実行されるプロセスまたはアプリケーションをハードディスク(図示せず)からRAMにロードする。
【0029】
典型的には、パーソナル・コンピュータでは、BIOSプログラムは、特別の予約メモリ領域(最初のメガバイトのうちの上部64Kがシステムメモリ(アドレスF000h〜FFFFh)を行う)に配置され、メイン・プロセッサは、工業的な規格に従って、このメモリの場所を最初に見るよう構成される。
【0030】
このプラットフォームと従来技術のプラットフォームとの間の重大な差違は、リセット後にメイン・プロセッサが最初に信用デバイスによって制御され、それから、プラットフォームの特定のBIOSプログラムに制御を渡し、その次に通常通りに入出力デバイスを制御することである。BIOSプログラムが実行された後で、BIOSプログラムによって通常どおりに(例えばWindows NTなどの)オペレーティング・システム・プログラムに制御が渡され、このオペレーティング・システムは、典型的にはハードディスクデバイス(図示せず)からメイン・メモリ22にロードされる。
【0031】
明らかに、通常の手順からの変更は、工業規格の実施に修正を必要とし、それによってメイン・プロセッサ21が信用デバイス24をアドレス指定するよう指示されてその最初の命令を受信する。この変更は、メイン・プロセッサ21に異なるアドレスをハード・コーディング(hard-coding)することによって簡単に行うことができる。もう1つの方法として、信用デバイス24が標準BIOSプログラムのアドレスに割り当てられてもよい。この場合、メイン・プロセッサのコンフィギュレーション(configuration)を修正する必要が無くなる。
【0032】
信用デバイス24内部にBIOSブート・ブロックが含まれることが非常に好ましい。これは、完全性測定基準の獲得をだめにすること(これは、ローグ・ソフトウェア・プロセス(rogue software process)が存在する場合に発生する)を防ぎ、オペレーティング・システムのためにBIOSが適当な環境を確立するのを(正しい場合にすら)失敗する状況を作るローグ・ソフトウェア・プロセスを防ぐ。
【0033】
記載する好ましい実施形態では、信用デバイス24は、単一のディスクリート・コンポーネントであるけれども、代替的に信用デバイス24の機能がマザーボード上の複数のデバイスに分離されてもよいし、またはプラットフォームの1つまたは複数の既存の標準的デバイスに統合されてもよいことが分かる。例えば、機能およびそれらの通信をだめにすることなく、信用デバイスの1つまたは複数の機能をメイン・プロセッサそれ自体に統合することができる。しかしながら、これは、おそらくプロセッサ上に信用機能による別個の専用リード線を必要とする。さらにまたは代替的に、本発明の実施形態では、信用デバイスは、マザーボード20への統合に適合したハードウェアデバイスであるけれども、信用デバイスは、例えばドングル(dongle)などの「リムーバブル(取り外し可能)」デバイス(これは、必要なときにプラットフォームに取り付けられる)として実施されてもよいことが考えられる。信用デバイスが統合されるかまたリムーバブルにされるかどうかは、設計の選択事項である。しかしながら、信用デバイスが分離可能である場合、信用デバイスとプラットフォームとの間の論理的結合を提供するメカニズムが存在すべきである。
【0034】
図3に示すように、信用デバイス24は、たくさんのブロックを含む。システムのリセットの後で、信用デバイス24は、セキュア・ブート・プロセスを実行して、プラットフォーム10のオペレーティング・システム(システムクロックおよびモニタ上の表示を含む)が適当かつセキュアな態様で走ることを確実にする。セキュア・ブート・プロセス中に、信用デバイス24は、コンピューティング・プラットフォーム10の完全性測定基準を獲得する。信用デバイス24は、セキュア・データ転送(例えば暗号化/解読および署名/照合を介するスマートカードとそれとの間の認証)も実行することができる。信用デバイス24は、例えばユーザ・インターフェースのロックなどの様々なセキュリティ制御ポリシーをセキュアに実現することもできる。
【0035】
具体的には、信用デバイスは、信用デバイス24の全体的動作を制御するようプログラムされ信用デバイス24上の他の機能およびマザーボード20上の他のデバイスと相互作用するようプログラムされたコントローラ30と、プラットフォーム10から完全性測定基準を獲得する測定機能31と、規定されたデータを署名、暗号化または解読する暗号機能32と、スマートカードを認証する認証機能33と、マザーボードのデータバス26、制御ライン27、およびアドレス・ライン28にそれぞれ信用デバイス24を接続する適当なポート(36、37、37)を有するインターフェース回路34と、を含む。信用デバイス24におけるそれぞれのブロックは、信用デバイス24の適当な揮発性メモリ領域4および/または不揮発性メモリ領域3への(典型的にはコントローラ30を介する)アクセス権を有する。さらに、信用デバイス24は、既知の方法で耐タンパ性となるよう設計される。
【0036】
パフォーマンスの理由から信用デバイス24は応用特定集積回路(ASIC)として実施される。しかしながら、柔軟性のために、信用デバイス24は適当にプログラムされたマイクロ・コントローラであることが好ましい。ASICとマイクロ・コントローラのどちらもマイクロ・エレクトロニクスの技術分野では既知のものであり、ここでは詳細に考察されない。
【0037】
信用デバイス24の不揮発性メモリ3に記憶されるデータの1項目は、証明書350(certificate)である。証明書350は、少なくとも信用デバイス24の公開鍵351および信用パーティ(TP)によって測定されたプラットフォームの完全性測定基準の認証された値352を含む。証明書350は、信用デバイス24に記憶される前に、TPの私有鍵を使用してTPにより署名される。後の通信セッションでは、プラットフォーム10のユーザは、獲得された完全性測定基準と認証された完全性測定基準352とを比較することによって、プラットフォーム10の完全性を検証する。合致した場合、ユーザは、プラットフォーム10が破壊されていないことを信用することができる。TPの一般利用可能な公開鍵の知識は、証明書350の簡単な検証を可能にする。不揮発性メモリ35は、アイデンティティ(ID)ラベル353も含む。IDラベル353は、例えばシリアル番号などの従来技術のIDラベルであり、ある範囲で固有である。IDラベル353は、信用デバイス24に関するデータを索引付けし、ラベル付けするのに一般に使用されるが、それ自身では、信用条件下でプラットフォーム10のアイデンティティを証明するのに不十分である。
【0038】
信用デバイスは、関連するコンピューティング・プラットフォーム10の完全性測定基準を高い信頼性で測定するかまたは獲得する少なくとも1つの方法を備える。本発明の実施形態では、完全性測定基準は、BIOSメモリにおけるBIOS命令のダイジェスト(digest)を生成することによる測定機能31によって獲得される。その様に獲得された完全性測定基準は、前述のように検証されれば、プラットフォーム10がハードウェアまたはBIOSプログラムの段階で破壊されていないという高いレベルの信用をプラットフォーム10の潜在的ユーザに与える。他の既知のプロセス(例えばウイルス・チェッカー)が典型的には存在して、オペレーティング・システムおよびアプリケーション・プログラム・コードが破壊されていないことをチェックする。
【0039】
測定機能31は、ハッシュ・プログラム354および信用デバイス24の私有鍵355を記憶する不揮発性メモリ3、並びに、ダイジェスト361の形態で獲得された完全性測定基準を記憶する揮発性メモリ4へのアクセス権を有する。適当な実施形態では、揮発性メモリ4は、公開鍵およびプラットフォーム10へのアクセス権を与えるのに使用される1つまたは複数の認証スマートカード19の関連するIDラベル360a〜360nを記憶するのにも使用される。
【0040】
1つの好ましい実施では、ダイジェストおよび完全性測定基準は、ブール値を含み、これは、明白になるという理由で、測定機能31により揮発性メモリ4に記憶される。
【0041】
完全性測定基準を獲得する好ましいプロセスを図4を参照して説明する。
【0042】
スイッチオンで、測定機能は、ステップ500においてデータ、制御およびアドレス・ライン(26、27、28)上でメイン・プロセッサ21の活動を監視して、信用デバイス24がアクセスされた最初のメモリであるかどうかを判断する。従来の動作の下では、メイン・プロセッサは、BIOSプログラムを最初に実行するために、BIOSメモリに最初に向けられていた。しかしながら、本発明の実施形態によれば、メイン・プロセッサ21は、信用デバイス24に向けられ、これがメモリとして作用する。ステップ505において信用デバイス24が最初にアクセスされたメモリであれば、ステップ510で、測定機能31は、信用デバイス24がアクセスされた最初のメモリであったことを示すブール値を揮発性メモリ3に書き込む。そうでなければ、ステップ515において、測定機能は、信用デバイス24がアクセスされた最初のメモリではなかったことを示すブール値を書き込む。
【0043】
信用デバイス24がアクセスされた最初のメモリではない場合、当然、信用デバイス24が全くアクセスされないという機会が存在する。これは、例えばメイン・プロセッサ21がBIOSプログラムを最初に走らすよう操作された場合であろう。これらの状況では、プラットフォームは、動作するだろうが、完全性測定基準を利用することができないので、要望に応じてその完全性を検証することができない。さらに、BIOSプログラムがアクセスされた後で信用デバイス24がアクセスされた場合、明らかに、ブール値は、プラットフォームの完全性の欠如を示す。
【0044】
ステップ520においてメイン・プロセッサ21によりメモリとしてアクセスされたとき(または場合)、メイン・プロセッサ21は、ステップ525において測定機能31から記憶されたネイティブ・ハッシュ命令354(native hash instruction)を読み取る。ハッシュ命令354は、メイン・プロセッサ21による処理のためにデータバス26を介して渡される。ステップ530では、メイン・プロセッサ21は、ハッシュ命令354を実行し、それらを使用して、ステップ535において、BIOSメモリ29の内容を読み取り、これらの内容をハッシュ・プログラムに従って処理することによって、BIOSメモリ29のダイジェストを演算する。ステップ540では、メイン・プロセッサ21は、信用デバイス24における不揮発性メモリ4の適当な場所に演算されたダイジェスト361を書き込む。それから測定機能31は、ステップ545において、BIOSメモリ29におけるBIOSプログラムを呼びだし、従来技術の態様で実行が続けられる。
【0045】
明らかに、必要とされる信用の範囲に応じて、完全性測定基準を演算する多数の様々な態様が存在する。BIOSプログラムの完全性の測定は、プラットフォームの基礎を成す処理環境の完全性についての基本的なチェックを提供する。完全性測定基準は、ブート・プロセスの検証についての推論を可能にするような形態であるべきである(正しいBIOSを使用してプラットフォームがブートされたかどうかを検証するのに完全性測定基準の値を使用することができる)。選択的にBIOS内部の個々の機能ブロックはそれら自身のダイジェストの値を有し、全体的なBIOSのダイジェストはこれら個別のダイジェストのダイジェストである。これは、意図した目的にどの部分のBIOS動作が重要であり、どれが無関係であるかをポリシーが言明することを可能にする(この場合、個別のダイジェストは、ポリシーの下での動作の有効性を確立するような態様で記憶されなければならない)。
【0046】
他の完全性チェックは、プラットフォームに取り付けられた様々な他のデバイス、コンポーネント、または装置が存在し、正しく正常運転にあることを確立することを含む。1つの例では、周辺デバイスとの通信が信用されることを確実にするために、SCSIコントローラに関連するBIOSプログラムが検証される。もう1つの例では、プラットフォーム上の他のデバイス(例えばメモリデバイスまたはコプロセッサなど)の完全性が、固定のチャレンジ/レスポンスの相互作用を成立させることによって検証されて、一貫性のある結果を確実にする。信用デバイス24が別個のコンポーネントである場合、その様な相互作用のなんらかの形態は、信用デバイス24とプラットフォームとの間での適当な論理的結合を提供する。さらに、本発明では信用デバイス24はプラットフォームの他の部分との主通信手段としてデータバスを利用するけれども、(さほど便利ではないが)ハードワイアード経路または光学的経路などのような代替的な通信経路を提供することも可能である。さらに、本発明の実施形態では、信用デバイス24がメイン・プロセッサ21に完全性測定基準を検証するよう指示するけれども、他の実施形態では、信用デバイス自体が1つまたは複数の完全性測定基準を測定するよう構成される。
【0047】
好ましくは、BIOSブート・プロセスは、ブート・プロセスそれ自体の完全性を検証するメカニズムを有する。その様なメカニズムは、既に例えばインテルのドラフト「Wired for Management baseline specification v2.0 - BOOT Integrity Service」から分かり、ソフトウェアまたはファームウェアをロードする前にソフトウェアまたはファームウェアのダイジェストを演算することを含む。その様な演算されたダイジェストは、信用されたエンティティにより提供された証明書に記憶された値と比較される。これの公開鍵はBIOSに知られている。それから、演算された値が証明書からの期待値に合致し、かつ信用されたエンティティの公開鍵の使用によりその証明書が有効性を証明された場合にだけ、ソフトウェア/ファームウェアがロードされる。そうでなければ、適当な例外処理ルーチンが起動される。
【0048】
選択的に、演算されたBIOSのダイジェストを受信した後で、信用デバイス24は、証明書におけるBIOSの適当な値を検査することができ、演算されたダイジェストが適当な値に合致しない場合、BIOSに制御を渡さないことができる。さらにまたは代替的に、信用デバイス24は、ブール値を検査し、信用デバイス24がアクセスされた最初のメモリでなかった場合にBIOSに戻る制御を渡さないことができる。これらの場合のどちらにおいても適当な例外処理ルーチンを起動することができる。
【0049】
図5は、TP、プラットフォームに組み込まれた信用デバイス24、および信用プラットフォームの完全性を検証したい(リモート・プラットフォームの)ユーザによる動作のフローを示す。ユーザがローカル・ユーザである場合、実質的に図5に示すのと同じステップが含まれることが考えられる。どちらの場合も、ユーザは、典型的には、検証を成立するソフトウェア・アプリケーションの形態に依存する。リモート・プラットフォームまたは信用プラットフォーム上でソフトウェア・アプリケーションを走らすことが可能である。しかしながら、リモート・プラットフォーム上でさえ、ソフトウェア・アプリケーションは何らかの方法で破壊される機会が存在する。したがって、高いレベルの完全性では、ユーザのスマートカード上にソフトウェア・アプリケーションが常駐し、そのユーザが検証目的のために適当な読み取り装置にスマートカードを挿入することが考えられる。図5は、一般的な場合についての動作のフローを示す。ユーザのスマートカードによる検証のための動作のより具体的なフローをさらに以下の図6を参照して説明する。
【0050】
最初の例では、TP(これが信用プラットフォームを保証する)は、プラットフォームのタイプを検査して、それを保証するかどうかを判断する。これは、ポリシーの問題である。全てがよければ、ステップ600において、TPは、プラットフォームの完全性測定基準の値を測定する。それから、TPは、ステップ605においてプラットフォームのために証明書を生成する。証明書は、信用デバイスの公開鍵、および選択的にそのIDラベルを完全性測定基準に追加し、TPの私有鍵でストリングを署名することによってTPにより生成される。
【0051】
信用デバイス24は、次に信用デバイスの私有鍵を使用して、ユーザから受信されたなんらかの入力データを処理し、私有鍵の知識なしに入力/出力のペアを生成することが統計上不可能になるよう出力データを生成することによって信用デバイスのアイデンティティを証明することができる。そのため、私有鍵の知識は、この場合のアイデンティティの基礎をなす。アイデンティティの基礎をなすのに対象な暗号(symmetric encryption)を利用することが可能であることは明らかである。しかしながら、対象な暗号を使用する欠点は、ユーザが信用デバイスとユーザの秘密情報(secret)を共有する必要があるということである。さらに、ユーザと秘密情報を共有する必要性の結果、対象な暗号は、ユーザにアイデンティティを証明するのに原則として充分であるが、第三者にアイデンティティを証明するのには不十分であり。第三者は、信用デバイスまたはユーザから発生した検証を全く確認することができない。
【0052】
ステップ610では、信用デバイス24の不揮発性メモリの適当な場所3に証明書350を書き込むことによって、信用デバイス24が初期化される。これは、好ましくは、マザーボード20にインストールされた後で、信用デバイス24とセキュア通信することによってなされる。信用デバイス24に証明書を書き込む方法は、そこに私有鍵を書き込むことによってスマートカードを初期化するのに使用される方法に類似する。セキュア通信は、TPだけに知られている「マスター鍵」によってサポートされ、製造中に信用デバイス(またはスマートカード)に書き込まれており、信用デバイス24にデータの書き込みを可能にするのに使用される。マスター鍵の知識なしに信用デバイス24にデータを書き込むことは不可能である。
【0053】
プラットフォームの動作期間のどこか後の時点(例えばスイッチオンまたはリセットになるとき)で、ステップ615において、信用デバイス24は、プラットフォームの完全性測定基準361を獲得し記憶する。
【0054】
ユーザがプラットフォームと通信するのを望むとき、ステップ620において、ユーザは、例えば乱数などの臨時符号(nonce)を生成し、ステップ625において、信用デバイス24にチャレンジする(プラットフォームのオペレーティング・システムまたは適当なソフトウェア・アプリケーションは、チャレンジを認識し、適当なやり方でBIOSタイプ・コールを介して信用デバイス24にそれを渡すよう構成される)。臨時符号は、信用できないプラットフォームによる、古いが本物の署名のリプレイ(リプレイ攻撃と呼ばれる)によって生じるごまかし(deception)からユーザを保護するのに使用される。臨時符号を提供し、そのレスポンスを検証するプロセスは、既知のチャレンジ/レスポンス・プロセス(challenge/response protocol)の例である。
【0055】
ステップ630において、信用デバイス24は、チャレンジを受け取り、適当なレスポンスを生成する。これは、測定された完全性測定基準および臨時符号のダイジェストであってもよく、選択的にそのIDラベルであってもよい。それから、信用デバイス24は、ステップ635においてその私有鍵を使用してダイジェストに署名し、証明書350に添えて署名されたダイジェストをユーザに返す。
【0056】
ステップ640では、ユーザは、そのチャレンジのレスポンスを受け取り、TPの既知の公開鍵を使用して証明書を検証する。それから、ユーザは、ステップ650において、証明書から信用デバイス24の公開鍵を抽出し、それを使用して、チャレンジのレスポンスから署名されたダイジェストを解読する。それからステップ660において、ユーザは、チャレンジのレスポンス内の命令符号を検証する。次に、ステップ670において、ユーザは、演算された完全性測定基準(チャレンジのレスポンスから抽出する)と適当なプラットフォームの完全性測定基準(証明書から抽出する)とを比較する。ステップ645、655、665、または675における前述の検証ステップのいずれかが失敗した場合、全体のプロセスは、ステップ680で終わり、さらなる通信は発生しない。
【0057】
全てがうまくいくと想定すると、ステップ685および690において、ユーザおよび信用プラットフォームは、他のプロトコルを使用して、他のデータのためにセキュア通信を設定する。ここで、プラットフォームからのデータは、信用デバイス24によって署名されることが好ましい。
【0058】
この検証プロセスのさらなる補強が可能である。チャレンジャー(challenger)は、チャレンジを通じて、プラットフォームの完全性測定基準の値とそれを得た方法の両方を認識することが好ましい。これら両方の情報部分は、チャレンジャーがプラットフォームの完全性について適当に判断することを可能にするのが望ましい。チャレンジャーは、利用することができる多くの異なる選択肢も有している。すなわち、チャレンジャーは、信用デバイス24において完全性測定基準が有効として認識されることを受け入れる。またはチャレンジャーは、代替的に完全性測定基準の値がチャレンジャーによって保持された値(または、これら2つの場合において信用の異なるレベルになるようそこで保持してもよい)に等しい場合、関連するレベルの完全性をプラットフォームが有することだけを受け入れることができる。
【0059】
証明書を署名し、使用する技術、およびそれらを使用してアイデンティティを証明する技術は、セキュリティの分野において既知であるので、ここでは詳細に述べる必要はない。
【0060】
先に示すように、図6は、スマートカード19を有する信用プラットフォームと相互に作用するユーザによるプラットフォームの完全性の検証の例における動作のフローを示す。先に述べたように、プロセスは、チャレンジ/レスポンスのルーチンを実装するのが便利である。利用することができる多くのチャレンジ/レスポンスのメカニズムが存在する。本発明の実施形態で使用される認証プロトコルの実施は、ISO/IEC 9798−3「Information technology-Security techniques-Entity authentication mechanisms; Part 3; Entity authentication using a public key algorithm」(International Organization for Standardization, November 1993)に記載されるような、相互(または3ステップ)認証である。もちろん、例えばこの参照文献にも記載されるような2ステップまたは4ステップなどの他の認証プロシージャを利用することができない理由はない。
【0061】
最初にステップ700において、ユーザは、スマートカード19をプラットフォームのスマートカード読み取り装置12に挿入する。
【0062】
事前に、この態様のユーザによる使用のためにコンフィギュレートされたプラットフォームは、典型的には、標準的なオペレーティング・システムの制御下で動作し、認証プロセスを実行し、ユーザがスマートカード19を挿入するのを待っている。この態様でアクティブになるスマートカード読み取り装置12とは別に、プラットフォームは、典型的には、ユーザ・インターフェース(すなわち、スクリーン、キーボード、およびマウス)をロックすることによってユーザがアクセスすることができない状態にある。しかしながら、これは、本発明の形態の全ての場合ではない。
【0063】
スマートカード19がスマートカード読み取り装置12に挿入された場合、信用デバイス24は、ステップ705において、臨時符号Aを生成しスマートカード19に転送することによって、ステップにおける相互認証を試みるようトリガーされる。例えば乱数などの臨時符号は、信用することができない第三者による、古いが本物のレスポンスのリプレイ(リプレイ攻撃と呼ばれる)によって生じるごまかしから発信者(originator)を保護するのに使用される。
【0064】
それに応答して、ステップ710において、スマートカード19は、レスポンスを生成して返す。このレスポンスは、プレーンテキストA、スマートカード19により生成された新しい臨時符号B、信用デバイス24のID、およびなんらかの冗長、スマートカード19の私有鍵でプレーンテキストに署名することによって生成されたプレーンテキストの署名、並びにスマートカード19のIDおよび公開鍵を含む証明書、の連結(concatenation)を含む。
【0065】
信用デバイス24は、ステップ715においてプレーンテキストの署名を検証するために証明書の公開鍵を使用することによってレスポンスを認証する。レスポンスが信用できなければ、プロセスはステップ720で終わる。レスポンスが信用できれば、ステップ725において信用デバイス24は、さらなるレスポンスを生成し送信する。このさらなるレスポンスは、プレーンテキストA、臨時符号B、スマートカード19のID、および獲得された完全性測定基準、信用デバイス24の私有鍵を使用してプレーンテキストに署名することによって生成されたプレーンテキストの署名、並びにTPの私有鍵によって両方とも署名された信用デバイス24の私有鍵および認証完全性測定基準、の連結を含む。
【0066】
スマートカード19は、TPの公開鍵を使用し、認証完全性測定基準と獲得された完全性測定基準とを比較して、このレスポンスを認証する。ステップ730において、合致は検証の成功を示している。さらなるレスポンスが認証されなければ、プロセスは、ステップ735で終わる。
【0067】
プロシージャが成功した場合、信用デバイス24がログオンカード19を認証し、スマートカード19が信用プラットフォームの完全性を検証し、ステップ740において、認証プロセスがユーザのためにセキュア・プロセスを実行する。
【0068】
ある種の相互作用では、認証プロセスはこの時点で終わる。しかしながら、セッションをユーザと信用プラットフォームとの間で続けるべきであれば、プラットフォームに認証されるのをユーザが維持することを確実にするのが望ましい。
【0069】
続けられる認証が必要である場合、認証プロセスは、ステップ745においてインターバル・タイマを設定する。その後で、適当なオペレーティング・システムの割り込みルーチンを使用して、認証プロセスは、インターバル・タイマをサービスして、ステップ750において予め定めたタイムアウト周期にタイマが合うかまたは超過するときを周期的に検出する。
【0070】
明らかに、認証プロセスおよびインターバル・タイマは、セキュア・プロセスと並列に走る。タイムアウト周期になるか超過するとき、認証プロセスは、信用デバイス24をトリガーして、ステップ760においてスマートカード19に対しチャレンジを転送しそれ自体を識別することによってスマートカード19を再認証する。スマートカード19は、ステップ765においてそのIDと公開鍵を含む証明書を返す。ステップ770では、レスポンスが無いか(例えばスマートカード19が取り除かれた結果)または証明書がなんらかの理由によりもはや有効ではなければ(例えばスマートカードが異なるスマートカードと取り替えられた)、ステップ775において信用デバイス24によってセッションが終了される。そうでなければ、ステップ770において、ステップ745からのプロセスがインターバル・タイマをリセットすることによって繰り返される。
【0071】
さらにまたは代替的に、いくつかの実施形態では、ユーザ・プロファイルが暗号化され、プライバシーと完全性を保護するよう署名されることが必要とされる。その場合、セキュア・データ転送プロトコルが信用デバイス24とスマートカード19との間に必要とされる。2つのエンティティ間でセキュア証明書を転送するために、利用することができる多くのメカニズムが存在する。本発明の実施形態で使用することができる可能性のある実施は、ISO/IEC DIS11770−3「Information technology - Security techniques - Key management - Part3 : Mechanisms using asymmetric techniques」(International Organization for Standardization, March 1997)からのセキュア・キー・トランスポート・メカニズム(secure key transport mechanism)である。
【0072】
他の既知のチャレンジおよびレスポンス技術を使用する検証プロセスの修正は、当業者によって容易に実現される。同様に、代替的な検証プロセスが様々な態様(すなわちスマートカードを備えたユーザ以外)におけるプラットフォームと相互に作用するパーティによって使用されることができる。
【0073】
ここで、図7を参照して、本発明の特定の形態を説明する。図7では、ホスト・コンピュータ100は、メインCPU102、ハードディスク・ドライブ104、PCIネットワーク・インターフェース・カード106、およびDRAMメモリ108を、それらの間にある従来技術(通常)の通信経路110(例えばISA、EISA、PCI、USBなど)と共に有する。ネットワーク・インターフェース・カード106は、ホスト・コンピュータ100の外部の世界と通信する外部通信経路112も有する。
【0074】
ネットワーク・インターフェース・カード106は、間にあるインターフェース118で「レッド」データ・ゾーンと「ブラック」データ・ゾーンとに論理的に分けられる。レッド・ゾーン114では、データは、通常、プレーンテキストであり、センシティブで、未検出の変更(undetected alteration)および好ましくない盗聴(eavesdropping)に対して脆弱である。ブラック・データ・ゾーン116では、データは、未検出の変更および好ましくない盗聴から保護される(標準暗号メカニズムにより暗号化されるのが好ましい)。インターフェース118は、レッド情報がブラック・ゾーン116に漏れないことを確実にする。インターフェース118は、好ましくは、標準暗号方法および電気的隔離技術(electronic isolation technique)を使用して、レッド・ゾーン114とブラック・ゾーン116とを分離する。その様なレッド・ゾーン114、ブラック・ゾーン116、およびインターフェース118の設計並びに構築は、セキュリティおよび電子技術の分野において(特に軍事分野において)既知である。通常の通信経路110および外部通信経路112は、ネットワーク・インターフェース・カード106のブラック・ゾーン116に接続する。
【0075】
ホスト・コンピュータ100は、信用モジュールを備え、この信用モジュールは、通常の通信経路110に接続されるだけでなく、それぞれ相互に分離された付加的通信経路122(122a、122b、122cと参照する)によって、CPU102、ハードディスク・ドライブ104およびネットワーク・インターフェース・カード106のレッド・ゾーン114に接続される。一例では、信用モジュール120は、メモリ108との別個の付加的通信経路122を持たない。
【0076】
信用モジュール120は、付加的通信経路122a、b、cをそれぞれ介して、CPU102、ハードディスク・ドライブ104、およびネットワーク・インターフェース・カード106のレッド・ゾーン114と通信することができる。通常の通信経路110を介して、CPU102、ハードディスク・ドライブ104、ネットワーク・インターフェース・カード106のブラック・ゾーン116、およびメモリ108と通信することもできる。信用モジュール120は100VGスイッチング・センター(100VG switching center)として作用して、信用モジュールに記憶されたポリシーの制御下で、信用モジュール102および付加的通信経路122を介して、CPU102、ハードディスク・ドライブ104、およびネットワーク・インターフェース・カード106のレッド・ゾーン114に、情報を経路設定することもできる。信用モジュール120は、暗号鍵を生成し、付加的通信経路122a、b、cを介して、これらの鍵を、CPU102、ハードディスク・ドライブ104、およびネットワーク・インターフェース・カード106のレッド・ゾーン114にそれぞれ分配することができる。
【0077】
図8は、信用モジュール120の物理的アーキテクチャを示す。第1のスイッチング・エンジン120は、付加的通信経路122a、b、cに個別に接続され、信用モジュール120の内部通信経路126にも接続される。このスイッチング・エンジン124は、信用モジュール120にロードされたポリシーの制御下にある。信用モジュール120の他のコンポーネントを以下に示す。
【0078】
・信用モジュール120を管理し、信用モジュール120のために演算する一般目的を実行するコンピューティング・エンジン128
・一時データを記憶する揮発性メモリ130
・長期データを記憶する不揮発性メモリ132
例えば暗号化および鍵生成などの特殊な暗号機能を実行する暗号エンジン134・暗号動作において主に使用される乱数ソース136
・信用モジュール120を通常通信経路110に接続する第2のスイッチング・エンジン138
・タンパ検出メカニズム140
これらの全てが信用モジュール120の内部通信経路126に接続される。信用モジュール120は、図1〜図6を参照して先述したような信用デバイスまたはモジュール14に基づいている。
【0079】
暗号鍵生成および分配に関しては、信用モジュール120が、乱数生成器136、ハッシュ・アルゴリズムおよび他のアルゴリズムを使用して暗号鍵を生成する。これら自体は、セキュリティの分野において既知である。信用モジュール120は、通常通信経路110ではなく付加的通信経路122a、b、cを使用して、選ばれた鍵をCPU102、ハードディスク・ドライブ104、およびネットワーク・インターフェース・カード106のレッド・ゾーン114にそれぞれ分配する。鍵は、通常通信経路110によるプラットフォームの内部モジュール(102、104、106、120)間の通信に使用される。信用モジュール120の外部に明らかにしてはならない長期アイデンティティの秘密情報を使用するSSLハンドシェーク・フェーズを信用モジュール120が完了した後で、他の一時的な鍵は、SSLプロトコルを使用する外部データのバルク暗号化または解読(bulk encryption or decryption)に(ネットワーク・インターフェース・カード106またはCPU102によって)使用されることができる。信用モジュール120の外部に明らかにしてはならない長期秘密情報を使用してそれらの一時的鍵が信用モジュール内部で生成されるかまたは明らかにされた後で、他の一時的な鍵は、ハードディスク・ドライブ104上に記憶されたデータのバルク暗号化または解読に(ハードディスク・ドライブ104またはCPU102によって)使用されることができる。
【0080】
信用モジュール120は、暗号鍵の選択的分配によってモジュール間の通信上のポリシー制御を強化する。信用モジュール120は、モジュールのペアの間の共用インフラストラクチャ110にわたるセキュア通信を可能にする鍵を発行するのを拒否することによって、所与のモジュールのペアの間の通信でのポリシーバン(policy ban)を強化する。
【0081】
図9は、信用モジュール120がウォッチドッグ機能を実行し、付加的通信経路122に接続されたモジュール102、104、106にピン(ping)するプロセスを示す。信用モジュールは、チャレンジ142を生成し、それを、CPU102、ハードディスク・ドライブ104、およびネットワーク・インターフェース・カード106のレッド・ゾーン114にそれぞれ送信する。CPU102、ハードディスク・ドライブ104、およびネットワーク・インターフェース・カード106のそれぞれは、それぞれの付加的通信経路122a、b、c上にレスポンス144a、b、cでそれぞれ応答して、各モジュールがアクティブかどうか、および好ましくはモジュールが適当に動作していることを告げる。信用モジュール120は、レスポンス144a、b、cを記録し、図1〜図6を参照して前述した完全性のチャレンジに応答して、それらを測定基準として使用する。
【0082】
図10は、信用モジュール120がプラットフォームにおいて暗号能力を有する唯一のモジュールであるときに外部のセキュア・メッセージの入来が処理されるプロセスを示す。外部メッセージ146は、外部通信経路112を使用してネットワーク・インターフェース・カード106のブラック・ゾーン116によって受信される。ネットワーク・インターフェース・カード106は、通常通信経路110を使用して、認証のためのいくつかのデータおよびリクエスト、並びに完全性チェックを含むプロトコル・データ・ユニット148(後でさらに詳細に述べる)を信用モジュール120に送信する。信用モジュール120は、信用モジュール120の外部に明らかにしてはならない信用モジュール120内の長期鍵を使用して、認証および完全性チェックを実行し、付加的通信経路122cを使用して、「OK」の標識を含むプロトコル・データ・ユニット150をネットワーク・インターフェース・カード106のレッド・ゾーン114に送信する。それから、ネットワーク・インターフェース・カード106は、通常通信経路110を使用して、解読のためのいくつかのデータおよびリクエストを含むプロトコル・データ・ユニット152を信用モジュール120に送信する。信用モジュール120は、信用モジュール120内の一時的または長期的鍵のいずれかを使用して、データを解読し、付加的通信経路122aを使用して、解読されたデータを含むプロトコル・データ・ユニット145をCPU102に送信する。それからCPU102は、適当な動作をとる。
【0083】
図11は、CPU102が信用モジュール120からポリシーの判断を要求するプロセスを示す。これは、例えば、あるデータを操作することまたはアプリケーションを実行することをポリシーが認めるかどうかをCPU102が判断する際に使用される。これは、本願と同日に国際特許出願したもう1つ明細書に詳細に記載されている。CPU102は、通常通信経路110を使用して、リクエストを含むプロトコル・データ・ユニット156を送信する。信用モジュール120は、信用モジュール120内に記憶されたポリシーに従ってリクエスト156を処理する。信用モジュール120は、付加的通信経路122aを使用して、リプライ(reply)を含むプロトコル・データ・ユニット158をCPU102に送信し、それにより、CPU102は、認可が信用モジュールから来ることを確実にする。その動作が認証されれば、CPU102は必要な動作をとる。そうでなければ、そのプロセスを中止する。
【0084】
図12は、モジュール間(102、104、106)で保護された通信にわたるポリシー制御の例を示す。この例における通信の全ては、付加的通信経路122を使用する。ネットワーク・インターフェース・カード106のレッド・ゾーン114は、ハードディスク・ドライブ宛のプロトコル・データ・ユニット160を付加的データ経路122c上の信用モジュール120に送信する。ポリシーがこれを許さない場合、信用モジュール120が拒絶を含むプロトコル・データ・ユニット162を付加的データ経路122c上でネットワーク・インターフェース・カード106に送信することによってリクエストを否定する。その後で、CPU102は、ハードディスク・ドライブにアドレス指定されたプロトコル・データ・ユニット164を送信することによって、ハードディスク104からセンシティブなデータをリクエストするが、付加的データ経路122a上で信用モジュール120に送信する。信用モジュール120は、ポリシーがこれを認めるかチェックする。認めた場合、信用モジュール120は、付加的データ経路122b上でハードディスク・ドライブ104にプロトコル・データ・ユニット164を中継する。ハードディスク・ドライブ104は、データを提供し、付加的データ経路122b上のプロトコル・データ・ユニット166でそれを送信し、CPU102にアドレス指定された信用モジュール120に戻す。信用モジュール120は、ポリシーがこれを認めるかをチェックし、認める場合、付加的データ経路122a上のCPU102にプロトコル・データ・ユニット166を中継する。
【0085】
図13は、付加的通信経路122を介してデータを引き渡すデータ・プロトコル・ユニット178のフォーマットを示す。
【0086】
・プロトコル・データ・ユニットのタイプを示す識別フィールド168
・プロトコル・データ・ユニットの長さを示すレングス・フィールド170
・プロトコル・データ・ユニットのソースを示すソース・フィールド172
・プロトコル・データ・ユニットの宛先を示す宛先フィールド174
・多くの場合にデータフィールド176を示すその他
全てのフィールドが常に必要なわけではない。例えば、信用モジュール120内で作られない鍵プロトコル・データ・ユニットを中継するのを信用モジュール120のポリシーが禁止すると想定すると、CPU102、ハードディスク・ドライブ104、およびネットワーク・インターフェース・カード106は、鍵が常に信用モジュール120からのものであると想定する。したがって、ソースおよび宛先フィールドは、鍵プロトコル・データ・ユニットにおいて必要ない。その様なプロトコル・データ・ユニットは、暗黙のうちに認証される。プロトコル・データ・ユニットの設計、構築および使用、それ自体は、通信の分野における当業者に既知のものである。
【0087】
本発明の形態が単に例として述べられ、本発明の範囲で多くの変形および改良をすることができることに留意されたい。
【図面の簡単な説明】
【図1】本発明の実施形態を実施することができるシステムを示す図。
【図2】スマートカード読み取り装置を介してスマートカードおよび一連のモジュールと通信するよう構成された信用デバイスを含むマザーボードを示す図。
【図3】より詳細な信用デバイスを示す図
【図4】コンピューティング装置の完全性測定基準を獲得することを含むステップを示すフロー図。
【図5】完全性を検証する信用プラットフォームを含む信用コンピューティング・プラットフォームとリモート・プラットフォームとの間の通信を確立することを含むステップを示すフロー図。
【図6】スマートカードによるプラットフォームの潜在的なユーザによる信用コンピューティング・プラットフォームの検証を含むステップを示す図。
【図7】本発明を実施するホスト・コンピュータ・システムの模式的ブロック図。
【図8】図7のシステムにおける信用モジュールの模式的ブロック図。
【図9】そこで使用される様々な通信方法を示す図。
【図10】そこで使用される様々な通信方法を示す図。
【図11】そこで使用される様々な通信方法を示す図。
【図12】そこで使用される様々な通信方法を示す図。
【図13】図7のシステムで使用されるプロトコル・データ・ユニットのフォーマットを示す図。
【符号の説明】
20 マザーボード
21 メイン・プロセッサ
22 メイン・メモリ
23 IOデバイス
24 信用デバイス
29 BIOSメモリ

Claims (16)

  1. 信用ハードウェア・モジュールと、
    複数のさらなるハードウェア・モジュールと、
    前記信用ハードウェア・モジュールおよび前記複数のさらなるハードウェア・モジュールが互いに通信することができる共用通信インフラストラクチャと、
    前記信用ハードウェア・モジュールと、前記さらなるハードウェア・モジュールのうちの第1のハードウェア・モジュールとが互いに通信することができる、前記共用通信インフラストラクチャとは異なる第1の通信経路と、を備え、
    前記信用ハードウェア・モジュールは、暗号鍵および解読鍵を生成し、前記共用通信インフラストラクチャを介してではなく、前記第1の通信経路を介して、前記第1のハードウェア・モジュールに前記暗号鍵および解読鍵を供給するよう動作し、
    前記信用ハードウェア・モジュールおよび前記第1のハードウェア・モジュールは、前記共用通信インフラストラクチャを介して前記暗号鍵および解読鍵を使用して互いに通信する、コンピューティング装置。
  2. 前記信用ハードウェア・モジュールおよび前記第1のハードウェア・モジュールは、前記第1の通信経路を介する直接の通信に参加するコンピューティング・エンジンをそれぞれ含む、請求項1に記載のコンピューティング装置。
  3. 前記第1のハードウェア・モジュールがデータ操作のリクエストを前記信用ハードウェア・モジュールに供給するよう動作することができ、
    前記リクエストに応答して、前記信用ハードウェア・モジュールが前記データ操作の許可または不許可のレスポンスを生成し、前記共用通信インフラストラクチャを介してではなく、前記第1の通信経路を介して前記第1のハードウェア・モジュールに該レスポンスを供給する、請求項1又は2に記載のコンピューティング装置。
  4. 前記信用ハードウェア・モジュールは、許可することができる動作および許可することができない動作に関するポリシー情報を記憶するための手段を含み、該ポリシー情報を参照して、前記レスポンスを生成するよう動作することができる、請求項3に記載のコンピューティング装置。
  5. 前記信用ハードウェア・モジュールは、チャレンジを生成し、前記第1の通信経路を使用して設定された暗号鍵を使用して、前記第1の通信経路を介して前記第1のハードウェア・モジュールに該チャレンジを供給する、請求項1乃至4のいずれかに記載のコンピューティング装置。
  6. 前記チャレンジに応答して、前記第1のハードウェア・モジュールがレスポンスを生成し、前記第1の通信経路を使用して設定された暗号鍵を使用して、該第1の通信経路を介して、前記信用ハードウェア・モジュールに該レスポンスを供給する、請求項5に記載のコンピューティング装置。
  7. 前記第1のハードウェア・モジュールが私有のデータのための私有データ・ゾーンおよび非私有のデータのための非私有データ・ゾーンを有し、
    前記第1のハードウェア・モジュールが、前記共用通信インフラストラクチャを介してではなく、前記第1の通信経路を介して、前記私有データ・ゾーンとの間でデータを送信または受信するよう動作することができる、請求項1乃至6のいずれかに記載のコンピューティング装置。
  8. 前記第1のハードウェア・モジュールは、前記共用通信インフラストラクチャを介して、前記非私有データ・ゾーンとの間でデータを送信または受信するよう動作することができる、請求項7に記載のコンピューティング装置。
  9. 前記第1のハードウェア・モジュールは、前記私有データ・ゾーンと前記非私有データ・ゾーンとの間に、該私有データ・ゾーンから該非私有データ・ゾーンへのデータの通過を妨げるよう動作するインターフェースを有する、請求項7又は8に記載のコンピューティング装置。
  10. 前記第1のハードウェア・モジュールは、ネットワーク・インターフェース・モジュールである請求項1乃至9のいずれかに記載のコンピューティング装置。
  11. 前記共用通信インフラストラクチャおよび前記第1の通信経路とは異なる、前記信用ハードウェア・モジュールと、前記さらなるハードウェア・モジュールのうちの第2のハードウェア・モジュールとが互いに通信することができる、第2の通信経路をさらに備える、請求項1乃至10のいずれかに記載のコンピューティング装置。
  12. 前記第1のハードウェア・モジュールは、前記第1と第2のハードウェア・モジュールとの間で、前記信用ハードウェア・モジュールにデータ転送のリクエストを供給するよう動作することができ、
    前記データ転送のリクエストに応答して、前記信用ハードウェア・モジュールは、前記データ転送の許可または不許可のレスポンスを生成し、前記共用通信インフラストラクチャではなくて、場合に応じて前記第1または第2の通信経路を介して、前記第1または第2のハードウェア・モジュールに該レスポンスを供給するよう動作することができる、請求項11に記載のコンピューティング装置。
  13. 前記信用ハードウェア・モジュールは、許可することができる転送およびまたは許可することができない転送に関するポリシー情報を記憶するための手段を有し、該ポリシー情報を参照して前記レスポンスを生成するよう動作することができる、請求項12に記載のコンピューティング装置。
  14. 適当な転送レスポンスに応答して、前記第1または第2のハードウェア・モジュールは、場合に応じて前記第1または第2の通信経路を介して、前記信用ハードウェア・モジュールにデータを供給することができ、
    当該データの受信に応答して、前記信用ハードウェア・モジュールは、場合に応じて前記第2または第1の通信経路を介して、場合に応じて前記第2または第1のハードウェア・モジュールに該データを中継するよう動作することができる、請求項12又は13に記載のコンピューティング装置。
  15. 前記第2のハードウェア・モジュールは、前記コンピューティング装置の主プロセッサまたは不揮発性データ記憶モジュールである、請求項11又は14に記載のコンピューティング装置。
  16. 前記共用通信インフラストラクチャはデータバスである、請求項1〜15のいずれかに記載のコンピューティング装置。
JP2000598915A 1999-02-15 2000-02-15 コンピューティング装置のモジュール間通信 Expired - Fee Related JP4603167B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP99301100A EP1030237A1 (en) 1999-02-15 1999-02-15 Trusted hardware device in a computer
EP99306416.1 1999-08-13
EP99301100.6 1999-08-13
EP99306416A EP1076280A1 (en) 1999-08-13 1999-08-13 Communications between modules of a computing apparatus
PCT/GB2000/000504 WO2000048062A1 (en) 1999-02-15 2000-02-15 Communications between modules of a computing apparatus

Publications (3)

Publication Number Publication Date
JP2002536756A JP2002536756A (ja) 2002-10-29
JP2002536756A5 JP2002536756A5 (ja) 2007-03-29
JP4603167B2 true JP4603167B2 (ja) 2010-12-22

Family

ID=26153441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000598915A Expired - Fee Related JP4603167B2 (ja) 1999-02-15 2000-02-15 コンピューティング装置のモジュール間通信

Country Status (5)

Country Link
US (1) US7236455B1 (ja)
EP (1) EP1161715B1 (ja)
JP (1) JP4603167B2 (ja)
DE (1) DE60044844D1 (ja)
WO (1) WO2000048062A1 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056010A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
EP1055990A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Event logging in a computing platform
EP1085396A1 (en) 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6732175B1 (en) * 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
JP4608749B2 (ja) * 2000-07-24 2011-01-12 ソニー株式会社 データ処理装置、データ処理方法、およびライセンスシステム、並びにプログラム提供媒体
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
GB2376763B (en) 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
GB2372594B (en) 2001-02-23 2004-10-06 Hewlett Packard Co Trusted computing environment
GB2377043B (en) * 2001-06-27 2005-01-05 Hewlett Packard Co Network storage devices
US7181530B1 (en) * 2001-07-27 2007-02-20 Cisco Technology, Inc. Rogue AP detection
GB2386713B (en) * 2002-03-22 2005-08-31 Hewlett Packard Co Apparatus for distributed access control
CA2496672A1 (en) * 2002-08-19 2004-02-26 Axalto Sa Secured method to exchange data between a browser and a web site
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7577835B2 (en) * 2003-08-20 2009-08-18 Telecommunication Systems, Inc. Deployable secure communication system
US8850179B2 (en) * 2003-09-15 2014-09-30 Telecommunication Systems, Inc. Encapsulation of secure encrypted data in a deployable, secure communication system allowing benign, secure commercial transport
US7707407B2 (en) * 2003-09-15 2010-04-27 Telecommunication Systems, Inc. Encryption of voice and data in a single data stream in a deployable, secure communication system
US7626977B2 (en) * 2003-09-15 2009-12-01 Telecommunication Systems, Inc. Standard telephone equipment (STE) based deployable secure communication system
GB2407730A (en) * 2003-10-30 2005-05-04 Agilent Technologies Inc Programmable network monitoring element
JP4530707B2 (ja) * 2004-04-16 2010-08-25 株式会社クラウド・スコープ・テクノロジーズ ネットワーク情報提示装置及び方法
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
JP4562464B2 (ja) * 2004-09-07 2010-10-13 富士通株式会社 情報処理装置
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8464348B2 (en) 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US7360253B2 (en) * 2004-12-23 2008-04-15 Microsoft Corporation System and method to lock TPM always ‘on’ using a monitor
US20070177578A1 (en) * 2005-01-11 2007-08-02 Anspach Steven S Standard telephone equipment (STE) based deployable secure cellular communication system
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US8726344B1 (en) * 2005-11-30 2014-05-13 Qurio Holdings, Inc. Methods, systems, and products for measuring trust scores of devices
GB0615015D0 (en) 2006-07-28 2006-09-06 Hewlett Packard Development Co Secure use of user secrets on a computing platform
US8201216B2 (en) * 2006-09-11 2012-06-12 Interdigital Technology Corporation Techniques for database structure and management
US8392724B2 (en) * 2006-12-27 2013-03-05 Panasonic Corporation Information terminal, security device, data protection method, and data protection program
KR101427646B1 (ko) * 2007-05-14 2014-09-23 삼성전자주식회사 펌웨어의 무결성 검사 방법 및 장치
EP2255472B1 (en) * 2008-03-17 2016-11-23 Broadcom Corporation Method and system for secure block acknowledgement (block ack) with protected mac sequence number
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
US8572692B2 (en) * 2008-06-30 2013-10-29 Intel Corporation Method and system for a platform-based trust verifying service for multi-party verification
US8429735B2 (en) * 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
TW201741925A (zh) * 2010-04-12 2017-12-01 內數位專利控股公司 啟洞程序中階段控制釋放
GB201008888D0 (en) * 2010-05-27 2010-07-14 Qinetiq Ltd Network security
US20130047261A1 (en) * 2011-08-19 2013-02-21 Graeme John Proudler Data Access Control
US9342695B2 (en) 2012-10-02 2016-05-17 Mordecai Barkan Secured automated or semi-automated systems
US11188652B2 (en) 2012-10-02 2021-11-30 Mordecai Barkan Access management and credential protection
EP2904743B1 (en) 2012-10-02 2017-09-06 Mordecai Barkan Secure computer architectures, systems, and applications
US9672360B2 (en) 2012-10-02 2017-06-06 Mordecai Barkan Secure computer architectures, systems, and applications
US9514310B2 (en) 2013-05-09 2016-12-06 Telecommunication Systems, Inc. Gap services router (GSR)
US10103872B2 (en) * 2014-09-26 2018-10-16 Intel Corporation Securing audio communications
JP6473674B2 (ja) * 2015-07-28 2019-02-20 ルネサスエレクトロニクス株式会社 通信端末およびプログラム
SG10201602449PA (en) * 2016-03-29 2017-10-30 Huawei Int Pte Ltd System and method for verifying integrity of an electronic device
US10320571B2 (en) * 2016-09-23 2019-06-11 Microsoft Technology Licensing, Llc Techniques for authenticating devices using a trusted platform module device
US10496552B2 (en) 2017-04-12 2019-12-03 The Regents Of The University Of Michigan Trusted computing system with enhanced memory
EP3627361B1 (en) * 2018-09-21 2021-07-21 Nokia Technologies Oy Media content control

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0510244A1 (en) 1991-04-22 1992-10-28 Acer Incorporated Method and apparatus for protecting a computer system from computer viruses
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5610981A (en) 1992-06-04 1997-03-11 Integrated Technologies Of America, Inc. Preboot protection for a data security system with anti-intrusion capability
US5596718A (en) 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
US5361359A (en) 1992-08-31 1994-11-01 Trusted Information Systems, Inc. System and method for controlling the use of a computer
US5444850A (en) 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5530758A (en) * 1994-06-03 1996-06-25 Motorola, Inc. Operational methods for a secure node in a computer network
JPH08185360A (ja) * 1994-12-28 1996-07-16 Matsushita Electric Ind Co Ltd 内蔵rom読み出し禁止装置
WO1997007463A1 (en) 1995-08-11 1997-02-27 International Business Machines Corporation Method for verifying the configuration of a computer system
WO1997037305A1 (en) 1996-03-29 1997-10-09 Intel Corporation Computer system security
US5802178A (en) * 1996-07-30 1998-09-01 Itt Industries, Inc. Stand alone device for providing security within computer networks
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5969632A (en) 1996-11-22 1999-10-19 Diamant; Erez Information security method and apparatus
US6400823B1 (en) 1996-12-13 2002-06-04 Compaq Computer Corporation Securely generating a computer system password by utilizing an external encryption algorithm
GB9626241D0 (en) 1996-12-18 1997-02-05 Ncr Int Inc Secure data processing method and system
EP1013023B1 (en) 1997-02-13 2005-10-26 Walter A. Helbig, Sr. Security coprocessor for enhancing computer system security
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6138239A (en) 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
US6385724B1 (en) * 1998-11-30 2002-05-07 Microsoft Corporation Automatic object caller chain with declarative impersonation and transitive trust
US6988250B1 (en) 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly

Also Published As

Publication number Publication date
US7236455B1 (en) 2007-06-26
EP1161715B1 (en) 2010-08-18
WO2000048062A1 (en) 2000-08-17
DE60044844D1 (de) 2010-09-30
EP1161715A1 (en) 2001-12-12
JP2002536756A (ja) 2002-10-29

Similar Documents

Publication Publication Date Title
JP4603167B2 (ja) コンピューティング装置のモジュール間通信
JP4812168B2 (ja) 信用コンピューティング・プラットフォーム
JP4091744B2 (ja) コンピュータ装置およびその動作方法
JP4278327B2 (ja) コンピュータ・プラットフォームおよびその運用方法
JP4746233B2 (ja) データの使用を制限するトラステッドコンピューティングプラットフォーム
JP4219561B2 (ja) 信頼できる計算プラットフォームのためのスマートカード・ユーザインターフェイス
EP1224518B1 (en) Trusted computing platform with biometric authentication
US7430668B1 (en) Protection of the configuration of modules in computing apparatus
US7779267B2 (en) Method and apparatus for using a secret in a distributed computing system
JP2004508619A (ja) トラステッド・デバイス
EP1203278B1 (en) Enforcing restrictions on the use of stored data
EP1076280A1 (en) Communications between modules of a computing apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100721

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100825

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: 20100921

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: 20101001

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees