JP2008506338A - 配布cdを用いて直接証明秘密鍵を装置に配布する方法 - Google Patents

配布cdを用いて直接証明秘密鍵を装置に配布する方法 Download PDF

Info

Publication number
JP2008506338A
JP2008506338A JP2007521527A JP2007521527A JP2008506338A JP 2008506338 A JP2008506338 A JP 2008506338A JP 2007521527 A JP2007521527 A JP 2007521527A JP 2007521527 A JP2007521527 A JP 2007521527A JP 2008506338 A JP2008506338 A JP 2008506338A
Authority
JP
Japan
Prior art keywords
key
data structure
secret key
encrypted data
digest
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
JP2007521527A
Other languages
English (en)
Other versions
JP4616345B2 (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 JP2008506338A publication Critical patent/JP2008506338A/ja
Application granted granted Critical
Publication of JP4616345B2 publication Critical patent/JP4616345B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • 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
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

フィールドにおけるクライアント・コンピュータ・システムに設置された装置に直接証明秘密鍵を配布することは、装置内にかなりの不揮発性記憶装置を必要とすることなくセキュアに達成することができる。一意の疑似乱数値が製造時点で生成され、装置に記憶される。疑似乱数値を用いて、直接証明秘密鍵と、装置に関連した秘密鍵ダイジェストとを保持するデータ構造を暗号化するための対称鍵を生成する。結果として生じる暗号化データ構造は、取り外し可能記憶媒体(CDなど)上に記憶され、クライアント・コンピュータ・システムの保有者に配布される。クライアント・コンピュータ・システム上で装置が初期化されると、局所化された暗号化データ構造がシステムにおいて存在しているかをシステムは検査する。否定の場合、システムは、関連した暗号化データ構造を取り外し可能記憶媒体から得る。装置は、その記憶された疑似乱数値から再生成された対称鍵を用いて暗号化データ構造を復号して直接証明秘密鍵を得る。秘密鍵は、有効な場合、クライアント・コンピュータ・システム内の装置による後の認証処理に用いることができる。

Description

本発明は一般にコンピュータ・セキュリティに関し、特に処理システム内の装置に暗号鍵をセキュアに配布する方法に関する。
コンテンツ保護機能及び/又はコンピュータ・セキュリティ機能をサポートする一部の処理システム・アーキテクチャは、処理システム内の特定の保護されたハードウェア装置又は「信頼」ハードウェア装置(例えば、グラフィックス・コントローラ・カードなど)によって、特に保護されたソフトウェア・モジュール又は「信頼」ソフトウェア・モジュールが、認証された暗号化通信セッションを作成できることを必要とする。装置を識別し、暗号化通信セッションを同時に設定するうえで一般に用いられている手法の1つに、片側認証ディフィ・ヘルマン(DH)鍵交換プロセスを用いることがある。この処理では、装置には、一意の公開/秘密アール・エス・エー(RSA)アルゴリズム鍵対又は一意の楕円曲線暗号(ECC)鍵対が割り当てられる。
しかし、この認証プロセスはRSA鍵又はECC鍵を用いるので、装置はその場合、一意であり、かつ証明可能な識別情報を有しており、これはプライバシの懸念を高めかねない。最悪の場合には、こうした懸念は、この種のセキュリティを提供する信頼可能な装置を構築する相手先商標製造会社(OEM)からのサポートの不足につながり得る。
本発明の特徴及び利点は、本発明の以下の詳細な説明から明らかになるであろう。
直接証明ベースのディフィ・ヘルマン鍵交換プロトコルを用いて、保護された装置/信頼装置が自らを認証し、信頼ソフトウェア・モジュールと暗号化通信セッションを設定することを可能にすることによって、処理システムにおける一意の識別情報が作成されないようになり、それによって、プライバシの懸念がもたらされないようになる。しかし、製造ライン上の装置に直接証明秘密鍵を直接埋め込むことは、他の手法よりも多くの不揮発性保護記憶装置を必要とし、それによって装置コストが増加する。本発明の一実施例には、直接証明秘密鍵(例えば、署名に用いる)を配布コンパクト・ディスク‐リード・オンリー・メモリ(CD-ROM)上でセキュアに配布し、後に装置自体によって装置内にインストールすることを可能にするための方法がある。本発明において示した方法は、インストール・プロセスのための識別情報を装置が明らかにしなくてもよいように企図されている。一実施例では、この機能をサポートするうえで必要な、装置の記憶容量削減は、約300乃至700バイトから約20バイトへの削減であり得る。装置の直接証明ベース・ディフィ・ヘルマン鍵交換の実施に必要な不揮発性記憶容量のこうした削減によって、この手法が更に広く採用されることになり得る。
本明細書中で本発明の「one embodiment」又は「an embodiment」に言及していることは、その実施例に関して説明する特定の特徴、構造又は特性が本発明の少なくとも1つの実施例に含まれていることを意味している。よって、本明細書を通した種々の箇所に存在している句「in one embodiment」は必ずしもその全てが同じ実施例を表している訳でない。
以下の説明では、特定の用語を用いて本発明の1つ又は複数の実施例の特定の特徴を説明する。例えば、「プラットフォーム」は、情報を送信し、受信するよう適合された何れかのタイプの通信装置として定義される。種々のプラットフォームの例には、コンピュータ・システム、携帯情報端末、携帯電話機、セットトップ・ボックス、ファクシミリ機、プリンタ、モデム、ルータ、又は同様なものが含まれるが、前述のものに限定又は制限されるものでない。「通信リンク」は、プラットフォームに適合された1つ又は複数の情報担持媒体として広く定義される。各種通信リンクの例には、1つ又は複数の電線、1つ又は複数の光ファイバ、1つ又は複数のケーブル、1つ又は複数のバス・トレース、又は無線シグナリング技術がある。
「チャレンジャ」は、真正性又は権限の特定の検証を別のエンティティから要求する何れかのエンティティ(例えば、個人、プラットフォーム、システム、ソフトウェア、及び/又は装置)を表す。通常、このことは、要求情報の開示又は提供に先行して行われる。「レスポンダ」は、その権限、有効性、及び/又は識別情報の特定の証明を備えるよう要求された何れかのエンティティを表す。「装置製造業者」は、「認証製造業者」と同義に用いることができ、プラットフォーム又は装置を製造又は構成する何れかのエンティティを表す。
本明細書及び特許請求の範囲の記載では、特定の暗号情報(例えば、ディジタル署名、鍵などの秘密等)をレスポンダが有しているか、又は知っていることをチャレンジャに「実証する」か、又は「確信させる」ことは、チャレンジャに開示される情報及び証明に基づけば、レスポンダが暗号情報を有している可能性が高いことを意味する。暗号情報をチャレンジャに「明らかにする」か、又は「開示する」ことなくチャレンジャにこのことを実証することは、チャレンジャに開示された情報に基づけば、暗号情報をチャレンジャが判定することが計算量的に実現不能になることを意味する。
前述の証明は、以降、直接証明として表す。「直接証明」の語は、ゼロ知識証明を表す。こうしたタイプの証明は当該分野において一般に知られているからである。特に、本明細書及び特許請求の範囲記載の特定の直接証明プロトコルは、本出願の所有者に譲渡されている、「System and Method for Establishing Trust Without Revealing Identity」と題する西暦2002年11月27日付け出願の同時係属特許出願第10/306,336号明細書に記載されている。直接証明によって、発行者により定義された共通の特性を共有する、多くのメンバからなるファミリを発行者が定義するプロトコルが定義される。発行者は、全体としてファミリを表すファミリ公開/秘密鍵対(Fpub及びFpri)を生成する。Fpriを用いれば、発行者は、ファミリにおける個々のメンバ毎に一意の直接証明秘密署名鍵(DPpri)を生成することも可能である。個々のDPpriによって署名されたメッセージは何れも、ファミリ公開鍵Fpubを用いて検証することが可能である。しかし、そうした検証は、署名者がファミリのメンバである旨を識別するに過ぎない。個々のメンバについて一意に識別する情報は何ら露呈されない。一実施例では、発行者は、装置製造業者又は装置デリゲート(delegate)であり得る。すなわち、発行者は、共有された特性に基づいて装置ファミリを定義し、ファミリ公開/秘密鍵対を生成し、DP秘密鍵を作成し、装置に注入することができるエンティティであり得る。発行者は、鍵のソースと装置ファミリの特性とを識別する、ファミリ公開鍵用証明書も生成することができる。
次に図1を参照すれば、本発明の一実施例によって動作する、信頼ハードウェア装置によって実現されたプラットフォーム(「信頼プラットフォーム・モジュール」又は「TPM」として表す)を特徴とするシステムの実施例を示す。第1のプラットフォーム102(チャレンジャ)は、第2のプラットフォーム104(レスポンダ)が自らについての情報を供給する旨の要求106を送信する。要求106に応じて、第2のプラットフォーム104は要求情報108を供給する。
更に、セキュリティ強化のために、選択された装置製造業者又は選択された装置製造業者群(以降、「1つ又は複数の装置製造業者110」として表す)によって製造された装置が要求情報108のソースであることを第1のプラットフォーム102が検証する必要があり得る。例えば、本発明の一実施例の場合、1つ又は複数の装置製造業者110によって生成された暗号情報(例えば、署名)を有していることを示すよう第1のプラットフォーム102は第2のプラットフォーム104にチャレンジする。このチャレンジは、(図中の)要求106に組み入れられるか、又は別個の送信であり得る。1つ又は複数の装置製造業者110によって生成された暗号情報を第2のプラットフォーム104が有していることを第1のプラットフォーム102に応答の形式で、暗号情報を明らかにすることなく確信させるための情報を供給することによって第2のプラットフォーム104は上記チャレンジに応答する。上記応答は、(図中の)要求情報108の一部であるか、又は別個の送信であり得る。
本発明の一実施例では、第2のプラットフォーム104は信頼プラットフォーム・モジュール(TPM)115を備える。TPM115は、1つ又は複数の製造業者110によって製造される暗号装置である。本発明の一実施例では、TPM115は、パッケージ内にカプセル化された小量のオンチップ・メモリを有するプロセッサを備えている。TPM115は、有効なTPMから応答が送信される旨を判定することを可能にする情報を第1のプラットフォーム102に供給するよう構成される。用いられる情報は、TPMの識別情報又は第2のプラットフォームの識別情報を判定することができる可能性を高くするものでないコンテンツである。
図2は、TPM115を備えた、第2のプラットフォーム104の第1の実施例を示す。本発明のこの実施例の場合、第2のプラットフォーム104は、TPM115に結合されたプロセッサ202を備える。一般に、プロセッサ202は、情報を処理する装置である。例えば、本発明の一実施例では、プロセッサ202は、マイクロプロセッサ、ディジタル信号プロセッサ、マイクロコントローラとして実施することができ、又は、状態マシンとしても実施することができる。あるいは、本発明の別の実施例では、プロセッサ202は、プログラム可能論理又はプログラム中に固定された論理(フィールド・プログラム可能ゲート・アレイ(FPGA)など)、トランジスタトランジスタ論理として実現することができ、又は、特定用途向集積回路(ASIC)としても実現することができる。
本明細書及び特許請求の範囲では、第2のプラットフォーム104は、暗号情報(鍵、ハッシュ値、署名、証明書等のうちの1つ又は複数のものなど)の記憶を可能にするための記憶装置206を更に備える。「X」のハッシュ値は「ハッシュ(x)」として表することができる。図3に示すように記憶装置206の代わりにTPM115の内部メモリ220に記憶することができる。特にTPM115の外に記憶される場合、暗号情報は暗号化し得る。
図4は、図2のTPM115によって実現されたコンピュータ・システム300を含むプラットフォームの実施例を示す。コンピュータ・システム300は、バス302と、バス302に結合されたプロセッサ310とを備える。コンピュータ・システム300は、主メモリ装置304及び静的メモリ装置306を更に備える。
本明細書及び特許請求の範囲では、主メモリ装置304は、情報と、プロセッサ310によって実行される命令とを記憶する揮発性半導体メモリである。主メモリ304は、プロセッサ310による命令の実行中に一時変数や他の中間情報を記憶するのに用いることもできる。静的メモリ装置306は、より永久的な特性に関して、プロセッサ310用の情報及び命令を記憶する不揮発性半導体メモリである。静的メモリ306の例には、リード・オンリー・メモリ(ROM)が含まれるが、これに限定又は制限されるものでない。主メモリ装置304も静的メモリ装置306もバス302に結合される。
本発明の一実施例では、コンピュータ・システム300は、データ記憶装置308(磁気ディスクや光ディスクなど)を更に備え、それに対応するドライブも、情報及び命令を記憶するためにコンピュータ・システム300に結合し得る。
コンピュータ・システム300は、グラフィックス・コントローラ装置314にバス302を介して結合することも可能である。グラフィックス・コントロール装置314は、エンド・ユーザに向けて情報を表示するためにディスプレイ(陰極線管(CRT)、液晶ディスプレイ(LCD)又は何れかのフラット・パネル・ディスプレイ)を制御する。一実施例では、プロセッサによって実行されているソフトウェア・モジュールと、認証された暗号化通信セッションをグラフィックス・コントローラが設定できることが望ましい場合がある。
通常、英数字入力装置316(例えば、キーボード、キーパッド等)を、情報、及び/又はコマンド選択をプロセッサ310に通信するためにバス302に結合させ得る。別のタイプのユーザ入力装置には、方向情報及びコマンド選択をプロセッサ310に通信し、ディスプレイ314上のカーソル移動を制御するためのカーソル制御装置318(マウス、トラックボール、タッチパッド、スタイラスや、カーソル方向キーなど)がある。
通信インタフェース装置320もバス302に結合される。インタフェース装置320の例には、ローカル・エリア・ネットワーク又はワイド・エリア・ネットワークの一部を形成する通信リンクへの結合に用いるモデム、ネットワーク・インタフェース・カードやその他の周知のインタフェースがある。このようにして、コンピュータ・システム300は、通常のネットワーク・インフラストラクチャ(例えば、企業のイントラネット、及び/又はインターネットなど)を介していくつかのクライアント及び/又はサーバに結合することができる。
特定の実施形態の場合、前述のコンピュータ・システムよりも装備が少ないコンピュータ・システム又は前述のコンピュータ・システムよりも装備が多いコンピュータ・システムが望ましい場合がある。したがって、コンピュータ・システム300の構成は、数多くの要因(価格の制約、性能の要件、技術上の改良、及び/又は他の状況など)によって実施形態単位で変わってくる。
少なくとも1つの実施例では、コンピュータ・システム300は、主メモリ304及び/又は大容量記憶装置308に記憶されており、プロセッサ310によって実行される、特別に保護された「信頼」ソフトウェア・モジュール(例えば、耐タンパリング性ソフトウェアや、保護されたプログラムを実行することができるシステム)を用いて、システム内に他のホスタイル(hostile)・ソフトウェアがあっても特定の活動を行うことをサポートすることができる。これらの信頼ソフトウェア・モジュールの一部は、他のプラットフォームのみならず、同じプラットフォーム内の1つ又は複数の周辺装置(グラフィックス・コントローラ314など)に同様に「信頼可能な」保護アクセスを必要とする。一般に、そうしたアクセスは、信頼ソフトウェア・モジュールが装置の機能及び/又は特定の識別情報を識別し、装置との暗号化セッションを設定してシステム内の他のソフトウェアによるスヌーピング又はスプーフィングが可能でないデータ交換を可能にすることができることを必要とする。
装置を識別し、暗号化セッションを同時に設定する、従来技術の手法の1つに、片側認証ディフィ・ヘルマン(DH)鍵交換プロセスを用いることがある。このプロセスでは、装置には、一意の公開/秘密のRSA又はECCの鍵対が割り当てられる。装置は秘密鍵を保持し、保護する一方、公開鍵は認証証明書とともにソフトウェア・モジュールにリリースすることができる。DH鍵交換プロセスの間、装置はその秘密鍵を用いてメッセージをサインする。これは、対応する公開鍵を用いてソフトウェア・モジュールが検証することが可能である。これによって、メッセージが実際に、関心の装置からのものであることをソフトウェア・モジュールが認証することが可能になる。
しかし、この認証プロセスはRSA鍵又はECC鍵を用いるので、装置は、一意であり、かつ証明可能な識別情報を有している。その秘密鍵によってメッセージを装置にサインさせることが可能なソフトウェア・モジュールはどれも、コンピュータ・システム内にこの特定の一意の装置が存在していることを実証することが可能である。処理システム間を装置が移動することがめったにないものとすれば、このことは、一意のコンピュータ・システム識別情報が実証可能であることを表すものでもある。更に、装置の公開鍵自体は、一定の一意値(事実上、永久の「クッキー」)を表す。一部の場合、前述の特性は、重大なプライバシ問題とみなし得る。
別の手法の1つは、本出願の所有者に譲渡されている、「An Apparatus and Method for Establishing an Authenticated Encrypted Session with a Device Without Exposing Privacy-Sensitive Information」と題する同時係属中の特許出願に記載されている。前述の手法では、片側認証ディフィ・ヘルマン・プロセスにおけるRSA鍵又はECC鍵の使用は、直接証明鍵によって置き換えられている。この手法を用いる装置は、特定の装置ファミリに属しているものとして認証することができる。これは、装置の挙動又は信頼性についての保証を含み得る。上記手法は、処理システムを表す一意の識別情報を設定するのに用いることが可能な、一意に識別する情報を何ら露呈するものでない。
この手法は、うまく機能するが、直接証明秘密鍵を保持するうえで装置内に更なる記憶装置を必要とする。これは、RSA鍵又はECQ鍵よりも大きい容量であり得る。この更なる記憶要件の負担を軽減するために、本発明の実施例は、装置内に実質的な追加記憶装置を必要とすることなく、鍵が必要な場合に直接証明秘密鍵を装置が有していることを保証するシステム及びプロセスを規定する。
本発明の少なくとも1つの実施例では、装置製造業者は、製造ライン内の装置に128ビットの疑似乱数を記憶するに過ぎず、ずっと大容量の直接証明秘密鍵(DPpri)を、配布CDを用いて暗号化し、配布することができる。他の実施例は、128ビットよりも長いか又は短い数を装置に記憶することができる。特定された装置のみがその割り当てられたDPpri鍵を復号し、用いることが可能であることがこのプロセスによって保証される。図5は、本発明の実施例による、直接証明鍵を配布するシステム500の図である。このシステム内には3つのエンティティ(装置製造保護システム502、装置製造生産工程システム503、及びクライアント・コンピュータ・システム504)が存在している。装置製造保護システムは、装置506の製造に先行するセットアップ・プロセスに用いられる処理システムを備える。保護システム502は、装置製造拠点の外のハッカーからの攻撃から保護システムが保護される(例えば、閉じたシステムである)ように装置製造業者によって動作させることができる。製造生産工程システム503は、装置の製造において用いることができる。一実施例では、保護システム及び生産工程システムは同じシステムであり得る。装置506は、クライアント・コンピュータ・システムに含まれる何れかのハードウェア装置(例えば、メモリ・コントローラ、周辺装置(グラフィクス・コントローラなど)、I/O装置等)を備える。本発明の実施例では、装置は、装置の不揮発性記憶装置に記憶された疑似乱数値RAND508を備える。
製造保護システムは、保護データベース510及び生成機能512を含む。保護データベースは、以下に説明するように生成機能512によって生成される複数の疑似乱数値(製造される対象の装置毎に少なくとも1つ)を記憶するためのデータ構造を備える。生成機能は、本明細書及び特許請求の範囲では鍵ブロブ514と呼ぶデータ構造を生成するためのロジック(ソフトウェア又はハードウェアで実現される)を備える。鍵ブロブ514は少なくとも3つのデータ・アイテムを備える。一意の直接証明秘密鍵(DPpri)は、署名するために装置によって用いることができる暗号鍵を備える。DP秘密ダイジェスト(DPpriダイジェスト)は、セキュアなメッセージ・ダイジェストを生成する何れかの周知の手法(SHA-1など)による、DPpriのメッセージ・ダイジェストを備える。一部の実施例は、互換性の目的で鍵ブロブの一部としてビット・ストリームを備える疑似ランダム初期化ベクトル(IV)518を含み得る。ストリーム暗号を暗号化に用いる場合、ストリーム暗号においてIVを用いる周知の手法においてIVを用いる。ブロック暗号を暗号化に用いる場合、暗号化対象のメッセージの一部としてIVが用いられることになり、よって、暗号化の各インスタンスが異なることになる。
本発明の実施例では、製造保護システムは、(以下に詳細に説明するような)1つ又は複数の鍵ブロブを生成し、CD522上の鍵ブロブ・データベース520に鍵ブロブを記憶する。一実施例では、単一のCD上に多くの鍵ブロブが存在し得る。唯一の制約は、CDの物理的な記憶容量限度である。CDは次いで、コンピュータ・システム製造業者、コンピュータ流通業者、消費者やその他の者に通常の物理チャネルを介して配布される。本明細書及び特許請求の範囲では記憶媒体としてCDを記載しているが、取り外し可能な適切な何れかの記憶媒体(例えば、ディジタル多用途ディスク(DVD)やその他の媒体)を用いることができる。
システム504内に含まれた装置506との通信セッションの認証及び鍵交換に直接証明プロトコルを用いようとするクライアント・コンピュータ・システム504は、クライアント・コンピュータ・システムのCDROMドライブ(図示せず)にCDが挿入されるとCD上の鍵ブロブ・データベース520から選択された鍵ブロブ514を読み取ることができる。鍵ブロブ・データを装置によって用いて、直接証明プロトコルの実現に用いるための局所化鍵ブロブ524(以下に説明するような)を生成することができる。装置506を初期化し、制御するために装置ドライバ・ソフトウェア526をクライアント・コンピュータ・システムによって実行する。
本発明の実施例では、別個の動作段階は4つ存在し得る。図6は、本発明の実施例による、直接証明鍵を配布する方法の段階を示す流れ図600である。本発明の実施例によれば、特定の動作を各段階で行うことができる。装置製造業者の拠点では、少なくとも2つの段階(セットアップ段階602及び製造生産工程段階604)が存在している。セットアップ段階は、本明細書及び特許請求の範囲において図7を参照しながら説明する。製造生産工程段階は、本明細書及び特許請求の範囲において図8を参照しながら説明する。クライアント・コンピュータ・システムを有する消費者拠点では、少なくとも2つの段階(セットアップ段階606及び使用段階608)が存在している。クライアント・コンピュータ・システム・セットアップ段階は本明細書及び特許請求の範囲では図9を参照しながら説明する。クライアント・コンピュータ・システム使用段階は本明細書及び特許請求の範囲では図10を参照しながら説明する。
図7は、本発明の実施例による装置製造セットアップ処理を示す流れ図700である。一実施例では、装置製造業者は製造保護システム502を用いてこうした動作を行うことができる。ブロック702では、装置製造業者は、製造される対象の装置のクラス毎に直接証明ファミリ鍵対(Fpub及びFpri)を生成する。一意の装置それぞれは、DPpriを用いて作成される署名をFpubによって検証することができるようなDPpri鍵を有することになる。装置クラスは、何れかの、装置の組又は部分集合(選択された製品ライン(すなわち、装置タイプ)や、バージョン番号やその他の装置特性に基づいた、製品ラインの部分集合など)を備え得る。ファミリ鍵対は、生成された対象の装置クラスによって用いるためのものである。
製造される対象の装置毎に、製造保護システム502の生成機能512はブロック704乃至720を行う。まず、ブロック704では、生成機能は一意の疑似乱数値(RAND)508を生成する。一実施例では、RANDの長さは128ビットである。他の実施例では、他のサイズの値を用いることができる。一実施例では、いくつかの装置の疑似乱数値を予め生成することができる。ブロック706では、装置によってサポートされる一方向関数fを用いて、生成機能は、対称暗号化鍵SKEYを一意のRAND値から生成する(SKEY=f(RAND))。一方向関数は、この目的に適切な何れかの既知のアルゴリズムであり得る(例えば、SHA-1、MGF1、データ暗号化標準(DES)、トリプルDES)。ブロック708では、一実施例において、生成機能は、SKEYを用いて「ヌル・エントリ」(例えば、少ない数のゼロ・バイト)を暗号化すること(装置ID=SKEYを用いた暗号化(0..0))によって配布ID522上のこの装置の鍵ブロブ514を参照するのに用いる識別子(ID)ラベルを生成する。他の実施例では、装置IDを生成する他のやり方を用いることができるか、又は他の値をSKEYによって暗号化することができる。
次に、ブロック710では、生成機能は、装置のファミリ公開鍵(Fpub)に関係付けるDP秘密署名鍵DPpriを生成する。ブロック712では、生成機能はDPpriをハッシングして、既知の手法を用いて(例えば、SHA-1又は別のハッシュ・アルゴリズムを用いて)DPpriダイジェストを生成する。ブロック714では、生成機能は、装置の鍵ブロブ・データ構造を構築する。鍵ブロブは少なくともDPpri及びDPpriダイジェストを含む。一実施例では、鍵ブロブは、疑似ランダムに生成された複数のビットを有するランダムな初期化ベクトルも含む。SKEYを用いてこうした値を暗号化して暗号化鍵ブロブ514を生成することができる。ブロック716では、ブロック708で生成された装置ID及びブロック714で生成された暗号化鍵ブロブ514を、配布CD522上にリリースされる対象の、鍵ブロブ・データベース520内のエントリに記憶することができる。一実施例では、鍵ブロブ・データベース内のエントリを装置IDによって示すことができる。ブロック718では、現行のRAND値を保護データベース510に記憶することができる。ブロック720では、フィールドにおいて装置によって再生成されることになるのでSKEY及びDPpriを削除することができる。SKEYを保有していないどのエンティティによってもDPpriの内容を判定することが可能でなく、かつ、SKEYを保有しているエンティティによる後の検出なしで、SKEYを保有していないエンティティによってKeyBlobの内容を修正することが可能でないようにDPpriダイジェストの作成、及びSKEYによる後の暗号化が、企図されている。他の実施例では、こうした機密性及びインテグリティの保護を備える他の方法を用いることが可能である。一部の実施例では、インテグリティ保護は必要でない場合があり、機密性のみを提供した方法を用いることが可能である。この場合、DPpriダイジェストの値は必要でないことになる。
ブロック720後の何れかの時点で、ブロック722では、RAND値の保護データベースを製造生産工程システム503(製造プロセス中にRAND値を装置に記憶することになる)にセキュアにアップロードすることができる。このアップロードが検証されると、RAND値を製造保護システム502からセキュアに削除することが可能である。最後に、ブロック724で、複数の暗号化鍵ブロブを有する鍵ブロブ・データベースを共通の配布CD522に「バーニングする」ことができる。一実施例では、CDは各装置に沿って配布することができる。1つの鍵ブロブのデータベース・エントリは装置IDフィールドによって索引化されたように、装置毎に用いるものとする。更に、CDは、以下に更に詳細に用途を説明する鍵取り出しユーティリティ・ソフトウェア・モジュールを含む。
図8は、本発明の実施例による装置製造生産工程処理を示す流れ図800である。製造ライン内で装置が製造されるにつれ、ブロック802で、製造生産工程システムは、未使用RAND値を保護データベースから選択する。選択されたRAND値は次いで、装置内の不揮発性記憶装置に記憶することができる。一実施例では、不揮発性記憶装置はTPMを備える。ブロック804では、RAND値が首尾良く記憶されると、製造生産工程システムは、保護データベース内のその装置のRAND値のレコードをどれも破棄する。この時点で、RAND値の唯一の複製が装置に記憶される。
別の実施例では、RAND値を装置の製造中に作成し、鍵ブロブの計算のために製造保護システムに次いで送出することが可能である。
別の実施例では、RAND値を装置上に作成することが可能であり、装置及び製造保護システムは、DPpri鍵を装置の外に明らかにしない手法を用いてDPpri鍵を生成するようプロトコルにおいて連動することが可能である。次いで、装置は装置ID、SKEY及び鍵ブロブを作成することが可能である。装置は、保護データベース510における記憶のために装置ID及び鍵ブロブを製造システムに転送する。この手法では、製造システムは保護データベースにおける情報(装置ID、鍵ブロブ)が同じになるが、製造システムにはRANDの値又はDPpriの値が分からない。
図9は、本発明の実施例によるクライアント・コンピュータ・システム・セットアップ処理の流れ図900である。クライアント・コンピュータ・システムは、システムのブートアップの一部としてこうした動作を行い得る。ブロック902では、クライアント・コンピュータ・システムを通常のやり方でブートアップすることができ、装置の装置ドライバ526を主メモリにロードすることができる。装置ドライバが初期化され、実行を開始すると、暗号化された局所化鍵ブロブ524が装置506用大容量記憶装置308に既に存在しているかを装置ドライバは判定する。肯定の場合、更なるセットアップ処理を何ら行わなくてよく、セットアップ処理はブロック906で終了する。否定の場合、処理はブロック908に続く。ブロック908では、装置ドライバは、配布CD522の挿入を求めるメッセージをクライアント・コンピュータ・システムのユーザに向けて表示させる。CDがコンピュータ・システムによって読み取られると、装置ドライバは次いで、CD上に記憶された鍵取り出しユーティリティ・ソフトウェア(図5に示さず)を起動する。このユーティリティは、装置のDP秘密鍵獲得プロセスを開始させるための鍵獲得コマンドを装置506に対して出す。
これに応じて、ブロック910で、装置は、その一方向関数fを用いて(この場合、復号に用いる)対称鍵SKEYを、埋め込まれたRAND値508から再生成する(SKEY=f(RAND))。ブロック912では、装置は次いで、SKEYを用いて「ヌル・エントリ」(例えば、少ない数のゼロ・バイト)を暗号化すること(装置ID=SKEYを用いた暗号化(0..0))によってその一意の装置IDラベルを生成する。装置は、鍵取り出しユーティリティ・ソフトウェアに装置IDを戻す。ブロック914では、鍵取り出しユーティリティは、一致する装置IDを含むデータベース・エントリを求めてCD上の鍵ブロブ・データベース520をサーチし、装置の暗号化鍵ブロブを抽出し、鍵ブロブを装置に転送する。
一実施例では、装置が鍵ブロブを有している状態になった後に鍵獲得コマンドを悪性ソフトウェアが装置に送出しようとした場合、装置は、悪性ソフトウェアに対して装置IDによって応答するものでない。その代わりに、装置はエラー示標を戻す。要するに、局所化された鍵ブロブに装置がアクセスを有している場合、鍵獲得コマンドの機能がディセーブルされる。このようにして、装置は、鍵ブロブを有していない場合以外は一意の装置IDを明らかにするものでない。
ブロック916では、装置は対称鍵SKEYを用いて暗号化鍵ブロブを復号してDPpri及びDPpriダイジェストをもたらし、その不揮発性記憶装置にこうした値を記憶する(復号鍵ブロブ=SKEYを用いた復号(IV、DPpri、DPpriダイジェスト))。初期化ベクトル(IV)を廃棄することができる。ブロック918では、装置は次いで、DPpriをハッシングし、DPpriダイジェストと結果を比較することによってDPpriのインテグリティを検査する。比較が好適な場合、装置はその有効な鍵としてDPpriを受け入れる。装置は、DP秘密鍵が首尾良く獲得された旨を示すよう鍵獲得フラグを真にセットすることもできる。ブロック920では、装置は新たなIVを選び、この新たなIVを用いて新たな暗号化局所化鍵ブロブを作成する(局所化鍵ブロブ=SKEYを用いた暗号化(IV2、DPpri、DPpriダイジェスト))。新たな暗号化局所化鍵ブロブを鍵取り出しユーティリティに戻すことができる。ブロック922では、鍵取り出しユーティリティは、クライアント・コンピュータ内の記憶装置(例えば、大容量記憶装置308など)に暗号化された局所鍵ブロブを記憶する。装置のDPpriは次いで、クライアント・コンピュータ・システムにセキュアに記憶される。
セットアップ処理中に装置がDPpriを獲得すると、装置は次いでDPpriを用いることができる。図10は、本発明の実施例によるクライアント・コンピュータ・システム処理の流れ図である。クライアント・コンピュータ・システムは、セットアップが完了した後にこうした動作をいつでも行うことができる。ブロック1002では、クライアント・コンピュータ・システムを通常のやり方でブートアップすることができ、装置の装置ドライバ526を主メモリにロードすることができる。装置ドライバが初期化され、実行し始めると、装置506用大容量記憶装置308に暗号化局所化鍵ブロブ524が既に記憶されているかを装置ドライバが判定する。否定の場合、図9のセットアップ処理が行われる。暗号化された局所化鍵ブロブがこの装置に利用可能なものとして存在している場合、処理はブロック1006に続く。ブロック1006では、装置ドライバは、暗号化された局所化鍵ブロブを取り出し、鍵ブロブを装置に転送する。一実施例では、鍵ブロブの転送は、鍵ブロブ・ロード・コマンドを実行することによって実現することができる。
ブロック1008で、装置は、その一方向関数fを用いて(この場合、復号に用いる)対称鍵SKEYを、埋め込まれたRAND値508から再生成する(SKEY=f(RAND))。ブロック1010では、装置は、暗号化された局所化鍵ブロブを、対称鍵SKEYを用いて復号してDPpri及びDPpriダイジェストをもたらし、その不揮発性記憶装置にこうした値を記憶する(復号鍵ブロブ=SKEYを用いた復号(IV2、DPpri、DPpriダイジェスト))。第2の初期化ベクトル(IV2)を廃棄することができる。ブロック1012では、装置は、DPpriをハッシングし、DPpriダイジェストと結果を比較することによってDPpriのインテグリティを検査する。比較が好適な場合(例えば、ダイジェストが一致する場合)、装置は、先行して獲得された有効な鍵としてDPpriを受け入れ、用いるためにDPpriをイネーブルする。装置は、DP秘密鍵が首尾良く獲得された旨を示すよう鍵獲得フラグを真にセットすることもできる。ブロック1014では、装置は更に別のIVを選び、この新たなIVを用いて新たな暗号化局所化鍵ブロブを作成する(局所化鍵ブロブ=SKEYを用いた暗号化(IV3、DPpri、DPpriダイジェスト))。新たな暗号化局所化鍵ブロブを鍵取り出しユーティリティに戻すことができる。ブロック1016では、鍵取り出しユーティリティは、クライアント・コンピュータ内の記憶装置(例えば、大容量記憶装置308など)に、暗号化された局所鍵ブロブを記憶する。装置のDPpriは次いで、クライアント・コンピュータ・システムにセキュアにもう一度、記憶される。
本発明の一実施例では、装置DP秘密鍵全てを一度に生成する必要はない。配布CDが定期的に更新されるとすれば、装置DP秘密鍵を必要に応じてバッチで生成することが可能である。配布CDは「バーニングされる」都度、今まで生成された鍵ブロブ・データベース(生成されたが、装置に未だ割り当てられていない装置鍵を含む)を含むことになる。
本明細書及び特許請求の範囲記載の動作は、順次プロセスとして表すことができるが、動作の一部は実際に並列に、又は同時に行うことができる。更に、一部の実施例では、本発明の趣旨から逸脱することなく動作の順序を再配列することができる。
本明細書及び特許請求の範囲記載の手法は、如何なる特定のハードウェア構成又はソフトウェア構成にも限定されるものでなく、何れの計算環境又は処理環境にも応用性を見出し得る。上記手法は、ハードウェア、ソフトウェア、又は両方の組み合わせで実施することができる。プロセッサ、プロセッサによって読み取り可能な記憶媒体(揮発性メモリ及び不揮発性メモリ、並びに/又は記憶素子をはじめとする)、少なくとも1つの入力装置、及び1つ又は複数の出力装置をそれぞれが含むプログラム可能マシン(モバイル・コンピュータや固定型コンピュータ、携帯情報端末、セットトップ・ボックス、携帯電話機及びページャやその他の電子装置など)上で実行するプログラムにおいて実現することができる。入力装置を用いて入力されたデータにプログラム・コードを施して、記述された機能を行い、出力情報を生成する。出力情報は1つ又は複数の出力装置に施すことができる。種々のコンピュータ・システム構成(マルチプロセッサ・システム、ミニコンピュータ、メーンフレーム・コンピュータ、及び同様なものをはじめとする)によって本発明を実施することが可能であることを当業者は分かり得る。本発明は、通信ネットワークを介してリンクされた遠隔処理装置によってタスクを行うことができる分散計算環境において実施することも可能である。
手続型又はオブジェクト指向型の高水準プログラミング言語で各プログラムを実現して処理システムと通信することができる。しかし、プログラムは、所望の場合、アセンブラ言語又はマシン言語で実現することができる。いずれの場合でも、言語はコンパイル又は翻訳実行を行うことができる。
プログラム命令を用いて、命令によってプログラムされた汎用処理システム又は特定用途向処理システムに本明細書及び特許請求の範囲記載の処理を行わせることができる。あるいは、処理を行うための配線論理を含む特定のハードウェア構成部分によって、又は、プログラムされたコンピュータ構成部分及びカスタムのハードウェア構成部分の何れかの組み合わせによって処理を行うことができる。本明細書及び特許請求の範囲記載の方法は、処理システムやその他の電子装置をプログラムして方法を行うのに用いることができる命令を上に記憶させたマシン読み取り可能媒体を含み得るコンピュータ・プログラムとして提供することができる。本明細書及び特許請求の範囲記載の「マシン読み取り可能媒体」の語は、マシンによって実行するための命令系列を記憶又は符号化することができ、本明細書及び特許請求の範囲記載の方法のうちの何れか1つをマシンに行わせる何れかの媒体を含むものとする。「マシン読み取り可能媒体」はよって、データ信号を符号化するソリッドステート・メモリ、光ディスク及び磁気ディスク、並びに搬送波を含むが、前述のものに限定されるものでない。更に、一形態又は別の形態(例えば、プログラム、手順、処理、アプリケーション、モジュール、ロジック等)でのソフトウェアといえば、動作を行うか、又は結果を引き起こすものであることが当該技術分野において一般的である。前述の表記は、処理システムによるソフトウェアの実行が、結果を生じるという動作をプロセッサに行わせることを簡潔に言うやり方に過ぎない。
例証的な実施例を参照しながら本発明を説明したが、この説明は、限定的な意味合いで解されることを意図するものでない。本発明が関係する当該技術分野における当業者に明らかである本発明の例証的な実施例の種々の修正及びその他の実施例は、本発明の趣旨及び範囲内に収まるものと認められる。
本発明の一実施例によって動作する、信頼プラットフォーム・モジュール(TPM)によって実施されるプラットフォームを特徴とするシステムを示す図である。 図1のTPMを含む、プラットフォームの第1の実施例を示す図である。 図1のTPMを含む、プラットフォームの第2の実施例を示す図である。 図2のTPMによって実施されるコンピュータ・システムの例示的な実施例を示す図である。 本発明の実施例による、直接証明鍵を配布するシステムの図である。 本発明の実施例による、直接証明鍵を配布する方法の段階を示す流れ図である。 本発明の実施例による装置製造セットアップ処理を示す流れ図である。 本発明の実施例による装置製造生産工程処理を示す流れ図である。 本発明の実施例によるクライアント・コンピュータ・システム・セットアップ処理の流れ図である。 本発明の実施例によるクライアント・コンピュータ・システム処理の流れ図である。

Claims (39)

  1. 方法であって、
    装置に関連した暗号化データ構造であって、秘密鍵及び秘密鍵ダイジェストを備える暗号化データ構造を生成する工程と、
    疑似ランダムに生成された値に基づいて前記暗号化データ構造の識別子を生成する工程と、
    取り外し可能記憶媒体上に前記識別子及び前記暗号化データ構造を記憶する工程と、
    前記装置内の不揮発性記憶装置に疑似乱数値を記憶する工程とを備えることを特徴とする方法。
  2. 請求項1記載の方法であって、前記取り外し可能記憶媒体及び前記装置を配布する工程を更に備えることを特徴とする方法。
  3. 請求項1記載の方法であって、装置クラスについて直接証明ファミリ鍵対を生成する工程を更に備えることを特徴とする方法。
  4. 請求項3記載の方法であって、前記秘密鍵は、前記直接証明ファミリ鍵対の公開鍵に関連した直接証明秘密鍵を備え、該直接証明秘密鍵をハッシングして前記秘密鍵ダイジェストを生成する工程を更に備えることを特徴とする方法。
  5. 請求項1記載の方法であって、前記装置の前記疑似乱数値に基づいて対称鍵を生成する工程を更に備えることを特徴とする方法。
  6. 請求項5記載の方法であって、前記識別子を生成する工程は、前記対称鍵を用いてデータ値を暗号化する工程を備えることを特徴とする方法。
  7. 請求項5記載の方法であって、前記対称鍵を用いて前記データ構造を暗号化する工程を更に備えることを特徴とする方法。
  8. 請求項1記載の方法であって、前記暗号化データ構造はランダム初期化ベクトルを更に備えることを特徴とする方法。
  9. 請求項1記載の方法であって、前記取り外し可能記憶媒体はCDを備えることを特徴とする方法。
  10. 請求項1記載の方法であって、前記装置の前記疑似乱数値は一意であることを特徴とする方法。
  11. 物品であって、複数のマシン読み取り可能命令を有する第1の記憶媒体を備えており、前記命令がプロセッサによって実行されると、
    装置に関連した暗号化データ構造であって、秘密鍵及び秘密鍵ダイジェストを備える暗号化データ構造を生成し、
    疑似ランダムに生成された値に基づいて前記暗号化データ構造の識別子を生成し、
    第2の取り外し可能記憶媒体上に前記識別子及び前記暗号化データ構造を記憶し、
    前記装置内の不揮発性記憶装置に疑似乱数値を記憶させることによって秘密鍵が装置に前記命令によって配布されるようになることを特徴とする物品。
  12. 請求項11記載の物品であって、装置クラスについて直接証明ファミリ鍵対を生成する命令を更に備えることを特徴とする物品。
  13. 請求項12記載の物品であって、前記秘密鍵は、前記直接証明ファミリ鍵対の公開鍵に関連した直接証明秘密鍵を備え、該直接証明秘密鍵をハッシングして前記秘密鍵ダイジェストを生成する命令を更に備えることを特徴とする物品。
  14. 請求項11記載の物品であって、前記装置の前記疑似乱数値に基づいて対称鍵を生成する命令を更に備えることを特徴とする物品。
  15. 請求項14記載の物品であって、前記識別子を生成する命令は、前記対称鍵を用いてデータ値を暗号化する命令を備えることを特徴とする物品。
  16. 請求項14記載の物品であって、前記対称鍵を用いて前記データ構造を暗号化する命令を更に備えることを特徴とする物品。
  17. 請求項11記載の物品であって、前記暗号化データ構造はランダム初期化ベクトルを更に備えることを特徴とする物品。
  18. 請求項11記載の物品であって、前記装置の前記疑似乱数値は一意であることを特徴とする物品。
  19. 方法であって、
    コンピュータ・システム内に設置された装置に関連した、秘密鍵及び秘密鍵ダイジェストを備える暗号化データ構造が前記コンピュータ・システム上のメモリに記憶されているかを判定する工程と、
    前記暗号化データ構造が記憶されている場合、鍵獲得コマンドの機能をディセーブルする工程と、
    前記暗号化データ構造が記憶されていない場合、前記装置に関連した前記暗号化データ構造を、前記コンピュータ・システムによってアクセス可能な取り外し可能記憶媒体から得る工程とを備え、前記取り外し可能記憶媒体が、暗号化データ構造のデータベースを記憶することを特徴とする方法。
  20. 請求項19記載の方法であって、前記取り外し可能記憶媒体は、前記装置の製造業者によって作成されたCDを備えることを特徴とする方法。
  21. 請求項19記載の方法であって、前記暗号化データ構造を得る工程は、秘密鍵獲得プロセスを開始させる旨の前記鍵獲得コマンドを前記装置に出す工程を備えることを特徴とする方法。
  22. 請求項19記載の方法であって、前記秘密鍵は、装置クラスの直接証明ファミリ鍵対の公開鍵に関連した直接証明秘密鍵を備えることを特徴とする方法。
  23. 請求項21記載の方法であって、前記秘密鍵獲得プロセスは、前記装置に記憶された一意の疑似乱数値に基づいて対称鍵を生成する工程を備えることを特徴とする方法。
  24. 請求項23記載の方法であって、前記秘密鍵獲得プロセスは、前記疑似乱数値に基づいて前記暗号化データ構造の装置識別子を生成する工程を備えることを特徴とする方法。
  25. 請求項24記載の方法であって、前記秘密鍵獲得プロセスは、前記生成された装置識別子に一致する識別子によって索引化された暗号化データ構造の前記データベースにおけるエントリを求めて前記取り外し可能記憶媒体をサーチし、前記暗号化データ構造を前記装置に転送する工程を更に備えることを特徴とする方法。
  26. 請求項25記載の方法であって、前記秘密鍵獲得プロセスは、前記取り外し可能記憶媒体から受信される前記暗号化データ構造を対称鍵を用いて復号して前記秘密鍵及び前記秘密鍵ダイジェストを得る工程を更に備えることを特徴とする方法。
  27. 請求項26記載の方法であって、前記秘密鍵獲得プロセスは、前記秘密鍵をハッシングして新たな秘密鍵ダイジェストを生成する工程と、前記復号データ構造からの前記秘密鍵ダイジェストを前記新たな秘密鍵ダイジェストと比較する工程と、ダイジェストが一致している場合に前記装置に有効なものとして前記秘密鍵を受け入れる工程とを備えることを特徴とする方法。
  28. 物品であって、複数のマシン読み取り可能命令を有する第1の記憶媒体を備えており、前記命令がプロセッサによって実行されると、
    コンピュータ・システム内に設置された装置に関連した暗号化データ構造であって、秘密鍵及び秘密鍵ダイジェストを備える暗号化データ構造が前記コンピュータ・システム上のメモリに記憶されているかを判定し、
    前記暗号化データ構造が記憶されている場合、鍵獲得コマンドの機能をディセーブルし、
    前記暗号化データ構造が記憶されていない場合、前記装置に関連した前記暗号化データ構造を、前記コンピュータ・システムによってアクセス可能な取り外し可能記憶媒体から得ることによってコンピュータ・システム内に設置された装置用秘密鍵が前記命令によって得られるようになることを特徴とする物品。
  29. 請求項28記載の物品であって、前記暗号化データ構造を得る命令は、秘密鍵獲得プロセスを開始させる旨の前記鍵獲得コマンドを前記装置に出す命令を備えることを特徴とする物品。
  30. 請求項28記載の物品であって、前記秘密鍵は、装置クラスの直接証明ファミリ鍵対の公開鍵に関連した直接証明秘密鍵を備えることを特徴とする物品。
  31. 請求項29記載の物品であって、前記秘密鍵獲得プロセスは、前記装置に記憶された一意の疑似乱数値に基づいて対称鍵を生成する命令を備えることを特徴とする物品。
  32. 請求項31記載の物品であって、前記秘密鍵獲得プロセスは、前記疑似乱数値に基づいて前記暗号化データ構造の装置識別子を生成する命令を備えることを特徴とする物品。
  33. 請求項32記載の物品であって、前記秘密鍵獲得プロセスは、前記生成された装置識別子に一致する識別子によって索引化された暗号化データ構造のデータベースにおけるエントリを求めて前記取り外し可能記憶媒体をサーチし、前記暗号化データ構造を前記装置に転送する命令を更に備えることを特徴とする物品。
  34. 請求項33記載の物品であって、前記秘密鍵獲得プロセスは、前記取り外し可能記憶媒体から受信される前記暗号化データ構造を、対称鍵を用いて復号して前記秘密鍵及び前記秘密鍵ダイジェストを得る命令を更に備えることを特徴とする物品。
  35. 請求項34記載の物品であって、前記秘密鍵獲得プロセスは、前記秘密鍵をハッシングして新たな秘密鍵ダイジェストを生成する命令と、前記復号データ構造からの前記秘密鍵ダイジェストを前記新たな秘密鍵ダイジェストと比較する命令と、ダイジェストが一致している場合に前記秘密鍵を前記装置に有効なものとして受け入れる命令とを更に備えることを特徴とする物品。
  36. 方法であって、
    コンピュータ・システム内に設置された装置に関連した、秘密鍵及び秘密鍵ダイジェストを備える暗号化データ構造を前記コンピュータ・システム上のメモリから取り出す工程と、
    前記装置に記憶された一意の疑似乱数値に基づいて対称鍵を生成する工程と、
    前記対称鍵を用いて前記暗号化データ構造を復号して前記秘密鍵及び前記秘密鍵ダイジェストを得る工程と、
    前記秘密鍵をハッシングして新たな秘密鍵ダイジェストを生成し、前記復号データ構造からの前記秘密鍵ダイジェストを前記新たな秘密鍵ダイジェストと比較する工程と、ダイジェストが一致している場合に前記秘密鍵を前記装置に有効なものとして受け入れる工程とを備えることを特徴とする方法。
  37. 請求項36記載の方法であって、前記秘密鍵は、装置クラスの直接証明ファミリ鍵対の公開鍵に関連した直接証明秘密鍵を備えることを特徴とする方法。
  38. 請求項36記載の方法であって、前記装置は前記コンピュータ・システムの周辺装置を備えることを特徴とする方法。
  39. 請求項36記載の方法であって、
    ランダム初期化ベクトルを生成する工程と、
    前記対称鍵を用いて前記秘密鍵、前記秘密鍵ダイジェスト及び前記ランダム初期化ベクトルを暗号化することによって新たな暗号化データ構造を生成する工程と、
    前記新たな暗号化データ構造を前記コンピュータ・システムの前記メモリに記憶する工程とを備えることを特徴とする方法。
JP2007521527A 2004-07-14 2005-07-08 配布cdを用いて直接証明秘密鍵を装置に配布する方法 Expired - Fee Related JP4616345B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/892,265 US7792303B2 (en) 2004-07-14 2004-07-14 Method of delivering direct proof private keys to devices using a distribution CD
PCT/US2005/024486 WO2006025952A2 (en) 2004-07-14 2005-07-08 Method of delivering direct proof private keys to devices using a distribution cd

Publications (2)

Publication Number Publication Date
JP2008506338A true JP2008506338A (ja) 2008-02-28
JP4616345B2 JP4616345B2 (ja) 2011-01-19

Family

ID=35599438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007521527A Expired - Fee Related JP4616345B2 (ja) 2004-07-14 2005-07-08 配布cdを用いて直接証明秘密鍵を装置に配布する方法

Country Status (6)

Country Link
US (1) US7792303B2 (ja)
JP (1) JP4616345B2 (ja)
CN (1) CN101019368B (ja)
DE (1) DE112005001654B4 (ja)
GB (1) GB2430518B (ja)
WO (1) WO2006025952A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547251A (ja) * 2005-06-14 2008-12-25 サーティコム コーポレーション 遠隔装置登録のためのシステムと方法
US8423765B2 (en) 2005-06-14 2013-04-16 Certicom Corp. System and method for remote device registration
US9692737B2 (en) 2006-02-28 2017-06-27 Certicom Corp. System and method for product registration
JP2018519752A (ja) * 2015-06-29 2018-07-19 ナグラビジョン エス アー 秘密データのセキュアプログラミング

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285991B2 (en) * 2000-10-25 2012-10-09 Tecsec Inc. Electronically signing a document
US7802085B2 (en) * 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7792303B2 (en) 2004-07-14 2010-09-07 Intel Corporation Method of delivering direct proof private keys to devices using a distribution CD
US7693286B2 (en) * 2004-07-14 2010-04-06 Intel Corporation Method of delivering direct proof private keys in signed groups to devices using a distribution CD
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
JP4449933B2 (ja) 2006-03-31 2010-04-14 ブラザー工業株式会社 電子証明書発行システム、電子証明書発行装置、通信装置、及び、プログラム
US8761402B2 (en) * 2007-09-28 2014-06-24 Sandisk Technologies Inc. System and methods for digital content distribution
US8724819B2 (en) * 2007-10-16 2014-05-13 Nokia Corporation Credential provisioning
KR102013841B1 (ko) * 2012-08-06 2019-08-23 삼성전자주식회사 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
CN107171801B (zh) * 2017-04-27 2020-06-23 西安诺瓦星云科技股份有限公司 加密绑定及加密显示控制的方法和装置、显示屏***
CN110492989B (zh) * 2019-08-23 2020-11-13 广州华多网络科技有限公司 私钥的处理方法、访问方法和对应方法的介质、装置
GB2612125B (en) * 2021-10-22 2024-02-21 Pragmatic Semiconductor Ltd Identifier generation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240128A (ja) * 1996-12-26 1998-09-11 Toshiba Corp 暗号装置、暗号鍵生成方法及び暗号鍵管理方法、並びに素数生成装置及び素数生成方法
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
JP2002041461A (ja) * 2000-07-31 2002-02-08 Nippon Telegraph & Telephone East Corp 電子会議システムにおける会議資料の共用方法ならびにシステム
JP2002261749A (ja) * 2001-02-27 2002-09-13 Matsushita Electric Ind Co Ltd 通信システム

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US524094A (en) * 1894-08-07 Fountain cleansing-brush
US5857021A (en) * 1995-11-07 1999-01-05 Fujitsu Ltd. Security system for protecting information stored in portable storage media
US5771291A (en) * 1995-12-11 1998-06-23 Newton; Farrell User identification and authentication system using ultra long identification keys and ultra large databases of identification keys for secure remote terminal access to a host computer
KR100305902B1 (ko) 1996-01-23 2001-11-30 배종렬 정보표시시스템
US5924094A (en) 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US6438666B2 (en) * 1997-09-26 2002-08-20 Hughes Electronics Corporation Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US6185316B1 (en) * 1997-11-12 2001-02-06 Unisys Corporation Self-authentication apparatus and method
US6032260A (en) * 1997-11-13 2000-02-29 Ncr Corporation Method for issuing a new authenticated electronic ticket based on an expired authenticated ticket and distributed server architecture for using same
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US6032261A (en) * 1997-12-30 2000-02-29 Philips Electronics North America Corp. Bus bridge with distribution of a common cycle clock to all bridge portals to provide synchronization of local buses, and method of operation thereof
US6036061A (en) * 1998-04-27 2000-03-14 O'donnell; Thomas F. Retainer for blank of split cap
US6389403B1 (en) * 1998-08-13 2002-05-14 International Business Machines Corporation Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system
US6611812B2 (en) * 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US7188180B2 (en) * 1998-10-30 2007-03-06 Vimetx, Inc. Method for establishing secure communication link between computers of virtual private network
WO2000049764A1 (en) 1999-02-18 2000-08-24 Sun Microsystems, Inc. Data authentication system employing encrypted integrity blocks
FI112315B (fi) 1999-05-11 2003-11-14 Nokia Corp Integriteetin suojausmenetelmä radioverkkosignalointia varten
US6928615B1 (en) 1999-07-07 2005-08-09 Netzero, Inc. Independent internet client object with ad display capabilities
US7216110B1 (en) * 1999-10-18 2007-05-08 Stamps.Com Cryptographic module for secure processing of value-bearing items
GB9929050D0 (en) 1999-12-08 2000-02-02 Nokia Networks Oy Communication method
GB0004178D0 (en) 2000-02-22 2000-04-12 Nokia Networks Oy Integrity check in a communication system
EP1258164A1 (de) 2000-02-24 2002-11-20 Siemens Aktiengesellschaft Verfahren zur durchführung eines hard-handover-vorgangs in einem mobilfunksystem
US6829250B2 (en) * 2000-08-10 2004-12-07 Verizon Communications Inc. Automatic programming of customer premises equipment for vertical services integration
US6749511B2 (en) * 2000-08-17 2004-06-15 Adam S. Day Website promotional applet process
US7178030B2 (en) * 2000-10-25 2007-02-13 Tecsec, Inc. Electronically signing a document
US20020080190A1 (en) * 2000-12-23 2002-06-27 International Business Machines Corporation Back-up and usage of secure copies of smart card data objects
GB0103416D0 (en) 2001-02-12 2001-03-28 Nokia Networks Oy Message authentication
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US6941456B2 (en) * 2001-05-02 2005-09-06 Sun Microsystems, Inc. Method, system, and program for encrypting files in a computer system
ITPD20010125A1 (it) * 2001-05-31 2002-12-01 Lindhaus Srl Utensile perfezionato multiuso per macchine di pulizia.
JP4145118B2 (ja) * 2001-11-26 2008-09-03 松下電器産業株式会社 アプリケーション認証システム
US8332650B2 (en) * 2002-03-22 2012-12-11 Microsoft Corporation Systems and methods for setting and resetting a password
DE10218835B4 (de) 2002-04-22 2009-09-10 Deutscher Sparkassen Verlag Gmbh Verfahren zum Herstellen einer Chipkarte und Chipkarte
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
EP1617587A1 (en) 2004-07-12 2006-01-18 International Business Machines Corporation Method, system and computer program product for privacy-protecting integrity attestation of computing platform
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US7693286B2 (en) 2004-07-14 2010-04-06 Intel Corporation Method of delivering direct proof private keys in signed groups to devices using a distribution CD
US7792303B2 (en) 2004-07-14 2010-09-07 Intel Corporation Method of delivering direct proof private keys to devices using a distribution CD
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240128A (ja) * 1996-12-26 1998-09-11 Toshiba Corp 暗号装置、暗号鍵生成方法及び暗号鍵管理方法、並びに素数生成装置及び素数生成方法
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
JP2002041461A (ja) * 2000-07-31 2002-02-08 Nippon Telegraph & Telephone East Corp 電子会議システムにおける会議資料の共用方法ならびにシステム
JP2002261749A (ja) * 2001-02-27 2002-09-13 Matsushita Electric Ind Co Ltd 通信システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547251A (ja) * 2005-06-14 2008-12-25 サーティコム コーポレーション 遠隔装置登録のためのシステムと方法
US8423765B2 (en) 2005-06-14 2013-04-16 Certicom Corp. System and method for remote device registration
US8972721B2 (en) 2005-06-14 2015-03-03 Certicom Corp. System and method for remote device registration
US9692737B2 (en) 2006-02-28 2017-06-27 Certicom Corp. System and method for product registration
JP2018519752A (ja) * 2015-06-29 2018-07-19 ナグラビジョン エス アー 秘密データのセキュアプログラミング

Also Published As

Publication number Publication date
GB2430518A (en) 2007-03-28
GB0700526D0 (en) 2007-02-21
WO2006025952A3 (en) 2007-02-01
JP4616345B2 (ja) 2011-01-19
CN101019368B (zh) 2014-07-23
US7792303B2 (en) 2010-09-07
US20060013399A1 (en) 2006-01-19
GB2430518B (en) 2009-01-14
DE112005001654B4 (de) 2011-07-21
DE112005001654T5 (de) 2007-11-22
CN101019368A (zh) 2007-08-15
WO2006025952A2 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
JP4616345B2 (ja) 配布cdを用いて直接証明秘密鍵を装置に配布する方法
JP4673890B2 (ja) オンラインサービスを用いてデバイスに直接証明秘密鍵を転送する方法
JP4638912B2 (ja) ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法
EP2965254B1 (en) Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
KR101712784B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
JP6509197B2 (ja) セキュリティパラメータに基づくワーキングセキュリティキーの生成
US20020080974A1 (en) Platform and method for securely transmitting an authorization secret.
US20060195689A1 (en) Authenticated and confidential communication between software components executing in un-trusted environments
US7571329B2 (en) Method of storing unique constant values
US11308241B2 (en) Security data generation based upon software unreadable registers
US20130077782A1 (en) Method and Apparatus for Security Over Multiple Interfaces
CN102123031A (zh) 硬件认证技术
CN117155549A (zh) 密钥分发方法、装置、计算机设备和存储介质
Schleiffer et al. Secure key management-a key feature for modern vehicle electronics
CN114553557B (zh) 密钥调用方法、装置、计算机设备和存储介质
Plappert et al. Evaluating the applicability of hardware trust anchors for automotive applications
KR100883442B1 (ko) 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법
KR100897075B1 (ko) 배포 cd를 사용하는 장치에 서명 그룹의 다이렉트 증명개인 키들을 전달하는 방법
EP3665859A1 (en) Apparatus and method for encapsulation of profile certificate private keys or other data
CN116881865A (zh) 一种许可证生成方法以及***

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100901

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: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101021

R150 Certificate of patent or registration of utility model

Ref document number: 4616345

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees