(57)【要約】共有鍵をデバイスに安全に通信するために使用されるシステム及び方法。一実施形態では、第１のデバイス（３２）及び第２のデバイス（３４）に共有鍵を安全に通信する方法であり、前記第１のデバイスを使用して、前記第１のデバイス（３２）に関連付けられた共有鍵及び固有識別子のペアリングを、鍵生成器（３６）から受信すること（５２）と、信頼できる第三者（３８）を使用して、前記鍵生成器（３６）から前記共有鍵及び固有識別子のペアリングを受信すること（５４）と、前記第１のデバイス（３２）を使用して、前記固有識別子及び前記共有鍵を使用する署名を生成すること（８０）と、前記第１のデバイス（３２）を使用して、前記署名及び前記固有識別子を前記信頼できる第三者（３８）に送信すること（８２）と、前記信頼できる第三者（３８）を使用して、前記署名に基づいて前記固有識別子を検証すること（８６）と、前記信頼できる第三者（３８）を使用して、前記固有識別子が検証されたときに前記共有鍵を判定することと、前記信頼できる第三者（３８）を使用して、前記第１のデバイス（３２）及び前記第２のデバイス（３４）が、前記共有鍵を使用して通信データを符号化及び復号することによって安全に通信することを可能にするために、前記第２のデバイス（３４）に前記共有鍵を送信すること（８８）とを説明する。【選択図】図５
2017536729.tif 000002
【特許請求の範囲】
【請求項１】
共有鍵を第１のデバイス及び第２のデバイスに安全に通信する方法であって、
前記第１のデバイスを使用して、前記第１のデバイスに関連付けられた共有鍵及び固有識別子のペアリングを鍵生成器から受信することと、
信頼できる第三者を使用して、前記鍵生成器から前記共有鍵と固有識別子のペアリングを受信することと、
前記第１のデバイスを使用して、前記固有識別子及び前記共有鍵を使用する署名を生成することと、
前記第１のデバイスを使用して、前記署名及び前記固有識別子を前記信頼できる第三者に送信することと、
前記信頼できる第三者を使用して、前記署名に基づいて前記固有識別子を検証することと、
前記信頼できる第三者を使用して、前記固有識別子が検証されたときに前記共有鍵を判定することと、
前記信頼できる第三者を使用して、前記第１のデバイス及び前記第２のデバイスが、前記共有鍵を使用して通信データを符号化及び復号することによって安全に通信することを可能にするために、前記第２のデバイスに前記共有鍵を送信することと
を含む、前記方法。
【請求項２】
前記署名及び前記固有識別子を送信することが、前記信頼できる第三者または前記第２のデバイスから受信した要求に応答して、前記署名及び前記固有識別子を送信することを含む、請求項１に記載の方法。
【請求項３】
前記要求がノンスを含み、前記署名を生成することが、前記共有鍵及び前記ノンスを使用して前記固有識別子に暗号学的ハッシュを実行することを含む、請求項２に記載の方法。
【請求項４】
前記信頼できる第三者または前記第２のデバイスが、
前記第１のデバイス及び前記第２のデバイスは初めて通信可能に結合されることと、
前記第２のデバイスは電源が投入されていることと、
前記第２のデバイスは共有鍵を知らないこと、またはそれらの任意の組み合わせ
を判定したときに送信することを含む、請求項２に記載の方法。
【請求項５】
前記第１のデバイスがブート・デバイスを含み、前記第２のデバイスが中央処理装置を含み、前記ブート・デバイス及び前記中央処理装置は、データ・バスを介して通信可能に結合され、前記中央処理装置は、ネットワークを介して前記信頼できる第三者に通信可能に結合されている、請求項１に記載の方法。
【請求項６】
前記ブート・デバイスを使用して、前記共有鍵を使用してスタートアップ・ルーチン命令を符号化することによって、前記ブート・デバイスに記憶された前記スタートアップ・ルーチン命令に署名することと、
前記ブート・デバイスを使用して、前記署名されたスタートアップ・ルーチン命令を前記中央処理装置に送信することと、
前記中央処理装置を使用して、前記署名されたスタートアップ・ルーチン命令を、前記共有鍵を使用して前記署名されたスタートアップ・ルーチン命令を復号することによって検証することと、
前記中央処理装置を使用して、コンピューティング・システムを初期化するために前記スタートアップ・ルーチン命令を実行することと
を含む、請求項５に記載の方法。
【請求項７】
プロセッサによって実行可能な命令を記憶するように構成された、有形の非一時的なコンピュータ可読媒体であって、前記命令が、
信頼できる第三者を使用して、第１のデバイスに関連付けられた共有鍵及び固有識別子のペアリングを記憶することと、
前記信頼できる第三者を使用して、前記共有鍵を使用して前記第１のデバイスから受信した署名された固有識別子に少なくとも部分的に基づいて、前記第１のデバイスの識別情報を検証することであって、前記署名された固有識別子が、前記固有識別子ならびに前記固有識別子及び前記共有鍵を使用して前記第１のデバイスによって生成された署名を含む、前記検証することと、
前記信頼できる第三者を使用して、前記第１のデバイスの前記識別情報が検証されたときに、前記固有識別子に少なくとも部分的に基づいて、前記共有鍵を判定することであって、前記信頼できる第三者が、異なるデバイスと関連付けられた複数の固有識別子及び共有鍵のペアリングを記憶するように構成された、前記判定することと、
前記第１のデバイスおよび前記第２のデバイスが、前記共有鍵を使用して通信データを符号化及び復号することによって、安全に通信することを可能にするために、前記信頼できる第三者から第２のデバイスに、前記共有鍵を送信すること
のための命令を含む、前記有形の非一時的なコンピュータ可読媒体。
【請求項８】
ノンスを生成するための命令と、前記署名された固有識別子を要求するために、前記信頼できる第三者から前記第１のデバイスに要求を送信する命令とを含み、前記要求は、前記第１のデバイスが、前記共有鍵及び前記ノンスを使用して、前記固有識別子に第１の暗号学的ハッシュ演算を実行することによって、前記署名を生成することを可能にするための前記ノンスを含む、請求項７に記載のコンピュータ可読媒体。
【請求項９】
前記第１のデバイスの前記識別情報を検証するための前記命令が、前記固有識別子、前記共有鍵、及び前記ノンスを使用して、前記信頼できる第三者によって実行される第２の暗号学的ハッシュ演算の出力と、前記署名を比較する命令を含む、請求項８に記載のコンピュータ可読媒体。
【請求項１０】
前記共有鍵を前記第２のデバイスに送信する前記命令が、公開鍵インフラストラクチャ暗号化技術を使用して前記共有鍵を暗号化するための命令を含む、請求項７に記載のコンピュータ可読媒体。
【請求項１１】
前記共有鍵を判定する前記命令が、前記固有識別子を前記複数のペアリングのうちの１つと照合するための命令を含む、請求項７に記載のコンピュータ可読媒体。
【請求項１２】
第１のデバイスを製造する方法であって、
鍵生成器を使用して、前記第１のデバイスを固有識別する固有識別子を生成することと、
前記鍵生成器を使用して、送信データを符号化し、受信データを復号するために、前記第１のデバイスによって使用されるように構成された、共有鍵を生成することと、
前記鍵生成器を使用して、前記第１のデバイス内の前記固有識別子及び前記共有鍵を記憶することと、
前記固有識別子及び前記共有鍵を前記鍵生成器から信頼できる第三者に送信することであって、前記信頼できる第三者が、
前記固有識別子及び前記共有鍵をペアリングとして記憶することと、
前記共有鍵を第２のデバイスに送信して、第１のデバイスと第２のデバイスが、前記共有鍵を使用してデータを符号化及び復号することによって安全に通信することと
を可能にする、前記送信することと
を含む、前記方法。
【請求項１３】
前記固有識別子及び前記共有鍵を前記信頼できる第三者に送信することが、公開鍵インフラストラクチャ暗号化技術を使用して前記固有識別子及び前記共有鍵を暗号化し、前記暗号化された固有識別子及び共有鍵をネットワーク上で送信することを含む、請求項１２に記載の方法。
【請求項１４】
前記固有識別子を生成することが、メディア・アクセス制御アドレスを生成することを含む、請求項１２に記載の方法。
【請求項１５】
前記共有鍵を生成することが、対称鍵を生成することを含む、請求項１２に記載の方法。
【請求項１６】
前記固有識別子及び前記共有鍵を前記第１のデバイスに記憶することが、前記共有鍵が別のエンティティによってアクセス可能でないように、前記第１のデバイスの製造中に前記第１のデバイスのメモリを静的にプログラミングすることを含む、請求項１２に記載の方法。
【請求項１７】
固有識別子、共有鍵、及びコンピューティング・システムを初期化するためにプロセッサによって実行可能なスタートアップ・ルーチン命令を記憶するように構成された１つ以上の不揮発性メモリと、
マイクロコントローラであって、
前記固有識別子及び署名を信頼できる第三者に提供する、ノンスを含む要求を受信し、
前記固有識別子、共有鍵、及び前記ノンスを使用して前記署名を生成し、
前記署名及び前記固有識別子を信頼できる第三者に送信して、前記信頼できる第三者が前記共有鍵を判定し、前記共有鍵を前記プロセッサに通信することを可能にし、それにより前記マイクロコントローラ及び前記プロセッサが前記共有鍵を使用して安全に通信することを可能にする
ように構成された、前記マイクロコントローラと
を含む、不揮発性ブート・デバイス。
【請求項１８】
請求項１７に記載の不揮発性ブート・デバイスであって、前記マイクロコントローラが、
前記共有鍵を使用して暗号学的ハッシュを実行することによってスタートアップ・ルーチン命令に署名し、
前記署名されたスタートアップ・ルーチンを前記プロセッサに送信して、前記プロセッサが、
前記共有鍵を使用して前記暗号学的ハッシュを実行し、前記マイクロコントローラによって実行された前記地図作成ハッシュの結果と、前記プロセッサによって実行された前記暗号学的ハッシュの結果とを比較することによって、前記スタートアップ命令を検証することと、
前記スタートアップ命令を実行して、前記スタートアップ・ルーチン命令が検証されたときに前記コンピューティング・システムを初期化することと
を可能にする
ように構成された、前記不揮発性ブート・デバイス。
【請求項１９】
前記信頼できる第三者が、前記署名を使用して前記固有識別子を検証し、前記固有識別子が検証されたときに、前記共有鍵を前記プロセッサに通信するように構成された、請求項１７に記載の不揮発性ブート・デバイス。
【請求項２０】
前記ノンスが、乱数または擬似乱数である、請求項１７に記載の不揮発性ブート・デバイス。
【請求項２１】
前記マイクロコントローラが、データ・バスを介して前記プロセッサから前記要求を受信し、前記データ・バスを介して前記署名及び前記固有識別子を前記プロセッサに送信するように構成され、前記プロセッサが、ネットワークを介して前記署名及び前記固有識別子を前記信頼できる第三者に送信し、前記共有鍵を前記信頼できる第三者からネットワークを介して受信するように構成された、請求項１７に記載の不揮発性ブート・デバイス。
【請求項２２】
前記１つ以上の不揮発性メモリが、不揮発性ブート・ブロックを含む、請求項１７に記載の不揮発性ブート・デバイス。
【請求項２３】
プロセッサによって実行可能な命令を記憶するように構成された、有形の非一時的なコンピュータ可読媒体であって、前記命令が、
前記プロセッサからデバイスに、前記デバイスから固有識別子及び、前記デバイスに記憶された共有鍵に少なくとも部分的に基づいて生成された署名を要求するために、要求を送信し、
前記プロセッサを使用して、前記デバイスから前記固有識別子及び前記署名を受信し、
前記プロセッサから信頼できる第三者に前記固有識別子及び前記署名を送信して、前記信頼できる第三者が前記共有鍵を判定することを可能とし、
前記プロセッサを使用して、前記信頼できる第三者からの前記共有鍵を受信し、
前記プロセッサを使用して、前記デバイスに送信されたデータを符号化し、前記共有鍵を使用して前記デバイスから受信したデータを復号することによって、前記デバイスと通信する
ための命令を含む、前記有形の非一時的なコンピュータ可読媒体。
【請求項２４】
前記デバイスから符号化されたスタートアップ・ルーチン命令を受信し、
前記スタートアップ・ルーチンの命令を復号し、
前記復号されたスタートアップ・ルーチン命令を実行して、前記プロセッサを初期化する
ための命令を含む、請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
前記要求を送信する前記命令が、前記プロセッサが前記デバイスに最初に結合されたときに前記要求を送信するための命令を含む、請求項２３に記載のコンピュータ可読媒体。
【請求項２６】
前記信頼できる第三者から前記要求を受信する命令を含む、請求項２３に記載のコンピュータ可読媒体。
【請求項２７】
前記プロセッサを使用してノンスを生成し、
前記ノンスを前記プロセッサから前記デバイス及び前記信頼できる第三者に送信する
ための命令を含む、請求項２３に記載のコンピュータ可読媒体。
【請求項２８】
第２のデバイスに通信可能に結合された第１のデバイスであって、前記第１のデバイスが、共有鍵を使用して前記第２のデバイスと安全に通信するように構成され、前記第１のデバイスは、
前記第２のデバイスに通信可能に結合された信頼できる第三者に、前記第１のデバイスに関連付けられた固有識別子及び署名を送信することにより、前記第２のデバイスが前記共有鍵を判定することを可能にし、
前記第２のデバイスが前記信頼できる第三者から前記共有鍵を受信した後に、前記共有鍵を使用して第１の暗号学的ハッシュを実行することによって、データに署名し、
前記署名されたデータを前記第２のデバイスに送信して、前記第２のデバイスが、前記共有鍵を使用して第２の暗号学的ハッシュを実行し、前記第１の暗号学的ハッシュからの結果を前記第２の暗号学的ハッシュからの結果と比較することによって、前記データを検証することを可能にする
ように構成された、前記第１のデバイス
を含む、コンピューティング・システム。
【請求項２９】
前記第２のデバイスが中央処理装置であり、前記第１のデバイスが不揮発性ブート・デバイスである、請求項２８に記載のコンピューティング・システム。
【請求項３０】
前記第１のデバイスが、前記第２のデバイスまたは前記信頼できる第三者から受信した要求に応答して、前記信頼できる第三者に前記固有識別子及び前記署名を送信して、前記信頼できる第三者が、前記第１のデバイスの識別情報を検証し、前記第１のデバイスの識別情報が検証されたときに、前記第２のデバイスに前記共有鍵を通信するように構成されている、請求項２８に記載のコンピューティング・システム。
【請求項３１】
前記第１のデバイスが、前記固有識別子に前記第１の暗号学的ハッシュを実行することによって前記署名を生成するように構成され、前記第１の暗号学的ハッシュが、前記第２の暗号学的ハッシュと同じ演算である、請求項２８に記載のコンピューティング・システム。
【請求項３２】
前記データが、スタートアップ・ルーチン命令を含み、前記第２のデバイスが、前記スタートアップ・ルーチン命令が検証された後に、前記コンピューティング・システムを初期化するために前記スタートアップ・ルーチン命令を実行するように構成された、請求項２８に記載のコンピューティング・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、共有暗号鍵の安全な通信に関し、特に、安全なチャネルによって接続されていないデバイス間の共有暗号鍵の通信に関する。
【背景技術】
【０００２】
一般に、デバイスは、互いに安全に通信するために共有暗号鍵を利用することができる。例えば、第１のデバイスは、共有鍵を利用してデータに署名（例えば、符号化）し、署名されたデータを第２のデバイスに送信することができる。次いで、第２のデバイスは、受信データを検証（例えば、復号）するために共有鍵を利用することができる。このようにすることで、符号化されたデータをインターセプトする外部の第三者は、共有鍵なしでデータを復号することができない。したがって、共有鍵を使用して通信の安全を確保することは、互いに共有鍵を知っている通信デバイスを前提とする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
言い換えれば、共有鍵を使用してデータを符号化及び復号する前に、共有鍵を各デバイスに安全に通信することができる。多くの場合、共有鍵を安全に通信するための方法は、広範な数学的計算を利用することができる。例えば、デバイス間で共有鍵を通信するためにＤｉｆｆｉｅ−Ｈｅｌｌｍａｎアプローチを利用することは、デバイスがモジュロ演算を実行することを伴い、非自明な計算処理を必要とする可能性がある。しかし、メモリデバイスなどの一部のデバイスは、処理能力が限られている可能性がある。
【０００４】
したがって、例えば、処理能力が制限されたデバイスであっても共有鍵の通信を可能にすることによって、共有鍵の安全な通信を改善することが有益である。
【図面の簡単な説明】
【０００５】
【図１】一実施形態による、コンピューティング・システムのブロック図を示す。
【図２】一実施形態による、共有鍵を通信するために使用されるデバイスのブロック図を示す。
【図３】一実施形態による、共有鍵を通信するための図２のデバイスを準備するためのプロセス・フローを示す。
【図４】一実施形態による、図２のデバイス間のデータ・フロー図を示す。
【図５】一実施形態による、図２のデバイス間で共有鍵を安全に通信するためのプロセス・フローを示す。
【発明を実施するための形態】
【０００６】
上述したように、共有暗号鍵は、安全な（例えば、符号化された及び／または署名された）通信を可能にするために、デバイスによってしばしば使用される。より具体的には、デバイスは、送信データに署名（例えば、符号化）し、受信データを検証（例えば、復号）するために、共有鍵を利用することができる。例えば、第１のデバイスは、共有鍵を使用してデータに対して暗号学的ハッシュを実行することによってデータに署名し、ハッシュ結果と共に署名データを第２のデバイスに送信することができる。次に、第２のデバイスは、共有鍵を使用して暗号学的ハッシュを実行し、結果を比較することによって、受信データを検証することができる。このように、通信のいずれかの端にあるデバイスは、共有鍵を利用することができる。言い換えれば、共有鍵は、各通信デバイスに安全に通信され得る。
【０００７】
理解され得るように、共有鍵は送信データを保護するための基礎であるので、外部の第三者が共有鍵を取得しないことが重要である。このように、共有鍵は、外部の当事者が共有鍵を判定することなく、デバイスに安全に通信されるべきである。様々な方法を使用して、デバイスへの共有鍵の安全な送信を容易にすることができる。そのような方法は、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換、Ｒｏｎ  Ｒｉｖｅｓｔ、Ａｄｉ  Ｓｈａｍｉｒ及びＬｅｏｎａｒｄ  Ａｄｌｅｍａｎ（ＲＳＡ）システム・アプローチ、または別の公開鍵インフラストラクチャ・アプローチを含むことができる。しかしながら、これらの方法は計算上複雑であり、膨大な処理能力を利用する。
【０００８】
例えば、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換を利用するために、第１及び第２のデバイスは、まず、１７などの素数の法、及び３などの素数の法の原始根を判定することができる。次に、第１及び第２のデバイスは、それぞれ秘密の整数を選択することができる。例えば、第１のデバイスは１５を選択し、第２のデバイスは１３を選択することができる。それらの秘密の整数を使用して、第１及び第２のデバイスは原始根をそのそれぞれの秘密の整数に累乗し、素数の法を使用してモジュロ演算を行うことができる。例えば、第１のデバイスは、３１５ｍｏｄ１７を計算することができ、それは６であり、第２のデバイスは、３１３ｍｏｄ１７を計算することができ、それは１２である。計算された結果は、次に、他のデバイスに送信される。次に各受信デバイスは、受信結果をそれぞれの秘密整数に累乗し、素数の法を使用してモジュロ演算を実行することができる。例えば、第１のデバイスは、１０に等しい１２１５ｍｏｄ１７を計算することができ、それは１０であり、第２のデバイスは、６１３ｍｏｄ１７を計算することができ、それは同じく１０に等しい。このようにして、第１及び第２のデバイスは共に、例えば１０という共有鍵を判定することができる。
【０００９】
このように、第１及び第２のデバイスの両方は、一般的には、モジュロ演算を迅速かつ効率的に実行するための処理コンポーネントを含む。より具体的には、処理コンポーネントは、複数の指数演算及びモジュロ演算を実行する。さらに、セキュリティを向上させるために、使用される数字のサイズを例えば数百桁まで増加させることができる。言い換えれば、現実的世界の状況では、指数関数演算及びモジュロ演算は、上記の例よりはるかに複雑であり得る。
【００１０】
しかしながら、データを保護するために共有鍵を利用することを望むいくつかのデバイスは、その処理能力が制限されていることがある。そのような１つの例は、コンピューティング・システムをブートするために使用される不揮発性ブート・デバイスであり得る。一般に、不揮発性ブート・デバイスは、限定された動作を実行し、制限された処理能力を有する処理コンポーネントを含むことができる。例えば、処理コンポーネントは、整数の算術演算及び論理演算しか実行しない算術論理ユニット（ＡＬＵ）であってもよい。
【００１１】
このようなデバイスの処理能力を高めることは可能ではあるが、コストがかかりすぎる可能性がある。言い換えれば、不揮発性ブート・デバイスの処理能力を増加させることなく、共有鍵のコンピューティング・システムとの安全な通信を可能にすることは有益であろう。
【００１２】
したがって、本開示は、最小の処理要件で共有鍵の安全な通信を可能にする技術を記述する。例えば、いくつかの実施形態は、通信を保護するために、公開鍵インフラストラクチャ（ＰＫＩ）技術よりも計算の複雑さが少ない、共有対称鍵を利用することができる。より具体的には、共用対称鍵アプローチは、モジュロ演算のようなＰＫＩ技術で使用されるより広範なコンピュータ計算と比較して、局所組み合わせを使用して主に実装され得る。
【００１３】
さらに、いくつかの実施形態は、サーバなどの信頼できる第三者の使用を通じて共有鍵を安全に通信することができる。より具体的には、鍵生成器は、第１のデバイスのための固有識別子及び共有鍵のペアリングを生成することができる。ペアリングは、例えば、製造中に、かつ信頼できる第三者において、第１のデバイスに記憶されてもよい。共有鍵を第２のデバイスに通信するために、第１のデバイスは、その固有識別子と、共有鍵及び、ノンス（例えば、ランダムまたは疑似乱数）を使用して生成された署名を、信頼できる第三者に送信することができる。次に、信頼できる第三者は、固有識別子を使用して、対応する共有鍵を検索し、署名を検証することができる。署名が検証された場合、信頼できる第三者は、それが固有識別子に基づいて調べた安全な鍵が、第１のデバイスに記憶された安全な鍵と同じであることを保証され得る。このように、信頼できる第三者は、第１のデバイスと第２のデバイスとの間の通信チャネル上に共有鍵を公開することなく、共有鍵を安全なチャネルを介して第２のデバイスに通信することができる。その後、第１及び第２のデバイスは、共有鍵を使用して安全に通信することができる。
【００１４】
したがって、以下でより詳細に説明するように、デバイス間に既存の安全なチャネルが存在しない場合であっても、共有鍵をデバイスと安全に共有することができる。言い換えれば、署名及び固有識別子だけしか受信しない別の当事者は、その当事者が、信頼できる第三者と安全なチャネルを介して以前に共有された、固有識別子及び共有鍵のペアリングへのアクセス権を有していない限り、共有鍵を判定することが出来ない。さらに、以下でより詳細に説明するように、共有鍵は、第１のデバイスによって実行される最小限の計算で第２のデバイスと安全に共有することができる。より具体的には、第１のデバイスによる処理は、例えば、固有識別子に対して暗号学的ハッシュ演算を実行することによって、共有鍵とノンスとを使用して署名を生成することしか含まなくてもよい。
【００１５】
上述したように、本明細書で説明する技術は、コンピューティング・システム内の不揮発性ブート・デバイスに特に有用であり得る。説明を助けるために、不揮発性ブート・デバイス１２を備えたコンピューティング・システム１０の実施形態を図１に示す。コンピューティング・システム１０は、コンピュータ、ページャ、携帯電話、パーソナル・オーガナイザ、制御回路等のような様々なタイプのいずれかであってもよい。図１に示す様々な機能ブロックは、ハードウェア要素（回路を含む）、ソフトウェア要素（コンピュータ可読媒体に記憶されたコンピュータ・コードを含む）、またはハードウェア要素とソフトウェア要素の両方の組み合わせを含むことができる。図１は、特定の実施態様の単なる一例に過ぎず、コンピューティング・システム１０に存在し得るコンポーネントのタイプを示すことを意図していることはさらに留意すべきである。
【００１６】
図示されるように、コンピューティング・システム１０は、中央処理装置１４及びメモリ１６を含む。より具体的には、中央処理装置１４は、メモリ１６に記憶された命令を実行して、本明細書に記載されている技術において様々な動作を実行することができる。このように、中央処理装置１４は、１つ以上の汎用マイクロプロセッサ、１つ以上の特定用途向けプロセッサ（ＡＳＩＣ）、１つ以上のフィールド・プログラマブル論理アレイ（ＦＰＧＡ）、またはそれらの任意の組み合わせを含むことができる。さらに、メモリ１６は、中央処理装置１４によって実行可能な命令及び／または中央処理装置１４によって処理されるデータを記憶する、有形の非一時的なコンピュータ可読媒体であってもよい。いくつかの実施形態では、メモリ１６は、ランダム・アクセス・メモリ（ＲＡＭ）などの揮発性メモリ及び／または、読出し専用メモリ（ＲＯＭ）、フラッシュ・メモリ、強誘電体ＲＡＭ（Ｆ−ＲＡＭ）、ハード・ディスク、フロッピー・ディスク、磁気テープ、光ディスク、あるいはそれらの任意の組み合わせなどの不揮発性メモリを含むことができる。
【００１７】
さらに、中央処理装置１４は、コンピューティング・システム１０内の他のコンポーネントを利用して、様々な機能を実行することができる。１つの機能は、ユーザに情報を提供し、ユーザから制御コマンドを受信することを含む、ユーザとの情報の通信を含むことができる。例えば、中央処理装置１４は、スピーカ１８にオーディオ・データを提供し、オーディオ・データをユーザに音声として通信するようにスピーカ１８に指示することができる。加えて、中央処理装置１４は、ビデオデータをディスプレイ２０に提供し、ディスプレイ２０に、ユーザに情報を提示するグラフィカル・ユーザ・インタフェースを表示するように指示することができる。さらに、情報の受信を容易にするために、中央処理装置１４は、１つ以上の入力デバイス２２を介してユーザから制御コマンドを受信することができる。いくつかの実施形態では、入力デバイス２２は、ボタン、スイッチ、キーボード、光学ペン、マウス、デジタイザ及びスタイラス、音声認識システム、タッチ感知ディスプレイ、またはそれらの任意の組み合わせを含むことができる。
【００１８】
さらに、情報は通信インタフェース２４を介して外部デバイスと通信することができる。さらに詳細には、通信インタフェース２４は、コンピューティング・システム１０が、パーソナル・エリア・ネットワーク（例えば、ブルートゥース・ネットワーク）、ローカル・エリア・ネットワーク（例えば、８０２．１１ｘ  Ｗｉ−Ｆｉネットワーク）、及び／またはワイド・エリア・ネットワーク（例えば、３Ｇセルラ・ネットワーク）などのネットワークに接続することを可能にすることができる。さらに、通信インタフェース２４は、コンピューティング・システム１０が、例えば、シリアル・ケーブルを介して外部デバイスに直接接続することを可能にすることができる。
【００１９】
上述した機能並びにその他を初期化するために、ブート・デバイス１２に記憶されたスタートアップ・ルーチン命令を実行することができる。図示のように、ブート・デバイス１２は、マイクロコントローラ２６と、スタートアップ・ルーチン命令を記憶するブート・ブロック２８のような１つ以上の不揮発性メモリとを含む。したがって、コンピューティング・システム１０に電源を投入すると、スタートアップ・ルーチン命令がブート・ブロック２８から検索され、中央処理装置１４が命令を実行することができる。より具体的には、スタートアップ・ルーチンは、コンピューティング・システム１０の適切な機能実行のための基盤を確立することができる。例えば、いくつかの実施形態では、中央処理装置１４がスタートアップ・ルーチン命令を実行すると、マルウェア・エラー検出が実行されて、メモリ１６に記憶された悪意のあるコード、欠陥コード、または他の方法で破損したコードの存在を、検出することができる。
【００２０】
したがって、ブート・デバイス１２から中央処理装置１４へのスタートアップ・ルーチン命令の安全な通信を確保することが重要である。１つの方法は、共有鍵の使用であってもよい。より具体的には、ブート・デバイス１２は、共有鍵を使用してスタートアップ・ルーチン命令に署名（例えば、符号化）し、署名された命令を中央処理装置１４に通信することができる。次に、中央処理装置１４は、共有鍵を使用して署名された命令を検証（例えば、復号）して、スタートアップ・ルーチンの命令を実行する。言い換えると、共有鍵を利用するために、共有鍵は、ブート・デバイス１２及び中央処理装置１４の両方と安全に共有することができる。
【００２１】
上述したように、共有鍵を共有するための様々な計算集中的な方法を利用することができる。したがって、このような方法を利用するためには、中央処理装置１４及びマイクロコントローラ２６の処理能力は、効率的に計算を実行するのに十分なものでなければならない。例えば、マイクロコントローラ２６は、モジュロ演算を効率的に実行することを求められ得る。しかし、データの符号化／復号などの他の動作を実行するためにマイクロコントローラ２６によって利用される処理能力は、モジュロ演算などの計算集中的な計算を実行するために使用されるよりも少なくてもよい。
【００２２】
したがって、共有鍵は、異なる中央処理装置１４に接続されているとき、または最大でもコンピューティング・デバイス１０の各電源投入時にしか共有され得ないので、本明細書で説明される技術は、集中的な計算を利用することなく、また安全でない通信チャネルを介して共有鍵を公開することなく、共有鍵をブート・デバイス１２及び中央処理装置１４で共有することを可能にする。こうして、マイクロコントローラ２６の処理能力が低減することができ、したがって、ブート・デバイス１２の製造コストも低減することができる。言い換えれば、本明細書で説明する技術は、一方の当事者（例えば、デバイス）が処理能力によって制限されている場合であっても、共有鍵が安全に通信されることを可能にする。
【００２３】
しかしながら、本明細書で説明する技術は、電力制限のあるデバイスを処理することに限定されない。言い換えれば、これらの技術は、共有鍵を安全に通信するために任意のデバイスによって利用されてもよい。説明を助けるために、共有鍵共有システム３０のブロック図を図２に示す。図示の実施形態では、共有鍵共有システム３０は、デバイスＡ３２（例えば、ブート・デバイス１２）とデバイスＢ３４（例えば、中央処理装置１４）との間の安全な通信を可能にすることができる。言い換えると、共有鍵共有システム３０は、共有鍵を、デバイスＡ３２及びデバイスＢ３４と安全に通信することができる。
【００２４】
共有鍵の通信を容易にするために、鍵共有システム３０は、鍵生成器３６及び信頼できる第三者３８を含む。いくつかの実施形態では、鍵生成器３６は、安全な施設におけるデバイスのために、固有識別子及び共有鍵のペアリングを生成することができる。したがって、図示されているように、鍵生成器３６は、鍵生成器３６の機能を容易にするために、１つ以上の処理コンポーネント４０及びメモリ４２を含むことができる。いくつかの実施形態では、固有識別子は、メディア・アクセス制御（ＭＡＣ）アドレスなどのデバイスＡ３２を固有に識別する識別子であってもよい。さらに、共有鍵は、通信されたデータを保護するために使用される暗号鍵（例えば、対称鍵または秘密鍵）であってもよい。
【００２５】
いくつかの実施形態では、鍵生成器３６はデバイスＡ３２を製造する製造施設の一部であってもよい。説明を助けるために、デバイスＡ３２が製造されるとき、製造者は、鍵生成器３６を利用して固有識別子及び共有鍵のペアリングを生成し、ペアリングをデバイスＡ３２に記憶することができる。例えば、ペアリングは、中央処理装置１４または別のエンティティによって直接アクセス可能ではなく、またはそれに露出されていない、ブート・ブロック２８の部分など、デバイスＡの不揮発性メモリに静的にプログラムされてもよい。さらに、ペアリングは安全な施設に記憶されているので、望ましくない侵入の可能性が最小限に抑えられる。こうして、固有識別子及び共有鍵のペアリングはデバイスＡ３２に安全に通信することができる。したがって、図示のように、鍵生成器３６は、第１の安全な通信チャネル３３を介してデバイスＡ３２に通信可能に結合される。
【００２６】
鍵生成器３６は、デバイスＡ３２用のペアリングを生成することに加えて、例えば、製造された各デバイスのために、複数のデバイスのそれぞれについて固有識別子及び共有鍵のペアリングを生成することができる。次に、生成されたペアリングは、信頼できる第三者３８に安全に通信することができる。
【００２７】
一般に、信頼できる第三者３８は、鍵生成器３６と安全に通信し、複数の固有識別子及び共有鍵のペアリングを安全に記憶することができるデータベースであってもよい。例えば、信頼できる第三者３８は、クラウド内に位置するリモートサーバであってもよい。したがって、図示のように、信頼できる第三者３８は、受信したペアリングを記憶するために鍵生成器３６及びメモリ４６との安全な通信を容易にする１つ以上の処理コンポーネント４４を含むことができる。
【００２８】
鍵生成器３６と信頼できる第三者３８との間の通信を確保するための任意の適切な手段を利用することができる。例えば、処理コンポーネント４０及び４４は、鍵生成器３６と信頼できる第三者３８との間で通信されるデータを暗号化するのに十分な処理能力を含むことができる。いくつかの実施形態において、暗号化は、データ暗号化規格（ＤＥＳ）、高度暗号化規格（ＡＥＳ）、国際データ暗号化アルゴリズム（ＩＤＥＡ）、ＲＳＡ暗号化、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ暗号化、または別のＰＫＩ暗号化技術を利用することができる。したがって、示すように、鍵生成器３６は、第２の安全な通信チャネル３５を介して信頼できる第三者３８に通信可能に結合される。言い換えれば、鍵生成器３６及び信頼できる第三者３８は、第２の通信チャネル３５を保護するための暗号化技術を利用するために十分な処理能力を備えることができる。いくつかの実施形態では、第２の安全な通信チャネル３５は、ワイド・エリア・ネットワーク（ＷＡＮ）またはローカル・エリア・ネットワーク（ＬＡＮ）などのネットワークを利用することができる。
【００２９】
以下でより詳細に説明するように、デバイスＢ３４と共有鍵を共有するプロセスが初期化されるとき、デバイスＡ３２は、署名及びその固有識別子を信頼できる第三者３８に通信することができる。いくつかの実施形態では、デバイスＡ３２は、信頼できる第三者３８と直接通信することができる。したがって、図示のように、デバイスＡ３２及び信頼できる第三者３８は、安全でない可能性がある第３の通信チャネル３７を介して通信可能に結合されてもよい。いくつかの実施形態では、第３の通信チャネル３７は、ワイド・エリア・ネットワーク（ＷＡＮ）またはローカル・エリア・ネットワーク（ＬＡＮ）などのネットワークを利用することができる。
【００３０】
他の実施形態では、デバイスＡ３２は、デバイスＢ３４を介して信頼できる第三者３８と通信することができる。言い換えれば、デバイスＡ３２は、デバイスＢ３４に署名及びその固有識別子を通信することができ、デバイスＢ３４は固有識別子及び署名を信頼できる第三者３８に中継することができる。したがって、図示されるように、デバイスＡ３２は、最初は安全でない可能性がある第４の通信チャネル３９を介してデバイスＢ３４に通信可能に結合される。例えば、コンピューティング・デバイス１０において、第４の通信チャネル３９は、中央処理装置１４とブート・デバイス１２とを通信可能に結合するデータ・バスであってもよい。
【００３１】
以下でより詳細に説明するように、信頼できる第三者３８が固有識別子及び署名を受信すると、信頼できる第三者３８は、受信した固有識別子を使用して対応する共有鍵を検索し、受信した共有鍵を使用して受信した署名を検証することができる。署名が検証された場合、信頼できる第三者３８は、共有鍵をデバイスＢ３４に安全に通信することができる。
【００３２】
一般に、信頼できる第三者３８とデバイスＢ３４との間の通信を保護するための任意の適切な手段を利用することができる。例えば、処理コンポーネント４０及び中央処理装置１４は、信頼できる第三者３８とデバイスＢとの間で通信されるデータを暗号化するのに十分な処理能力を含むことができる。いくつかの実施形態において、暗号化は、データ暗号化規格（ＤＥＳ）、高度暗号化規格（ＡＥＳ）、国際データ暗号化アルゴリズム（ＩＤＥＡ）、ＲＳＡ暗号化、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ暗号化、または別のＰＫＩ暗号化技術を利用することができる。したがって、図示されるように、信頼できる第三者３８は、第５の安全な通信チャネル４１を介してデバイスＢ３４に通信可能に結合されている。言い換えれば、信頼できる第三者３８及びデバイスＢ３４は、第５の通信チャネル４１を保護する暗号化技術を利用するために十分な処理能力を備えることができる。例えば、コンピューティング・デバイス１０において、中央処理装置１４及び信頼できる第三者は、通信インタフェース２４に接続されたネットワークを介して通信可能に結合されてもよい。言い換えれば、第５の安全な通信チャンネル４１は、ワイド・エリア・ネットワーク（ＷＡＮ）またはローカルエリアネットワーク（ＬＡＮ）などのネットワークを利用することができる。
【００３３】
デバイスＢ３４が共有鍵を受信すると、デバイスＡ３２及びデバイスＢ３４は、共有鍵を使用して通信されたデータを符号化及び復号することによって安全に通信することができる。このようにして、デバイスＡ３２とデバイスＢとの間で通信されるデータは、通信されたデータの完全性を検証する共有鍵を使用してデータに署名することによって保護される。上述したように、本明細書に記載の技術を利用して共有鍵を安全に通信することは、鍵共有システム３０をセット・アップすることによって可能にすることができる。
【００３４】
鍵共有システム３０をセット・アップするためのプロセス４８の一実施形態を図３に示す。一般に、プロセス４８は、固有識別子及び共有鍵のペアリングを生成すること（プロセス・ブロック５０）、第１のデバイスにペアリングを記憶すること（プロセス・ブロック５２）、信頼できる第三者に記憶するためにペアリングを送信すること（プロセス・ブロック５４）、及び共有鍵を第２のデバイスに安全に通信すること（プロセス・ブロック５６）を含む。いくつかの実施形態では、プロセス４８は、メモリ１６、４２、４６などの１つ以上の有形の非一時的なコンピュータ可読媒体及び／またはブート・ブロック２８（単独または組み合わせのいずれか）に記憶され、中央処理装置１４、処理コンポーネント４０もしくは４４、及び／またはマイクロコントローラ２６のような１つ以上の処理コンポーネントによって（単独または組み合わせて）実行される、複数の命令によって実施することができる。
【００３５】
したがって、いくつかの実施形態では、鍵生成器３６は、デバイスＡ３２のための固有識別子及び共有鍵のペアリングを生成することができる（プロセス・ブロック５０）。より具体的には、鍵生成器３６は、デバイスＡ３２を固有に識別するための固有識別子を生成してもよい。例えば、一部の実施形態では、固有識別子は、シリアル番号及び製造者識別子を含むＭＡＣアドレスであってもよい。より具体的には、シリアル番号は、デバイスＡ３２が製造された順序を示すことができる。言い換えれば、シリアル番号を生成するために、鍵生成器３６は、１つのデバイスにシリアル番号を割り当て、シリアル番号をインクリメントし、インクリメントされたシリアル番号を次のデバイスに割り当てることができる。他の実施形態では、固有識別子は、例えば複数のルールのセットに基づいてランダムに生成されてもよい。
【００３６】
さらに、鍵生成器３６は、デバイスＡ３２と通信されたデータを符号化／復号するために使用される、共有鍵を生成することができる。より具体的には、共有鍵は、デバイスＡとデバイスＢとの間の通信に使用され得る符号化／復号のタイプに基づいて生成されてもよい。いくつかの実施形態では、共有鍵は、ルールの特定のセットに基づいて生成されてもよい。他の実施形態では、共有鍵は、数字、文字、及び／または記号を含むことができる大きなランダムに生成された文字列であってもよい。共有鍵のサイズは、外部当事者が鍵のすべての可能性を推測できる可能性を低減するように選択することができる。したがって、共有鍵は、８０ビット、１２８ビット、２５６ビット、またはそれ以上であってもよい。
【００３７】
いくつかの実施形態では、固有識別子及び共有鍵は、別々に生成されてもよい。例えば、デバイスＡ３２に対する固有識別子は、共有鍵を生成するためのアルゴリズムにアクセスできない製造者によって生成されてもよい。その後、別個の安全な施設が共有鍵を生成することができる。言い換えれば、鍵生成器３６は、製造施設及び／または追加の安全な施設を含むことができる。
【００３８】
デバイスＡ３２の固有識別子及び共有鍵が生成されると、鍵生成器３６は、メモリ４２にペアリングを記憶することができる。より具体的には、固有識別子及び共有鍵は、それらが互いに対応するように記憶することができる。言い換えれば、対応する共有鍵は、固有識別子に基づいて判定されてもよい。いくつかの実施形態では、共有鍵が単一の固有識別子とペアになっている場合、固有識別子は、共有鍵に基づいて判定されてもよい。
【００３９】
さらに、鍵生成器３６は、デバイスＡ３２に固有識別子及び共有鍵のペアリングを記憶することができる（プロセス・ブロック５２）。いくつかの実施形態では、ペアリングは、製造中にデバイスＡ３２に記憶されてもよい。例えば、ブート・デバイス１２の製造中に、鍵生成器３６は、中央処理装置１４により直接アクセスできないブート・ブロック２８の一部分のような別のエンティティに、直接アクセス可能でなくまたさらされていない、不揮発性メモリに、ペアリングを静的にプログラムすることができる。いくつかの実施形態では、ペアリングは、例えばディスクリート回路を使用してデバイスＡ３２にハードワイヤ接続されてもよい。他の実施形態では、デバイスＡ３２の固有識別子は、共有鍵へのアクセス権を持たない製造業者によって記憶されてもよい。その後、別個の安全な施設、例えば共有鍵を生成した安全な施設は、それが固有識別子とペアになるようにデバイスＡに共有鍵を記憶することができる。言い換えれば、ブート・デバイス１２の製造が完了した後に、ペアリングをブート・デバイス１２に記憶することができる。
【００４０】
より具体的には、ペアリングは、製造施設などの安全な施設でデバイスＡ３２に記憶されてもよい。いくつかの実施形態では、安全な施設は、外部当事者がペアリングへのアクセス権を得る可能性を低減する侵入防止システムを含むことができる。このように、特に、製造中にペアリングが記憶されるとき、共有鍵は、デバイスＡ３２に安全に通信することができる。
【００４１】
さらに、固有識別子及び共有鍵のペアリングは、信頼できる第三者３８に記憶することができる（プロセス・ブロック５４）。より具体的には、ペアリングは、例えば、ネットワークを介して、鍵生成器３６から信頼できる第三者３８に通信することができる。このような実施形態では、転送されたデータを暗号化することによってペアリングを安全に通信することができる。より具体的には、鍵生成器３６は、ペアリングを暗号化し、暗号化されたペアリングを信頼できる第三者３８に通信することができる。次に、信頼できる第三者３８は、受信したペアリングを暗号解読し、暗号解読されたペアリングをメモリ４６に記憶する。
【００４２】
次に、共有鍵は、信頼できる第三者３８からデバイスＢ３４に安全に通信することができる（プロセス・ブロック５６）。いくつかの実施形態では、共有鍵は、例えば、ネットワークを介して信頼できる第三者３８からデバイスＢ３４に通信されてもよい。そのような実施形態では、共有鍵は、転送されたデータを暗号化することによって安全に通信することができる。より具体的には、信頼できる第三者３８は、共有鍵を暗号化し、暗号化された鍵をデバイスＢ３４に通信することができる。次に、デバイスＢ３４は、受信した鍵を暗号解読し、例えばメモリ１６に暗号解読された共有鍵を記憶する。
【００４３】
しかしながら、共有鍵は、デバイスＡ３２とデバイスＢ３４との間の通信を保護するために使用されるので、共有鍵を秘密に保たねばならない。したがって、共有鍵をデバイスＢ３４に通信するプロセスは、外部第三者が共有鍵を取得する可能性を低減するためのセキュリティ手段を含むことができる。説明を助けるため、共有鍵を通信するために使用される、信頼できる第三者３８、デバイスＢ３４、及びデバイスＡ３２の間のデータ・フローを、図４に記載する。
【００４４】
図示された実施形態では、デバイスＢ３４は、デバイスＡ３２に、その固有識別子及び署名（矢印５８）について要求を送信することができる。例えば、コンピューティング・システム１０において、中央処理装置１４は、データ・バスを介してブート・デバイス１２に要求を通信することができる。いくつかの実施形態では、署名は、メッセージのオリジナリティを提供するために使用される乱数または疑似乱数であり得る、ノンスを使用して生成され得る。したがって、要求とともに、デバイスＢ３４はノンスを送信することができる。他の実施形態では、信頼できる第三者３８は、ノンスと共にデバイスＡ３２に要求を送信（図示せず）することができる。
【００４５】
この要求に応答して、デバイスＡ３２は署名を生成することができる（矢印６０）。いくつかの実施形態では、署名は、ノンス及び共有鍵を使用して固有識別子に対して暗号学的ハッシュを実行することによって生成することができる。例えば、コンピューティング・システム１０では、マイクロコントローラ２６が署名を生成することができる。
【００４６】
次に、デバイスＡ３２は、署名と共にデバイスＢ３４に固有識別子を送信することができ（矢印６２）、デバイスＢ３４は、信頼できる第三者に固有識別子及び署名を中継することができる（矢印６４）。例えば、コンピューティング・システム１０において、ブート・デバイス１２は、データ・バスを介して固有識別子及び署名を中央処理装置１４に通信することができる。中央処理装置１４は、通信インタフェース２４に接続されたネットワークを介して、固有識別子及び署名を信頼できる第三者に中継することができる。他の実施形態では、デバイスＡ３２は、固有識別子及び署名を、信頼できる第三者３８に直接通信（図示せず）することができる。
【００４７】
受信した固有識別子を使用して、信頼できる第三者３８は、デバイスＡ３２に記憶された共有鍵を検索することができる（矢印６６）。さらに、共有鍵を使用して、信頼できる第三者３８は、受信した署名を検証することができる（矢印６８）。例えば、上述のコンピューティング・システム１０を参照すると、信頼できる第三者３８は、メモリ４６から共有鍵を検索し、処理コンポーネント４４を使用して署名を検証することができる。より具体的には、信頼できる第三者３８は、署名を生成するためにデバイスＡ３２によって実行される共有鍵を使用して、固有識別子について同じ動作（例えば、暗号学的ハッシュ）を実行することによって、署名を検証することができる。
【００４８】
信頼できる第三者３８によって判定された署名がデバイスＡ３２から受信した署名と一致する場合、信頼できる第三者３８は共有鍵をデバイスＢ３４に通信することができる（矢印７０）。例えば、上述のコンピューティング・システム１０を参照すると、信頼できる第三者３８は、通信インタフェース２４に接続されたネットワークを介して、共有鍵を中央処理装置１４に通信することができる。
【００４９】
共有鍵が受信されると、デバイスＢ３４は、共有鍵を記憶することができる（矢印７２）。例えば、コンピューティング・システム１０において、中央処理装置１４は、共有鍵をメモリ１６に記憶することができる。上述したように、共有鍵の露出を制限することが重要である。このように、中央処理装置１４は、別のエンティティによって直接アクセス可能ではなく、または別のエンティティに露出されないように、共有鍵を記憶することができる。言い換えると、共有鍵は、デバイスＢに安全に記憶することができる。
【００５０】
このようにして、デバイスＡ３２とデバイスＢ３４との間のその後の通信（矢印７４）は、例えば、共有鍵で送信データに署名することによって、共有鍵を使用して送信データの完全性を検証することによって保護することができる。例えば、コンピューティング・システム１０において、中央処理装置１４は、共有鍵を使用して暗号学的ハッシュを実行することによって、メモリ１６から共有鍵を検索し、データに署名（例えば、符号化）することができる。署名されたデータを受信すると、マイクロコントローラ２６は、共有鍵を使用して同じ暗号学的ハッシュを実行することによって、不揮発性メモリ（例えば、ブート・ブロック２８）から共有鍵を検索し、データを検証（例えば、復号）する。より具体的には、中央処理装置１４によって実行される暗号学的ハッシュの結果を、マイクロコントローラ２６によって実行される暗号学的ハッシュの結果と比較することによって、結果を検証することができる。そして、結果が一致する場合、マイクロコントローラ２６は、中央処理装置１４の識別情報を検証し、及び／またはデータの識別情報が変更されていないことを検証することができる。次に、マイクロコントローラ２６は、検証されたデータを処理することができる。
【００５１】
同様に、マイクロコントローラ２６は、共有鍵を使用して暗号学的ハッシュを実行することによって、不揮発性メモリ（例えば、ブート・ブロック２８）から共有鍵を検索し、データに署名（例えば、符号化）することができる。中央処理装置１４は、署名されたデータを受信すると、メモリ１６から共有鍵を検索し、共有鍵を使用して同じ暗号学的ハッシュを実行することによってデータを検証（例えば、復号）することができる。より具体的には、中央処理装置１４によって実行される暗号学的ハッシュの結果を、マイクロコントローラ２６によって実行される暗号学的ハッシュの結果と比較することによって、結果を検証することができる。そして、結果が一致すると、中央処理装置１４は、マイクロコントローラ２６の識別情報を検証し、及び／またはデータが変更されていないことを検証することができる。次に、中央処理装置１４は検証されたデータを処理することができる。Ｔｗｏｆｉｓｈ、Ｓｅｒｐｅｎｔ、ＡＥＳ、Ｂｌｏｗｆｉｓｈ、ＣＡＳＴ５、ＲＣ４、３ＤＥＳ、及びＩＤＥＡなどの様々な符号化／復号技術を利用することができる。このようにして、共有鍵を他のエンティティに露出することなく、データの通信を保護することができる。
【００５２】
データ・フローを実施するためのプロセス７６の一実施形態を図５に示す。一般に、プロセス７６は、第１のデバイスから固有識別子及び署名を要求し（プロセス・ブロック７８）、署名を生成し（プロセス・ブロック８０）、固有識別子及び署名を信頼できる第三者に送信し（プロセス・ブロック８２）、共有鍵を検索し（プロセス・ブロック８４）、署名を検証し（プロセス・ブロック８６）、共有鍵を第２のデバイスに送信し（プロセス・ブロック８８）、そして共有鍵を使用して通信を復号／符号化する（プロセス・ブロック９０）ことを含む。いくつかの実施形態では、プロセス７６は、メモリ１６、４２、４６及び／またはブート・ブロック２８などの１つ以上の有形の非一時的なコンピュータ可読媒体に記憶され、中央処理装置１４、処理コンポーネント４０あるいは４４、及び／またはマイクロコントローラ２６などの、１つ以上の処理コンポーネントによって実行される、命令によって実施することができる。
【００５３】
データ・フローに示すように、プロセス７６はデバイスＢ３４によって初期化することができる。例えば、デバイスＢ３４は、デバイスＢ３４が、デバイスＡ３２との通信が所望されているが、デバイスＢ３４は共有鍵を知らない、と判定した場合に、プロセス７６を初期化することができる。他の実施形態では、プロセス７６は、信頼できる第三者３８及び／またはデバイスＢ３４によって初期化されてもよい。例えば、プロセス７６は、デバイスＢ３４及びデバイスＡ３２が、例えばコンピューティング・システム１０の作動開始時またはコンピューティング・システム１０の電源投入時ごとに初めて通信可能に結合されている、とデバイスＢ３４または信頼できる第三者３８が判定した場合に、初期化されてもよい。
【００５４】
プロセス７６が初期化されると、固有識別子及び署名の要求がデバイスＡ３２に通信される（プロセス・ブロック７８）。データ・フローにあるように、要求は、例えばデバイスＢ３４がプロセス７６を初期化すると、デバイスＢ３４からデバイスＡ３２に通信されてもよい。他の実施形態では、信頼できる第三者３８がプロセス７６を初期化すると、要求は信頼できる第三者３８からデバイスＢ３４に通信され、デバイスＢ３４は要求をデバイスＡ３２に中継することができる。追加的にまたは代替的に、要求は信頼できる第三者３８からデバイスＡ３２に直接通信することができる。
【００５５】
上述したように、署名は、固有識別子、共有鍵、及び／またはノンスを使用して生成することができる。したがって、署名を生成するために使用されたノンスは、要求と共にデバイスＡ３２に通信されてもよい（プロセス・ブロック９２）。一般に、ノンスは乱数または疑似乱数であってもよい。いくつかの実施形態では、ノンスは、信頼できる第三者３８が、ノンスを利用してデバイスＡ３２によって返された署名を検証することができるように、信頼できる第三者３８によって生成されてもよい。他の実施形態では、ノンスはデバイスＢ３４によって生成されて、デバイスＡ３２及び信頼できる第三者３８の両方に通信されてもよい。
【００５６】
要求の受信に応答して、デバイスＡ３２は署名を生成することができる（プロセス・ブロック８０）。より具体的には、デバイスＡ３２は、共有鍵及び受信したノンスを使用して署名を生成することができる。いくつかの実施形態では、デバイスＡ３２は、共有鍵及びノンスを鍵として使用して固有識別子に対して暗号学的ハッシュを実行することによって、署名を生成することができる。暗号学的ハッシュ関数の出力（例えば、結果）は、署名である。さらに、ノンスは乱数または疑似乱数とすることができるので、署名は外部の当事者が再現するのを困難にすることができる。
【００５７】
次に、デバイスＡ３２は、生成された署名及びその固有識別子を信頼できる第三者３８に通信することができる（プロセス・ブロック８２）。データ・フローにあるように、署名及び固有識別子は、デバイスＡ３２からデバイスＢ３４に通信され、デバイスＢ３４は、署名及び固有識別子を信頼できる第三者３８に中継することができる。追加的にまたは代替的に、署名及び固有識別子は、デバイスＡ３２から信頼できる第三者３８に直接通信されてもよい。
【００５８】
受信した固有識別子を使用して、信頼できる第三者３８は、デバイスＡ３２の対応する共有鍵を検索することができる（プロセス・ブロック８４）。上述したように、信頼できる第三者３８は、例えばメモリ４６に、複数のデバイスに対する固有識別子及び共有鍵のペアリングを記憶することができる。したがって、信頼できる第三者３８は、記憶されたペアリングを検索して、受信した固有識別子に対応する共有鍵を見つけることができる。
【００５９】
次に、信頼できる第三者３８は、デバイスＡ３２から受信した署名を検証することができる（プロセス・ブロック８６）。より具体的には、信頼できる第三者３８は共有鍵とノンスを有するので、信頼できる第三者３８は、デバイスＡ３２によって使用されるのと同じ動作を実行して、署名を生成することができる。例えば、信頼できる第三者３８は、共有鍵とノンスを鍵として使用して、固有識別子に対して同じ暗号学的ハッシュを実行することができる。次に、暗号学的ハッシュ関数の出力を、受信した署名と比較することができる。署名が一致する場合、信頼できる第三者３８は、デバイスＡ３２が実際に共有鍵を知っていると判定することができる。言い換えれば、共有鍵はデバイスＡ３２に固有であるので、信頼できる第三者３８は、デバイスＡ３２の識別情報を検証するために署名を使用することができる。
【００６０】
一方、署名が一致しない場合、信頼できる第三者３８は、外部の第三者がデバイスＡ３２であると偽っていると判定することができる。言い換えれば、信頼できる第三者３８は、外部の第三者が共有鍵を判定しようと試みている、と判定することができる。いくつかの実施形態では、これはコンピューティング・システム１０への侵入の試みを示し得る。このように、信頼できる第三者３８は、共有鍵を検索するさらなる試みをブロックし、及び／または可能性のある侵入をオペレータに通知することができる。
【００６１】
署名が検証された場合、信頼できる第三者３８は、共有鍵をデバイスＢ３４に安全に通信することができる（プロセス・ブロック８８）。より具体的には、信頼できる第三者３８は、共有鍵を暗号化し、暗号化された鍵をデバイスＢ３４に送信することができる。次に、デバイスＢ３４は、共有鍵を暗号解読し、例えばメモリ１６に記憶することができる。
【００６２】
続いて、デバイスＡ３２及びデバイスＢ３４は、共有鍵を使用してデータを符号化及び復号することによって安全に通信することができる（プロセス・ブロック９０）。一般に、デバイスＡ３２は、共有鍵を使用してデータに署名（例えば、符号化）し、署名されたデータをデバイスＢ３４に送信することができる。いくつかの実施形態では、デバイスＡ３２は、共有鍵を使用してデータに対する暗号学的ハッシュを実行することにより、データに署名することができる。次にデバイスＡ３２は、署名されたデータをデバイスＢに送信することができる。いくつかの実施形態では、署名されたデータは、デバイスＡ３２によって実行された暗号学的ハッシュの結果とともにデータを含むことができる。デバイスＢ３４は、受信データを検証（例えば、復号）し、処理することができる。いくつかの実施形態では、デバイスＢ３４は、データに対して同じ暗号学的ハッシュを実行し、デバイスＡ３２によって実行された暗号学的ハッシュの結果を、デバイスＢ３４によって実行された暗号学的ハッシュの結果と比較することによって、署名されたデータを検証することができる。より具体的には、結果が一致した場合、デバイスＢ３４は、デバイスＡ３２の識別情報を検証し、及び／またはデータが変更されていない（例えば、改竄されていない）ことを検証することができる。さらに、いくつかの実施形態では、同じ暗号学的ハッシュ関数が、デバイスＡ３２、信頼できる第三者３８、及びデバイスＢ３４によって使用されて、署名を生成し、送信データを署名／検証することができる。
【００６３】
このようにして、デバイスＡ３２及びデバイスＢ３４は、安全な通信チャネル（例えば、通信チャネル３９）をセット・アップすることができる。したがって、コンピューティング・システム１０において、ブート・デバイス１２は、スタートアップ・ルーチン命令を中央処理装置１４に安全に通信することができる。より具体的には、マイクロコントローラ２６は、共有鍵を使用してスタートアップ・ルーチン命令に署名（例えば、符号化）し、符号化された命令を中央処理装置１４に送信することができる。次に、中央処理装置１４は、命令を検証（例えば、復号）してスタートアップ命令を実行することができる。さらに、共有鍵が中央処理装置１４及びブート・デバイス１２の両方に安全に通信されるので、外部の第三者がスタートアップ・ルーチン命令を変更するリスクが最小限に抑えられる。
【００６４】
したがって、本開示の技術的効果は、共有鍵のデバイスへの安全な通信を可能にすることを含む。実際、本技術は、デバイスの１つが処理能力に制限がある場合であっても、共有鍵をデバイスに安全に通信することを可能にする。
【００６５】
本発明は、様々な修正及び代替形態が可能であるが、特定の実施形態は、図面の例として示されており、本明細書において詳細に説明されている。しかしながら、本発明は開示された特定の形態に限定されるものではないことを理解されたい。むしろ、本発明は、以下の添付の特許請求の範囲によって規定される本発明の精神及び範囲内に入るすべての修正、等価物、及び代替物を包含するものである。
【図１】
2017536729.tif 000003
【図２】
2017536729.tif 000004
【図３】
2017536729.tif 000005
【図４】
2017536729.tif 000006
【図５】
2017536729.tif 000007
【手続補正書】
【提出日】平成29年4月20日(2017.4.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ・バスを介して通信可能に結合された、ブート・デバイスを含む第１のデバイス及び中央処理装置を含む第２のデバイスに、共有鍵を安全に通信する方法であって、
前記第１のデバイスを使用して、前記第１のデバイスに関連付けられた共有鍵及び固有識別子のペアリングを鍵生成器から受信することと、
信頼できる第三者を使用して、前記鍵生成器から前記共有鍵と固有識別子のペアリングを受信することと、
前記第１のデバイスを使用して、前記固有識別子及び前記共有鍵を使用する署名を生成することと、
前記第１のデバイスを使用して、前記署名及び前記固有識別子を、ネットワークを介して前記中央処理装置に通信可能に結合されている、前記信頼できる第三者に送信することと、
前記信頼できる第三者を使用して、前記署名に基づいて前記固有識別子を検証することと、
前記信頼できる第三者を使用して、前記固有識別子が検証されたときに前記共有鍵を判定することと、
前記信頼できる第三者を使用して、前記第１のデバイス及び前記第２のデバイスが、前記共有鍵を使用して通信データを符号化及び復号することによって安全に通信することを可能にするために、前記第２のデバイスに前記共有鍵を送信することであって、
前記ブート・デバイスを使用して、前記共有鍵を使用してスタートアップ・ルーチン命令を符号化することによって、前記ブート・デバイスに記憶された前記スタートアップ・ルーチン命令に署名することと、
前記ブート・デバイスを使用して、前記署名されたスタートアップ・ルーチン命令を前記中央処理装置に送信することと、
前記中央処理装置を使用して、前記共有鍵を使用して前記署名されたスタートアップ・ルーチン命令を復号することによって、前記署名されたスタートアップ・ルーチン命令を検証することと、
前記中央処理装置を使用して、コンピューティング・システムを初期化するために前記スタートアップ・ルーチン命令を実行することと
を含む、前記送信することと
を含む、前記方法。
【請求項２】
前記署名及び前記固有識別子を送信することが、前記信頼できる第三者または前記第２のデバイスから受信した要求に応答して、前記署名及び前記固有識別子を送信することを含む、請求項１に記載の方法。
【請求項３】
前記要求がノンスを含み、前記署名を生成することが、前記共有鍵及び前記ノンスを使用して前記固有識別子に暗号学的ハッシュを実行することを含む、請求項２に記載の方法。
【請求項４】
前記信頼できる第三者または前記第２のデバイスが、
前記第１のデバイス及び前記第２のデバイスは初めて通信可能に結合されることと、
前記第２のデバイスは電源が投入されていることと、
第２のデバイスは共有鍵を知らないこと、またはそれらの任意の組み合わせ
を判定したときに送信することを含む、請求項２に記載の方法。
【請求項５】
プロセッサによって実行可能な命令を記憶するように構成された、有形の非一時的なコンピュータ可読媒体であって、前記命令が、
信頼できる第三者を使用して、ブート・デバイスを含む第１のデバイスに関連付けられた共有鍵及び固有識別子のペアリングを記憶すること、
前記信頼できる第三者を使用して、前記共有鍵を使用して前記第１のデバイスから受信した署名された固有識別子に少なくとも部分的に基づいて、前記第１のデバイスの識別情報を検証することであって、前記署名された固有識別子が、前記固有識別子ならびに前記固有識別子及び前記共有鍵を使用して前記第１のデバイスによって生成された署名を含む、前記検証すること、
前記信頼できる第三者を使用して、前記第１のデバイスの前記識別情報が検証されたときに、前記固有識別子に少なくとも部分的に基づいて、前記共有鍵を判定することであって、前記信頼できる第三者が、異なるデバイスと関連付けられた複数の固有識別子及び共有鍵のペアリングを記憶するように構成された、前記判定すること、
前記信頼できる第三者を使用して、前記第１のデバイスおよび前記第２のデバイスが、前記共有鍵を使用して通信データを符号化及び復号することによって、安全に通信することを可能にするために、データ・バスを介して前記ブート・デバイスに、かつ、ネットワークを介して前記信頼できる第三者に通信可能に結合されるように構成された中央処理装置を含む、第２のデバイスに、前記共有鍵を送信することであって、前記第１のデバイス及び前記第２のデバイスが安全に通信することを可能にすることが、
前記第２のデバイスが、前記共有鍵を使用してスタートアップ・ルーチン命令を符号化することによって、前記第２のデバイスに記憶された前記スタートアップ・ルーチン命令に署名することと、
前記第２のデバイスが、前記署名されたスタートアップ・ルーチン命令を前記第１のデバイスに送信することと、
前記第１のデバイスが、前記共有鍵を使用して前記署名されたスタートアップ・ルーチン命令を復号することによって、前記署名されたスタートアップ・ルーチン命令を検証することと、
前記第１のデバイスが、コンピューティング・システムを初期化するために前記スタートアップ・ルーチン命令を実行することと
を可能にすることを含む、前記送信すること
のための命令を含む、前記有形の非一時的なコンピュータ可読媒体。
【請求項６】
前記信頼できる第三者を使用してノンスを生成することと、
前記信頼できる第三者を使用して、前記第１のデバイスに前記署名された固有識別子を求める要求を送信することであって、前記要求は、前記第１のデバイスが、前記共有鍵及び前記ノンスを使用して、前記固有識別子に第１の暗号学的ハッシュ演算を実行することによって、前記署名を生成することを可能にするための前記ノンスを含む、前記送信することと
のための命令を含む、請求項５に記載のコンピュータ可読媒体。
【請求項７】
前記第１のデバイスの前記識別情報を検証するための前記命令が、前記固有識別子、前記共有鍵、及び前記ノンスを使用して、前記信頼できる第三者によって実行される第２の暗号学的ハッシュ演算の出力と、前記署名を比較する命令を含む、請求項６に記載のコンピュータ可読媒体。
【請求項８】
前記共有鍵を前記第２のデバイスに送信する前記命令が、公開鍵インフラストラクチャ暗号化技術を使用して前記共有鍵を暗号化するための命令を含む、請求項５に記載のコンピュータ可読媒体。
【請求項９】
前記共有鍵を判定する前記命令が、前記固有識別子を前記複数のペアリングのうちの１つと照合するための命令を含む、請求項５に記載のコンピュータ可読媒体。
【請求項１０】
ブート・デバイスを含む第１のデバイスを製造する方法であって、
鍵生成器を使用して、前記第１のデバイスを固有識別する固有識別子を生成することと、
前記鍵生成器を使用して、送信データを符号化し、受信データを復号するために、前記第１のデバイスによって使用されるように構成された、共有鍵を生成することと、
前記鍵生成器を使用して、前記第１のデバイス内の前記固有識別子及び前記共有鍵を記憶することと、
前記鍵生成器を使用して、前記固有識別子及び前記共有鍵を信頼できる第三者に送信することであって、前記信頼できる第三者が、
前記固有識別子及び前記共有鍵をペアリングとして記憶することと、
前記第１のデバイスおよび前記第２のデバイスが、前記共有鍵を使用してデータを符号化及び復号することによって、安全に通信することを可能にするために、データ・バスを介して前記第１のデバイスに、かつ、ネットワークを介して前記信頼できる第三者に通信可能に結合されるように構成された中央処理装置を含む、第２のデバイスに、前記共有鍵を送信することであって、前記第１のデバイス及び前記第２のデバイスが安全に通信することを可能にすることが、
前記第２のデバイスが、前記共有鍵を使用してスタートアップ・ルーチン命令を符号化することによって、前記第２のデバイスに記憶された前記スタートアップ・ルーチン命令に署名することと、
前記第２のデバイスが、前記署名されたスタートアップ・ルーチン命令を前記第１のデバイスに送信することと、
前記第１のデバイスが、前記共有鍵を使用して前記署名されたスタートアップ・ルーチン命令を復号することによって、前記署名されたスタートアップ・ルーチン命令を検証することと、
前記第１のデバイスが、コンピューティング・システムを初期化するために前記スタートアップ・ルーチン命令を実行することと
を可能にすることを含む、前記送信することと
を可能にする、前記送信することと
を含む、前記方法。
【請求項１１】
前記固有識別子及び前記共有鍵を前記信頼できる第三者に送信することが、公開鍵インフラストラクチャ暗号化技術を使用して前記固有識別子及び前記共有鍵を暗号化し、前記暗号化された固有識別子及び共有鍵を前記ネットワーク上で送信することを含む、請求項１０に記載の方法。
【請求項１２】
前記固有識別子を生成することが、メディア・アクセス制御アドレスを生成することを含む、請求項１０に記載の方法。
【請求項１３】
前記共有鍵を生成することが、対称鍵を生成することを含む、請求項１０に記載の方法。
【請求項１４】
前記固有識別子及び前記共有鍵を前記第１のデバイスに記憶することが、前記共有鍵が別のエンティティによってアクセス可能でないように、前記第１のデバイスの製造中に前記第１のデバイスのメモリを静的にプログラミングすることを含む、請求項１０に記載の方法。
【請求項１５】
固有識別子、共有鍵及びコンピューティング・システムを初期化するためにプロセッサによって実行可能なスタートアップ・ルーチン命令を記憶するように構成された、１つ以上の不揮発性メモリであって、前記不揮発性ブート・デバイスが、データ・バスを介して前記プロセッサに通信可能に結合されるように構成された、前記１つ以上の不揮発性メモリと、
マイクロコントローラであって、
前記固有識別子及び署名を信頼できる第三者に提供する、ノンスを含む要求を受信し、
前記固有識別子、共有鍵、及び前記ノンスを使用して前記署名を生成し、
信頼できる第三者に前記署名及び前記固有識別子を送信するように、前記不揮発性ブート・デバイスに指示して、前記信頼できる第三者が、前記共有鍵を判定し、かつネットワークを介して前記共有鍵を前記プロセッサに通信することを可能にし、
前記共有鍵を使用して前記スタートアップ・ルーチン命令を符号化することによって、前記スタートアップ・ルーチン命令に署名し、
前記プロセッサが、
前記共有鍵を使用して前記署名されたスタートアップ・ルーチン命令を復号することによって、前記署名されたスタートアップ・ルーチン命令を検証することと、
前記スタートアップ・ルーチン命令が検証されたときに、前記コンピューティング・システムを初期化するために、前記スタートアップ命令を実行することと
を可能とするために、データ・バスを介して、前記プロセッサに前記署名されたスタートアップ・ルーチン命令を送信するように、前記不揮発性ブート・デバイスに指示する
ように構成された、前記マイクロコントローラと
を含む、不揮発性ブート・デバイス。
【請求項１６】
請求項１５に記載の不揮発性ブート・デバイスであって、前記マイクロコントローラが、
前記共有鍵を使用して暗号学的ハッシュを実行することによってスタートアップ・ルーチン命令を符号化し、
前記不揮発性ブート・デバイスに、前記署名されたスタートアップ・ルーチンを前記プロセッサに送信するように指示し、前記プロセッサが、前記共有鍵を使用して前記暗号学的ハッシュを実行し、前記マイクロコントローラによって実行された前記地図作成ハッシュの結果と、前記プロセッサによって実行された前記暗号学的ハッシュの結果とを比較することによって、前記スタートアップ命令を検証することを可能にする
ように構成された、前記不揮発性ブート・デバイス。
【請求項１７】
前記信頼できる第三者が、前記署名を使用して前記固有識別子を検証し、前記固有識別子が検証されたときに、前記共有鍵を前記プロセッサに通信するように構成された、請求項１５に記載の不揮発性ブート・デバイス。
【請求項１８】
前記ノンスが、乱数または擬似乱数である、請求項１５に記載の不揮発性ブート・デバイス。
【請求項１９】
前記マイクロコントローラが、前記データ・バスを介して前記プロセッサから前記要求を受信し、前記データ・バスを介して前記署名及び前記固有識別子を前記プロセッサに送信するように前記不揮発性ブート・デバイスに指示するように構成され、
前記プロセッサが、前記ネットワークを介して前記署名及び前記固有識別子を、前記信頼できる第三者に送信するように構成された、
請求項１５に記載の不揮発性ブート・デバイス。
【請求項２０】
前記１つ以上の不揮発性メモリが、不揮発性ブート・ブロックを含む、請求項１５に記載の不揮発性ブート・デバイス。
【請求項２１】
コンピューティング・システムのプロセッサによって実行可能な命令を記憶するように構成された、有形の非一時的なコンピュータ可読媒体であって、前記命令が、
前記プロセッサを使用して、前記プロセッサからブート・デバイスを含むデバイスに、前記デバイスから固有識別子及び、前記デバイスに記憶された共有鍵に少なくとも部分的に基づいて生成された署名を要求するために、要求を送信するように、前記コンピューティング・システムに指示し、
前記プロセッサを使用して、前記デバイスから前記固有識別子及び前記署名を受信し、
前記プロセッサを使用して、ネットワークを介して信頼できる第三者に前記固有識別子及び前記署名を送信するように前記コンピューティング・システムに指示して、前記信頼できる第三者が前記共有鍵を判定することを可能とし、
前記プロセッサを使用して、前記信頼できる第三者からの前記共有鍵を受信し、
前記プロセッサを使用して、前記デバイスに送信されたデータを符号化し、前記共有鍵を使用して前記デバイスから受信したデータを復号することによって、データ・バスを介して前記デバイスと通信する
ための命令を含み、前記デバイスと通信するための命令は、
前記共有鍵を使用して、前記デバイスによって署名されたスタートアップ・ルーチン命令を受信し、
前記共有鍵を使用して、前記署名されたスタートアップ・ルーチン命令を復号することによって、前記スタートアップ・ルーチン命令を検証し、
前記スタートアップ・ルーチン命令が検証された後に、前記コンピューティング・システムを初期化するために、前記スタートアップ命令を実行する
ための命令を含む、前記有形の非一時的なコンピュータ可読媒体。
【請求項２２】
前記要求を送信するように前記コンピューティング・システムに指示する前記命令が、前記プロセッサが前記デバイスに最初に結合されたときに、前記要求を送信するように前記コンピューティング・システムに指示する命令を含む、請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
前記信頼できる第三者から前記要求を受信する命令を含む、請求項２１に記載のコンピュータ可読媒体。
【請求項２４】
前記プロセッサを使用してノンスを生成し、
前記ノンスを前記プロセッサから前記デバイス及び前記信頼できる第三者に送信する
ための命令を含む、請求項２１に記載のコンピュータ可読媒体。
【請求項２５】
中央処理装置を含む第２のデバイスに、データ・バスを介して通信可能に結合されるように構成された、ブート・デバイスを含む第１のデバイスであって、前記第１のデバイスが、
共有鍵を使用して前記第２のデバイスと安全に通信し、
前記第２のデバイスにネットワークを介して通信可能に結合された信頼できる第三者に、前記第１のデバイスに関連付けられた固有識別子及び署名を送信することにより、前記第２のデバイスが前記共有鍵を判定することを可能にし、
前記第２のデバイスが前記信頼できる第三者から前記共有鍵を受信した後に、前記共有鍵を使用して第１の暗号学的ハッシュを実行することによって、スタートアップ・ルーチン命令を含むデータに署名し、
前記署名されたデータを前記第２のデバイスに送信して、前記第２のデバイスが、
前記共有鍵を使用して第２の暗号学的ハッシュを実行し、前記第１の暗号学的ハッシュからの結果を前記第２の暗号学的ハッシュからの結果と比較することによって、前記データを検証することと、
前記データが検証されたときに、前記コンピューティング・システムを初期化するために前記データを実行すること
を可能にする
ように構成された、前記第１のデバイス
を含む、コンピューティング・システム。
【請求項２６】
前記第１のデバイスが、前記第２のデバイスまたは前記信頼できる第三者から受信した要求に応答して、前記信頼できる第三者に前記固有識別子及び前記署名を送信して、前記信頼できる第三者が、前記第１のデバイスの識別情報を検証し、前記第１のデバイスの識別情報が検証されたときに、前記第２のデバイスに前記共有鍵を通信するように構成されている、請求項２５に記載のコンピューティング・システム。
【請求項２７】
前記第１のデバイスが、前記固有識別子に前記第１の暗号学的ハッシュを実行することによって前記署名を生成するように構成され、前記第１の暗号学的ハッシュが、前記第２の暗号学的ハッシュと同じ演算である、請求項２５に記載のコンピューティング・システム。
【国際調査報告】
2017536729.tif 000008
2017536729.tif 000009