JP2004508619A - トラステッド・デバイス - Google Patents
トラステッド・デバイス Download PDFInfo
- Publication number
- JP2004508619A JP2004508619A JP2002521676A JP2002521676A JP2004508619A JP 2004508619 A JP2004508619 A JP 2004508619A JP 2002521676 A JP2002521676 A JP 2002521676A JP 2002521676 A JP2002521676 A JP 2002521676A JP 2004508619 A JP2004508619 A JP 2004508619A
- Authority
- JP
- Japan
- Prior art keywords
- computing device
- trusted
- psc
- platform
- integrity
- 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.)
- Pending
Links
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 using challenge-response
- H04L9/3273—Cryptographic 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 using challenge-response for mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
第1のコンピュータ装置がトラステッド・エンティティであるかどうかを判断するために、該第1のコンピュータ装置の第1の完全性メトリックを取得する手段であって、入力手段に応答して該取得を起動する取得手段と、該第1のコンピュータ装置がトラステッド・デバイスであるという標示をユーザに示す提示手段と、を備える携帯型ハンドヘルドコンピューティング装置。
【選択図】図5
【選択図】図5
Description
【0001】
(背景技術)
商業用途では、通常、クライアント・コンピューティング・プラットフォームは、その挙動が、ローカルのエンティティまたは遠隔のエンティティによる変更に対して無防備となっている環境で動作している。該プラットフォームについてのセキュリティが脅かされる可能性は、そのことがなければ該プラットフォームを快く使用するであろうローカル・パーティや、そのことがなければ該プラットフォームと通信するであろう遠隔のパーティが、電子商取引の目的で該プラットフォームを使用する場合の制約となる。
【0002】
既存のセキュリティ・アプリケーション、例えばウィルス検出ソフトウェアは、プラットフォームが意図するとおり動作し、かつプロセスおよびアプリケーションを破壊することがないという想定の下で、コンピューティング・プラットフォーム上で実行される。これは、意図するソフトウェアの状態が不安定になっていない、またはウィルスなどの他のソフトウェアによって損傷を与えられていないという条件の下では、妥当な想定である。したがって、ユーザは、通常、そのようなプラットフォームの使用をクリティカルでないアプリケーションに制限し、プラットフォームを使用することの便利さを、センシティブなデータまたはビジネスにとってクリティカルなデータに対するリスクと比較検討することとなる。
【0003】
したがって、プラットフォームへの信頼のレベルを高めることにより、既存のセキュリティ・アプリケーション(「セキュア・ソケット・レイヤ(Secure Socket Layer)」または「IPSec」)、または遠隔の管理アプリケーションに対するユーザの信用をより大きくすることができる。これにより、それらのアプリケーションへの依拠を大きくすることができ、よって「管理費(cost of ownership)」を低減することができる。また、より高い信頼により、ビジネスの新しい電子方法が可能になる。というのは、ローカルのコンピューティング・プラットフォームと遠隔のコンピューティング・プラットフォームの両方の正しい動作に対してより大きな信用が存在することとなるからである。
【0004】
欧州特許出願99301100.6は、コンピューティング・プラットフォームのアイデンティティ(identity)を、該プラットフォームの完全性メトリック(integrity metric)を提供するように確実に測定されたデータに結びつける機能を持つ物理的なトラステッド・デバイス(trusted device;信頼できるデバイス)を、該プラットフォームに組み込むことを開示する。アイデンティティおよび完全性メトリックは、プラットフォームの信頼性を保証するために設けられたトラステッド・パーティ(trusted party:TP、信頼できるパーティ)によって提供される期待値(expected value)と比較される。一致するものがあれば、これは、完全性メトリックの範囲に応じて、プラットフォームの少なくとも一部が正しく動作していることを示す。
【0005】
ユーザは、プラットフォームの正しい動作を確認した後に、他のデータを、該プラットフォームと交換する。ユーザは、プラットフォームのアイデンティティおよび完全性メトリックを提供するようトラステッド・デバイスに要求することによって、これを行う。(オプションとしてだが、トラステッド・デバイスは、自分自身がプラットフォームの正しい動作を確認することができなかった場合、アイデンティティの証拠を提供することを拒否する。)ユーザは、アイデンティティの証拠および完全性メトリックを受け取り、それを、真であると信じられている値と比較する。この適切な値は、TPにより、またはユーザが信頼する別のエンティティにより提供される。トラステッド・デバイスによって報告されたデータが、TPによって提供されたものと同じである場合、ユーザは、そのプラットフォームを信頼する。これは、ユーザがそのエンティティを信頼するからである。エンティティは、該アイデンティティを以前に確証して、該プラットフォームの適切な完全性メトリックを判定しているので、該エンティティは該プラットフォームを信頼している。
【0006】
ユーザは、プラットフォームの信頼できる動作を確立した後に、他のデータを該プラットフォームと交換する。ローカル・ユーザの場合、該交換は、プラットフォーム上で実行される何らかのソフトウェアアプリケーションと対話することによって行われることができる。遠隔ユーザの場合、該交換に、セキュアなトランザクションを伴うことができる。いずれの場合も、交換されるデータには、トラステッド・デバイスによって「署名される(signed)」。次に、ユーザは、その挙動を信頼することができるプラットフォームとデータが交換されているという、より高い信用を有することができる。
【0007】
しかしながら、遠隔ユーザは、装置からの応答が、信頼できるやり方で確認されるということを保証することができない。したがって、この状況を改善することが望ましい。
【0008】
本明細書では、「信頼(trust)」という語を用いているが、これは、意図する目的のために、何かしらが常に予期されるやり方で動作する場合に、その何かしらを「信頼」することができるという意味で使用されている。
【0009】
(発明の概要)
本発明の第1の側面によれば、第1のコンピュータ装置がトラステッド・エンティティ(entity)であるかどうかを判断するために、該第1のコンピュータ装置の第1の完全性メトリックを取得する取得手段であって、入力手段に応答して該取得を起動する取得手段と、該第1のコンピュータ装置がトラステッド・デバイスであることを示す標示をユーザに提示する提示手段と、を備える携帯型ハンドヘルドコンピューティング装置が提供される。
【0010】
好ましくは、携帯型ハンドヘルドコンピューティング装置は、さらに、該携帯型ハンドヘルドコンピューティング装置の第2の完全性メトリックを取得して、該携帯型ハンドヘルドコンピューティング装置がトラステッド・エンティティであるかどうかについての判断を可能にするよう構成されるトラステッド・デバイスと、該第2の完全性メトリックを第1のコンピュータ装置に伝達して、該携帯型ハンドヘルドコンピューティング装置および第1のコンピュータ装置の信頼状態(trusted state)について相互判定を可能にする伝達手段と、を備える。
【0011】
オプションとして、携帯型ハンドヘルドコンピューティング装置は、さらに、第1のコンピュータ装置に認証データ(authentication data)を提供するように構成される暗号手段を備える。
【0012】
本発明は、携帯型セキュリティ・チャレンジャ(Portable Security Challenger)を使用して装置の完全性を検査することによって、ユーザの信頼および信用を高める装置および方法に関する。携帯型セキュリティ・チャレンジャは、携帯情報端末(PDA)、モバイル電話機、スマートカード、またはバイオメトリック・リーダ(biometric reader)であることができる。携帯型セキュリティ・チャレンジャは、トラステッド・デバイスから完全性メトリックを得るために該トラステッド・デバイスにチャレンジするのに使用され、また携帯型セキュリティ・チャレンジャは、そのユーザを認証するのにも使用されることができる。携帯型セキュリティ・チャレンジャは、専用のチャレンジを行うデバイスでなくてもよく、コンピューティング・パワー、ユーザ・インターフェース、および通信媒体を備えた任意のデバイスを、携帯型セキュリティ・チャレンジャにすることができる。
【0013】
本発明は、コンピューティング装置の完全性を検査する従来技術の方法を拡張し、ユーザが、強力なユーザ・インターフェースを備えたトラステッド携帯型チャレンジャを使用して、該装置に対してチャレンジすることができるようにする。強力なユーザ・インターフェースを備えた携帯型セキュリティ・チャレンジャにより、コンピューティングの完全性検査へのユーザの信頼および信用を高めることが可能となる。
【0014】
本発明では、相互の完全性チャレンジが定義される。さらなるセキュアな通信のために、さらなる交換セッション鍵が提供される。
【0015】
本発明は、コンピューティング装置にチャレンジする装置を提供し、該コンピューティング装置から送られる応答を確認して、信頼できる結果をユーザに示そうとする。
【0016】
好ましくは、携帯型ハンドヘルドコンピューティング装置は、完全性の検査以外の機能をも実行することができ、完全性検査プロセスを行いながら、他の機能を切り離すことができる。完全性検査のすべてのデータおよびすべてのプロセスが保護され、そのようなチャレンジャにおける他の機能、プロセス、またはプログラムは、完全性検査プロセスのどの部分にも干渉しない。
【0017】
好ましくは、該装置は、携帯情報端末(PDA)デバイス、すなわちトラステッドPDAデバイスである。トラステッドPDAは、物理的に画定されたトラステッド・デバイスを備える通常のPDAである。該トラステッド・デバイスを備えるPDAは、自己完全性検査を行うことができ、ユーザは、該自己完全性検査の結果を信頼することができる。オプションとして、トラステッドPDAは、スマートカードを備えた通常のPDAであり、これは、該PDAの完全性を検査して該完全性検査の結果を表示することができ、ユーザは、該完全性検査の結果を信頼することができる。
【0018】
好ましくは、該装置は、モバイル電話機、すなわちトラステッド・モバイル電話機である。トラステッド・モバイル電話機は、物理的に画定されたトラステッド・デバイスを備える通常のモバイル電話機である。該トラステッド・デバイスを備えるモバイル電話機は自己完全性検査を行うことができ、ユーザは、該自己完全性検査の結果を信頼することができる。オプションとして、トラステッド・モバイル電話機は、スマートカードを備えた通常のモバイル電話機であり、これは、該モバイル電話機の完全性を検査して、該完全性検査の結果を表示することができ、ユーザは、該完全性検査の結果を信頼することができる。
【0019】
好ましくは、該装置は、自己表示機能を備えたスマートカードである。好ましくは、該装置は、自己表示機能を備えたバイオメトリック・リーダである。トラステッド・バイオメトリック・リーダは、物理的に画定されたトラステッド・デバイスを備える通常のバイオメトリック・リーダである。該トラステッド・デバイスを備えたバイオメトリック・リーダは、自己完全性検査を行うことができ、該自己完全性検査の結果を表示することができ、ユーザは、該自己完全性検査の結果を信頼することができる。
【0020】
次に、本発明の好ましい実施形態を単に例として、図面を参照して説明する。
【0021】
(発明の詳細な説明)
図1には、トラステッド・プラットフォーム(trusted platform;信頼できるプラットフォーム)10が示されている。プラットフォーム10は、プラットフォームの物理的な「ユーザ・インターフェース」を提供する標準機能を持つキーボード14、マウス16、および視覚的表示装置(VDU:visual display unit)18を含む。トラステッド・プラットフォームのこの実施形態はまた、スマートカード・リーダ12を含む。スマートカード・リーダは、すべてのトラステッド・プラットフォームの必要不可欠な要素ではないが、以下で説明する様々な好ましい実施形態において使用される。スマートカード・リーダ12とともに、スマートカード19が示されており、これにより、以下でさらに説明するトラステッド・プラットフォームとの信頼できるユーザ対話が可能となる。プラットフォーム10には複数のモジュール15が存在し、これらは、該プラットフォームに適切なものではあるが本質的に任意の種類の、該トラステッド・プラットフォームの他の機能的要素である(このような要素の機能上の意義は、本発明には関係しないので、本明細書でさらに述べることはしない)。
【0022】
図2に示されるように、トラステッド・コンピューティング・プラットフォーム10のマザーボード20は、(他の標準の構成要素もあるが、とりわけ)メイン・プロセッサ21、メイン・メモリ22、トラステッド・デバイス24、データ・バス26、それぞれの制御ライン27およびライン28、プラットフォーム10のためのBIOSプログラムを含むBIOSメモリ29、および入出力(IO)デバイス23を含み、入出力デバイス23は、マザーボードの構成要素と、スマートカード・リーダ12、キーボード14、マウス16、およびVDU18との間の対話を制御する。メイン・メモリ22は通常、ランダム・アクセス・メモリ(RAM)である。プラットフォーム10は、動作の際、オペレーティング・システム、例えばWindows NT(商標)をハードディスク(図示せず)からRAMにロードする。さらに、プラットフォーム10は、動作の際、プラットフォーム10によって実行されることのできるプロセスまたはアプリケーションをハードディスク(図示せず)からRAMにロードする。
【0023】
パーソナル・コンピュータにおいては通常、BIOSプログラムは、特別に確保されたメモリ領域に置かれており、第1のメガバイトの上位64Kがシステム・メモリ(アドレスF000hからFFFFh)を示し、メイン・プロセッサは、業界全体の標準に従ってまずこのメモリ位置を見るように構成される。
【0024】
このプラットフォームと従来のプラットフォームの間の顕著な違いは、リセット後に、メイン・プロセッサがトラステッド・デバイスによって最初に制御され、その後、該トラステッド・デバイスが、プラットフォームに固有のBIOSプログラムに制御を渡し、該BIOSプログラムが、通常どおりにすべての入出力デバイスを初期化することである。BIOSプログラムが実行された後、制御は、通常どおりに、BIOSプログラムによってWindows NT(商標)などのオペレーティング・システム・プログラムに渡され、該オペレーティング・システム・プログラムは通常、ハードディスク・ドライブ(図示せず)からメイン・メモリ22にロードされる。
【0025】
明らかに、通常の手順からのこの変更は、業界標準の実装に対する変更を必要とし、これにより、メイン・プロセッサ21は、最初の命令を受け取るためにトラステッド・デバイス24をアドレスすることとなる。この変更は、異なるアドレスをメイン・プロセッサ21にハードコーディング(hard−coding)することによって簡単に行うことができる。代替的に、トラステッド・デバイス24に、標準のBIOSプログラムのアドレスを割り当てることができ、この場合は、メイン・プロセッサの構成を変更する必要はない。
【0026】
BIOSのブート・ブロックが、トラステッド・デバイス24内に含まれるようにすることが極めて望ましい。これにより、完全性メトリック(IM)を取得することによる破壊(subversion、これは、悪性の(rogue)ソフトウェア・プロセスが存在する場合に生じるおそれがある)を防止し、また、オペレーティング・システムのための適切な環境をBIOS(たとえ、BIOSが正しくても)が構築することができない状況を悪性のソフトウェア・プロセスが作り出すことを防止する。説明する好ましい実施形態では、トラステッド・デバイス24は単一の別個の構成要素であるが、代替的に、トラステッド・デバイス24の機能をマザーボード上の複数のデバイスに分割することができ、またはプラットフォームの既存の1つまたは複数の標準デバイスに統合することさえできるということは、予測されるであろう。例えば、機能およびそれらの通信を破壊することができないという条件の下に、トラステッド・デバイスの1つまたは複数の機能をメイン・プロセッサ自体に組み込むことができる。しかしながら、このことはおそらく、信頼できる機能(trusted functions)が単独で使用するために、プロセッサ上に別個のリード線(lead)を必要とする。加えて、または代替的に、この実施形態ではトラステッド・デバイスはマザーボード20に組み込まれるように適合されたハードウェア・デバイスであるが、トラステッド・デバイスを、必要とされるときにプラットフォームに取り付けることができるドングル(dongle)などの「取外し可能な」デバイスとして実現できることも予測される。トラステッド・デバイスを組み込むか、または取外し可能にするかは、設計上の選択である。しかし、トラステッド・デバイスが分離可能である場合、トラステッド・デバイスとプラットフォームとの間に論理的結合を提供するための機構が存在しなければならない。
【0027】
図3に示されるように、トラステッド・デバイス24は、いくつかのブロックを含む。システム・リセットの後、トラステッド・デバイス24は、セキュアなブート・プロセスを行って、プラットフォーム10のオペレーティング・システムが(システム・クロックおよびモニタ上の表示も含めて)適切でセキュアなやり方で確実に実行されるようにする。セキュアなブート・プロセス中、トラステッド・デバイス24は、コンピューティング・プラットフォーム10の完全性メトリックを取得する。また、トラステッド・デバイス24は、セキュアなデータ転送を行うことができ、例えば、暗号化/暗号化解除および署名(signature)/確認(verification)を介して、自分自身とスマートカードとの間の認証(authentication)を行うこともできる。また、トラステッド・デバイス24は、ユーザ・インターフェースをロックするなどの様々なセキュリティ制御ポリシーをもセキュアに実施することもできる。
【0028】
具体的には、トラステッド・デバイスは、該トラステッド・デバイス24の動作全体を制御し、かつトラステッド・デバイス24上の他の機能およびマザーボード20上の他のデバイスと対話するようにプログラムされたコントローラ30と、プラットフォーム10から完全性メトリックを取得する測定機能31と、指定されたデータを署名、暗号化、または暗号化解除を行う暗号機能32と、スマートカードを認証する認証機能33と、トラステッド・デバイス24をマザーボード20のデータ・バス26、制御ライン27、およびアドレス・ライン28にそれぞれ接続するための適切なポート(36、37、および38)を有するインターフェース回路34と、を備える。トラステッド・デバイス24におけるブロックのそれぞれは、トラステッド・デバイス24の適切な揮発性メモリ領域4および/または不揮発性メモリ領域3へのアクセスを有する(通常、コントローラ30を介して)。さらに、トラステッド・デバイス24は、既知のやり方で、耐タンパー(tamper resistant)であるように設計される。
【0029】
パフォーマンス上の理由で、トラステッド・デバイス24を、特定用途向け集積回路(ASIC)として実現することができる。しかしながら、柔軟性を考慮して、トラステッド・デバイス24は好ましくは適切にプログラムされたマイクロコントローラである。ASICとマイクロコントローラはともに、マイクロエレクトロニクスの技術分野では周知であり、本明細書でさらに詳細に考察することはしない。
【0030】
トラステッド・デバイス24の不揮発性メモリ3に記憶されるデータのうちの1つのアイテムは、証明書(certificate)350である。証明書350は、トラステッド・デバイス24の公開鍵351、およびトラステッド・パーティ(TP)によって測定されたプラットフォームの完全性メトリックの認証された値352を少なくとも含む。証明書350は、トラステッド・デバイス24に記憶される前に、TPの秘密鍵を使用してTPによって署名が行われる。後の通信セッションにおいて、プラットフォーム10のユーザは、取得された完全性メトリックを真正の完全性メトリック352と比較することによって、プラットフォーム10の完全性(integrity)を確認することができる。一致するものが存在する場合、ユーザは、プラットフォーム10が破壊(subvert)されていないことを確信することができる。TPの一般に入手可能な公開鍵を知ることにより、証明書350を簡単に確認(verification)することができる。不揮発性メモリ3はまた、アイデンティティ(ID)ラベル353をも含む。IDラベル353は、何らかの状況(コンテキスト)内において固有である従来のIDラベル、例えばシリアル番号である。IDラベル353は、一般に、トラステッド・デバイス24に関係するデータに索引付けおよびラベル付けを行うために使用されるが、それ自体は、信頼できる条件下でプラットフォーム10のアイデンティティを証明するには不十分である。
【0031】
トラステッド・デバイス24は、自らが関連するコンピューティング・プラットフォーム10の完全性メトリックを確実に測定し、または取得する少なくとも1つの方法を備えている。この実施形態では、完全性メトリックは、BIOSメモリにおけるBIOS命令のダイジェスト(digest)を生成することにより、測定機能31によって取得される。そのような取得された完全性メトリックが前述したように確認されたならば、プラットフォーム10がハードウェア・レベルにおいてもBIOSプログラム・レベルにおいても破壊されていないという高レベルの信用を、プラットフォーム10の潜在的なユーザに与える。他の既知のプロセス、例えばウィルス・チェッカーは、通常どおり適切に動作し、オペレーティング・システムおよびアプリケーション・プログラム・コードが破壊されていないことをチェックするであろう。
【0032】
測定機能31は、トラステッド・デバイス24のハッシュ・プログラム354および秘密鍵355を記憶する不揮発性メモリ3と、取得した完全性メトリックをダイジェスト361の形態で記憶する揮発性メモリ4とに対するアクセスを有する。適切な実施形態では、揮発性メモリ4は、プラットフォーム10へのアクセスを得るのに使用することができる1つまたは複数の真正のスマートカード19sの公開鍵および関連するIDラベル360a〜360nを記憶するのにも使用することができる。
【0033】
1つの好ましい実施形態では、ダイジェストと同様に、完全性メトリックはブール値を含み、ブール値は、以下に明白となる理由により、測定機能31によって揮発性メモリ4に記憶される。
【0034】
次に、完全性メトリックを取得するための好ましいプロセスを図4を参照して説明する。
【0035】
ステップ500において、スイッチをオンにしたとき、測定機能31は、データ・ライン、制御ライン、およびアドレス・ライン(26、27、および28)上でメイン・プロセッサ21の活動(アクティビティ)を監視し、トラステッド・デバイス24が、アクセスされる最初のメモリであるかどうかを判断する。従来の動作では、メイン・プロセッサは、BIOSプログラムをまず実行するために最初にBIOSメモリに向かう。しかしながら、本発明によれば、メイン・プロセッサ21は、メモリとして動作するトラステッド・デバイス24に向けられる。ステップ505において、トラステッド・デバイス24が、アクセスされる最初のメモリであった場合、ステップ510において測定機能31は、トラステッド・デバイス24がアクセスされた最初のメモリであったことを示すブール値を揮発性メモリ3に書き込む。ステップ505での判定が上記と異なる場合には、ステップ515において、測定機能は、トラステッド・デバイス24がアクセスされた最初のメモリではなかったことを示すブール値を書き込む。
【0036】
トラステッド・デバイス24が最初にアクセスされたものでない場合、当然ながら、トラステッド・デバイス24へのアクセスが全く行われない場合が存在する。このような場合として、例えば、メイン・プロセッサ21がBIOSプログラムを最初に実行するように操作された場合がある。このような状況下では、プラットフォームは動作するが、オンデマンドでプラットフォームの完全性を確認することはできない。というのは、完全性メトリックが入手可能でないからである。さらに、BIOSプログラムにアクセスが行われた後に、トラステッド・デバイス24がアクセスされた場合には、ブール値は、プラットフォームの完全性の欠如を明示的に示す。
【0037】
ステップ520において、メイン・プロセッサ21によってメモリとしてアクセスされると(すなわち、アクセスされた場合)、ステップ525において、メイン・プロセッサ21は、測定機能31から、記憶されている固有の(native)ハッシュ命令354を読み取る。ハッシュ命令354は、メイン・プロセッサ21による処理のためにデータ・バス26を介して送られる。ステップ530において、メイン・プロセッサ21はハッシュ命令354を実行し、ステップ535において、BIOSメモリ29の内容を読み取ってその内容をハッシュ・プログラムに従い処理することによって、これらのハッシュ命令を使用してBIOSメモリ29のダイジェストを計算する。ステップ540において、メイン・プロセッサ21は、計算されたダイジェスト361を、トラステッド・デバイス24の不揮発性メモリ4の適切な位置に書き込む。ステップ545において、測定機能31は、BIOSメモリ29のBIOSプログラムを呼び出し、その後、BIOSプログラムが従来のやり方で実行される。
【0038】
必要とされる信頼の範囲に応じて、完全性メトリックを計算することができるいくつかの異なるやり方が存在することは明らかである。BIOSプログラムの完全性を測定することにより、プラットフォームの基礎をなす処理環境の完全性に関する基本的な検査が提供される。完全性メトリックは、ブート・プロセスの有効性に関する推論を可能にするような形態、すなわち、完全性メトリックの値を使用して、正しいBIOSを使用してプラットフォームがブートされたかどうかを確認することができる形態のものでなければならない。オプションとして、BIOS内の個々の機能ブロックが自分自身のダイジェスト値を有し、総体的な1つのBIOSダイジェストは、これらの個々のダイジェストのうちの1つであることができる。これにより、ポリシー(policy)は、意図する目的について、BIOS動作のどの部分がクリティカルであり、またどの部分が無関係であるかを明示することができるようになる(この場合、個々のダイジェストは、該ポリシーの下で動作の有効性を確立することができるようなやり方で記憶されなければならない)。
【0039】
他の完全性検査は、プラットフォームに取り付けられた様々な他のデバイス、構成要素、または装置が存在して正常に動作する状態にあるということを証明することを伴うことができる。一例では、SCSIコントローラに関連するBIOSプログラムを確認して、周辺機器との信頼できる通信を確保することができる。別の例では、プラットフォーム上の他のデバイス、例えばメモリ・デバイスまたはコプロセッサ(co−processor)の完全性を、固定されたチャレンジ/応答の対話を実施することによって確認し、整合性のある結果を確実に得るようにすることができる。そのような形態の何らかの対話は、トラステッド・デバイス24が別個の構成要素である場合、該トラステッド・デバイス24とプラットフォームとの間に適切な論理的結合を提供するので望ましい。また、この実施形態では、トラステッド・デバイス24は、プラットフォームの他の部分との通信の主な手段としてデータ・バスを利用するが、ハードワイヤド(hard−wired)の経路または光学経路などの代替の通信経路を提供することも、それほど好都合ではないが実現可能である。さらに、この実施形態では、トラステッド・デバイス24は、メイン・プロセッサ21に、完全性メトリックを計算するよう命令するが、他の実施形態では、トラステッド・デバイス自体が、1つまたは複数の完全性メトリックを測定するように構成される。
【0040】
好ましくは、BIOSブート・プロセスは、ブート・プロセス自体の完全性を確認する機構を含む。そのような機構は、例えば、Intelの草案「Wire for Management baseline specification V2.0−BOOT Integrity Service」で既に既知であり、ソフトウェアまたはファームウェアのダイジェストを計算した後に、該ソフトウェアまたはファームウェアをロードすることを伴う。このように計算されたダイジェストは、トラステッド・エンティティ(trusted entity)によって提供される証明書に記憶された値と比較され、トラステッド・エンティティの公開鍵はBIOSに対して既知である。次に、該計算された値が、証明書の該期待値に一致し、かつトラステッド・エンティティの公開鍵を使用することによって証明書が有効であると証明された場合にだけ、該ソフトウェア/ファームウェアがロードされる。それ以外の場合、適切な例外処理ルーチンが呼び出される。
【0041】
オプションとして、計算されたBIOSダイジェストを受け取った後、トラステッド・デバイス24は、証明書におけるBIOSダイジェストの適切な値を点検し、計算されたダイジェストがその適切な値に一致しない場合、制御をBIOSに渡さないことができる。加えて、または代替的に、トラステッド・デバイス24は、ブール値を点検して、トラステッド・デバイス24が、アクセスされた最初のメモリではない場合、制御をBIOSに戻さないことができる。これらのケースのどちらの場合も、適切な例外処理ルーチンが呼び出されることができる。
【0042】
次に、ユーザが、信頼できるやり方でトラステッド・プラットフォーム10を確認することができるようにする遠隔の携帯型セキュリティ・チャレンジャ(PSC:portable security challenger)について述べる。PSCは、携帯情報端末(PDA)、モバイル電話機、スマートカード、またはバイオメトリック・リーダ(biometrics reader)であることができる。PSCは、専用のチャレンジング・デバイスである必要はない。PSCは、完全性検査以外の付加的な機能を有することができる。相応のコンピュータ能力、ユーザ・インターフェース、TDの完全性メトリックを表示するためのディスプレイ、および通信媒体を備えた任意のデバイスをPSCにすることが可能であるが、PSCは、以下についての耐タンパーなストーレッジを含むことが望ましい。
【0043】
・共用鍵、または公開鍵/秘密鍵のペア
・PSCのデータを保護するPIN
・他のサービス(例えば、TDを使用する支払い)のためのオプションの鍵のペア
【0044】
PSCは、好ましくは、以下のプロパティを有する。
・センシティブなデータ(例えば、秘密鍵)は、アクセスが制限された耐タンパーなすなわち保護されたメモリに記憶される。
・センシティブなデータは、許可された人々だけが使用することができる(例えば、パスワードによって保護される)。
・センシティブなデータは、PSC内の他の機能、プログラム、またはプロセスによっては、開示され、変更され、削除され、またはコピーされることができない。
・PSCにおける他の機能、プロセス、またはプログラムは、完全性検査プロセスに干渉することができない。
【0045】
PSCは、トラステッド・プラットフォーム10のIMをトラステッド・デバイス24から得るため、トラステッド・デバイス24を含むトラステッド・プラットフォーム10にチャレンジするのに使用される。さらに、PSCは、PSCおよびトラステッド・プラットフォーム10のユーザを認証するのにも使用されることができる。
【0046】
図5は、トラステッド・デバイス24と、トラステッド・デバイス502を含むPSC501との間における双方向の認証および完全性検査を示す。
【0047】
ユーザ認証のために利用可能な2つのオプションは、秘密鍵/公開鍵のペアを備えたPSTと、TDとの対称共有鍵を有するPSTである。
【0048】
両方のオプションについて良好な鍵管理方式が非常に重要であり、例えば、鍵を生成する際、鍵を取り消す際、鍵を破壊する際などに従うべき手順が存在すべきである。
【0049】
第1のオプションの場合、秘密鍵/公開鍵のペアを導入する必要がある。PSC501に導入されるTD502により、TD502に導入される鍵のペアを使用することができるようになる。TD502を使用することの別の利点は、TD502が、耐タンパーを提供することである。
【0050】
しかしながら、PSCが、鍵をセキュアなメモリに記憶して認証および完全性検査を行うことができる場合、PSCにTDを導入することは必須ではない。しかしながら、TDを導入すれば、PSCの完全性をチェックすることもできるようになる。
【0051】
チャレンジ(すなわち、TDのIMに対する要求を起動すること、および/または、ユーザの認証を起動すること)は、ネットワークまたはインターネットを介して行うことができ、したがって、PSC501の認証(および、オプションとして、トラステッド・プラットフォーム10におけるTD24の認証)は、セキュアなプロトコルを使用して行う必要があり、セキュリティのレベルは、アプリケーションに依存する。PSC501およびTD24が互いを認証した後に、TD24は、そのIMをPSC501に送る。その後、PSC501のユーザは、TD24を信頼してTD24上のサービスを使用するかどうかを決定することができる。
【0052】
第1のオプション(秘密鍵/公開鍵)を使用することの1つの利点は、任意の既存の公開鍵インフラストラクチャ(PKI)に容易に組み込むことができることである。これにより、公開鍵および秘密鍵を使用して、TD24とPSC501(PSC501は、TDを備えていても、備えていなくてもよい)の間でセキュアな通信チャネル(暗号化および署名)および認証を提供することができる。すべてのアプリケーションが暗号化および署名を使用する必要があるわけではないが、ユーザが、暗号化および署名を使用するか否かを決定することができることに留意されたい。プロトコルは、オプションの暗号化機能および署名機能を提供することができる。
【0053】
図6は、PSC601が、トラステッド・プラットフォーム10のTD24にチャレンジを行って該TDのIMを取得できるようにするのに使用されるプロトコルを示す。このプロトコルは、暗号化および署名用の公開鍵/秘密鍵のペアを使用する。セッション鍵(SK)は、さらなる通信のためのオプションである。プロトコルは、以下の情報を使用する。
【0054】
NPSC=PSCによって生成されるノンス(Nonce;乱数)
NTD=TDによって生成されるノンス
NTD2=TD2によって生成されるノンス
ReqIM=TDの完全性メトリックの要求
ReqIM2=TD2の完全性メトリックの要求
EPSC=PSCの公開鍵を使用する暗号化
ETD=TDの公開鍵を使用する暗号化
ETD2=TD2の公開鍵を使用する暗号化
SPSC=PSCの秘密鍵を使用する署名
STD=TDの秘密鍵を使用する署名
STD2=TD2の秘密鍵を使用する署名
CertPSC=PSCの証明書、したがってPSCの公開鍵
CertTD=TDの証明書、したがってTDの公開鍵
CertTD2=TD2の証明書、したがってTD2の公開鍵
IDPSC=PSCのアイデンティティ/名前
IDTD=TDのアイデンティティ/名前
IDTD2=TD2のアイデンティティ/名前
SK=オプションのセッション鍵
H=ハッシュ
HMAC=ハッシュ・メッセージ認証コード
ES=共有鍵を使用する暗号化
Key=共有鍵
【0055】
第1のメッセージM1 602が、PSC601からTD24に伝送される。第1のメッセージM1 602は、NPSC、ReqIM、およびCertPSCを含む。第1のメッセージM1 602に応答して、TD24は、第2のメッセージM2 603をPSC601に伝送する。第2のメッセージM2 603は、NTD、CertTDと、TDの秘密鍵を使用して署名された(IDPSC NTD NPSC IM)とを含む。第2のメッセージM2 603に応答して、PSC601は、第3のメッセージM3 604をTD24に伝送する。第3のメッセージM3 604は、IDPSCと、PSCの秘密鍵を使用して署名された(IDTD NPSC NTD)とを含む。オプションとして、メッセージM3 604は、TDの公開鍵を使用して暗号化されたSK、およびPSCの秘密鍵を使用して署名されたSKのハッシュを含むことができる。
【0056】
このプロトコルにより、PSC601は、信頼できる応答をTD24から取得することができ、またTD24に対してPSC601のユーザの正当性を証明することができるようになる。秘密にしておく必要があるものは何もない(オプションのSKを除いて)ので、M1 602およびM2 603を暗号化する必要がない。しかし、通信を行うものが、他のパーティに対して該通信を機密にしておくことを望む場合には、暗号化を使用することができる。
【0057】
TD24は、信頼できるCA(trusted CA、図示せず)を介して公開鍵を確認することができるものと想定する。これにより、証明書は、署名を確認するのに使用することができる公開鍵の真正性を提供することができる。TD24の公開鍵と秘密鍵のペアは、裏書きの鍵(Endorsement key)のペア(マスターキーのペア)であってはならず、TD24の所有者によって生成された鍵のペアでなければならない。この理由は、秘密鍵が漏洩した場合に、ユーザが、鍵のペアを取り消すことができるからである。
【0058】
図7は、PSC701が自分自身のTD702を含む場合に、PSC701が、TD24にチャレンジしてTDのIMを取得できるようにするのに使用されるプロトコルを示す。
【0059】
第1のメッセージM1 703が、PSC701からTD24に伝送される。第1のメッセージM1 703は、NTD2、ReqIM、およびCertTD2を含む。第1のメッセージM1 703に応答して、TD24は、第2のメッセージM2 704をPSC701に伝送する。第2のメッセージM2 704は、NTD、CertTD、ReqIM2と、TDの秘密鍵を使用して署名された(IDTD2 NTD NTD2 IM)とを含む。第2のメッセージM2 704に応答して、PSC701は、第3のメッセージM3 705をTD24に伝送する。第3のメッセージM3 705は、IDTD2と、PSCの秘密鍵を使用して署名された(IDTD NTD2 NTD IM2)とを含む。オプションとして、メッセージM3 705は、TDの公開鍵を使用して暗号化されたSK、およびPSCの秘密鍵を使用して署名されたSKのハッシュを含むことができる。
【0060】
オプションのTD2 702が設けられている場合、すべてのチャレンジ・プロセスは、TD2 702によって行われ、その場合、双方のパーティが、図7のプロトコルを使用して互いのIMを獲得する(互いのIMにチャレンジする)ことができるが、TD2 702にチャレンジするか否かは、アプリケーションに依存する。
【0061】
TD2は、別のトラステッド・デバイスであるが、このデバイスを使用するか否かは、ユーザおよびアプリケーションに依存してオプションである。
【0062】
このモデルで行われる可能性がある攻撃(attack)の1つは、攻撃側がIMをメッセージ2(M2)に含めることができる場合、該攻撃側がTDであるかのように装うことができることである。また、TDのサービスに誰がアクセスできるかの規制が存在せず、有効な証明書(公開鍵)を有する場合には誰でもそのサービスにアクセスすることができる。
【0063】
上記の問題の1つの解決策は、トラステッド・デバイス(TD)だけに証明書を与える信頼できるCAを有することである。また、任意の特定のTDのユーザまたはチャレンジャが、自身の公開鍵を特定のTDに事前に登録しなければならず、そうすることにより、該TDは、M1に含まれる証明書を比較することによって、ユーザが、登録された/許可されたユーザであるかどうかを検査することができる。
【0064】
上記の問題の別の解決策は、秘密鍵/公開鍵のペアを使用せず、異なるプロトコルを備えた対称暗号化(symmetric cryptography)を使用することであるが、チャレンジの前に共有鍵を合意で決めなければならない。PSC801およびTD24が共有鍵を導入した後、PSC801は、図8で示したプロトコルを使用してTD24にチャレンジすることができる。チャレンジの目的は、PSC801のアイデンティティをTD24に対して証明し(ユーザの正当性を証明し)、IMについて信頼できる応答を提供することである。
【0065】
第1のメッセージM1 802が、PSC801からTD24に伝送される。第1のメッセージM1 802は、NPSC、ReqIM、およびIDPSCを含む。第1のメッセージM1 802に応答して、TD24は、第2のメッセージM2 803をPSC801に伝送する。第2のメッセージM2 803は、NTD、IM、IDTDと、ハッシュ・メッセージ認証コードを使用して署名された(Key NTD NPSC IM)とを含む。第2のメッセージM2 803に応答して、PSC801は、第3のメッセージM3 804をTD24に伝送する。第3のメッセージM3 804は、IDPSCと、ハッシュ・メッセージ認証コードを使用して署名された(IDTD NPSC Key NTD)を含む。オプションとして、メッセージM3 804は、共有鍵を使用する暗号を使用して暗号化されたSK、およびハッシュ・メッセージ認証コードを使用して署名されたSKのハッシュを含むことができる。
【0066】
TD24は、自分自身の秘密鍵/公開鍵のペアを有するので、メッセージ2(M2)を、NTD CertTD STD(IDPSC、NTD、NPSC、IM)で置き換えることができる。
【0067】
非対称システムと同様に、オプションとして、トラステッド・デバイスTD2 902をPSC901に導入して、双方のパーティが互いのIMを検査できるようにすることができる。ただし、この場合、対称暗号化が使用される。この実施形態のプロトコルを図9に示す。
【0068】
第1のメッセージM1 903が、PSC901からTD24に伝送される。第1のメッセージM1 903は、NTD2、ReqIM、およびCertTD2を含む。第1のメッセージM1 903に応答して、TD24は、第2のメッセージM2 904をPSC901に伝送する。第2のメッセージM2 904は、NTD、IM、CertTD、ReqIM2と、ハッシュ・メッセージ認証コードを使用して署名された(Key NTD NTD2 IM)を含む。第2のメッセージM2 904に応答して、PSC901は、第3のメッセージM3 905をTD24に伝送する。第3のメッセージM3 905は、IDTD2と、ハッシュ・メッセージ認証コードを使用して署名された(IDTD NTD2 Key NTDとを含む。オプションとして、メッセージM3 905は、共有鍵を使用する暗号を使用して暗号化されたSK、およびハッシュ・メッセージ認証コードを使用して署名されたSKのハッシュを含むことができる。
【0069】
必要とされる認証のレベルは、TDのどのサービスをユーザが使用することを望むかに依存する。一部のサービス、例えばTDを支払いプロセスの一環として使用することは、相互認証(ユーザおよびTDの正当性を証明する)を必要とする。しかし、一部のサービス、例えばTDを使用して電子メールを送信することは、単方向認証(TDの正当性のみを認証する)だけしか必要としない。ただし、TDによって提供される何らかのサービスをユーザが使用できる前に、該TDは、ユーザに関する詳細を有し、どのユーザが何のサービスにアクセスすることができるかを規定する何らかのルールを設定すべきである。
【0070】
一部のユーザは、TDとの共有鍵を全く有していないが、それでも、ユーザは、IMを検査し、TDのサービスを使用することを望むか否かを調べることができる。ユーザは、TDとの共有鍵を有しておらず、またTDに登録した公開鍵も有していないので、TDは、そのユーザ(PSC)を認証することができない。しかし、これらのユーザは、TD上の限られたサービスを使用することだけしか許されないので、簡単なIMチャレンジ・プロトコルで十分である。適切なプロトコルの例を図10に示す。
【0071】
第1のメッセージM1 1002が、PSC1001からTD24に伝送される。第1のメッセージM1 1002は、NPSC、ReqIM、およびIDPSCを含む。第1のメッセージM1 1002に応答して、TD24は、第2のメッセージM2 1003をPSC1001に伝送する。第2のメッセージM2 1003は、IMと、TDの秘密鍵およびハッシュ・メッセージ認証コードを使用して署名された(IDPSC NPSC IM)を含む。
【0072】
以上、これらのプロトコルは、完全性検査および認証プロセスにおいて非常に重要である。良好なプロトコルなしには、完全性メトリックに関して信頼できるレポートを生成することが不可能である。
【図面の簡単な説明】
【図1】本発明の実施形態を実現することができるシステムを示す図。
【図2】スマートカード・リーダを介してスマートカードと通信し、また一群のモジュールと通信するように構成されたトラステッド・デバイスを含むマザーボードを示す図。
【図3】トラステッド・デバイスをより詳細に示す図。
【図4】コンピューティング装置の完全性メトリックを取得するのに関連するステップを示す流れ図。
【図5】携帯型セキュリティ・チャレンジャを使用する相互完全性検査を示す図。
【図6】携帯型セキュリティ・チャレンジャと、公開鍵/秘密鍵ペアを有するトラステッド・デバイスとの間の相互完全性検査を示す図。
【図7】コンピューティング装置(トラステッド・デバイス)とトラステッド携帯型セキュリティ・チャレンジャとの間の相互完全性検査を示す図である。
【図8】共有秘密鍵を使用している際のコンピューティング装置(トラステッド・デバイス)と携帯型セキュリティ・チャレンジャとの間におけるプロトコルの例を示す図。
【図9】共有秘密鍵を使用している際のコンピューティング装置(トラステッド・デバイス)とトラステッド携帯型セキュリティ・チャレンジャとの間における相互完全性検査を示す図。
【図10】ユーザを認証する必要がない場合のコンピューティング装置(トラステッド・デバイス)とトラステッド携帯型セキュリティ・チャレンジャとの間におけるプロトコルの例を示す図。
【符号の説明】
10 プラットフォーム
24 トラステッド・デバイス
501、601、701、801、901、1001 PSC
(背景技術)
商業用途では、通常、クライアント・コンピューティング・プラットフォームは、その挙動が、ローカルのエンティティまたは遠隔のエンティティによる変更に対して無防備となっている環境で動作している。該プラットフォームについてのセキュリティが脅かされる可能性は、そのことがなければ該プラットフォームを快く使用するであろうローカル・パーティや、そのことがなければ該プラットフォームと通信するであろう遠隔のパーティが、電子商取引の目的で該プラットフォームを使用する場合の制約となる。
【0002】
既存のセキュリティ・アプリケーション、例えばウィルス検出ソフトウェアは、プラットフォームが意図するとおり動作し、かつプロセスおよびアプリケーションを破壊することがないという想定の下で、コンピューティング・プラットフォーム上で実行される。これは、意図するソフトウェアの状態が不安定になっていない、またはウィルスなどの他のソフトウェアによって損傷を与えられていないという条件の下では、妥当な想定である。したがって、ユーザは、通常、そのようなプラットフォームの使用をクリティカルでないアプリケーションに制限し、プラットフォームを使用することの便利さを、センシティブなデータまたはビジネスにとってクリティカルなデータに対するリスクと比較検討することとなる。
【0003】
したがって、プラットフォームへの信頼のレベルを高めることにより、既存のセキュリティ・アプリケーション(「セキュア・ソケット・レイヤ(Secure Socket Layer)」または「IPSec」)、または遠隔の管理アプリケーションに対するユーザの信用をより大きくすることができる。これにより、それらのアプリケーションへの依拠を大きくすることができ、よって「管理費(cost of ownership)」を低減することができる。また、より高い信頼により、ビジネスの新しい電子方法が可能になる。というのは、ローカルのコンピューティング・プラットフォームと遠隔のコンピューティング・プラットフォームの両方の正しい動作に対してより大きな信用が存在することとなるからである。
【0004】
欧州特許出願99301100.6は、コンピューティング・プラットフォームのアイデンティティ(identity)を、該プラットフォームの完全性メトリック(integrity metric)を提供するように確実に測定されたデータに結びつける機能を持つ物理的なトラステッド・デバイス(trusted device;信頼できるデバイス)を、該プラットフォームに組み込むことを開示する。アイデンティティおよび完全性メトリックは、プラットフォームの信頼性を保証するために設けられたトラステッド・パーティ(trusted party:TP、信頼できるパーティ)によって提供される期待値(expected value)と比較される。一致するものがあれば、これは、完全性メトリックの範囲に応じて、プラットフォームの少なくとも一部が正しく動作していることを示す。
【0005】
ユーザは、プラットフォームの正しい動作を確認した後に、他のデータを、該プラットフォームと交換する。ユーザは、プラットフォームのアイデンティティおよび完全性メトリックを提供するようトラステッド・デバイスに要求することによって、これを行う。(オプションとしてだが、トラステッド・デバイスは、自分自身がプラットフォームの正しい動作を確認することができなかった場合、アイデンティティの証拠を提供することを拒否する。)ユーザは、アイデンティティの証拠および完全性メトリックを受け取り、それを、真であると信じられている値と比較する。この適切な値は、TPにより、またはユーザが信頼する別のエンティティにより提供される。トラステッド・デバイスによって報告されたデータが、TPによって提供されたものと同じである場合、ユーザは、そのプラットフォームを信頼する。これは、ユーザがそのエンティティを信頼するからである。エンティティは、該アイデンティティを以前に確証して、該プラットフォームの適切な完全性メトリックを判定しているので、該エンティティは該プラットフォームを信頼している。
【0006】
ユーザは、プラットフォームの信頼できる動作を確立した後に、他のデータを該プラットフォームと交換する。ローカル・ユーザの場合、該交換は、プラットフォーム上で実行される何らかのソフトウェアアプリケーションと対話することによって行われることができる。遠隔ユーザの場合、該交換に、セキュアなトランザクションを伴うことができる。いずれの場合も、交換されるデータには、トラステッド・デバイスによって「署名される(signed)」。次に、ユーザは、その挙動を信頼することができるプラットフォームとデータが交換されているという、より高い信用を有することができる。
【0007】
しかしながら、遠隔ユーザは、装置からの応答が、信頼できるやり方で確認されるということを保証することができない。したがって、この状況を改善することが望ましい。
【0008】
本明細書では、「信頼(trust)」という語を用いているが、これは、意図する目的のために、何かしらが常に予期されるやり方で動作する場合に、その何かしらを「信頼」することができるという意味で使用されている。
【0009】
(発明の概要)
本発明の第1の側面によれば、第1のコンピュータ装置がトラステッド・エンティティ(entity)であるかどうかを判断するために、該第1のコンピュータ装置の第1の完全性メトリックを取得する取得手段であって、入力手段に応答して該取得を起動する取得手段と、該第1のコンピュータ装置がトラステッド・デバイスであることを示す標示をユーザに提示する提示手段と、を備える携帯型ハンドヘルドコンピューティング装置が提供される。
【0010】
好ましくは、携帯型ハンドヘルドコンピューティング装置は、さらに、該携帯型ハンドヘルドコンピューティング装置の第2の完全性メトリックを取得して、該携帯型ハンドヘルドコンピューティング装置がトラステッド・エンティティであるかどうかについての判断を可能にするよう構成されるトラステッド・デバイスと、該第2の完全性メトリックを第1のコンピュータ装置に伝達して、該携帯型ハンドヘルドコンピューティング装置および第1のコンピュータ装置の信頼状態(trusted state)について相互判定を可能にする伝達手段と、を備える。
【0011】
オプションとして、携帯型ハンドヘルドコンピューティング装置は、さらに、第1のコンピュータ装置に認証データ(authentication data)を提供するように構成される暗号手段を備える。
【0012】
本発明は、携帯型セキュリティ・チャレンジャ(Portable Security Challenger)を使用して装置の完全性を検査することによって、ユーザの信頼および信用を高める装置および方法に関する。携帯型セキュリティ・チャレンジャは、携帯情報端末(PDA)、モバイル電話機、スマートカード、またはバイオメトリック・リーダ(biometric reader)であることができる。携帯型セキュリティ・チャレンジャは、トラステッド・デバイスから完全性メトリックを得るために該トラステッド・デバイスにチャレンジするのに使用され、また携帯型セキュリティ・チャレンジャは、そのユーザを認証するのにも使用されることができる。携帯型セキュリティ・チャレンジャは、専用のチャレンジを行うデバイスでなくてもよく、コンピューティング・パワー、ユーザ・インターフェース、および通信媒体を備えた任意のデバイスを、携帯型セキュリティ・チャレンジャにすることができる。
【0013】
本発明は、コンピューティング装置の完全性を検査する従来技術の方法を拡張し、ユーザが、強力なユーザ・インターフェースを備えたトラステッド携帯型チャレンジャを使用して、該装置に対してチャレンジすることができるようにする。強力なユーザ・インターフェースを備えた携帯型セキュリティ・チャレンジャにより、コンピューティングの完全性検査へのユーザの信頼および信用を高めることが可能となる。
【0014】
本発明では、相互の完全性チャレンジが定義される。さらなるセキュアな通信のために、さらなる交換セッション鍵が提供される。
【0015】
本発明は、コンピューティング装置にチャレンジする装置を提供し、該コンピューティング装置から送られる応答を確認して、信頼できる結果をユーザに示そうとする。
【0016】
好ましくは、携帯型ハンドヘルドコンピューティング装置は、完全性の検査以外の機能をも実行することができ、完全性検査プロセスを行いながら、他の機能を切り離すことができる。完全性検査のすべてのデータおよびすべてのプロセスが保護され、そのようなチャレンジャにおける他の機能、プロセス、またはプログラムは、完全性検査プロセスのどの部分にも干渉しない。
【0017】
好ましくは、該装置は、携帯情報端末(PDA)デバイス、すなわちトラステッドPDAデバイスである。トラステッドPDAは、物理的に画定されたトラステッド・デバイスを備える通常のPDAである。該トラステッド・デバイスを備えるPDAは、自己完全性検査を行うことができ、ユーザは、該自己完全性検査の結果を信頼することができる。オプションとして、トラステッドPDAは、スマートカードを備えた通常のPDAであり、これは、該PDAの完全性を検査して該完全性検査の結果を表示することができ、ユーザは、該完全性検査の結果を信頼することができる。
【0018】
好ましくは、該装置は、モバイル電話機、すなわちトラステッド・モバイル電話機である。トラステッド・モバイル電話機は、物理的に画定されたトラステッド・デバイスを備える通常のモバイル電話機である。該トラステッド・デバイスを備えるモバイル電話機は自己完全性検査を行うことができ、ユーザは、該自己完全性検査の結果を信頼することができる。オプションとして、トラステッド・モバイル電話機は、スマートカードを備えた通常のモバイル電話機であり、これは、該モバイル電話機の完全性を検査して、該完全性検査の結果を表示することができ、ユーザは、該完全性検査の結果を信頼することができる。
【0019】
好ましくは、該装置は、自己表示機能を備えたスマートカードである。好ましくは、該装置は、自己表示機能を備えたバイオメトリック・リーダである。トラステッド・バイオメトリック・リーダは、物理的に画定されたトラステッド・デバイスを備える通常のバイオメトリック・リーダである。該トラステッド・デバイスを備えたバイオメトリック・リーダは、自己完全性検査を行うことができ、該自己完全性検査の結果を表示することができ、ユーザは、該自己完全性検査の結果を信頼することができる。
【0020】
次に、本発明の好ましい実施形態を単に例として、図面を参照して説明する。
【0021】
(発明の詳細な説明)
図1には、トラステッド・プラットフォーム(trusted platform;信頼できるプラットフォーム)10が示されている。プラットフォーム10は、プラットフォームの物理的な「ユーザ・インターフェース」を提供する標準機能を持つキーボード14、マウス16、および視覚的表示装置(VDU:visual display unit)18を含む。トラステッド・プラットフォームのこの実施形態はまた、スマートカード・リーダ12を含む。スマートカード・リーダは、すべてのトラステッド・プラットフォームの必要不可欠な要素ではないが、以下で説明する様々な好ましい実施形態において使用される。スマートカード・リーダ12とともに、スマートカード19が示されており、これにより、以下でさらに説明するトラステッド・プラットフォームとの信頼できるユーザ対話が可能となる。プラットフォーム10には複数のモジュール15が存在し、これらは、該プラットフォームに適切なものではあるが本質的に任意の種類の、該トラステッド・プラットフォームの他の機能的要素である(このような要素の機能上の意義は、本発明には関係しないので、本明細書でさらに述べることはしない)。
【0022】
図2に示されるように、トラステッド・コンピューティング・プラットフォーム10のマザーボード20は、(他の標準の構成要素もあるが、とりわけ)メイン・プロセッサ21、メイン・メモリ22、トラステッド・デバイス24、データ・バス26、それぞれの制御ライン27およびライン28、プラットフォーム10のためのBIOSプログラムを含むBIOSメモリ29、および入出力(IO)デバイス23を含み、入出力デバイス23は、マザーボードの構成要素と、スマートカード・リーダ12、キーボード14、マウス16、およびVDU18との間の対話を制御する。メイン・メモリ22は通常、ランダム・アクセス・メモリ(RAM)である。プラットフォーム10は、動作の際、オペレーティング・システム、例えばWindows NT(商標)をハードディスク(図示せず)からRAMにロードする。さらに、プラットフォーム10は、動作の際、プラットフォーム10によって実行されることのできるプロセスまたはアプリケーションをハードディスク(図示せず)からRAMにロードする。
【0023】
パーソナル・コンピュータにおいては通常、BIOSプログラムは、特別に確保されたメモリ領域に置かれており、第1のメガバイトの上位64Kがシステム・メモリ(アドレスF000hからFFFFh)を示し、メイン・プロセッサは、業界全体の標準に従ってまずこのメモリ位置を見るように構成される。
【0024】
このプラットフォームと従来のプラットフォームの間の顕著な違いは、リセット後に、メイン・プロセッサがトラステッド・デバイスによって最初に制御され、その後、該トラステッド・デバイスが、プラットフォームに固有のBIOSプログラムに制御を渡し、該BIOSプログラムが、通常どおりにすべての入出力デバイスを初期化することである。BIOSプログラムが実行された後、制御は、通常どおりに、BIOSプログラムによってWindows NT(商標)などのオペレーティング・システム・プログラムに渡され、該オペレーティング・システム・プログラムは通常、ハードディスク・ドライブ(図示せず)からメイン・メモリ22にロードされる。
【0025】
明らかに、通常の手順からのこの変更は、業界標準の実装に対する変更を必要とし、これにより、メイン・プロセッサ21は、最初の命令を受け取るためにトラステッド・デバイス24をアドレスすることとなる。この変更は、異なるアドレスをメイン・プロセッサ21にハードコーディング(hard−coding)することによって簡単に行うことができる。代替的に、トラステッド・デバイス24に、標準のBIOSプログラムのアドレスを割り当てることができ、この場合は、メイン・プロセッサの構成を変更する必要はない。
【0026】
BIOSのブート・ブロックが、トラステッド・デバイス24内に含まれるようにすることが極めて望ましい。これにより、完全性メトリック(IM)を取得することによる破壊(subversion、これは、悪性の(rogue)ソフトウェア・プロセスが存在する場合に生じるおそれがある)を防止し、また、オペレーティング・システムのための適切な環境をBIOS(たとえ、BIOSが正しくても)が構築することができない状況を悪性のソフトウェア・プロセスが作り出すことを防止する。説明する好ましい実施形態では、トラステッド・デバイス24は単一の別個の構成要素であるが、代替的に、トラステッド・デバイス24の機能をマザーボード上の複数のデバイスに分割することができ、またはプラットフォームの既存の1つまたは複数の標準デバイスに統合することさえできるということは、予測されるであろう。例えば、機能およびそれらの通信を破壊することができないという条件の下に、トラステッド・デバイスの1つまたは複数の機能をメイン・プロセッサ自体に組み込むことができる。しかしながら、このことはおそらく、信頼できる機能(trusted functions)が単独で使用するために、プロセッサ上に別個のリード線(lead)を必要とする。加えて、または代替的に、この実施形態ではトラステッド・デバイスはマザーボード20に組み込まれるように適合されたハードウェア・デバイスであるが、トラステッド・デバイスを、必要とされるときにプラットフォームに取り付けることができるドングル(dongle)などの「取外し可能な」デバイスとして実現できることも予測される。トラステッド・デバイスを組み込むか、または取外し可能にするかは、設計上の選択である。しかし、トラステッド・デバイスが分離可能である場合、トラステッド・デバイスとプラットフォームとの間に論理的結合を提供するための機構が存在しなければならない。
【0027】
図3に示されるように、トラステッド・デバイス24は、いくつかのブロックを含む。システム・リセットの後、トラステッド・デバイス24は、セキュアなブート・プロセスを行って、プラットフォーム10のオペレーティング・システムが(システム・クロックおよびモニタ上の表示も含めて)適切でセキュアなやり方で確実に実行されるようにする。セキュアなブート・プロセス中、トラステッド・デバイス24は、コンピューティング・プラットフォーム10の完全性メトリックを取得する。また、トラステッド・デバイス24は、セキュアなデータ転送を行うことができ、例えば、暗号化/暗号化解除および署名(signature)/確認(verification)を介して、自分自身とスマートカードとの間の認証(authentication)を行うこともできる。また、トラステッド・デバイス24は、ユーザ・インターフェースをロックするなどの様々なセキュリティ制御ポリシーをもセキュアに実施することもできる。
【0028】
具体的には、トラステッド・デバイスは、該トラステッド・デバイス24の動作全体を制御し、かつトラステッド・デバイス24上の他の機能およびマザーボード20上の他のデバイスと対話するようにプログラムされたコントローラ30と、プラットフォーム10から完全性メトリックを取得する測定機能31と、指定されたデータを署名、暗号化、または暗号化解除を行う暗号機能32と、スマートカードを認証する認証機能33と、トラステッド・デバイス24をマザーボード20のデータ・バス26、制御ライン27、およびアドレス・ライン28にそれぞれ接続するための適切なポート(36、37、および38)を有するインターフェース回路34と、を備える。トラステッド・デバイス24におけるブロックのそれぞれは、トラステッド・デバイス24の適切な揮発性メモリ領域4および/または不揮発性メモリ領域3へのアクセスを有する(通常、コントローラ30を介して)。さらに、トラステッド・デバイス24は、既知のやり方で、耐タンパー(tamper resistant)であるように設計される。
【0029】
パフォーマンス上の理由で、トラステッド・デバイス24を、特定用途向け集積回路(ASIC)として実現することができる。しかしながら、柔軟性を考慮して、トラステッド・デバイス24は好ましくは適切にプログラムされたマイクロコントローラである。ASICとマイクロコントローラはともに、マイクロエレクトロニクスの技術分野では周知であり、本明細書でさらに詳細に考察することはしない。
【0030】
トラステッド・デバイス24の不揮発性メモリ3に記憶されるデータのうちの1つのアイテムは、証明書(certificate)350である。証明書350は、トラステッド・デバイス24の公開鍵351、およびトラステッド・パーティ(TP)によって測定されたプラットフォームの完全性メトリックの認証された値352を少なくとも含む。証明書350は、トラステッド・デバイス24に記憶される前に、TPの秘密鍵を使用してTPによって署名が行われる。後の通信セッションにおいて、プラットフォーム10のユーザは、取得された完全性メトリックを真正の完全性メトリック352と比較することによって、プラットフォーム10の完全性(integrity)を確認することができる。一致するものが存在する場合、ユーザは、プラットフォーム10が破壊(subvert)されていないことを確信することができる。TPの一般に入手可能な公開鍵を知ることにより、証明書350を簡単に確認(verification)することができる。不揮発性メモリ3はまた、アイデンティティ(ID)ラベル353をも含む。IDラベル353は、何らかの状況(コンテキスト)内において固有である従来のIDラベル、例えばシリアル番号である。IDラベル353は、一般に、トラステッド・デバイス24に関係するデータに索引付けおよびラベル付けを行うために使用されるが、それ自体は、信頼できる条件下でプラットフォーム10のアイデンティティを証明するには不十分である。
【0031】
トラステッド・デバイス24は、自らが関連するコンピューティング・プラットフォーム10の完全性メトリックを確実に測定し、または取得する少なくとも1つの方法を備えている。この実施形態では、完全性メトリックは、BIOSメモリにおけるBIOS命令のダイジェスト(digest)を生成することにより、測定機能31によって取得される。そのような取得された完全性メトリックが前述したように確認されたならば、プラットフォーム10がハードウェア・レベルにおいてもBIOSプログラム・レベルにおいても破壊されていないという高レベルの信用を、プラットフォーム10の潜在的なユーザに与える。他の既知のプロセス、例えばウィルス・チェッカーは、通常どおり適切に動作し、オペレーティング・システムおよびアプリケーション・プログラム・コードが破壊されていないことをチェックするであろう。
【0032】
測定機能31は、トラステッド・デバイス24のハッシュ・プログラム354および秘密鍵355を記憶する不揮発性メモリ3と、取得した完全性メトリックをダイジェスト361の形態で記憶する揮発性メモリ4とに対するアクセスを有する。適切な実施形態では、揮発性メモリ4は、プラットフォーム10へのアクセスを得るのに使用することができる1つまたは複数の真正のスマートカード19sの公開鍵および関連するIDラベル360a〜360nを記憶するのにも使用することができる。
【0033】
1つの好ましい実施形態では、ダイジェストと同様に、完全性メトリックはブール値を含み、ブール値は、以下に明白となる理由により、測定機能31によって揮発性メモリ4に記憶される。
【0034】
次に、完全性メトリックを取得するための好ましいプロセスを図4を参照して説明する。
【0035】
ステップ500において、スイッチをオンにしたとき、測定機能31は、データ・ライン、制御ライン、およびアドレス・ライン(26、27、および28)上でメイン・プロセッサ21の活動(アクティビティ)を監視し、トラステッド・デバイス24が、アクセスされる最初のメモリであるかどうかを判断する。従来の動作では、メイン・プロセッサは、BIOSプログラムをまず実行するために最初にBIOSメモリに向かう。しかしながら、本発明によれば、メイン・プロセッサ21は、メモリとして動作するトラステッド・デバイス24に向けられる。ステップ505において、トラステッド・デバイス24が、アクセスされる最初のメモリであった場合、ステップ510において測定機能31は、トラステッド・デバイス24がアクセスされた最初のメモリであったことを示すブール値を揮発性メモリ3に書き込む。ステップ505での判定が上記と異なる場合には、ステップ515において、測定機能は、トラステッド・デバイス24がアクセスされた最初のメモリではなかったことを示すブール値を書き込む。
【0036】
トラステッド・デバイス24が最初にアクセスされたものでない場合、当然ながら、トラステッド・デバイス24へのアクセスが全く行われない場合が存在する。このような場合として、例えば、メイン・プロセッサ21がBIOSプログラムを最初に実行するように操作された場合がある。このような状況下では、プラットフォームは動作するが、オンデマンドでプラットフォームの完全性を確認することはできない。というのは、完全性メトリックが入手可能でないからである。さらに、BIOSプログラムにアクセスが行われた後に、トラステッド・デバイス24がアクセスされた場合には、ブール値は、プラットフォームの完全性の欠如を明示的に示す。
【0037】
ステップ520において、メイン・プロセッサ21によってメモリとしてアクセスされると(すなわち、アクセスされた場合)、ステップ525において、メイン・プロセッサ21は、測定機能31から、記憶されている固有の(native)ハッシュ命令354を読み取る。ハッシュ命令354は、メイン・プロセッサ21による処理のためにデータ・バス26を介して送られる。ステップ530において、メイン・プロセッサ21はハッシュ命令354を実行し、ステップ535において、BIOSメモリ29の内容を読み取ってその内容をハッシュ・プログラムに従い処理することによって、これらのハッシュ命令を使用してBIOSメモリ29のダイジェストを計算する。ステップ540において、メイン・プロセッサ21は、計算されたダイジェスト361を、トラステッド・デバイス24の不揮発性メモリ4の適切な位置に書き込む。ステップ545において、測定機能31は、BIOSメモリ29のBIOSプログラムを呼び出し、その後、BIOSプログラムが従来のやり方で実行される。
【0038】
必要とされる信頼の範囲に応じて、完全性メトリックを計算することができるいくつかの異なるやり方が存在することは明らかである。BIOSプログラムの完全性を測定することにより、プラットフォームの基礎をなす処理環境の完全性に関する基本的な検査が提供される。完全性メトリックは、ブート・プロセスの有効性に関する推論を可能にするような形態、すなわち、完全性メトリックの値を使用して、正しいBIOSを使用してプラットフォームがブートされたかどうかを確認することができる形態のものでなければならない。オプションとして、BIOS内の個々の機能ブロックが自分自身のダイジェスト値を有し、総体的な1つのBIOSダイジェストは、これらの個々のダイジェストのうちの1つであることができる。これにより、ポリシー(policy)は、意図する目的について、BIOS動作のどの部分がクリティカルであり、またどの部分が無関係であるかを明示することができるようになる(この場合、個々のダイジェストは、該ポリシーの下で動作の有効性を確立することができるようなやり方で記憶されなければならない)。
【0039】
他の完全性検査は、プラットフォームに取り付けられた様々な他のデバイス、構成要素、または装置が存在して正常に動作する状態にあるということを証明することを伴うことができる。一例では、SCSIコントローラに関連するBIOSプログラムを確認して、周辺機器との信頼できる通信を確保することができる。別の例では、プラットフォーム上の他のデバイス、例えばメモリ・デバイスまたはコプロセッサ(co−processor)の完全性を、固定されたチャレンジ/応答の対話を実施することによって確認し、整合性のある結果を確実に得るようにすることができる。そのような形態の何らかの対話は、トラステッド・デバイス24が別個の構成要素である場合、該トラステッド・デバイス24とプラットフォームとの間に適切な論理的結合を提供するので望ましい。また、この実施形態では、トラステッド・デバイス24は、プラットフォームの他の部分との通信の主な手段としてデータ・バスを利用するが、ハードワイヤド(hard−wired)の経路または光学経路などの代替の通信経路を提供することも、それほど好都合ではないが実現可能である。さらに、この実施形態では、トラステッド・デバイス24は、メイン・プロセッサ21に、完全性メトリックを計算するよう命令するが、他の実施形態では、トラステッド・デバイス自体が、1つまたは複数の完全性メトリックを測定するように構成される。
【0040】
好ましくは、BIOSブート・プロセスは、ブート・プロセス自体の完全性を確認する機構を含む。そのような機構は、例えば、Intelの草案「Wire for Management baseline specification V2.0−BOOT Integrity Service」で既に既知であり、ソフトウェアまたはファームウェアのダイジェストを計算した後に、該ソフトウェアまたはファームウェアをロードすることを伴う。このように計算されたダイジェストは、トラステッド・エンティティ(trusted entity)によって提供される証明書に記憶された値と比較され、トラステッド・エンティティの公開鍵はBIOSに対して既知である。次に、該計算された値が、証明書の該期待値に一致し、かつトラステッド・エンティティの公開鍵を使用することによって証明書が有効であると証明された場合にだけ、該ソフトウェア/ファームウェアがロードされる。それ以外の場合、適切な例外処理ルーチンが呼び出される。
【0041】
オプションとして、計算されたBIOSダイジェストを受け取った後、トラステッド・デバイス24は、証明書におけるBIOSダイジェストの適切な値を点検し、計算されたダイジェストがその適切な値に一致しない場合、制御をBIOSに渡さないことができる。加えて、または代替的に、トラステッド・デバイス24は、ブール値を点検して、トラステッド・デバイス24が、アクセスされた最初のメモリではない場合、制御をBIOSに戻さないことができる。これらのケースのどちらの場合も、適切な例外処理ルーチンが呼び出されることができる。
【0042】
次に、ユーザが、信頼できるやり方でトラステッド・プラットフォーム10を確認することができるようにする遠隔の携帯型セキュリティ・チャレンジャ(PSC:portable security challenger)について述べる。PSCは、携帯情報端末(PDA)、モバイル電話機、スマートカード、またはバイオメトリック・リーダ(biometrics reader)であることができる。PSCは、専用のチャレンジング・デバイスである必要はない。PSCは、完全性検査以外の付加的な機能を有することができる。相応のコンピュータ能力、ユーザ・インターフェース、TDの完全性メトリックを表示するためのディスプレイ、および通信媒体を備えた任意のデバイスをPSCにすることが可能であるが、PSCは、以下についての耐タンパーなストーレッジを含むことが望ましい。
【0043】
・共用鍵、または公開鍵/秘密鍵のペア
・PSCのデータを保護するPIN
・他のサービス(例えば、TDを使用する支払い)のためのオプションの鍵のペア
【0044】
PSCは、好ましくは、以下のプロパティを有する。
・センシティブなデータ(例えば、秘密鍵)は、アクセスが制限された耐タンパーなすなわち保護されたメモリに記憶される。
・センシティブなデータは、許可された人々だけが使用することができる(例えば、パスワードによって保護される)。
・センシティブなデータは、PSC内の他の機能、プログラム、またはプロセスによっては、開示され、変更され、削除され、またはコピーされることができない。
・PSCにおける他の機能、プロセス、またはプログラムは、完全性検査プロセスに干渉することができない。
【0045】
PSCは、トラステッド・プラットフォーム10のIMをトラステッド・デバイス24から得るため、トラステッド・デバイス24を含むトラステッド・プラットフォーム10にチャレンジするのに使用される。さらに、PSCは、PSCおよびトラステッド・プラットフォーム10のユーザを認証するのにも使用されることができる。
【0046】
図5は、トラステッド・デバイス24と、トラステッド・デバイス502を含むPSC501との間における双方向の認証および完全性検査を示す。
【0047】
ユーザ認証のために利用可能な2つのオプションは、秘密鍵/公開鍵のペアを備えたPSTと、TDとの対称共有鍵を有するPSTである。
【0048】
両方のオプションについて良好な鍵管理方式が非常に重要であり、例えば、鍵を生成する際、鍵を取り消す際、鍵を破壊する際などに従うべき手順が存在すべきである。
【0049】
第1のオプションの場合、秘密鍵/公開鍵のペアを導入する必要がある。PSC501に導入されるTD502により、TD502に導入される鍵のペアを使用することができるようになる。TD502を使用することの別の利点は、TD502が、耐タンパーを提供することである。
【0050】
しかしながら、PSCが、鍵をセキュアなメモリに記憶して認証および完全性検査を行うことができる場合、PSCにTDを導入することは必須ではない。しかしながら、TDを導入すれば、PSCの完全性をチェックすることもできるようになる。
【0051】
チャレンジ(すなわち、TDのIMに対する要求を起動すること、および/または、ユーザの認証を起動すること)は、ネットワークまたはインターネットを介して行うことができ、したがって、PSC501の認証(および、オプションとして、トラステッド・プラットフォーム10におけるTD24の認証)は、セキュアなプロトコルを使用して行う必要があり、セキュリティのレベルは、アプリケーションに依存する。PSC501およびTD24が互いを認証した後に、TD24は、そのIMをPSC501に送る。その後、PSC501のユーザは、TD24を信頼してTD24上のサービスを使用するかどうかを決定することができる。
【0052】
第1のオプション(秘密鍵/公開鍵)を使用することの1つの利点は、任意の既存の公開鍵インフラストラクチャ(PKI)に容易に組み込むことができることである。これにより、公開鍵および秘密鍵を使用して、TD24とPSC501(PSC501は、TDを備えていても、備えていなくてもよい)の間でセキュアな通信チャネル(暗号化および署名)および認証を提供することができる。すべてのアプリケーションが暗号化および署名を使用する必要があるわけではないが、ユーザが、暗号化および署名を使用するか否かを決定することができることに留意されたい。プロトコルは、オプションの暗号化機能および署名機能を提供することができる。
【0053】
図6は、PSC601が、トラステッド・プラットフォーム10のTD24にチャレンジを行って該TDのIMを取得できるようにするのに使用されるプロトコルを示す。このプロトコルは、暗号化および署名用の公開鍵/秘密鍵のペアを使用する。セッション鍵(SK)は、さらなる通信のためのオプションである。プロトコルは、以下の情報を使用する。
【0054】
NPSC=PSCによって生成されるノンス(Nonce;乱数)
NTD=TDによって生成されるノンス
NTD2=TD2によって生成されるノンス
ReqIM=TDの完全性メトリックの要求
ReqIM2=TD2の完全性メトリックの要求
EPSC=PSCの公開鍵を使用する暗号化
ETD=TDの公開鍵を使用する暗号化
ETD2=TD2の公開鍵を使用する暗号化
SPSC=PSCの秘密鍵を使用する署名
STD=TDの秘密鍵を使用する署名
STD2=TD2の秘密鍵を使用する署名
CertPSC=PSCの証明書、したがってPSCの公開鍵
CertTD=TDの証明書、したがってTDの公開鍵
CertTD2=TD2の証明書、したがってTD2の公開鍵
IDPSC=PSCのアイデンティティ/名前
IDTD=TDのアイデンティティ/名前
IDTD2=TD2のアイデンティティ/名前
SK=オプションのセッション鍵
H=ハッシュ
HMAC=ハッシュ・メッセージ認証コード
ES=共有鍵を使用する暗号化
Key=共有鍵
【0055】
第1のメッセージM1 602が、PSC601からTD24に伝送される。第1のメッセージM1 602は、NPSC、ReqIM、およびCertPSCを含む。第1のメッセージM1 602に応答して、TD24は、第2のメッセージM2 603をPSC601に伝送する。第2のメッセージM2 603は、NTD、CertTDと、TDの秘密鍵を使用して署名された(IDPSC NTD NPSC IM)とを含む。第2のメッセージM2 603に応答して、PSC601は、第3のメッセージM3 604をTD24に伝送する。第3のメッセージM3 604は、IDPSCと、PSCの秘密鍵を使用して署名された(IDTD NPSC NTD)とを含む。オプションとして、メッセージM3 604は、TDの公開鍵を使用して暗号化されたSK、およびPSCの秘密鍵を使用して署名されたSKのハッシュを含むことができる。
【0056】
このプロトコルにより、PSC601は、信頼できる応答をTD24から取得することができ、またTD24に対してPSC601のユーザの正当性を証明することができるようになる。秘密にしておく必要があるものは何もない(オプションのSKを除いて)ので、M1 602およびM2 603を暗号化する必要がない。しかし、通信を行うものが、他のパーティに対して該通信を機密にしておくことを望む場合には、暗号化を使用することができる。
【0057】
TD24は、信頼できるCA(trusted CA、図示せず)を介して公開鍵を確認することができるものと想定する。これにより、証明書は、署名を確認するのに使用することができる公開鍵の真正性を提供することができる。TD24の公開鍵と秘密鍵のペアは、裏書きの鍵(Endorsement key)のペア(マスターキーのペア)であってはならず、TD24の所有者によって生成された鍵のペアでなければならない。この理由は、秘密鍵が漏洩した場合に、ユーザが、鍵のペアを取り消すことができるからである。
【0058】
図7は、PSC701が自分自身のTD702を含む場合に、PSC701が、TD24にチャレンジしてTDのIMを取得できるようにするのに使用されるプロトコルを示す。
【0059】
第1のメッセージM1 703が、PSC701からTD24に伝送される。第1のメッセージM1 703は、NTD2、ReqIM、およびCertTD2を含む。第1のメッセージM1 703に応答して、TD24は、第2のメッセージM2 704をPSC701に伝送する。第2のメッセージM2 704は、NTD、CertTD、ReqIM2と、TDの秘密鍵を使用して署名された(IDTD2 NTD NTD2 IM)とを含む。第2のメッセージM2 704に応答して、PSC701は、第3のメッセージM3 705をTD24に伝送する。第3のメッセージM3 705は、IDTD2と、PSCの秘密鍵を使用して署名された(IDTD NTD2 NTD IM2)とを含む。オプションとして、メッセージM3 705は、TDの公開鍵を使用して暗号化されたSK、およびPSCの秘密鍵を使用して署名されたSKのハッシュを含むことができる。
【0060】
オプションのTD2 702が設けられている場合、すべてのチャレンジ・プロセスは、TD2 702によって行われ、その場合、双方のパーティが、図7のプロトコルを使用して互いのIMを獲得する(互いのIMにチャレンジする)ことができるが、TD2 702にチャレンジするか否かは、アプリケーションに依存する。
【0061】
TD2は、別のトラステッド・デバイスであるが、このデバイスを使用するか否かは、ユーザおよびアプリケーションに依存してオプションである。
【0062】
このモデルで行われる可能性がある攻撃(attack)の1つは、攻撃側がIMをメッセージ2(M2)に含めることができる場合、該攻撃側がTDであるかのように装うことができることである。また、TDのサービスに誰がアクセスできるかの規制が存在せず、有効な証明書(公開鍵)を有する場合には誰でもそのサービスにアクセスすることができる。
【0063】
上記の問題の1つの解決策は、トラステッド・デバイス(TD)だけに証明書を与える信頼できるCAを有することである。また、任意の特定のTDのユーザまたはチャレンジャが、自身の公開鍵を特定のTDに事前に登録しなければならず、そうすることにより、該TDは、M1に含まれる証明書を比較することによって、ユーザが、登録された/許可されたユーザであるかどうかを検査することができる。
【0064】
上記の問題の別の解決策は、秘密鍵/公開鍵のペアを使用せず、異なるプロトコルを備えた対称暗号化(symmetric cryptography)を使用することであるが、チャレンジの前に共有鍵を合意で決めなければならない。PSC801およびTD24が共有鍵を導入した後、PSC801は、図8で示したプロトコルを使用してTD24にチャレンジすることができる。チャレンジの目的は、PSC801のアイデンティティをTD24に対して証明し(ユーザの正当性を証明し)、IMについて信頼できる応答を提供することである。
【0065】
第1のメッセージM1 802が、PSC801からTD24に伝送される。第1のメッセージM1 802は、NPSC、ReqIM、およびIDPSCを含む。第1のメッセージM1 802に応答して、TD24は、第2のメッセージM2 803をPSC801に伝送する。第2のメッセージM2 803は、NTD、IM、IDTDと、ハッシュ・メッセージ認証コードを使用して署名された(Key NTD NPSC IM)とを含む。第2のメッセージM2 803に応答して、PSC801は、第3のメッセージM3 804をTD24に伝送する。第3のメッセージM3 804は、IDPSCと、ハッシュ・メッセージ認証コードを使用して署名された(IDTD NPSC Key NTD)を含む。オプションとして、メッセージM3 804は、共有鍵を使用する暗号を使用して暗号化されたSK、およびハッシュ・メッセージ認証コードを使用して署名されたSKのハッシュを含むことができる。
【0066】
TD24は、自分自身の秘密鍵/公開鍵のペアを有するので、メッセージ2(M2)を、NTD CertTD STD(IDPSC、NTD、NPSC、IM)で置き換えることができる。
【0067】
非対称システムと同様に、オプションとして、トラステッド・デバイスTD2 902をPSC901に導入して、双方のパーティが互いのIMを検査できるようにすることができる。ただし、この場合、対称暗号化が使用される。この実施形態のプロトコルを図9に示す。
【0068】
第1のメッセージM1 903が、PSC901からTD24に伝送される。第1のメッセージM1 903は、NTD2、ReqIM、およびCertTD2を含む。第1のメッセージM1 903に応答して、TD24は、第2のメッセージM2 904をPSC901に伝送する。第2のメッセージM2 904は、NTD、IM、CertTD、ReqIM2と、ハッシュ・メッセージ認証コードを使用して署名された(Key NTD NTD2 IM)を含む。第2のメッセージM2 904に応答して、PSC901は、第3のメッセージM3 905をTD24に伝送する。第3のメッセージM3 905は、IDTD2と、ハッシュ・メッセージ認証コードを使用して署名された(IDTD NTD2 Key NTDとを含む。オプションとして、メッセージM3 905は、共有鍵を使用する暗号を使用して暗号化されたSK、およびハッシュ・メッセージ認証コードを使用して署名されたSKのハッシュを含むことができる。
【0069】
必要とされる認証のレベルは、TDのどのサービスをユーザが使用することを望むかに依存する。一部のサービス、例えばTDを支払いプロセスの一環として使用することは、相互認証(ユーザおよびTDの正当性を証明する)を必要とする。しかし、一部のサービス、例えばTDを使用して電子メールを送信することは、単方向認証(TDの正当性のみを認証する)だけしか必要としない。ただし、TDによって提供される何らかのサービスをユーザが使用できる前に、該TDは、ユーザに関する詳細を有し、どのユーザが何のサービスにアクセスすることができるかを規定する何らかのルールを設定すべきである。
【0070】
一部のユーザは、TDとの共有鍵を全く有していないが、それでも、ユーザは、IMを検査し、TDのサービスを使用することを望むか否かを調べることができる。ユーザは、TDとの共有鍵を有しておらず、またTDに登録した公開鍵も有していないので、TDは、そのユーザ(PSC)を認証することができない。しかし、これらのユーザは、TD上の限られたサービスを使用することだけしか許されないので、簡単なIMチャレンジ・プロトコルで十分である。適切なプロトコルの例を図10に示す。
【0071】
第1のメッセージM1 1002が、PSC1001からTD24に伝送される。第1のメッセージM1 1002は、NPSC、ReqIM、およびIDPSCを含む。第1のメッセージM1 1002に応答して、TD24は、第2のメッセージM2 1003をPSC1001に伝送する。第2のメッセージM2 1003は、IMと、TDの秘密鍵およびハッシュ・メッセージ認証コードを使用して署名された(IDPSC NPSC IM)を含む。
【0072】
以上、これらのプロトコルは、完全性検査および認証プロセスにおいて非常に重要である。良好なプロトコルなしには、完全性メトリックに関して信頼できるレポートを生成することが不可能である。
【図面の簡単な説明】
【図1】本発明の実施形態を実現することができるシステムを示す図。
【図2】スマートカード・リーダを介してスマートカードと通信し、また一群のモジュールと通信するように構成されたトラステッド・デバイスを含むマザーボードを示す図。
【図3】トラステッド・デバイスをより詳細に示す図。
【図4】コンピューティング装置の完全性メトリックを取得するのに関連するステップを示す流れ図。
【図5】携帯型セキュリティ・チャレンジャを使用する相互完全性検査を示す図。
【図6】携帯型セキュリティ・チャレンジャと、公開鍵/秘密鍵ペアを有するトラステッド・デバイスとの間の相互完全性検査を示す図。
【図7】コンピューティング装置(トラステッド・デバイス)とトラステッド携帯型セキュリティ・チャレンジャとの間の相互完全性検査を示す図である。
【図8】共有秘密鍵を使用している際のコンピューティング装置(トラステッド・デバイス)と携帯型セキュリティ・チャレンジャとの間におけるプロトコルの例を示す図。
【図9】共有秘密鍵を使用している際のコンピューティング装置(トラステッド・デバイス)とトラステッド携帯型セキュリティ・チャレンジャとの間における相互完全性検査を示す図。
【図10】ユーザを認証する必要がない場合のコンピューティング装置(トラステッド・デバイス)とトラステッド携帯型セキュリティ・チャレンジャとの間におけるプロトコルの例を示す図。
【符号の説明】
10 プラットフォーム
24 トラステッド・デバイス
501、601、701、801、901、1001 PSC
Claims (7)
- 第1のコンピュータ装置がトラステッド・エンティティであるかどうかを判断するために該第1のコンピュータ装置の第1の完全性メトリックを取得する取得手段であって、入力手段に応答して該取得を起動する取得手段と、
前記第1のコンピュータ装置がトラステッド・デバイスであるという標示をユーザに提示する提示手段と、
を備える携帯型ハンドヘルドコンピューティング装置。 - 前記携帯型ハンドヘルドコンピューティング装置の第2の完全性メトリックを取得して該携帯型ハンドヘルドコンピューティング装置がトラステッド・エンティティであるかどうかについての判断を可能にするよう構成されたトラステッド・デバイスと、
前記第2の完全性メトリックを前記第1のコンピュータ装置に伝達して、該携帯型ハンドヘルドコンピューティング装置および前記第1のコンピュータ装置の信頼状態に関しての相互判定を可能にする通信手段と、
をさらに備える請求項1に記載の携帯型ハンドヘルドコンピューティング装置。 - 前記第1のコンピュータ装置に認証データを提供するように構成された暗号手段をさらに備える、請求項1に記載の携帯型ハンドヘルドコンピューティング装置。
- 前記コンピューティング装置が、携帯情報端末である請求項1から請求項3のいずれかに記載の携帯型ハンドヘルドコンピューティング装置。
- 前記コンピューティング装置が、無線電話機である請求項1から請求項4のいずれかに記載の携帯型ハンドヘルドコンピューティング装置。
- 前記コンピューティング装置が、スマートカードである請求項1から請求項4のいずれかに記載の携帯型ハンドヘルドコンピューティング装置。
- 前記コンピューティング装置が、バイオメトリック・リーダである、請求項1から請求項4のいずれかに記載の携帯型ハンドヘルドコンピューティング装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0020370.3A GB0020370D0 (en) | 2000-08-18 | 2000-08-18 | Trusted device |
PCT/GB2001/003667 WO2002017048A2 (en) | 2000-08-18 | 2001-08-16 | Trusted device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004508619A true JP2004508619A (ja) | 2004-03-18 |
Family
ID=9897860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002521676A Pending JP2004508619A (ja) | 2000-08-18 | 2001-08-16 | トラステッド・デバイス |
Country Status (5)
Country | Link |
---|---|
US (1) | US20040243801A1 (ja) |
EP (1) | EP1352306A2 (ja) |
JP (1) | JP2004508619A (ja) |
GB (1) | GB0020370D0 (ja) |
WO (1) | WO2002017048A2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010503252A (ja) * | 2006-08-31 | 2010-01-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピューティング・プラットフォームの証明 |
US8056137B2 (en) | 2005-06-03 | 2011-11-08 | Ntt Docomo, Inc. | Communication terminal device and computer device |
US8437978B2 (en) | 2007-07-26 | 2013-05-07 | Renishaw Plc | Deactivatable measurement apparatus |
US8464054B2 (en) | 2007-07-26 | 2013-06-11 | Renishaw Plc | Measurement probe systems for co-ordinate positioning apparatus |
JP2021043986A (ja) * | 2013-03-22 | 2021-03-18 | ノック ノック ラブズ, インコーポレイテッドNok Nok Labs, Inc. | 高度な認証技術及びその応用 |
US11792024B2 (en) | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US12041039B2 (en) | 2019-02-28 | 2024-07-16 | Nok Nok Labs, Inc. | System and method for endorsing a new authenticator |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3979195B2 (ja) * | 2002-06-25 | 2007-09-19 | ソニー株式会社 | 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム |
JP4349789B2 (ja) * | 2002-11-06 | 2009-10-21 | 富士通株式会社 | 安全性判断装置及び安全性判断方法 |
CN100386740C (zh) | 2002-12-12 | 2008-05-07 | 有限状态机实验室公司 | 用于检测计算机系统中的安全漏洞的系统和方法 |
GB2403309B (en) * | 2003-06-27 | 2006-11-22 | Hewlett Packard Development Co | Apparatus for and method of evaluating security within a data processing or transactional environment |
JP4326863B2 (ja) * | 2003-07-08 | 2009-09-09 | 株式会社沖データ | 画像形成装置および印刷方法 |
CA2438357A1 (en) | 2003-08-26 | 2005-02-26 | Ibm Canada Limited - Ibm Canada Limitee | System and method for secure remote access |
KR100567827B1 (ko) | 2003-10-22 | 2006-04-05 | 삼성전자주식회사 | 휴대용 저장 장치를 사용하여 디지털 저작권을 관리하는방법 및 장치 |
EP1667047A1 (en) * | 2003-10-22 | 2006-06-07 | Samsung Electronics Co., Ltd. | Method for managing digital rights using portable storage device |
JP2005167977A (ja) * | 2003-11-14 | 2005-06-23 | Ricoh Co Ltd | 製品正当性検証システム、正当性検証対象の装置、製品正当性検証方法及び固有情報提供方法 |
US8407479B2 (en) * | 2003-12-31 | 2013-03-26 | Honeywell International Inc. | Data authentication and tamper detection |
US7350072B2 (en) * | 2004-03-30 | 2008-03-25 | Intel Corporation | Remote management and provisioning of a system across a network based connection |
GB2413467B (en) * | 2004-04-24 | 2008-10-29 | David Hostettler Wain | Secure network incorporating smart cards |
KR100670005B1 (ko) * | 2005-02-23 | 2007-01-19 | 삼성전자주식회사 | 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법 |
DE102005041055A1 (de) * | 2005-08-30 | 2007-03-01 | Giesecke & Devrient Gmbh | Verfahren zur Verbesserung der Vertrauenswürdigkeit von elektronischen Geräten und Datenträger dafür |
WO2007107701A2 (en) * | 2006-03-22 | 2007-09-27 | British Telecommunications Public Limited Company | Communications device monitoring |
KR101055712B1 (ko) * | 2006-06-30 | 2011-08-11 | 인터내셔널 비지네스 머신즈 코포레이션 | 모바일 장치에서의 메시지 핸들링 |
US8528108B2 (en) * | 2006-10-06 | 2013-09-03 | Agere Systems Llc | Protecting secret information in a programmed electronic device |
AU2008207334A1 (en) * | 2007-01-18 | 2008-07-24 | Michael Joseph Knight | Interaction process |
US8676998B2 (en) * | 2007-11-29 | 2014-03-18 | Red Hat, Inc. | Reverse network authentication for nonstandard threat profiles |
FR2945134A1 (fr) * | 2009-04-29 | 2010-11-05 | Bull Sa | Machine de test d'un produit sous test comprenant un moyen de memorisation et procede de test associe |
US8566593B2 (en) * | 2009-07-06 | 2013-10-22 | Intel Corporation | Method and apparatus of deriving security key(s) |
US8842833B2 (en) * | 2010-07-09 | 2014-09-23 | Tata Consultancy Services Limited | System and method for secure transaction of data between wireless communication device and server |
CN101931908B (zh) * | 2010-07-23 | 2014-06-11 | 中兴通讯股份有限公司 | 一种便携式设备获取业务服务的方法、装置及系统 |
GB201206203D0 (en) * | 2012-04-05 | 2012-05-23 | Dunbridge Ltd | Authentication in computer networks |
US9177129B2 (en) * | 2012-06-27 | 2015-11-03 | Intel Corporation | Devices, systems, and methods for monitoring and asserting trust level using persistent trust log |
JP5946374B2 (ja) * | 2012-08-31 | 2016-07-06 | 株式会社富士通エフサス | ネットワーク接続方法および電子機器 |
JP5990433B2 (ja) * | 2012-08-31 | 2016-09-14 | 株式会社富士通エフサス | ネットワーク接続方法および電子機器 |
FR3043229B1 (fr) | 2015-11-03 | 2018-03-30 | Proton World International N.V. | Demarrage securise d'un circuit electronique |
FR3043228B1 (fr) | 2015-11-03 | 2018-03-30 | Proton World International N.V. | Demarrage controle d'un circuit electronique |
US10108800B1 (en) * | 2017-01-10 | 2018-10-23 | Gbs Laboratories, Llc | ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods |
US11218506B2 (en) * | 2018-12-17 | 2022-01-04 | Microsoft Technology Licensing, Llc | Session maturity model with trusted sources |
FR3111441B1 (fr) | 2020-06-10 | 2022-08-05 | Proton World Int Nv | Démarrage sécurisé d'un circuit électronique |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2242777A1 (en) * | 1996-01-10 | 1997-07-17 | John Griffits | A secure pay-as-you-use system for computer software |
US5844986A (en) * | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US6003135A (en) * | 1997-06-04 | 1999-12-14 | Spyrus, Inc. | Modular security device |
PT950229E (pt) * | 1997-11-07 | 2001-07-31 | Swisscom Mobile Ag | Processo, sistema e dispositivo para determinacao da autenticidade de pessoas |
US6092202A (en) * | 1998-05-22 | 2000-07-18 | N*Able Technologies, Inc. | Method and system for secure transactions in a computer system |
EP1030237A1 (en) * | 1999-02-15 | 2000-08-23 | Hewlett-Packard Company | Trusted hardware device in a computer |
US6772331B1 (en) * | 1999-05-21 | 2004-08-03 | International Business Machines Corporation | Method and apparatus for exclusively pairing wireless devices |
US6622018B1 (en) * | 2000-04-24 | 2003-09-16 | 3Com Corporation | Portable device control console with wireless connection |
-
2000
- 2000-08-18 GB GBGB0020370.3A patent/GB0020370D0/en not_active Ceased
-
2001
- 2001-08-16 US US10/344,062 patent/US20040243801A1/en not_active Abandoned
- 2001-08-16 WO PCT/GB2001/003667 patent/WO2002017048A2/en not_active Application Discontinuation
- 2001-08-16 JP JP2002521676A patent/JP2004508619A/ja active Pending
- 2001-08-16 EP EP01956698A patent/EP1352306A2/en not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8056137B2 (en) | 2005-06-03 | 2011-11-08 | Ntt Docomo, Inc. | Communication terminal device and computer device |
JP2010503252A (ja) * | 2006-08-31 | 2010-01-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピューティング・プラットフォームの証明 |
US8437978B2 (en) | 2007-07-26 | 2013-05-07 | Renishaw Plc | Deactivatable measurement apparatus |
US8464054B2 (en) | 2007-07-26 | 2013-06-11 | Renishaw Plc | Measurement probe systems for co-ordinate positioning apparatus |
US8700351B2 (en) | 2007-07-26 | 2014-04-15 | Renishaw Plc | Deactivatable measurement apparatus |
JP2021043986A (ja) * | 2013-03-22 | 2021-03-18 | ノック ノック ラブズ, インコーポレイテッドNok Nok Labs, Inc. | 高度な認証技術及びその応用 |
JP7308180B2 (ja) | 2013-03-22 | 2023-07-13 | ノック ノック ラブズ, インコーポレイテッド | 高度な認証技術及びその応用 |
US11929997B2 (en) | 2013-03-22 | 2024-03-12 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
US12041039B2 (en) | 2019-02-28 | 2024-07-16 | Nok Nok Labs, Inc. | System and method for endorsing a new authenticator |
US11792024B2 (en) | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
Also Published As
Publication number | Publication date |
---|---|
GB0020370D0 (en) | 2000-10-04 |
EP1352306A2 (en) | 2003-10-15 |
WO2002017048A2 (en) | 2002-02-28 |
WO2002017048A3 (en) | 2003-08-21 |
US20040243801A1 (en) | 2004-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004508619A (ja) | トラステッド・デバイス | |
JP6151402B2 (ja) | データセンタへのプラットフォームの内包検証 | |
EP1161715B1 (en) | Communications between modules of a computing apparatus | |
US7444601B2 (en) | Trusted computing platform | |
JP4278327B2 (ja) | コンピュータ・プラットフォームおよびその運用方法 | |
Stumpf et al. | A robust integrity reporting protocol for remote attestation | |
EP1224518B1 (en) | Trusted computing platform with biometric authentication | |
CN101350723B (zh) | 一种USB Key设备及其实现验证的方法 | |
JP4219561B2 (ja) | 信頼できる計算プラットフォームのためのスマートカード・ユーザインターフェイス | |
US20140298412A1 (en) | System and Method for Securing a Credential via User and Server Verification | |
CN110768791B (zh) | 一种零知识证明的数据交互方法、节点、设备 | |
US20080077592A1 (en) | method and apparatus for device authentication | |
US20090319793A1 (en) | Portable device for use in establishing trust | |
US7228430B2 (en) | Security system for preventing a personal computer from being used by an unauthorized people | |
US20040010686A1 (en) | Apparatus for remote working | |
US7073062B2 (en) | Method and apparatus to mutually authentication software modules | |
Yu et al. | A trusted remote attestation model based on trusted computing | |
Stumpf et al. | Towards secure e-commerce based on virtualization and attestation techniques | |
EP1076280A1 (en) | Communications between modules of a computing apparatus | |
CN113987461A (zh) | 身份认证方法、装置和电子设备 | |
Wilson | A vulnerability assessment of roaming soft certificate PKI solutions | |
Vossaert et al. | Client-side biometric verification based on trusted computing | |
Zhan et al. | Trusted Computing Enabled System for Wireless Networks |