KR100913783B1 - Method of Password-Based Authentication and Key Exchanging - Google Patents

Method of Password-Based Authentication and Key Exchanging Download PDF

Info

Publication number
KR100913783B1
KR100913783B1 KR1020070108156A KR20070108156A KR100913783B1 KR 100913783 B1 KR100913783 B1 KR 100913783B1 KR 1020070108156 A KR1020070108156 A KR 1020070108156A KR 20070108156 A KR20070108156 A KR 20070108156A KR 100913783 B1 KR100913783 B1 KR 100913783B1
Authority
KR
South Korea
Prior art keywords
key
server
user
client
mod
Prior art date
Application number
KR1020070108156A
Other languages
Korean (ko)
Other versions
KR20090042412A (en
Inventor
양대헌
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020070108156A priority Critical patent/KR100913783B1/en
Publication of KR20090042412A publication Critical patent/KR20090042412A/en
Application granted granted Critical
Publication of KR100913783B1 publication Critical patent/KR100913783B1/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 인터넷 또는 이동통신 시스템과 같은 네트워크 시스템에서 최적의 보안 서비스 제공을 위해 패스워드를 사용한 인터넷 키 교환 서비스 기술 적용시 클라이언트와 서버 간에 보안 강도를 약화시키지 않으면서 기존의 AMP 보다 적은 양의 연산으로 빠르게 인증 및 키 교환 결과를 얻을 수 있으며, 전력 소비를 절감할 수 있는 패스워드 기반 인증 및 키 교환 방법을 제공하는데 그 목적이 있으며, 이를 위해 본 발명은,According to the present invention, when the Internet key exchange service technology using a password is applied to provide an optimal security service in a network system such as the Internet or a mobile communication system, the present invention can be performed with a smaller amount of operation than a conventional AMP without weakening the security strength between the client and the server. It is an object of the present invention to provide a password-based authentication and key exchange method that can quickly obtain a result of authentication and key exchange, and can reduce power consumption.

네트워크를 통해 클라이언트와 서버 간에 패스워드 인증을 위한 키를 교환하는 방법에 있어서, 상기 클라이언트는 패스워드(π)와 관계없이 난수 b를 랜덤하게 생성하여 다수의 (b, m = gb mod p)쌍을 미리 연산하여 저장하고, 상기 서버는 사용자 ID(C)와 관계없이 난수 c를 랜덤하게 생성하여 다수의 (c,gc mod p)쌍을 미리 연산하여 저장하고, 또한 상기 서버는 사용자 ID(C)와 관계하여 난수 y를 랜덤하게 생성하여 다수의 (y, β= υy mod p(β는 키 재료 정보))쌍을 미리 연산하여 저장하는 제1 단계; 상기 클라이언트가 사용자로부터 사용자 ID(C)와 패스워드(π)를 입력받으면, 상기 미리 연산된 다수의 (b, m) 중 어느 하나의 m을 선택하여 상기 서버로 사용자 ID(C)와 m을 전송하는 제2 단계; 상기 사용자 ID(C)와 m을 전송받은 서버는, 상기 미리 연산된 (y, β=υy mod p) 중 어느 하나의 β와 상기 m 및 난수 c, y를 이용하여 세션 키 생성 계수 μ를 계산한 후, 상기 클라이언트로 μ와 c를 전송하는 제3 단계; 상기 μ와 c를 전송받은 클라이언트는, μ, c, b, 그리고 사용자 ID의 해시 값 u를 이용하여 키 재료 정보 α를 추출하고, 상기 α를 이용하여 키 교환 요소 k1을 연산한 후, 상기 서버로 전송하는 제4 단계; 상기 k1을 전송받은 서버는, 키 교환 요소 k2을 연산한 후, 그 결과 값이 상기 k1과 같다면 상기 k2를 상기 클라이언트로 전송하고 세션 키 sks를 생성하는 제5 단계; 상기 k1을 k2'으로 하여 상기 k2와 비교한 후, 그 결과 값이 같다면 상기 클라이언트는 세션키 skc를 생성하는 제6 단계를 포함하여 구성된다.In a method for exchanging a key for password authentication between a client and a server through a network, the client randomly generates a random number b regardless of the password π to generate a plurality of (b, m = g b mod p) pairs. Compute and store in advance, the server randomly generates a random number c irrespective of the user ID (C) and pre-computes and store a plurality of (c, g c mod p) pairs, and the server is a user ID (C A first step of randomly generating a random number y with respect to) and precomputing and storing a plurality of (y, β = ν y mod p (β is key material information)) pairs; When the client receives a user ID (C) and a password (π) from the user, selects any one of the pre-calculated number (b, m) and transmits the user ID (C) and m to the server. A second step of doing; The server receiving the user ID (C) and m receives the session key generation coefficient μ using the β of any one of the pre-calculated (y, β = υ y mod p), the m, and the random number c, y. After calculating, transmitting a μ and c to the client; After receiving the μ and c, the client extracts the key material information α using the hash values u of the μ, c, b, and user ID, calculates the key exchange element k 1 using the α, and then Transmitting to a server; The server receiving the k 1 , after calculating a key exchange element k 2 , if the result is equal to the k 1 , transmitting the k 2 to the client and generating a session key sk s ; After comparing k 1 with k 2 'and comparing the result with k 2 , if the result is the same, the client includes a sixth step of generating a session key sk c .

Description

패스워드 기반 인증 및 키 교환 방법{Method of Password-Based Authentication and Key Exchanging}Method of Password-Based Authentication and Key Exchanging

본 발명은 패스워드 기반 인증 및 키 교환 방법에 관한 것으로, 보다 상세하게는 인터넷 또는 이동통신 시스템과 같은 네트워크 시스템에서 최적의 보안 서비스 제공을 위해 패스워드를 사용한 인터넷 키 교환 서비스 기술 적용시 클라이언트와 서버 간에 보안 강도를 약화시키지 않으면서 기존의 AMP 보다 적은 양의 연산으로 빠르게 인증 및 키 교환 결과를 얻을 수 있으며, 전력 소비를 절감할 수 있는 패스워드 기반 인증 및 키 교환 방법에 관한 것이다.The present invention relates to a password-based authentication and key exchange method, and more particularly, security between a client and a server when applying an Internet key exchange service technology using a password to provide an optimal security service in a network system such as the Internet or a mobile communication system. The present invention relates to a password-based authentication and key exchange method that can quickly obtain authentication and key exchange results with a smaller amount of operations than a conventional AMP without sacrificing strength.

패스워드는 사람이 외울 수 있는 인증수단으로 많이 사용되고 있으나 근본적으로 사람이 외워야 하는 한계성 때문에 사람이 쉽게 외울 수 있는 단어들을 활용한 사전 공격(Dictionary Attack)에 약한 것으로 알려져 왔다. 패스워드를 기반으로 하는 인증 및 키 교환 프로토콜은 이러한 패스워드의 낮은 엔트로피 때문에, 안전한 프로토콜을 설계하기 위해서는 서버와 클라이언트 측에 많은 연산이 필요로 하는 방법들이 제안되어 왔다.Passwords are widely used as an authentication method that can be memorized, but they have been known to be weak against dictionary attacks using words that can be easily memorized because of the limitations that people must memorize. Because password-based authentication and key exchange protocols have low entropy for these passwords, methods that require a lot of computation on the server and client sides have been proposed to design secure protocols.

패스워드의 편의성을 유지하면서 이러한 단점을 극복하기 위해 낮은 엔트로피의 패스워드를 이용하여 안전한 인증 및 키 교환을 수행하는 AMP(Authentication and key agreement via Memorable Password) 프로토콜이 제안되었다. AMP 프로토콜은 이산대수문제(Discrete Logarithm Problem)에 기반한 디피-헬먼법(Diffie-Hellman)을 이용하여 프로토콜을 완성하였다.To overcome these shortcomings while maintaining the convenience of the password, an AMP (Authentication and key agreement via Memorable Password) protocol has been proposed to perform secure authentication and key exchange using low-entropy passwords. The AMP protocol completed the protocol using the Diffie-Hellman method based on the Discrete Logarithm Problem.

상기 AMP 프로토콜은 비교적 적은 연산을 수행하는 패스워드 기반의 인증 및 키 교환 프로토콜이지만, 예를 들면, 이동통신 시스템에서의 이동 단말기(클라이언트)의 계산 파워가 작으므로 이동단말기의 계산량을 더욱 더 작게 줄이므로써 소비 전력량을 줄이기 위한 기술적인 방법이 필요하다.The AMP protocol is a password-based authentication and key exchange protocol that performs relatively few operations, but for example, the computational power of the mobile terminal (client) in the mobile communication system is small, thereby reducing the computational amount of the mobile terminal even smaller. Therefore, there is a need for a technical method to reduce power consumption.

본 발명은 전술한 기술적 필요성에 의해 고안된 것으로, 인터넷 또는 이동통신 시스템과 같은 네트워크 시스템에서 최적의 보안 서비스 제공을 위해 패스워드를 사용한 인터넷 키 교환 서비스 기술 적용시 클라이언트와 서버 간에 보안 강도를 약화시키지 않으면서 기존의 AMP 보다 적은 양의 연산으로 빠르게 인증 및 키 교환 결과를 얻을 수 있으며, 전력 소비를 절감할 수 있는 패스워드 기반 인증 및 키 교환 방법을 제공하는데 그 목적이 있다.The present invention has been devised by the above-described technical necessity, and does not weaken the security strength between a client and a server when applying an Internet key exchange service technology using a password to provide an optimal security service in a network system such as the Internet or a mobile communication system. Its purpose is to provide authentication and key exchange results faster than conventional AMPs, and to provide password-based authentication and key exchange methods that reduce power consumption.

상기와 같은 본 발명의 목적은,The object of the present invention as described above,

네트워크를 통해 클라이언트와 서버 간에 패스워드 인증을 위한 키를 교환하는 방법에 있어서, 상기 클라이언트는 패스워드(π)와 관계없이 난수 b를 랜덤하게 생성하여 다수의 (b, m = gb mod p)쌍을 미리 연산하여 저장하고, 상기 서버는 사용자 ID(C)와 관계없이 난수 c를 랜덤하게 생성하여 다수의 (c,gc mod p)쌍을 미리 연산하여 저장하고, 또한 상기 서버는 사용자 ID(C)와 관계하여 난수 y를 랜덤하게 생성하여 다수의 (y, β= υy mod p(β는 키 재료 정보))쌍을 미리 연산하여 저장하는 제1 단계; 상기 클라이언트가 사용자로부터 사용자 ID(C)와 패스워드(π)를 입력받으면, 상기 미리 연산된 다수의 (b, m) 중 어느 하나의 m을 선택하여 상기 서 버로 사용자 ID(C)와 m을 전송하는 제2 단계; 상기 사용자 ID(C)와 m을 전송받은 서버는, 상기 미리 연산된 (y, β=υy mod p) 중 어느 하나의 β와 상기 m 및 난수 c, y를 이용하여 세션 키 생성 계수 μ를 계산한 후, 상기 클라이언트로 μ와 c를 전송하는 제3 단계; 상기 μ와 c를 전송받은 클라이언트는, μ, c, b, 그리고 사용자 ID의 해시 값 u를 이용하여 키 재료 정보 α를 추출하고, 상기 α를 이용하여 키 교환 요소 k1을 연산한 후, 상기 서버로 전송하는 제4 단계; 상기 k1을 전송받은 서버는, 키 교환 요소 k2을 연산한 후, 그 결과 값이 상기 k1과 같다면 상기 k2를 상기 클라이언트로 전송하고 세션 키 sks를 생성하는 제5 단계; 상기 k1을 k2'으로 하여 상기 k2와 비교한 후, 그 결과 값이 같다면 상기 클라이언트는 세션키 skc를 생성하는 제6 단계를 포함한다.In a method for exchanging a key for password authentication between a client and a server through a network, the client randomly generates a random number b regardless of the password π to generate a plurality of (b, m = g b mod p) pairs. Compute and store in advance, the server randomly generates a random number c irrespective of the user ID (C) and pre-computes and store a plurality of (c, g c mod p) pairs, and the server is a user ID (C A first step of randomly generating a random number y with respect to) and precomputing and storing a plurality of (y, β = ν y mod p (β is key material information)) pairs; When the client receives a user ID (C) and a password (π) from the user, selects any one of the pre-calculated number (b, m) and transmits the user ID (C) and m to the server. A second step of doing; The server receiving the user ID (C) and m receives the session key generation coefficient μ using the β of any one of the pre-calculated (y, β = υ y mod p), the m, and the random number c, y. After calculating, transmitting a μ and c to the client; After receiving the μ and c, the client extracts the key material information α using the hash values u of the μ, c, b, and user ID, calculates the key exchange element k 1 using the α, and then Transmitting to a server; The server receiving the k 1 , after calculating a key exchange element k 2 , if the result is equal to the k 1 , transmitting the k 2 to the client and generating a session key sk s ; After comparing k 1 with k 2 'and comparing the result with k 2 , if the result is the same, the client may include a sixth step of generating a session key sk c .

상기 세션 키 생성 계수 μ는 하기의 식(1)에 의해 서버에서 생성되는 것을 특징으로 한다.The session key generation coefficient [mu] is generated in the server by the following equation (1).

식(1) : μ= (mυgc)y mod pEquation (1): μ = (mυg c ) y mod p

여기서, c, y는 난수, p는 p와 서로소인 임의의 r에 대해 p=rq+1인 소수, υ는 서버에 저장된 사용자의 프로필이다.Where c and y are random numbers, p is a prime number with p = rq + 1 for any r mutually different from p, and υ is the user's profile stored on the server.

상기 키 재료 정보 α는 하기의 식(2)에 의해 클라이언트에서 생성되는 것을 특징으로 한다.The key material information α is characterized by being generated at the client by the following equation (2).

식(2) : α= μu/(b+u+c) mod pEquation (2): α = μ u / (b + u + c) mod p

여기서, b, c는 난수, u는 사용자 ID의 해시 값, p는 p와 서로소인 임의의 r에 대해 p=rq+1인 소수이다.Where b and c are random numbers, u is a hash value of the user ID, p is a prime number p = rq + 1 for any r that is mutually different from p.

또한, 상기 키 교환 요소 k1은 상기 키 생성 계수 μ, 상기 키 재료 정보 α, 상기 m 및, 사용자 ID(C)를 포함하는 해시 값인 것을 특징으로 한다.The key exchange element k 1 is characterized in that it is a hash value including the key generation coefficient μ, the key material information α, the m, and the user ID (C).

또한, 상기 키 교환 요소 k2는 상기 키 생성 계수 μ, 상기 키 재료 정보 β, 상기 m 및, 사용자 ID(C)를 포함하는 해시 값인 것을 특징으로 한다.The key exchange element k 2 is characterized in that it is a hash value including the key generation coefficient μ, the key material information β, the m, and the user ID (C).

또한, 상기 제5 단계에서 상기 키 교환 요소 k1과 k2의 결과 값이 같지 않다면 프로토콜을 중지하는 것을 특징으로 한다.In the fifth step, if the result values of the key exchange elements k 1 and k 2 are not the same, the protocol is suspended.

또한, 상기 제6 단계에서 상기 키 교환 요소 k2과 k2 '의 결과 값이 같지 않다면 프로토콜을 중지하는 것을 특징으로 한다.In the sixth step, if the result values of the key exchange elements k 2 and k 2 are not the same, the protocol is suspended.

또한, 본 발명의 또 다른 실시예에 따른 패스워드 기반 인증 및 키 교환 방법은, 네트워크를 통해 클라이언트와 서버 간에 패스워드 인증을 위한 키를 교환하는 방법에 있어서, 상기 클라이언트는 패스워드(π)와 관계없이 난수 b를 랜덤하게 생성한 후, 상기 b를 이용하여 키 재료 정보 m(m = gb mod p)을 추출한 다음, 사용 자 ID(C)와 상기 m을 서버로 전송하는 제1 단계; 상기 사용자 ID(C)와 m을 전송받은 서버는 난수 y를 랜덤하게 생성한 후, 상기 y를 이용하여 키 재료 정보 β(β=υy mod p)를 추출하고, 상기 m의 해시 값을 난수 c로 추출한 후, 상기 m 및 난수 c, y를 이용하여 세션 키 생성 계수 μ를 계산한 다음, 상기 클라이언트로 μ를 전송하는 제2 단계; 상기 μ를 전송받은 클라이언트는 상기 m의 해시 값을 난수 c로 추출하고, 상기 μ, c, b, 그리고 사용자 ID의 해시 값 u를 이용하여 키 재료 정보 α를 추출하고, 상기 α를 이용하여 키 교환 요소 k1을 연산한 후, 상기 서버로 전송하는 제3 단계; 상기 k1을 전송받은 서버는, 키 교환 요소 k2을 연산한 후, 그 결과 값이 상기 k1과 같다면 상기 k2를 상기 클라이언트로 전송하고 세션 키 sks를 생성하는 제4 단계; 상기 k1을 k2'으로 하여 상기 k2와 비교한 후, 그 결과 값이 같다면 상기 클라이언트는 세션키 skc를 생성하는 제5 단계를 포함한다.In addition, the password-based authentication and key exchange method according to another embodiment of the present invention, in a method for exchanging a key for password authentication between the client and the server over a network, the client is a random number irrespective of the password (π) generating randomly b, extracting key material information m (m = g b mod p) using the b , and then transmitting a user ID (C) and the m to a server; The server receiving the user ID C and m randomly generates a random number y, extracts key material information β (β = υ y mod p) using the y, and randomly uses the hash value of m. extracting c, calculating a session key generation coefficient μ using the m and the random numbers c, y, and then transmitting μ to the client; The client receiving the μ extracts the hash value of m as a random number c, extracts key material information α using the hash value u of the μ, c, b, and user ID, and uses the α to obtain a key. Calculating a switching element k 1 and transmitting it to the server; The server receiving the k 1 , after calculating a key exchange element k 2 , if the result is equal to the k 1 , transmitting the k 2 to the client and generating a session key sk s ; After comparing k 1 to k 2 and comparing it to k 2 , if the result is the same, the client includes a fifth step of generating a session key sk c .

상기 세션 키 생성 계수 μ는 하기의 식(3)에 의해 서버에서 생성되는 것을 특징으로 한다.The session key generation coefficient mu is characterized in that it is generated in the server by the following equation (3).

식(1) : μ= (mυgc)y mod pEquation (1): μ = (mυg c ) y mod p

여기서, c는 m의 해시 값, y는 난수, p는 p와 서로소인 임의의 r에 대해 p=rq+1인 소수, υ는 서버에 저장된 사용자의 프로필이다.Where c is a hash value of m, y is a random number, p is a prime number p = rq + 1 for any r that is mutually different from p, and υ is the user's profile stored on the server.

상기 키 재료 정보 α는 하기의 식(4)에 의해 클라이언트에서 생성되는 것을 특징으로 한다.The key material information α is generated in the client by the following equation (4).

식(2) : α= μu/(b+u+c) mod pEquation (2): α = μ u / (b + u + c) mod p

여기서, b는 난수, c는 m의 해시 값, u는 사용자 ID(C)의 해시 값, p는 p와 서로소인 임의의 r에 대해 p=rq+1인 소수이다.Where b is a random number, c is a hash value of m, u is a hash value of user ID (C), and p is a decimal number with p = rq + 1 for any r that is mutually different from p.

또한, 상기 키 교환 요소 k1은 상기 키 생성 계수 μ, 상기 키 재료 정보 α, 상기 m 및, 사용자 ID(C)를 포함하는 해시 값인 것을 특징으로 한다.The key exchange element k 1 is characterized in that it is a hash value including the key generation coefficient μ, the key material information α, the m, and the user ID (C).

또한, 상기 키 교환 요소 k2는 상기 키 생성 계수 μ, 상기 키 재료 정보 β, 상기 m 및, 사용자 ID(C)를 포함하는 해시 값인 것을 특징으로 한다.The key exchange element k 2 is characterized in that it is a hash value including the key generation coefficient μ, the key material information β, the m, and the user ID (C).

또한, 상기 제4 단계에서 상기 키 교환 요소 k1과 k2의 결과 값이 같지 않다면 프로토콜을 중지하는 것을 특징으로 한다.In the fourth step, if the result values of the key exchange elements k 1 and k 2 are not the same, the protocol is suspended.

또한, 상기 제5 단계에서 상기 키 교환 요소 k2과 k2 '의 결과 값이 같지 않다면 프로토콜을 중지하는 것을 특징으로 한다.In the fifth step, if the result values of the key exchange elements k 2 and k 2 are not the same, the protocol is suspended.

상기와 같은 본 발명에 따른 패스워드 기반 인증 및 키 교환 방법에 의하면, 인터넷 또는 이동통신 시스템과 같은 네트워크 시스템에서 최적의 보안 서비스 제 공을 위해 패스워드를 사용한 인터넷 키 교환 서비스 기술 적용시 클라이언트와 서버 간에 보안 강도를 약화시키지 않으면서 기존의 AMP 보다 적은 양의 연산으로 빠르게 인증 및 키 교환 결과를 얻을 수 있으며, 전력 소비를 절감할 수 있는 효과가 있다.According to the password-based authentication and key exchange method according to the present invention, the security between the client and the server when applying the Internet key exchange service technology using a password to provide an optimal security service in a network system such as the Internet or mobile communication system Without compromising strength, authentication and key exchange results can be obtained faster with less computation than traditional AMPs, resulting in reduced power consumption.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 우선, 도면들 중 동일한 구성요소 또는 부품들은 가능한 한 동일한 참조부호를 나타내고 있음에 유의해야 한다. 본 발명을 설명함에 있어서 관련된 공지기능 혹은 구성에 대한 구체적인 설명은 본 발명의 요지를 모호하게 하지 않기 위해 생략한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention; First, it should be noted that the same components or parts in the drawings represent the same reference numerals as much as possible. In describing the present invention, detailed descriptions of related well-known functions or configurations are omitted in order not to obscure the gist of the present invention.

도 1은 본 발명에 따른 패스워드 기반 인증 및 키 교환 방법을 개념적으로 도시한 도, 도 2는 본 발명의 또 다른 실시예에 따른 패스워드 기반 인증 및 키 교환 방법을 개념적으로 도시한 도, 도 3은 본 발명에 따른 패스워드 기반 인증 및 키 교환 방법에 있어서 프로토콜의 필요한 사전 및 실시간 연산량을 나타낸 표이다.1 conceptually illustrates a password-based authentication and key exchange method according to the present invention, and FIG. 2 conceptually illustrates a password-based authentication and key exchange method according to another embodiment of the present invention. In the password-based authentication and key exchange method according to the present invention is a table showing the required dictionary and real-time calculation amount of the protocol.

먼저, 아래 [표 1]에 자주 사용되는 기호에 대한 설명을 개시한다.First, the description of the symbols frequently used in the following [Table 1] is disclosed.

[표 1]TABLE 1

CC 사용자 IDUser ID SS 서버server ππ 패스워드password kk 비밀키 암호화를 위한 보안 파라미터 (128, 160 비트 등)Security parameters for secret key encryption (128, 160 bit, etc.) ll 공개키 암호화를 위한 보안 파라미터 (3072, 3840 비트 등)Security parameters for public key encryption (3072, 3840 bit, etc.) hi h i 랜덤 오라클Random oracle qq 사이즈가 k인 소수(prime)Prime of size k pp p와 서로소인 임의의r 에 대해서 p=rq+1 이며 사이즈가 l인 소수a prime number of size p with r = + q and 1 for any r mutually different from p Zx * Z x * x의 곱셈 그룹(multiplicative group)multiplicative group of x gg 그룹 Zp *의 q-order 하위 그룹 Gq의 생성자(generator)Generator of q-order subgroup G q in group Z p * εε 타원 곡선 기반 암호화를 위한 보안 파라미터 (256, 512 비트 등)Security parameters for elliptic curve based encryption (256, 512 bit, etc.) EE 타원 곡선(Elliptic Curve)Elliptic Curve PP 크기가 ε인 E위에서의 한 점One point on E of size ε

Zp = {0,1,2,...,p-1}로 정의하고 이를 법에 관한 완전 잉여계라고 한다. 법에 관한 완전 잉여계의 원소 a∈Zp에 대해서 gcd(a,p)=1 인 원소들만 모아 놓은 집합을 Zp *라 한다. 이러한 성질에 의하여 만약 p가 소수일 때, Zp * = {0,1,2,...,p-1}로 정의된다.Z p = {0,1,2, ..., p-1}, which is called the full surplus system of law. For a completely surplus element a∈Z p of the method, a set of only the elements with gcd (a, p) = 1 is called Z p * . This property defines Z p * = {0,1,2, ..., p-1} when p is prime.

hi는 hi: {0,1}* -> {0,1}k과 같은 성질을 만족한다. 즉, 어떠한 길이의 비트열(βit string)도 k크기의 비트열로 만든다. (참고로 {0,1}n는 길이가 n인 비트열을 의미함)h i satisfies the properties h i : {0,1} * -> {0,1} k . That is, a bit string of any length (βit string) is made into a bit string of k size. (For reference, {0,1} n means a bit string of length n)

hi(M)는 hi(i,M,i)로 정의하며, h()는 MD5나 SHA-1과 같은 안전한 일 방향(one-way) 함수를 의미한다. 여기서 ‘,’는 비트열 간의 연결(concatenation)을 의미한다.h i (M) is defined as h i (i, M, i), and h () is a safe one-way function such as MD5 or SHA-1. Here, ',' means concatenation between bit strings.

디피-헐먼법(DH: Diffie-Hellman), DSA(Digital Signature Algorithm)은 모 두 Number field sieve와 같은 sub-exponential 알고리즘에 의해서 약하다. 그러나 타원 곡선 암호화(Elliptic Curve Cryptography)의 경우, 수학적 문제를 풀기 위해 가장 잘 알려진 알고리즘은 Pollard-rho 알고리즘으로 지수승의 시간(exponential time)이 필요하다. 그러므로 DH, DSA와 다르게 타원 곡선 암호화는 적은 사이즈의 키로써도 동등한 수준의 보안을 제공할 수 있다.Diffie-Hellman (DH) and Digital Signature Algorithm (DSA) are all weak by sub-exponential algorithms such as Number field sieve. However, in the case of Elliptic Curve Cryptography, the best known algorithm to solve mathematical problems is the Pollard-rho algorithm, which requires exponential time. Therefore, unlike DH and DSA, elliptic curve encryption can provide an equivalent level of security even with a small size key.

다음에 기술하는 프로토콜은 타원 곡선 암호화로 다시 기술될 수 있으며, 이 경우 더 적은 수준의 연산으로 동등한 수준의 보안을 제공할 수 있다. 타원 곡선 암호화로 다시 기술하기 위하여, Zp *위에서의 임의의 수 gx mod p 는, 타원 곡선 위의 임의의 점 xP로 다시 쓸 수 있다. 이때 gx의 크기는 l이며 xP의 크기는 ε이다.The protocol described below can be described again with elliptic curve cryptography, which can provide equivalent security with less computation. To rewrite with elliptic curve cryptography, any number g x mod p on Z p * can be rewritten at any point xP on the elliptic curve. At this time, the size of g x is l and the size of xP is ε.

기존의 AMP 프로토콜 구성에 대해 설명한다.Describes the existing AMP protocol configuration.

사용자는 자신의 ID(C)와 패스워드(π)를 정한다. 서버는 사용자의 프로필(계정) <C,v>를 만든다. v = gu mod p이며 u = h0(π,C)이다. 서버는 DLP(Discrete Logarithm Problem)의 어려움에 따라 υ를 안다고 해도 u를 알기 어려우므로, 사용자의 패스워드를 알아내기 어렵다.The user sets his ID (C) and password (π). The server creates a user's profile (account) <C, v>. v = g u mod p and u = h 0 (π, C). The server is difficult to find the user's password, even though u knows υ due to the difficulty of the Discrete Logarithm Problem (DLP).

프로토콜 동작에 대해 설명하면, 먼저, 클라이언트는 사용자 ID(C)로부터 패 스워드(π)를 입력받은 후 난수 b∈RZp *를 선택하고, m = gb mod p과 u = h1(π,C)를 계산한 후 C, m을 서버에게 전송한다.Referring to the protocol operation, first, the client receives the password (π) from the user ID (C) and then selects a random number b∈ R Z p * , and m = g b mod p and u = h 1 (π After calculating, C), send C and m to the server.

[1] 클라이언트 → 서버 : C, m[1] client → server: C, m

서버는 m이 1인지 아닌지를 확인한 후, 만약 1이라면 프로토콜을 중지한다. 만약 1이 아니라면 서버는 난수 y∈RZp *와 c∈RZp *를 선택하고, β = υy mod p (β = yυ)와 μ= (mυgc)y mod p 를 계산한 후, μ와 c를 클라이언트에게 전송한다.The server checks whether or not m is 1, and if 1 stops the protocol. If then not a first server chooses the random number Z R p * and y∈ c∈ R Z p *, and calculating a y mod p υ = β (β = yυ) and μ = (mυg c) y mod p, Send μ and c to the client.

[2] 서버 → 클라이언트 : μ, c[2] server → client: μ, c

μ와 c가 도착하면 클라이언트는 α= μu/(b+u+c) mod p를 계산하고 k1 = h1(C,S,m,μ,α)을 계산하여 k1을 서버에게 전송한다.When μ and c arrive, the client computes α = μ u / (b + u + c) mod p and calculates k 1 = h 1 (C, S, m, μ, α) to send k 1 to the server. do.

[3] 클라이언트 → 서버 : k1 [3] client → server: k 1

서버는 k1'= h1(C,S,m,μ,β)를 계산하고, 만약 k1'이 k1과 같지 않다면 프로 토콜을 중지한다. 만약 비교 결과가 같다면 k2 = h2(C,S,m,μ,β)를 계산하여 k2를 클라이언트에게 전송하고 세션 키 sks = h3(C,S,m,μ,β)를 계산한다.The server calculates k 1 '= h 1 (C, S, m, μ, β) and stops the protocol if k 1 ' is not equal to k 1 . If the comparison is the same, k 2 Calculate = h 2 (C, S, m, μ, β) and send k 2 to the client and calculate the session key sk s = h 3 (C, S, m, μ, β).

[4] 서버 → 클라이언트 : k2 [4] server → client: k 2

클라이언트는 k2'= h2(C,S,m,μ,α)를 계산하고, 만약 k2'이 k2와 같지 않다면 프로토콜을 중지한다. 만약 비교 결과가 같다면 클라이언트는 세션 키 skc = h3(C,S,m,μ,α)를 계산한다. 서버와 클라이언트는 이후 sks = skc를 세션 키로 비밀 통신을 수행한다.The client computes k 2 '= h 2 (C, S, m, μ, α) and stops the protocol if k 2 ' is not equal to k 2 . If the comparison is the same, the client calculates the session key sk c = h 3 (C, S, m, μ, α). Server and client since sk s = sk c with the session key.

세션 키의 동등성에 대하여 아래 수식을 참조한다.See the equation below for equality of session keys.

Figure 112007076812881-pat00001
Figure 112007076812881-pat00001

위의 수식에서 알 수 있듯이 만약 서버가 올바른 클라이언트의 프로파일 < C, υ= gu mod p>을 가지고 있다면 α와 β가 동일하므로 skc = h3(C,S,m,μ,α)= h3(C,S,m,μ,β)= sks으로 동일한 세션 키를 생성할 수 있게 된다.As can be seen from the above formula, if the server has the correct client's profile <C, υ = g u mod p> then α and β are the same, so sk c = h 3 (C, S, m, μ, α) = The same session key can be generated with h 3 (C, S, m, μ, β) = sk s .

도 1을 참조하면, 본 발명에 따른 패스워드 기반 인증 및 키 교환 방법은 기존의 AMP 프로토콜과는 달리, 먼저 클라이언트는 패스워드(π)와 관계없이 난수 b를 랜덤하게 생성하여 다수의 (b, m=gb mod p)쌍을 미리 연산하여 저장하고, 서버는 사용자 ID(C)와 관계없이 난수 c를 랜덤하게 생성하여 다수의 (c,gc mod p)쌍을 미리 연산하여 저장하고, 또한 상기 서버는 사용자 ID(C)와 관계하여 난수 y를 랜덤하게 생성하여 다수의 (y, β=υy mod p)쌍을 미리 연산하여 저장한다.Referring to FIG. 1, the password-based authentication and key exchange method according to the present invention is different from the existing AMP protocol. First, the client randomly generates a random number b regardless of the password (π) and generates a plurality of (b, m = g b mod p) pairs are precomputed and stored, and the server randomly generates a random number c irrespective of the user ID (C) and precomputes and stores a plurality of (c, g c mod p) pairs. The server randomly generates a random number y in relation to the user ID C, and calculates and stores a plurality of (y, β = υ y mod p) pairs in advance.

그 다음, 상기 클라이언트가 사용자로부터 사용자 ID(C)와 패스워드(π)를 입력받으면, 상기 미리 연산된 다수의 (b, m) 중 어느 하나의 m을 선택하여 상기 서버로 사용자 ID(C)와 m을 전송한 후,Then, when the client receives a user ID (C) and a password (π) from the user, select any one of the m (b, m) of the pre-computed number and the user ID (C) to the server After sending m

상기 사용자 ID(C)와 m을 전송 받은 서버는, 상기 미리 연산된 (y, β=υy mod p) 중 어느 하나의 β와 상기 m 및 난수 c, y를 이용하여 μ를 계산한 후, 상기 클라이언트로 μ와 c를 전송한다.After receiving the user ID (C) and m, the server calculates μ using any one of the pre-calculated (y, β = υ y mod p) and m and the random number c, y, Send μ and c to the client.

서버가 c를 랜덤하게 생성하여 사용하는 경우, 서버는 사용자와 독립적으로 수많은 (c,gc mod p) 쌍을 미리 계산해놓을 수 있다. 실제 동작에서 이 수많은 쌍 중에서 하나의 (c,gc mod p)을 가져와 사용할 수 있으므로, 서버는 μ를 생성하기 위하여 m, υ, gc의 곱에 대해서 y의 지수승(exponentiation) 만을 수행하면 된다.If the server generates and uses c randomly, the server can precompute many (c, g c mod p) pairs independently of the user. Since in practice you can take and use one of these numerous pairs (c, g c mod p), the server only needs to exponentiate y over the product of m, υ, g c to generate μ. do.

또한, 서버는 각각의 사용자에 대해서 필요한(예상되는) 수만큼의 (y, β=υy mod p) 쌍을 클라이언트에서 실시간으로 생성한 m과 무관하게 미리 계산해놓을 수 있다.In addition, the server may pre-calculate the required number of (y, β = υ y mod p) pairs for each user, regardless of the m generated in real time on the client.

따라서, 서버는 인증과 키 교환을 위하여 실시간으로는 한 번의 지수승(exponentiation)과 세 번의 해시 연산이 필요하다. 해시 연산은 지수승에 비하면 매우 적은 연산으로 결과를 구할 수 있다.Thus, the server requires one exponentiation and three hash operations in real time for authentication and key exchange. Hash operations can yield results with very few operations compared to exponential powers.

또한, 클라이언트는 패스워드와 무관하게 필요한(예상되는) 수만큼의 (b, m = gb mod p) 쌍을 미리 계산해 놓을 수 있으며 인증 과정이 시작되면 이 중에 하나를 가져와 서버에 전송할 수 있다. 따라서 α를 계산하기 위하여 클라이언트는 각각 한 번의 역원(inverse) 연산과 한 번의 지수승(exponentiation) 연산을 필요로 한다.In addition, the client can pre-calculate as many (b, m = g b mod p) pairs as needed (expected) regardless of the password, and can take one of them and send it to the server once the authentication process begins. Thus, in order to calculate α, the client requires one inverse operation and one exponentiation operation, respectively.

이러한 사전 계산은 서버와 클라이언트가 바쁘지 않은 시간을 이용하여 계산할 수 있으며, 해당 장치의 성능을 낮추어도, 예를 들면, CPU의 클럭을 낮춘다든지 하는 식으로 성능을 낮추어도 계산할 수 있다. 이는 전력 소모에 있어서도 이득을 가져온다.These precomputations can be calculated using time when the server and client are not busy, and even when the performance of the device is lowered, for example, by lowering the CPU clock. This also benefits from power consumption.

본 발명에 따른 패스워드 기반 인증 및 키 교환 방법의 다른 실시예에 따르면, 해시된 c의 사용하여 패스워드 기반 인증 및 키 교환을 수행할 수 있다.(도 2참조)According to another embodiment of the password-based authentication and key exchange method according to the present invention, it is possible to perform password-based authentication and key exchange using the hashed c (see Fig. 2).

전술한 프로토콜 중에 c는 난수 형태가 아니라 c의 해시 형태로 구현될 수 있다. 즉, c = h4(m) 형태로 구하면 [2]에서 c를 함께 보낼 필요가 없으며, 클라이언트 측에서도 c = h4(m)으로 바로 구할 수 있다. 그러나 만약, 이러한 방식으로 c를 구하게 되면 gc를 구하기 위해서는 m을 반드시 알아야 하므로 (c, gc mod p)쌍을 미리 계산해놓을 수 없게 된다.Among the above-mentioned protocols, c may be implemented as a hash form of c rather than a random number. In other words, if c = h 4 (m) is obtained, it is not necessary to send c together in [2], and c = h 4 (m) can be obtained directly from the client side. However, if, when the rescued c g c in this way, so the must be known in order to obtain the m (c, g c mod p) will not be able to release the pair of pre-calculated.

만약, 서버에 미리 계산해놓은 (c, gc mod p)쌍이 없으면 서버는 m과 관련한 c를 생성함으로써 메시지의 크기를 줄일 수 있다. 이 경우, 클라이언트는 만약 c가 따로 서버로부터 도착하지 않으면 c = h4(m)를 계산하여 사용한다. 이렇게 하면 (c, gc mod p)쌍을 미리 계산할 수 없다는 단점은 있지만, 클라이언트와 서버 간에 전송되는 메시지의 크기는 줄일 수 있다는 장점이 있다.If the server does not have a precomputed pair (c, g c mod p), the server can reduce the size of the message by generating c for m. In this case, the client computes c = h 4 (m) if c does not arrive from the server. This has the disadvantage of not being able to precompute (c, g c mod p) pairs, but it does reduce the size of messages sent between the client and server.

이상과 같이 본 발명에 따른 패스워드 기반 인증 및 키 교환 방법을 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.As described above with reference to the drawings illustrating a password-based authentication and key exchange method according to the present invention, the present invention is not limited by the embodiments and drawings disclosed herein, but within the technical scope of the present invention Of course, various modifications can be made by those skilled in the art.

도 1은 본 발명에 따른 패스워드 기반 인증 및 키 교환 방법을 개념적으로 도시한 도,1 conceptually illustrates a password based authentication and key exchange method in accordance with the present invention;

도 2는 본 발명의 또 다른 실시예에 따른 패스워드 기반 인증 및 키 교환 방법을 개념적으로 도시한 도,2 conceptually illustrates a password-based authentication and key exchange method according to another embodiment of the present invention;

도 3은 본 발명에 따른 패스워드 기반 인증 및 키 교환 방법에 있어서 프로토콜의 필요한 사전 및 실시간 연산량을 나타낸 표이다.3 is a table showing the required dictionary and real-time calculation amount of the protocol in the password-based authentication and key exchange method according to the present invention.

Claims (14)

네트워크를 통해 클라이언트와 서버 간에 패스워드 인증을 위한 키를 교환하는 방법에 있어서,In a method for exchanging a key for password authentication between a client and a server over a network, 상기 클라이언트는 패스워드(π)와 관계없이 난수 b를 랜덤하게 생성하여 다수의 (b, m = gb mod p)쌍을 미리 연산하여 저장하고, 상기 서버는 사용자 ID(C)와 관계없이 난수 c를 랜덤하게 생성하여 다수의 (c,gc mod p)쌍을 미리 연산하여 저장하고, 또한 상기 서버는 사용자 ID(C)와 관계하여 난수 y를 랜덤하게 생성하여 다수의 (y, β= υy mod p(β는 키 재료 정보))쌍을 미리 연산하여 저장하는 제1 단계;The client randomly generates a random number b regardless of the password π and precomputes and stores a plurality of (b, m = g b mod p) pairs, and the server generates a random number c regardless of the user ID (C). Randomly generate and store a plurality of (c, g c mod p) pairs in advance, and the server randomly generates a random number y in relation to the user ID (C) to generate a plurality of (y, β = υ). a first step of precomputing and storing a pair of y mod p (β is key material information); 상기 클라이언트가 사용자로부터 사용자 ID(C)와 패스워드(π)를 입력받으면, 상기 미리 연산된 다수의 (b, m) 중 어느 하나의 m을 선택하여 상기 서버로 사용자 ID(C)와 m을 전송하는 제2 단계;When the client receives a user ID (C) and a password (π) from the user, selects any one of the pre-calculated number (b, m) and transmits the user ID (C) and m to the server. A second step of doing; 상기 사용자 ID(C)와 m을 전송받은 서버는, 상기 미리 연산된 (y, β=υy mod p) 중 어느 하나의 β와 상기 m 및 난수 c, y를 이용하여 세션 키 생성 계수 μ를 계산한 후, 상기 클라이언트로 μ와 c를 전송하는 제3 단계;The server receiving the user ID (C) and m receives the session key generation coefficient μ using the β of any one of the pre-calculated (y, β = υ y mod p), the m, and the random number c, y. After calculating, transmitting a μ and c to the client; 상기 μ와 c를 전송받은 클라이언트는, μ, c, b, 그리고 사용자 ID의 해시 값 u를 이용하여 키 재료 정보 α를 추출하고, 상기 α를 이용하여 키 교환 요소 k1 을 연산한 후, 상기 서버로 전송하는 제4 단계;After receiving the μ and c, the client extracts the key material information α using the hash values u of the μ, c, b, and user ID, calculates the key exchange element k 1 using the α, and then Transmitting to a server; 상기 k1을 전송받은 서버는, 키 교환 요소 k2을 연산한 후, 그 결과 값이 상기 k1과 같다면 상기 k2를 상기 클라이언트로 전송하고 세션 키 sks를 생성하는 제5 단계;The server receiving the k 1 , after calculating a key exchange element k 2 , if the result is equal to the k 1 , transmitting the k 2 to the client and generating a session key sk s ; 상기 k1을 k2'으로 하여 상기 k2와 비교한 후, 그 결과 값이 같다면 상기 클라이언트는 세션키 skc를 생성하는 제6 단계Comparing the k 2 with k 1 as k 2 ′, and if the result is the same, the client generates a session key sk c ; 를 포함하는 패스워드 기반 인증 및 키 교환 방법.Password-based authentication and key exchange method comprising a. 청구항 1에 있어서,The method according to claim 1, 상기 세션 키 생성 계수 μ는 하기의 식(1)에 의해 서버에서 생성되는 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.The session key generation factor [mu] is generated at the server by the following equation (1). 식(1) : μ= (mυgc)y mod pEquation (1): μ = (mυg c ) y mod p (여기서, c, y는 난수, p는 p와 서로소인 임의의 r에 대해 p=rq+1인 소수, υ는 서버에 저장된 사용자의 프로필)(Where c and y are random numbers, p is a prime number with p = rq + 1 for any r mutually different from p, and υ is the user's profile stored on the server) 청구항 1에 있어서,The method according to claim 1, 상기 키 재료 정보 α는 하기의 식(2)에 의해 클라이언트에서 생성되는 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And the key material information α is generated at the client by the following equation (2). 식(2) : α= μu/(b+u+c) mod pEquation (2): α = μ u / (b + u + c) mod p (여기서, b, c는 난수, u는 사용자 ID의 해시 값, p는 p와 서로소인 임의의 r에 대해 p=rq+1인 소수)(Where b and c are random numbers, u is the hash value of the user ID, p is a decimal number with p = rq + 1 for any r that is disjoint from p) 청구항 1에 있어서,The method according to claim 1, 상기 키 교환 요소 k1은 상기 키 생성 계수 μ, 상기 키 재료 정보 α, 상기 m 및, 사용자 ID(C)를 포함하는 해시 값인 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And said key exchange element k 1 is a hash value comprising said key generation coefficient [mu], said key material information [alpha], said m and user ID (C). 청구항 1에 있어서,The method according to claim 1, 상기 키 교환 요소 k2는 상기 키 생성 계수 μ, 상기 키 재료 정보 β, 상기 m 및, 사용자 ID(C)를 포함하는 해시 값인 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And the key exchange element k 2 is a hash value including the key generation coefficient μ, the key material information β, the m, and a user ID (C). 청구항 1에 있어서,The method according to claim 1, 상기 제5 단계에서 상기 키 교환 요소 k1과 k2의 결과 값이 같지 않다면 프로토콜을 중지하는 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And disabling the protocol if the result values of the key exchange elements k 1 and k 2 are not equal in the fifth step. 청구항 1에 있어서,The method according to claim 1, 상기 제6 단계에서 상기 키 교환 요소 k2과 k2 '의 결과 값이 같지 않다면 프로토콜을 중지하는 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And disabling the protocol if the result values of the key exchange elements k 2 and k 2 are not equal in the sixth step. 네트워크를 통해 클라이언트와 서버 간에 패스워드 인증을 위한 키를 교환하는 방법에 있어서,In a method for exchanging a key for password authentication between a client and a server over a network, 상기 클라이언트는 패스워드(π)와 관계없이 난수 b를 랜덤하게 생성한 후, 상기 b를 이용하여 키 재료 정보 m(m = gb mod p)을 추출한 다음, 사용자 ID(C)와 상기 m을 서버로 전송하는 제1 단계; The client randomly generates a random number b irrespective of the password π, extracts the key material information m (m = g b mod p) using the b, and then stores the user ID C and the server m. Transmitting to the first step; 상기 사용자 ID(C)와 m을 전송받은 서버는 난수 y를 랜덤하게 생성한 후, 상 기 y를 이용하여 키 재료 정보 β(β=υy mod p)를 추출하고, 상기 m의 해시 값을 난수 c로 추출한 후, 상기 m 및 난수 c, y를 이용하여 세션 키 생성 계수 μ를 계산한 다음, 상기 클라이언트로 μ를 전송하는 제2 단계;The server receiving the user ID C and m randomly generates a random number y, extracts the key material information β (β = υ y mod p) using the y , and extracts the hash value of m. A second step of extracting a random number c, calculating a session key generation coefficient μ using the m and the random numbers c, y, and then transmitting μ to the client; 상기 μ를 전송받은 클라이언트는 상기 m의 해시 값을 난수 c로 추출하고, 상기 μ, c, b, 그리고 사용자 ID의 해시 값 u를 이용하여 키 재료 정보 α를 추출하고, 상기 α를 이용하여 키 교환 요소 k1을 연산한 후, 상기 서버로 전송하는 제3 단계;The client receiving the μ extracts the hash value of m as a random number c, extracts key material information α using the hash value u of the μ, c, b, and user ID, and uses the α to obtain a key. Calculating a switching element k 1 and transmitting it to the server; 상기 k1을 전송받은 서버는, 키 교환 요소 k2을 연산한 후, 그 결과 값이 상기 k1과 같다면 상기 k2를 상기 클라이언트로 전송하고 세션 키 sks를 생성하는 제4 단계;The server receiving the k 1 , after calculating a key exchange element k 2 , if the result is equal to the k 1 , transmitting the k 2 to the client and generating a session key sk s ; 상기 k1을 k2'으로 하여 상기 k2와 비교한 후, 그 결과 값이 같다면 상기 클라이언트는 세션키 skc를 생성하는 제5 단계After comparison with the k 2 in the k 1 to k 2 ', the result is the same if the client a fifth step of generating the session key sk c 를 포함하는 패스워드 기반 인증 및 키 교환 방법.Password-based authentication and key exchange method comprising a. 청구항 8에 있어서,The method according to claim 8, 상기 세션 키 생성 계수 μ는 하기의 식(3)에 의해 서버에서 생성되는 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.The session key generation factor [mu] is generated in a server by the following equation (3). 식(3) : μ= (mυgc)y mod pEquation (3): μ = (mυg c ) y mod p (여기서, c는 m의 해시 값, y는 난수, p는 p와 서로소인 임의의 r에 대해 p=rq+1인 소수, υ는 서버에 저장된 사용자의 프로필)Where c is a hash value of m, y is a random number, p is a decimal number with p = rq + 1 for any r that is mutually different from p, and υ is the user's profile stored on the server. 청구항 8에 있어서,The method according to claim 8, 상기 키 재료 정보 α는 하기의 식(4)에 의해 클라이언트에서 생성되는 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And the key material information α is generated at the client by the following equation (4). 식(4) : α= μu/(b+u+c) mod pEquation (4): α = μ u / (b + u + c) mod p (여기서, b는 난수, c는 m의 해시 값, u는 사용자 ID의 해시 값, p는 p와 서로소인 임의의 r에 대해 p=rq+1인 소수)(Where b is a random number, c is a hash value of m, u is a hash value of the user ID, p is a decimal number with p = rq + 1 for any r that is mutually independent of p) 청구항 8에 있어서,The method according to claim 8, 상기 키 교환 요소 k1은 상기 키 생성 계수 μ, 상기 키 재료 정보 α, 상기 m 및, 사용자 ID(C)를 포함하는 해시 값인 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And said key exchange element k 1 is a hash value comprising said key generation coefficient [mu], said key material information [alpha], said m and user ID (C). 청구항 8에 있어서,The method according to claim 8, 상기 키 교환 요소 k2는 상기 키 생성 계수 μ, 상기 키 재료 정보 β, 상기 m 및, 사용자 ID(C)를 포함하는 해시 값인 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And the key exchange element k 2 is a hash value including the key generation coefficient μ, the key material information β, the m, and a user ID (C). 청구항 8에 있어서,The method according to claim 8, 상기 제4 단계에서 상기 키 교환 요소 k1과 k2의 결과 값이 같지 않다면 프로토콜을 중지하는 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And disabling the protocol if the result values of the key exchange elements k 1 and k 2 are not equal in the fourth step. 청구항 8에 있어서,The method according to claim 8, 상기 제5 단계에서 상기 키 교환 요소 k2과 k2 '의 결과 값이 같지 않다면 프로토콜을 중지하는 것을 특징으로 하는 패스워드 기반 인증 및 키 교환 방법.And disabling the protocol if the result values of the key exchange elements k 2 and k 2 are not equal in the fifth step.
KR1020070108156A 2007-10-26 2007-10-26 Method of Password-Based Authentication and Key Exchanging KR100913783B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070108156A KR100913783B1 (en) 2007-10-26 2007-10-26 Method of Password-Based Authentication and Key Exchanging

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070108156A KR100913783B1 (en) 2007-10-26 2007-10-26 Method of Password-Based Authentication and Key Exchanging

Publications (2)

Publication Number Publication Date
KR20090042412A KR20090042412A (en) 2009-04-30
KR100913783B1 true KR100913783B1 (en) 2009-08-26

Family

ID=40765143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070108156A KR100913783B1 (en) 2007-10-26 2007-10-26 Method of Password-Based Authentication and Key Exchanging

Country Status (1)

Country Link
KR (1) KR100913783B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101909149B1 (en) * 2018-02-14 2018-10-17 주식회사 커널로그 Beacon-based remote control system and method with high level security in low power environment

Citations (2)

* 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
KR20040009964A (en) * 2002-07-26 2004-01-31 학교법인 성균관대학 Methode for the password-based key exchange protocol using password-hardening protocol

Patent Citations (2)

* 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
KR20040009964A (en) * 2002-07-26 2004-01-31 학교법인 성균관대학 Methode for the password-based key exchange protocol using password-hardening protocol

Also Published As

Publication number Publication date
KR20090042412A (en) 2009-04-30

Similar Documents

Publication Publication Date Title
US11722305B2 (en) Password based threshold token generation
CN110958112B (en) Key generation method and system, encryption and decryption method, and encrypted communication system
US9628273B2 (en) Cryptographic method and system for secure authentication and key exchange
US8799664B2 (en) Small public-key based digital signatures for authentication
JP4944886B2 (en) Cryptographic authentication and / or shared encryption key configuration using signature keys encrypted with non-one-time pad cryptography, including but not limited to technology with improved security against malleable attacks
US10447669B2 (en) System and method for key exchange based on authentication information
US10764042B2 (en) Password based key exchange from ring learning with errors
CN102387019B (en) Certificateless partially blind signature method
JP5690465B2 (en) Custom Static Diffie-Hellman Group
KR101493214B1 (en) Method for password based authentication and apparatus executing the method
US20120096273A1 (en) Authenticated encryption for digital signatures with message recovery
KR100989185B1 (en) A password authenticated key exchange method using the RSA
Yoon et al. Cryptanalysis of DS-SIP authentication scheme using ECDH
Kahrobaei et al. Public key exchange using extensions by endomorphisms and matrices over a Galois field
KR100913783B1 (en) Method of Password-Based Authentication and Key Exchanging
Abi-Char et al. A secure authenticated key agreement protocol based on elliptic curve cryptography
Lu et al. An enhanced authenticated key agreement protocol for wireless mobile communication
Lv et al. Ring authenticated encryption: a new type of authenticated encryption
Jinno et al. A study on construction and security of computer-aided security schemes
Lopez Becerra et al. An offline dictionary attack against zkPAKE protocol
KR101135508B1 (en) Method and system for key exchange and method and apparatus for reducing parameter transmission bandwidth
Shin et al. RSA-based Password-Authenticated Key Retrieval using multiple servers
Hwang et al. A new secure generalization of threshold signature scheme
Tseng On the security of an efficient two-pass key agreement protocol
Hevia Introduction to provable security

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140612

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190715

Year of fee payment: 11