JP5562687B2 - 第1のユーザによって第2のユーザに送信される通信の安全化 - Google Patents

第1のユーザによって第2のユーザに送信される通信の安全化 Download PDF

Info

Publication number
JP5562687B2
JP5562687B2 JP2010056110A JP2010056110A JP5562687B2 JP 5562687 B2 JP5562687 B2 JP 5562687B2 JP 2010056110 A JP2010056110 A JP 2010056110A JP 2010056110 A JP2010056110 A JP 2010056110A JP 5562687 B2 JP5562687 B2 JP 5562687B2
Authority
JP
Japan
Prior art keywords
value
user
computer
identification device
values
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.)
Active
Application number
JP2010056110A
Other languages
English (en)
Other versions
JP2010220212A (ja
Inventor
フロリアン・ケルシュバウム
アレッサンドロ・ソルニオッティ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of JP2010220212A publication Critical patent/JP2010220212A/ja
Application granted granted Critical
Publication of JP5562687B2 publication Critical patent/JP5562687B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

以下の説明は、第1のユーザから第2のユーザへの通信を安全化するための暗号の使用に関する。
アイテムのトラッキングおよびトレーシングをサポートする識別デバイスが役立つことがある。各アイテムは、シリアル番号とも呼ばれる識別子を保有する識別デバイスを備えることができる。識別デバイスは、無線周波識別(RFID: Radio Frequency Identification)タグとして実施することができ、無線周波通信を介して読み取ることができる。多数の識別デバイスを同時に読み取ることができる。
能動的RFIDタグと受動的RFIDタグが存在する。能動的RFIDタグは、独自の電源を有するが、受動的タグは、リーダによって放出される信号の電力でもっぱら動作する。リーダは、タグと相互動作を行ってタグのメモリに保存された識別子を読み取ることができる特別なデバイスである。より複雑で強力なタグは、メモリ内に情報を保存することができ、ハッシングなどの簡単な暗号操作を実行することさえできる。
D. Boneh、M.K. Franklin、「Identity-Based Encryption from the Well Pairing」、Journal of Cryptology、17(4)、2004年 B. Waters、「Efficient Identity-Based Encryption Without Random Oracles」、EUROCRYPT、114〜127頁、2005年
一態様によれば、第1のユーザによって第2のユーザに送信される通信を安全化するコンピュータ実施方法が提供される。この方法は、
第1のユーザによって、信用できる第三者から、第1のユーザに対応する少なくとも1つの公開暗号値と、第1のユーザに対応する少なくとも1つの私有暗号値を受信するステップと、
第1のユーザによって、第2のユーザに、識別子によって識別される識別デバイスに対応する複数の値を提供するステップと、
第1のユーザによって、第1のユーザの少なくとも1つの私有暗号値と、識別子によって識別される識別デバイスに保存された複数の値のうちの少なくとも1つを使用して、共用鍵を導出するステップと、
第1のユーザによって第2のユーザに送信される通信を、共用鍵を用いて保護するステップと
を含むことができる。
第1のユーザによって導出される共用鍵は、第2のユーザの共用鍵に等しい。
したがって、両方のユーザは、識別子によって識別される識別デバイスにアクセスすることができ、識別デバイスは、無線周波識別タグとすることができる。
第2のユーザは、信用できる第三者から、少なくとも1つの公開暗号値と、少なくとも1つの私有暗号値を受信することができる。さらに、第2のユーザは、第2のユーザの少なくとも1つの私有暗号値と、識別子によって識別される識別デバイスに保存された複数の値のうちの少なくとも1つから、共用鍵を導出することができる。
複数の値を提供するステップは、第2のユーザの少なくとも1つの私有暗号値の関数である第2の値を提供するステップを含むことができる。さらに、保存された第2の値は、生成元の冪とすることができる。
複数の値を提供するステップは、識別デバイスの暗号識別子の関数である第1の値を提供するステップを含むことができる。加えて、暗号識別子は、生成元の冪とすることができる。
複数の値を提供するステップは、第1のユーザによって、識別子によって識別される識別デバイスに複数の値を保存するステップを含むことができる。
複数の値を提供するステップは、第1のユーザによって、第2のユーザに、識別子によって識別される識別デバイスに対応する複数の値を送信するステップを含むことができる。複数の値を送信するステップは、識別子によって識別される識別デバイスに値を保存するステップの代替として理解することができる。さらに、多数の識別デバイスに対応する1組の値を送信することもできる。
保存された複数の値のうちの少なくとも1つの値を再暗号化された値で置き換えることによって、保存された複数の値が更新される場合もある。
さらに、この方法は、
第1のユーザ(110)によって、信用できる第三者(130)から、第2のユーザ(120)の秘密暗号値の関数である値を受信するステップと、
第2のユーザ(120)の秘密暗号値の関数である値を使用して、第2のユーザの私有暗号値の関数である値を計算するステップと、
保存された複数の値のうちの第2の値を計算された値で置き換えることによって、保存された複数の値を更新するステップ(UP10)と、
識別子によって識別される識別デバイスに更新された複数の値を保存するステップと
を含むことができる。
さらに、この方法は、
第1のユーザによって、信用できる第三者に、保存された複数の値のうちの第2の値を送信するステップと、
第1のユーザによって、信用できる第三者から、保存された複数の値のうちの第2の値から導出される再暗号化された値を受信するステップと
を含むことができる。
保存された複数の値のうちの第2の値に施される再暗号化操作は、信用できる第三者によって実行することができる。加えて、保存された複数の値のうちの第2の値および再暗号化された第2の値は各々、生成元の冪とすることができる。
複数の値を提供するステップは、第1のユーザによって受信される少なくとも1つの私有暗号値の関数である第1の値を提供するステップを含む場合もある。
加えて、複数の値を保存するステップは、第1のユーザの識別情報の関数である第3の値を保存するステップを含むことができる。この方法は、
第1のユーザによって、信用できる第三者から、第2のユーザの識別情報の関数である値を受信するステップと、
第3の値を第2のユーザの識別情報の関数である値で置き換えることによって、保存された複数の値を更新するステップと、
第2のユーザによって、識別子によって識別される識別デバイスを受け取るステップと、
第2のユーザによって、保存された複数の値のうちの第3の値を、第2のユーザの識別情報の関数と比較するステップと
をさらに含むことができる。
第1のユーザおよび第2のユーザが、識別子によって識別される識別デバイスにアクセスしたことがあることを検証するために、相互認証が実行される場合もある。
さらに、共用鍵を導出するステップは、相互認証を実行するステップを含むことができる。相互認証を実行するステップは、
第1のユーザによって、第2のユーザに、ランダムチャレンジ(random challenge)を送信するステップと、
第1のユーザによって、第2のユーザから、ランダムチャレンジと第2のユーザの少なくとも1つの私有暗号値との関数である値を受信するステップと
を含むことができる。受信する値は、生成元の冪である場合もある。
相互認証を実行するステップは、第2のユーザによって、ランダムチャレンジと第2のユーザの少なくとも1つの私有暗号値との関数である値を計算するステップも含むことができる。
相互認証を実行するステップは、
第1のユーザによって、保存された複数の値のうちの第2の値の関数を、第2のユーザの少なくとも1つの公開暗号値の関数と比較するステップ
も含むことができる。
相互認証を実行するステップは、第2のユーザによって、保存された複数の値のうちの第2の値の関数を、第1のユーザの少なくとも1つの公開暗号値の関数と比較するステップをさらに含むことができる。
加えて、相互認証を実行するステップは、
第1のユーザによって導出された共用鍵を、第2のユーザの共用鍵と比較するステップ
を含むことができる。
上記の比較演算は、計算ディフィ-ヘルマン問題(Computational Diffie-Hellman Problem)が効率的に計算できない、効率的計算が可能な非退化な双線形写像(bilinear map)に、入力として値を提供することによって実行することができる。
また別の態様によれば、コンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ可読命令を含むことができ、このコンピュータ可読命令は、コンピュータシステムにロードされて実行された場合に、前記の方法による動作をコンピュータシステムに実行させる。
さらに別の態様によれば、複数のユーザ間における安全な通信を提供するコンピュータシステムが提供される。このシステムは、
無線周波識別タグなどの識別デバイスであって、識別子によって識別され、メモリを含む識別デバイスと、
識別子によって識別される識別デバイスに複数の値を保存するための命令を処理する
ように動作可能な第1のコンピュータと、
第2のコンピュータと、
第1のコンピュータおよび第2のコンピュータに少なくとも1つの公開暗号値を提供し、
第1のコンピュータおよび第2のコンピュータに少なくとも1つの私有暗号値を提供する
ように動作可能な第3のコンピュータとを含むことができ、
第1のコンピュータは、第1のコンピュータに提供される少なくとも1つの公開暗号値と、第1のコンピュータに提供される少なくとも1つの私有暗号値と、識別子によって識別される識別デバイスに保存された複数の値のうちの少なくとも1つから、共用鍵を導出するように動作可能であり、
第2のコンピュータは、第2のコンピュータに提供される少なくとも1つの公開暗号値と、第2のコンピュータに提供される少なくとも1つの私有暗号値と、識別子によって識別される識別デバイスに保存された別の複数の値のうちの少なくとも1つから、共用鍵を導出するように動作可能である。
直前の態様において言及されたような、第1のコンピュータによって使用される複数の値(すなわち第1の複数の値)および第2のコンピュータによって使用される別の複数の値(すなわち第2の複数の値)は、共通の値によって結び付けることができる。共通の値は、識別子によって識別される識別デバイスの暗号識別子とすることができる。
加えて、コンピュータシステムは、上で説明された方法の態様の変形を実行するようにさらに動作可能とすることができる。
本明細書で説明される主題は、おそらくは1つまたは複数のコンピュータプログラム製品の形態をとる、方法またはシステムとして実施することができる。本明細書で説明される主題は、データ信号内または機械可読媒体上で実施することができ、媒体は、CD-ROM、DVD-ROM、半導体メモリ、またはハードディスクなどの、1つまたは複数の情報保持体(information carrier)で具現される。そのようなコンピュータプログラム製品は、本明細書で説明される1つまたは複数の動作をデータ処理装置に実行させることができる。
加えて、本明細書で説明される主題は、プロセッサおよびプロセッサに結合されるメモリを含むシステムとして実施することもできる。メモリは、本明細書で説明される方法の1つまたは複数をプロセッサに実行させる1つまたは複数のプログラムを符号化することができる。さらに、本明細書で説明される主題は、様々な機械を使用して実施することができる。
1つまたは複数の実施の詳細が、添付の例示的な図面および以下の説明において説明される。他の特徴は、説明、図面、および特許請求の範囲から明らかとなろう。
第1のユーザuserAが第2のユーザuserBに識別デバイスを配送する例示的なシナリオを示す図である。ユーザと信用できる第三者(TTP)の間のデータの交換は点線で示される。実線はuserAからuserBへの識別デバイスの物理的な移動を示す。 第1のユーザによって第2のユーザに送信される通信を安全化する例示的な方法を示す図である。 別のユーザに配送される識別デバイスを準備する例示的な方法を示す図である。図2との関係はステップM3によって示され、図4との関係はステップSS10からステップSS13によって示され、図6との関係はステップA10によって示される。ステップM41は、ステップM4の可能な実施を表す。 別のユーザに配送される識別デバイスを準備する別の例示的な方法を示す図である。ステップM41およびステップUP10は、図3に関連する。 別のユーザに配送される識別デバイスを準備するまた別の例示的な方法を示す図である。ステップM42は、ステップM4の可能な実施を表す。ステップA20は、図6に関連する。 相互認証の2つの例を示す図である。ステップM5およびステップM7は、図2に関連する。ステップUP10およびステップR11は、それぞれ図3および図5に関連する。 例示的なコンピュータシステムのブロック図である。
専門用語および定義
以下の専門用語が、説明全般にわたって使用される。用語には以下の説明を当てはめることができるが、必ずしもそれに限定されない。
一般的な定義
用語に対して別の規定がなされない限り、以下の一般的な説明を使用することができる。
(G1,*)および(G2,*)を位数pの2つの群とし、pをある大きな素数とする。pのビットサイズは、セキュリティパラメータによって決定される。数のビットサイズ、例えばpのビットサイズは、pを表すのに必要とされるビットの数として理解することができる。安全化される通信の性質および第三者にとってのそれらの通信の可能な価値を含む多くの要因が、安全なビットサイズの決定に関係し得る。例えば、モッツァレラ(mozzarella)に関する通信は、核装置に関する通信に適したセキュリティのレベルを必要としないであろう。さらに、特定のアプリケーションについて、ある年には安全であったビットサイズが翌年にはもはや十分でなくなり得る可能性がある。技術の進歩および暗号解析の研究の進展が、暗号系の安全性および適切なビットサイズをもたらし得る。
一例によれば、pのビットサイズは、超特異楕円曲線(supersingular elliptic curve)に基づいた双線形写像の場合、1084ビットであり、非超特異楕円曲線(non-supersingular elliptic curve)に基づいた双線形写像の場合、640ビットである。
Z* p={1,...,p-1}、ここで、Z* pは乗法群(multiplicative group)であり、a,b∈Z* pとある場合、a、bはランダムに選択される。
例えばG1などの群の位数は、群の元の個数として理解することができる。
gは、G1のランダムな生成元である。生成元は、原始根(primitive root)または原始元(primitive element)と呼ばれることもある。位数pの群の生成元は、その冪が群の零以外のすべての元を生成する数である。
群が生成元をもつ場合、群は巡回的であると理解することができる。
ユーザは、ユーザコンピュータまたはユーザによって操作されるコンピューティング機器を指すと理解することができる。ユーザによって実行されるアクションも、ユーザに代わってまたはユーザの指図のもとで実行されるアクションを含むことができる。「第1」、「第2」、および「第3」という用語は、複数のユーザを区別するために使用される。userA、userB、およびuserC(それぞれ第1、第2、および第3のユーザを指す)という用語は、式および図において用語の理解を容易にするために使用される。ユーザは、自然人または法人を指すこともできる。
問題
以下の暗号問題は、難しいと見なすことができる。難しい問題または効率的に計算できない問題は、問題の解を計算するのに使用できる既知の確率的多項式時間(probabilistic polynomial time)(またはより効率的な)アルゴリズムが存在しない問題と理解することができる。
確率的アルゴリズムは、ランダムビット命令を使用するアルゴリズムと理解することができる。確率的アルゴリズムは、決定的アルゴリズム(ランダムビット命令を使用しないアルゴリズム)と対比させることができる。
問題1 計算ディフィ-ヘルマン問題(CDH)は、すべての確率的多項式時間アルゴリズムBについて、
AdvCDHB:=Pr[B(g,ga,gb)=gab]
が、セキュリティパラメータにおいて無視できる場合、難しい。言い換えると、ビットサイズpが与えられた場合、(g,ga,gb)が与えられたならば、gabの計算に有利性を提供する(すなわち効率的計算を可能にする)、確率的多項式時間アルゴリズムBが存在する確率は無視できる。
問題2 修正計算ディフィ-ヘルマン問題(mCDH: modified Computational Diffie-Hellman Problem)は、すべての確率的多項式時間アルゴリズムBについて、
Figure 0005562687
が、セキュリティパラメータにおいて無視できる場合、難しい。言い換えると、ビットサイズpが与えられた場合、
Figure 0005562687
が与えられたならば、gabの計算に有利性を提供する(すなわち効率的計算を可能にする)、確率的多項式時間アルゴリズムBが存在する確率は無視できる。
問題3 双線形決定ディフィ-ヘルマン問題(BDDH: Bilinear Decisional Diffie-Hellman Problem)は、すべての確率的多項式時間アルゴリズムBについて、
Figure 0005562687
が、セキュリティパラメータにおいて無視できる場合、難しい。この確率は、g∈G1、a,b,c,x∈Z* pをランダムに選択して取得される。言い換えると、ビットサイズpが与えられた場合、1組の値(g,ga,gb,gc,gx)が与えられたならば、x=abcであるかどうかの計算に有利性を提供する(すなわち効率的計算を可能にする)、確率的多項式時間アルゴリズムBが存在する確率は無視できる。
これで暗号問題の列挙を終了する。
双線形写像
双線形写像(双線形関数とも呼ばれる)は、計算ディフィ-ヘルマン問題(CDH)が効率的に計算できない写像
Figure 0005562687
である。さらに、G1およびG2は、巡回群(cyclic group)であると理解することができる。
双線形写像は、以下の3つの特性を満たすことができる。
・双線形:g,h∈G1とすると、a,b∈Z* pに対して、
Figure 0005562687
・非退化:
Figure 0005562687
はG2の生成元である。
・効率的に計算可能:すべてのg,h∈G1に対して、
Figure 0005562687
を効率的に計算するアルゴリズムが存在する。
上記の3つの特性を満たす双線形写像は、許容双線形写像(admissible bilinear map)と呼ばれることもある。
双線形写像の例は、超特異楕円曲線上の修正ベイユペアリング(Weil pairing)と、超特異楕円曲線上の修正テイトペアリング(Tate pairing)である。
ベイユペアリングの定義およびベイユペアリングを計算するためのアルゴリズムは、D. Boneh、M.K. Franklin、「Identity-Based Encryption from the Well Pairing」、Journal of Cryptology、17(4)、2004年において提供されている。引用文献は、ベイユペアリングと修正ベイユペアリングの相違についても説明している。
暗号値
暗号値は、暗号操作において使用できる値と理解することができる。暗号操作は、共用鍵の導出、暗号化、暗号解除、再暗号化、認証、およびハッシングを含む。
公開暗号値および私有暗号値は、非対称暗号系の一部であると理解することができ、非対称暗号系においては、暗号化操作は、暗号解除操作を実行するのに使用される鍵とは異なる鍵を使用して実行される。例えば、公開鍵は、メッセージを暗号化するのに使用できる公開暗号値であり、私有鍵は、メッセージを暗号解除するのに使用できる私有暗号値である。
私有暗号値は、値が属するユーザおよび/または信用できる第三者が知ることができる。秘密暗号値は、特に非対称暗号系の文脈では、信用できる第三者だけが知っている暗号値と理解することができる。
共用鍵
共用鍵は、例えば対称暗号化など、対称暗号操作を実行するのに使用される鍵と理解することができる。対称暗号系は、暗号化操作と暗号解除操作が同じ鍵を使用して実行される系と理解することができる。暗号化操作と暗号解除操作は異なるエンティティによって実行され得るので、両方の操作を実行するのに1つの鍵を使用することは、その1つの鍵が共用鍵であることを示すと理解することができる。
認証
認証は、検証のプロセスと理解することができる。ある場合には、検証は、通信相手の識別情報に関して実行することができる。別の場合には、検証は、識別子によって識別される識別デバイスのアクセス、すなわち合法的アクセスに関して実行することができる。
暗号ハッシュ関数
暗号ハッシュ関数、暗号ハッシュ、またはハッシュは、任意の有限長のビット列を固定長の列に写像する関数と理解することができる。暗号ハッシュ関数は、片方向的であり、耐衝突性をもつと理解することができる。暗号ハッシュ関数の例は、SHA-256およびSHA-512である。
再暗号化
直観できるように、再暗号化は、私有暗号値または秘密暗号値を明かすことなく、新しい鍵のもとでデータを暗号化するプロセスである。値は、公開鍵または共用鍵のもとで再暗号化することができる。例えば、2つの独立した暗号化鍵、例えばk1およびk2と、k1を使用して暗号化されたデータが与えられた場合、再暗号化は、k2を使用してデータを暗号化するプロセスであると理解することができる。
識別デバイス
識別デバイスは、アイテムまたは物品を特定または識別すると理解することができる。アイテムは、パレット、ケース、または製品とすることができる。識別デバイスは、少なくとも1KBのメモリを有することができる。直観できるように、識別デバイスは、暗号エンベロープ(cryptographic envelope)の保持体と理解することができ、暗号エンベロープの内容は、セキュリティプロトコルの一部として、デバイスから取り出して処理することができる。
識別デバイスの一例は、無線周波識別(RFID)タグである。RFIDタグは、能動的または受動的とすることができる。RFIDタグは、再書き込み可能型または1回書き込み型とすることができる。RFIDタグが再書き込み可能ではない場合、タグは、各書き込みの前に、新しいRFIDタグに取り替えることができる。新しいRFIDタグは、同じ識別子を有することができる。以下の説明では、理解を容易にするため、識別デバイスは再書き込み可能型であることを暗黙の前提とすることがある。しかし、各書き込みの後に取り替えられる1回書き込み型のRFIDタグを使用することもできる。
識別デバイスとして使用できるRFIDタグのタイプは、EPCglobal規格によって定義される、クラス1ジェネレーション2のRFIDタグとすることができる。より強力または高度なRFIDタグを使用することもできる。
識別デバイスへのアクセスは、識別デバイスから情報を読み取ることを含むと理解することができる。RFIDタグの場合、アクセスは、RFIDタグリーダを使用してRFIDタグと対話することを含むことができる。
チャレンジ-レスポンスプロトコル
チャレンジ-レスポンスプロトコルは、第1のユーザが第2のユーザにランダムな数を送信し、その後、第2のユーザがその数の暗号変換を実行し、変換された数をおそらくは他のデータとともに第1のユーザに返信する、認証プロトコルと理解することができる。
疑似乱数発生器
疑似乱数発生器は、統計的にランダムに見える数を返す決定的アルゴリズムに基づいていると理解することができる。疑似乱数発生器は、ハードウェアにおけるゲートのアレイとして、またはコンピュータプログラムとして実施することができる。本説明におけるランダムな要素またはランダムな値の選択または選定についての言及は、疑似乱数発生器を使用するランダムな数の計算に関連すると理解することができる。
識別情報ベースの暗号系
識別情報ベースの暗号系は、識別情報ベースの暗号化システムまたは識別情報ベースの暗号システムと呼ばれることもある。識別情報ベースの暗号は、ユーザの公開鍵を任意の文字列とすることができる公開鍵暗号の1つのタイプと理解することができる。ある場合には、ユーザの公開鍵は、例えばユーザの電子メールアドレスなど、ユーザの身元についての何らかの一意的情報である。
一例によれば、信頼できる第三者は、マスタ公開鍵を公表し、マスタ私有鍵を保持することができる。マスタ公開鍵を与えられた場合、ユーザは、マスタ公開鍵を例えばユーザの電子メールアドレスなどの識別情報値と組み合わせることによって、公開鍵を計算することができる。私有鍵を取得するため、ユーザは、信頼できる第三者と連絡をとることができ、信頼できる第三者は、マスタ私有鍵を使用して、ユーザのための私有鍵を生成することができる。
識別情報ベースの暗号系は、ユーザの公開鍵を使用して平文を暗号文に変換する暗号化操作を含むことができる。識別情報ベースの暗号系は、ユーザが信頼できる第三者から暗号解除鍵を取得する暗号解除鍵取得操作をさらに含むことができる。ユーザは、チャレンジ-レスポンスプロトコルを使用して暗号解除鍵を取得することができる。加えて、識別情報ベースの暗号系は、暗号文を平文に変換する暗号解除操作を含むことができる。
詳細な説明
以下の本文では、図面を参照しながら、例についての詳細な説明が与えられる。例には様々な修正を施し得ることを理解されたい。別途明示的な指摘がない限り、1つの例の要素は、新しい例を形成するために、組み合わせることができ、また他の例において使用することができる。
識別デバイスの1つの可能な用途は、サプライチェーン(supply chain)管理におけるものである。サプライチェーンにおいては、各アイテムは、識別デバイスの一意識別子を使用してトラッキングすることができる。識別デバイスが読み取られたときに、イベントが発生する。最も基本的なレベルでは、これは、以下の値の組を生成する。
<組織,識別子,タイムスタンプ>
この値の組は通常、識別子、イベントのタイプ(例えば、荷受、配送、開梱など)、およびイベントのタイプに応じた追加フィールドなどの、追加情報によって拡大される。
会社は、多くの理由から、イベントに結び付けられた情報を伝達することに関心をもっている。1つの理由として、自分が購入した製品が通過した段階を知ることに消費者が関心をもっていることを挙げることができる。別の理由として、会社は欠陥製品を回収する必要があり、欠陥製品を販売した小売店の一覧を知ることに関心をもっていることを挙げることができる。
RFIDタグの使用に関するイベントに関連するデータを共用するため、会社は、EPCglobalコンソーシアムによって現在標準化されているグローバルネットワークに接続する。このネットワークは、発見サービス(discovery service)を含んでおり、発見サービスは、特定のタグについてのイベントデータを有するすべての会社の連絡情報を保存している。タグについてのすべての情報を引き出すため、利害関係者は、リクエストを用いて発見サービスと交信する。リクエストに応答して、発見サービスは、連絡をとるべきすべての会社の一覧を返信する。その後、利害関係者は、各会社と個別に連絡をとり、イベントデータを引き出すことができる。
このシステムがもつ1つの課題は、会社はイベント情報に関連するデータを共用することに自社の営業活動の促進というインセンティブを有するが、この情報は機密性が高く、(おそらくは競争関係にある)会社はなかなか相手を信用する気になれないことである。したがって、1つの心配事は、例えば競争相手のサプライチェーン内のアイテムについてのイベントデータを引き出すことによって実施される、競争相手のサプライチェーンに対するスパイ行為の可能性である。
1つの可能な状況においては、以前は通信することができなかった2つの会社が、発見サービスの助けを借りて互いに連絡をとり、相互に認証する必要があるが、両社がこれまでに共通して行ったただ1つのことは、ある時点において同じ識別デバイスにアクセスしたことである。これらの会社は、同じ識別デバイスにアクセスしたことがあることを互いに証明する必要がある。
このシナリオにおいて発生し得る多くの攻撃が存在する。
1.詐称者が、例えば競争相手のサプライチェーンをトラッキングするために、アクセスしたことのない識別デバイスについての情報を要求することがあり得る。
2.悪意ある会社が、例えば偽製品の出所を隠蔽するために、所有したことのない識別デバイスについての不正情報を供給することがあり得る。
同じ識別デバイスにともにアクセスしたことのあるユーザの間の通信を安全化するための1つの簡単な方法は、識別デバイスに共用鍵を保存することである。共用鍵は、その後の通信を安全化するために、識別デバイスにアクセスしたことのある全員によって使用することができる。通信は、高度暗号化標準(AES: Advanced Encryption Standard)などの対称暗号化アルゴリズムを使用して安全化することができる。この簡単な解決策は、互いに信用しているが、安全ではない環境において通信しなければならないビジネスパートナにとって適していることがある。
説明の一部は識別デバイスにアクセスしたことのあるユーザの間の通信を安全化することに関連しているが、他のシナリオも可能であることに留意されたい。例えば、第1のユーザが識別デバイスに対応する値を第2のユーザに送信することが可能である。送信される値は、識別デバイスから読み取られる値の代わりとすることができる。
しかし、簡単な解決策を使用した場合、漏洩行為は犯人まで遡及することはできないので、アイテムにアクセスしたことのある誰かが共用鍵を漏らすことが可能である。加えて、識別デバイスは、部外者が悪意をもって読み取ることも可能である。これらのケースはいずれも、攻撃者が合法的ユーザを欺いて、攻撃者は識別デバイスにアクセスしたことのある別の合法的ユーザであると思わせることを可能にすることができる。
図1は、識別デバイス100を第1のユーザ110であるuserAから第2のユーザ120であるuserBまたはuserCに配送するための、2つのユーザと信頼できる第三者130(TTP)の間の対話の高レベルな図である。TTP 130は、その顧客のために私有および/または秘密暗号値を保存するエンティティまたは組織と理解することができる。TTP 130は、暗号値を生成することもできる。TTP 130はさらに、識別デバイス100の所有権が変わる場合、識別デバイス100に保存された情報を更新する際にユーザをサポートすることができる。以下の説明はTTPを単一のエンティティとして扱っているが、TTPを(例えば別個のサプライチェーンのための)別個の関係者に分割することが可能であることを理解されたい。TTP間のレプリケーションを用いて、複数のTTPを提供することを可能にすることもできる。
図1についての以下の説明においては、ユーザが、サプライチェーンパートナのシステムに参加する。しかし、他のシステムおよび/または組織も可能である。プロセスは、以下のプロトコルを含むと理解することができる。
設定:TTP 130が、システムパラメータを公表し、システムパラメータを各ユーザ、例えばuserA 110およびuserB 120に配布する。
登録:新規ユーザ、例えばuserA 110が、サプライチェーンに参加するために、TTP 130に登録する。userA 110およびTTP 130は、userA 110の識別情報に結び付けられた複数の公開暗号値、私有暗号値、および秘密暗号値を設定する。TTP 130は、公開暗号値および私有暗号値をuserA 110に配布し、秘密暗号値を保持する。
初期化:userA 110が、識別デバイス100をアイテムに取り付けることを望む。userA 110は、識別デバイス100に複数の値を保存する。識別デバイス100の初期化は、TTP 130の介入なしに実行することができる。
配送:userA 110が、識別デバイス100をuserB 120に配送する準備をするために、TTP 130と連絡をとる。識別デバイス100をアイテムに取り付けることができる。TTP 130は、再暗号化鍵をuserA 110に送信することができる。再暗号化鍵は、識別デバイス100に保存する少なくとも1つの新しい値を生成するために使用することができる。再暗号化鍵の代替として、TTP 130は、識別デバイス100に保存する新しい値の組を計算し、送信することができる。
受け取り:userB 120が、識別デバイス100をuserA 110から受け取る。その後、userBは、識別デバイス100から複数の値を読み取り、その値をデータベースに保存することができる。userB 120は、共用鍵を生成または導出し、やはり識別デバイス100にアクセスしたことのある別のユーザ、例えばuserA 110と相互認証を実行することによって、通信を安全化するために、保存された値を使用できることがある。
安全な通信:userA 110は、少なくとも1つの公開暗号値、少なくとも1つの私有暗号値、および識別デバイス100に保存された複数の値のうちの少なくとも1つに基づいて、共用鍵を導出することができる。userB 120も、同様の操作を実行することができる。userA 110およびuserB 120は、両者が同じ識別デバイス100にアクセスしたことがあることを検証するために、相互認証を実行することもできる。相互認証は、プロトコルにソルト(salt)を加えるための、ランダムチャレンジの交換を含むことができ、ここで、ソルトは、交換を観測する第三者がプロトコルを繰り返すことができないよう保証するために加えられる値と理解することができる。ユーザが相互認証を実行し、後で共用鍵を導出する場合もある。代替として、導出された共用鍵を比較することによって、相互認証が実行される場合もある。
具体的な例によれば、以下のシナリオが可能である。複雑な商品の製造は、異なる行為者の協力を必要とする。このプロセスはしばしば、サプライチェーンに参加する異なる会社を含む。例えば、3つの異なる会社A、B、Cは、以下のように協力することができ、すなわち、会社Aは、アイテムを有し、通常の業務によれば、さらなる処理のために、それを別の会社に配送する必要がある。「次の」会社はあらかじめ分かっておらず、会社Aは、(容易に会社B'を選択することもできたが)会社Bを選択する。その後、Aは、配送アルゴリズムを起動して、配送動作を実行する。同様に、Bは、会社Cにアイテムを配送する。最終的に、チェーンは停止する。
後の時点において、上で説明されたように、会社Aと会社Cは、アイテムに結合された識別デバイス100にアクセスしたことがあることに基づいて、対話する必要があることがある。AとCは以前に対話したことがなく、どのような事前確立されたビジネス関係も有することはできないことに留意されたい。会社Aと会社Cは、識別デバイスの識別子DevIDと、その受け取り時に識別デバイス100内に保存された暗号値との関連をデータベースに保持している。会社Aと会社Cは、この情報を使用してハンドシェークを実行し、ハンドシェークは、成功した場合、両社が、識別デバイス100に関して相手をビジネスパートナとして安全に信頼し、さらなる通信を安全化するのに使用される鍵を共用することを可能にする。
利点として、識別デバイス100に保存された値が意図された受取人とは異なる誰かによって読まれたとしても、システムの安全性は危険にさらされないことを挙げることができる。これは、上で定義された暗号問題の難しさを仮定すれば、識別デバイス100に保存された値から私有暗号値または秘密暗号値を導出することは実現可能でないためである。
図2は、識別デバイス100にアクセスしたことのある2つのユーザの間の通信をどのように安全化するかを示している。M1において、TTP 130によってシステムパラメータを生成することができる。ユーザとTTP 130の間の通信またはデータ交換は、認証され、安全なチャネルを介して行うことができる。
ユーザは、例えばサプライチェーンパートナネットワークに入るために、TTP 130に登録することができる。M2において、TTP 130は、第1のユーザ110(userAとも呼ばれる)に、少なくとも1つの公開暗号値A_PubCVと少なくとも1つの私有暗号値A_PrCVを提供することができる。代替として、少なくとも1つの公開暗号値は、少なくとも1つの私有暗号値の配布に先立って、配布することができる。M3において、TTP 130は、第2のユーザ120(userBまたはuserCとも呼ばれる)に、少なくとも1つの公開暗号値B_PubCVと少なくとも1つの私有暗号値B_PrCVを提供することができる。
識別デバイス100を初期化するため、M4において、userA 110は、識別デバイス100に複数の値を保存することができる。初期化ステップでは、値の1つは、識別デバイスの暗号識別子DevCIDの関数とすることができる。しかし、ステップM4は、初期化がすでに別のユーザによって実行されていたとしても、識別デバイス100を配送するための準備において実行することもできる。識別デバイスの暗号識別子DevCIDは、識別デバイスの識別子またはシリアル番号DevIDと異なることができる。識別デバイス100の初期化は、TTP 130の介入なしに実行することができる。
識別デバイス100を初期化した後、userA 110は、userB 120に識別デバイス100を送付または配送することができる。デバイスを受け取ると、第2のユーザ120は、M4の間にデバイスに保存された値を読み取り、その値をデータベースに保存することができ、値は、識別デバイスのシリアル番号に関連することができる。
2つのユーザがともに、デバイスに対して合法的アクセスを行った後、それらのユーザは、共用鍵を導出することを望むことができる。共用鍵を導出する前に、ユーザが認証を行う場合もある。
代替として、ユーザは、共用鍵を導出し、鍵を危険にさらすことなく共用鍵についての知識を証明するために、チャレンジ-レスポンスプロトコルを使用することができる。M5において、userA 110は、共用鍵を導出する。共用鍵は、第1のユーザの公開暗号値A_PubCVと、第1のユーザの私有暗号値A_PrCVと、識別デバイス100から読み取った値を使用して、導出することができる。代替として、共用鍵は、第2のユーザの公開暗号値B_PubCVと、第1のユーザの私有暗号値A_PrCVと、識別デバイス100から読み取った値を使用して、導出することができる。同様に、M6において、userB 120は、userA 110に関して上で説明された代替案のいずれかを使用して、共用鍵を導出することができる。
そのような導出は、以下の利点を有することができる。共用鍵は、ユーザの公開暗号値とユーザの私有暗号値に基づいて導出される。悪意あるユーザに安全に通信させるため、第1のユーザ(または第2のユーザ)は、悪意あるユーザに、自らの私有暗号情報または自らの私有暗号情報を使用して生成された共用鍵を提供しなければならない。認証デバイスだけに結び付けられた共用鍵と異なり、ユーザの暗号値に結び付けられた共用鍵は、ユーザまで遡及することができる。
M7において、共用鍵は、userA 110によって実行される通信を安全化または保護するために使用することができる。したがって、共用鍵は、userA 110とuserB 120の間の通信を保護するために使用することができる。
図3は、別のユーザに配送される識別デバイス100を準備する例示的な方法を示しているステップSS10、SS11、SS12、およびSS13は、図4において説明されるステップに関連する。
例示的な方法によれば、以下のシステムパラメータ、すなわち、
Figure 0005562687
は、TTP 130によって生成することができ、ここで、gおよび
Figure 0005562687
は、G1のランダムな生成元である。システムパラメータは、公表することができ、すべてのユーザが知ることができる。TTP 130はさらに、
Figure 0005562687
を選択し、S=gαと設定することができる。したがって、この例によれば、システムの公開パラメータは、
Figure 0005562687
であり、また、値αは、TTP 130にだけ知られた秘密暗号値である。
TTP 130に登録するため、userA 110は、2つのランダムな元
Figure 0005562687
を選択することができる。その後、userA 110は、
Figure 0005562687
および
Figure 0005562687
をTTP 130に送信することができる。TTP 130は、Z* pからランダムな元xAを選択することができる。Z* pからランダムな元を選択することは、範囲{1,...,p-1}内の数を生成する疑似乱数発生器を構成することと理解することができる。TTP 130は、
Figure 0005562687
および
Figure 0005562687
を、第1のユーザすなわちuserA 110に送信することができる。
userA 110(A)とTTP 130(T)の間の登録プロトコルに関連するネットワーク対話は、以下のように表すことができる。
Figure 0005562687
例を続けると、userA 110の公開暗号値A_PubCVは、2つの値の組
Figure 0005562687
として表すことができる。userAの公開暗号値A_PubCVは、TTP 130によって要求時に配布することができる。これらの公開暗号値を配布するプロセスは、認証局によって公開鍵を配布するプロセスと同様とすることができる。userA 110とTTP 130に知られているuserAの私有暗号値A_PrCVは、3つの値の組
Figure 0005562687
として表すことができる。TTP 130にだけ知られているuserA 110の秘密暗号値は、xAとして表すことができる。同様の登録プロセスは、M3において、userB 120とTTP 130の間でも実行することができる。
M41において、userA 110は、識別デバイス100を初期化することができる。M41は、図1のステップM4の具体的な実施を表す。M41において、デバイスの暗号識別子の関数f(DevCID)と、第1のユーザに提供された少なくとも1つの私有暗号値の関数f(A_PrCV)が、デバイスに保存される。より具体的には、例示的な実施では、userA 110は、例えば疑似乱数発生器を使用して、ランダムな元
Figure 0005562687
を計算することができる。userA 110はさらに、
Figure 0005562687
および
Figure 0005562687
を計算することができる。X1およびX2は、識別デバイスに保存される第1および第2の値をそれぞれ指すために使用される。この例では、X1はf(DevCID)を指し、X2はf(A PrCV)を指す。
Figure 0005562687
は、再暗号化を実行するために使用できるuserAの私有暗号値A_PrCVとして理解することができる。userA 110は、複数の値(X1,X2)を識別デバイス100に保存することができる。userA 110は、後で使用するために、複数の値(X1,X2)をデータベースに保存することもできる。userA 110は、セキュリティ上の理由から、値ttagを削除または消去することができる。したがって、X1は、識別デバイスの暗号識別子の関数として理解することができ、ここで、
Figure 0005562687
は、識別デバイスの暗号識別子である。X2は、userAの私有暗号値の関数として理解することができ、ここで、userAの私有暗号値は、
Figure 0005562687
である。
ステップM41は、userA 110によるステップS10およびTTP 130によるステップS11の実行に先立って、別のユーザによって実行できることを理解されたい。
userA 110は、おそらくはアイテムに取り付けられた識別デバイス100を、userB 120に送付または配送する準備をすることができる。S10において、userA 110は、userAの識別子A_IDおよびuserBの識別子B_IDをTTP 130に送信することができる。ユーザ識別子は、ユーザまたはユーザの組織に関連する電子メールアドレスまたは他の何らかの値の暗号ハッシュとすることができる。userA 110からのA_IDおよびB_IDの受信は、userA 110が識別デバイス100をuserB 120に送付するつもりであることを、TTP 130に通知することができる。TTP 130は、userB 120の秘密暗号値の関数として再暗号化鍵を生成することができる。より具体的な例によれば、再暗号化鍵は、userB 120の秘密暗号値とuserAの秘密暗号値の逆元との関数、すなわち
Figure 0005562687
とすることができる。その後、TTP 130は、再暗号化鍵、すなわちkA,Bを、userA 110に送付または送信することができる。識別デバイス100を配送するための準備におけるuserA 110とTTP 130の間の対話を定義するプロトコルが、Diagram 2(数27)に示されている。
Figure 0005562687
Diagram 2(数27)の配送プロトコルは、すべての識別デバイス100について実行する必要はなく、配送パートナ毎に1回だけ実行すればよい。言い換えると、userA 110は、userA 110が初めて識別デバイス100をuserB 120に送付するときに、TTP 130から再暗号化鍵を取得しさえすればよい。userA 110は、その後、第1のデバイスのために提供された再暗号化鍵を、さらなる識別デバイスをuserB 120に送付するために再利用することができる。ユーザが再暗号化鍵を再利用できるようにすることで、TTP 130にかかる負荷を軽減させる(すなわちユーザとTTP 130の間の対話を減少させる)という利点を得ることができる。
その後、userA 110は、
Figure 0005562687
を計算するために、TTP 130によって送信された再暗号化鍵を使用することができる。X2'の計算は、第2のユーザの私有暗号値の関数である値、すなわちX2'を計算するために、第2のユーザの秘密暗号値の関数である値、すなわち再暗号化鍵を使用することと理解することができる。UP10において、その後、userA 110は、X2をX2'で置き換えることによって、識別デバイス100に保存された複数の値を更新することができる。言い換えると、第1のユーザは、第2の値X2を値X2'で置き換えることによって、保存された複数の値を更新することができ、ここで、X2'は、第2のユーザに提供された私有暗号値の関数f(B_PrCV)である。具体的な例によれば、B_PrCVは、
Figure 0005562687
と表される。更新の後、識別デバイス100のメモリは、複数の値(X1,X2')を含むことができる。
識別デバイス100を受け取った時、userB 120は、対(X1,X2')をデータベースに保存することができる。
この例によれば、識別デバイスが1つのユーザから別のユーザに渡るときに、識別デバイスをトレースするため、TTPは、どのユーザが識別デバイスを別のユーザに送付できるかについてのグラフを構築することができる。
図3による例は、TTPにかかる負荷を軽減することはできるが、TTP 130が、1つのユーザから別のユーザへの識別デバイス100の移動、例えばサプライチェーンを辿るデバイスの移動をトレースすることは困難であることがある。さらに、以下の攻撃が可能である。再暗号化鍵
Figure 0005562687
が与えられた場合、
Figure 0005562687
を効率的に計算することが可能である。さらに、(userAに提供されたような)再暗号化鍵kA,Bと、識別デバイスをuserBから第3のユーザ、すなわちuserCに配送するためにTTP 130によってuserBに提供されるkB,Cが与えられた場合、再暗号化鍵kA,C=kA,BkB,Cを効率的に計算することが可能である。これらの攻撃に対抗するため、TTPは、グラフの各辺の逆を含まなければならず、またグラフの推移閉包(transitive closure)を計算しなければならない。
図4は、デバイスを別のユーザに配送するために識別デバイス100を準備する別の例示的な方法を示している。ステップSS10は、図3に示されるステップM41の後に実行することができる。ステップSS13の後、図3に示されるステップUP10を実行することができる。さらに、「SS」で始まるステップ(SS10、SS11、SS12、およびSS13)は、図3のステップS10およびS11の代替と理解することができる。
図3に関して上で説明された攻撃に対抗するため、1つのユーザが別のユーザに識別デバイス100を配送する準備をするたびに、TTPを関与させることが可能である。
userA 110は、おそらくはアイテムに取り付けられる識別デバイス100を、userB 120に送付または配送する準備をすることができる。SS10において、userA 110は、userBの識別子B_IDおよびuserAの私有暗号値の関数f(A_PrCV)をTTP 130に送信することができる。userBの識別子B_IDは、userBの電子メールアドレスのハッシュとすることができる。具体的な例によれば、userAの私有暗号値の関数f(A_PrCV)は、
Figure 0005562687
とすることができ、ここで、
Figure 0005562687
は、userAの私有暗号値A_PrCVであり、
Figure 0005562687
は、識別デバイスが初期化されたときに計算されたランダムな元の逆元である。X2は、識別デバイス100に保存された第2の値を指すと理解することができる。M41におけるように、userA 110が識別デバイス100を初期化することが可能であるが、userA 110は、別のユーザから識別デバイス100を受け取った後、識別デバイス100からX2を読み取ることもできる。
例示的な方法によれば、TTPは、userBの識別子B_IDおよびuserAの私有暗号値の関数f(A_PrCV)を受け取る。SS11において、TTP 130は、userBの私有暗号値の関数f(B_PrCV)を生成するために、userAの私有暗号値の関数f(A_PrCV)に対して再暗号化操作を実行することができる。具体的な例によれば、以下の計算は、
Figure 0005562687
のように、f(B_PrCV)を生成するために実行される。X2'は、識別デバイス100に保存される新しい第2の値を表し、それは、この例によれば、第2のユーザの私有暗号値の関数f(B_PrCV)である。userA 110とTTP 130の間の交換は、Diagram 3(数36)に視覚的に示されている。
Figure 0005562687
TTP 130はさらに
Figure 0005562687
を計算することができる。SS12において、その後、TTPは、データベースに三つ組
Figure 0005562687
を保存することができ、Aは、userAの識別子A_IDに対応し、Bは、userBの識別子B_IDに対応する。値
Figure 0005562687
は、特定の識別デバイスを他の識別デバイスから一意的に区別し、この値は、変更されない。SS13において、TTP 130は、f(B_PrCV)、すなわちX2'に対応する値をuserA 110に送信することができる。userA 110は、f(B_PrCV)を受け取ると、図3に示されるように、ステップUP10において、f(A_PrCV)をf(B_PrCV)で置き換えることによって、識別デバイスに保存された値を更新することができる。
(配送トランザクションがステップSS10からステップSS13またはステップS20からステップS23から成る場合)各配送トランザクションに関与し、トランザクションに対応する三つ組を記録することによって、TTP 130は、ユーザからユーザへの任意の識別デバイス100の経路をトレースすることができる。これは、すべての識別デバイスの経路についての完全な履歴記録をTTP 130が構築することを可能にするという利点を有することができる。言い換えると、TTP 130は、各識別デバイスについての完全な転送系図を構築することができる。したがって、TTP 130は、各識別デバイスおよび対応するアイテムについての全体的な配送グラフを構築することができる。グラフ外のユーザは、認証に成功することができない。
その場合、詐称者(すなわち所有したことのない識別デバイスについての情報を要求するユーザ)が識別された場合に、誰であれ暗号値を漏らしたユーザをTTP 130が識別できることも利点とすることができる。
さらに、(配送トランザクションがステップSS10からステップSS13またはステップS20からステップS23から成る場合)各配送トランザクションへのTTP 130の関与は、以下の利点を有することができる。非認可関係者が非合法的な認証に成功した場合、その非認可関係者をトレースすることができる。加えて、TTP 130は、非認可関係者が認証されることを可能にする情報を、どの合法的ユーザが漏らしたかをトレースすることもできる。したがって、識別デバイス100上の情報を意図的に開示しないことへの強力なインセンティブがはたらく。一例によれば、これは、サプライチェーンの厳格な統制をもたらすことができる。
図5は、userA 110からuserB 120に配送される識別デバイス100を準備する例示的な方法を示している。図5の方法は、図3および図4で説明された方法の代替と理解することができる。図3のステップ(S10、S11)、図4のステップ(SS11、SS12、SS13)、および図5のステップ(S20、S21、S22、S23)は、1つのユーザから別のユーザに識別デバイスを配送する準備をするために取ることができる代替ステップの組と理解することができる。
例示的な方法によれば、システムパラメータの組は、類似してはいるが、図3に対応する説明において生成されたパラメータに完全に対応することができるわけではない。さらに、以下の方法では、ユーザの公開暗号情報(すなわちユーザに割り当てられる公開暗号値)は、ユーザの識別情報のハッシュである。例えば、ユーザの公開暗号情報は、ユーザの電子メールアドレスの暗号ハッシュとすることができる。したがって、公開暗号情報を検証するために、証明書または認証局との対話を使用する必要はない。さらに、例示的な方法は、ユーザが識別デバイス100を配送する準備をするたびに、TTP 130のサポートを必要としてもよい。これは、識別デバイス100の経路(すなわちデバイスの転送系図)のすべてのステップが記録されることを可能にする。したがって、この例の方法は、図4に関して上で説明された利点を共有する。
例の目的で、暗号ハッシュ関数、すなわちハッシュ関数Hは、以下のように定義することができる。
ハッシュ関数Hのパラメータは、以下のようである。
Figure 0005562687
ここで、gは、群G1のランダムな元であり、
Figure 0005562687
ここで、u0,u1,...,unは、群Z* pのn+1個のランダムな元である。
したがって、ハッシュ関数Hを定義するため、
Figure 0005562687
と割り当て、
・nビット列としてv∈{0,1}nを定義し、
・h(v)=u0i∈Vui∈Z* pを定義し、ここで、V⊆{1,...,n}は、vの第iビットが1に等しいインデックスiの集合である。
最後に、ハッシュ関数Hは、H(v)=U0Πi∈VUi=gh(v)∈G1のように定義される。したがって、識別情報Aを有するユーザについて、H(A)=ghであり、ここで、h∈Z* pであり、gはG1のランダムな生成元であると理解することができる。
例を続けると、M1において、以下のシステムパラメータ、すなわち
Figure 0005562687
は、TTP 130によって計算することができ、ここで、パラメータは、上で提供された一般的な定義に準拠する。TTP 130は、
Figure 0005562687
も計算し、
Figure 0005562687
と割り当てることができる。最後に、TTP 130は、
Figure 0005562687
を計算し、S=gα、および
Figure 0005562687
と設定することができる。システムの公開暗号値は、1組の値
Figure 0005562687
によって表すことができる。値u0、u1、...、un、およびαは、TTP 130だけが知っている秘密暗号値である。
その後、TTP 130は、識別情報ベースの暗号系を初期化することができる。例によれば、TTP 130は、識別情報ベースの暗号系の公開パラメータをuserA 110およびuserB 120に配布する。公開パラメータは、マスタ公開鍵を含むことができる。
例によれば、M2において、userA 110は、TTP 130に登録することができる。ユーザは、サプライチェーンネットワークに入るためにTTP 130に登録する場合もある。userA 110は、従来のチャレンジ-レスポンスプロトコルを使用して、TTP 130から認証を受けることができる。その後、userA 110は、公開鍵を選択することができる。公開鍵は、任意の文字列、例えばuserA 110の電子メールアドレスとすることができる。userA 110は、選択された公開鍵をTTP 130に安全に送信することができ、公開鍵に対応する私有鍵をTTP 130から受信することができる。私有鍵に加えて、userAは、私有暗号値IA=H(A)αを受信することもできる。(A_IDとも呼ばれる)H(A)は、userA 110の識別子の暗号ハッシュ、例えばuserA 110の電子メールアドレスの暗号ハッシュと理解することができる。
M3において、userB 120は、同様の登録プロセスを実行することができる。
M42において、userA 110は、識別デバイス100を初期化することができる。M42は、図1のステップM4の具体的な実施を表すと理解することができる。M42は、ステップM41の代替と理解することもできる。userA 110は、ランダムな値
Figure 0005562687
およびランダムな値
Figure 0005562687
を計算することができる。userA 110は、
Figure 0005562687
およびX3=H(A)rを計算することもできる。この計算が実行された後、ランダムな値ttagは、セキュリティ上の理由から、削除または消去することができる。その後、userA 110は、複数の値(X1,X2,X3)を識別デバイス100に保存することができる。したがって、保存される複数の値は、第1のユーザの識別情報の関数f(A_ID)である第3の値、すなわち、この例によればX3=H(A)rを含む。X1は、識別デバイス100に保存される第1の値と理解することができ、X2は、識別デバイス100に保存される第2の値と理解することができ、X3は、識別デバイス100に保存される第3の値と理解することができる。値の順序は例の理解を助けるように提供されたもので、値は任意の順序で識別デバイス100に保存できることを理解されたい。
X1を構成する値のうち、
Figure 0005562687
は、識別デバイスの暗号識別子DevCIDと理解することができる。
Figure 0005562687
は、第1のユーザに提供される少なくとも1つの私有暗号値の関数f(A_PrCV)と理解することができる。したがって、識別デバイス100に保存される複数の値のうちの第1の値X1は、第1のユーザに提供される少なくとも1つの私有暗号値の関数f(A_PrCV)と理解することができる。
M42においてuserA 110によって実行される識別デバイス100の初期化は、TTP 130の支援を必要としない。
ステップM42は、ステップS20からステップS23の実行に先立って、別のユーザによって実行できることを理解されたい。言い換えると、ステップM42(およびステップM41)は、1回だけ実行されさえすればよい初期化ステップに対応すると理解することができる。しかし、ステップS20からステップS23(ならびにステップS10とステップS11およびステップSS10とステップSS13)は、識別デバイス100の配送に先立つ任意の時に実行することができる。
S20において、userA 110は、userAの識別子A_ID、userBの識別子B_ID、および複数の値(X1,X2,X3)を、TTP 130に送信することができる。userA 110からのこれらの値の受信は、userA 110が識別デバイス100をuserB 120に配送するつもりであることをTTP 130に通知することができる。
S21において、TTP 130は、userA 110から受信したuserAの識別子の関数f(A_ID)を、userAの識別子の関数f(A_ID)と比較することができる。具体的な例によれば、S21の比較は、
Figure 0005562687
であるかどうかを検査する以下の式を使用することによって実行することができ、ここで、X3=H(A)rおよびX2=grである。式の両辺において、A_IDはAとして表される。さらに、左辺のバイナリ写像、すなわち
Figure 0005562687
は、TTP 130がuserA 110から受信するf(A_ID)と理解することができる。右辺のバイナリ写像、すなわち
Figure 0005562687
は、f(A_ID)と理解することができる。S21の比較は、保存された複数の値がuserAの識別子A_IDに対応するかどうかを検査するために使用することができる。
S22において、TTPは、
Figure 0005562687
を計算し、三つ組
Figure 0005562687
をデータベースに保存することができる。値
Figure 0005562687
は、識別デバイスの暗号識別子DevCIDと理解することができる。TTP 130のデータベースに保存される三つ組は、識別デバイス100の移動をトラックするために使用することができる。
その後、TTP 130は、
Figure 0005562687
を計算し、さらに
Figure 0005562687
を計算することができる。
S23において、TTP 130は、f(DevCID,B_PrCV)、X2'、f(B_ID)を、userA 110に送信することができる。具体的な例によれば、f(DevCID,B_PrCV)=X1'およびf(B_ID)=X3'であり、ここで、
Figure 0005562687
は、DevCIDに対応し、IBは、B_PrCVに対応し、Bは、B_IDに対応する。userAとTTPの間の対話(ステップS20およびステップS23)の一例が、Diagram 4(数63)に示されている。
Figure 0005562687
Diagram 4(数63)には(DevIDに対応する)値tagIDが示されているが、この値は代替配送プロトコルの任意選択部分であることを理解されたい。その後、userA 110は、第2のユーザの識別子の関数f(B_ID)である値を、TTP 130から受信することができる。この値は、TTP 130によって送信された第3の値、すなわちX3'に対応する。
(配送トランザクションがステップSS10からステップSS13またはステップS20からステップS23から成る場合)各配送トランザクションに関与し、トランザクションに対応する三つ組を記録することによって、TTP 130は、ユーザからユーザへの任意の識別デバイス100の経路をトレースすることができる。これは、すべての識別デバイスの経路についての完全な履歴記録をTTP 130が構築することを可能にするという利点を有することができる。言い換えると、TTP 130は、各識別デバイスについての完全な転送系図を構築することができる。したがって、TTP 130は、各識別デバイスおよび対応するアイテムについての全体的な配送グラフを構築することができる。グラフ外のユーザが認証に成功できないことを利点とすることができる。
その場合、詐称者(すなわち所有したことのない識別デバイスについての情報を要求するユーザ)が識別された場合に、誰であれ暗号値を漏らしたユーザをTTP 130が識別できることも利点とすることができる。
さらに、(配送トランザクションがステップSS10からステップSS13またはステップS20からステップS23から成る場合)各配送トランザクションへのTTP 130の関与は、以下の利点を有することができる。非認可関係者が非合法的な認証に成功した場合、その非認可関係者をトレースすることができる。加えて、TTP 130は、非認可関係者が認証されることを可能にする情報を、どの合法的ユーザが漏らしたかをトレースすることもできる。したがって、識別デバイス100上の情報を意図的に開示しないことへの強力なインセンティブがはたらく。一例によれば、これは、サプライチェーンの厳格な統制をもたらすことができる。
S20、S21、S22、およびS23は、userAからuserB 120への識別デバイス100の配送を準備するために実行することができる。
UP20において、userA 110は、第3の値を第2のユーザの識別子の関数f(B_ID)である値で置き換えることによって、保存された複数の値を更新することができる。具体的な例によれば、userA 110は、(X1,X2,X3)を、TTP 130によって上で計算され、ステップS23においてuserA 110に送信された(X1',X2',X3')で置き換えることによって、保存された複数の値(X1,X2,X3)を更新することができる。UP20は、図3に示されたUP10の代替と理解することができる。
その後、userA 110は、識別デバイス100をuserB 120に送付または配送することができる。
R10において、userB 120は、識別子DevIDによって識別される識別デバイス100を受け取ることができる。userB 120は、識別デバイス100に保存された複数の値を読み取り、その値をデータベースに保存することができる。userB 120は、複数の値を識別デバイスの識別子DevIDに関連付けることができる。
R11において、userB 120は、保存された複数の値のうちの第3の値を、第2のユーザの識別子の関数f(B_ID)と比較することができる。具体的な例によれば、userB 120は、
Figure 0005562687
であるかどうかを検査することができ、ここで、X2およびX3は、ステップUP20中に保存された値を指す。userB 120によって実行される検査は、受信した複数の値がuserB 120に宛てたものであることを検証するのに役立てることができる。識別デバイス100をさらに配送するため、userB 120は、上で説明された配送プロトコル(ステップS20からステップUP20)を適用することができる。
図5に関して説明された識別情報ベースの暗号系の使用は、公開鍵配布インフラストラクチャの必要性をなくすという利点を有する。例えば失効日付などの情報をユーザ識別子に埋め込むことも可能とすることができる。
図6は、相互認証の2つの代替方法を示している。認証は、第1のユーザ110および第2のユーザ120が、識別子DevIDによって識別される識別デバイス100にアクセスしたことがあることを検証するために実行することができる。
第1の例示的な方法によれば、UP10およびUP10に先行するステップは、図3および図4に関して上で説明されたように実行することができる。以下の例では、第2のユーザ120は、userCと呼ばれる。userCは、userBと同一ユーザとすることができ、userCは、やはり識別デバイス100にアクセスしたことのある異なるユーザとすることもできる。
userA 110は、以下の値
Figure 0005562687
をデータベースから取り出すことができる。UserC 120は、以下の値
Figure 0005562687
をデータベースから取り出すことができる。値は、ステップM41に関連して説明されたように、識別デバイス100の初期化の後、データベースに保存することができ、または図3の説明においてuserB 120に関して説明されたように、識別デバイス100の受け取り時に、データベースに保存することができる。
userA 110は、userCの公開暗号値C_PubCVを取得するために、TTP 130と連絡をとることができる。userA 110は、userCの識別子C_IDをTTP 130に送信することができる。TTP 130は、userCの公開暗号値C_PubCVを用いて応答することができる。認証が実行された後、データは、安全なチャネル上でuserA 110とTTP 130の間で交換することができる。userCの公開暗号値C_PubCVは、
Figure 0005562687
と表すことができる。userC 120の公開暗号値を取得するためのuserA 110とTTPの間の可能な1組の対話が、Diagram 5(数68)に示されている。Diagram 5(数68)は、TTP 130による、例えばuserA 110またはuserC 120などのユーザへの公開暗号値の配布を管理するプロトコルとして説明することもできる。
Figure 0005562687
Diagram 5(数68)に示される対話の代替として、userCの公開暗号値C_PubCVは、TTP 130によって署名された証明書として配布することができる。言い換えると、userCの公開暗号値C_PubCVは、TTP 130の私有鍵を用いて暗号化することができる。署名された証明書は、任意のユーザによって配布することができる。したがって、userCの公開暗号値C_PubCVを取得するために、userA 110がTTP 130と対話することが必要ないこともある。
A10において、userCの公開暗号値C_PubCVを取得した後、userA 110は、ランダムな元
Figure 0005562687
を計算することができる。その後、userA 110は、grをランダムチャレンジとしてuserC 120に送信することができる。言い換えると、第1のユーザは、第2のユーザにランダムチャレンジを送信することができる。
A11において、userC 120は、ランダムチャレンジとuserCに提供された少なくとも1つの暗号値の関数である値f(チャレンジ,C_PrCV)を計算することができる。具体的な例によれば、userCの私有暗号値C_PrCVは、yCと表すことができる。したがって、f(チャレンジ,C_PrCV)は、
Figure 0005562687
と表すことができる。その後、userC 120は、自身のデータベースからX2Cを取り出すことができる。上で言及されたように、X2Cは、userC 120によって識別デバイス100に保存された複数の値のうちの第2の値と理解することができる。X2Cは、識別デバイス100の初期化中または識別デバイス100を配送する準備中に、識別デバイス100に保存することができる。
A12において、具体的な例によれば、userC 120は、
Figure 0005562687
およびX2CをuserA 110に送信する。したがって、userA 110は、ランダムチャレンジとuserC 120の少なくとも1つの私有暗号値の関数である値を受信する。userA 110は、X2Cも受信する。
A13において、userA 110は、保存された複数の値のうちの第2の値の関数を、userCに提供された少なくとも1つの公開暗号値C_PubCVの関数と比較することができる。具体的な例によれば、userA 110は、自身のデータベースからX1Aを取り出し、
Figure 0005562687
が成り立つかどうかを検査する。上の例では、保存された複数の値のうちの第2の値は、X2Cによって表される。より具体的には、X2Cは、userC 120によって識別デバイス100に保存された複数の値のうちの第2の値と呼ぶことができる。さらに、上の例示的な式では、C_PubCVは、
Figure 0005562687
によって表される。
userC 120は、userAの公開暗号値A_PubCVを求めて、TTP 130に問い合わせを行うことができる。代替として、userAの公開暗号値A_PubCVは、TTP 130によって署名された証明書として、例えばuserA 110によって配布することができる。その後、userC 120は、ランダムチャレンジgsをuserA 110に送信し、応答として
Figure 0005562687
を受信することができる。
A14において、userC 120は、保存された複数の値のうちの第2の値の関数を、userCに提供された少なくとも1つの公開暗号値C_PubCVの関数と比較することができる。具体的な例によれば、userC 120は、データベースからX1Cを取り出し、
Figure 0005562687
が成り立つかどうかを検査する。上の例では、保存された複数の値のうちの第2の値は、X2Aによって表される。より具体的には、X2Aは、userA 110によって識別デバイス100に保存された複数の値のうちの第2の値と呼ぶことができる。さらに、userAに提供された少なくとも1つの公開暗号値A_PubCVは、
Figure 0005562687
によって表される。userAに提供された少なくとも1つの公開暗号値A_PubCVは、userA 110に提供された複数の公開暗号値のうちの少なくとも1つと理解することもできる。
例を続けると、userA 110およびuserC 120について検査が満たされた場合、両方のユーザは、それらがタグにアクセスしたことがあり、安全に鍵合意を継続できることを確信することができる。
上の比較の例によれば、各比較は、比較される値を、計算ディフィ-ヘルマン問題を効率的に計算できない、効率的に計算可能な非退化双線形写像に入力として提供することによって、実行することができる。双線形写像は、
Figure 0005562687
を用いて表される。
以下の図は、上で説明された例に従って認証を実行するための、userA 110、userC 120、およびTTPの間の対話を説明している。
Figure 0005562687
相互認証に成功すると、userAおよびuserCは、別々に共用鍵を確立または導出することができる。具体的な例によれば、userA 110およびuserC 120は、鍵Kを
Figure 0005562687
と設定する。userA 110とuserC 120の間のその後の通信は、共用鍵Kの使用を通して保護することができる。既知の確率的多項式時間アルゴリズムは
Figure 0005562687
および
Figure 0005562687
から
Figure 0005562687
を構成できないので、盗聴者はuserA 110とuserC 120によって交換される情報から鍵を再構成できないことに留意されたい。
上で説明された方法の安全性は、ゲームベースの証明を使用して示すことができる。
例えば、攻撃者は、別のユーザの再暗号化鍵を取得したことなしに、そのユーザについての組(X1,X2)を生成しようと試みることができる。これは、識別デバイス100に保存された複数の値を積極的に漏らし、TTPのトレーサビリティを逃れることに対応する。再暗号化ゲームは、この攻撃を捕らえることと理解することができる。TTP 130が知っている暗号値についての知識なしに、このゲームに勝利することは難しい(すなわち、コンピュータは、提出された問題を効率的に解くことができない)。
再暗号化ゲーム
その目標として、TTP 130のサポートなしに、(図3に関して説明された)配送プロトコルを実行しなければならない、(攻撃者とも呼ばれる)敵対者Aを考える。Aは、プロトコルのすべてのアルゴリズムを自由に実行することを許される。次に、Aは、自らの選択で、2つのユーザ
Figure 0005562687
およびI*を選び、シミュレータBは、
Figure 0005562687
としてチャレンジ識別デバイスを初期化し、
Figure 0005562687
および
Figure 0005562687
ならびにI*に関連する私有/秘密暗号値を除く、
Figure 0005562687
およびI*についてのすべての関連情報をAに供給する。最終的に、Bは、対
Figure 0005562687
を攻撃者に提示し、Aは、情報
Figure 0005562687
についての推測を出力する。このゲームは、再暗号化と呼ばれる。
定理1 敵対者Aが非ゼロの有利性
ReencryptA:=Pr[Aが再暗号化ゲームに勝利する]
を有する場合、確率的多項式時間アルゴリズムBは、修正計算ディフィ-ヘルマン問題(mCDH)の与えられた事例を解くためにBがAの有利性を使用する環境を生成することができる。
証明。Bを以下のように定義する。Bは、mCDH問題のランダムな事例
Figure 0005562687
を与えられ、gabを計算するためにAを使用することを望む。アルゴリズムBは、Aが動作する環境をシミュレートする。
シミュレータBは、図3に関して説明されたように、公開パラメータを選び、公表する。
攻撃者は、自ら選択した任意の識別情報Iとして随意に登録することができる。Aは、自ら選択したユーザとして、任意の識別デバイスを初期化することができる。Aは、シミュレータの関与なしに、この動作を自律的に実行することができる。配送プロトコルは、図3に関して説明されたように実行され、したがって、Aは、Aが受け取った任意の識別デバイスまたはAが初期化した任意の識別デバイスに対して配送プロトコルを実行するよう、Bに自由に求めることができる。その後、攻撃者は、自らが選択したどのユーザとの認証プロトコルにも関わることができ、この場合、Bは、xI、yI、およびzIを選択し、したがって、すべての秘密情報を知ることによって、(I*を除く)すべてのシミュレートされる関係者Iを生成する。最後に、Aは、ターゲットユーザIを名のって、受け取りプロトコルを実行することができ、したがって、Bから
Figure 0005562687
を受信し、ここで、
Figure 0005562687
である。
その後、攻撃者Aは、先行するフェーズにおいてBがAのすべての問い合わせにすでに回答している識別情報
Figure 0005562687
と、Aが
Figure 0005562687
および
Figure 0005562687
ならびに秘密情報
Figure 0005562687
および
Figure 0005562687
を知らないI*を選択する。Aは、I*についての公開情報を質問し、Bは、
Figure 0005562687
によって回答する。最後に、Aは、I*に宛てた識別デバイスを受け取ることができ、そうするために、Bは、
Figure 0005562687
を選び、
Figure 0005562687
Figure 0005562687
の対をAに送信する。最終的に、Bは、
Figure 0005562687
および
Figure 0005562687
のように巧みに作られたチャレンジ識別デバイスに結び付けられた情報をAに送信し、Aは、
Figure 0005562687
についての推測を出力する。
Aがゲームに勝利する場合、
Figure 0005562687
であり、Bは受け取ったmCDHの事例に対して同じ回答を与えることができる。
これで再暗号化ゲームの証明を終了する。
第2のゲームベースの証明の基礎として、攻撃者は、別のユーザについての組(X1,X2)を盗むか、または他の方法で取得することができ、その後、そのユーザとして認証を受けようと試みる。これは、識別デバイスを保有し、その後、合法的所有者として認証を受けようとすることに対応する。認証ゲームは、この攻撃を捕らえることと理解することができる。
認証ゲーム
その目標として、ユーザの暗号値、特にそのユーザだけが知っている暗号値yおよびz∈Z* pを所有せずに、そのユーザとして第1の認証プロトコルを実行しなければならない、敵対者Aを考える。このゲームは、RFIDタグの不正リーダを使用して可能なことがある、識別デバイス上の資格証明(対(X1,X2))の盗難の場合に、ユーザが保護されることを示している。Aは、(ユーザAとして)プロトコルのすべてのアルゴリズムを自由に実行することを許される。次に、Aは、自らの選択で、ユーザI*を選び、Aは、I*に宛てた任意の識別デバイスも受け取る。最終的に、Aは、第1の認証プロトコルに関わり、AがI*であり、アイテムを所有したことがあるとシミュレータに納得させなければならない値を生成する。このゲームを認証と呼ぶ。このゲームは、識別デバイス上の資格証明を第三者に意図的に漏らすユーザを排除することにも留意されたい。
定理2 敵対者Aが非ゼロの有利性
AuthA:=Pr[Aが認証ゲームに勝利する]
を有する場合、確率的多項式時間アルゴリズムBは、計算ディフィ-ヘルマン問題(CDH)の与えられた事例を解くためにBがAの有利性を使用する環境を生成することができる。
証明。Bを以下のように定義する。Bは、CDH問題のランダムな事例(g,ga,gb)を与えられ、gabを計算するためにAを使用することを望む。アルゴリズムBは、Aが動作する環境をシミュレートする。
シミュレータBは、図3に関して説明されたように、
Figure 0005562687
を選び、
Figure 0005562687
と設定し、公開パラメータを公表する。
攻撃者は、自ら選択した任意の識別情報Iとして登録することができる。Aは、自ら選択した任意のユーザとして、任意の識別デバイスを初期化することができる。配送プロトコルは、図3に関して上で説明されたように実行され、したがって、Aは、Aが受け取った任意の識別デバイスまたはAが初期化した任意の識別デバイスに対して配送プロトコルを実行するよう、Bに自由に求めることができる。その後、攻撃者は、自らが選択したどのユーザとの第1の認証プロトコルにも関わることができ、この場合、Bは、xI、yI、およびzIを選択し、したがって、すべての秘密情報を知ることによって、(I*を除く)すべてのシミュレートされる関係者Iを生成する。最後に、Aは、ターゲットユーザIを名のって、図3に関して説明されたように、受け取りプロトコルを実行することができ、したがって、Bから
Figure 0005562687
を受信し、ここで、
Figure 0005562687
である。
その後、攻撃者Aは、以前に問い合わせたことのない識別情報の中から、それとして認証を受けることを望む識別情報I*を選択する。Aは、I*の公開情報
Figure 0005562687
および
Figure 0005562687
を受信する。Aは、I*に宛てた識別デバイス情報を受け取ることができ、Bは、
Figure 0005562687
を選び、
Figure 0005562687
をAに送信する。チャレンジをトリガするため、Aは、I*として受け取った識別デバイスのうちの1つの識別子をBに送信する。今度は、Bが、ランダムチャレンジgbによって回答する。その後、Aは、プロトコルに従って、
Figure 0005562687
および
Figure 0005562687
によって回答しなければならない。
Aがゲームに勝利する場合、
Figure 0005562687
であり、Bは受け取ったCDHの事例に対して同じ回答を与えることができる。
これで認証ゲームの証明を終了する。
第2の例示的な方法によれば、R11およびR11に先行するステップは、図5に関して上で説明されたように実行することができる。以下の例では、第2のユーザ120は、再びuserBと呼ばれる。userBは、userCと同一ユーザとすることができ、userBは、やはり識別デバイス100にアクセスしたことのある異なるユーザとすることもできる。
UserB 120は、識別デバイスの識別子DevIDをuserBに送信することによって、認証プロセスを開始することができる。一例によれば、userA 110およびuserB 120はともに、値(X1,X2,X3)を所有する。三つ組または保存された複数の値は、R10において受け取り時に識別デバイス100から読み取ることができ、またはM42において識別デバイス100の初期化の後に保存することができる。以下の例は、上で観察された規約を継続し、添字Aは、userA 110に対応する値を識別し、添字Bは、userB 120に対応する値を識別する。
認証プロセスを継続するため、userA 110は、ランダムなノンス(nonce)nA∈Z* pを選択することができる。ノンスは、メッセージが攻撃者が観測した古いメッセージの再現でないことを受信者に保証するために使用される値と理解することができる。その後、userA 110は、
Figure 0005562687
を計算し、計算された値をuserB 120に送信することができる。IBEB(m)は、userB 120のために暗号化されたメッセージ、またはuserB 120の公開暗号値、例えば公開鍵を用いて暗号化されたメッセージを示すと理解することができる。この場合、mは、
Figure 0005562687
である。他の値は、図5に関して説明されたものと理解することができる。
同様に、userB 120は、ランダムなnB∈Z* pを選択することができる。その後、userB 120は、
Figure 0005562687
を計算し、それをuserA 110に返信することができる。IBEA(m)は、userA 110のために暗号化されたメッセージ、またはuserA 110の公開暗号値、例えば公開鍵を用いて暗号化されたメッセージを示すと理解することができる。
A20において、userA 110およびuserB 120は、ともに同じ識別デバイス100にアクセスしたことがある場合、共通の共用鍵を導出することができる。したがって、
Figure 0005562687
である。
共用鍵は、識別デバイス100に合法的にアクセスしたことがあることを各ユーザが他のユーザに証明するために使用することができる。ハンドシェークを確定するため、すなわち認証プロセスを終了するため、ユーザは、共用鍵を漏らすことなく共用鍵の知識を相互に証明するために、従来のチャレンジ-レスポンスプロトコルを使用することができる。したがって、第1の共用鍵を第2の共用鍵と比較することは、チャレンジ-レスポンスプロトコルを使用して、共用鍵が等しいことを検証することと理解することができる。
第1のユーザ110と第2のユーザ120の間の通信は、鍵Kを使用して保護することができる。userA 110とuserB 120の間の対話は、以下の図を通してより良く理解することができる。
Figure 0005562687
図6に関して説明された第2の方法の利点として、証明書の代わりに識別情報を(すなわち、従来の公開鍵暗号系の代わりに識別情報ベースの暗号系を)使用することで、より容易な鍵管理が促進されることを挙げることができる。第2の方法のさらなる利点として、第1の方法と比較して、ユーザとTTP 130の間の対話の数が削減されることを挙げることができる。
図6に関して説明された第1および第2の両方法の利点として、ユーザ宛てのチャレンジはそのユーザの識別情報の公開鍵のもとで暗号化されるので、チャレンジの盗聴または識別デバイス100に保存された複数の値の読み取りは、方法の安全性を危険にさらすことがないことを挙げることができる。
第1および第2の両認証プロトコルのさらなる利点として、ユーザに提供された私有暗号値を開示しないことに対してユーザが強いインセンティブを有することを挙げることができる。例えば、userA 110が自分の私有暗号値A_PrCVを攻撃者に開示した場合、攻撃者は、userA 110として認証を受けることができる。
以下のゲームベースの証明は、チャレンジ識別デバイスおよびチャレンジユーザに関連する暗号値以外の、敵対者の手元にあるすべての暗号値を用いて、敵対者が、チャレンジユーザになりすますことができないことを示している。このゲームは、以下の要素、すなわち、盗聴者からの鍵交換の秘匿、いくつかの参加者の共謀、および不正識別デバイス情報の偽造を含むだけの十分な広さを有する。
その目標として、合法的情報を処理することなく、認証に成功し、それによって、自分は合法的に識別デバイスにアクセスしたことがあると別のユーザを納得させなければならない、敵対者Aを考える。特に、Aは、ともにチャレンジの対象である与えられたユーザv*および与えられた識別デバイスについての組
Figure 0005562687
を有していない。
なりすましゲーム
Aは、プロトコルのすべてのアルゴリズムを自由に実行することを許される。次に、シミュレータBは、チャレンジタグを初期化するが、敵対者は、自ら選択した(チャレンジの1つの対象以外の)任意のユーザとして、その識別デバイスについての認証を(第2のプロトコルに従って)成功させるための情報を取得することができる。
最後に、攻撃者は、チャレンジユーザv*を選び、認証を成功させて、自分はチャレンジタグを所有したことのあるユーザv*であるとシミュレータを納得させる必要がある。特に、ゲームの終りにおいて、攻撃者は、鍵Kを出力する必要がある。このゲームをなりすましと呼ぶ。
定理3 敵対者Aが非ゼロの有利性
ImpersonateA:=Pr[Aがなりすましゲームに勝利する]
を有する場合、確率的多項式時間アルゴリズムBは、双線形決定ディフィ-ヘルマン問題(BDDH)の与えられた事例を解くためにBがAの有利性を使用する環境を生成することができる。
証明。Bを以下のように定義する。Bは、BDDH問題のランダムな事例(g,ga,gb,gc,gx)を与えられ、x=abcであるかどうかを検査するためにAを使用することを望む。アルゴリズムBは、Aが動作する環境をシミュレートする。
シミュレータBは、整数m=4qと設定し、ここで、qは、様々なプロトコルについて敵対者が問い合わせ全体で検討する識別情報の数の上限である。その後、Bは、
Figure 0005562687
を選択し、2つのランダムなベクトル
Figure 0005562687
および
Figure 0005562687
を選択する。以下の関数が定義され、F(v)=(p-mk)+x0i∈Vxi、J(v)=y0i∈Vyi
であり、K(v)は、
Figure 0005562687
のように定義される。
シミュレータは、gを決定双線形ディフィ-ヘルマン(BDH: Bilinear Diffie-Hellman)チャレンジ(BDHチャレンジは、B. Waters、「Efficient Identity-Based Encryption Without Random Oracles」、EUROCRYPT、114〜127頁、2005年において定義されたものとして理解することができる)から受け取った生成元
Figure 0005562687
および
Figure 0005562687
として設定し、その後、シミュレータは、図5に関して定義されたプロトコルの規則に従って、
Figure 0005562687
を選び、S=gαおよび
Figure 0005562687
と設定し、公開システムパラメータを公表する。今度は、H(v)=U0Πi∈VUi=gbF(v)+J(v)であり、ここで、Vは、手元の文字列の第iビットが1に等しいインデックスiの集合であることに留意されたい。
最初に、攻撃者は、すべての識別情報ベース暗号化(IBE: Identity Based Encryption)の私有鍵を受け取り、このようにして、IBEの保護は無力化される。したがって、この証明の残りでは、IBE.(・)という表記は省略される。
攻撃者は、v*とは異なる、自ら選択した任意の識別情報viとして随意に登録することができ、TTPから値
Figure 0005562687
を受信する。
Aは、自ら選択した任意のユーザとして、任意の識別デバイスを初期化することができる。Aは、シミュレータの関与なしに、この動作を自律的に実行することができる。
図5に関して定義された代替配送プロトコルの実行時に、攻撃者Aは、識別デバイスのID、2つの識別情報viおよびvj、ならびに組
Figure 0005562687
をBに送信する。Bは、代替配送プロトコルによって命じられるように
Figure 0005562687
を計算し、組(X1',X2',X3')をAに返信する。
最後に、Aは、保存された複数の値を単に読み取り、それらを保存し、その値を識別デバイスの識別子DevIDと関連付けることによって、図5に関して定義された、R10で開始する受け取りプロトコルを実行することができる。
その後、Bは、チャレンジの対象である新しい識別デバイスを初期化する。その後、Aは、自ら選択した任意のユーザviについて、そのユーザとしてハンドシェークまたは認証に成功するのに必要な情報を受信する資格を与えられる。したがって、Aは、viをBに送信する。K(vi)=0である場合、Bはアボートし、ランダムな推測を出力する。K(vi)=0でない場合、Bは
Figure 0005562687
を選び、
Figure 0005562687
を計算し、ここで、
Figure 0005562687
である。対(X1,X2)を用いて、攻撃者は、望む任意の認証を実行することができるが、図5に関して説明された代替配送プロトコルを実行することはできない。
加えて、2つの識別情報viおよびvjについて対(X1,X2)が与えられた場合、攻撃者は、第2の認証プロトコルの実行を通して、問い合わせた識別情報に実際に結び付けられた資格証明を受け取ったかどうかを検査することができる。したがって、BによってAに提供されるシミュレーションは完全である。
その後、攻撃者Aは、以前問い合わせたことのない識別情報v*を選択し、x0i∈Vxi≠kmである場合、シミュレータはアボートし、ランダムな推測を提示する。それ以外の場合、F(v*)=0 mod pを得るが、これは、
Figure 0005562687
であることを意味する。その後、Bは、第2の認証プロトコルの説明に従って、対
Figure 0005562687
をチャレンジとして送信する。Aは、(H(vi)r,S'r)によって回答し、その後、鍵Kを出力する。
Aがゲームに勝利する場合、
Figure 0005562687
である。したがって、Bは、
Figure 0005562687
が成り立つかどうかを検査することによって、BDDH問題を解くことができる。
これでなりすましゲームの証明を終了する。
これまでの説明は、識別子によって識別される識別デバイス(100)上に複数の値を保存する例に関連する。しかし、複数の値の提供は、有線(例えば銅線および光ファイバ)、無線、または衛星媒体などの伝送媒体を用いた値の送信を含むことができることを理解されたい。
識別子によって識別される識別デバイス(100)に「対応」する複数の値に関する対応という語は、複数の値が識別子によって識別される識別デバイス(100)の暗号識別子を含むことを示すと理解することができる。
ユーザに「対応」する公開または私有暗号値に関する対応という語は、暗号値がユーザに属すること、または(TTP 130によって)ユーザに割り当てられていることを示すと理解することができる。
図7は、従来のコンピューティング環境920(例えばパーソナルコンピュータ)の形態をとる汎用コンピューティングデバイスを含む、上で説明された態様および実施形態を実施するための例示的なシステムを示している。従来のコンピューティング環境は、処理ユニット922と、システムメモリ924と、システムバス926を含む。システムバスは、システムメモリ924を含む様々なシステムコンポーネントを処理ユニット922に結合する。処理ユニット922は、システムメモリ924にアクセスすることによって、算術、論理、および/または制御演算を実行することができる。システムメモリ924は、処理ユニット922と組み合わせて使用される情報および/または命令を保存することができる。システムメモリ924は、ランダムアクセスメモリ(RAM)928およびリードオンリメモリ(ROM)930などの、揮発性および不揮発性メモリを含むことができる。スタートアップ中などにパーソナルコンピュータ920内の要素間で情報を転送する手助けをする基本ルーチンを含む基本入出力システム(BIOS)は、ROM 930に保存することができる。システムバス926は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のいずれとすることもできる。
パーソナルコンピュータ920は、ハードディスク(図示されず)に対して読み取りおよび書き込みを行うハードディスクドライブ932と、着脱可能ディスク936に対して読み取りおよび書き込みを行う外部ディスクドライブ934をさらに含むことができる。着脱可能ディスクは、磁気ディスクドライバのための磁気ディスク、または光ディスクドライブのためのCD ROMなどの光ディスクとすることができる。ハードディスクドライブ932および外部ディスクドライブ934は、それぞれハードディスクドライブインタフェース938および外部ディスクドライブインタフェース940によってシステムバス926に接続される。ドライブおよび関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性記憶を、パーソナルコンピュータ920に提供する。データ構造は、上で説明されたように、第1のユーザによって第2のユーザに送信される通信を安全化するための方法またはシステムを実施するための関連データを含むことができる。関連データは、例えばリレーショナルデータベースまたはオブジェクトデータベースなどの、データベース内に組織することができる。
本明細書で説明される例示的な環境は、ハードディスク(図示されず)および外部ディスク936を利用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ、およびリードオンリメモリなど、コンピュータによってアクセス可能なデータを保存できる他のタイプのコンピュータ可読媒体も例示的な動作環境において使用できることを当業者であれば理解されたい。
オペレーティングシステム(図示されず)、1つまたは複数のアプリケーションプログラム944、他のプログラムモジュール(図示されず)、およびプログラムデータ946を含む、多くのプログラムモジュールは、ハードディスク、外部ディスク936、ROM 930、またはRAM 928に保存することができる。アプリケーションプログラムは、図1から図6に示された機能の少なくとも一部を含むことができる。
ユーザは、以下で説明されるように、コマンドおよび情報を、キーボード948およびマウス950などの入力デバイスを介して、パーソナルコンピュータ920に入力することができる。他の入力デバイスは、マイクロフォン(もしくは他のセンサ)、ジョイスティック、ゲームパッド、またはスキャナなどを含むことができる。これらおよび他の入力デバイスは、システムバス926に結合されるシリアルポートインタフェース952を介して処理ユニット922に接続することができ、またはパラレルポートインタフェース954、ゲームポート、もしくはユニバーサルシリアルバス(USB)などの他のインタフェースによって接続することができる。さらに、情報は、プリンタ956を使用して印刷することもできる。プリンタ956および他のパラレル入出力デバイスは、パラレルポートインタフェース954を介して処理ユニット922に接続することができる。モニタ958または他のタイプの表示デバイスも、ビデオ入出力960などのインタフェースを介してシステムバス926に接続することができる。モニタに加えて、コンピューティング環境920は、スピーカまたは他の可聴出力など、他の周辺出力デバイス(図示されず)も含むことができる。
コンピューティング環境920は、コンピュータ、(有線または無線)電話、携帯情報端末、またはテレビなどの、他の電子デバイスと通信することができる。通信するため、コンピューティング環境920は、1つまたは複数の電子デバイスへの接続を使用して、ネットワーク環境で動作することができる。図7は、リモートコンピュータ962とネットワーク接続されたコンピュータ環境を示している。リモートコンピュータ962は、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードなどの、別のコンピューティング環境とすることができ、コンピューティング環境920に関して上で説明された要素の多くまたはすべてを含むことができる。図7に示された論理接続は、ローカルエリアネットワーク(LAN)964およびワイドエリアネットワーク(WAN)966を含む。そのようなネットワーク環境は、オフィス、企業規模コンピュータネットワーク、イントラネット、およびインターネットにおいて普通であり、特に暗号化することができる。
LANネットワーク環境で使用される場合、コンピューティング環境920は、ネットワークI/O 968を介してLAN 964に接続することができる。WANネットワーク環境で使用される場合、コンピューティング環境920は、モデム970またはWAN 966を介して通信を確立するための他の手段を含むことができる。コンピューティング環境920の内部にもまたは外部にも存在することができるモデム970は、シリアルポートインタフェース952を介してシステムバス926に接続される。ネットワーク環境では、コンピューティング環境920またはその部分に関して示されたプログラムモジュールは、リモートコンピュータ962上に存在する、またはリモートコンピュータ962からアクセス可能な、リモートメモリ記憶デバイスに保存することができる。さらに、(上で説明された)第1のユーザによって第2のユーザに送信される通信の安全化に関する他のデータは、リモートコンピュータ962上に存在することができ、またはリモートコンピュータ962からアクセス可能とすることができる。示されたネットワーク接続は例示的なものであり、電子デバイス間で通信リンクを確立する他の手段も使用できることが理解されよう。
上で説明されたコンピューティングシステムは、上で説明されたような、第1のユーザによって第2のユーザに送信される通信を安全化するための方法のいずれかを実施するのに使用できるコンピューティングシステムのタイプの一例に過ぎない。
100 識別デバイス
110 第1のユーザ、userA
120 第2のユーザ、userB、userC
130 TTP
920 従来のコンピューティング環境
922 処理ユニット
924 システムメモリ
926 システムバス
928 ランダムアクセスメモリ(RAM)
930 リードオンリメモリ(ROM)
932 ハードディスクドライブ
934 外部ディスクドライブ
936 着脱可能ディスク
938 ハードディスクドライブインタフェース
940 外部ディスクドライブインタフェース
944 1つまたは複数のアプリケーションプログラム
946 プログラムデータ
948 キーボード
950 マウス
952 シリアルポートインタフェース
954 パラレルポートインタフェース
956 プリンタ
958 モニタ
960 ビデオ入出力
962 リモートコンピュータ
964 ローカルエリアネットワーク(LAN)
966 ワイドエリアネットワーク(WAN)
968 ネットワークI/O
970 モデム
Device 識別デバイス
A_PrCV userAの少なくとも1つの私有暗号値
A_PubCV userAの少なくとも1つの公開暗号値
B_PrCV userBの少なくとも1つの私有暗号値
B_PubCV userBの少なくとも1つの公開暗号値
DevCID 識別デバイスの暗号識別子
f(DevCID) 識別デバイスの暗号識別子の関数
f(A_PrCV) userAの少なくとも1つの私有暗号値の関数
f(B_PrCV) userBの少なくとも1つの私有暗号値の関数
f(DevCID,A_PrCV) 識別デバイスの暗号識別子とuserAの少なくとも1つの私有暗号値の関数
A_ID userAの識別子
B_ID userBの識別子
DB データベース
X2 識別デバイスに保存された第2の値
X2' 識別デバイスに保存された更新された第2の値
DevID 識別デバイスの識別子またはシリアル番号
f(A_ID) userAの識別子の関数
f(DevCID,B_PrCV) 識別デバイスの暗号識別子とuserBの少なくとも1つの私有暗号値の関数
f(B_ID) userBの識別子の関数
C_PrCV userCの少なくとも1つの私有暗号値
C_PubCV userCの少なくとも1つの公開暗号値

Claims (15)

  1. 第1のユーザコンピュータ(110)によって第2のユーザコンピュータ(120)に送信される通信を安全化するコンピュータ実施方法であって、
    前記第1のユーザコンピュータ(110)によって、信用できる第三者機関のコンピュータ(130)から、前記第1のユーザコンピュータに対応する少なくとも1つの公開暗号値と、前記第1のユーザコンピュータに対応する少なくとも1つの私有暗号値を受信するステップ(M2)と、
    前記第1のユーザコンピュータ(110)によって、前記第2のユーザコンピュータ(120)に、識別子によって識別される識別デバイス(100)に対応する複数の値を提供するステップと、
    前記第1のユーザコンピュータ(110)によって、前記第1のユーザコンピュータの前記少なくとも1つの私有暗号値と、前記識別子によって識別される前記識別デバイス(100)に対応する前記複数の値のうちの少なくとも1つを使用して、共用鍵を導出するステップ(M5)と、
    前記第1のユーザコンピュータ(110)によって前記第2のユーザコンピュータ(120)に送信される通信を、前記共用鍵を用いて保護するステップ(M7)と
    を含む方法。
  2. 前記複数の値を提供するステップが、前記識別デバイスの暗号識別子の関数である第1の値を提供するステップを含む、請求項1に記載の方法。
  3. 前記複数の値を提供するステップが、前記第2のユーザコンピュータ(120)の少なくとも1つの私有暗号値の関数である第2の値を提供するステップを含む、請求項1または2に記載の方法。
  4. 前記複数の値を提供するステップが、前記第1のユーザコンピュータによって、前記識別子によって識別される前記識別デバイス(100)に前記複数の値を保存するステップを含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記複数の値を保存するステップが、前記保存された複数の値のうちの少なくとも1つの値を再暗号化された値で置き換えることによって、前記保存された複数の値を更新するステップ(UP10)を含む、請求項4に記載の方法。
  6. 前記第1のユーザコンピュータ(110)によって、前記信用できる第三者機関のコンピュータ(130)から、前記第2のユーザコンピュータ(120)の秘密暗号値の関数である値を受信するステップと、
    前記第2のユーザコンピュータ(120)の前記秘密暗号値の関数である前記値を使用して、前記第2のユーザコンピュータの私有暗号値の関数である値を計算するステップと、
    前記保存された複数の値のうちの前記第2の値を前記計算された値で置き換えることによって、前記保存された複数の値を更新するステップ(UP10)と、
    前記識別子によって識別される前記識別デバイスに前記更新された複数の値を保存するステップと
    をさらに含む、請求項3と組み合わされる請求項4に記載の方法。
  7. 前記保存された複数の値を更新するステップが、
    前記第1のユーザコンピュータ(110)によって、前記信用できる第三者機関のコンピュータ(130)に、前記保存された複数の値のうちの前記第2の値を送信するステップ(SS10)と、
    前記第1のユーザコンピュータ(110)によって、前記信用できる第三者機関のコンピュータ(130)から、前記保存された複数の値のうちの前記第2の値から導出される前記再暗号化された値を受信するステップ(SS13)と
    を含む、請求項3と組み合わされる請求項5に記載の方法。
  8. 前記複数の値を提供するステップが、前記第2のユーザコンピュータの前記少なくとも1つの私有暗号値の関数である第1の値を提供するステップを含む、請求項1に記載の方法。
  9. 前記第1のユーザコンピュータ(110)および前記第2のユーザコンピュータ(120)が、前記識別子によって識別される前記識別デバイス(100)にアクセスしたことがあることを検証するために、相互認証を実行するステップをさらに含む、請求項1から8のいずれか一項に記載の方法。
  10. 前記共用鍵を導出するステップが、相互認証を実行するステップを含み、相互認証を実行するステップが、
    前記第1のユーザコンピュータ(110)によって、前記第2のユーザコンピュータ(120)に、ランダムチャレンジを送信するステップ(A10)と、
    前記第1のユーザコンピュータ(110)によって、前記第2のユーザコンピュータ(120)から、前記ランダムチャレンジと前記第2のユーザコンピュータの少なくとも1つの私有暗号値との関数である値を受信するステップ(A12)と
    を含む、請求項9に記載の方法。
  11. 前記第1のユーザコンピュータ(110)によって、前記保存された複数の値のうちの前記第2の値の関数を、前記第2のユーザコンピュータ(120)の少なくとも1つの公開暗号値の関数と比較するステップ(A13)
    をさらに含む、請求項9または10に記載の方法。
  12. 相互認証を実行するステップが、
    前記第1のユーザコンピュータ(110)によって導出された前記共用鍵を、前記第2のユーザコンピュータ(120)の共用鍵と比較するステップ
    を含む、請求項9に記載の方法。
  13. 各比較演算が、計算ディフィ-ヘルマン問題を効率的に計算できない、効率的に計算可能な非退化双線形写像に、入力として値を提供することによって実行される、請求項11または12に記載の方法。
  14. コンピュータシステムにロードされて実行された場合に、請求項1から13のいずれか一項に記載の方法による動作を前記コンピュータシステムに実行させるコンピュータ可読命令を格納するコンピュータが読み取り可能な記憶媒体
  15. 複数のユーザ間における安全な通信を提供するコンピュータシステムであって、
    無線周波識別タグなどの識別デバイス(100)であって、識別子によって識別され、メモリを含む識別デバイスと、
    前記識別子によって識別される前記識別デバイスに複数の値を保存するための命令を処理する
    ように動作可能な第1のコンピュータ(110)と、
    第2のコンピュータと、
    前記第1のコンピュータおよび前記第2のコンピュータに少なくとも1つの公開暗号値を提供し、
    前記第1のコンピュータおよび前記第2のコンピュータに少なくとも1つの私有暗号値を提供する
    ように動作可能な信用できる第三者機関のコンピュータとを含み、
    前記第1のコンピュータは、前記第1のコンピュータに提供される前記少なくとも1つの私有暗号値と、前記識別子によって識別される前記識別デバイス(100)に保存された前記複数の値のうちの少なくとも1つから、共用鍵を導出するように動作可能であり、
    前記第2のコンピュータは、前記第2のコンピュータに提供される前記少なくとも1つの私有暗号値と、前記識別子によって識別される前記識別デバイス(100)に保存された別の複数の値のうちの少なくとも1つから、共用鍵を導出するように動作可能である、
    コンピュータシステム。
JP2010056110A 2009-03-13 2010-03-12 第1のユーザによって第2のユーザに送信される通信の安全化 Active JP5562687B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09290182.6 2009-03-13
EP09290182A EP2228942B1 (en) 2009-03-13 2009-03-13 Securing communications sent by a first user to a second user

Publications (2)

Publication Number Publication Date
JP2010220212A JP2010220212A (ja) 2010-09-30
JP5562687B2 true JP5562687B2 (ja) 2014-07-30

Family

ID=42111607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010056110A Active JP5562687B2 (ja) 2009-03-13 2010-03-12 第1のユーザによって第2のユーザに送信される通信の安全化

Country Status (4)

Country Link
US (1) US8688973B2 (ja)
EP (1) EP2228942B1 (ja)
JP (1) JP5562687B2 (ja)
CN (1) CN101834725B (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
US8548172B2 (en) * 2011-07-08 2013-10-01 Sap Ag Secure dissemination of events in a publish/subscribe network
US9203609B2 (en) 2011-12-12 2015-12-01 Nokia Technologies Oy Method and apparatus for implementing key stream hierarchy
US9154302B2 (en) * 2012-01-25 2015-10-06 CertiVox Ltd. System and method for secure two-factor authenticated ID-based key exchange and remote login using an insecure token and simple second-factor such as a PIN number
US9002554B2 (en) 2012-05-09 2015-04-07 Innova Electronics, Inc. Smart phone app-based remote vehicle diagnostic system and method
EP2680487B1 (en) * 2012-06-29 2019-04-10 Orange Secured cloud data storage, distribution and restoration among multiple devices of a user
WO2014023998A1 (en) 2012-08-07 2014-02-13 Nokia Corporation Access control for wireless memory
US9344276B2 (en) * 2013-01-16 2016-05-17 Mitsubishi Electric Corporation Cryptographic system, re-encryption key generation device, re-encryption device, cryptographic method, and cryptographic program
JP6053966B2 (ja) * 2014-01-14 2016-12-27 三菱電機株式会社 暗号システム及び再暗号化装置
US9503447B2 (en) 2014-01-30 2016-11-22 Sap Se Secure communication between processes in cloud
US9424438B2 (en) 2014-03-31 2016-08-23 Sap Se Privacy leakage protection
EP2937806A1 (en) * 2014-04-22 2015-10-28 ALSTOM Renewable Technologies Method and system for securing electronic data exchange between an industrial programmable device and a portable programmable device
WO2016034453A1 (en) 2014-09-04 2016-03-10 Koninklijke Philips N.V. Cryptographic system arranged for key sharing
US9331989B2 (en) 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods
US9740879B2 (en) 2014-10-29 2017-08-22 Sap Se Searchable encryption with secure and efficient updates
US9342707B1 (en) * 2014-11-06 2016-05-17 Sap Se Searchable encryption for infrequent queries in adjustable encrypted databases
US9871663B2 (en) * 2015-03-25 2018-01-16 Intel Corporation Challenge response authentication for self encrypting drives
JP6023853B1 (ja) * 2015-05-29 2016-11-09 日本電信電話株式会社 認証装置、認証システム、認証方法、およびプログラム
KR20170035665A (ko) * 2015-09-23 2017-03-31 삼성에스디에스 주식회사 키 교환 장치 및 방법
US9830470B2 (en) 2015-10-09 2017-11-28 Sap Se Encrypting data for analytical web applications
CN105530099A (zh) * 2015-12-11 2016-04-27 捷德(中国)信息科技有限公司 基于ibc的防伪验证方法、装置、系统和防伪凭证
US9946744B2 (en) * 2016-01-06 2018-04-17 General Motors Llc Customer vehicle data security method
JP6613909B2 (ja) * 2016-01-15 2019-12-04 富士通株式会社 相互認証方法、認証装置および認証プログラム
CN107276764B (zh) * 2017-07-03 2019-10-18 浙江大学 一种基于rfid的供应链路径管控方法
US10746567B1 (en) 2019-03-22 2020-08-18 Sap Se Privacy preserving smart metering
KR20220052016A (ko) 2020-10-20 2022-04-27 삼성전자주식회사 스토리지 장치에서의 보안 동작을 위한 키 교환 방법 및 이를 이용한 접근 권한 이관 방법
US11799643B2 (en) * 2021-01-19 2023-10-24 Bank Of America Corporation Collaborative architecture for secure data sharing
WO2023101660A1 (en) * 2021-11-30 2023-06-08 Hewlett-Packard Development Company, L.P. Encrypted side-band communications

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK0739560T3 (da) * 1994-01-13 2001-10-01 Certco Inc Kryptografisk system og fremgangsmåde med nøgledeponeringsfunktion
US7095852B2 (en) * 1998-02-13 2006-08-22 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
US6853988B1 (en) * 1999-09-20 2005-02-08 Security First Corporation Cryptographic server with provisions for interoperability between cryptographic systems
US20020049910A1 (en) * 2000-07-25 2002-04-25 Salomon Allen Michael Unified trust model providing secure identification, authentication and validation of physical products and entities, and processing, storage and exchange of information
US7434053B2 (en) * 2003-08-28 2008-10-07 Hewlett-Packard Development Company, L.P. Methods and systems for providing an identification key to a printing device
US20060136717A1 (en) * 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US20070106897A1 (en) * 2005-11-07 2007-05-10 Michael Kulakowski Secure RFID authentication system
MX2008015210A (es) * 2006-06-09 2009-05-28 Verisign Inc Metodo y aparato para proporcionar autentificacion y privacidad con dispositivos de baja complejidad.
JP4869824B2 (ja) * 2006-08-08 2012-02-08 三菱電機株式会社 受信者装置及び送信者装置及び暗号通信システム及びプログラム
WO2008029830A1 (fr) * 2006-09-08 2008-03-13 Ihc Corp. Système de gestion d'articles
US8332656B2 (en) * 2007-01-09 2012-12-11 Mojix, Inc. Systems and methods for secure supply chain management and inventory control
CN101068143B (zh) * 2007-02-12 2012-04-11 中兴通讯股份有限公司 一种网络设备认证方法
US8966252B2 (en) * 2007-03-13 2015-02-24 Board Of Trustees Of Michigan State University Private entity authentication for pervasive computing environments
US20080290994A1 (en) * 2007-03-30 2008-11-27 Skyetek, Inc. Method For Cryptographically Combining HF and UHF RFID Tags/Smart Cards To Create A Single Multi-Use Credential
US8892869B2 (en) * 2008-12-23 2014-11-18 Avaya Inc. Network device authentication

Also Published As

Publication number Publication date
US8688973B2 (en) 2014-04-01
CN101834725B (zh) 2014-08-20
CN101834725A (zh) 2010-09-15
US20100235627A1 (en) 2010-09-16
JP2010220212A (ja) 2010-09-30
EP2228942A1 (en) 2010-09-15
EP2228942B1 (en) 2012-06-06

Similar Documents

Publication Publication Date Title
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
Li et al. Full verifiability for outsourced decryption in attribute based encryption
Han et al. Improving privacy and security in decentralized ciphertext-policy attribute-based encryption
Zhou et al. TR-MABE: White-box traceable and revocable multi-authority attribute-based encryption and its applications to multi-level privacy-preserving e-healthcare cloud computing systems
Zhou et al. PSMPA: Patient self-controllable and multi-level privacy-preserving cooperative authentication in distributedm-healthcare cloud computing system
CN111130757A (zh) 一种基于区块链的多云cp-abe访问控制方法
CA2747891C (en) Method for generating an encryption/decryption key
CN101800738B (zh) 一种移动设备安全访问与存储内网数据的实现系统及方法
JP2018182736A (ja) 秘密かつ相互認証される鍵交換
KR20090058496A (ko) 저복잡도 장치들을 사용하여 인증 및 프라이버시를 제공하는 방법 및 장치
US11374910B2 (en) Method and apparatus for effecting a data-based activity
CN110535626B (zh) 基于身份的量子通信服务站保密通信方法和系统
Premkamal et al. Dynamic traceable CP‐ABE with revocation for outsourced big data in cloud storage
Guo et al. Attribute‐based ring signcryption scheme
Bhandari et al. A framework for data security and storage in Cloud Computing
Bakas et al. The cloud we share: Access control on symmetrically encrypted data in untrusted clouds
Paul et al. A CCA-secure collusion-resistant identity-based proxy re-encryption scheme
US11637817B2 (en) Method and apparatus for effecting a data-based activity
Tiwari et al. ACDAS: Authenticated controlled data access and sharing scheme for cloud storage
Kerschbaum et al. RFID-based supply chain partner authentication and key agreement
Chen et al. A hybrid encryption scheme with key-cloning protection: user/terminal double authentication via attributes and fingerprints
Nikooghadam et al. HAKECC: Highly efficient authentication and key agreement scheme based on ECDH for RFID in IOT environment
Xu et al. A decentralized pseudonym scheme for cloud-based eHealth systems
Tsai et al. Secure data-sharing using distributed environmental matching keys
CN113794570B (zh) 一种基于零知识证明的私钥管理方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140611

R150 Certificate of patent or registration of utility model

Ref document number: 5562687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250