KR100642745B1 - Id-based key agreement method and apparatus - Google Patents

Id-based key agreement method and apparatus Download PDF

Info

Publication number
KR100642745B1
KR100642745B1 KR1020050093485A KR20050093485A KR100642745B1 KR 100642745 B1 KR100642745 B1 KR 100642745B1 KR 1020050093485 A KR1020050093485 A KR 1020050093485A KR 20050093485 A KR20050093485 A KR 20050093485A KR 100642745 B1 KR100642745 B1 KR 100642745B1
Authority
KR
South Korea
Prior art keywords
client
server
generating
value
key
Prior art date
Application number
KR1020050093485A
Other languages
Korean (ko)
Inventor
이동훈
황정연
최규영
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020050093485A priority Critical patent/KR100642745B1/en
Application granted granted Critical
Publication of KR100642745B1 publication Critical patent/KR100642745B1/en

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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

An ID-based key agreement method and an apparatus thereof are provided to efficiently perform ID-based key agreement between two users(server and client) having different computing power. An ID-based key agreement method includes the steps of: transmitting IDu, X, and Y to a server by a client; receiving the IDu, X, and Y to certify the client, and transmitting z and tv when being certified to the client and generating a session key(sk) by the server; and receiving the z, tv from the server to certify the server and generating a session key identical to the session key of the server by the client when the server is certified.

Description

ID-기반의 키교환 방법 및 장치{ID-based Key Agreement Method and Apparatus}ID-based key exchange method and apparatus {ID-based Key Agreement Method and Apparatus}

도 1은 본 발명에 의한 ID-기반 키교환 장치의 구성을 블록도로 도시한 것이다.1 is a block diagram showing the configuration of an ID-based key exchange device according to the present invention.

도 2는 X&Y의 생성부(100)의 세부적인 구성을 블록도로 도시한 것이다.2 is a block diagram illustrating a detailed configuration of the generation unit 100 of X & Y.

도 3은 서버 인증부(120)의 세부 구성을 블록도로 도시한 것이다.3 is a block diagram illustrating a detailed configuration of the server authenticator 120.

도 4는 z&tv생성부(130)의 세부 구성을 블록도로 도시한 것이다.4 is a block diagram illustrating a detailed configuration of the z & t v generator 130.

도 5는 클라이언트 인증부(160)의 세부적인 구성을 블록도로 도시한 것이다.5 is a block diagram illustrating a detailed configuration of the client authenticator 160.

도 6은 본 발명에 의한 ID-기반 키교환 방법을 설명하기 위한 흐름도를 도시한 것이다.6 is a flowchart illustrating an ID-based key exchange method according to the present invention.

본 발명은 키교환에 관한 것으로서, 특히 ID-기반 키교환 방법 및 장치에 관한 것이다.TECHNICAL FIELD The present invention relates to key exchange, and in particular, to a method and apparatus for ID-based key exchange.

현대의 많은 협업과 분산 환경에서 인증된 키 교환은 매우 중요한 문제 가운 데 하나이다. 키 교환 프로토콜은 분배된 키를 소유한 사용자들과의 비밀 통신을 목적으로 한다. 그리고 이러한 키 교환 프로토콜에 어떤 의도된 사용자들에 대한 상호 인증을 제공하는 키 교환 프로토콜을 인증된 키 교환(AKA) 프로토콜이라 한다. 다양한 인증 기법들 중 전형적인 인증서 기반의 공개키 기반 구조(Public Key Infrastructure, PKI)는 인증하고자 하는 상대방의 공개키에 대하여 신뢰 기관으로부터 발급된 인증서가 필요하다. In many modern collaborations and distributed environments, authenticated key exchange is one of the most important issues. The key exchange protocol is intended for secret communication with users who own a distributed key. And a key exchange protocol that provides mutual authentication for any intended users to this key exchange protocol is called an authenticated key exchange (AKA) protocol. Among various authentication schemes, a typical certificate-based public key infrastructure (PKI) requires a certificate issued by a trust authority for the public key of the other party to be authenticated.

반면에 ID-기반 시스템은 단지 사용자의 메일 주소와 같은 평이한 공개 정보로 구성된 공개 확인자(Identity, ID)만 알면 된다. 따라서 인증서 기반의 PKI에 비해 ID-기반의 인증 시스템이 보다 효율적이고 간단한 인증방식을 제공한다.ID-based systems, on the other hand, only need to know a public identity (ID) consisting of plain public information such as the user's e-mail address. Therefore, ID-based authentication system provides more efficient and simple authentication method than certificate-based PKI.

최근 무선 환경이 급속도로 발달함에 따라 이에 적당한 키 교환 프로토콜이 요구되고 있다. 특히 서버와 저전력 모바일과 같은 불균형 컴퓨팅 환경에서의 안전한 채널의 형성은 안전한 통신을 위하여 꼭 필요하다. 그러나 불행하게도 대부분의 ID-기반의 AKA 프로토콜은 연산속도와 계산량의 복잡함 때문에 저 전력 모바일 장치와 같은 자원 제한적인 곳에 적용하기엔 적절하지 않다. Recently, as the wireless environment develops rapidly, an appropriate key exchange protocol is required. In particular, the formation of a secure channel in an unbalanced computing environment such as a server and a low power mobile is essential for secure communication. Unfortunately, most ID-based AKA protocols are not suitable for resource constrained applications, such as low power mobile devices, due to the complexity of computational speed and computational complexity.

본 발명이 이루고자 하는 기술적 과제는 클라이언트 측의 계산량이 적어 저 전력 모바일 장치에도 사용할 수 있으며, 하나의 서버를 중심으로 여러 클라이언트가 안전한 채널을 형성할 수 있는, ID-기반 키교환 방법 및 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for ID-based key exchange that can be used for low power mobile devices due to a small amount of calculation on the client side, and enables multiple clients to form a secure channel around a single server. It is.

상술한 기술적 과제를 해결하기 위한 본 발명에 의한 ID-기반 키 교환 방법은, 위수가 소수 q인 gap DiffieHellman 그룹의 생성자를 P, 키생성센터(KGC)의 마스터 비밀키를 s, 상기 s와 P의 곱을 Ppub(= sP), 상기 P의 pairing 연산값을 g(=e(P,P)), 클라이언트 및 서버의 ID를 각각 IDu 및 IDv, 키생성센터로부터 받은 클라이언트 및 서버의 비밀키를 각각 Su 및 Sv 라 할 때, (a) 클라이언트가 IDu, X 및 Y를 서버에게 전달하는 단계; (b) 서버는 상기 IDu, X 및 Y를 받아 클라이언트를 인증하고, 인증이 되면 z 및 tv를 생성하여 클라이언트에게 전달하고 세션키(sk)를 생성하는 단계; (c) 클라이언트는 서버로부터 z, tv를 받아 서버를 인증하고, 유효한 서버로 인증되면 상기 서버의 세션키와 동일한 세션키를 생성하는 단계를 포함함을 특징으로 한다. 상기 (a)단계의 X 및 Y의 생성은 위수가 q인 곱셈그룹 Zq*로부터 임의의 값 a를 선택하는 단계; 상기 IDV 의 해쉬함수 값 qv(= H(IDV))를 생성하고, 상기 Ppub 와 qvP를 합하여 Qv(= Ppub + qvP)를 생성하고, 상기 g의 a 멱승을 취하여 tu(= ga)를 생성하고, 상기 tu의 해쉬함수 값 h(=H1(tu))를 생성하는 단계; 및 상기 a와 Qv의 곱을 계산하여 X(=aQV)를 생성하고, 상기 a와 h의 합에 SU 를 곱하여 Y(=(a+h)SU)를 생성하는 단계를 포함하여 이루어진다.In order to solve the above technical problem, an ID-based key exchange method according to the present invention includes a generator of a gap DiffieHellman group whose number is a prime q, a master secret key of a key generation center (KGC), and s and P. The product of P pub (= sP), the pairing operation value of P (g (= e (P, P)), the IDs u and ID v of the client and server, and the secrets of the client and server When the keys are S u and S v , respectively, (a) the client forwards the ID u , X and Y to the server; (b) the server receiving the IDs u , X and Y to authenticate the client, and if authenticated, generate the z and t v to be delivered to the client and generate a session key (sk); (c) the client receives z, t v from the server and authenticates the server, and if the client is authenticated as a valid server, generating a session key identical to the session key of the server. Generating X and Y in step (a) comprises selecting an arbitrary value a from multiplication group Zq * having a degree q; Generating a hash function value q v (= H (ID V )) of the ID V and generating a Q v (= P pub + q v P) combined for the P pub and q v P, and the g a exponentiation a taking step of generating a t u (= g a) and generating a hash function value of the t u h (= h 1 ( t u)); And comprises the step of generating the X (= aQ V) by calculating a product of the a and Q v and generates a Y (= (a + h) S U) is multiplied by S U to the sum of the a and h .

상기 (b)단계의 클라이언트 인증은, 상기 IDU 의 해쉬함수 값 qu(= H(IDU))를 생성하고, 상기 Ppub 를 qu와 P의 곱(quP)과 합하여 QU(= Ppub + quP)를 생성하고, 클라이언트로부터 받은 X와 SV의 pairing 연산하여 tu(= e(X, SV))를 생성하고, 클라이언트로부터 받은 Y와 상기 QU 를 pairing 연산하여 c(= e(Y, QU))를 생성하는 단계; 상기 tu 의 해쉬함수 값 h(=H1(tu)을 생성하여, 상기 tu와 g의 h 멱승(gh)을 곱한 값(tugh)을 생성하는 단계; 및 상기 c = tugh를 만족하면 유효한 클라이언트로 인증하는 단계를 포함하여 이루어진다. 상기 (b)단계의 tv는, 서버가 위수가 q인 곱셈그룹 Zq*로부터 임의로 선택함에 의해 생성되며, 상기 (b)단계의 z 및 세션키(sk)의 생성은, 상기 클라이언트가 유효한 클라이언트로 인증되면, z = H2(tu, tv, X, Y, IDu, IDv), sk = H3(tu, tv, X, Y, IDu, IDv)에 의해 이루어진다. 상기 (c)단계의 서버 인증은, IDU, IDV, 클라이언트가 생성한 tu, X, Y, 상기 서버로부터 받은 tv를 해쉬함수한 값 z'(= H2(tu,tv,X,Y,IDU, IDV)를 생성하는 단계; 및 상기 z'가 z와 일치(z'= z)하는지 체크하는 단계를 포함하여 이루어진다. 상기 (c)단계의 세션키(sk) 생성은 상기 서버가 유효한 서버로 인증되면, sk = H3(tu, tv, X, Y, IDu, IDv)에 의해 이루어진다.Client authentication of the (b) step, produce a hash function value of the ID U q u (= H ( ID U)) , and the combined the P pub the product of q u and P (q u P) Q U Generate (= P pub + q u P), generate t u (= e (X, S V )) by pairing X and S V received from the client, and pair Y and Q U received from the client. Producing c (= e (Y, Q U )); A step of generating a hash function value of the t u h (= H 1 ( t u), generating the t u and g of h exponentiation (g h) the product of a value (t u g h); and wherein c = and if t u g h is satisfied, authenticating to a valid client, wherein t v in step (b) is generated by the server randomly selecting from the multiplication group Zq * , where the rank is q, and (b) The generation of z and the session key (sk) of step is that if the client is authenticated as a valid client, z = H 2 (t u , t v , X, Y, ID u , ID v ), sk = H 3 (t u , t v , X, Y, ID u , and ID v ) The server authentication in step (c) is performed by ID U , ID V , client generated t u , X, Y and the server. t v a hash function, the value of z; that '(= H 2 (t u , t v, to produce the X, Y, ID u, ID v) , and the z' are z and match (z '= z) And checking the session key in step (c). If you are authenticated as a valid server, then sk = H 3 (t u , t v , X, Y, ID u , ID v ).

상기 (b)단계의 클라이언트 인증에서 e(Y, QU)이 tugh와 동일한 값이 아니면 클라이언트 인증 실패 메시지를 클라이언트에게 전송함이 바람직하다. 상기 (c)단계의 서버 인증에서 z 와 z' 이 동일한 값이 아니면 서버 인증 실패 메시지를 서버에게 전송함이 바람직하다.In the client authentication of step (b), if e (Y, Q U ) is not equal to t u g h , it is preferable to transmit a client authentication failure message to the client. In the server authentication of step (c), if z and z 'are not the same value, it is preferable to transmit a server authentication failure message to the server.

상술한 기술적 과제를 해결하기 위한 본 발명에 의한 ID-기반 키교환 장치는, 위수가 q인 덧셈그룹(G1)의 생성자를 P, 키생성센터(KGC)의 마스터 비밀키를 s, 상기 s와 P의 곱을 Ppub(= sP), 상기 P의 pairing 연산값을 g(=e(P,P)), 클라이언트 및 서버의 ID를 각각 IDu 및 IDv, 키생성센터로부터 받은 클라이언트 및 서버의 비밀키를 각각 Su 및 Sv 라 할 때, 클라이언트와 서버에 설치되며, X 값 및 Y 값을 생성하는 X&Y 생성부; 클라이언트 측에 설치되며, 상기 IDu, X 및 Y를 서버로 전송하는 클라이언트전송부; 클라이언트에 설치되며, 서버로부터 z, tv를 받아 서버를 인증하는 클라이언트 인증부; 유효한 서버로 인증되면 상기 서버의 세션키와 동일한 세션키를 생성하는 클라이언트세션키 생성부; 서버에 설치되며, 상기 IDu, X 및 Y를 받아 클라이언트를 인증하는 서버 인증부; 서버에 설치되며, 클라이언트가 유효한 크라이언트로 인증되면 z 및 tv를 생성하는 z&tv 생성부; 상기 z 및 tv를 클라이언트로 전송하는 서버전송부; 및 서버에 설치되며, 클라이언트가 유효한 클라이언트로 인증되면 세션키(sk)를 생성하는 서버 세션키 생성부를 포함함을 특징으로 한다.In order to solve the above technical problem, an ID-based key exchange device according to the present invention includes a generator of an addition group G1 having a rank of q, a master secret key of a key generation center KGC, and s. The product of P is Ppub (= sP), the pairing operation value of P is g (= e (P, P)), the IDs u and ID v of the client and server, respectively An X & Y generation unit installed in the client and the server when the keys are S u and S v , respectively, and generate X and Y values; A client transmitter installed on a client side and transmitting the ID u , X and Y to a server; A client authentication unit installed in the client and receiving z and t v from the server to authenticate the server; A client session key generation unit generating a session key identical to the session key of the server when authenticated with a valid server; A server authentication unit installed in a server and receiving the ID u , X and Y to authenticate a client; Z & t v generation unit, installed on the server and generating z and t v if the client is authenticated as a valid client; A server transmitter for transmitting the z and t v to a client; And a server session key generator that is installed in the server and generates a session key sk when the client is authenticated as a valid client.

상기 X&Y의 생성부는 위수가 q인 곱셈그룹 Zq*로부터 임의의 값 a를 선택하는 a 선택부; 상기 IDV 의 해쉬함수 값 qv(= H(IDV))를 생성하고, 상기 Ppub 와 qvP를 합하여 Qv(= Ppub + qvP)를 생성하고, 상기 g의 a 멱승을 취하여 tu(= ga)를 생성하고, 상기 tu의 해쉬함수 값 h(=H1(tu))를 생성하는 매개값생성부; 상기 a와 Qv의 곱을 계산하여 X(=aQV)를 생성하는 X생성부; 및 상기 a와 h의 합에 SU 를 곱하여 Y(=(a+h)SU)를 생성하는 Y생성부를 포함하여 이루어진다.The generation unit of X & Y includes: a selection unit for selecting an arbitrary value a from multiplication group Zq * having a rank q; Generating a hash function value q v (= H (ID V )) of the ID V, and the combined the P pub and q v P generate Qv (= P pub + q v P), and the g to a exponentiation taking t u (= g a) generating and parameter value generator generating a hash function value of the t u h (= h 1 ( t u)) a; An X generator for generating X (= aQ V ) by calculating a product of a and Q v ; And a Y generator that generates Y (= (a + h) S U ) by multiplying S U by the sum of a and h.

상기 클라이언트 인증부는, IDU, IDV, 클라이언트가 생성한 tu, X, Y, 상기 서버로부터 받은 tv를 해쉬함수한 값 z'(= H2(tu,tv,X,Y,IDU, IDV)를 생성하는 z'생성부 및 상기 z'가 상기 z와 일치(z'= z)하는지 체크하여 서버를 인증하는 z'인증부를 포함한다. 상기 클라이언트 세션키 생성부는, 상기 서버가 유효한 서버로 인증되면, tu, tv, X, Y, IDu, IDv의 해쉬함수 값(sk = H3(tu, tv, X, Y, IDu, IDv))을 생성한다. 서버 인증부는 상기 IDU 의 해쉬함수 값 qu(= H(IDU))를 생성하고, 상기 Ppub 를 qu와 P의 곱(quP)과 합하여 QU(= Ppub + quP)를 생성하고, 클라이언트로부터 받은 X와 SV의 pairing 연산하여 tu(= e(X, SV))를 생성하고, 클라이언트로부터 받은 Y와 상기 QU 를 pairing 연산하여 c(= e(Y, QU))를 생성하는 c생성부; 상기 tu 의 해쉬함수 값 h(=H1(tu))을 생성하여, 상기 tu와 g의 h 멱승(gh)을 곱한 값(tugh)을 생성하는 tugh생성부; 및 상기 c와 상기 tugh를 비교하여 그 값이 동일하면 유효한 클라이언트로 인증하는 c 인증부를 포함하여 이루어진다.The client authentication unit has a hash function of ID U , ID V , client generated t u , X, Y, and t v received from the server, z '(= H 2 (t u , t v , X, Y, Z 'generation unit for generating ID U and ID V ) and z' authentication unit for authenticating the server by checking whether z 'matches z (z' = z). If the server is authenticated as a valid server, the hash function values of t u , t v , X, Y, ID u , and ID v (sk = H 3 (t u , t v , X, Y, ID u , ID v )) to generate the server authentication unit generates a hash functional value of the ID U q u (= H ( ID U)) , and the product of the Ppub q u and P (q u P) and the combined Q U (= Ppub + q u P), pairing operation of X and S V received from the client to generate t u (= e (X, S V )), and pairing operation of Y and Q U received from the client to c (= to produce a hash function value of the t u h (= h 1 ( t u)); e (Y, Q U)) c generator for generating , Wherein t u and g of h exponentiation (g h) the product of a value (t u g h) t u g h and generates a; Compare and the c and the t u g h if the value is the same valid It includes a c authentication unit for authenticating with the client.

상기 z&tv생성부는, 서버가 위수가 q인 곱셈그룹 Zq*로부터 임의로 tv를 선택하는 tv선택부; 및 상기 클라이언트가 유효한 클라이언트로 인증되면, tu, tv, X, Y, IDu, IDv의 해쉬함수 값 z(= H2(tu, tv, X, Y, IDu, IDv))를 생성하는 z생성부를 포함한다. 상기 서버세션키 생성부는 상기 클라이언트가 유효한 클라이언트로 인증되면, tu, tv, X, Y, IDu, IDv를 해쉬함수한 값 sk(= H3(tu, tv, X, Y, IDu, IDv))를 생성한다.The z & t v generation unit includes: a t v selection unit for selecting at random a t v from a multiplication group Zq * having a rank q; And if the client is authenticated as a valid client, t u, t v, X , Y, ID u, ID v hash function value of z (= H 2 (t u , t v, X, Y, ID u, ID v Z generation unit generating)). The server session key generation unit hashes t u , t v , X, Y, ID u , and ID v when the client is authenticated as a valid client. Sk (= H 3 (t u , t v , X, Y , ID u , ID v )).

상기 클라이언트 인증부에서 e(Y, QU)이 tugh와 동일한 값이 아니면 클라이언트 인증 실패 메시지를 클라이언트에게 전송함이 바람직하다. 상기 서버 인증부에서 z 와 z' 이 동일한 값이 아니면 서버 인증 실패 메시지를 서버에게 전송함이 바람직하다.If e (Y, Q U ) is not equal to t u g h in the client authentication unit, it is preferable to transmit a client authentication failure message to the client. If z and z 'are not the same value, the server authentication unit preferably transmits a server authentication failure message to the server.

그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.A computer readable recording medium having recorded thereon a program for executing the invention described above is provided.

이하, 첨부된 도면을 참조하여 본 발명에 의한 ID-기반 키교환 방법 및 장치 를 상세히 설명하기로 한다.Hereinafter, a method and apparatus for ID-based key exchange according to the present invention will be described in detail with reference to the accompanying drawings.

먼저, Bilinear Maps과 암호학적 가정들을 설명하기로 한다. 본 발명에서 G1 을 위수가 소수q인 덧셈 연산 군이라 하고, G2를 같은 위수 q를 갖는 곱셈 연산 군이라 하자. 그리고 P는 G1의 생성자이다. 이 때 G1,G2에서의 이산 대수 문제(DLP)는 어렵다고 가정한다. 아래와 같은 조건을 만족하는 함수 e : G1 x G1 -> G2를 admissible bilinear map 이라 한다.First, Bilinear Maps and cryptographic assumptions are explained. In the present invention, let G 1 be an addition operation group having a decimal number q and G 2 be a multiplication operation group having the same rank q. And P is the constructor of G 1 . In this case, it is assumed that the discrete logarithm problem (DLP) in G 1 and G 2 is difficult. The function e: G 1 x G 1- > G 2 , which satisfies the following conditions, is called an admissible bilinear map.

Bilinear : 모든 P,Q ∈ G1 이고 a,b ∈ Zq* 에 대하여 e(aP, bP) = e(P,P)ab Bilinear: e (aP, bP) = e (P, P) ab for all P, Q ∈ G 1 and a, b ∈ Zq *

Non-degenerate : e(P,P)≠1을 만족하는 P ∈ G1 가 존재한다. Non-degenerate: P ∈ G 1 satisfying e (P, P) ≠ 1 Is present.

Computable : 모든 P,Q ∈ G1에 대하여 e(P,P)을 계산할 수 있는 효율적인 알고리즘이 존재한다. Computable: There is an efficient algorithm that can calculate e (P, P) for all P, Q ∈ G 1 .

Computational Diffie - Hellman ( CDH ) problem : CDH 문제는 a,b ∈ Zq*인 P, aP, bP가 주어지면 abP를 계산하는 문제이다. Computational Diffie - Hellman ( CDH ) problem : The CDH problem is to calculate abP given P, aP, and bP where a, b ∈ Zq * .

Inverse Computational Diffie - Hellman ( ICDH ) problem : ICDH 문제는 a∈ Zq*인 P, aP가 주어지면 a-1P를 계산하는 문제이다. Inverse Computational Diffie - Hellman ( ICDH ) problem : The ICDH problem is to calculate a -1 P given P, aP, which is a∈ Zq * .

Modified Inverse Computational Diffie-Hellman (mICDH) problem: mICDH 문제는 a,b ∈ Zq*인 b, P, aP 그리고 (a+b)P가 주어지면 (a+b)-1P를 계산하는 문제이 다. Modified Inverse Computational Diffie-Hellman (mICDH) problem: The mICDH problem is to calculate (a + b) -1 P given a, b ∈ Zq * , b, P, aP and (a + b) P.

Bilinear Diffie - Hellman ( BDH ) problem : BDH 문제는 a,b,c∈Zq*인 P, aP, bP 그리고 cP가 주어지면 e(P,P)abc를 계산하는 문제이다. Bilinear Diffie - Hellman ( BDH ) problem : The BDH problem is to calculate e (P, P) abc given P, aP, bP and cP, where a, b, c∈Zq * .

Bilinear Inverse Diffie - Hellman ( BIDH ) problem : BIDH 문제는 a,b,c∈Zq*인 P, aP, bP 가 주어지면

Figure 112005056321815-pat00001
를 계산하는 문제이다. Bilinear Inverse Diffie - Hellman ( BIDH ) problem : The BIDH problem is given by P, aP, bP where a, b, c∈Zq *
Figure 112005056321815-pat00001
It is a matter of calculating.

Modified Bilinear Inverse Diffie - Hellman ( mBIDH ) problem : mBIDH 문제는 a,b,c∈Zq*인 b,P,aP 그리고 cP가 주어지면

Figure 112005056321815-pat00002
를 계산하는 문제이다. Modified Bilinear Inverse Diffie - Hellman ( mBIDH ) problem : The mBIDH problem is given by b, P, aP and cP where a, b, c∈Zq *
Figure 112005056321815-pat00002
It is a matter of calculating.

위 문제 중 CDH와 ICDH 그리고 mICDH 문제는 서로 다항식 시간(polynomial time) 동치임을 쉽게 알 수 있다.It is easy to see that the CDH, ICDH, and mICDH problems are polynomial time equivalents.

정 리 1. BDH와 BIDH 그리고 mBIDH 문제는 서로 다항식 시간 동치이다. Theorem 1. BDH, BIDH and mBIDH problems are polynomial time equivalents.

(증명) BDH와 BIDH 문제는 다항식 시간 동치이다. 그러므로 단지 BIDH와 mBIDH가 서로 다항식 시간 동치임을 증명한다.(Proof) BDH and BIDH problems are polynomial time equivalents. Therefore, we only prove that BIDH and mBIDH are polynomial time equivalents.

[BIDH ⇒ mBIDH] b,P,aP 그리고 cP가 mBIDH에 주어지면 a'P = aP + bP를 계산하여 P, a'P, cP를 BIDH에 입력한다. BIDH가

Figure 112005056321815-pat00003
를 출력하면 mBIDH 역시 같은 값을 출력한다.[BIDH ⇒ mBIDH] If b, P, aP and cP are given to mBIDH, calculate a'P = aP + bP and enter P, a'P, cP into BIDH. BIDH
Figure 112005056321815-pat00003
If you print, mBIDH will output the same value.

[mBIDH ⇒ BIDH] P, aP, cP가 BIDH에 주어지면 a'P = aP - bP를 계산하여 b, P, a'P 그리고 cP를 mBIDH에 입력한다. mBIDH가

Figure 112005056321815-pat00004
를 출력하면 BIDH 역시 같은 값을 출력한다.[mBIDH ⇒ BIDH] Given P, aP and cP to BIDH, calculate a'P = aP-bP and enter b, P, a'P and cP into mBIDH. mBIDH
Figure 112005056321815-pat00004
Outputs the same value.

CDH, BDH 그리고 BIDH 문제가 어렵다고 가정한다. 이것은 CDH, BDH 그리고 BIDH 문제를 다항식 시간 안에 의미있는 확률을 가지고 계산하는 알고리즘이 존재하지 않음을 의미한다. gap Diffie-Hellman (GDH) 가정을 만족하는 GDH 파라미터 생성기는 타원곡선 상에서의 Weil/Tate pairing으로 구성할 수 있다.Assume that CDH, BDH and BIDH problems are difficult. This means that no algorithm exists to calculate CDH, BDH and BIDH problems with meaningful probabilities in polynomial time. The GDH parameter generator that satisfies the gap Diffie-Hellman (GDH) assumption can be configured as Weil / Tate pairing on an elliptic curve.

본 발명의 안전성을 증명하기 위하여 k-CAA (Collusion Attack Algorithm with k traitor) 문제와 k-mBIDH (modified BIDH with k values) 문제를 정의한다. 사실 k-mBIDH는 k-CAA 문제를 bilinear 형태로 변환한 문제이다.In order to demonstrate the safety of the present invention, the problems of Collusion Attack Algorithm with k traitor (k-CAA) and modified BIDH with k values (k-mBIDH) are defined. In fact, k-mBIDH is a bilinear form of the k-CAA problem.

정 의 1. k-CAA 문제는 아래와 같이 주어졌을 때 h ∈ Zq*에 대하여 (s+h)-1P를 계산하는 문제이다. Definition 1. The k-CAA problem is to calculate (s + h) -1 P for h ∈ Zq * given by

Figure 112005056321815-pat00005
Figure 112005056321815-pat00005

정 의 2. k-mBIDH 문제는 아래와 같이 주어졌을 때

Figure 112005056321815-pat00006
를 계산하는 문제이다. Definition 2. The k-mBIDH problem is given by
Figure 112005056321815-pat00006
It is a matter of calculating.

Figure 112005056321815-pat00007
.
Figure 112005056321815-pat00007
.

알고리즘 A에 대한 좀 더 일반적인 이점은 다음과 같이 정의된다.A more general advantage for Algorithm A is defined as

Figure 112005056321815-pat00008
Figure 112005056321815-pat00008

다음으로 본 발명에 의한 ID기반 키교환 방법 및 장치의 안전성을 분석하기 로 한다. Next, the security of the ID-based key exchange method and apparatus according to the present invention will be analyzed.

authenticryption 기법을 이용하여 모바일 클라이언트 U와 서버 V 사이의 ID 기반의 인증된 키 교환 방법 및 장치를 설명하고 랜덤 오라클 모델에서의 안전성을 증명한다. 본 발명에 적용된 키교환 방법을 ID-AKA라 명한다. We describe the method and apparatus for ID-based authenticated key exchange between mobile client U and server V using authenticryption technique, and prove the security in random Oracle model. The key exchange method applied to this invention is called ID-AKA.

1. ID-기반의 인증된 키 교환 프로토콜1. ID-based authenticated key exchange protocol

먼저 두 그룹 G1,G2와 bilinear map e를 GDH 생성기를 사용하여 생성한다. G1 에서 mICDH 문제는 어렵다고 가정한다. 본 발명에 의한 ID-AKA 방법은 주어진 공개 확인자에 대응되는 비밀키를 생성하는 신뢰기관인 키 생성 기관 (KGC)을 이용하며, 이때 생성된 비밀키에 대한 안전성은 mICDH 문제의 어려움에 기반하게 된다. First we create two groups G 1 , G 2 and bilinear map e using the GDH generator. It is assumed that the mICDH problem in G 1 is difficult. The ID-AKA method of the present invention uses a key generation authority (KGC), which is a trust authority that generates a secret key corresponding to a given public identifier, and the security of the generated secret key is based on the difficulty of the mICDH problem.

Setup은 다음과 같이 이루어진다.Setup is as follows.

KGC는 s ∈ Zq* 와 G1의 생성자 P를 선택하고 Ppub = sP를 계산한다. 또한 암호학적 일방향 해쉬 함수

Figure 112005056321815-pat00009
그리고
Figure 112005056321815-pat00010
를 선택한다. 여기서 t 는 보안상수(security parameter)이며, k는 세션키의 비트 길이이다. 그 다음에 KGC는 마스터 비밀키인 s를 비밀로 하고 공개 시스템 파라미터
Figure 112005056321815-pat00011
를 공개한다.KGC selects the constructor P of s ∈ Zq * and G 1 and calculates P pub = sP. Also cryptographic one-way hash function
Figure 112005056321815-pat00009
And
Figure 112005056321815-pat00010
Select. Where t is the security parameter and k is the bit length of the session key. KGC then keeps the master secret key s secret and public system parameters
Figure 112005056321815-pat00011
To the public.

Extract는 다음과 같이 이루어진다.Extract is done as follows.

확인자가 IDu인 클라이언트 U가 비밀키를 얻기를 원할 때, KGC는

Figure 112005056321815-pat00012
를 계산하여 비밀키
Figure 112005056321815-pat00013
를 계산한 후 (g, SU)를 안전한 채널로 U에게 전송한다. 동일한 방법으로, 확인자가 IDv인 서버 V도
Figure 112005056321815-pat00014
를 계산한 후, 비밀키
Figure 112005056321815-pat00015
와 g=e(P,P) 를 계산하여 안전한 채널로 V에게 전송한다. When the client U whose resolver is ID u wants to obtain a secret key, KGC
Figure 112005056321815-pat00012
Calculate the secret key
Figure 112005056321815-pat00013
Calculate and transmit (g, S U ) to U on a secure channel. In the same way, even the server whose resolver is ID v
Figure 112005056321815-pat00014
Calculate, Secret Key
Figure 112005056321815-pat00015
Calculate and g = e (P, P) and send it to V on a secure channel.

도 1은 본 발명에 의한 ID-기반 키교환 장치의 구성을 블록도로 도시한 것으로서, X&Y생성부(100), 클라이언트 전송부(110), 클라이언트 인증부(160), 클라이언트 세션키 생성부(170), 서버인증부(120), z&tv생성부(130), 서버전송부(140) 및 서버 세션키 생성부(150)를 포함하여 이루어진다.1 is a block diagram illustrating a configuration of an ID-based key exchange device according to the present invention. The X & Y generation unit 100, the client transmission unit 110, the client authentication unit 160, and the client session key generation unit 170 are shown in FIG. ), The server authentication unit 120, the z & t v generation unit 130, the server transmission unit 140 and the server session key generation unit 150.

먼저, 위수가 소수 q인 gap DiffieHellman 그룹, 예를 들어 위수가 소수 q인 덧셈그룹(G1)의 생성자를 P, 키생성센터(KGC)의 마스터 비밀키를 s, 상기 s와 P의 곱을 Ppub(= sP), 상기 P의 pairing 연산값을 g(=e(P,P)), 클라이언트 및 서버의 ID를 각각 IDu 및 IDv, 키생성센터로부터 받은 클라이언트 및 서버의 비밀키를 각각 Su 및 Sv 라 한다.First, the constructor of the gap DiffieHellman group having a prime q, for example, the addition group G 1 having a prime q, is P, the master secret key of the Key Generation Center (KGC) s, and the product of s and P is Ppub. (= sP), g pairing operation value of P (= e (P, P)), ID u and ID v of client and server, respectively, and secret key of client and server received from key generation center, respectively. u and S v .

상기 X&Y생성부(100)는 상기 클라이언트에 설치되며, X 값 및 Y 값을 생성한다. 도 2는 상기 X&Y의 생성부(100)의 세부적인 구성을 블록도로 도시한 것으로서, a선택부(200), 매개값 생성부(220), X생성부(240) 및 Y생성부(260)를 포함하여 이루어진다. 상기 a 선택부(200)는 위수가 q인 곱셈그룹 Zq*로부터 임의의 값 a를 선택한다. 상기 매개값 생성부(220)는 상기 IDV 의 해쉬함수 값 qv(= H(IDV))를 생성하고, 상기 Ppub 와 qvP를 합하여 Qv(= Ppub + qvP)를 생성하고, 상기 g의 a 멱승을 취하여 tu(= ga)를 생성하고, 상기 tu의 해쉬함수 값 h(=H1(tu))를 생성한다. 상기 X생성부(240)는 상기 a와 Qv의 곱을 계산하여 X(=aQV)를 생성한다. 상기 Y생성부(260)는 상기 a와 h의 합에 SU 를 곱하여 Y(=(a+h)SU)를 생성한다.The X & Y generator 100 is installed in the client and generates an X value and a Y value. 2 is a block diagram showing the detailed configuration of the generation unit 100 of the X & Y, a selection unit 200, parameter generation unit 220, X generation unit 240 and Y generation unit 260 It is made, including. The a selector 200 selects a random value a from the multiplication group Zq * having the above order q. The parameter generator 220 generates a hash function value q v (= H (ID V )) of the ID V , and adds the P pub and q v P to Q v (= P pub + q v P). the generation, and by taking a exponentiation of g generate the u t (= g a) and generating a hash function value of the t u h (= H 1 ( t u)). The X generator 240 generates X (= aQ V ) by calculating the product of a and Q v . The Y generator 260 generates Y (= (a + h) S U ) by multiplying S U by the sum of a and h.

상기 클라이언트 전송부(110)는 클라이언트 측에 설치되며, 상기 IDu, X 및 Y를 서버로 전송한다.The client transmitter 110 is installed on the client side, and transmits the ID u , X and Y to the server.

클라이언트 인증부(160)는 클라이언트에 설치되며, 서버로부터 z, tv를 받아 서버를 인증한다. 도 5는 상기 클라이언트 인증부(160)의 세부적인 구성을 블록도로 도시한 것으로서, z'생성부(500) 및 z 인증부(550)를 포함하여 이루어진다. 상기 z'생성부(500)는 IDU, IDV, 클라이언트가 생성한 tu, X, Y, 상기 서버로부터 받은 tv를 해쉬함수한 값 z'(= H2(tu,tv,X,Y,IDU, IDV))를 생성한다. 상기 z 인증부(550)는 상기 z'가 상기 z와 일치(z'= z)하는지 체크하여 서버를 인증한다.The client authentication unit 160 is installed on the client and authenticates the server by receiving z and t v from the server. 5 is a block diagram illustrating a detailed configuration of the client authenticator 160, and includes a z ′ generation unit 500 and a z authenticator 550. The z 'generation unit 500 is a ID of U , ID V , t u generated by the client, X, Y, a hash function of the tv received from the server z' (= H 2 (tu, tv, X, Y , ID U , ID V )). The z authenticator 550 authenticates the server by checking whether z 'matches z (z' = z).

클라이언트 세션키 생성부(170)는 유효한 서버로 인증되면 상기 서버의 세션키와 동일한 세션키를 생성한다. 보다 구체적으로 설명하면, 상기 클라이언트 세션키 생성부(170)는 상기 서버가 유효한 서버로 인증되면, tu, tv, X, Y, IDu, IDv의 해쉬함수 값(sk = H3(tu, tv, X, Y, IDu, IDv))을 생성한다.The client session key generation unit 170 generates the same session key as that of the server if the server is authenticated as a valid server. More specifically, the client session key generation unit 170, if the server is authenticated as a valid server, the hash function value of t u , t v , X, Y, ID u , ID v (sk = H 3 ( t u , t v , X, Y, ID u , ID v ))

서버인증부(120)는 서버에 설치되며, 상기 IDu, X 및 Y를 받아 클라이언트를 인증한다. 도 3은 서버 인증부(120)의 세부 구성을 블록도로 도시한 것으로서, c생성부(300), tugh생성부(320) 및 c인증부(340)를 포함하여 이루어진다. Server authentication unit 120 is installed on the server, and receives the ID u , X and Y to authenticate the client. 3 is a block diagram illustrating a detailed configuration of the server authenticator 120, and includes a c generator 300, a t u g h generator 320, and a c authenticator 340.

상기 c생성부(300)는 상기 IDU 의 해쉬함수 값 qu(= H(IDU))를 생성하고, 상기 Ppub 를 qu와 P의 곱(quP)과 합하여 QU(= Ppub + quP)를 생성하고, 클라이언트로부터 받은 X와 SV의 pairing 연산하여 tu(= e(X, SV))를 생성하고, 클라이언트로부터 받은 Y와 상기 QU 를 pairing 연산하여 c(= e(Y, QU))를 생성한다. 상기 tugh생성부(320)는 상기 tu 의 해쉬함수 값 h(=H1(tu))을 생성하여, 상기 tu와 g의 h 멱승(gh)을 곱한 값(tugh)을 생성한다. 상기 c인증부(340)는 상기 c와 상기 tugh를 비교하여 그 값이 동일하면 유효한 클라이언트로 인증한다.The c generator 300 generates a hash functional value of the ID U q u (= H (ID U)), and the product of the Ppub q u and P (q u P) and the combined Q U (= Ppub + q u P), pairing operation of X and S V received from the client to generate t u (= e (X, S V )), and pairing operation of Y and Q U received from the client to c ( = e (Y, Q U )). The t u g h generation unit 320 is the t u of the hash function value h (= H 1 (t u)) for generating said t u and g of h exponentiation (g h), the multiplied value (t u g h ). The c authentication unit 340 compares c and t u g h and authenticates a valid client if the values are the same.

z&tv 생성부(130)는 서버에 설치되며, 클라이언트가 유효한 클라이언트로 인증되면 z 및 tv를 생성한다. 도 4는 상기 z&tv생성부(130)의 세부 구성을 블록도로 도시한 것으로서, tv선택부(400) 및 z생성부(450)를 포함하여 이루어진다. 상기 tv선택부(400)는 서버가 위수가 q인 곱셈그룹 Zq*로부터 임의로 tv를 선택한다. 상기 z생성부(450)는 상기 클라이언트가 유효한 클라이언트로 인증되면, tu, tv, X, Y, IDu, IDv의 해쉬함수 값 z(= H2(tu, tv, X, Y, IDu, IDv))를 생성한다.The z & t v generator 130 is installed in the server, and generates z and t v if the client is authenticated as a valid client. 4 is a block diagram illustrating a detailed configuration of the z & t v generation unit 130, and includes a t v selection unit 400 and a z generation unit 450. The t v selection unit 400 selects a random t v from the multiplication group Zq * number of q above the server. The z generating unit 450, if the client is authenticated as a valid client, the hash function value z (= H 2 (t u , t v , X,) of t u , t v , X, Y, ID u , and ID v Y, ID u , ID v )).

서버전송부(140)는 상기 z 및 tv를 클라이언트로 전송한다.The server transmitter 140 transmits the z and t v to the client.

서버 세션키 생성부(150)는 서버에 설치되며, 클라이언트가 유효한 클라이언트로 인증되면 세션키(sk)를 생성한다. 즉, 상기 서버세션키 생성부(150)는 상기 클라이언트가 유효한 클라이언트로 인증되면, tu, tv, X, Y, IDu, IDv를 해쉬함수한 값 sk(= H3(tu, tv, X, Y, IDu, IDv))를 생성한다.The server session key generation unit 150 is installed in the server, and generates a session key sk when the client is authenticated as a valid client. That is, when the client is authenticated as a valid client, the server session key generation unit 150 hashes t u , t v , X, Y, ID u , and ID v sk (= H 3 (t u , t v , X, Y, ID u , ID v ))

한편, 클라이언트 U와 서버 V 가 세션키를 생성하는 본 발명에 의한 ID-기반 키교환 방법을 설명하기로 한다. 도 6은 본 발명에 의한 ID-기반 키교환 방법을 설명하기 위한 흐름도를 도시한 것이다. 도 6을 참조하면, 클라이언트 U는

Figure 112005056321815-pat00016
를 계산하고 난수 a∈Zq* 를 선택하여 tu=ga와 Qv = Ppub + qvP를 계산한다. 그 다음으로 U는
Figure 112005056321815-pat00017
그리고
Figure 112005056321815-pat00018
를 계산하여
Figure 112005056321815-pat00019
를 V에게 전송한다.Meanwhile, an ID-based key exchange method according to the present invention in which the client U and the server V generate a session key will be described. 6 is a flowchart illustrating an ID-based key exchange method according to the present invention. Referring to Figure 6, the client U is
Figure 112005056321815-pat00016
Compute t u = g a and Qv = Ppub + q v P by selecting the random number a∈Zq * . Then U is
Figure 112005056321815-pat00017
And
Figure 112005056321815-pat00018
By calculating
Figure 112005056321815-pat00019
Is sent to V.

서버 V는 qu= H(IDu)와 QU = Ppub + quP를 계산한 후, tu=ga와 c=e(X,Sv)를 전송받은 메시지와 자신의 비밀키 Sv를 이용하여 계산한다. 또한 h=H1(tu)를 계산하여 c = tugh 임을 확인한다. 만약 식이 성립하지 않으면 V는 실패를 출력하고, 식이 성 립하면 난수 tv∈ Zq*를 선택하여 인증 메시지

Figure 112005056321815-pat00020
를 계산한 후, z와 tv를 U에게 전송한다. 결국 서버 V는 세션키로
Figure 112005056321815-pat00021
를 계산한다. Server V calculates q u = H (ID u ) and Q U = P pub + q u P, and then receives the message t u = g a and c = e (X, Sv) and its private key S Calculate using v We also determine that c = t u g h by calculating h = H 1 (t u ). If the expression does not hold, V outputs a failure, and if the expression holds, select the random number t v ∈ Zq * to send an authentication message.
Figure 112005056321815-pat00020
Then compute z and t v to U. Eventually, Server V is the session key
Figure 112005056321815-pat00021
Calculate

클라이언트 U는

Figure 112005056321815-pat00022
을 tu와 tv를 이용하여 계산한 후, z=z'임을 확인한다. 만약 식이 성립하지 않으면 U는 실패를 출력하고, 식이 성립하면 세션키
Figure 112005056321815-pat00023
를 계산한다.Client u
Figure 112005056321815-pat00022
Is calculated using t u and t v , and it is confirmed that z = z '. If the expression does not hold, U prints a failure, and if the expression holds, the session key
Figure 112005056321815-pat00023
Calculate

위의 프로토콜에서 클라이언트 U는 tu와 Y를 사전에 계산할 수 있다. 그러면 온-라인 상에서 U는 한번의 포인트 덧셈과 두 번의 스칼라 곱셈만을 계산하면 된다. 더구나 해쉬함수 H는 계산량이 많은 Map-To-Point 연산이 아니라 일반적인 해쉬함수이기 때문에 계산량은 매우 적다고 할 수 있다.In the above protocol, client U can calculate t u and Y in advance. Then on-line U needs to calculate only one point addition and two scalar multiplications. In addition, since the hash function H is a general hash function rather than a large computational Map-To-Point operation, the calculation amount is very small.

이를 보다 상세히 설명하면 다음과 같다. 먼저, 위수가 소수 q인 gap DiffieHellman 그룹, 예를 들어 위수가 q인 덧셈그룹(G1)의 생성자를 P, 키생성센터(KGC)의 마스터 비밀키를 s, 상기 s와 P의 곱을 Ppub(= sP), 상기 P의 pairing 연산값을 g(=e(P,P)), 클라이언트 및 서버의 ID를 각각 IDu 및 IDv, 키생성센터로부터 받은 클라이언트 및 서버의 비밀키를 각각 Su 및 Sv 라 하자.This will be described in more detail as follows. First, the constructor of the gap DiffieHellman group having a prime number q, for example, the addition group G1 having a prime q, is P, the master secret key of the key generation center (KGC) is s, and the product of s and P is P pub ( = sP), the P of the pairing computation value of g (= e (P, P )), the ID of the client and server each ID u and ID v, the private key of the client and the server received from the key generation center, each S u And S v .

(a) 클라이언트가 IDu, X 및 Y를 서버에게 전달한다. 여기서, 상기 X 및 Y 의 생성은 다음과 같이 이루어진다. 위수가 q인 곱셈그룹 Zq*로부터 임의의 값 a를 선택한다. 그 다음에 상기 IDV 의 해쉬함수 값 qv(= H(IDV))를 생성하고, 상기 Ppub 와 qvP를 합하여 Qv(= Ppub + qvP)를 생성하고, 상기 g의 a 멱승을 취하여 tu(= ga)를 생성하고, 상기 tu의 해쉬함수 값 h(=H1(tu))를 생성한다. 그리고 나서 상기 a와 Qv의 곱을 계산하여 X(=aQV)를 생성하고, 상기 a와 h의 합에 SU 를 곱하여 Y(=(a+h)SU)를 생성한다.(a) The client passes the ID u , X and Y to the server. Here, the generation of X and Y is performed as follows. Selects a random value a from multiplication group Zq * whose rank is q. Then generating a hash function value q v (= H (ID V )) of the ID V, and the combined the P pub and q v P generate Qv (= P pub + q v P), and the g by taking a a power generation of t u (g = a), and generates a hash functional value of the t u h (= H 1 ( t u)). And then it generates a Y (= (a + h) S U) generate the X (= aQ V) by calculating a product of the Q and v, and U is multiplied by S to the sum of the a and h.

(b) 서버는 상기 IDu, X 및 Y를 받아 클라이언트를 인증하고, 인증이 되면 z 및 tv를 생성하여 클라이언트에게 전달하고 세션키(sk)를 생성한다. 여기서, 상기 클라이언트 인증은 다음과 같이 이루어진다. 상기 IDU 의 해쉬함수 값 qu(= H(IDU))를 생성하고, 상기 Ppub 를 qu와 P의 곱(quP)과 합하여 QU(= Ppub + quP)를 생성하고, 클라이언트로부터 받은 X와 SV의 pairing 연산하여 tu(= e(X, SV))를 생성하고, 클라이언트로부터 받은 Y와 상기 QU 를 pairing 연산하여 c(= e(Y, QU))를 생성한다. 그 다음에 상기 tu 의 해쉬함수 값 h(=H1(tu))을 생성하여, 상기 tu와 g의 h 멱승(gh)을 곱한 값(tugh)을 생성한다. 그리고 나서 상기 c = tugh를 만족하면 유효한 클라이언트로 인증한다. 그리고 상기 tv는, 서버가 위수가 q인 곱셈그룹 Zq*로부터 임의로 선택함에 의해 생성된다. 상기 z 및 세션키(sk)의 생성은, 상기 클라이언트가 유효한 클라이언트로 인증되면, z = H2(tu, tv, X, Y, IDu, IDv), sk = H3(tu, tv, X, Y, IDu, IDv)에 의해 이루어진다. (b) The server receives the IDs u , X and Y to authenticate the client, and if authenticated, generates a z and t v to be delivered to the client and generates a session key sk. Here, the client authentication is performed as follows. Hash function value of the ID U q u (= H ( ID U)) generated, and the product of the P pub q u and P (q u P) Q U (= P pub + q u P) combined with the a Generate t u (= e (X, S V )) by pairing the X and S V received from the client, and c (= e (Y, Q) by pairing the Y and Q U received from the client. U )) Then to produce the hash function value of t u h (= H 1 ( t u)), and generates a value (t u g h) multiplied by the exponential h (h g) of the t u and g. Then, if c = t u g h is satisfied, a valid client is authenticated. And t v is generated by the server arbitrarily selecting from the multiplication group Zq * of order q. The generation of z and the session key sk is such that if the client is authenticated as a valid client, z = H 2 (t u , t v , X, Y, ID u , ID v ), sk = H 3 (t u , t v , X, Y, ID u , ID v ).

(c) 클라이언트는 서버로부터 z, tv를 받아 서버를 인증하고, 유효한 서버로 인증되면 상기 서버의 세션키와 동일한 세션키를 생성한다. 여기서, 상기 서버 인증은 다음과 같이 이루어진다. 먼저, IDU, IDV, 클라이언트가 생성한 tu, X, Y, 상기 서버로부터 받은 tv를 해쉬함수한 값 z'(= H2(tu,tv,X,Y,IDU, IDV)를 생성한다. 그 다음에 상기 z'가 z와 일치(z'= z)하는지 체크한다. 상기 세션키(sk)는, 상기 서버가 유효한 서버로 인증되면, sk = H3(tu, tv, X, Y, IDu, IDv)에 의해 생성된다.(c) The client receives z and t v from the server and authenticates the server. If the client authenticates as a valid server, the client generates the same session key as the session key of the server. Here, the server authentication is performed as follows. First, ID U , ID V , a hash function of t u , X, Y generated by the client, and t v received from the server z '(= H 2 (t u , t v , X, Y, ID U , ID V ), then check that z 'matches z (z' = z) The session key sk is sk = H 3 (t if the server is authenticated as a valid server). u , t v , X, Y, ID u , ID v ).

본 발명은 절반의 전방향 안전성을 제공한다. 만약 서버의 비밀키가 유출되면 공격자는 전송 메시지로부터 모든 세션키를 계산할 수 있지만, 클라이언트의 비밀키가 유출되면 이를 이용하는 공격자는 이전 세션키들에 관한 어떠한 정보도 얻을 수 없게 된다. 일반적으로 모바일 클라이언트는 낮은 파워를 가진 장치이기 때문에 서버에 비하여 공격에 취약하게 된다. 따라서 서버보다 클라이언트에서의 전방향 안전성의 제공이 더욱 효과적이라 할 수 있을 것이다.The present invention provides half omnidirectional safety. If the server's private key is leaked, the attacker can calculate all the session keys from the transmitted message, but if the client's private key is leaked, the attacker using it will not get any information about the previous session keys. In general, mobile clients are low power devices, which makes them more vulnerable to attack than servers. Therefore, the provision of omnidirectional security at the client is more effective than the server.

본 발명의 안전성을 분석하면 다음과 같다. 본 발명의 안전성 분석을 위해 ID-AKA에서 클라이언트의 전송 메시지를 위조하는 공격자를 Forger라 하자. 먼저 주어진 IDu와IDv 로부터 클라이언트의 전송 메시지의 위조가 불가능함을 보인다.Analysis of the safety of the present invention is as follows. Forger is an attacker forging a client's message in ID-AKA for security analysis. First, it shows that forgery of the client's transmission message from ID u and ID v is impossible.

보조정리 1. 해쉬함수 H와 H1을 랜덤 오라클이라 하고 Forger A를 IDu와 IDv가 주어지고 러닝(running) 타임 t0와 ε0의 성공확률을 가진 위조자라 가정하자. A는 각각

Figure 112005056321815-pat00024
그리고 qE 개의 H, H1, 전송 그리고 추출질의를 한다고 하자. 만약
Figure 112005056321815-pat00025
라 하면 러닝 타임이
Figure 112005056321815-pat00026
인 k-CAA문제를 계산하는 공격자 B가 존재한다. Theorem Theorem 1. Assume that the hash functions H and H 1 are random Oracles, and Forger A is a forger with ID u and ID v and a probability of success with running times t 0 and ε 0 . A is each
Figure 112005056321815-pat00024
And q E H, H 1 , transmission and extraction query. if
Figure 112005056321815-pat00025
Speaking of running time
Figure 112005056321815-pat00026
There is an attacker B who computes the k-CAA problem.

(증명) 먼저 B에게

Figure 112005056321815-pat00027
인 k-CAA 문제의 입력값
Figure 112005056321815-pat00028
이 주어진다. B의 목적은 임의의 q0에 대하여
Figure 112005056321815-pat00029
를 계산하는 것이다. B는 A를 이용하기 위해 A의 공격 환경을 시뮬레이션해 준다. 먼저 B는 GDH 파라미터
Figure 112005056321815-pat00030
를 생성하고 Ppub=sP와 g=e(P,P)를 계산하여 시스템 파라미터
Figure 112005056321815-pat00031
를 A에게 입력한다.(Proof) First to B
Figure 112005056321815-pat00027
For k-CAA problems
Figure 112005056321815-pat00028
Is given. The purpose of B is for any q 0
Figure 112005056321815-pat00029
Will be calculated. B simulates A's attack environment to use A. B is the GDH parameter
Figure 112005056321815-pat00030
Create a system parameter by calculating Ppub = sP and g = e (P, P)
Figure 112005056321815-pat00031
Enter to A.

일반성을 잃지 않고, 주어진 ID에 대하여 A는 H, H1, 전송 그리고 추출질의를 한번만 하며, 전송과 추출질의 사전에 질의를 수행한다고 가정하자. 충돌을 방지하고 질의에 대한 일관성 있는 응답을 위해 B는 목록 LH과 LH1을 유지한다. 이 목록들은 초기에 비어있다. B는 A의 질의에 대하여 다음과 같이 응답한다.Without loss of generality, assume that for a given ID, A only performs H, H 1 , transmission, and extract query once, and performs a query before transmission and extract. To avoid conflicts and to ensure consistent responses to queries, B maintains lists L H and L H1 . These lists are initially empty. B responds to A's query as follows:

H-질의. A가 IDi에 대한 H-질의를 했을 때, 만약 IDi = IDV이면 B는 q0를 전송하고, 그 외의 경우에는 <IDi,qi> 를 목록 LH에 추가하고 qi를 전송한다.H -question. When A is when the H- query to the ID i, if i = ID If ID is V B is other than transmitting the q 0, that is, add the <ID i, q i> L H in the list and sends the q i do.

H1 -질의. A가 m에 대한 H1-질의를 했을 때, B는 난수 h를 전송하고 이를 목록 LH1에 추가한다.H 1 -question. When A has H 1 -queried for m, B sends a random number h and adds it to the list L H1 .

전송-질의. A가 전송(

Figure 112005056321815-pat00032
) 질의를 했을 때, 만약 IDi = IDU이면 B는 난수 a와 h를 선택하여 X=a(sP+q0P)와 Y=hP를 계산한 후, IDu(X,Y)를 A에게 전송한다. 그 외의 경우 B는 목록 LH에서 <IDi, qi>를 찾은 후, 난수 a와 h를 선택하고 X=a(sP+q0P)와 Y=(a+h)(qi+s)-1P를 계산하여 IDu(X,Y)를 A에게 전송한다. 만약 A의 전송 질의가 IDi=IDu이면 B는 정당한 Y값을 생성할 수 없기 때문에 임의의 Y값을 전송하게 된다. 그러나 A는 서버의 비밀키 Sv를 알지 못하기 때문에 전송받은 (X,Y)에 대한 정당성을 확인할 수 없다. 따라서 전송 질의에 대한 B의 시뮬레이션은 타당하다. Transport-query. A is sent (
Figure 112005056321815-pat00032
In the query, if ID i = ID U, B selects random numbers a and h, calculates X = a (sP + q 0 P) and Y = hP, and sets ID u (X, Y) to A. Send to. Otherwise, B finds <ID i , q i > from list L H , selects random numbers a and h, and X = a (sP + q 0 P) and Y = (a + h) (q i + s ) -1 P is calculated and ID u (X, Y) is sent to A. If A's transmission query is ID i = ID u, B will not be able to generate a valid Y value. However, since A does not know the server's secret key S v , it cannot verify the validity of the received (X, Y). Therefore, the simulation of B for the transmission query is valid.

추출-질의. A가

Figure 112005056321815-pat00033
에 대한 추출 질의를 했을 때, B는 목록 LH에서 <IDi, qi>를 찾은 후, (s+qi)-1P를 전송한다. Extract-Query. A
Figure 112005056321815-pat00033
When B extracts the query, B finds <ID i , q i > in the list L H , and sends (s + q i ) -1 P.

마침내 A는 새로운 정당한 메시지 IDu(X,Y)를 출력하게 된다. B는 forking lemma 와 같이 위의 H1과 다른 해쉬함수 H'1를 사용하여 동일하게 시뮬레이션 하면 결국 A 는 h≠h'인 서로 다른 정당한 두 메시지 쌍

Figure 112005056321815-pat00034
Figure 112005056321815-pat00035
을 출력하게 된다. 그러면 B는
Figure 112005056321815-pat00036
를 계산한 후 이를 k-CAA 문제의 결과로 출력한다.Finally, A prints a new legitimate message ID u (X, Y). B simulates the same using H 1 and a different hash function H ' 1 , like forking lemma, so A pairs two different legitimate messages where A is h ≠ h'
Figure 112005056321815-pat00034
Wow
Figure 112005056321815-pat00035
Will print B is then
Figure 112005056321815-pat00036
Calculate and output it as the result of the k-CAA problem.

B가 h와 h'을 정확히 추측할 확률은 1/q2 H1이며, 전체 러닝 타임 t1은 forking lemma에 요구된 러닝 타임과 동일한

Figure 112005056321815-pat00037
에 유계하게 된다.The probability that B correctly guesses h and h 'is 1 / q 2 H1 and the total running time t 1 is equal to the running time required for the forking lemma.
Figure 112005056321815-pat00037
Will be bound to

정 리 2. 제안된 ID-AKA에 사용된 해쉬함수를 랜덤 오라클이라 하고 IDU와 IDV가 주어지고 러닝(running) 타임 t인 ID-AKA 공격자 A가 존재한다고 가정하자. 그러면 ID-AKA는 k-mBIDH 문제의 어려움에 기반하여 절반의 전방향 안전성을 제공하는 안전한 AKA 프로토콜이다. 즉, Theorem 2. Suppose that the hash function used in the proposed ID-AKA is called random Oracle, and that ID-AKA attacker A is given with ID U and ID V and running time t. ID-AKA is then a secure AKA protocol that provides half omnidirectional safety based on the difficulty of the k-mBIDH problem. In other words,

Figure 112005056321815-pat00038
Figure 112005056321815-pat00038

여기서 AdvForge(t)는 러닝 타임이 t인 임의의 Forger의 최대 이점이며,

Figure 112005056321815-pat00039
는 공격자 A가 생성하는 전송, 손상 그리고 해쉬 Hi 질의의 개수를 나타낸다.Where Adv Forge (t) is the maximum benefit of any Forger with t running time,
Figure 112005056321815-pat00039
Represents the number of transmission, corruption, and hash Hi queries generated by attacker A.

(증명) A를 ID-AKA를 공격하는 능동적인(active) 공격자라 하자. 그러면 A는 두 가 지 경우에 의한 공격을 시도할 수 있다. 첫 번째는 인증 메시지들의 위조. 즉, 클라이언트로의 가장 공격을 시도하거나. 두 번째는 전송 메시지의 위조나 변조하지 않고 도청만 하여 공격하는 경우이다. 공격자가 서버의 전송 메시지를 위조하는 것, 즉, 서버로 가장하는 공격은 결국 z값을 위조해야만 하고 이는 클라이언트의 비밀 정보인 tu값을 모르고서는 성공할 수 없다. 그러나 해쉬함수 H2의 일방향성에 의해 z값의 위조는 불가능하다. 따라서 공격자 A의 공격은 위의 두 가지 경우로 제한된다.(Proof) Let A be an active attacker attacking ID-AKA. A can then attempt to attack in two cases. The first is forgery of authentication messages. In other words, try the most attack as a client. The second is to attack by eavesdropping without forging or tampering with the transmitted message. An attacker forging a server's outgoing message, that is, an attack impersonating the server, must eventually forge a value of z, which cannot succeed without knowing the client's secret value t u . However, forgery of z-values is impossible due to the unidirectionality of the hash function H 2 . Therefore, attacker A's attack is limited to the above two cases.

먼저 A가 첫 번째 경우의 공격을 시도한다면 A를 이용하여 정당한 메시지 쌍 IDV(X,Y)을 위조하는 Forger F를 구성할 수 있다. 이는 F가 시스템에 필요한 모든 공개키와 비밀키를 올바르게 생성한 후, A의 질의에 대해 시뮬레이션 해줌으로써 쉽게 구성할 수 있다. Forger를 A가 새로운 정당한 메시지 쌍을 생성하는 사건이라 하면 F가 성공할 확률은

Figure 112005056321815-pat00040
가 된다. 보조정리 1.에 의하여 확률 PrA[Forge]은 무시할 만한 값이다.First, if A attempts to attack in the first case, A can be used to construct a Forger F that forges a legitimate message pair ID V (X, Y). This can be easily configured by correctly generating all the public and private keys necessary for the system and then simulating A's queries. If Forger is an event in which A creates a new legitimate message pair, the probability that F will succeed
Figure 112005056321815-pat00040
Becomes By auxiliary theorem 1. The probability Pr A [Forge] is a negligible value.

다음으로 A가 두 번째 경우의 공격을 시도할 때를 고려해보자. 세션키 sk의 정보를 얻기 위해서 A는 해쉬 오라클 H3

Figure 112005056321815-pat00041
를 질의해야만 한다. 따라서 A는 비밀 정보인 tu를 계산해야만 한다. 그러므로 A를 이용하여 k-mBIDH 문제를 계산하는 공격자 B를 다음과 같이 구성할 수 있다. 먼저 B에게
Figure 112005056321815-pat00042
인 k- mBIDH 문제의 입력값
Figure 112005056321815-pat00043
이 주어진다. B의 목적은
Figure 112005056321815-pat00044
를 계산하는 것이다. B는 A를 이용하기 위해 A의 공격 환경을 시뮬레이션 해 준다. 먼저 B는 GDH 파라미터 <e,G1,G2>를 생성하고 Ppub=sP와 g=e(P,P)를 계산하여 시스템 파라미터
Figure 112005056321815-pat00045
를 A에게 입력한다. A의 이점을 활용하기 위해 B는 임의의
Figure 112005056321815-pat00046
를 선택한다.
Figure 112005056321815-pat00047
는 A가
Figure 112005056321815-pat00048
번째 세션에 테스트 질의를 하는 것을 추측하기 위한 값이다.Next, consider when A attempts to attack in the second case. A hash is the Oracle H 3 to obtain the information from the session key sk
Figure 112005056321815-pat00041
You must query Therefore, A must calculate the secret information t u . Therefore, attacker B, which computes k-mBIDH problem using A, can be constructed as follows. To B first
Figure 112005056321815-pat00042
K- mBIDH Problem Input
Figure 112005056321815-pat00043
Is given. The purpose of B
Figure 112005056321815-pat00044
Will be calculated. B simulates A's attack environment to use A. First, B generates the GDH parameters <e, G 1 , G 2 > and calculates the system parameters by calculating Ppub = sP and g = e (P, P).
Figure 112005056321815-pat00045
Enter to A. To take advantage of A, B is random
Figure 112005056321815-pat00046
Select.
Figure 112005056321815-pat00047
Has a
Figure 112005056321815-pat00048
The value to guess the test query in the first session.

일반성을 잃지 않고, A는 동일한 메시지에 대해서는 한번만 질의 하며, 전송과 추출질의 사전에 H질의를 수행한다고 가정하자. 충돌을 방지하고 질의에 대한 일관성 있는 응답을 위해 B는 목록 LH, LH1와 LH2을 유지한다. 이 목록들은 초기에 비어있다. B는 A의 질의에 대하여 다음과 같이 응답한다.Without loss of generality, suppose A queries the same message only once, and performs an H query before transmission and extraction. To avoid conflicts and to ensure consistent responses to queries, B maintains lists L H , L H1, and L H2 . These lists are initially empty. B responds to A's query as follows:

H-질의. A가 IDi에 대한 H-질의를 했을 때, 만약 IDi=IDv이면 B는q0 를 전송하고, 그 외의 경우에는 <IDi, qi >를 목록 LH에 추가하고 qi를 전송한다.H -question. When A makes an H-query against ID i , if ID i = ID v, B sends q 0 , otherwise adds <ID i , q i > to list L H and sends q i do.

H1 -질의. A가 목록 LH1에 기록된 (m,h)와 동일한 메시지 m에 대한 H1-질의를 하면 B는 h를 전송한다. 그 외의 경우에 B는 난수 h를 전송하고 (m,h)을 LH1에 추가한다.H 1 -question. If A has a H 1 -query for message m equal to (m, h) recorded in the list L H1 , then B sends h. Otherwise, B sends a random number h and adds (m, h) to L H1 .

H2 -질의. A가 H2-질의를 했을 때,

Figure 112005056321815-pat00049
는 목록에서
Figure 112005056321815-pat00050
를 찾아서 z를 A에게 전송한다.H 2 -question. When A asks H 2-
Figure 112005056321815-pat00049
In the list
Figure 112005056321815-pat00050
Find and send z to A.

H3 -질의. A가 메시지 m에 대한 H3-질의를 하면 B는 임의의 난수를 A에게 전송한다.H 3 -question. If A queries H 3 -for message m, B sends a random number to A.

전송-질의. 전송 질의는 클라이언트에서 서버로 그리고 서버에서 클라이언트로의 두 가지 전송 질의를 고려한다. 클라이언트에서 서버로의 질의는 전송S, 서버에서 클라이언트로의 질의는 전송C라 표기한다. Transport-query. The transfer query considers two transfer queries from client to server and from server to client. The query from the client to the server is called S, and the query from the server to the client is called C.

A가 전송

Figure 112005056321815-pat00051
질의를 했을 때, 만약 이 질의가
Figure 112005056321815-pat00052
번째 세션에 대한 요청이면, B는 난수
Figure 112005056321815-pat00053
을 선택하고, X=tP와 Y=
Figure 112005056321815-pat00054
P를 계산한 후, IDV (X,Y)를 A에게 전송한다. 그 외의 경우 B는 목록 LH에서
Figure 112005056321815-pat00055
를 찾은 후, 난수
Figure 112005056321815-pat00056
와 h를 선택하고
Figure 112005056321815-pat00057
그리고
Figure 112005056321815-pat00058
를 계산하여 tu와 h는 목록 LH1에 추가하고 IDV(X,Y)를 에게 전송한다.A send
Figure 112005056321815-pat00051
When you make a query, if this query
Figure 112005056321815-pat00052
If the request is for the first session, B is a random number
Figure 112005056321815-pat00053
, Select X = tP and Y =
Figure 112005056321815-pat00054
After calculating P, ID V (X, Y) is sent to A. Otherwise B is in list L H
Figure 112005056321815-pat00055
After finding, random number
Figure 112005056321815-pat00056
And h
Figure 112005056321815-pat00057
And
Figure 112005056321815-pat00058
T u and h are added to the list L H1 and the ID V (X, Y) is sent to.

A가 전송

Figure 112005056321815-pat00059
질의를 했을 때, B는 난수 z와 tv를 선택하고 이를 A에게 전송한 후
Figure 112005056321815-pat00060
를 목록 LH2에 추가한다.A send
Figure 112005056321815-pat00059
When querying, B chooses a random number z and t v and sends it to A.
Figure 112005056321815-pat00060
To the list L H2 .

실행-질의. A가 실행(U,V) 질의를 했을 때, B는 전송 질의의 시뮬레이션을 이용하여 메시지

Figure 112005056321815-pat00061
를 A에게 전송한다. Run-inquiry. When A makes a run (U, V) query, B uses a simulation of the transfer query to
Figure 112005056321815-pat00061
Is sent to A.

추출-질의. A가

Figure 112005056321815-pat00062
에 대한 추출 질의를 했을 때, B는 목록LH에서
Figure 112005056321815-pat00063
를 찾은 후,
Figure 112005056321815-pat00064
를 전송한다. Extract-Query. A
Figure 112005056321815-pat00062
When an extract query is made for, B is from list L H
Figure 112005056321815-pat00063
After finding
Figure 112005056321815-pat00064
Send it.

손상-질의. A가 IDV에 대한 손상 질의를 했을 때, B는 목록 LH 에서

Figure 112005056321815-pat00065
를 찾은 후,
Figure 112005056321815-pat00066
를 전송한다. Damage-quality. When A makes a damage query for ID V , B is in list L H
Figure 112005056321815-pat00065
After finding
Figure 112005056321815-pat00066
Send it.

유출-질의. A가 유출 질의를 했을 때, B는 난수를 A에게 전송한다. Outflow-question. When A makes a leak query, B sends a random number to A.

테스트-질의. A가 테스트 질의를 했을 때, 만약 그 질의가

Figure 112005056321815-pat00067
번째 세션에 대한 질의이면 B는 실패를 출력하고, 그 외의 경우에는 임의의 비트 b를 선택한다. 만약 b=1이면 세션키를 아니면 난수를 A에게 전송한다. Test-question. When A makes a test query, if that query
Figure 112005056321815-pat00067
If the query is for the first session, B outputs a failure; otherwise, selects a random bit b. If b = 1, the session key is sent or A is sent to A.

B의 성공 확률은 B가

Figure 112005056321815-pat00068
를 정확히 추측한 사건과 A가 비밀 값
Figure 112005056321815-pat00069
를 해쉬 오라클에 질의한 사건에 의존한다. 위의 시뮬레이션에서 B가
Figure 112005056321815-pat00070
를 정확히 추측할 확률은
Figure 112005056321815-pat00071
이고, A의 이점이
Figure 112005056321815-pat00072
이라면 A가 비밀 값 tu를 H1 해쉬 오라클에 질의할 확률은
Figure 112005056321815-pat00073
이 된다. 따라서 B가
Figure 112005056321815-pat00074
를 정확히 추측하였다면 tu
Figure 112005056321815-pat00075
의 확률로 목록 LH1에 존재하게 된다. 그러므로 B는 k-mBIDH 문제를 적어도 확률
Figure 112005056321815-pat00076
로 계산할 수 있게 된다. 결국 증명의 처음부분에서 언급한 두 번째 사건에 대한 A의 이점은 최대
Figure 112005056321815-pat00077
만큼의 이점을 가지게 된다. 마침내 우리는 위의 증명의 결과로 아래와 같은 식을 얻을 수 있다.B's probability of success is
Figure 112005056321815-pat00068
The exact guess and A's secret value
Figure 112005056321815-pat00069
Depends on the event that queried the hash Oracle. In the above simulation, B
Figure 112005056321815-pat00070
The probability of guessing exactly
Figure 112005056321815-pat00071
And the advantage of A is
Figure 112005056321815-pat00072
If the probability that A will query the private value t to u H 1 hash Oracle
Figure 112005056321815-pat00073
Becomes So B is
Figure 112005056321815-pat00074
If u correctly guess t u is
Figure 112005056321815-pat00075
Has a probability of being in the list L H1 . Therefore B is at least a probability of k-mBIDH problem
Figure 112005056321815-pat00076
Can be calculated as After all, the benefit of A for the second case mentioned at the beginning of the
Figure 112005056321815-pat00077
You will have as many advantages. Finally, we can obtain the following equation as a result of the above proof.

Figure 112005056321815-pat00078
Figure 112005056321815-pat00078

본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. The present invention can be embodied as code that can be read by a computer (including all devices having an information processing function) in a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다. Although the present invention has been described with reference to the embodiments shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

본 발명에 의한 ID-기반 키교환 방법 및 장치에 의하면, 컴퓨팅 파워가 다른 두 사용자(서버, 클라이언트) 사이의 효율적인 ID-기반의 인증된 키 교환을 할 수 있다. 특히 클라이언트 측의 계산량을 줄임으로써 낮은 파워를 가진 모바일 장치에 적합하다. 본 발명의 안전성은 랜덤 오라클 모델에서의 k-CAA와 k-mBIDH 문제의 어려움에 기반한다. The ID-based key exchange method and apparatus according to the present invention enables efficient ID-based authenticated key exchange between two users (servers and clients) having different computing power. It is especially suitable for mobile devices with low power by reducing the amount of computation on the client side. The safety of the present invention is based on the difficulty of k-CAA and k-mBIDH problems in the random Oracle model.

Bilinear map을 이용한 ID-기반 시스템은 Weil/Tate pairing 연산과 ID를 표현한 수를 타원곡선(elliptic) 위의 한 점으로 변환시키는 Map-To-Point 연산과 같 은 계산량이 많은 복잡한 연산을 필요로 한다. 따라서 이러한 복잡한 연산 특히 pairing 연산을 줄이기 위하여 많은 연구가 되어 왔음에도 불구하고 여전히 pairing 연산은 타원곡선에서의 스칼라 곱에 비하여 계산량이 훨씬 많기 때문에 여전히 기존에 제안된 ID-기반의 키교환 기법은 저전력 모바일 장치에 사용하기엔 적합하지 않았다. 이렇게 대부분의 ID-기반의 AKA는 클라이언트 측의 무거운 계산량을 수행할 수 있는 유선 네트워크 환경에 기반하고 있다.ID-based systems using bilinear maps require complex computations, such as Weil / Tate pairing operations and Map-To-Point operations, which convert ID numbers into points on an elliptic curve. . Therefore, even though much research has been conducted to reduce such complex operations, especially pairing operations, the ID-based key exchange schemes proposed by the existing ID-based key exchange schemes are still very low compared to scalar products. Not suitable for use with the device. Most ID-based AKAs are based on a wired network environment capable of performing heavy computations on the client side.

본 발명에 의한 ID-기반 AKA 역시 bilinear map을 사용한다. 그러나 다음과 같은 특징이 있다. 첫 번째, 클라이언트 측에서의 복잡한 pairing 연산과 Map-To-Point 연산을 사용하지 않았다. 두 번째, 오프라인 사전 계산을 사용하면 온-라인 상에서 클라이언트는 단지 타원곡선에서 두 번의 스칼라 곱과 한 번의 덧셈만 수행하면 된다. ID-based AKA according to the present invention also uses a bilinear map. However, it has the following features. First, we didn't use complex pairing and Map-To-Point operations on the client side. Second, using offline precomputation, on-line clients only need to perform two scalar products and one addition on an elliptic curve.

본 발명은 키 교환과 지정된 확인자(서버)만이 주어진 메시지의 검증과 복호화를 할 수 있는 authenticryption의 개념을 이용한다.The present invention takes advantage of the concept of authenticity, where only key exchange and designated verifiers (servers) can verify and decrypt a given message.

본 발명은 서버의 고정된 비밀키가 노출되면 이전의 세션키가 폭로되지만, 클라이언트의 고정된 비밀키가 노출되어도 이전의 세션키가 안전한 절반의 전방향 안전성(half forward secrecy)을 제공한다. 또한 서로 다른 도메인 영역의 사용자들끼리의 키 교환, 즉 클라이언트는 자신과 다른 도메인 영역의 서버와도 안전한 채널을 형성할 수 있다. 더욱이 본 발명에 의한 프로토콜은 하나의 서버를 중심으로 여러 클라이언트가 안전한 채널을 형성할 수 있는 ID-기반의 인증된 그룹 키 교환으로의 확장이 가능하다.The present invention provides a half forward secrecy where the previous session key is exposed when the server's fixed secret key is exposed, but the previous session key is secure even when the client's fixed private key is exposed. In addition, key exchange between users in different domain areas, i.e., a client, can establish a secure channel with itself and with servers in other domain areas. Moreover, the protocol according to the present invention can be extended to an ID-based authenticated group key exchange where multiple clients can form a secure channel around a single server.

Claims (9)

위수가 소수 q인 gap DiffieHellman 그룹의 생성자를 P, 키생성센터(KGC)의 마스터 비밀키를 s, 상기 s와 P의 곱을 Ppub(= sP), 상기 P의 pairing 연산값을 g(=e(P,P)), 클라이언트 및 서버의 ID를 각각 IDu 및 IDv, 키생성센터로부터 받은 클라이언트 및 서버의 비밀키를 각각 Su 및 Sv 라 할 때,The generator of the gap DiffieHellman group whose prime is q is P, the master secret key of the Key Generation Center (KGC) is s, the product of s and P is P pub (= sP), and the pairing operation of P is g (= e when La (P, P)), the client and the server ID of each ID u and ID v, the secret key of the client and the server receives from the key generation center each S u and S v, (a) 클라이언트가 IDu, X 및 Y를 서버에게 전달하는 단계;(a) the client passing the IDs u , X and Y to the server; (b) 서버는 상기 IDu, X 및 Y를 받아 클라이언트를 인증하고, 인증이 되면 z 및 tv를 생성하여 클라이언트에게 전달하고 세션키(sk)를 생성하는 단계;(b) the server receiving the IDs u , X and Y to authenticate the client, and if authenticated, generate the z and t v to be delivered to the client and generate a session key (sk); (c) 클라이언트는 서버로부터 z, tv를 받아 서버를 인증하고, 유효한 서버로 인증되면 상기 서버의 세션키와 동일한 세션키를 생성하는 단계를 포함함을 특징으로 하고,(c) the client receives z, t v from the server and authenticates the server, and if the client is authenticated as a valid server, generating a session key identical to the session key of the server, 상기 (a)단계의 X 및 Y의 생성은 Generation of X and Y in step (a) 위수가 q인 곱셈그룹 Zq*로부터 임의의 값 a를 선택하는 단계;Selecting an arbitrary value a from the multiplication group Zq * whose rank is q; 상기 IDV 의 해쉬함수 값 qv(= H(IDV))를 생성하고, 상기 Ppub 와 qvP를 합하여 Qv(= Ppub + qvP)를 생성하고, 상기 g의 a 멱승을 취하여 tu(= ga)를 생성하고, 상기 tu의 해쉬함수 값 h(=H1(tu))를 생성하는 단계; 및Generating a hash function value q v (= H (ID V )) of the ID V and generating a Q v (= P pub + q v P) combined for the P pub and q v P, and the g a exponentiation a taking step of generating a t u (= g a) and generating a hash function value of the t u h (= H 1 ( t u)); And 상기 a와 Qv의 곱을 계산하여 X(=aQV)를 생성하고, 상기 a와 h의 합에 SU 를 곱하여 Y(=(a+h)SU)를 생성하는 단계를 포함하여 이루어지며,Be made by generating a X (= aQ V) by calculating a product of the a and Q v and generates a Y (= (a + h) S U) is multiplied by S U to the sum of the a and h , 상기 (b)단계의 클라이언트 인증은Client authentication of step (b) 상기 IDU 의 해쉬함수 값 qu(= H(IDU))를 생성하고, 상기 Ppub 를 qu와 P의 곱(qUP)과 합하여 QU(= Ppub + qUP)를 생성하고, 클라이언트로부터 받은 X와 SV의 pairing 연산하여 tu(= e(X, SV))를 생성하고, 클라이언트로부터 받은 Y와 상기 QU 를 pairing 연산하여 c(= e(Y, QU))를 생성하는 단계;Hash function value of the ID U q u (= H ( ID U)) generated, and the product of the P pub q u and P (q U P) Q U (= P pub + q U P) combined with the a Generate tu (= e (X, S V )) by pairing the X and S V received from the client, and c (= e (Y, Q U) by pairing the Y and Q U received from the client. Generating)); 상기 tu 의 해쉬함수 값 h(=H1(tu))을 생성하여, 상기 tu와 g의 h 멱승(gh)을 곱한 값(tugh)을 생성하는 단계; 및A step of generating a hash function value of the t u h (= H 1 ( t u)), generating a value (t u g h) multiplied by the exponential h (h g) of the t and u g; And 상기 c = tugh를 만족하면 유효한 클라이언트로 인증하는 단계를 포함하여 이루어지며,If c = t u g h is satisfied, including a step of authenticating to a valid client, 상기 (b)단계의 tv는, 서버가 위수가 q인 곱셈그룹 Zq*로부터 임의로 선택함에 의해 생성되며,T v in step (b) is generated by the server randomly selecting from the multiplication group Zq * of order q, 상기 (b)단계의 z 및 세션키(sk)의 생성은, 상기 클라이언트가 유효한 클라 이언트로 인증되면, z = H2(tu, tv, X, Y, IDu, IDv), sk = H3(tu, tv, X, Y, IDu, IDv)에 의해 이루어지며,Generation of the z and session key (sk) in step (b), z = H 2 (t u , t v , X, Y, ID u , ID v ), sk if the client is authenticated as a valid client = H 3 (t u , t v , X, Y, ID u , ID v ), 상기 (c)단계의 서버 인증은, The server authentication of step (c), IDU, IDV, 클라이언트가 생성한 tu, X, Y, 상기 서버로부터 받은 tv를 해쉬함수한 값 z'(= H2(tu,tv,X,Y,IDU, IDV)를 생성하는 단계; 및ID u , ID V , the client generated t u , X, Y, t v received from the server hash function z '(= H 2 (tu, tv, X, Y, ID U , ID V ) Generating; and 상기 z'가 z와 일치(z'= z)하는지 체크하는 단계를 포함하여 이루어지고,And checking whether z 'matches z (z' = z), 상기 (c)단계의 세션키(sk) 생성은, 상기 서버가 유효한 서버로 인증되면, sk = H3(tu, tv, X, Y, IDu, IDv)에 의해 이루어지는, ID-기반의 키교환 방법.The generation of the session key sk of step (c) is performed by sk = H 3 (t u , t v , X, Y, ID u , ID v ) if the server is authenticated as a valid server. Based key exchange method. 제1항에 있어서,The method of claim 1, 상기 위수가 소수 q인 gap DiffieHellman 그룹의 생성자 P는 The constructor P of the gap DiffieHellman group whose number is prime q 위수가 q인 덧셈그룹(G1)의 생성자 임을 특징으로 하는 ID-기반의 키교환 방법.ID-based key exchange method, characterized in that the generator of the addition group (G1) of the number q. 제1항에 있어서, The method of claim 1, 상기 (b)단계의 클라이언트 인증에서 e(Y, QU))이 tugh와 동일한 값이 아니면 클라이언트 인증 실패 메시지를 클라이언트에게 전송함을 특징으로 하는 ID-기반의 키교환 방법.And (e) in the client authentication of step (b), if an e (Y, Q U )) value is not equal to t u g h , a client authentication failure message is sent to the client. 제1항에 있어서,The method of claim 1, 상기 (c)단계의 서버 인증에서 z 와 z' 이 동일한 값이 아니면 서버 인증 실패 메시지를 서버에게 전송함을 특징으로 하는 ID-기반의 키교환 방법.In the server authentication of step (c), if z and z 'are not the same value, a server authentication failure message is transmitted to the server. 위수가 q인 덧셈그룹(G1)의 생성자를 P, 키생성센터(KGC)의 마스터 비밀키를 s, 상기 s와 P의 곱을 Ppub(= sP), 상기 P의 pairing 연산값을 g(=e(P,P)), 클라이언트 및 서버의 ID를 각각 IDu 및 IDv, 키생성센터로부터 받은 클라이언트 및 서버의 비밀키를 각각 Su 및 Sv 라 할 때,The generator of the addition group (G1) of the order q is P, the master secret key of the key generation center (KGC) is s, the product of s and P is Ppub (= sP), and the pairing operation value of P is g when La (P, P)), the client and the server ID of each ID u and ID v, the secret key of the client and the server receives from the key generation center each S u and S v, 클라이언트에 설치되며, X 값 및 Y 값을 생성하는 X&Y 생성부;An X & Y generator installed in the client and generating an X value and a Y value; 클라이언트 측에 설치되며, 상기 IDu, X 및 Y를 서버로 전송하는 클라이언트전송부;A client transmitter installed on a client side and transmitting the ID u , X and Y to a server; 클라이언트에 설치되며, 서버로부터 z, tv를 받아 서버를 인증하는 클라이언트 인증부;A client authentication unit installed in the client and receiving z and t v from the server to authenticate the server; 유효한 서버로 인증되면 상기 서버의 세션키와 동일한 세션키를 생성하는 클라이언트세션키 생성부;A client session key generation unit generating a session key identical to the session key of the server when authenticated with a valid server; 서버에 설치되며, 상기 IDu, X 및 Y를 받아 클라이언트를 인증하는 서버 인증부;A server authentication unit installed in a server and receiving the ID u , X and Y to authenticate a client; 서버에 설치되며, 클라이언트가 유효한 크라이언트로 인증되면 z 및 tv를 생성하는 z&tv 생성부;Z & t v generation unit, installed on the server and generating z and t v if the client is authenticated as a valid client; 상기 z 및 tv를 클라이언트로 전송하는 서버전송부; 및A server transmitter for transmitting the z and t v to a client; And 서버에 설치되며, 클라이언트가 유효한 클라이언트로 인증되면 세션키(sk)를 생성하는 서버 세션키 생성부를 포함함을 특징으로 하고,It is installed on the server, characterized in that it comprises a server session key generator for generating a session key (sk) if the client is authenticated as a valid client, 상기 X&Y의 생성부는 The generation unit of the X & Y 위수가 q인 곱셈그룹 Zq*로부터 임의의 값 a를 선택하는 a 선택부;A selection unit for selecting an arbitrary value a from the multiplication group Zq * having a rank q; 상기 IDV 의 해쉬함수 값 qv(= H(IDV))를 생성하고, 상기 Ppub 와 qvP를 합하여 Qv(= Ppub + qvP)를 생성하고, 상기 g의 a 멱승을 취하여 tu(= ga)를 생성하고, 상기 tu의 해쉬함수 값 h(=H1(tu))를 생성하는 매개값생성부; Generating a hash function value q v (= H (ID V )) of the ID V, and the combined the P pub and q v P generate Qv (= P pub + q v P), and the g to a exponentiation taking t u (= g a) generating and parameter value generator generating a hash function value of the t u h (= H 1 ( t u)) a; 상기 a와 Qv의 곱을 계산하여 X(=aQV)를 생성하는 X생성부; 및An X generator for generating X (= aQ V ) by calculating a product of a and Q v ; And 상기 a와 h의 합에 SU 를 곱하여 Y(=(a+h)SU)를 생성하는 Y생성부를 포함하여 이루어지며,Is made by multiplying the S U to the sum of the a and h Y (= (a + h ) S U) includes a generation unit configured to generate Y, 상기 클라이언트 인증부는,The client authentication unit, IDU, IDV, 클라이언트가 생성한 tu, X, Y, 상기 서버로부터 받은 tv를 해쉬함수한 값 z'(= H2(tu,tv,X,Y,IDU, IDV)를 생성하는 z'생성부 및ID U , ID V , hash generated by the client generated t u , X, Y, and t v from the server z '(= H 2 (t u , t v , X, Y, ID U , ID V Z 'generator to generate and 상기 z'가 상기 z와 일치(z'= z)하는지 체크하여 서버를 인증하는 z'인증부를 포함하며,A z 'authentication unit for authenticating a server by checking whether z' matches z (z '= z); 상기 클라이언트 세션키 생성부는The client session key generator 상기 서버가 유효한 서버로 인증되면, tu, tv, X, Y, IDu, IDv의 해쉬함수 값(sk = H3(tu, tv, X, Y, IDu, IDv))을 생성하며,If the server is authenticated as a valid server, the hash function value of t u , t v , X, Y, ID u , ID v (sk = H 3 (t u , t v , X, Y, ID u , ID v ) ), 서버 인증부는Server authentication unit 상기 IDU 의 해쉬함수 값 qu(= H(IDU))를 생성하고, 상기 Ppub 를 qu와 P의 곱(quP)과 합하여 QU(= Ppub + quP)를 생성하고, 클라이언트로부터 받은 X와 SV의 pairing 연산하여 tu(= e(X, SV))를 생성하고, 클라이언트로부터 받은 Y와 상기 QU 를 pairing 연산하여 c(= e(Y, QU))를 생성하는 c생성부;Generating a hash function value of the ID U q u (= H ( ID U)) , and generates the product of the Ppub q u and P (q u P) Q U (= Ppub + q u P) were combined and and , Tu (= e (X, S V )) is generated by pairing the X and S V received from the client, and c (= e (Y, Q U )) by pairing the Y and Q U received from the client. C generating unit for generating a; 상기 tu 의 해쉬함수 값 h(=H1(tu))을 생성하여, 상기 tu와 g의 h 멱승(gh)을 곱한 값(tugh)을 생성하는 tugh생성부; 및Generating a hash function value of the t u h (= H 1 ( t u)), t u g h generator for generating the product of the h exponentiation (g h) in the t u and the g value (t u g h) part; And 상기 c와 상기 tugh를 비교하여 그 값이 동일하면 유효한 클라이언트로 인증하는 c 인증부를 포함하여 이루어지며,Comparing the c and t u g h and if the value is the same comprises a c authentication unit for authenticating as a valid client, 상기 z&tv생성부는, The z & t v generation unit, 서버가 위수가 q인 곱셈그룹 Zq*로부터 임의로 tv를 선택하는 tv선택부; 및A t v selection unit for the server to randomly select t v from the multiplication group Zq * having a rank q; And 상기 클라이언트가 유효한 클라이언트로 인증되면, tu, tv, X, Y, IDu, IDv의 해쉬함수 값 z(= H2(tu, tv, X, Y, IDu, IDv))를 생성하는 z생성부를 포함하고,And if the client certificate as a valid client, t u, t v, X , Y, ID u, ID v hash function value of z (= H 2 (t u , t v, X, Y, ID u, ID v) Z generating unit for generating), 상기 서버세션키 생성부는 The server session key generation unit 상기 클라이언트가 유효한 클라이언트로 인증되면, tu, tv, X, Y, IDu, IDv를 해쉬함수한 값 sk(= H3(tu, tv, X, Y, IDu, IDv))를 생성하며, ID-기반의 키교환 장치.If the client is authenticated as a valid client, hashing t u , t v , X, Y, ID u , and ID v sk (= H 3 (t u , t v , X, Y, ID u , ID v) ID) based key exchange device. 제5항에 있어서, The method of claim 5, 상기 위수가 소수 q인 gap DiffieHellman 그룹의 생성자 P는 The constructor P of the gap DiffieHellman group whose number is prime q 위수가 q인 덧셈그룹(G1)의 생성자 임을 특징으로 하는 ID-기반의 키교환 장치.ID-based key exchange device, characterized in that the generator of the addition group (G1) of the number q. 제5항에 있어서, The method of claim 5, 상기 클라이언트 인증부에서 e(Y, QU))이 tugh와 동일한 값이 아니면 클라이언트 인증 실패 메시지를 클라이언트에게 전송함을 특징으로 하는 ID-기반의 키교환 장치.And, if e (Y, Q U )) is not equal to t u g h in the client authentication unit, sends a client authentication failure message to the client. 제5항에 있어서, The method of claim 5, 상기 서버 인증부에서 z 와 z' 이 동일한 값이 아니면 서버 인증 실패 메시지를 서버에게 전송함을 특징으로 하는 ID-기반의 키교환 장치.And the server authentication unit transmits a server authentication failure message to the server when z and z 'are not equal to each other. 제1항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the invention according to claim 1 on a computer.
KR1020050093485A 2005-10-05 2005-10-05 Id-based key agreement method and apparatus KR100642745B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050093485A KR100642745B1 (en) 2005-10-05 2005-10-05 Id-based key agreement method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050093485A KR100642745B1 (en) 2005-10-05 2005-10-05 Id-based key agreement method and apparatus

Publications (1)

Publication Number Publication Date
KR100642745B1 true KR100642745B1 (en) 2006-11-10

Family

ID=37653790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050093485A KR100642745B1 (en) 2005-10-05 2005-10-05 Id-based key agreement method and apparatus

Country Status (1)

Country Link
KR (1) KR100642745B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101363290B1 (en) 2012-08-30 2014-02-18 고려대학교 산학협력단 Lightweight authentication key agreement method between terminals

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030037145A (en) * 2001-11-02 2003-05-12 한국전자통신연구원 the method and the system for passward based key change
KR20040050625A (en) * 2002-12-10 2004-06-16 한국전자통신연구원 Authentication Method using Symmetric Authenticated Key Exchange and Asymmetric Authenticated Key Exchange
US20050084114A1 (en) 2003-10-20 2005-04-21 Jung Bae-Eun Conference session key distribution method in an ID-based cryptographic system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030037145A (en) * 2001-11-02 2003-05-12 한국전자통신연구원 the method and the system for passward based key change
KR20040050625A (en) * 2002-12-10 2004-06-16 한국전자통신연구원 Authentication Method using Symmetric Authenticated Key Exchange and Asymmetric Authenticated Key Exchange
US20050084114A1 (en) 2003-10-20 2005-04-21 Jung Bae-Eun Conference session key distribution method in an ID-based cryptographic system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101363290B1 (en) 2012-08-30 2014-02-18 고려대학교 산학협력단 Lightweight authentication key agreement method between terminals

Similar Documents

Publication Publication Date Title
US11722305B2 (en) Password based threshold token generation
EP1847062B1 (en) Challenge-response signatures and secure diffie-hellman protocols
Katz et al. Scalable protocols for authenticated group key exchange
US8437473B2 (en) Small public-key based digital signatures for authentication
Tseng et al. A pairing-based user authentication scheme for wireless clients with smart cards
JP2001313634A (en) Method for communication
CN111682938A (en) Three-party authenticatable key agreement method facing centralized mobile positioning system
Choi et al. ID-based authenticated key agreement for low-power mobile devices
CN1937496A (en) Extensible false name certificate system and method
Zhu et al. An efficient identity-based key exchange protocol with KGS forward secrecy for low-power devices
KR100989185B1 (en) A password authenticated key exchange method using the RSA
Malina et al. Efficient security solution for privacy-preserving cloud services
Xiong et al. New identity-based three-party authenticated key agreement protocol with provable security
Tan An efficient identity-based tripartite authenticated key agreement protocol
CN101116281A (en) Challenge-response signatures and secure diffie-hellman protocols
Wen et al. Provably secure authenticated key exchange protocols for low power computing clients
Pu et al. Secure verifier-based three-party password-authenticated key exchange
Harn et al. Authenticated Diffie–Hellman key agreement protocol using a single cryptographic assumption
Zhu et al. An efficient and provable secure identity-based ring signcryption scheme
Youn et al. An efficient non-interactive deniable authentication scheme based on trapdoor commitment schemes
Hwang et al. EPA: An efficient password-based protocol for authenticated key exchange
KR100642745B1 (en) Id-based key agreement method and apparatus
Mangipudi et al. Authentication and Key Agreement Protocols Preserving Anonymity.
Kilciauskas et al. Authenticated key agreement protocol based on provable secure cryptographic functions
Wu et al. A publicly verifiable PCAE scheme for confidential applications with proxy delegation

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110914

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20121004

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee