(57)【要約】  方法は、第１のデータ処理デバイスが、第２のデータ処理デバイスの認証を要求するステップと、第２のデータ処理デバイスが、デバイス特有の鍵、第２のデータ処理デバイスのハードウェアの構成及び第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成するステップと、第２のデータ処理デバイスが、第１のデータ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成するステップと、第２のデータ処理デバイスが、アプリケーション特有の認証メッセージをデバイス特有の認証メッセージに暗号結合するステップと、第１のデータ処理デバイスが、アプリケーション特有の認証メッセージを確認するステップであって、確認するステップは、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを確認することによって、アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含むステップと、第１のデータ処理デバイスが、確認されたアプリケーション特有の認証メッセージに依存して、相互作用プロトコルに従って第２のデータ処理デバイスとの相互作用を確立するステップと、を含む。
2021527342.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
第１のデータ処理デバイスが、第２のデータ処理デバイスの認証を要求するステップと、
前記第２のデータ処理デバイスが、デバイス特有の鍵、前記第２のデータ処理デバイスのハードウェアの構成及び前記第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成するステップと、
前記第２のデータ処理デバイスが、前記第１のデータ処理デバイス及び前記第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成するステップと、
前記第２のデータ処理デバイスが、前記アプリケーション特有の認証メッセージを前記デバイス特有の認証メッセージに暗号結合するステップと、
前記第１のデータ処理デバイスが、前記アプリケーション特有の認証メッセージを確認するステップであって、前記確認するステップは、前記アプリケーション特有の認証メッセージに暗号結合された前記デバイス特有の認証メッセージを確認することによって、前記アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含むステップと、
前記第１のデータ処理デバイスが、前記確認されたアプリケーション特有の認証メッセージに依存して、前記相互作用プロトコルに従って前記第２のデータ処理デバイスとの相互作用を確立するステップと、
を含む方法。
【請求項２】
前記第２のデータ処理デバイスが、前記デバイス特有の鍵を安全に格納するステップを含み、
前記デバイス特有の認証メッセージを生成する前記ステップは、前記第２のデータ処理装置の認証クライアント・ソフトウェアが、前記安全に格納されたデバイス特有の鍵にアクセスするステップを含む、
請求項１に記載の方法。
【請求項３】
デバイス特有の認証ソフトウェアを用いた間接的なアクセス以外による前記デバイス特有の鍵へのアクセスを禁止するステップを含む、
請求項２に記載の方法。
【請求項４】
前記アクセスするステップは、前記認証クライアント・ソフトウェアに依存するハッシュと、前記安全に格納されたデバイス特有の鍵へのアクセスが許容されることを示す１つ又は複数のハッシュ値のセットと、を比較するステップを含む、
請求項２に記載の方法。
【請求項５】
前記確立するステップは、前記第１及び第２のデータ処理デバイスが、前記第１及び第２のデータ処理デバイスの間の暗号化通信のための１つ又は複数のセッション鍵を交換するステップを含む、
請求項１から４までのいずれか一項に記載の方法。
【請求項６】
確認装置が、前記第２のデータ処理デバイスによって格納されるための前記デバイス特有の鍵を生成するステップを含み、
前記確認するステップは、前記第１のデータ処理デバイスが、前記確認装置による前記デバイス特有の認証メッセージの確認を要求するステップを含む、
請求項１から５までのいずれか一項に記載の方法。
【請求項７】
データ処理デバイスであって、
デバイス特有の鍵を格納する回路と、
第２のデータ処理デバイスによる認証のための要求に応答して、前記デバイス特有の鍵、前記データ処理デバイスのハードウェアの構成及び前記データ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成する回路と、
前記データ処理デバイス及び前記第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成する回路と、
前記アプリケーション特有の認証メッセージを前記デバイス特有の認証メッセージに暗号結合する回路と、
を備えるデータ処理デバイス。
【請求項８】
データ処理デバイスであって、
第２のデータ処理デバイスの認証を要求し、デバイス特有の鍵、前記第２のデータ処理デバイスのハードウェアの構成及び前記第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、前記第２のデータ処理デバイスから、前記データ処理デバイス及び前記第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを受信する回路と、
前記アプリケーション特有の認証メッセージを確認する回路であって、前記確認することは、前記アプリケーション特有の認証メッセージに暗号結合された前記デバイス特有の認証メッセージを確認することによって、前記アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含む回路と、
前記確認されたアプリケーション特有の認証メッセージに依存して、前記相互作用プロトコルに従って前記第２のデータ処理デバイスとの相互作用を確立する回路と、
を備えるデータ処理デバイス。
【請求項９】
データ処理システムであって、
前記相互作用プロトコルを用いて請求項８に記載のデータ処理デバイスと相互作用するように構成される請求項７に記載のデータ処理デバイスを備える、
データ処理システム。
【請求項１０】
データ処理デバイスの動作の方法であって、
デバイス特有の鍵を格納するステップと、
第２のデータ処理デバイスによる認証のための要求に応答して、前記デバイス特有の鍵、前記データ処理デバイスのハードウェアの構成及び前記データ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成するステップと、
前記データ処理デバイス及び前記第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成するステップと、
前記アプリケーション特有の認証メッセージを前記デバイス特有の認証メッセージに暗号結合するステップと、
を含む方法。
【請求項１１】
データ処理デバイスの動作の方法であって、
第２のデータ処理デバイスの認証を要求するステップであって、デバイス特有の鍵、前記第２のデータ処理デバイスのハードウェアの構成及び前記第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、前記第２のデータ処理デバイスから、前記データ処理デバイス及び前記第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを受信するステップと、
前記アプリケーション特有の認証メッセージを確認するステップであって、前記確認するステップは、前記アプリケーション特有の認証メッセージに暗号結合された前記デバイス特有の認証メッセージを確認することによって、前記アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含むステップと、
前記確認されたアプリケーション特有の認証メッセージに依存して、前記相互作用プロトコルに従って前記第２のデータ処理デバイスとの相互作用を確立するステップと、
を含む方法。
【請求項１２】
命令実行環境を提供するホスト・データ処理装置を制御するためのコンピュータ・プログラムであって、
デバイス特有の鍵を格納するコンピュータ・プログラム・ロジックと、
第２のデータ処理デバイスによる認証のための要求に応答して、前記デバイス特有の鍵、データ処理デバイスのハードウェアの構成及び前記データ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成するコンピュータ・プログラム・ロジックと、
前記データ処理デバイス及び前記第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成するコンピュータ・プログラム・ロジックと、
前記アプリケーション特有の認証メッセージを前記デバイス特有の認証メッセージに暗号結合するコンピュータ・プログラム・ロジックと、
を備えるコンピュータ・プログラム。
【請求項１３】
命令実行環境を提供するホスト・データ処理装置を制御するためのコンピュータ・プログラムであって、
第２のデータ処理デバイスの認証を要求し、デバイス特有の鍵、前記第２のデータ処理デバイスのハードウェアの構成及び前記第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、前記第２のデータ処理デバイスから、データ処理デバイス及び前記第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを受信するコンピュータ・プログラム・ロジックと、
前記アプリケーション特有の認証メッセージを確認するコンピュータ・プログラム・ロジックであって、前記確認することは、前記アプリケーション特有の認証メッセージに暗号結合された前記デバイス特有の認証メッセージを確認することによって、前記アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含むコンピュータ・プログラム・ロジックと、
前記確認されたアプリケーション特有の認証メッセージに依存して、前記相互作用プロトコルに従って前記第２のデータ処理デバイスとの相互作用を確立するコンピュータ・プログラム・ロジックと、
を備えるコンピュータ・プログラム。
【請求項１４】
請求項１２又は請求項１３に記載のコンピュータ・ソフトウェアを格納する非一時的機械可読記憶媒体。
【請求項１５】
１つ又は複数のコンピュータによって実行されるとき、前記１つ又は複数のコンピュータに請求項１、１０及び１１のいずれか一項に記載の方法を実行させるコンピュータ・ソフトウェア。
【請求項１６】
請求項１５に記載のコンピュータ・ソフトウェアを格納する非一時的機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、データ処理に関する。
【背景技術】
【０００２】
認証は、有効化するエンティティ（例えば、データ処理デバイス）が他のエンティティ又はそれが相互作用しているデータ処理デバイスの信頼性及び／又は能力を決定することができるデータ処理技術である。例えば、特定のソフトウェア・サービスを動作する他のデバイスに接続するクライアント・デバイスは、サービスが正しく例示化されて、信頼されたハードウェア実施の文脈において動作していることを確認可能なことを必要としうる。同様に、ＩｏＴ（もののインターネット）サービスは、それに接続しているＩｏＴデバイスの能力及び／又は信頼性を決定可能であることを必要としうる。
【０００３】
認証の以前提案された実施態様では、専用のプロトコルを用いて、相互作用するエンティティのシステムの全体にわたる統合を要求し、潜在的に専用ハードウェア統合を含む。現在、多数のこの種の認証プロトコル及びシステムが存在し、各々が、相互作用するエンティティの個々のシステムの特定の必要に合わせて調整される。これらの垂直に統合されたプロトコルは、標準化も、調和も又は置換もされそうにないとみなされ、競合するシステム間において入力の商業的障壁さえも表しうる。
【０００４】
安全なシステムがより大きく且つより一般的になるにつれて、この構成は、デバイス・ベンダーが変更市場に適応するのにコストがかかり、扱いにくくなりえ、不変の信頼の基点がデバイス・ハードウェアの一部であるので、ソフトウェア・ベンダーにとってコストがかかり、扱いにくく、それゆえ、認証は、ハードウェア特有の移植及び認証クライアントの実施を要求し、及び／又は、複数のプロトコル及び相互作用するシステムを潜在的にサポートしなければならない有効化するエンティティにとってコストがかかり、扱いにくい。
【発明の概要】
【課題を解決するための手段】
【０００５】
実例の構成では、方法が提供され、方法は、第１のデータ処理デバイスが、第２のデータ処理デバイスの認証を要求するステップと、第２のデータ処理デバイスが、デバイス特有の鍵、第２のデータ処理デバイスのハードウェアの構成及び第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成するステップと、第２のデータ処理デバイスが、第１のデータ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成するステップと、第２のデータ処理デバイスが、アプリケーション特有の認証メッセージをデバイス特有の認証メッセージに暗号結合するステップと、第１のデータ処理デバイスが、アプリケーション特有の認証メッセージを確認するステップであって、確認するステップは、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを確認することによって、アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含むステップと、第１のデータ処理デバイスが、確認されたアプリケーション特有の認証メッセージに依存して、相互作用プロトコルに従って第２のデータ処理デバイスとの相互作用を確立するステップと、を含む。
【０００６】
他の実例の構成では、データ処理デバイスが提供され、データ処理デバイスは、デバイス特有の鍵を格納する回路と、第２のデータ処理デバイスによる認証のための要求に応答して、デバイス特有の鍵、データ処理デバイスのハードウェアの構成及びデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成する回路と、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成する回路と、アプリケーション特有の認証メッセージをデバイス特有の認証メッセージに暗号結合する回路と、を備える。
【０００７】
他の実例の構成では、データ処理デバイスが提供され、データ処理デバイスは、第２のデータ処理デバイスの認証を要求し、デバイス特有の鍵、第２のデータ処理デバイスのハードウェアの構成及び第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、第２のデータ処理デバイスから、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを受信する回路と、アプリケーション特有の認証メッセージを確認する回路であって、確認することは、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを確認することによって、アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含む回路と、確認されたアプリケーション特有の認証メッセージに依存して、相互作用プロトコルに従って第２のデータ処理デバイスとの相互作用を確立する回路と、を備える。
【０００８】
他の実例の構成では、データ処理システムが提供され、データ処理システムは、相互作用プロトコルを用いて互いに相互作用するように構成された上述のデータ処理デバイスを備える。
【０００９】
他の実例の構成では、データ処理デバイスの動作の方法が提供され、方法は、データ処理デバイスの動作の方法であって、デバイス特有の鍵を格納するステップと、第２のデータ処理デバイスによる認証のための要求に応答して、デバイス特有の鍵、データ処理デバイスのハードウェアの構成及びデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成するステップと、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成するステップと、アプリケーション特有の認証メッセージをデバイス特有の認証メッセージに暗号結合するステップと、を含む。
【００１０】
他の実例の構成では、データ処理デバイスの動作の方法が提供され、方法は、第２のデータ処理デバイスの認証を要求するステップであって、デバイス特有の鍵、第２のデータ処理デバイスのハードウェアの構成及び第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、第２のデータ処理デバイスから、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを受信するステップと、アプリケーション特有の認証メッセージを確認するステップであって、確認するステップは、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを確認することによって、アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含むステップと、確認されたアプリケーション特有の認証メッセージに依存して、相互作用プロトコルに従って第２のデータ処理デバイスとの相互作用を確立するステップと、を含む。
【００１１】
他の実例の構成では、命令実行環境を提供するホスト・データ処理装置を制御するためのコンピュータ・プログラムが提供され、コンピュータ・プログラムは、デバイス特有の鍵を格納するコンピュータ・プログラム・ロジックと、第２のデータ処理デバイスによる認証のための要求に応答して、デバイス特有の鍵、データ処理デバイスのハードウェアの構成及びデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成するコンピュータ・プログラム・ロジックと、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成するコンピュータ・プログラム・ロジックと、アプリケーション特有の認証メッセージをデバイス特有の認証メッセージに暗号結合するコンピュータ・プログラム・ロジックと、を備える。
【００１２】
他の実例の構成では、命令実行環境を提供するホスト・データ処理装置を制御するためのコンピュータ・プログラムが提供され、コンピュータ・プログラムは、第２のデータ処理デバイスの認証を要求し、デバイス特有の鍵、第２のデータ処理デバイスのハードウェアの構成及び第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、第２のデータ処理デバイスから、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを受信するコンピュータ・プログラム・ロジックと、アプリケーション特有の認証メッセージを確認するコンピュータ・プログラム・ロジックであって、確認することは、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを確認することによって、アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含むコンピュータ・プログラム・ロジックと、確認されたアプリケーション特有の認証メッセージに依存して、相互作用プロトコルに従って第２のデータ処理デバイスとの相互作用を確立するコンピュータ・プログラム・ロジックと、を備える。
【００１３】
本技術のさらなるそれぞれの態様及び特徴は、添付の請求の範囲によって定義される。
【００１４】
本技術は、添付の図面に示すようにその実施例を単に一例として参照し、さらに記載される。
【図面の簡単な説明】
【００１５】
【図１】データ処理デバイスを概略的に示す。
【図２】図１のデバイスの製造方法の少なくとも一部を示す概略的なフローチャートである。
【図３】安全なストレージ・モジュールの動作を概略的に示す。
【図４】開示の実施例の動作の概略的な概要を提供する。
【図５】方法を示す概略的なフローチャートである。
【図６】実例の暗号結合技術を示す概略的なフローチャートである。
【図７】他のデータ処理デバイスを概略的に示す。
【図８】方法を示す概略的なフローチャートである。
【図９】方法を示す概略的なフローチャートである。
【図１０】シミュレータ実施を概略的に示す。
【発明を実施するための形態】
【００１６】
以下、図面を参照すると、図１は、認証要求に応答することができるデバイスとしての使用に適しているデータ処理デバイス１００を概略的に示し、データ処理デバイス１００は、アプリケーション・プログラム実行回路１１０を備え、アプリケーション・プログラム実行回路１１０は、処理要素又は中央演算処理装置（ＣＰＵ）１２０と、ランダム・アクセス・メモリ（ＲＡＭ）のようなメモリ１３０と、インタフェース１４０と、１つ又は複数のアプリケーション・プログラムのためのストレージ（例えば不揮発性の機械可読なメモリ、例えばフラッシュメモリ）１５０と、を備える。装置はまた、アプリケーション実行回路１１０とデータ通信する安全なストレージ・モジュール１６０を備える。
【００１７】
安全なストレージ・モジュール１６０は、いかなる状況でも回路１１０によってアクセスできる「耐タンパー性」のメモリとして実施されてもよい。他の実例では、「耐タンパー性」という用語は、デバイス１００の製造後なされる変更に対して硬化又は当該変更から守られるメモリ、及び／又は、回路１１０又は回路１１０上で実行するのが許可されたアプリケーション以外によってなされるアクセスに対して硬化又は当該アクセスから守られるメモリを意味する。
【００１８】
他の実例において、安全なストレージ・モジュール１６０は、デバイス１００に組み込まれた暗号のハードウェアの耐タンパー性の部分を再び表すいわゆるトラステッド・プラットフォーム・モジュール（ＴＰＭ）でもよく、それは、後述するように１つ又は複数の鍵を格納するのと同様に、それに基づいて、一組の暗号動作が構築可能である少なくともいくつかの暗号機能を実施することもできる。ＴＰＭの説明は、以下のリンク（ｈｔｔｐｓ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｔｒｕｓｔｅｄ＿Ｐｌａｔｆｏｒｍ＿Ｍｏｄｕｌｅ）で提供され、その文書は、参照によってこの説明に組み込まれる。いくつかの実例では、ＴＰＭは、安全なストレージ・モジュール１６０の実例として、潜在的に乱数を生成し、後述する認証機能を実行するとともに、公開鍵暗号化動作を実行し、ハッシュ関数を計算し、鍵及び他の秘密データを確実に格納する能力を有しうる。この文脈において、ハッシュ関数は、入力データ空間を一般的により小さい出力データ空間にマップするのに用いられる数学関数である。暗号の文脈において、ハッシュ関数は、一般的に、同じ出力ハッシュ値に導く他の入力値を選択することを困難にするために確立される。
【００１９】
それゆえ、安全なストレージ・モジュール１６０の機能の一部として、少なくともいわゆるデバイス特有の鍵（ＤＳＫ）又は実施鍵１６２は、安全に格納される。これは、デバイス１００の製造に提供及び格納され、図２を参照して後述される方法に従って提供される。
【００２０】
それゆえ、後述される技術を用いて、デバイス１００は、データ処理デバイスの実例を提供することができ、データ処理デバイスは、デバイス特有の鍵を格納する回路１６０と、第２のデータ処理デバイスによる認証のための要求に応答して、デバイス特有の鍵、データ処理デバイスのハードウェアの構成及びデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成し、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成し、アプリケーション特有の認証メッセージをデバイス特有の認証メッセージに暗号結合する回路１１０／１６０と、を備える。
【００２１】
図２を参照すると、ステップ２００において、確認装置は、例えば確認サービスにより提供され、デバイス特有の鍵１６２を生成する。これは、デバイス１００に特有であるか、又は、デバイス１００を含むデバイスの一系統内で少なくとも特有である（その結果、デバイス１００の任意の特定のインスタンスのために、ＤＳＫ１６２は、デバイス１００の他の任意のインスタンスに関して少なくとも特有である）。ステップ２１０において、確認サービスは、例えば確認装置を用いて、デバイス特有の鍵に暗号によって署名する。ステップ２２０において、デバイス特有の鍵１６２は、デバイス１００の製造の一部として、安全なストレージ・モジュール内に格納される。
【００２２】
図３は、安全なストレージ・モジュールによって保持されるデバイス特有の鍵へのアクセスを制御するための実例の技術を示す概略的なフローチャートである。これは、第２のデータ処理デバイス（デバイス１００）が、デバイス特有の鍵を安全に格納するとともに、デバイス特有の認証メッセージを生成するステップが、第２のデータ処理装置の認証クライアント・ソフトウェアが安全に格納されたデバイス特有の鍵にアクセスするステップを含む実例を提供する。
【００２３】
少なくともいくつかの実例において、デバイス特有の鍵へのアクセスが回路１１０においてアプリケーション・プログラムによって要求されるとき、ＣＰＵ１２０又は安全なストレージ・モジュール１６０のハッシュ関数生成器は、ステップ３００において、アプリケーション・プログラムを形成するコンピュータ・ソフトウェアからハッシュ値を生成し、これは安全なストレージ・モジュールに渡され、次に、安全なストレージ・モジュールは、生成されたハッシュ値と、デバイス特有の鍵にアクセスするのが許可されるべき許容可能なアプリケーション・プログラムの格納されたハッシュ値と、を比較する。ステップ３２０において、安全なストレージ・モジュールは、ステップ３００でＣＰＵにより提供されたハッシュ値が、ステップ３１０で検出された格納されたハッシュ値と同じか否かに依存して、デバイス特有の鍵へのアクセスを許容するか又は拒絶する。
【００２４】
それゆえ、これは、デバイス特有の鍵へのアクセスを試みるクライアント・ソフトウェアに依存するハッシュ値と、安全に格納されたデバイス特有の鍵へのアクセスが許容されることを示す１つ又は複数のハッシュ値のセットと、を比較するアクセスするステップの実例を提供する。
【００２５】
これら又は他の実例において、記載の構成は、デバイス特有の認証ソフトウェア（例えば、アプリケーション・プログラム・コード１５０の実例として動作する）を用いた間接的なアクセス以外によるデバイス特有の鍵へのアクセスを禁止又は制限することができる。この種のソフトウェアは、秘密のハッシュ又は暗号化アルゴリズム等を用いて、デバイス特有の鍵へのアクセスを提供することができるか、又は、この種のアクセスを可能にするために、特定のデバイス特有のハードウェア及び／又はソフトウェア特徴の存在のために検査することができる。
【００２６】
本実施例の概要が図４によって提供される。ここで、認証プロセスは、例えば、認証されるデバイスのハードウェアの構成及びそのデバイス上で動作するソフトウェアのソフトウェア構成のようなデバイス特有の態様の認証の間とは別に、データ処理デバイス（認証を要求するデバイス及び認証されるデバイス）が通信する相互作用プロトコルについてのアプリケーション特有の考慮に関するプロトコル特有の認証とは別に考慮される（又は分割される）。
【００２７】
アプリケーション特有の認証パラメータの実例は、以下を含むことができる。
・デバイス１００と他のデバイスとの相互作用のための認証プロトコルに関するパラメータ
・デバイスがサービスによって依頼されたか否かのようなアプリケーション特有の状態
【００２８】
デバイス特有の認証パラメータの実例は、以下を含むことができる。
・製造業者
・信頼の基点
・ハードウェア実施
・デバイス１００がデバッグ状態にあるか否かのようなデバイス特有の状態
・初期起動プロセスの完了
・デバイス１００上で動作し、初期起動プロセスによって確認されるソフトウェア・バージョン）
【００２９】
図４を参照すると、デバイス特有の鍵１６２は、図面において、実施鍵又は実施認証鍵と呼ばれる。実施署名者４００は、デバイス製造で実施鍵を発行する。実施署名者は、実施確認者４１０に関連付けられている。署名された実施鍵は、デバイス４３０（例えば図１のデバイス１００）の実施のデバイス特有の態様を識別し（又は判定を確認するのに用いることができ）、製造４２０においてデバイス４３０の安全なストレージ内に設置される。デバイス４３０は、デバイス４３０の安全なストレージ４４４から、又は、それを用いて署名された認証４４２を得る、プロトコル特有の（アプリケーション特有の）認証クライアント・アプリケーション４４０を有する。
【００３０】
認証プロセスは、さまざまな形をとることができる。例えば、デバイス特有の認証メッセージを生成するために、安全なストレージ・モジュール１６０は、デバイス特有の鍵１６２によって（例えば安全なストレージ・モジュール１６０の機能を用いて）署名されるメッセージの形で提供可能な、デバイス１００のハードウェア特徴を示す（製造における）データを備えていることができる。
【００３１】
アプリケーション特有の認証メッセージは、例えば、以下のように生成可能である。アプリケーション・プログラム実行回路１１０上で動作するアプリケーション・プログラムは、公開／秘密鍵のペアを生成し、アプリケーション特有のメッセージに署名するために用いられる。安全なストレージ・モジュールは、ＤＳＫ１６２を有する公開鍵のハッシュに署名し、暗号結合を作成する。
【００３２】
認証クライアント４４０は、他のデータ処理デバイス（その実例は、図７を参照して後述される）のような有効化するエンティティ４５０により認証プロトコルを実施する。認証クライアントは、実施認証４５４に対して任意のプロトコル特有の認証情報４５２の暗号結合を制御する。結合動作は、図６を参照して以下でさらに記載される。それゆえ、これは、デバイス４３０におけるプロトコル特有のハードウェア・プロビジョニングを必要とすることのなく、プロトコル特有の認証情報を、実施認証鍵４４４によって表される信頼の基点に連結する。
【００３３】
有効化するエンティティ４５０は、プロトコル特有の確認者４６０によりプロトコル特有の認証を確認し、次に、プロトコル特有の確認者４６０は、実施確認者４１０と相互作用し、プロトコル特有の認証に暗号によって署名するために用いられた実施認証４４２を確認する。
【００３４】
図５は、方法を示す概略的なフローチャートである。図５において、有効化するデバイス（第１のデータ処理デバイスと呼ばれる）による動作は、破線５００の左に示され、有効化されるデバイス（第２のデータ処理デバイスと呼ばれる）による動作は、破線５００の右に示される。方法は、次のステップを含む。
【００３５】
ステップ５１０において、第１のデータ処理デバイス（図４の有効化するエンティティ４５０）は、第２のデータ処理デバイスの認証、又は、第２のデータ処理デバイスによる認証を要求する。
【００３６】
ステップ５２０において、第２のデータ処理デバイス（図４のデバイス４３０）は、デバイス特有の鍵、第２のデータ処理デバイスのハードウェアの構成及び第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージ４５４を生成する。
【００３７】
ステップ５３０において、第２のデータ処理デバイスは、第１のデータ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージ４５４を生成する。
【００３８】
ステップ５４０において、第２のデータ処理デバイスは、アプリケーション特有の認証メッセージ４５４をデバイス特有の認証メッセージ４５２に暗号結合する。
【００３９】
いくつかの実例の実施例では、ステップ５４０が、両方のステップ５２０及び５３０で一緒に生成されるメッセージに署名することを含み、暗号結合を作成することができることに留意されたい。
【００４０】
ステップ５５０において、第１のデータ処理デバイスは、アプリケーション特有の認証メッセージを確認し、確認するステップは、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを確認することによって、アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含む。
【００４１】
ステップ２００（図２）及び５５０（図５）は、第２のデータ処理デバイスによって格納されるためのデバイス特有の鍵を生成する確認装置の実例を提供することができるという点で、同じエンティティとの相互作用に関することができ、確認するステップの実例は、第１のデータ処理デバイスが、確認装置によるデバイス特有の認証メッセージの確認を要求することを含む。
【００４２】
ステップ５６０において、第１のデータ処理デバイスは、確認されたアプリケーション特有の認証メッセージに依存して、相互作用プロトコルに従って第２のデータ処理デバイスとの相互作用を確立する。
【００４３】
ステップ５７０、５８０によって概略的に示されるように、相互作用の確立は、第１及び第２のデータ処理デバイスが、第１及び第２のデータ処理デバイスの間の暗号化通信のために、（例えば、いわゆるディフィー・ヘルマン鍵共有技術によって１つ又は複数のセッション鍵を交換することと、セッション鍵を用いた通信を実行することと、を含むことができる。
【００４４】
図６は、デバイス特有の認証メッセージとアプリケーション特有の認証メッセージとの暗号結合のプロセスを概略的に示す。破線６００の左のステップは、確認するデバイスによって実行され、破線６００の右のステップは、確認されるデバイスによって実行される。
【００４５】
一般的に言えば、暗号結合は、暗号化動作を用いてデータ保全性及び真正性を示すための技術を提供する。いくつかの実例では、技術は、各データ・オブジェクトのハッシュ値を生成し、１つ又は複数のハッシュ値の収集にデジタル署名することによって動作することができる。その後データにアクセスされるとき、署名は確認可能であり、ハッシュ値における任意の矛盾を用いて、結合動作が起こってから、どのデータ・オブジェクトが修正されたかを検出することができる。
【００４６】
ステップ６００において、確認されるデバイスは、アプリケーション特有の認証メッセージのハッシュを生成し、ステップ６１０において、実施鍵又はデバイス特有の鍵を用いて、生成されたハッシュに暗号によって署名する。
【００４７】
ステップ６２０において、確認するデバイスは、潜在的に確認者４１０を参照し、署名を確認する。確認するデバイスは、ステップ６３０において、同じハッシュ・アルゴリズムを用いて、対応するハッシュ値を生成し、ステップ６４０において、ちょうど生成されたハッシュ値と署名されたハッシュ値とを比較する。２つが整合する場合、アプリケーション特有の認証メッセージを信頼することができる。
【００４８】
上述したように、いくつかの他の実例の実施例では、このプロセスは、デバイス特有の認証を生成するのと同時に効果的に実行され、署名された結合及びデバイス特有の認証が一緒に行くということを証明することができることに留意されたい。換言すれば、いくつかの実例では、ステップ５４０は、両方のステップ５２０及び５３０で一緒に署名することを含み、結合を作成することができる。
【００４９】
図７は、確認を要求するデータ処理デバイス７００を概略的に示し、データ処理デバイス７００は、処理要素、例えば中央演算処理装置又はＣＰＵ７１０と、例えば１つ又は複数のアプリケーション・プログラムのためのＲＡＭ及びストレージ（例えば不揮発性機械可読なメモリ、例えばフラッシュメモリ）を含む１つ又は複数のメモリ７２０と、インタフェース７３０と、を備える。
【００５０】
それゆえ、図７は、データ処理デバイスの実例を提供し、データ処理デバイスは、第２のデータ処理デバイスの認証を要求し、デバイス特有の鍵、第２のデータ処理デバイスのハードウェアの構成及び第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、第２のデータ処理デバイスから、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを受信する回路と、アプリケーション特有の認証メッセージを確認する回路であって、確認することは、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを確認することによって、アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含む回路と、確認されたアプリケーション特有の認証メッセージに依存して、相互作用プロトコルに従って第２のデータ処理デバイスとの相互作用を確立する回路と、を備える。これらの機能は、ＣＰＵ７１０によって、メモリ７２０によって格納されるコンピュータ・ソフトウェアの制御下で実行可能である。
【００５１】
図５に示される相互作用は、確立した相互作用プロトコルを用いて、図７のデータ処理デバイス７００と相互作用するように構成される図１のデータ処理デバイス１００を備えるデータ処理システムの文脈において起こることができる。
【００５２】
図８は、データ処理デバイス（例えば有効化されるデバイス、例えば図１のデバイス）の動作の方法を示す概略的なフローチャートであり、方法は、（ステップ８００において）デバイス特有の鍵を格納するステップと、（ステップ８１０において）第２のデータ処理デバイスによる認証のための要求に応答して、デバイス特有の鍵、データ処理デバイスのハードウェアの構成及びデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、デバイス特有の認証メッセージを生成するステップと、（ステップ８２０において）データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージを生成するステップと、（ステップ８３０において）例えば、有効化要求デバイスに送信するために、アプリケーション特有の認証メッセージをデバイス特有の認証メッセージに暗号結合するステップと、を含む。
【００５３】
図９は、データ処理デバイス（例えば有効化要求デバイス、例えば図７のデバイス）の動作の方法を示す概略的なフローチャートであり、方法は、（ステップ９００において）第２のデータ処理デバイスの認証を要求するステップであって、デバイス特有の鍵、第２のデータ処理デバイスのハードウェアの構成及び第２のデータ処理デバイス上で動作するソフトウェアのソフトウェア構成に依存して、第２のデータ処理デバイスから、データ処理デバイス及び第２のデータ処理デバイスが相互作用する相互作用プロトコルに依存して、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを受信するステップと、（ステップ９１０において）アプリケーション特有の認証メッセージを確認するステップであって、確認するステップは、アプリケーション特有の認証メッセージに暗号結合されたデバイス特有の認証メッセージを確認することによって、アプリケーション特有の認証メッセージの信頼されたステータスを検出することを含むステップと、（ステップ９２０において）確認されたアプリケーション特有の認証メッセージに依存して、相互作用プロトコルに従って第２のデータ処理デバイスとの相互作用を確立するステップと、を含む。
【００５４】
図１０は、用いられうるシミュレータ実施を概略的に示す。上述した実施例は、関係する技術をサポートする特定の処理ハードウェアを動作するための装置及び方法に関して、本開示を実施するが、コンピュータ・プログラムを用いることにより実施される、本願明細書に記載されている実施例に従う命令実行環境を提供することもまた可能である。この種のコンピュータ・プログラムは、ハードウェア・アーキテクチャのソフトウェア・ベースの実施を提供する限り、しばしばシミュレータと呼ばれる。シミュレータ・コンピュータ・プログラムの種類は、エミュレータ、仮想マシン、モデル及び動的なバイナリ変換器を含むバイナリ変換器を含む。典型的には、シミュレータ実施は、ホスト・プロセッサ１０３０上で動作してもよく、オプションで、ホスト・オペレーティング・システム１０２０を実行し、シミュレータ・プログラム１０１０をサポートする。いくつかの構成では、ハードウェアと、提供される命令実行環境及び／又は同じホスト・プロセッサ上に提供される複数の異なる命令実行環境と、の間にシミュレーションの複数の層が存在してもよい。歴史的に、強力なプロセッサは、相当な速度で実行するシミュレータ実施を提供することが要求されてきたが、この種の方法は、特定の状況では、例えば、互換性又は再利用のために他のプロセッサに原産のコードを実行したいという欲求があるとき、正当化されうる。例えば、シミュレータ実施は、ホスト・プロセッサ・ハードウェアによりサポートされないさらなる機能を、命令実行環境に提供してもよいか、又は、異なるハードウェア・アーキテクチャと典型的に関連付けられた命令実行環境を提供してもよい。シミュレーションの概要は、「Ｓｏｍｅ  Ｅｆｆｉｃｉｅｎｔ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｓｉｍｕｌａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅｓ」、Ｒｏｂｅｒｔ  Ｂｅｄｉｃｈｅｋ、Ｗｉｎｔｅｒ  １９９０  ＵＳＥＮＩＸ  Ｃｏｎｆｅｒｅｎｃｅ、５３〜６３頁において与えられ、その内容は、本願明細書に参照によって組み込まれる。
【００５５】
実施例が特定のハードウェア構成又は特徴を参照して上述されてきた程度まで、シミュレーションされた実施例では、等価の機能は、適切なソフトウェア構成又は特徴によって提供されてもよい。例えば、特定の回路は、シミュレーションされた実施例においてコンピュータ・プログラム・ロジックとして実施されてもよい。同様に、メモリ・ハードウェア、例えばレジスタ又はキャッシュは、シミュレーションされた実施例においてソフトウェア・データ構造として実施されてもよい。上述した実施例において参照されるハードウェア要素の１つ又は複数が、ホスト・ハードウェア（例えば、ホスト・プロセッサ１０３０）上に存在する構成では、いくつかのシミュレーションされた実施例は、適切な場合、ホスト・ハードウェアを使用してもよい。
【００５６】
シミュレータ・プログラム１０１０は、コンピュータ可読又は機械可読記憶媒体（非一時的媒体でもよい）に格納されてもよく、シミュレータ・プログラム１０１０によってモデル化されているハードウェア・アーキテクチャのアプリケーション・プログラム・インタフェースと同様であるターゲット・コード１０００（アプリケーション、オペレーティング・システム及びハイパーバイザを含んでもよい）に、プログラム・インタフェース（命令実行環境）を提供する。このように、上述した方法の１つ又は複数を実行するための命令を含むターゲット・コード１０００のプログラム命令は、シミュレータ・プログラム１０１０を用いて命令実行環境内から実行されてもよいので、上述した図１及び／又は図７の装置のハードウェア特徴を実際は有さないホスト・コンピュータ１０３０は、これらの特徴をエミュレートすることができる。
【００５７】
本出願において、「…のように構成される」という用語は、装置の要素が所定の動作を実行可能な構成を有することを意味するために用いられる。この文脈において、「構成」は、ハードウェア又はソフトウェアの相互接続の構成又は方法を意味する。例えば、装置は、所定の動作を提供する専用ハードウェアを有してもよいし、又は、プロセッサ又は他の処理デバイスは、機能を実行するようにプログラムされてもよく、この場合、機能が実行されるソフトウェア又はプログラム命令、及び、この種のソフトウェア又はプログラムが、命令が提供された（例えば格納された）非一時的機械可読媒体のような提供する媒体は、開示の実施例を表すものとみなされる。「構成される」は、装置要素が所定の動作を提供するためにいかなる形であれ変えられる必要があることを意味しない。
【００５８】
本技術の図示の実施例が添付の図面を参照して本願明細書において詳述されてきたが、本技術がそれらの正確な実施例に限定されるものではなく、さまざまな変化、追加及び変更が、添付の請求の範囲に記載の技術の範囲及び趣旨を逸脱しない範囲で当業者によってなされうることを理解されたい。例えば、従属請求項の特徴のさまざまな組み合わせは、本技術の範囲を逸脱しない範囲で独立請求項の特徴とともになされうる。
【図１】
2021527342.tif 000003
【図２】
2021527342.tif 000004
【図３】
2021527342.tif 000005
【図４】
2021527342.tif 000006
【図５】
2021527342.tif 000007
【図６】
2021527342.tif 000008
【図７】
2021527342.tif 000009
【図８】
2021527342.tif 000010
【図９】
2021527342.tif 000011
【図１０】
2021527342.tif 000012
【国際調査報告】
2021527342.tif 000013
2021527342.tif 000014
2021527342.tif 000015