JP2009529832A - 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信 - Google Patents

発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信 Download PDF

Info

Publication number
JP2009529832A
JP2009529832A JP2008558500A JP2008558500A JP2009529832A JP 2009529832 A JP2009529832 A JP 2009529832A JP 2008558500 A JP2008558500 A JP 2008558500A JP 2008558500 A JP2008558500 A JP 2008558500A JP 2009529832 A JP2009529832 A JP 2009529832A
Authority
JP
Japan
Prior art keywords
key
data
hash
changed
identifier
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.)
Pending
Application number
JP2008558500A
Other languages
English (en)
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 JP2009529832A publication Critical patent/JP2009529832A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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
    • 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/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • 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/60Digital content management, e.g. content distribution

Abstract

データを暗号化する方法およびシステム。1つの方法は、発見可能、即ち、「ホワイト」データと、発見不可能、即ち、「ブラック」データとを含むデータを確立するステップを含む。ブラック・データは一般に認識不可能である。例えば、ブラック・データはランダム・データとすることができる。ホワイト・データは一般に、認識可能な内容を有するか、または認識可能なフォーマットで送信される。第1の鍵および第2の鍵が、第2の鍵が第1の鍵から実質的に導出不能であるように、生成または確立される。発見可能、即ち、ホワイト・データは、第1の鍵を用いて暗号化され、発見不可能、即ち、ブラック・データは、第2の鍵を用いて暗号化される。その後の通信またはトランザクションでは、第1の鍵および第2の鍵の少なくとも一方が変化させられる。

Description

本出願は、2006年3月6日に出願された米国特許出願第11/368,959号の優先権を主張し、同出願の内容全体が、参照により本明細書に組み込まれる。本出願はまた、2005年11月23日に出願された米国特許出願第11/286,890号の一部継続出願であり、同出願は、2004年5月26日に出願された米国特許出願第10/854,604号の一部継続出願であり、同出願は、2003年2月27日に出願された米国特許出願第10/248,894号の一部継続出願であり、同出願は、2002年2月27日に出願された米国仮特許出願第60/360,023号の優先権を主張し、上記すべての出願の内容全体が、参照により本明細書に組み込まれる。
暗号化技法は、適切な妥当性検証(validation)または認証(authentication)(例えば鍵の所有)なしにデータが取得され得ないように、データ(即ち、平文または無暗号化データ)を仮装(disguise)するための機構を提供する。一般に、暗号化、即ち、暗号適用プロセスは、暗号文を生成するために、暗号化鍵を平文に適用する。暗号文から平文データを取得するためには、暗号解除鍵が暗号文に適用され、暗号文を平文に変換し戻す。暗号文を生成するためと、暗号文を暗号解除するためとで、異なるタイプの鍵が使用できる。例えば、対称鍵システムは、単一の鍵を使用して、暗号化および暗号解除の両方を実行し(即ち、暗号化鍵は暗号解除鍵と等しい)、公開/私有鍵システムは、別個の暗号化鍵および暗号解除鍵を使用する。公開/私有鍵システムは、暗号解除鍵(即ち、私有鍵)は秘密にまたは私的に保持され、暗号化鍵(即ち公開鍵)は一般に公けに使用可能であるという事実から、その名称を得ている。公開/私有鍵システムのセキュリティは、暗号解除鍵を秘密に保持すること、また暗号解除鍵が公開暗号化鍵から容易に計算されないよう保証することにかかっている。
暗号解読は、適切な妥当性検証や認証なしに(例えば鍵を所有せず)、平文を回復する科学である。試みられる暗号解読は、しばしば攻撃と呼ばれる。暗号化技法のセキュリティをくぐり抜けるため、様々な攻撃が実行できる。例えば、暗号文単独攻撃(ciphertext−only attack)は、盗聴者が暗号文を取得または盗み取って、平文および/または暗号文を生成するのに使用された鍵を決定しようと試みる場合に実行することができる。暗号文に加えて、対応する平文も取得した場合、盗聴者は、平文攻撃(plaintext attack)を実行することができ、暗号文を生成するのに使用された鍵を決定しようと試みることができる。暗号文に加えて、対応する平文の一部または既知のフォーマットのみを取得することができる場合でも、盗聴者は依然として、平文を生成するのに使用される鍵を決定することができる。ほとんどの状況において、盗聴者が取得できた情報が多いほど、盗聴者は容易に鍵を決定することができる。ひとたび鍵を決定すると、盗聴者は、暗号文を暗号解除するために、その鍵を使用することができる。
本発明の一実施形態は、データを暗号化する方法を提供する。この方法は、発見可能(discoverable)、即ち、「ホワイト(white)」データと、発見不可能(undiscoverable)、即ち、「ブラック(black)」データとを含むデータを確立するステップを含む。ブラック・データは一般に、認識不可能である。例えば、ブラック・データは、ランダム・データとすることができる。ホワイト・データは一般に、認識可能な内容を有し、または認識可能なフォーマットで送信される。方法はまた、第1の鍵および第2の鍵を確立するステップも含み、第2の鍵は、第1の鍵から実質的に導出不能である。発見可能、即ち、ホワイト・データは、第1の鍵を用いて暗号化され、発見不可能、即ち、ブラック・データは、第2の鍵を用いて暗号化される。その後の通信またはトランザクションでは、第1の鍵および第2の鍵の少なくとも一つが変化(mutate)させられる。
別の実施形態では、メッセージが、エンティティとオーセンティケータ(認証手段)の間で送信され、メッセージは、そのエンティティに関連する識別子を確立することと、ブラック・データを暗号化するための第1の鍵であって、そのエンティティおよび認証手段にのみ知られた第1の鍵を確立することにより送信される。ホワイト・データを暗号化するための第2の鍵が確立される。第2の鍵は、前記のエンティティおよび認証手段にのみ知られている。リクエスト(要求)識別子が確立され、暗号化要求を生成するために、第2の鍵を用いて暗号化される。要求識別子のハッシュが生成され、そのハッシュが、暗号化要求ハッシュを生成するために、第1の鍵を用いて暗号化される。暗号化要求および暗号化要求ハッシュが、認証手段へ送られ、第1の鍵および第2の鍵の少なくとも一方が変化させられる。
別の実施形態では、発見可能データと発見不可能データとを含むデータを暗号化するためのシステムが提供される。このシステムは、第1の鍵および第2の鍵を有する送信者を含む。第2の鍵は、第1の鍵から実質的に導出不能である。送信者は、第1の鍵を用いて発見可能データを暗号化し、第2の鍵を用いて発見不可能データを暗号化し、かつ変化した第1の鍵および変化した第2の鍵の少なくとも一つを認証手段から受け取るように構成される。
他の実施形態および詳細は、図面および詳細な説明において例示および説明される。
本発明の実施形態を詳細に説明する前に、その応用において、本発明は、以下の説明において説明される、または図面において例示される構成要素の構造および構成の細部にわたり限定されないことを理解されたい。本発明は、更に他の実施形態が可能であり、様々な方法で実行または実施されることが可能である。また、本明細書で使用される表現法および用語法は、説明を目的としたものであり、限定的なものと見なされるべきでないことも理解されたい。
具体的には、幾つかの実施形態は、様々なコンピュータ・デバイスを使用して実施され、様々なコンピュータ・デバイスには、パーソナルまたはホーム・コンピュータ、サーバ、およびプロセッサを有するか又はプログラム、即ち、命令の組を実行することが可能な他のデバイスなどが含まれ、他のデバイスは、セット・トップ・ボックス(例えば、デジタル・ケーブルまたは衛星デコーダ)などの専用デバイスを含むことを理解されたい。一般に、幾つかの実施形態は、既存のハードウェア、または当業者により容易に作成され得るハードウェアを使用して、実施することができる。従って、例示的なデバイスのアーキテクチャは、デバイスが一般に、プロセッサと、メモリ(何らかの種類)と、入力および出力デバイスとを有することに言及する以外は、詳細には説明されない。幾つかの場合、デバイスはまた、オペレーティング・システムと、オペレーティング・システムにより管理されるアプリケーション・プログラムとを有することができる。幾つかの実施形態では、ハードウェア・デバイス、またはハードウェア・デバイスにより実行されるソフトウェアはまた、実施される本発明の具体的な実施形態におけるデバイスの役割に応じて、データを圧縮もしくは圧縮解除(伸張)するため、またはデータを符号化もしくは暗号化データを復号するための何らかの能力も提供する。幾つかの例では、圧縮解除機能は、ハードウェア実装のムービング・ピクチャ・エキスパート・グループ(「MPEG」)・コーデックなどのような使用可能なコーデックを使用して、提供することができる。暗号解除機能は、特定の暗号化アルゴリズムを使用して暗号化されたデータを暗号解除することが可能な暗号解除ハードウェアまたはソフトウェア・モジュールを使用して、提供することができる。幾つかの実施形態では、暗号化アルゴリズムは、ラインダール(Rijndael)アルゴリズムを含み、その一例は、http://www.esat.kuleuven.ac.be/~rijmen/rijndael/rijndaelref.zipにおいて入手可能である。
図1は、ネットワークを介してコンテンツを配布するように構成された例示的なシステム20を示している。実際には、当業者に明らかなように、インターネット、電話システム、無線ネットワーク、衛星ネットワーク、ケーブルTVネットワーク、ならびに様々な他の私的および公的ネットワークなどのような1または複数のネットワークまたは通信システムが、本発明の実施形態または実装の要望または必要とされる通信リンクを提供するために、様々な組み合わせで使用できる。従って、本発明は、どのような特定のネットワークまたはネットワークの組み合わせにも限定されない。しかし、幾つかの実施形態では、システム20において使用されるネットワークまたは通信システムは、あるバージョンのラインダール暗号化を用いて暗号化されたデータを含む通信や他の通信などのような、デジタルおよび/またはセキュアの通信をサポートするための能力を有する。更に、データは、1つのエンティティから別のエンティティへ、有線通信、無線通信、または1つのエンティティから別のエンティティへ物理的に搬送される物理媒体を用いて、伝達することができる。
図1に示される実施形態では、システム20は、3つの参加者、即ち、第1のデバイス22と、第2のデバイス24と、認証デバイス28とを含む。図1に示される例示的な実施形態では、第1のデバイス22が、第2のデバイスに送信されるデータを保有すると仮定される。図1は、第1のデバイス22および第2のデバイス24を示すだけであるが、幾つかの実施形態では、システム20には数多くのデバイスが含まれ、少なくとも1つのデバイスが、別のデバイスに送信されるデータを保有する。更に、幾つかの実施形態では、システム20は、複数の認証デバイス28を含む。
第1のデバイス22、第2のデバイス24、および認証デバイス28は、2方向リンク30、32、38を介して、互いに接続される。リンク30、32、38は、上述の1または複数のネットワークの全部または一部を含むことができる。幾つかの実施形態では、システム20は、ラインダール・アルゴリズムなどのような、鍵ベースの暗号化アルゴリズムおよび現在使用可能なアルゴリズムを使用する。システム20で使用されるアルゴリズムの選択は、アルゴリズムの強度(解読に対する)とアルゴリズムのスピード(選択されたアルゴリズムにより必要とされる数学的演算を実行するためのプロセッサ能力に関する)との間のトレード・オフを含む様々な要因に依存することができる。
幾つかの実施形態では、図1に示されるように、認証デバイス28は、システム20が実施または準拠するプロトコルにより使用される番号を生成するために、乱数生成器39を使用する。乱数生成器39は、真にランダムな数(即ち、本発明を実施するために使用される特定の技術を用いた中で可能な限りランダムな数)を生成することができる。例えば、コンテンツを取得するための顧客からの要求などの通信トラフィックは、乱数を生成するために使用することができる。そのような要求は一般に、予測不可能に発生する。従って、アルゴリズム的方法を用いて生成される疑似乱数とは対照的に、そのようなトラフィックに基づいて生成される乱数もまた、真にランダムまたはほぼ真にランダムである。
幾つかの実施形態では、第1のデバイス22および第2のデバイス24は、データを送信するために、ミューテーティング(変化)識別子(「ID」)(mutating identifier)を使用する。例示的な変化ID38が、図2に示されている。変化ID38は、2つの部分、即ち、第1の部分40と、第2の部分42とを有する識別子である。第1の部分40は、識別番号を含み、それは乱数である。図2に示されるように、幾つかの実施形態では、変化IDの2つの部分は各々、多数のビットを含む。例えば、第1の部分40および第2の部分42は各々、256ビットを含むことができる。他の実施形態では、第1の部分40および/または第2の部分42は、1メガビットや1メガバイトなどのような、より多数のビットを含む。
第2の部分42は秘密鍵を含み、秘密鍵は、やはり乱数であり、幾つかの実施形態では対称暗号鍵である。変化IDは、1回だけ使用することができ、その後は長い間、再使用することができない。
加えて、図2は、2つの部分のみを有する変化IDを示しているが、変化IDは、付加的な区画または部分を含むことができる。例えば、以下で説明されるように、変化IDは、識別番号と、第1のタイプのデータ(例えば発見可能データ)用の秘密鍵と、第2のタイプのデータ(例えば発見不可能データ)用の秘密鍵とを含むことができる。
変化IDは、認証デバイス28により生成され、追跡される。変化IDは、1回限り使用可能な機構であるので、第1のデバイス22、第2のデバイス24、または別のデバイスがひとたび、供給された変化ID(例えば、一つの変化IDまたは複数の一つの変化ID)を使用すると、デバイスは、認証デバイス28から別の変化ID(または妥当な場合には複数の変化ID)を取得することができる。変化IDに含まれるデータは、すべての可能な変化IDにとって等しい確率で、ランダムに選択することができる。
図3aおよび図3bは、変化IDが、認証デバイス28から第1のデバイス22または第2のデバイス24へどのように配布され得るかを示している。図3aに示されるように、幾つかの実施形態では、デバイス43(第1のデバイス22や第2のデバイス24など)は、認証デバイス28に複数の変化IDを要求する。認証デバイス28は、デバイス43が要求した数の変化IDを生成し、変化IDのリストをデバイス43へ送る。デバイス43は、要求した変化IDの数量およびそれぞれの変化IDのサイズを知っており、リストを個々の変化IDに分割する。幾つかの実施形態では、認証デバイス28は、変化IDを分割するデバイス43を支援するために、情報または命令をデバイス43に提供する。例えば、認証デバイス28は、拡張マークアップ言語(「XML」)などのデータ記述言語を使用して、変化IDを分割するデバイス43を支援するために、情報または命令をデバイス43に提供することができる。
図3bに示されるように、他の実施形態では、デバイス43は、新しい変化IDを要求した際に、または先に提供された変化IDを使用した際に、単一の変化IDを受け取ることができる。単一の新しい変化IDは、デバイス43へ送られ、先にデバイス43に提供された変化IDに取って代わる。
図1に示される実施形態では、認証デバイス28は、第1のデバイス22に変化ID(この例ではこれ以降「第1の変化ID」と呼ばれる)を、また第2のデバイス24に変化ID(この例ではこれ以降「第2の変化ID」と呼ばれる)をランダムに割り当てまたは提供する。第1の変化IDは、第2の変化IDとは異なり、第1の変化IDおよび第2の変化IDの各々は、他の変化IDを決定するための情報を提供しない。図2に関して上述したように、それぞれの変化IDは、乱数40と、対応するランダムな秘密鍵42とを含む。幾つかの実施形態では、変化IDは、モディファイド・ハッシュ(modified hash)の形式を取る。上述したように、ランダムであることに加えて、変化ID(または妥当な場合はハッシュ)は、それぞれの使用の後に廃棄される。言い換えると、認証デバイス28は、変化IDが使用された後、新しい乱数と新しいランダムな秘密鍵42とを有する新しい変化IDを提供する。幾つかの実施形態では、変化IDは、それを使用するデバイスとは完全に無関係である。即ち、変化IDまたはハッシュは、デバイスの正体に関するどのような情報も含まない。このようにして、デバイスの正体は、認証デバイス28を除いて、すべての参加者にとって不明である。
本発明の幾つかの実施形態は、対称鍵システムを実施する。対称鍵システムは一般に、システムのエンティティまたは関与者の数が多くなると、鍵の管理の問題に遭遇する。例えば、n個のエンティティから成るネットワークは、すべてのエンティティが互いに通信することを可能にするために、n(n−1)/2個の鍵を必要とする。従って、1000個のエンティティから成るシステムの場合、個々のエンティティのすべてが他のすべてのエンティティへ同じコンテンツを送ることを望む場合、ほぼ50万個の鍵が必要とされる。
しかし、開示される実施形態は、システムのエンティティのすべての対ごとに別個の鍵を必要としない。説明されるように、各エンティティと、各エンティティにより配布されるコンテンツの各部分は、1つの鍵を受け取り、その鍵は、それぞれの使用の後で変化させられる。従って、1000個のエンティティから成るシステムの場合、先の対称鍵システムを用いた場合のほぼ50万個の鍵に比べて、僅か2000個の鍵が必要とされる。また、認証デバイス28は、変化IDのビット列全体を保存することを要求されない。認証デバイス28は、変化IDの各鍵部分を、対応する番号に基づいてメモリ記憶ロケーションにマッピングするために、ハッシュ関数または単に位置インデックスを使用することができる。
本発明の実施形態と従来のセキュリティ・システムとの間の他の相違は、スピードと、ある種の攻撃に対する脆弱性の低下とに関する。対称鍵の使用はまた、高速な計算を可能にする(公開鍵システムと比べて)。公開鍵システムの背後にある基本的考えは、一方向性関数の使用である。一方向性関数は、計算するのは容易であるが、その逆計算は困難である。公開鍵システムは、一方向性関数を逆方向で計算するための鍵を提供するトラップドア一方向性関数(trapdoor one−way function)を使用する。公開鍵システムは、自由にアクセスされ、メッセージに適用するための一方向性関数として使用される公開鍵を各参加者に提供する。公開鍵システムはまた、一方向性関数の計算を与えた場合にメッセージを計算するための私有鍵(公開鍵から導出することは計算的に実行不可能であると信じられている)も各参加者個々に提供する。公開鍵システムのセキュリティは、私有鍵は公開鍵から導出され得ないという仮定に依存している。この要件を維持するため、公開鍵システムにおいて使用される一方向性関数は複雑である。しかし、複雑性の追加は、計算時間の追加という犠牲を払うことになる。公開鍵システムはしばしば、対称鍵システムよりも1000倍遅い。
対称鍵の使用はまた、選択平文攻撃(chosen plaintext attack)の有効性を低下させる。選択平文攻撃は、侵入者が暗号化鍵またはプロセスにアクセスし、暗号化する特定の平文を選択し、暗号化されたテキストから知識を得ようと試みるときに生じる。公開鍵システムでは、ある個人の公開鍵は、通信システムのすべての参加者に知られている。どの侵入者も、ある個人の公開鍵を使用して、数限りないメッセージを暗号化することができる。攻撃者が、ある個人の公開鍵を用いて、あり得るメッセージを暗号化し、その後、その個人へ送られた暗号化メッセージを傍受した場合、侵入者は、傍受したメッセージと、侵入者が生成したメッセージとを比較することができる。傍受メッセージが、侵入者により生成された暗号化メッセージと一致した場合、メッセージは、危険にさらされ、侵入者は、侵入者に宛てられたものではないメッセージを読むことができる。この攻撃は、あり得るメッセージが僅かな数しか存在しない場合、相対的に容易かつ有効であり、また、あり得るメッセージの数が、侵入者が暗号化できる数または傍受された暗号化メッセージと比較できる数を超えている場合であっても、傍受された暗号化メッセージが特定のメッセージと一致しないことを知るだけで、侵入者に有用な情報を提供することができる。どちらの状況においても、侵入者は、個人の私有鍵を推論することはできないが、その個人に送られたメッセージまたはメッセージに関する情報を推論できることがある。本発明の実施形態は対称鍵システムを使用するため、暗号化鍵は公開の知識ではなく、従って選択平文攻撃は適用可能ではない。
従来の対称鍵システムおよび公開鍵システムには、別の問題が存在する。無権限の主体(エンティティ)が、許可されている鍵へのアクセスを得ると、その無権限のエンティティは、その危険にさらされた鍵を用いて暗号化されたすべてのメッセージを復号することができ、おそらくより危険なこととして、システムの他のエンティティを欺くために、偽メッセージを暗号化することができる。変化IDプロトコルは、それぞれの秘密鍵をそれが使用された後に変化させることにより、この脆弱性を低下させる。秘密鍵が危険にさらされたとしても、その危険にさらされた秘密鍵は、認証手段により使用済としてマーク付けされており、将来のメッセージを暗号化するために再使用されないので、将来のメッセージを生成するために使用することも、また将来のメッセージを暗号解除するために使用することもできない。
システム20は、エンティティ間の通信を管理するためにプロトコルを使用する。各エンティティは、図2に示された識別子またはID38などのような変化IDを、認証デバイス28によりランダムに割り当てられる。言及されたように、それぞれの変化IDは、乱数40と、対応するランダムな秘密鍵42とを含む。幾つかの実施形態では、変化IDは、モディファイド・ハッシュの形式を取る。
認証デバイス28はまた、システム20を介して配布されるコンテンツまたはデータのための暗号化鍵も生成する。データを送信したいデバイスは、認証デバイス28に鍵を要求する。データを送るデバイス(即ち、送信デバイス)は、送信するデータのラベルもしくは関数(即ち、任意の識別ストリング)を認証デバイス28へ供給し、認証デバイス28は、関連する鍵により応答する。鍵は、変化IDと同様に、それが暗号化するデータとは無関係である。データの識別子(例えば、ランダムな識別子)だけが提供されるので、認証デバイス28も、データについての知識を有さない。認証デバイス28は、鍵および関連するデータ識別子を記録する。
幾つかの実施形態では、認証デバイス28が、データ識別子に関連する鍵を生成し、それを送信デバイスへ供給した後、送信デバイスは、鍵を使用してデータを暗号化する。暗号化データを受け取ったデバイス(即ち、受信デバイス)は、対応する暗号解除鍵(例えば、データを暗号化するのに使用されたのと同じ鍵)を認証デバイス28に要求する。幾つかの実施形態では、認証デバイス28は、システム20に含まれており合法的な要求を行った何れの権限付与された(許可された、authorized)受信デバイスにも、暗号解除鍵を供給する。暗号解除鍵の要求は、データのラベルまたは識別ストリングへの参照を含む。認証デバイス28は、要求内で示されたラベルに基づいて、関連する鍵を決定し、適切な鍵を受信デバイスへ返す。
本発明の例示的な実施形態が、幾つかの例を使用して説明される。
通信プロトコルについての多くの説明と同様に、プロトコルで使用される様々なデバイス(またはそれらのデバイスに関連するコンピュータ・システム)には名前が割り当てられる。一実施形態では、アリス(A)およびボブ(B)は、第1のデバイス22および第2のデバイス24をそれぞれ表し、トレント(T)は、認証デバイス28、通信の信用できるアービタ(arbiter)を表す。キャロル(C)は、システム20に含まれる第3のデバイスを表す。以下の表1は、プロトコルの複数の実施形態を説明するために本文書において使用される他の符号のリストである。
Figure 2009529832
セッション鍵
幾つかの実施形態では、2つのエンティティの間で通信またはセッション鍵を交換するために、変化IDが使用される。例えば、アリスとボブは、安全に通信したがっていると仮定する。アリスおよびボブは、トレントを信用しているものとし、トレントは、番号Nと何らかの対称暗号用の秘密鍵Kとを含む変化IDをアリスに割り当て、また番号Nと何らかの対称暗号用の秘密鍵Kとを含む変化IDをボブに割り当てるものと仮定する。また、アリスおよびボブは、各々、トレントおよび信用証明書(credential)の保有者だけが知っている信用証明書(例えば、それぞれAcredおよびBcred)を有するものとする。
セッション鍵KABをトレントに要求するために、アリスは、アリスの信用証明書およびボブの識別子(例えば、BID)をアリスの秘密鍵Kを用いて暗号化し、その結果としてできたものにアリスの番号Nを追加する。アリスは、ボブへメッセージを送る。
A→B:NE(K,Acredid
ボブは、アリスからのメッセージに、ボブの信用証明書およびアリスの識別子(例えば、Aid)を連結し、その結果としてできたものをボブの秘密鍵Kを用いて暗号化する。ボブは、暗号化の結果としてできたものにボブの番号Nを追加し、その結果としてできたものをトレントへ送る。
B→T:NE(K,BcredidE(K,Acredid))
トレントは、番号Nがボブに関連付けられていることを知っているので、メッセージがボブから来たことを識別する。トレントは、そのメッセージをKを使用して暗号解除し、信用証明書Bcredを検査する。トレントはまた、アリスにより構成されたメッセージの部分も暗号解除し、検証する。ボブの信用証明書Bcredが、ボブの番号Nおよびアリスにより提供されたボブの識別子Bidに合致し、かつアリスの信用証明書Acredが、アリスの番号Nおよびボブにより提供されたアリスの識別子Aidに合致した場合、トレントは、要求の正当性を認める。要求の正当性を認めた後、トレントは、アリス宛てのメッセージおよびボブ宛てのメッセージを生成する。アリス宛てのメッセージは、新しい番号N’と、新しい秘密鍵K’と、アリスの信用証明書Acredと、セッション鍵KABとを含む。トレントは、アリス宛てのメッセージをアリスの現在の秘密鍵Kを用いて暗号化する。ボブ宛てのメッセージは、新しい番号N’と、新しい秘密鍵K’と、ボブの信用証明書Bcredと、セッション鍵KABとを含む。トレントは、ボブ宛てのメッセージをボブの現在の秘密鍵Kを用いて暗号化する。トレントは、アリスおよびボブへメッセージを送る。
T→A:E(K,N’K’AcredAB
T→B:E(K,N’K’BcredAB
上記のプロトコルは、より多くのエンティティを含むように拡張することができる。例えば、アリスが、ボブおよびキャロルに関連するセッション鍵を欲しい場合、アリスは、ボブの識別子Bidおよびキャロルの識別子(例えば、Cid)などのボブおよびキャロルの既知の識別子を、アリスのメッセージ中に列挙することができる。同様に、ボブは、アリスおよびキャロルの識別子を列挙することができ、キャロルは、アリスおよびボブの識別子を列挙することができる。各エンティティはまた、各自の信用証明書を各自のメッセージ中に含めることができる。上記で示したように、各エンティティは、要求されたセッション鍵に関連する別のエンティティへ、各自のメッセージを送ることができ、各エンティティは、受け取ったメッセージに、各自のメッセージを追加することができる。すべての意図されたエンティティが、各自のメッセージを要求に追加すると、最後のエンティティは、その要求をトレントへ送る。トレントは、各エンティティの信用証明書が、各エンティティに割り当てられた変化ID(例えば、変化IDの番号)と合致すること、および各エンティティにより指定された識別子のリストが、提供された信用証明書と合致することを検証する。要求の正当性を認めた後、トレントは、新しい変化ID(例えば、新しい番号および新しい秘密鍵)、およびリストされたエンティティに関連するセッション鍵とを、各エンティティの信用証明書と共に各エンティティへ送る。
コンテンツ使用ライセンス
変化IDはまた、エンティティがコンテンツを取得するためおよび復号するために使用し得るライセンスを提供するために、使用することもできる。例えば、アリスは、ボブに安全に送りたいコンテンツまたはメッセージPを有しているとする。アリスおよびボブは、トレントを信用しているものとし、トレントは、番号Nと何らかの対称暗号用の秘密鍵Kとを含む変化IDをアリスに割り当て、また番号Nと何らかの対称暗号用の秘密鍵Kとを含む変化IDをボブに割り当てるものとする。また、アリスおよびボブは、各々、トレントおよび信用証明書の保有者だけが知っている信用証明書(例えば、それぞれAcredおよびBcred)を有するものとする。
メッセージPのためのライセンスを取得するため、アリスは、メッセージPのハッシュを生成し、そのハッシュH(P)をアリスの信用証明書Acredと連結し、その結果としてできたものをアリスの秘密鍵Kを用いて暗号化する。アリスはまた、アリスの番号Nを、暗号化した結果としてできたものに追加する。アリスは、ライセンス要求をトレントへ送る。
A→T:NE(K,AcredH(P))
トレントは、アリスからの要求の暗号解除を行い、アリスへの応答を生成する。アリスへの応答は、アリス用の新しい番号N’および新しい秘密鍵K’を含む変化IDと、ライセンス番号NH(P)およびライセンス秘密鍵KH(P)を含む、メッセージPのためのライセンスに関連する変化IDと、メッセージPのための鍵Kとを含む。幾つかの実施形態では、トレントはまた、メッセージが改ざんされていないことをアリスが保証できるように、アリスへの応答にハッシュH(P)も含める。トレントは、応答をアリスの現在の秘密鍵Kを用いて暗号化し、暗号化された応答をアリスに送る。
T→A:E(K,N’K’NH(P)H(P)H(P))
アリスは、トレントから応答を取得すると、その応答を暗号解除し、鍵Kと、メッセージPのためのライセンスに関連する変化IDとを取得する。アリスは、鍵Kを用いてメッセージPを暗号化し、暗号化したメッセージPのためのライセンスを生成する。暗号化メッセージPのためのライセンスは、アリスの信用証明書Acredと、メッセージのハッシュH(P)とを含む。幾つかの実施形態では、ライセンスはまた、ライセンスの受取手の識別子も含む。例えば、アリスがライセンスをボブへ送ろうとする場合、ライセンスは、Bidなどのようなボブの識別子を含むことができる。幾つかの実施形態では、受取手の識別子は、プロトコルの複雑性を低減するために、ライセンスから除外される。例えば、デジタル媒体製作会社は、コンテンツの受取手となり得る者を事前に知り得ず、または追跡し得ないであろう。アリスは、ライセンス秘密鍵KH(P)を用いてライセンスを暗号化し、暗号化の結果としてできたものに、関連するライセンス番号NH(P)を追加する。アリスは、暗号化メッセージと、関連するライセンスとをボブへ送る。
A→B:E(K,P) (暗号化コンテンツ)
A→B:NH(P)E(KH(P),AcredH(P)Bid) (ライセンス)
暗号化メッセージPおよび関連ライセンスを受け取った後の何れかの時点で、ボブは、暗号化メッセージPのための暗号解除鍵を要求することができる。暗号解除鍵の要求を生成するため、ボブは、ボブの信用証明書Bcredを、アリスが生成したライセンスに連結し、その結果としてできたものをボブの秘密鍵Kを用いて暗号化する。ボブはまた、ボブの番号Nを、暗号化して連結したものに追加し、要求をトレントへ送る。
B→T:NE(K,BcredH(P)E(KH(P),AcredH(P)Bid))
トレントは暗号を開き、ボブの識別子がライセンスに含まれている場合、トレントは、信用証明書Bcredおよび番号Nが、アリスが生成したライセンス内の識別子と合致することを検証する。トレントはまた、ハッシュH(P)が、ライセンス番号NH(P)およびライセンス秘密鍵KH(P)と合致することを検証することもできる。ボブからのメッセージの正当性を認めた(verify、確認した)後、トレントは、暗号化メッセージPを暗号解除するために使用され得る鍵Kと、ボブ用の新しい番号N’および新しい秘密鍵K’を含む変化IDと、ボブの信用証明書Bcredとを、すべてボブの現在の秘密鍵Kを用いて暗号化して、ボブへ送る。
T→B:E(K,N’K’Kcred
アリスが望む場合、トレントは、ボブが暗号解除鍵を要求したことをアリスに通知することができる。
T→A:E(K’,“ボブは識別子H(P)に関連する鍵を要求した”)
暗号解除鍵をボブに提供した後、メッセージPのためのライセンスに関連する1回限り使用可の変化IDをこの例では構成するライセンス番号NH(P)およびライセンス秘密鍵KH(P)をトレントはすでに見ているので、アリスがボブに提供したライセンスはもはや有効ではない。
先の例でのように、このプロトコルは、各エンティティが各自の信用証明書をライセンスに追加するようにさせ、その結果としてできたものを各自に割り当てられた変化IDを用いて暗号化させ、その変更したライセンスを次のエンティティへ送らせることにより、複数のエンティティを含むように拡張することができる。例えば、アリスがライセンスを生成し、それをキャロルへ送り、キャロルがそのライセンスをデイビッドへ送り、次にデイビッドがそのライセンスをボブへ送った場合、トレントにより受け取られる結果的なライセンスは以下のようになる。
T→A:NE(K,BcredE(K,DcredE(K,CcredH(P)E(KH(P),AcredH(P)Bid))))
デジタル署名
これまで、セッションを確立するため、およびライセンスを送り届けるための、変化IDの使用について説明してきた。別の実施形態では、変化IDは、デジタル署名として使用される。アリスおよびボブが各々、アリスとボブの間の合意を必要とする情報Pを含む文書Sのコピーを有すると仮定する。例えば、文書Sは、売買証書を含むことができ、情報Pは、その売買証書に関する最終価格を含むことができる。また、キャロルは、情報Pについて知る必要があるかもしれないが文書Sについては必ずしも知る必要のない、合意の仲裁者(例えば、クレジット・カード会社または銀行)であると仮定する。アリス、ボブ、およびキャロルは各々、トレントを信用しているものとし、トレントは、番号Nと何らかの対称暗号用の秘密鍵Kとを含む変化IDをアリスに割り当て、番号Nと何らかの対称暗号用の秘密鍵Kとを含む変化IDをボブに割り当て、また番号Nと何らかの対称暗号用の秘密鍵Kとを含む変化IDをキャロルに割り当てるものとする。また、アリス、ボブ、およびキャロルは各々、トレントおよび信用証明書の保有者だけが知っている信用証明書(例えば、それぞれAcred、Bcred、およびCcred)を有するものとする。
文書Sの署名を開始するため、アリスは、文書Sまたは文書Sのハッシュと、アリスの信用証明書Acredのハッシュとを含むメッセージを生成する。幾つかの実施形態では、アリスは、メッセージを仮装させるか又は符号化する。例えば、アリスは、文書のハッシュとアリスの信用証明書AcredのハッシュのXORを生成することができる。メッセージはまた、情報Pを含むこともできる。アリスは、アリスの秘密鍵Kを用いてメッセージを暗号化し、アリスの番号Nを追加し、その結果としてできたものをボブへ送る。
A→B:NE(K,XOR(H(S),H(Acred))P)
ボブは、文書Sのハッシュとボブの信用証明書BcredのハッシュのXORを含み得る同様のメッセージを生成する。幾つかの実施形態では、ボブはまた、情報Pをメッセージに追加する。ボブは、ボブのメッセージをアリスからのメッセージに追加し、その結果としてできたものをボブの秘密鍵Kを用いて暗号化する。ボブはまた、ボブの番号Nを追加し、その結果としてできたものをトレントへ送る。
B→T:NE(K,XOR(H(S),H(Bcred))PNE(K,XOR(H(S),H(Acred))P))
トレントは、ボブからのメッセージを暗号解除し、アリスおよびボブにより生成された文書Sのハッシュが等しいことを検証する。アリスおよびボブが、各自のメッセージに情報Pを含めている場合、トレントはまた、アリスおよびボブから提供された情報Pが等しいことも検証する。メッセージの正当性が認められた後、トレントは、アリスおよびボブのための受領証(receipt)を生成する。アリスの受領証は、ボブの識別子(例えば、Bid)と、文書Sのハッシュと、オプションとして情報Pとを含む。トレントは、アリスおよびボブのための受領証に関連する変化IDの一部である受領証秘密鍵Kreceiptを用いて、アリスの受領証を暗号化する。トレントはまた、アリスおよびボブのための受領証に関連する変化IDに含まれる関連する受領証番号Nreceiptを、アリスの受領証に追加する。トレントは、その後、アリスの受領証と、アリス用の新しい番号N’および新しい秘密鍵K’を含む変化IDと、アリスの信用証明書Acredとを、アリスの現在の秘密鍵Kを用いて暗号化し、その結果としてできたものをアリスへ送る。
T→A:E(K,N’K’AcredreceiptE(Kreceipt,BidH(S)P))
トレントは、アリスの識別子(例えば、Aid)と、文書Sのハッシュと、オプションとして情報Pとを含む、ボブのための同様の受領証を生成する。トレントは、アリスの受領証を暗号化したのと同じ受領証鍵Kreceiptを用いて、ボブの受領証を暗号化し、アリスの受領証に追加したのと同じ受領証番号Nreceiptを追加する。トレントは、ボブの受領証と、新しい番号N’および新しい秘密鍵K’を含む第6の変化IDと、ボブの信用証明書Bcredとを、ボブの現在の秘密鍵Kを用いて暗号化し、その結果としてできたものをボブへ送る。
T→B:E(K,N’K’BcredreceiptE(Kreceipt,AidH(S)P))
アリスおよびボブは、各自の受領証をキャロルに提示し、キャロルは、その受領証の一方または両方を検証のためにトレントへ送る。例えば、アリスがキャロルへアリスの受領証を提供すると仮定する。キャロルは、アリスの受領証にキャロルの信用証明書を追加し、その結果としてできたものをキャロルの秘密鍵Kを用いて暗号化する。キャロルは、その結果としてできたものにキャロルの番号Nを追加し、そのメッセージをトレントへ送る。
C→T:NE(K,CcredreceiptE(Kreceipt,BidH(S)P))
トレントは、キャロルからのメッセージを暗号解除し、そして、受領証を暗号解除して(トレントだけがKreceipt知っているため)、キャロルへ受領証の詳細を提供することにより、アリスの受領証を検証する。例えば、トレントは、キャロル用の新しい番号N’および新しい秘密鍵K’を含む変化IDと、キャロルの信用証明書Ccredと、アリスの識別子(例えば、Aid)と、ボブの識別子(例えば、Bid)と、文書Sのハッシュと、オプションとして情報Pとを含む、キャロル宛てのメッセージを生成することができる。トレントは、そのメッセージをキャロルの現在の秘密鍵Kを用いて暗号化し、その結果としてできたものをキャロルへ送る。
T→C:NE(K,N’K’CcredididH(S)P)
キャロルは、アリスとボブとの間の合意を裁定するために、トレントからの情報を使用することができる。
上記のプロトコルは、他の数のエンティティを含むように拡張され得ることを理解されたい。
上記の例において示されたように、変化IDは、上記のプロトコルにおいて使用される場合、静的な値にまさる幾つかの利点を提供する。第1の利点は、盗聴者または攻撃者は、暗号文単独の力ずく攻撃(ciphertext−only brute force attack)を試みるためには、変化IDの識別子または鍵の全ての変化の履歴を獲得しなければならないことである。
変化IDの第2の利点は、変化IDが、セキュリティおよび侵入検出の一意の形式を提供することである。エンティティの変化IDの履歴は、エンティティの「変化IDの系譜(linage)」として認証デバイス28により監査跡(audit trail)として保持される。変化IDの系譜は、各変化IDが割り当てられた相手、その変化IDが割り当てられた時間、およびその変化IDが使用された時間を追跡する。変化IDまたはその部分が何らかの仕方でコピーされたり、盗まれたり、認証デバイス28以外のエンティティにより活動化された場合、2つのイベントの一方が発生する。第1のイベントにおいて、詐称者が使用する前に、変化IDの正当な所有者がその変化IDを使用した場合、詐称者が所有する盗まれたまたはコピーされた変化IDは廃止され、詐称者によりその変化IDが将来に使用されると、認証デバイス28により直ちに検出される。第2のイベントにおいて、変化IDが正当な所有者により使用される前に、攻撃者または詐称者が盗んだその変化IDを使用した場合、その変化IDは、正当な所有者が変化IDを使用する前に廃止される。その後、正当な所有者が変化IDを使用すると、認証デバイス28は、その変化IDを廃止済として直ちに識別して、変化IDの正当な所有者には、侵入についての通知がなされ、適切なアクションを取ることができる。
変化IDの第3の利点は、エンティティが既存の変化IDを使用したかどうかに関わらず、プロトコル中の任意の時点で、エンティティが、既存の変化IDを使用して、新しい変化IDを取得し得ることである。この定期的な変化は、攻撃者が変化IDを盗み、盗んだ変化IDを使用できる時間を制限することができる。
ブラック・プロトコル
変化IDの秘密鍵(例えば、K、K、K、K)は、送信データのセキュリティを保護するために、秘密であり続けなければならない。例えば、トレントが、アリスの現在の秘密鍵(例えば、K)を用いて暗号化された新しい変化IDをアリスに提供する場合、アリスの現在の秘密鍵を特定した盗聴者は、トレントにより提供されたアリスの新しい変化IDを取得することができる。盗聴者は、その後、偽データを送るため、および/またはアリスとトレントの間で交換される将来のデータの平文を取得するために、新しい変化IDを使用することができる。
上述のように、盗聴者は、攻撃を実行することにより、特定のデータを暗号化するために使用された鍵を特定する(または特定しようと試みる)ことができる。図4は、力ずく攻撃(brute force attack)を説明している。力ずく攻撃は、筋の通ったまたは認識可能なデータ(例えば、人が読めるデータ)を生成する鍵が見つかるまで、あらゆる可能な鍵を用いて暗号文を暗号解除することを含む。図4に示されるように、盗聴者は、初期鍵またはゼロ候補鍵を決定する(ステップ50)。盗聴者は、その後、その候補鍵を使用して、暗号文を暗号解除する(ステップ52)。暗号文を暗号解除した後、盗聴者は、候補鍵を用いて暗号解除された暗号文が筋の通った平文または筋の通ったパターンを生成したかどうかを決定するために、その結果(即ち、候補平文)を検査することができる(ステップ54)。盗聴者が、取得した暗号文に対応する平文(またはその部分もしくはパターン)を取得した場合、あるいは知っている場合、盗聴者は、正しい候補鍵が見つかったかどうかを、より容易に決定することができる。例えば、盗聴者が、暗号文を取得し、暗号文が個人名とそれに続く数字4桁の個人識別番号(「PIN:personal identification number」)とを含むことを知っている場合、盗聴者は、候補鍵が個人名を含む平文を生成するまで、候補鍵を適用することができる。盗聴者は、その後、ある程度の確実性をもって、生成された平文に含まれる残りの情報がPINに対応すると推定することができる。
図4に示されるように、盗聴者が、特定の候補鍵を用いて暗号文を暗号解除することにより生成された候補平文の中で筋の通ったパターンを見つけた場合(ステップ56)、盗聴者は、ある程度の確実性をもって、現在の候補鍵が、暗号文を生成するために使用された鍵に等しいか、または使用された鍵であることを知る(ステップ57)。
盗聴者が、特定の候補鍵を用いて暗号文を暗号解除することにより生成された候補平文の中に筋の通ったパターンを見つけなかった場合(ステップ56)、盗聴者は、候補鍵を変更(例えば、候補鍵をインクリメント)することができ(ステップ58)、変更された候補鍵を使用して暗号文を暗号解除し、(ステップ52)、筋の通った平文または筋の通ったパターンを求めて、生成された候補平文を検査することができる(ステップ54)。十分な処理能力および時間を与えられれば、盗聴者は、特定の候補鍵が筋の通った平文または筋の通ったパターンを有する候補平文を生成するまで、このプロセスを続けることができ、従って、暗号文を生成するために使用された鍵を特定することができる。
しかし、盗聴者が、平文または平文のパターンについての知識を有さない(即ち、コンテンツのヒントを有さない)場合、正しい候補鍵が見つかったかどうかを決定する盗聴者の能力は、大きく損なわれるか、おそらくは失われる。例えば、平文が特定の鍵を用いて暗号化された乱数を含む場合、盗聴者が力ずく攻撃で多くの鍵を試みても、盗聴者は、候補平文が暗号文に対応する真の平文であるかどうかを決定することができない。鍵の空間(即ち、候補鍵のプール)と暗号化アルゴリズムの平文の空間(即ち、候補平文のプール)とが実質的に同じであると仮定すると、暗号化された乱数を何れの候補鍵を用いて暗号解除しても、乱数を生成することになり、その乱数は、他の何れかの候補鍵により生成された他の乱数と同様の、元の乱数のような乱数である。
アリス、ボブ、およびトレントを含む上述のセッション鍵交換の例を参照すると、暗号化メッセージの何らかの部分が、認識可能であるか、既知であるか、既知になるか、または何らかのコンテンツ・ヒントを含む場合、盗聴者はおそらく、暗号化メッセージに対して平文攻撃または部分平文攻撃を実行し、メッセージを暗号化するために使用されたアリスまたはボブの秘密鍵を暴くことができる。例えば、アリスが以下のメッセージをボブへ送り、それが盗聴者により傍受されると仮定する。
A→B:NE(K,Acredid
ボブの識別子Bidおよび上記のメッセージのフォーマットは既知であるか又は公開されているので、盗聴者は、傍受したメッセージに対して力ずく攻撃を実行することができる。従って、盗聴者は、アリスの秘密鍵Kおよび信用証明書Acredを取得することができる。更に、盗聴者は、アリスの現在の秘密鍵Kを取得すると、アリスの現在の秘密鍵Kを使用して、アリスの次の変化ID(例えば、N’およびK’)などのような、アリスの現在の秘密鍵Kを用いて暗号化されるすべてのデータを取得することができる。
盗聴者は、暗号化メッセージについての、または暗号化メッセージを生成するために使用される通信プロトコルについての他の知識を使用して、力ずく攻撃を実行することができる。例えば、盗聴者は、平文で渡される変化IDの番号(例えば、N)を使用して、力ずく攻撃を実行することができる。盗聴者はまた、変化IDの番号を生成するために使用されるアルゴリズムについての知識を使用して、力ずく攻撃を実行することもできる。
発見不可能、即ち、「ブラック」データ(即ち、ランダムであるか、またはコンテンツのヒントをもたないデータ)を暗号化するために使用される鍵は、力ずく攻撃を使用して特定または発見できない。なぜなら、盗聴者は、正しい候補鍵が見つかった時にでもそれを判断できないからである。しかし、発見可能、即ち、「ホワイト」データ(即ち、既知であるか、後で開示されるかもしれないか、認識可能であるか、または既知もしくは容易に推測できるフォーマットを有するデータ)を暗号化するために使用される鍵は、力ずく攻撃を使用して特定することができる(理論的には)。ホワイト・データとブラック・データが一緒に、または同じ暗号化鍵を用いて暗号化される場合、ホワイト・データを使用する力ずく攻撃により特定される鍵はまた、ブラック・データを暗号化するために使用される鍵でもあるので、従って、ブラック・データは発見され得る。
暗号化データのセキュリティを高め、力ずく攻撃の有効性を低下させるため、本発明の幾つかの実施形態は、変化IDに含まれる秘密鍵などのブラック・データのセキュリティを保護する暗号化戦略を提供する。
図5は、暗号化されるデータに含まれ得るデータのタイプを示している。図5に示されるように、暗号化されて特定の受信機へ送信されるデータ59は、データのタイプまたはクラスに分類される。データの第1のクラスは、ブラック・データ・クラス60を含む。ブラック・データ・クラス60は、秘密に保持され、権限付与されたエンティティによりのみ知られるデータを含む。例えば、ブラック・データ・クラス60は、変化IDの秘密鍵および/またはシステム20に含まれるエンティティの信用証明書を含むことができ、その両方とも、ランダムであり、認証デバイス28ならびに信用証明書および秘密鍵の保有者によりのみ知られている。
図5に示されるように、データの第2のクラスは、ホワイト・データ・クラス62を含む。ホワイト・データ・クラス62は、公けに知られているか、認識可能であるか(例えば、人が読める)、または既知もしくは容易に推測できるフォーマットを有するデータを含む。例えば、ホワイト・データ・クラス62は、エンティティ間で送信されるコンテンツ(例えば、人が読めるメッセージ、映画など)および認証デバイス28により提供される変化IDの番号(例えば、N、N、N、N)などのような、標準化されたヘッダや、既知のパターンや、他の公けに使用可能なフォーマットなどのような、容易に弁別される特徴を有するデータを含む。
ホワイト・データ・クラス62はまた、間接ホワイト・データ、即ち、変化IDの秘密鍵(例えば、K、K、K、K)などのような、ホワイト・データを含むメッセージを暗号化するために使用される鍵も含む。例えば、セッション鍵交換プロトコルに関して上述されたように、アリスは、アリスの秘密鍵Kを用いて暗号化されたボブの公けに知られた識別子Bidを含むメッセージをボブに送る。
A→B:NE(K,Acredid
ボブの識別子Bidは公けに知られており、従って、ホワイト・データであるので、アリスの秘密鍵Kは、公けに知られたデータを暗号化するので、間接ホワイト・データと見なすことができる。
図6および図7は、本発明の一実施形態による、ブラック・データのセキュリティを保護するための暗号化戦略を示している。ブラック・データのセキュリティを保護するため、異なるタイプのデータを暗号化するために、別個の鍵が使用できる(これ以降、「個別暗号化プロトコル(separate encryption protocol)」と呼ばれる)。例えば、1または複数の鍵(おそらく1または複数の変化IDの一部である鍵)を、ブラック・データを暗号化するために使用でき、また、1または複数の異なる鍵(おそらく1または複数の異なる変化IDの一部である鍵)を、ホワイト・データを暗号化するために使用できる。以下で説明されるように、ブラック・データおよびホワイト・データを暗号化するために同じ鍵は使用されないので、ブラック・データのセキュリティは高められる。
図6に示されるように、ブラック・データ・クラス60に含まれるデータは、ブラック・データを暗号化するために専ら使用される1または複数の鍵70(これ以降、この例においては「ブラック・データ鍵70」と呼ばれる)を用いて暗号化することができる。オプションとして、ホワイト・データ・クラス62に含まれるデータは、ホワイト・データを暗号化するために専ら使用される1または複数の鍵72(これ以降、この例においては「ホワイト・データ鍵72」と呼ばれる)を用いて暗号化することができる。ブラック・データ鍵70は、ホワイト・データ鍵72から決定し得ない(または無関係である)ことを理解されたい。データ59は、データ59の部分が属するデータ・クラスに従って、データの連続ブロックに分割および配置される必要がないことも理解されたい。図7に示されるように、ブラック・データ・クラス60およびホワイト・データ・クラス62に含まれるデータは、一緒に混合される多数の部分に分割することができる。
ブラック・データをホワイト・データから分離し、ホワイト・データを暗号化するために使用される鍵72とは異なる鍵70を用いてブラック・データを暗号化することにより、ホワイト・データを暗号化するために使用されるホワイト・データ鍵72が力ずく攻撃を使用して決定されたとしても、決定されたホワイト・データ鍵72は、ブラック・データを取得するためには使用することができない。
ランダムに生成された秘密コンテンツの交換
以下の例では、反復カウントを表すために下付文字iが使用され、ここで、iは、0または別の所定値に初期設定され、それぞれの交換後にプロトコル交換に関与する両方の関与者により、および/または異なる所定のスケジュールでインクリメントされる。従って、特定の項目の現在の値は、下付文字iを用いて表され、項目の新規のまたは変化した値は、これまでの例において使用された上付文字「’」を用いる代わりに、下付文字「i+1」を用いて表される。
2つのエンティティがランダムに生成された秘密データを交換できるように、個別暗号化プロトコルを使用できる。例えば、第1のエンティティAが、ランダムに生成された秘密コンテンツS(即ち、ブラック・データ)を第2のエンティティBと交換することを望んでいると仮定する。エンティティAおよびBは、以前に確立されたランダム生成の秘密暗号化鍵Kを共有する。エンティティAおよびBが、当事者どうしで直に鍵Kに合意することや、一方のエンティティが、セキュアな通信手段を介して秘密鍵Kを他方のエンティティへ送ることや、秘密鍵Kが、エンティティにより操作されるソフトウェアやハードウェア内に事前保存されることなどができる。
秘密暗号化鍵Kを確立した後、エンティティAは、秘密データSおよび新しい秘密のランダムな暗号化鍵Ki+1を、暗号化鍵Kを用いて暗号化する。アリスは、新しい秘密鍵Ki+1をランダムに生成する。エンティティAおよびBは、将来のデータ交換において秘密データを暗号化するために、新しい秘密鍵Ki+1を使用する。
A→B:E(K,Ki+1
幾つかの変形では、エンティティAは、暗号化鍵Kと新しい暗号化鍵Ki+1とのXORを生成することができる。
XOR(K,Ki+1
XOR演算を実行した後、エンティティAは、XOR演算の結果として生じたビット列および秘密データSを暗号化鍵Kを用いて暗号化し、その結果としてできたものをエンティティBへ送る。
A→B:E(K,XOR(K,Ki+1)S
暗号化鍵Kについての知識を使用して、エンティティBは、新しい暗号化鍵Ki+1を決定することができる。
双方の場合とも、エンティティAからのメッセージは、2つの部分、即ち、鍵変化部分(即ち、Ki+1またはXOR(K,Ki+1))と、秘密コンテンツ部分(即ち、S)とを含む。また、双方の場合において、鍵変化部分は、エンティティAによりランダムに生成され、以降の鍵変化は、以前の鍵の値からは独立している。
秘密鍵Kの鍵空間と暗号化関数Eの平文空間とが同形であると仮定すると、秘密鍵Kのあらゆる候補値は、完全にあり得る(completely possible)候補平文を生成し、それぞれの候補平文は、完全にあり得る次の鍵値を計算するのに十分な情報を含む。従って、盗聴者は、何れのあり得る初期鍵値も除外することができず、プロトコルは、暗号文単独の力ずく攻撃を実質的に受けつけない。
認証手段との通信
個別暗号化プロトコルはまた、セッション鍵を要求するためや、ライセンスを要求するためなどのために認証デバイス28と通信するために、図1に示されるようなシステム20のエンティティにより使用されることもできる。例えば、第1のデバイス22として表されているアリスが、認証デバイス28として表されているトレントへ要求を送ることを望むものとする。トレントは先に、ランダムに生成された初期の秘密暗号化鍵Kおよび対応する初期の公開識別子N(例えば、トレントにより割り当てられた変化IDの一部とすることができる)を、アリスに割り当てている。
これの関与者はまた、ブラック要求パラメータ・セットBREQと、ホワイト要求パラメータ・セットWREQと、ブラック応答パラメータ・セットBRSPと、ホワイト応答パラメータ・セットWRSPとから成る要求として一般化形式で示される要求と応答プロトコルとに合意する。幾つかの実施では、パラメータ・セットの幾つかは、空とすることができる。ホワイト要求パラメータ・セットWREQおよびホワイト応答パラメータ・セットWRSPは共に、公けに知られた(即ち、ホワイトすなわち発見可能データ)要求および応答パラメータをそれぞれ含む。ブラック要求パラメータ・セットBREQは、ホワイト要求パラメータ・セットWREQから導出不可能である。
本発明の幾つかの実施形態では、ホワイト要求パラメータ・セットWREQは、有効な要求を形成するために、ブラック要求パラメータ・セットBREQとペアにされる。ブラック要求パラメータ・セットBREQは、ホワイト要求パラメータ・セットWREQから決定または導出され得ないので、盗聴者は、ブラック要求パラメータ・セットBREQを提供することなくアリスを装ってトレントに要求を行うことはできない。しかし、言及されたように、ブラック・コンテンツは発見不可能である。従って、ホワイト要求パラメータ・セットWREQについての知識だけでは、盗聴者が要求を偽造することは可能ではない。同様に、ホワイト応答パラメータ・セットWRSPは、ブラック応答パラメータ・セットBRSPとペアにされ、ホワイト応答パラメータ・セットWRSPを取得した盗聴者は、対応するブラック応答パラメータ・セットBRSPを知ることなくトレントを装ってアリスに応答を送ることはできない。
要求を送るため、アリスは、ブラック要求パラメータ・セットBREQを、暗号化鍵Kを用いて暗号化する。トレントへの要求の送信者として彼女自らを識別させるために、アリスは、公開識別子Nを、暗号化の結果としてできたものに追加する。幾つかの変形では、アリスはまた、対応するホワイト要求パラメータ・セットWREQも暗号化の結果としてできたものに追加する。アリスは、結果としてできたメッセージをトレントへ送る。
A→T:NREQE(K,BREQ
幾つかの変形では、トレントは、アリスがホワイト要求パラメータ・セットWREQなどのホワイト・データを暗号化するために使用し得る個別暗号化鍵をアリスに割り当てることができる。暗号化されたホワイト・データは、暗号化されたブラック応答パラメータ・セットBREQに追加される。しかし、ランダムに生成された秘密のブラック要求パラメータ・セットBREQおよび暗号化鍵Kの特定に暗号文単独の力ずく攻撃が成功することを阻止するために、ブラック要求パラメータ・セットBREQまたは他の任意のブラック・データと同じ暗号化パッケージまたはエンベロープ内において、ホワイト要求パラメータ・セットWREQおよび他の任意のホワイト・データが暗号化されることはできない。
トレントは、アリスからメッセージを受け取り、メッセージに追加された識別子Nに基づいて、アリスを送信者として識別する。トレントは、アリスがメッセージを送ったことを決定した後、メッセージを暗号解除し、ブラック要求パラメータ・セットBREQを取得するために、暗号化鍵Kを使用する。トレントは、ブラック要求パラメータ・セットBREQが有効であることを検証する。アリスがホワイト要求パラメータ・セットWREQも提供した場合、トレントはまた、ホワイト要求パラメータ・セットWREQが有効であること(例えば、ホワイト要求パラメータ・セットWREQとブラック要求パラメータ・セットBREQの間に適切な関連または一致が存在すること)も検証する。ホワイト要求パラメータ・セットWREQが無効である場合、トレントは要求を拒否する。不一致のパラメータ・セットはまた、要求メッセージが改ざんされたこと(例えば、中間の者攻撃(man−in−the middle attack)による)や、詐称者により送られたかもしれないことも、示すことができる。
アリスへ応答を送るため、トレントは、ブラック応答パラメータ・セットBRSPおよび新しいランダム生成された秘密暗号化鍵Ki+1を、現在の暗号化鍵Kを用いて暗号化する。幾つかの変形では、上述のように、トレントは、アリスへの応答内の新しい暗号化鍵Ki+1を、現在の暗号化鍵Kと新しい暗号化鍵Ki+1とに対してのXOR演算を実行した結果と置き換える。トレントはまた、アリス用の新しい識別子Ni+1も生成し、新しい識別子Ni+1を暗号化の結果としてできたものに追加する。幾つかの変形では、トレントはまた、対応するホワイト応答パラメータ・セットWRSPも暗号化の結果としてできたものに追加する。上述のように、ホワイト応答パラメータ・セットWRSPを平文として追加する代わりに、トレントは、ホワイト応答パラメータ・セットWRSPを、トレントおよびアリスにより知られたホワイト・データ鍵を用いて暗号化することができる。加えて、トレントは、アリスに新規または変化させたホワイト・データ鍵を提供するために、ホワイト・データ鍵を使用することができる。トレントは、結果としてできたメッセージをアリスへ送る。
T→A:Ni+1RSPE(K,XOR(K,Ki+1)BRSP
トレントはまた、現在の暗号化鍵Kおよび現在の識別子Nを使用済としてマーク付けし、その鍵および識別子が長い間再使用されないことを保証する。幾つかの実施形態では、トレントは、鍵または識別子が発行された時間と、後にそれが要求において使用された時間とを追跡する。トレントは、この情報を使用して、所定の時間が経過するまで鍵または識別子が再使用されないことを確実にすること、および/または鍵または識別子が不適切に使用された(例えば、鍵または識別子の正当な所有者を装ったエンティティによる)時にそれを追跡することができる。
アリスは、トレントからのメッセージを暗号解除し、新しい暗号化鍵Ki+1およびブラック応答パラメータ・セットBRSPを取得する。アリスは、ブラック応答パラメータ・セットBRSPが有効であることを検証する。ブラック応答パラメータ・セットBRSPが無効である場合、アリスは、応答がトレントにより送られたものでないことを識別することができ、その応答を無視することができる。トレントからのメッセージがホワイト応答パラメータ・セットWRSPも含む場合、アリスは、ホワイト応答パラメータ・セットWRSPが有効であることも検証する。ホワイト応答パラメータ・セットWRSPが無効である場合、アリスは、応答がトレントにより送られたものでないことを識別することができ、その応答を無視することができる。
メッセージ認証を備えるブラック・プロトコル
上述のプロトコルは、ミューテーティング(変化)鍵または識別子(変化IDの一部とすることができる)を使用してのブラック・データの個別暗号化を導入した。上述のプロトコルは、暗号文単独の力ずく攻撃からブラック・データを保護するが、メッセージ認証や改ざん防止機構については制限されたものを提供するにすぎない。その結果、攻撃者がメッセージに不正データを注入し得ることがある。
メッセージ認証および改ざん防止機構を提供する1つの方法は、トレントがアリスに初期の大型秘密鍵Kを割り当てることを含む。トレントおよびアリスはまた、独立に反復カウントiを保持する。アリスおよびトレントは個々に、それぞれの交換の後および/または別の所定のスケジュールで、反復カウントiを更新またはインクリメントすることができる。
アリスは、秘密データ(即ち、ブラック・データ)Sをトレントと交換するために、大型秘密鍵Kおよび反復カウントiを使用する。例えば、トレントは、以下のメッセージ・プロトコルを使用して、秘密データSをアリスへ送ることができる。
T→A:E(KFX(i,K),SH(IFX(i,K),SEX(i,K)))
上記のメッセージ・プロトコルにおいて、トレントは、鍵関数KFXにより生成された暗号化鍵を用いて、アリスへのメッセージを暗号化する。鍵関数KFXは、反復カウントiおよび大型秘密鍵Kを使用して、対称暗号化鍵値を生成する。
トレントからアリスへのメッセージの内容は、秘密データSと、変化値Mと、ミューテーティング(変化)・セキュア・ハッシュ関数Hの結果とを含む。変化値Mは、反復カウントiに基づいてランダムに生成された番号であり、メッセージを一意に識別する。
セキュア・ハッシュ関数Hは、アリスからボブへのメッセージの内容のセキュアなハッシュを生成する。上記の例では、セキュア・ハッシュ関数Hは、秘密データSと、変化値Mと、大型秘密鍵Kまたはその一部のセキュア・ハッシュを生成する。ハッシュにおいて大型秘密鍵Kの一部のみを使用するために、抽出関数FEXを使用できる。抽出関数FEXは、反復カウントiに基づいて、大型秘密鍵Kの一部を抽出し、それを返す。幾つかの変形では、抽出関数FEXは、大型秘密鍵Kの全体を返す。
セキュア・ハッシュ関数Hは、初期設定ベクトルIなどの初期設定値を用いて初期設定される。初期設定ベクトルIは、初期設定ベクトル関数IFXを用いて生成される。初期設定ベクトル関数IFXは、反復カウントiおよび大型秘密鍵Kに基づいて、初期設定ベクトルIを生成する。
アリスは、反復カウントi、大型秘密鍵K、およびメッセージで使用された関数を知っているので、トレントからのメッセージを暗号解除することができる。メッセージの暗号解除は、アリスが、秘密データS、変化値M、およびハッシュH(IFX(i,K),SEX(i,K))を取得することを可能にする。トレントからのメッセージが送信中に改ざんされていないことを確実にするため、アリスは、トレントがメッセージに含めたハッシュのアリス自身のバージョンを生成することにより、トレントからのメッセージを認証する。ハッシュのアリス自身のバージョンを生成するために、アリスは、トレントからのメッセージから得られた秘密データSおよび変化値Mと大型秘密鍵Kとのハッシュを生成する。アリスは、トレントと同じセキュア・ハッシュ関数Hを使用する。幾つかの変形では、アリスはまた、トレントが行ったように、ハッシュ関数H用の初期設定ベクトルIFXを生成する。加えて、アリスは、ハッシュ内で使用する大型秘密鍵Kの一部を抽出するために、トレントが使用したのと同じ抽出関数FEXを使用することができる。
アリス自身のバージョンのハッシュを生成した後、アリスは、アリスのバージョンのハッシュを、トレントからのメッセージに含まれるハッシュと比較する。ハッシュが一致した、または同じである場合、アリスは、トレントからのメッセージは改ざんされていないと推定することができる。ハッシュが一致しない場合、メッセージは改ざんされた可能性が高く、アリスは、そのメッセージを無視することができる。
幾つかの実施形態では、アリスおよびトレントは各々、以降のメッセージで大型秘密鍵Kを使用する前に、別々に大型秘密鍵Kを変化させる。これを達成するため、アリスおよびトレントは、変化関数Fを使用して、大型秘密鍵Kを変化させる。変化関数Fは、反復カウントi、直近のメッセージで使用された変化値M、および/または現在の大型秘密鍵Kに基づいて、新しいまたは変化された大型秘密鍵Ki+1を生成する。例えば、図8に示されるように、変化関数Fは、関数「M XOR K」を実行することができ、ここで、MおよびKは、実質的に同じ長さである。
i+1=F(i,M,K)=M XOR K
上記のメッセージ・プロトコルを使用した場合、力ずく攻撃を使用して秘密データSまたは大型秘密鍵Kを取得することを望む攻撃者は、メッセージ・プロトコルで使用されるアルゴリズムのすべてを最初に学ばなければならない。攻撃者はまた、アリスとトレントの間で交換されるメッセージのすべてを取得しなければならない。次に、攻撃者は、候補鍵Cを推定し、その候補鍵Cを使用して、アリスとトレントの間で交換された最初のメッセージ(即ち、反復ゼロ)を暗号解除しなければならない。候補鍵Cを用いた最初のメッセージの暗号解除は、候補テキストXを明らかにする。攻撃者は、メッセージ・プロトコルのアルゴリズムを知っているので、候補テキストXを、候補秘密データSiXと、候補変化値MiXと、候補セキュア・ハッシュ関数結果HiXとに分割することができる。候補秘密データSiXと、候補変化値MiXと、候補鍵Cとを使用して、攻撃者は、自らのバージョンのセキュア・ハッシュ関数結果HiT(例えば、反復iについてのセキュア・ハッシュ関数Hのテスト結果)を生成する。セキュア・ハッシュ関数HiTのテスト結果が候補セキュア・ハッシュ関数結果HiXと一致する場合、攻撃者は、許容可能または潜在的候補鍵として候補鍵Cをマーク付けすることができる。セキュア・ハッシュ関数HiTのテスト結果が候補セキュア・ハッシュ関数結果HiXと一致しない場合、攻撃者は、潜在的な正しい鍵としては候補鍵Cを除外することができる。
それぞれの許容可能または潜在的な候補鍵Cに対して、攻撃者は、変化関数Fを適用し、アリスとトレントの間で交換される2番目または次のメッセージのための候補鍵Ci+1を生成する。攻撃者は、その後、変化させた許容可能な候補鍵Ci+1を使用して、最初のメッセージについて上述のような暗号化およびテストのプロセスを実行する。
ランダムに生成された入力バッファの大きい組が与えられた場合、理想的なセキュア・ハッシュは、不偏かつ一様な分布を示す0から(2−1)の間に入る出力値の組を生成し、ここで、hは、ハッシュ関数により返されるビットの数である。セキュア・ハッシュ関数Hの周期性のため、アリスとトレントの間で交換される各メッセージは、潜在的な鍵空間(可能な鍵のリスト)を2分の1に縮小し、ここで、hは、セキュア・ハッシュ関数Hにより返されるビットの数である。秘密鍵の長さがmビットである場合、攻撃者は、(m/h)個のメッセージが交換された後に初期の秘密鍵(例えば、秘密鍵K)を決定することが可能となり得る。
力ずく攻撃の成功の可能性を低下させるため、大型秘密鍵Kは、(m/h)番目のメッセージが交換される前に、リセットされることができる。加えて、(m/h)番目のメッセージが交換されるよりjメッセージ前に、大型秘密鍵Kがリセットされた場合、力ずく攻撃は、2jh個の疑似的(spurious)な大型鍵値をまだ残しており、正しいまたは真の大型秘密鍵値は弁別不可能である。
本発明の1つの可能な実施形態は、160ビットのハッシュ値を返すセキュア・ハッシュ関数Hと、64キロバイトを含む大型秘密鍵Kとを含むことができる。これらのパラメータを使用する場合、上述のようなメッセージ・プロトコルは、力ずく攻撃が有効となるリスクを制限しながら、3000個を超えるメッセージを交換することを可能にする。加えて、抽出関数FEXおよび変化関数Fの選択は、大型秘密鍵Kの移動ウィンドウ部分がメッセージ・ハッシュで使用されるようにし、また、大型秘密鍵Kの変化が比較的狭いストリップ(strip)で生じるようにするが、大型秘密鍵Kの次の反復になおも影響を与えるような方法で、行うとができる。これは、プロトコルが、ほぼ同じレベルのセキュリティを維持しながらも、比較的低い計算オーバヘッドを有することを可能にする。
上記で述べ、また図8に示されるように、一実施形態では、抽出関数FEX(i,K)は、大型秘密鍵Kの全体を返し、変化関数F(i,M,K)は、「M XOR K」を返すものであり、ここで、MおよびKは、等しい長さである。これらの関数は、機能するシステムを生成するが、ハッシュを計算する前に大型秘密鍵Kの全体がメッセージの末尾に追加されるので、セキュア・ハッシュ関数について著しい計算オーバヘッドを導入し得る。これらの関数はかなりのプロトコル・オーバヘッドも導入し得る。なぜなら、それぞれの要求に応答して送信される変化値は、大型秘密鍵Kと同じほど長いからである。
図9に示されるように、上記のオーバヘッド問題に対処するため、抽出関数FEXは、大型秘密鍵Kの先頭からのオフセットが(i×h)ビットの所で、大型秘密鍵Kのpビットを選択するように変更することができ、ここで、hは、セキュア・ハッシュ関数Hにより返されるビットの数である。従って、大型秘密鍵の使用される部分は、((i×h)+p)ビットであり、疑似的な大型鍵の集まり(ocean)は、2個の値を含む。このバージョンの抽出関数FEXの使用は、セキュア・ハッシュ関数の計算において増大する計算オーバヘッドをもたらすことなく、大型秘密鍵値の使用を可能にする。
同様に、やはり図9に示されるように、変化関数Fは、pビットのランダムな変化値を受け取り、その変化値を、XORを介して、大型秘密鍵Kのオフセットが((i+1)×h)ビットの所で大型秘密鍵Kに適用することができる。このようにして、変化に関連するプロトコル・オーバヘッドは、pビットに縮小され、初期の大型秘密鍵Kのサイズとは無関係である。加えて、プロトコルの次の反復において使用されるビットのすべては変化させられ、それが、2つの鍵値の間の数学的相関を取り除く。
図10に示されるように、抽出関数FEXはまた、大型秘密鍵Kの先頭からのオフセットが(i×p)ビットの所で大型秘密鍵Kのpビットを選択するように変更することができる。従って、抽出関数FEXが使用されるたびに、大型秘密鍵Kのまったく新しい部分が選択される。
同様に、また、図10に示されるように、変化関数Fは、pビットのランダムな変化値を受け取り、その変化値を、XORを介して、大型秘密鍵Kのオフセットが((i+1)×p)ビットの所で大型秘密鍵Kに適用することができる。
この「ストリップ内変更(updating in stripes)」方法を使用することで、初期の大型秘密鍵Kは、かなり大きくすることができ、システムは、公開識別子および関連する鍵のリセットが必要とされるまでに、非常に多数のメッセージ交換をサポートすることができる。
ブラック・プロトコル要求および応答
図11は、エンティティ(例えば、第1のデバイス22および第2のデバイス24)と認証手段(デバイス28など)の間で要求および応答を交換するために、ブラック・プロトコルがどのように使用できるかを示している。プロトコルの実施は、変化IDの定期的変化を要求するため、暗号化鍵を要求するため、暗号解除鍵を要求するため、認証トークン(例えば、信用証明書)を取得するため、および認証トークンの認証を要求するために、エンティティにより使用することができる。同様に、認証デバイス28は、各タイプの要求に対してエンティティに応答を提供するために、ブラック・プロトコルを使用することができる。図8に示されるように、エンティティは、認証手段からの応答を使用して、他のエンティティと通信することができる。例えば、エンティティは、認証手段に暗号化鍵を要求し、認証手段から暗号化鍵を受け取り、その暗号化鍵を使用して別のエンティティ宛てのメッセージを暗号化し、暗号化メッセージをその別のエンティティへ送ることができる。また、図8に示されるように、暗号化メッセージを受け取ったエンティティは、認証手段に暗号解除鍵を要求し、認証手段から暗号解除鍵を受け取り、その暗号解除鍵を使用して暗号化メッセージを暗号解除することができる。
一実施形態では、トレント(認証デバイス28)が、初期の公開識別子N、初期の秘密鍵k、および初期の大型秘密鍵Kを、アリス(第1のデバイス22)に割り当てる。公開識別子N、秘密鍵k、および大型秘密鍵Kは、大型変化IDと呼ぶことができる。トレントおよびアリスはまた、しばしば値ゼロに初期設定される反復カウントiを独立して保持する。アリスおよびトレントは、それぞれの要求の後、それぞれの応答の後、または別の所定のスケジュールで、反復カウントiを独立に更新またはインクリメントすることができる。
アリスは、公開識別子Nを使用して、自らをメッセージの発信者として識別させる。アリスは、ホワイト・データを暗号化するために、秘密鍵k(これ以降、アリスのホワイト・データ鍵kと呼ばれる)を使用し、またアリスは、ブラック・データの暗号化を含む様々な目的で、大型秘密鍵Kを使用する。アリスはまた、ハッシュ関数H用の初期設定ベクトルを生成するために、初期設定関数IFXへの入力として、大型秘密鍵Kを使用することもできる。幾つかの実施形態では、トレントは、アリスにより要求されると、またはトレントにより施行されると、それぞれの使用の後にまたは定期的に、新しいまたは変化された公開識別子Nおよびホワイト・データ鍵kをアリスに割り当て、トレントおよびアリスは、アリスにより要求されると、またはトレントにより施行されると、それぞれのトランザクションの後にまたは定期的に、大型秘密鍵Kをそれぞれに変化させる。
大型変化IDを使用して、アリスは、要求パラメータTREQをアリスのホワイト・データ鍵kを用いて暗号化することにより、トレント宛ての要求を生成する。要求パラメータTREQは、特定の要求に応答するためにトレントにより必要とされる任意の情報、例えば、アリスが暗号化鍵を要求しているコンテンツのハッシュなど、を含む。要求パラメータTREQは、ホワイト・データと見なされる。アリスは、自らを要求の送信者として識別させるために、アリスの公開識別子Nを暗号化の結果としてできたものに追加する。
E(k,TREQ
要求に対するメッセージ認証を提供するため、アリスは、セキュア・ハッシュ関数Hを使用して、アリスの公開識別子N、要求パラメータTREQおよび大型秘密鍵Kのハッシュを生成する。上述のように、幾つかの変形では、アリスは、ハッシュにおいて大型秘密鍵Kの一部のみを使用し、反復カウントiおよび/またはセキュア・ハッシュ関数Hにより返されるビットの数に基づいて、大型秘密鍵Kの特定の部分を抽出するために、抽出関数FEXを使用する。加えて、アリスは、反復カウントiおよび大型秘密鍵Kに基づいてハッシュ関数H用の初期設定ベクトルを生成するために初期設定関数IFXを使用することができる。
H(IFX(i,K),NREQEX(i,K))
アリスは、大型秘密鍵Kまたはその一部を用いてハッシュを暗号化する。例えば、上述のように、アリスは、反復カウントiに基づいて鍵関数KFXにより決定される大型秘密鍵Kの一部を用いて、ハッシュを暗号化することができる。
E(KFX(i,K),H(IFX(i,K),NREQEX(i,K)))
アリスは、公開識別子Nが追加された暗号化された要求パラメータに、暗号化ハッシュを追加し、その結果としてできたものをトレントへ送る。
T→A:NE(k,TREQ)E(KFX(i,K),H(IFX(i,K),NREQEX(i,K)))
アリスからの要求を受け取ると、トレントは、アリスがその要求を送ったことを識別子Nに基づいて判定し、ホワイト・データ鍵kおよび大型秘密鍵Kを使用して、要求の一部を暗号解除する。トレントは、要求から要求パラメータTREQおよびハッシュを取得した後、要求から取得した要求パラメータに基づいて、トレント自身のバージョンのハッシュを生成する。要求を認証するため、トレントは、自身のバージョンのハッシュを要求から取得されたハッシュと比較する。ハッシュが一致する場合、トレントは、アリスからトレントへの要求の送信中に、ホワイト・データが改ざんされなかったことを確認することができる。
アリス宛ての応答を生成するために、トレントは、アリス用の新しいまたは変化された公開識別子Ni+1および新しいホワイト・データ鍵ki+1を生成する。トレントは、新しいホワイト・データ鍵ki+1および応答パラメータTRSPを、アリスの現在のホワイト・データ鍵kを用いて暗号化する。トレントは、新しい公開識別子Ni+1を暗号化の結果としてできたものに追加する。
i+1E(k,ki+1RSP
応答に対するメッセージ認証を提供するために、トレントは、セキュア・ハッシュ関数Hを使用して、アリスの新しい公開識別子Ni+1、アリスの新しいホワイト・データ鍵ki+1、応答パラメータTRSP、トレントにより生成されたランダム変化値M、およびアリスの大型秘密鍵Kのハッシュを生成する。上述のように、幾つかの変形では、トレントは、ハッシュにおいて大型秘密鍵Kの一部のみを使用し、反復カウントiおよび/またはセキュア・ハッシュ関数Hにより返されるビットの数に基づいて、大型秘密鍵Kの特定の部分を抽出するために、抽出関数FEXを使用する。加えて、トレントは、反復カウントiおよび大型秘密鍵Kに基づいて、ハッシュ関数H用の初期設定ベクトルを生成するために、初期設定関数IFXを使用することができる。
H(IFX(i,K),Ni+1i+1RSPEX(i,K))
トレントは、アリスの大型秘密鍵Kまたはその一部を用いて、ハッシュおよびハッシュに含まれる変化値Mを暗号化する。例えば、上述のように、トレントは、反復カウントiに基づいた鍵関数KFXにより決定される大型秘密鍵Kの一部を用いて、ハッシュを暗号化することができる。
E(KFX(i,K),MH(IFX(i,K),Ni+1i+1RSPEX(i,K)))
トレントは、新しい公開識別子Ni+1が追加された暗号化された応答パラメータに、暗号化ハッシュを追加し、その結果としてできたものをアリスへ送る。
A→T:Ni+1E(k,ki+1RSP)E(KFX(i,K),MH(IFX(i,K),Ni+1i+1RSPEX(i,K)))
トレントからの要求を受け取ると、アリスは、新しい公開識別子Ni+1を取得し、新しいホワイト・データ鍵ki+1、応答パラメータTRSP、変化値M、およびハッシュを取得するために、応答の残りの部分を暗号解除する。アリスは、アリス自身のバージョンのハッシュを生成し、自身のバージョンのハッシュをトレントからの応答に含まれるハッシュと比較することにより、新しい公開識別子Ni+1、新しいホワイト・データ鍵ki+1、応答パラメータTRSP、および変化値Mを検証することができる。
アリスおよびトレントは、それぞれに、新しいまたは変化された大型秘密鍵Ki+1を生成するために変化値Mを使用する。上述のように、アリスおよびトレントは、反復カウントi、トレントによりランダムに生成された変化値M、現在の大型秘密鍵K、および/またはハッシュ関数Hにより返されるビットの数に基づいて、新しい大型秘密鍵Ki+1を生成するために、変化関数Fを使用することができる。
上記のメッセージにおいて示されるように、要求および応答は、同様のレイアウトを含み、各々は、識別子(例えば、NまたはNi+1)、暗号化されたホワイト・データ(例えば、E(k,TREQ)またはE(k,ki+1RSP))、およびメッセージ認証コードまたはハッシュを含む暗号化されたブラック・データ(例えば、E(KFX(i,K),H(...))またはE(KFX(i,K),MH(...)))を含む。ホワイト・データ(例えば、TREQ、TRSP、およびki+1)は、ホワイト・データ鍵kを用いて暗号化せずに平文として送信することもできることを理解されたい。
要求および応答のフォーマットの上記の順序およびグループ化は、専ら例示のためであり、変更することができることを理解されたい。
上記の要求および応答のフォーマットを使用して、アリスおよびボブは様々なタイプの要求および応答を交換することができ、要求および応答のパラメータだけが変更される。従って、メッセージ・プロトコルの更なる具体例は、以下の省略型の表現を使用して表される。
A→T:BCPREQ(TREQ
T→A:BCPRSP(TRSP
幾つかの実施形態では、要求および応答パラメータは、メッセージを特定のタイプの要求または応答として識別するコマンド要求コードを含む。例えば、トレントが、以下のランダム生成される初期コマンド・コードをアリスに割り当てるものとする。
μ=「変化IDを変化させる」コマンド・コード
α=「暗号化鍵を取得する」コマンド・コード
δ=「暗号解除鍵を取得する」コマンド・コード
各コマンド・コードは、トレントにより提供される暗号化鍵と同じ長さとすることができる。各コマンド・コードは、それぞれの使用の後、変化するか又は変更される。
要求および応答パラメータは、異なる長さを有する異なるタイプのデータを含むことができるので、上記のメッセージ・プロトコルは、すべての要求が同じサイズとなり、またすべての応答が同じサイズとなることを保証するために、ランダム生成されるパディング値(「PAD」)を使用することができる。それぞれの要求または応答が同じサイズであることを確実にすることにより、盗聴者は、要求または応答のタイプを、それが含むビットの数に厳格に基づいて決定することができない。
上記のコマンド・コードおよびパディング値を使用して、「変化IDを変化させる」要求を生成するために、アリスは、以下の例示的な形式を用いてトレント宛ての要求を生成する。
A→T:BCPREQ(μPAD[X])
上記式において、PAD[X]は、ランダムなパディングのXビットである。
それに応答して、トレントは、以下の例示的な形式を用いてアリス宛ての応答を生成する。
A→T:BCPRSP(XOR(μ,μi+1)PAD[X])
トレントからの上記の応答の結果として、アリスの公開識別子N、秘密ホワイト・データ鍵k、および大型秘密鍵Kが、変化させられる。加えて、「変化IDを変化させる」コマンド・コードμも、変化させられている。
上記のコマンド・コードおよびパディング値を使用して、アリスは、以下の例示的な形式を用いてトレント宛ての「暗号化鍵を取得する」要求を生成することができる。
A→T:BCPREQ(αPAD[X])
それに応答して、トレントは、以下の例示的な形式を用いてアリス宛ての応答を生成する。
A→T:BCPRSP(XOR(α,αi+1)NRSPE(KFX2(i,K),KRSP)PAD[X])
ここで、KRSPは、ランダム生成された暗号化鍵であり、NRSPは、暗号化鍵KRSPに関連するランダム生成された識別子である。暗号化鍵KRSPは、アリスの大型秘密鍵Kまたはその一部を用いて暗号化される。例えば、幾つかの変形では、暗号化鍵KRSPは、鍵関数KFX2の結果を用いて暗号化される。鍵関数KFX2は、トレントからの応答の他の部分で使用される鍵関数KFXとは異なることができ、また、反復カウントiおよび大型秘密鍵Kに基づいて鍵を生成する非可逆関数を含むことができる。鍵関数KFXは、非可逆である。なぜなら、以下で説明するように、アリスがホワイト、即ち、発見可能データを暗号化するために暗号化鍵KRSPを使用した場合、盗聴者はその暗号化鍵Kを発見できるからである。非可逆関数の使用は、盗聴者が、暗号化鍵KRSPについての知識を取得したときに、アリスの大型秘密鍵Kを決定することを制限または防止する。例えば、鍵関数KFX2は、アリスの大型秘密鍵Kの一部のハッシュを生成するセキュア・ハッシュ関数を含むことができ、この大型秘密鍵Kの一部は、抽出関数FEX2により生成されたものであり、この抽出関数FEX2は、上述の抽出関数FEXとは異なるものであり、反復カウントiに基づいてアリスの大型秘密鍵Kの一部を抽出する。鍵関数KFX2に含まれるセキュア・ハッシュ関数はまた、上述の初期設定関数とは異なる初期設定関数IFX2により生成された初期設定ベクトルに基づいて、ハッシュを生成することができる。初期設定関数IFX2は、反復カウントiおよびアリスの大型秘密鍵Kに基づいて初期設定ベクトルを生成することができる。
要求された暗号化鍵KRSPは、アリスの大型秘密鍵Kまたはその一つのバージョンを用いて暗号化されるので、暗号化された暗号化鍵KRSPは、アリスの大型秘密鍵Kについての何らかの情報を漏らす。上述のメッセージ認証コードまたはハッシュにより漏らされる情報と同様に、攻撃者は、力ずく攻撃を実行するときに候補鍵を除外するために、暗号化された暗号化鍵KRSPに含まれる情報を使用することができる。しかし、暗号化された暗号化鍵KRSPにおいて漏らされる情報の量は、力ずく攻撃が成功する可能性を実質的に低減または排除するために、秘密鍵をいつリセットすべきかの計算において考慮することができる。幾つかの実施形態では、応答において漏らされる情報を更に制限するために、反復カウントiは、鍵関数KFX2において使用される前に、追加のカウントをインクリメントされる。
上記で示されたように、「暗号化鍵を取得する」要求に応答して、暗号化鍵KRSPは、応答パラメータTRSPの一部として含まれ、その応答パラメータTRSPは、ホワイト・データと見なされ、アリスのホワイト・データ鍵kを用いて暗号化される。暗号化鍵KRSPは、アリスが暗号化鍵KRSPを使用してホワイト・データを暗号化する可能性が高いので、ホワイト・データと見なされる。暗号化鍵KRSPがホワイト・データを暗号化するために使用される場合、暗号化鍵KRSPは、力ずく攻撃を使用して盗聴者により発見される可能性がある。暗号化鍵KRSPがアリスの大型秘密鍵Kを用いてブラック・データとして暗号化される場合、盗聴者は、暗号化鍵の発見された値を使用して、力ずく攻撃を実行し、アリスの大型秘密鍵Kおよびアリスとトレントとの間で交換される他のブラック・データについての情報を決定することができる。上述のように、非可逆関数により生成された鍵を用いる暗号化鍵KRSPの暗号化は、盗聴者の、暗号化鍵KRSPについての取得された知識からアリスの大型秘密鍵Kについての情報を発見する能力を、制限する。従って、アリスのホワイト・データ鍵kを用いて暗号化鍵KRSPを暗号化することにより、アリスの大型秘密鍵Kおよびアリスとトレントとの間で交換される他のブラック・データは、盗聴者が暗号化鍵KRSPを取得できたとしても、セキュアに保持される。
アリスは、以下の例示的な形式を用いてトレント宛ての「暗号解除鍵を取得する」要求を生成するために、上記のコマンド・コードおよびパディング値を使用することができる。
A→T:BCPREQ(NREQδPAD[X])
上記において、NREQは、要求された暗号解除鍵に関連する識別子である。
それに応答して、トレントは、以下の例示的な形式を用いてアリス宛ての応答を生成する。
A→T:BCPRSP(XOR(δ,δ’)E(KFX2(i,K),KRSP)PAD[X])
上記において、KRSPは、要求において提供された識別子NREQに関連する要求された暗号解除鍵である。「暗号化鍵を取得する」要求に関して上述されたように、暗号化鍵KRSPは、鍵関数KFX2の結果を用いて暗号化され得るものであり、鍵関数KFX2は、反復カウントiおよび大型秘密鍵Kに基づいて鍵を生成する非可逆関数を含み、トレントからの応答の他の部分で使用される鍵関数KFXとは異なるものである。上記で述べたように、トレントは、反復カウントiを、鍵関数KFX2において使用する前に、カウントを追加してインクリメントすることができる。
先に述べたように、エンティティは、認証手段に暗号化鍵および暗号解除鍵を要求するために、上記の要求フォーマットを使用することができる。エンティティは、データを他のエンティティへ送信する前に、暗号化鍵を使用して、データ(例えば、デジタル・コンテンツ)を暗号化し、暗号化データを受け取ったエンティティは、必要な暗号解除鍵を認証手段に要求する。認証手段を鍵配布者として使用することは、エンティティが、エンティティ間で個別の暗号化またはセッション鍵を確立する必要なしに、互いに通信することを可能にする。何れのエンティティも、平文または無暗号化データを他のデータに送ることにより、他のエンティティとセキュア・セッションを開始することを要求されない(即ち、ハンドシェークは必要とされない)ので、エンティティ間で送信されるデータは、常に暗号化されることができる。この暗号化戦略を使用することで、上記の要求および応答フォーマットを、電子メール交換、デジタル・コンテンツ管理、セキュア・ファイル転送、クライアント−サーバ・セッションなどのような様々なアプリケーションに適用され得るミューテーティング(変化)・トランスポート層セキュリティを確立するために、使用できる。
ミューテーティング(変化)・ロック・ボックス
幾つかの実施形態では、識別変化ID、デジタル署名変化ID、鍵ペア変化ID、フィンガプリント変化ID、および/または大型変化IDなどのような、エンティティにより保持される変化IDは、ミューテーティング・ロック・ボックス(mutating lock box)と呼ばれるセキュアなメモリ・デバイスに保存される。ミューテーティング・ロック・ボックスに保存されたデータは、オフラインの力ずく攻撃の有効性を低下させるために、暗号化することができる。幾つかの実施形態では、ミューテーティング・ロック・ボックスに保存されたデータは、ブラック・データとホワイト・データとが同じ鍵を用いて暗号化されないように、上述のように個別に暗号化される。ミューテーティング・ロック・ボックスの活動化またはオープンには、複数のステップまたはファクタを必要とすることができる。例えば、ミューテーティング・ロック・ボックスを活動化しようと試みるエンティティは、ユーザ・パスワードおよび/またはPINを提供するように要求され得る。認証デバイス28はまた、ボックス識別子カレンシ・チェック(box identifier currency check)の実行および使用可能システム・データの分析などのような複数のチェックおよび分析を実行することができる。幾つかの実施形態では、ミューテーティング・ロック・ボックスは、エンティティのハード・ドライブまたは永久メモリ・デバイスに保存される。他の実施形態では、ミューテーティング・ロック・ボックスは、ユニバーサル・シリアル・バス(「USB」)フラッシュ・ドライブなどのようなポータブル・メモリ・デバイスに保存される。
本発明の様々な特徴が特許請求の範囲において説明される。
図1は、本発明の一実施形態による、データを送信するためのシステムを概略的に示す。 図2は、本発明の一実施形態による、ビット・ストリーム(「変化ID」と呼ばれる)を示す。 図3Aおよび図3Bは、変化IDを配布する方法を示す。 図4は、例示的な力ずく攻撃を示す。 図5は、暗号化されるデータに含まれるデータのタイプを示す。 図6および図7は、本発明の一実施形態による、発見不可能、即ち、「ブラック」データのセキュリティを保護するための暗号化戦略を示す。 図6および図7は、本発明の一実施形態による、発見不可能、即ち、「ブラック」データのセキュリティを保護するための暗号化戦略を示す。 図8、図9および図10は、本発明の種々の実施形態による、鍵抽出および変化プロトコルを示す。 図8、図9および図10は、本発明の種々の実施形態による、鍵抽出および変化プロトコルを示す。 図8、図9および図10は、本発明の種々の実施形態による、鍵抽出および変化プロトコルを示す。 図11は、本発明の一実施形態による、認証デバイスと通信するための個別の暗号化プロトコルを示す。

Claims (53)

  1. データを暗号化する方法であって、
    第1の発見可能データおよび第1の発見不可能データを含む第1のデータを確立するステップと、
    第1の鍵と、前記第1の鍵から実質的に導出不能な第2の鍵とを確立するステップと、
    前記第1の鍵を用いて前記第1の発見可能データを暗号化するステップと、
    前記第2の鍵を用いて前記第1の発見不可能データを暗号化するステップと、
    を備える方法。
  2. 請求項1に記載の方法であって、
    前記第1の鍵および前記第2の鍵の少なくとも一つを変化させるステップと、
    第2の発見可能データおよび第2の発見不可能データを含む第2のデータを確立するステップと、
    前記第1の鍵を用いて前記第2の発見可能データを暗号化するステップと、
    前記第2の鍵を用いて前記第2の発見不可能データを暗号化するステップと、
    を更に備える方法。
  3. 請求項1に記載の方法であって、第3の鍵を確立するステップを更に備える方法。
  4. 請求項3に記載の方法であって、第3の鍵を確立する前記ステップが、前記第1の鍵および前記第2の鍵の少なくとも一つに基づいて第3の鍵を確立するステップを含む、方法。
  5. 請求項3に記載の方法であって、第3の鍵を確立する前記ステップが、第4の鍵と、前記第1の鍵および前記第2の鍵の少なくとも一つとの排他的ORを実行することにより、第3の鍵を確立するステップを含む、方法。
  6. 請求項3に記載の方法であって、前記第3の鍵を用いて前記発見可能データの少なくとも一部を暗号化するステップを更に備える方法。
  7. 請求項6に記載の方法であって、前記第3の鍵を変化させるステップを更に備える方法。
  8. 請求項1に記載の方法であって、第1の鍵を用いて前記発見可能データを暗号化する前記ステップが、前記第1の鍵を用いて、前記発見可能データと、前記第2の鍵を用いて前記発見不可能データを暗号化した結果としてできたものとを暗号化するステップを含む、方法。
  9. 請求項1に記載の方法であって、第2の鍵を用いて前記発見不可能データを暗号化する前記ステップが、前記第2の鍵を用いて、前記発見不可能データと、前記第1の鍵を用いて前記発見可能データを暗号化した結果としてできたものとを暗号化するステップを含む、方法。
  10. 請求項1に記載の方法であって、識別子を確立するステップを更に備える方法。
  11. 請求項10に記載の方法であって、前記第1の鍵を用いて前記発見可能データを暗号化した結果としてできたものと、前記第2の鍵を用いて前記発見不可能データを暗号化した結果としてできたものとの少なくとも一つに、前記識別子を付加するステップを更に備える方法。
  12. 請求項11に記載の方法であって、前記識別子を変化させるステップを更に備える方法。
  13. 請求項1に記載の方法であって、前記データの少なくとも一部のハッシュを生成するステップを更に備える方法。
  14. 請求項13に記載の方法であって、前記第2の鍵を用いて前記ハッシュを暗号化するステップを更に備える方法。
  15. 発見可能データおよび発見不可能データを含むデータを暗号化するためのシステムであって、
    第1の鍵と、前記第1の鍵から実質的に導出不能な第2の鍵とを有し、前記第1の鍵を用いて前記発見可能データを暗号化し、前記第2の鍵を用いて前記発見不可能データを暗号化し、かつ、変化した第1の鍵および変化した第2の鍵の少なくとも一つを受け取るように構成される送信側
    を備えるシステム。
  16. 請求項15に記載のシステムであって、前記第1の鍵および前記第2の鍵を確立するように構成される認証手段を更に備えるシステム。
  17. 請求項16に記載のシステムであって、前記認証手段が、前記変化した第1の鍵および前記変化した第2の鍵を確立するように更に構成される、システム。
  18. 請求項15に記載のシステムであって、前記送信側が第3の鍵を更に有する、システム。
  19. 請求項18に記載のシステムであって、前記第3の鍵が、前記第1の鍵および前記第2の鍵の少なくとも一つに基づくものである、システム。
  20. 請求項18に記載のシステムであって、前記第3の鍵が、第4の鍵と、前記第1の鍵および前記第2の鍵の少なくとも一つとの排他的ORの結果に基づくものである、システム。
  21. 請求項18に記載のシステムであって、前記送信側が、前記第3の鍵を用いて前記発見可能データの少なくとも一部を暗号化するように更に構成される、システム。
  22. 請求項21に記載のシステムであって、前記送信側が、変化した第3の鍵を受け取るように更に構成される、システム。
  23. 請求項15に記載のシステムであって、前記送信側が、前記第1の鍵を用いて、前記発見可能データと、第2の鍵を用いて前記発見不可能データを暗号化した結果としてできたものとを暗号化するように更に構成される、システム。
  24. 請求項15に記載のシステムであって、前記送信側が、前記第2の鍵を用いて、前記発見不可能データと、前記第1の鍵を用いて前記発見可能データを暗号化した結果としてできたものとを暗号化するように更に構成される、システム。
  25. 請求項15に記載のシステムであって、前記送信側が識別子を更に有する、システム。
  26. 請求項25に記載のシステムであって、前記送信側が、前記第1の鍵を用いて前記発見可能データを暗号化した結果としてできたものと、前記第2の鍵を用いて前記発見不可能データを暗号化した結果としてできたものとの少なくとも一つに、前記識別子を付加するように更に構成される、システム。
  27. 請求項26に記載のシステムであって、前記送信側が、変化した識別子を受け取るように更に構成される、システム。
  28. 請求項15に記載のシステムであって、前記送信側が、前記発見可能データの少なくとも一部のハッシュを生成するように更に構成される、システム。
  29. 請求項28に記載のシステムであって、前記送信側が、前記第2の鍵を用いて前記ハッシュを暗号化するように更に構成される、システム。
  30. データを保存する記憶デバイスであって、第1の鍵の組を用いて発見可能データを暗号化し、前記第1の鍵の組から実質的に導出不能な第2の鍵の組を用いて発見不可能データを暗号化するように構成される記憶デバイス。
  31. 請求項30に記載の記憶デバイスであって、認証手段と通信して前記第1の鍵の組または前記第2の鍵の組の少なくとも一つの変化を受信するように更に構成される記憶デバイス。
  32. 請求項30に記載の記憶デバイスであって、活動化する前に許可を必要とするように更に構成される記憶デバイス。
  33. 請求項32に記載の記憶デバイスであって、前記許可には、パスワードおよび個人識別番号の少なくとも一つを含む、記憶デバイス。
  34. エンティティと認証手段との間でメッセージを送信する方法であって、
    前記エンティティに関連する識別子を確立するステップと、
    発見不可能データのみを暗号化するための第1の鍵であって、前記エンティティおよび前記認証手段のみに知られた第1の鍵を確立するステップと、
    発見可能データのみを暗号化するための第2の鍵であって、前記エンティティおよび前記認証手段のみに知られた第2の鍵を確立するステップと、
    前記第2の鍵を用いて要求パラメータを暗号化して、暗号化要求を生成するステップと、
    前記要求パラメータのハッシュを生成するステップと、
    前記第1の鍵を用いて前記要求パラメータの前記ハッシュを暗号化して、暗号化要求ハッシュを生成するステップと、
    前記エンティティが、前記暗号化要求および前記暗号化要求ハッシュを前記認証手段へ送るステップと、
    前記第1の鍵および前記第2の鍵の少なくとも一つを変化させるステップと、
    を備える方法。
  35. 請求項34に記載の方法であって、前記要求パラメータのハッシュを生成する前記ステップが、前記要求パラメータおよび前記識別子のハッシュを生成するステップを含む、方法。
  36. 請求項35に記載の方法であって、前記識別子を、前記暗号化メッセージと前記暗号化メッセージのハッシュとの少なくとも一つに付加するステップを更に備える方法。
  37. 請求項36に記載の方法であって、前記識別子に基づいて前記第1の鍵の一部を抽出する鍵関数を確立するステップを更に備える方法。
  38. 請求項37に記載の方法であって、前記第1の鍵を用いて前記要求パラメータの前記ハッシュを暗号化する前記ステップが、前記鍵関数の結果としてできたものを用いて前記要求パラメータの前記ハッシュを暗号化するステップを含む、方法。
  39. 請求項34に記載の方法であって、前記第1の鍵および前記識別子に基づいて初期設定ベクトルを確立するステップを更に備える方法。
  40. 請求項39に記載の方法であって、前記要求パラメータのハッシュを生成する前記ステップが、前記初期設定ベクトルに基づいて前記要求パラメータのハッシュを生成するステップを含む、方法。
  41. 請求項34に記載の方法であって、前記第1の鍵および前記識別子に基づいて抽出関数を確立するステップを更に備える方法。
  42. 請求項41に記載の方法であって、前記要求パラメータのハッシュを生成する前記ステップが、前記要求パラメータと前記抽出関数の結果としてできたものとのハッシュを生成するステップを含む、方法。
  43. 請求項34に記載の方法であって、前記識別子を変化させて、変化した識別子を生成するステップと、前記変化した識別子を前記エンティティへ送るステップとを更に備える方法。
  44. 請求項43に記載の方法であって、前記第2の鍵を変化させて、変化した第2の鍵を生成するステップと、前記第2の鍵を用いて前記変化した第2の鍵および応答パラメータを暗号化して、暗号化応答を生成するステップとを更に備える方法。
  45. 請求項44に記載の方法であって、ランダムな変化値を生成するステップを更に備える方法。
  46. 請求項45に記載の方法であって、前記第1の鍵および前記第2の鍵の少なくとも一つを変化させる前記ステップが、前記変化値を使用して前記第1の鍵および前記第2の鍵の少なくとも一つを変化させるステップを含む、方法。
  47. 請求項46に記載の方法であって、前記変化した識別子、前記変化した第2の鍵、前記変化値、および前記応答パラメータのハッシュを生成するステップを更に備える方法。
  48. 請求項47に記載の方法であって、前記変化した識別子、前記変化した第2の鍵、前記変化値、および前記応答パラメータのハッシュを生成する前記ステップが、初期設定ベクトルに基づいて、前記変化した識別子、前記変化した第2の鍵、前記変化値、および前記応答パラメータのハッシュを生成するステップを含む、方法。
  49. 請求項48に記載の方法であって、前記変化した識別子、前記変化した第2の鍵、前記変化値、および前記応答パラメータのハッシュを生成する前記ステップが、前記変化した識別子、前記変化した第2の鍵、前記変化値、前記応答パラメータ、および前記抽出関数の結果としてできたもののハッシュを生成するステップを含む、方法。
  50. 請求項49に記載の方法であって、前記第1の鍵を用いて、前記変化値と、前記変化した識別子、前記変化した第2の鍵、前記変化値、および前記応答パラメータの前記ハッシュとを暗号化して、暗号化応答ハッシュを生成するステップを更に備える方法。
  51. 請求項50に記載の方法であって、前記第1の鍵を用いて、前記変化値と、前記変化した識別子、前記変化した第2の鍵、前記変化値、および前記応答パラメータの前記ハッシュとを暗号化する前記ステップが、鍵関数の結果を用いて、前記変化値と、前記変化した識別子、前記変化した第2の鍵、前記変化値、および前記応答パラメータの前記ハッシュとを暗号化するステップを含む、方法。
  52. 請求項51に記載の方法であって、前記変化した識別子を、前記暗号化応答および前記暗号化応答ハッシュの少なくとも一つに付加するステップを更に備える方法。
  53. 請求項52に記載の方法であって、前記暗号化応答と前記暗号化応答のハッシュとを前記エンティティに送るステップを更に備える方法。
JP2008558500A 2006-03-06 2007-03-06 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信 Pending JP2009529832A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/368,959 US20060195402A1 (en) 2002-02-27 2006-03-06 Secure data transmission using undiscoverable or black data
PCT/US2007/063361 WO2007103906A2 (en) 2006-03-06 2007-03-06 Secure data transmission using undiscoverable or black data

Publications (1)

Publication Number Publication Date
JP2009529832A true JP2009529832A (ja) 2009-08-20

Family

ID=38475788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008558500A Pending JP2009529832A (ja) 2006-03-06 2007-03-06 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信

Country Status (4)

Country Link
US (1) US20060195402A1 (ja)
EP (1) EP1992101A2 (ja)
JP (1) JP2009529832A (ja)
WO (1) WO2007103906A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528517A (ja) * 2007-05-22 2010-08-19 イルデト・ビー・ヴイ 暗号用鍵データの更新

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050272B2 (en) 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US8437307B2 (en) 2007-09-03 2013-05-07 Damaka, Inc. Device and method for maintaining a communication session during a network transition
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US7570636B2 (en) 2004-06-29 2009-08-04 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US8468359B2 (en) * 2006-06-30 2013-06-18 Novell, Inc. Credentials for blinded intended audiences
US8522042B2 (en) * 2006-10-31 2013-08-27 Hewlett-Packard Development Company, L.P. Method and apparatus for enforcement of software licence protection
WO2009018513A1 (en) * 2007-08-02 2009-02-05 Imagineer Software, Inc. Systems and methods for implementing a mutating lock box
WO2009018510A1 (en) * 2007-08-02 2009-02-05 Imagineer Software, Inc. Systems and methods for implementing a mutating internet protocol security
US8862164B2 (en) 2007-09-28 2014-10-14 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
WO2009070718A1 (en) 2007-11-28 2009-06-04 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US7987363B2 (en) * 2007-12-21 2011-07-26 Harris Corporation Secure wireless communications system and related method
US8358783B2 (en) 2008-08-11 2013-01-22 Assa Abloy Ab Secure wiegand communications
US8848904B2 (en) * 2008-10-24 2014-09-30 University Of Maryland, College Park Method and implementation for information exchange using Markov models
EP2284491B1 (en) * 2009-08-14 2013-04-03 Harman Becker Automotive Systems GmbH Key of a vehicle and a navigation device
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8874785B2 (en) 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8725895B2 (en) 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US8689307B2 (en) 2010-03-19 2014-04-01 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8446900B2 (en) 2010-06-18 2013-05-21 Damaka, Inc. System and method for transferring a call between endpoints in a hybrid peer-to-peer network
US8611540B2 (en) * 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US8478890B2 (en) 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
US8792637B2 (en) * 2011-11-22 2014-07-29 Combined Conditional Access Development & Support, LLC Downloading of data to secure devices
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
US9405919B2 (en) * 2014-03-11 2016-08-02 Qualcomm Incorporated Dynamic encryption keys for use with XTS encryption systems employing reduced-round ciphers
US9407437B1 (en) 2014-03-25 2016-08-02 Amazon Technologies, Inc. Secure initialization vector generation
CA2956617A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
WO2017091959A1 (zh) * 2015-11-30 2017-06-08 华为技术有限公司 一种数据传输方法、用户设备和网络侧设备
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
US10797722B2 (en) * 2016-06-10 2020-10-06 The Boeing Company System and method for providing hardware based fast and secure expansion and compression functions
US10452877B2 (en) 2016-12-16 2019-10-22 Assa Abloy Ab Methods to combine and auto-configure wiegand and RS485
CN111052670B (zh) * 2017-09-01 2024-02-09 三菱电机株式会社 加密装置、解密装置、加密方法、解密方法和计算机能读取的存储介质
US11157645B2 (en) * 2018-11-01 2021-10-26 International Business Machines Corporation Data masking with isomorphic functions
US11290472B2 (en) * 2019-09-25 2022-03-29 International Business Machines Corporation Threat intelligence information access via a DNS protocol

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4182933A (en) * 1969-02-14 1980-01-08 The United States Of America As Represented By The Secretary Of The Army Secure communication system with remote key setting
US4661980A (en) * 1982-06-25 1987-04-28 The United States Of America As Represented By The Secretary Of The Navy Intercept resistant data transmission system
US4568914A (en) * 1983-09-26 1986-02-04 The United States Of America As Represented By The Secretary Of The Army Expanded multilevel noise code generator employing butting
US4731840A (en) * 1985-05-06 1988-03-15 The United States Of America As Represented By The United States Department Of Energy Method for encryption and transmission of digital keying data
USH1586H (en) * 1990-01-30 1996-09-03 The United States Of America As Represented By The Secretary Of The Army Methods of and systems for encoding and decoding a beam of light utilizing nonlinear organic signal processors
US5351293A (en) * 1993-02-01 1994-09-27 Wave Systems Corp. System method and apparatus for authenticating an encrypted signal
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US6611607B1 (en) * 1993-11-18 2003-08-26 Digimarc Corporation Integrating digital watermarks in multimedia content
JPH07295800A (ja) * 1994-04-22 1995-11-10 Advance Co Ltd ソフトウエアプロテクト方式
US7904722B2 (en) * 1994-07-19 2011-03-08 Certco, Llc Method for securely using digital signatures in a commercial cryptographic system
US6002772A (en) * 1995-09-29 1999-12-14 Mitsubishi Corporation Data management system
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
EP1555591B1 (en) * 1995-02-13 2013-08-14 Intertrust Technologies Corp. Secure transaction management
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5943422A (en) * 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6252964B1 (en) * 1995-04-03 2001-06-26 Scientific-Atlanta, Inc. Authorization of services in a conditional access system
US5717756A (en) * 1995-10-12 1998-02-10 International Business Machines Corporation System and method for providing masquerade protection in a computer network using hardware and timestamp-specific single use keys
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US6085320A (en) * 1996-05-15 2000-07-04 Rsa Security Inc. Client/server protocol for proving authenticity
US5745575A (en) * 1996-05-20 1998-04-28 The United States Of America As Represented By The Secretary Of The Army Identification-friend-or-foe (IFF) system using variable codes
US5889860A (en) * 1996-11-08 1999-03-30 Sunhawk Corporation, Inc. Encryption system with transaction coded decryption key
US6192131B1 (en) * 1996-11-15 2001-02-20 Securities Industry Automation Corporation Enabling business transactions in computer networks
US5915021A (en) * 1997-02-07 1999-06-22 Nokia Mobile Phones Limited Method for secure communications in a telecommunications system
US5872848A (en) * 1997-02-18 1999-02-16 Arcanvs Method and apparatus for witnessed authentication of electronic documents
US5920630A (en) * 1997-02-25 1999-07-06 United States Of America Method of public key cryptography that includes key escrow
US7272625B1 (en) * 1997-03-10 2007-09-18 Sonicwall, Inc. Generalized policy server
US6178505B1 (en) * 1997-03-10 2001-01-23 Internet Dynamics, Inc. Secure delivery of information in a network
US6014688A (en) * 1997-04-25 2000-01-11 Postx Corporation E-mail program capable of transmitting, opening and presenting a container having digital content using embedded executable software
US5999285A (en) * 1997-05-23 1999-12-07 The United States Of America As Represented By The Secretary Of The Army Positive-operator-valued-measure receiver for quantum cryptography
US6125185A (en) * 1997-05-27 2000-09-26 Cybercash, Inc. System and method for encryption key generation
JP3595109B2 (ja) * 1997-05-28 2004-12-02 日本ユニシス株式会社 認証装置、端末装置、および、それら装置における認証方法、並びに、記憶媒体
US5847677A (en) * 1997-07-07 1998-12-08 The United States Of America As Represented By The Secretary Of The Army Random number generator for jittered pulse repetition interval radar systems
US6233685B1 (en) * 1997-08-29 2001-05-15 Sean William Smith Establishing and employing the provable untampered state of a device
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
US6226750B1 (en) * 1998-01-20 2001-05-01 Proact Technologies Corp. Secure session tracking method and system for client-server environment
US6230269B1 (en) * 1998-03-04 2001-05-08 Microsoft Corporation Distributed authentication system and method
US6315195B1 (en) * 1998-04-17 2001-11-13 Diebold, Incorporated Transaction apparatus and method
US6938821B2 (en) * 2000-09-18 2005-09-06 E-Micro Corporation Method and apparatus for associating identification and personal data for multiple magnetic stripe cards or other sources
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6382357B1 (en) * 1998-12-14 2002-05-07 Ncr Corporation Retail system for allowing a customer to perform a retail transaction and associated method
US6477647B1 (en) * 1999-02-08 2002-11-05 Postx Corporation System and method for providing trade confirmations
US6801999B1 (en) * 1999-05-20 2004-10-05 Microsoft Corporation Passive and active software objects containing bore resistant watermarking
US6367010B1 (en) * 1999-07-02 2002-04-02 Postx Corporation Method for generating secure symmetric encryption and decryption
KR100735503B1 (ko) * 1999-08-27 2007-07-06 소니 가부시끼 가이샤 정보 송신 시스템, 장치 및 방법 및 정보 수신 시스템,장치 및 방법
US6647417B1 (en) * 2000-02-10 2003-11-11 World Theatre, Inc. Music distribution systems
US7080037B2 (en) * 1999-09-28 2006-07-18 Chameleon Network Inc. Portable electronic authorization system and method
CA2287871C (en) * 1999-11-01 2007-07-31 Ibm Canada Limited-Ibm Canada Limitee Secure document management system
US6996720B1 (en) * 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
US7152047B1 (en) * 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
US7171558B1 (en) * 2000-09-22 2007-01-30 International Business Machines Corporation Transparent digital rights management for extendible content viewers
JP2002183125A (ja) * 2000-12-14 2002-06-28 Hitachi Ltd 文書情報管理方法および装置
US6957384B2 (en) * 2000-12-27 2005-10-18 Tractmanager, Llc Document management system
US7246240B2 (en) * 2001-04-26 2007-07-17 Massachusetts Institute Of Technology Quantum digital signatures
US7113967B2 (en) * 2001-05-29 2006-09-26 Magiq Technologies, Inc Efficient quantum computing operations
US7581103B2 (en) * 2001-06-13 2009-08-25 Intertrust Technologies Corporation Software self-checking systems and methods
US7243366B2 (en) * 2001-11-15 2007-07-10 General Instrument Corporation Key management protocol and authentication system for secure internet protocol rights management architecture
JP2003195759A (ja) * 2001-12-25 2003-07-09 Hitachi Ltd 暗号化データの生成方法、記録装置、記録媒体、復号方法、記録媒体再生装置、伝送装置、および、受信装置
US7020304B2 (en) * 2002-01-22 2006-03-28 Digimarc Corporation Digital watermarking and fingerprinting including synchronization, layering, version control, and compressed embedding
US7567721B2 (en) * 2002-01-22 2009-07-28 Digimarc Corporation Digital watermarking of low bit rate video
US7210617B2 (en) * 2002-02-20 2007-05-01 David Chaum Secret-ballot systems with voter-verifiable integrity
US6996544B2 (en) * 2002-02-27 2006-02-07 Imagineer Software, Inc. Multiple party content distribution system and method with rights management features
US8543511B2 (en) * 2002-04-29 2013-09-24 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
US20050065876A1 (en) * 2003-05-12 2005-03-24 Pulkit Kumar Airbank, pay to anyone from the mobile phone
US7273168B2 (en) * 2003-10-10 2007-09-25 Xilidev, Inc. Point-of-sale billing via hand-held devices
US7255264B2 (en) * 2004-04-24 2007-08-14 De Leon Hilary Laing Cellular phone-based automatic payment system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528517A (ja) * 2007-05-22 2010-08-19 イルデト・ビー・ヴイ 暗号用鍵データの更新

Also Published As

Publication number Publication date
WO2007103906A3 (en) 2008-02-21
EP1992101A2 (en) 2008-11-19
US20060195402A1 (en) 2006-08-31
WO2007103906A2 (en) 2007-09-13

Similar Documents

Publication Publication Date Title
US11677729B2 (en) Secure multi-party protocol
JP2009529832A (ja) 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信
US5418854A (en) Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
CN110932870B (zh) 一种量子通信服务站密钥协商系统和方法
US20070255960A1 (en) System and method for validating a network session
US20030081774A1 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
CN109728909A (zh) 基于USBKey的身份认证方法和系统
JP2016036166A (ja) 証明書不要公開鍵基盤に基づく安全なクライアント・サーバ通信プロトコルを設計するシステムと方法
CN112351037B (zh) 用于安全通信的信息处理方法及装置
KR101531662B1 (ko) 사용자 단말과 서버간 상호 인증 방법 및 시스템
US11438316B2 (en) Sharing encrypted items with participants verification
KR20080050040A (ko) 사용자 인증 방법
CN114513345A (zh) 信息传输系统以及使用者装置与信息安全硬件模块
CN111740995B (zh) 一种授权认证方法及相关装置
JP6533542B2 (ja) 秘密鍵複製システム、端末および秘密鍵複製方法
JP4840575B2 (ja) 端末装置、証明書発行装置、証明書発行システム、証明書取得方法および証明書発行方法
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
JPH08335208A (ja) 代理認証方法及びシステム
JP2008234143A (ja) バイオメトリクスを使用した本人限定メール開封システムおよびその方法ならびにそのためのプログラム
KR20070035342A (ko) 패스워드 기반의 경량화된 상호 인증 방법
US20020184501A1 (en) Method and system for establishing secure data transmission in a data communications network notably using an optical media key encrypted environment (omkee)
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
JP2005176231A (ja) 認証システムおよび方法、ならびに、証明装置および検証装置