JP6758476B2 - デバイス間の共通セッション鍵を取得するシステムおよび方法 - Google Patents

デバイス間の共通セッション鍵を取得するシステムおよび方法 Download PDF

Info

Publication number
JP6758476B2
JP6758476B2 JP2019503954A JP2019503954A JP6758476B2 JP 6758476 B2 JP6758476 B2 JP 6758476B2 JP 2019503954 A JP2019503954 A JP 2019503954A JP 2019503954 A JP2019503954 A JP 2019503954A JP 6758476 B2 JP6758476 B2 JP 6758476B2
Authority
JP
Japan
Prior art keywords
identity
authentication data
key
private key
shared secret
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
JP2019503954A
Other languages
English (en)
Other versions
JP2019526205A (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.)
Huawei International Pte Ltd
Original Assignee
Huawei International Pte Ltd
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 Huawei International Pte Ltd filed Critical Huawei International Pte Ltd
Publication of JP2019526205A publication Critical patent/JP2019526205A/ja
Application granted granted Critical
Publication of JP6758476B2 publication Critical patent/JP6758476B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3247Cryptographic 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 digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は、デバイス間のデジタル通信を符号化するための共通セッション鍵を生成するシステムおよび方法に関する。特に、システムは、2つのデバイスが、これらの認証されたデバイスが共通セッション鍵の生成を開始する前に各デバイスの真偽を検証することを可能にし、この共通セッション鍵は次にこれら2つのデバイス間のデジタル通信を符号化するために利用される。
複数のテクノロジの収束により、ますます多くのデバイスがインターネットとシームレスに無線通信したり、それらの間で無線により通信を交換したりできるようになっている。この収束により、近年ではモノのインターネット(IoT)のビジョンがさらに勢いを増している。モノのインターネットでは、何百万ものエンティティまたはデバイス(すなわちモノ)が相互に接続される。スマートチップ、スマートプラグ、スマートウォッチ、スマートフォン、スマートビークル、スマートビルなどのデバイスまたはエンティティを含むこれらのデバイスは、相互に直接通信するか、またはインターネットを介して通信する。
モノのインターネットがより多くの分野に普及するにつれて、これらのデバイスは、ハッカーや不正ユーザからのサイバー攻撃を受けやすくなる。というのもセキュリティ侵害されたデバイスは悪意あるユーザにそのデバイスが属するネットワークへのアクセスを許可するからである。したがって、2つのエンティティ間でデータが交換される前に、1つのエンティティが通信相手となるピアエンティティの真偽を検証できるようにセキュリティプロトコルを設定することが最も重要である。上記に加えて、一旦エンティティの真偽が検証されたら、これら2つのエンティティだけに知られているシークレット鍵を確立して、これらのエンティティ間のデータメッセージの署名を容易にする必要がある。これは、データが傍受またはリダイレクトされた場合でも、これら2つのエンティティ間で通信されるデータが危険にさらされないようにするためである。
エンティティ間のデータ通信に署名するためのシークレット鍵を確立する一般的な方法は、当事者間で共通の対称シークレット鍵を事前共有することを含む。そのような方法の場合、エンティティ間で送信されることになっているデータメッセージは、この事前共有または事前合意されたシークレット鍵を使用して署名されることになる。受信側エンティティがこの事前共有シークレット鍵を使用して受信メッセージを復号できる場合、これは送信者の真偽が検証されており、受信者はそれに応じて次に進んで、復号化メッセージを処理し得ることを意味する。残念ながら、この方法は、エンティティまたはデバイスが相互通信する前に共通のシークレットがすべての信頼できるエンティティまたはデバイスに事前共有または通信される必要があるため、スケーラブルではなく非常に融通性がない。IoTの設定では、デバイスの高モビリティが標準であり、データを相互交換するために必要なデバイスは、事前にシークレット鍵を確立する機会がなかった可能性もある。
提案されている別の手法は、公開鍵インフラストラクチャ(PKI)ベースの解決策を利用し、それによって各許可されたエンティティに割り当てられた鍵ペアが公開鍵証明書によってその所有者に結び付けられる。次いで、鍵ペアは、公開鍵暗号化またはデジタル署名方法論などの公開鍵暗号システムを利用して、データメッセージに署名するか、または送信者の公開鍵証明書を検証することによって送信者の真偽を検証する。そのような公開鍵インフラストラクチャの設定と保守は、高価であるのは知られているが、それぞれの公開鍵証明書を検証するためにエンティティがPKIサーバとの連絡を絶えず維持することを必要とする。
提案されているさらに別の手法は、エンティティを認証し、データメッセージに署名するためにアイデンティティベースの暗号化方法論を利用する。このようなアイデンティティベースの暗号システムは、双線形ペアリングに基づいており、ユーザ名、電子メールアドレス、電話番号、IPアドレスなどのエンティティのアイデンティティを公開鍵として利用する特別な公開鍵暗号システムであり、次に、対応するプライベート鍵がエンティティのプライベート鍵の生成に利用されるマスターシークレット鍵を含む鍵生成センターによりエンティティのアイデンティティから導出される。この手法の欠点は、双線形ペアリングが高価で時間がかかる計算プロセスだということである。
上記の理由から、当業者は、エンティティの真偽を検証し、検証されたエンティティ間でデータメッセージを符号化するために使用される共通のセッション鍵を生成するためのシステムおよび方法を思いつくために絶えず努力している。
本発明による実施形態によって提供されるシステムおよび方法により上記および他の問題は解決され、当技術分野における進歩が達成される。
本発明によるシステムおよび方法の実施形態の第1の利点は、モノのインターネット設定においてデバイスまたはエンティティのペアが互いの真偽を検証し、共通のセッション鍵を独立して生成できることであり、これにより鍵生成サーバとの通信を常に維持する必要がないことである。
本発明によるシステムおよび方法の実施形態の第2の利点は、エンティティの認証および共通セッション鍵の生成方法が、好ましくは楕円曲線にわたって実施され(直接的には有限体にわたって実施されることも可能である)、それ故、高い計算および通信性能をもたらすことである。
本発明によるシステムおよび方法の実施形態の第3の利点は、エンティティ間のシークレットの暗黙的な共有がエンティティの認証プロセスおよびその後の認証されたエンティティに対する共通セッション鍵の生成を非常に単純化することである。
上記の利点は、以下の手法で動作する本発明による方法の実施形態によって提供される。簡潔にするために、本発明の実施形態の以下の説明では、乗法記法が算術演算に利用されるが、当業者にとって、算術演算が楕円曲線上で実行されるときには加算表記法を用いて記述されるべきであることを理解することは容易なはずである。
本発明の第1の態様によれば、第1のエンティティと第2のエンティティとの間のデジタル通信を符号化するための共通セッション鍵SKijを生成する方法は、セキュアサーバによって、第1のエンティティに対するプライベート鍵skiを生成し、プライベート鍵skiは、第1のエンティティのアイデンティティidiの離散対数型デジタル署名[Ri、si]を含み、セキュアサーバによって、第2のエンティティに対するプライベート鍵skjを生成するステップであり、プライベート鍵skjは、第2のエンティティのアイデンティティidjの離散対数型デジタル署名[Rj、sj]を含み、RiおよびRjは群要素であり、siおよびsjはqを法とする整数を含み、qは素数であり、プライベート鍵skiは第1のエンティティに伝達され、プライベート鍵skjは第2のエンティティに伝達される、ステップと、第1のエンティティによって、暗号ノンスNi、第1のエンティティのアイデンティティidi、およびRiを第2のエンティティと共有するステップと、第2のエンティティによって、暗黙的共有シークレットkjiを共有Riを使用して計算し、暗黙的共有シークレットkji、暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給して認証データAdjを生成するステップと、第2のエンティティによって、暗号ノンスNj、第2のエンティティのアイデンティティidj、Rj、および認証データAdjを第1のエンティティと共有するステップと、第1のエンティティによって、共有Rjを使用して暗黙的共有シークレットkijを計算し、暗黙的共有シークレットkij、暗号ノンスNi、および暗号ノンスNjを使用して認証データAdjを検証するステップであり、認証データAdjが検証されると、暗黙的共有シークレットkij、暗号ノンスNi、暗号ノンスNj、第1のエンティティのアイデンティティidi、および第2のエンティティのアイデンティティidjを鍵導出関数に供給することにより共通セッション鍵SKijを生成する、ステップとを含む。
第1の態様に関して、第1の態様の第1の可能な実装方法において、本方法はさらに、第1のエンティティによって、暗黙的共有シークレットkij、暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給して認証データAdiを生成し、認証データAdiを第2のエンティティに伝達するステップと、第2のエンティティによって、暗黙的共有シークレットkjiを使用して認証データAdiを検証するステップであり、認証データAdiが検証されると、暗黙的共有シークレットkji、暗号ノンスNi、暗号ノンスNj、第1のエンティティのアイデンティティidi、および第2のエンティティのアイデンティティidjを鍵導出関数に供給して共通セッション鍵SKijを生成する、ステップとを含む。
第1の態様または第1の態様の第1の可能な実装方法に関して、第1の態様の第2の可能な実装方法において、認証データAdjの生成はさらに、認証データ導出関数に第1のエンティティのアイデンティティidiおよび第2のエンティティのアイデンティティidjを供給するステップを含む。
第1の態様の第1または第2の可能な実装方法に関して、第1の態様の第3の可能な実装方法において、認証データAdiの生成はさらに、認証データ導出関数に第1のエンティティのアイデンティティidiおよび第2のエンティティのアイデンティティidjを供給するステップを含む。
第1の態様、第1の態様の第1、第2または第3の可能な実装方法に関して、第1の態様の第4の可能な実装方法において、認証データAdjを検証するステップは、暗黙的共有シークレットkij、暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給して結果を取得し、結果が認証データAdjと一致するか否かを判定するステップであり、一致が見つかった場合、認証データAdjを検証する、ステップを含む。
第1の態様の第1、第2、第3または第4の可能な実装方法に関して、第1の態様の第5の可能な実装方法において、認証データAdiを検証するステップは、暗黙的共有シークレット ji 、暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給して結果を取得し、結果が認証データAdiと一致するか否かを判定するステップであり、一致が見つかった場合、認証データAdiを検証する、ステップを含む。
第1の態様に関して、第1の態様の第6の可能な実装方法において、暗号ノンスNiは、aが乱数であるgaを含む。
第1の態様または第1の態様の第6の可能な実装方法に関して、第1の態様の第7の可能な実装方法において、暗号ノンスNjは、bが乱数であるgbを含む。
第1の態様または第1の態様の第1から第7の可能な実装方法に関して、第1の態様の第8の可能な実装方法において、認証データ導出関数は、メッセージ認証コード(MAC)関数を含む。
第1の態様または第1の態様の第1から第8の可能な実装方法に関して、第1の態様の第9の可能な実装方法において、鍵導出関数は、衝突耐性ハッシュ関数を含む。
第1の態様または第1の態様の第1から第9の可能な実装方法に関して、第1の態様の第10の可能な実装方法において、プライベート鍵skiは、Ri=griおよびsi=ri+xH(Ri、idi)(modulo q)である、第1のエンティティのアイデンティティidiのSchnorr署名であり、プライベート鍵skjは、Rj=grjおよびsj=rj+xH(Rj、idj)(modulo q)である、第2のエンティティのアイデンティティidjのSchnorr署名であり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、暗黙的共有シークレットkji=gsi・sjであり、暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である。
第1の態様または第1の態様の第1から第9の可能な実装方法に関して、第1の態様の第11の可能な実装方法において、プライベート鍵skiは、Ri=griおよびsi=x-1・(H(idi)−ri・Ri)(modulo q)である、第1のエンティティのアイデンティティidiのElGamal署名の第1のバリアントであり、プライベート鍵skjは、Rj=grjおよびsj=x-1・(H(idj)−rj・Rj)(modulo q)である、第2のエンティティのアイデンティティidjのElGamal署名の第1のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数である。この場合、kji=ysi・sjであり、kij=ysj・siであり、y=gxはマスター公開鍵である。
第1の態様または第1の態様の第1から第9の可能な実装方法に関して、第1の態様の第12の可能な実装方法において、プライベート鍵skiは、Ri=griおよびsi=xRi+ri・H(idi)(modulo q)である、第1のエンティティのアイデンティティidiのElGamal署名の第2のバリアントであり、プライベート鍵skjは、Rj=grjおよびsj=xRj+rj・H(idj)(modulo q)である、第2のエンティティのアイデンティティidjのElGamal署名の第2のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、暗黙的共有シークレットkji=gsi・sjであり、暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である。
第1の態様または第1の態様の第1から第9の可能な実装方法に関して、第1の態様の第13の可能な実装方法において、プライベート鍵skiは、Ri=griおよびsi=x・H(idi)+ri・Ri(modulo q)である、第1のエンティティのアイデンティティidiのElGamal署名の第3のバリアントであり、プライベート鍵skjは、Rj=grjおよびsj=x・H(idj)+rj・Rj(modulo q)である、第2のエンティティのアイデンティティidjのElGamal署名の第3のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、暗黙的共有シークレットkji=gsi・sjであり、暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である。
第1の態様または第1の態様の第1から第9の可能な実装方法に関して、第1の態様の第14の可能な実装方法において、プライベート鍵skiは、Ri=griおよびsi=x-1・(Ri−ri・H(idi))(modulo q)である、第1のエンティティのアイデンティティidiのElGamal署名の第4のバリアントであり、プライベート鍵skjは、Rj=grjおよびsj=x-1・(Rj−rj・H(idj))(modulo q)である、第2のエンティティのアイデンティティidjのElGamal署名の第4のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数である。この場合、kji=ysi・sjおよびkij=ysj・siであり、y=gxはマスター公開鍵である。
本発明の第2の態様によれば、第1のエンティティと第2のエンティティとの間のデジタル通信を符号化するための共通セッション鍵SKijを生成する方法は、セキュアサーバによって、第1のエンティティに対するプライベート鍵skiを生成し、プライベート鍵skiは、第1のエンティティのアイデンティティidiの離散対数型デジタル署名[Ri、si]を含み、セキュアサーバによって、第2のエンティティに対するプライベート鍵skjを生成するステップであり、プライベート鍵skjは、第2のエンティティのアイデンティティidjの離散対数型デジタル署名[Rj、sj]を含み、RiおよびRjは群要素であり、siおよびsjはqを法とする整数を含み、qは素数であり、プライベート鍵skiは第1のエンティティに伝達され、プライベート鍵skjは第2のエンティティに伝達される、ステップと、第1のエンティティによって、暗号ノンスNi、第1のエンティティのアイデンティティidi、およびRiを第2のエンティティと共有するステップと、第2のエンティティによって、gが巡回群Gの生成元である、暗黙的共有シークレットkji=gsi・sjを共有Riを使用して計算し、暗黙的共有シークレットkji、暗号ノンスNi、暗号ノンスNj、第1のエンティティのアイデンティティidi、および第2のエンティティのアイデンティティidjを鍵導出関数に供給し、共通セッション鍵SKji、暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給することにより共通セッション鍵SKjiを計算して認証データAdjを生成するステップと、第2のエンティティによって、暗号ノンスNj、第2のエンティティのアイデンティティidj、Rj、および認証データAdjを第1のエンティティと共有するステップと、第1のエンティティによって、共有Rjを使用して暗黙的共有シークレットkij=gsj・siを計算し、暗黙的共有シークレットkij、暗号ノンスNi、暗号ノンスNj、第1のエンティティのアイデンティティidiおよび第2のエンティティのアイデンティティidjを鍵導出関数に供給して共通セッション鍵SKijを計算し、共通セッション鍵SKij、暗号ノンスNi、および暗号ノンスNjを使用して認証データAdjを検証するステップであり、認証データAdjが検証されると、第1のエンティティと第2のエンティティとの間のデジタル通信を符号化するための共通セッション鍵として共通セッション鍵SKijまたはSKjiを使用する、ステップとを含む。
本発明による上記利点および特徴は、以下の詳細な記載において説明され、以下の図面で図示される。
図1は、本発明の実施形態による、エンティティペアの認証および認証されたエンティティペアに対する共通セッション鍵生成システムを表すブロック図を示す。 図2は、本発明の実施形態による、実施形態を実装するための電子装置またはサーバ内の構成要素を表すブロック図を示す。 図3は、本発明の実施形態による、エンティティペアの認証および認証されたエンティティペアに対する共通セッション鍵の生成のためのタイミング図を示す。 図4は、本発明の実施形態による、エンティティペアの真偽を検証し、エンティティペアの共通セッション鍵を計算するためのプロセスの流れ図を示す。 図5は、本発明の実施形態による、第2のエンティティの真偽を検証し、第1のエンティティで共通セッション鍵を生成するためのプロセスの流れ図を示す。 図6は、本発明の実施形態による、第1のエンティティの真偽を検証し、第2のエンティティで共通セッション鍵を生成するためのプロセスの流れ図を示す。
本発明は、デバイス間のデジタル通信を符号化するための共通セッション鍵を生成するシステムおよび方法に関する。特に、共通セッション鍵が計算される前に、エンティティペアは最初に各エンティティまたはデバイスの真偽を検証する。一旦これらのエンティティが認証されると、エンティティペアは次に進んで、これらのエンティティ間のデジタル通信をエンコードするために使用される共通のセッション鍵を生成する。
図1は、本発明の実施形態による、エンティティペアの認証および共通セッション鍵生成システムのブロック図を示す。図1に示すシステムは、セキュアサーバ120に無線接続されているエンティティ105、110を含む。エンティティ105、110はそれぞれ、スマートフォン、タブレットコンピュータ、モバイルコンピュータ、ネットブック、スマートウォッチなどのウェアラブル電子装置、スマートプラグ、またはスマートデバイスまたはモノのインターネット(IoT)対応デバイスに見られるトランシーバなどの無線通信機能を実行することができる任意のデバイスを含むことができるが、それらに限定されない。
セキュアサーバ120に関しては、このサーバは、インターネット115を介してまたは直接のいずれかで、エンティティ105および110と無線通信することができるセキュアクラウドサーバまたは遠隔地にあるセキュアサーバを備え得る。サーバ120がインターネット115を介してエンティティ105および110と通信するように構成された場合、サーバ120は、限定されないが、例えばセルラネットワーク、衛星ネットワーク、電気通信ネットワーク、または広域ネットワーク(WAN)などの有線ネットワークまたはワイヤレスネットワーク125を介して通信することができる。あるいは、サーバ120がエンティティ105および110と直接通信するように構成されている場合、これは、限定ではないが、ワイヤレスフィディリティ(Wi−Fi)、Bluetooth、または近距離無線通信(NFC)などのワイヤレスネットワーク130を介して達成され得る。エンティティ105および110は、ワイヤレスネットワーク125(インターネットを介して)またはワイヤレスネットワーク130(直接通信)のいずれかを利用してデータメッセージを相互に交換し得ることに留意されたい。
図2は、本発明の実施形態による、実施形態を実施するためのエンティティ105、110およびサーバ120内に提供される電子装置200の構成要素を表すブロック図を示す。当業者であれば理解するであろうが、エンティティまたはサーバ内に提供される各電子装置の正確な構成は異なってもよく、また電子装置200の正確な構成は異なってもよく、また図2は一例としてのみ提供される。
本発明の実施形態において、デバイス200は、コントローラ201とユーザインタフェース202とを備える。ユーザインタフェース202は、ユーザと電子装置200との間の手動のインタラクションを可能にするように構成され、この目的のために、ユーザが命令を入力して電子装置200を制御するのに必要な入力/出力コンポーネントを含む。当業者であれば理解するであろうが、ユーザインタフェース202の構成要素は実施形態ごとに異なり得るが、通常、ディスプレイ240、キーボード235、およびトラックパッド236のうちの1つまたは複数を含む。
コントローラ201は、バス215を介してユーザインタフェース202とデータ通信し、メモリ220、この実施形態の方法を実行するための命令およびデータを処理する回路基板に搭載された中央処理装置(CPU)205、オペレーティングシステム206、ユーザインタフェース202と通信するための入出力(I/O)インタフェース230およびこの実施形態ではネットワークカード250の形態である通信インタフェースを含む。ネットワークカード250は、例えば電子装置200からのデータを有線またはワイヤレスネットワークを介して他の処理装置へ送信するためにあるいはデータを有線またはワイヤレスネットワークを介して受信するために利用され得る。ネットワークカード250によって利用され得るワイヤレスネットワークは、ワイヤレスフィディリティ(Wi−Fi)、Bluetooth、近距離無線通信(NFC)、セルラネットワーク、衛星ネットワーク、電気通信ネットワーク、広域ネットワーク(WAN)などを含むが、これらに限定されない。
メモリ220およびオペレーティングシステム206は、バス210を介してCPU205とデータ通信している。メモリコンポーネントは、揮発性および不揮発性メモリの両方、ならびにランダムアクセスメモリ(RAM)220、読み出し専用メモリ(ROM)225および1つまたは複数のソリッドステートドライブ(SSD)を備える大容量記憶装置245を含む各タイプのメモリのうちの2つ以上を含む。メモリ220はまた、シークレット鍵、またはプライベート鍵を安全に記憶するためのセキュアストレージ246も含む。セキュアストレージ246内のコンテンツは、装置200のスーパーユーザまたは管理者によってのみアクセス可能であり、装置200のいかなるユーザによってもアクセスされ得ないことに留意されたい。当業者であれば理解するであろうが、上記のメモリコンポーネントは、非一時的コンピュータ可読媒体を含み、一時的な伝搬信号を除くすべてのコンピュータ可読媒体を含むものとする。通常、命令はプログラムコードとしてメモリコンポーネントに格納されるが、配線接続されることも可能である。メモリ220は、揮発性または不揮発性メモリのいずれかに格納され得るソフトウェアアプリケーションなどのカーネルおよび/またはプログラミングモジュールを含み得る。
本明細書では、「CPU」という用語は、そのような命令を処理することができる任意のデバイスまたはコンポーネントを総称的に指すために使用され、マイクロプロセッサ、マイクロコントローラ、プログラマブルロジックデバイスまたは他の計算デバイスを含み得る。すなわち、CPU205は、入力を受信し、メモリに格納された命令に従ってそれらを処理し、(例えば、メモリコンポーネントまたはディスプレイ240に対する)出力を生成するための任意の適切な論理回路によって提供され得る。この実施形態では、CPU205は、メモリアドレス可能空間を有するシングルコアまたはマルチコアプロセッサであってもよい。一例では、CPU205は、例えば8コアCPUを含むマルチコアであってもよい。
図1に戻って参照すると、本発明の実施形態によるエンティティペア認証および共通セッション鍵生成システムにエンティティ105および110を追加する前に、サーバ120はまず離散対数型署名方式に基づいて設定手順を開始してマスターシークレット鍵「x」およびマスター公開鍵「y」を生成する。設定手順において、サーバ120はまず、素数位数q、およびGの生成元gを有する適切な巡回群Gを決定する。
次に、サーバ120は、暗号衝突耐性ハッシュ関数
を選択し、
は当業者には既知である適切な整数である。サーバ120はまた、システム内で使用するために採用されるべき認証データ導出関数および鍵導出関数を選択する。本発明の実施形態では、認証データ導出関数は、メッセージ認証コード(MAC)、メッセージ完全性コード、または鍵付きハッシュ関数などのメッセージの真偽を検証するための任意のアルゴリズムまたは方式を含んでもよく、一方鍵導出関数は、衝突耐性ハッシュ関数などのシークレット値からシークレット鍵を導出するための任意の方式を含んでもよい。それが行われると、サーバ120は次に許可された整数のセット(x∈Zq)からマスターシークレット鍵「x」を選択し、マスター公開鍵「y」はy=gxとして設定される。上述の設定手順は、限定されるわけではないが、Schnorr署名方式またはElGamal署名方式などの離散対数型の署名方式を設定するための初期手順と同様であることに留意されたい。
エンティティ105または110がシステムに参加すると、これらのエンティティのそれぞれに固有のプライベート鍵がセキュアサーバ120によって生成される。これらの固有のプライベート鍵は一旦生成されると次に、これらのエンティティのそれぞれに伝達され、それにより対応するプライベート鍵がエンティティ105および110のそれぞれ内のセキュアメモリ内に格納される。
特に、エンティティ105が自身をサーバ120に登録するとき、エンティティ105はそのアイデンティティをサーバ120に伝達する。エンティティ105のアイデンティティは、そのユーザ名、電子メールアドレス、電話番号、IPアドレス、MACアドレス、またはエンティティ105を一意的に特定するために利用され得る任意の英数字の組み合わせを含み得る。サーバ120は次に、乱数r105を選択し、以前に生成されたマスターシークレット鍵「x」とエンティティ105のアイデンティティid105とを利用して、エンティティ105のアイデンティティの離散対数型デジタル署名を取得する。エンティティ105に対するシークレットプライベート鍵sk105は次に、エンティティ105に対するアイデンティティ(R105、s105)の取得された離散対数型デジタル署名として設定される、すなわちsk105=(R105、s105)である。同様に、エンティティ110が自身をサーバ120に登録するとき、エンティティ110もまたそのアイデンティティをサーバ120に送信する。サーバ120は次に、乱数r110を選択し、以前に生成されたマスターシークレット鍵「x」およびエンティティ110のアイデンティティid110を利用してエンティティ110のアイデンティティid110の離散対数型デジタル署名を取得する。エンティティ110に対するシークレットプライベート鍵sk110は次に、エンティティ110に対するアイデンティティ(R110、s110)の取得された離散対数型デジタル署名として設定される、すなわち、sk110=(R110、s110)である。上記2つのシークレットプライベート鍵については、R105とR110はグループ要素であり、一方s105とs110は、素数であるqを法とする整数を含む。s105およびs110が対応する署名検証アルゴリズムにおいてgsまたはysによってチェックされ得る任意の離散対数型デジタル署名方式が、本発明の実施形態において使用され得ることに留意されたい。
本発明の実施形態では、プライベート鍵sk105は、
およびs105=r105+xH(R105、id105)(modulo q)である、第1のエンティティのアイデンティティid105のSchnorr署名を含み得る。同様に、プライベート鍵sk110は、
およびs110=r110+xH(R110、id110)(mod q)である、第2のエンティティのアイデンティティid110のSchnorr署名を含み得る。上記2つの式では、r105とr110は乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数である。
本発明の別の実施形態では、プライベート鍵sk105は、
およびs105=x-1(H(id105)−r105・R105)(modulo q)である、第1のエンティティのアイデンティティid105のElGamal署名のバリアントを含み得る。同様に、プライベート鍵sk110は、
およびs110=x-1(H(id110)−r110・R110)(modulo q)である、第2のエンティティのアイデンティティid110のElGamal署名を含み得る。上記2つの式では、r105とr110は乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数である。
本発明のさらに別の実施形態では、プライベート鍵sk105は、
およびs105=xR105+r105・H(id105)(modulo q)である、第1のエンティティのアイデンティティid105のElGamal署名の別のバリアントを含み得る。同様に、プライベート鍵sk110は、
およびs110=xR110+r110・H(id110)(modulo q)である、第2のエンティティのアイデンティティid110のElGamal署名の別のバリアントを含み得る。上記2つの式では、r105とr110は乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数である。
本発明のさらに別の実施形態では、プライベート鍵sk105は、
およびs105=x・H(id105)+r105・R105(modulo q)である、第1のエンティティのアイデンティティid105のElGamal署名のさらに別のバリアントを含み得る。同様に、プライベート鍵sk110は、
およびs110=x・H(id110)+r110・R110(modulo q)である、第2のエンティティのアイデンティティid110のElGamal署名のさらに別のバリアントを含み得る。上記2つの式では、r105とr110は乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数である。
本発明のさらに別の実施形態では、プライベート鍵sk105は、
およびs105=x-1(R105−r105・H(id105))(modulo q)である、第1のエンティティのアイデンティティid105のElGamal署名のさらに別のバリアントを含み得る。同様に、プライベート鍵sk110は、
およびs110=x-1(R110−r110・H(id110))(modulo q)である、第2のエンティティのアイデンティティid110のElGamal署名のさらに別のバリアントを含み得る。上記2つの式では、r105とr110は乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性のあるハッシュ関数である。
一旦プライベート鍵がそれぞれのエンティティのセキュアメモリに格納されると、エンティティペア、すなわちエンティティ105および110は認証手順を開始し得る。相互認証に成功した場合、エンティティペアは次に進んで、相互間で送信されたデジタル通信を符号化または署名するための共通セッション鍵を生成し得る。
図3を参照すると、エンティティ105は、最初に暗号ノンスN105を選択することによってエンティティ110との認証プロセスを開始する。選択された暗号ノンスは、任意の乱数または擬似乱数を含み得る。次に、エンティティ105は次に進み、ステップ305において、(エンティティ105のシークレットプライベート鍵から得られる)R105および擬似乱数ノンスN105と共にエンティティ105のアイデンティティid105をエンティティ110と共有する。共有情報を受信時に、エンティティ110は次に進み、k110、105=gs105・s110である、暗黙的共有シークレットk110、105を計算する。プライベート鍵sk110が上記の実施形態で説明したような第2のエンティティのアイデンティティのElGamal署名のバリアントを含む本発明の実施形態では、暗黙的共有シークレットk110、105は代わりに以下のように、すなわちy=gxであるk110,105=ys105・s110として計算し得ることに留意されたい。
当業者であれば理解するであろうが、以下のセクションは、プライベート鍵sk105が、
およびs105=r105+xH(R105,id105)(modulo q)である、第1のエンティティのアイデンティティid105のSchnorr署名を含み、プライベート鍵sk110が、
およびs110=r110+xH(R110、id110)(mod q)である、第2のエンティティのアイデンティティid110のSchnorr署名を含む実施形態を参照するが、上記のような他の種類の離散対数型デジタル署名方式は、本発明から逸脱することなくSchnorr署名方式の代わりに使用し得る。
Schnorr署名方式が採用されるこの実施形態では、暗黙共有シークレットk110、105がさらに拡張されると、結果として、
となる。一旦これが行われると、エンティティ110は、自身の暗号ノンスN110を選択する。次に、暗黙的共有シークレットk110、105は、暗号ノンスN105およびN110と共に認証データ関数に供給され、Ad110=Authentication_Data_Function(k110、105、N105、N110)である、認証データAd110が生成される。本発明の実施形態では、認証データ関数は、その認証データとしてMACを生成するメッセージ認証コード関数であってもよい。エンティティ110は次に進み、ステップ310において、(エンティティ110のシークレットプライベート鍵から得られる)R110、暗号ノンスN110、および生成された認証データAd110と共に、エンティティ110のアイデンティティid110をエンティティ105と共有する。
エンティティ105が一度共有情報を受信すると、エンティティ105は次に進み、
である、あるいは本発明のこの実施例では、さらに拡張されると、
である、暗黙的共有シークレットk105、110を計算する。この段階でk105,110=k110,105となることに気づくのは有益である。
このステップに関し、プライベート鍵sk105が、上記の実施形態で説明したような第1のエンティティのアイデンティティのElGamal署名のバリアントを含む本発明の実施形態では、暗黙的共有シークレットk105、110は代わりに以下のように、すなわち、y=gxである、
として計算されてもよい。
次に、暗黙的共有シークレットk105、110は、暗号ノンスN105およびN110と共に認証データ関数に供給され、Authentication_Data_Function(k105、110、N105、N110)がエンティティ110によって共有される認証データAd110と一致するか否かを判定する。Authentication_Data_Function(k105、110、N105、N110)の結果がエンティティ110によって共有される認証データAd110と一致することが確認される場合、これはエンティティ110が認証されたことを示す。したがって、エンティティ105は次に進み、エンティティ110と共に使用するための共通セッション鍵を生成し得る。共通セッション鍵SK105、110は、暗黙的共有シークレットk105、110、エンティティ105および110のアイデンティティid105およびid110ならびに暗号ノンスN105およびN110を鍵導出関数に供給することによって計算される、すなわちSK105、110=Key_Deriving_Function(k105、110、id105、id110、N105、N110)である。本発明の実施形態では、鍵導出関数は衝突耐性ハッシュ関数であり得る。
共通セッション鍵SK105、110がエンティティ105によって計算された後、暗黙共有シークレットk105、110が暗号ノンスN110およびN105と共に認証データ関数に供給され、Ad105=Authentication_Data_Function(k105、110、N110、N105)である、認証データAd105を生成し、Ad105はその後、ステップ315でエンティティ110と共有される。
認証データAd105を受信すると、エンティティ110は、暗黙共有シークレットk110、105を暗号ノンスN110およびN105と共に認証データ関数に供給して、Authentication_Data_Function(k110、105、N110、N105)がエンティティ105によって共有される認証データAd105と一致するか否かを判定する。Authentication_Data_Function(k110、105、N110、N105)の結果が、エンティティ105によって共有される認証データAd105と一致することが確認される場合、これは、エンティティ105が認証されたことを暗示する。
したがって、エンティティ110は次に進み、エンティティ105と共に使用するための共通セッション鍵を生成し得る。共通セッション鍵SK110、105は、暗黙的共有シークレットk110、105、エンティティ110および105のアイデンティティid110およびid105を暗号ノンスN110およびN105と共に鍵導出関数に供給することによって計算される、すなわち、SK110、105=Key_Deriving_Function(k110、105、id105、id110、N105、N110)である。エンティティ110によって生成された共通セッション鍵SK110、105、およびエンティティ105によって生成された共通セッション鍵SK105、110は次に、このエンティティペア間のデジタルメッセージに署名または符号化するために利用され得る(105から110)。
本発明の別の実施形態では、エンティティ105が最初に暗号ノンスN105を選択することによって認証プロセスを開始する代わりに、エンティティ105は代わりに乱数「a」を選択し、乱数「a」を利用してA=gaである、中間Differy−Helman値Aを計算する。エンティティ105は、前述のように、次に進み、エンティティ105のアイデンティティid105を(エンティティ105のシークレットプライベート鍵から得られる)R105および中間シークレットAと一緒にエンティティ110と共有する。これはステップ305で行われる。
共有情報を受信すると、エンティティ110は次に進み、
である、またはさらに拡張されると、
である、暗黙的共有シークレットk110、105を計算する。一旦これが行われると、エンティティ110は次に、乱数「b」を選択し、次いで乱数「b」を利用してB=gbである、中間Differy−Helman値Bを計算する。次に、暗黙的共有シークレットk110、105は、中間シークレットAおよびBと共に認証データ関数に供給され、Ad110=Authentication_Data_Function(k110、105、B、A)である、認証データAd110を生成する。
エンティティ110は次に進み、ステップ310において、(エンティティ110のシークレットプライベート鍵から得られる)R110、中間シークレットB、および生成された認証データAd110と共に、エンティティ110のアイデンティティid110をエンティティ105と共有する。
エンティティ105が一度共有情報を受信すると、エンティティ105は次に進み、
である、さらに拡張されると、
である、暗黙的共有シークレットk105、110を計算する。次に、暗黙的共有シークレットk105、110は、中間シークレットAおよびBと共に認証データ関数に供給され、Authentication_Data_Function(k105、110、B、A)がエンティティ110によって共有される認証データAd110と一致するか否かを判定する。Authentication_Data_Function(k105、110、B、A)の結果がエンティティ110によって共有される認証データAd110と一致することが確認される場合、これはエンティティ110が認証されたことを示す。
したがって、エンティティ105は次に進み、エンティティ110と共に使用するための共通セッション鍵を生成し得る。共通セッション鍵SK105、110は、暗黙的共有シークレットk105、110、エンティティ105および110のアイデンティティid105およびid110、中間シークレットAおよび乱数aを鍵導出関数に供給することによって計算される、すなわちSK105、110=Key_Deriving_Function(Ba、k105、110、id105、id110)である。
共通セッション鍵SK105、110がエンティティ105によって計算された後、暗黙共有シークレットk105、110が中間シークレットAおよびBと共に認証データ関数に供給され、Ad105=Authentication_Data_Function(k105、110、A、B)である、認証データAd105を生成し、Ad105はその後、ステップ315でエンティティ110と共有される。
認証データAd105を受信すると、エンティティ110は、暗黙共有シークレットk110、105を中間シークレットAおよびBと共に認証データ関数に供給して、Authentication_Data_Function(k110、105、A、B)がエンティティ105によって共有される認証データAd105と一致するか否かを判定する。Authentication_Data_Function(k110、105、A、B)の結果が、エンティティ105によって共有される認証データAd105と一致することが確認される場合、これは、エンティティ105が認証されたことをエンティティ110に暗示する。
したがって、エンティティ110は次に進み、エンティティ105と共に使用するための共通セッション鍵を生成し得る。共通セッション鍵SK110、105は、暗黙的共有シークレットk110、105とエンティティ110および105のアイデンティティid110およびid105とを中間シークレットBおよび乱数bと共に鍵導出関数に供給することによって計算される、すなわち、SK110、105=Key_Deriving_Function(Ab、k110、105、id105、id110)である。エンティティ110によって生成された共通セッション鍵SK110、105、およびエンティティ105によって生成された共通セッション鍵SK105、110は次に、このエンティティペア(105−110)間のデジタルメッセージに署名または符号化するために利用され得る。
本発明の実施形態によれば、第1のエンティティ「i」と第2のエンティティ「j」との間のデジタル通信を符号化するための共通セッション鍵SKijを生成する方法は、以下のステップを含む。すなわち、
ステップ1:セキュアサーバによって、第1のエンティティに対するプライベート鍵skiを生成し、プライベート鍵skiは、第1のエンティティのアイデンティティidiの離散対数型デジタル署名[Ri、si]を含み、セキュアサーバによって、第2のエンティティに対するプライベート鍵skjを生成するステップであり、プライベート鍵skjは、第2のエンティティのアイデンティティidjの離散対数型デジタル署名[Rj、sj]を含み、RiおよびRjは群要素であり、siおよびsjはqを法とする整数を含み、qは素数であり、プライベート鍵skiは第1のエンティティに伝達され、プライベート鍵skjは第2のエンティティに伝達される、ステップと、
ステップ2:第1のエンティティによって、暗号ノンスNi、第1のエンティティのアイデンティティidi、およびRiを第2のエンティティと共有するステップと、
ステップ3:第2のエンティティによって、暗黙的共有シークレットkjiを共有Riを使用して計算し、暗黙的共有シークレットkji、暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給して認証データAdjを生成するステップと、
ステップ4:第2のエンティティによって、暗号ノンスNj、第2のエンティティのアイデンティティidj、Rj、および認証データAdjを第1のエンティティと共有するステップと、
ステップ5:第1のエンティティによって、共有Rjを使用して暗黙的共有シークレットkijを計算し、暗黙的共有シークレットkij、暗号ノンスNi、および暗号ノンスNjを使用して認証データAdjを検証するステップであり、認証データAdjが検証されると、暗黙的共有シークレットkij、暗号ノンスNi、暗号ノンスNj、第1のエンティティのアイデンティティidi、および第2のエンティティのアイデンティティidjを鍵導出関数に供給することにより共通セッション鍵SKijを生成する、ステップと
を含む。
そのようなシステムまたは方法を提供するために、システムのエンティティのシークレットプライベート鍵を生成するため、およびエンティティペア間のデジタルメッセージを符号化するまたは署名するために共通セッション鍵が生成される前にエンティティペアのエンティティを認証するプロセスが必要である。以下の説明および図4から図6は、本発明によるプロセスを提供するプロセスの実施形態を説明する。
図4は、セキュアサーバ、システムのエンティティに対するシークレットプライベート鍵を生成するため、およびエンティティペア間のデジタルメッセージを符号化するまたは署名するために共通セッション鍵が生成される前にエンティティペアのエンティティを認証するセキュアサーバ、第1のエンティティ「i」および第2のエンティティ「j」によって実行されるプロセス400を示す。プロセスは、セキュアサーバがマスターシークレット鍵「x」およびマスター公開鍵「y」を生成するステップ405から開始する。第1のエンティティ「i」が自身をセキュアサーバに登録するとき、セキュアサーバは、第1のエンティティのアイデンティティidiを使用して、第1のエンティティに対するシークレットプライベート鍵skiを生成する。プライベート鍵skiは、Riが群要素であり、siがqを法とする整数を含み、qは素数である、第1のエンティティのアイデンティティidiの離散対数型デジタル署名[ i 、s i ]を含み得る。本発明の実施形態では、シークレットプライベート鍵skiは、gが巡回群Gの生成元であり、riが乱数であり、H()が衝突耐性のあるハッシュ関数である、[Ri=gri,si=ri+xH(Ri,idi)]を含むSchnorr署名である。シークレットプライベート鍵skiは次に、第1のエンティティに送信され、第1のエンティティ内に安全に格納される。これはすべてステップ410で行われる。
ステップ415では、次のエンティティ、すなわち第2のエンティティjが自身をセキュアサーバに登録するとき、セキュアサーバは、第2のエンティティのアイデンティティidjを使用して、第2のエンティティに対するシークレットプライベート鍵skjを生成する。プライベート鍵skjは、Rjが群要素であり、sjがqを法とする整数を含み、qは素数である、第2のエンティティのアイデンティティidjの離散対数型デジタル署名[Rj、sj]を含む。本発明のこの実施形態では、シークレットプライベート鍵skjは、gが巡回群Gの生成元であり、rjが乱数であり、H()が衝突耐性のあるハッシュ関数である、[Rj=grj,sj=rj+xH(Rj,idj)]を含むSchnorr署名である。シークレットプライベート鍵skjは次に、第2のエンティティに送信され、第2のエンティティ内に安全に格納される。
第1および第2のエンティティは次に、ステップ420において、暗黙的シークレットを相互に交換する。共有された暗黙的シークレットは、次に、第1のエンティティおよび第2のエンティティに対する認証データを計算するために利用される。計算された認証データは次にステップ423で交換され、他のエンティティの真偽を検証するために各エンティティによって利用される。例えば、第2のエンティティは認証データAdjを計算し、この認証データを一緒に第1のエンティティに送信する。第1のエンティティは次に、第2のエンティティから以前に受信された暗黙的シークレットデータを利用して、受信された認証データAdjの正確性を判断する。このプロセスは次に、第1のエンティティがその認証データAdiを計算して第2のエンティティに送信することによって繰り返され、それによって第2のエンティティは第1のエンティティから以前に受信した暗黙的シークレットデータを利用して受信した認証データAdiの正確性を判定する。
一旦エンティティが認証されると、ステップ425で、第1および第2のエンティティは共有された暗黙的シークレットを使用して共通セッション鍵を生成する。生成された共通セッション鍵は次いで、第1のエンティティと第2のエンティティとの間で交換される任意のデジタルメッセージに署名または符号化するために使用され得る。そしてプロセス400は終了する。
図5は、本発明の実施形態による、第2のエンティティを認証し、共通セッション鍵を生成するために、第1のエンティティによって実行されるプロセス500を示す。プロセス500が開始する前に、[Ri、si]を含むシークレットプライベート鍵skiが以前に伝達され、第1のエンティティ内に記憶されていたことに留意されたい。
プロセス500はステップ505で開始し、それによってプロセス500は暗号ノンスNiを選択する。ステップ510で、暗号ノンスNi、Ri(skiから得られる)、および第1のエンティティのアイデンティティidiは、すべて第2のエンティティjと共有される。その代わりに、第2のエンティティは、暗号ノンスNj、Rj(第2のエンティティのプライベートのシークレット鍵から取得される)、第2のエンティティのアイデンティティidj、および認証データAdjを第1のエンティティと共有する。これはステップ515で行われる。
プロセス500は次に、ステップ520において、暗黙的共有シークレットを計算する。第1のエンティティにおける暗黙的共有シークレットは、
としてまたはさらに拡張される場合、
として表し得る。ステップ525において、プロセス500は次に、計算された暗黙的共有シークレットkijと暗号ノンスNiおよびNjとを利用して、第2のエンティティによって送信された情報の真偽を検証する。これは、Authentication_Data_Function(kij、Ni、Nj)の結果が受信した認証データAdjと一致するか否かを検証することによって行われる。プロセス500が第2のエンティティが認証されたエンティティであると判断した場合、すなわち上記の認証データ機能の結果が受信した認証データAdjと一致する場合、プロセス500はステップ530に進み、プロセス500が次の関数Authentication_Data_Function(kij、Nj、Ni)を適用して第1のエンティティの認証データAdiを計算する。
この認証データAdiはその後、第2のエンティティに送信される。プロセス500は次に進み次の関数Key_Deriving_Function(kij、idi、idj、Ni、Nj)を解くことによって共通セッション鍵SKijを計算する。そしてプロセス500は終了する。
逆に、ステップ525でプロセス500が第2のエンティティの真偽を検証できない場合、すなわちAuthentication_Data_Function(kij、Ni、Nj)の結果が受信した認証データAdjと一致しない場合、プロセス500はそこで終了する。
本発明の別の実施形態では、ステップ525において、プロセス500は、まず共通セッション鍵SKijを計算し、代わりに認証データ関数内の暗黙的共有シークレットkijを共通セッション鍵SKijで置き換えることによって第2のエンティティによって送信される情報の真偽を検証してもよい。これは、Authentication_Data_Function(SKij、Ni、Nj)の結果が受信した認証データAdjと一致する場合、Adjが有効であることを意味する。プロセス500は次に、ステップ530に進む。ステップ530において、プロセス500は次に進み、次の関数Authentication_Data_Function(SKij、Nj、Ni)を適用することによって第1のエンティティの認証データAdiを計算する。この認証データ、Adiはその後、第2のエンティティに送信される。本発明のこの実施形態では、第1のエンティティに対する共通セッション鍵、すなわちSKijはステップ525で既に計算されているので、プロセス500は次にステップ535をスキップし、プロセス500はそこで終了する。
図6は、本発明の実施形態による、第1のエンティティiを認証し、共通セッション鍵を生成するために第2のエンティティjによって実行されるプロセス600を示す。プロセス600が開始する前に、[Rj、sj]を含むシークレットプライベート鍵skjが以前に伝達され、第2のエンティティ内に格納されていたことに留意されたい。
プロセス600はステップ605で開始し、それによってプロセス600は暗号ノンスNi、Ri(skiから得られる)、および第1のエンティティのアイデンティティidiを第1のエンティティから受け取る。この受信された情報を用いて、プロセス600は次に進み、ステップ610において暗黙的共有シークレットを計算する。第2のエンティティにおける暗黙的共有シークレットは
として、または本発明の実施形態では、さらに拡張されると、
として表し得る。ステップ615において、プロセス600は次に進み暗号ノンスNjを選択する。プロセス600は次に、ステップ620において、計算された暗黙的共有シークレットkijと暗号ノンスNiおよびNjとを利用して、次の関数Authentication_Data_Function(kji、Ni、Nj)を適用することによって第2のエンティティの認証データAdjを計算する。次のステップ、すなわちステップ625において、プロセス600は、計算された認証データAdj、暗号ノンスNj、Rj(skjから得られる)、および第2のエンティティのアイデンティティid j を第1のエンティティに送信する。代わりに、プロセス600は、ステップ630で第1のエンティティから認証データAdiを受信する。
ステップ635において、プロセス600は次に、計算された暗黙的共有シークレットkjiと暗号ノンスNiおよびNjとを利用して、ステップ605において第1のエンティティから以前に受信された情報の真偽を検証する。これは、Authentication_Data_Function(kji、Nj、Ni)の結果が受信した認証データAdiと一致するか否かを検証することによって行われる。プロセス600が第1のエンティティが認証されたエンティティであると判断した場合、すなわち認証データ関数の結果が受信した認証データAdiと一致する場合、プロセス600はステップ640に進み、プロセス600は次の関数Key_Deriving_Function(kji、idi、idj、Ni、Nj)を解くことによって共通セッション鍵SKjiを計算する。そしてプロセス600は終了する。
逆に、ステップ635でプロセス600が第2のエンティティの真偽を検証できない場合、すなわちAuthentication_Data_Function(kji、Nj、Ni)の結果が受信した認証データAdiと一致しない場合、プロセス600はそこで終了する。
本発明の別の実施形態では、ステップ620において、計算された暗黙的共有シークレットkijを利用して第2のエンティティの認証データAdjを計算する代わりに、プロセス600はまず第2のエンティティの共通セッション鍵、すなわちSKjiを計算し、暗黙的共有シークレットkjiの代わりにこの共通セッション鍵SKjiを利用して認証データAdjを計算する。これは、認証データAdjが次の関数Authentication_Data_Function(SKji、Ni、Nj)を解くことによって取得されることを意味する。ステップ625において、プロセス600は次に、計算された認証データAdj、暗号ノンスNj、Rj(skjから得られる)、および第2のエンティティのアイデンティティid j を第1のエンティティに送信する。
同様に、プロセス600は、ステップ630で第1のエンティティから認証データAdiを受信する。ステップ635で、プロセス600は次に、共通セッション鍵SKjiと暗号ノンスNiおよびNjとを利用して、ステップ605において第1のエンティティから以前に受信された情報の真偽を検証する。これは、Authentication_Data_Function(SKji、Nj、Ni)の結果が受信した認証データAdiと一致するか否かを検証することによって行われる。本発明のこの実施形態では、第2のエンティティの共通セッション鍵、すなわちSKjiはステップ620で既に計算されているので、プロセス600は次にステップ640をスキップし、そしてプロセス600は終了する。
上記は、添付の特許請求の範囲に記載の本発明によるシステムおよびプロセスの実施形態の説明である。他者が添付の特許請求の範囲内に入る代替物を設計してもよく、また設計するであろうことが想定される。

Claims (30)

  1. 第1のデバイスと第2のデバイスとの間のデジタル通信を符号化するための共通セッション鍵SKijを生成する方法であって、
    セキュアサーバによって、前記第1のデバイスに対するプライベート鍵skiを生成し、前記プライベート鍵skiは、前記第1のデバイスのアイデンティティidiの離散対数型デジタル署名[Ri、si]を含み、前記セキュアサーバによって、前記第2のデバイスに対するプライベート鍵skjを生成するステップであり、前記プライベート鍵skjは、前記第2のデバイスのアイデンティティidjの離散対数型デジタル署名[Rj、sj]を含み、RiおよびRjは群要素であり、siおよびsjはqを法とする整数を含み、qは素数であり、前記プライベート鍵skiは前記第1のデバイスに伝達され、前記プライベート鍵skjは前記第2のデバイスに伝達される、ステップと、
    前記第1のデバイスによって、暗号ノンスNi、前記第1のデバイスの前記アイデンティティidi、およびRiを前記第2のデバイスと共有するステップと、
    前記第2のデバイスによって、gが巡回群Gの生成元である暗黙的共有シークレットkjiを前記共有Riを使用して計算し、前記暗黙的共有シークレットkji、前記暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給して認証データAdjを生成するステップと、
    前記第2のデバイスによって、前記暗号ノンスNj、前記第2のデバイスの前記アイデンティティidj、Rj、および前記認証データAdjを前記第1のデバイスと共有するステップと、
    前記第1のデバイスによって、前記共有Rjを使用して暗黙的共有シークレットkijを計算し、前記暗黙的共有シークレットkij、前記暗号ノンスNi、および前記暗号ノンスNjを使用して前記認証データAdjを検証するステップであり、前記認証データAdjが検証されると、前記暗黙的共有シークレットkij、前記暗号ノンスNi、前記暗号ノンスNj、前記第1のデバイスの前記アイデンティティidi、および前記第2のデバイスの前記アイデンティティidjを鍵導出関数に供給することにより前記共通セッション鍵SKijを生成する、ステップと
    前記第1のデバイスによって、前記暗黙的共有シークレットk ij 、前記暗号ノンスN i 、および前記暗号ノンスN j を認証データ導出関数に供給して認証データAd i を生成し、前記認証データAd i を前記第2のデバイスに伝達するステップと、
    前記第2のデバイスによって、前記暗黙的共有シークレットk ji を使用して認証データAd i を検証するステップであり、前記認証データAd i が検証されると、前記暗黙的共有シークレットk ji 、前記暗号ノンスN i 、前記暗号ノンスN j 、前記第1のデバイスの前記アイデンティティid i 、および前記第2のデバイスの前記アイデンティティid j を鍵導出関数に供給して前記共通セッション鍵SK ij を生成する、ステップと
    を含む方法。
  2. 前記認証データAdjの前記生成はさらに、前記認証データ導出関数に前記第1のデバイスの前記アイデンティティidiおよび前記第2のデバイスの前記アイデンティティidjを供給するステップを含む、請求項1に記載の方法。
  3. 前記認証データAdiの前記生成はさらに、前記認証データ導出関数に前記第1のデバイスの前記アイデンティティidiおよび前記第2のデバイスの前記アイデンティティidjを供給するステップを含む、請求項またはに記載の方法。
  4. 前記認証データAdjを検証するステップは、
    前記暗黙的共有シークレットkij、前記暗号ノンスNi、および前記暗号ノンスNjを前記認証データ導出関数に供給して結果を取得し、前記結果が認証データAdjと一致するか否かを判定するステップであり、一致が見つかった場合、前記認証データAdjを検証する、ステップを含む、請求項1からのいずれか一項に記載の方法。
  5. 前記認証データAdiを検証するステップは、
    前記暗黙的共有シークレットkji、前記暗号ノンスNi、および前記暗号ノンスNjを前記認証データ導出関数に供給して結果を取得し、前記結果が認証データAdiと一致するか否かを判定するステップであり、一致が見つかった場合、前記認証データAdiを検証する、ステップを含む、請求項からのいずれか一項に記載の方法。
  6. 前記暗号ノンスNiは、aが乱数であるgaを含む、請求項1に記載の方法。
  7. 前記暗号ノンスNjは、bが乱数であるgbを含む、請求項1またはに記載の方法。
  8. 前記認証データ導出関数は、メッセージ認証コード(MAC)関数を含む、請求項1からのいずれか一項に記載の方法。
  9. 前記鍵導出関数は、衝突耐性ハッシュ関数を含む、請求項1からのいずれか一項に記載の方法。
  10. 前記プライベート鍵skiは、Ri=griおよびsi=ri+xH(Ri、idi)(modulo q)である、前記第1のデバイスの前記アイデンティティidiのSchnorr署名であり、前記プライベート鍵skjは、Rj=grjおよびsj=rj+xH(Rj、idj)(modulo q)である、前記第2のデバイスの前記アイデンティティidjのSchnorr署名であり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    暗黙的共有シークレットkji=gsi・sjであり、暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である、請求項1からのいずれか一項に記載の方法。
  11. 前記プライベート鍵skiは、Ri=griおよびsi=x-1・(H(idi)−ri・Ri)(modulo q)である、前記第1のデバイスの前記アイデンティティidiのElGamal署名の第1のバリアントであり、前記プライベート鍵skjは、Rj=grjおよびsj=x-1・(H(idj)−rj・Rj)(modulo q)である、前記第2のデバイスの前記アイデンティティidjのElGamal署名の第1のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    前記暗黙的共有シークレットkji=ysi・sjであり、前記暗黙的共有シークレットkij=ysj・siであり、y=gxはマスター公開鍵であり、gは巡回群Gの生成元である、請求項1からのいずれか一項に記載の方法。
  12. 前記プライベート鍵skiが、Ri=griおよびsi=xRi+ri・H(idi)(modulo q)である、前記第1のデバイスの前記アイデンティティidiのElGamal署名の第2のバリアントであり、前記プライベート鍵skjは、Rj=grjおよびsj=xRj+rj・H(idj)(modulo q)である、前記第2のデバイスの前記アイデンティティidjのElGamal署名の第2のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    前記暗黙的共有シークレットkji=gsi・sjであり、前記暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である、請求項1からのいずれか一項に記載の方法。
  13. 前記プライベート鍵skiが、Ri=griおよびsi=x・H(idi)+ri・Ri(modulo q)である、前記第1のデバイスの前記アイデンティティidiのElGamal署名の第3のバリアントであり、前記プライベート鍵skjは、Rj=grjおよびsj=x・H(idj)+rj・Rj(modulo q)である、前記第2のデバイスの前記アイデンティティidjのElGamal署名の第3のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    前記暗黙的共有シークレットkji=gsi・sjであり、前記暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である、請求項1からのいずれか一項に記載の方法。
  14. 前記プライベート鍵skiが、Ri=griおよびsi=x-1・(Ri−ri・H(idi))(modulo q)である、前記第1のデバイスの前記アイデンティティidiのElGamal署名の第4のバリアントであり、前記プライベート鍵skjは、Rj=grjおよびsj=x-1・(Rj−rj・H(idj))(modulo q)である、前記第2のデバイスの前記アイデンティティidjのElGamal署名の第4のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    前記暗黙的共有シークレットkji=ysi・sjであり、前記暗黙的共有シークレットkij=ysj・siであり、y=gxはマスター公開鍵であり、gは巡回群Gの生成元である、請求項1からのいずれか一項に記載の方法。
  15. 第1のデバイスと第2のデバイスとの間のデジタル通信を符号化するための共通セッション鍵SKijを生成する方法であって、
    セキュアサーバによって、前記第1のデバイスに対するプライベート鍵skiを生成し、前記プライベート鍵skiは、前記第1のデバイスのアイデンティティidiの離散対数型デジタル署名[Ri、si]を含み、前記セキュアサーバによって、前記第2のデバイスに対するプライベート鍵skjを生成するステップであり、前記プライベート鍵skjは、前記第2のデバイスのアイデンティティidjの離散対数型デジタル署名[Rj、sj]を含み、RiおよびRjは群要素であり、siおよびsjはqを法とする整数を含み、qは素数であり、前記プライベート鍵skiは前記第1のデバイスに伝達され、前記プライベート鍵skjは前記第2のデバイスに伝達される、ステップと、
    前記第1のデバイスによって、暗号ノンスNi、前記第1のデバイスの前記アイデンティティidi、およびRiを前記第2のデバイスと共有するステップと、
    前記第2のデバイスによって、gが巡回群Gの生成元である、暗黙的共有シークレットkji=gsi・sjを前記共有Riを使用して計算し、前記暗黙的共有シークレットkji、前記暗号ノンスNi、前記暗号ノンスNj、前記第1のデバイスの前記アイデンティティidi、および前記第2のデバイスの前記アイデンティティidjを鍵導出関数に供給することにより共通セッション鍵SK ji を計算し、前記共通セッション鍵SKji、前記暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給することにより認証データAdjを生成するステップと、
    前記第2のデバイスによって、前記暗号ノンスNj、前記第2のデバイスの前記アイデンティティidj、Rj、および前記認証データAdjを前記第1のデバイスと共有するステップと、
    前記第1のデバイスによって、前記共有Rjを使用して暗黙的共有シークレットkij=gsj・siを計算し、前記暗黙的共有シークレットkij、前記暗号ノンスNi、前記暗号ノンスNj、前記第1のデバイスの前記アイデンティティidiおよび前記第2のデバイスの前記アイデンティティidjを前記鍵導出関数に供給することにより共通セッション鍵SKijを計算し、前記共通セッション鍵SKij、前記暗号ノンスNi、および前記暗号ノンスNjを使用して前記認証データAdjを検証するステップであり、前記認証データAdjが検証されると、第1のデバイスと第2のデバイスとの間のデジタル通信を符号化するための前記共通セッション鍵として前記共通セッション鍵SKijまたはSKjiを使用する、ステップと
    を含む方法。
  16. 第1のデバイスと第2のデバイスとの間のデジタル通信を符号化するための共通セッション鍵SKijを生成するシステムであって、
    前記第1のデバイスに対するプライベート鍵skiを共有し、前記プライベート鍵skiは、前記第1のデバイスのアイデンティティidiの離散対数型デジタル署名[Ri、si]を含み、セキュアサーバによって、前記第2のデバイスに対するプライベート鍵skjを生成するように構成されるセキュアサーバであり、前記プライベート鍵skjは、前記第2のデバイスのアイデンティティidjの離散対数型デジタル署名[Rj、sj]を含み、RiおよびRjは群要素であり、siおよびsjはqを法とする整数を含み、qは素数であり、前記プライベート鍵skiは前記第1のデバイスに伝達され、前記プライベート鍵skjは前記第2のデバイスに伝達される、セキュアサーバ
    号ノンスNi、前記第1のデバイスの前記アイデンティティidi、およびRiを前記第2のデバイスと共有するように構成された前記第1のデバイスと
    黙的共有シークレットkjiを前記共有Riを使用して計算し、前記暗黙的共有シークレットkji、前記暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給して認証データAdjを生成するように構成された前記第2のデバイスとを備え
    前記第2のデバイスは、前記暗号ノンスNj、前記第2のデバイスの前記アイデンティティidj、Rj、および前記認証データAdjを前記第1のデバイスと共有するように構成され、
    前記第1のデバイスは、前記共有Rjを使用して暗黙的共有シークレットkij=gsj・siを計算し、前記暗黙的共有シークレットkij、前記暗号ノンスNi、および前記暗号ノンスNjを使用して前記認証データAdjを検証するように構成され、前記認証データAdjが検証されると、前記暗黙的共有シークレットkij、前記暗号ノンスNi、前記暗号ノンスNj、前記第1のデバイスの前記アイデンティティidi、および前記第2のデバイスの前記アイデンティティidjを鍵導出関数に供給することにより前記共通セッション鍵SKijを生成し、
    前記第1のデバイスは、前記暗黙的共有シークレットk ij 、前記暗号ノンスN i 、および前記暗号ノンスN j を認証データ導出関数に供給して認証データAd i を生成し、前記認証データAd i を前記第2のデバイスに伝達するように構成され、前記第2のデバイスは、前記暗黙的共有シークレットk ji を使用して認証データAd i を検証するように構成され、前記認証データAd i が検証されると、前記暗黙的共有シークレットk ji 、前記暗号ノンスN i 、前記暗号ノンスN j 、前記第1のデバイスの前記アイデンティティid i 、および前記第2のデバイスの前記アイデンティティid j を鍵導出関数に供給して前記共通セッション鍵SK ij を生成する、システム。
  17. 前記認証データAdjの前記生成はさらに、前記認証データ導出関数に前記第1のデバイスの前記アイデンティティidiおよび前記第2のデバイスの前記アイデンティティidjを供給することを含む、請求項1に記載のシステム。
  18. 前記認証データAdiの前記生成はさらに、前記認証データ導出関数に前記第1のデバイスの前記アイデンティティidiおよび前記第2のデバイスの前記アイデンティティidjを供給することを含む、請求項1または1に記載のシステム。
  19. 前記認証データAdjを検証することは、
    前記暗黙的共有シークレットkij、前記暗号ノンスNi、および前記暗号ノンスNjを前記認証データ導出関数に供給して結果を取得し、前記結果が認証データAdjと一致するか否かを判定し、一致が見つかった場合、前記認証データAdjを検証する、ことを含む、請求項1から18のいずれか一項に記載のシステム。
  20. 前記認証データAdiを検証することは、
    前記暗黙的共有シークレットkji、前記暗号ノンスNi、および前記暗号ノンスNjを前記認証データ導出関数に供給して結果を取得し、前記結果が認証データAdiと一致するか否かを判定し、一致が見つかった場合、前記認証データAdiを検証することを含む、請求項1から19のいずれか一項に記載のシステム。
  21. 前記暗号ノンスNiは、aが乱数であるgaを含む、請求項1に記載のシステム。
  22. 前記暗号ノンスNjは、bが乱数であるgbを含む、請求項16または21に記載のシステム。
  23. 前記認証データ導出関数は、メッセージ認証コード(MAC)関数を含む、請求項1から2のいずれか一項に記載のシステム。
  24. 前記鍵導出関数は、衝突耐性ハッシュ関数を含む、請求項1から2のいずれか一項に記載のシステム。
  25. 前記プライベート鍵skiは、Ri=griおよびsi=ri+xH(Ri、idi)(modulo q)である、前記第1のデバイスの前記アイデンティティidiのSchnorr署名であり、前記プライベート鍵skjは、Rj=grjおよびsj=rj+xH(Rj、idj)(modulo q)である、前記第2のデバイスの前記アイデンティティidjのSchnorr署名であり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    暗黙的共有シークレットkji=gsi・sjであり、暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である、請求項1から2のいずれか一項に記載のシステム。
  26. 前記プライベート鍵skiは、Ri=griおよびsi=x-1・(H(idi)−ri・Ri)(modulo q)である、前記第1のデバイスの前記アイデンティティidiのElGamal署名の第1のバリアントであり、前記プライベート鍵skjは、Rj=grjおよびsj=x-1・(H(idj)−rj・Rj)(modulo q)である、前記第2のデバイスの前記アイデンティティidjのElGamal署名の第1のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    前記暗黙的共有シークレットkji=ysi・sjであり、前記暗黙的共有シークレットkij=ysj・siであり、y=gxはマスター公開鍵であり、gは巡回群Gの生成元である、請求項1から2のいずれか一項に記載のシステム。
  27. 前記プライベート鍵skiは、Ri=griおよびsi=xRi+ri・H(idi)(modulo q)である、前記第1のデバイスの前記アイデンティティidiのElGamal署名の第2のバリアントであり、前記プライベート鍵skjは、Rj=grjおよびsj=xRj+rj・H(idj)(modulo q)である、前記第2のデバイスの前記アイデンティティidjのElGamal署名の第2のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    前記暗黙的共有シークレットkji=gsi・sjであり、前記暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である、請求項1から2のいずれか一項に記載のシステム。
  28. 前記プライベート鍵skiが、Ri=griおよびsi=x・H(idi)+ri・Ri(modulo q)である、前記第1のデバイスの前記アイデンティティidiのElGamal署名の第3のバリアントであり、前記プライベート鍵skjは、Rj=grjおよびsj=x・H(idj)+rj・Rj(modulo q)である、前記第2のデバイスの前記アイデンティティidjのElGamal署名の第3のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    前記暗黙的共有シークレットkji=gsi・sjであり、前記暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である、請求項1から2のいずれか一項に記載のシステム。
  29. 前記プライベート鍵skiが、Ri=griおよびsi=x-1・(Ri−ri・H(idi))(modulo q)である、前記第1のデバイスの前記アイデンティティidiのElGamal署名の第4のバリアントであり、前記プライベート鍵skjは、Rj=grjおよびsj=x-1・(Rj−rj・H(idj))(modulo q)である、前記第2のデバイスの前記アイデンティティidjのElGamal署名の第4のバリアントであり、riおよびrjは乱数であり、xはマスターシークレット鍵であり、H()は衝突耐性ハッシュ関数であり、
    前記暗黙的共有シークレットkji=gsi・sjであり、前記暗黙的共有シークレットkij=gsj・siであり、gは巡回群Gの生成元である、請求項1から2のいずれか一項に記載のシステム。
  30. 第1のデバイスと第2のデバイスとの間のデジタル通信を符号化するための共通セッション鍵SKijを生成するシステムであって、
    前記第1のデバイスに対するプライベート鍵skiを生成し、前記プライベート鍵skiは、前記第1のデバイスのアイデンティティidiの離散対数型デジタル署名[Ri、si]を含み、セキュアサーバによって、前記第2のデバイスに対するプライベート鍵skjを生成するように構成されるセキュアサーバを備え、前記プライベート鍵skjは、前記第2のデバイスのアイデンティティidjの離散対数型デジタル署名[Rj、sj]を含み、RiおよびRjは群要素であり、siおよびsjはqを法とする整数を含み、qは素数であり、前記プライベート鍵skiは前記第1のデバイスに伝達され、前記プライベート鍵skjは前記第2のデバイスに伝達され、
    前記第1のデバイスは、暗号ノンスNi、前記第1のデバイスの前記アイデンティティidi、およびRiを前記第2のデバイスと共有するように構成され、
    前記第2のデバイスは、gが巡回群Gの生成元である、暗黙的共有シークレットkji=gsi・sjを前記共有Riを使用して計算し、前記暗黙的共有シークレットkji、前記暗号ノンスNi、前記暗号ノンスNj、前記第1のデバイスの前記アイデンティティidi、および前記第2のデバイスの前記アイデンティティidjを鍵導出関数に供給することにより共通セッション鍵SK ji を計算し、前記共通セッション鍵SKji、前記暗号ノンスNi、および暗号ノンスNjを認証データ導出関数に供給して認証データAdjを生成するように構成され、
    前記第2のデバイスは、前記暗号ノンスNj、前記第2のデバイスの前記アイデンティティidj、Rj、および前記認証データAdjを前記第1のデバイスと共有するように構成され、
    前記第1のデバイスは、前記共有Rjを使用して暗黙的共有シークレットkij=gsj・siを計算し、前記暗黙的共有シークレットkij、前記暗号ノンスNi、前記暗号ノンスNj、前記第1のデバイスの前記アイデンティティidiおよび前記第2のデバイスの前記アイデンティティidjを前記鍵導出関数に供給することにより共通セッション鍵SKijを計算し、前記共通セッション鍵SKij、前記暗号ノンスNi、および前記暗号ノンスNjを使用して前記認証データAdjを検証するように構成され、前記認証データAdjが検証されると、第1のデバイスと第2のデバイスとの間のデジタル通信を符号化するための前記共通セッション鍵として前記共通セッション鍵SKijまたはSKjiを使用する、システム。
JP2019503954A 2016-07-26 2017-03-28 デバイス間の共通セッション鍵を取得するシステムおよび方法 Active JP6758476B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG10201606164T 2016-07-26
SG10201606164TA SG10201606164TA (en) 2016-07-26 2016-07-26 System and method for obtaining a common session key between devices
PCT/SG2017/050161 WO2018021963A1 (en) 2016-07-26 2017-03-28 System and method for obtaining a common session key between devices

Publications (2)

Publication Number Publication Date
JP2019526205A JP2019526205A (ja) 2019-09-12
JP6758476B2 true JP6758476B2 (ja) 2020-09-23

Family

ID=58640965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019503954A Active JP6758476B2 (ja) 2016-07-26 2017-03-28 デバイス間の共通セッション鍵を取得するシステムおよび方法

Country Status (6)

Country Link
US (1) US11044081B2 (ja)
EP (1) EP3485599A1 (ja)
JP (1) JP6758476B2 (ja)
CN (1) CN109644127B (ja)
SG (1) SG10201606164TA (ja)
WO (1) WO2018021963A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667609B (zh) 2017-04-01 2021-07-20 西安西电捷通无线网络通信股份有限公司 一种数字证书管理方法及设备
US11070363B1 (en) 2018-12-21 2021-07-20 Mcafee, Llc Sharing cryptographic session keys among a cluster of network security platforms monitoring network traffic flows
CN110912708B (zh) * 2019-11-26 2021-04-27 武汉大学 一种基于sm9数字签名算法的环签名生成方法
CN114466354A (zh) * 2022-02-25 2022-05-10 浙江国盾量子电力科技有限公司 基于身份的5g智能电网无线终端密钥管理系统及方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353395B2 (en) 2002-03-21 2008-04-01 Ntt Docomo Inc. Authenticated ID-based cryptosystem with no key escrow
US20060215837A1 (en) 2004-12-18 2006-09-28 Hewlett-Packard Development Company, L.P. Method and apparatus for generating an identifier-based public/private key pair
US7747865B2 (en) * 2005-02-10 2010-06-29 International Business Machines Corporation Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
CN101116281A (zh) * 2005-02-10 2008-01-30 国际商业机器公司 询问-应答签名和安全迪菲-海尔曼协议
CN101052033B (zh) * 2006-04-05 2012-04-04 华为技术有限公司 基于ttp的认证与密钥协商方法及其装置
CN101179380A (zh) * 2007-11-19 2008-05-14 上海交通大学 一种双向认证方法、系统及网络终端
US20100199095A1 (en) 2009-01-30 2010-08-05 Texas Instruments Inc. Password-Authenticated Association Based on Public Key Scrambling
DE102009061045B4 (de) * 2009-06-10 2012-05-03 Infineon Technologies Ag Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
CN102036242B (zh) * 2009-09-29 2014-11-05 中兴通讯股份有限公司 一种移动通讯网络中的接入认证方法和系统
CN101702804B (zh) * 2009-11-23 2012-03-28 西安电子科技大学 基于自认证公钥的两方密钥协商方法
US8341710B2 (en) * 2009-12-14 2012-12-25 Verizon Patent And Licensing, Inc. Ubiquitous webtoken
US8842833B2 (en) * 2010-07-09 2014-09-23 Tata Consultancy Services Limited System and method for secure transaction of data between wireless communication device and server
US20120290834A1 (en) * 2011-05-11 2012-11-15 Takahiro Yamaguchi Key distribution device, terminal device, and content distribution system
CN103795545B (zh) * 2014-02-14 2017-01-18 飞天诚信科技股份有限公司 一种安全通信的方法和系统
CN105391734B (zh) * 2015-12-10 2019-01-11 布比(北京)网络技术有限公司 一种安全登录系统及方法、登录服务器和认证服务器

Also Published As

Publication number Publication date
US11044081B2 (en) 2021-06-22
WO2018021963A1 (en) 2018-02-01
EP3485599A1 (en) 2019-05-22
JP2019526205A (ja) 2019-09-12
SG10201606164TA (en) 2018-02-27
CN109644127B (zh) 2021-10-01
US20190173671A1 (en) 2019-06-06
CN109644127A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN110268676B (zh) 基于身份的自认证签名方案的私有密钥计算系统和方法
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
CN108886468B (zh) 用于分发基于身份的密钥资料和证书的系统和方法
US9853816B2 (en) Credential validation
US10015159B2 (en) Terminal authentication system, server device, and terminal authentication method
US9705683B2 (en) Verifiable implicit certificates
JP5330591B2 (ja) 身元認証及び共有鍵生成の方法
CN110402560B (zh) 具有前向安全性的基于身份的认证密钥交换方案中用于计算公有会话密钥的系统和方法
US11044081B2 (en) System and method for obtaining a common session key between devices
WO2017167771A1 (en) Handshake protocols for identity-based key material and certificates
JP2020509695A (ja) 楕円曲線の同種に基づくキー合意プロトコル
JP2015149722A (ja) 証明書生成装置および方法
CN112104453A (zh) 一种基于数字证书的抗量子计算数字签名系统及签名方法
KR100989185B1 (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
CN108075896B (zh) 使用基于标识的密码学构建自认证消息的系统和方法
US20210044435A1 (en) Method for transmitting data from a motor vehicle and method for another vehicle to receive the data through a radio communication channel
CN110572788A (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
CN112533213B (zh) 一种密钥协商方法、装置、终端及存储介质
WO2017073389A1 (ja) 通信システム及び通信方法
US11974123B2 (en) Encrypted communication between an appliance and a device on a motor vehicle
Zhang Authenticated Key Exchange Protocols with Unbalanced Computational Requirements
CN113507379A (zh) 一种基于Mesh网络数字证书认证方法
JP2009267451A (ja) Rsaをベースとしたパスワード認証方式及びその応用

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200901

R150 Certificate of patent or registration of utility model

Ref document number: 6758476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250