JP2008525892A - モニタを用いてtpmを常に“オン”にロックする方法及びシステム - Google Patents

モニタを用いてtpmを常に“オン”にロックする方法及びシステム Download PDF

Info

Publication number
JP2008525892A
JP2008525892A JP2007548385A JP2007548385A JP2008525892A JP 2008525892 A JP2008525892 A JP 2008525892A JP 2007548385 A JP2007548385 A JP 2007548385A JP 2007548385 A JP2007548385 A JP 2007548385A JP 2008525892 A JP2008525892 A JP 2008525892A
Authority
JP
Japan
Prior art keywords
computer
monitor
watchdog circuit
signal
tpm
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.)
Granted
Application number
JP2007548385A
Other languages
English (en)
Other versions
JP2008525892A5 (ja
JP4945454B2 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008525892A publication Critical patent/JP2008525892A/ja
Publication of JP2008525892A5 publication Critical patent/JP2008525892A5/ja
Application granted granted Critical
Publication of JP4945454B2 publication Critical patent/JP4945454B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

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

Abstract

コンピュータは、知られたモニタを検証するのに用いられる信頼された環境を含むことにより、攻撃から保護される。モニタは、コンピュータの状態が一群の条件を遵守しているかを決定するのに用いられる。条件とは、利用毎支払いのクレジットなどの利用規約や、コンピュータがウィルス防御など特定のソフトウェアを実行していることや、無権限の周辺機器が取り付けられていないことや、必要なトークンがあることなどである。モニタは、ウォッチドッグ回路に直接にまたは信頼された環境を通して信号を送る。ウォッチドッグ回路は、決められた期間内に信号を受信しない場合、コンピュータの利用を妨害する。

Description

パーソナルコンピュータなどのコンピューティング・デバイスに用いられるTPM(Trusted Platform Module)が知られている。TPMの目的は、コンピュータにアイデンティティを提供し、トランザクションや、アプリケーションやメディアのライセンシングや、ユーザデータの保護や、特殊な機能に関するサービスのセキュリティを確保することにある。
TPMは市販されており、例えば、STMマイクロエレクトロニクスのST19WP18などから取得可能である。TPMは鍵を格納し、これらの鍵を用いてアプリケーションプログラムや、BIOS情報や、アイデンティティの認証をする。しかし、TPMの利用は任意のものであり、現行の及び今後予測される基準及び実施においては、コンピューティング・デバイスにある状態(condition)を要求するために利用することはできない。ビジネスモデルには、コンピュータがコンピュータの所有者、供給者の直接のコントロール外であると仮定するものもあり、例えば使用毎支払い(pay-per-use)ビジネスモデルである。このような場合においては、TPMサービスを回避することが可能であり、もし回避が起きると、ビジネスに望ましくない悪影響が及ぼされることがある。
TPMは、コンピューティング・デバイスに状態を強いる監視プログラムを認証するために用いることができる。TPMに注入されたまたは書き込まれたオーナー鍵は、オーナーによって許可されたモニタが作動可能であることを要求するために用いられる。その代わり、許可されたモニタは、その認証されてステータスにより、TPMのリソースにアクセスすることができる。このようなTPMのセキュアなリソースとは、例えば汎用入出力(GPIO)ポートである。GPIOで受信された信号によってウォッチドッグタイマが一定計時時間以内にリスタートされない限り、該一定計時時間後にコンピュータをリセットするように、簡単なウォッチドッグタイマを設定してもよい。
コンピュータをこのように設定することにより、知っているモニタが機能していることを確実にするためにTPMを用い、モニタとTPMとが不能化しておらず、かついたずらをされないことを確実にするためにウォッチドッグタイマを用いることができる。
下記の文章は、数々の異なる実施例を詳述するものであるが、該記載の法的範囲はこの開示の最後に記す特許請求の範囲の文言によって定義されるべきであることが理解されよう。可能な実施形態の全てにつき記載することは不可能ではなくても非現実的であるので、本詳述は、例示としてのみ解釈されるべきであり可能な実施形態の全てを記載するものではない。現在の技術または本特許の出願日の後に開発される技術を用いて、本特許請求の範囲に該当する数多くの代替実施例が実施され得る。
また、本特許において「ここで用いられる『__』という用語は、…を意味するとここにおいて定義される」という文章またはこれに類似した文章によって明示的に定義されない限り、用語の明らかなまたは通常の意味以上にその用語の意味を、明示的にも暗示的にも限定することを意図するものではなく、如何なる用語も、本特許のどの部分(特許請求の範囲を除く)に書かれた如何なる記載によってでも限定的に解釈されるべきではない。本特許の終わりの特許請求の範囲に記載された用語が、如何なる用語であっても一つの意味に一貫して本特許内で言及される限りにおいては、読者を混乱させないように明確さのためになされたものであって、その特許請求の範囲の用語を暗示または他の方法によってその一つの意味に限定することを意図するものではない。最後に、特許請求の範囲の要素が、構造を記載することなく「手段」という言葉及び機能によって定義されているのでなければ、如何なる特許請求の範囲の要素も、米国法35USC112条の第6パラグラフを元に解釈されることを意図するものではない。
発明の機能の大部分及び発明の理論の多くは、ソフトウェアプログラムやインストラクションやASIC(Application Specific Integration Circuit)などの集積回路(IC)と共に、またはこれらによって最良に実施される。通常の能力を有する者は、ここに開示する概念や理論を手引きとすることにより、利用可能な時間や現在の技術や経済的状況などによって動機付けられる多大であるかもしれない努力と多くの設計選択肢にも拘らず、そのようなソフトウェアインストラクションやプログラムやICを最小の実験により作成することが十分に可能であることが期待される。従って、本発明に基づく理論、概念をあいまいにするリスクを最小化し、簡潔化するため、このようなソフトウェア、ICに関する更なる議論は、仮にあるとすれば、望ましい実施形態の理論及び概念に比して必要なものに限定されている。
図1は、ダイナミックソフトウェア提供システムを実施するのに使われるネットワーク10を図示している。ネットワーク10は、インターネット、バーチャルプライベートネットワーク(VPN)、または一つまたはそれ以上のコンピュータ、通信デバイス、データベースなどを互いに通信可能に接続する如何なる他のネットワークであってもよい。ネットワーク10は、パーソナルコンピュータ12とコンピュータ端末14とに、イーサネット(登録商標)接続子(Ethernet(登録商標) connection)16と、ルータ18と、地上線20とを介して接続されている。一方、ネットワーク10は、ラップトップコンピュータ22とパーソナルデジタルアシスタント24とに、ワイヤレス通信局26とワイヤレスリンク28とを介して接続されている。同様に、サーバ30は通信リンク32を用いてネットワーク10に接続され、メインフレーム34は別の通信リンク36を用いてネットワーク10に接続されている。
図2はコンピューティング・デバイスをコンピュータ110として図示する。コンピュータ110の構成要素には、処理部120と、システムメモリ130と、システムバス121とが含まれるが、これらに限定されるものではない。システムバス121は、システムメモリを含む様々なシステム構成要素を処理部120に結合する。システムバス121は、メモリバスまたはメモリコントローラ、周辺バス、多数のバスアーキテクチャのいずれかを用いたローカルバスを含む、いくつかの種類のバス構造のいずれであってもよい。限定でなく例として、そのようなアーキテクチャにはISA(Industry Standard Architecture)バスと、マイクロチャネルアーキテクチャ(MCA)バスと、EISA(Enhanced ISA)バスと、ビデオエレクトロニクス標準協会(VESA)ローカルバスと、メザニンバスとしても知られているPCI(Peripheral Component Interconnect)バスとを含む。
コンピュータ110は、多様なコンピュータ読み込み可能なメディアを典型的に含む。コンピュータ読み込み可能なメディアは、コンピュータ110がアクセス可能な如何なる利用可能なメディアでもよく、揮発性及び不揮発性メディア、取り外し可能及び取り外し不能メディアの両方を含む。限定でなく例として、コンピュータ読み取り可能メディアは、コンピュータ格納メディアと通信メディアとを含む。コンピュータ格納メディアは、コンピュータ読み込み可能インストラクションやデータ構造やプログラムモジュールまたは他のデータなどの情報の格納のための如何なる方法または技術によって実施され得る、揮発性及び不揮発性メディア、取り外し可能及び取り外し不能メディアをも含む。コンピュータ格納メディアは、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、DVDまたはその他光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気格納デバイス、または望みの情報を格納しコンピュータ110でアクセスし得るその他の如何なる媒体をも含むが、これらに限定されるものではない。通信メディアは、典型的には、コンピュータ読み取り可能インストラクション、データ構造、プログラムモジュールまたは他のデータを、搬送波または他のトランスポート機構などの変調されたデータ信号により実現し、如何なる情報伝達メディアをも含む。「変調されたデータ信号」とは、信号中に情報を符号化するようにその特徴の一つまたは複数を設定または変更した信号を意味する。限定でなく例として、通信メディアは有線ネットワークまたは直接有線接続などの有線メディアや、音響、ラジオ周波数、赤外線及び他の無線メディアなどの無線メディアを含む。コンピュータ読み取り可能なメディアの範囲には、上記の如何なる組み合わせも含まれるべきである。
システムメモリ130は、リードオンリーメモリ(ROM)131やランダムアクセスメモリ(RAM)132などの揮発性及び/または不揮発性メモリの形をとるコンピュータ格納メディアを含む。スタートアップの間などに、コンピュータ110内の要素間の情報伝達を助ける基本ルーチンを含むベーシックインプット/アウトプットシステム(BIOS)133は、典型的にはROM131に格納されている。RAM132は、処理ユニット120によってすぐにアクセス可能または処理ユニット120に現在用いられているデータ及び/またはプログラムモジュールを典型的には含む。限定でなく例として、図1はオペレーティングシステム134、アプリケーションプログラム135、その他プログラムモジュール136、プログラムデータ137を図示している。
コンピュータ110は、その他の取り外し可能及び取り外し不能、揮発性及び不揮発性コンピュータ格納メディアも含んでいてよい。例としてのみ、図1は、取り外し不能不揮発性磁気メディアに読み書きするハードディスクドライブ141と、取り外し可能揮発性磁気ディスク152に読み書きする磁気ディスクドライブ151と、CDROMや他の光メディアなどの取り外し可能不揮発性光ディスクに読み書きする光ディスクドライブ155とを図示している。例示のオペレーティング環境において用いることのできる他の取り外し可能及び取り外し不能、揮発性及び不揮発性コンピュータ格納メディアには、磁気テープカセット、フラッシュメモリカード、DVD,デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどを含まれるが、これらに限定されるものではない。ハードディスクドライブ141は、典型的にはインタフェース140などの取り外し不能メモリインタフェースを通してシステムバス121に接続されており、磁気ディスクドライブ151と光ディスクドライブ155は、典型的にはインタフェース150などの取り外し可能メモリインタフェースによりシステムバス121に接続されている。
上述され図2に図示されたドライブとそれらに関連するコンピュータ格納メディアは、コンピュータ読み取り可能なインストラクション、データ構造、プログラムモジュール、及びコンピュータ110のためのその他データの格納部を提供する。図1では、例えば、ハードディスクドライブ141が、オペレーティングシステム144、アプリケーションプログラム145、その他プログラムモジュール146、プログラムデータ147を格納するものとして図示されている。これら構成要素は、オペレーティングシステム134、アプリケーションプログラム135、その他プログラムモジュール136、プログラムデータ137と同じでも異なっていてもよいことに注意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、その他プログラムモジュール146、プログラムデータ147は、異なるコピーであることを少なくとも示すために異なる番号を与えられている。ユーザは、キーボード162と、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス161となどの入力デバイスによって、コンピュータ20にコマンドや情報を入力する。その他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれる。これらの、またその他の入力デバイスは、システムバスに結合されたユーザインタフェース160を介して処理ユニット120に接続されていることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などの他のインタフェースやバス構造によって接続されていてもよい。陰極線管191または他の種類のディスプレイデバイスも、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続されている。モニタに加えてコンピュータはさらに、外部周辺インタフェース190を介して接続されたスピーカ197やプリンタ196などの、他の周辺出力デバイスを含んでもよい。
コンピュータ110は、ネットワーク化された環境の中で、リモートコンピュータ180などの一つまたは複数のリモートコンピュータへの論理接続を用いて作動する。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードでよく、図1にはメモリ格納デバイス181しか図示されていないものの、典型的には、コンピュータ110に関連して上述された要素の多くまたは全てを含んでいる。図1に図示された論理接続は、構内通信網(LAN)171と、広域通信網(WAN)173とを含むが、他のネットワークをさらに含んでも良い。このようなネットワーキング環境は、オフィスや企業ワイドコンピュータネットワーク、イントラネット、インターネットにはよく見られる。
LANネットワーキング環境で用いられるとき、コンピュータ110はネットワークインタフェースまたはアダプタ170を介してLAN171に接続されている。WANネットワーキング環境で用いられるとき、コンピュータ110は典型的には、モデム172、またはインターネットなどのWAN173上で通信を設立するための他の手段を備えている。モデム172は、内蔵でも外付けでもよく、ユーザインプットインタフェース160または他の適当な機構を介してシステムバス121に接続されている。ネットワークされた環境においては、コンピュータ110に関連して図示されたプログラムモジュール、またはその一部は、リモートメモリ格納デバイスに格納されていてよい。限定としてではなく例として、図1にはメモリデバイス181に存するリモートアプリケーションプログラム185が開示されている。
通信接続170、172は、デバイスが他のデバイスと通信できるようにする。通信接続170、172は、通信メディアの一例である。通信メディアは典型的には、搬送波または他の伝送機構のような変調されたデータ信号中のコンピュータ読み取り可能なインストラクションや、データ構造や、プログラムモジュールや、他のデータを具現し、如何なる情報配達メディアをも含む。「変調されたデータ信号」とは、信号中に情報を符号化するようにその特徴の一つまたはそれ以上を設定または変更した信号である。限定としでではなく例として、通信メディアには、有線ネットワークまたは直接有線接続などの有線メディアや、音響、RF,赤外線及びその他の無線メディアなどの無線メディアが含まれる。コンピュータ読み取り可能なメディアには、格納メディアと通信メディアとが共に含まれる。
下記に詳述する、TPM125または他の信頼された環境は、データと鍵を格納し、実行可能なコードとデータを検証する。TPMの仕様書は、セクション4,5,2,1に「システム初期化の一部として、プラットフォームの構成要素の計測及び設定が行われる。計測によって安全でない設定を検知することはできず、さらに初期化プロセスの継続を防止するための作用を行うこともしない。この責任は、オペレーティングシステムなどの適当なレファレンスモニタが負う。」と記している。TPMは、行使ツールとして定義されていないため、以下に記す追加事項は一般的なTPMを補足する。
ウォッチドッグ回路126は、時間を計測し、期限が切れるとコンピュータ110のオペレーションを妨害するシグナル127をトリガするよう設定されている。この妨害は、コンピュータ110を再起動させる、システムリセットであってよい。この妨害により、システムバス121または周辺バスにあるデータが遮断される。ウォッチドッグ126が、コンピュータ110のオペレーションを妨害しないよう、期限をリセットし計時処理をやり直す信号が通信接続128上に要求される。図2に示すように、ウォッチドッグタイマリセット信号が通信接続128上に伝播される。以下に詳述するように、TPM125は、モニタプログラムからの信号に応答してウォッチドッグタイマリセットを開始してもよい。以下に記すステップは、TPM125とウォッチドッグ回路126との組み合わせを用いることによって、特定の希望のモニタが存在し作動していることを確実にする手助けとして用いられる。
図3には、図2のような代表的なコンピュータの中の機能層の階層的な表現を示す簡単化されたブロック図が説明及び記載されている。TPM202は、基礎入出力構造(BIOS)204の下に存するハードウェアである。TPM202は、コンピュータおよびBIOS204などの高層のオペレーションにとってのリソースとして機能する。BIOSはモニタ204を作動させる。モニタ206は、オペレーティングシステム208の下のモニタレベル210に存する。モニタ206は、TPM202にアクセスしそのリソースを用いて高レベルのエンティティのオペレーションに関するポリシーを実行する。オペレーティングシステム208は、コンピュータ110の主要な機能をサポートし、(最初のブートストラップ処理ハンドオーバー制御の後は)通信、ユーザ入出力、ディスク及び他のメモリアクセス、アプリケーション開始などの責任を持つ。オペレーティングシステムは、TPM202に直接アクセスしTPM202を使用することもできる。図示されているように、第1および第2アプリケーション212、214はオペレーティングシステム208上で実行される。場合によっては、モニタはオペレーティングシステム208及びアプリケーション212、214の両方に関連するポリシーを行使する。例えば、アプリケーション214がディスク216から実行される前に、オペレーティングシステムは、線218で示されるようにライセンスの状態をチェックし、アプリケーション214が与えられた実行開始基準を満たしているかを判断する。モニタ機能を用いた、実行開始及び以後のアプリケーションのメータリングの基準は、代理人事務所番号30835/40476の2004年12月8日出願の米国特許出願「進行型支払い(Pay-As-You-Go)コンピュータ及び動的相対的価格付け(Dynamic Differential Pricing)の方法」に詳細に述べられている。簡単に言うとモニタ206は、例えばアプリケーションプログラムやユーティリティやコンピュータリソースを、進行型支払いまたは前払いのシナリオにおいて計測しメータするために用いられる。
図6を簡単に参照して、TPM202についてより詳細に述べる。TPM202は、揮発性及び不揮発性のメモリを共に有する内蔵メモリ502を有し、そのうちの少なくとも一部は改ざんや権限の無い者による書き込み操作などから保護されている。メモリはオーナー鍵504を格納し、オーナー鍵504は、TPM202を設定し外部の存在と信頼関係を確立する目的で、オーナーとの関係を主張するエンティティを確認するのに用いられる。メモリには、他のものに加えてさらに、プラットフォーム設定レジスタ(PCR: Platform Configuration Register)506が含まれている。PCR506は、ハッシュまたはモニタ206と関連付けられた他の強い識別子を格納するのに用いられる。TPM202は、時計508及び暗号サービス510をさらに備えている。これらは共に、以下により詳細に述べるように、認証および権限付与プロセスに用いられる。TPM202はさらに、シングルピンバス(Single-pin bus)または汎用入出力(GPIO)としてときに言及されるバス512をさらに備える。一つの実施例では、他箇所に記載の通り、GPIO512はウォッチドッグ回路に接続される。
TPM202は、モニタ526を実行する処理などのコンピュータ内のデータ通信のために、汎用バス514に接続されている。バス514または場合によっては他の機構516を用いて、TPM202はモニタを計測することができる。モニタの計測には、モニタの暗号ハッシュのチェック、つまりモニタによって占用されているメモリ領域のハッシュのチェックが含まれる。計測データ506を格納するのにPCRが用いられてもよい。オーナー鍵504は、例ばモニタのデジタル署名されたハッシュで確認にオーナー鍵504を要求するものによって、モニタ506のハッシュと関係付けられている。オーナー鍵504は、製造時またはその後、例えば顧客への配送時などに、TPM202に書き込まれる、または注入される。そしてオーナー鍵504は、モニタ206を認証するのに用いられる。
例示の実施形態では、モニタ206は、ブートシークエンスでそれに先行する信用されたモジュール、例えばBIOS204によって計測される。モニタの計測、例えばBIOS204によって計算されるハッシュなどは、バス514を介してTPM PCR506に格納される。TPM202が計測(ハッシュ)を確証するとき、TPM202は、モニタ206に割り当てられTPM202に格納された一意の鍵及び/または他の秘密のモニタ206へのアクセスを許可する。TPM202は、如何なるモニタにも対応する鍵と秘密とを、そのモニタの計測値に応じた計測値によって割り当てる。
TPMは、対応するモニタメトリック509、例えば知られたモニタ206のハッシュなどと、オーナー鍵504とでプログラムされている。オーナー鍵は、モニタメトリック509をプログラムまたは更新するのに用いられ、オーナー鍵504を有するエンティティだけが知られたモニタ206のPCRレジスタ506を設定し得るようにする。標準的なTPM202には、与えられた計測値506に対して検証されたモニタ206のみがGPIO512を制御できるという特徴がある。GPIO512が、改ざんから保護されつつウォッチドッグ回路126に接続されているとき、信頼の鎖が完成される。つまり、検証されたモニタ206のみがGPIO512を制御してよく、GPIO512のみがウォッチドッグ回路126をリスタートすることができる。従って、モニタ206が交換されたり変更されたりしても、オーナー鍵506が設定したPCR506によって検証されたモニタ206のみがウォッチドッグ回路126をリスタートするのに用いられ得る。従って、権限を付与されたモニタのみが、ウォッチドッグがコンピュータ110をリセットするなどによりコンピュータ110を妨害するのをやめさせるのに用いられ得る。ウォッチドッグ回路126のタイマは、コンピュータ110の変造、改ざんの回復は可能であるがコンピュータ110で有意義な実用的作業をするのを妨げるに十分な短さとなるよう選択された期間に設定される。例えばウォッチドッグは、確証されたモニタ206がリスタートしない限り、コンピュータ110を10から20分おきに妨害するよう設定される。
オーナー秘密とモニタ計測値506とは、安全な製造環境においてプログラムされてもよいし、オーナー鍵504をプログラムするエンティティに知られているトランスポート鍵を用いてフィールドプログラムされてもよい。オーナー鍵504が知られると、サービスプロバイダなどのプログラミングを行うエンティティは、どのモニタがGPIOバスへのアクセス権を与えられるかを決定するモニタ計測値を設定する。オーナー鍵を再プログラムするには、オーナー鍵504が要求される。生成された鍵を使うことによって、鍵の分配や、ローカルのオーナー鍵504が侵害された場合の広範な喪失からの保護やスケーリングを容易にする。鍵管理技術は、データセキュリティの分野では公知である。
図4は、コンピュータ110と同じまたは類似のコンピュータ300の代表的アーキテクチャのブロック図である。コンピュータは第1および第2インタフェースブリッジ302、304を有している。インタフェースブリッジ302,304は高速306バスによって接続されている。第1インタフェースブリッジはプロセッサ308と、グラフィックコントローラ310と、メモリ312とを接続されている。メモリ312はモニタプログラム314や他の一般的なメモリ使用をホストする。
第2インタフェースブリッジ304は、例えばユニバーサルシリアルバス(USB)316、IDE(Integrated Drive Electronics)318、または周辺装置相互接続(PCI: Peripheral Component Interconnect)320などの、ディスクドライブやプリンタやスキャナなどに接続するために用いられる、周辺バス及び構成要素に接続される。第2インタフェースブリッジはTPM322にも接続されている。上述のように、TPM322は、鍵及びハッシュデータのための安全なメモリ324と、汎用入出力(GPIO)326とを備えている。TPM322は、接続328によって物理的にまたは論理的にモニタに連結されている。既述の通り、BIOS204はモニタ206を計測し、計測値をTPM322に格納し、TPM322は、提供された計測値に応じてモニタ314に鍵及び秘密を割り当てる。こうしてモニタ314はこれらの鍵及び秘密でロックされたリソース及びデータへのアクセス権を与えられる。接続328は、ウォッチドッグ回路330に信号を送る目的で、モニタによってGPIO326を制御するために用いられてよい。信号は、ウォッチドッグをリセットさせる。信号が、ウォッチドッグ回路330の設定で禁止(proscribe)されている期間に、ウォッチドッグ回路330によって受信されなかったとき、リセットまたは他の妨害的信号が接続332を介して送信される。改ざんを抑えるために、GPIO326とウォッチドッグ回路330との間の接続は、ウォッチドッグ回路330の手動再起動を抑止するため、例えば回路基盤層間のポッティング(potting)やルーティングによって保護されている。コンピュータリセット信号接続332は同様に改ざんから保護されており、またはコンピュータリセット信号接続332のウォッチドッグ回路330とメインプロセッサコンピュータリセット点(図示なし)の間の少なくとも一部が同様に保護されている。
図5は、図2のコンピュータの代替アーキテクチャのブロック図である。図4の記載に比較して同様の番号を付された構成要素は同じである。ウォッチドッグ回路330は第2インタフェースブリッジ304内に移動されており、ウォッチドッグ回路330が改ざん耐久性向上のために如何に他の回路に組み合わされ得るかを示している。ウォッチドッグ回路330の第2インタフェースブリッジ304への組み合わせは、それ自体適当なものであるが、事例にすぎない。第2インタフェースブリッジ304はコンピュータアーキテクチャの主要な構成要素であるので、望みのレベルの妨害を第2インタフェースブリッジ304の内部から実行することができる。従って、接続332のような、第2インタフェースブリッジ304の外側のウォッチドッグ回路330からの接続を必要としない。
この代替実施形態では、GPIO326がリセットの信号をウォッチドッグ回路330に送るために用いられることはない。代わりに、メッセージが論理接続334上モニタ314からウォッチドッグ回路330に直接送信される。
2つのエンティティ(314、330)の間に十分な信頼が存在しないので、メッセージはTPM322で保持された鍵を用いて書名される。例えばこれらの鍵は、第1ブートの間(例えば、製造ライン上で−信頼性のため)モニタ314と関連付けられている。鍵は、任意に割り当てられてよく、または、上述のように、ルート認証、シリアル番号または製造シークエンス番号などの知られたデータとマスター鍵とから階層的に生成されてもよい。ウォッチドッグタイマ330は、例えばアセンブリラインにおけるコンピュータ110の最初のブートの間、これらの鍵を用いて書名されたメッセージのみを尊重するように設定される。さらに、モニタはこれらの鍵をTPM322にロックし、同一の計測値を持つモニタ314のみがこれらの鍵にアクセスできるようにしてもよい。このアーキテクチャの変形例では、これらの鍵が計測値に応じてそれぞれ一意になるようにモニタに分配されるよう、モニタがTPM322に依存している。
通常のオペレーションの間、モニタ314は、ウォッチドッグ回路330に送信するメッセージに自分のために署名するよう、TPM322に要求する。TPM322は、モニタ314に対応する鍵(ブートの度にBIOSによってTPM322に格納される、その計測値に基づいて)でメッセージに署名する。モニタ314は、署名されたメッセージをTPM322から、例えば接続328などの論理接続を介して署名されたメッセージを受け取り、論理接続334を介してウォッチドッグ回路330にそれを提供する。
ウォッチドッグ回路330がメッセージを受け取ると、ウォッチドッグ回路330は鍵(製造過程で設定されたもの)を用いてメッセージを認証する。若しくは、TPM322内の鍵または秘密を用いての検証を、論理接続336を用いて要求してもよい。別のモニタが実行している場合、その計測値は異なるため、TPMは異なる鍵及び秘密を割り当てる結果となる。従って別のモニタは、ウォッチドッグ回路330に認証されるようにメッセージに適格に署名することができない。結果としてウォッチドッグ回路330は、コンピュータ110のタイミングインターバル期間終了の後にリセットを発するなどの制裁措置を開始する。署名されたまたは暗号化されたメッセージを使うことによって、論理接続328、334への攻撃の機会を減らすことができる。
モニタを使ってTPMを常に「オン」にロックする方法を図示する図7のフローチャートについて、記載及び既述する。典型的なTPM,例えばTPM125が、ユーザによって任意に有効にされていてもよい。後述のようにこの方法は、コンピュータ110の無能化などの制裁により、TPM125が有効な状態を保ち、かつビジネスのオーナーに選択されたモニタ206が実行されることを確実にする助けとなる。
スタート402における電源入力に始まって、コンピュータ110は通常のブート機構によって様々なハードウェア構成要素を起動する。これはTPM322にも適用される。ブートシークエンスはTCPA(Trusted Computing Platform Alliance)の方法に従ってもよい。CRTM (Core Root of Trusted Measurements)(図示なし)はBIOS133を計測し、その計測値をTPM322に格納(403)する。そして、CRTMはBIOS133をロードし実行する。(CRTMは、理想的には、攻撃が困難なコンピュータ内の信頼のおける位置に格納される。)
BIOS133は、従来のように実行されてよく、種々のコンピュータ構成要素を起動し列挙するが、一つ例外がある−BIOS133は、各ソフトウェアモジュールをロードし実行する前に計測する。さらにBIOS133は、これらの計測値をTPM322に格納する。特にBIOS133は、モニタ314を計測し、モニタの計測値をTPM322に格納する(405)。
TPM322は、鍵と秘密とをモニタ計測値それぞれに一意的に割り当てる(408)。大事なのは、TPM322が鍵及び秘密を与えられた計測値に対して一貫して一意的に割り当てる(408)ことである。結果的に、モニタ314が利用できる秘密はそれぞれ一貫して一意的である。その結果、如何なるモニタでも、そのモニタだけが独占的に利用できるよう、リソースをロックすることができる。例えばこれにより、ウォッチドッグ回路330に接続されたGPIO326が正真正銘のモニタ314と関連付けられた計測値のみを尊重するようにGPIO326をプログラムすることによって、正真正銘のモニタ314をウォッチドッグ回路330に連結することができるようになる。GPIO326はこれにより、正真正銘のモニタ314と同一の計測値を持つモニタにのみ利用可能となる。
ロードされたモニタが正真正銘であるか否かに関わらず、ブートシークエンスはモニタをロードし実行する(410)。通常のブートプロセスを継続し(411)、ブートが成功したと仮定して、コンピュータ110の通常のオペレーション(412)が続く。
モニタ314が410においてロードされ実行されるとすぐに、モニタ314はそのループを開始する(413−419)。初めに、モニタ314はTPM GPIO326を介してウォッチドッグ回路330にメッセージを送信する(413)。メッセージは、TPM322に対し、タイマ(図示なし)をリスタートするようにウォッチドッグ回路330に信号を送るのにGPIO326を使用するよう、信号を送る。
メッセージをTPM322に送った後、モニタはテスト状態414に戻る。モニタは、コンピュータ110の状態が現行のポリシーを遵守していることをテスト(414)する。現行のポリシーとは、知られたプログラムやユーティリティや周辺機器の具体的な存在または非存在に関係していてよい。テストはまた、メータリングやまたは他の使用毎支払いメトリクスに関連していてもよい。例えばテストは、特定のアプリケーションプログラムオペレーションでなく消費のために利用可能な消費用提供パケットをチェックしてもよい。別の実施形態においては、テストはカレンダー月など、特定の期間におけるオペレーションに関するものでもよい。
テストが失敗すると、No肢に続いて416があり、モニタはポリシーに従って行動する。この行動は、オペレーティングシステムに対して送る警告コードのみか、ユーザに示す警告メッセージでもよい。オペレーティングシステム及びユーザに対する何らかの制裁、例えばコンピュータの特定の機能を限定するまたは消去するといったものでもよい。これは、ハードウェア及び/またはソフトウェアの機能に適用される。例えば、コンピュータが遅くなったり、特定のソフトウェアを使用不能にしたり、ウェブカムなど特定のデバイスを使用不能にしたりする。より厳しい制裁としては、OSが利用できるRAMの量を制限する、オペレーティングシステムが利用できるInstruction-Set-Architectureを減少させることである。例示の実施形態では、遵守しない状態が発見されたときにモニタ314が取りえる行動としては、ウォッチドッグ回路330のタイマをリスタートする行動を取らずにウォッチドッグ回路330に制裁を加えさせることである。
テストが成功すると、414からYes肢をたどる。いずれの場合にしても、実行はステップ413に戻る前にある期間待つ(419)。待ち期間により、モニタ314を繰り返し実行することによるコンピュータリソースの使い果たしを避ける。明らかに、この待ち期間419はウォッチドッグタイマの計測期間に比してごく短い期間である。使用できるごく短い期間の決定は、コンピュータの通常のオペレーションがループの実行完成を遅らせる見込みによる。そしてループは上述のステップ413に戻る。ループを繰り返す期間は、ウォッチドッグ回路のタイムアウト期間より短ければどのような時間でもよく、さもなければ不当な妨害が起きてしまう。
TPM322がメッセージを受信する(420)と、TPM322はモニタ計測値に従って行動する。もし計測値が正真正銘ではないと判断されると、420が失敗し、ボックス422へのNo肢が取られる。ボックス422は何の行動も取らず、つまり、ウォッチドッグ回路330への信号は送られない。ウォッチドッグ回路330がコンピュータ110を妨害するのを阻止する手段が取られない限りウォッチドッグ回路330はコンピュータ110を妨害するので、TPM322それ以上行動を取る必要がない。オプションとして、TPM322は422で、ログ用のエラーを生成し、警告/エラーコードを生成し、オペレーティングシステムに通知し、及びメッセージをユーザに表示してもよい。
TPM322が、モニタ計測値が正真正銘であることを検証すると、GPIO326は起動されウォッチドッグ回路330に対してタイマをリスタートするよう信号424を送る。上述のように、ウォッチドッグ回路タイマをリスタートすることにより、コンピュータ110をリセットするなどの妨害的行動をウォッチドッグ回路330が開始することが妨げられる。ウォッチドッグ回路330はそして、初期値においてタイマをリスタート426する。タイマはそして、予め決められた期間が切れるまでタイマのカウント(428)及びテスト(430)を行う。タイマの期間は設定可能である。タイマの実施は公知であり、タイマが所定の数値まで下から数えるか、上から数えてゼロにするか、設定された時計の時間に応じて数えるか、またはその他の機構によるかは、設定選択事項である。
タイマの時間が切れていなければ、430からNo肢をたどって428に戻り、タイマから再びカウントを始める。時間が切れれば、430からYes肢をたどり、ウォッチドッグはコンピュータを妨害する(432)ことにより制裁を実行する。妨害とは、システムリセットや、リブートさせることや、周辺機器を不能化することなどである。ウォッチドッグ回路タイマがカウントダウンして妨害432するまでの期間は、ユーザがコンピュータ110の非遵守状態を矯正するに十分な時間であっても、コンピュータ110の信頼できるまたは有効な行動を制限するに十分なほど頻繁でなければならない。
432から426へのリンクは概念的なものである。妨害がコンピュータ全体のリセットによって実施されれば、このリンクは無為である。コンピュータを遅くするなど、より微妙な妨害の場合は、カウントダウンをリスタートするのにこのリンクが用いられ、リセットさせるなどのより支障をきたすような妨害をする。
上記の方法により、利用毎支払いベースでコンピュータを供給に関連する事業のオーナーまたは他のスポンサーの目的を2つ達成することができる。第1に、ユーザがTPM322を使わないことを選択した、またはTPM322を不能化するようコンピュータをハックしたことによりTPM322が不能化されると、ウォッチドッグ回路330へのメッセージは生成されず、コンピュータ110が妨害される。
同様に、もしTPMが可動化され作動しているときでも、モニタが変更または取り替えられて有効であるポリシー(使用ポリシーなど)を変更または無視するようになると、TPMはモニタからの要求を尊重しなくなる。実際、変更されたモニタ計測値は正真正銘のモニタの計測値とは異なる。結果的に、モニタ計測値がTPM322に格納されている場合、TPM322は、それぞれ一意な鍵及び秘密のセットを変更されたモニタに割り当て、これらはGPIO26のオペレーションに必要となるものとは異なる。この結果、GPIO326に信号を送ろうとする変更されたモニタからTPMへの如何なるメッセージも尊重されない。従って、ウォッチドッグ回路330はリスタート信号を受信せず、コンピュータ110が妨害される。
いずれの場合でも、コンピュータ110の正しいオペレーションのためには、TPM322は可動化されていなければならず、正真正銘のモニタがあって作動していなければならない。
上記方法及び装置の他の使用方法が考え得る。例えば、ブートプロセスの一部が権限を受けたユーザからの信用証明を要求してもよい。もし正しい信用証明が提示されなければ、ブートプロセスは正真正銘のモニタをロードせず、最終的にはコンピュータ110の不能化につながる。
複数のコンピュータリソースを互いに接続するネットワークのブロック図である。 開示の実施形態に係るコンピュータを示す、簡易化された代表的ブロック図である。 図2のコンピュータ内の機能層の階層的表示を示す、簡易化された代表的ブロック図である。 図2のコンピュータのコンピュータアーキテクチャの、簡易化された代表的ブロック図である。 図2のコンピュータの代替コンピュータアーキテクチャの、簡易化された代表的ブロック図である。 TPMの簡易化された代表的ブロック図である。 モニタを用いてTPMをロックオンする方法を示すフローチャートである。

Claims (20)

  1. モニタのオペレーションを行使するための信頼されたコンピューティングベースを実施するコンピュータであって、
    前記モニタを実行するプロセッサと、
    前記プロセッサに接続され、前記モニタの実行を確実にする信頼された環境であって、前記モニタからメッセージを受信するようになっている前記信頼された環境と、
    前記信頼された環境に接続されたウォッチドッグ回路であって、前記信頼された環境がある期間内にメッセージを受信しない限り、前記期間後に前記コンピュータを妨害するウォッチドッグ回路と、
    を備えたことを特徴とするコンピュータ。
  2. 前記信頼された環境は暗号によって前記モニタを識別することを特徴とする、請求項1に記載のコンピュータ。
  3. 前記信頼された環境は汎用入出力をさらに備え、前記モニタは暗号によって識別された後に、前記汎用入出力へのアクセス権を与えられることを特徴とする、請求項2に記載のコンピュータ。
  4. 前記ウォッチドッグ回路は、前記期間を判断するタイマを有し、
    前記ウォッチドッグ回路は、署名されたリスタート信号が検証されると、前記タイマをリスタートするための前記署名されたリスタート信号を受信することを特徴とする、請求項1に記載のコンピュータ。
  5. 前記信頼された環境は前記ウォッチドッグ回路に専用通信線を介して接続されていることを特徴とする、請求項1に記載のコンピュータ。
  6. 前記ウォッチドッグ回路は、前記コンピュータを妨害するとき、前記コンピュータをリブートさせることを特徴とする、請求項1に記載のコンピュータ。
  7. コンピュータをリブートさせるための信号はコンダクタに搭載され、前記コンダクタは改ざんに対して抵抗力を持つことを特徴とする、請求項6に記載のコンピュータ。
  8. 前記モニタは、前記メッセージ送信と共に、少なくとも一回トークンを検証することを特徴とする、請求項1に記載のコンピュータ。
  9. 前記トークンは、前記モニタが最新バージョンであるかを判断するために前記モニタによって用いられるバージョン番号を含むことを特徴とする、請求項9に記載のコンピュータ。
  10. コンピュータにおいて知られた操作状態を奨励する方法であって、
    知られたモニタを実行するステップと、
    前記知られたモニタからウォッチドッグ回路に信号を送るステップと、
    前記ウォッチドッグ回路が前記コンピュータのオペレーションを妨害するのを前記信号に応じて防ぐステップと
    を有することを特徴とする方法。
  11. 前記知られたモニタの信頼性を検証するステップをさらに有することを特徴とする、請求項10に記載の方法。
  12. 前記信号を前記モニタから送るステップは、前記信号を前記ウォッチドッグ回路に送る前に前記信号を前記モニタから信頼された環境に送るステップをさらに有することを特徴とする、請求項10に記載の方法。
  13. 前記信号に署名し、前記ウォッチドッグが前記信号の信頼性を検証するステップをさらに有することを特徴とする、請求項10に記載の方法。
  14. 前記信号が所定期間内に受信されないとき、前記コンピュータのオペレーションを妨害するステップをさらに有することを特徴とする、請求項10に記載の方法。
  15. ある期間を判断するタイマと、
    前記タイマをリスタートするための信号を受信する入力と、
    前記期間の間に前記信号が受信されないときに前記コンピュータのオペレーションを妨害する出力と、
    を備えたことを特徴とするコンピュータ用ウォッチドッグ回路。
  16. 暗号能力であって、前記信号がデジタル署名されており暗号回路が前記信号の信頼性を判断する、暗号能力をさらに備えたことを特徴とする、請求項15に記載のコンピュータ用ウォッチドッグ回路。
  17. 前記入力は、信頼された環境と接続されていることを特徴とする、請求項15に記載のコンピュータ用ウォッチドッグ回路。
  18. 前記信頼された環境は前記ウォッチドッグ回路への前記信号を規制することを特徴とする、請求項17に記載のコンピュータ用ウォッチドッグ回路。
  19. 前記出力は、リセット回路とバスドライバ回路とのいずれか一方に接続されていることを特徴とする、請求項15に記載のコンピュータ用ウォッチドッグ回路。
  20. 前記ウォッチドッグ回路は、前記タイマと、前記入力と、前記出力とのいずれか1つへのアクセスを制限するよう、前記コンピュータ内に配置されていることを特徴とする、請求項15に記載のコンピュータ用ウォッチドッグ回路。
JP2007548385A 2004-12-23 2005-12-20 モニタを用いてtpmを常に“オン”にロックする方法及びシステム Expired - Fee Related JP4945454B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/021,021 US7360253B2 (en) 2004-12-23 2004-12-23 System and method to lock TPM always ‘on’ using a monitor
US11/021,021 2004-12-23
PCT/US2005/046091 WO2006071630A2 (en) 2004-12-23 2005-12-20 System and method to lock tpm always 'on' using a monitor

Publications (3)

Publication Number Publication Date
JP2008525892A true JP2008525892A (ja) 2008-07-17
JP2008525892A5 JP2008525892A5 (ja) 2009-02-12
JP4945454B2 JP4945454B2 (ja) 2012-06-06

Family

ID=36613166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007548385A Expired - Fee Related JP4945454B2 (ja) 2004-12-23 2005-12-20 モニタを用いてtpmを常に“オン”にロックする方法及びシステム

Country Status (9)

Country Link
US (1) US7360253B2 (ja)
EP (1) EP1829274A4 (ja)
JP (1) JP4945454B2 (ja)
KR (1) KR101213807B1 (ja)
CN (1) CN101116070B (ja)
BR (1) BRPI0519080A2 (ja)
MX (1) MX2007006143A (ja)
RU (1) RU2007123617A (ja)
WO (1) WO2006071630A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519325A (ja) * 2009-02-27 2012-08-23 マイクロソフト コーポレーション 信頼済エンティティベース不正対策機構
JP2015072683A (ja) * 2013-09-25 2015-04-16 マックス プランク ゲゼルシャフト ツール フォーデルング デル ヴィッセンシャフテン 匿名データの第三者の監視を実行するためのシステム及び方法
JP2020003957A (ja) * 2018-06-26 2020-01-09 キヤノン株式会社 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法
JP2022087195A (ja) * 2018-06-26 2022-06-09 キヤノン株式会社 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8464348B2 (en) 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
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
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
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
US7908483B2 (en) * 2005-06-30 2011-03-15 Intel Corporation Method and apparatus for binding TPM keys to execution entities
US20070168574A1 (en) * 2005-09-28 2007-07-19 Dell Products L.P. System and method for securing access to general purpose input/output ports in a computer system
JP2007242207A (ja) * 2006-03-13 2007-09-20 Fujitsu Ltd ディスク装置の媒体スキャン方法
JP4769608B2 (ja) * 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
US7984283B2 (en) * 2006-05-22 2011-07-19 Hewlett-Packard Development Company, L.P. System and method for secure operating system boot
US8122258B2 (en) * 2006-05-22 2012-02-21 Hewlett-Packard Development Company, L.P. System and method for secure operating system boot
JP4048382B1 (ja) * 2006-09-01 2008-02-20 富士ゼロックス株式会社 情報処理システムおよびプログラム
US20080077420A1 (en) * 2006-09-27 2008-03-27 Daryl Cromer System and Method for Securely Updating Remaining Time or Subscription Data for a Rental Computer
US7971056B2 (en) * 2006-12-18 2011-06-28 Microsoft Corporation Direct memory access for compliance checking
US20080147555A1 (en) * 2006-12-18 2008-06-19 Daryl Carvis Cromer System and Method for Using a Hypervisor to Control Access to a Rental Computer
US7631169B2 (en) * 2007-02-02 2009-12-08 International Business Machines Corporation Fault recovery on a massively parallel computer system to handle node failures without ending an executing job
US8522043B2 (en) * 2007-06-21 2013-08-27 Microsoft Corporation Hardware-based computer theft deterrence
US20100212021A1 (en) * 2009-02-18 2010-08-19 Harris Technology, Llc Decrement software
JP4743297B2 (ja) * 2009-03-16 2011-08-10 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、機能拡張方法およびユーザ認証システム
ES2415832T3 (es) 2010-06-03 2013-07-29 Telefonaktiebolaget L M Ericsson Ab (Publ) Dispositivo de procesamiento
CN101984575B (zh) * 2010-10-14 2015-06-03 中兴通讯股份有限公司 一种保护移动终端软件的方法和装置
CN102063593B (zh) * 2011-01-07 2013-01-09 北京工业大学 主动控制功能的可信设备及其认证方法
US8375221B1 (en) 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US9256734B2 (en) * 2012-04-27 2016-02-09 Broadcom Corporation Security controlled multi-processor system
US9426127B2 (en) * 2012-05-02 2016-08-23 Visa International Service Association Small form-factor cryptographic expansion device
US9633210B2 (en) 2013-09-13 2017-04-25 Microsoft Technology Licensing, Llc Keying infrastructure
WO2015047258A1 (en) * 2013-09-25 2015-04-02 Intel Corporation Method, apparatus and system for providing transaction indemnification
EP2955872B1 (en) * 2014-06-12 2016-10-12 Nxp B.V. Method for configuring a secure element, key derivation program, computer program product and configurable secure element
US10097513B2 (en) 2014-09-14 2018-10-09 Microsoft Technology Licensing, Llc Trusted execution environment extensible computing device interface
US20170116432A1 (en) * 2015-01-22 2017-04-27 Daniel Minoli System and methods for cyber-and-physically-secure high grade weaponry
CN105989283B (zh) 2015-02-06 2019-08-09 阿里巴巴集团控股有限公司 一种识别病毒变种的方法及装置
US9612893B2 (en) 2015-05-11 2017-04-04 Silicon Laboratories Inc. Peripheral watchdog timer
EP3270321B1 (en) * 2016-07-14 2020-02-19 Kontron Modular Computers SAS Technique for securely performing an operation in an iot environment
US10402566B2 (en) * 2016-08-01 2019-09-03 The Aerospace Corporation High assurance configuration security processor (HACSP) for computing devices
WO2019035825A1 (en) 2017-08-16 2019-02-21 Hewlett-Packard Development Company, L.P. MONITORING MEMORY
US10659054B2 (en) * 2018-02-23 2020-05-19 Nxp B.V. Trusted monotonic counter using internal and external non-volatile memory
US10965551B2 (en) * 2018-11-21 2021-03-30 Microsoft Technology Licensing, Llc Secure count in cloud computing networks
US11232217B2 (en) * 2018-12-06 2022-01-25 Oracle International Corporation Managing a security policy for a device
US11316694B2 (en) 2019-03-27 2022-04-26 Microsoft Technology Licensing, Llc Cryptographic hardware watchdog
DE102020114199A1 (de) 2020-05-27 2021-12-02 Basler Aktiengesellschaft Absicherung von Computersystemen gegen Manipulationen und Funktionsanomalien

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635718A (ja) * 1992-07-15 1994-02-10 Matsushita Electric Works Ltd システム異常時のシステム縮退方式
JP2001051742A (ja) * 1999-07-13 2001-02-23 Internatl Business Mach Corp <Ibm> 実行可能モジュールおよび関連する保護サービス・プロバイダ・モジュールの完全性検査方法および装置
JP2001101033A (ja) * 1999-09-27 2001-04-13 Hitachi Ltd オペレーティングシステム及びアプリケーションプログラムの障害監視方法
JP2003507785A (ja) * 1999-08-13 2003-02-25 ヒューレット・パッカード・カンパニー コンピュータ・プラットフォームおよびその運用方法
JP2003208314A (ja) * 2002-01-15 2003-07-25 Mitsubishi Electric Corp オペレーティングシステムの自動入れ替え可能な計算機システムおよびそのシステムを利用したオペレーションシステムの自動入れ替え方法

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817094A (en) * 1986-12-31 1989-03-28 International Business Machines Corporation Fault tolerant switch with selectable operating modes
US4855922A (en) * 1987-03-20 1989-08-08 Scientific-Atlanta, Inc. Apparatus and method for monitoring an energy management system
US6507909B1 (en) * 1990-02-13 2003-01-14 Compaq Information Technologies Group, L.P. Method for executing trusted-path commands
DE4039355C2 (de) * 1990-12-10 1998-07-30 Bosch Gmbh Robert Vorrichtung zur Funktionsüberprüfung einer Watchdog-Schaltung
US5563799A (en) * 1994-11-10 1996-10-08 United Technologies Automotive, Inc. Low cost/low current watchdog circuit for microprocessor
CN1153348A (zh) * 1995-12-25 1997-07-02 合泰半导体股份有限公司 微处理器旗标设定电路
DE19712375A1 (de) * 1997-03-25 1998-10-01 Bosch Gmbh Robert Watchdog-Schaltung
DE19744375A1 (de) * 1997-10-08 1999-04-15 Philips Patentverwaltung Steuerschaltung für einen Microcontroller
US6385727B1 (en) * 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
CN1107920C (zh) * 1998-11-27 2003-05-07 中国科学院空间科学与应用研究中心 一种通用的数据采集装置及其数据采集方法
DE60044844D1 (de) * 1999-02-15 2010-09-30 Hewlett Packard Co Kommunikation zwischen modulen in einer rechenvorrichtung
GB0020488D0 (en) * 2000-08-18 2000-10-11 Hewlett Packard Co Trusted status rollback
GB0020441D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Performance of a service on a computing platform
US7000100B2 (en) * 2001-05-31 2006-02-14 Hewlett-Packard Development Company, L.P. Application-level software watchdog timer
AU2002337809A1 (en) 2001-10-03 2003-04-14 Shield One, Llc Remotely controlled failsafe boot mechanism and remote manager for a network device
US7490250B2 (en) * 2001-10-26 2009-02-10 Lenovo (Singapore) Pte Ltd. Method and system for detecting a tamper event in a trusted computing environment
US6744616B2 (en) * 2001-12-28 2004-06-01 General Electric Company Method and apparatus for controlling an electronic control
US7013384B2 (en) * 2002-01-15 2006-03-14 Lenovo (Singapore) Pte. Ltd. Computer system with selectively available immutable boot block code
US7127579B2 (en) * 2002-03-26 2006-10-24 Intel Corporation Hardened extended firmware interface framework
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7130951B1 (en) * 2002-04-18 2006-10-31 Advanced Micro Devices, Inc. Method for selectively disabling interrupts on a secure execution mode-capable processor
EP1519775B1 (en) * 2002-07-05 2013-03-20 Mudalla Technology, Inc. Secure game download
US7000829B1 (en) * 2002-07-16 2006-02-21 Diebold, Incorporated Automated banking machine key loading system and method
US7121460B1 (en) * 2002-07-16 2006-10-17 Diebold Self-Service Systems Division Of Diebold, Incorporated Automated banking machine component authentication system and method
EP1429224A1 (en) 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
DE10235564A1 (de) * 2002-08-03 2004-02-12 Robert Bosch Gmbh Verfahren zum Überwachen eines Mikroprozessors und Schaltungsanordnung mit einem Mikroprozessor
US7171539B2 (en) * 2002-11-18 2007-01-30 Arm Limited Apparatus and method for controlling access to a memory
CN2599652Y (zh) * 2002-12-04 2004-01-14 华为技术有限公司 一种看门狗清狗电路
GB2400461B (en) * 2003-04-07 2006-05-31 Hewlett Packard Development Co Control of access to of commands to computing apparatus
TWI319147B (en) * 2003-04-10 2010-01-01 Lenovo Singapore Pte Ltd Apparatus, motherboard, method and computer-readable storage medium recording instructions capable of determinging physical presence in a trusted platform in a computer system
US7444667B2 (en) * 2003-07-28 2008-10-28 Intel Corporation Method and apparatus for trusted blade device computing
US7275263B2 (en) * 2003-08-11 2007-09-25 Intel Corporation Method and system and authenticating a user of a computer system that has a trusted platform module (TPM)
US7533274B2 (en) * 2003-11-13 2009-05-12 International Business Machines Corporation Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
US20050138389A1 (en) * 2003-12-23 2005-06-23 International Business Machines Corporation System and method for making password token portable in trusted platform module (TPM)
US7207039B2 (en) * 2003-12-24 2007-04-17 Intel Corporation Secure booting and provisioning
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
US20050166051A1 (en) * 2004-01-26 2005-07-28 Mark Buer System and method for certification of a secure platform
US7653727B2 (en) * 2004-03-24 2010-01-26 Intel Corporation Cooperative embedded agents
US20050221766A1 (en) * 2004-03-31 2005-10-06 Brizek John P Method and apparatus to perform dynamic attestation
US8271783B2 (en) * 2004-04-19 2012-09-18 Hewlett-Packard Development Company, L.P. Subordinate trusted platform module
US7480804B2 (en) * 2004-04-29 2009-01-20 International Business Machines Corporation Method and system for hierarchical platform boot measurements in a trusted computing environment
US7380119B2 (en) * 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
US7484091B2 (en) * 2004-04-29 2009-01-27 International Business Machines Corporation Method and system for providing a trusted platform module in a hypervisor environment
US7664965B2 (en) * 2004-04-29 2010-02-16 International Business Machines Corporation Method and system for bootstrapping a trusted server having redundant trusted platform modules
US20060010326A1 (en) * 2004-07-08 2006-01-12 International Business Machines Corporation Method for extending the CRTM in a trusted platform
US7716494B2 (en) * 2004-07-15 2010-05-11 Sony Corporation Establishing a trusted platform in a digital processing system
US7552326B2 (en) * 2004-07-15 2009-06-23 Sony Corporation Use of kernel authorization data to maintain security in a digital processing system
US20060015732A1 (en) * 2004-07-15 2006-01-19 Sony Corporation Processing system using internal digital signatures
US20060026418A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Method, apparatus, and product for providing a multi-tiered trust architecture
US20060026422A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Method, apparatus, and product for providing a backup hardware trusted platform module in a hypervisor environment
US7478246B2 (en) * 2004-07-29 2009-01-13 International Business Machines Corporation Method for providing a scalable trusted platform module in a hypervisor environment
US8160244B2 (en) * 2004-10-01 2012-04-17 Broadcom Corporation Stateless hardware security module
US20060072748A1 (en) * 2004-10-01 2006-04-06 Mark Buer CMOS-based stateless hardware security module
US7653819B2 (en) * 2004-10-01 2010-01-26 Lenovo Singapore Pte Ltd. Scalable paging of platform configuration registers
US7516326B2 (en) * 2004-10-15 2009-04-07 Hewlett-Packard Development Company, L.P. Authentication system and method
US8166296B2 (en) * 2004-10-20 2012-04-24 Broadcom Corporation User authentication system
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
US20060112267A1 (en) * 2004-11-23 2006-05-25 Zimmer Vincent J Trusted platform storage controller
US7987356B2 (en) * 2004-11-29 2011-07-26 Broadcom Corporation Programmable security platform
US20060129824A1 (en) * 2004-12-15 2006-06-15 Hoff James P Systems, methods, and media for accessing TPM keys
US20060136717A1 (en) * 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US7373551B2 (en) * 2004-12-21 2008-05-13 Intel Corporation Method to provide autonomic boot recovery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635718A (ja) * 1992-07-15 1994-02-10 Matsushita Electric Works Ltd システム異常時のシステム縮退方式
JP2001051742A (ja) * 1999-07-13 2001-02-23 Internatl Business Mach Corp <Ibm> 実行可能モジュールおよび関連する保護サービス・プロバイダ・モジュールの完全性検査方法および装置
JP2003507785A (ja) * 1999-08-13 2003-02-25 ヒューレット・パッカード・カンパニー コンピュータ・プラットフォームおよびその運用方法
JP2001101033A (ja) * 1999-09-27 2001-04-13 Hitachi Ltd オペレーティングシステム及びアプリケーションプログラムの障害監視方法
JP2003208314A (ja) * 2002-01-15 2003-07-25 Mitsubishi Electric Corp オペレーティングシステムの自動入れ替え可能な計算機システムおよびそのシステムを利用したオペレーションシステムの自動入れ替え方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519325A (ja) * 2009-02-27 2012-08-23 マイクロソフト コーポレーション 信頼済エンティティベース不正対策機構
US9805196B2 (en) 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
JP2015072683A (ja) * 2013-09-25 2015-04-16 マックス プランク ゲゼルシャフト ツール フォーデルング デル ヴィッセンシャフテン 匿名データの第三者の監視を実行するためのシステム及び方法
JP2017050023A (ja) * 2013-09-25 2017-03-09 マックス プランク ゲゼルシャフト ツール フォーデルング デル ヴィッセンシャフテン エー ファオ 匿名データの第三者の監視を実行するためのシステム及び方法
JP2020003957A (ja) * 2018-06-26 2020-01-09 キヤノン株式会社 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法
JP7059127B2 (ja) 2018-06-26 2022-04-25 キヤノン株式会社 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及びその制御方法
JP2022087195A (ja) * 2018-06-26 2022-06-09 キヤノン株式会社 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法
JP7322233B2 (ja) 2018-06-26 2023-08-07 キヤノン株式会社 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法

Also Published As

Publication number Publication date
EP1829274A2 (en) 2007-09-05
EP1829274A4 (en) 2012-01-18
KR101213807B1 (ko) 2012-12-18
US7360253B2 (en) 2008-04-15
WO2006071630A2 (en) 2006-07-06
MX2007006143A (es) 2007-07-19
RU2007123617A (ru) 2008-12-27
WO2006071630A3 (en) 2007-08-02
BRPI0519080A2 (pt) 2008-12-23
US20060143446A1 (en) 2006-06-29
CN101116070B (zh) 2010-06-09
JP4945454B2 (ja) 2012-06-06
KR20070097031A (ko) 2007-10-02
CN101116070A (zh) 2008-01-30

Similar Documents

Publication Publication Date Title
JP4945454B2 (ja) モニタを用いてtpmを常に“オン”にロックする方法及びシステム
US7322042B2 (en) Secure and backward-compatible processor and secure software execution thereon
US7984283B2 (en) System and method for secure operating system boot
JP4883459B2 (ja) ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行
JP4981051B2 (ja) ライセンスに従う製品の挙動変更
JP4278327B2 (ja) コンピュータ・プラットフォームおよびその運用方法
US8122258B2 (en) System and method for secure operating system boot
RU2385483C2 (ru) Система и способ использования гипервизора, чтобы управлять доступом к предоставляемой в аренду вычислительной машине
US7614087B2 (en) Apparatus, method and computer program for controlling use of a content
US8438621B2 (en) Method and apparatus for secure management of debugging processes within communication devices
US8255988B2 (en) Direct peripheral communication for restricted mode operation
US9832230B2 (en) IC chip, information processing apparatus, system, method, and program
KR20070084257A (ko) Cpu 및 마더보드에 고정된 고립형 컴퓨팅 환경
US20080005560A1 (en) Independent Computation Environment and Provisioning of Computing Device Functionality
KR20070084258A (ko) 원하지 않은 상태의 검출시에 진입되는 특수한 pc 모드
US7890756B2 (en) Verification system and method for accessing resources in a computing environment
US20230010319A1 (en) Deriving independent symmetric encryption keys based upon a type of secure boot using a security processor
US11977639B2 (en) Indicating a type of secure boot to endpoint devices by a security processor
US11816252B2 (en) Managing control of a security processor in a supply chain
US20230015334A1 (en) Deriving dependent symmetric encryption keys based upon a type of secure boot using a security processor
WO2024078159A1 (zh) 完整性度量方法及装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111209

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4945454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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