JP2013524385A - ブートプロセスでのリリースの段階化された制御 - Google Patents

ブートプロセスでのリリースの段階化された制御 Download PDF

Info

Publication number
JP2013524385A
JP2013524385A JP2013505036A JP2013505036A JP2013524385A JP 2013524385 A JP2013524385 A JP 2013524385A JP 2013505036 A JP2013505036 A JP 2013505036A JP 2013505036 A JP2013505036 A JP 2013505036A JP 2013524385 A JP2013524385 A JP 2013524385A
Authority
JP
Japan
Prior art keywords
key
hardware module
authentication
code
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013505036A
Other languages
English (en)
Other versions
JP5647332B2 (ja
Inventor
チャ インヒョク
シー.シャー ヨゲンドラ
ケース ローレンス
Original Assignee
インターデイジタル パテント ホールディングス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インターデイジタル パテント ホールディングス インコーポレイテッド filed Critical インターデイジタル パテント ホールディングス インコーポレイテッド
Publication of JP2013524385A publication Critical patent/JP2013524385A/ja
Application granted granted Critical
Publication of JP5647332B2 publication Critical patent/JP5647332B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/042Public Land Mobile systems, e.g. cellular systems
    • H04W84/045Public Land Mobile systems, e.g. cellular systems using private Base Stations, e.g. femto Base Stations, home Node B

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

ネットワークデバイスの完全性妥当性検査を実行することができる。セキュアハードウェアモジュールを含むネットワークデバイスは、ルート鍵を受信することができる。セキュアハードウェアモジュールは、第1のコード測定を受信することもできる。セキュアハードウェアモジュールは、ルート鍵および第1のコード測定に基づいて第1の鍵を提供することができる。セキュアハードウェアモジュールは、第2のコード測定を受信し、第1の鍵および第2のコード測定に基づいて第2の鍵を提供することができる。コード測定に基づく鍵のリリースは、段階的な認証を提供することができる。

Description

本願発明は、ブートプロセスでのリリースの段階化された制御に関する。
関連出願の相互参照
本願は、その内容全体がこれによって参照によって組み込まれている、2010年4月12日に出願した米国特許仮出願第61/323248号明細書および2010年6月22日に出願した米国特許仮出願第61/357474号明細書に基づき、これらに対する優先権を主張するものである。
伝統的なセキュリティ方法は、リセットからセキュアブートが成功していることに基づいて、認証に使用される単一の鍵などのリソースのリリースに対するバイナリ判断を可能にすることができる。リセットからのブートが成功しないときに問題が生じる可能性がある。
ネットワークデバイスの完全性妥当性検査を実行するシステム、方法、および手段を開示する。ネットワークデバイスは、セキュアメモリを含むことができる。たとえば、セキュアメモリを、セキュアハードウェアモジュール内に含めることができる。セキュアメモリは、ルート鍵を受信することができる。たとえば、ルート鍵を、製造の時またはプロビジョニングの時にセキュアメモリによって受信することができる。ルート鍵を、セキュアメモリに格納することができ、ルート鍵は、セキュアハードウェアモジュールの外部のソフトウェアまたはハードウェアから不可視とすることができる。
セキュアハードウェアモジュールは、第1のコード測定(第1のコードの測定)を受信することができる。たとえば、セキュアハードウェアモジュールを含むネットワークデバイスに関連するプロセッサなどのプロセッサは、測定すべきコードの第1の部分を選択することができる。コードの第1の部分を、ネットワークデバイスに関連するメモリ、たとえばROMメモリ、RAMメモリなどに格納することができる。プロセッサは、コードの選択された第1の部分を測定し、第1のコード測定をもたらすことができる。プロセッサは、測定をセキュアハードウェアモジュールに提供することができる。
セキュアハードウェアモジュールは、ルート鍵および第1のコード測定に基づいて第1の鍵を生成することができる。たとえば、セキュアハードウェアモジュールは、第1の鍵を導出するかリリースすることができる。生成された第1の鍵は、第1のコード測定が有効であるときに有効であり、第1のコード測定が無効であるときに無効である。たとえば、セキュアハードウェアモジュールは、部分的に第1のコード測定に基づいて第1の鍵を導出することができる。第1のコード測定が無効である場合には、導出された第1の鍵も無効である。生成された第1の鍵を、リソースへのアクセスを提供するためにセキュアハードウェアモジュールによって生成することができる。コードがセキュアメモリに格納されるときに、リソースへのアクセスを、コード測定なしで提供することができる。
第1の鍵は、第1の機能に関連する信頼の第1のステージに関係することができる(たとえば、1つまたは複数のリソースを、第1の機能に関連付けることができる)。さらに、第1のステークホルダは、第1の機能にアクセスするために有効な第1の鍵を使用することができる。第1の鍵が有効ではない場合には、第1のステークホルダは、第1の機能にアクセスすることができない。すなわち、セキュアハードウェアモジュールは、第1のコード測定が無効であるときに第1の機能へのアクセスを防ぐことができる。
セキュアハードウェアモジュールは、第2のコード測定(第2のコードの測定)を受信することができる。セキュアハードウェアモジュールは、第1の鍵および第2のコード測定に基づいて第2の鍵を生成することができる。第2の鍵は、第2の機能に関連する信頼の第2のステージに関係することができる(たとえば、1つまたは複数のリソースを第2の機能に関連付けることができる)。さらに、第2のステークホルダは、第2の機能にアクセスするために有効な第2の鍵を使用することができる。鍵のリリースを、最後の既知のよいブートステージ(たとえば、それに関して成功の認証があった最後の既知のブートステージ)に制限することができる。
ハードウェア、コード、および/またはデータの完全性測定に基づく鍵および機能性などのリソースの生成および/またはリリースは、段階的な認証を提供することができる。たとえば、デバイスは、複数のレイヤを含むことができ、各レイヤは、それ自体の認証秘密を有する。各認証秘密は、製造業者ファームウェア、信頼された実行コード、オペレーティングシステム、およびサードパーティアプリケーションなどのデバイス能力のレイヤ内の特定のステークホルダに対応することができる。さらなる例として、有効な第1の鍵を、第1のブートステージに対する有効な認証に関連付けることができる。有効な第1の鍵を、ファームウェアに対する修正(remediation)を実行するためにネットワークデバイス上のファームウェアにアクセスするのに、デバイス製造業者(たとえば、第1のステークホルダ)によって使用することができる。有効な第2の鍵を、より後のブートステージ(たとえば、中間ブートステージ)中の1つまたは複数のソフトウェアコンポーネントの有効な認証に関連付けることができる。有効な第2の鍵を、ソフトウェアコンポーネントにアクセスするのに、たとえばソフトウェアに対する修正を実行するのに、デバイスマネージャ(たとえば、第2のステークホルダ)によって使用することができる。成功裏に認証されたステージの有効な鍵を提供することによって、アクセスを、認証に失敗しなかった最後のステージに相応して許可することができる。
開示されるマルチステージ認証のステージ数は、変更することができ、限定されない。さらに、複数の認証経路を提供することができる。すなわち、認証は、完全性検査の所与のステージで異なる形で分岐することができる。たとえば、各ステークホルダは、認証の1つまたは複数のステージに関係する1つまたは複数のポリシを提供することができる。各ステージでは、認証は、ステークホルダポリシに基づいて異なる形で分岐することができる。ステークホルダは、そのポリシを外部から管理できるものとすることができる。
より詳細な理解を、添付図面に関連して例として与えられる次の説明から得ることができる。
例のLTE(Long Term Evolution)無線通信システムを示す図である。 LTE無線通信システムの例を示すブロック図である。 デバイス妥当性検査とデバイス認証との間のバインディングを有する例のデバイスを示す図である。 共通のTrE(trusted environment)を使用する完全性検査と認証との物理バインディングの例を示す図である。 妥当性検査と事前に共有される秘密ベースのデバイス認証との間のバインディングの例を示す図である。 妥当性検査および事前に共有される鍵ベースの認証の例を示す図である。 TrEが条件付きアクセスを許可することに起因するバインディングの例を示す図である。 妥当性検査と証明書ベースのデバイス認証との間のバインディングの例を示す図である。 妥当性検査および証明書ベースの認証のバインディングの例を示す図である。 TrEが条件付きアクセスを許可することに起因するバインディングの例を示す図である。 ゲーティング機能を使用するバインディングの例を示す図である。 例示的なブートプロセスに関係する複数のステージでの認証の例を示す図である。 開示されるシステムおよび方法の実施形態を実施できる例示的なチップを示す図である。 開示されるシステムおよび方法の実施形態を実施できる例示的なチップを示す図である。 開示されるシステムおよび方法の実施形態を実施できる例示的なチップを示す図である。 例示的な鍵導出機能を示す図である。 署名する機構を含む例示的な鍵導出の詳細を示す図である。 例示的なマルチステージ鍵導出の詳細を示す図である。 例示的なブートするシーケンスを示す図である。 例示的なブートシーケンスフローを示す図である。 マルチステージ認証に関係する例示的なネットワーク通信を示す図である。 例示的なスタートアップおよびポストスタートアップ構成手順を示す図である。 開示されるシステムおよび方法を実施できる例示的なチップを示す図である。 完全性検査プロセスをUE通信に拡張する例を示す図である。
図面は、開示されるシステム、方法、および手段を実施できる例示的実施形態に関係する場合がある。しかし、本発明を、例示的実施形態に関連して説明する場合があるが、本発明は、これに限定されず、他の実施形態を使用することができることまたは本発明から逸脱せずに本発明の同一の機能を実行するために説明される実施形態に対して変更および追加を行えることを理解されたい。開示されるシステムおよび方法の一部は、セキュア複数ステージ認証を提供することができる。無線デバイスおよびネットワークを参照して全体的に説明されるが、開示されるシステム、方法、および手段は、そのような応用例に限定されず、開示される認証を実施できるものとすることができる任意の適当なデバイス、ネットワーク、および/またはシステムに適用可能である可能性がある。さらに、次の開示は、ブートステージアクティビティに関連する複数ステージ認証を説明する場合がある。しかし、その説明は、例示のためであり、開示されるシステム、方法、および手段は、ブートステージ実施態様に限定されない。複数ステージ認証を、任意の適当なマルチステージプロセスでの実施態様に幅広く適用可能とすることができる。
以降、本明細書で言及するとき、用語「WTRU(無線送受信ユニット)」は、UE(ユーザ機器)、移動局(MS)、AMS(advanced mobile station)、局(STA)、固定のまたはモバイルの加入者ユニット、ページャ、セルラ電話機、PDA(携帯情報端末)、コンピュータ、または無線環境内で動作できる任意の他のタイプのデバイスを含むが、これらに限定されない。用語WTRUおよびUEを、交換可能に使用することができる。以降、本明細書で言及するときに、用語「基地局」は、Node−B、ABS(advanced base station)、サイトコントローラ、アクセスポイント(AP)、HnB(home Node−B)、または無線環境内で動作できる任意の他のタイプのインターフェースするデバイスを含むが、これらに限定されない。用語「WTRU」および「基地局は」、相互に排他的ではない。
図1は、E−UTRAN(Evolved−Universal Terrestrial Radio Access Network)105を含む例のLTE(Long Term Evolution)無線通信システム/アクセスネットワーク100の図である。E−UTRAN 105は、複数のE−UTRAN Node−B(eNB)120、Home eNB(HeNB)122、およびHeNBゲートウェイ(HeNB GW)132を含むことができる。WTRU 110は、eNB 120、HeNB 122、またはこの両方と通信しているものとすることができる。eNB 120は、X2インターフェースを使用してお互いとインターフェースすることができる。eNB 120およびHeNB GW 132のそれぞれは、S1インターフェースを介してMME(Mobility Management Entity)/サービングゲートウェイ(S−GW)130とインターフェースすることができる。HeNB 122は、S1インターフェースを介してHeNB GW 132と、S1インターフェースを介してMME/S−GW 130と、またはこの両方とインターフェースすることができる。単一のWTRU 110、単一のHeNB、および3つのeNB 120が図1に示されているが、無線デバイスおよび有線デバイスの任意の組合せを、無線通信システム/アクセスネットワーク100に含めることができることを了解されたい。
図2は、WTRU 110、eNB 120、およびMME/S−GW 130を含むLTE無線通信システム200の例のブロック図である。eNB 120およびMME/S−GW 130が、単純さのために図示されているが、HeNB 122およびHeNB GW 132の例が、実質的に類似する特徴を含むことができることは明白である。図2に示されているように、WTRU 110、eNB 120、およびMME/S−GW 130を、モバイルから発する省エネルギモードをサポートするように構成することができる。
通常のWTRUに見られる可能性があるコンポーネントに加えて、WTRU 110は、オプションのリンクされたメモリ222を有するプロセッサ216、少なくとも1つのトランシーバ214、オプションのバッテリ220、およびアンテナ218を含むことができる。プロセッサ216を、帯域幅管理を実行するように構成することができる。トランシーバ214は、無線通信の送信および受信を容易にするために、プロセッサ216およびアンテナ218と通信しているものとすることができる。オプションのバッテリ220を、WTRU 110内で使用して、トランシーバ214およびプロセッサ216に電力を与えることができる。
通常のeNBに見られる可能性があるコンポーネントに加えて、eNB 120は、オプションのリンクされたメモリ215を有するプロセッサ217、トランシーバ219、およびアンテナ221を含むことができる。プロセッサ217を、帯域幅管理を実行するように構成することができる。トランシーバ219は、無線通信の送信および受信を容易にするために、プロセッサ217およびアンテナ221と通信しているものとすることができる。eNB 120を、オプションのリンクされたメモリ234を有するプロセッサ233を含むことができるMME/サービングゲートウェイ(Mobility Management Entity/S−GW)130に接続することができる。
図1および2に示されたLTEネットワークは、特定の通信ネットワークの一例にすぎず、他のタイプの通信ネットワークを使用することができる。さまざまな実施形態を、任意の無線通信技術で実施することができる。無線通信技術のいくつかの例のタイプは、WiMAX(Worldwide Interoperability for Microwave Access)、802.xx、GSM(登録商標)(Global System for Mobile communications)、符号分割多元接続(CDMA2000)、UMTS(Universal Mobile Telecommunications System)、または任意の将来の技術を含むが、これに限定されない。
以降、本明細書で言及するとき、用語「マクロセル」は、基地局、eNB(E−UTRAN Node−B)、または無線環境内で動作できる任意の他のタイプのインターフェースするデバイスを含むが、これに限定されない。以降、本明細書で言及するとき、用語法「HNB(Home Node−B)」は、基地局、HeNB(Home evolved Node−B)、フェムトセル、またはClosed Subscriber Group無線環境内で動作できる任意の他のタイプのインターフェースするデバイスを含むが、これに限定されない。
説明のために、さまざまな実施形態を、LTE(Long Term Evolution)の文脈で説明するが、さまざまな実施形態を、任意の無線通信技術で実施することができる。無線通信技術のいくつかの例のタイプは、WiMAX(Worldwide Interoperability for Microwave Access)、802.xx、GSM(Global System for Mobile communications)、符号分割多元接続(CDMA2000)、UMTS(Universal Mobile Telecommunications System)、または任意の将来の技術を含むが、これに限定されない。
用語クライアントおよびデバイスが、同義に使用される場合がある。さらに、用語「データ完全性妥当性検査」、「デバイス妥当性検査」、および「妥当性検査」も、同義に使用される場合がある。妥当性検査を、集合的に通信デバイスまたはコンピューティングデバイスを構成する部分またはコンポーネント全体の完全性を検証するプロセスとすることができる。部分またはコンポーネントを、たとえば、ハードウェア(HW)、ソフトウェア(SW)、ファームウェア(FW)、および/または構成データとすることができる。デバイス認証は、通信デバイスまたはコンピューティングデバイスのアイデンティティがその真正性についてベリファイヤに検証されるプロセスを指すことができる。
H(e)NBの文脈では、デバイス認証の手順または結果へのH(e)NBのデバイス完全性妥当性検査の結果のバインディングなど、手順のバインディングを実行することができる。さまざまな方法を使用して、デバイス妥当性検査およびデバイス認証のバインディングを実行することができる。
デバイス完全性妥当性検査およびデバイス認証に適用されるバインディング方法の例は、3GPP H(e)NBに関するものであるが、これらの方法を、デバイス完全性妥当性検査ならびにデバイス認証に関する要件を有する任意の他の通信デバイスまたはアプリケーションデバイスに適用することができることを理解されたい。
H(e)NBでの通常のデバイス認証手順を、TrE(Trusted Environment)に含まれるAKA証明書の検証に限定することができる。これらの手順は、デバイス認証もしくはデバイス妥当性検査および/またはデバイス認証へのホスティングする当事者認証のバインディングの可能性に対処しない場合がある。
妥当性検査されたデバイスとデバイス認証のプロセスおよび/または結果との間のバインディングを実行することができる。2つのタイプのバインディングを実行することができる。論理的な対応を、デバイス妥当性検査のプロセスで使用されまたはこれによって使用される論理エンティティ(または複数のエンティティまたはプロセスまたはデータ)とデバイス認証のプロセスによって使用される論理エンティティ(または複数のエンティティまたはプロセスまたはデータ)との間で主張でき、検証できる論理バインディング。デバイス妥当性検査プロセスで使用されまたはこれによって使用される特定の物理エンティティ(物理TrEおよび/またはそれが有する特定の秘密もしくは鍵など)が、デバイス認証プロセスで使用されるかこれによって使用されるかのいずれかである物理エンティティ(アプリケーションソフトウェアファイルまたはデータまたは鍵など)に対する直接の対応する関係を有することができる物理バインディング。
図3に、デバイスの機能性として表された2つの異なるタイプのバインディングを示す。両方のケースで、実際のデバイス完全性妥当性検査手順を、信頼されるエンティティ、たとえばデバイスにセキュアに組み込まれるハードウェアベースのセキュア環境によって実行することができる。H(e)NBの文脈では、そのような信頼されるエンティティを、H(e)NBのTrEと称する場合がある。図4は、1)デバイスの完全性検査ならびに2)デバイス認証のクリティカルなまたは機密の機能を実行する共通のTrEを使用するバインディング機構の図である。
図4では、セキュアで信頼されるTrEが、通信デバイスまたはコンピューティングデバイスの内部に常駐することができる。TrEは、次の機能のうちの1つまたは複数を実行することができる。妥当性検査をデバイス上でローカルに実行できる場合のデバイス完全性妥当性検査などのデバイス完全性検査。TrEは、図4のインターフェース(1)と、TrE内でまたはTrEによって格納される妥当性検査の証明書にアクセスし、使用する能力とを含むことができる。TrEは、図4のインターフェース(3)とTrE内でまたはTrEによって格納されるデバイス認証の秘密証明書にアクセスし、使用する能力とを含むセキュア処理を必要とするデバイス認証プロセスの部分を安全にすることができる。他の能力は、セキュリティに敏感な処理を必要とする可能性がある、TrEの外部に常駐するアプリケーションをサポートするためのセキュア処理の実行を含むことができる。これらのアプリケーションは、それ自体の秘密の証明書(図4には図示せず)にアクセスしまたは使用することができる。TrEは、TrEの外部の、デバイスの機能/アプリケーションへのインターフェースを含むことができる。例は、デバイス上でのデバイス認証処理のための図4のインターフェース(2)、および/またはTrE内からのセキュア処理を必要とする可能性がある他の非認証アプリケーションのための図4のインターフェース(5)を含むが、これに限定されない。
さらに、デバイスの非TrE部分は、次のタイプの機能のうちの1つまたは複数を実行することができる。1つの機能を、デバイス認証機能の非セキュア部分とすることができる。もう1つの機能を、TrEにセキュア処理を要求しないアプリケーションに関するものとすることができる。もう1つの機能を、TrEにセキュア処理を要求するアプリケーション(デバイス認証以外)に関するものとすることができる。デバイスの非TrE部分は、デバイス認証に関する図4のインターフェース(4)、デバイスの能力の間のメッセージ交換(d)、および/またはネットワークベースのAAAサーバ(g)を含むインターフェースをサポートすることができる。図4のインターフェース(6)を、デバイスの側のTrE内からのセキュア処理を要求する可能性がある機能に関するメッセージ交換に使用することができる。図4のインターフェース(7)を、デバイスの側のTrE内からのセキュア処理を要求しない可能性がある機能に関するメッセージ交換に使用することができる。デバイス認証に使用される証明書およびデバイス完全性妥当性検査に使用される証明書を、同一でないものとすることができる。しかし、そのような証明書を、お互いにバインドされるように構成することができる。
図4は、H(e)NB内で物理バインディングを使用できるデバイスの例である。たとえば、物理バインディングを、妥当性検査とデバイス認証との両方に関してTrEの使用によって実行することができる。H(e)NB内では、たとえば、TrEを、デバイス妥当性検査に必要なプロセス全体を実行するように設計することができる。これらのプロセスは、少なくとも、プロセスのうちで、デバイス認証に必要なプロセスの最もセキュアなまたは信頼される処理を必要とする可能性がある部分、またはプロセス自体の全体を含むことができる。たとえば、デバイス認証プロトコルが、EAP−AKAなどの事前に共有される鍵ベースの手法を使用するように設計される場合に、AKA証明書を保持するTrEおよびH(e)NBを、さらに、お互いにバインドすることができる。たとえば、H(e)NBは、データをTrEに伝える前に暗号化解除をTrEに制限できるように、デバイス認証に使用されるAKA証明書を計算するのに必要なデータを暗号化することができる。TrEは、このデータを暗号化解除するのに必要な鍵をセキュアに格納することができる。さらに、デバイス妥当性検査に関する情報とデバイス認証に関する情報とを、IKEv2などの共通のセキュリティプロトコルの同一セッション内で組み合わせることによって、さらなるバインディングを得ることができる。この場合に、そのようなバインディングに適切なデバイス妥当性検査を、H(e)NB(およびそのTrE)とネットワークエンティティとの間のある種の相互作用およびメッセージ交換を必要とするようなものとすることができる。
上述したように、論理バインディングは、デバイス妥当性検査および認証に使用できるもう1つのタイプのバインディングである。論理バインディングの例は、デバイス妥当性検査およびデバイス認証のためにデバイスから転送される必要があるメッセージを実行するための、同一のまたは共通の通信プロトコルメッセージの同一のパケット、メッセージ、セッション、または連続するセッションの使用とすることができる。物理バインディング法および論理バインディング法を、お互いと組み合わせて使用することができることに留意されたい。
デバイス妥当性検査を、事前に共有される秘密ベースのクライアント認証にバインドすることができる。
H(e)NBのデバイス妥当性検査を、バインディングの次の物理的機構および/または論理的機構のうちの1つまたは任意の組合せで事前に共有される鍵ベースの認証にバインドするために実行することができる。TrEとH(e)NBの残りとの間のメッセージ交換に暗号鍵および証明書を使用することによってTrE(trusted environment)をH(e)NBに物理的にバインドすることによって、鍵および証明書を、少なくともTrEおよびH(e)NBの内部で保護することができる。これを、デバイス認証に関するTrEとH(e)NBとの間のメッセージ交換に適用することができる。
図5を参照すると、TrEは、最初に、H(e)NBの完全性を検査することができる。成功の場合に、TrEは、図5のリンク(2)に進むことができ、成功ではない場合には、TrEは、リンク(2)に進むことができるのではなく、その代わりに、おそらくはH(e)NBのデバイス認証機能を含む機能性をロックすることができる。H(e)NBの完全性を検査するために、TrEは、TrE内に格納されたデバイス妥当性検査証明書を使用することができる(図5のリンク(1)を参照されたい)。
リンク(2)では、TrEは、鍵対を備えることができ、この鍵対のプライベート部分は、TrEの内部でセキュアに格納され、パブリック部分は、H(e)NBから使用可能にされる。H(e)NBの製造業者は、この鍵対を生成し、パブリックキーをH(e)NBから使用可能にするために必要な証明書を提供することができる。TrEのデバイス妥当性検査機能性は、たとえば、TrEのID、TrEがH(e)NBの残りの完全性を成功して検証したことを示すメッセージ、および/またはTrEがデバイス認証機能を認可し、デバイス認証の手順に進むことを認可され得ることを示す認可データのうちの1つまたは複数をTrEの外部のデバイス認証機能に示すためのメッセージに署名するのにTrEプライベートキー(private key)を使用することができる(たとえば、図5に示されたリンク(2)で)。TrEプライベートキーを、この認可メッセージに署名するのに使用することができる。この認可メッセージは、H(e)NBデバイス上のデバイス認証機能によるTrEのあるセキュア処理能力の使用を認可することができる。
TrEからTrEの外部のデバイス認証機能への署名されたメッセージの転送を、図5のリンク(3)によって描くことができる。H(e)NBは、上のリンク(2)で説明した署名を検証するために必要とする可能性があるTrEパブリックキーを使用することができる。このパブリックキーは、証明書で事前にプロビジョニングされるか、他の形で使用の前にデバイス認証機能から使用可能にされるかのいずれかとすることができる。パブリックキーの使用を、図5の線(4)によって描くことができる。
デバイス認証機能は、TrEがデバイス認証手順に必要である可能性があるセキュリティに敏感な機能を実行するために、TrE内に常駐するデバイス認証のセキュア処理能力を使用することができる。このサービスを要求し、入手するためのこのインターフェースを、図5の線(5)によって描くことができる。デバイス認証のセキュア処理能力は、AAAサーバがH(e)NBデバイスを認証するためにデバイス認証機能がAAAサーバに送信する必要がある可能性があるデータを計算するために、TrE内に事前に格納された秘密のデバイス認証証明書を使用することができる。これを、図5の線(6)で描くことができる。
デバイス認証機能は、AAAサーバがH(e)NBデバイスのアイデンティティを認証できるように、TrEによって提供されるデバイス認証のセキュア処理能力から計算されたデータを含むデータをAAAサーバと交換することに進むことができる。これを、図5の線(7)として描くことができる。この機能を、適切なメッセージ交換プロトコルで実行することができる。たとえば、H(e)NBの場合には、IKEv2プロトコル、TLSプロトコル、TR069プロトコル(アプリケーション層プロトコル)、OMA−DMプロトコルなどのプロトコル、またはHTTPSなどのより上位の層のプロトコルさえ、検討することができる。デバイス認証機能が、それ自体でセキュリティ集中型機能を実行することができることに留意されたい。
妥当性検査およびデバイス認証を、H(e)NBおよびTrEに集合的に同一パケットまたは同一メッセージを使用してデバイス妥当性検査の手順および認証の手順の指定された部分を実行させることによってバインドすることができる。これを、共通のセキュリティプロトコルの共通の通信セッションまたは連続するセッション(1つまたは複数)で実行することができる。そのようなプロトコルの例は、IKEv2プロトコル、TLS、TR069、OMA−DM、およびHTTPSを含むことができる。プロトコルは、事前に共有される秘密ベースのプロトコル、非対称鍵ベースのプロトコル、対称鍵ベースのプロトコルなどを使用することができる。
図6は、妥当性検査データと認証データの一部とを同一のプロトコル/セッション/メッセージ内で送信できる、そのようなバインディング機構の例である。図6では、線(1)は、TrEの内部のデバイス妥当性検査機能(DVF)が、デバイス妥当性検査証明書を使用して、H(e)NBのコンポーネントの完全性が保たれるか否かを検証するために、必要なデバイス完全性検査を実行することができることを示す。DVFが、デバイス完全性検査および検証に必要ないくつかの機能を実行するために、TrEの暗号能力(TCC)によって提供される機能性を使用することができることに留意されたい。この関係を、図6の破線(A)によって描くことができる。
後のある時に、H(e)NBの内部のデバイス認証機能(DAF)は、それ自体と外部AAAサーバとの間の暗号化および署名のための認証されない共有される鍵をセットアップするためのDiffie−Hellmann(D−H)手順などの手順を実行することができる。線(7−a)によって描かれるこのステップは、デバイス認証の先駆ステップとすることができ、従うべきデバイス認証メッセージプロトコル中に使用される認証されない暗号鍵をセットアップすることができる。DAFが、D−H手順に必要な中間ステップのいくつかを実行するためにTrEの暗号能力(TCC)に頼ることができることに留意されたい。点線(C)は、TCCに暗号サービスを要求し、入手するためにDAFが使用する、DAFとTCCとの間のインターフェースとすることができる。
DAFは、AAAサーバにDev_Auth_Init_Requestメッセージを送信することによってデバイス認証手順を開始することができる。たとえば、IKEv2プロトコルが使用される場合に、このメッセージを、IKE_SA_INIT要求メッセージ上で運ぶことができる。このDev_Auth_Init_Requestメッセージ内に、DAFは、ヘッダ(HDR)、たとえばとりわけセキュリティパラメータインデックス(SPI)をAAAサーバに提案するセキュリティ関連付け(SA)、D−Hプロセスから生成されたサーバのパブリックキーKE_DH、および/またはデバイス自体のID Dev_IDを含めることができる。このステップを、図6の線(7−b)によって描くことができる。
AAAサーバは、デバイスのDAFへのDev_Auth_Init_Response(IKEv2がプロトコルとして使用される場合にはIKE_SA_INIT応答メッセージ)をDAFに送信することができる。このメッセージは、ヘッダ(HDR)、D−Hプロセスから生成されたデバイスのパブリックキーKE_DH、およびサーバ自体のID Svr_IDなどの情報要素を含むことができる。このステップを、図6の線(7−c)によって描くことができる。
DAFは、図6の線(7−d)によって描かれるように、Dev_Auth_Requestメッセージ(IKEv2が選択されたプロトコルである場合にはIKE_AUTH要求メッセージとすることができる)内で、ヘッダ、SA、Dev_ID、構成(CONFIG)、および/またはオプションのサーバ証明書要求(Svr_Cer_REQ)をAAAサーバに送信することができる。ここから、情報要素の一部を、D−Hプロセスから生成された鍵による暗号化および署名によって保護することができることに留意されたい。たとえば、Dev_ID、Session_ID、CONFIG、およびオプションのサーバ証明書要求のすべてを、D−Hプロセスから生成された鍵の使用によって、機密性および完全性のために保護することができる。DAFが、D−H生成された鍵を使用する暗号化および署名を実行するためにTrEの暗号能力(TCC)を使用することができることに留意されたい。この関係を、図6の線(B)によって描くことができる。
AAAサーバは、とりわけ、ヘッダ、Svr_ID、Session_ID、およびオプションでDAFによって要求された場合にサーバ証明書(Svr_Crt)、H(e)NBとAAAとの間で共有される認証秘密(図6ではTrE内に格納されて図示)に基づく認証チャレンジ(Auth−Challenge)などを含むDev_Auth_Responseメッセージ(IKEv2がプロトコルとして使用される場合にはIKE_AUTH応答メッセージになるはずである)をDAFに送信することができる。これを、図6の線(7−e)として描くことができる。
DAFは、とりわけ、ヘッダ、Dev_ID、Session_ID、認証チャレンジレスポンス(AUTH)、および/または妥当性検査データ(Validation_Data)を含むことができるDev_Auth_Requestメッセージ(IKEv2が使用される場合にはもう1つのIKE_AUTH要求メッセージとすることができる)をAAAサーバに送信することができる。これを、図6の線(7−f)によって描くことができる。DAFが、図6の線(3)によって描かれるように、AUTHを計算し、転送するためにTrE内のデバイス認証のセキュア処理能力(SPC_DA)に頼ることができることに留意されたい。SPC_DAが、図6の線(4)によって描かれるように、AUTHを計算するためにTrE内に格納された事前に共有される認証秘密証明書を使用することができることに留意されたい。さらに、SPC_DAは、TrEの暗号能力(TCC)に頼ることができる(点線(C)を参照されたい)。SPCが、AUTHを計算することができることに留意されたい。デバイス妥当性検査機能(DVF)は、図6の線(5)によって表されるようにDAFにValidation_Dataを転送する前に、TrEプライベートキーを使用してValidation_Dataおよび任意の追加の関連する補足データに署名することもできる。DVFとTrEプライベートキーとの間のインターフェースを使用して、妥当性検査データをDAFに転送する前にその妥当性検査データに署名することができ、このインターフェースは、線(2)によって表される。この例では、妥当性検査とデバイス認証(またはデバイス認証のあるセキュリティを必要とする部分)との両方を実行するための共通のTrEおよびそのアセットの使用の物理バインディングに加えて、別の論理バインディング機構を使用することができる。同一のプロトコル、同一のセッション、および同一のメッセージを使用して、デバイス妥当性検査(すなわちValidation_Data)とデバイス認証(すなわち、AUTH)との両方の結果に関する情報要素をデバイスからAAAサーバに送信することができる。
AAAは、(6を参照されたい)の以前のDev_Auth_RequestメッセージからAUTHパラメータおよびValidation_Dataを受信し、その後に評価した後に、AAAサーバが認証を成功として査定するか否かをデバイスのDAFに示すために、Dev_Auth_Responseメッセージを送信することができる。これを、図6の線(7−g)によって描くことができる。
バインディングの機構では、TrEは、アクセスが許可されるように最初に成功して完了したデバイス妥当性検査手順に対して条件付けることができる認証の成功の完了に関する必要な出力を計算するのに必要である可能性がある機密の機能または機密のデータへのアクセスを制御し、DAFまたはSPC_DAにリリースすることができる。このタイプのバインディング機構を、物理的なバインディング機構と論理的なバインディング機構との両方と考えることができる。図7は、そのようなバインディング機能の例の図である。
図7を参照すると、DVFは、TrE内で保持される機能またはデータのいくつかへのアクセスを可能にすることに関して、2タイプのゲーティング手順を実行することができる。ゲーティング手順を、デバイス完全性妥当性検査結果のステータスに依存するものとすることができる。デバイス完全性妥当性検査結果が成功ではない場合には、DVFは、図7の線(A:ゲーティング)によって表されるように、DAFがTrE内のSPC_DAにアクセスするのを防ぐことができる。DVFは、SPC_DAがAAAサーバに向かう成功の認証を実行するのに必要なデバイス認証証明書にアクセスするのを防ぐことができる。これらのタイプのゲーティング機能性は、デバイス妥当性検査とデバイス認証との間の他のタイプの論理バインディングを提供することができる。
デバイス妥当性検査を、証明書ベースのデバイス認証などの認証にバインドすることができる。
H(e)NBのデバイス妥当性検査を、証明書ベースのクライアントにバインドすることができ、認証を、上で説明した機構に似た機構を使用して達成することができる。可能な機構の一部を、下で説明する。図8は、物理バインディングを使用する例の図であり、共通のTrEは、デバイス完全性検査と妥当性検査との両方ならびにデバイス認証に必要な機能の一部またはすべてを実行することができる。これらの機能を、たとえばデバイス証明書に基づくものとすることができる。デバイス認証のセキュア処理能力(SPC_DA)によってデバイス認証に使用される証明書を、デバイス認証のプライベートキー(Kpriv_DA)とすることができ、デバイス認証機能(DAF)が、Kpriv_DAによって計算されるいくつかの他の材料と一緒にデバイス証明書(DevCert)をAAAサーバに送信できることを除いて、手順を、図5について説明したものと同一とすることができる。
図8を参照すると、鍵にアクセスすることおよびSPC_DAとKpriv_DAとの間の関係を使用することを、線(6)に関して示すことができる。証明書にアクセスすることおよびDAFとDevCertとの間の関係を使用することを、線(8)に関して示すことができる。
H(e)NBおよびTrEは、集合的に、IKEv2プロトコルなどの共通のセキュリティプロトコルの同一のパケット、メッセージ、共通の通信セッション、または連続するセッション(1つまたは複数)内で、デバイス妥当性検査の手順および証明書ベースのクライアント認証の手順の指定された部分を実行することができる。効果的に、このバインディング機構のプロセスを、図6について説明した機構に類似するものとすることができる。戻って図6を参照すると、事前に共有される秘密ベースのデバイス認証が使用される場合と比較した差を、次とすることができる。AAAサーバからのAUTHチャレンジおよびTrEが保持する事前に共有される秘密(およびSPC_DAは、計算し、DAFに計算結果に転送するのに使用する)に基づいて機密の中間結果を計算するのではなく、SPC_DAは、AAAサーバからのAUTHチャレンジおよびKpriv_DAに基づいて、AUTHチャレンジから機密の中間結果を計算することができる。AAAサーバは、DAFにデバイス認証証明書(DevCert)を要求することができる。これに応答して、SPC_DAと共に働くDAFは、1)Kpriv_DAを使用して認証応答(AUTH)を、および/または2)DevCertを計算し、AAAサーバに転送することができる。AUTHおよびDevCertを受信したときに、AAAサーバは、まず、DevCertの妥当性を検証することができ、その後、そのDevCertを使用して、AUTHを検証することができる。検証が検査する場合に、検証は、デバイスを認証し終えていることができる。
この差にもかかわらず、論理バインディングに関する限り、論理バインディングを、事前に共有される秘密ベースの認証の場合に類似して実行することができる。たとえば、DAFは、AUTHおよびDevCertをAAAサーバに転送することができ、その同一のメッセージにValidation_Dataを含めることもできる。このValidation_Messageを、TrEの内部のDVFから入手することができ、TrEプライベートキーを使用してDVFによって署名することができる。
図9は、例のバインディング機構の図である。この例では、AAAサーバからデバイスへの認証チャレンジ自体はない。そうではなく、サーバが、デバイスに、その証明書DevCertを送信するように要求(線(7−c)を参照されたい)した後に、デバイスは、線(7−d)に描かれているように、そのDevCertおよびAUTH(Kpriv_DAから計算された)をAAAサーバに送信することができる。AAAサーバは、DevCertに対してAUTHを検証し、認証のステータスの確認を送信することができる(7−e)。
ゲーティングタイプのバインディングを、証明書ベースの認証の例で実施することができる。この例は、事前に共有される秘密ベースの認証の例に類似する。図10は、そのようなバインディング機構の例の図である。図10を参照すると、DVFは、デバイス完全性妥当性検査結果のステータスに応じて、TrE内で保持される機能またはデータの一部へのアクセスを可能にすることに関して2タイプのゲーティング手順を実行することができる。
デバイス完全性妥当性検査結果が成功ではない場合には、DVFは、図10の線(A:ゲーティング)によって表されるように、DAFがTrE内のSPC_DAにアクセスするのを防ぐことができる。あるいは、DVFは、SPC_DAがAAAサーバに向かう成功の認証を実行するのに必要なKpriv_DAにアクセスするのを防ぐことができる。これらのタイプのゲーティング機能性は、デバイス妥当性検査とデバイス認証との間のもう1つのタイプの論理バインディングを提供することができる。
他の本質的なデバイス機能に対するデバイス完全性妥当性検査の一般化されたバインディングを提供することができる。
デバイス完全性妥当性検査とデバイス認証との間のバインディングという概念は、上で説明したように、一般に、デバイス完全性妥当性検査のプロセス、使用される入力データおよび/もしくは中間データ、ならびに/または結果が、認証の手順またはプロセスを「ゲーティングする」ことができることを意味することができる。
バインディングの概念を、バインディングを実施できるデバイスのタイプと、デバイス完全性妥当性検査のプロセスにバインドできるデバイスの機能との両方に関して一般化することができる。最も一般的な意味で、一般に、それ自体でまたは外部エンティティとの相互作用プロセスを実行することによってそれ自体のデバイス完全性を検査し、報告し、かつ/もしくは検証する能力および/またはデバイスの本質的機能と考えることができる少なくとも1つの機能Xを実行する能力を有するデバイスDが存在する場合に、バインディングが実施されると考えることができる。本質的機能を、意図された通りにそれを実行しなければ、デバイスXが通常の有用な意味で動作可能であると考えることができない機能とすることができる。携帯電話機などのデバイスの本質的機能の例は、遭難アラーム(distress alarm)を送信する能力、加入者認証(ネットワークに対する)、デバイス認証、コアアプリケーション、通信スタック実行、ユーザ認証(デバイスに対する)、デバイス管理機能、無線信号の送信もしくは受信、またはデバイス電源および管理機能のうちの1つまたは複数を含むことができる。
バインディングを、デバイス完全性妥当性検査プロセスのデータD_V、手順P_V、または結果R_Vのいずれかが、本質的機能Xの成功の機能に向かってそのようなD_V、P_V、および/またはR_Vの間の一意で偽造またはクローン作成が困難または不可能な関係を示すことができる手順として定義し、実施することができる。前の節で説明した3タイプのバインディング機構を、やはり、適用することができる。暗号手段の共有される存在および使用に起因するバインディング、同一のまたは連続する通信プロトコルパケット、メッセージ、セッション、もしくは複数のセッションの使用に起因するバインディング、および/またはデバイスDの成功の妥当性検査に基づいて条件付けることのできる本質的機能Xの成功の機能に必須とすることができるデータD_Xもしくは手順P_Xへのゲーティングもしくは条件付きアクセスに起因するバインディング。
図11は、第2のタイプのバインディングすなわちゲーティングタイプのバインディングを妥当性検査機能(DVF)とデバイス上の機能(X)との間で使用できる例の図である。TrEは、その中に、機能Xのセキュア手順能力(SPC_X)および機能Xに必要な機密データ(SD_X)を有することができる。DVFは、デバイス上の機能(X)自体ならびに、機能によって必要とされるデバイスの非TrE部分上の任意のデータ(D_X)と、デバイスD内に組み込まれるかデバイスDに接続されたコンポーネント/モジュール上の機能(X_EC)と、ネットワークベースの機能(X_N)およびそれが使用できるデータ(D_X_N)とをゲーティングすることもできる。
図11は、複数のタイプのゲーティング(AからG)を示し、DVFは、デバイス完全性妥当性検査の結果に応じて、A)セキュア処理能力SPC_X、および/またはB)機能SPC_Xのために必要である可能性があるTrEの内部の機密データSD_X、および/またはC)TrEの内部もしくは外部とすることができるデバイスX上の任意の機能、および/またはD)TrEの内部もしくは外部とすることができ、任意の機能Xによって必要とされる可能性があるデバイス上の任意のデータ、および/またはE)デバイス内の組み込まれたコンポーネント(たとえば、SoCなど)もしくはデバイスに接続されたディスクリートコンポーネント(たとえば、UICCなど)のいずれかの上の任意の機能X_EC、および/またはF)外部エンティティによって実行される(たとえば、ネットワークから)任意の機能X_N、および/またはG)任意のそのような外部機能X_Nによって必要とされる任意のデータD_X_Nへのアクセスをゲーティングすることができる。
手順Xの例が、通信機能、たとえば、ラジオおよびベースバンドの送信および受信、デバイス電力管理(オン/オフを含む)、ユーザインターフェース、メディアプロセッサ機能、GPSおよび他のロケーション機能、タイマおよびタイミング同期化機能、WLAN、Bluetooth(登録商標)、およびセルラ通信などの通信機能、ウェブ機能、シングルサインオン、ならびにアイデンティファイフェデレーション(identify federation)および管理機能などの高水準アプリケーション、コーデック機能、ゲーミング機能などの音声および他のメディア機能、加入者認証、デバイス認証、アプリケーションの認可、暗号化/暗号化解除、署名、および署名検証を含む暗号動作、ならびにデバイスの任意の他の機能などの機能を含むことができることに留意されたい。
SPC_Xは、暗号暗号化(暗号化解除)(cryptographic en(de)cryption)、署名生成もしくは検証、乱数生成もしくは使用、タイミング同期化およびタイムスタンピング、メッセージ認証コード生成および検証、暗号鍵生成、導出、もしくは管理(デプリケーション(deprecation)または検疫を含む)、証明書検証、ならびに、TrE、デバイスのユーザ、デバイス自体、またはデバイスの加入者および/もしくは所有者の認証または認可に必要な秘密材料の計算を含むことができるが、これに限定されない。
機能X_ECの例は、データ格納および処理機能、認証機能、鍵生成および使用、暗号化(暗号化解除)、署名生成および検証、構成管理などを含むことができるが、これに限定されない。
機能X_Nの例は、データ格納および処理機能、デバイス管理、プロビジョニング、高水準アプリケーション(ウェブアクセスその他など)などのタスクに関するネットワーク提供アプリケーション、DRM、音声およびマルチメディアサービスおよびゲーミング機能、デバイス管理サービス、通信サービス、シングルサインオンおよびアイデンティティフェデレーションおよび管理などを含むことができるが、これに限定されない。
ゲーティング手順を、カスケードとして実行することができる。すなわち、DVFが、あるアプリケーションへのアクセスをゲーティングすることができ、そのアプリケーションが、別のアプリケーションまたはデータへのアクセスをゲーティングすることができるなどである。DVFは、複数の手順またはデータをゲーティングすることができ、これらの手順またはデータの一部またはすべてが、因果関係または対応関係を有することができる。
特徴および要素を、上で特定の組合せで説明する場合があるが、各特徴または要素を、他の特徴または要素なしで単独で、または他の特徴および要素を伴うもしくは伴わないさまざまな組合せで、使用することができる。本明細書で提供される方法または流れ図を、汎用コンピュータまたはプロセッサによる実行のためにコンピュータ可読記憶媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアで実施することができる。コンピュータ可読記憶媒体の例は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、ならびにCD−ROMディスクおよびディジタル多用途ディスク(DVD)などの光学媒体を含む。
適切なプロセッサは、たとえば、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、DSP(ディジタル信号プロセッサ)、複数のマイクロプロセッサ、DSPコアに関連する1つもしくは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)回路、任意の他のタイプのIC(集積回路)、および/または状態機械を含む。
ソフトウェアに関連するプロセッサを使用して、WTRU(無線送受信ユニット)、UE(ユーザ機器)、端末、基地局、RNC(無線ネットワーク制御装置)、または任意のホストコンピュータ内で使用されるラジオ周波数トランシーバを実施することができる。WTRUを、カメラ、ビデオカメラモジュール、ビデオ電話、スピーカホン、振動デバイス、スピーカ、マイクロホン、テレビジョントランシーバ、ハンズフリーヘッドセット、キーボード、Bluetooth(登録商標)モジュール、FM(周波数変調)ラジオユニット、液晶ディスプレイ(LCD)表示ユニット、有機発光ダイオード(OLED)表示ユニット、ディジタル音楽プレイヤ、メディアプレイヤ、ビデオゲームプレイヤモジュール、インターネットブラウザ、および/または任意の無線ローカルエリアネットワーク(WLAN)モジュールもしくはUWB(ウルトラワイドバンド)モジュールなど、ハードウェアおよび/またはソフトウェアで実施されるモジュールに関連して使用することができる。
ネットワークデバイスの完全性妥当性検査を実行するシステム、方法、および手段を開示する。ネットワークデバイスは、セキュアメモリを含むことができる。たとえば、セキュアメモリを、セキュアハードウェアモジュール内に含めることができる。セキュアメモリは、ルート鍵を受信することができる。たとえば、ルート鍵を、製造の時またはプロビジョニングの時にセキュアメモリによって受信することができる。ルート鍵を、セキュアメモリに格納することができ、ルート鍵は、セキュアハードウェアモジュールの外部のソフトウェアまたはハードウェアから不可視とすることができる。
セキュアハードウェアモジュールは、第1のコード測定(第1のコードの測定)を受信することができる。たとえば、セキュアハードウェアモジュールを含むネットワークデバイスに関連するプロセッサなどのプロセッサは、測定すべきコードの第1の部分を選択することができる。コードの第1の部分を、ネットワークデバイスに関連するメモリ、たとえばROMメモリ、RAMメモリなどに格納することができる。プロセッサは、コードの選択された第1の部分を選択し、第1のコード測定をもたらすことができる。プロセッサは、測定をセキュアハードウェアモジュールに提供することができる。
セキュアハードウェアモジュールは、ルート鍵および第1のコード測定に基づいて第1の鍵を生成することができる。たとえば、セキュアハードウェアモジュールは、第1の鍵を導出するかリリースすることができる。生成された第1の鍵は、第1のコード測定が有効であるときに有効であり、第1のコード測定が無効であるときに無効である。たとえば、セキュアハードウェアモジュールは、部分的に第1のコード測定に基づいて第1の鍵を導出することができる。第1のコード測定が無効である場合には、導出された第1の鍵も無効である。生成された第1の鍵を、リソースへのアクセスを提供するためにセキュアハードウェアモジュールによって生成することができる。コードがセキュアメモリに格納されるときに、リソースへのアクセスを、コード測定なしで提供することができる。
第1の鍵は、第1の機能に関連する信頼の第1のステージに関係することができる(たとえば、1つまたは複数のリソースを、第1の機能に関連付けることができる)。さらに、第1のステークホルダは、第1の機能にアクセスするために有効な第1の鍵を使用することができる。第1の鍵が有効ではない場合には、第1のステークホルダは、第1の機能にアクセスすることができない。すなわち、セキュアハードウェアモジュールは、第1のコード測定が無効であるときに第1の機能へのアクセスを防ぐことができる。
セキュアハードウェアモジュールは、第2のコード測定(第2のコードの測定)を受信することができる。セキュアハードウェアモジュールは、第1の鍵および第2のコード測定に基づいて第2の鍵を生成することができる。第2の鍵は、第2の機能に関連する信頼の第2のステージに関係することができる(たとえば、1つまたは複数のリソースを第2の機能に関連付けることができる)。さらに、第2のステークホルダは、第2の機能にアクセスするために有効な第2の鍵を使用することができる。鍵のリリースを、最後の既知のよいブートステージ(たとえば、それに関して成功の認証があった最後の既知のブートステージ)に制限することができる。
ハードウェア、コード、および/またはデータの完全性測定に基づく鍵および機能性などのリソースの生成および/またはリリースは、段階的な認証を提供することができる。たとえば、デバイスは、複数のレイヤを含むことができ、各レイヤは、それ自体の認証秘密を有する。各認証秘密は、製造業者ファームウェア、信頼される実行コード、オペレーティングシステム、およびサードパーティアプリケーションなどのデバイス能力のレイヤ内の特定のステークホルダに対応することができる。さらなる例として、有効な第1の鍵を、第1のブートステージに対する有効な認証に関連付けることができる。有効な第1の鍵を、ファームウェアに対する矯正を実行するためにネットワークデバイス上のファームウェアにアクセスするのに、デバイス製造業者(たとえば、第1のステークホルダ)によって使用することができる。有効な第2の鍵を、より後のブートステージ(たとえば、中間ブートステージ)中の1つまたは複数のソフトウェアコンポーネントの有効な認証に関連付けることができる。有効な第2の鍵を、ソフトウェアコンポーネントにアクセスするのに、たとえばソフトウェアに対する矯正を実行するのに、デバイスマネージャ(たとえば、第2のステークホルダ)によって使用することができる。成功して認証されたステージの有効な鍵を提供することによって、アクセスを、認証に失敗しなかった最後のステージに釣り合って許可することができる。
開示されるマルチステージ認証のステージ数は、変更することができ、限定されない。さらに、複数の認証経路を提供することができる。すなわち、認証は、完全性検査の所与のステージで異なる形で分岐することができる。たとえば、各ステークホルダは、認証の1つまたは複数のステージに関係する1つまたは複数のポリシを提供することができる。各ステージでは、認証は、ステークホルダポリシに基づいて異なる形で分岐することができる。ステークホルダは、そのポリシを外部から管理できるものとすることができる。
図12に、デバイス1200の例示的なブートプロセスに関係する複数のステージでの認証を示す。デバイス1200を、階層化ブートステージ能力(たとえば、1つまたは複数のステージ認証に関連する1つまたは複数の有効な鍵をリリースするため)を有して構成することができる。デバイス1200が、第1のブートステージに認証するときに、デバイス1200は、1201で、有効な第1の鍵を製造業者などの第1のステークホルダに提供することができる。第1のブートステージを、低水準認証とすることができ、第1のブートステージに関連する鍵は、製造業者に関連するファームウェアに制限されたアクセスを提供することができる。デバイス1200が、第2のブートステージに認証するときに、デバイス1200は、1202で、有効な第2の鍵をデバイスマネージャなどの第2のステークホルダに提供することができる。第2のブートステージを、第1のブートステージより後のブートステージとすることができ、第2のブートステージに関連する鍵は、認証されたソフトウェアに制限されたアクセスを提供することができる。デバイス1200が、最終ブートステージに認証するときに、デバイス1200は、1203で、有効な第3の鍵を、コアネットワーク、セキュリティゲートウェイなどへのアクセスを提供できる第3のステークホルダに提供する。
例としてブートプロセスを使用すると、制限されたオンチップリソースと、ブート実行での最後の既知のよいブートステージに関する認証秘密とへのアクセスを、リリースすることができる。そのような段階的リリースは、デバイスに対する信頼されるリモートデバイス管理更新手順に、より下位のレイヤを使用する、コードのより上位のレイヤに対する信頼されるデバイスソフトウェア/ファームウェア矯正を可能にすることができる。これは、セキュアで不変のオンチップの信頼のルートから発する信頼のチェーンに頼ることができる。一例として、リセット時に、第1の鍵をリリースするために、特定のチップ構成を期待することができる。この構成は、プロセッサが正しい内部実行コードにジャンプし、このコードが、信頼実行のチェーン内の次のステージの前に、測定すべきコードの収集を開始できることを保証することができる。たとえばジャンプベクトルが内部ROMコードへのものではないなど、初期チップ構成が正しくない場合には、初期のおよび後続の完全性測定が、期待されるものとは異なる可能性があり、デバイスが、次の有効なステージに進むことができない可能性がある。
制御の形は、オンチップリソースのハードウェアアンカリングされたゲーティング、コンポーネント(1つまたは複数)の測定された完全性の比較、および/またはシステムの実際の測定された完全性に基づく鍵の導出を含むことができる。たとえば、後者の場合に、開示されるシステムおよび方法を使用して、他の使用のための複数の信頼される制御実行経路を生成することができる。というのは、結果の鍵を、通常動作に必要なものとは異なるものとすることができるからである。したがって、一例として、外部エンティティは、異なるブートシーケンスを、したがって、信頼のルートにも基づく異なる鍵をもたらすことができるデバイス上のピンに対する直接制御を有することができる。
認証を、たとえば、従来のパラメータに加えて、ブートレベルごとに認証の2つの追加要因を課すことによって提供することができる。外部エンティティに対する認証は、1)ブートステージ固有の暗号化された署名する秘密または暗号化する鍵の知識を要求することができ、この秘密または鍵は、2)ブートステージ固有コードが正しい(完全性検査に合格する)場合に明らかにされるものとすることができる。
結果の応用例は、外部エンティティが、そのエンティティによって要求される機能性に従ってデバイスの完全性をリモートに妥当性検査できることとすることができる。さらに、独立のステークホルダ(たとえば、デバイスまたはデバイス製造業者のハードウェアまたはさまざまなファームウェアおよびソフトウェアレイヤの)に、他のエンティティがデバイス機能をディスエーブルせずに独立のステークホルダの対応するファームウェアまたはソフトウェアを変更できないものとすることができることを保証することができる。
例示的な段階的ブートシーケンスは、オンチップリソースと、ブートプロセスの次のステージに関する暗号化する鍵、署名する鍵、および完全性測定などのプロビジョニングされる秘密とを暗号鍵がアンロックすることを強制するために信頼されるハードウェア機構を検出し、利用することによって始まることができる。各ステージが成功して検査されるときに、オンチップリソース、新しい秘密、および新しい測定が、使用のために使用可能になることができる。
いくつかの場合に、情報が、コアの信頼されるドメイン内にある場合があり、ソフトウェア/ファームウェアによるビューイングまたは所有のためではなくハードウェアによる使用のために使用可能にされる場合があり、コードベースの各ステージが検査され、信頼できると検証される(たとえば、コード検査、データ検査、ハードウェア検査などに基づいて信頼できると検証される)ときに、オンチップリソースおよび他の情報を実行環境にリリースすることができる。
各ブートステージは、セキュアブートプロセス内のそのステージの位置に対応する特権および制御の必要を有する場合がある。排他的にあるステージのために生成された証明書を有することは、たとえば外部エンティティに対する認証のために、プラットフォームの内部を超えて制御を拡張することを可能にすることができる。
一例として、デバイス管理およびデバイス認証の場合に、製造業者は、ファームウェアを更新する特権を有する必要がある場合があり、ネットワークオペレータは、ファームウェアではなくソフトウェアおよび/または構成データを矯正しもしくは更新する必要がある場合がある。デバイスが、ファームウェアの完全性検査に合格するがソフトウェアに関して合格しない場合には、使用可能な鍵を、ソフトウェアを更新するためにネットワークオペレータがデバイスを認証することを可能にする鍵とすることができる。しかし、デバイスがファームウェア検査にも合格しない場合には、ネットワークに対して認証するのに必要な鍵ではなく、管理システムに対してデバイスを認証する鍵をリリースすることができ、これは、デバイスを非セキュアな形すなわち信頼プロセスのルートの外でブートすることができないように、プリミティブプロセスが、ファームウェアをリモートにセキュアに矯正/インストールするために定位置にあるものとすることができることを意味する。ファームウェア障害は、矯正を助けるための代替機能のリリースをトリガすることができる(たとえば、認証が、障害に起因して異なる分岐をたどることができる)。信頼のルート立証(root of trust attestation)を提供することの利益は、デバイスのファームウェア信頼コードベースのリモート管理を可能にすることができることとすることができる。
オペレータおよびアプリケーションプロバイダなどの異なるステークホルダが、ブートシーケンス中の測定の結果によって特徴を表されるシステムの「信頼性」レベルに基づいて異なる鍵を使用することを許可することができる。これは、いくつかのオペレータまたはデバイスの所有者が、それでも、システムがおそらくは複数のステージで部分的に信頼されるが部分的に信頼されない状態にブートすることを許可することができることを意味する。そのような状態であっても、デバイスに、ある種の暗号鍵を生成し、使用することを要求することができる(たとえば、デバイスの状態に関して外部ユーザに示すため、または、デバイスのそのような部分的に信頼される状態の下であっても許可されることのできるアプリケーションにセキュリティを提供するために)。1つのオプションは、ブートシーケンスでより高いレベルの信頼を確立できる場合により高い強度の鍵を生成し、使用し、ブートシーケンス結果に基づいて比較的低いレベルの信頼が確立される場合に比較的低い強度の鍵の使用に制限することとすることができる。ポリシを、事前にプロビジョニングすることができ、信頼のルートは、確立できる信頼のレベルに対応するものとすることができる適当な鍵強度を強制することができる。信頼性の異なるレベルに固有のそのような複数の鍵の生成および使用は、準最適信頼検証されたシステムが、ブートされるシステムの信頼性レベルに一致しない可能性がある鍵の強度の過度なレベルを要求せずに、外部当事者にある種の情報を送信するために暗号リソースを使用する必要がある可能性があるときに、有用である可能性がある。
異なる鍵の導出を、有効なステージの複数のセットがあるものとすることができるように、異なるブートシーケンスおよび異なるコードに基づいて許可することができる。異なるブートシーケンスから生じる可能なデバイス一意秘密鍵は、信頼の同一のルート(同一のルート鍵を使用することができる)から発することができ、したがって、同様に信頼できるが、明確に異なり、相互に排他的であり、これは、役割の分離(たとえば、信頼されるテストモード対信頼される通常動作)を可能にすることができる。
鍵導出機構および署名する機構のアルゴリズム選択を提供することができる。次のステージの鍵導出および/または現在のステージの署名もしくは認証のための特定のアルゴリズムの実施を、提供することができる。これらの制御は、暗号化解除の際に、フィールド値を、実施制御をセットできるブートステージ認証モジュール内の対応するレジスタに挿入できるように、暗号化された証明書パッケージ内の専用の制御レジスタフィールド内に常駐することができる。ブートステージ認証モジュールを、TrEとすることができる。
図13A、13B、および13Cに、開示されるシステム、方法、および手段の実施形態をそれを用いて実施できる例示的なチップを示す。
セキュア複数ステージブート認証を、たとえば、ブートステージ認証モジュール1300などのセキュアハードウェア内で実施することができる。ブートステージ認証モジュール1300は、4つのコンポーネントすなわち、ルートデバイス一意秘密鍵(ルート鍵)、制御信号およびステージ固有鍵導出機能(KDF)、暗号エンジン、ならびに署名する機構を含むことができる。モジュールへのインターフェースは、構成インターフェースおよびデータバスインターフェースを含むことができる。構成レジスタは、MMUまたはブート実行ベクトル、チップ入出力などの制御などの命令およびデータフローを実施することができる。鍵経路を、ブートステージ認証モジュール1300の内部であることによって、ソフトウェア/ファームウェアによるビューから保護することができる。ブートステージ構成インターフェースは、チップがセキュアブートプロセスを開始するために正しい構成であることを保証することができる。
セキュアブートプロセスが正しく開始しない場合、たとえば、構成が代替ブートシーケンスに関するものである場合には、オンチップリソースおよびデバイス一意秘密鍵への結果のステージアクセスは、存在しないものとすることができ、これは、次のブートステージおよびその特定のステージの署名する鍵の暗号化解除への進行を防ぐことができ、したがって、外部エンティティは、デバイスの信頼状態を立証することができない。
次のうちの1つまたは複数を組み合わせることができる:有鍵暗号ハッシュ化アルゴリズム、デバイス一意秘密鍵、フィードバック鍵経路、および署名する機構。認証秘密のレイヤを、特定のデバイスならびに実行コードおよびブート構成制御などの測定された情報の完全性に暗号的にバインドすることができる。測定された情報が完全性を欠く場合には、実行の後続の従属レイヤが、認証秘密にアクセスしまたは暗号化解除することができない可能性がある。たとえば、デバイスが、そのプロセッサジャンプベクトルを適当にセットされていないか、内部的にブートしないか、デバッグモードである場合には、ビットパターンの相違を検出することができ、これが、その後に外部の関心を持つ当事者に認証することのできない不正な鍵を生成する可能性がある。
デバイスは、一意秘密鍵を含むことができる。デバイスの一意秘密鍵を、以前のブートステージ鍵および測定されたコードから導出することができる。デバイス一意鍵が、デバイス上に存在しない場合があるが、コード自体から生成できるので、コードが変更された場合には、デバイス一意秘密鍵が不正である可能性がある。ルートデバイス一意秘密鍵(ルート鍵)を、初期プロビジョニングまたは製造時にデバイス内に秘密に埋め込むことができ、デバイスに一意とすることができる。ルートデバイス一意秘密鍵は、特定のデバイスブート構成が利用されない限り、使用可能でないものとすることができる。このルート鍵を、ソフトウェア/ファームウェアから可視でないものとすることができ、このルート鍵は、後続のブートステージデバイス一意鍵のシードを提供することができ、このシードは、やはりソフトウェア/ファームウェアから可視でないものとすることができるが、鍵の存在を、したがってブートシーケンス内のそのステージに対するデバイスの完全性を検証できる認証または署名する機構内で利用することができる。
ルートデバイス一意秘密鍵を、ソフトウェア/ファームウェア、チップ信号に対する盗聴、プロービング、単純な電力分析および差分電力分析などから秘密であり隠されることができるように、たとえば1回プログラム可能ヒューズとしてまたはメモリ内で、製造プロセス中に構成することができる、適当な強度(たとえば、現在は約256ビットとすることができる)の鍵とすることができる。ルートデバイス一意秘密鍵は、デバイスに一意であり、誰にも知られないものとすることができ、当初にリセット時に鍵導出機能にシードを与えることができる。
図14に、例示的な鍵導出機能を示す。
鍵導出機能は、2つの機能のために働くことができる。鍵導出機能は、後続のステージ鍵を生成することができ、後続のブートコードを測定することができる。鍵導出機能は、その一方向特性のゆえに、より後のステージの鍵を入手することが、より以前の鍵に関する情報を全く明らかにせず、測定されたデータのすべてのビットエラーが、正しい鍵への相関を有しない可能性がある非常に異なる鍵をもたらす可能性があることを保証することができる、HMAC−SHA−256などの有鍵暗号ハッシュ関数とすることができる。暗号化されたステージ固有の署名する秘密を、完全性情報と共に与えることができる。完全性情報は、コンポーネントまたは機能の測定された完全性検査値を妥当性検査し、したがって、機能性の次のステージをリリースするように働くことができる。
図15に、署名する機構を含む例示的な鍵導出の詳細を示す。
頑健なデバイス認証のために、鍵導出機能は、オンチップソフトウェア/ファームウェアおよび外部エンティティから直接に可読ではないものとすることができるブートステージデバイス一意秘密鍵を生成することができる。したがって、デバイス一意鍵を、直接経路内で認証機構または署名する機構に送信することができる。外部エンティティおよびソフトウェアは、認証機構または署名する機構にチャレンジメッセージを提供して、オフチップインターフェースを介するデバイスのブート状態の新鮮さ(freshness)を妥当性検査することができる。
図16に、例示的なマルチステージ鍵導出の詳細を示す。
ブートフローが、初期ブートおよびプログラムローダシーケンスからオペレーティングシステムおよびアプリケーションのロードに進むときに、コードの各ブートステージの完全性を、そのコードが実行される前に測定することができる。コードを、各ステージで鍵導出機能に供給することができ、デバイス一意秘密鍵を、各ステージで生成することができる。たとえば、当初に、ルートデバイス一意秘密鍵(ルート鍵)および第1のコード測定を、鍵導出機能に供給することができ、第1の鍵(初期ステージ鍵)を生成することができる。これを、最後のよい証明書が判定されるまで、複数のステージについて繰り返すことができる。
図17に、例示的なブートシーケンスを示す。図16の例示的な図は、鍵を複数のステージでどのように導出でき、最後のよい証明書をどのように判定できるのかを示す。初期ステージ鍵は、ハードウェアが信頼実行のルートのために構成されたことを、たとえば、内部ROMへのプロセッサベクトル、ハードウェア完全性テスト結果が正しい可能性があること、およびセキュリティに敏感な入出力ピンが正しくセットされ、たとえばテストモードではないことを検証することができる。
ブートステージが、正しいブート構成(1つまたは複数)およびコードに従って実行される場合に、最終的な結果を、デバイスが信頼できる形でブートしたことを検証するのにネットワークエンティティによって外部で使用できる暗号化する鍵または署名する鍵とすることができる。そうではなく、あるステージブートコードが失敗する場合には、最終的な署名する鍵が不正であり、外部/リモートの認証の失敗につながる可能性がある。
実行のチェーンが、署名する鍵のチェーンを追跡する必要がないものとすることができる。ブートシーケンスは、検査するシーケンス(たとえば、ハードウェアベースの)に実行制御を渡すことができ、この検査するシーケンスは、デバイスの信頼できる動作に必要なコード測定をロードすることができる。測定が正しい場合には、その結果を、デバイスの信頼できる動作を外部から妥当性検査するのに使用できる最後の鍵とすることができる。
有効なブートステージから導出された鍵および制御は、ランタイム動作まで永続する残りの暗号化する鍵または署名する鍵をアンロックすることができる。デバイス管理サーバは、この残りの署名する鍵を使用して、サーバが安全にアプリケーションコードをダウンロードできるかどうかを判定するために、デバイスが信頼できる状態にセキュアにブートしたことを検証することができる。その一方で、各ブートステージで鍵へのアクセスを除去することは、たとえば認可されたデバイスパーソナライゼーション、プロビジョニング、デバッギング、テスティングなどのための、特定のブートステージコードの特定のベンダがアクセス可能でなければならないチップのハードウェア保護されたドメインに対する特権付き制御を維持するのを助けることができる。
実行するブートコードは、完全性障害が次のステージ測定で発生したことを検出する必要がある場合がある。たとえば、次のブートステージの暗号化された秘密パケットに埋め込まれるのは、暗号化された秘密パケットの特定のフィールドに配置された既知の「完全性表示メッセージ」などの完全性障害の表示とすることができる。次のブートステージ測定でのエラーが、完全性障害が発生したことを実行するブートコードに示す、期待される値と一致しない可能性があるパケットのフィールド内の混同された完全性表示メッセージをもたらす場合がある。
ブートステージ認証モジュール(たとえば、図13A〜Cを参照されたい)内のハードウェア比較器は、たとえば完全性依存ハードウェア構成、チップ秘密、ヒューズ、入出力ピンおよびテストピン、LEDなどへのアクセスを制御するハードウェア制御信号を生成するために、(HW保護され、ソフトウェアまたはファームウェアに不可視の)期待される完全性値と結果の完全性値との間の一致を検出することができる。
制御するブートシーケンスは、障害が発生したことを外部の世界に示すアラートをチップから発行することを選択することができる。または、制御するブートコードは、外部エンティティに認証することを試みるためにチップインターフェース(ネットワークまたはピン)からの入力を待って、アイドルに留まることができる。
1つの動作で、ブートステージ認証モジュールは、暗号化されたステージの署名する秘密(パケット)を暗号化解除することができる。しかし、ステージの証明する秘密を暗号化し、インストールする形の必要がある場合がある。モジュールは、1)製造するステージのみのプロビジョン方法のための1回プログラム可能ヒューズによってロックされ、かつ/または2)チップ上の認可するハードウェアによってアクセス可能にされることができる、「プロビジョニングモード」入力信号、「認可されたアクセスが許容されない」入力信号、および「認可されたステージ」入力信号を有することができる。
チップは、これらの入力が製造するプロセスでヒューズによってロックされない場合にこれらの入力を保護する別の機構を提供する必要がある場合がある。これらの入力がヒューズによってロックダウンされていない場合には、ブートステージ認証モジュールは、デバイスが本明細書で説明するようにそれ自体の検出機構によってセキュアにブートされた場合に、プロビジョニングモードを許可することができる。これは、非セキュアブートコードがプロビジョニングモードに入るのを防ぐことができる。しかし、プロビジョニングモード入力への認可されないアクセスに対して保護するのは、セキュアブートコード、ハードウェア構成、およびチップ上の他の「認可」ハードウェア次第である可能性がある。言い替えると、ブートステージ認証モジュールは、プロビジョンモードへのアクセスを保護する認可ハードウェアを管理するブートコード認可シーケンスを保護するためにセキュアブートコードが実行されることを保証することができる。一実施形態では、セキュアブートプロセスは、バインドされた鍵(たとえば、パブリック、プライベートなど)およびチャレンジレスポンスプロトコルを利用して、プロビジョニングプロセスおよびプロビジョニングモード入力へのアクセスを有することを主張するものを認証し、認可することができる。
プロビジョニングモード入力は、署名する秘密パケットの後続ステージを暗号化解除し、ブートステージ認証モジュールに内部的に、ソフトウェアから使用不能でありプロビジョナに不可視の保護されたレジスタ内に格納することを可能にすることができる。その後、プロビジョニングモード状態を、暗号化モードに切り替えることができる。新しいブートステージコードを、鍵導出機能にロードすることができる。コードがロードされるときに、新しいデバイス一意秘密鍵を自動的に生成することができる(しかし、ユーザまたはソフトウェアには不可視)。その後、新しいブートコードに対応する新しい署名する秘密を、暗号エンジンに挿入し、新しいデバイス一意秘密鍵を用いて暗号化することができる。その結果を、前の版を置換する位置に格納することができる。
新しい後続のデバイス一意秘密鍵を導出する後続のブートステージコードを、ロードすることができ、この新しい後続のデバイス一意秘密鍵を、内部的に格納された後続のステージの署名する鍵秘密を暗号化するのに使用することができる。このプロセスは、完了まで継続することができる。デバイスは、新しいブートステージコードおよびそれに対応する署名する鍵を用いてリブートすることができる。後続のブートステージコードおよび鍵は、同一で未知でステージデバイス一意秘密鍵の新しいチェーンにバインドされたままになることができる。変更されたステージの前のブートステージは、変更されないままであることができる。
図18に、その強度(または暗号アルゴリズム自体などの他のセキュリティの強度特性もしくはアルゴリズムのモードなど)がブートシーケンス中に実行される完全性検査手順によって明示されるシステムの信頼性のレベルの結果に依存する可能性がある鍵を生成し、使用するデバイスの例示的なブートシーケンスフローを示す。
開示されるシステムおよび方法を、単一のステークホルダ(たとえば、リモートユーザ)実施形態で使用することができ、この実施形態は、単一のステークホルダに、変化する度合の機能性の下でデバイスをセキュアに管理する柔軟性を与えることができる。たとえば、リモートユーザは、セキュリティにクリティカルな複雑な機能にデバイスを使用する前に、デバイスがフルレベルのデバイス完全性および/または機能性を正しく入手したかどうかを妥当性検査することを望む場合がある。
達成されたデバイス完全性および/または機能性のレベルを判定するために、ユーザは、デバイスにナンス(nonce)をサブミットすることと、その後に署名されたレスポンスを取り出すこととによってデバイスにチャレンジすることができる(たとえば、ナンスは結果の新鮮さを保証することができる)。その後、ユーザは、デバイスが完全性および健全性検査実行のどのステージに合格したのかを判定するために、レスポンスを検査することができる。その結果に基づいて、ユーザは、完全性が検証されている機能(1つまたは複数)についてそのデバイスとセキュアに相互作用できることの保証を有することができる。
一例として、レスポンスが、セキュアブートプロセスが行われなかった(たとえば、完全性検査なし)ことを表す場合に、ユーザは、デバイスが非セキュアな形で構成されており、機密データの処理のためにそのデバイスに頼ることができないことを知ることができる。また、いくつかのデバイス完全性にバインドされた鍵が使用不能である可能性があるので、セキュアブートプロセスにバインドされた暗号化されたデータも、使用不能である可能性がある。
プロセスの第1のステージが達成される場合には、デバイスは、それ自体の障害を発生した機能の一部を立証し、リプレイ保護されたおよび/または署名された遭難信号を送出する能力など、あるセキュリティ能力を有することができる。リモートユーザは、そのような信号から、受信された遭難信号が偽ではなく、かつ/または他のデバイスによって成りすまされていないことを判定でき、デバイスが遭難信号を送信したことを知ってデバイスを矯正するアクションを行うことができる。
この例を続けると、第2のステージが達成される場合に、ユーザがデバイス上の障害を発生しているコードをリモートからセキュアに変更することを可能にすることができる、より高いレベルの能力/デバイス完全性を表す認証鍵の新しいセットを、デバイス上で使用可能にすることができる。これの変形は、そのような完全性の第2のステージを達成するデバイスが、リモートユーザのOAMまたはデバイス管理(DM)サーバ(またはそのようなサーバアプリケーション)に認証することを可能にすることができる鍵へのローカルアクセスを得ることができる場合とすることができる。この例のこのステージでは、デバイスは、リモートユーザ(または彼のOAMサーバもしくはDMサーバまたはそのようなサーバアプリケーション)を認証する能力を有することができ、したがって、デバイス上のいくつかのデータおよびコードを、ロードし、達成された完全性のステージに関連する使用可能な鍵を使用して署名することができる。能力の他のレベルに関連する他のステージを達成することもできる。
最終的な成功のステージは、デバイスが、リモートユーザがセキュアにアクセスし使用することを必要とする可能性がある機能を完全に実行することができることを表すことができる。
本発明は、機能性の複数のステージを含む必要がなく、1つまたは複数のいずれのステークホルダにも限定されない。1つの形態では、デバイスは、リモートユーザの展望から自律的妥当性検査のための単一の認証鍵をもたらす単一の代表的な結果を伴う検査の単一のステージを実行することができる。これを、たとえばネットワークに接続することを試みるデバイスを妥当性検査するのに使用することができる。開示されるシステムおよび方法を、デバイスの信頼状態の表現での柔軟性を可能にし、デバイスレベル、サービスレベル、および/またはアプリケーションレベルでの遭難表示、デバイス監視、デバイス管理機能(診断および矯正)、ならびに認証手順を可能にするために、拡張可能とすることもできる。
好ましいネットワークへのデバイスのアクセスに必要な主鍵とは異なる目的に必要な認証鍵などの他の認証情報を、完全性検査プロセスにバインドすることができる。そのような「他の認証」の例を、OAMの認証、アプリケーションレベルサービスの認証、またはアクセスレイヤ以外のレイヤでのセキュリティプロトコル(IPsecまたはTLSなど)の認証とすることができる。他の例は、デバイスおよび/もしくはそのプロファイル(たとえば、グループメンバシップなど)、加入者/ユーザ、サービス(1つまたは複数)、またはアプリケーション(1つまたは複数)の認証を含むことができる。たとえば、図13Cを参照すると、サービスサブスクリプション鍵をKDFに送信することができる。結果の鍵を、サービスプロバイダへの認証に使用できるデバイス一意秘密鍵とすることができる。デバイスへのチャレンジは、加入者とデバイス完全性との両方を認証することができる。その場合に、サービスサブスクリプション鍵を、適当なステージで追加することができる。一実施形態では、完全性バックド(integrity−backed)サブスクリプション鍵が、早期のステージで提供され、完全性バックドアプリケーション鍵が、より後のステージで提供される。他の情報をKDF入力で組み合わせて、必要な情報へのバインディングを保証することができる。他の認証情報を完全性検査プロセスにバインドすることによって、認証の複数の独立のソースを提供することができる。
開示されるシステム、方法、および手段は、デバイスのセキュアなリモート構成を可能にするための信頼の動的拡張を可能にすることができる。たとえば、工場から出たデバイスは、既知の未構成状態にセキュアにブートすることができる。そのようなデバイスは、まず、ベンダ証明書に含まれる証明書を使用することができる。このステージで使用可能な認証鍵は、外部管理エンティティ(OAMまたはDMサーバなど)がデバイス上の構成データ構造にリモートにアクセスすることを可能にし、認証された外部管理エンティティが新しい証明書(たとえば、新しい署名する鍵または新しい署名する鍵を含むことができるオペレータの証明書など)を挿入することを可能にすることができる。そのような新しい証明書を、本明細書で説明する方法を使用して保護することができる。新しい構成データに、新しい鍵を用いて署名することができ、新しい実行ステージを、挿入することができ、この新しい実行ステージにも、成功のステージ鍵によって署名することができる。認証鍵を追加することができ、この認証鍵を、この最終的な構成検査の成功の完了によって保護することができる。たとえば、デバイスがリセットされる場合に、デバイスは、新しい構成データを検査できる新しいステージへ自動的に再ブートすることができる。新しい構成データが一致する場合には、結果の認証鍵を使用可能とすることができる。その後、外部エンティティは、デバイスを認証することができる。認証に合格する場合には、外部エンティティに、デバイスが正しく構成されていることを保証することができる。
図19に、マルチステージ認証に関係する例示的なネットワーク通信を示す。
3GPP RN(中継ノード)は、DeNB(ドナーeNB)に対するUE(すなわち、中継UE)ならびにそれに接続するUEに対するeNB(すなわち、中継eNB)の両方として働くことができる。中継ノードを、緊急応答または一時的にカバレージギャップを満たす任務などの使用シナリオでオンサイトで展開することができるので、中継ノードは、展開時に完全には構成されない可能性があり、完全に機能するためにすべての機能性を有していない場合がある。しかし、RNはネットワークデバイスなので、デバイスセキュリティ要件を含むセキュリティ要件は、段階的動作ステータスの達成を可能にする完全性検査の必要をもたらす高いものである必要がある場合がある。そのような段階的動作ステータスが、展開後の構成および証明書エンロールメントのために必要である可能性がある。
図20に、例示的な3GPP中継ノードを使用するマルチステージ認証および証明書構成をも含む例示的なスタートアップおよびポストスタートアップ構成手順を示す。
この例では、RNは、完全性のある種のステージ(1つまたは複数)に合格する場合に、既知のオペレータ(OP)管理ボックス(たとえば、OAMまたはDMサーバボックスなど)ならびにベンダのOAM/DMサーバにアクセスできるようにされる。しかし、RNが、さらなるステージに合格しない場合には、RNは、OP MME(Mobility Management Entity)へのフルアクセスに必要な証明書(RN上に既に存在してもしなくてもよい)にアクセスすることを可能にされない可能性がある。したがって、RNは、OP MMEに対するフルアクセス認証の試みに失敗する可能性がある。しかし、複数の連続するそのような失敗に伴って、RNを、既知のOP OAM/DMへの認証に制限することができ、事前にプロビジョニングされたベンダ証明書を使用してベンダOAM/DMによって再構成されるように指示することができる。RNが、再構成され、その後に完全性検査のさらなるステージに合格する場合には、RNは、今や、OP MMEにアクセスするのに必要な証明書へのアクセスを得ることができる。
開示されるシステムおよび方法を、改竄およびランタイム障害に敏感にすることができる。別々の改竄監視プロセスを、デバイスの完全性が確立される(たとえば、監視プロセスを信頼のルートに連鎖させる)前またはそのときに確立することができる。このモニタは、コード、ポート、または侵入もしくは改竄イベントを示すことができるすべてのものを検査することができる。そのようなイベントの際には、確立されたデバイス一意秘密鍵の値が、自動的に除去され、認証鍵を使用不能にする。開示されるシステムおよび方法をそれを用いて実施できる例示的なチップを示す図21を参照されたい。完全性ベースの認証鍵を使用してデバイスとのセキュア接続を再確立する試みは、失敗する可能性がある。これは、デバイスのセキュリティに頼る外部エンティティの連続保護を提供することができる。
図22に、完全性検査プロセスをどのようにしてUE通信に拡張できるのかを示す。ネットワークは、完全性バインドされた認証鍵を使用して中継ノードにUE鍵を渡すことができる。中継ノードが、完全性または改竄イベントに起因してもはや安全にされない場合には、中継ノードは、暗号化された鍵を暗号化解除できない可能性があり、UEからの通信のセキュリティが維持される。
開示されるシステムおよび方法は、デバイスの信頼性の部分的なまたは段階的なリモート判定を可能にすることができるデバイスの署名する鍵のステージングの機構、デバイスの現在のブートステージのコード、構成情報、およびセキュアブートプロセスの状態の成功の測定を使用して制御信号を直接に導出でき、この制御信号がオンチップリソースへのさらなるアクセスを可能にし、認証に関する秘密をリリースできる、オンチップリソースおよび認証秘密の段階的リリースの方法、外部エンティティと部分的に障害を発生している可能性があるデバイスとの間の信頼できる報告、管理、および矯正の使用可能化、ブートプロセス中の明示的な完全性検査手順の必要の除去およびブートコード参照値を格納し保護する必要を除去する、またはチップ境界もしくは公衆インターネットなどの公衆インターフェースにまたがるさまざまなステークホルダへの認証されたアクセスのうちの1つまたは複数を提供することができる。
プラットフォーム完全性ポリシエンジン(PIPE)を、全体的なプラットフォーム信頼システムアーキテクチャの一部とすることができる。PIPEは、マルチステージ認証および鍵リリースのプロセスを制御することができる。PIPEは、セキュアブートプロセスのフロー、ソフトウェアおよび/もしくはデータコンポーネントに対する完全性検査測定の処理、ポリシに従う後続の実施アクション、ならびに/または後続のソフトウェアロード制御のフローを含むさまざまな機能を制御することができる。ポリシを、製造業者および/またはオペレータなどの1つまたは複数の外部ステークホルダによって定義することができ、デバイス上でプロビジョニングし、リモート更新手順を介して現場で更新することができる。
PIPEは、1つまたは複数の機能能力を漸進的にインストールすることと、ランタイム中のコンポーネントの動的ローディングを維持することとによって、制御されたソフトウェアおよびデータの検査動作およびロード動作を介して、危険にさらされたソフトウェア機能性がロードされる危険性を制御することができる。例示的な例として、ロード動作での進行のステージに依存して、PIPEは、認証失敗に応答して、プラットフォームをパワーダウンする、危険にさらされたコンポーネント(1つまたは複数)のロードを防ぐかコンポーネント(1つまたは複数)を検疫する、低レベル障害もしくは危険にさらされた機能性を通知するためにネットワーク内のセキュリティゲートウェイもしくは矯正マネージャなどの外部エンティティへのアラームをトリガする、認証鍵その他などのプラットフォーム上の機能またはセキュア情報へのアクセスを防ぐ、または、認証アルゴリズムその他などのプラットフォーム上のセキュア機能へのアクセスを防ぐ、のうちの1つまたは複数を実施することができる。
いくつかの場合に、障害が非常に深刻であり、信頼される環境でさえ、コアTrE機能性が危険にさらされているのでプラットフォーム内の信頼を保証できない可能性がある場合がある。低レベルでの障害は、完全性およびリプレイ保護と機密性保護とを含むことができるデフォルト信頼のルート署名されたアラームメッセージの生成などの基本的な動作をトリガすることができる。すなわち、低レベルセキュリティ障害の発生時には、遭難メッセージを、使用可能とすることができる1つまたは複数の通信チャネルによってネットワークに公開することができる。
ロードされる機能性が作成され、ますます洗練されるにつれて、デバイスは、ネットワークエンティティの代わりにセキュアで信頼できるプロキシとして働くなど、危険にさらされたソフトウェアおよび/もしく構成データの診断、報告、および/もしくは置換のための疑問手順を容易にする、より洗練されたアクションを実行し、バルクコードまたはデータの再ロード/更新手順を実行し、または、コンポーネントの障害の位置を分離するために、より微細な粒度の詳細での完全性検査を含めて改竄が疑われるコンポーネントをより詳細に調査することができる。
プラットフォーム上のリソースへの変化するアクセスを、成功して検証された機能性のレベルに応じて提供することができる(たとえば、PIPEによって)。コンポーネント完全性検査が失敗する場合には、そのコンポーネントを信頼されないものとすることができる。この検出された失敗を、セキュアにマークし、ネットワークに示す(明示的にまたは暗黙のいずれかで)ことができ、その後、ブートフローは、この失敗した条件に起因して分岐することができる。このタイプの完全性検査失敗を、実行フロー障害と称する場合があり、これによって、検査されたコンポーネントを、信頼されないものとすることができ、このコンポーネントの始動は、悪意のある、危険にさらされた、障害のある、または誤って構成されたコードの実行をもたらす可能性があり、デバイスに指定されず期待されない形で機能を実行させる可能性がある。したがって、新しいコンポーネントのロードおよび使用可能な機能性は、以前にロードされたコンポーネントの完全性によって影響を受ける可能性がある。
その結果、実行環境が、各ブートステージでの制御する実行プロセスおよびアクセス特権と各ランタイムプロセスとに依存して変化する可能性がある。たとえば、ブートプロセス内の各ステージでは、その時に行われた完全性測定に基づいて判断を行う必要がある可能性がある。後続のステージおよびポリシは、それ自体の動作を判定するために、実行ステージを超える情報伝達または格納の任意の使用可能な安全にされた手段(状態、変数、パラメータ、レジスタ、ファイルなど)を介して前のステージから渡された情報を使用することができる。たとえば、より上のレイヤのアプリケーション認証機能は、以前にロードされたコンポーネントの完全性に関する情報を使用して、外部エンティティとの成功の認証に必要な鍵のリリースのゲーティングを含むそれ自体の動作を決定することができる。
例示的なPIPE機能フローは、次のうちの1つまたは複数を含むことができる。RoTを検査することができ、その完全性を検証することができる。ベースラインTrEをRoTによって検査することができ、その完全性を検証することができる。TrE検査で障害がある場合には、ネットワークへのアタッチメントに必要な鍵のリリースを防ぐ、ネットワークへのアラームをトリガする(アラームをネットワークに送信することを可能にすることができるフォールバックコードをロードすることができ、かつ/またはアラームが、TrEを置換するためのリモートバルク更新手順をトリガすることができる)、またはデバイスをパワーダウンする、のうちの1つまたは複数を実施することができる。基本的な通信接続性コードをロードすることができ、このコードは、ベースラインオペレーティングシステムモジュールを検査し、ロードする、ベースライン管理クライアントを検査し、ロードする、または通信モジュールを検査し、ロードする、のうちの1つまたは複数を含むことができる。障害が発生する場合には、ネットワークへのアタッチメントに必要な鍵のリリースを防ぐ、アラームを介して、コンポーネントを置換するためのリモートバルク更新手順をトリガする(アラームをネットワークに送信することを可能にすることができるフォールバックコードをロードすることができ、かつ/またはアラームが、基本コードを置換するためのリモートバルク更新手順をトリガすることができる)、アラームおよびリモートコンポーネント更新手順を開始する、またはデバイスをパワーダウンする、のうちの1つまたは複数を実施することができる。残りのオペレーティングシステムおよび管理クライアントコンポーネントを検査し、ロードする。動的、再配置可能、および/もしくは再ロード可能な機能モジュールを検査し、ロードし、障害がある場合には、ネットワークへのアタッチメントに必要な鍵のリリースを防ぐ、傷害レポートをプロトコルでネットワークに送信する(傷害レポートは、ネットワークによってリモートに更新できる障害を発生したコンポーネントを示すことができる)、アラームを送信し、リモートコンポーネント更新手順を要求する、またはデバイスをパワーダウンする、のうちの1つまたは複数を実施することができる。
PIPEのアクションは、成功して検証されたブートチェーンに依存して変化することができる。ブートプロセスの各ステージでは、その時に(またはその時までに)完全性検査された基礎になるプラットフォームの部分または全体の査定された完全性および適用されるポリシに基づいて、判断を行うことができる。これらのポリシは、達成された信頼レベルに応じて、適合し、または新しいポリシによって置換されるものとすることができる。実行環境は、各ブートステージで制御するポリシに応じて変化することができる。後続のステージおよびポリシは、実行ステージを超える情報伝達または格納の使用可能な安全にされた手段(状態、変数、パラメータ、レジスタ、ファイルなど)を介して前のステージから渡された情報を使用することができる。PIPEポリシを、1つまたは複数のステークホルダによってプロビジョニングすることができる。例として、あるステークホルダが、ポリシのそれぞれへのアクセスを有することができ、各ステークホルダが、ポリシの一部へのアクセスを有することができる(たとえば、優先順位レベルまたは特定の機能との関連付けに応じて)などである。もう1つの例として、製造業者は、低レベルコードポリシを制御することができ、オペレータは、ソフトウェアおよび構成のポリシを制御することができ、アプリケーションサービスプロバイダは、より上のレベルの機能モジュールを制御することができる。
特徴および要素が、上で特定の組合せで説明されるが、当業者は、各特徴または要素を、単独でまたは他の特徴および要素とのさまざまな組合せで使用することができることを了解するであろう。さらに、本明細書で提供される方法を、コンピュータまたはプロセッサによる実行のためにコンピュータ可読媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアで実施することができる。コンピュータ可読媒体の例は、電気信号(有線接続または無線接続を介して送信される)およびコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体の例は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、ならびにCD−ROMディスクおよびディジタル多用途ディスク(DVD)などの光学媒体を含むが、これに限定されない。ソフトウェアに関連するプロセッサを使用して、WTRU、UE、端末、基地局、RNC、または任意のホストコンピュータで使用されるラジオ周波数トランシーバを実施することができる。

Claims (20)

  1. ネットワークデバイスの完全性妥当性検査を実行する方法であって、
    前記ネットワークデバイスのメモリに格納された第1のコードの測定を受信するステップと、
    前記ネットワークデバイスのセキュアメモリに格納されたルート鍵および前記第1のコード測定に基づいて第1の鍵を生成するステップであって、前記第1の鍵は、前記第1のコード測定が有効であるときに有効であり、前記第1の鍵は、前記ネットワークデバイスの第1の機能に関連する信頼の第1のステージに関係し、有効な第1の鍵は、前記第1の機能にアクセスするために第1のステークホルダによって使用されることができる、ステップと
    を含むことを特徴とする方法。
  2. 前記第1のコード測定が無効であるときに、前記第1の機能へのアクセスを防ぐステップをさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記ネットワークデバイスの前記メモリに格納された第2のコードの測定を受信するステップと、
    前記第1の鍵および前記第2のコード測定に基づいて第2の鍵を提供するステップであって、前記第2の鍵は、前記第2のコード測定が有効であるときに有効である、ステップと
    をさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記第2のコード測定が無効であるときに第2の機能へのアクセスを防ぐステップをさらに含むことを特徴とする請求項3に記載の方法。
  5. 前記第2の鍵は、第2の機能に関連する信頼の第2のステージに関係し、有効な第2の鍵は、前記第2の機能にアクセスするために第2のステークホルダによって使用されることができることを特徴とする請求項3に記載の方法。
  6. ナンスを受信するステップと、
    前記ナンスに応答して署名されたメッセージを送信するステップであって、前記署名されたメッセージは、信頼できない状態、部分的に信頼できる状態、または信頼できる状態を示す、ステップと
    をさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記部分的に信頼できる状態が示されるときに、最後の有効な証明書を提供するステップをさらに含み、前記最後の有効な証明書は、最後の有効なコード測定に関連する最後の有効な鍵を含むことを特徴とする請求項6に記載の方法。
  8. 前記署名されたメッセージは、ブート状態の新鮮さをさらに示し、前記ナンスは、シーケンスカウンタまたは日付およびタイムスタンプ機能のうちの少なくとも1つを介してローカルに導出されることを特徴とする請求項6に記載の方法。
  9. 前記ルート鍵は、製造の時またはプロビジョニングの時に前記セキュアメモリに格納されることを特徴とする請求項1に記載の方法。
  10. 前記セキュアメモリは、セキュアハードウェアモジュールの一部であり、前記ルート鍵は、前記セキュアハードウェアモジュールの外部のソフトウェアに可視ではないことを特徴とする請求項1に記載の方法。
  11. ネットワークデバイスの完全性妥当性検査を実行するセキュアハードウェアモジュールであって、前記セキュアハードウェアモジュールは、少なくとも部分的に、
    前記ネットワークデバイスのメモリに格納された第1のコードの測定を受信し、
    前記ネットワークデバイスのセキュアメモリに格納されたルート鍵および前記第1のコード測定に基づいて第1の鍵を生成するように構成され、前記第1の鍵は、前記第1のコード測定が有効であるときに有効であり、前記第1の鍵は、前記ネットワークデバイスの第1の機能に関連する信頼の第1のステージに関係し、有効な第1の鍵は、前記第1の機能にアクセスするために第1のステークホルダによって使用されることができることを特徴とするセキュアハードウェアモジュール。
  12. 前記セキュアハードウェアモジュールは、前記第1のコード測定が無効であるときに、前記第1の機能へのアクセスを防ぐようにさらに構成されることを特徴とする請求項11に記載のセキュアハードウェアモジュール。
  13. 前記セキュアハードウェアモジュールは、
    前記ネットワークデバイスの前記メモリに格納された第2のコードの測定を受信し、
    前記第1の鍵および前記第2のコード測定に基づいて第2の鍵を提供するようにさらに構成され、前記第2の鍵は、前記第2のコード測定が有効であるときに有効であることを特徴とする請求項11に記載のセキュアハードウェアモジュール。
  14. 前記セキュアハードウェアモジュールは、前記第2のコード測定が無効であるときに第2の機能へのアクセスを防ぐようにさらに構成されることを特徴とする請求項13に記載のセキュアハードウェアモジュール。
  15. 前記第2の鍵は、第2の機能に関連する信頼の第2のステージに関係し、有効な第2の鍵は、前記第2の機能にアクセスするために第2のステークホルダによって使用されることができることを特徴とする請求項13に記載のセキュアハードウェアモジュール。
  16. 前記セキュアハードウェアモジュールは、
    ナンスを受信し、
    前記ナンスに応答して署名されたメッセージを送信するようにさらに構成され、前記署名されたメッセージは、信頼できない状態、部分的に信頼できる状態、または信頼できる状態を示すことを特徴とする請求項11に記載のセキュアハードウェアモジュール。
  17. 前記セキュアハードウェアモジュールは、前記部分的に信頼できる状態が示されるときに、最後の有効な証明書を提供するようにさらに構成され、前記最後の有効な証明書は、最後の有効なコード測定に関連する最後の有効な鍵を含むことを特徴とする請求項16に記載のセキュアハードウェアモジュール。
  18. 前記署名されたメッセージは、ブート状態の新鮮さをさらに示し、前記ナンスは、シーケンスカウンタまたは日付およびタイムスタンプ機能のうちの少なくとも1つを介してローカルに導出されることを特徴とする請求項16に記載のセキュアハードウェアモジュール。
  19. 前記ルート鍵は、製造の時またはプロビジョニングの時に前記セキュアメモリに格納されることを特徴とする請求項11に記載のセキュアハードウェアモジュール。
  20. 前記セキュアメモリは、前記セキュアハードウェアモジュールの一部であり、前記ルート鍵は、前記セキュアハードウェアモジュールの外部のソフトウェアに可視ではないことを特徴とする請求項11に記載のセキュアハードウェアモジュール。
JP2013505036A 2010-04-12 2011-04-12 ブートプロセスでのリリースの段階化された制御 Expired - Fee Related JP5647332B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32324810P 2010-04-12 2010-04-12
US61/323,248 2010-04-12
US35747410P 2010-06-22 2010-06-22
US61/357,474 2010-06-22
PCT/US2011/032036 WO2011130211A1 (en) 2010-04-12 2011-04-12 Staged control release in boot process

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014226462A Division JP2015035831A (ja) 2010-04-12 2014-11-06 ブートプロセスでのリリースの段階化された制御

Publications (2)

Publication Number Publication Date
JP2013524385A true JP2013524385A (ja) 2013-06-17
JP5647332B2 JP5647332B2 (ja) 2014-12-24

Family

ID=44280970

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2013505036A Expired - Fee Related JP5647332B2 (ja) 2010-04-12 2011-04-12 ブートプロセスでのリリースの段階化された制御
JP2014226462A Pending JP2015035831A (ja) 2010-04-12 2014-11-06 ブートプロセスでのリリースの段階化された制御
JP2016199182A Pending JP2017022781A (ja) 2010-04-12 2016-10-07 ブートプロセスでのリリースの段階化された制御

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2014226462A Pending JP2015035831A (ja) 2010-04-12 2014-11-06 ブートプロセスでのリリースの段階化された制御
JP2016199182A Pending JP2017022781A (ja) 2010-04-12 2016-10-07 ブートプロセスでのリリースの段階化された制御

Country Status (9)

Country Link
US (3) US8856941B2 (ja)
EP (1) EP2558972A1 (ja)
JP (3) JP5647332B2 (ja)
KR (2) KR20130020734A (ja)
CN (2) CN105468982A (ja)
CA (1) CA2796331A1 (ja)
SG (1) SG184853A1 (ja)
TW (3) TW201628368A (ja)
WO (1) WO2011130211A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017503289A (ja) * 2014-10-31 2017-01-26 小米科技有限責任公司Xiaomi Inc. 端末検証方法、装置、プログラム、及び記録媒体
US10019604B2 (en) 2014-10-31 2018-07-10 Xiaomi Inc. Method and apparatus of verifying terminal and medium
JP2019092134A (ja) * 2017-11-17 2019-06-13 株式会社シーエスサービス 暗号鍵生成方式
RU2808198C1 (ru) * 2023-04-28 2023-11-24 Общество с ограниченной ответственностью "Открытая мобильная платформа" Способ доверенной загрузки устройства с возможностью заверения разных этапов загрузки несколькими независимыми владельцами ключей

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010543A1 (en) 2009-03-06 2011-01-13 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
US20100325446A1 (en) * 2009-06-19 2010-12-23 Joseph Martin Mordetsky Securing Executable Code Integrity Using Auto-Derivative Key
CN101909058B (zh) * 2010-07-30 2013-01-16 天维讯达无线电设备检测(北京)有限责任公司 一种适合可信连接架构的平台鉴别策略管理方法及系统
AU2011323225B2 (en) * 2010-11-05 2015-05-28 Interdigital Patent Holdings, Inc. Device validation, distress indication, and remediation
WO2013012436A1 (en) * 2011-07-18 2013-01-24 Hewlett-Packard Development Company, L.P. Reset vectors for boot instructions
CN104170312B (zh) * 2011-12-15 2018-05-22 英特尔公司 用于使用硬件安全引擎通过网络进行安全通信的方法和设备
US10085207B2 (en) * 2012-01-27 2018-09-25 Intel Corporation Techniques for improved energy-savings management
US20150030153A1 (en) * 2012-02-09 2015-01-29 Intel Corporation Repeatable application-specific encryption key derivation using a hidden root key
US20140281539A1 (en) * 2012-03-30 2014-09-18 Goldman, Sachs & Co. Secure Mobile Framework With Operating System Integrity Checking
US9130837B2 (en) * 2012-05-22 2015-09-08 Cisco Technology, Inc. System and method for enabling unconfigured devices to join an autonomic network in a secure manner
US9038179B2 (en) 2012-08-28 2015-05-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Secure code verification enforcement in a trusted computing device
US9367335B2 (en) 2013-07-12 2016-06-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. State dependent optimization for sequential booting of heterogeneous systems
US9141373B2 (en) * 2013-07-31 2015-09-22 Arista Networks, Inc. System and method for accelerated software upgrades
US20150078550A1 (en) * 2013-09-13 2015-03-19 Microsoft Corporation Security processing unit with configurable access control
US9633210B2 (en) 2013-09-13 2017-04-25 Microsoft Technology Licensing, Llc Keying infrastructure
US20150127930A1 (en) * 2013-11-06 2015-05-07 Seagate Technology Llc Authenticated device initialization
KR102232121B1 (ko) * 2013-11-14 2021-03-25 삼성전자주식회사 장치 대 장치 통신 시스템에서 보안키를 관리하는 방법 및 장치
US9959106B2 (en) * 2013-11-14 2018-05-01 International Business Machines Corporation Sharing of portable initialized objects between computing platforms
JP6265783B2 (ja) * 2014-03-06 2018-01-24 キヤノン株式会社 暗号化/復号化システム及びその制御方法、並びにプログラム
US20150286823A1 (en) * 2014-04-07 2015-10-08 Qualcomm Incorporated System and method for boot sequence modification using chip-restricted instructions residing on an external memory device
US9195831B1 (en) 2014-05-02 2015-11-24 Google Inc. Verified boot
EP3149882A4 (en) * 2014-06-02 2017-12-13 Sncr, Llc Secure mobile framework with operating system integrity checking
US10057240B2 (en) * 2014-08-25 2018-08-21 Sap Se Single sign-on to web applications from mobile devices
US10097513B2 (en) 2014-09-14 2018-10-09 Microsoft Technology Licensing, Llc Trusted execution environment extensible computing device interface
US9705879B2 (en) * 2014-09-17 2017-07-11 Microsoft Technology Licensing, Llc Efficient and reliable attestation
CN107113537B (zh) * 2014-09-29 2020-06-23 康维达无线有限责任公司 用于控制在网络上的设备的省电模式特性的装置和方法
US10129031B2 (en) * 2014-10-31 2018-11-13 Convida Wireless, Llc End-to-end service layer authentication
US20160188874A1 (en) * 2014-12-29 2016-06-30 Rubicon Labs, Inc. System and method for secure code entry point control
CN104602357B (zh) * 2015-01-19 2018-03-02 国家电网公司 适用于智能电网的无线传输多用户调度方法
EP3272094B1 (en) 2015-03-16 2021-06-23 Convida Wireless, LLC End-to-end authentication at the service layer using public keying mechanisms
US9798887B2 (en) * 2015-08-26 2017-10-24 Qualcomm Incorporated Computing device to securely activate or revoke a key
US10374777B2 (en) * 2015-08-31 2019-08-06 Qualcomm Incorporated Control signaling in a shared communication medium
US9916453B2 (en) 2015-12-22 2018-03-13 Qualcomm Incorporated Derived keys for execution environments in a boot chain
WO2017174788A1 (en) * 2016-04-07 2017-10-12 Nagravision Sa Flexible cryptographic device
US9916452B2 (en) * 2016-05-18 2018-03-13 Microsoft Technology Licensing, Llc Self-contained cryptographic boot policy validation
US10402566B2 (en) * 2016-08-01 2019-09-03 The Aerospace Corporation High assurance configuration security processor (HACSP) for computing devices
CN106529271A (zh) * 2016-10-08 2017-03-22 深圳市金立通信设备有限公司 一种终端及其绑定校验方法
TWI615732B (zh) 2016-12-27 2018-02-21 瑞昱半導體股份有限公司 電子裝置之電子元件、啟動電子裝置的方法及加密方法
US10484371B2 (en) * 2017-05-22 2019-11-19 Seagate Technology Llc Device controller security system
US10666430B2 (en) * 2017-09-29 2020-05-26 Intel Corporation System and techniques for encrypting chip-to-chip communication links
US10482258B2 (en) * 2017-09-29 2019-11-19 Nxp Usa, Inc. Method for securing runtime execution flow
US11347861B2 (en) * 2018-04-10 2022-05-31 Raytheon Company Controlling security state of commercial off the shelf (COTS) system
CN110677250B (zh) 2018-07-02 2022-09-02 阿里巴巴集团控股有限公司 密钥和证书分发方法、身份信息处理方法、设备、介质
WO2020010515A1 (en) * 2018-07-10 2020-01-16 Apple Inc. Identity-based message integrity protection and verification for wireless communication
CN110795774B (zh) 2018-08-02 2023-04-11 阿里巴巴集团控股有限公司 基于可信高速加密卡的度量方法、设备和系统
CN110795742B (zh) 2018-08-02 2023-05-02 阿里巴巴集团控股有限公司 高速密码运算的度量处理方法、装置、存储介质及处理器
US10740084B2 (en) * 2018-08-16 2020-08-11 Intel Corporation Soc-assisted resilient boot
CN110874478B (zh) * 2018-08-29 2023-05-02 阿里巴巴集团控股有限公司 密钥处理方法及装置、存储介质和处理器
US11423150B2 (en) 2018-09-07 2022-08-23 Raytheon Company System and method for booting processors with encrypted boot image
EP3647983A1 (de) * 2018-10-30 2020-05-06 Siemens Aktiengesellschaft Vorrichtung und betriebsverfahren zum überprüfen von betriebsdaten einer gesicherten start-betriebsphase eines insbesondere in einer industriellen anlagenumgebung verwendbaren gerätes
US10841160B2 (en) 2018-11-08 2020-11-17 Arista Networks, Inc. System and method for processing messages during a reboot of a network device
EP3664358A1 (en) * 2018-12-03 2020-06-10 Nagravision S.A. Methods and devices for remote integrity verification
US11012425B2 (en) * 2018-12-28 2021-05-18 Micron Technology, Inc. Replay protection nonce generation
FR3094520B1 (fr) * 2019-03-25 2021-10-22 St Microelectronics Rousset Clé de chiffrement et/ou de déchiffrement
US11513698B2 (en) 2019-04-01 2022-11-29 Raytheon Company Root of trust assisted access control of secure encrypted drives
US11595411B2 (en) 2019-04-01 2023-02-28 Raytheon Company Adaptive, multi-layer enterprise data protection and resiliency platform
US11379588B2 (en) 2019-12-20 2022-07-05 Raytheon Company System validation by hardware root of trust (HRoT) device and system management mode (SMM)
TWI737368B (zh) * 2020-06-29 2021-08-21 財團法人國家實驗研究院 機敏資料之分析方法及其系統
IL275947A (en) * 2020-07-09 2022-02-01 Google Llc Anonymous Event Confirmation
IL275954A (en) 2020-07-09 2022-02-01 Google Llc Anonymous event confirmation with group signatures
CN113254372A (zh) * 2020-08-07 2021-08-13 广东高云半导体科技股份有限公司 用两阶段配置过程提供可编程微控制器的方法和系统
US20220129259A1 (en) * 2020-10-26 2022-04-28 Micron Technology, Inc. Endpoint Customization via Online Firmware Store
US20220222348A1 (en) * 2021-01-13 2022-07-14 Microsoft Technology Licensing, Llc Attesting update of a firmware layer
US11831688B2 (en) * 2021-06-18 2023-11-28 Capital One Services, Llc Systems and methods for network security
US20230064398A1 (en) * 2021-08-27 2023-03-02 Dell Products L.P. Uefi extensions for analysis and remediation of bios issues in an information handling system
WO2023048706A1 (en) * 2021-09-22 2023-03-30 Hewlett-Packard Development Company, L.P. Emulated network response

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006002368A2 (en) * 2004-06-22 2006-01-05 Sun Microsystems, Inc. Systems and methods for securing a computer boot
JP2008226159A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd 情報処理装置、ソフトウェア更新方法及び画像処理装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2779018B1 (fr) * 1998-05-22 2000-08-18 Activcard Terminal et systeme pour la mise en oeuvre de transactions electroniques securisees
DE60044844D1 (de) * 1999-02-15 2010-09-30 Hewlett Packard Co Kommunikation zwischen modulen in einer rechenvorrichtung
EP1126655A1 (de) 2000-02-15 2001-08-22 Siemens Aktiengesellschaft Verfahren zur Authentizitätssicherung von Hard- und Software in einem vernetzten System
US7325252B2 (en) * 2001-05-18 2008-01-29 Achilles Guard Inc. Network security testing
US20030028803A1 (en) * 2001-05-18 2003-02-06 Bunker Nelson Waldo Network vulnerability assessment system and method
EP1338939A1 (en) 2002-02-22 2003-08-27 Hewlett-Packard Company State validation device for a computer
US7694121B2 (en) * 2004-06-30 2010-04-06 Microsoft Corporation System and method for protected operating system boot using state validation
US8160244B2 (en) * 2004-10-01 2012-04-17 Broadcom Corporation Stateless hardware security module
US8166296B2 (en) * 2004-10-20 2012-04-24 Broadcom Corporation User authentication system
US8281132B2 (en) * 2004-11-29 2012-10-02 Broadcom Corporation Method and apparatus for security over multiple interfaces
MX2007009333A (es) * 2005-02-11 2007-10-10 Volt Inf Sciences Inc Cambio de trabajo de proyecto en el sistema y el metodo de sinergia de informacion administrativa y de negocios en el plan/alcance.
KR100670005B1 (ko) * 2005-02-23 2007-01-19 삼성전자주식회사 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
KR20070119011A (ko) 2005-03-04 2007-12-18 보다폰 가부시키가이샤 가치 정보 출력 방법 및 이동 통신 단말 장치
CA2648523C (en) * 2005-04-21 2018-09-04 Securedpay Solutions, Inc. Portable handheld device for wireless order entry and real time payment authorization and related methods
US8285988B2 (en) 2006-05-09 2012-10-09 Broadcom Corporation Method and system for command authentication to achieve a secure interface
EP1855476A3 (en) * 2006-05-11 2010-10-27 Broadcom Corporation System and method for trusted data processing
WO2008001322A2 (en) * 2006-06-30 2008-01-03 International Business Machines Corporation Message handling at a mobile device
US8136162B2 (en) * 2006-08-31 2012-03-13 Broadcom Corporation Intelligent network interface controller
US8984265B2 (en) * 2007-03-30 2015-03-17 Intel Corporation Server active management technology (AMT) assisted secure boot
WO2009020789A2 (en) 2007-08-03 2009-02-12 Interdigital Patent Holdings, Inc. Security procedure and apparatus for handover in a 3gpp long term evolution system
US8782801B2 (en) * 2007-08-15 2014-07-15 Samsung Electronics Co., Ltd. Securing stored content for trusted hosts and safe computing environments
JP5385148B2 (ja) * 2007-10-05 2014-01-08 パナソニック株式会社 セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路
US8683213B2 (en) * 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device
WO2009128010A1 (en) * 2008-04-14 2009-10-22 Philips Intellectual Property & Standards Gmbh A method for distributing encryption means
JP5390619B2 (ja) 2008-09-24 2014-01-15 インターデイジタル パテント ホールディングス インコーポレイテッド Homenode−b装置およびセキュリティプロトコル

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006002368A2 (en) * 2004-06-22 2006-01-05 Sun Microsystems, Inc. Systems and methods for securing a computer boot
JP2008226159A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd 情報処理装置、ソフトウェア更新方法及び画像処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017503289A (ja) * 2014-10-31 2017-01-26 小米科技有限責任公司Xiaomi Inc. 端末検証方法、装置、プログラム、及び記録媒体
US10019604B2 (en) 2014-10-31 2018-07-10 Xiaomi Inc. Method and apparatus of verifying terminal and medium
JP2019092134A (ja) * 2017-11-17 2019-06-13 株式会社シーエスサービス 暗号鍵生成方式
RU2808198C1 (ru) * 2023-04-28 2023-11-24 Общество с ограниченной ответственностью "Открытая мобильная платформа" Способ доверенной загрузки устройства с возможностью заверения разных этапов загрузки несколькими независимыми владельцами ключей

Also Published As

Publication number Publication date
US9679142B2 (en) 2017-06-13
JP5647332B2 (ja) 2014-12-24
JP2017022781A (ja) 2017-01-26
KR20120130793A (ko) 2012-12-03
SG184853A1 (en) 2012-11-29
EP2558972A1 (en) 2013-02-20
CN105468982A (zh) 2016-04-06
CA2796331A1 (en) 2011-10-20
JP2015035831A (ja) 2015-02-19
CN102844764A (zh) 2012-12-26
KR20130020734A (ko) 2013-02-27
CN102844764B (zh) 2015-12-16
US20170277895A1 (en) 2017-09-28
US8856941B2 (en) 2014-10-07
US20110302638A1 (en) 2011-12-08
US20150026471A1 (en) 2015-01-22
KR101523420B1 (ko) 2015-05-27
WO2011130211A1 (en) 2011-10-20
TW201202999A (en) 2012-01-16
TWI584625B (zh) 2017-05-21
TW201628368A (zh) 2016-08-01
TW201741925A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
JP5647332B2 (ja) ブートプロセスでのリリースの段階化された制御
US9924366B2 (en) Platform validation and management of wireless devices
JP5390619B2 (ja) Homenode−b装置およびセキュリティプロトコル
US8881257B2 (en) Method and apparatus for trusted federated identity management and data access authorization
Zhao et al. SecureSIM: rethinking authentication and access control for SIM/eSIM

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140403

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140410

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140514

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140609

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141106

R150 Certificate of patent or registration of utility model

Ref document number: 5647332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees