説明

ネットワークとの通信のためのデバイスの正当化および/または認証

デバイスは信頼済みコンポーネントを含むことができる。信頼済みコンポーネントは、信頼済み第三者機関により検証することができ、そして信頼済み第三者機関による検証に基づきそこに格納される検証の証明書を持つことができる。信頼済みコンポーネントは、安全なコードおよびデータ記憶装置、ならびに安全なアプリケーションの実行を提供することができる信頼の基盤(root of trust)を含むことができる。信頼の基盤はまた、安全なブート(boot)を介して信頼済みコンポーネントの整合性(integrity)を検証するように、並びに、信頼済みコンポーネントの整合性を検証することができない場合、デバイスの何某かの情報へのアクセスを防止するように構成することができる。

【発明の詳細な説明】
【技術分野】
【0001】
<関連出願の相互参照>
本出願は、2009年10月21日に出願された米国仮特許出願番号第61/253,687号、および2009年4月15日に出願された米国特許出願番号第61/169,630号の優先権を主張し、ここにこの番号を参照することにより、その開示内容を本明細書の一部とする。
【背景技術】
【0002】
現今では、携帯電話、フェムトセル(femtocell)、ホーム・ノード、ケーブル・モデム、ネットワーク・アクセス・ポイント、または同様のものなどのデバイスが通信ネットワークに接続することができる。その接続を介して、デバイスは通信ネットワークを使用して、通話を受信し、かつ/または発信し、インターネットまたは同様のものにアクセスすることができる。残念ながら、そのようなデバイスは例えばネットワークに接続する前に、デバイスにおいて含まれ得るコンポーネントの整合性(integrity)を正当化(validate)するためのシステムまたは方法を含むことができない。
【発明の概要】
【0003】
信頼済み(trusted)コンピューティングを遂行するためのシステムおよび方法を提供することができる。例えば、コンピュータ・デバイス、移動体デバイス、フェムトセル、アクセス・ポイント基地局、H(e)NB(enhanced Home Node−B:拡張ホーム・ノードB)などのホーム・ノード、または同様のものなどのデバイスが、信頼済みコンポーネントを含むことができる。信頼済みコンポーネントは、信頼済み第三者機関により検証されることができ、信頼済み第三者機関による検証に基づきそこに格納される検証の証明書を持つことができる。
【0004】
実施形態の一例によると信頼済みコンポーネントは、安全なコードおよびデータ記憶装置、ならびに安全なアプリケーションの実行を提供することができる信頼の不変的基盤(immutable root)などの、信頼の基盤(root of trust)を含むことができる。信頼の基盤はまた、例えば段階的な安全な立ち上げなどの安全なブート(boot)を介して信頼済みコンポーネントの整合性を検証するように構成することができる。実施形態の一例によるとデバイスは、信頼済みコンポーネントの整合性を信頼の基盤によって検証することができない場合には、第1の方針に従って動作することができ、そして信頼済みコンポーネントの整合性を検証することができる場合には、第2の方針に従って動作することができる。したがって実施形態の一例においては、信頼済みコンポーネントは、デバイス、外部のエンティティ、および通信リンクの実時間の整合性検証を含む、安全な立ち上げおよびランタイム動作を起動することができる。
【図面の簡単な説明】
【0005】
【図1】無線通信において使用することができるデバイスの実施形態の一例を例証する図である。
【図2】信頼済みコンポーネントを含むことができるデバイスの実施形態の一例を例証する図である。
【図3】デバイス中に含むことができる信頼済みコンポーネントを確立する方法の実施形態の一例を例証する図である。
【図4】デバイスの信頼可能な環境において含むことができる信頼済みコンポーネントの実施形態の一例を例証する図である。
【図5】デバイス中の1つまたは複数のコンポーネントと通信状態にある信頼済みコンポーネントの実施形態の一例を例証する図である。
【図6】信頼済みコンポーネント中に含むことができるセキュリティ・アクセス・モニタおよびセキュリティ・アクセス表の実施形態の一例を例証する図である。
【図7】安全な立ち上げを通してデバイス中のコンポーネントを正当化する方法の実施形態の一例を表現する図である。
【図8】デバイスの自動正当化の実施形態の一例を例証する図である。
【図9】デバイスの自動正当化のための方法の一例を表現するフロー図である。
【図10】デバイスの遠隔正当化の実施形態の例を例証する図である。
【図11】デバイスの遠隔正当化の実施形態の例を例証する図である。
【図12】デバイスの遠隔正当化のための方法の一例を表現するフロー図である。
【図13】半自動正当化の実施形態の一例を例証する図である。
【発明を実施するための形態】
【0006】
図1は、無線通信において使用することができるデバイス100の実施形態の一例を表現する。実施形態の例によるとデバイス100は、コンピュータ・デバイス、センサ・ノード、移動体デバイス、フェムトセル、アクセス・ポイント基地局、H(e)NBなどのホーム・ノード、基地局、または、ネットワークにアクセスしかつ/もしくはアクセスが限定されるかあるいは利用可能でない場合があるセル通信可能範囲などのサービス可能範囲を拡張することができる他の任意の適切なデバイス、であることができる。図1において示されるようにデバイス100は、コンピュータ・デバイス、携帯電話、PDA(Personal Data Assistant:携帯情報端末)、センサ・ノード、または同様のものなどの、1つまたは複数のユーザ・デバイス102と通信状態にあることができる。
【0007】
デバイス100はまた、ネットワーク104などの外部の通信エンティティと通信状態にあることができる。一実施形態によるとネットワーク104は、DSLネットワーク、ケーブル・ネットワーク、または同様のものなどの広帯域ネットワークであることができる。実施形態の例によるとネットワーク104などの外部の通信エンティティは、PVE(Platform Validation Entity:プラットホーム正当化エンティティ)105、SeGW(Security GateWay:セキュリティ・ゲートウェイ)106、HMS(Home node Management System:ホーム・ノード管理システム)107、および/またはOAM(Operations And Management:運用管理)コンポーネント109を含む複数のコンポーネントを含むことができる。図1において示されるようにデバイス100がネットワーク104を使用して、電話呼、テキスト・メッセージ、電子メール・メッセージ、インターネットを介する通信などのデータ・セッション、または同様のものなど無線通信を開始し、かつ/または確立することができるように、デバイス100はSeGW(Security GateWay:セキュリティ・ゲートウェイ)106を介してネットワーク104と通信状態にあることができる。例えばユーザは、ユーザ・デバイス102と対話し、受信者との電話呼などの無線通信を起動することができる。ユーザ・デバイス102がデバイス100の通信範囲内に入った場合には、ユーザ・デバイス102は、デバイス100を使用して受信者と無線通信を起動することができる。例えばユーザ・デバイス102は、無線通信を起動するためにデバイス100に要求または情報を送信または提供することができる。デバイス100は次に、ユーザおよび受信者の間で電話呼などの通信セッションを確立することができるように、そのような要求または情報を例えばネットワーク104に送信することができる。
【0008】
実施形態の例によるとその中にコンポーネントを含むデバイス100の整合性は、ネットワーク104、ユーザ・デバイス102、および/またはUSB(Universal Serial Bus:ユニバーサル・シリアル・バス)接続、ブルートゥース(Bluetooth)接続、ファイヤ・ワイヤ(fire wire)接続、または同様のものなどの別の外部の通信エンティティにより、デバイス100を認証することができる前に検証することができる。例えばデバイス100は、危険に曝された(comprised)認証情報、物理攻撃、構成設定攻撃、プロトコル攻撃、ネットワーク攻撃、ユーザ・データ攻撃、識別子秘匿攻撃、無線リソース管理攻撃、または同様のものなどの様々な安全面での脆弱性(security flaw)に曝される場合がある。例えばネットワーク104、ユーザ・デバイス102、および/または別の外部の通信エンティティが、そのような安全面での脆弱性から影響を受けることを防止するために、デバイス100およびその中のコンポーネントの整合性が、デバイス100およびその中のコンポーネントが、安全面での脆弱性に曝されていなかったであろうことを確実にするために検証され、またはさもなくば信頼済み状態から失墜させられる。
【0009】
図2は、信頼済みコンポーネントを含むことができるデバイス100の実施形態の一例を表現する。図2において示されるようにデバイス100は、プロセッサ110、メモリ112、送受信機114、電源116、およびアンテナ118を含むことができる。
【0010】
プロセッサ110は、信頼済みコンポーネントをロードしそして実行することを含むことができる安全なブートを、信頼の基盤により開始するための命令;信頼済みコンポーネントの整合性を検証するための命令;および信頼済みコンポーネントの整合性が検証されるかに依存する特定の方針に従って動作するための命令;などの、信頼済みコンピューティングを遂行するための命令を実行することができる標準化されたプロセッサ、専用化されたプロセッサ、マイクロ・プロセッサ、または同様のものを含むことができる。信頼済みコンポーネント120の整合性を検証することができない場合、プロセッサ110が動作する方針には、ネットワーク104などの外部の通信エンティティによりデバイス100を認証するために必要となる場合がある認証情報または証明書などの情報へのアクセスを防止することを含めることができる。例えばデバイス100は、限定的ではなく、デバイス認証、証明書準拠の認証、またはEAP−AKA準拠の何れの認証技法をも含む、何れかの適切な認証技法を使用して、ネットワーク104などの外部の通信エンティティにより認証するために認証情報を使用することがきる。
【0011】
上で説明されたように、デバイス100はさらにメモリ112を含むことができる。一実施形態においてはメモリ112は、プロセッサ110により実行することができる命令、コード、データ、または他の任意の適切な情報をも格納することができる。実施形態の一例によるとメモリ112はRAM(Random Access Memory:ランダム・アクセス・メモリ)、ROM(Read Only Memory:読み出し専用メモリ)、キャッシュ、Flash(フラッシュ)メモリ、ハード・ディスク、または他の任意の適切な記憶デバイスを含むことができる。図2において示されるように一実施形態においては、メモリ・コンポーネント112をプロセッサ110と統合することができる。別の実施形態によるとメモリ112は、プロセッサ110と通信状態にある分離したコンポーネントであることができる。
【0012】
デバイス100はまた、プロセッサ112およびアンテナ118と通信状態にあることができる送受信機114を含むことができる。実施形態の一例によると送受信機114およびアンテナ118は、電話呼、テキスト・メッセージ、電子メール・メッセージ、インターネットを介する通信などのデータ・セッション、または同様のものなどの無線通信、および/または有線通信、の送信および/または受信を容易にすることができる。
【0013】
図2において示されるように一実施形態においては、デバイスはさらに電源116を含む。電源116は、デバイス100のコンポーネントを含むデバイス100に電力を供給することができるバッテリー電源、AC/DC電源、環境発電(energy harvesting)電源、または同様のものであることができる。例えば電源116は、その中にコンポーネントを含むデバイス100がここに説明されるように機能することができるように、プロセッサ110、メモリ112、送受信機、アンテナ118、または他の任意のコンポーネントに電力を供給することができる。
【0014】
上で説明されたようにデバイス100はまた、信頼済みコンポーネント120を含むことができる。実施形態の一例によると信頼済みコンポーネント120は、信頼の基盤に根拠を置くことができ、そして低レベルおよび高レベルのアプリケーションに対して安全な実行環境を提供することができる信頼の連鎖(chain of trust)に準拠することができる。
【0015】
一実施形態によると信頼済みコンポーネント120は、コンポーネントの信頼性および整合性を検査することができた後に、データおよびアプリケーションをロードすることができる。信頼済みコンポーネント120はさらに、ロードされたアプリケーションが改ざんに対して安全であることができる実行環境を提供することができる。実施形態の例においては、例えばUICC(UMTS Identity Circuit Card)の事業者保証などの信頼済み第三者機関によって信頼済みコンポーネント120を保証することができ、これについては以下でさらに詳細に説明されることになる。さらに加えて信頼済みコンポーネント120は、デバイス100を信頼可能であることができることを表すことができ、そしてネットワーク事業者またはネットワークは検証可能な方法にて信頼済みコンポーネントを有するとしてデバイス100を認識し、信頼性のレベルを確立することができる。
【0016】
信頼済みコンポーネント120のハードウェアおよび/またはソフトウェアを含むそれぞれのコンポーネントは、安全でありおよび信頼可能であるとして保証することができる。信頼済みコンポーネント120は例えば、信頼済みコンポーネント120の信頼性を検証することができるように、プラットホーム設計と共に配信することができる物理保証処理およびセキュリティ証明書を含むことができる。一実施形態においては、そのような信頼済みハードウェアおよび/またはソフトウェアの歩進的包含(incremental inclusion)を使用して、信頼済みコンポーネント120の信頼の連鎖を生成することができ、これについては以下にさらに詳細に説明されることになる。
【0017】
このように実施形態の例によると信頼済みコンポーネント120は、識別子およびアクセス制御ならびに秘匿制御などの情報に対する直接的制御を提供するために使用することができる信頼の尺度(measure of trust)をユーザおよび事業者に提供することができる。信頼済みコンポーネント120は、例えば、デバイスが信頼可能であるかについての安全かつ確実な測定、報告、および検証;ユーザ・アプリケーションの安全かつ信頼性のある動作;ユーザの識別子または仮想識別子などのデータの信頼性、秘密性、整合性、可用性、および秘匿性に対する安全かつ信頼性のある保護;ユーザ情報の浸透およびそれへのアクセスの粒状性制御(granular control);または同様のもの;を提供することができる。
【0018】
一実施形態においては、信頼済みコンポーネント120がまた、整合性もしくは信頼性状態の保護、例えば機密データ(sensitive data)、暗号、タイム・スタンプの安全な記憶装置、ソフトウェアの安全な実行、または同様のものを提供することができるように、信頼済みコンポーネント120はデバイス100の中に、論理的に分離したエンティティ、ならびに1組の機能群およびリソース群を含むことができる。
【0019】
実施形態の一例によると信頼済みコンポーネント120が提供することができる整合性または信頼性状態の保護には、信頼性状態の測定、検証、および保護を含むことができる。信頼済みコンポーネント120は例えば、整合性方針の実施、デバイス100のセキュリティに重大な影響を及ぼす機能の基礎を形成することができるハードウェア機能の可用性および整合性の保護、デバイス100の認証、信頼済みコンポーネント120および/またはデバイス100の検証、または同様のものを提供することができる。
【0020】
上で説明されたように、信頼済みコンポーネント120は様々な情報の安全な記憶装置を提供することができる。信頼済みコンポーネント120は例えば、認証情報、信頼済み参照値などの基準整合性指標、機密データ、または他の任意の適切な機密情報を格納するための安全な記憶装置を含むことができる。一実施形態によると機密データには、鍵、暗号アルゴリズム、または他の任意の適切な機密の機能もしくはデータを含むセキュリティに敏感な機能を含むことができる。
【0021】
信頼済みコンポーネント120は、例えば暗号化、暗号解読、署名生成および正当化、ならびにハッシュ計算を含む暗号方式をさらに提供することができる。信頼済みコンポーネント120は、例えば、対称鍵準拠の暗号化および解読、非対称鍵準拠の暗号化および解読、ハッシュ値生成および検証、乱数生成、ならびに、デジタル署名の生成および検証を含む、デバイス認証または他のセキュリティに敏感な機能などの暗号機能を遂行することができる。信頼済みコンポーネント120はさらに加えて、信頼済みコンポーネント120が種(seed)、周期性、または同様なものなどのPRNG(Pseudo Random Number Generation:擬似乱数生成)値の保護および生成に備えることができるようPRNGを含むことができる、乱数生成を提供することができる。上で説明されたように信頼済みコンポーネント120はまた、鍵または暗号アルゴリズムなど、暗号方式において使用することができる、そこに格納されたセキュリティに敏感な機能およびデータを有することができる安全な記憶装置を提供することができる。
【0022】
一実施形態においては、信頼済みコンポーネント120は、例えばメッセージおよびデータの安全かつ信頼性のあるタイム・スタンプを含むタイム・スタンプ、暗号化にて署名されたスタンプ、または同様のものを提供することができる。信頼済みコンポーネント120はまた、実時間クロックなど実時間での尺度を提供することができる、デバイス100におけるコンポーネントの整合性に対する保護を提供することができる。
【0023】
信頼済みコンポーネント120は、デバイス100の機能およびデータをその他のものから切り離し、そしてその機能およびデータを不正アクセスおよび改ざんから保護することによって、命令を含むソフトウェア実行ファイルなどの機能およびデータを保護することができる。さらに加えて、信頼済みコンポーネント120の中の機能によって作り出されたデータを含む機能の実行は、信頼済みでない場合がある他のコンポーネントなどの外部のエンティティにとってはアクセス不能とすることができる。セキュリティに重大な影響を及ぼす機能または機密のデータなどのデータは、例えば、信頼済みコンポーネント120の暗号化境界により提供された切り離された環境の中の安全な記憶装置に格納することができ、そしてユーザがアクセス可能なバスおよびインターフェイスを通しての外部からの探査(probing)から保護することができる。信頼済みコンポーネント120はまた、予め定義することができる抽出方針およびデータを使用して、制御されたアクセス・ポートを通してセキュリティ・パラメータの抽出を可能にすることができる。
【0024】
信頼済みコンポーネント120はさらに、デバイス100の識別子と結合することができる信頼可能な一意なID(IDentity:識別子)を含むことができ、そしてデバイス100の識別子と互換性を持って使用することができる。信頼可能な一意なIDは、公開であることができ、そして秘密鍵など秘密に関連付けることができ、このことは信頼済みコンポーネント120のみが知ることができ、そして信頼済みコンポーネント120の外に明らかにすることはできない。信頼可能な一意なIDは、例えば鍵対の内の公開鍵としてメッセージに署名するために使用することができる。実施形態の一例によると信頼可能な一意なIDは、デバイス100の識別子の生成機構と同一のエンティティでない場合がある鍵対の生成機構が提供する場合がある。したがって一実施形態においては、そのような識別子の間のマッピングを、例えばデバイス100の識別子に物理的にかつ論理的に結合された信頼可能な一意なIDに準拠して提供することができる。例えば信頼可能な一意なIDおよび関連付けられた秘密鍵は、信頼の基盤の一部として製造者により予め提供することができ、そして図3に関して以下で説明されるように証明書に関連付けることができる。
【0025】
一実施形態においては、信頼済みコンポーネント120は、HPM(Hosting Party Module:ホスティング機関モジュール)IDを安全に格納することができる。HPM IDは、デバイス100およびHPM(Hosting Party Module:ホスティング機関モジュール)を結合し、かつ認証するために信頼済みコンポーネント120に転送することができる。事業者方針などの方針または規則に準拠してHPM ID記憶装置を構成することができる。信頼済みコンポーネント120は、信頼済みコンポーネント120をHPMに関連付けるために、または、事業者もしくはユーザが構成することができるHPMデータに信頼済みコンポーネント120を関連付けるために、追加的セキュリティ機能およびアルゴリズムを提供することができる。したがって実施形態の一例によると信頼済みコンポーネント120は、デバイス100がホスティング機関を認証することを可能にすることができ、そしてホスティング機関の認証と同様にデバイス100の認証にかかわった認証情報およびエンティティ間の結合の証拠を提供することができる。
【0026】
信頼済みコンポーネント120にはさらに、セキュリティに敏感な機能、暗号鍵、およびデバイス100の識別子に関連する場合がある他の認証情報を準備することができる。実施形態の一例によると、1つまたは複数のコンポーネントの識別子を安全に認証し、かつ標準化されたプロトコルを使用して外部のエンティティまたはコンポーネントを許可するべく信頼済みコンポーネント120を構成することができるように、セキュリティに敏感な機能、暗号鍵、および安全な帯域外処理を使用して暗号化動作のために使用することができるデバイス識別子に関連付けられたデバイス識別子および秘密鍵などの他の認証情報を信頼済みコンポーネント120に提供することができる。したがって一実施形態においては、外部のエンティティが、信頼可能な一意なIDまたはデバイス100の識別子を有効で許可された信頼済みコンポーネント120に属するとして正当化することができるかもしれない。
【0027】
実施形態の一例によると信頼済みコンポーネント120は、ソフトウェア実行ファイルのデータおよびハードウェア機能を互いに分離することができる、事業者が構成可能な機能分離を備えることができる。さらに、標準化された安全なプロトコルを通して信頼済みコンポーネント120を検証する能力のあるネットワーク104などのネットワークによる認証に基づき、そのような機能に対する二次的識別子を、信頼済みコンポーネント120中に埋め込むことができる。一実施形態においては、信頼済みコンポーネント120は、デバイス100を配備することができた後に事業者が構成可能な追加的機能をダウンロードすることができる。
【0028】
信頼済みコンポーネント120はさらに、安全なブートなどの安全な立ち上げ処理において初期化することができるインターフェイスなど、1つまたは複数のインターフェイスを含み、これについては、以下により詳細に説明されることになる。実施形態の一例によると、1つまたは複数のインターフェイスが保護されていないインターフェイスを含む場合がある。保護されていないインターフェイスは、信頼済みコンポーネント120とデバイス100の一般的なリソースまたはコンポーネントとの間の通信を容易にすることができる。また保護されていないインターフェイスは、信頼済みコンポーネント120によって暗号によって保護することができているデータであり安全な記憶装置に格納することができていないデータへのアクセスを提供する場合がある。
【0029】
1つまたは複数のインターフェイスはまた、保護されたインターフェイスを含むことができる。保護されたインターフェイスは、信頼済みコンポーネント120中の様々なコンポーネントまたはモジュールの間で伝達されるデータの整合性および秘匿性の保護を提供することができる。例えば一実施形態においては、保護されたインターフェイスは、その保護されたインターフェイスを使用することができる様々なコンポーネントの間の暗号化通信を提供することができるセキュリティ・プロトコルを使用することができる。セキュリティ・プロトコルは、信頼済みコンポーネント120がそれにより通信することができるコンポーネントの認証などのセキュリティ関連の尺度、ならびにメッセージ認証および秘匿性を含むことができる。
【0030】
図3は、デバイスに含むことができる信頼済みコンポーネントを確立する方法の実施形態の一例を例証する。上で説明されたように図2のデバイス100中に、信頼済みコンポーネント120などの信頼済みコンポーネントを含むことができる。実施形態の一例によると、ネットワーク104などの外部のエンティティに対してデバイス100が信頼可能であるかを検証、または立証するために、信頼済みコンポーネント120を使用することができる。そのような検証は、デバイス100の動作機能および/またはアプリケーションと同様に、サプライ・チェーンなどの信頼の連鎖を正当化することを含むことができる。
【0031】
実施形態の一例においては、信頼済みコンポーネント120は、デバイス100に対して、ハードウェア準拠の信頼の基盤および信頼可能である環境を提供することができ、そしてセキュリティおよび機能性に対しては独立の信頼済み第三者機関202が試験することができる。そして、信頼済み第三者機関208が試験に基づき信頼済みコンポーネント120を保証することができる。実施形態の一例によると、デバイス100がデバイス100の保証を立証するためにアタッチすることができるネットワーク104などの、外部の何れの通信エンティティにも通信することができるデジタル証明書を使用して保証を配信することができる。
【0032】
さらに加えて、コード及び実行可能コード・イメージのデータ・コンポーネントのダイジェストまたはハッシュなどの信頼済み参照値を取り入れることができるコードおよびデータ・イメージを開発するために開発ツール204を使用することができる。実施形態の一例によると信頼済み参照値は、デバイス100中に含まれるコードの整合性を検証するために使用することができ、そして危険に曝されたコードまたはデータを検出することができる。
【0033】
コード・イメージを、さらに信頼済み第三者機関208が保証することができ、そしてデバイス100がデバイス100の保証を立証するためにアタッチすることができるネットワーク104などの外部の何れの通信エンティティにも通信することができるデジタル証明書により配信することができる。
【0034】
図3において示されるように、独立した試験機構206が信頼済みコンポーネント120およびコードをセキュリティ機能および機能性に対して試験することができ、そして信頼済みコンポーネント120およびコード・イメージに対してデジタル証明書を生成するためにCA(Certificate Authority:認証局)208に入力を提供することができる。
【0035】
そして無線機器製造者などのデバイス製造者210は、信頼済みコンポーネント120を設計に組み込むことができ、そして保証されたコード・イメージをロードすることができる。デバイス製造者210は例えば、信頼済みコンポーネント120ならびに保証されたコードおよび信頼済み参照値を受け取ることができる。そしてデバイス製造者210は、信頼済みコンポーネント120ならびに保証されたコードおよび信頼済み参照値を含むことができるデバイス100などのデバイスを生成することができる。
【0036】
デバイス100が例えばネットワーク104にアタッチする場合、デバイス100は、信頼済みコンポーネント120およびコード・イメージに対する証明書ならびに様々な整合性測定値をネットワーク104に報告、または提供し、ネットワークによりデバイス104を正当化することができる。ネットワーク104は、例えばデバイス100がネットワーク104に通信リンクを確立することをネットワーク104が可能にすることができるように、デバイス100が信頼可能であろうということを検証することができる。
【0037】
図4は、例えばデバイス100の信頼可能な環境中に含むことができる、信頼済みコンポーネント120の実施形態の一例を示す。一実施形態によるとデバイス100は、信頼済みコンポーネント120、及び信頼可能な環境の一部でない場合がある他のコンポーネントを含むことができる。上で説明されたように例えば、信頼済みコンポーネント120は、整合性または信頼性状態の保護、例えば機密データの安全な記憶装置、暗号、タイム・スタンプ、ソフトウェアの安全な実行、または同様なものに対して信頼済み環境を信頼済みコンポーネント120が提供することができるように、デバイス100の中に、論理的に分離したエンティティならびに1組の機能群およびリソース群を含むことができる。図4において示されるように信頼済みコンポーネント120は特に、HSC(High Security Core:高セキュリティのコア)122、MSE(Modular Security Environment:モジュール型セキュリティ環境)124、信頼済みインターフェイス126、コア・インターフェイス128、およびコアIFM(core InterFace Manager:コア・インターフェイス・マネージャ)130を含むことができる。図4において例証された信頼済みコンポーネント120の実施形態はホーム・ノードBデバイスにおける1つの実施方法を表現するが、実施方法をそのように限定するものではなく、かつ上で議論したように有線または無線の通信能力を有する任意のコンピュータ・デバイスにおいても信頼済みコンポーネント120を実施することができることが理解される。
【0038】
実施形態の一例によるとHSC122は、信頼の基盤132、信頼済みコア134、およびTrE IFM(Trusted InterFace Manager:信頼済みインターフェイス・マネージャ)136を含むことができる。信頼の基盤132は、デバイス100、信頼済みコンポーネント120、およびHSC122にアクセス可能であることができる。一実施形態によると信頼の基盤132が、デバイスの安全なブートなどの安全な立ち上げ処理の間、信頼済みコア134および/または信頼済みインターフェイス・マネージャ136の整合性を確実にすることができるように、信頼の基盤132は、物理的にデバイス100に結合することができる1組の不変的、不動的(irremovable)ハードウェア・リソースを含むことができる。信頼の基盤132は例えば、スマートフォン(smart phone)のBIOS(Basic Input/Output System:基本入/出力システム)と同様な機能性を含むことができる書込み保護されたROM(Read Only Memory:読み出し専用メモリ)ユニットであることができる。信頼の基盤132はまた、例えば信頼済みコンポーネント120の正当化または検証のための情報を安全に格納することができる。信頼の基盤132は例えば、信頼済みコンポーネント120に関連付けられた信頼済み参照値などの参照指標を安全に格納することができる。実施形態の一例によると、信頼済みコンポーネント120中に含むことができる例えば暗号を使用して、信頼の基盤132コードを安全な認証情報を通して暗号化しそして/または解読することができる。
【0039】
上で説明されたように、HSC122は信頼済みコア134を含むことができる。実施形態の一例によると信頼済みコア134は、整合性測定、検証、報告および実施、自動または半自動の正当化などの信頼済みコンポーネントに対する機能;暗号化、解読、署名生成および正当化、ならびにハッシュ値計算などの暗号機能;正当化データの安全なタイム・スタンプのための機能;または同様のもの;の内の1つまたは複数を提供することができる。信頼済みコア134はまた、機密事項、鍵、正当化または検証に対して使用することができるコンポーネントに関連付けられた信頼済み参照値などの参照指標、暗号動作に対して使用することができるデバイス識別子およびデバイス識別子に関連付けられた秘密鍵などの認証情報、または、他の任意の情報若しくはデータ、の安全な記憶装置を提供することができる。一実施形態においては信頼済みコア134によって、安全なブートなどの拡張された安全な立ち上げ処理を実施することができ、これについては以下でさらに詳細に説明されることになる。
【0040】
信頼済みインターフェイス・マネージャ136は例えば、信頼済みコンポーネント120およびデバイス100の他のコンポーネントの間の通信を提供することができる、信頼済みインターフェイス126を管理することができる。実施形態の一例によると信頼済みインターフェイス・マネージャ136は、1つまたは複数の方針に基づき信頼済みインターフェイス126を管理することができる。
【0041】
信頼済みコンポーネント120はまた、コア・インターフェイス・マネージャ130を含むことができる。信頼済みコア・インターフェイス・マネージャ130は、HSC122およびMSE124の間に通信を提供することができ、そして信頼済みインターフェイス・マネージャ136および信頼済みコア134の間に通信を提供することができるコア・インターフェイス128を管理することができる。信頼済みコア・インターフェイス・マネージャ130は例えば、信頼済みコア134および関連付けられたリソースへのアクセスを制御することができ、そして上で説明されたように、ソフトウェアおよび関連データなどの実行可能モジュールをMSE124にロードすることができる。実施形態の一例によると、HSC122中に信頼済みコンポーネント120を含むことができる。さらに加えて、信頼済みコア134によって実施することができる拡張された安全な立ち上げ処理によって、コア・インターフェイス・マネージャ130の整合性を保護しかつ/または検証することができる。コア・インターフェイス・マネージャはまた、拡張された安全な立ち上げ処理を介して検証し次第、HSC122および/またはMSE124を始動することができる。
【0042】
HSC122はまた、暗号ユニット、信頼の基盤132、物理的に安全にされた記憶装置、またはデバイス100に結合することができる同様のものなどの物理的コンポーネントを含むことができる。一実施形態によると物理的コンポーネントおよび物理的に安全にされた記憶装置は、分離した、頑強なハードウェア・ユニットを含むことができる。物理的コンポーネントはまた、単純(simple)および差分(differential)電力消費量解析、探査、または同様のものなどの物理的攻撃に対して保護されることができる。実施形態の一例によると、特定アプリケーションにより必要とされるかもしれない程度までそのような保護を提供することができる。HSC122はさらに、不正アクセスまたは改ざんからHSC122中のデータを保護することができるインターフェイスを含むことができ、そして信頼済みコア134へのアクセスを制御することができる。このように実施形態の一例においては、物理的コンポーネント、物理的に安全にされた記憶装置、およびインターフェイスによりHSC122のセキュリティを保証することができる。
【0043】
MSE124は、OS(Operating System:オペレーティング・システム)検証モジュール、時刻同期化モジュール、正当化モジュール、または同様のものなどのアプリケーションの実行のための信頼可能な環境を提供することができる。例えばコア・インターフェイス・マネージャ130は、デバイス100中に含むことができるアプリケーション・モジュールを、1つまたは複数の方針または規則に基づきMSE124にロードすることができる。一実施形態においては、ロードすることができるそれぞれのアプリケーション・モジュールは、他のそのような環境から論理的に分離しかつ切り離すことができるMSE124中の保護された環境において実行することができる。信頼済みコア134はまたモジュールをMSE124にロードする前に、コア・インターフェイス・マネージャ130を介してモジュールの整合性を検証することができる。
【0044】
実施形態の一例によるとMSE124は、セキュリティに重大な影響を及ぼすアプリケーションなどのアプリケーションのために1つまたは複数の方針または規則に基づき信頼済みコア134の拡張を可能にすることができる。安全方針に準拠し、信頼済みコンポーネントの外にあるエンティティに対して、信頼済みコンポーネント120のリソースへのアクセス制御を可能にすることができる信頼済みコア134および信頼済みインターフェイス・マネージャ136を介してロードされたアプリケーションの整合性を検証することによって、MSE124のセキュリティを保証することができる。
【0045】
上で説明されたように、予め定義された信頼可能な状態にてデバイス100を起動することができることを保証するための安全なブートなどの安全な立ち上げ処理を介して信頼済みコンポーネント120を安全に始動することができる。実施形態の一例においては、安全なブートなどの安全な立ち上げ処理は、HSC122、MSE124、信頼済みインターフェイス126、コア・インターフェイス128、およびコア・インターフェイス・マネージャ130を始動することを含むことができる。一実施形態においては特に、信頼の基盤132はOSカーネルに対するブート・ローダーなどのOS(Operating System:オペレーティング・システム)の信頼済み要素を安全に始動することができる。一実施形態によるとブート・ローダーは、実行するためにロードされたコードおよび/またはコンポーネント、ならびにそのロードされたコードおよび/またはコンポーネントの整合性が検証されているか否かの表示を含むことができる。ブート・ローダーは例えば、コードおよび/またはコンポーネントのリストを含むことができ、このリストは、メモリにロードしておくことができ、何のコードおよび/またはコンポーネントをロードしそしてその整合性を検証することが必要であろうかを知るためにそのブート・ローダーを使用することができるように、例えばコードおよび/またはコンポーネントの整合性が検証されているか否かを含むことができる。
【0046】
信頼の基盤132はまた、信頼済みコア134が、HSC122またはMSE124を含む信頼済みコンポーネント120の他のコンポーネントを始動することができるように、例えば安全なブートを介して信頼済みコア134を安全に始動することができる。
【0047】
安全なブートなどの安全な立ち上げ処理は、コンポーネントまたは要素を始動することができる前に、それぞれのコンポーネントまたは要素の、整合性を測定することまたは信頼性状態を検証することを含むことができる。例えば測定された整合性値を信頼済み参照値などの予め定められた参照指標と比較し、測定された整合性値が予め定められた参照指標と適合するか否かを判定することができる。実施形態の一例においては、例えば特定のハッシュ・アルゴリズムを使用してコンポーネントに関してハッシュを計算することによって、そのコンポーネントに関する予め定められた参照指標が獲得されている場合がある。安全な立ち上げ処理の間にそのコンポーネントの整合性を確実にするために、その後にその同一のハッシュ・アルゴリズムをデバイスが採用し、そのコンポーネントに関して再びハッシュを計算することができる。新しいハッシュは、測定された整合性値を定義する。実施形態の一例によると測定された整合性値が予め定められた参照指標に一致する場合には、コンポーネントの整合性を検証することができ、そしてコンポーネントを始動することができる。あるいはまた、測定された整合性値が予め定められた参照指標に一致しない場合には、コンポーネントの整合性を検証することはできず、そして結果としてコンポーネントを始動することはできない。安全な立ち上げ処理はさらに、信頼済みコンポーネント120を使用して、デバイス100の他のコンポーネント、例えばオペレーティング・システムを安全に始動することを含むことができる。
【0048】
一実施形態においては、その中にコンポーネントを含む信頼済みコンポーネント120が安全なブートなどの安全な立ち上げ処理を介して始動したかもしれない後に、信頼の基盤132は不変的、不動的(irremovable)のままで留まることができる。しかしながら信頼済みコア134がデバイス100の改ざんを検出することができるなら、信頼済みコア134は、それ自体および/または信頼済みコンポーネント120の他のコンポーネントを動作不能にすることができる。
【0049】
図5は、デバイス中の1つまたは複数のコンポーネントと通信状態にある信頼済みコンポーネントの実施形態の一例を例証する。図5に示されるように実施形態の他の例によると、信頼済みコンポーネント120はセキュリティ・アクセス・モニタ140を含むことができる。セキュリティ・アクセス・モニタ140は、信頼済みコンポーネント120中に含むことができるハードウェアおよび/またはソフトウェア・コンポーネント、ならびに信頼済みコンポーネント120の外部であることができるハードウェアおよび/またはソフトウェア・コンポーネントへのゲートウェイであることができる。
【0050】
実施形態の一例によるとセキュリティ・アクセス・モニタ140は、連鎖型の(chain based)および/または実時間の整合性検証を提供することに関与することができるMMU(Memory Management Unit:メモリ管理ユニット)と同様であることができる。セキュリティ・アクセス・モニタ140はさらに、メモリへのアクセスを許容または拒絶することができ、DMA(Direct Memory Access:ダイレクト・メモリ・アクセス)へのアクセスを許容または拒絶することができ、周辺機器へのアクセスを許容または拒絶することができ、ハードウェアおよびソフトウェアのために使用されるセキュリティ保護機能を定義することができ、信頼済み記憶内容を特定することができ、動的な実時間のアドレス再マッピング(remapping)を提供することができ、かつ/または状態に基づくアクセス管理を提供することができる。一実施形態においてはセキュリティ・アクセス・モニタ140は、メモリ、周辺機器、または同様のものへのアクセスを制御するために使用することができ、ならびに連鎖型のおよび/または実時間の整合性検証の間に使用することができるセキュリティ・アクセス表を含むことができ、これについては以下にさらに詳細に説明されることになる。
【0051】
信頼済みコンポーネント120はまた、ハッシュ関数142を含むことができる。信頼済みコンポーネント120は例えば、コードまたは命令に関して、そのようなコードもしくは命令、コンポーネント、データ、または同様のものが上で説明されたようにアクセス可能になることができる前に、コンポーネント、データ、または同様のものを検証するために実行することができるハッシュ関数142を実行することができる。実施形態の例においては、ハッシュ関数142は、例えばMD5アルゴリズム、およびSHA−1、SHA−256、SHA−512、または他のSHA型アルゴリズムなどのSHA(Secure Hash Algorithm:安全なハッシュ・アルゴリズム)を含む、ハッシュ・アルゴリズムの組み合わせを支援することができる。
【0052】
ハッシュ関数142はまた、セキュリティ・アクセス・モニタ140によって提供されたデータを処理することができ、そしてデータの署名またはハッシュを生成させることができる。一実施形態によると生成された署名またはハッシュは、例えばセキュリティ・アクセス・モニタ140などの信頼済みコンポーネント120のコンポーネント中に格納することができる期待される信頼済み参照指標または値(すなわち事前に計算されたハッシュ)と検証のために比較することができ、これについては以下にさらに詳細に説明することになる。例えば、生成された署名または例えばハッシュ関数142によって提供された結果としてのハッシュ値を、例えば予め定められた参照指標などの参照ハッシュ値または期待される信頼済み参照値と比較することによって、ソフトウェア・コードもしくは命令、コンポーネント、データ、または同様のものの整合性を検証することができる。署名またはハッシュ値が適合しない場合であるなら、ソフトウェア・コードもしくはプログラムもしくは命令、コンポーネント、データ、または同様のものが改ざんされているかも知れない。
【0053】
図5に示されるように、信頼済みコンポーネント120はさらに解読エンジン144および暗号化エンジン146を含むことができる。実施形態の一例によると解読エンジン144は、例えばデバイス100の1つまたは複数のコンポーネントの整合性を検証するために使用することができるコードまたは命令を解読することができる。解読エンジン144はまた、例えばプロセッサ110により使用することができる信頼済みコンポーネント120の外部であることができるコンポーネントなどのデバイスのコンポーネントからのデータ、または例えば安全なメモリ148に格納されたデータを解読することができる。暗号化エンジン146は実施形態の一例においては、安全なメモリ148中に格納することができ、かつ/または信頼済みコンポーネント120の外部であり得る1つまたは複数のコンポーネントに提供することができるコードもしくは命令およびデータに対して、AES(Advanced Encryption Standard)およびDES(Data Encryption Standard)などの1つまたは複数の暗号化アルゴリズムを使用して、暗号化などの秘匿性および整合性保護を提供することができる。
【0054】
信頼済みコンポーネントはさらに、安全な時計150および改ざん検出コンポーネント152を含むことができる。安全な時計150は、安全な時刻準拠プロトコルまたは時限アクセス管理などの、時刻維持(time keeping)機能のために使用することができる実時間時計を提供することができる。安全なタイミング、不適当な機能性、不安全な改ざんの可能性を検証するために、またはプロセッサを、例えばフリーズまたはハングアップから保護するために、安全な時計150をまた使用することができる。
【0055】
実施形態の一例によると改ざん検出コンポーネント152は、デバイス100のコンポーネントについての不安全なまたは権限のないアクセスまたは改ざんを検出し、そして報告することができる。改ざん検出コンポーネント152は例えば、専用ユニットを含むことができる。専用ユニットは、信頼済みコンポーネント120中に含むことができる一連のモジュールを含むことができ、ハードウェアまたはソフトウェアおよびデータについての不安全なアクセスまたは改ざんの可能性を検出し、かつ報告することができる。実施形態の例によると改ざん検出コンポーネント152は、温度測定、時刻整合性測定、電圧測定、鍵保護、または同様のものを含むことができる。
【0056】
図5に示されるように信頼済みコンポーネント120は、鍵生成機構154および乱数生成機構156を含むことができる。実施形態の一例によると鍵生成機構154は、例えば解読エンジン144および/または暗号化エンジン146によって使用され、コードもしくは命令およびデータを解読し、かつ/または暗号化することができるセキュリティ鍵を生成し、かつ/または提供することができる。同様に乱数生成機構156を、例えばデバイス100の1つまたは複数のコンポーネントの認証、および/または例えば鍵生成機構154による鍵の生成の間に使用することができる乱数またはランダム値を生成し、かつ/または提供するために使用することができる。
【0057】
実施形態の一例によると、不安全なハードウェアまたはソフトウェアなどの不安全なコンポーネントからの、ブート・プログラム、立ち上げプログラム、信頼済みチケット・センター・プログラム、暗号化されたユーザ・プログラムおよび/またはデータ、または同様のものを含む安全なコードおよびデータを切り離すために、信頼済みコンポーネント120をまた、使用することができる。例えば、安全なコードおよびデータへのアクセスを切り離すかまたは制御するために、セキュリティ・アクセス・モニタ140を使用することができる。安全な周辺機器およびDMA(Direct Memory Access:ダイレクト・メモリ・アクセス)ブロックへのアクセスを制御するために、セキュリティ・アクセス・モニタ140をまた、使用することができる。
【0058】
図6は、信頼済みコンポーネントに含むことができるセキュリティ・アクセス・モニタおよびセキュリティ・アクセス表の実施形態の一例を例証する。上で説明されたようにセキュリティ・アクセス・モニタ140は例えば、デバイス100の1つまたは複数のコンポーネントの整合性を判定するために使用することができるセキュリティ・アクセス表160を含むことができる。例えば一実施形態においてはセキュリティ・アクセス表160は、期待される信頼済み参照値、またはデバイスの1つまたは複数のコンポーネントに関して計算することができる予め定められたまたは格納されたハッシュ値などの予め定められた参照指標を含むことができる。上で説明されたように一実施形態においては信頼済みコンポーネント120は、コンポーネントに対して生成された署名または測定値を期待される信頼済み参照値または予め定められた参照指標と比較し、その署名または測定値が、期待される値または予め定められた測定基準に一致するか否かを判定することができる。署名または測定値が期待される値または予め定められた測定基準に一致するなら、コンポーネントの整合性を検証することができる。
【0059】
実施形態の一例によると、デバイス100を始動するか、または再ブート(re−boot)することができるときに、セキュリティ・アクセス・モニタ140は、アドレス可能な内容および内部のコンポーネントならびに/または信頼済みコンポーネント120の内容を整合性に関して検証することができる。整合性を検証するとプロセッサ110は、変更することができない頑強なASICハードウェアおよび/またはソフトウェアを含むことができるブートのROM(Read Only Memory:読み出し専用メモリ)コードの実行を開始することができる。実施形態の一例においては、頑強なASICハードウェアおよびソフトウェアは、信頼済みコンポーネント120のための信頼の基盤132を提供することができる。
【0060】
図7は、デバイス100などのデバイスにおいて安全な立ち上げを通してコンポーネントを正当化する方法の実施形態の一例を表現する。図7に示されるようにデバイスの安全な立ち上げは、信頼の連鎖を構築することによって、信頼の基盤132などの信頼の基盤から複数の段階における全機能状態にまで進行することができる。段階1においては、安全なブートなどの安全な立ち上げにおける信頼の基盤132から信頼済みコンポーネント120を構築することができる。例えば、安全なブートを介して信頼済みコンポーネント120の整合性を検証するように信頼の基盤132を構成することができる。段階1において信頼済みコンポーネント120の整合性を検証することができないなら、信頼の基盤132は第1の方針に従って動作することができる。例えば信頼の基盤132は、デバイス認証を含む暗号動作のために使用することができるデバイス識別子及びそのデバイス識別子に関連付けられた秘密鍵などの認証情報へのアクセスを防止しまたは限定することができ、または、信頼済みコンポーネント120および/またはデバイス100中に格納された他の情報へのアクセスを外部のコンポーネントに対して限定しまたは防止することができる。さらに加えて、段階1において信頼済みコンポーネント120の整合性を検証することができないなら、安全な立ち上げが止まる場合があり、そしてその後の段階においてデバイス100中の他のコンポーネントが検証されない場合がある。
【0061】
あるいはまた、段階1において信頼済みコンポーネント120の整合性を検証することができるなら、信頼の基盤132は、第2の方針に従って動作することができる。例えば、信頼の基盤は信頼済みコンポーネント120に制御を渡すことができる。そして信頼済みコンポーネント120は、安全な立ち上げの段階2を遂行することができる。実施形態の一例によると、段階2において信頼済みコンポーネント120は、デバイス100の動作に不可欠である場合があるさらなるコンポーネントを検証し、ロードし、そして始動することができる。例えば段階2においては信頼済みコンポーネント120は、通信スタック、プロトコル・スタック、および/またはネットワーク通信モジュールの整合性を検証することができる。信頼済みコンポーネント120は次に、検証された整合性を有することができる通信スタック、プロトコル・スタック、および/またはネットワーク通信モジュールなどのコンポーネントのそれぞれを、ロードし、そして始動することができる。実施形態の一例によると段階2において、通信スタック、プロトコル・スタック、および/またはネットワーク通信モジュールの整合性を検証することができないなら、デバイス100は、第1の方針および/または定義することができる他の任意の適切な方針に従って動作することができる。
【0062】
段階2において基本的コンポーネントの整合性を検証することができるなら、信頼済みコンポーネント120は次に、安全な立ち上げの段階3を遂行することができる。実施形態の一例によると段階3において、信頼済みコンポーネント120はさらなるコンポーネントを検証し、ロードし、そして始動することができる。例えば段階3においては信頼済みコンポーネント120は、アプリケーション、オペレーティング・システム・コンポーネント、他のハードウェア・コンポーネント、または同様のものの整合性を検証することができる。信頼済みコンポーネント120は次に、検証された整合性を有することができるアプリケーション、オペレーティング・システム・コンポーネント、他のハードウェア・コンポーネント、または同様のものなどのコンポーネントのそれぞれをロードし、そして始動することができる。実施形態の一例によると段階3において1つまたは複数のコンポーネントの整合性を検証することができないなら、デバイス100は、第1の方針および/または定義することができる他の任意の適切な方針に従って動作することができる。
【0063】
図7に示されるように実施形態の一例によると信頼済みコンポーネント120が、コンポーネントを、それぞれのコンポーネントの測定値またはハッシュなどの値145を取得し、そしてデバイス100中に格納することができる期待されるまたは予め定められた信頼済み参照値または測定値147とそのような測定値または値を検証エンジン149を介して比較することにより、検証することができる。実施形態の一例によると、期待されるまた予め定められた信頼済み参照値または測定値147を、デバイス100中にダイジェストしそして格納することができる証明書中に、安全に設定しまたは供給することができる。コンポーネントの測定値または値が、期待されるまたは予め定められた信頼済み参照値もしくは測定値、またはコンポーネントに関連付けられた証明書に一致するなら、コンポーネントの整合性を検証することができる。しかしながらコンポーネントの測定値または値が期待されるまたは予め定められた測定値またはコンポーネントに関連付けられた証明書に一致しないなら、コンポーネントの整合性を検証することはできない。
【0064】
図8は、デバイス100の自動正当化の実施形態の一例を例証する。一実施形態によるとデバイス100の立ち上げの間に、デバイス100の自動正当化を実行するか、または遂行することができる。デバイス100は例えば上で説明されたように、直接的に測定値を評価し、デバイス100の1つまたは複数のコンポーネントの整合性を検証することができ、その結果、検証することができないコンポーネントを始動することはできない。一実施形態によると上で説明されたように、デバイス100中の1つまたは複数のコンポーネントの整合性を検証することができない場合には、安全なデータ、安全な機能、または同様のものへのアクセスを防止することもまたできる。さらに加えて、デバイス100の1つまたは複数のコンポーネントの整合性を検証することができなかった場合には、デバイス100をネットワーク104により認証することはできず、その結果、デバイス100がネットワーク104に接続することを防止することができ、またはそのデバイスをネットワークにより認証するために使用することができる認証情報を信頼済みコンポーネントがリリースすることができない。
【0065】
図9は、デバイス100の自動正当化のための方法300の一例のフロー図を表現する。図9に示されるように、305にて例えば信頼の基盤132が上で説明されたように信頼済みコンポーネント120の整合性を検証することができる。実施形態の一例によると、信頼の基盤132が起動することができる段階的な安全なブートの一部として信頼済みコンポーネント120の整合性を検証することができる。
【0066】
次に310にて、信頼済みコンポーネント120の整合性を検証することができるか否かに関して判定をすることができる。例えば上で説明されたように、信頼の基盤132は測定値を評価し、例えば信頼の基盤132中に格納することができる信頼済みコンポーネント120に関連付けられた信頼済み参照値と信頼済みコンポーネント120の測定値を比較することによって、コンポーネント120の整合性を検証することができる。実施形態の一例によると、信頼の基盤132により起動することができる段階的な安全なブートの一部として判定を為すことができる。
【0067】
信頼済みコンポーネント120の整合性を検証することができない場合には315にて、第1の方針に従ってデバイス100は動作することができる。第1の方針は例えば、信頼済みコンポーネント120中に含まれる情報へのアクセスを限定しそして/または防止することができる。したがって一実施形態においては、信頼済みコンポーネントの整合性を検証することができない場合には、例えばネットワーク104によりデバイス100を認証するために使用する場合がある情報へのアクセスを防止することができる。
【0068】
信頼済みコンポーネント120の整合性を検証することができる場合には320にて、デバイス100は第2の方針に従って動作することができる。上で説明されたように例えば、信頼済みコンポーネント120の整合性を検証することができる場合には、信頼の基盤132は信頼済みコンポーネント120に制御を渡し、第2の方針により定義されるようにデバイス100中の他のコンポーネントを検証することができる。このようにして、例えばネットワークなどの外部の通信エンティティによりそれ自体を認証するなど、デバイスが意図したように動作することを許容され、デバイスが外部の通信エンティティと通信することを可能にすることができる。
【0069】
図10〜図11は、デバイス100の遠隔正当化の実施形態の一例を例証する。例えばデバイス100は、例えばネットワーク104のセキュリティ・ゲートウェイ106への初期接続を確立することができる。一実施形態によるとデバイス100は、デバイス100中に含まれる1つまたは複数のコンポーネントに関連付けられた測定値をセキュリティ・ゲートウェイ106への接続を介してネットワーク104に提供することができる。
【0070】
次に例えばPVE105を使用するネットワーク104は、上で説明されたように例えば信頼済み参照値などの予め定められた参照指標に対して受信された測定値を比較することによって、予め定められた参照指標に対して受信された測定値を評価し、デバイス100中の1つまたは複数のコンポーネントの整合性をその比較に基づいて検証することができないかを含む、1つまたは複数の例外に遭遇する場合があるか否かを判定することができる。一実施形態において、1つまたは複数の例外に遭遇する場合であるなら、ネットワーク104はデバイス100へのアクセスを拒絶することができる。別の実施形態によると1つまたは複数の例外に遭遇している場合であるなら、ネットワーク104はデバイス100に、限定されたネットワーク・アクセスまたは隔離されたアクセス(quarantined access)を許可することができる。ネットワーク104はさらに、例外の1つまたは複数が、デバイスの基本的機能に重大な影響を及ぼさないコンポーネントである非コア(non−core)・コンポーネントに関連するエラーである場合であるなら、1つまたは複数の修復策を実行するためにデバイス100に要求を供給することができる。デバイス100は例えば、修復的要求に対応して予め定められた状態に戻ることができる。
【0071】
図12は、デバイス100の遠隔正当化のための方法400の一例のフロー図を表現する。図12に示されるように405にて、上で説明されたように信頼済みコンポーネント120の整合性を信頼の基盤が検証することができる。
【0072】
次に410にて、信頼済みコンポーネント120がデバイス100の他のコンポーネントに対してハッシュ計算などの整合性測定値を生成することができる。
【0073】
デバイス100をネットワーク104により正当化するために415にて、例えば信頼済みコンポーネント120が、ネットワーク104に整合性測定値を提供することができる。上で説明されたように例えばPVE105を使用するネットワーク104が、次に例えば上で説明されたように例えば受信された測定値を予め定められた参照指標と比較することによって、予め定められた参照指標に対して受信された測定値を評価し、デバイス100中の1つまたは複数のコンポーネントの整合性をその比較に基づいて検証することができないかを含む、1つまたは複数の例外に遭遇する場合があるか否かを判定することができる。
【0074】
図13は、半自動正当化の実施形態の一例を例証する。デバイス100は例えば、上で説明されたように信用状態の測定値を評価することができ、そして測定値の評価の結果を格納することができる。デバイス100は次に、例えばネットワーク104のセキュリティ・ゲートウェイ106への初期接続を確立することができる。一実施形態によるとデバイス100は、評価の結果をセキュリティ・ゲートウェイ106との接続を介してネットワーク104に提供することができる。デバイス100はまた、測定値の部分集合をネットワーク104にセキュリティ・ゲートウェイ106との接続を介して提供することができる。さらに加えて、実施形態の一例によるとデバイス100は、ネットワーク104からの要求に対応して測定値を評価し、そして提供することができる。
【0075】
ネットワーク104は次に、デバイス100中の1つまたは複数のコンポーネントの整合性測定結果に基づき、詳細に設定された(fine grained)アクセス制御の判定を行うことができる。ネットワーク104は例えば、次に例えばPVE105を使用してデバイス100中の1つまたは複数のコンポーネントの整合性を検証することができなかったか否かなどの評価の間に、1つまたは複数の例外を判定することができる。一実施形態においては、1つまたは複数の例外に遭遇している場合であるなら、ネットワーク104はデバイス100へのアクセスを拒絶することができる。別の実施形態によると、1つまたは複数の例外に遭遇している場合であるなら、ネットワーク104はデバイス100に、限定されたネットワーク・アクセスまたは隔離された(quarantined)アクセスを許可することができる。ネットワーク104はさらに、不適合の1つまたは複数が、非コア・コンポーネント検証エラーである場合であるなら、1つまたは複数の修復策を実行するためにデバイス100に要求を供給することができる。デバイス100は例えば、修復的要求に対応して予め定められた状態に戻ることができる。
【0076】
様々な図についての好適実施形態に関連して様々な実施形態を説明してきたが、それから逸脱することなく、様々な実施形態の同一の機能を遂行させるために、他の同様の実施形態を使用することができ、または説明された実施形態への修正および追加を為すことができることを理解されたい。したがって、実施形態を何れかの唯一の実施形態に限定するべきではなく、むしろ幅および範囲において添付された請求の範囲に従って解釈するべきである。
【0077】
さらに加えてここに説明された様々な技法は、ハードウェアもしくはソフトウェアにまたは適当な場合には両方の組み合わせに関連して実施することができることを理解するべきである。したがって、ここに説明された主題の方法および装置、またはそのある態様または部分は、フロッピー・ディスク、CD−ROM、ハード・ドライブ、または他の任意の機械読取り可能な記憶装置媒体などの、具体的な媒体中に具現化された、プログラム符号(すなわち命令)の形体を取ることができ、ここでプログラム符号がコンピュータなどの機械によってロードされそして実行されると、その機械はここに説明された主題を実施するための装置となる。プログラム符号が媒体上に格納される場合には、対象の動きを集合的に遂行する1つまたは複数の媒体上に対象のプログラム符号が格納されることになる場合があるが、しかし1つまたは複数の媒体が全体としてその動きを遂行するためのプログラムを含むが、−単一の媒体より多い媒体がある場合に、−何れかの特定のプログラムの部分が何れかの特定の媒体上に格納されるべきという要件は全くない。プログラマブル・コンピュータ・デバイス上でのプログラム符号実行(そのプログラム符号は、デバイス中に予め格納するか、またはOMA DMもしくはTR069などの遠隔デバイス管理プロトコルを通してデバイスに安全に通信することができる)の場合には、コンピュータ・デバイスは一般に、プロセッサ、プロセッサにより読出し可能な記憶媒体(揮発性および非揮発性のメモリおよび/または記憶要素を含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含む。1つまたは複数のプログラムは、例えばAPI、再利用可能な制御、または同様なものの使用により、ここに説明された主題に関連して説明された処理を実施または利用することができる。そのようなプログラムは、望ましくは高水準手続き型またはオブジェクト指向プログラム言語にて実施され、コンピュータ・システムと通信する。しかしながら必要であるなら、アセンブラまたは機械語にてプログラムを実施することが可能である。何れの場合においても言語は、コンパイル型(compiled)またはインタープリター型(interpreted)の言語であり、そしてハードウェア実施方法と結合することができる。

【特許請求の範囲】
【請求項1】
外部の通信エンティティにより認証される能力のあるデバイスであって、
前記デバイスの他のコンポーネントの整合性を検証するように構成された信頼済みコンポーネントと、
1組の不変的ハードウェア・リソースを具備する信頼の基盤であって、前記信頼の基盤は前記信頼済みコンポーネントの整合性を検証するように構成され、前記デバイスは、前記信頼済みコンポーネントの前記整合性が前記信頼の基盤によって検証されない場合、第1の方針に従って動作し、前記信頼済みコンポーネントの前記整合性が前記信頼の基盤によって検証される場合、第2の方針に従って動作する、信頼の基盤と
を具備することを特徴とするデバイス。
【請求項2】
前記信頼の基盤は、安全な段階的ブートを介して前記信頼済みコンポーネントの前記整合性を検証するように構成されることを特徴とする請求項1に記載のデバイス。
【請求項3】
前記信頼済みコンポーネントは、前記外部の通信エンティティにより前記デバイスを認証するための認証情報を含む安全な記憶装置をさらに具備し、前記信頼済みコンポーネントの前記整合性が前記信頼の基盤によって検証されない場合、前記第1の方針は前記認証情報へのアクセスを防止することを含むことを特徴とする請求項1に記載のデバイス。
【請求項4】
前記信頼の基盤は、前記信頼済みコンポーネントに関連付けられた信頼済み参照値を安全に格納することを特徴とする請求項3に記載のデバイス。
【請求項5】
前記信頼の基盤は、前記信頼済みコンポーネントの測定値を前記信頼済みコンポーネントに関連付けられた前記信頼済み参照値と比較するように構成され、前記信頼済みコンポーネントの前記測定値が前記信頼済みコンポーネントに関連付けられた前記信頼済み参照値に一致する場合、前記信頼済みコンポーネントの前記整合性が検証されることを特徴とする請求項4に記載のデバイス。
【請求項6】
他のコンポーネントをさらに具備し、前記信頼済みコンポーネントの前記整合性が前記信頼の基盤によって検証される場合、前記信頼済みコンポーネントは、前記他のコンポーネントの整合性を検証するようにさらに構成されることを特徴とする請求項4に記載のデバイス。
【請求項7】
信頼済みモードにおける動作の間、前記他のコンポーネントは前記デバイスによって使用されることを特徴とする請求項6に記載のデバイス。
【請求項8】
前記安全な記憶装置は、前記他のコンポーネントに関連付けられた信頼済み参照値をさらに格納することを特徴とする請求項6に記載のデバイス。
【請求項9】
前記信頼済みコンポーネントは、前記安全な記憶装置に格納された前記他のコンポーネントに関連付けられた前記信頼済み参照値と前記他のコンポーネントの測定値とを比較するように構成され、前記他のコンポーネントの前記測定値が前記他のコンポーネントに関連付けられた前記信頼済み参照値に一致する場合、前記他のコンポーネントの前記整合性は検証されることを特徴とする請求項8に記載のデバイス。
【請求項10】
前記信頼の基盤が、それに関連付けられた証明書を具備し、前記証明書は、第三者機関による前記信頼の基盤の整合性の検証を反映することを特徴とする請求項1に記載のデバイス。
【請求項11】
外部の通信エンティティにより認証される能力のあるデバイス中の1つまたは複数のコンポーネントを正当化するための方法であって、前記デバイスは、1組の不変的ハードウェア・リソースを有する信頼の基盤を具備し、前記方法は、
前記信頼の基盤により、信頼済みコンポーネントの整合性を検証するステップと、
前記信頼済みコンポーネントの前記整合性が検証されるかを判定するステップと、
前記信頼済みコンポーネントの前記整合性が検証されない場合、第1の方針に従って前記デバイスを動作させるステップと、
前記信頼済みコンポーネントの前記整合性が検証される場合、第2の方針に従って前記デバイスを動作させるステップと
を具備することを特徴とする方法。
【請求項12】
前記信頼済みコンポーネントの前記整合性が検証されない場合に、第1の方針に従って動作させるステップが、前記信頼済みコンポーネントの前記整合性が検証されない場合、前記外部の通信エンティティにより前記デバイスを認証するために必要となる情報へのアクセスを防止するステップを含むことを特徴とする請求項11に記載の方法。
【請求項13】
前記信頼の基盤により前記信頼済みコンポーネントの前記整合性を検証するステップが、前記信頼の基盤により、それに基づいて前記信頼済みコンポーネントがロードされそして実行される、安全な段階的ブートを起動するステップを含み、前記信頼済みコンポーネントの前記整合性は、前記安全な段階的ブートの一部として検証されることを特徴とする請求項11に記載の方法。
【請求項14】
前記信頼済みコンポーネントの前記整合性が検証されるかを判定するステップが、前記信頼済みコンポーネントの測定値を前記信頼済みコンポーネントに関連付けられた参照値と比較するステップを含み、前記信頼済みコンポーネントの前記測定値が前記信頼済みコンポーネントに関連付けられた前記信頼済み参照値に一致する場合に、前記信頼済みコンポーネントの前記整合性が検証されることを特徴とする請求項11に記載の方法。
【請求項15】
他のコンポーネントの整合性が検証されるかを、前記信頼済みコンポーネントの一部として判定するステップをさらに具備することを特徴とする請求項11に記載の方法。
【請求項16】
前記他のコンポーネントの前記整合性が検証されるかを前記信頼済みコンポーネントの一部として判定するステップが、前記他のコンポーネントの測定値を前記他のコンポーネントに関連付けられた参照値と比較するステップを含み、前記他のコンポーネントの前記測定値が前記他のコンポーネントに関連付けられた前記信頼済み参照値に一致した場合に、前記他のコンポーネントの前記整合性が検証されることを特徴とする請求項15に記載の方法。
【請求項17】
外部の通信エンティティにより認証される能力のあるデバイスであって、
前記デバイスの他のコンポーネントの整合性測定値を生成し、かつ収集するように構成された信頼済みコンポーネントと;
少なくとも1つのプロセッサを含む1組の不変的ハードウェア・リソースを具備する信頼の基盤であって、前記信頼の基盤は、前記信頼済みコンポーネントの前記整合性を検証するように構成され、前記信頼の基盤によって検証された前記信頼済みコンポーネントが、外部の通信エンティティによる前記デバイスの正当化のために、前記整合性測定値を前記外部の通信エンティティに提供するようにさらに構成される、信頼の基盤と
を具備することを特徴とするデバイス。
【請求項18】
前記信頼の基盤がそれに関連付けられた証明書を具備し、前記証明書が、第三者機関による前記信頼の基盤の整合性の検証を反映することを特徴とする請求項17に記載のデバイス。
【請求項19】
前記整合性測定値が前記外部の通信エンティティによって期待された測定値に一致しない場合、前記外部の通信エンティティは、前記デバイスへの少なくとも何らかのアクセスを限定するように構成されることを特徴とする請求項17に記載の方法。
【請求項20】
外部の通信エンティティにより認証される能力のあるデバイス中の1つまたは複数のコンポーネントを正当化するための方法であって、
信頼の基盤により、信頼済みコンポーネントの整合性を検証するステップと、
信頼の基盤により、デバイスに含まれる他のコンポーネントの整合性測定値を生成するステップと、
前記外部の通信エンティティによる前記デバイスの正当化のために前記外部の通信エンティティに前記整合性測定値を提供するステップと
を具備することを特徴とする方法。
【請求項21】
前記整合性測定値が前記外部の通信エンティティによって期待された測定値に適合しない場合、前記外部の通信エンティティは、前記デバイスへの少なくとも何らかのアクセスを限定するように構成されることを特徴とする請求項20に記載の方法。
【請求項22】
検証可能なデバイスを構築する方法であって、
信頼済みコンポーネントを受信するステップと、
保証されたコードおよび信頼済み参照値を受信するステップと、
デバイスを生成するステップであって、前記デバイスが、前記信頼済みコンポーネント、ならびに前記保証されたコードおよび信頼済み参照値を含む、ステップと
を具備することを特徴とする方法。
【請求項23】
前記信頼済みコンポーネントが、それに関連付けられたデジタル証明書を含むことを特徴とする請求項22に記載の方法。
【請求項24】
前記保証されたコードが、それに関連付けられたデジタル証明書を含むことを特徴とする請求項22に記載の方法。
【請求項25】
前記信頼済みコンポーネントおよび前記保証されたコードが、第三者機関によって保証されることを特徴とする請求項22に記載の方法。
【請求項26】
前記信頼済みコンポーネントが、1組の不変的ハードウェア・リソースを有する信頼の基盤を具備することを特徴とする請求項22に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公表番号】特表2012−524479(P2012−524479A)
【公表日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2012−506218(P2012−506218)
【出願日】平成22年4月15日(2010.4.15)
【国際出願番号】PCT/US2010/031226
【国際公開番号】WO2010/121020
【国際公開日】平成22年10月21日(2010.10.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.フロッピー
【出願人】(510030995)インターデイジタル パテント ホールディングス インコーポレイテッド (229)
【Fターム(参考)】