JP4929354B2 - ユーザ認証に基づいて完全性測定値を修正するための方法及びシステム - Google Patents
ユーザ認証に基づいて完全性測定値を修正するための方法及びシステム Download PDFInfo
- Publication number
- JP4929354B2 JP4929354B2 JP2009521773A JP2009521773A JP4929354B2 JP 4929354 B2 JP4929354 B2 JP 4929354B2 JP 2009521773 A JP2009521773 A JP 2009521773A JP 2009521773 A JP2009521773 A JP 2009521773A JP 4929354 B2 JP4929354 B2 JP 4929354B2
- Authority
- JP
- Japan
- Prior art keywords
- bios
- integrity measurement
- secret
- value
- computer system
- 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
Links
- 238000005259 measurement Methods 0.000 title claims description 57
- 238000000034 method Methods 0.000 title claims description 36
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 description 32
- 239000003795 chemical substances by application Substances 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000003752 polymerase chain reaction Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- External Artificial Organs (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Description
たとえば、いくつかのドライブロックメカニズムは、単一のパスワードの認証しかサポートしていない。ドライブロックパスワードを認証するために、基本入出力システム(BIOS)は、ユーザがプリブート環境の期間中にパスワードを入力するように要求し、ユーザによって入力された値をハードドライブに提供する。
パスワードが正しい場合、ハードドライブは、回転を開始する(すなわち、ドライブは「ロック解除」される)。
パスワードが誤っている場合、ドライブは回転しない(すなわち、ドライブは「ロック」される)。
このプリブート認証特徴は、マルチユーザ環境(たとえば、職場)では、多少適合しないところがある。複数のユーザによって共通のパスワードを共有することができる(複数のユーザのいずれもが同じパスワードを使用して認証を受けることを可能にする)が、セキュリティ及びユーザの使いやすさは、個別化されたパスワードを使用した方がより良く提供される。
さらに、他の認証プロセス(たとえば、スマートカード又はバイオメトリックプロセス)を、グループではなく個別のユーザに関連付けることもできる。
したがって、単一のシークレット又は限られた数のシークレットの認証を伴う認証ストラテジーは、多くのユーザ識別情報又はシークレットを認証することが望ましいマルチユーザ環境では、適合しないもの、又は、少なくとも不便なものとなってきている。
以下の説明及び特許請求の範囲の全体にわたって、特定のシステムコンポーネントを指すために、一定の用語が使用される。
当業者には認識されるように、コンピュータ会社によって、1つのコンポーネントを異なる名前で指す場合がある。
本明細書は、名前は異なるが、機能は異ならないコンポーネントを区別することは意図していない。
以下の論述及び特許請求の範囲において、「含む」及び「備える」という用語は、オープンエンド形式で使用され、したがって、「〜を含むが、これらに限定されるものではない」ことを意味するように解釈されるべきである。
また、「結合する」という用語は、間接的な電気接続、直接的な電気接続、光電気接続、又は無線電気接続のいずれかを意味するように意図されている。
したがって、第1のデバイスが第2のデバイスに結合する場合、その接続は、直接的な電気的接続を通じてのものである場合もあるし、他のデバイス及び接続を介した間接的な電気的接続を通じてのものである場合もあるし、光電気接続を通じてのものである場合もあるし、又は無線電気接続を通じてのものである場合もある。
これらの実施形態の1つ又は複数は好ましいものとすることができるが、開示される実施形態は、特許請求の範囲を含む本開示の範囲を限定するものとして解釈されるべきでもないし、別の方法で使用されるべきでもない。
加えて、当業者は、以下の説明が広い用途を有することを理解し、また、どの実施形態の論述も、その実施形態の例示にすぎないように意図されており、特許請求の範囲を含む本開示の範囲がその実施形態に限定されることを暗示するように意図されていないことを理解するであろう。
本発明の実施形態は、本発明の一実施形態がなければ単一のシークレット又は限られた一組のシークレットの認証しかサポートしない(すなわち、このセキュアデバイスにアクセスする可能性のあるユーザの数が、このセキュアデバイスについて又はこのデバイスによって認証を受けることができるシークレットの個数よりも多い)セキュアデバイス(又は特権)にアクセスする必要条件として、複数のユーザ識別情報又はシークレットのいずれの認証もサポートする。
換言すれば、BIOSは、セキュアデバイス又は特権をロック解除するシークレットを制御する。
ブートプロセス中、BIOSは、個別のパスワード、スマートカード、バイオメトリクス、又は他の或る認証プロセスに基づいて複数のユーザのいずれをも認証することができる。
ユーザ認証が成功した場合、BIOSは、セキュアデバイスに関連付けられたシークレットにセキュアにアクセスする。
いくつかの実施形態では、BIOSは、シークレットのシール及びシール解除を行うことができるトラステッドプラットフォームモジュール(TPM)からシークレットを取り出す。
取り出されると、BIOSは、このシークレットを使用して、セキュアデバイスのロック解除又は特権へのアクセスを行う。
一例として、セキュアデバイスは、ドライブロックメカニズムによって保護されたディスクドライブとすることができる。
付加的に又は代替的に、BIOSは、シークレットを使用して、暗号化データを解読したもののような、セキュアな特権にアクセスすることができる。
コンピュータ100は、たとえば、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、又はハンドヘルドデバイスとすることができる。
いくつかの実施形態では、コンピュータ100は、トラステッドプラットフォームモジュール(TPM)120とドライブロック機能142を有するディスクドライブ140とに結合されるプロセッサ134を備える。
図示するように、プロセッサ134は、基本入出力システム(BIOS)110にアクセスすることができる。
BIOS110は、たとえば、チップセット(たとえば、「サウスブリッジ」)又は他のモジュールの一部として実施することができる。
プロセッサ134は、認証インターフェース150にも結合している。
認証インターフェース150は、ユーザが、ユーザ認証用のデータをコンピュータ100に入力することを可能にする。
認証インターフェース150は、たとえば、キーボード、マウス、仮想トークン(たとえば、ユニバーサルシリアルバス(USB)トークン)ソース、スマートカードリーダ、バイオメトリクスキャナ、又はユーザ認証用のデータを受け取る他の或るインターフェースとすることができる。
TPM120は、ソフトウェア、ファームウェア、及び/又はハードウェアを使用して実施される。
図1及び図2に示すTPMコンポーネントは、一般化されており、すべてを含んでいるわけではない。
また、TPMのアーキテクチャ及び機能は、場合によっては、時間の経過と共に、トラステッドコンピューティンググループ(TCG)によって認可されたように変化し得る。
I/Oインターフェース122は、暗号サービス124、乱数ソース126、非対称アルゴリズム128、ストレージ130、及びプラットフォーム構成レジスタ(PCR)132のような他のTPMコンポーネントに結合している。
暗号サービス124は、ハッシング、デジタル署名、暗号化、及び解読のような機能をサポートする。乱数ソース126は、暗号サービス124用の乱数を生成する。
たとえば、いくつかの実施形態では、暗号サービス124は、乱数を使用して、暗号鍵を生成する。
非対称アルゴリズム128は、TPM120が非対称鍵演算を行うことを可能にする。
ストレージ130は、TPM120によって保護されるシークレット(たとえば、暗号鍵又は他のデータ)をセキュアに記憶する。
PCR132は、コンピュータ100の現在の状態についての情報を記憶する。
たとえば、いくつかの実施形態では、PCR132は、コンピュータ100に関連する個別の完全性測定値及び完全性測定値のシーケンスを記憶する。
後に説明するように、PCR132の少なくとも1つに記憶された完全性測定値を、ドライブロック機能142に関連付けられたシークレットをBIOS110に提供する必要条件として検証することができる。
本発明の実施形態の説明では、便宜上、「初期化ステージ」及び「検証ステージ」という用語が使用される。
初期化ステージでは、一定の条件が満たされる場合にしかシークレットにアクセスできないように、このシークレットはセキュアに記憶される。
検証ステージでは、それらの条件が満たされているか否かに関する判断が行われる。
条件が満たされている場合、シークレットは、BIOS110にとってアクセス可能になる。
そうでない場合、シークレットは、引き続きセキュアに記憶され、アクセス不能である。
本明細書で説明するように、ドライブロックインターフェース114及びトラステッドエージェント機能116の双方が、初期化ステージ及び検証ステージで一定の機能を遂行する。
或いは、ドライブロックインターフェース114は、BIOS110に、ユーザ入力なしでシークレットを生成させる。
いずれの場合も、トラステッドエージェント機能116は、一定の条件が満たされる場合にしかシークレットにアクセスできないようにシークレットをセキュアに記憶させる。
少なくともいくつかの実施形態では、トラステッドエージェント機能116は、TPM120のみがシークレットをシール解除できるように、TPM120によってシークレットをシールさせる。
少なくともいくつかの実施形態では、ブロブのフォーマットは、TCGによって規定されている。
(シークレットを収容するエリアのような)ブロブの複数の部分が、TPM120によって暗号化される。
ブロブは、BIOS110によって行われるブートオペレーション又は完全性測定に基づいて「拡張」されたPCR値も含むことができる。
BIOS110が所与のPCR132に拡張することができる値のいくつかの例には、パワーオンセルフテスト(POST)開始値、プラットフォーム固有値、成功したユーザ認証値、失敗したユーザ認証値、POST終了値(すなわち、プラットフォームのハードウェア、ファームウェア、若しくはソフトウェアの完全性測定値)、又は他の値が含まれるが、これらに限定されるものではない。
少なくともいくつかの実施形態では、シークレットでシールされたPCR値は、POST開始値、プラットフォーム固有値、及び成功したユーザ認証値に基づいて拡張されている。
TPM120のみがブロブをシール解除できるように、TPM120が、暗号サービス124を使用して、シークレット及びPCR値を収容したブロブをシールする。
少なくともいくつかの実施形態では、TPM120は、シークレットをBIOS110に公表する前に、現在のPCR値が、ブロブで指定されたPCR値と一致することを検証する。
いくつかの実施形態の場合にあり得るように、TPM120がユーザ認証に関与している場合、ユーザパスワード(又は他の識別子)も、ブロブに挿入することができ、TPM120によってシールすることができる。
このような場合、TPM120は、シークレットをBIOS110に公表する前に、このパスワードを検証することができる。
これらの完全性測定値は、たとえば、PCR132の少なくとも1つに記憶することができる。
検証ステージの期間中の或る時点において、トラステッドエージェント機能116は、コンピュータ100にアクセスする複数のユーザのいずれの認証も行う。
このユーザ認証は、認証インターフェース150及びBIOS110によってサポートされたパスワード、スマートカード、バイオメトリクス、又は他の任意の認証プロセスに基づくことができる。
TPM120は、成功したユーザ認証に部分的に基づいてシークレットを選択的にシール解除するが、TPM120は、ユーザ認証に関与する場合もあるし関与しない場合もある。
TPM120がユーザ認証に関与する場合、ユーザは、前述したようにシークレットでシールされたパスワードを入力することによって認証を受けることができる。
たとえば、BIOS110は、成功したユーザ認証値を所与のPCR132に拡張することによって完全性測定値を修正することができる。
少なくともいくつかの実施形態では、所与のPCR132は、当該PCR132に拡張されたコンピュータ100のPOST開始値及びプラットフォーム固有値をすでに有していることになる。
或いは、これらの値(測定値)は、異なる順序で所与のPCR132に拡張することができる(たとえば、コンピュータ100のプラットフォーム固有値が所与のPCR132に拡張される前に、成功したユーザ認証値を所与のPCR132に拡張することができる)。
所与のPCR132に拡張される値の順序及び数は、同じプロセスが初期化ステージ及び検証ステージの期間中使用される限り、変化する可能性がある。
換言すれば、検証ステージの1つの目的は、初期化ステージで生成されてシールされたのと同じPCR値を選択的に生成することである。
少なくともいくつかの実施形態では、ユーザ認証が成功し、且つ、コンピュータ100の一定のプラットフォーム固有測定値が変化していない場合にのみ、初期化ステージで生成されたPCR値は、検証ステージで生成される。
このような更新は、初期化ステージ及び検証ステージのセキュリティを増大させるために定期的に行うことができ、且つ/又は、コンピュータ100のハードウェア、ファームウェア、又はソフトウェアの更新の必要性が生じた場合に行うことができる。
たとえば、BIOS110は、失敗したユーザ認証値を所与のPCR132に拡張することによって完全性測定値を修正することができる。
少なくともいくつかの実施形態では、所与のPCR132は、当該所与のPCR132に拡張されたPOST開始値及びプラットフォーム固有値をすでに有していることになる。
前述したように、所与のPCR132に拡張される値の順序及び数は、同じプロセスが初期化ステージ及び検証ステージの期間中に使用される限り、変化する可能性がある。
修正された完全性測定値が、成功したユーザ認証に部分的に対応する所定の値と等しい場合、シークレットは、トラステッドエージェント機能116に公表される。
いくつかの実施形態では、検証ステージの期間中に生成されたPCR値が、初期化ステージの期間中に生成されてそのシークレットでシールされたPCR値と一致する場合に、TPM120は、トラステッドエージェント機能116にそのシークレットを公表する。
付加的に又は代替的に、コンピュータ100の一定のプラットフォーム固有測定値が変化した場合、初期化ステージで生成されたPCR値は、検証ステージでは生成されない。
少なくとも初期化ステージで生成されたPCR値は、PCR値が検証ステージで比較される時に生成されないことになる。他方、ユーザ認証が成功し、且つ、コンピュータ100の一定のプラットフォーム固有測定値が変化していない場合、初期化ステージで生成されたPCR値は、PCR値の比較が成功するように、検証ステージで生成される。
たとえば、いくつかの実施形態では、検証ステージの期間中に生成されたPCR値と、初期化ステージの期間中に生成されてシークレットでシールされたPCR値との比較に成功すると、BIOS110は、TPM120からシークレットを受け取る。
ドライブロックインターフェース114は、次に、そのシークレットを使用して、ディスクドライブ140のドライブロック機能142をロック解除することができる。
比較が失敗した場合、シークレットは、BIOS110に提供されず、ディスクドライブ140は引き続きロックされる。
図2に示すように、システム200は、トラステッドプラットフォームモジュール(TPM)120に結合されるプロセッサ234を有するコンピュータ202を備える。
TPM120の機能は、図1について前述されており、便宜上、図2について繰り返さないことにする。
しかしながら、前述したTPMの機能は変化していないが、TPM120が図2で使用される方法は、TPM120が図1で使用される方法と異なる可能性があることは理解されるべきである。
また、図1のコンピュータ100及び図2のコンピュータ202が、別個のコンピュータである場合、それぞれが、別個のTPM120を実施することになる。
BIOS210は、図1におけるようなドライブロックインターフェース114ではなく暗号化インターフェース214を備える点を除いて、図1のBIOS110と同様である。
代替的な実施形態では、BIOS210は、図1におけるようなドライブロックインターフェース114及び図2におけるような暗号化インターフェース214の双方を備えることができる。
一例として、I/Oデバイス246は、プリンタ、スキャナ、ビデオモニタ、液晶ディスプレイ(LCD)、タッチスクリーンディスプレイ、キーボード、キーパッド、スイッチ、ダイヤル、マウス、トラックボール、音声認識器、カードリーダ、紙テープリーダ、又は他のI/Oデバイスとすることができる。
暗号化データ242は、2次ストレージ240によって記憶されたデータの一部の場合もあるし、すべての場合もあり、適切な暗号鍵のみが、暗号化データ242を解読するのに使用することができる。
2次ストレージ240は、データの不揮発性ストレージに使用され、RAM238がすべての作業データを保持できるほど十分大きくない場合にはオーバーフローデータストレージデバイスとして使用される。
また、2次ストレージ240は、RAM238にロードされるプログラムが実行のために選択された時に、このようなプログラムを記憶するのにも使用することができる。
RAM238は、揮発性のデータ及び/又は命令を記憶することができる。
プロセッサ234が、2次ストレージ240に記憶された暗号化データ242にアクセスするか又は暗号化データ242を実行するには、暗号化データ242の解読が必要である。
この解読は、BIOS210が、後に説明するようにセキュアに記憶された暗号鍵にアクセスすることを伴う。
ネットワークインターフェース244を介して、プロセッサ234は、インターネット又はイントラネット(複数可)に接続して、それらと通信することができる。
このようなネットワーク接続では、プロセッサ234は、ユーザ認証を行う過程又はコンピュータ202によってセキュアに記憶された暗号鍵にアクセスする過程で、ネットワークから情報を受信する場合もあるし、ネットワークへ情報を出力する場合もあることが予測される。
たとえば、いくつかの実施形態の場合にあり得るように、コンピュータ202が、リモートロケーションからブートされる場合、暗号化インターフェース214及びトラステッドエージェント機能216によって遂行される少なくともいくつかの機能は、ローカルにではなくリモートで制御することができる。
TPMが、暗号鍵をセキュアに記憶するのに使用される場合、暗号鍵をシールしたのと同じTPMが、その暗号鍵をシール解除することになる。
初期化ステージでは、一定の条件が満たされる場合にしか暗号鍵にアクセスできないように、この暗号鍵はセキュアに記憶される。
検証ステージでは、それらの条件が満たされているか否かに関する判断が行われる。
条件が満たされている場合、暗号鍵は、BIOS210にとってアクセス可能になる。
そうでない場合、暗号鍵は、引き続きセキュアに記憶され、アクセス不能である。
本明細書で説明するように、暗号化インターフェース214及びトラステッドエージェント機能216の双方が、初期化ステージ及び検証ステージで一定の機能を遂行する。
或いは、暗号化インターフェース214は、BIOS210に、ユーザ入力なしで暗号鍵を生成させることもできる。
いずれの場合も、トラステッドエージェント機能216は、一定の条件が満たされる場合にしか暗号鍵にアクセスできないように暗号鍵をセキュアに記憶させる。
少なくともいくつかの実施形態では、トラステッドエージェント機能216は、TPM120のみが暗号鍵をシール解除できるように、TPM120によって暗号鍵をシールさせる。
前述したように、いくつかの実施形態では、ブロブのフォーマットは、TCGによって規定されている。
(暗号鍵を収容するエリアのような)ブロブの複数の部分が、TPM120によって暗号化される。
ブロブは、コンピュータ202のBIOS210によって行われるブートオペレーション又は完全性測定に基づいて「拡張」されたPCR値も含むことができる。
BIOS210が所与のPCR132に拡張することができる値のいくつかの例には、パワーオンセルフテスト(POST)開始値、プラットフォーム固有値(すなわち、プラットフォームのハードウェア、ファームウェア、又はソフトウェアの完全性測定値)、成功したユーザ認証値、失敗したユーザ認証値、POST終了値、又は他の値が含まれるが、これらに限定されるものではない。
少なくともいくつかの実施形態では、暗号鍵でシールされたPCR値は、POST開始値、プラットフォーム固有値、及び成功したユーザ認証値に基づいて拡張されている。
TPM120のみがブロブをシール解除できるように、TPM120が、暗号サービス124を使用して、暗号鍵及びPCR値を収容したブロブをシールする。
少なくともいくつかの実施形態では、TPM120は、暗号鍵をBIOS210に公表する前に、現在のPCR値が、ブロブで指定されたPCR値と一致することを検証する。
いくつかの実施形態の場合にあり得るように、TPM120がユーザ認証に関与している場合、ユーザパスワード(又は他の識別子)も、ブロブに挿入することができ、TPM120によってシールすることができる。
このような場合、TPM120は、暗号鍵をBIOS210に公表する前に、このユーザパスワードを検証することができる。
これらの完全性測定値は、たとえば、PCR132の少なくとも1つに記憶することができる。
検証ステージの期間中の或る時点において、トラステッドエージェント機能216は、コンピュータ202にアクセスする複数のユーザのいずれの認証も行う。
このユーザ認証は、認証インターフェース250及びBIOS210によってサポートされたパスワード、スマートカード、バイオメトリクス、又は他の任意の認証プロセスに基づくことができる。
TPM120は、成功したユーザ認証に部分的に基づいて暗号鍵を後にシール解除するが、TPM120は、ユーザ認証に関与する場合もあるし関与しない場合もある。
TPM120がユーザ認証に関与する場合、ユーザは、前述したように暗号鍵でシールされたパスワードを入力することによって認証を受けることができる。
たとえば、BIOS210は、成功したユーザ認証値を所与のPCR132に拡張することによって完全性測定値を修正することができる。
少なくともいくつかの実施形態では、所与のPCR132は、当該PCR132に拡張されたコンピュータ202のPOST開始値及びプラットフォーム固有値をすでに有していることになる。
或いは、これらの値(測定値)は、異なる順序で所与のPCR132に拡張することもできる(たとえば、コンピュータ202のプラットフォーム固有値が所与のPCR132に拡張される前に、成功したユーザ認証値を所与のPCR132に拡張することができる)。
所与のPCR132に拡張される値の順序及び数は、同じプロセスが初期化ステージ及び検証ステージの期間中使用される限り、変化する可能性がある。
換言すれば、検証ステージの1つの目的は、初期化ステージで生成されてシールされたのと同じPCR値を選択的に生成することである。
少なくともいくつかの実施形態では、ユーザ認証が成功し、且つ、コンピュータ202の一定のプラットフォーム固有測定値が変化していない場合に、初期化ステージで生成されたPCR値は、検証ステージで生成される。
プラットフォーム固有測定値の例には、BIOSバージョン、実際のBIOSコード、デバイス構成値、及びハードドライブ識別子が含まれるが、これらに限定されるものではない。
このような更新は、初期化ステージ及び検証ステージのセキュリティを増大させるために定期的に行うことができ、且つ/又は、コンピュータ202のハードウェア、ファームウェア、又はソフトウェアの更新の必要性が生じた場合に行うことができる。
たとえば、BIOS210は、失敗したユーザ認証値を所与のPCR132に拡張することによって完全性測定値を修正することができる。
少なくともいくつかの実施形態では、所与のPCR132は、当該所与のPCR132に拡張されたPOST開始値及びプラットフォーム固有値をすでに有していることになる。
前述したように、所与のPCR132に拡張される値の順序及び数は、同じプロセスが初期化ステージ及び検証ステージの期間中に使用される限り、変化する可能性がある。
修正された完全性測定値が、成功したユーザ認証に部分的に対応する所定の値と等しい場合、暗号鍵は、トラステッドエージェント機能216に公表される。
いくつかの実施形態では、検証ステージの期間中に生成されたPCR値が、初期化ステージの期間中に生成されてその暗号鍵でシールされたPCR値と一致する場合に、TPM120は、トラステッドエージェント機能216にその暗号鍵を公表する。
付加的に又は代替的に、コンピュータ202の一定のプラットフォーム固有測定値が変化した場合、初期化ステージで生成されたPCR値は、検証ステージでは生成されない。
少なくとも初期化ステージで生成されたPCR値は、PCR値が検証ステージで比較される時に生成されないことになる。
他方、ユーザ認証が成功し、且つ、コンピュータ202の一定のプラットフォーム固有測定値が変化していない場合、初期化ステージで生成されたPCR値は、PCR値の比較が成功するように、検証ステージで生成される。
たとえば、いくつかの実施形態では、検証ステージの期間中に生成されたPCR値と、初期化ステージの期間中に生成されて暗号鍵でシールされたPCR値との比較に成功すると、BIOS210は、TPM120から暗号鍵を受け取る。
暗号化インターフェース214は、次に、その暗号鍵を使用して、暗号化データ242を解読することができる。
或いは、BIOS210は、データの解読を行う他の或るセキュアインターフェース(たとえば、別の暗号化インターフェース)に暗号鍵を渡すこともできる。
PCR値の比較が失敗した場合、暗号鍵は、BIOS210に提供されない。
このような場合、暗号化データ242を解読することができない。
少なくともいくつかの実施形態では、方法300は、前述した初期化ステージに対応する。
図3に示すように、方法300は、POST開始値をPCRに拡張すること(ブロック302)を含む。
ブロック304において、プラットフォーム特性が測定され、対応する値がPCRに拡張される。
ブロック306において、成功したユーザ認証値がPCRに拡張される。次に、シークレット及びPCR値がシールされる(ブロック308)。
このシークレットは、たとえば、ドライブロック機能のロック解除又は暗号化データの解読に使用することができる。
最後に、POST終了値がPCRに拡張される(ブロック310)。
POST終了値をPCRに拡張することによって、シークレットでシールされた前のPCR値を確認することはできない(すなわち、各拡張オペレーションは、前のPCR値のいずれもが確認されることを防止するようにPCR値を変更する)。
方法300は、たとえば、ブートプロセス中に、TPMと通信するBIOSを使用して遂行することができる。
少なくともいくつかの実施形態では、方法400は、前述した検証ステージに対応する。
図4に示すように、方法400は、POST開始値をPCRに拡張すること(ブロック402)を含む。
ブロック404において、プラットフォーム特性が測定され、対応する値がPCRに拡張される。
ブロック406において、複数のユーザのいずれもが認証される。
ユーザ認証は、コンピューティングプラットフォームのブートプロセス中に行われ、パスワード、スマートカード、バイオメトリクス、若しくは別の認証プロセス、又は複数の認証プロセスを組み合わせたものに基づくことができる。
或いは、ユーザが認証された場合(判断ブロック408)、成功したユーザ認証値がPCRに拡張される(ブロック412)。
次に、PCR値の有効性が検証される(ブロック414)。
PCR値が誤っている場合(判断ブロック416)(すなわち、現在のPCR値が、シークレットでシールされたPCR値と一致しない)、シークレットは、シールされた状態を維持する(ブロック418)。
或いは、PCR値が正しい場合(判断ブロック416)(すなわち、現在のPCR値が、シークレットでシールされたPCR値と一致する)、シークレットは、コンピューティングプラットフォームのBIOSに公表される(ブロック420)。
最後に、シークレットは、セキュアデバイス又は特権にアクセスするのに使用される(ブロック422)。
たとえば、シークレットは、BIOSが、ディスクドライブをロック解除すること又はデータを解読することを可能にすることができる。
110・・・BIOS
114・・・ドライブロックインターフェース
116・・・トラステッドエージェント機能
120・・・TPM
122・・・I/O
124・・・暗号サービス
126・・・乱数ソース
128・・・非対称アルゴリズム
130・・・ストレージ
132・・・PCRs
134・・・プロセッサ
140・・・ディスクドライブ
142・・・ドライブロック
150・・・認証インターフェース
200・・・システム
202・・・コンピュータ
210・・・BIOS
214・・・暗号化インターフェース
216・・・トラステッドエージェント機能
234・・・プロセッサ
238・・・RAM
240・・・2次ストレージ
242・・・暗号化データ
244・・・ネットワークインターフェース
246・・・I/Oデバイス
250・・・認証インターフェース
Claims (9)
- コンピュータシステム(100)であって、
プロセッサ(134)と、
前記プロセッサ(134)にアクセス可能な基本入出力システム(BIOS)(110)と
を備え、
ブートプロセス中に、前記BIOS(110)は、
前記コンピュータシステム(100)の完全性測定値を求め、
前記ユーザ認証が成功した場合、前記BIOS(110)は、第1の値によって前記完全性測定値を修正し、
前記ユーザ認証が成功しなかった場合、前記BIOS(110)は、前記第1の値とは異なる第2の値によって前記完全性測定値を修正する
コンピュータシステム。 - 前記修正された完全性測定値は、所定の完全性測定値と比較され、
前記修正された完全性測定値が前記所定の完全性測定値と一致する場合、前記BIOS(110)は、セキュアデバイスのロック解除または暗号化データの解読を行うために使用されるデータを示すシークレットへのアクセスを受け取る
請求項1に記載のコンピュータシステム。 - 前記プロセッサ(134)に結合されるロッキングストレージデバイス(140)をさらに備え、
前記BIOS(110)は、前記シークレットを使用して、前記ロッキングストレージデバイス(140)をロック解除する
請求項2に記載のコンピュータシステム。 - 前記プロセッサ(234)に結合されるストレージデバイス(240)をさらに備え、
前記ストレージデバイス(240)は、暗号化データ(242)を記憶し、
前記BIOSは、前記シークレットに基づいて前記暗号化データ(242)を解読する
請求項2に記載のコンピュータシステム。 - 前記プロセッサ(134)に結合されるトラステッドプラットフォームモジュール(TPM)(120)をさらに備え、
前記TPM(120)は、
セキュアデバイスのロック解除または暗号化データの解読を行うために使用されるデータを示すシークレット及び所定の完全性測定値をシールし、
前記修正された完全性測定値が前記所定の完全性測定値と一致しない限り、前記シークレットをシール解除しない
請求項1に記載のコンピュータシステム。 - プロセッサ(134)と、前記プロセッサ(134)にアクセス可能な基本入出力システム(BIOS)(110)とを備えるコンピュータシステムにおいて、
ブートプロセス中に、前記コンピュータシステム(100)の第1の完全性測定値をセキュアに記憶することと、
その後のブートプロセス中に、前記コンピュータシステム(100)の第2の完全性測定値を生成することと、
前記ユーザ認証が成功した場合、前記BIOS(110)が、第1の値によって前記第2の完全性測定値を修正し、前記ユーザ認証が成功しなかった場合、前記BIOS(110)が、前記第1の値とは異なる第2の値によって前記第2の完全性測定値を修正することと、
前記第1の完全性測定値が、前記修正された第2の完全性測定値と一致する場合に、セキュアデバイスのロック解除または暗号化データの解読を行うために使用されるデータを示すシークレットにアクセスすることと
を前記コンピュータシステムのコンピュータに実行させる方法。 - 前記シークレットに基づいてストレージデバイス(140)をロック解除することを前記コンピュータシステムのコンピュータにさらに実行させる
請求項6に記載の方法。 - 前記シークレットに基づいてデータ(242)を解読することを前記コンピュータシステムのコンピュータにさらに実行させる
請求項6に記載の方法。 - 前記第1の完全性測定値をセキュアに記憶することは、
パワーオンセルフテスト(POST)開始値をプラットフォーム構成レジスタ(PCR)(132)に拡張することと、
前記コンピュータシステム(100)に固有のパラメータを測定すると共に、対応する値を前記PCR(132)に拡張することと、
成功したユーザ認証値を前記PCR(132)に拡張することと
を含む
請求項6に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/493,973 | 2006-07-27 | ||
US11/493,973 US8190916B1 (en) | 2006-07-27 | 2006-07-27 | Methods and systems for modifying an integrity measurement based on user authentication |
PCT/US2007/016411 WO2008016489A2 (en) | 2006-07-27 | 2007-07-19 | Methods and systems for modifying an integrity measurement based on user athentication |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010511209A JP2010511209A (ja) | 2010-04-08 |
JP4929354B2 true JP4929354B2 (ja) | 2012-05-09 |
Family
ID=38997634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009521773A Expired - Fee Related JP4929354B2 (ja) | 2006-07-27 | 2007-07-19 | ユーザ認証に基づいて完全性測定値を修正するための方法及びシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US8190916B1 (ja) |
EP (1) | EP2047399A2 (ja) |
JP (1) | JP4929354B2 (ja) |
KR (1) | KR101402509B1 (ja) |
CN (1) | CN101523399A (ja) |
BR (1) | BRPI0713817A2 (ja) |
WO (1) | WO2008016489A2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4769608B2 (ja) * | 2006-03-22 | 2011-09-07 | 富士通株式会社 | 起動検証機能を有する情報処理装置 |
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 |
US8132019B2 (en) * | 2008-06-17 | 2012-03-06 | Lenovo (Singapore) Pte. Ltd. | Arrangements for interfacing with a user access manager |
US8572692B2 (en) * | 2008-06-30 | 2013-10-29 | Intel Corporation | Method and system for a platform-based trust verifying service for multi-party verification |
CN102084313B (zh) * | 2008-07-07 | 2014-10-15 | 惠普开发有限公司 | 用于数据安全的系统和方法 |
KR101138999B1 (ko) * | 2008-12-08 | 2012-04-25 | 한국전자통신연구원 | 보안신뢰장치 및 데이터 관리 방법 |
WO2012033496A1 (en) * | 2010-09-10 | 2012-03-15 | Hewlett-Packard Development Company, L.P. | Unlock a storage device |
EP2619701B1 (en) | 2010-09-22 | 2015-04-22 | International Business Machines Corporation | Attesting use of an interactive component during a boot process |
US9367327B2 (en) * | 2010-09-24 | 2016-06-14 | Intel Corporation | Method to ensure platform silicon configuration integrity |
US8869264B2 (en) | 2010-10-01 | 2014-10-21 | International Business Machines Corporation | Attesting a component of a system during a boot process |
CN101980235B (zh) * | 2010-10-27 | 2012-04-18 | 中国航天科工集团第二研究院七○六所 | 一种安全计算平台 |
DE112011103048B4 (de) | 2010-11-18 | 2021-12-23 | International Business Machines Corporation | Ein Verfahren zum Beglaubigen einer Vielzahl von Datenverarbeitungssystemen |
US8560845B2 (en) * | 2011-01-14 | 2013-10-15 | Apple Inc. | System and method for tamper-resistant booting |
US9690941B2 (en) * | 2011-05-17 | 2017-06-27 | Microsoft Technology Licensing, Llc | Policy bound key creation and re-wrap service |
WO2013101081A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Methods and apparatus for trusted boot optimization |
US20160132681A1 (en) * | 2013-06-14 | 2016-05-12 | Nec Europe Ltd. | Method for performing a secure boot of a computing system and computing system |
US9843449B2 (en) * | 2015-06-09 | 2017-12-12 | Dresser, Inc. | Secure device communication |
US10218696B2 (en) * | 2016-06-30 | 2019-02-26 | Microsoft Technology Licensing, Llc | Targeted secure software deployment |
US10177910B2 (en) * | 2016-08-31 | 2019-01-08 | Microsoft Technology Licensing, Llc | Preserving protected secrets across a secure boot update |
JP2019022122A (ja) * | 2017-07-19 | 2019-02-07 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システム及びプログラム |
WO2019117920A1 (en) * | 2017-12-14 | 2019-06-20 | Hewlett-Packard Development Company, L.P. | Enabling access to capturing devices by basic input and output systems (bios) |
US11048802B2 (en) * | 2019-05-09 | 2021-06-29 | X Development Llc | Encrypted hard disk imaging process |
US20230177161A1 (en) * | 2021-12-08 | 2023-06-08 | Hewlett-Packard Development Company, L.P. | Bios change requests signings based on passwords |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537544A (en) * | 1992-09-17 | 1996-07-16 | Kabushiki Kaisha Toshiba | Portable computer system having password control means for holding one or more passwords such that the passwords are unreadable by direct access from a main processor |
EP0770997A3 (en) * | 1995-10-27 | 1998-01-07 | Ncr International Inc. | Password protection for removable hard drive |
US6125457A (en) * | 1997-12-29 | 2000-09-26 | Compaq Computer Corporation | Networked computer security system |
US6157722A (en) * | 1998-03-23 | 2000-12-05 | Interlok Technologies, Llc | Encryption key management system and method |
US6993648B2 (en) * | 2001-08-16 | 2006-01-31 | Lenovo (Singapore) Pte. Ltd. | Proving BIOS trust in a TCPA compliant system |
US20030120918A1 (en) * | 2001-12-21 | 2003-06-26 | Intel Corporation | Hard drive security for fast boot |
JP2004265286A (ja) | 2003-03-04 | 2004-09-24 | Fujitsu Ltd | 環境に応じて選択されたセキュリティ・ポリシーに従うモバイル機器の管理 |
US7380136B2 (en) * | 2003-06-25 | 2008-05-27 | Intel Corp. | Methods and apparatus for secure collection and display of user interface information in a pre-boot environment |
US20050138393A1 (en) * | 2003-12-22 | 2005-06-23 | Challener David C. | Determining user security level using trusted hardware device |
US7330977B2 (en) * | 2003-12-30 | 2008-02-12 | Lenovo Pte Ltd | Apparatus, system, and method for secure mass storage backup |
ATE426965T1 (de) * | 2004-05-04 | 2009-04-15 | Research In Motion Ltd | Anfrage-antwort-system und -verfahren |
JP2006023943A (ja) | 2004-07-07 | 2006-01-26 | Canon Inc | 情報処理装置、制御方法及びプログラム |
US7711942B2 (en) * | 2004-09-23 | 2010-05-04 | Hewlett-Packard Development Company, L.P. | Computer security system and method |
US7484241B2 (en) * | 2004-11-22 | 2009-01-27 | Lenovo (Singapore) Pte. Ltd. | Secure single sign-on to operating system via power-on password |
US7725703B2 (en) | 2005-01-07 | 2010-05-25 | Microsoft Corporation | Systems and methods for securely booting a computer with a trusted processing module |
US7565553B2 (en) | 2005-01-14 | 2009-07-21 | Microsoft Corporation | Systems and methods for controlling access to data on a computer with a secure boot process |
CN100337213C (zh) | 2005-07-28 | 2007-09-12 | 深圳兆日技术有限公司 | 一种安全芯片在dos下的功能检测实现方法 |
US20070101156A1 (en) * | 2005-10-31 | 2007-05-03 | Manuel Novoa | Methods and systems for associating an embedded security chip with a computer |
-
2006
- 2006-07-27 US US11/493,973 patent/US8190916B1/en not_active Expired - Fee Related
-
2007
- 2007-07-19 WO PCT/US2007/016411 patent/WO2008016489A2/en active Search and Examination
- 2007-07-19 BR BRPI0713817-2A patent/BRPI0713817A2/pt not_active IP Right Cessation
- 2007-07-19 EP EP07836160A patent/EP2047399A2/en not_active Withdrawn
- 2007-07-19 CN CNA2007800361652A patent/CN101523399A/zh active Pending
- 2007-07-19 JP JP2009521773A patent/JP4929354B2/ja not_active Expired - Fee Related
- 2007-07-19 KR KR1020097001791A patent/KR101402509B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN101523399A (zh) | 2009-09-02 |
WO2008016489A3 (en) | 2008-04-03 |
BRPI0713817A2 (pt) | 2012-11-06 |
EP2047399A2 (en) | 2009-04-15 |
JP2010511209A (ja) | 2010-04-08 |
KR101402509B1 (ko) | 2014-06-03 |
KR20090034359A (ko) | 2009-04-07 |
US8190916B1 (en) | 2012-05-29 |
WO2008016489A2 (en) | 2008-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4929354B2 (ja) | ユーザ認証に基づいて完全性測定値を修正するための方法及びシステム | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
US7565553B2 (en) | Systems and methods for controlling access to data on a computer with a secure boot process | |
US10803175B2 (en) | Device attestation through security hardened management agent | |
EP2011049B1 (en) | Selectively unlocking a core root of trust for measurement (crtm) | |
EP2583410B1 (en) | Single-use authentication methods for accessing encrypted data | |
JP4323473B2 (ja) | コンピュータセキュリティシステムおよび方法 | |
JP4982825B2 (ja) | コンピュータおよび共有パスワードの管理方法 | |
US20050021968A1 (en) | Method for performing a trusted firmware/bios update | |
US20080130893A1 (en) | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor | |
EP3125149A1 (en) | Systems and methods for securely booting a computer with a trusted processing module | |
US9015454B2 (en) | Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys | |
US20110246778A1 (en) | Providing security mechanisms for virtual machine images | |
US20080168545A1 (en) | Method for Performing Domain Logons to a Secure Computer Network | |
CN107679425B (zh) | 一种基于固件和USBkey的联合全盘加密的可信启动方法 | |
JP2008541264A (ja) | コンピュータセキュリティシステムおよびコンピュータセキュリティ方法 | |
WO2007124091A1 (en) | Apparatus and methods for performing trusted computing integrity measurement reporting | |
JP2010505160A (ja) | 永続的セキュリティシステム及び永続的セキュリティ方法 | |
TWI745629B (zh) | 電腦系統以及初始化電腦系統的方法 | |
CN116566613A (zh) | 使用平台密钥保护与安全处理器的通信 | |
JP4724107B2 (ja) | リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ | |
Safford et al. | Take control of TCPA | |
US11405201B2 (en) | Secure transfer of protected application storage keys with change of trusted computing base | |
WO2023200487A1 (en) | Firmware controlled secrets | |
Wachsmann | Trusted Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111202 |
|
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: 20120203 |
|
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: 20120213 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150217 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4929354 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
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 |