JP4732513B2 - ソフトウェア・ベースのセキュリティ・コプロセッサを提供する方法および装置 - Google Patents
ソフトウェア・ベースのセキュリティ・コプロセッサを提供する方法および装置 Download PDFInfo
- Publication number
- JP4732513B2 JP4732513B2 JP2008511457A JP2008511457A JP4732513B2 JP 4732513 B2 JP4732513 B2 JP 4732513B2 JP 2008511457 A JP2008511457 A JP 2008511457A JP 2008511457 A JP2008511457 A JP 2008511457A JP 4732513 B2 JP4732513 B2 JP 4732513B2
- Authority
- JP
- Japan
- Prior art keywords
- tpm
- processing system
- vtpm
- device model
- virtual
- 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
- 238000000034 method Methods 0.000 title claims description 35
- 238000012545 processing Methods 0.000 claims description 87
- 238000013461 design Methods 0.000 claims description 42
- 238000003860 storage Methods 0.000 claims description 41
- 238000013475 authorization Methods 0.000 claims description 29
- 230000008093 supporting effect Effects 0.000 claims description 4
- 238000007789 sealing Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 23
- 230000008520 organization Effects 0.000 description 22
- 238000009739 binding Methods 0.000 description 21
- 230000027455 binding Effects 0.000 description 21
- 230000005012 migration Effects 0.000 description 21
- 238000013508 migration Methods 0.000 description 21
- 238000005259 measurement Methods 0.000 description 17
- 238000005192 partition Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000013459 approach Methods 0.000 description 14
- 230000001010 compromised effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000002085 persistent effect Effects 0.000 description 9
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000001976 improved effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003752 polymerase chain reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/577—Assessing vulnerabilities and evaluating computer system security
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
1.1 TPM機能的な序説
業界団体TCGはTPMを、プラットフォーム上での信頼の基盤を提供する見込みのある小さな暗号サブシステムとして標準化している。この目的に向け、TPMは構成証明および保護された記憶を容易にするための機能を提供する。
構成証明(attestation)とは、プラットフォームがその構成(configuration)をリモート当事者に信頼できる仕方で報告できるようにする、TPM機能およびプロトコルの組をいう。たとえば、TPMは、プラットフォーム状態を保存するのに使われるPCRに署名する能力を提供する。たとえば、プラットフォームはPCRに署名するのに、構成証明素性鍵(AIK: attestation identity key)を使用しうる。そのような署名されたPCRは引用(quote)と称されうる。
TPMが提供するもう一組のサービスは、鍵その他のデータの安全な保管である。TPMは、リヴェスト‐シャミール‐アドルマン(RSA)鍵を生成できる。TPMはRSA鍵の使用を、(a)要求者が秘密のSHA1ハッシュを介して権限付与を提供し、(b)PCRによって決定される現在の構成(configuration)が「良好な」状態を指示して初めて許可する。この強力な機能は、プラットフォームがデータを暗号化し、その機械が危殆化されたり、外部媒体からブートされたり、他の仕方で工作されたりしてもそのデータがアクセス不能のままであるようにすることを許容する。
TPM、スマートカード、インターナショナル・ビジネス・マシーンズ社からのモデル4758暗号コプロセッサおよび他の同様のデバイスまたはサブシステムは、本質的には、耐タンパー性のような境界保護を一般に含む小さな自己完結したコンピューティング環境である。よって、そのようなデバイスは動作のための外部資源に頼ることなくある種の計算を行うと信頼できる。
図3は、例示的なGVTPMフレームワークのさまざまなコンポーネントおよび関係する項目を示すブロック図を呈示している。図示した実施形態では、GVTPMフレームワーク40は、TPMコンポーネントのさまざまな機能上およびセキュリティの属性を提供する助けとなるいくつかのコンポーネントを含んでいる。
GVTPMフレームワーク40は、DM 44Aおよび44Bを生成するためにVM定義41を使用してもよく、GVTPMフレームワーク40は、DM44Cを生成するためにVM定義51を使用してもよい。GVTPMフレームワーク40は、DMを提供または使用するときに、仮想化イベント(VE: virtualization event)を使用してもよい。たとえば、VM60A内のソフトウェアがあるTPMにアクセスしようとするとき、VEがトリガーされうる。VEに応答して、制御はVM60AからVMM64に移されてもよい。GVTPMマネージャ110は、vTPM44Aを参照することによってイベントを処理するためにVEに割り込んでもよい。今の例示的実施形態では、VM 60AはvTPM44A以外のいかなるTPMにも気づいていないかもしれないが、GVTPMマネージャ110はvTPM44AをサポートするためにhwTPM30を使ってもよい。
GVTPMマネージャ110はGVTPMフレームワーク40のための中央管理コンポーネントである。今の例示的実施形態では、GVTPMマネージャ110は、vTPMプロビジョニング、他のフレームワーク・コンポーネントをブリッジすることおよび諸DMのためのTPM30へのシリアル化されたアクセスを承認することを担う管理コンポーネントである。ある実施形態では、GVTPMマネージャ110は、VMM64が(a)必要なVMを生成し、(b)通信チャネルを提供することを要求することによって新しいDMをプロビジョンする。新しいDMをプロビジョンするプロセスの間に、GVTPMマネージャ110は、DMコードの測定結果など、PSS100が該DMを認証するために要求するあらゆる情報を収集する。たとえば、GVTPMマネージャ110は、問題のDMをインスタンス生成するための基礎としてのはたらきをする特定のVM定義内でPCSを測定しうる。たとえば、VM定義41は、TPMのある特定の型またはモデルのためのPCS45を含みうる。その一方、VM定義51は、スマートカードのある特定の型またはモデルのためのPCS55を含みうる。ある実施形態では、処理システムによってサポートされるべき異なるDM設計のそれぞれは、完全にまたは主としてVM定義内のPCSによって定義される。
DMにおける柔軟性を維持するため、GVTPMフレームワーク40は、各DMがどのように機能するかに対して、比較的少数の要求しか課さない。ある実施形態では、唯一の要求は、すべての持続性データ(たとえば、鍵、カウンタ、NVMデータおよびシステム・リブートをまたいで機能するためにvTPMが必要とする他の任意の状態)がNVMからアクティブ・メモリにロードの際にコピーされ、次いで必要なときにNVMに保存し戻されるということである。この要求によれば、PSSは、DMが動作していない間、DMのNVMを保護することを担う。DMがロードしたあとは、DMが実行されている間、データの孤立化および保護を提供するのはTVMMの責任となる。
今の例示的実施形態では、ある動作によってあるDMのNVMが変わるときは常に、そのDMはPSS100に対してそのNVMを保存するよう要求を発する。代替的な実装では、DMは、そのNVMの保存を遅らせるよう設計されることもできる。保証(assurance)が低下する可能性を代償としてパフォーマンスを上げるためである。
今の例示的実施形態では、DMが始動するとき、DMはその以前に保存されたNVMがPSS100によって復元されることを要求する。応答して、PSS100は、PSS100がそのレコードをデータベースで探索できるよう、まずそのブロブのための識別子を計算する。次に、PSS100は、DMを測定し、DM測定結果がレコードにあるものと一致することを検証する。次いで、PSS100はそのTPM鍵を使ってブロブを復号し、中のノンスを検証する。
・NVMは要求しているDMに対応する。
・NVMはそのDMについての最も最近のNVMである。
・NVMは保存以降修正されていない。
・NVMブロブはPSS100によって生成された。
・そのNVMが保存されて以来TCBが変化していない。
多くの場合、ある所与の鍵が、ある所与のGVTPM環境内に存在するあるDM中に存在している証拠を有することが貴重である。ハードウェアTPMの場合には、TPM製造業者が、EKがTPM内で保護されていると述べる裏書きクレデンシャルに署名し、プラットフォーム製造業者が、TPMがTCG準拠プラットフォーム内に存在していると述べるプラットフォーム・クレデンシャルに署名する。GVTPMフレームワーク40では、各仮想製造業者機関が同様な仕方ではたらき、鍵が、TCG準拠プラットフォーム内のGVTPMフレームワーク40内のある特定のデバイス・モデルに準拠するあるDM内に存在することを証明する。
上に示すように、各仮想製造業者機関はまずTPM素性鍵(AIK)を生成し、TGC仕様に概説されているプロセスを使って信頼される第三者CA(TTPCA: trusted third-party CA)から素性クレデンシャルを取得しうる。TTPCAはたとえばTCGプライバシーCAでもよい。次いで仮想製造業者機関は、現在のプラットフォーム構成にバインドされたその署名鍵を生成する。たとえば、仮想製造業者機関124がTPM_CertifyKey動作を使うことにより、TPM30が仮想製造業者機関のAIKを使って該署名鍵の属性に署名するようにしてもよい。署名鍵の属性とは、該署名鍵の移行能および該署名鍵がバインドされているPCRを含む。次いで仮想製造業者機関124は、CertifyKeyの結果を、素性クレデンシャルとともにVMCA77に送りうる。
TCG仕様に従わない独自DM(たとえばDM 44C)は裏書きクレデンシャルやプラットフォーム・クレデンシャルをもたないはずである。もっとも、同様のクレデンシャルの恩恵を受けることはできるが。独自DMの開発者は、クレデンシャル発行というはっきりした目的のため、プライバシーCAと同様の独自の評価者サービスを運営しうる。それにより、開発者は、データが鍵で暗号化される前にその鍵が開発者のDMのインスタンス内にあることを保証できる。それをする正確なプロトコルは、完全に、その独自DMおよび該DMに対応する仮想製造業者機関を設計したエンティティ次第である。
本節は、vTPMを生成するための二つの例示的なDM設計を記述する。GVTPMフレームワーク40のためには、これらはおおまかに、厳密なセキュリティからより高いパフォーマンスおよび柔軟性までに及ぶ範囲の両端に相当する。ソフトウェア・ベースのDMと称される第一のモデルは、ひとたびvTPMがTPMハードウェア内にアンカーされれば、ソフトウェアが完全なTPM機能性をVM内のOSに提供できる。あらゆる秘密鍵は、仮想TPMに保存されている他のすべてと同様、デバイス・モデルのメモリ内に保存されている。ハードウェア・ベースのDMと称される第二のモデルでは、あらゆる鍵はハードウェアTPMに保存されている。第二のモデルでは、鍵が使われるとき、デバイス・モデルはその鍵を使う要求をTPMに発する。第一のモデルでは、vTPMはTPMのパフォーマンス制限によって妨害されない一方、第二のモデルはたいていの要求にサービスするためにいまだハードウェアTPMに頼る。通常に機能している間の第一のモデルと第二のモデルの間のセキュリティ上の差は同一である。しかしながら、危殆化が発生したあとに結果として得られるシステムおよびその秘密情報の状態はモデル間で異なる。
完全にソフトウェア・ベースのvTPM DMはTPM機能性を提供するためにほとんどまたは全くハードウェアTPM資源を使用しない。ひとたびPSSおよびハードウェアTPMが、DMおよびTCBがDMのクレデンシャルに反映されているものと同じであると保証したら、DMはハードウェアTPMとは独立に機能するに任される。あらゆる仮想PCR、単調カウンタ、不揮発性記憶および他のTPM資源は、DMのメモリ内で保存され、管理される。
vTPMデバイス・モデルの第二の例は、ハードウェアTPM内の保護された処理の使用を最大限にすることを試みる。ハードウェアTPM資源の主たる使用は、各DMについてのあらゆる鍵がハードウェアTPM内に保存され、秘密鍵が決してメイン・メモリに保存されないことである。
この節は、ハードウェア・ベースのデバイス・モデルの例示的な実施形態において利用される全体的な鍵階層構造を記述する。この例示的な実施形態は、図3に示されるような、VM60AのためのvTPMとしてはたらくDM44Aのコンテキストで記述される。
ハードウェアTPM(たとえばTPM30)とvTPMを使うVM(たとえばDM44Aを使うVM60A)は、現在のPCR値が何であるかについて異なる概念をもつ。vTPMとTPMとの間で情報の流れが一貫したままであることを保証するよう、注意を払う必要がある。vTPM中で鍵が生成されることをVMが要求するとき、その要求には、vPCRバインドが伴う。もっとも、ゲストはバインドが仮想であることを認識しなくてもよいが。この要求がハードウェアTPMに転送されるとき、要求中のPCRフィールドが正しいhwPCRバインドに翻訳されなければならない。バインドとして、DMはGVTPM+TCBを使用してもよいし、あるいはパフォーマンスのためにバインドを省略してもよい。こうして、ハードウェアTPMから返された、結果として得られる新たに生成された包装鍵は、VMによって要求されたvPCRバインドを含まないことになる。包装鍵がそれらのバインドを含まないので、攻撃者が元の包装鍵を入手して、それをハードウェアTPMに直接ロードするようなことがあれば、攻撃者はvTPMをバイパスすることが可能となりうる。
仮想TPMデバイス・モデルは、他のTPM資源のほとんどを多くのDMにまたがって共有することはできないことがありうる。単調カウンタは典型的には、非排他的なカウンタ使用を期待するための修正アプリケーションなしには共有できず、よって特定のDMに恒久的に割り当てられるか、ソフトウェア・ベースのデバイス・モデルと同様にソフトウェアで実装されるかしうる。vTPM不揮発性記憶は、ハードウェアTPMの記憶を超過しない限り、ハードウェアTPM内に記憶されることができる。ハードウェアTPMの記憶が不十分であれば、不揮発性記憶もソフトウェア・ベースのDMと同様に仮想化されることもできる。
上で論じたフレームワークは、単一の通常TPMを使って複数のゲストにTPM機能を提供しうる。フレームワークは、TPM機能性を提供するためにソフトウェアかハードウェアのいずれを使うこともできるが、仮想PCRを実施するためにTPMを使うのはわずらわしことがありうる。本節は、ハードウェア・ベースのデバイス・モデルを最適化し、単純化するためのTPM特徴を記述する。それらの特徴は次のようなものを含む:
・仮想PCR
・仮想構成証明素性鍵
・仮想EK
典型的な通常TPMは、vPCRを保存し、TPMが鍵バインドを実施してvPCR引用を提供するのを許容することができないことがありうる。これは、DMがvPCRを実施および管理する、二重包装鍵の必要性につながる。vPCRを保存することのできる修正されたTPMは、複雑さの多大な部分を取り除き、向上したパフォーマンスを提供する。本出願と同じ被譲渡者に譲渡された米国特許出願第11/095,034号は、仮想機械のためにPCRおよび/またはvPCRをサポートする技術を論じている。
プラットフォーム上でのTPMの使用は、ソフトウェアおよびデータの配布のために新たな課題を生じうる。たとえば、組織内の情報技術(IT)部門はソフトウェアのビルドまたはパッチを作成し、次いでそのビルドまたはパッチを組織を通じた何百、何千もの機械にプッシュすることがありうる。TPMは、鍵を保護し、データを封印するためにTPMが使われる仕方のため、この過程に新たな原動力を提供する。新しいソフトウェア・パッケージを機械に配布するため、IT部門は、そのソフトウェアによって必要とされる何らかの鍵を機械のTPMに配布する必要があることを見出しうる。
1)プロビジョナーが新しいvTPMとvTPM内で必要とされるすべての鍵とを生成する。プロビジョナーはまた、そのvTPMのために新しい裏書きクレデンシャルを生成して署名する。
2)プロビジョナーが、宛先PSSがリプレイ対策のノンスを提供することを要求する。
3)PSSがプロビジョナーにノンスと任意的に該PSSの公開鍵を送る。この鍵は以前の通信からすでに知られていてもよい。
4)プロビジョナーが次いで、新しいvTPMの状態およびステップ3からのノンスをPSSの記憶装置鍵で暗号化する。
5)プロビジョナーが、暗号化されたブロブを、そのvTPMのための裏書きクレデンシャルとともにPSSに送る。
6)PSSはvTPM状態を受け取り、復号し、あらゆるオフラインvTPMにしているように封印し、既知vTPMとして記録する。このvTPMは今では公式に当該PSSのプラットフォームの一部である。
7)PSSについての仮想製造業者機関がvTPMについてのプラットフォーム・クレデンシャルを生成する。
PSSはこれで、他の任意のものと同様、vTPMをロードして使用できる。
環境によってはTPMが固定であるという性質が重要であるが、環境によってはプラットフォームをまたいだTPMの制御された可動性から裨益することもできる。TCGは単一の鍵が第三者の介入によってあるTPMから別のTPMに移行されることのできる機構を承認している。だが、この機構はわずらわしいことがある。二つ以上の鍵を移行する必要があるときは特にそうである。以下の諸段落は、制御された仕方でプラットフォームからプラットフォームへvTPMを移行させる新しい方法を導入する。今の例示的実施形態では、すべての鍵が、移行される各鍵についての第三者の介入を要求することなしに、同時に移行される。
1.PSS1が、PSS2がその記憶装置公開鍵および該鍵のバインドの証明を送信することを要求する。
2.PSS2が、その記憶装置公開鍵およびノンスをPSS1に送る。
3.PSS1は、PSS2の状態に対するvTPMのポリシーを評価する。PSS1は、該ポリシーによってPSS2の状態がvTPMの安全な動作を提供し、次の移行のためにこのポリシーを堅持すると信頼できると宣言される場合にのみvTPMを移行させるべきである。
4.PSS2が合格したら、PSS1はvTPMが走っていないことを確かめる。次いでPSS1は次のものをPSS2の記憶装置鍵で暗号化する:vTPMの持続的状態、ステップ2からのノンスおよびこの状態が走るべき正しいvTPMの測定結果。
5.PSS1は、このvTPMのためのレコードを既知のvTPMのリストから削除する。これは、この状態がこのサービスに再ロードされることができないこと、移行が完了したらこのvTPMはPSS2のもとでのみ存在することを保証する。
6.PSS1はPSS2に、暗号化されたブロブを、vTPMのための裏書きクレデンシャルとともに送る。
7.PSS2はvTPM状態を受け取り、復号し、あらゆるオフラインvTPMにしているように封印し、既知のvTPMとして記録する。このvTPMは今では公式にPSS2のプラットフォームの一部である。
8.(任意的) PSS2の仮想製造業者機関がvTPMについてのプラットフォーム・クレデンシャルを生成する。vTPMがPSS1のプラットフォーム・クレデンシャルを使うことを続けるのは、vTPMはもはやそのプラットフォーム上にないので、不正確である。しかしながら、vTPMの信頼性はポリシーに合格する最も弱い構成の信頼性でしかないので、この新しいクレデンシャルが使われることはセキュリティのためには決定的(critical)ではない。
PSS2はこれで、他の任意のものと同様、vTPMをロードして使用できる。
1.vTPM状態が元は安全なvTPM内で生成された。
2.vTPMが安全なvTPM内にあれば、vTPMアーキテクチャはvTPM状態を別の安全なvTPMにしか移行させない。
これら二つの陳述の保証は、クレデンシャルに対する署名に見出される。vTPMが生成されたとき、その裏書きクレデンシャルが仮想製造業者機関によって生成され、署名された。これに先立ち、仮想製造業者機関はその署名鍵を生成し、移行ポリシーとともにそれを証明機関と交換した。このCAは、仮想製造業者機関のことを安全なvTPMを提供し、安全な移行ポリシーを実施するものとして認識するのでない限り、仮想製造業者機関についての裏書きクレデンシャルに署名することはない。したがって、CAが署名したクレデンシャルをもつ仮想製造業者機関は、vTPMを安全でないvTPMに移行させることは決してしない。
この開示は、TPMのようなセキュリティ・コプロセッサの仮想化のための一般化されたフレームワークを記述する。ある例示的な実施形態は、安全な仮想TPM動作を可能にするためにTPMを使用する。開示された実施形態は、複数のVMがTPM機能性を使用することを、複数の専用ハードウェアTPMを要求することなく、VM内のソフトウェアへの修正を要求することなく、そしてTPMまたはvTPM保護されたシステムと相互作用するリモート・エンティティへの修正を要求することなく、許容する。本開示によれば、仮想TPMは、VM内のOSおよびアプリケーションを測定して、リモート・エンティティに構成証明を提供することができる。さらに、仮想TPMはハードウェアTPMチャレンジャーのために、VMの状態を構成証明できる。これは、ハードウェアTPMおよびチャレンジャーが上で参照したTPMバージョン1.2、設計規格のような現行のTPM規格で記述されている機能のみを利用していたとしてもできる。VM中のゲストOSは、ハードウェアTPMが共有されていることに気づかないままでもよく、システム内のVMどうしの間には信頼関係は要求されない。
Claims (21)
- 処理システムの保護された部分に、所定の暗号コプロセッサに対応する所定のデバイス・モデル設計に少なくとも部分的に基づくデバイス・モデル(DM)を、該DMを実装するためのプログラム・コード・セグメント(PCS)を含む仮想機械(VM)定義を使って生成する段階と;
前記DMにおいて、前記処理システムの保護された部分の外にあるソフトウェア・エンティティから情報を受領する段階と;
前記DMにおいて前記ソフトウェア・エンティティから前記情報を受領するのに反応して、ユーザーおよび信頼されるプラットフォーム・モジュール(TPM)について前記DMによって別個の権限付与セッションを維持することを含む単一ユーザー権限付与セッションのもとで、前記所定のデバイス・モデル設計に従った暗号サービスを前記ソフトウェア・エンティティに提供することによって、前記所定の暗号コプロセッサをエミュレートする段階とを有する方法。 - 前記DMをサポートするために前記処理システムの信頼されるプラットフォーム・モジュール(TPM)を使用することをさらに含む、請求項1記載の方法。
- 前記ソフトウェア・エンティティに暗号サービスを提供する動作が:
前記処理システムの物理的な暗号コプロセッサを使って前記DMに関連するデータを封印する段階と;
前記処理システムのランダム・アクセス・メモリ(RAM)内に前記の封印されたデータを格納する段階とを有する、請求項1記載の方法。 - 前記ソフトウェア・エンティティに暗号サービスを提供する動作が:
前記処理システムの物理的な暗号コプロセッサからの鍵を使って前記DMに関連するデータを暗号化する段階と;
プロテクト記憶サービス(PSS)を使って前記の暗号化された情報を格納する段階とを有する、請求項1記載の方法。 - 前記PSSが前記の暗号化された情報を格納するために、前記処理システムのランダム・アクセス・メモリ(RAM)を少なくとも一時的に使う、請求項4記載の方法。
- 前記処理システムにおいて、第一のデバイス・モデル設計に少なくとも部分的に基づいた一つまたは複数のDMの第一の組を生成する段階と;
前記処理システムにおいて、第二のデバイス・モデル設計に少なくとも部分的に基づいた一つまたは複数のDMの第二の組を生成する段階とをさらに有する、請求項1記載の方法。 - 前記デバイス・モデル設計が、信頼されるプラットフォーム・モジュール(TPM)のある特定の型を表す、請求項1記載の方法。
- 前記デバイス・モデル設計が、セキュリティ・コプロセッサのある特定の型を表す、請求項1記載の方法。
- 前記デバイス・モデル設計が、前記処理システムの前記保護された部分の外にあるソフトウェア・エンティティが前記デバイス・モデルのインスタンスと通信するために使うためのインターフェースの定義を含んでいる、請求項1記載の方法。
- 機械アクセス可能媒体と;
該機械アクセス可能媒体中でエンコードされている命令とを有する装置であって、前記命令は、処理システムによって実行されたときに、前記処理システムをして:
所定の暗号コプロセッサに対応する所定のデバイス・モデル設計に少なくとも部分的に基づくデバイス・モデル(DM)を、該DMを実装するためのプログラム・コード・セグメント(PCS)を含む仮想機械(VM)定義を使って生成する段階と;
前記DMにおいて、前記処理システムにおいて実行されるソフトウェア・エンティティから情報を受領する段階と;
前記DMにおいて前記ソフトウェア・エンティティから前記情報を受領するのに反応して、ユーザーおよび信頼されるプラットフォーム・モジュール(TPM)について前記DMによって別個の権限付与セッションを維持することを含む単一ユーザー権限付与セッションのもとで、前記所定のデバイス・モデル設計に従った暗号サービスを前記ソフトウェア・エンティティに提供することによって、前記所定の暗号コプロセッサをエミュレートする段階とを含む動作を実行させることを特徴とする、装置。 - 前記DMが、前記DMをサポートするものとして前記処理システムの信頼されるプラットフォーム・モジュール(TPM)を使用する、請求項10記載の装置。
- 前記DMが、前記DMの構造に関連するデータを封印するための前記処理システムの物理的なセキュリティ・コプロセッサを使用する、請求項10記載の装置。
- 前記命令が前記処理システムをして:
前記処理システムにおいて、第一のデバイス・モデル設計に少なくとも部分的に基づいた一つまたは複数のDMの第一の組を生成する段階と;
前記処理システムにおいて、第二のデバイス・モデル設計に少なくとも部分的に基づいた一つまたは複数のDMの第二の組を生成する段階とを含む動作を実行させることを特徴とする、請求項10記載の装置。 - 前記デバイス・モデル設計が、ソフトウェア・エンティティが前記デバイス・モデルのインスタンスと通信するために使うためのインターフェースの定義を含んでいる、請求項10記載の装置。
- プロセッサと;
前記プロセッサに通信上結合されたセキュリティ・コプロセッサと;
前記プロセッサに通信上結合された機械アクセス可能媒体と;
前記機械アクセス可能媒体中にエンコードされた、仮想セキュリティ・コプロセッサ・フレームワークを実装するための命令とを有する処理システムであって:
前記仮想セキュリティ・コプロセッサ・フレームワークは、所定の暗号コプロセッサに対応する少なくとも一つのデバイス・モデル設計を有しており;
前記仮想セキュリティ・コプロセッサ・フレームワークは、当該処理システムにおいて、前記デバイス・モデル設計に少なくとも部分的に基づくデバイス・モデル(DM)を生成し;
前記仮想セキュリティ・コプロセッサ・フレームワークは、前記DMをサポートするために前記セキュリティ・コプロセッサを使用し;
前記DMは、ユーザーおよび信頼されるプラットフォーム・モジュール(TPM)について前記DMによって別個の権限付与セッションを維持することを含む単一ユーザー権限付与セッションのもとで、前記デバイス・モデル設計に従って前記所定の暗号コプロセッサをエミュレートする、ことを特徴とする、処理システム。 - 前記仮想セキュリティ・コプロセッサ・フレームワークが、前記DMに関連するデータを封印するために前記セキュリティ・コプロセッサを使用する、請求項15記載の処理システム。
- 前記仮想セキュリティ・コプロセッサ・フレームワークが、それぞれ第一および第二の型の暗号コプロセッサを表す第一および第二のデバイス・モデル設計を有しており;
前記命令が前記処理システムをして:
前記処理システムにおいて、前記第一のデバイス・モデル設計に少なくとも部分的に基づいた一つまたは複数のDMの第一の組を生成する段階と;
前記処理システムにおいて、前記第二のデバイス・モデル設計に少なくとも部分的に基づいた一つまたは複数のDMの第二の組を生成する段階とを含む動作を実行させることを特徴とする、請求項15記載の処理システム。 - 前記セキュリティ・コプロセッサが、信頼されるプラットフォーム・モジュール(TPM)を含む、請求項15記載の処理システム。
- 前記デバイス・モデル設計が、ソフトウェア・エンティティが前記デバイス・モデルのインスタンスと通信するために使うためのインターフェースの定義を含んでいる、請求項15記載の装置。
- 処理システムの保護された部分に、所定の暗号コプロセッサに対応する所定のデバイス・モデル設計に少なくとも部分的に基づくデバイス・モデル(DM)を、該DMを実装するためのプログラム・コード・セグメント(PCS)を含む仮想機械(VM)定義を使って生成する段階と;
前記DMにおいて、前記処理システムの保護された部分の外にあるソフトウェア・エンティティから情報を受領する段階と;
前記DMにおいて前記ソフトウェア・エンティティから前記情報を受領するのに反応して、ユーザーおよび信頼されるプラットフォーム・モジュール(TPM)について前記DMによって別個の権限付与セッションを維持することを含む単一ユーザー権限付与セッションのもとで、前記ソフトウェア・エンティティに、前記所定の暗号コプロセッサによってサポートされる動作を使う暗号サービスを提供する段階とを有する方法。 - 前記ソフトウェア・エンティティに暗号サービスを提供する動作が:
前記処理システムの暗号コプロセッサを使って、前記所定の暗号コプロセッサのエミュレーションをサポートする段階を含む、請求項20記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68109405P | 2005-05-13 | 2005-05-13 | |
US60/681,094 | 2005-05-13 | ||
US11/171,133 US7587595B2 (en) | 2005-05-13 | 2005-06-29 | Method and apparatus for providing software-based security coprocessors |
US11/171,133 | 2005-06-29 | ||
PCT/US2006/018685 WO2006124751A2 (en) | 2005-05-13 | 2006-05-11 | Method and apparatus for providing software-based security coprocessors |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008541279A JP2008541279A (ja) | 2008-11-20 |
JP4732513B2 true JP4732513B2 (ja) | 2011-07-27 |
Family
ID=37418673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008511457A Expired - Fee Related JP4732513B2 (ja) | 2005-05-13 | 2006-05-11 | ソフトウェア・ベースのセキュリティ・コプロセッサを提供する方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7587595B2 (ja) |
EP (1) | EP1880339A2 (ja) |
JP (1) | JP4732513B2 (ja) |
KR (1) | KR100930218B1 (ja) |
CN (1) | CN101176100B (ja) |
WO (1) | WO2006124751A2 (ja) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590867B2 (en) | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
US7613921B2 (en) | 2005-05-13 | 2009-11-03 | Intel Corporation | Method and apparatus for remotely provisioning software-based security coprocessors |
US8074262B2 (en) | 2005-05-13 | 2011-12-06 | Intel Corporation | Method and apparatus for migrating virtual trusted platform modules |
US8458673B2 (en) * | 2006-04-26 | 2013-06-04 | Flexera Software Llc | Computer-implemented method and system for binding digital rights management executable code to a software application |
EP1850260A1 (en) * | 2006-04-26 | 2007-10-31 | Macrovision Corporation | A computer-implemented method and system for binding digital rights management executable code to a software application |
US8108668B2 (en) | 2006-06-26 | 2012-01-31 | Intel Corporation | Associating a multi-context trusted platform module with distributed platforms |
US8510859B2 (en) | 2006-09-26 | 2013-08-13 | Intel Corporation | Methods and arrangements to launch trusted, co-existing environments |
US8479264B2 (en) * | 2006-09-29 | 2013-07-02 | Micron Technology, Inc. | Architecture for virtual security module |
US9171161B2 (en) * | 2006-11-09 | 2015-10-27 | International Business Machines Corporation | Trusted device having virtualized registers |
US8024579B2 (en) * | 2006-12-29 | 2011-09-20 | Lenovo (Singapore) Pte Ltd. | Authenticating suspect data using key tables |
US9280659B2 (en) * | 2006-12-29 | 2016-03-08 | Intel Corporation | Methods and apparatus for remeasuring a virtual machine monitor |
US20080320263A1 (en) * | 2007-06-20 | 2008-12-25 | Daniel Nemiroff | Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner |
US8064605B2 (en) * | 2007-09-27 | 2011-11-22 | Intel Corporation | Methods and apparatus for providing upgradeable key bindings for trusted platform modules |
US8249257B2 (en) * | 2007-09-28 | 2012-08-21 | Intel Corporation | Virtual TPM keys rooted in a hardware TPM |
EP2204008B1 (en) * | 2007-10-16 | 2019-03-27 | Nokia Technologies Oy | Credential provisioning |
US20090133097A1 (en) * | 2007-11-15 | 2009-05-21 | Ned Smith | Device, system, and method for provisioning trusted platform module policies to a virtual machine monitor |
US8259948B2 (en) * | 2007-12-29 | 2012-09-04 | Intel Corporation | Virtual TPM key migration using hardware keys |
CA2661398C (en) | 2008-04-05 | 2016-05-17 | Third Brigade Inc. | System and method for intelligent coordination of host and guest intrusion prevention in virtualized environment |
FR2929733B1 (fr) * | 2008-04-08 | 2010-08-27 | Eads Defence And Security Syst | Systeme et procede de securisation d'un ordinateur comportant un micronoyau |
WO2009127905A1 (en) * | 2008-04-16 | 2009-10-22 | Lenovo (Singapore) Pte. Ltd. | Apparatus and method for enabling applications on a security processor |
JP5309709B2 (ja) * | 2008-06-16 | 2013-10-09 | 株式会社リコー | ソフトウェア改ざん検知方法及び機器 |
TWI525452B (zh) * | 2008-10-02 | 2016-03-11 | 美國博通公司 | 安全處理系統 |
US8868925B2 (en) * | 2008-12-09 | 2014-10-21 | Nvidia Corporation | Method and apparatus for the secure processing of confidential content within a virtual machine of a processor |
US8266448B2 (en) * | 2008-12-09 | 2012-09-11 | Nvidia Corporation | Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content |
US8346847B2 (en) * | 2009-06-03 | 2013-01-01 | Apple Inc. | Installing applications based on a seed application from a separate device |
US8402280B1 (en) | 2009-10-15 | 2013-03-19 | Nvidia Corporation | System, method, and computer program product for buffering in association with audio/video digital rights management (DRM) processing |
EP2513789B1 (en) | 2009-12-14 | 2019-10-23 | Citrix Systems, Inc. | A secure virtualization environment bootable from an external media device |
US8661436B2 (en) * | 2009-12-14 | 2014-02-25 | Citrix Systems, Inc. | Dynamically controlling virtual machine access to optical disc drive by selective locking to a transacting virtual machine determined from a transaction stream of the drive |
US20110239209A1 (en) | 2010-03-23 | 2011-09-29 | Fujitsu Limted | System and methods for remote maintenance in an electronic network with multiple clients |
US9286485B2 (en) * | 2010-03-23 | 2016-03-15 | Fujitsu Limited | Using trust points to provide services |
CN102402657A (zh) * | 2010-09-15 | 2012-04-04 | 联想(新加坡)私人有限公司 | 用于使能安全处理器上的应用的装置和方法 |
DE102010053485A1 (de) * | 2010-12-04 | 2012-06-06 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Arbeitsmaschine und Arbeitsmaschine mit virtueller Automatisierung |
CN102833296B (zh) * | 2011-06-13 | 2018-10-23 | 伊姆西公司 | 用于构建安全的计算环境的方法和设备 |
CN102332069B (zh) * | 2011-08-05 | 2014-02-26 | 道里云信息技术(北京)有限公司 | 虚拟机全生命周期安全管理方法及系统 |
GB2513826A (en) | 2012-06-29 | 2014-11-12 | Ibm | Trusted boot of a virtual machine |
WO2014046974A2 (en) | 2012-09-20 | 2014-03-27 | Case Paul Sr | Case secure computer architecture |
US9037854B2 (en) * | 2013-01-22 | 2015-05-19 | Amazon Technologies, Inc. | Privileged cryptographic services in a virtualized environment |
US9176910B2 (en) * | 2013-02-15 | 2015-11-03 | International Business Machines Corporation | Sending a next request to a resource before a completion interrupt for a previous request |
US9230081B2 (en) * | 2013-03-05 | 2016-01-05 | Intel Corporation | User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system |
WO2014194494A1 (zh) * | 2013-06-05 | 2014-12-11 | 华为技术有限公司 | 数据安全的保护方法、服务器、主机及系统 |
WO2015003310A1 (en) | 2013-07-09 | 2015-01-15 | Hua Zhong University Of Science Technology | Synchronized virtual trusted platform modules (vtpm) and virtual machine (vm) rollbacks |
US9497221B2 (en) * | 2013-09-12 | 2016-11-15 | The Boeing Company | Mobile communication device and method of operating thereof |
US10064240B2 (en) * | 2013-09-12 | 2018-08-28 | The Boeing Company | Mobile communication device and method of operating thereof |
US9235714B1 (en) | 2013-11-12 | 2016-01-12 | Amazon Technologies, Inc. | Preventing persistent storage of cryptographic information using signaling |
US10223538B1 (en) | 2013-11-12 | 2019-03-05 | Amazon Technologies, Inc. | Preventing persistent storage of cryptographic information |
US9231923B1 (en) | 2013-11-12 | 2016-01-05 | Amazon Technologies, Inc. | Secure data destruction in a distributed environment using key protection mechanisms |
US10095532B2 (en) | 2014-04-28 | 2018-10-09 | Netkine, Inc. | Providing excess compute resources with virtualization |
EP2950229B1 (en) * | 2014-05-28 | 2018-09-12 | Nxp B.V. | Method for facilitating transactions, computer program product and mobile device |
US9864864B2 (en) | 2014-09-23 | 2018-01-09 | Accenture Global Services Limited | Industrial security agent platform |
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 |
US9742762B2 (en) | 2014-12-01 | 2017-08-22 | Microsoft Technology Licensing, Llc | Utilizing a trusted platform module (TPM) of a host device |
JP6357091B2 (ja) * | 2014-12-03 | 2018-07-11 | Kddi株式会社 | 情報処理装置、及びコンピュータプログラム |
US9584325B1 (en) * | 2014-12-04 | 2017-02-28 | Amazon Technologies, Inc. | User-configurable cryptographic interface controller |
US9852295B2 (en) * | 2015-07-14 | 2017-12-26 | Bitdefender IPR Management Ltd. | Computer security systems and methods using asynchronous introspection exceptions |
KR101702771B1 (ko) * | 2015-08-26 | 2017-02-03 | (주)에이티솔루션즈 | 보안운영체제를 이용한 고속 데이터 엔코딩/디코딩 방법 |
US10169591B2 (en) * | 2015-12-07 | 2019-01-01 | Amazon Technologies, Inc. | Chained security systems |
KR102484606B1 (ko) * | 2016-03-11 | 2023-01-05 | 삼성전자주식회사 | 전자장치 및 그 제어방법 |
US10277407B2 (en) | 2016-04-19 | 2019-04-30 | Microsoft Technology Licensing, Llc | Key-attestation-contingent certificate issuance |
US10708067B2 (en) * | 2016-06-18 | 2020-07-07 | Intel Corporation | Platform attestation and registration for servers |
US9992029B1 (en) * | 2017-04-05 | 2018-06-05 | Stripe, Inc. | Systems and methods for providing authentication to a plurality of devices |
CN107294710B (zh) * | 2017-06-30 | 2020-12-04 | 浪潮(北京)电子信息产业有限公司 | 一种vTPM2.0的密钥迁移方法及装置 |
US20190116022A1 (en) * | 2017-10-16 | 2019-04-18 | Samsung Electronics Co., Ltd. | Encryption device and operation method thereof |
US10659054B2 (en) * | 2018-02-23 | 2020-05-19 | Nxp B.V. | Trusted monotonic counter using internal and external non-volatile memory |
US10776460B2 (en) | 2018-10-15 | 2020-09-15 | KameleonSec Ltd. | Proactive security system based on code polymorphism |
US11500988B2 (en) * | 2019-03-08 | 2022-11-15 | International Business Machines Corporation | Binding secure keys of secure guests to a hardware security module |
CN110380854A (zh) * | 2019-08-12 | 2019-10-25 | 南京芯驰半导体科技有限公司 | 针对多个系统的根密钥生成、隔离方法及根密钥模块 |
US20200127850A1 (en) * | 2019-12-20 | 2020-04-23 | Intel Corporation | Certifying a trusted platform module without privacy certification authority infrastructure |
US11822664B2 (en) * | 2020-06-22 | 2023-11-21 | Apple Inc. | Securely signing configuration settings |
CN115250189B (zh) * | 2021-04-27 | 2023-06-02 | 西门子(中国)有限公司 | 一种智能家居设备的密钥管理方法及装置 |
CN113468563B (zh) * | 2021-06-24 | 2022-11-18 | 曙光信息产业股份有限公司 | 虚拟机数据加密方法、装置、计算机设备和存储介质 |
CN114297699B (zh) * | 2022-03-10 | 2022-06-14 | 好享家舒适智能家居股份有限公司 | 一种复杂结构数据自动加密解密方法及系统 |
US20240031174A1 (en) * | 2022-07-20 | 2024-01-25 | Arista Networks, Inc. | Establishing trust between supervisors in a network device |
CN116841691B (zh) * | 2023-06-15 | 2024-07-26 | 海光信息技术股份有限公司 | 加密硬件的配置方法、数据机密计算方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004500652A (ja) * | 2000-01-24 | 2004-01-08 | レイディオスケープ リミテッド | 通信用ベースバンド・スタックの設計、モデル化または組立て方法 |
JP2004015667A (ja) * | 2002-06-10 | 2004-01-15 | Takeshi Sakamura | Icカード間暗号通信方法、電子チケット流通システムにおけるicカード間暗号通信方法およびicカード |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895501B1 (en) * | 2000-03-13 | 2005-05-17 | Wrq, Inc. | Method and apparatus for distributing, interpreting, and storing heterogeneous certificates in a homogenous public key infrastructure |
GB2381626B (en) | 2000-07-18 | 2005-02-09 | Intel Corp | Controlling access to multiple isolated memories in an isolated execution environment |
FI110427B (fi) * | 2001-03-28 | 2003-01-31 | Kemira Chemicals Oy | Työliuoksen hydraus vetyperoksidin valmistusprosessissa |
US7676430B2 (en) * | 2001-05-09 | 2010-03-09 | Lenovo (Singapore) Ptd. Ltd. | System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset |
US6922774B2 (en) * | 2001-05-14 | 2005-07-26 | The United States Of America As Represented By The National Security Agency | Device for and method of secure computing using virtual machines |
GB2376765B (en) * | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments with verifiable environment identities |
ATE411561T1 (de) * | 2001-06-28 | 2008-10-15 | Nokia Corp | Verfahren zum ermöglichen von übertragung zwischen prozessen und verarbeitungssystem unter verwendung desselben |
GB2382419B (en) * | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US7478233B2 (en) * | 2002-05-30 | 2009-01-13 | Microsoft Corporation | Prevention of software tampering |
JP2004013602A (ja) * | 2002-06-07 | 2004-01-15 | Handotai Rikougaku Kenkyu Center:Kk | データ駆動プロセッサのエミュレーションシステム |
US8261063B2 (en) * | 2003-02-03 | 2012-09-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for managing a hierarchy of nodes |
US7356197B2 (en) * | 2003-06-30 | 2008-04-08 | Intel Corporation | Variable tap filter architecture for image processing |
US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US7313679B2 (en) * | 2003-10-17 | 2007-12-25 | Intel Corporation | Extended trusted computing base |
US20050132122A1 (en) * | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
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 |
US7380119B2 (en) * | 2004-04-29 | 2008-05-27 | International Business Machines Corporation | Method and system for virtualization of trusted platform modules |
US7590300B2 (en) * | 2004-06-24 | 2009-09-15 | Intel Corporation | Image filtering methods and apparatus |
US7590867B2 (en) * | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
US20060002471A1 (en) * | 2004-06-30 | 2006-01-05 | Lippincott Louis A | Motion estimation unit |
US7471844B2 (en) * | 2004-12-27 | 2008-12-30 | Intel Corporation | Method, apparatus and system for multi-feature programmable tap filter image processing |
US7707629B2 (en) * | 2005-03-31 | 2010-04-27 | Intel Corporation | Platform configuration register virtualization apparatus, systems, and methods |
US7613921B2 (en) * | 2005-05-13 | 2009-11-03 | Intel Corporation | Method and apparatus for remotely provisioning software-based security coprocessors |
US8074262B2 (en) * | 2005-05-13 | 2011-12-06 | Intel Corporation | Method and apparatus for migrating virtual trusted platform modules |
US7827550B2 (en) * | 2005-08-17 | 2010-11-02 | Intel Corporation | Method and system for measuring a program using a measurement agent |
-
2005
- 2005-06-29 US US11/171,133 patent/US7587595B2/en not_active Expired - Fee Related
-
2006
- 2006-05-11 JP JP2008511457A patent/JP4732513B2/ja not_active Expired - Fee Related
- 2006-05-11 CN CN2006800164965A patent/CN101176100B/zh not_active Expired - Fee Related
- 2006-05-11 WO PCT/US2006/018685 patent/WO2006124751A2/en active Application Filing
- 2006-05-11 EP EP06759818A patent/EP1880339A2/en not_active Withdrawn
- 2006-05-11 KR KR1020077026726A patent/KR100930218B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004500652A (ja) * | 2000-01-24 | 2004-01-08 | レイディオスケープ リミテッド | 通信用ベースバンド・スタックの設計、モデル化または組立て方法 |
JP2004015667A (ja) * | 2002-06-10 | 2004-01-15 | Takeshi Sakamura | Icカード間暗号通信方法、電子チケット流通システムにおけるicカード間暗号通信方法およびicカード |
Also Published As
Publication number | Publication date |
---|---|
US20060256105A1 (en) | 2006-11-16 |
KR20080008361A (ko) | 2008-01-23 |
KR100930218B1 (ko) | 2009-12-09 |
JP2008541279A (ja) | 2008-11-20 |
WO2006124751A2 (en) | 2006-11-23 |
WO2006124751A3 (en) | 2007-07-19 |
CN101176100B (zh) | 2010-05-19 |
EP1880339A2 (en) | 2008-01-23 |
US7587595B2 (en) | 2009-09-08 |
CN101176100A (zh) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4732513B2 (ja) | ソフトウェア・ベースのセキュリティ・コプロセッサを提供する方法および装置 | |
US9501665B2 (en) | Method and apparatus for remotely provisioning software-based security coprocessors | |
US7571312B2 (en) | Methods and apparatus for generating endorsement credentials for software-based security coprocessors | |
US7636442B2 (en) | Method and apparatus for migrating software-based security coprocessors | |
US8074262B2 (en) | Method and apparatus for migrating virtual trusted platform modules | |
Ibrahim et al. | Trusted cloud computing architectures for infrastructure as a service: Survey and systematic literature review | |
US7590867B2 (en) | Method and apparatus for providing secure virtualization of a trusted platform module | |
KR100917290B1 (ko) | 신뢰 플랫폼 모듈의 보안 가상화를 위한 방법 및 장치 | |
Gebhardt | Towards trustworthy virtualisation: Improving the trusted virtual infrastructure | |
Gameiro | TWallet Arm TrustZone Enabled Trustable Mobile Wallet: A Case for Cryptocurrency Wallets | |
Gazidedja | HW-SW architectures for security and data protection at the edge | |
Cooper | Towards a trusted grid architecture | |
Aslam et al. | TCG based approach for secure management of virtualized platforms: state-of-the-art | |
date Feb | D02. 2 Requirements Definition and Specification | |
Cabiddu et al. | Building a Trusted Environment for Security Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110221 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110420 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |