JP2009526411A - Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol) - Google Patents

Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol) Download PDF

Info

Publication number
JP2009526411A
JP2009526411A JP2007554563A JP2007554563A JP2009526411A JP 2009526411 A JP2009526411 A JP 2009526411A JP 2007554563 A JP2007554563 A JP 2007554563A JP 2007554563 A JP2007554563 A JP 2007554563A JP 2009526411 A JP2009526411 A JP 2009526411A
Authority
JP
Japan
Prior art keywords
value
key
hat
function
party
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.)
Withdrawn
Application number
JP2007554563A
Other languages
Japanese (ja)
Other versions
JP2009526411A5 (en
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009526411A publication Critical patent/JP2009526411A/en
Publication of JP2009526411A5 publication Critical patent/JP2009526411A5/ja
Withdrawn legal-status Critical Current

Links

Images

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
    • H04L9/0844Key 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 with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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
    • 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

Abstract

A method (and structure) of exchange between two parties interconnected by a device or network. A recipient party (verifier) chooses a secret value x for computing a value X=F1(x), where F1 comprises a first predetermined function having at least one argument, the value x being one of the at least one argument of F1. A signing party (signer) chooses a secret value y for computing a value Y=F2(y), where F2 comprises a second predetermined function having at least one argument, the value y being one of the at least one argument of F2. The signer obtains the value X, and the signer has a private key b and a public key B. The signer computes a value s=F3(y,b,X), where F3 comprises a third predetermined function having at least three arguments: the value y, the private key b, and the value X being three arguments of the at least three arguments of F3. There exists a fourth predetermined function F4(x,Y,B) to calculate a value s′, F4 having at least three arguments: the value x, the value Y, and the public key B being three arguments of the at least three arguments of F4, but the value s is not an argument of F4. There exists no secret shared between the verifier and the signer that serves as a basis for any argument in any of the functions F1, F2, F3, and F4. The verifier can consider the values s and s′ as valid authenticators if value s′ is determined to be related in a predetermined manner to value s.

Description

本発明の諸態様は、一般に、情報交換の送信側および受信側当事者にとって立証可能に(provably)安全な署名に関する。より具体的には、チャレンジ・レスポンス署名方式(challenge-responsesignature scheme)は、検証者(verifier)と署名者(signer)の両方が同じ署名または関連署名を計算することができ、前者はチャレンジを把握することにより、後者は秘密署名鍵(privatesignature key)を把握することによりこれを行うことができ、これにより、模範的な諸実施形態では、周知のMQVプロトコルの変形を含む、従来の鍵交換プロトコルの立証可能に安全な変形を可能にするという特性を有する。   Aspects of the invention generally relate to signatures that are provably secure for the sending and receiving parties of an information exchange. More specifically, the challenge-response signature scheme allows both verifiers and signers to calculate the same or related signatures, the former knows the challenge By doing so, the latter can do this by ascertaining a private signature key, which in the exemplary embodiments includes conventional key exchange protocols, including variations of the well-known MQV protocol. It has the characteristic of enabling safe deformation in a verifiable manner.

当初の提案通り、図1に図示されているDiffie−Hellman(DH)鍵交換プロトコル100は、盗聴専門の攻撃者(attacker)に対して安全であると考えられている。活発なマン・イン・ザ・ミドル(man-in-the-middle)攻撃に抵抗する「認証Diffie−Hellman」プロトコルの探求の結果、無数のアドホック提案が行われたが、その多くは破棄されているかまたは欠点に苦しんでいることが分かっている。鍵交換のための厳格なセキュリティ・モデルに関するこの数年間の発展により、当業者は、現在、これらのプロトコルのセキュリティを判断できるとともに、現実的に活発な攻撃に立証可能に耐える設計を開発できる、かなり良好な立場にある。   As originally proposed, the Diffie-Hellman (DH) key exchange protocol 100 illustrated in FIG. 1 is believed to be secure against eavesdropping attackers. Myriad ad hoc proposals have been made as a result of the search for the “Authentication Diffie-Hellman” protocol that resists active man-in-the-middle attacks, many of which have been abandoned Or is known to suffer from shortcomings. With the development of strict security models for key exchanges over the last few years, one of ordinary skill in the art can now determine the security of these protocols and develop a design that can withstand realistic and active attacks. It is in a very good position.

予想通り、活発な攻撃に対する安全機能を追加すると、その結果、追加の通信および計算のいずれの点でも複雑さが追加される。後者は、通常、追加の高価な群べき乗(group exponentiation)を必要とする公開鍵技法によって認証されたプロトコルで特に重要なものである。しっかりしたセキュリティの必要性に加えて、鍵交換に対する多くの実用的な適用例のために、設計者は、認証メカニズム、特に公開鍵に基づくものに関連するパフォーマンス・コストの改善を余儀なくされてきた。   As expected, adding safety features against active attacks results in added complexity in terms of both additional communication and computation. The latter is particularly important in protocols authenticated by public key techniques that usually require additional expensive group exponentiation. In addition to the need for robust security, many practical applications for key exchange have forced designers to improve performance costs associated with authentication mechanisms, particularly those based on public keys. .

1986年に松本、高島、および今井によって着手された研究分野は、そのプロトコルに最小限の複雑さを追加することになると思われる公開鍵(PK)認証DHプロトコルの探索である。理論的には、しかも保証された公開鍵の交換までは、プロトコルの通信は、正確に基本DH交換に見えることが望まれている。この技法では、プロトコルの認証は鍵導出手順を介して入手しなければならず、基本Diffie−Hellman鍵gxyについて合意することではなく、当事者は、その当事者の公開鍵/秘密鍵とgx、gyを結合する鍵について合意することになるであろう。 A research area initiated by Matsumoto, Takashima, and Imai in 1986 is the search for public key (PK) authenticated DH protocols that would add minimal complexity to the protocol. Theoretically, until a public key exchange is guaranteed, it is desired that protocol communications look exactly like a basic DH exchange. In this technique, the authentication of the protocol must be obtained via a key derivation procedure and not an agreement on the basic Diffie-Hellman key g xy , but the party will be able to accept the party's public / private key and g x , It would be able to agree on a key to combine the g y.

一部にはこのようなプロトコルが提供すると思われる実用的な利点ために、また、一部にはこのような設計の背後にある数学的難題のために、「暗黙認証Diffie−Hellmanプロトコル」と呼ばれる場合が多い多数のプロトコルが、この手法に基づいて開発されてきた。この手法は通信面で非常に効率的なプロトコルを生成できるだけでなく、認証と鍵導出手順の組み合わせにより、潜在的に大幅な計算上の節約を行うこともできる。これらの理由で、これらの「暗黙認証」プロトコルのうちのいくつかは、主要な国内および国際的セキュリティ規格によって標準化されている。   Due in part to the practical advantages that such a protocol would offer, and in part to the mathematical challenges behind such a design, the “Implicit Authentication Diffie-Hellman Protocol” A number of protocols often referred to have been developed based on this approach. This approach not only can generate a very efficient protocol in communication, but can also potentially save significant computational savings through a combination of authentication and key derivation procedures. For these reasons, some of these “implicit authentication” protocols have been standardized by major national and international security standards.

これらのプロトコルのうち、MQVプロトコルは広範囲にわたって標準化されているように思われる。このプロトコルは、多くの組織によって標準化され、最近、「機密扱いのまたは主幹業務の国家的セキュリティ情報」の保護を含む、「米国政府情報を保護するための次世代暗号方式」の基礎となる鍵交換メカニズムであると米国国家安全保障局(NSA:National Security Agency)によって発表されている。   Of these protocols, the MQV protocol appears to be widely standardized. This protocol has been standardized by many organizations and has recently become the key underlying "next-generation cryptography for protecting US government information", including the protection of "confidential or mission-critical national security information". The exchange mechanism has been announced by the US National Security Agency (NSA).

さらに、MQVは、多数のセキュリティ上の目標を満足するように設計されているように思われる。MQVプロトコルの基本バージョンは、たとえば、Vanstone他に交付された米国特許第5761305号に説明されている。   In addition, MQV appears to be designed to meet a number of security goals. A basic version of the MQV protocol is described, for example, in US Pat. No. 5,761,305 issued to Vanstone et al.

しかし、その魅力および成功にもかかわらず、MQVはこれまで明確に定義された鍵交換のモデルにおける形式的分析を避けてきた。本発明は、このような分析を行いたいという希望が動機になっている。研究を行った際に、本発明者は、CanettiおよびKrawczykの計算鍵交換モデルで実行されるように、しかも上記の仮出願に記載されているように、明記されたMQVの目標のほぼすべてが有効ではないことが証明できると気付いていた。   However, despite its appeal and success, MQV has so far avoided formal analysis in well-defined key exchange models. The present invention is motivated by the desire to perform such an analysis. In conducting the study, the inventor found that almost all of the stated MQV goals were implemented as implemented in the Canetti and Krawczzyk computational key exchange model and as described in the above provisional application. I realized I could prove that it was not effective.

この結果、この従来のプロトコルのセキュリティに関する懸念が本発明者に提起された。したがって、従来のMQVプロトコルは立証可能に安全ではなかったというこの分析に基づいて、好ましくはその既存のパフォーマンスおよび多様性を保持しながら、MQVに対する追加のセキュリティが必要になっている。
米国特許第5761305号
As a result, concerns regarding the security of this conventional protocol have been raised to the inventors. Therefore, based on this analysis that the conventional MQV protocol has not been provably secure, additional security for MQV is needed, preferably while preserving its existing performance and diversity.
US Pat. No. 5,761,305

従来のシステムの上記およびその他の模範的な問題、欠点、および不利点を考慮すると、本発明の1つの模範的な特徴は、MQVプロトコルのセキュリティ上の目標を立証可能な方法で達成し、本明細書でHMQVと呼ばれるMQVの新しい変形に関する方法および構造を提供することにある。   In view of the above and other exemplary problems, disadvantages, and disadvantages of conventional systems, one exemplary feature of the present invention achieves the security goals of the MQV protocol in a verifiable manner, and It is to provide a method and structure for a new variant of MQV, referred to herein as HMQV.

本発明の他の模範的な特徴は、本明細書で「チャレンジ・レスポンス署名」と呼ばれる新しいデジタル署名方式を実証することにある。   Another exemplary feature of the present invention is to demonstrate a new digital signature scheme referred to herein as “challenge response signature”.

本発明の他の模範的な特徴は、チャレンジャ(challenger)と署名者の両方が同じ署名または関連署名を計算することができ、前者はチャレンジを選択したことにより、後者は秘密署名鍵を把握することによりこれを行うことができるという特性を有するプロトコル・メカニズムを提供するものとして、Schnorr識別方式から導出され、本明細書で「指数チャレンジ・レスポンス」(XCR:exponentialchallenge response)署名方式と呼ばれるバージョンを含むものとしてこのチャレンジ・レスポンス署名方式を実証することにある。   Another exemplary feature of the present invention is that both the challenger and the signer can calculate the same signature or associated signature, the former choosing the challenge and the latter knowing the secret signing key As a protocol mechanism with the property that it can do this, a version derived from the Schnorr identification scheme and referred to herein as an "exponential challenge response (XCR) signature scheme" The challenge is to demonstrate this challenge-response signature scheme.

したがって、本発明の模範的な一目的は、そこにXCR署名方式の概念を実現することによりセキュリティを立証可能に実証することができる、認証Diffie−Hellmanプロトコルに関するセキュリティを改善するための構造および方法を提供することにある。   Accordingly, an exemplary object of the present invention is a structure and method for improving security with respect to the authenticated Diffie-Hellman protocol, by which the concept of the XCR signature scheme can be realized and security can be demonstrated. Is to provide.

本発明の第1の模範的な態様では、上記の特徴および目的を達成するために、値X=F1(x)を計算するために秘密の値xを選択する受信側当事者(検証者)を含み、ここでF1は少なくとも1つの引数を有する第1の所定の関数を含み、値xはF1の少なくとも1つの引数のうちの1つである、装置またはネットワークによって相互接続された2当事者間の交換の方法が本明細書に記載されている。署名側当事者(署名者)は、値Y=F2(y)を計算するために秘密の値yを選択し、ここでF2は少なくとも1つの引数を有する第2の所定の関数を含み、値yはF2の少なくとも1つの引数のうちの1つである。署名者は値Xを入手し、署名者は秘密鍵bと公開鍵Bとを有する。署名者は値s=F3(y,b,X)を計算し、ここでF3は少なくとも3つの引数を有する第3の所定の関数を含み、値y、秘密鍵b、および値XはF3の少なくとも3つの引数のうちの3つの引数である。値s′を計算するために第4の所定の関数F4(x,Y,B)が存在し、F4は少なくとも3つの引数を有し、値x、値Y、および公開鍵BはF4の少なくとも3つの引数のうちの3つの引数であるが、値sはF4の引数ではない。検証者と署名者との間で共有され、関数F1、F2、F3、およびF4のいずれかにおいて任意の引数の基礎として働くような秘密はまったく存在しない。値s′が所定の方法で値sに関連するものと判断された場合に検証者は値sおよびs′を有効な認証子(authenticator)と見なすことができる。   In a first exemplary aspect of the invention, in order to achieve the above features and objectives, a receiving party (verifier) that selects a secret value x to calculate a value X = F1 (x). Where F1 includes a first predetermined function having at least one argument, and the value x is one of at least one argument of F1, between two parties interconnected by a device or network The method of exchange is described herein. The signing party (signer) selects a secret value y to calculate the value Y = F2 (y), where F2 includes a second predetermined function with at least one argument, and the value y Is one of at least one argument of F2. The signer gets the value X, and the signer has the private key b and the public key B. The signer calculates the value s = F3 (y, b, X), where F3 includes a third predetermined function with at least three arguments, the value y, the secret key b, and the value X are F3's Three of the at least three arguments. There is a fourth predetermined function F4 (x, Y, B) for calculating the value s', F4 has at least three arguments, and the value x, the value Y, and the public key B are at least of F4. Of the three arguments, there are three arguments, but the value s is not an argument of F4. There is no secret that is shared between the verifier and the signer and serves as the basis for any argument in any of the functions F1, F2, F3, and F4. If the value s 'is determined to be related to the value s in a predetermined manner, the verifier can consider the values s and s' as valid authenticators.

本発明の第2および第3の模範的な態様では、前の段落に記載された方法を実行する装置と、その方法を実行するためにデジタル処理装置によって実行可能な複数の機械可読命令からなるプログラムを具体的に実施する信号伝送媒体も本明細書に記載されている。   In the second and third exemplary aspects of the present invention, the apparatus comprises a device for performing the method described in the previous paragraph and a plurality of machine readable instructions executable by a digital processing device to perform the method. A signal transmission medium that specifically implements the program is also described herein.

本発明の第4の模範的な態様では、装置またはネットワークによって相互接続された2当事者間で認証鍵(authenticated key)を確立するための方法も本明細書に記載されている。第1の当事者は秘密鍵aと公開鍵Aとを有し、秘密鍵aは0q−1になるような整数であり、qは正整数であり、gは次数qの有限群(finitegroup)の生成元(generator)であり、Aは値gによって生成され、A=gaとして計算された群内の元(element)である。第2の当事者は秘密鍵bと公開鍵B=gbとを有し、秘密鍵bは0q−1になるような整数である。第1の当事者は値X=gxを計算するために秘密の値xを選択し、xは0q−1になるような整数であり、値Xは第2の当事者に伝達される。第2の当事者は値Y=gyを計算するために秘密の値yを選択し、yは0q−1になるような整数であり、値Yは第1の当事者に伝達される。第1の当事者は値s=f1(Y,B,m){f2(x,a,m’)}を計算し、ここでm、m′は両当事者間で既知であるかまたは交換されたメッセージを含み、第2の当事者は値s′=f3(X,A,m′){f4(y,b,m)}を計算する。関数f2およびf4のうちの少なくとも1つは少なくとも1つの引数を有する関数Hを含み、このような1つの引数はメッセージmおよびm′のうちの少なくとも1つであり、ここでHは一方向関数(one-way function)、暗号化関数(encryption function)、および暗号ハッシュ関数(cryptographichash function)のうちの1つである暗号関数(cryptographic function)を含む。第1および第2の当事者はそれぞれ値sおよびs′から共有鍵(sharedkey)を導出する。 In a fourth exemplary aspect of the present invention, a method for establishing an authenticated key between two parties interconnected by a device or network is also described herein. The first party has a secret key a and a public key A, the secret key a is an integer such that 0 < a < q−1, q is a positive integer, and g is a finite group of order q. a (finitegroup) of origin (generator), a is generated by the value g, which is the original (element) in the group is calculated as a = g a. The second party has a secret key b and a public key B = g b , and the secret key b is an integer such that 0 < b < q−1. The first party selects a secret value x to calculate the value X = g x , where x is an integer such that 0 < x < q−1, and the value X is communicated to the second party The The second party selects a secret value y to calculate the value Y = g y , where y is an integer such that 0 < y < q−1, and the value Y is communicated to the first party The The first party calculates the value s = f 1 (Y, B, m) {f2 (x, a, m ′)} , where m and m ′ are known or exchanged between the parties. The second party calculates the value s ′ = f 3 (X, A, m ′) {f4 (y, b, m)} . At least one of the functions f 2 and f 4 includes a function H having at least one argument, such one argument being at least one of the messages m and m ′, where H is one. It includes a cryptographic function that is one of a one-way function, an encryption function, and a cryptographic hash function. The first and second parties derive a shared key from the values s and s ′, respectively.

上記およびその他の目的、態様、および利点は、図面に関連して本発明の好ましい一実施形態に関する以下の詳細な説明からより良好に理解されるであろう。   The above and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention in conjunction with the drawings.

次に、図面、詳細には図1〜図11を参照すると、本発明による方法および構造の模範的な諸実施形態が示されている。   Referring now to the drawings, and more particularly to FIGS. 1-11, exemplary embodiments of the method and structure according to the present invention are shown.

群および表記法に関する予備的注記として、本明細書で論ずるすべてのプロトコルおよび演算は、典型的には生成元gによって生成された素数(prime number)である次数qの巡回群(cyclic group)Gを想定している。qのビット長は|q|(たとえば、

Figure 2009526411
であり、最近隣数(nearestinteger)まで丸められた2を底とするqの対数を意味する)によって表され、この数量は暗黙セキュリティ・パラメータとして使用される。パラメータG、g、およびqは、単純にするため、実際に一般的であるように、一定であり、あらかじめ両当事者にとって既知のものであると想定される。代わって、これらの値を証明書などに含めることもできるであろう。 As a preliminary note on groups and notation, all protocols and operations discussed herein are cyclic groups G of order q, which is typically the prime number generated by the generator g. Is assumed. The bit length of q is | q |
Figure 2009526411
, Meaning the logarithm of 2 base q rounded to the nearest integer), and this quantity is used as an implicit security parameter. The parameters G, g, and q are assumed to be constant and known in advance to both parties for simplicity, as is common in practice. Alternatively, these values could be included in certificates etc.

本明細書では群演算の乗算表現が使用されるが、その処理は、楕円曲線などの加法群(additive group)、あるいは任意のその他の代数群(algebraic group)または特定の群、有限体(finitefield)、複合法(composite moduli)などに等しく適用可能である。プロトコルでは、大文字(たとえば、A、B)によって表される公開鍵は群G内の元であり、対応する小文字(たとえば、a、b)によって表される秘密鍵はZq内の元であり、ここでZqは整数0、1、・・・、q−1の集合を表している。 In this specification, a multiplication expression of group operations is used, but the process is an additive group such as an elliptic curve, or any other algebraic group or a specific group, a finite field. ), Composite moduli, etc. are equally applicable. In the protocol, public keys represented by uppercase letters (eg A, B) are elements in group G, and private keys represented by corresponding lowercase letters (eg a, b) are elements in Z q , Where Z q represents a set of integers 0, 1,..., Q−1.

たとえば、公開鍵A=gaは秘密鍵aに対応する。その公開鍵としてAを有する当事者は、

Figure 2009526411
は以降Aハットと記載する。
によって表され、伝統的には「アリス(Alice)」と見なされることになる(第2の当事者
Figure 2009526411
は以降Bハットと記載する。
は伝統的には「ボブ(Bob)」と見なされる)。一般に、「ハット表記法(hatnotation)」は、名前、電子メール・アドレス、役割など、プロトコル内の当事者の論理IDまたは「識別(distinguishing)」IDを表すために使用される。場合によっては、これらのIDはデジタル証明書で増強することができる。本明細書では繰り返さないが、仮出願で提供されるより完全な数理解析のために、攻撃者を含むプロトコル内のすべての当事者は、確率的多項式タイム・マシンを介して実現されるものと見なされる。また、攻撃者はMによっても表され、ここでMは「悪意のある(malicious)」ことを意味する可能性がある。 For example, public key A = g a corresponds to a secret key a. A party with A as its public key
Figure 2009526411
Is hereinafter referred to as A hat.
And would traditionally be considered "Alice" (second party)
Figure 2009526411
Is hereinafter referred to as B-hat.
Is traditionally considered "Bob"). In general, “hatnotation” is used to represent a logical ID or “distinguishing” ID of a party in the protocol, such as name, email address, role, etc. In some cases, these IDs can be augmented with digital certificates. Although not repeated here, for the more complete mathematical analysis provided in the provisional application, all parties in the protocol, including the attacker, are considered to be implemented via a stochastic polynomial time machine. It is. An attacker may also be represented by M, where M may mean “malicious”.

したがって、図1に図示されている通り、基本非認証Diffie−Hellmanプロトコル100に関するセッション鍵の計算は、2当事者AハットとBハットとの間の交換から構成され、当事者Aハットはまず自分の鍵X=gxを当事者Bハットに送信し、次に当事者Bハットは、自分の鍵Y=gyを当事者Aハットに返送することによって応答し、ここでxおよびyはそれぞれ、集合ZqからランダムにAハットおよびBハットによって選択された秘密であり、共有セッション鍵はgxyとして計算される。 Thus, as illustrated in FIG. 1, the calculation of the session key for the basic unauthenticated Diffie-Hellman protocol 100 consists of an exchange between a two party A hat and a B hat, where the party A hat first has its own key. Send X = g x to party B hat, who then responds by returning his key Y = gy to party A hat, where x and y are each from set Z q A secret chosen randomly by A and B hats, and the shared session key is calculated as g xy .

本明細書の説明では、ランダム選択を表すために記号∈Rが使用される場合があることは留意すべきである。たとえば、x∈Rqは、典型的には乱数発生器または疑似乱数発生器を使用することにより、整数Zqの集合からランダムに値xを選択することを意味する。 It should be noted that in the description herein, the symbol ∈ R may be used to represent a random selection. For example, x ∈ R Z q is typically by using a random number generator or pseudo-random number generator, it means to select a random value x from the set of integers Z q.

MQVプロトコル
Aハット、BハットというIDが公開鍵証明書などの追加の情報を含む可能性があるかまたはこれらのIDがすべてまとめて省略される可能性があることを除いて、MQVプロトコルでの通信は、図1に描写されている基本非認証DHプロトコル100と同一である。
MQV protocol The IDs of A hat and B hat may include additional information such as public key certificates, or all of these IDs may be omitted together. The communication is identical to the basic unauthenticated DH protocol 100 depicted in FIG.

2メッセージ認証鍵交換プロトコルを設計する際の第1の難題は、第1のプロトコル・メッセージの再生に基づく攻撃の成功を防止することである。第1のメッセージは、応答側(responder)によって与えられた任意の形式のセッション固有「鮮度保証(freshness guarantee)」(たとえば、nonceまたは新鮮なDH値など)を含むことができないので、これは問題のあるものである。この問題の解決策の1つは、セッション鍵の計算を介して鮮度を提供することである。   The first challenge in designing a two-message authentication key exchange protocol is to prevent a successful attack based on the reproduction of the first protocol message. This is a problem because the first message cannot contain any form of session-specific “freshness guarantee” (eg, nonce or fresh DH value) given by the responder. There is something. One solution to this problem is to provide freshness via session key computation.

たとえば、図2に図示されている2メッセージDiffie−Hellmanプロトコル200は、ISO(国際標準化機構:International Standards Organization)9793プロトコルから採用されたデジタル署名を使用して認証される。Bハットの署名の下にgxを含めることによって認証に鮮度が提供されるが、この安全機能はAハットのメッセージには存在しない。しかし、セッション鍵gxyは、新鮮なyによってランダム化されるので、新鮮であること(ならびに他のセッション鍵から独立していること)が保証される。しかし、攻撃者がBハットとのセッションにおいてAハットによって使用される単一のペア(x,gx)を見つけることができる場合、プロトコルのセキュリティが途切れ、その場合、攻撃者は

Figure 2009526411
も学習する。これにより、攻撃者は、Aハットの長期秘密署名鍵を学習する必要なしに、同じメッセージとxに関する知識を使用して、漠然とBハットに対してAハットを詐称することができる。 For example, the two-message Diffie-Hellman protocol 200 illustrated in FIG. 2 is authenticated using a digital signature adopted from the ISO (International Standards Organization) 9793 protocol. Although including g x under the B-hat signature provides freshness for authentication, this safety feature is not present in the A-hat message. However, since session key g xy is randomized by fresh y, it is guaranteed to be fresh (as well as independent of other session keys). However, if the attacker can find a single pair (x, g x ) used by A-hat in a session with B-hat, then the protocol security breaks, in which case the attacker
Figure 2009526411
Also learn. This allows an attacker to spoof A hat to B hat vaguely using the same message and knowledge about x without having to learn A hat's long-term secret signing key.

これは、一時(ephemeral)セッション固有情報(たとえば、ペア(x,gx))の開示によって他のセッションを破壊してはならないという基本原理に違反する重大な脆弱性である。多くの適用例がこのペア(x,gx)をオフラインで計算し、たとえば、長期秘密鍵ほど保護されていない記憶域にそれを保持することになることを考慮すると、これは特に重大である。 This is a serious vulnerability that violates the basic principle that other sessions should not be destroyed by disclosure of ephemeral session specific information (eg, pair (x, g x )). This is particularly critical considering that many applications will compute this pair (x, g x ) offline and will retain it in storage that is not as protected as, for example, a long-term private key .

したがって、一時情報が漏れた場合でもリプレイ・アタック(replay attack)に影響されない2メッセージ・プロトコルをどのように設計できるかが問題である。セッション鍵の計算に長期秘密鍵を含めることは当然の答えである。これは、MQVを含む、Diffie−Hellmanのいわゆる「暗黙認証」変種の多くの動機になっている、松本、高島、および今井による1986年の研究で着手された手法であった。この手法では、各当事者は長期DH公開鍵とそれに対応する秘密の指数(exponent)とを有し、セッション固有の一時DH値と両当事者の公開鍵および秘密鍵とを組み合わせることによってセッションが生成される。したがって、このようなプロトコルのセキュリティは全体として、この鍵の組み合わせの正確な詳細に依存する。意外なことに、この表面上単純な考え方は確実に実現するには困難なものであり、これまでの提案はいずれもいくつかの短所を抱えている。   Therefore, the problem is how to design a two-message protocol that is not affected by a replay attack even if temporary information is leaked. Including the long-term secret key in the session key calculation is a natural answer. This was the approach undertaken in a 1986 study by Matsumoto, Takashima, and Imai, which is the motivation for many of the so-called “implicit authentication” variants of Diffie-Hellman, including MQV. In this approach, each party has a long-term DH public key and a corresponding secret exponent, and a session is generated by combining the session-specific temporary DH value with both parties' public and private keys. The Thus, the security of such a protocol as a whole depends on the exact details of this key combination. Surprisingly, this seemingly simple idea is difficult to ensure, and all previous proposals have some disadvantages.

次に、セッション鍵計算において一時鍵と長期鍵を組み合わせることの問題に対する以下のような当然の解決策を考慮すると、AハットおよびBハットが鍵を交換したいと希望する場合、両者は基本Diffie−Hellmanプロトコルを実行し、K=g(x+a)(y+b)=(YB)x+a=(XA)y+bとしてセッション鍵を計算する。この場合、攻撃者がaではなくxを学習すると、攻撃者はKを計算することができない。 Next, considering the following natural solution to the problem of combining temporary and long-term keys in session key calculation, if A hat and B hat want to exchange keys, both will be the basic Diffie− The Hellman protocol is executed, and a session key is calculated as K = g (x + a) (y + b) = (YB) x + a = (XA) y + b . In this case, if the attacker learns x instead of a, the attacker cannot calculate K.

しかし、以下の単純な攻撃によって実証される通り、プロトコルは依然として安全ではなく、すなわち、Mは値x*Rqを選択し、X*=gX*/Aを計算し、Aハットからの初期メッセージの詐称としてBハットにX*を送信する。BハットはY=gyを送信し、セッション鍵K=(X*A)y+bを計算する。残念なことに、MはKを(BY)x*として計算することもできる。したがって、このプロトコルは安全ではない。 However, as demonstrated by the following simple attack, the protocol is still insecure, ie M chooses the value x *R Z q , calculates X * = g X * / A and from A hat X * is sent to B-hat as a spoof of the initial message. B hat sends Y = gy and calculates the session key K = (X * A) y + b . Unfortunately, M can also calculate K as (BY) x * . Therefore this protocol is not secure.

そのうえ、Kの計算が定数d、eに関するK=g(x+da)(y+eb)になるように変更された場合でも、攻撃は依然として可能である。これに対して、攻撃者がeおよびYを個別に制御できないように定数d、eがX、Yにつれて変化することができる場合、上記の単純な攻撃は機能しない可能性がある。この考え方は我々をMQVの設計に戻すものであり、ここでd=

Figure 2009526411
は以降Xバーと記載する。
およびe=
Figure 2009526411
は以降Yバーと記載する。
である。 Moreover, even if the calculation of K is changed to be K = g (x + da) (y + eb) for constants d and e, an attack is still possible. On the other hand, if the constants d and e can change with X and Y so that the attacker cannot control e and Y individually, the above simple attack may not work. This idea brings us back to the MQV design, where d =
Figure 2009526411
Is hereinafter referred to as X bar.
And e =
Figure 2009526411
Is hereinafter referred to as Y bar.
It is.

MQVにおけるセッション鍵Kの計算301、302は図3に図示されており、ここで当事者Aハットは長期秘密鍵a∈Zqと対応する公開鍵A=gaとを所有している。同様に、Bの秘密鍵/公開鍵のペアは(b,B=gb)であり、一時DH値はX=gx、Y=gyであり、ここでx、yはそれぞれA、Bによって選択されたものである。セッション鍵の計算では、d=Xバーおよびe=Yバーという値も使用し、ここで、l=|q|/2の場合に、Xバー=2l+(X mod 2l)およびYバー=2l+(Y mod 2l)である。 Calculated 301, 302 of the session key K in MQV is illustrated in Figure 3, where the parties A hat owns the public key A = g a corresponding long-term private key a∈Z q. Similarly, B's private / public key pair is (b, B = g b ), and the temporary DH values are X = g x and Y = g y , where x and y are A and B respectively. Selected by. The session key calculation also uses the values d = X bar and e = Y bar, where, if l = | q | / 2, X bar = 2 l + (X mod 2 l ) and Y bar. = 2l + (Y mod 2l ).

Aハットによるセッション鍵の計算は、X=gxを計算するためのオフラインべき乗(off-lineexponentiation)と、Beを計算するためのオンラインべき乗(on-line exponentiation)と、(YBex+daに関する追加のオンラインべき乗とを必要とすることは留意すべきである。しかし、第2のべき乗は長さ|q|/2の指数eを使用し、したがって、それが「半べき乗(halfexponentiation)」(たとえば、gという正規べき乗(regular exponentiation)に対してモジュラ乗算の回数が半分である)と見なされることも留意すべきである。Bハットについても同じ演算カウントが有効である。 Calculation of a session key by the A-hat is offline power for computing X = g x and (off-lineexponentiation), online power for computing B e and (on-line exponentiation), ( YB e) x + Note that it requires an additional online power with respect to da . However, the second power uses an exponent e of length | q | / 2, so it is a “halfexponentiation” (eg, the number of modular multiplications for a regular exponentiation of g It should also be noted that is considered to be half). The same calculation count is effective for the B hat.

全体として、MQVのパフォーマンスは本当に印象的であり、基本非認証DHプロトコルと同じ通信(両当事者のIDの一部として証明書を伝送する可能性を除く)であり、基本プロトコルより半べき乗だけ多く、認証交換を達成するための計算において25%の増加に過ぎない。これは、認証のためにデジタル署名または公開鍵暗号化に依存する証明されたDHプロトコルのいずれよりも大幅に良好なものであり、より高価な演算と帯域幅の増加を伴うものである。また、これは、暗黙認証DHプロトコルのうちの最も効率的なものであり、最も近いものは、3つの完全べき乗(full exponentiation)を必要とするが、実質的により少ないセキュリティ上の特徴を提供する「統一モデル(UnifiedModel)」プロトコルである。   Overall, the performance of MQV is really impressive, the same communication as the basic unauthenticated DH protocol (except for the possibility of transmitting a certificate as part of both parties' identity), and a half power higher than the basic protocol , Only a 25% increase in the calculation to achieve the authentication exchange. This is significantly better than either a proven DH protocol that relies on digital signatures or public key encryption for authentication, with more expensive computations and increased bandwidth. This is also the most efficient of the implicit authentication DH protocols, and the closest one requires three full exponentiations, but provides substantially less security features. “Unified Model” protocol.

この例外的パフォーマンスおよびセキュリティの約束により、認証DHプロトコルを選択するときにMQVが魅力的な候補になる。これらの理由で、このプロトコルは、多くの規格に採用され、広く文献で論じられてきた。しかし、鍵交換セキュリティの形式モデルのいずれでもMQVプロトコルのいかなる形式的分析も正常に実行されなかったので、これまで回答されていない質問の1つは、MQVプロトコルが実際にどの程度安全であるのかということである。   This exceptional performance and security promise makes MQV an attractive candidate when choosing an authentication DH protocol. For these reasons, this protocol has been adopted by many standards and has been extensively discussed in the literature. However, since none of the formal models of the key exchange security has successfully performed any formal analysis of the MQV protocol, one question that has not been answered so far is how secure the MQV protocol is in practice. That's what it means.

これに対して、MQV設計者は、設計の背後にあるセキュリティ上の目標について明確であった。これらは、詐称および既知の鍵の攻撃(「未知の鍵の共有(UKS:unknown key share)」攻撃に対する抵抗を含む)に対する本質的なセキュリティならびに完全転送秘密(PFS:perfectforward secrecy)およびKCI(鍵漏洩詐称:key-compromise impersonation)攻撃に対する抵抗などのより具体的な特徴を含む。既知の鍵の攻撃に対する抵抗は、一時セッション固有秘密情報の開示によって他のセッションのセキュリティを破壊してはならないという原理を表している。   In contrast, MQV designers were clear about the security goals behind the design. These include intrinsic security against spoofing and known key attacks (including resistance to “unknown key share” attacks) and perfect forward secrecy (PFS) and KCI (keys). Includes more specific features such as resistance to key-compromise impersonation. Resistance to known key attacks represents the principle that the disclosure of temporary session-specific secret information should not destroy the security of other sessions.

PFSおよびKCI特性は、ある当事者の秘密鍵が攻撃者Mに漏れた場合にセキュリティ上の損害を閉じこめることを指す。より具体的には、PFSは、破壊されていない2当事者間で確立された任意のセッション鍵が両当事者のメモリから消去された後で両当事者が破壊された場合でも、そのセッション鍵をMが学習できないことを意味する。KCI攻撃に対する抵抗は、ある当事者Aハットの長期秘密鍵を学習し、このため、明らかに他の当事者に対してAハットを詐称できる攻撃者が、Aハットに対して他の破壊されていない当事者を詐称できないことを必要とする。   PFS and KCI characteristics refer to confining security damage if a party's private key leaks to attacker M. More specifically, the PFS allows M to retain its session key even if both parties are destroyed after any session key established between the two undestructed parties is erased from both parties' memory. It means you can't learn. Resistance to a KCI attack learns one party's A-hat's long-term secret key, so that an attacker who can clearly misrepresent an A-hat to another party is another undestructed party against the A-hat You need to not be able to misrepresent.

残念なことに、上記の仮出願にさらに記載されているように、本発明者の分析の結果は、形式的に研究すると、これらの特性のいずれもMQVプロトコルによって満足されないことを示している。具体的には、CanettiおよびKrawczykのセキュリティ・モデルでは、このプロトコルは、MQVによって満足されると言われている上述のセキュリティ特性と矛盾する、ある範囲の攻撃に対して無防備であることが実証されている。   Unfortunately, as further described in the above provisional application, the results of the inventor's analysis indicate that, when studied formally, none of these properties are satisfied by the MQV protocol. Specifically, Canetti and Krawczzyk's security model demonstrates that this protocol is vulnerable to a range of attacks that contradict the above security characteristics that are said to be satisfied by MQV. ing.

HMQVプロトコル
HMQVプロトコル(「H」は「ハッシュ」を意味するものと見なすことができる)は、いくつかの模範的な実施形態では、比較のためにステップ302に示されている従来のMQVプロトコルへの追加であり、図3のステップ303に示されているようなハッシュを含むことができる、MQVの単純だが強力な変種である。しかし、ハッシュを行わず、ハッシュ以外の技法を使用しない代替諸実施形態が本明細書で論じられ、本発明の概念にも含まれるので、最初の問題として、これらの模範的な実施形態の1つまたは複数のハッシュ・ステップが本発明にとって前提条件ではないことも留意すべきである。本発明のより基本的な概念は、MQVプロトコルの模範的なハッシュ・バージョンを含む、いくつかの適用例および実施形態がそこから進化したチャレンジ・レスポンス署名方式に関するものである。
HMQV Protocol The HMQV protocol ("H" can be considered to mean "hash") is, in some exemplary embodiments, to the conventional MQV protocol shown in step 302 for comparison. A simple but powerful variant of MQV that can include hashes as shown in step 303 of FIG. However, since alternative embodiments that do not perform hashing and do not use techniques other than hashing are discussed herein and are also included in the concepts of the present invention, the first problem is that one of these exemplary embodiments. It should also be noted that one or more hash steps are not a prerequisite for the present invention. A more basic concept of the invention relates to a challenge response signature scheme from which some applications and embodiments have evolved, including an exemplary hash version of the MQV protocol.

当技術分野で周知の通り、ハッシュは、出力として文字ストリングを数値、固定長ストリング(たとえば、ハッシュまたはメッセージ・ダイジェスト)などに変換するためにハッシュ関数を使用することを必要とする。暗号方式におけるハッシュ関数の基本機能は、元のデータを検索することが実行不可能であり、所与のハッシュ値に一致するデータ・ブロックを構築することも実行不可能でなければならないことを意味する、「一方向(one-way)」または「非可逆(irreversible)」変換を提供することである。ハッシュ関数は、単純な「混合(mixing)」関数から、純粋にランダムなスクランブルに似ている変換まで及ぶ可能性がある。後者は、「強い暗号ハッシュ関数」と呼ばれ、理想的な確率関数(randomfunction)(または「ランダム・オラクル(random oracle)」によって暗号分析でモデル化される場合が多い。   As is well known in the art, hashing requires the use of a hash function to convert a character string as an output to a number, a fixed length string (eg, a hash or message digest), etc. The basic function of a hash function in cryptography is that it is impossible to retrieve the original data, and it must also be impossible to build a data block that matches a given hash value. To provide a “one-way” or “irreversible” transformation. Hash functions can range from simple “mixing” functions to transformations that resemble purely random scrambling. The latter is called “strong cryptographic hash function” and is often modeled in cryptographic analysis by an ideal random function (or “random oracle”).

いくつかのハッシュ関数は、強い暗号ハッシュに広く使用される。たとえば、MD5は、任意のサイズのデータ・ブロックを入力として取り、ビット単位演算、加算、および64バイト・ブロック単位でデータを処理するための正弦関数(sine function)に基づく値の表を使用することによって、128ビット(16バイト)のハッシュを生成する。もう1つの主要なハッシュ関数は、160ビット・ハッシュを提供するNIST(国立標準技術研究所:NationalInstitute of Standards and Technology)のセキュア・ハッシュ・アルゴリズム(SHA:Secure Hash Algorithm)である。   Some hash functions are widely used for strong cryptographic hashes. For example, MD5 takes an arbitrarily sized data block as input and uses a table of values based on bitwise operations, addition, and a sine function to process the data in 64-byte blocks. As a result, a 128-bit (16-byte) hash is generated. Another major hash function is the NIST (National Institute of Standards and Technology) Secure Hash Algorithm (SHA) which provides a 160-bit hash.

典型的には、ハッシュ関数は暗号化に直接使用されないが、暗号化関数は一方向変換を提供し、このため、本発明のいくつかの模範的な実施形態を含む、いくつかのハッシュ用途に適用可能である。また、ハッシュ関数は、データ認証にも適切なものであり、秘密鍵(これらの設定では、メッセージ認証コード(Message Authentication Codeの場合にMAC)と呼ばれ、疑似確率関数(Pseudo-RandomFunction)の場合にPRFと呼ばれる場合が多い)または署名方式(この場合、ハッシュ値は「メッセージ・ダイジェスト」に使用される)とともに、このような目的に使用される。   Typically, the hash function is not used directly for encryption, but the encryption function provides a one-way transformation, and thus for some hash applications, including some exemplary embodiments of the invention. Applicable. The hash function is also appropriate for data authentication, and is called a secret key (in these settings, it is called a message authentication code (MAC in the case of Message Authentication Code), and is a pseudo-random function (Pseudo-RandomFunction). Together with a signature scheme (in this case, the hash value is used for "message digest") and is used for such purposes.

本発明の様々な模範的な実施形態では、上記の仮出願により詳細に記載されているセキュリティ分析において理想的なランダム・オラクルとして要約される少なくとも1つのハッシュ関数Hを使用する。これらの模範的な実施形態で関数Hが使用される2つのタスクは、第1に指数d、eの計算であり、第2にセッション鍵そのものの導出である。   Various exemplary embodiments of the present invention use at least one hash function H that is summarized as an ideal random oracle in the security analysis described in more detail in the above provisional application. The two tasks in which the function H is used in these exemplary embodiments are firstly the calculation of the indices d, e and secondly the derivation of the session key itself.

第1のタスクは例示的に、Hへの2つの引数を使用し、長さが|q|/2のストリングを出力し、第2のタスクは、単一の引数にHを適用し、指定の長さ(たとえば、128ビット)の鍵を出力する。表記法を単純にするために、同じ記号Hを使用して、ハッシュ関数の両方の適用例を表す。実際には、可変長入力を処理することができ、おそらく、ハッシュ結果を生成する際に短縮/拡張(truncation/expansion)の何らかの組み合わせを使用して、上記の2つのタスクに適合するようにその出力サイズを調整できる、単一のH、たとえば、SHA−1を使用することになるであろう。   The first task illustratively uses two arguments to H and outputs a string of length | q | / 2, and the second task applies H to a single argument and specifies A key having a length of (for example, 128 bits) is output. To simplify the notation, the same symbol H is used to represent both applications of the hash function. In practice, variable-length inputs can be processed, perhaps using some combination of truncation / expansion when generating hash results to adapt the two tasks above. A single H, eg, SHA-1, that can adjust the output size would be used.

しかし、第1のタスクのようにハッシュを使用する場合、メッセージまたは当事者のIDのみをハッシュするのではなく、タイムスタンプ、nonceなどの追加の引数をハッシュ関数への入力として含めることができるので、必ずしも2つの引数に制限されないことも留意すべきである。   However, when using a hash as in the first task, instead of hashing only the message or party ID, additional arguments such as timestamp, nonce, etc. can be included as input to the hash function, so It should also be noted that it is not necessarily limited to two arguments.

ハッシュを使用する場合、指数d、eを生成するために使用されるハッシュ関数(典型的にはl=|q|/2ビットの出力を有する)は、

Figure 2009526411
は以降Hバーと記載する。
で表される場合が多く、kビットの出力を有し、σ値に適用されるハッシュ関数はHで表される。実際には、異なる出力長を有する同じハッシュ関数を使用することができ、このため、Hバーの代わりに記号Hが使用されることもある。ニーモニックとして、Hバー内のバーは、この関数の出力が指数として使用されることを示している。 When using a hash, the hash function (typically having an output of l = | q | / 2 bits) used to generate the indices d, e is
Figure 2009526411
Is hereinafter referred to as H bar.
The hash function having k-bit output and applied to the σ value is represented by H. In practice, the same hash function with different output lengths can be used, so the symbol H may be used instead of the H bar. As a mnemonic, the bar in the H bar indicates that the output of this function is used as an exponent.

MQVのように、HMQVプロトコルの通信は、以前、図1に図示されている基本DH交換と同一であるが、証明書が追加される可能性がある。図3に例証されている通り、セッション鍵Kの計算は、値dおよびeの計算におけるMQVのものとは異なり、当事者自身のDH値とピア(peer)のIDのハッシュを必要とする。このハッシュの典型的な出力はl=|q|/2ビットである。加えて、模範的な一実施形態では、HMQVは、

Figure 2009526411
という値からkビットの鍵へのハッシュを指定し、ここでkは所望のセッション鍵の長さである。代替実施形態では、1つまたは両方のσ関数はハッシュされない。 Like MQV, HMQV protocol communication is the same as the basic DH exchange previously illustrated in FIG. 1, but certificates may be added. As illustrated in FIG. 3, the calculation of the session key K differs from that of the MQV in calculating the values d and e and requires a hash of the party's own DH value and peer ID. A typical output of this hash is l = | q | / 2 bits. In addition, in one exemplary embodiment, the HMQV is
Figure 2009526411
Specifies a hash to a k-bit key, where k is the desired session key length. In an alternative embodiment, one or both sigma functions are not hashed.

この説明から、HMQVは、通信および計算の両方の点でMQVの優れたパフォーマンスを保持していることが分かる。同時に、HMQVは、上記の仮特許出願で論じられているMQVのすべてのセキュリティ上の短所を、そこでさらに論じられ証明される2メッセージ・プロトコルで最大限可能な範囲で、克服するものである。HMQVおよびその変種のセキュリティ上の特性および利点に関するより完全な説明については、本出願で後で提示する。   From this description, it can be seen that HMQV retains the superior performance of MQV both in terms of communication and computation. At the same time, HMQV overcomes all the security shortcomings of MQV discussed in the above provisional patent application to the maximum extent possible with the two message protocol further discussed and proven therein. A more complete description of the security properties and benefits of HMQV and its variants will be presented later in this application.

チャレンジ・レスポンス署名
HMQVプロトコルがMQVプロトコルとはどのように異なるかは明らかでなければならないが、ある意味でより基本的な本発明のもう1つの態様が存在する。すなわち、HMQVの背後にある中心的設計および分析要素として存在する主なテクニカル・ツールは、「チャレンジ・レスポンス署名」と呼ばれ、Fiat−Shamir方法を使用するSchnorrの識別方式の新しい変種を基礎として実現される、新しい形の対話式署名である。その結果として、本発明の「指数チャレンジ・レスポンス」(XCR)署名が得られる。SchnorrおよびFiat−Shamir方法とXCR署名との関係については以下に論じる。
Challenge-response signature Although it should be clear how the HMQV protocol differs from the MQV protocol, there is another aspect of the invention that is more basic in a sense. In other words, the main technical tool that exists as the central design and analysis element behind HMQV is called “challenge-response signature” and is based on a new variant of Schnorr's identification scheme using the Fiat-Shamir method. A new form of interactive signature that will be realized. The result is an “exponential challenge response” (XCR) signature of the present invention. The relationship between Schnorr and Fiat-Shamir methods and XCR signatures is discussed below.

これらのXCR署名は、ランダム・オラクル・モデル(計算Diffie−Hellman(Computational Diffie-Hellman)またはCDH仮説に基づくもの−以下を参照)において安全なものであり、検証者と署名者の両方が例示的に同じ署名を計算できるという特性を有する。前者はチャレンジを把握することによってこれを達成し、後者は秘密署名鍵を把握することによってこれを行うことができる。同一の署名の計算に関する変形は、署名者および検証者によって異なるが関連のある署名を計算することを含む。   These XCR signatures are secure in a random oracle model (based on the computational Diffie-Hellman (Computational Diffie-Hellman) or CDH hypothesis—see below), both verifiers and signers are exemplary Have the property that the same signature can be calculated. The former can accomplish this by grasping the challenge, and the latter can do this by grasping the secret signing key. Variations on calculating the same signature include calculating different but related signatures by the signer and verifier.

たとえば、一方によって計算された署名値は、もう一方によって計算された署名のハッシュ変種である可能性があるか、あるいは両方の署名は何らかの特定の代数特性などによって関連している可能性がある。本発明の様々なHMQVプロトコルは、これらのXCR署名を使用する模範的なメカニズムの1つであり、これらは(DH値およびピアIDの)認証ならびにセッション鍵の計算を提供する。   For example, a signature value calculated by one may be a hash variant of a signature calculated by the other, or both signatures may be related, such as by some specific algebraic characteristic. The various HMQV protocols of the present invention are one exemplary mechanism that uses these XCR signatures, which provide authentication (DH value and peer ID) and session key computation.

したがって、XCR署名ならびにその「二重バージョン(dual version)」(たとえば、DCR)は、簡潔に論じると、HMQV設計および分析の基礎となる考え方について、技術ならびに概念の両面で当然の解釈を提供するものである。   Thus, XCR signatures and their “dual versions” (eg, DCR), when briefly discussed, provide a natural interpretation, both technically and conceptually, of the concepts underlying HMQV design and analysis. Is.

加えて、HMQVプロトコルを超える適用例ではXCR署名も使用できることは留意すべきである。それぞれの基本的形式では、XCR署名は、対話式で、チャレンジ固有であり、移転不能であるので、デジタル署名の古典的機能を提供しない。すなわち、これらは、否認防止(non-repudiation)のために使用することができない。   In addition, it should be noted that XCR signatures can also be used in applications beyond the HMQV protocol. In each basic form, XCR signatures are interactive, challenge specific, and non-transferable and therefore do not provide the classic functionality of digital signatures. That is, they cannot be used for non-repudiation.

これに対して、これらは、鍵交換を含む、何らかの適用例の場合に重要な特性である「否認可能認証(deniable authentication)」を提供し、それにより、XCR署名の受信側に対して、メッセージまたは鍵の発信元および保全性を保証することができるが、第三者に対してこの発信元を証明することはできない。とりわけ、これらの署名および結果として生じる鍵交換プロトコルは理想的には「非公式の(off-therecord)」の通信およびプライバシ保護に適している。加えて、XCRの非対話式バージョンは、後述の通りに存在し、何らかの場合に周知のデジタル署名アルゴリズム(DSA:DigitalSignature Algorithm)などの確立された署名方式に代わるものを提供する。   In contrast, they provide “deniable authentication”, which is an important property for some applications, including key exchanges, so that messages to XCR signature recipients Alternatively, the source and integrity of the key can be guaranteed, but this source cannot be proved to a third party. In particular, these signatures and the resulting key exchange protocol are ideally suited for “off-the-record” communication and privacy protection. In addition, non-interactive versions of XCR exist as described below and provide an alternative to established signature schemes such as the well-known digital signature algorithm (DSA) in some cases.

正規のデジタル署名方式のように、チャレンジ・レスポンス署名方式では、署名者は、署名の生成および検証にそれぞれ使用する秘密鍵と公開鍵のペアを有し、検証者は署名者の真正公開鍵を入手するものと想定されている。とりわけ、両当事者は署名プロトコルの開始前に秘密を共有しているものとは想定されておらず、署名の計算にこのような共有秘密は必要ではない。しかし、正規の署名とは対照的に、その基本的な形式では、チャレンジ・レスポンス署名は対話式であり、署名者が所与のメッセージ上に署名を生成する前に署名の受信側(たとえば、検証者)が署名者に対してチャレンジを発行する必要がある。安全なチャレンジ・レスポンス署名方式は、正当な署名者以外の人は誰も、その署名を有効なものとして受け入れるようチャレンジャを納得させるような署名を生成できないことを保証する必要がある。とりわけ、署名は、メッセージ固有であるだけでなく、チャレンジ固有のものでもある。   Like the regular digital signature scheme, in the challenge-response signature scheme, the signer has a private / public key pair that is used for signature generation and verification, respectively, and the verifier uses the signer's authentic public key. It is supposed to be obtained. In particular, both parties are not expected to share a secret prior to the start of the signature protocol, and such a shared secret is not required for signature calculations. However, in its basic form, as opposed to a legitimate signature, challenge-response signatures are interactive, and the signature recipient (e.g., before the signer generates the signature on a given message) The verifier needs to issue a challenge to the signer. A secure challenge-response signature scheme needs to ensure that no one other than the legitimate signer can generate a signature that would convince the challenger to accept the signature as valid. In particular, the signature is not only message specific but also challenge specific.

これに対して、チャレンジャによる署名の検証可能性を保証することは関心のあることであり、したがって、署名の転送可能性または第三者による検証可能性に関する想定または要件はまったく存在しない。その上、後述の特定の方式は、チャレンジを選択する当事者が、その特定のチャレンジに関して有効な署名をどのメッセージ上でも必ず生成できるという特性を有する。本出願に関してより重要であり、この方式を他の対話式署名から区別するものは、検証者がチャレンジを使用して、署名者と同じ(または関連する)署名ストリングを計算できることである。   On the other hand, it is of interest to ensure the verifiability of signatures by challengers, so there are no assumptions or requirements regarding the transferability of signatures or verifiability by third parties. In addition, the particular scheme described below has the property that the party selecting the challenge can always generate a valid signature on any message for that particular challenge. More important with respect to this application, what distinguishes this scheme from other interactive signatures is that the verifier can use the challenge to calculate the same (or associated) signature string as the signer.

上記の通り、gは(通常は素数)次数qの群Gの生成元である。また、Hは|q|/2ビット

Figure 2009526411
を出力するハッシュ関数であるが、この場合も、「素数次数(prime order)」の使用およびHの出力の特定の長さは、模範的な諸実施形態の模範的な設計の詳細に過ぎず、本発明に不可欠なものではない。 As described above, g is a generator of a group G of order q (usually a prime number). H is | q | / 2 bits
Figure 2009526411
, Where again the use of “prime order” and the specific length of the output of H are only exemplary design details of exemplary embodiments. It is not essential to the present invention.

XCR署名方式の定義
図4に例示されている指数チャレンジ・レスポンス(XCR)署名方式500は以下のように定義される。すなわち、Bハットで表されるXCR方式内の署名者は、秘密鍵b∈Rqと公開鍵B=gbとを所有する。Aハットで表される検証者(またはチャレンジャ)は、x∈Rqの場合にAハットがX=gxとして計算する最初のチャレンジXを提供し、ここでxはAハットによって選択され、秘密に保持される。チャレンジXを使用する所与のメッセージm上のBハットの署名は、

Figure 2009526411
というペアとして定義され、ここでY=gyであり、y∈RqはBハットによって選択され、指数y+Hバー(Y,m)bはqを法として換算される。検証者Aハットは、それが
Figure 2009526411
であると判断した場合のみ、(メッセージmおよびチャレンジX=gxについて)有効なものとして署名ペア(Y,σ)を受け入れる。 Definition of XCR Signature Scheme The exponential challenge response (XCR) signature scheme 500 illustrated in FIG. 4 is defined as follows. In other words, the signer in XCR scheme represented by B hat, owns a public key B = g b a secret key b∈ R Z q. Verifier represented by A hat (or challenger) provides initial challenge X, A hat is calculated as X = g x in the case of x ∈ R Z q, where x is chosen by A hat, Kept secret. The signature of B-hat on a given message m using challenge X is
Figure 2009526411
Where Y = g y , yε R Z q is selected by the B hat, and the exponent y + H bar (Y, m) b is converted modulo q. Verifier A hat
Figure 2009526411
Only if it is determined that the signature pair (Y, σ) is valid (for message m and challenge X = g x ).

ここで以下の表記法を使用する。すなわち、所与のメッセージm、チャレンジX、および値Yの場合に、

Figure 2009526411
と定義する。すなわち、
Figure 2009526411
は、XCR署名ペア内の第2の元を表している。一般的な注記として、「メッセージ」という単語の上記の使用が、送信データ、ファイル、媒体などを含むビット・ストリームによって表すことができ、それ自体がより長いメッセージのハッシュ・バージョンになりうる任意の形式のデータまたは情報を表すことは注目する価値がある。このメッセージは、図5に図示されているように両当事者に対して入力できるか、ある当事者から他の当事者に伝送できるか、あるいは第三者、外部ソースなどから提供することができる。 Here, the following notation is used. That is, for a given message m, challenge X, and value Y,
Figure 2009526411
It is defined as That is,
Figure 2009526411
Represents the second element in the XCR signature pair. As a general note, any of the above uses of the word “message” can be represented by a bit stream that includes transmitted data, files, media, etc., and can be any hashed version of the message itself. Representing a form of data or information is worth noting. This message can be entered for both parties as illustrated in FIG. 5, can be transmitted from one party to another, or can be provided from a third party, an external source, or the like.

本出願に記載されている通り、XCR署名の利点としては、分析の健全性(立証可能性)、検証者と証明者の両方による計算可能性、二重性(単一の計算は2当事者以上による署名の結合を表す)、「ハッシュ可能性(hashability)」(すなわち、ハッシュ署名を処理し検証する能力)、鍵または共通値の導出、転送不能性および否認可能性、(否認可能な署名から伝統的な否認不能な署名への)変換可能性、(特に対話環境で)DSSより堅固な代替策を提供すること、ならびに非対話式変種の存在を含む。   As described in this application, the advantages of XCR signing include: soundness of analysis (verifiable), computability by both verifiers and provers, duality (a single calculation is signed by two or more parties) ), “Hashability” (ie ability to process and verify hash signatures), derivation of keys or common values, non-transferability and repudiation, (traditional from repudible signatures) Convertibility (to non-repudible signatures), providing a robust alternative to DSS (especially in interactive environments), as well as the presence of non-interactive variants.

そこからXCR署名が導出されるSchnorrの識別方式に対する関連を介してXCR方式の設計の動機になることは、例証となる可能性がある。Schnorrの(対話式)識別方式は、所与の入力B=gbに関する離散対数bを把握していることの証明から構成される。Bハットがこの方式の証明者(bを所有するもの)を表し、Aハットが検証者(入力Bが与えられるもの)を表すものとする。基本的なSchnorrの識別は以下の3つのメッセージから構成される。
(i)Bハットはy∈Rqを選択し、Y=gyをAハットに送信する。
(ii)Aハットはランダム値e∈Rqで応答する。
(iii)Bハットは値s=y+ebをAハットに送信する。Aハットは、gs=YBeが有効である場合のみ、受け入れる。
The motivation for the design of the XCR scheme through its association with Schnorr's identification scheme from which the XCR signature is derived may be illustrative. Schnorr's (interactive) identification scheme consists of a proof that he knows the discrete logarithm b for a given input B = g b . Let B-hat represent the prover of this scheme (which owns b), and let A-hat represent the verifier (given input B). Basic Schnorr identification consists of the following three messages.
(I) B hat selects yR Z q and sends Y = g y to A hat.
(Ii) A hat responds with a random value e∈ R Z q.
(Iii) The B hat sends the value s = y + eb to the A hat. A hat will only accept if g s = YB e is valid.

このプロトコルは、正直な検証者Aハット(たとえば、ランダムに一律にeを選択する人)に対する(bの)知識のパブリックコイン型ゼロ知識証明(public-coin zero-knowledge proof)である。したがって、これは、周知のFiat−Shamir方法を介してランダム・オラクル・モデルで立証可能に安全な署名方式、すなわち、

Figure 2009526411
に変換することができる。 This protocol is a public-coin zero-knowledge proof of knowledge (of b) for an honest verifier A hat (eg, someone who randomly selects e uniformly). This is therefore a secure signature scheme that can be verified with the random oracle model via the well known Fiat-Shamir method, ie
Figure 2009526411
Can be converted to

次に、AハットからBハットへの第1のメッセージが追加される、以下のSchnorrプロトコルの4メッセージ変種について検討する。この第1のメッセージで、Aハットは値X=gxをBハットに送信する。次に、Schnorrの方式からの3つのメッセージが続くが、メッセージ(iii)、すなわち、変更済みプロトコルの第4のメッセージでは、s=y+ebをAハットに送信するのではなく、BハットがS=Xsを送信する。Aハットは、S=(YBexである場合のみ、受け入れる。このプロトコルは任意の値X∈GについてDiffie−Hellman値CDH(B,X)を計算するBハットの「能力」の証明であることが分かる。その上、このプロトコルはランダムにeを選択する検証者Aハットに対するゼロ知識であり、Xは任意に選択することができる。 Next, consider the following four message variants of the Schnorr protocol to which a first message from A hat to B hat is added. In this first message, A-hat sends the value X = g x to B-hat. Next, three messages from the Schnorr scheme follow, but in message (iii), the fourth message of the modified protocol, instead of sending s = y + eb to A hat, B hat has S = Send X s . A hat is accepted only if S = (YB e ) x . It can be seen that this protocol is a proof of B's “ability” to compute Diffie-Hellman values CDH (B, X) for any value XεG. Moreover, this protocol is zero knowledge for a verifier A hat that randomly selects e, and X can be chosen arbitrarily.

Fiat−Shamir変換をこのプロトコルに適用することにより、本発明のチャレンジ・レスポンス署名XCRが得られる。また、これは、XCR方式を命名する際に「指数」という用語が使用される理由も説明しており、Schnorr方式のs=y+ebをこのプロトコルの最後のメッセージのXsで置き換えることを指している。 By applying the Fiat-Shamir transformation to this protocol, the challenge-response signature XCR of the present invention is obtained. It also explains why the term “exponent” is used when naming the XCR scheme, and refers to replacing the Schnorr scheme s = y + eb with the X s of the last message in this protocol. Yes.

CDH仮説に基づくXCR署名方式のセキュリティの追加の態様については上記の仮出願でさらに論じられている。   Additional aspects of XCR signature based security based on the CDH hypothesis are further discussed in the above provisional application.

上記の用語のいくつかを説明する際に、G内の2つの元であるU=gu、V=gvの場合、Diffie−Hellman計算をUおよびVに適用した結果をCDH(U,V)によって表す(たとえば、CDH(U,V)=guv)。このアルゴリズムは、入力としてG内の元(U,V)のペアを取り、Diffie−Hellman結果CDH(U,V)を出力する場合、「Gに関するCDH求解ルーチン(solver)」と呼ばれる。仮出願でさらに提供される分析で使用される主な至難性仮説(intractability assumption)は計算Diffie−Hellman(CDH)仮説である。Gに関するすべての効率的なCDH求解ルーチンの場合、U,V∈RGに関するペア(U,V)について求解ルーチンが正しい値CDH(U,V)を計算する確率が無視できるものである場合(この確率は求解ルーチンのランダム・コインについて取られ、U,Vの選択はG内でランダムに独立して行われる)、CDH仮説は群Gで有効であると言える。 In describing some of the above terms, if the two elements in G are U = g u and V = g v , the result of applying the Diffie-Hellman calculation to U and V is expressed as CDH (U, V ) (For example, CDH (U, V) = g uv ). This algorithm is called a “CDH solver for G (solver)” when it takes a pair of elements (U, V) in G as input and outputs a Diffie-Hellman result CDH (U, V). The main intractability assumption used in the analysis further provided in the provisional application is the computational Diffie-Hellman (CDH) hypothesis. For all efficient CDH solving routines for G, if the probability that the solving routine calculates the correct value CDH (U, V) for the pair (U, V) for U, Vε R G is negligible ( This probability is taken for random coins in the solution routine, and the selection of U and V is done randomly and independently within G), and the CDH hypothesis is valid for group G.

Hバー(Y,m)内のビット数
lはHバー(Y,m)内のビット数とする。明らかなことに、lが小さくなるほど署名方式の効率が高くなることを示す。これに対して、指数Hバー(Y,m)が予測可能であると、署名方式が不安定になるので、lが小さすぎる場合、セキュリティ・バウンド(security bound)が不良であることを示す。しかし、セキュリティのためにどの程度の大きさのlが必要であるかが問題である。
The number of bits in H bar (Y, m) l is the number of bits in H bar (Y, m). Obviously, the smaller the l, the higher the efficiency of the signature scheme. On the other hand, if the index H bar (Y, m) is predictable, the signature scheme becomes unstable. If l is too small, it indicates that the security bound is bad. However, it is a problem how large l is necessary for security.

l=1/2|q|という設定によって良好なセキュリティ・パフォーマンスのトレードオフが得られ、このため、XCR署名の模範的な指定で(しかも本発明のHMQVプロトコルへのその模範的な適用のために)この値が使用されることが分かる(上記の仮出願の考察を参照されたい)。   The setting l = 1/2 | q | provides a good security performance trade-off, so that in the exemplary designation of the XCR signature (and for its exemplary application to the HMQV protocol of the present invention) It can be seen that this value is used (see discussion of provisional application above).

Bとの対話の順序の変更
とりわけ、HMQVプロトコルの分析に適用されるXCR署名のいくつかの適用例では、チャレンジャAハットと署名者Bハットとの対話の順序を変更することができる。
Changing the order of interactions with B In particular, in some applications of XCR signatures applied to the analysis of the HMQV protocol, the order of interactions between the challenger A hat and the signer B hat can be changed.

XCR方式の上記の定義では、Aハットは、BハットにチャレンジXを提供すると同時にBハットにメッセージmを提示し、その結果、Bハットは署名ペア

Figure 2009526411
で直ちに応答することができる。現在検討している変更済みバージョンでは、以下の順序の対話が行われる。
(i)AハットはBハットにメッセージmを提示し、BハットはYを出力し、その後の何らかの時点で
(ii)AハットはBハットに(Y,m,X)を提供し、Bハットは
Figure 2009526411
を出力する。 In the above definition of the XCR scheme, A-hat provides challenge X to B-hat and simultaneously presents message m to B-hat so that B-hat is signed
Figure 2009526411
You can respond immediately. In the modified version currently under consideration, the following sequence of interactions takes place:
(I) A hat presents message m to B hat, B hat outputs Y, and at some point thereafter (ii) A hat provides (Y, m, X) to B hat, and B hat Is
Figure 2009526411
Is output.

次に、当事者Fがこの変更済み順序を取るようBハットに照会するものと想定する。とりわけ、FはBハットとの種々の対話をインターリーブすることができ、すなわち、Fは、対応するステップ(ii)を実行する前にステップ(i)のいくつかのインスタンスを実行することができる。これは、BハットがY、y、およびmという値でステップ(i)後の状態を保持することを必要とする。その後、Fがステップ(ii)で(Y,m,X)を提示すると、Bハットは、それがその状態内にペア(Y,m)を有することをチェックし、有する場合に

Figure 2009526411
で応答し、その状態から(Y,m)を消去する(Bハットがその状態内にペア(Y,m)を持っていない場合、それはその署名を発行しない)。 Next, assume that party F queries B hat to take this changed order. In particular, F can interleave various interactions with the B hat, ie, F can perform several instances of step (i) before performing the corresponding step (ii). This requires the B hat to keep the state after step (i) with values Y, y and m. Later, when F presents (Y, m, X) in step (ii), B-hat checks that it has a pair (Y, m) in its state and
Figure 2009526411
And delete (Y, m) from that state (if B-hat does not have a pair (Y, m) in that state, it does not issue its signature).

Bハットのアクションのこの指定によって、Bハットが2つの異なる署名に同じY値を使用しないことを保証することに留意されたい。BハットによるYの選択のシミュレーションがXの知識を必要としないが、Hバー(Y,m))を決定するためにmの値のみが必要であるという理由だけで、XCR署名のセキュリティの証明がこの変更済み順序について引き続き有効であることは、容易に検証することができる。   Note that this designation of the action of B-hat ensures that B-hat does not use the same Y value for two different signatures. Proof of XCR signature security just because the simulation of the selection of Y by B-hat does not require knowledge of X, but only the value of m is needed to determine H bar (Y, m)) It can be easily verified that is still valid for this modified order.

ハッシュXCR変種(HCR)
XCR署名(Y,σ)のペアをペア(Y,H(σ))で置き換えることが可能であり、ここでHはハッシュ関数であり、このような「ハッシュXCR」署名は「HCR」と略記される。XCR特性によって検証者がYのついてσを再計算できるので、Yが与えられると、H(σ)も計算することができ、このため、変更済みHCR署名を検証できることに留意されたい。
Hash XCR variant (HCR)
It is possible to replace a pair of XCR signatures (Y, σ) with a pair (Y, H (σ)), where H is a hash function, and such a “hash XCR” signature is abbreviated as “HCR”. Is done. Note that the XCR property allows the verifier to recalculate σ for Y, so given Y, H (σ) can also be calculated, and thus the modified HCR signature can be verified.

HCR署名は、いくつかの設定で重要な、所定の範囲の特性を有する。たとえば、その署名は正規のXCR署名より短い場合もあれば、結果的にランダム値または疑似ランダム値になる場合もあり、攻撃者がσ内の代数構造を学習するのを防止する場合などもある。   HCR signatures have a range of characteristics that are important in some settings. For example, the signature may be shorter than a regular XCR signature, may result in a random or pseudo-random value, and may prevent an attacker from learning the algebraic structure in σ. .

とりわけ、対話式および検証者固有の認証環境(鍵交換プロトコルなど)では、HCR署名は、DSA署名に代わるより安全なものを提供する。実際に、DSAでは、単一の一時指数(たとえば、DSA署名の成分r=gk内のk)を開示すると、秘密署名鍵を明かすことにより、署名方式が完全に不安定になり、一時指数yが攻撃者に明かされた場合でも、HCR署名は捏造不能である(ただし、この場合、署名者がチャレンジXの順序をテストするかまたは余因数べき乗(co-factor exponentiation)を使用して強制的にその値を少なくとも次数qのものにすることを条件とする)。 In particular, in interactive and verifier-specific authentication environments (such as key exchange protocols), HCR signatures provide a more secure alternative to DSA signatures. In fact, in DSA, disclosing a single temporary exponent (eg, k in the DSA signature component r = g k) makes the signature scheme completely unstable by revealing the secret signature key, and the temporary exponent Even if y is revealed to the attacker, the HCR signature cannot be forged (but in this case the signer must test the order of challenge X or enforce it using co-factor exponentiation) The value is at least of order q).

非対話式XCR変種
XCR(およびHCR)署名は、X=Aを書き込むことにより、非対話式だが検証者固有のものにすることができ、ここでAは、図6に図示されている通り、検証者の公開鍵である。これは、非常に効率的な非対話式で検証者固有の否認可能認証メカニズムを提供する。ある変形では、当事者Aハットの固有の公開鍵Aを使用するのではなく、後者は署名者が使用するために1つまたは複数のチャレンジを公表する(たとえば、Webサイトでポストする)ことができ、したがって、Aハット自体が署名時に使用可能ではない場合でも、これらのチャレンジが使用可能になる。
Non-interactive XCR variants XCR (and HCR) signatures can be made non-interactive but verifier-specific by writing X = A, where A is as illustrated in FIG. The verifier's public key. This provides a very efficient non-interactive and verifier specific non-repudiation authentication mechanism. In one variation, rather than using party A's own public key A, the latter can publish one or more challenges (eg, post on a website) for use by the signer. Thus, these challenges can be used even if the A hat itself is not available at the time of signing.

変換可能XCR署名
XCR署名の顕著な特性(とりわけ、共有秘密および公開鍵暗号化に基づくものを含み、他の「否認可能」チャレンジ・レスポンス・メカニズムからそれを区別するもの)は、これらの署名を正規の否認不能な署名に「変換」する能力である。変換可能署名は、否認可能認証の特性を有し、すなわち、意図された受信側のみによって検証することができるが、署名者も自分の秘密署名鍵を明かさずに自分が所与の署名の作成者であることを最終的に証明することができる。
Translatable XCR signatures The salient properties of XCR signatures, including those based on shared secrets and public key cryptography, that distinguish it from other “repudiation” challenge-response mechanisms, The ability to “convert” to a legitimate non-repudible signature. Translatable signatures have the characteristics of non-repudiation authentication, i.e. they can only be verified by the intended recipient, but the signer can also create a given signature without revealing his private signing key You can finally prove that you are a person.

秘密署名から公開署名へのこの変換可能性は、たとえば、数年後に検証可能な公開記録に変換しなければならない職務上の非公式通信のために必要である可能性がある。XCR署名の場合、チャレンジXに基づくメッセージm上の署名(Y,σ)は、値y+Hバー(Y,m)bを明かすことにより、正当な署名者によって正規の否認不能な署名に変換することができる。   This convertibility from a private signature to a public signature may be necessary, for example, for professional informal communications that must be converted to a verifiable public record after several years. In the case of an XCR signature, the signature (Y, σ) on the message m based on the challenge X is converted to a legitimate non-repudible signature by a legitimate signer by revealing the value y + H bar (Y, m) b Can do.

他の(受信側固有の)変換可能署名は文献に提示されているが、そのいずれでも、意図された受信側(またはチャレンジャ)は独力で署名を再計算することができず、このため、以下の二重XCR署名によって例示されている通り、この再計算特性がXCR署名に提供する多くの利点を共有しない。   Other (receiver-specific) convertible signatures have been presented in the literature, but none of the intended recipients (or challengers) can recalculate the signatures on their own, so that This recomputation property does not share many of the benefits that XCR signatures provide, as illustrated by the double XCR signatures.

二重XCR署名(DCR)
XCR署名の重要な特性の1つは、チャレンジを選択したチャレンジャが独力で署名を計算できることである。ここで、任意の2当事者Aハット、Bハットがチャレンジャと署名者という二重の役割で互いに対話でき、それぞれがいかなる第三者も捏造できない署名を生成するという特性を備えた関連チャレンジ・レスポンス署名方式(本明細書では「二重XCR方式」または略してDCRという)を導出するためにこの特性を利用する方法が示される。その上、これは、この方式をHMQVプロトコルにとって重要なものにするものであり、結果として得られるAハットおよびBハットによる署名は同じ値を有する。より正確には、それらはXCR署名ペア内に同じXSIG成分を有する。
Double XCR signature (DCR)
One important property of XCR signatures is that the challenger who selects the challenge can calculate the signature on his own. Here, any two-party A-hat, B-hat can interact with each other in the dual role of challenger and signer, each associated challenge-response signature with the characteristic that it generates a signature that no third party can forge A method is shown that takes advantage of this property to derive a scheme (herein referred to as “dual XCR scheme” or DCR for short). Moreover, this makes this scheme important for the HMQV protocol, and the resulting signatures by A and B hats have the same value. More precisely, they have the same XSIG component in the XCR signature pair.

定義: 二重(指数)チャレンジ・レスポンス(DCR)署名方式。AハットおよびBハットは、それぞれ公開鍵A=ga、B=gbを有する2当事者とする。m1、m2は2つのメッセージとする。それぞれメッセージm1、m2上のAハットおよびBハットの二重XCR署名(略してDCR)は、X、Y、および

Figure 2009526411
という3つ組の値として定義され、ここでX=gxおよびY=gyはそれぞれAハットおよびBハットによって選択されたチャレンジであり、記号dおよびeはそれぞれHバー(X,m1)およびHバー(Y,m2)を表している。(図7を参照されたい。) Definition: Double (exponential) challenge response (DCR) signature scheme. A hat and B hat, a 2 parties each having a public key A = g a, a B = g b. m 1 and m 2 are two messages. The double XCR signature (DCR for short) of A hat and B hat on messages m 1 and m 2 respectively is X, Y, and
Figure 2009526411
Where X = g x and Y = g y are challenges selected by A hat and B hat, respectively, and the symbols d and e are H bars (X, m 1 ), respectively. And H bar (Y, m 2 ). (See FIG. 7)

このため、DCR署名の基本的な特性は、値XおよびY(それぞれAハットおよびBハットによって選択されたxおよびyを含む)を交換した後、AハットとBハットの両方が同じ署名

Figure 2009526411
を計算(および検証)できることである。これは、
Figure 2009526411
という等値(equivalence)から分かり、ここでx+daおよびy+ebはqを法として換算される。 Thus, the basic property of a DCR signature is that after exchanging the values X and Y (including x and y selected by A and B hats, respectively), both A and B hats have the same signature.
Figure 2009526411
Can be calculated (and verified). this is,
Figure 2009526411
Where x + da and y + eb are converted modulo q.

その上、上記の仮出願の考察に実証されている通り、攻撃者はこの署名を実行できるように計算することができない。   Moreover, as demonstrated in the provisional application discussion above, the attacker cannot calculate to be able to execute this signature.

大ざっぱに言えば、二重署名は、チャレンジYBeに基づくメッセージm1上のAハットによるXCR署名であると同時にチャレンジXAdに基づくメッセージm2上のBハットによるXCR署名である。より正確には、値dおよびeは署名プロセス中に(メッセージm1、m2のおそらく敵対的な選択により)決定されるので、BハットのDCR署名は攻撃者によって選択されたわけではない任意の値A=gaに関して安全であることを実証することができる。 Roughly speaking, the double signature is an XCR signature by A hat on message m 1 based on challenge YB e and at the same time an XCR signature by B hat on message m 2 based on challenge XA d . More precisely, since the values d and e are determined during the signing process (possibly by hostile selection of messages m 1 , m 2 ), the B-hat DCR signature is not chosen by the attacker. it can be demonstrated to be safe with respect to the value a = g a.

基本HMQVプロトコルの形式的説明
HMQVプロトコルは、その基本的2メッセージ交換において、そこから両当事者AハットおよびBハットが

Figure 2009526411
という二重XCR署名を計算するためのチャレンジとして機能するDiffie−Hellman値X=gxおよびY=gyの両当事者間の交換から構成される。次に、この値をハッシュすることにより、セッション鍵が導出される。このように、署名自体は伝送する必要がなく、セッション鍵の共通導出値を保証するのは署名の一意性(uniqueness)であり、主張された当事者Aハット、Bハットによって交換が実行されたという証明を可能にするのは鍵(同等に、署名)を計算する固有の能力である。 Formal description of the basic HMQV protocol The HMQV protocol is the basic two-message exchange in which both parties A and B
Figure 2009526411
The Diffie-Hellman values X = g x and Y = g y that serve as a challenge to compute the double XCR signature Next, the session key is derived by hashing this value. Thus, the signature itself does not need to be transmitted, and it is the signature uniqueness that guarantees the common derived value of the session key, and that the exchange was performed by the claimed party A hat and B hat. It is the inherent ability to compute a key (equivalently, a signature) that allows proof.

基本的に、署名が計算されるメッセージm1、m2はピアのID(すなわち、Aハット、Bハット)であるので、両当事者は、自分が計算した鍵が正しいIDに一意的に拘束されるという保証を得る。署名の元に(とりわけ、値dおよびeの計算において)一時Diffie−Hellman値だけでなく、両当事者のIDをこのように含めることは、UKS攻撃などの何らかの認証障害を回避するために不可欠である。 Basically, the messages m 1 and m 2 for which signatures are calculated are peer IDs (ie, A hat and B hat), so that both parties are uniquely bound to the correct ID by their keys. Get a guarantee that This inclusion of both parties' IDs in addition to the temporary Diffie-Hellman value in the signature (especially in the calculation of the values d and e) is essential to avoid any authentication failure such as a UKS attack. is there.

したがって、2当事者Aハット、Bハット間のHMQVプロトコルのセッションは、H(π)として計算されたセッション鍵によるDH値X=gxおよびY=gy(図1)の基本Diffie−Hellman交換から構成され、ここで

Figure 2009526411
である。すなわち、πは互いのIDに関するAハットおよびBハットの二重署名として計算される。上記の署名は、省略表現π(Aハット,Bハット,X,Y)によって表され、すなわち、
Figure 2009526411
であり、ここでd=Hバー(X,Bハット)、e=Hバー(Y,Aハット)であり、A=ga、B=gyはそれぞれ両当事者Aハット、Bハットの公開鍵である。π(Aハット,Bハット,X,Y)=π(Bハット,Aハット,Y,X)であることは、この時点で留意すべきである。ある変形では、H(π)はπの異なる関数で置き換えることができ、とりわけ、ハッシュは両当事者のIDなどの追加の情報を含むことができる。 Therefore, the HMQV protocol session between the two parties A-hat and B-hat is based on the basic Diffie-Hellman exchange of DH values X = g x and Y = g y (FIG. 1) with the session key calculated as H (π). Composed here
Figure 2009526411
It is. That is, π is calculated as a double signature of A hat and B hat regarding each other's ID. The above signature is represented by the abbreviation π (A hat, B hat, X, Y), ie
Figure 2009526411
, And the where d = H bar (X, B hat), a e = H bar (Y, A hat), A = g a, B = g y each parties A hat, B hat public key It is. It should be noted at this point that π (A hat, B hat, X, Y) = π (B hat, A hat, Y, X). In one variation, H (π) can be replaced with a different function of π, and in particular, the hash can include additional information such as the IDs of both parties.

HMQVプロトコルは典型的には、そのプロトコルを実行するために全当事者のいずれかを呼び出すことができるマルチパーティ・ネットワークで実行される。ある当事者側でプロトコルを呼び出すたびにセッション(プロトコルのこの特定のインスタンスに関連する情報を含むローカル状態)が作成され、それにより、完了時に発信メッセージとセッション鍵の出力を生成することができる。セッション中に以下のように3通りのタイプの起動によってある当事者を起動することができる(以下の説明では、Aハットは起動される当事者のIDを表し、Bハットはセッションに対する意図されたピアのIDを表している)。
1.Initiate(Aハット,Bハット): Aハットは、値X=gx、x∈Rqを生成し、(不完全な)セッション(Aハット,Bハット,X)として識別するHMQVのローカル・セッションを作成し、その発信メッセージとして値Xを出力する。
この起動の意味は、AハットがBハットとのセッションの起動側(initiator)として起動されていることであり、Xはこのセッションの一部としてピアBハットに配信する予定のメッセージである。当事者Aハットはセッションの「保有者(holder)」(または「所有者(owner)」)と呼ばれ、Bハットはセッションに対する「ピア」と呼ばれ、Xは発信(DH)値と呼ばれる。
2.Respond(Aハット,Bハット,Y): AハットはY≠0であることをチェックする。そうである場合、Aハットは、値X=gx、x∈Rqを生成し、Xを出力し、ID(Aハット,Bハット,X,Y)およびセッション鍵H(π((Aハット,Bハット,X,Y))を有するセッションを完了する。ここで、Aハットは、ピアBハットおよび着信値Yを有するセッションにおいて応答側として起動されている。この場合、Aハットは直ちにそのセッションを完了する(それ以上の着信メッセージはまったく存在しない)。着信値Yがゼロである場合、Aハットが起動を無視することに留意されたい。
3.Complete(Aハット,Bハット,X,Y): Aハットは、Y≠0であることと、ID(Aハット,Bハット,X)を有する公開セッションを有することをチェックする。これらの条件のいずれかが適合しない場合、Aハットは起動を無視し、適合する場合、AハットはセッションID(Aハット,Bハット,X,Y)およびセッション鍵K=H(π((Aハット,Bハット,X,Y))を有するセッションを完了する。これは、(申し立てによると)ピアBハットからの応答である着信値Yによる、このプロトコルにおける第2のメッセージの配信を表している。
The HMQV protocol is typically implemented in a multi-party network that can call any of the parties to execute the protocol. Each time a party calls a protocol, a session (a local state containing information related to this particular instance of the protocol) is created, which can generate an outgoing message and session key output upon completion. During a session, a party can be activated by three types of activation as follows (in the following description, A hat represents the identity of the party to be activated and B hat is the intended peer of the session: ID).
1. Initiate (A hat, B hat): A hat generates the values X = g x , xε R Z q and identifies it as the (incomplete) session (A hat, B hat, X). Create a session and output the value X as its outgoing message.
The meaning of this activation is that A hat is activated as an initiator of a session with B hat, and X is a message scheduled to be delivered to peer B hat as part of this session. The party A hat is called the “holder” (or “owner”) of the session, the B hat is called the “peer” for the session, and X is called the originating (DH) value.
2. Response (A hat, B hat, Y): Check that A hat is Y ≠ 0. If so, A hat, the value X = g x, x∈ R Z q generates and outputs the X, ID (A hat, B hat, X, Y) and the session key H (π ((A Hat, B hat, X, Y)), where A hat is activated as the responder in the session with peer B hat and incoming value Y. In this case, A hat is immediately Complete the session (no more incoming messages at all) Note that if the incoming value Y is zero, the A hat ignores the activation.
3. Complete (A hat, B hat, X, Y): A hat checks that Y ≠ 0 and has a public session with ID (A hat, B hat, X). If any of these conditions are not met, the A hat ignores the activation, and if it does, the A hat has a session ID (A hat, B hat, X, Y) and a session key K = H (π ((A (Hat, B hat, X, Y)), which represents the delivery of the second message in this protocol by the incoming value Y, which is a response from the peer B hat (according to the complaint). Yes.

3メッセージHMQV−Cプロトコル
3メッセージHMQV−C(Cは「鍵確認(key Confirmation)」を意味する)プロトコルは図8に描写されている。このプロトコルは、HMQVのすべてのセキュリティ特性、特に同じ計算コストを享受する。しかし、これは、第3のメッセージをプロトコルに追加し、プロトコル・メッセージの長さをわずかに増加させるものである。
Three Message HMQV-C Protocol The three message HMQV-C (C stands for “key Confirmation”) protocol is depicted in FIG. This protocol enjoys all the security properties of HMQV, in particular the same computational cost. However, this adds a third message to the protocol and slightly increases the length of the protocol message.

代わりに、HMQV−Cは、鍵確認、PFS、および汎用構成可能性(universal composability)を含む、基本HMQVプロトコルで欠けているいくつかの特性を提供する。   Instead, HMQV-C provides several characteristics that are lacking in the basic HMQV protocol, including key verification, PFS, and universal composability.

鍵確認
HMQVプロトコルは、ピアBハットおよびセッション鍵Kを有するセッションを完了する当事者Aハットに基本的な保証を提供し、Bハットが破壊されていない場合、BハットのみがおそらくKを把握することができる。このプロトコルが提供しないものは、Bハットがセッションを完了したかまたはセッション鍵を計算したというAハットに対する保証である。その上、Bハットは、セッションの実行中に「活動中」ではなかった可能性がある。
Key Verification The HMQV protocol provides basic assurance to a party A hat that completes a session with a peer B hat and a session key K, and if B hat is not destroyed, only B hat probably knows K Can do. What this protocol does not provide is a guarantee for A-hat that B-hat completed the session or calculated the session key. Moreover, B-Hat may not have been “active” during the session.

(典型的な公開鍵シナリオのように、AハットとBハットとの間のそれ以前の通信で、いかなる事前共有状態も作成されなかったと想定すると)いずれの2メッセージ公開鍵ベースのプロトコルについても同じことが当てはまるので、これはHMQVのみの欠点ではない。さらに、Shoupによって指摘されたように、その鍵を使用してそれぞれが開始する前にピアがセッションを完了しているという保証を両当事者が有するという表面上当然の目標は、いずれの鍵交換プロトコルでも達成することができない。実際に、攻撃者は、最後のプロトコル・メッセージがその宛先に到着しないようにすることにより、この相互保証を必ず阻止することができる。   Same for any two-message public key-based protocol (assuming no pre-shared state was created in the previous communication between A and B hats as in a typical public key scenario) This is not the only drawback of HMQV, as it is true. Furthermore, as pointed out by Shop, the obvious goal that both parties have a guarantee that the peer has completed the session before each using that key is the key to any key exchange protocol. But it cannot be achieved. In fact, an attacker can always prevent this cross-guarantee by preventing the last protocol message from reaching its destination.

しかし、ピアが鍵を計算できたという両当事者のそれぞれに対する保証が弱い場合(しかし、必ずしも、呼び出し側アプリケーションに鍵を出力するという保証ではない)、その保証は達成可能であり、文献では鍵確認特性と呼ばれる。鍵交換の基本セキュリティにとって決定的なものではないが(たとえば、鍵確認の欠如は鍵によって保護された通信のプライバシまたは確実性にとって脅威ではない)、この特性はいくつかの適用例に有用な「動作上の健全性のチェック(operational sanity check)」を提供することができる。   However, if the guarantee to each of the parties that the peer was able to calculate the key is weak (but not necessarily a guarantee that the key will be output to the calling application), that guarantee is achievable, and the key confirmation in the literature Called a characteristic. Although not critical to the basic security of key exchange (eg, lack of key verification is not a threat to the privacy or authenticity of communications protected by a key), this property is useful for some applications. An operational sanity check can be provided.

この場合、追加のMAC値が鍵確認を可能にするので、プロトコルHMQV−CはHMQVより適している。その上、MAC妥当性検査は、セッションに対する識別済みピアの積極的な関わりとともに、このピアが一致セッション(すなわち、同じピアおよび同じセッション鍵を有する)を所有するという事実を確認する。これらの特性を達成するために、HMQV−CのMACは、任意の特定のセッション情報に適用する必要はないが、単にメッセージの「方向」を示すためならびに反射を防止するために使用される単一ビットに適用する必要があることに留意されたい。また、HMQV−Cの最初の2つのメッセージのみから構成されるプロトコルが起動側に鍵確認を提供すること(それにより、プロトコル・メッセージの数を増加せずにHMQVに有用な特徴を追加する可能性がある)も留意する価値がある。   In this case, the protocol HMQV-C is more suitable than HMQV because the additional MAC value allows key verification. In addition, MAC validation confirms the fact that this peer owns a matching session (ie, having the same peer and the same session key), along with the active involvement of the identified peer for the session. To achieve these characteristics, the HMQV-C MAC does not need to be applied to any particular session information, but is simply used to indicate the “direction” of the message as well as to prevent reflections. Note that one bit needs to be applied. Also, a protocol consisting of only the first two messages of HMQV-C provides key verification to the initiator (which can add useful features to HMQV without increasing the number of protocol messages Is also worthy of attention.

鍵交換の多くの適用例では、鍵確認の欠如の結果、たとえば、Bハットに保護情報を送信するために、当事者Aハットが鍵を使用し始めるが、Bハットはまだその鍵を確立していないので、この情報を処理することができないという、ある形の「サービス妨害」(DoS:denial of service)攻撃が行われる可能性がある。言われている通り、相互「セッション完了」確認は達成不能なので、この状況は完全に回避することができない。   In many key exchange applications, the result of a lack of key verification, for example, party A hat begins to use the key to send protection information to B hat, but B hat has not yet established the key. There is a possibility that some form of “denial of service” (DoS) attack will be carried out in which this information cannot be processed. As said, mutual "session completion" confirmation is not achievable, so this situation cannot be completely avoided.

その上、ある当事者がピアの無効性を発見する前に相当な計算サイクルを費やすこと(およびセッション状態を作成すること)を強要されるという、公開鍵動作に基づくプロトコルに対してより深刻な形のDoS攻撃が存在する。プロトコル・メッセージの追加という犠牲を払って任意の鍵交換プロトコル(HMQVを含む)に適用でき、DoS攻撃に対して有用だが範囲が限られた対策がいくつか存在する。   In addition, a more serious form of protocol based on public key behavior, in which a party is forced to spend a significant computational cycle (and create session state) before discovering peer invalidation. DoS attacks exist. There are several countermeasures that can be applied to any key exchange protocol (including HMQV) at the expense of adding protocol messages and that are useful but limited in scope for DoS attacks.

完全転送秘密(PFS)
完全転送秘密は、それにより長期秘密鍵が漏洩しても古いセッション鍵のセキュリティを危険にさらさない、鍵交換プロトコルの非常に望ましい特性である。より形式的には、破壊されていない当事者Aハットが破壊されていないピアBハットとの鍵交換セッションを確立する場合、AハットでKが満了した後で攻撃者がAハットを破壊するかまたはBハットでKが満了した後で攻撃者がBハットを破壊しても、セッション鍵Kは引き続き安全である。HMQVを含む、暗黙認証を伴う2メッセージ・プロトコルはいずれも、活発な攻撃者に対する完全な完全転送秘密を提供することができない。その代わりに、望むことができる最良のものは、HMQVによって提供される弱い形のPFSである。基本的な2メッセージHMQVに対するHMQV−Cの主な利点は、仮出願にさらに説明されている通り、それがHMQVの固有の制限を引き上げ、完全なPFSを提供することである。
Full forwarding secret (PFS)
Perfect forward secrecy is a highly desirable property of a key exchange protocol that does not compromise the security of the old session key if a long-term secret key is leaked. More formally, if an unbroken party A hat establishes a key exchange session with an unbroken peer B hat, the attacker may destroy the A hat after K expires in the A hat or Even if an attacker destroys B-hat after K expires in B-hat, session key K is still secure. Neither of the two message protocols with implicit authentication, including HMQV, can provide a complete perfect forward secret for an active attacker. Instead, the best that can be desired is the weak form of PFS provided by HMQV. The main advantage of HMQV-C over basic two-message HMQV is that it raises the inherent limitations of HMQV and provides a complete PFS, as further explained in the provisional application.

汎用構成可能性セキュリティ
鍵交換に関するCanetti/Krawczykのモデルは、仮出願におけるMQVおよびHMQVの分析の基礎であり、実社会環境の場合のように、他のアプリケーションと同時に実行されたときに鍵交換プロトコルのセキュリティを保証することを目標とする、より意欲的なモデルに拡張されている。このモデルは、鍵交換の汎用構成可能性(UC:Universal-Composability)モデルとして知られている。
General Configurability Security The Canetti / Krawczyk model for key exchange is the basis for the analysis of MQV and HMQV in provisional applications, and the key exchange protocol when executed concurrently with other applications, as in the real world environment. It has been extended to a more ambitious model with the goal of ensuring security. This model is known as a universal-composability (UC) model for key exchange.

HMQV−Cの場合、セッションを完了すべき第1の当事者がそのセッション鍵を出力すると、ピアの状態は、プロトコルおよびセッション鍵内の公開情報から「シミュレート」可能な情報のみを含むことが分かる。Canatti/Krawczykは、仮出願に示されているHMQVの他のセキュリティ特性とともに、この特性がHMQVプロトコルの汎用構成可能性を保証するために十分であることを示している。   For HMQV-C, when the first party to complete the session outputs its session key, it can be seen that the state of the peer includes only information that can be “simulated” from the protocol and the public information in the session key. . Canatti / Krawczzyk, along with other security properties of HMQV shown in the provisional application, indicate that this property is sufficient to ensure universal configurability of the HMQV protocol.

1パスHMQV
図9に示されている1パス鍵交換プロトコルは、送信側Aハットから受信側Bハットに送信された単一メッセージから構成され、両当事者およびセッションが以下に定義するように破壊されていない限り、そこから両当事者はそれぞれの秘密鍵と公開鍵を使用して、AハットおよびBハットのみがおそらく把握できる固有の鍵を導出する。
1 pass HMQV
The one-pass key exchange protocol shown in FIG. 9 consists of a single message sent from the sender A hat to the receiver B hat, as long as both parties and the session are not destroyed as defined below. From there, both parties use their private and public keys to derive a unique key that only A-hat and B-hat can possibly grasp.

確立された鍵からの要件は、Bハットによって受信されたメッセージがAハットからの古いメッセージの再生である可能性を除いて、正規の鍵交換プロトコルと同じである。この再生は、1パス・プロトコルで避けられないものであるが、同期時間または共有状態などのその他の手段によって検出可能である可能性がある。   The requirements from the established key are the same as the regular key exchange protocol, except that the message received by B-hat may be a replay of an old message from A-hat. This playback is unavoidable with the one-pass protocol, but may be detectable by other means such as synchronization time or shared state.

加えて、Bハットからのセッション固有の入力の欠如により、その鍵はBハットの秘密鍵の単独知識で計算可能でなければならないので、このようなプロトコルはPFSを提供することができない。   In addition, such a protocol cannot provide PFS because the lack of session-specific input from the B-hat requires that the key be computable with a single knowledge of the B-hat's private key.

本発明の一実施形態では、それぞれ公開鍵A=ga、B=gbを有する当事者AハットとBハットとの間の1パスHMQVプロトコルは、AハットからBハットに伝送された単一値X=gxから構成され、ここでx∈RqはAハットによって選択される。セッション鍵Kは以下のようにAハットによって計算される。
(i)(Aハット,Bハット)は2つのID AハットおよびBハットを含むメッセージを表すものとし、d=Hバー(X,(Aハット,Bハット))の結果になるようにdを設定する。
(ii)

Figure 2009526411
を計算する。
(iii)K=H(σ,Aハット)を設定し、ここでHは必要な鍵の長さに等しいビット数を出力する。同じ鍵Kは、X≠0であることをチェックした後、BハットによってK=H((XAdb)として計算される。変形では、K=H(σ,Aハット,Bハット)である。 In one embodiment of the present invention, each public key A = g a, B = 1-pass HMQV protocol between party A hat and B hat having a g b a single value that is transmitted from the A hat B hat consists X = g x, where x ∈ R Z q is chosen by A hat. Session key K is calculated by A hat as follows.
(I) (A hat, B hat) represents a message containing two IDs A hat and B hat, and d is set so that d = H bar (X, (A hat, B hat)). Set.
(Ii)
Figure 2009526411
Calculate
(Iii) Set K = H (σ, A hat), where H outputs the number of bits equal to the required key length. The same key K is calculated as K = H ((XA d ) b ) by the B hat after checking that X ≠ 0. In the deformation, K = H (σ, A hat, B hat).

換言すれば、1パスHMQVのこの実施形態の鍵は、Bハットの公開鍵をチャレンジとして使用して、非対話式XCR著名から導出される。   In other words, the key for this embodiment of 1-pass HMQV is derived from a non-interactive XCR signature using the B-hat's public key as a challenge.

1パス・プロトコルは認証選択暗号文セキュア(CCA:chosen-ciphertext secure)暗号化方式として使用できることも指摘されている。すなわち、Aハットは、(選択暗号文攻撃に対して)暗号化されるとともに(Aハットにより)認証されたメッセージmをBハットに伝送することができる。一実施形態では、Aハットは、3つ組(X,c,t)を送信することになり、ここでX=gxであり、cは鍵K1に基づいてメッセージmの対称選択平文セキュア(CPA:chosen-plaintextsecure)暗号化として得られる暗号文であり、tは鍵K2に基づいてcについて計算されたMAC値である。鍵K1およびK2は、1パスHMQVプロトコルのようにXから計算された鍵Kから導出される。 It has also been pointed out that the one-pass protocol can be used as an authentication-selected ciphertext secure (CCA) encryption scheme. That is, the A hat can transmit the message m that is encrypted (by the selected cipher attack) and authenticated (by the A hat) to the B hat. In one embodiment, A-Hat will send a triple (X, c, t), where X = g x and c is a symmetric selected plaintext secure message m based on key K 1 (CPA: chosen-plaintextsecure) a ciphertext obtained as encryption, t is the calculated MAC value for c based on the key K 2. Keys K 1 and K 2 are derived from key K calculated from X as in the one-pass HMQV protocol.

この手順の全体的なコストは、Aハットについては2つのべき乗(一方はオフライン)であり、Bハットについては1.5である。これは、DHIES(Diffie−Hellman統合暗号化方式:Diffie-Hellman Integrated Encryption Scheme)などの代替CCA暗号化方式と比較してBハットについて1/2べき乗多いだけであるが、代わりに、Aハットからの認証を提供する(DHIESの場合、この認証はAハットから完全な追加の署名を返すことになるであろう)。この効率的な認証CCA暗号化は、一般的な「プリティグッド・プライバシ(PGP:Pretty-GoodPrivacy)」アプリケーションなどの「蓄積交換(store-and-forward)」アプリケーションにとって非常に魅力的であり、通常の署名暗号化(sign-and-encrypt)パラダイムよりかなり安価である。この場合、唯一の警告は、暗号化解除動作に必要であるので、ID Aハット(およびおそらくその証明書)は平文で伝送する必要があることである。   The overall cost of this procedure is two powers (one is offline) for the A hat and 1.5 for the B hat. This is only a power of a half for B hat compared to alternative CCA encryption schemes such as DHIES (Diffie-Hellman Integrated Encryption Scheme), but instead from A hat (In the case of DHIES, this authentication would return a complete additional signature from the A hat). This efficient authenticated CCA encryption is very attractive for “store-and-forward” applications, such as typical “Pretty-GoodPrivacy” applications, It is considerably cheaper than the sign-and-encrypt paradigm of In this case, the only warning is that the ID A hat (and possibly its certificate) needs to be transmitted in clear text as it is necessary for the decryption operation.

上記のプロトコルのさらに他の特性のうち、留意する価値のあるものは、必ずしも暗号化部分を追加せずにメッセージm上のAハットの検証者固有の署名としてのみ使用できることである。しかし、この署名は、受信側固有のものであり、したがって、否認防止を提供しない。その代わりに、PGPなどの多くの適用例で非常に価値ある特徴である否認可能性を提供する。   Among other properties of the above protocol, it is worth noting that it can only be used as a verifier-specific signature of the A hat on message m without necessarily adding an encrypted part. However, this signature is unique to the receiver and therefore does not provide non-repudiation. Instead, it provides repudiation, which is a very valuable feature in many applications such as PGP.

MQVを採用した規格の多くはその1パス変種も採用していることは留意すべきである。その種々の形(1メッセージ、2メッセージ、および3メッセージ)でのHMQVの採用に関心のある規格の場合、HMQVの他の変種の導出と同様に、1パス・プロトコルで鍵の導出を定義することは意味をなすであろう。   It should be noted that many standards that employ MQV also employ its one-pass variant. For standards interested in adopting HMQV in its various forms (1-message, 2-message, and 3-message), define derivation of keys in a one-pass protocol, as well as derivation of other variants of HMQV. That would make sense.

具体的には、HMQVプロトコルを定義する二重署名においてYをBで置き換えることにより、1パス鍵について以下の値が得られ、AハットおよびBハットはそれぞれ、

Figure 2009526411
および
Figure 2009526411
を計算し、鍵Kをこれらの(等しい)値のハッシュに設定する。この場合、他の変種と互換性のあるものにすることを除き、指数eはいかなる値もプロトコルに追加しないことに留意されたい。これは、実際に、プロトコル効率をいくらか減ずるものである。 Specifically, by substituting Y for B in the double signature that defines the HMQV protocol, the following values are obtained for one pass key, and A hat and B hat are respectively
Figure 2009526411
and
Figure 2009526411
And set the key K to a hash of these (equal) values. Note that in this case, the index e does not add any value to the protocol, except to make it compatible with other variants. This actually reduces some of the protocol efficiency.

しかし、HMQVの1パス・バージョンのd=Hバー(X,(Aハット,Bハット))という値と2メッセージ・バージョンのd=Hバー(X,Bハット)という値の間には追加の矛盾が存続する。3つのモード間の互換性を提供する方法は、これらのいずれでもd=Hバー(X,Bハット)、e=Hバー(Y,Aハット)を有し、ここで1パスの場合にY=Bであり、セッション鍵導出関数、すなわち、K=H(σ,Aハット,Bハット)(何らかの固定基準を使用して定義されたAハットおよびBハットの次数を有する)にID Aハット、Bハットを追加することになるであろう。これは、dの計算においてAハットを追加する必要性に取って代わるものである。また、事前計算DH値が漏洩した場合にHMQVを強化し、潜在的に未知の鍵共有攻撃を回避するという利点も有する。   However, there is an additional difference between the value of d = H bar (X, (A hat, B hat)) for the one-pass version of HMQV and the value of d = H bar (X, B hat) for the two message version. Contradiction persists. Any of these methods providing compatibility between the three modes has d = H bar (X, B hat), e = H bar (Y, A hat), where Y in the case of one pass. = B and ID A hat to the session key derivation function, ie, K = H (σ, A hat, B hat) (with A and B hat orders defined using some fixed criteria), B hat will be added. This replaces the need to add an A hat in the calculation of d. It also has the advantage of enhancing HMQV and avoiding potentially unknown key-sharing attacks when the pre-calculated DH value leaks.

HMQVのセキュリティ態様の要約
従来のMQVプロトコルに比較して、HMQVプロトコルは、以下のものを含む、いくつかのパフォーマンス上の利点を提供する。HMQVは、このプロトコルで伝送されるDH値に関する高価な素数次数テストの必要性を立証可能に省くものである。仮出願で実証されている通り、攻撃者がローグ(rogue)DH値の選択の恩恵を受けうる唯一の方法は、ゼロになるようにそれらを選択することであり、したがって、単純な非ゼロ・チェックがHMQVで必要なすべてである。このため、素数次数テストの必要性またはMQVプロトコルで同時に使用される余因数hの必要性はまったくない。
Summary of Security Aspects of HMQV Compared to the traditional MQV protocol, the HMQV protocol offers several performance advantages, including: HMQV eliminates the need for expensive prime order tests on the DH values transmitted in this protocol. As demonstrated in the provisional application, the only way an attacker can benefit from the selection of rogue DH values is to select them to be zero, and thus simple non-zero A check is all that is needed in HMQV. For this reason, there is no need for a prime order test or a cofactor h used simultaneously in the MQV protocol.

HMQVプロトコルが数学的に立証可能な方法で達成する特性のリストは以下の通りである。
(1)HMQVは、CanettiおよびKrawczykの強い形式的鍵交換モデルで安全なものである。
(2)HMQVは、両当事者の秘密鍵にアクセスできない攻撃者による詐称に耐えるものである。
(3)HMQVは、交換の当事者のIDにXCR署名を適用し、その結果、UKSおよびその他の認証攻撃を回避することにより、これらの当事者のIDと鍵との間に固有の結合を確立する。
(4)HMQVは、セッション鍵およびその他のセッション情報の部分漏洩が存在しても安全であり、換言すれば、HMQVはいわゆる「既知の鍵(known key)」の攻撃に対する抵抗力がある。とりわけ、異なるセッション鍵は、互いに「計算上独立」するように保証される。
(5)このプロトコルは、「鍵漏洩詐称(KCI:key-compromise impersonation)」攻撃に対する抵抗力として知られる追加レベルの保護を提供し、すなわち、これは、Aに対して他の当事者を詐称できるように当事者Aの秘密鍵を学習する攻撃者を阻止する。
(6)鍵確認を有する3メッセージHMQVプロトコルは、立証可能な完全転送秘密(PFS)を提供し、すなわち、2当事者の長期秘密鍵が最終的に開示された場合でも、漏洩前にこれらの当事者によって作成されたセッション鍵は引き続き安全である。
(7)鍵確認を有する3メッセージ・プロトコルは、いわゆる「汎用構成可能」鍵交換プロトコルの追加のセキュリティ上の利点を享受し、すなわち、他のプロトコルによって安全に構成することができる。
(8)HMQVのセキュリティは、静的公開鍵の形式および構造に関する特別なテストに依存せず、対応する秘密鍵のいわゆる「所有証明(proof of possession)」を必要としない。MQVを含む、同様のプロトコルを上回るHMQVのこのような利点により、認証局(CA:certificationauthority)は、登録公開鍵についてこのような特別なチェックを実行する負担から解放され、その結果、より現実的で実用的なセキュリティの保証が得られるが、とりわけ、多くのローカルCAがこのようなチェックを実行できないかまたは実行するように構成されていないためである。その上、CAによるこのようなテスト(たとえば、所有証明)の正当な実行により、追加のセキュリティ上の脆弱性に対してプロトコルを開放することは、留意する価値がある。
(9)2メッセージおよび3メッセージHMQVプロトコルは、一時公開鍵(すなわち、値XおよびY)の次数のテストを必要とせず、その結果、場合によっては高価なものになりうるテストを回避する。しかし、両当事者の一時秘密鍵を学習する可能性のある攻撃者に耐えることがプロトコルのセキュリティである場合、このようなテストは必要である。また、1パスHMQVプロトコルのセキュリティについても、このテストは必要である。MQVのように、これらのテストは、プロトコル内のσ値の「余因数べき乗」で置き換えることができる。基礎となる代数群に応じて、所定の群内の帰属関係など、群の元に関する追加のテストが必要になる場合もある。
A list of properties that the HMQV protocol achieves in a mathematically verifiable way follows.
(1) HMQV is a secure formal key exchange model of Canetti and Krawczzyk.
(2) HMQV withstands spoofing by an attacker who cannot access the private keys of both parties.
(3) HMQV applies an XCR signature to the identity of the exchange parties, thus establishing a unique binding between these party IDs and keys by avoiding UKS and other authentication attacks. .
(4) HMQV is safe even in the presence of partial leakage of session keys and other session information, in other words, HMQV is resistant to so-called “known key” attacks. In particular, different session keys are guaranteed to be “computationally independent” from each other.
(5) This protocol provides an additional level of protection known as resistance to “key-compromise impersonation (KCI)” attacks, ie it can spoof other parties to A Thus, an attacker who learns the secret key of the party A is blocked.
(6) The three-message HMQV protocol with key verification provides verifiable complete transfer secrets (PFS), ie, even if the two parties' long-term secret keys are finally disclosed, these parties before leakage The session key created by is still secure.
(7) The three-message protocol with key confirmation enjoys the additional security benefits of the so-called “generic configurable” key exchange protocol, ie can be securely configured by other protocols.
(8) The security of HMQV does not rely on special tests on the format and structure of static public keys and does not require a so-called “proof of possession” of the corresponding private key. This advantage of HMQV over similar protocols, including MQV, frees the certification authority (CA) from the burden of performing such special checks on registered public keys, and as a result more realistic Provides a practical security guarantee, especially because many local CAs cannot or are not configured to perform such checks. Moreover, it is worth noting that opening the protocol to additional security vulnerabilities through the legitimate execution of such tests (eg, proof of ownership) by the CA.
(9) The two-message and three-message HMQV protocols do not require testing of the order of the temporary public keys (ie, values X and Y), thus avoiding tests that can be expensive in some cases. However, such a test is necessary if the security of the protocol is to withstand an attacker who may learn the temporary secret keys of both parties. This test is also necessary for the security of the one-pass HMQV protocol. Like MQV, these tests can be replaced by “cofactor power” of the σ value in the protocol. Depending on the underlying algebraic group, additional tests on group elements, such as membership within a given group, may be required.

本発明のHMQVプロトコルの重要な利点の1つは、形式的に数学的に有効であることを証明できる広範囲のセキュリティ上の特性が存在するときに、それがほぼ間違いなく最も効率的な認証Diffie−Hellman鍵交換プロトコルであることである。実際に、この形式的な立証可能性は、HMQVとその先行MQVとの間の主な相違点の1つである。   One of the key advantages of the HMQV protocol of the present invention is that it is almost certainly the most efficient authentication Diffie when there is a wide range of security properties that can be proved to be formally mathematically valid. -It is a Hellman key exchange protocol. In fact, this formal verifiability is one of the main differences between HMQV and its predecessor MQV.

MQVはセキュリティの証明を備えることができなかっただけでなく、上記の仮出願に初めて記載されたいくつかの弱点を含む、このプロトコルの明示的な弱点が時間の経過につれて明らかになっている(たとえば、Kaliskiによる研究およびRogaway他による報告)。このような弱点または攻撃は、その発明者によって行われたMQVに関するセキュリティ上の主張のいくつかを無効にしており、とりわけ、MQVが安全なものであることを証明できないことが示されている。   Not only was MQV unable to provide proof of security, but the explicit weaknesses of this protocol have become clear over time, including several weaknesses first described in the above provisional application ( For example, a study by Kalliski and a report by Rogaway et al.). Such weaknesses or attacks have invalidated some of the MQV security claims made by the inventor and have been shown, among other things, to be unable to prove that MQV is secure.

XCR署名とMQVの「暗黙署名(Implicit Signature)」との比較
比較のやり方として、特許および学術論文に記載されているMQVはプロトコルの設計および説明でも署名の概念を使用することは、留意する価値がある。これは、MQVに関連して「暗黙署名」と呼ばれ、秘密署名鍵の所有者のみが署名値を生成できるデジタル署名のより伝統的な概念に従うものである(具体的には、MQVは、秘密署名鍵と、一時秘密鍵および公開鍵との1次結合によって形成されるElGamalのような署名を指す)。しかし、プロトコルは、これらの署名の特性を完全に使用するまでには至らない。とりわけ、MQVプロトコルは、そのプロトコルの当事者のIDを明示的に認証する方法として署名を使用せず、これにより、Kaliskiによって発見された有名な「未知の鍵の共有(UKS:unknown key share)」などの重大な認証障害が発生する。
Comparison of XCR signatures with MQV's “Implicit Signature” As a comparison, it is worth noting that MQV described in patents and academic papers also uses the concept of signatures in protocol design and description. There is. This is called “implicit signature” in connection with MQV and follows the more traditional concept of digital signatures where only the owner of the private signing key can generate a signature value (specifically, MQV is Refers to a signature such as ElGamal formed by a primary combination of a private signing key with a temporary private key and a public key). However, the protocol does not fully use these signature characteristics. In particular, the MQV protocol does not use signatures as a way to explicitly authenticate the identity of the parties to the protocol, which makes it possible to use the famous “unknown key share (UKS)” discovered by Kalski. A serious authentication failure occurs.

対照的に、HMQVは、2つの重要な要素をその設計に採り入れている。1つは、XCRの使用であり、これはElGamal署名の指数バージョンである。より具体的には、これはSchnorrの署名の指数バージョンであり、次にこれはElGamal署名の特定のインスタンス化である。もう1つは、ピアのIDの明示的な署名であり、これは、セッションのピアに対するセッション鍵の安全な結合を保証し、とりわけ、UKSなどの認証障害を防止する。   In contrast, HMQV incorporates two important elements into its design. One is the use of XCR, which is an exponential version of the ElGamal signature. More specifically, this is an exponential version of Schnorr's signature, which in turn is a specific instantiation of the ElGamal signature. The other is an explicit signature of the peer's ID, which ensures a secure binding of the session key to the peer of the session and prevents, among other things, authentication failures such as UKS.

XCR署名の重要な新規性は、署名者と検証者(またはチャレンジャ)の両方が同じ署名を計算できるという特性である。この特性は、通常、共有鍵暗号方式に基づく認証メカニズムに見られる(すなわち、署名者と検証者の両方が事前(a-priori)共有鍵を有する場合)が、公開鍵ベースの署名では新しいものである。XCR署名は、HMQVのように、共有鍵の導出に完全に適しているだけでなく、認証ツールとして様々な利点を提示し、そのうちのいくつかについては上述した通りである。   An important novelty of XCR signatures is the property that both the signer and verifier (or challenger) can calculate the same signature. This property is usually found in authentication mechanisms based on shared key cryptography (ie, when both the signer and verifier have an a-priori shared key), but new in public key-based signatures. It is. XCR signatures, like HMQV, are not only perfectly suited for derivation of shared keys, but also present various advantages as authentication tools, some of which are as described above.

本発明が様々な実施形態を包含することは当業者にとって明白であるはずである。   It should be apparent to those skilled in the art that the present invention includes various embodiments.

したがって、模範的な一実施形態では、検証者Vと署名者Sという2当事者が存在する。署名者Sは秘密鍵bと公開鍵Bとを有し、検証者VはSの真正公開鍵Bを所有するかまたは(たとえば、Sから送信されたデジタル証明書を介して)入手するものと想定される。所与のメッセージmに関する認証プロトコルは以下のものを含む。
(1)Vは、秘密の値xを選択し、値X=F1(x)を計算し、ここでF1は所与の関数であり、次にXをSに送信する。
(2)Sは、秘密の値yを選択し、値Y=F2(y)を計算し、ここでF2は所与の関数であり、次にYをVに送信する。
(3)Sは、値s=F3(y,b,X,m)を計算し、ここでF3は所与の関数であり、次にsをVに送信する。
(4)Vは、値s′=F4(x,Y,B,m)を計算し、値s′と受信した値sに対するその関連とを基礎として、mの確実性を決定する。
Thus, in an exemplary embodiment, there are two parties: verifier V and signer S. The signer S has a private key b and a public key B, and the verifier V owns or obtains (for example, via a digital certificate transmitted from S) the authentic public key B of S is assumed. Authentication protocols for a given message m include:
(1) V selects a secret value x and computes the value X = F 1 (x), where F 1 is a given function and then sends X to S.
(2) S selects the secret value y and calculates the value Y = F 2 (y), where F 2 is a given function and then sends Y to V.
(3) S calculates the value s = F 3 (y, b, X, m), where F 3 is a given function and then sends s to V.
(4) V calculates the value s ′ = F 4 (x, Y, B, m) and determines the certainty of m based on the value s ′ and its relationship to the received value s.

この実施形態のいくつかの模範的な変種は以下のものを含む。
(a)F1、F2は一方向関数である。XCRでは、これらの一方向関数はX=gxおよびY=gyである。
(b)XCR署名では、この関数は

Figure 2009526411
および
Figure 2009526411
である。
(c)s′=sである場合のみ、mを認証として受け入れる。この最後の変種は、それにより、チャレンジXの背後にある秘密を把握することによって検証者が署名を再計算できる、典型的なXCR署名の特性を利用する。
(d)
Figure 2009526411
を計算し、H(s′)=sなどをテストする。 Some exemplary variants of this embodiment include:
(A) F 1 and F 2 are one-way functions. In XCR, these one-way functions are X = g x and Y = g y .
(B) For XCR signatures, this function is
Figure 2009526411
and
Figure 2009526411
It is.
(C) Accept m as authentication only if s ′ = s. This last variant takes advantage of the characteristics of a typical XCR signature that allows the verifier to recalculate the signature by knowing the secret behind Challenge X.
(D)
Figure 2009526411
And H (s ′) = s or the like is tested.

HMQVに対するXCRの適用例の少なくとも1つの実施形態では、ステップ(3)でSによって計算された値sはけっしてVに送信されない。その代わりに、Vは、(Sが詐称者(impostor)である場合を除き)sと同一になるはずの値s′を計算し、s(これはHMQVではσである)を使用してそこからセッション鍵を導出する。とりわけ、Vは明示的検証をけっして実行しない。この実施形態では、メッセージmの確実性を検証するための方法ではなく、それにより両当事者が共通の「認証値(authenticatedvalue)」(すなわち、両当事者のみが計算できる値)を計算し、この値がそれぞれのIDに一意に結合される(二重XCR署名を介して両当事者のIDを署名することによりHMQVで達成される典型的な鍵交換プロトコルにおける本質的な条件である)方法が存在することになるであろう。   In at least one embodiment of the application of XCR to HMQV, the value s calculated by S in step (3) is never sent to V. Instead, V computes a value s' that should be the same as s (except when S is an imposter) and uses s (which is σ in HMQV) The session key is derived from In particular, V never performs explicit verification. In this embodiment, rather than a method for verifying the authenticity of the message m, both parties calculate a common “authenticated value” (ie a value that only both parties can calculate), and this value Is uniquely bound to each ID (which is an essential condition in a typical key exchange protocol achieved with HMQV by signing both parties' IDs via a double XCR signature) It will be.

追加の変形例については上記の説明および特許請求の範囲に記載されている。   Additional variations are described in the above description and the claims.

模範的なハードウェア実現例
図10は、本発明による情報処理/コンピュータ・システムの典型的なハードウェア構成を例示しており、このシステムは好ましくは少なくとも1つのプロセッサまたは中央演算処理装置(CPU:central processing unit)1011を有する。
Exemplary Hardware Implementation FIG. 10 illustrates a typical hardware configuration of an information processing / computer system according to the present invention, which system preferably includes at least one processor or central processing unit (CPU). central processing unit) 1011.

CPU1011は、システム・バス1012を介して、ランダム・アクセス・メモリ(RAM:random access memory)1014、読み取り専用メモリ(ROM:read-only memory)1016、入出力(I/O)アダプタ1018(ディスク装置1021およびテープ・ドライブ1040などの周辺装置をバス1012に接続するため)、ユーザ・インターフェース・アダプタ1022(キーボード1024、マウス1026、スピーカ1028、マイクロホン1032、またはその他のユーザ・インターフェース・デバイス、あるいはこれらの組み合わせをバス1012に接続するため)、情報処理システムをデータ処理ネットワーク、インターネット、イントラネット、パーソナル・エリア・ネットワーク(PAN:personalarea network)などに接続するための通信アダプタ1034、およびバス1012をディスプレイ装置1038またはプリンタ1039(たとえば、デジタル・プリンタなど)あるいはその両方に接続するためのディスプレイ・アダプタ1036に相互接続される。   The CPU 1011 includes a random access memory (RAM) 1014, a read-only memory (ROM) 1016, and an input / output (I / O) adapter 1018 (disk device) via a system bus 1012. 1021 and peripheral devices such as tape drive 1040 to bus 1012), user interface adapter 1022 (keyboard 1024, mouse 1026, speaker 1028, microphone 1032, or other user interface device, or any of these) Connecting the information processing system to a data processing network, the Internet, an intranet, a personal area network (PAN), etc. Because communications adapter 1034, and a bus 1012 display device 1038 or the printer 1039 (e.g., a digital printer) or are interconnected to the display adapter 1036 for connecting both.

上述のハードウェア/ソフトウェアの実施形態に加えて、本発明の異なる一態様は、上記の方法を実行するためのコンピュータで実行される方法を含む。一例として、この方法は、上記で論じた特定の実施形態で実現することができる。   In addition to the hardware / software embodiments described above, a different aspect of the present invention includes a computer-implemented method for performing the method described above. As an example, the method can be implemented in the specific embodiments discussed above.

このような方法は、たとえば、一連の機械可読命令を実行するように、デジタル・データ処理装置によって実施されるコンピュータを操作することによって実現することができる。これらの命令は、様々なタイプの信号伝送媒体に常駐することができる。   Such a method can be implemented, for example, by manipulating a computer implemented by a digital data processing device to execute a series of machine-readable instructions. These instructions can reside on various types of signal transmission media.

したがって、本発明のこの態様は、本発明の方法を実行するために、CPU1011および上記のハードウェアを組み込むデジタル・データ・プロセッサによって実行可能な複数の機械可読命令からなるプログラムを具体的に実施する信号伝送媒体を含むプログラム式製品を対象とする。   Thus, this aspect of the invention specifically implements a program comprising a plurality of machine-readable instructions executable by a digital data processor incorporating the CPU 1011 and the hardware described above to perform the method of the invention. Intended for programmable products including signal transmission media.

この信号伝送媒体としては、たとえば、高速アクセス記憶装置によって表される、たとえば、CPU1011内に収容されたRAMを含むことができる。代わって、命令は、CPU1011によって直接または間接的にアクセス可能な磁気データ記憶ディスケット1100(図11)などの他の信号伝送媒体に収容することもできる。   The signal transmission medium can include, for example, a RAM represented by a high-speed access storage device, for example, stored in the CPU 1011. Alternatively, the instructions can be contained in other signal transmission media such as a magnetic data storage diskette 1100 (FIG. 11) that can be accessed directly or indirectly by the CPU 1011.

ディスケット1100に収容されているか、コンピュータ/CPU1011に収容されているか、またはその他の場所に収容されているかにかかわらず、命令は、DASD記憶装置(たとえば、従来の「ハード・ディスク」またはRAIDアレイ)、磁気テープ、電子読み取り専用メモリ(たとえば、ROM、EPROM、またはEEPROM)、光学記憶装置(たとえば、CD−ROM、WORM、DVD、デジタル光テープなど)、紙の「パンチ」カード、または、デジタルおよびアナログの通信リンクおよび無線などの伝送媒体を含むその他の適切な信号伝送媒体などの様々な機械可読データ記憶媒体に保管することができる。本発明の例示的な一実施形態では、機械可読命令は、ソフトウェア・オブジェクト・コードを含むことができる。   Whether stored on diskette 1100, computer / CPU 1011 or elsewhere, the instructions are stored in a DASD storage device (eg, a conventional “hard disk” or RAID array). Magnetic tape, electronic read-only memory (eg, ROM, EPROM, or EEPROM), optical storage (eg, CD-ROM, WORM, DVD, digital optical tape, etc.), paper “punch” cards, or digital and It can be stored on various machine-readable data storage media such as analog communication links and other suitable signal transmission media including transmission media such as wireless. In an exemplary embodiment of the invention, the machine readable instructions may include software object code.

基本(非認証)Diffie−Hellmanプロトコル100を示す図である。1 is a diagram illustrating a basic (non-authenticated) Diffie-Hellman protocol 100. FIG. デジタル署名を使用することによって認証された2メッセージDiffie−Hellmanプロトコル200を示す図である。FIG. 2 shows a two-message Diffie-Hellman protocol 200 authenticated by using a digital signature. 本発明のHMQVプロトコルのセッション鍵の計算に対する従来のMQVプロトコルのセッション鍵Kの計算の比較300を示し、MQVで使用されるハッシュへの追加である模範的な一実施形態のハッシュをHMQVがどのように使用するかを実証する図である。FIG. 5 shows a comparison 300 of the calculation of the session key K of the conventional MQV protocol to the calculation of the session key of the HMQV protocol of the present invention, and shows which HMQV the hash of an exemplary embodiment that is an addition to the hash used in MQV It is a figure demonstrating how to use. 図3に示されているHMQVプロトコルの異なるグラフィック表現400である。4 is a different graphical representation 400 of the HMQV protocol shown in FIG. XCRの計算500を例示的に示す図である。FIG. 6 illustrates an XCR calculation 500 exemplarily. 非対話式XCR署名の計算600の一例を示す図である。FIG. 6 illustrates an example of a non-interactive XCR signature calculation 600. 2当事者による二重XCR署名の計算700を示す図である。FIG. 7 illustrates a double XCR signature calculation 700 by two parties. 3メッセージ鍵確認(HMQV−C)プロトコル800で例示的に実施されたHMQVを示す図である。FIG. 6 illustrates HMQV exemplarily implemented in a three message key verification (HMQV-C) protocol 800. 1パス鍵交換900で例示的に実施されたHMQVを示す図である。FIG. 6 is a diagram illustrating HMQV exemplarily implemented in a one-pass key exchange 900. そこに本発明を組み込むための模範的なハードウェア/情報処理システム1000を例示する図である。FIG. 2 illustrates an exemplary hardware / information processing system 1000 for incorporating the present invention therein. 本発明による方法のプログラムの諸ステップを保管するための信号伝送媒体1100(たとえば、記憶媒体)を例示する図である。FIG. 7 illustrates a signal transmission medium 1100 (eg, storage medium) for storing program steps of a method according to the present invention.

Claims (38)

装置またはネットワークによって相互接続された2当事者間の交換の方法において、
受信側当事者(検証者)が値X=F1(x)を計算するために秘密の値xを選択し、ここでF1は少なくとも1つの引数を有する第1の所定の関数を含み、前記値xはF1の前記少なくとも1つの引数のうちの1つであり、
署名側当事者(署名者)が値Y=F2(y)を計算するために秘密の値yを選択し、ここでF2は少なくとも1つの引数を有する第2の所定の関数を含み、前記値yはF2の前記少なくとも1つの引数のうちの1つであり、
前記署名者が前記値Xを入手し、前記署名者が秘密鍵bと公開鍵Bとを有し、
前記署名者が値s=F3(y,b,X)を計算し、ここでF3は少なくとも3つの引数を有する第3の所定の関数を含み、前記値y、前記秘密鍵b、および前記値XはF3の前記少なくとも3つの引数のうちの3つの引数であり、
値s′を計算するために第4の所定の関数F4(x,Y,B)が存在し、F4は少なくとも3つの引数を有し、前記値x、前記値Y、および前記公開鍵BはF4の前記少なくとも3つの引数のうちの3つの引数であるが、値sはF4の引数ではなく、
前記検証者と前記署名者との間で共有され、前記F1、F2、F3、およびF4のいずれかにおいて任意の引数の基礎として働くような秘密が存在せず、
前記値s′が所定の方法で前記値sに関連するものと判断された場合に前記検証者が前記値sおよびs′を有効な認証子と見なすことができる、方法。
In a method of exchange between two parties interconnected by a device or network,
The receiving party (verifier) selects a secret value x to calculate the value X = F1 (x), where F1 comprises a first predetermined function with at least one argument, said value x Is one of the at least one argument of F1,
The signing party (signer) selects a secret value y to calculate the value Y = F2 (y), where F2 includes a second predetermined function with at least one argument, said value y Is one of the at least one argument of F2,
The signer obtains the value X, the signer has a private key b and a public key B;
The signer calculates the value s = F3 (y, b, X), where F3 includes a third predetermined function having at least three arguments, the value y, the secret key b, and the value X is three of the at least three arguments of F3;
There is a fourth predetermined function F4 (x, Y, B) for calculating the value s', F4 has at least three arguments, the value x, the value Y, and the public key B are Three of the at least three arguments of F4, but the value s is not an argument of F4,
There is no secret that is shared between the verifier and the signer and that serves as the basis for any argument in any of F1, F2, F3, and F4,
A method wherein the verifier can consider the values s and s ′ as valid authenticators if the value s ′ is determined to be related to the value s in a predetermined manner.
F1およびF2のうちの少なくとも1つが一方向関数を含む、請求項1に記載の方法。   The method of claim 1, wherein at least one of F1 and F2 comprises a one-way function. 前記値sおよびs′が、s=s′である場合に有効な認証子であると判断される、請求項1に記載の方法。   The method of claim 1, wherein the values s and s ′ are determined to be valid authenticators when s = s ′. s′の計算ならびに前記値sおよびs′が関連するものであると判断されるかどうかの判断のうちの少なくとも一方が、前記検証者および前記署名者以外の当事者によって実行される、請求項1に記載の方法。   The at least one of calculating s 'and determining whether the values s and s' are relevant are performed by a party other than the verifier and the signer. The method described in 1. 2当事者間で共有される秘密を導出するために前記値sおよび前記値s′が使用される、請求項1に記載の方法。   The method of claim 1, wherein the value s and the value s' are used to derive a secret shared between two parties. 前記検証者が前記値Yを入手し、sおよびs′が前記所定の方法で関連するかどうかを判断するために前記値s′を計算するためにこれを使用すること
をさらに含む、請求項1に記載の方法。
The verifier further comprises obtaining the value Y and using it to calculate the value s 'to determine whether s and s' are related in the predetermined manner. The method according to 1.
メッセージmが、認証対象であり、F3の引数およびF4の引数を含み、それにより、前記値sおよび前記値s′が前記メッセージm内の情報を含むことができ、
前記値sおよびs′が前記所定の方法で関連するものであると判断された場合に前記メッセージが認証される、請求項1に記載の方法。
The message m is to be authenticated and includes an argument of F3 and an argument of F4, so that the value s and the value s ′ can include information in the message m;
The method of claim 1, wherein the message is authenticated if the values s and s' are determined to be related in the predetermined manner.
2当事者間で共有される秘密を導出するために前記値sおよび前記値s′が使用される、請求項7に記載の方法。   The method of claim 7, wherein the value s and the value s' are used to derive a secret shared between two parties. 前記メッセージmが、少なくとも前記交換の前記当事者の一方のIDを含む、請求項8に記載の方法。   The method of claim 8, wherein the message m includes at least one identity of the party of the exchange. 前記署名者が前記値sを前記検証者に送信すること
をさらに含む、請求項7に記載の方法。
The method of claim 7, further comprising the signer sending the value s to the verifier.
前記s=s′である場合に前記メッセージが認証される、請求項7に記載の方法。   The method of claim 7, wherein the message is authenticated if s = s ′. 前記公開鍵B=gbであり、gが次数qの有限群の生成元であり、前記秘密鍵bが0q−1になるような整数であり、
前記値X=gxであり、xが0q−1になるような整数であり、前記値Y=gyであり、yが0q−1になるような整数であり、
前記署名者が前記値s=f1(X)f2(m,Y,y,b)を計算し、f1が第1の数学関数を含み、f2が第2の数学関数を含み、引数mがメッセージを含む、請求項1に記載の方法。
The public key B = g b , g is a generator of a finite group of order q, and the secret key b is an integer such that 0 < b < q−1,
The value X = g x , x is an integer such that 0 < x < q−1, the value Y = g y , and y is an integer such that 0 < y < q−1. Yes,
The signer calculates the value s = f 1 (X) f2 (m, Y, y, b) , f 1 contains a first mathematical function, f 2 contains a second mathematical function, and arguments The method of claim 1, wherein m comprises a message.
qが素数である、請求項12に記載の方法。   The method of claim 12, wherein q is a prime number. 前記値sが所定の方法で前記値s′に関連するものと判断された場合に前記メッセージmが認証済みと見なされる、請求項12に記載の方法。   13. The method of claim 12, wherein the message m is considered authenticated if the value s is determined to be related to the value s' in a predetermined manner. 前記値sが前記値s′に等しいと判断された場合に前記メッセージmが認証済みと見なされる、請求項14に記載の方法。   The method of claim 14, wherein the message m is considered authenticated if it is determined that the value s is equal to the value s ′. 1が恒等関数から構成される、請求項12に記載の方法。 f 1 is composed of the identity function, method according to claim 12. 2が、f2の前記引数の少なくとも1つがハッシュされるようなハッシュ関数を含む、請求項12に記載の方法。 f 2 is at least one of the arguments of f 2 includes the hash function as the hash method of claim 12. ハッシュされた前記引数の1つが非ヌル・メッセージmである、請求項17に記載の方法。   The method of claim 17, wherein one of the hashed arguments is a non-null message m. 前記メッセージmが、コンピュータまたはシステムあるいはネットワーク内の当事者のIDを含む、請求項12に記載の方法。   13. The method of claim 12, wherein the message m includes an identity of a party in a computer or system or network. 2(m,Y,y,b)=y+H(Y,m)b mod qであり、ここでHは一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含む、請求項17に記載の方法。 f 2 (m, Y, y, b) = y + H (Y, m) b mod q, where H is a cryptographic function that is one of a one-way function, an encryption function, and a cryptographic hash function. The method of claim 17 comprising. 前記値s′=(YB{H(Y,m)}f3(x)であり、ここでf3(x)は少なくとも1つの引数を有する数学関数を含み、前記値xはf3(x)の前記少なくとも1つの引数のうちの1つの引数である、請求項20に記載の方法。 The value s ′ = (YB {H (Y, m)} ) f3 (x) , where f 3 (x) includes a mathematical function having at least one argument, and the value x is f 3 (x 21. The method of claim 20, wherein the method is one argument of the at least one argument. 3(x)=xである、請求項21に記載の方法。 The method of claim 21, wherein f 3 (x) = x. s=s′である場合のみ、前記メッセージmを認証すること
をさらに含む、請求項21に記載の方法。
The method of claim 21, further comprising authenticating the message m only if s = s'.
前記検証者が、秘密鍵a、公開鍵A=ga、およびメッセージm′を有し、前記値s′がm上の前記署名者の署名を含むと同時に、前記値sがm′上の前記検証者の署名を含む、請求項21に記載の方法。 The verifier, the private key a, 'have the value s' public key A = g a, and the message m is simultaneously contain a signature of the signer on m, the value s m' on the The method of claim 21, comprising the verifier's signature. 前記関数f3(x)=x+H(X,m′)a mod qである、請求項24に記載の方法。   25. The method of claim 24, wherein the function f3 (x) = x + H (X, m ') a mod q. xが前記検証者によってランダムに選択され、yが前記署名者によってランダムに選択される、請求項1に記載の方法。   The method of claim 1, wherein x is randomly selected by the verifier and y is randomly selected by the signer. 前記第1の値X=gxが、前記証明者により検索可能になるように前記検証者によって公開された値を含み、それにより、前記認証の非対話式バージョンを可能にする、請求項1に記載の方法。 The first value X = g x includes a value published by the verifier to be searchable by the prover, thereby enabling a non-interactive version of the authentication. The method described in 1. 前記値sおよびs′がさらにハッシュされる、請求項21に記載の方法。   The method of claim 21, wherein the values s and s' are further hashed. 請求項1に記載の前記方法の諸ステップの少なくとも1つを実行するためにデジタル処理装置によって実行可能な複数の機械可読命令からなるプログラムを具体的に実施する信号伝送媒体。   A signal transmission medium that specifically implements a program of machine-readable instructions executable by a digital processing device to perform at least one of the steps of the method of claim 1. 前記署名者について請求項1に記載した前記関数F2およびF3を計算するための計算機
を含む装置。
An apparatus comprising a computer for calculating the functions F2 and F3 according to claim 1 for the signer.
装置またはネットワークによって相互接続された2当事者間で認証鍵を確立するための方法において、
第1の当事者が秘密鍵aと公開鍵Aとを有する場合に、前記秘密鍵aが0q−1になるような整数であり、qが正整数であり、gが次数qの有限群の生成元であり、Aが前記値gによって生成され、A=gaとして計算された前記群内の元であり、
第2の当事者が秘密鍵bと公開鍵B=gbとを有し、前記秘密鍵bが0q−1になるような整数であり、
前記第1の当事者が値X=gxを計算するために秘密の値xを選択し、xが0q−1になるような整数であり、前記値Xが前記第2の当事者に伝達され、
前記第2の当事者が値Y=gyを計算するために秘密の値yを選択し、yが0q−1になるような整数であり、前記値Yが前記第1の当事者に伝達され、
前記第1の当事者が値s=f1(Y,B,m){f2(x,a,m’)}を計算し、ここでm、m′は前記当事者間で既知であるかまたは交換されたメッセージを含み、前記第2の当事者が値s′=f3(X,A,m′){f4(y,b,m)}を計算し、
前記関数f2およびf4のうちの少なくとも1つが少なくとも1つの引数を有する関数Hを含み、このような1つの引数が前記メッセージmおよびm′のうちの少なくとも1つであり、ここでHは一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含み、
前記第1および第2の当事者がそれぞれ前記値sおよびs′から共有鍵を導出する、方法。
In a method for establishing an authentication key between two parties interconnected by a device or a network,
When the first party has a secret key a and a public key A, the secret key a is an integer such that 0 < a < q−1, q is a positive integer, and g is of order q a finite group of origin, a is generated by said value g, a calculated original within the group as a = g a,
The second party has a secret key b and a public key B = g b , the secret key b being an integer such that 0 < b < q−1;
The first party selects a secret value x to calculate the value X = g x , where x is an integer such that 0 < x < q−1, and the value X is the second party Communicated to
The second party selects a secret value y to calculate the value Y = g y , y is an integer such that 0 < y < q−1, and the value Y is the first party Communicated to
The first party calculates the value s = f 1 (Y, B, m) {f2 (x, a, m ′)} , where m and m ′ are known or exchanged between the parties The second party calculates the value s ′ = f 3 (X, A, m ′) {f4 (y, b, m)}
At least one of the functions f 2 and f 4 includes a function H having at least one argument, such one argument being at least one of the messages m and m ′, where H is A cryptographic function that is one of a one-way function, a cryptographic function, and a cryptographic hash function,
The method wherein the first and second parties derive a shared key from the values s and s ′, respectively.
(i)前記値xおよびXの計算が、前記第1の当事者の前記秘密鍵と、前記当事者のうちの一方または複数の前記公開鍵とを含むことと、
(ii)前記値yおよびYの計算が、前記第2の当事者の前記秘密鍵と、前記当事者のうちの一方または複数の前記公開鍵とを含むこと
のうちの少なくとも一方が該当する、請求項31に記載の方法。
(I) the calculation of the values x and X includes the private key of the first party and one or more of the public keys of the parties;
(Ii) The calculation of the values y and Y corresponds to at least one of including the secret key of the second party and one or more of the public keys of the parties. 31. The method according to 31.
sおよびs′からの共有鍵の前記導出が、一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含む、請求項31に記載の方法。   32. The method of claim 31, wherein the derivation of a shared key from s and s' includes a cryptographic function that is one of a one-way function, a cryptographic function, and a cryptographic hash function. 前記メッセージmおよびm′のうちの少なくとも1つが前記第1および第2の当事者のうちの一方のIDを含む、請求項31に記載の方法。   32. The method of claim 31, wherein at least one of the messages m and m 'includes an ID of one of the first and second parties. 1(Y,B,m)=YBH(Y,m)であり、
2(x,a,m′)=(x+H(X,m′)a) mod qであり、
3(X,A,m′)=XAH(X,m’)であり、
4(y,b,m)=(y+H(Y,m)b) mod qであり、
Hが一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含む、少なくとも2つの引数からなる関数である、請求項31に記載の方法。
f 1 (Y, B, m) = YB H (Y, m)
f 2 (x, a, m ′) = (x + H (X, m ′) a) mod q,
f 3 (X, A, m ′) = XA H (X, m ′)
f 4 (y, b, m) = (y + H (Y, m) b) mod q,
32. The method of claim 31, wherein H is a function of at least two arguments, including a cryptographic function that is one of a one-way function, a cryptographic function, and a cryptographic hash function.
前記メッセージmおよびm′のうちの少なくとも1つが前記第1および第2の当事者のうちの少なくとも一方のIDを含む、請求項35に記載の方法。   36. The method of claim 35, wherein at least one of the messages m and m 'includes an ID of at least one of the first and second parties. (i)前記値xおよびXの計算が、前記第1の当事者の前記秘密鍵と、前記当事者のうちの一方または複数の前記公開鍵とを含むことと、
(ii)前記値yおよびYの計算が、前記第2の当事者の前記秘密鍵と、前記当事者のうちの一方または複数の前記公開鍵とを含むこと
のうちの少なくとも一方が該当する、請求項36に記載の方法。
(I) the calculation of the values x and X includes the private key of the first party and one or more of the public keys of the parties;
(Ii) The calculation of the values y and Y corresponds to at least one of including the secret key of the second party and one or more of the public keys of the parties. 36. The method according to 36.
sおよびs′からの共有鍵の前記導出が、一方向関数、暗号化関数、および暗号ハッシュ関数のうちの1つである暗号関数を含む、請求項36に記載の方法。   37. The method of claim 36, wherein the derivation of the shared key from s and s' includes a cryptographic function that is one of a one-way function, a cryptographic function, and a cryptographic hash function.
JP2007554563A 2005-02-10 2006-02-10 Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol) Withdrawn JP2009526411A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US65179805P 2005-02-10 2005-02-10
US11/348,304 US7747865B2 (en) 2005-02-10 2006-02-07 Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
PCT/EP2006/050841 WO2006084896A1 (en) 2005-02-10 2006-02-10 Challenge-response signatures and secure diffie-hellman protocols

Publications (2)

Publication Number Publication Date
JP2009526411A true JP2009526411A (en) 2009-07-16
JP2009526411A5 JP2009526411A5 (en) 2010-09-02

Family

ID=36781288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007554563A Withdrawn JP2009526411A (en) 2005-02-10 2006-02-10 Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol)

Country Status (8)

Country Link
US (1) US7747865B2 (en)
EP (1) EP1847062B1 (en)
JP (1) JP2009526411A (en)
AT (1) ATE403297T1 (en)
CA (1) CA2596500C (en)
DE (1) DE602006002025D1 (en)
ES (1) ES2308725T3 (en)
WO (1) WO2006084896A1 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009130872A (en) * 2007-11-28 2009-06-11 Nippon Telegr & Teleph Corp <Ntt> Method of sharing key, first device, second device, and their program
JP2011061306A (en) * 2009-09-07 2011-03-24 Nippon Telegr & Teleph Corp <Ntt> Information sharing system, method, and program
JP2012151648A (en) * 2011-01-19 2012-08-09 Nippon Telegr & Teleph Corp <Ntt> Information sharing method, information sharing system, information sharing device, and program
JP2014050084A (en) * 2012-09-04 2014-03-17 Nippon Telegr & Teleph Corp <Ntt> Key exchange system, request device, response device, key exchange method, and program
JP2017501637A (en) * 2014-01-02 2017-01-12 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Signature verification method, apparatus, and system
JP2019507510A (en) * 2016-02-23 2019-03-14 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Common secret determination for secure exchange of information and hierarchical and deterministic encryption keys
JP2019511035A (en) * 2016-02-23 2019-04-18 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with payroll payments on blockchain resulting in an automatic payroll method and system based on smart contract
US10659223B2 (en) 2016-02-23 2020-05-19 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US10715336B2 (en) 2016-02-23 2020-07-14 nChain Holdings Limited Personal device security using elliptic curve cryptography for secret sharing
US11120437B2 (en) 2016-02-23 2021-09-14 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
US11182782B2 (en) 2016-02-23 2021-11-23 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
US11194898B2 (en) 2016-02-23 2021-12-07 nChain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
JP2022037089A (en) * 2016-02-23 2022-03-08 エヌチェーン ホールディングス リミテッド Cryptographic method and system for secure extraction of data from blockchain
US11308486B2 (en) 2016-02-23 2022-04-19 nChain Holdings Limited Method and system for the secure transfer of entities on a blockchain
US11373152B2 (en) 2016-02-23 2022-06-28 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
US11410145B2 (en) 2016-02-23 2022-08-09 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content
US11455378B2 (en) 2016-02-23 2022-09-27 nChain Holdings Limited Method and system for securing computer software using a distributed hash table and a blockchain
US11606219B2 (en) 2016-02-23 2023-03-14 Nchain Licensing Ag System and method for controlling asset-related actions via a block chain
US11625694B2 (en) 2016-02-23 2023-04-11 Nchain Licensing Ag Blockchain-based exchange with tokenisation
US11972422B2 (en) 2016-02-23 2024-04-30 Nchain Licensing Ag Registry and automated management method for blockchain-enforced smart contracts

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2550362C (en) * 2005-06-14 2015-12-01 Certicom Corp. Enhanced key agreement and transport protocol
DE102007001070B3 (en) * 2006-09-29 2008-04-30 Siemens Ag Method for the encrypted data equalization of a system with at least one data carrier and one reading device
KR100753843B1 (en) 2006-09-29 2007-08-31 한국전자통신연구원 Method for converting the key exchange protocol in duplex channel into the key exchange protocol in half-duplex channel
KR101356736B1 (en) * 2007-01-19 2014-02-06 삼성전자주식회사 Contents providing apparatus and method and contents using apparatus and method for checking integrity of contents, and contents providing apparatus and method for revocating contents using apparatus
US8190884B2 (en) * 2007-02-26 2012-05-29 Picup, Llc Network identity management system and method
CN101175076B (en) * 2007-10-23 2012-01-11 赵运磊 High-efficiency, deniable, safety-unforgeable cryptographic key exchanging method of on-line computation
US8533474B2 (en) * 2008-02-27 2013-09-10 Red Hat, Inc. Generating session keys
EP2124382A1 (en) * 2008-05-20 2009-11-25 Siemens Aktiengesellschaft Method for encrypted data exchange and communication system
WO2010069063A1 (en) * 2008-12-16 2010-06-24 Certicom Corp. Acceleration of key agreement protocols
US10068282B2 (en) * 2009-06-24 2018-09-04 Uniloc 2017 Llc System and method for preventing multiple online purchases
EP2334008A1 (en) * 2009-12-10 2011-06-15 Tata Consultancy Services Limited A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure
US9143937B2 (en) 2011-09-12 2015-09-22 Qualcomm Incorporated Wireless communication using concurrent re-authentication and connection setup
US8837741B2 (en) 2011-09-12 2014-09-16 Qualcomm Incorporated Systems and methods for encoding exchanges with a set of shared ephemeral key data
US9439067B2 (en) 2011-09-12 2016-09-06 George Cherian Systems and methods of performing link setup and authentication
CN104396181B (en) * 2012-02-09 2018-02-23 爱迪德技术有限公司 system and method for generating and protecting cryptographic key
EP2677681A1 (en) * 2012-06-19 2013-12-25 Bundesrepublik Deutschland, vertreten durch das Bundesministerium des Innern, vertreten durch das Bundesamt für Sicherheit Method for secure communication between two communication partners that is authenticated on at least one side
EP2974129B1 (en) * 2013-03-15 2020-03-11 Assa Abloy AB Non-repudiation of electronic transactions
US9294503B2 (en) 2013-08-26 2016-03-22 A10 Networks, Inc. Health monitor based distributed denial of service attack mitigation
EP3158680B1 (en) * 2014-06-18 2021-02-24 Visa International Service Association Efficient methods for authenticated communication
US9756071B1 (en) 2014-09-16 2017-09-05 A10 Networks, Inc. DNS denial of service attack protection
US9537886B1 (en) 2014-10-23 2017-01-03 A10 Networks, Inc. Flagging security threats in web service requests
US9584318B1 (en) 2014-12-30 2017-02-28 A10 Networks, Inc. Perfect forward secrecy distributed denial of service attack defense
US9900343B1 (en) 2015-01-05 2018-02-20 A10 Networks, Inc. Distributed denial of service cellular signaling
US9848013B1 (en) * 2015-02-05 2017-12-19 A10 Networks, Inc. Perfect forward secrecy distributed denial of service attack detection
US10063591B1 (en) 2015-02-14 2018-08-28 A10 Networks, Inc. Implementing and optimizing secure socket layer intercept
RU2663972C1 (en) 2015-02-27 2018-08-14 Телефонактиеболагет Лм Эрикссон (Пабл) Security assurance at connection between communication device and network device
US20170063853A1 (en) * 2015-07-10 2017-03-02 Infineon Technologies Ag Data cipher and decipher based on device and data authentication
US10469594B2 (en) 2015-12-08 2019-11-05 A10 Networks, Inc. Implementation of secure socket layer intercept
US10505984B2 (en) 2015-12-08 2019-12-10 A10 Networks, Inc. Exchange of control information between secure socket layer gateways
EP3395031B1 (en) * 2016-02-19 2021-11-24 NEC Corporation Method for providing a proof of retrievability
US10116634B2 (en) 2016-06-28 2018-10-30 A10 Networks, Inc. Intercepting secure session upon receipt of untrusted certificate
US10158666B2 (en) 2016-07-26 2018-12-18 A10 Networks, Inc. Mitigating TCP SYN DDoS attacks using TCP reset
SG10201606164TA (en) * 2016-07-26 2018-02-27 Huawei Int Pte Ltd System and method for obtaining a common session key between devices
US11122033B2 (en) * 2017-12-19 2021-09-14 International Business Machines Corporation Multi factor authentication
US11012435B2 (en) 2017-12-19 2021-05-18 International Business Machines Corporation Multi factor authentication
CN109995509B (en) * 2019-05-08 2021-07-06 西安电子科技大学 Authentication key exchange method based on message recovery signature

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
US6487661B2 (en) * 1995-04-21 2002-11-26 Certicom Corp. Key agreement and transport protocol
US5761305A (en) * 1995-04-21 1998-06-02 Certicom Corporation Key agreement and transport protocol with implicit signatures
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
GB9621274D0 (en) * 1996-10-11 1996-11-27 Certicom Corp Signature protocol for mail delivery
CA2369540C (en) * 2001-12-31 2013-10-01 Certicom Corp. Method and apparatus for computing a shared secret key
US7073068B2 (en) * 2002-05-24 2006-07-04 Lucent Technologies Inc. Method and apparatus for distributing shares of a password for use in multi-server password authentication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6010044353, Hugo Krawczyk, "HMQV:A High−Performance Secure Diffie−Hellman Protocol", Cryptology ePrint Archive, 20050706, Report 2005/176, p.1−62 *

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009130872A (en) * 2007-11-28 2009-06-11 Nippon Telegr & Teleph Corp <Ntt> Method of sharing key, first device, second device, and their program
JP2011061306A (en) * 2009-09-07 2011-03-24 Nippon Telegr & Teleph Corp <Ntt> Information sharing system, method, and program
JP2012151648A (en) * 2011-01-19 2012-08-09 Nippon Telegr & Teleph Corp <Ntt> Information sharing method, information sharing system, information sharing device, and program
JP2014050084A (en) * 2012-09-04 2014-03-17 Nippon Telegr & Teleph Corp <Ntt> Key exchange system, request device, response device, key exchange method, and program
US10915896B2 (en) 2014-01-02 2021-02-09 Tencent Technology (Shenzhen) Company Limited Signature verification method, apparatus, and system
JP2017501637A (en) * 2014-01-02 2017-01-12 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Signature verification method, apparatus, and system
US11854003B2 (en) 2014-01-02 2023-12-26 Tencent Technology (Shenzhen) Company Limited Signature verification method, apparatus, and system
US11349645B2 (en) 2016-02-23 2022-05-31 Nchain Holdings Ltd. Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US11373152B2 (en) 2016-02-23 2022-06-28 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
US10715336B2 (en) 2016-02-23 2020-07-14 nChain Holdings Limited Personal device security using elliptic curve cryptography for secret sharing
US10652014B2 (en) 2016-02-23 2020-05-12 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
JP2021044828A (en) * 2016-02-23 2021-03-18 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with wallet management system
US11120437B2 (en) 2016-02-23 2021-09-14 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
US11126976B2 (en) 2016-02-23 2021-09-21 nChain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
US11182782B2 (en) 2016-02-23 2021-11-23 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
US11194898B2 (en) 2016-02-23 2021-12-07 nChain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
JP2022037089A (en) * 2016-02-23 2022-03-08 エヌチェーン ホールディングス リミテッド Cryptographic method and system for secure extraction of data from blockchain
US11308486B2 (en) 2016-02-23 2022-04-19 nChain Holdings Limited Method and system for the secure transfer of entities on a blockchain
JP2019511035A (en) * 2016-02-23 2019-04-18 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with payroll payments on blockchain resulting in an automatic payroll method and system based on smart contract
US11347838B2 (en) 2016-02-23 2022-05-31 Nchain Holdings Ltd. Blockchain implemented counting system and method for use in secure voting and distribution
US11356280B2 (en) 2016-02-23 2022-06-07 Nchain Holdings Ltd Personal device security using cryptocurrency wallets
JP7083754B2 (en) 2016-02-23 2022-06-13 エヌチェーン ホールディングス リミテッド Methods and systems for efficient transfer of cryptocurrencies associated with payroll on the blockchain, resulting in automatic payroll methods and systems based on smart contracts
US10659223B2 (en) 2016-02-23 2020-05-19 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US11410145B2 (en) 2016-02-23 2022-08-09 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content
US11455378B2 (en) 2016-02-23 2022-09-27 nChain Holdings Limited Method and system for securing computer software using a distributed hash table and a blockchain
JP7164580B2 (en) 2016-02-23 2022-11-01 エヌチェーン ホールディングス リミテッド Secure multi-party loss-tolerant storage and transfer of cryptographic keys for blockchain-based systems in conjunction with wallet management systems
JP7164580B6 (en) 2016-02-23 2022-11-28 エヌチェーン ライセンシング アーゲー Secure multi-party loss-tolerant storage and transfer of cryptographic keys for blockchain-based systems in conjunction with wallet management systems
US11606219B2 (en) 2016-02-23 2023-03-14 Nchain Licensing Ag System and method for controlling asset-related actions via a block chain
US11621833B2 (en) 2016-02-23 2023-04-04 Nchain Licensing Ag Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US11625694B2 (en) 2016-02-23 2023-04-11 Nchain Licensing Ag Blockchain-based exchange with tokenisation
JP7292365B2 (en) 2016-02-23 2023-06-16 エヌチェーン ライセンシング アーゲー Cryptographic methods and systems for secure extraction of data from blockchains
US11727501B2 (en) 2016-02-23 2023-08-15 Nchain Licensing Ag Cryptographic method and system for secure extraction of data from a blockchain
US11755718B2 (en) 2016-02-23 2023-09-12 Nchain Licensing Ag Blockchain implemented counting system and method for use in secure voting and distribution
JP2019507510A (en) * 2016-02-23 2019-03-14 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Common secret determination for secure exchange of information and hierarchical and deterministic encryption keys
US11936774B2 (en) 2016-02-23 2024-03-19 Nchain Licensing Ag Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US11972422B2 (en) 2016-02-23 2024-04-30 Nchain Licensing Ag Registry and automated management method for blockchain-enforced smart contracts

Also Published As

Publication number Publication date
WO2006084896A1 (en) 2006-08-17
ATE403297T1 (en) 2008-08-15
US20060179319A1 (en) 2006-08-10
DE602006002025D1 (en) 2008-09-11
ES2308725T3 (en) 2008-12-01
US7747865B2 (en) 2010-06-29
EP1847062B1 (en) 2008-07-30
CA2596500A1 (en) 2006-08-17
CA2596500C (en) 2014-03-25
EP1847062A1 (en) 2007-10-24

Similar Documents

Publication Publication Date Title
JP2009526411A (en) Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol)
Krawczyk HMQV: A high-performance secure Diffie-Hellman protocol
JP4384728B2 (en) Key agreement and transport protocols using intrinsic signatures
US7139917B2 (en) Systems, methods and software for remote password authentication using multiple servers
US9571274B2 (en) Key agreement protocol
Khader et al. Preventing man-in-the-middle attack in Diffie-Hellman key exchange protocol
JP2001313634A (en) Method for communication
Cremers et al. One-round strongly secure key exchange with perfect forward secrecy and deniability
Daniel et al. An efficient eCK secure certificateless authenticated key agreement scheme with security against public key replacement attacks
CN101116281A (en) Challenge-response signatures and secure diffie-hellman protocols
US20160352689A1 (en) Key agreement protocol
Abusukhon et al. An authenticated, secure, and mutable multiple‐session‐keys protocol based on elliptic curve cryptography and text‐to‐image encryption algorithm
Yoon et al. A new authentication scheme for session initiation protocol
Farash et al. A provably secure and efficient two‐party password‐based explicit authenticated key exchange protocol resistance to password guessing attacks
Zhao et al. sHMQV: An efficient key exchange protocol for power-limited devices
Kaur et al. Authenticated Diffie-Hellman key exchange algorithm
Krzywiecki et al. Deniable key establishment resistance against eKCI attacks
Yeun Design, analysis and applications of cryptographic techniques
Vesterås Analysis of key agreement protocols
Asbullah et al. A proposed CCA-secure encryption on an ElGamal variant
Shim The risks of compromising secret information
Farash et al. Security of multiple-key agreement protocols and propose an enhanced protocol
Tan Identity-based authenticated multiple key agreement protocol with PKG forward security
Glushachenko Public key cryptosystems and their application in digital signature algorithms
Flores On Provable Security of Entity Authentication Schemes

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100712

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100902