JP5038396B2 - トラステッドコンピューティングの完全性測定の通知を実行する装置および方法 - Google Patents

トラステッドコンピューティングの完全性測定の通知を実行する装置および方法 Download PDF

Info

Publication number
JP5038396B2
JP5038396B2 JP2009506616A JP2009506616A JP5038396B2 JP 5038396 B2 JP5038396 B2 JP 5038396B2 JP 2009506616 A JP2009506616 A JP 2009506616A JP 2009506616 A JP2009506616 A JP 2009506616A JP 5038396 B2 JP5038396 B2 JP 5038396B2
Authority
JP
Japan
Prior art keywords
pcr
platform
tpm
interrogator
signed
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
JP2009506616A
Other languages
English (en)
Other versions
JP2009534749A (ja
Inventor
モバ、サシダー
ハーシャフト、リチャード、ディー.
ラチャ、レヌカ
チャ、インヨク
Original Assignee
インターデイジタル テクノロジー コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インターデイジタル テクノロジー コーポレーション filed Critical インターデイジタル テクノロジー コーポレーション
Publication of JP2009534749A publication Critical patent/JP2009534749A/ja
Application granted granted Critical
Publication of JP5038396B2 publication Critical patent/JP5038396B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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

Landscapes

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

Description

本発明は、複数のプラットフォーム(即ちサブシステム)間のトラステッドコンピューティング(即ちコンピュータセキュリティ)に関する。特に、本発明は、トラステッドコンピューティングの完全性測定の通知を実行する装置および方法に関する。
プラットフォーム構成レジスタ(Platform Configuration Registers:PCRs)は、データのハッシュを格納するために使用するトラステッド・プラットフォーム・モジュール(trusted platform module:TPM)内の記憶域である。前記PCRに使用されるTPMメモリは、本来揮発性でもよく、不揮発性でもよい。
従来のトラステッド・コンピューティング・グループ(Trusted Computing Group:TCG)規格は、前記TPMによって前記PCR上で実行される読み出し、拡張、および引用動作を可能とする。前記読み出し動作は、所定のPCRの値を読み出すために使用される。前記拡張動作は、その古い内容を新しい内容で拡張することによって前記PCRの値を修正するために使用される。これによって、最終的なPCRダイジェストがどのように構築されたかを呼掛器が知ることができる。前記引用動作は、構成証明アイデンティティ鍵(attestation identification key:AIK)を使用して、前記PCRの値が前記TPMによって暗号化される、完全性通知に使用される。この状況における構成証明とは、そのシステムの信頼性の程度をこのような情報の内部または外部呼掛器、またはリクエスタに供給するための前記プラットフォームの作業をいう。プラットフォームの現在の構成を決定するために、完全性通知を使用することができる。
ハッシュされた一片のコードまたはデータの完全性の検証のために後に使用する完全性基準を生成する動作を前記TPMが実行するとき、前記TPMは、ただ単にその目的のデータまたはコードの最新の値のハッシュを計算し、その値をPCRに入力するのではない。その代わりに、前記TPMは、前記PCRの現在存在する値にシステムの構成要素の新たに測定されるべき値を繋げ、その繋がったデータにセキュア・ハッシュ・アルゴリズム(secure hash algorithm:SHA)を実行することによって拡張動作を実行し、その結果を前記目標PCRに入力する。
PCRが拡張される度に、前記TCGのイベントログへのログ入力もまた行われる。TCGイベントログは格納測定ログ(stored measurement log:SML)とも呼ばれ、TPMが設置されたプラットフォーム上で生じるイベントのログである。SMLは、TPMを含むシステムプラットフォーム内の構成要素(例えば一片のコード)の測定値のログである。前記TPMは、前記TPMが設置されたプラットフォーム内で生じるイベント(特定のアプリケーションソフトウェア(software:SW)の読み込み工程など)の測定を実行する。前記プラットフォームのオペレーティングシステム(operating system:OS)の要求に従って、前記TPMを制御する前記OSの信頼できる部分である測定カーネルが測定イベントを生成する。「測定イベント」とは前記プラットフォーム自体の中で生じるイベントではなく、むしろ前記プラットフォーム内で生じるイベントに関して実行される「測定」の作業またはイベントを示す用語であることに留意されたい。このようなプラットフォームのイベントの例として、一片のソフトウェアのコードのシステムメモリ内への読み込み工程が挙げられるであろう。測定イベントは、1)測定値−埋め込まれたデータまたはプログラムのコードの表示、2)測定ダイジェスト−それら値のSHAハッシュ、の2種類のデータからなる。前記TPMによってデータをスキャンすることでメッセージダイジェストが生成される。ダイジェストはその機械の動作状態のスナップショットである。前記2つのデータ要素(測定値および測定ダイジェスト)は別個に格納される。前記測定ダイジェストは前記TPM内のPCR内に格納される。前記測定値は、事実上任意の場所に格納でき、一般的にはSMLに格納されるが、暗号化された形式で格納しなければならない。実際には、前記測定値を全く格納せず、前記直列化された表示が必要な度に再計算してもよい。測定データは前記測定要素の特性および特徴を表す。前記SMLは関連した測定値の数列を含む。各数列は共通の測定ダイジェストを共有する。測定値は前記共通の測定ダイジェストに付加され、再ハッシュされる。これは、より一般的には前記ダイジェストの拡張工程として参照される。拡張工程によって、関連した測定値が無視されないことが保証され、動作の順番が保たれる。
代数的に、任意の時点t+1におけるn番目のPCRに対する更新は、方程式(1)に従う。
PCR[n](t+1)=SHA−1(PCR[n](t)+測定データ(t+1)) 方程式(1)
PCR値は一時的であり、システムの再起動時にリセットされる。測定イベントの検証は、前記測定ダイジェストの再生成および前記ダイジェスト値の(コンパレータの1つとして前記PCR値を使用した)単純比較を必要とする。TCGはSMLの内容に関するデータ符号化の規則を定めていないが、拡張マーク付け言語(Extensible Markup Language:XML)のような適切な標準に従って広範なアクセス性を保証することを推奨している。
図1は、呼掛器105と、プラットフォームエージェント110と、TPM115と、リポジトリ120とを含むシステム100によって実施された従来のTCG構成証明手順(即ちプロトコル)を示す。
前記呼掛器105は、前記プラットフォームエージェント110に1若しくはそれ以上のPCR値を要求する(工程125)。前記プラットフォームエージェント110は、完全性測定値であるSML入力を収集する(工程130)。前記プラットフォームエージェント110が、前記TPMにPCRを要求する(工程135)。前記PCR値は、前記完全性測定値の測定ダイジェスト(即ち、前記完全性測定値の署名付きハッシュ)である。前記TPM115は、AIKを使用して前記PCR値に署名し(工程140)、前記プラットフォームエージェント110に前記署名付きPCR値を送信する(工程145)。また、前記プラットフォームエージェント110は、前記リポジトリ120から前記TPM115を保証する証明書も収集する(工程150、155)。前記プラットフォームエージェント110は、前記呼掛器105に、前記署名付きPCR値、前記SML入力、および前記証明書を送信する(工程160)。次に、前記呼掛器105は、前記プラットフォーム構成を検証する(工程165)。前記検証のために、前記呼掛器105は、受信した前記SML入力から測定ダイジェストを計算し、計算された前記測定ダイジェストを前記PCR値と比較する。また、前記呼掛器105は、前記プラットフォーム証明書を評価し、署名を確認する。
新たに測定が行われる度に前記PCR値が拡張され、この情報が前記TPM115によって記録される。この拡張工程によって、測定の順序が保たれ、全ての測定値が考慮される。前記PCR値の拡張に関連した課題の1つは、任意の測定が実行されたときにプラットフォームの状態が変化し、現在のアプリケーションに関連のないアプリケーションが前記PCRを拡張する場合に前記システムの状態が正確ではないかもしれないことである。
現在、前記起動処理のために確保されたPCR以外には、アプリケーションに対するPCRの標準化された割当てはない。これにより1より多くのアプリケーションが同一のPCRを使用している状況を引き起こす可能性があり、これは下記に概述する理由で問題となる。
例えば、信頼できるデジタル著作権管理(digital rights management:DRM)アプリケーションの前に信頼できるブラウザーアプリケーションが読み込まれた場合、両方のアプリケーションが同一のPCRを使用すると、前記DRMアプリケーションが必要とするシステム状態が予期される状態と一致しない可能性がある。これによって、前記システムの状態が本来あるべき状態でないために、前記アプリケーションの読み込みが失敗する可能性がある。前記DRMアプリケーション用の呼掛器もまた、前記ブラウザーが実行中であるという情報を得る。これによって、その使用者のプライバシーが侵される。
例えば、図2は、第1の呼掛器205と、第2の呼掛器210と、プラットフォームエージェント220およびTPM225を含むユーザー装置215とを含むシステム200によって実施された、異なるアプリケーションが、相互の拡張動作について知らずに異なる状態からPCRを拡張する、従来のTCG手順を示す。前記第1の呼掛器205が、前記第2の呼掛器210の要求したそれと同じPCR値の変更を要求すると、前記第2の呼掛器210によるプラットフォーム構成の検証は、前記プラットフォームの構成が有効であっても失敗することになる。
図2を参照して、前記第1の呼掛器205が前記プラットフォームエージェント220に前記プラットフォーム構成の要求を送信し(工程230)、次に前記プラットフォームエージェント220が常駐の前記TPM225上のPCRを拡張し(工程235)、次に前記TPM225に前記PCRの署名付き値を要求し(工程240)、前記TPM225が前記プラットフォームエージェント220に(前記TPM225がAIKを用いて署名した)署名付きPCR値を返信する(工程245)。次に、前記第1の呼掛器205が前記プラットフォームエージェント220から前記プラットフォーム構成を受信する(工程250)。この処理(工程250)において、通常、前記第1の呼掛器205はまた、前記署名付きPCR値およびSML入力(図2にはどちらも図示せず)も受信し、受信した前記プラットフォーム構成データ、前記署名付きPCR値、および前記SML入力を使用して前記プラットフォーム構成を検証する(工程255)ことに留意されたい。
一方、前記第2の呼掛器210は、前記プラットフォームエージェント220に前記プラットフォーム構成を要求し(工程260)、次にこれを受信する(工程280)ことができ、このプラットフォームエージェント220は、前記TPM225内の同一のPCRを拡張し(工程265)、前記TPM225から前記PCRの署名付き値を要求し(工程270)、次に受信する(工程275)。次に、前記第2の呼掛器210は、受信した前記プラットフォーム構成を検証できる(工程285)。前記第1の呼掛器205および前記第2の呼掛器210は相互について知らない可能性があり、現行のTCG規格は、異なる呼掛器について適切かつ有用な測定ダイジェストを安全かつ個人情報を保護できる方法で記録するために、どのPCRが使用できるかを割り当てる系統的な方法を指定していないので、同一のPCRを使用してこれら関連性のない呼掛器の両方についての測定ダイジェストを記録する可能性がある。これによって、前記第1の呼掛器205のための測定値によって拡張されたPCR値が提示するシステム状態について、前記第2の呼掛器210が必ずしも知らないという問題が発生する。このように、前記第2の呼掛器210の観点から、第1の呼掛器205の測定および検証のために同一のPCRが拡張されているという事実を既に追跡していない限り、前記第2の呼掛器210は自らによる前記PCRの検証の前に実行された前記PCRの拡張の順序を再生成するために必要な前記SMLの全てを受信しない可能性があるため、前記第2の呼掛器210は、その検証処理において誤ったデータのセットを比較するかもしれない。もしくは、前記PCR拡張を何度も繰り返した後では、このようなSMLは大きくなり過ぎかねないので、前記第2の呼掛器210は、以前のSML入力の全てを処理して前記PCRの直近の状態を再生成する処理能力が単純に不足するかもしれない。
また、図2のTCG手順は、一方の呼掛器には開示できて他方には開示できない個人情報のリークを生成する可能性もある。また、現行の手順は、前記呼掛器の側で、保証されていない(検証が発生すべきではないときの)検証を生じさせ、または、意図しない(検証すべきときの)非検証という決定を生じさせる可能性がある。現在、この問題は以下の1若しくはそれ以上の方法を使用することによって対処されている。
PCRの指定:前記PCRを使用して前記システムの状態が提示されている時、一定のPCRを一定のアプリケーションに割り当てることができる。この方法の不利な点は、一般的に前記TPM内のPCRの数は、そのコストおよびサイズの配慮から16個程度である(TCG標準はPCRの数を制限していない)。このために、全ての種類のアプリケーションに固定PCRを割り当てる能力には限界がある。
PCRイベントログの使用:前記PCR値に対する変更の全てが前記TPMによって記録される。このログが前記PCR値と共に使用され、前記システムが正しい状態にあるかを確かめることができる。しかし、この方法の問題は、前記ログが問題のアプリケーションに直接関係のない情報を含んでいるかも知れず、従って使用者のプライバシーを侵害する恐れがある。
起動時に、所定の順序で全てのアプリケーションを読み込むことでもこの問題を排除できる。しかし、起動時に全てのアプリケーションを検証して読み込まなければならないので、その起動時間が長くなり、この方法は実用的ではない。
これらの方法には、信頼できるプラットフォームの機能を制限する観点から、または使用者のプライバシーの喪失の観点から重大な限界がある。
本発明は、複数のサブシステムの完全性測定のためにTPMを使用する方法および装置に関する。起動後のPCRの状態がそのシステムの基本状態として格納される。この状況における基本状態が、前記システムの起動が完了したときの前記システムの状態として定義され、そのカーネルレベルにおいて新しいソフトウェア読み込まれるときにのみ変更できる。この状態自体は、そのオペレーティングシステム(operating system:OS)の完全性の検証に関心のある呼掛器に通知される可能性がある。
本発明の別の実施形態において、保護された外部メモリ上の暗号化された記憶域を使用することによって、従来のTPMが物理的PCRに提供するそれよりも大きなメモリ空間を使用する仮想PCRが使用される。
本発明のさらに別の実施形態において、検証されるべきアプリケーションが、その状態を前記システムの基本状態から拡張することを要求する。このような要求を受信すると、前記システムの状態は、前記システム状態からではなく、前記基本状態PCRの内容から直接拡張される。
さらに、システム状態の測定および検証のための参照開始点として機能する前記基本状態に関するステートメントがシステムに供給され、参照基本状態証明書の形式で格納される。測定が実行され、前記システムの状態の測定結果(一般的にはダイジェストの形式として)がこのような証明書に記述された前記基本状態の値と比較され、前記生の測定ダイジェスト値の代わりにステートメントが物理的PCRまたは仮想PCRに拡張される。
図3および図4は、本発明の基本状態に対してPCRが検索される信号図を示す。
図3は、第1の呼掛器305と、第2の呼掛器310と、プラットフォームエージェント320およびTPM325を含むユーザー装置315とを含むシステム300によって実施されることで、共通基本状態からの状態拡張が使用されるTCG手順を示す。図3を参照して、前記第1の呼掛器305が前記プラットフォームエージェント320に、基本状態から計算した前記プラットフォーム構成を要求し(工程330)、次に、前記プラットフォームエージェント320がTPM325上のPCRを前記基本状態から拡張し(工程335)、次に前記TPM325に前記PCRの署名付き値を要求し(工程340)、前記TPM325が前記プラットフォームエージェント320に前記署名付きPCR値を返信する(工程345)。次に、前記第1の呼掛器305が前記プラットフォームエージェント320から前記プラットフォーム構成を受信する(工程350)。次に、前記第1の呼掛器305が、工程350で受信した前記プラットフォーム構成データをそれ自身が計算する値と比較し、前記プラットフォーム構成を検証する(工程355)。
一方、前記第2の呼掛器310は、前記工程335において使用され、しかしその後前記第2の呼掛器310およびその検証目標および目的に適した異なる測定値で拡張された、前記基本状態の同一の値から再度計算された前記プラットフォーム構成を後に要求し(工程360)、次に受信する(工程380)ことができる。このように、前記第2の呼掛器310による要求に応じて、前記プラットフォームエージェント320は、次に、それの前の値ではなく、再度工程335において使用した同じ基本状態からの同一のPCRを拡張することになる(工程365)。次に、前記プラットフォームエージェント320は、前記TPM325から、前記PCRの署名付き(AIKを用いて前記TPM325によって署名付き)値を要求し(工程370)、受信する(工程375)。次に、前記第2の呼掛器310は、受信した前記プラットフォーム構成を検証する(工程385)ことができる。前記第1の呼掛器305および前記第2の呼掛器310は共に、前記基本状態から各々独自の測定値を用いて独立して計算された各々のプラットフォーム構成データを受信するため、図3において説明した手順は、図2の従来の手順において説明した問題を回避できる。
図4は、従来技術を、異なる呼掛器について異なる拡張状態が実施される本発明と比較する。図4に示すように、起動405を完了し、基本状態410に達しているシステムが描かれている。従来技術において、呼掛器によって第1のアプリケーションが読み込まれ、次に検証されるとき、前記システム状態415は、前記第1のアプリケーションの読み込み工程を反映するように変更される。次に、別の呼掛器によって第2のアプリケーション425が読み込まれ、検証される必要があるとき、前記システム状態420は、今度は前記基本状態410からではなく、前記システム状態415からの変更を反映する。
本発明によれば、異なる呼掛器に割り当てられたPCR(または仮想PCR)は全て前記基本状態から拡張され、全ての呼掛器は、検証する必要のある特定の前記アプリケーションの読み込み工程の正味効果のみによって各々のターゲットの状態を検証することとなる。このような2つの呼掛器1および2がこの例に描かれ、これらは共に、前記基本状態410から独立して拡張されて、各々の派生ターゲット状態(呼掛器1では派生状態425であり、呼掛器2では派生状態430である)を検証することとなる。
本発明の第1の実施形態によれば、前記システムの再起動時に前記TPMが前記PCR値を各々の初期値にリセットする。ここで参照するシステムは、パーソナルコンピュータ(personal computer:PC)、携帯型情報端末(personal data assistant:PDA)、埋め込みシステム、携帯電話、埋め込みシステムを伴う周辺装置、ネットワーク要素、およびTCG技術、具体的には、TPMまたは等価物の使用によって実行可能となる、またはそれを実行可能とする機能およびサービスを備えたその他のプラットフォームなどの、任意のプラットフォームである。前記PCR値は、前記TPMの既知の基本状態に対して通知される。前記TPMのこの基本状態は、好ましくは前記TPM内に格納され、新しいアプリケーションを測定しなければならない度に使用できる。前記システムの起動処理が完了しているとき、前記TPMの基本状態は、前記プラットフォーム状態を提示し、この基本状態に対して各アプリケーションの状態が計算される。
TPMの基本状態はシステムの基本状態とは異なる概念である。本発明によれば、現行のTPMの追加機能は、それらが起動時に全てのPCR値をリセットせず、その代わりに「成功した起動直後の前記TPMの状態」を「前記TPMの基本状態」として提示できる一定の値を有し、そのような値を前記TPM自体の内部のシールドされた不揮発性メモリ内に格納するよう定義される。このような不揮発性メモリは、ここでも、起動直後にリセットする前記PCRとは異なることに留意されたい。前記TPMの基本状態は前記TPMを収容するシステムの成功した起動直後の前記TPMの状態を提示する値であるので、そのような基本状態は、前記システム自体の「真新しい」状態を間接的に提示できる。さらに、このようなTPM基本状態は不揮発であり、起動直後に回復でき、前記PCRの拡張動作のための基本状態として機能する。前記TPM内部に前記基本状態を格納するためには、追加のシールドされた(即ち保護された)不揮発性メモリが必要であり、また、現行状態を前記システムの基本状態から計算しなければならないことを示すためには、伝送制御プロトコル・ソフトウェア・スタック(transmission control protocol:TCP,software stack:TSS)からの指示が必要である。
TSSは、前記TPMの外部で、しかし前記プラットフォーム自体(前記プラットフォームのOSなど)またはそのエージェント(即ち図3内のプラットフォームエージェント320)の内部またはその制御下で行われる完全性測定および通知、ならびに検証のためのこのような手順(例えば、図3に描かれた工程330、335、340、345、および350)の始動および制御を可能とするソフトウェアスタックである。
前記第1の実施形態によれば、TPM基本状態は前記TPM自体内に安全に格納され、起動直後にTSSを通じて前記TPMの外部、即ち、前記プラットフォームエージェントまたは前記プラットフォームOSに知らされるので、前記呼掛器がこのような「TPM基本状態」を、前記呼掛器による検証の必要な前記アプリケーションの完全性測定を構築できる参照基本状態として使用することができる。前記TPM内には、一定量のメモリ容量(前記TPMが収容するPCRの数に等しい)のみが必要である。前記システムによって新しいアプリケーションが読み込まれる度に、この既知の基本状態が使用されることで、前記完全性測定が意図された通りに機能することが可能となる。例えば、前記TPMがX個のPCRを有するとき、X個の「TPM基本状態」もまた、前記X個のPCRの各々について各々1個存在する。格納された前記TPM基本状態は、読み込まれた特定のアプリケーションの完全性を測定するために割り当てられた前記PCRの各々を拡張するために使用される。従って、最大でX個の異なるアプリケーションの読み込み工程の完全性が、このようにして追跡され、測定される。
本発明の前記第2の実施形態によれば、システムが有することのできるPCRの数に一定サイズの制約が存在しない。しかし、殆どの実施において実際的なPCRの数は約16個である。PCR識別番号(PCRのアドレスは0〜232−1の範囲であることができ、230を超える値は将来用途に保存されている)の観点から、その拡張性は、前記TPM上に物理的に存在せずに本来仮想である仮想PCRの概念を生成するために使用できる。これら仮想PCRの内容は、外部記憶装置または前記TPM自体に暗号化されたデータとして格納できる。これら仮想PCR値の内容は、他のPCR値からのみ拡張できる。これによって、前記PCR値を拡張できるものに基づいて、アプリケーションが基本状態を定義することが可能となる。完全性測定を実行するために使用できる仮想PCR番号が、各アプリケーションに与えられることが好ましい。これによって、周知のインターネットアプリケーションに対するポート番号の割り当てに類似した、アプリケーションに対するPCR番号の割り当てが可能となる。
このように、前記第2の実施形態によれば、プラットフォームが生成することのできる暗号化され保護された記憶空間が、前記TPMの暗号機能と共に、そのハードウェアで実施されたPCRの代替として使用される。前記PCRのために確保されたアドレス空間はおよそ232と非常に大きいので、前記PCRの代替として前記アドレス空間を使用するだけで前記プラットフォームのシステム内の任意の暗号化されて保護されたメモリ要素(読み書き可能メモリ(random access memory:RAM)など)を指定することができる。このようにすれば、現実のハードウェアPCRよりも多くのこのような「仮想PCR」を有することができる。従って、このようなより多くの「仮想PCR」を使用して、より多くのアプリケーションの読み込み工程の完全性およびその他の「測定に値する」イベントを追跡することができる。
本発明の第3の実施形態によれば、システムの起動時に全てのPCRの内容がリセットされる。上述の第2の実施形態のように、多くの仮想または現実のPCRが存在する場合、前記アプリケーションに割り当てられたPCRは前記始動状態から直接計算されることが好ましい。これには、アプリケーションに対する固定されたPCRの割り当てが必要となるが、前記基本状態を格納する必要はない。
本発明の前記第3の実施形態によれば、システム内に多くの現実のまたは仮想のPCRを有するとき、基本的にはそれらを群に分割することができ、次に各群のPCRはただ1つのアプリケーションの完全性測定を追跡するために事前割り当てされることとなり、その他一切のアプリケーションの測定は、前記特定のアプリケーションが割り当てられた群に属さない前記現実のまたは仮想のPCRの何れにも記録できない。このようにすれば、全てのPCRがリセットされたときでも、かつ前記完全性測定の履歴を構築するための特別な「基本状態」が実際には存在しないときでも、各群から1つのPCRを前記システムの起動後の「真新しい初期状態」のための状態維持空間として使用し、次に、同一の群内の他のPCRを使用して、所定の手順に従って前記イベントの履歴の詳細なスナップショット(同一のアプリケーションの異なるバージョンの読み込み工程など)を記録することができる。このように、全てのイベントを同一のPCR内に拡張する必要はなく、むしろこのような拡張のスナップショットを、個別のPCRを実際に拡張することなく、単に異なるPCR内に記録することができる。さらに、(全て同一の群に属する)多数のPCRおよびそれらの値、および前記更新されたPCRの順番の知識を使用して、そのスナップショットがその群に属するPCRの各々に保存された、前記プラットフォームにおけるその特定のアプリケーションの履歴にのみ適用される、完全性測定ダイジェストの履歴ログを生成することができる。
図5は、アプリケーション1およびアプリケーション2用のPCRが使い捨て可能な、このようなPCR構成を示す。前記アプリケーションを測定する必要がある度に前記PCRの内容がリセットでき、前記PCRの内容がこの初期化された状態から拡張されることになる。前記アプリケーション用に計算されたPCR値と共にオペレーティングシステムおよびドライバーに割り当てられたPCRの内容を、前記システムの完全性を検証するための呼掛器に送信することができる。
上記に提示された3つの実施形態の全ては、呼掛器が、前記プラットフォームの状態がそのあるべき状態にあるかを、その使用者のプライバシーを侵害せずに検証する助けをする。
また、これら3つの実施形態の全ては、参照完全性基準(reference integrity metric:RIM)証明書の使用によっても補強できる。従来のRIM証明書は、携帯電話の起動処理のためのステートメントを提供する特定の方法として定義されている。前記従来のRIM証明書は、起動後にシステムが得るべき参照状態についてのステートメントを含む。起動後、前記システムが前記RIM証明書内で指定されたものと同じ状態に達したと決定すると、次に前記システムは、前記TPMにそのPCR0(前記第1のPCR)を更新して、同じく検証された前記獲得した状態を記述する前記ステートメントのSHAハッシュ動作の値を含むように要求する。
本発明によれば、参照基本状態(reference base state:RBS)証明書が使用される。全てのアプリケーションに共通して適用される、前記プラットフォームのOSの単一の共通起動後状態のみのステートメントを提供することができる前記従来のRIM証明書と違って、前記新しいRBS証明書は、アプリケーションに特定の参照基本状態についてのステートメントを提供するために使用される。この概念の違いによって、RBS証明書を使用するシステムについて、プラットフォームが、異なるアプリケーションまたはアプリケーション群の基本状態を各々指定する複数の異なるRBS証明書に、任意の時点で適応できることにもなる。これは、任意の時点において前記プラットフォームが1つのRIM証明書のみに取り組むことができる、単にRIM証明書を支持するだけのシステムとは対照的である。重ねて、多くの異なるアプリケーションのイベント(読み込み工程など)の参照基本状態を指定するように各々調整され、各々がアプリケーション特定の基本状態の同時参照用のプラットフォームに適応し、それによって使用される、複数のRBS証明書を有することができる。PCRの観点から、各RBS証明書は、少なくとも1つのそれ専用の(現実の、または仮想の)PCRを必要とすることとなる。RBS証明書毎のこのような専用PCRは、前記プラットフォームOSが前記システムの実際の状態と前記基本状態との間の確認の検証または非検証状況についての情報を示すように構築するステートメントのハッシュ値を記録するために使用されることとなる。前記ハッシュ値は、前記RBS証明書に含まれる状態関連ステートメントに示された基本状態に等しいシステムの実際の状態の前記TPMを利用して、前記プラットフォームエージェントが検証した直後に記録されることとなる。
このようなステートメントの例としては、「実際のシステム状態と基本状態が同一であることが検証されました」であってもよい。そのRBS証明書に専用のPCRに今記録されているこのようなステートメントのハッシュは、その専用PCR、ならびに前記割り当てられたアプリケーションまたはアプリケーション群の完全性測定検証に使用できる、その他任意のPCRのための更なる拡張動作の開始点を提供できる。RBS証明書は、構築されたこのような「状態確認ステートメント」のハッシュ値をも含むことに留意されたい。このように、前記プラットフォームOSによって構築された前記ステートメント上で実行されたハッシュ動作の結果を同一のRBS証明書の異なる部分に含まれる、または異なるRBS証明書に含まれる同一のステートメントのハッシュ値と比較して、前記システム状態が前記基本状態と一致するかを示すことによって、前記プラットフォームOSが、特定のアプリケーションまたはアプリケーション群の完全性測定ダイジェスト格納用に割り当てられたPCRを外部から検証可能な開始点の値から拡張する手段によってプロビジョニングされる。ここでも、その値は、前記システムの実際の状態と前記関連づけられたRBS証明書に示された基本状態との間の確認に関わるステートメントのSHA−1ハッシュである。
RIM証明書は、コアOSソフトウェア、およびそのバージョン番号などの、このようなOSの関連情報の完全性基準に関する情報を伝達する。次に、前記証明書内に含まれる完全性参照値が実際の測定値に照らして確認された後、前記RIM証明書の「検証または非検証」ステートメントを運ぶために、前記プラットフォームのTPMの特定のPCR、即ち前記PCR0が割り当てられる。
本発明によって使用される基本状態は、種々の異なる証明書に含まれるステートメントと比較される可能性のある異なる「状態確認ステートメント」を含んでもよい。これら証明書の各々は、各々が特定のアプリケーションまたはアプリケーション群、またはその他のコンテクストに属する異なる基本状態に関する情報を含んでもよい。
図6は、第1の呼掛器605と、第2の呼掛器610と、プラットフォームエージェント620、TPM625、およびRBS証明書630を含むユーザー機器615とを含むシステム600によって実施されたTCG手順を示す。図6に示す通り、前記第1の呼掛器605は、前記プラットフォームエージェント620にコマンドを発行して、前記第1の呼掛器605がその完全性を検証しようと意図する読み込まれたアプリケーションに適用される基本状態によって指定された初期構成から計算されたプラットフォーム構成を取得する(工程635)ことができる。次に、前記プラットフォームエージェント620が前記TPM625にコマンドを発行して(工程640)、前記第1の呼掛器605がその完全性状況を検証しようとするアプリケーションに適用されるRBS証明書を確認させる。前記TPM625が、これを受けてコマンドを発行し、前記TPM625が制御する証明書リポジトリから前記RBS証明書630を取得する(工程645)。前記TPM625が、同様に署名付き前記RBS証明書630を取得する(工程650)。次に、前記プラットフォームエージェント620が前記TPM625にコマンドを発行して(工程655)検証および拡張動作を実行する。この動作において、前記システム状態と(前記RBS証明書に示された)前記基本状態が同一であることが検証された後で、前記プラットフォームエージェント620が構築するステートメントのハッシュが前記RBS証明書に含まれるハッシュ値と同一であることを検証して初めて、前記TPM625によって制御された、前記第1の呼掛器605のために完全性を検証中のアプリケーションに特定の、(現実の、または仮想の)特定PCRを、前記TPM625が拡張する。次に、前記TPM625は、AIKを用いて前記PCR値に署名し、それを前記プラットフォームエージェント620に送信する(工程660)。次に、前記プラットフォームエージェント620は、前記署名付きPCR値を含む前記プラットフォーム構成情報を前記第1の呼掛器605に送信することができる(工程665)。次に、前記第1の呼掛器605は、前記プラットフォームエージェント620から受信した前記プラットフォーム構成情報を使用して、それの意図する前記アプリケーションが、前記RBS証明書に示された正しい基本システム状態から正しくかつ前記アプリケーションに対して支障を来さずに読み込まれたかを検証する(工程670)ことができる。
別の呼掛器(即ち前記第2の呼掛器610)が意図したアプリケーションの完全性を検証しようとするとき、この呼掛器は、(工程680、692、および694を実行する)前記プラットフォームエージェント620および(工程685、690、および694を実行する)前記TPM625の助けを得て、しかしその第2の呼掛器610が意図する前記アプリケーションに特定の異なるRBS証明書を使用して、同様の方法、実質的に同一の手順(工程675および698)で実行することができる。
図6は、提案されたRBS証明書による前記第2の実施形態の補強を描写している。拡張を必要とする実際の完全性測定値を格納することによってではなく、携帯トラストモジュール(mobile trust modules:MTMs)内のRIM証明書の現在の使い方と同じように「確認」または「非確認」のステートメントを格納することによって、仮想PCRを使用して前記基本状態に関する情報が格納される。一方的に前記PCRを拡張する代わりに、異なるコマンド(即ち、擬似拡張結果が前記RBS証明書に含まれる状態を確認するとPCRを拡張するコマンド)を使用すべきであることに留意されたい。さらに、前記PCR内で拡張された値は実際の測定結果ではなく、前記実際の拡張と前記RBS証明書に含まれる状態情報の比較がなされたときに「確認」または「非確認」イベントが発生したか否かを述べるステートメントである。
図6において、呼掛器特定の構成検証について、前記異なる呼掛器は、前記特定の呼掛器の各々に1つ、共通の単一RBS証明書、または異なるRBS証明書を使用できることに留意されたい。
前記標準によって定義されていない前記システムの状態を要求するためにその相手局エンティティーによって使用される手順には、一定の態様がある。このような態様の1つは、前記相手局エンティティーがどのようにして前記測定値を要求できるかである。
図7は、主リストおよび副リストを使用した実施形態のブロック図を示す。そのリクエスタは、好ましくは前記主リストから1若しくはそれ以上のエンティティーを選択し、次に、受信を希望する測定値の前記サブリストから1若しくはそれ以上の要素を選択することによって、必要とする測定値を正確に識別する。副リストが指定されていない場合、前記主リスト内の全てのエンティティーの測定値がリクエスタに送信されると想定することができる。xが前記主リストの識別情報を表し、yが前記副リスト内の要素を識別するとき、前記要求は要求[x][y]の形式であってよい。上述の通り、yは前記要求構造において選択的要素である。この要求は、前記主リストおよび副リストの要素を伝えるために、拡張マーク付け言語(extensible markup language:XML)のような言語の使用を含む任意の機構を使用して行うことができる。
以下に示すXMLの例は、インターネットエクスプローラ(Internet Explorer)およびメディア・プレイヤー・アプリケーション(Media Player Applications)用の測定値を要求するために使用される。
Figure 0005038396
開示の実施形態に基づいて、仮想PCR番号が前記アプリケーションに割り当てられている。これらの値は、好ましくは任意の識別子(例えば、グローバル一意識別子(globally unique identifier:GUID)または汎用一意識別子(universally unique identifier:UUID)など)であり、前記TPMと前記現実のPCR割り当てとの間のマッピングテーブルは、前記TPMメモリに格納されることが好ましい。このシナリオでは、前記PCR値を要求する前記アプリケーションは前記アプリケーションに割り当てられたPCR値のことを知らず、複数のプラットフォームに亘って有効な一意識別子を使用して要求を実行する。
上述の方法に関連して、図8は、TPMと仮想PCRとを有するユーザー装置システムを使用して、呼掛器に対して、前記プラットフォーム構成の完全性の検証のためのデータを供給できる様子を示す。図8は、呼掛器805と、プラットフォームエージェント815、TPM820、および仮想PCR825を含むユーザー装置810とを含むシステム800内で実施されるTCG手順を示す。前記ユーザー装置システムはおよそ232までの仮想PCRを有することができることに留意されたい。
図8に示すように、前記呼掛器805が、後に前記プラットフォームの完全性の検証に使用する前記プラットフォーム構成データを取得するように前記プラットフォームエージェント815に要求する(工程830)。前記プラットフォームエージェント815が、前記TPM820にコマンドを発行して(工程835)参照基本状態からのPCRを拡張させる。前記プラットフォームエージェント815は、前記TPM820に拡張させたいPCRが物理的PCRか仮想PCRかを、必ずしも指定しなければならないとは限らない。次に、前記TPM820が、前記仮想PCRの値を拡張し、前記TPM820自体の中に格納された暗号鍵、または前記TPMの外部に格納されていながら前記TPM820自体の中に格納された鍵によって保護されている鍵によって、その新しい拡張された値を用いて前記仮想PCR825を暗号化する(工程840)。前記プラットフォームエージェント815は後に、前記PCRの値を署名し、それを前記プラットフォームエージェント815に送信するように、前記TPM820に命令する(工程845)。次に、前記TPM820が前記仮想PCR825をアクセスし、前記仮想PCR825から前記暗号化されたPCR値を取得する(工程850および855)。次に、前記TPMが前記暗号化された仮想PCR値を復号化する(工程860)。次に、前記TPM820が前記復号化された仮想PCR値を署名し、それを(前記呼掛器805が有するそれとは異なる鍵で)再暗号化し、それを前記プラットフォームエージェント815に送信する(工程865)。前記プラットフォームエージェント815が前記仮想PCR825からのデータを含むプラットフォーム構成データを作成し、それを前記呼掛器805に送信する(工程870)。次に、前記呼掛器805が受信した前記プラットフォーム構成データを使用して、前記ユーザー装置805の完全性状態(または前記プラットフォーム構成の状態)を検証する(工程875)。
実施形態
1.トラステッド・プラットフォーム・モジュール(trusted platform module:TPM)と、プラットフォームエージェントと、参照基本状態(reference base state:RBS)証明書とを有するユーザー装置を含むコンピュータシステムにおける方法であって、
呼掛器(challenger)が前記プラットフォームエージェントにコマンドを発行し、読み込まれたアプリケーションに適用される基本状態によって特定される初期構成に基づいて計算されたプラットフォーム構成を取得する工程であって、当該読み込まれたアプリケーションは前記呼掛器が完全性の検証を意図するものである、前記取得する工程を有する方法。
2.実施形態1記載の方法において、この方法は、さらに、
前記プラットフォームエージェントが前記TPMにコマンドを発行し、前記呼掛器が完全性の検証を意図する前記アプリケーションに適用される前記RBS証明書を確認させる工程と、
前記TPMが、基本状態を示す署名付きRBS証明書を取得する工程と、
前記プラットフォームエージェントが前記TPMにコマンドを発行して検証および拡張動作を実行させる工程であって、これにより、当該TPMは、制御している特定のプラットフォーム構成レジスタ(platform configuration register:PCR)であって、且つ前記呼掛器のために完全性が検証されている前記アプリケーションに固有のプラットフォーム構成レジスタを拡張するものである、前記実行させる工程と
を有するものである。
3.実施形態2記載の方法において、この方法は、さらに、
前記システムの状態および前記基本状態は同一であることを検証する工程と、
前記プラットフォームエージェントがステートメントのハッシュは前記RBS証明書に含まれるハッシュ値と同一であることを検証する工程と
を有するものである。
4.実施形態3記載の方法において、この方法は、さらに、
前記TPMが構成証明アイデンティティ鍵(attestation identification key:AIK)を用いてPCR値に署名する工程と、
前記TPMが前記署名付きPCR値を前記プラットフォームエージェントに送信する工程と、
前記プラットフォームエージェントが前記署名付きPCR値を含むプラットフォーム構成情報を前記呼掛器に送信する工程と
を有するものである。
5.実施形態1〜4のうちのいずれか1つの方法において、この方法は、さらに、
前記呼掛器が、前記RBS証明書に示された正しい基本システム状態に基づいて前記アプリケーションが正しく、且つ支障なく読み込まれたかどうかを検証する工程を有するものである。
6.ユーザー装置であって、
少なくとも1つの参照基本状態(reference base state:RBS)と、
呼掛器から第1のコマンドを受信し、読み込まれたアプリケーションに適用される基本状態によって特定される初期状態に基づいて計算されたプラットフォーム構成を取得するように構成されたプラットフォームエージェントであって、当該読み込まれたアプリケーションは前記呼掛器が完全性の検証を意図するものである、前記プラットフォームエージェントと、
第2のコマンドを受信し、前記呼掛器がその完全性の検証を意図する前記アプリケーションに適用されるRBS証明書を確認して、基本状態を示す署名付きRBS証明書を取得するように構成されたトラステッド・プラットフォーム・モジュール(trusted platform module:TPM)であって、前記プラットフォームエージェントは前記TPMに第3のコマンドを発行して検証および拡張動作を実行させ、これにより、当該TPMは、制御している特定のプラットフォーム構成レジスタ(platform configuration register:PCR)であって、且つ前記呼掛器のために完全性が検証されている前記アプリケーションに固有のプラットフォーム構成レジスタを拡張するものである、前記トラステッド・プラットフォーム・モジュールと
を有するユーザー装置。
7.実施形態6記載のユーザー装置において、システムの状態および前記基本状態が同一であることが検証された場合、前記プラットフォームエージェントは、ステートメントのハッシュが前記RBS証明書に含まれるハッシュ値と同一であることを検証するものである。
8.実施形態7記載のユーザー装置において、前記TPMは、構成証明アイデンティティ鍵(attestation identification key:AIK)を用いてPCR値に署名し、前記署名付きPCR値を前記プラットフォームエージェントに送信するものである。
9.実施形態8記載のユーザー装置において、前記プラットフォームエージェントは、前記署名付きPCR値を含むプラットフォーム構成情報を前記呼掛器に送信するものである。
10.実施形態6〜9のうちのいずれか1つのユーザー装置において、前記呼掛器は、前記RBS証明書に示されたように、正しい基本システム状態に基づいて前記アプリケーションが正しく、且つ支障なく読み込まれたかどうかを検証するものである。
11.アプリケーションを検証するトラステッド・プラットフォーム・モジュール(trusted platform module:TPM)であって、
シールドされた不揮発性メモリを有し、このメモリは、
複数のプラットフォーム構成レジスタ(platform configuration registers:PCRs)を格納するための第1の記憶域であって、前記TPMはシステムの再起動時に前記PCR値を初期値にリセットするものである、前記第1の記憶域と、
システムの起動処理の完了が成功したときのプラットフォーム状態を表す複数の基本状態を格納するための第2の記憶域であって、少なくとも1つのアプリケーションの状態が基本状態に対して計算されるものである、前記第2の記憶域と
を有する
トラステッド・プラットフォーム・モジュール。
12.実施形態11のTPMにおいて、前記システムは、パーソナルコンピュータ(personal computer:PC)、携帯型情報端末(personal data assistant:PDA)、埋め込みシステム、携帯電話、埋め込みシステムを伴う周辺装置、ネットワーク要素、およびトラステッド・コンピューティング・グループ(Trusted Computing Group:TCG)技術、具体的には、前記TPMの使用によって実行可能となり、または当該TPMの使用を可能とする機能およびサービスを備えたその他のプラットフォームを含むグループから選択されるものである。
13. 複数のプラットフォーム構成レジスタ(platform configuration registers:PCRs)を格納するためのシールドされた不揮発性メモリを有するトラステッド・プラットフォーム・モジュール(trusted platform module:TPM)とプラットフォームエージェントとを有するユーザー装置を含むコンピュータシステムにおける方法であって、
第1の呼掛器が、前記プラットフォームエージェントからの特定の基本状態に基づいて計算されたプラットフォーム構成に対する要求を送信する工程と、
前記プラットフォームエージェントが、第1の測定値を用いて前記特定の基本状態から前記TPMの特定プラットフォーム構成レジスタ(platform configuration register:PCR)を拡張する工程と、
前記プラットフォームエージェントが前記TPMから前記特定PCRの署名付きの値を要求する工程と、
前記TPMが前記署名付きPCR値を前記プラットフォームエージェントに送信する工程と、
前記第1の呼掛器が前記プラットフォームエージェントからプラットフォーム構成を受信する工程と、
前記第1の呼掛器が前記プラットフォーム構成データを、当該第1の呼掛器により計算され前記プラットフォーム構成を検証する値と比較する工程と
を有する方法。
14.実施形態13記載の方法において、この方法は、さらに、
第2の呼掛器が前記特定の基本状態に基づいて再計算されたプラットフォーム構成を要求し、且つ受信する工程と、
前記プラットフォームエージェントが、前記第1の測定値とは異なる第2の測定値を用いて前記特定PCRを拡張する工程と、
前記プラットフォームエージェントが前記TPMから前記特定PCRの署名付きの値を要求し、且つ受信する工程と、
前記第2の呼掛器が受信したプラットフォーム構成を検証する工程と
を有するものである。
15.実施形態14記載の方法において、前記第1および第2の呼掛器は共に、前記基本状態に基づいて各々独自に計算され、固有の測定値を伴うプラットフォーム構成データを受信するものである。
16.複数のプラットフォーム構成レジスタ(platform configuration registers:PCRs)を格納する、シールドされた不揮発性メモリを有するトラステッド・プラットフォーム・モジュール(Trusted Platform Module:TPM)における方法であって、
前記PCRをグループに分割する工程と、
各PCRのグループを事前割り当てして特定のアプリケーションの完全性測定値を追跡する工程であって、前記特定のアプリケーションが割り当てられたグループに属さないPCRのいずれにも当該特定のアプリケーション以外のアプリケーションの測定値を記録できないものである、前記追跡する工程と
を有する方法。
17.実施形態16記載の方法において、この方法は、前記PCRの全てがリセットされるとき、各グループのうちの1つのPCRを起動後のシステムの「真新しい初期状態」のための状態保持空間として使用する工程を有するものである。
18.実施形態17記載の方法において、この方法は、さらに、
前記グループ内のその他のPCRを使用して、イベントの履歴の詳細なスナップショットを所定の手順で記録する工程を有するものである。
19.実施形態18記載の方法において、前記イベントは、同一のアプリケーションの異なるバージョンを読み込む工程を含むものである。
20.実施形態18記載の方法であって、この方法は、さらに、
個々のPCRを実際に拡張せずに、PCR拡張のスナップショットを異なるPCRの中に記録する工程を有するものである。
21. トラステッド・プラットフォーム・モジュール(trusted platform module:TPM)と、プラットフォームエージェントと、仮想プラットフォーム構成レジスタ(platform configuration register:PCR)とを有するユーザー装置を含むコンピュータシステムにおいて、プラットフォーム構成データを供給してプラットフォーム構成の完全性を呼掛器に対して検証するための方法であって、
前記呼掛器が、後にプラットフォームの完全性の検証に使用する前記プラットフォーム構成データを取得するように前記プラットフォームエージェントに要求する工程と、
前記プラットフォームエージェントが、前記TPMにコマンドを送信して、参照基本状態からPCRを拡張させる工程と、
前記TPMが前記仮想PCRの値を拡張する工程と、
前記TPMが、新しく拡張された値を伴う前記仮想PCRを暗号鍵を用いて暗号化する工程であって、前記暗号鍵は前記TPM自体の中に格納されるか、または前記TPMの外部に格納され、前記TPM内に格納された鍵によって保護されているものである、前記暗号化する工程と
を有する方法。
22.実施形態21記載の方法において、この方法は、さらに、
前記プラットフォームエージェントが前記TPMに命令して前記PCRの値に署名させ、前記署名付きPCR値を当該プラットフォームエージェントに送信させる工程と、
前記TPMが前記仮想PCRにアクセスし、当該仮想PCRから前記暗号化されたPCR値を取得する工程と、
前記TPMが、前記暗号化された仮想PCR値を復号化する工程と
を有するものである。
23.実施形態22記載の方法において、この方法は、さらに、
前記TPMが、前記復号化された仮想PCR値に署名する工程と、
前記TPMが、前記呼掛器が有する鍵とはは異なる鍵を用いて前記復号化されたPCR値を再暗号化する工程と、
前記TPMが、前記再暗号化されたPCR値を前記プラットフォームエージェントに送信する工程と
を有するものである。
24.実施形態23記載の方法において、この方法は、さらに、
前記プラットフォームエージェントが、前記仮想PCRからのデータを含むプラットフォーム構成データを作成する工程と、
前記プラットフォームエージェントが、前記作成されたデータを前記呼掛器に送信する工程と、
前記呼掛器が、前記作成されたデータを使用して前記ユーザー装置の完全性状態または前記プラットフォーム構成の状態を検証する工程と
を有するものである。
本発明の特徴および要素は、前記最良の実施形態の中に特定の組み合わせで述べられているが、各特徴または要素は、前記最良の実施形態のその他の特徴または要素を伴わずに単独で、または本発明のその他の特徴または要素と種々組み合わせて、あるいは組み合わせずに使用できる。本発明内で提供された方法またはフローチャートは、汎用コンピュータまたはプロセッサによって実行されるコンピュータ可読記憶媒体内で具体的に実施されたコンピュータプログラム、ソフトウェア、またはファームウェア内で実施することができる。コンピュータ可読記憶媒体の例には、読み出し専用メモリ(read only memory:ROM)、読み書き可能メモリ(random access memory:RAM)、レジスタ、キャッシュメモリ、半導体メモリ装置、内部固定ディスク、取り外し可能ディスクなどの磁気ディスク、光磁気媒体、およびCD−ROMディスクおよびデジタル・ビデオ・ディスク(digital versatile disks:DVDs)などの光媒体が含まれる。
例として、好適なプロセッサには、汎用プロセッサ、専用プロセッサ、通常プロセッサ、デジタル信号処理装置(digital signal processor:DSP)、複数のマイクロプロセッサ、DSPコアに関連づけられた1若しくはそれ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向けIC(Application Specific Integrated Circuits:ASICs)、プログラマブルゲート配列(Field Programmable Gate Arrays:FPGAs)回路、その他任意の種類の集積回路(Integrated Circuit:IC)、および/または状態機械が含まれる。
ワイヤレス送受信装置(wireless transmit receive unit:WTRU)、第3世代携帯電話端末(user equipment:UE)、端末、基地局、無線ネットワークコントローラ(radio network controller:RNC)、または任意のホストコンピュータに使用する無線通信機を実施するために、ソフトウェアに関連づけられたプロセッサを使用してもよい。前記WTRUは、カメラ、ビデオ・カメラ・モジュール、テレビ電話、スピーカフォン、振動装置、スピーカー、マイク、テレビ用送受信器、ハンズ・フリー・ヘッドセット、キーボード、ブルートゥース(登録商標)モジュール、FM(frequency modulated:FM)ラジオ装置、液晶表示(liquid crystal display:LCD)装置、有機LED(organic light−emitting diode:OLED)表示装置、デジタル音楽プレイヤー、メディアプレイヤー、ビデオゲーム機モジュール、インターネットブラウザー、および/または任意の無線ローカル・エリア・ネットワーク(wireless local area network:WLAN)モジュールなどのハードウェアおよび/またはソフトウェア内で実施するモジュールと連結して使用することができる。
例として提供され、添付の図面と併せて理解されるべき最良の実施形態の以下の記述によって、本発明のより詳細な理解を得ることができる。
図1は、呼掛器と、プラットフォームエージェントと、TPMと、リポジトリとを含むシステムにおいて実施される従来のTCG構成証明手順を示す。 図2は、2つの呼掛器とユーザー装置を含む、相互の拡張動作について知らない異なるアプリケーションが異なる状態からPCRを拡張するシステムにおいて実施される従来のTCG手順を示す。 図3は、本発明による、2つの呼掛器と、共通の基本状態からの状態拡張を使用するユーザー装置とを含むシステムにおいて実施されるTCG手順を示す。 図4は、従来技術を、異なる拡張された状態が異なる呼掛器について実施される本発明と比較する。 図5は、本発明による、異なるPCR上の異なる拡張された状態の割り当てを示す。 図6は、本発明による、2つの呼掛器と、参照基本状態(reference base state:RBS)証明書を用いた基本状態拡張を使用するユーザー装置とを含むシステムにおいて実施されるTCG手順を示す。 図7は、本発明による測定の選択的要求を図示する。 図8は、本発明による、物理的TPMの暗号化機能によって保護された外部メモリを使用する仮想PCR、およびTPMと仮想PCRとを有するシステムを使用して、呼掛器によるプラットフォーム構成の完全性検証のためのデータを供給できる様子を示す。

Claims (4)

  1. ユーザー装置であって、
    複数の署名付き参照基本状態(reference base state:RBS)証明書を有する証明書リポジトリであって、前記複数の署名付きRBS証明書の各々は、アプリケーションに関連付けられ、並びに基本状態およびハッシュ値を含む証明書リポジトリと、
    呼掛器が完全性の検証を意図する、前記ユーザー装置に読み込まれたアプリケーションに関連付けられたプラットフォーム構成を取得するように構成されたプラットフォームエージェントであって、当該プラットフォーム構成は、前記読み込まれたアプリケーションについて、前記複数の署名付きRBS証明書のうちの前記署名付きRBS証明書の基本状態を用いて計算され、もう1つのハッシュ値を構築するようさらに構成されたプラットフォームエージェントと、
    トラステッド・プラットフォーム・モジュール(trusted platform module:TPM)であって、前記証明書リポジトリから前記署名付きRBS証明書を取得し、および当該TPMにより制御され、前記署名付きRBS証明書のハッシュ値が前記プラットフォームエージェントにより構築された他のハッシュ値と同一であると検証した後、前記読み込まれたアプリケーションに関連付けられ、前記署名付きRBS証明書用のプラットフォーム構成レジスタ(platform configuration register:PCR)を拡張するよう構成されたTPMと
    を有するユーザー装置。
  2. 前記TPMは、構成証明アイデンティティ鍵(attestation identification key:AIK)を用いてPCR値に署名し、前記署名付きPCR値を前記プラットフォームエージェントに送信するようさらに構成された請求項1記載のユーザー装置。
  3. 前記プラットフォームエージェントは、前記署名付きPCR値を含むプラットフォーム構成情報を前記呼掛器に送信するようさらに構成された請求項2記載のユーザー装置。
  4. 前記呼掛器は、前記署名付きRBS証明書に示されたように、正しい基本状態に基づいて前記読み込まれ、前記署名付きRBS証明書に関連付けられたアプリケーションが読み込まれたことを検証するようさらに構成された請求項3記載のユーザー装置。
JP2009506616A 2006-04-21 2007-04-23 トラステッドコンピューティングの完全性測定の通知を実行する装置および方法 Expired - Fee Related JP5038396B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US79416506P 2006-04-21 2006-04-21
US60/794,165 2006-04-21
PCT/US2007/009713 WO2007124091A1 (en) 2006-04-21 2007-04-23 Apparatus and methods for performing trusted computing integrity measurement reporting

Publications (2)

Publication Number Publication Date
JP2009534749A JP2009534749A (ja) 2009-09-24
JP5038396B2 true JP5038396B2 (ja) 2012-10-03

Family

ID=38516167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009506616A Expired - Fee Related JP5038396B2 (ja) 2006-04-21 2007-04-23 トラステッドコンピューティングの完全性測定の通知を実行する装置および方法

Country Status (7)

Country Link
US (1) US8566606B2 (ja)
EP (1) EP2013808B1 (ja)
JP (1) JP5038396B2 (ja)
KR (2) KR20090006876A (ja)
CN (1) CN101473329B (ja)
ES (1) ES2664413T3 (ja)
WO (1) WO2007124091A1 (ja)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799447B2 (en) * 2006-10-18 2014-08-05 International Business Machines Corporation Notarizing packet traces
US8117429B2 (en) * 2006-11-01 2012-02-14 Nokia Corporation System and method for a distributed and flexible configuration of a TCG TPM-based local verifier
JP5069348B2 (ja) * 2007-06-18 2012-11-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ソフトウェア無線端末のセキュリティ
JP4956292B2 (ja) * 2007-06-25 2012-06-20 パナソニック株式会社 情報セキュリティ装置およびカウンタ制御方法
US9015454B2 (en) * 2008-05-02 2015-04-21 Hewlett-Packard Development Company, L.P. Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys
JP5178341B2 (ja) * 2008-06-23 2013-04-10 パナソニック株式会社 オプショナルなコンポーネントを伴うセキュアブートの方法
US8572692B2 (en) * 2008-06-30 2013-10-29 Intel Corporation Method and system for a platform-based trust verifying service for multi-party verification
US8161285B2 (en) * 2008-09-26 2012-04-17 Microsoft Corporation Protocol-Independent remote attestation and sealing
JP5457362B2 (ja) * 2008-10-10 2014-04-02 パナソニック株式会社 情報処理装置、情報処理方法、情報処理プログラム及び集積回路
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
CN102282564B (zh) * 2009-02-18 2014-10-15 松下电器产业株式会社 信息处理设备和信息处理方法
US9596989B2 (en) 2009-03-12 2017-03-21 Raytheon Company Networked symbiotic edge user infrastructure
US8892862B2 (en) 2009-07-01 2014-11-18 Panasonic Corporation Secure boot method for executing a software component including updating a current integrity measurement based on whether the software component is enabled
EP2348444B1 (en) * 2009-12-16 2014-03-19 Nxp B.V. Data processing apparatus
EP2537115B1 (en) * 2010-02-16 2015-05-13 Nokia Technologies OY Method and apparatus to reset platform configuration register in mobile trusted module
GB2482652B (en) * 2010-05-21 2016-08-24 Hewlett Packard Development Co Lp Extending integrity measurements in a trusted device using a policy register
US9208318B2 (en) * 2010-08-20 2015-12-08 Fujitsu Limited Method and system for device integrity authentication
MY155582A (en) * 2011-01-13 2015-11-03 Mimos Berhad System and method to provide integrity measurement of a machine without tpm using trusted agent
US9020419B2 (en) 2011-01-14 2015-04-28 Covidien, LP Wireless relay module for remote monitoring systems having power and medical device proximity monitoring functionality
US8897198B2 (en) 2011-01-14 2014-11-25 Covidien Lp Medical device wireless network architectures
US9495511B2 (en) 2011-03-01 2016-11-15 Covidien Lp Remote monitoring systems and methods for medical devices
US8855550B2 (en) 2011-01-14 2014-10-07 Covidien Lp Wireless relay module having emergency call functionality
US8903308B2 (en) 2011-01-14 2014-12-02 Covidien Lp System and method for patient identification in a remote monitoring system
US20120324236A1 (en) * 2011-06-16 2012-12-20 Microsoft Corporation Trusted Snapshot Generation
US8930939B2 (en) * 2011-06-25 2015-01-06 International Business Machines Corporation Comparing system engram with product engram to determine compatibility of product with system
US9058190B2 (en) * 2011-06-25 2015-06-16 International Business Machines Corporation Comparing system engram with product engram to determine compatibility with system
US9014023B2 (en) 2011-09-15 2015-04-21 International Business Machines Corporation Mobile network services in a mobile data network
US8971192B2 (en) 2011-11-16 2015-03-03 International Business Machines Corporation Data breakout at the edge of a mobile data network
US8793504B2 (en) * 2012-02-22 2014-07-29 International Business Machines Corporation Validating a system with multiple subsystems using trusted platform modules and virtual platform modules
JP5980050B2 (ja) * 2012-08-29 2016-08-31 キヤノン株式会社 情報処理装置
ES2743154T3 (es) 2012-09-13 2020-02-18 Kpr Us Llc Estación de acoplamiento para bomba de alimentación enteral
US8782401B2 (en) * 2012-09-26 2014-07-15 Intel Corporation Enhanced privacy ID based platform attestation
US9152793B2 (en) * 2012-09-28 2015-10-06 Intel Corporation Methods, systems and apparatus to self authorize platform code
CN104782155A (zh) * 2012-11-08 2015-07-15 诺基亚技术有限公司 移动tpm中部分虚拟的pcr组
US9747471B2 (en) * 2012-12-12 2017-08-29 Cisco Technology, Inc. Secure switch between modes
CN108762887B (zh) * 2013-03-06 2022-03-11 英特尔公司 用于虚拟机的测量的信任根
US9201642B2 (en) * 2013-03-15 2015-12-01 International Business Machines Corporation Extending platform trust during program updates
US10073966B2 (en) * 2013-04-29 2018-09-11 Sri International Operating system-independent integrity verification
USD746441S1 (en) 2013-09-13 2015-12-29 Covidien Lp Pump
US9542568B2 (en) * 2013-09-25 2017-01-10 Max Planck Gesellschaft Zur Foerderung Der Wissenschaften E.V. Systems and methods for enforcing third party oversight of data anonymization
US9519498B2 (en) 2013-12-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual machine assurances
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9584317B2 (en) 2014-10-13 2017-02-28 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US10229272B2 (en) 2014-10-13 2019-03-12 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9608825B2 (en) * 2014-11-14 2017-03-28 Intel Corporation Trusted platform module certification and attestation utilizing an anonymous key system
US9519787B2 (en) 2014-11-14 2016-12-13 Microsoft Technology Licensing, Llc Secure creation of encrypted virtual machines from encrypted templates
JP6494373B2 (ja) * 2015-03-31 2019-04-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム
EP3495979A1 (de) * 2017-12-08 2019-06-12 Siemens Aktiengesellschaft Verfahren und bestätigungsvorrichtung zur integritätsbestätigung eines systems
EP3561709B1 (en) * 2018-04-25 2020-07-29 Siemens Aktiengesellschaft Data processing apparatus, system, and method for proving or checking the security of a data processing apparatus
US11017090B2 (en) 2018-12-17 2021-05-25 Hewlett Packard Enterprise Development Lp Verification of a state of a platform
RU2706873C1 (ru) * 2018-12-28 2019-11-21 Акционерное общество "Лаборатория Касперского" Система и способ проверки ЭЦП файла
US11372970B2 (en) * 2019-03-12 2022-06-28 Hewlett Packard Enterprise Development Lp Multi-dimensional attestation
CN111866044A (zh) * 2019-04-29 2020-10-30 华为技术有限公司 数据采集方法、装置、设备及计算机可读存储介质
US11360784B2 (en) 2019-09-10 2022-06-14 Hewlett Packard Enterprise Development Lp Integrity manifest certificate
EP3869367A1 (de) * 2020-02-18 2021-08-25 Siemens Aktiengesellschaft Computergestütztes verfahren zum speichern eines integritätsstatus, integritätsstatusvorrichtung und computerprogrammprodukt
CA3168340A1 (en) * 2022-07-20 2024-01-20 Jan Morava System and method for mitigation of intrusive electromagnetic fields

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963859B2 (en) * 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
JP3863447B2 (ja) * 2002-03-08 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証システム、ファームウェア装置、電気機器、及び認証方法
US7343493B2 (en) * 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
GB2399906B (en) * 2003-03-22 2006-10-04 Hewlett Packard Development Co Method and system for delegating authority and access control methods based on delegated authority
US7269747B2 (en) * 2003-04-10 2007-09-11 Lenovo (Singapore) Pte. Ltd. Physical presence determination in a trusted platform
US7634807B2 (en) 2003-08-08 2009-12-15 Nokia Corporation System and method to establish and maintain conditional trust by stating signal of distrust
CN100347986C (zh) * 2003-11-24 2007-11-07 华中科技大学 一种身份认证的方法和系统
JP4064914B2 (ja) * 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US7421588B2 (en) 2003-12-30 2008-09-02 Lenovo Pte Ltd Apparatus, system, and method for sealing a data repository to a trusted computing platform
US20050177749A1 (en) * 2004-02-09 2005-08-11 Shlomo Ovadia Method and architecture for security key generation and distribution within optical switched networks
JP4599852B2 (ja) * 2004-02-23 2010-12-15 ソニー株式会社 データ通信装置および方法、並びにプログラム
US7318150B2 (en) 2004-02-25 2008-01-08 Intel Corporation System and method to support platform firmware as a trusted process
US7574600B2 (en) * 2004-03-24 2009-08-11 Intel Corporation System and method for combining user and platform authentication in negotiated channel security protocols
US7653727B2 (en) * 2004-03-24 2010-01-26 Intel Corporation Cooperative embedded agents
JP4144880B2 (ja) 2004-04-09 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法
US20050251857A1 (en) * 2004-05-03 2005-11-10 International Business Machines Corporation Method and device for verifying the security of a computing platform
GB0411654D0 (en) * 2004-05-25 2004-06-30 Hewlett Packard Development Co A generic trusted platform architecture
US20060005009A1 (en) * 2004-06-30 2006-01-05 International Business Machines Corporation Method, system and program product for verifying an attribute of a computing device
EP1617587A1 (en) * 2004-07-12 2006-01-18 International Business Machines Corporation Method, system and computer program product for privacy-protecting integrity attestation of computing platform
US20060015860A1 (en) * 2004-07-15 2006-01-19 Sony Corporation And Sony Electronics, Inc. System and method for storing attributes in a file for processing an operating system
JP4562464B2 (ja) * 2004-09-07 2010-10-13 富士通株式会社 情報処理装置
US7653819B2 (en) * 2004-10-01 2010-01-26 Lenovo Singapore Pte Ltd. Scalable paging of platform configuration registers
US7836299B2 (en) * 2005-03-15 2010-11-16 Microsoft Corporation Virtualization of software configuration registers of the TPM cryptographic processor
US7613921B2 (en) * 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules

Also Published As

Publication number Publication date
CN101473329B (zh) 2013-05-01
KR101041543B1 (ko) 2011-06-17
CN101473329A (zh) 2009-07-01
WO2007124091A1 (en) 2007-11-01
JP2009534749A (ja) 2009-09-24
KR20080112404A (ko) 2008-12-24
KR20090006876A (ko) 2009-01-15
EP2013808A1 (en) 2009-01-14
ES2664413T3 (es) 2018-04-19
US20090307487A1 (en) 2009-12-10
EP2013808B1 (en) 2018-01-10
US8566606B2 (en) 2013-10-22

Similar Documents

Publication Publication Date Title
JP5038396B2 (ja) トラステッドコンピューティングの完全性測定の通知を実行する装置および方法
CN107077574B (zh) 用于客户端设备的信任服务
EP3265950B1 (en) Device attestation through security hardened management agent
KR101861401B1 (ko) 장치 기능과 애플리케이션의 결합
KR101000191B1 (ko) 보안 소프트웨어 갱신
CN112262546B (zh) 用于数据处理加速器的密钥分配和交换的方法和系统
US10972289B2 (en) Software release verification
CN111066016B (zh) 应用证书
US11082214B2 (en) Key generation apparatus and key update method
KR20200085724A (ko) 호스트 시스템과 데이터 처리 가속기 사이의 보안 통신을 제공하기 위한 방법 및 시스템
CN110325992B (zh) 对初始计算机操作系统设置选项的远程管理
CN112334902A (zh) 建立主机系统与数据处理加速器之间的安全信息交换信道的方法
CN112236772B (zh) 用于管理数据处理加速器的内存的方法和系统
CN113536361B (zh) 一种可信基准库的实现方法、装置及计算设备
CN112262545A (zh) 主机系统与数据处理加速器之间的证明协议
WO2018233638A1 (zh) Ai软件系统安全状态的确定方法及装置
US11290276B2 (en) Method and system for a signed document validity service
US20240028691A1 (en) Capability-restricted system control
KR20240047215A (ko) 인증서의 업데이트 방법 및 이를 구동하는 디바이스의 인증서업데이트 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110812

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111111

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120113

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20120223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120410

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120514

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

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

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees