KR20180003293A - Method for asymmetric password-based authenticated key exchange - Google Patents
Method for asymmetric password-based authenticated key exchange Download PDFInfo
- Publication number
- KR20180003293A KR20180003293A KR1020160082926A KR20160082926A KR20180003293A KR 20180003293 A KR20180003293 A KR 20180003293A KR 1020160082926 A KR1020160082926 A KR 1020160082926A KR 20160082926 A KR20160082926 A KR 20160082926A KR 20180003293 A KR20180003293 A KR 20180003293A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- password
- server
- client
- encrypted
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Abstract
Description
본 발명은 비대칭 패스워드 기반 인증된 키 합의 방법에 관한 것이다.The present invention relates to an asymmetric password-based authenticated key agreement method.
패스워드 기반 인증된 키 합의(Password-Based Authenticated Key Exchange, PAKE) 프로토콜은 클라이언트-서버 모델에서 대표적인 인증된 키 합의 프로토콜 중 하나이다. 현재 다양한 PAKE 프로토콜들이 ISO/IEC 11770-4와 IEEE P.1363 등에 국제 표준으로 공개되어 있다. The Password-Based Authenticated Key Exchange (PAKE) protocol is one of the representative authenticated key agreement protocols in the client-server model. Currently, various PAKE protocols are published as international standards in ISO / IEC 11770-4 and IEEE P.1363.
패스워드를 공유하는 방식에 따라서 PAKE는 대칭형(symmetric)과 비대칭형(asymmetric) 형태로 구분된다. 대칭형 PAKE에서는 동일한 패스워드 정보를 참가자들이 인증 수단으로 서로 공유하고 이용한다. 클라이언트-서버 모델에서 서버는 클라이언트들의 패스워드를 대량으로 저장한다. 따라서 서버의 컴프러마이즈(compromise)에 대해서 매우 취약하다. 이와 대조적으로, 비대칭형 PAKE에서, 서버는 패스워드 파일로 부르는 패스워드의 일방향 함수값을 저장한다. 따라서 서버가 컴프러마이즈(compromise) 되어도 공격자는 별도의 오프라인 사전(dictionary) 공격을 각 사용자마다 가해야 하므로 높은 공격 복잡도를 요구하며 패스워드 누출에 대해 높은 강인성을 가진다. Depending on how passwords are shared, PAKE is divided into symmetric and asymmetric forms. In the symmetric PAKE, the same password information is shared and used by the participants as authentication means. In the client-server model, the server stores a large number of clients' passwords. Therefore, it is very vulnerable to compromise of the server. In contrast, in an asymmetric PAKE, the server stores the one-way function value of the password that is referred to as the password file. Therefore, even if the server is compromised, the attacker must apply a separate offline dictionary attack to each user, which requires high attack complexity and has high robustness against password leakage.
원리적으로, 비대칭 PAKE는 패스워드 소유 증명을 포함한 복잡한 구성이 요구되므로 효율적이며 안전한 기법 설계가 어려운 것으로 알려져 왔다. 현재까지 알려진, 형식적 안전성을 갖는 비대칭 PAKE는 Gentry, MacKenzie, Ramzan (GMR)에 의해서 Crypto'06에 발표된 전자서명을 이용한 구성 방법 정도에 불과하다. 이 기법은 상대적으로 비싼 전자서명 관련 계산 비용을 수반하며 최소한 3 라운드 이상의 통신 오버헤드가 요구된다. 3 라운드는 현재까지 극복하기 어려운 통신 라운드의 최소바운드로 간주되어 왔다. In principle, asymmetric PAKE requires a complicated configuration including proof of password ownership, which makes it difficult to design an efficient and secure method. Asymmetric PAKEs that have been known to date to be as secure as they are, are only a matter of using digital signatures published by Crypto'06 by Gentry, MacKenzie and Ramzan (GMR). This technique involves relatively expensive computation costs for digital signatures and requires at least three rounds of communication overhead. The third round has been regarded as the minimum bound of a communication round that is hard to overcome to date.
본 발명의 일 목적은 통신 라운드 효율성을 구비한 비대칭 패스워드 기반 인증된 키 합의 방법을 제공하는 데 있다. It is an object of the present invention to provide an asymmetric password-based authenticated key agreement method with communication round-off efficiency.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems which are not mentioned can be understood by those skilled in the art from the following description.
본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법은 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계, 상기 클라이언트 및 서버가 각각 상기 제 1 해쉬키를 이용하여 공통키를 생성하는 단계, 상기 서버가 상기 공통키를 이용하여 제 2 해쉬키를 생성하고, 난수 정보를 생성하는 단계, 상기 서버가 상기 공개키를 이용하여 상기 난수 정보를 암호화하는 단계, 상기 서버가 상기 암호화된 비밀키 및 상기 암호화된 난수 정보를 제 2 해쉬키를 이용하여 암호화하여 암호 정보를 생성하고, 상기 암호 정보를 상기 클라이언트로 전달하는 단계, 상기 클라이언트가 상기 공통키를 이용하여 상기 제 2 해쉬키를 생성하는 단계, 및 상기 클라이언트가 상기 제 2 해쉬키를 이용하여 상기 암호 정보를 복호하고, 상기 패스워드를 이용하여 상기 암호화된 비밀키를 복호하고, 상기 비밀키를 이용하여 상기 암호화된 난수 정보를 복호할 수 있다. The asymmetric password-based key agreement method according to an embodiment of the present invention is a method in which a client transmits a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password to a server Registering, generating a common key using the first hash key by the client and the server, generating a second hash key using the common key, and generating random number information, The server encrypts the random number information using the public key, the server encrypts the encrypted secret key and the encrypted random number information using a second hash key to generate encryption information, Transmitting the first hash key to the client, generating the second hash key using the common key, And the client decrypts the encrypted information using the second hash key, decrypts the encrypted secret key using the password, and decrypts the encrypted random number information using the secret key.
일 실시예에서, 상기 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계는 보안 채널을 통해 상기 패스워드 파일을 상기 서버로 전달할 수 있다. In one embodiment, the step of the client registering a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password on the server includes: To the server.
일 실시예에서, 상기 클라이언트가 상기 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계, 및 상기 클라이언트 및 서버가 각각 상기 제 1 해쉬키를 이용하여 공통키를 생성하는 단계는 대칭형 패스워드 기반 키 합의 프로토콜의 적어도 일부를 구성할 수 있다. In one embodiment, the client registers with the server a password file including the public key, a first hash key generated using a password, and a secret key encrypted using the password, The step of generating a common key using the first hash key, respectively, may constitute at least a part of a symmetric password-based key agreement protocol.
일 실시예에서, 상기 클라이언트가 상기 공개키 및 상기 비밀키를 생성하는 단계를 더 포함하고, 상기 클라이언트가 상기 공개키 및 상기 비밀키를 생성하는 단계는 상기 클라이언트가 상기 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계 이전에 수행될 수 있다. In one embodiment, the client further includes generating the public key and the secret key, wherein the client generates the public key and the secret key by using the public key and the password A password file including the generated first hash key and the secret key encrypted using the password may be registered in the server.
본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법은 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계, 상기 클라이언트가 상기 제 1 해쉬키를 이용하여 공통키를 생성하는 단계, 상기 클라이언트가 상기 서버로부터 상기 암호화된 비밀키 및 상기 암호화된 난수 정보를 제 2 해쉬키를 이용하여 암호화한 암호 정보를 수신하는 단계, 상기 클라이언트가 상기 공통키를 이용하여 상기 제 2 해쉬키를 생성하는 단계, 및 상기 클라이언트가 상기 제 2 해쉬키를 이용하여 상기 암호 정보를 복호하고, 상기 패스워드를 이용하여 상기 암호화된 비밀키를 복호하고, 상기 비밀키를 이용하여 상기 암호화된 난수 정보를 복호할 수 있다. The asymmetric password-based key agreement method according to an embodiment of the present invention is a method in which a client transmits a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password to a server The client generating a common key using the first hash key, the client encrypting the encrypted secret key and the encrypted random number information from the server using a second hash key, The client generating the second hash key using the common key, and the client decrypting the encryption information using the second hash key, Decrypts the encrypted secret key, and decrypts the encrypted random number information using the secret key There.
본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법은 서버가 클라이언트로부터 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 수신하는 단계, 상기 서버가 상기 제 1 해쉬키를 이용하여 공통키를 생성하는 단계, 상기 서버가 상기 공통키를 이용하여 제 2 해쉬키를 생성하고, 난수 정보를 생성하는 단계, 상기 서버가 상기 공개키를 이용하여 상기 난수 정보를 암호화하는 단계, 및 상기 서버가 상기 암호화된 비밀키 및 상기 암호화된 난수 정보를 제 2 해쉬키를 이용하여 암호화하여 암호 정보를 생성하고, 상기 암호 정보를 상기 클라이언트로 전달하는 단계를 포함할 수 있다. The asymmetric password-based key agreement method according to an embodiment of the present invention is a method in which a server obtains a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password The server generates a common key using the first hash key, the server generates a second hash key using the common key, and generates random number information, Encrypting the encrypted random number information and the encrypted random number information using a second hash key to generate encryption information, and transmitting the encryption information to the client As shown in FIG.
본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법은 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계, 상기 클라이언트 및 서버가 각각 상기 제 1 해쉬키를 이용하여 제 1 공통키를 생성하는 단계, 상기 서버가 상기 제 1 공통키를 이용하여 제 2 해쉬키를 생성하고, 상기 공개키를 이용하여 제 2 공통키 및 공개키 캡슐화 암호문을 생성하는 단계, 상기 서버가 상기 암호화된 비밀키 및 상기 공개키 캡슐화 암호문을 제 2 해쉬키를 이용하여 암호화하여 암호 정보를 생성하고, 상기 암호 정보를 상기 클라이언트로 전달하는 단계, 상기 클라이언트가 상기 제 1 공통키를 이용하여 상기 제 2 해쉬키를 생성하는 단계, 및 상기 클라이언트가 상기 제 2 해쉬키를 이용하여 상기 암호 정보를 복호하고, 상기 패스워드를 이용하여 상기 암호화된 비밀키를 복호하고, 상기 비밀키를 이용하여 상기 공개키 캡슐화 암호문을 복호할 수 있다. The asymmetric password-based key agreement method according to an embodiment of the present invention is a method in which a client transmits a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password to a server Wherein the client and the server generate a first common key using the first hash key, the server generates the second hash key using the first public key, Generating a second common key and a public key encapsulated cipher text using the second hash key, the server encrypting the encrypted private key and the public key encapsulated cipher text using a second hash key to generate cipher information, Communicating to the client, the client generating the second hash key using the first common key, To the client using the second hash key, decrypting the password information, and can decode the encrypted secret key using the password, and using the secret key to decrypt the public key encrypted text encapsulated.
일 실시예에서, 상기 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계는 보안 채널을 통해 상기 패스워드 파일을 상기 서버로 전달할 수 있다. In one embodiment, the step of the client registering a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password on the server includes: To the server.
일 실시예에서, 상기 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계, 및 상기 클라이언트 및 서버가 각각 상기 제 1 해쉬키를 이용하여 제 1 공통키를 생성하는 단계는 대칭형 패스워드 기반 키 합의 프로토콜의 적어도 일부를 구성할 수 있다. In one embodiment, the client registers with the server a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password, The step of generating the first common key using the first hash key may constitute at least a part of a symmetric password-based key agreement protocol.
일 실시예에서, 상기 클라이언트가 상기 공개키 및 상기 비밀키를 생성하는 단계를 더 포함하고, 상기 클라이언트가 상기 공개키 및 상기 비밀키를 생성하는 단계는 상기 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계 이전에 수행될 수 있다. In one embodiment, the client further comprises generating the public key and the secret key, wherein the client generates the public key and the secret key by using the public key and the password to generate The password file including the first hash key and the secret key encrypted using the password may be registered in the server.
본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법은 통신 라운드 효율성을 확보하여, 네트워크 가용성을 증진시킬 수 있다. The asymmetric password-based authenticated key agreement method according to an embodiment of the present invention can secure communication round-up efficiency and improve network availability.
도 1은 본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 수행하는 클라이언트 및 서버를 보여주는 블록도이다.
도 2는 본 발명의 제 1 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 보여준다.
도 3은 본 발명의 제 1 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법의 구체적인 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 제 2 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 보여준다.
도 5는 본 발명의 제 2 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법의 구체적인 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 제 3 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 보여준다.
도 7은 본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 실행하는 컴퓨팅 시스템을 보여주는 블록도이다. FIG. 1 is a block diagram illustrating a client and a server performing an asymmetric password-based authenticated key agreement method according to an embodiment of the present invention.
FIG. 2 illustrates an asymmetric password-based authenticated key agreement method according to a first embodiment of the present invention.
FIG. 3 is a diagram for explaining a concrete procedure of an asymmetric password-based authenticated key agreement method according to the first embodiment of the present invention.
FIG. 4 illustrates an asymmetric password-based authenticated key agreement method according to a second embodiment of the present invention.
FIG. 5 is a diagram for explaining a specific procedure of an asymmetric password-based authenticated key agreement method according to a second embodiment of the present invention.
FIG. 6 illustrates an asymmetric password-based authenticated key agreement method according to a third embodiment of the present invention.
7 is a block diagram illustrating a computing system that implements an asymmetric password-based authenticated key agreement method in accordance with an embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the difference that the embodiments of the present invention are not conclusive.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In describing the components of the embodiment of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. Also, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.
도 1은 본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 수행하는 클라이언트 및 서버를 보여주는 블록도이다. FIG. 1 is a block diagram illustrating a client and a server performing an asymmetric password-based authenticated key agreement method according to an embodiment of the present invention.
도 1을 참조하면, 클라이언트(100) 및 서버(200)는 본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 실행하는 사용자 장치일 수 있다. 클라이언트(100) 및 서버(200)는 서비스 제공자 또는 서비스 소비자가 될 수 있다. 클라이언트(100) 및 서버(200)는 주어진 입력값에 대해 특정한 값을 출력하는 알고리즘 또는 프로토콜을 실행하는 적어도 하나의 모듈(미도시)을 포함할 수 있다. Referring to FIG. 1, the
클라이언트(100) 및 서버(200)는 공개키 암호화(public key encryption) 방법 및 공개키 캡슐화(public key encapsulation) 방법을 임의의 패스워드 기반 인증된 키 합의(Password-based Authenticated Key Exchange, PAKE) 프로토콜에 적용하여 본 발명의 일 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 수행할 수 있다. 예를 들어, 임의의 PAKE 프로토콜은 ISO/IEC 11770-4 및 IEEE P.1363에 정의된 표준 PAKE 프로토콜 중 어느 하나일 수 있다. The
이하에서는 공개키 암호화 방법을 임의의 PAKE 프로토콜에 적용한 본 발명의 제 1 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법에 대해 도 2 및 도 3을 참조하여 구체적으로 설명하고, 공개키 캡슐화 방법을 임의의 PAKE 프로토콜에 적용한 본 발명의 제 2 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법에 대해 도 4 및 도 5를 참조하여 구체적으로 설명한다.Hereinafter, an asymmetric password-based authenticated key agreement method according to a first embodiment of the present invention in which a public key encryption method is applied to an arbitrary PAKE protocol will be described in detail with reference to FIG. 2 and FIG. 3, and a public key encapsulation method An asymmetric password-based authenticated key agreement method applied to an arbitrary PAKE protocol according to a second embodiment of the present invention will be described in detail with reference to FIGS. 4 and 5. FIG.
도 2는 본 발명의 제 1 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 보여준다. 도 3은 본 발명의 제 1 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법의 구체적인 과정을 설명하기 위한 도면이다. FIG. 2 illustrates an asymmetric password-based authenticated key agreement method according to a first embodiment of the present invention. FIG. 3 is a diagram for explaining a concrete procedure of an asymmetric password-based authenticated key agreement method according to the first embodiment of the present invention.
본 실시예에서는 암호학적 강인성을 갖는 해쉬 함수 H:{0,1}* →{0,1}l 및/또는 H':{0,1}* →{0,1}l가 이용될 수 있으나 이에 한정되는 것은 아니며, 해쉬 함수는 임의의 비트열을 고정된 L-비트열로 변환시켜 주는 함수로 이해될 수 있다. In this embodiment, a hash function H: {0,1} * → {0,1} l and / or H ': {0,1} * → {0,1} l having cryptographically strong robustness can be used But the present invention is not limited thereto. The hash function can be understood as a function for converting an arbitrary bit string into a fixed L-bit string.
또한, 본 실시예에서는 암호화 알고리즘 E′:{0,1}l →{0,1}l을 위해서 ISO/IEC 19772 표준 알고리즘들과 같은 데이터의 기밀성과 무결성을 제공하는 인증된 암호화 알고리즘(authenticated encryption algorithm)이 이용될 수 있으나 이에 한정되는 것은 아니다.Also, in this embodiment, an authenticated encryption algorithm, which provides the confidentiality and integrity of data such as the ISO / IEC 19772 standard algorithms for the encryption algorithm E ': {0,1} l → {0,1} l , algorithm may be used but is not limited thereto.
도 2 및 도 3을 참조하면, 먼저 클라이언트(100)는 서버(200)에 패스워드 파일(password file)을 등록할 수 있다(S110). 상기 패스워드 파일은 클라이언트(100)의 공개키(pk), 클라이언트(100)의 패스워드(π)를 이용하여 생성되는 제 1 해쉬키(H(π)), 클라이언트(100)의 패스워드(π)를 이용하여 암호화된 비밀키(E'π(dk))를 포함할 수 있다. Referring to FIGS. 2 and 3, the
이를 위해, 클라이언트(100)는 사전에 사용자로부터 미리 정해진 정책에 따라 패스워드를 선택 및 입력받을 수 있으며, 클라이언트(100)의 패스워드(π)는 사전에 서버(200)에 등록되는 것으로 가정한다. 또한, 클라이언트(100)는 공개키 암호화 방법에 따라 공개키(pk) 및 비밀키(dk)를 생성할 수 있고, 패스워드를 이용하여 제 1 해쉬키(H(π))를 생성하고, 패스워드(π)를 이용하여 비밀키(dk)를 암호화하여 암호화된 비밀키(E'π(dk))를 생성할 수 있다. To this end, it is assumed that the
클라이언트(100)는 별도의 보안 채널을 이용하여 패스워드 파일을 서버(200)로 전달함으로써 보안성을 유지할 수 있다. The
클라이언트(100)는 제 1 해쉬키(H(π))를 이용하여 공통키(K)를 생성할 수 있다(S120).The
서버(200)는 패스워드 파일에 포함된 제 1 해쉬키(H(π))를 이용하여 공통키(K)를 생성할 수 있다(S130).The
즉, 클라이언트(100) 및 서버(200)는 S120 단계 및 S130 단계를 통해 공통키(K)를 생성할 수 있고, 이러한 과정들은 대칭형 PAKE 프로토콜의 적어도 일부를 구성하는 것으로 이해될 수 있다. That is, the
다음으로, 서버(200)는 공통키(K)를 이용하여 제 2 해쉬키(K1)를 생성하고, 난수 정보(RN)를 생성할 수 있다(S140). 구체적으로, 서버(200)는 공통키(K)의 해쉬 함수값을 생성(K1 = H(K∥1))할 수 있고, 생성된 해쉬 함수값은 제 2 해쉬키(K1)로 정의될 수 있다. 또한, 서버(200)는 난수 정보(RN ∈ {0, 1}ㅣ)를 생성할 수 있다. Next, the
서버(200)는 난수 정보(RN)를 공개키(pk)를 이용하여 암호화할 수 있다(S150). 예를 들어, 서버(200)는 PKE.Enc 공개키 암호화 알고리즘을 이용하여 난수 정보를 암호화할 수 있다. The
서버(200)는 암호화된 비밀키(E'π(dk)) 및 암호화된 난수 정보(PKE.Encpk(RN))를 제 2 해쉬키(K1)를 이용하여 암호화하여 암호 정보(c)를 생성할 수 있다(c ← EK1(E'π(dk)∥PKE.Encpk(RN)), S160).The
여기서, 암호화 알고리즘 E:{0,1}l →{0,1}l를 위해서 AES(ISO/IEC 18033-3 표준알고리즘)와 SEED(ISO/IEC 18033-3 표준알고리즘), 또는 등 데이터의 기밀성을 제공하는 대칭키 암호화 알고리즘(symmetric encryption algorithm)이 이용될 수 있으나 이에 한정되는 것은 아니다.Here, encryption algorithm E: {0,1} l → { 0,1} l AES (ISO / IEC 18033-3 standard algorithm) and the SEED (ISO / IEC 18033-3 standard algorithm) to the, or the like of data confidentiality But not limited to, a symmetric encryption algorithm.
서버(200)는 생성된 암호 정보(c)를 클라이언트(100)로 전달할 수 있다(S170).The
클라이언트(100)는 공통키(K)를 이용하여 제 2 해쉬키(K1)를 생성할 수 있다(S180). 구체적으로, 서버(200)는 공통키(K)의 해쉬 함수값을 생성(K1 = H(K∥1))할 수 있다.The
클라이언트(100)는 제 2 해쉬키(K1)를 이용하여 상기 암호 정보(c)를 복호하고(d1∥d2 ← DK1(c), 여기서 d1은 E'π(dk), d2는 PKE.Encpk(RN)를 나타냄), 암호화된 비밀키(E'π(dk))를 패스워드(π)를 이용하여 복호하고(dk ← D'π(d1)), 암호화된 난수 정보(PKE.Encpk(RN))를 비밀키(dk)를 이용하여 복호하여(RN ← PKE.Decdk(d2)) 난수 정보(RN)를 획득할 수 있다(S190). The
클라이언트(100) 및 서버(200)는 세션키(ssk)를 생성할 수 있다(S200 및 S210). 클라이언트(100)는 공통키(K), 난수 정보(RN), 및 대칭형 PAKE의 기록 정보 및 암호 정보(c)의 해쉬 함수값을 이용하여 세션키(ssk)를 생성할 수 있다(ssk = H(K∥RN∥Trans)). 여기서, 대칭형 PAKE의 기록 정보는 세션키(ssk)를 공유하기 위해서 PAKE를 수행하는 동안 클라이언트(100)와 서버(200) 간에 공개적으로 주고 받는 메시지들의 집합을 의미할 수 있다. 또한, Trans는 대칭형 PAKE의 기록 정보와 암호 정보(c)의 연접을 의미할 수 있다. The
상술한 S110 단계 내지 S210 단계에 기초하여, 클라이언트(100)와 서버(200)는 2번의 라운드(즉, 공통키(K)를 생성하기까지의 1라운드와 그 이후의 암호 정보(c) 전달 및 복호 과정의 2라운드)를 통해 패스워드의 소유 증명을 완료할 수 있고, 비대칭 패스워드 기반 인증된 키 합의 방법을 수행할 수 있다. 기존의 전자서명을 이용하여 패스워드의 소유 증명을 하는 GMR(Gentry, MacKenzie, Ramzan) 기법에서는 클라이언트가 서명을 생성한 후 서버가 이를 검증하는 메커니즘에 기반하므로 총 3번의 라운드가 필요하나, 본 발명에서는 2번의 라운드로 패스워드의 소유 증명과 비대칭 패스워드 기반 인증된 키 합의 방법을 수행할 수 있으므로 전체 네트워크의 가용성 증가 및 비용 절감이 가능할 수 있다. The
도 4는 본 발명의 제 2 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법을 보여준다. 도 5는 본 발명의 제 2 실시예에 따른 비대칭 패스워드 기반 인증된 키 합의 방법의 구체적인 과정을 설명하기 위한 도면이다. FIG. 4 illustrates an asymmetric password-based authenticated key agreement method according to a second embodiment of the present invention. FIG. 5 is a diagram for explaining a specific procedure of an asymmetric password-based authenticated key agreement method according to a second embodiment of the present invention.
도 4 및 도 5를 참조하면, 먼저 클라이언트(100)는 서버(200)에 패스워드 파일(password file)을 등록할 수 있다(S210). 상기 패스워드 파일은 클라이언트(100)의 공개키(pk), 클라이언트(100)의 패스워드(π)를 이용하여 생성되는 제 1 해쉬키(H(π)), 클라이언트(100)의 패스워드(π)를 이용하여 암호화된 비밀키(E'π(sk)를 포함할 수 있다. 4 and 5, the
이를 위해, 클라이언트(100)는 사전에 사용자로부터 미리 정해진 정책에 따라 패스워드를 선택 및 입력받을 수 있으며, 클라이언트(100)의 패스워드(π)는 사전에 서버(200)에 등록되는 것으로 가정한다. 또한, 클라이언트(100)는 공개키 암호화 방법에 따라 공개키(pk) 및 비밀키(sk)를 생성할 수 있고, 패스워드를 이용하여 제 1 해쉬키(H(π))를 생성하고, 패스워드(π)를 이용하여 비밀키(sk)를 암호화하여 암호화된 비밀키(E'π(sk))를 생성할 수 있다. To this end, it is assumed that the
클라이언트(100)는 별도의 보안 채널을 이용하여 패스워드 파일을 서버(200)로 전달함으로써 보안성을 유지할 수 있다. The
클라이언트(100)는 제 1 해쉬키(H(π))를 이용하여 제 1 공통키(K)를 생성할 수 있다(S220).The
서버(200)는 패스워드 파일에 포함된 제 1 해쉬키(H(π))를 이용하여 제 1 공통키(K)를 생성할 수 있다(S230).The
즉, 클라이언트(100) 및 서버(200)는 S220 단계 및 S230 단계를 통해 제 1 공통키(K)를 생성할 수 있고, 이러한 과정들은 대칭형 PAKE 프로토콜의 적어도 일부를 구성하는 것으로 이해될 수 있다. That is, the
다음으로, 서버(200)는 제 1 공통키(K)를 이용하여 제 2 해쉬키(K1)를 생성하고, 공개키(pk)를 이용하여 제 2 공통키(K') 및 공개키 캡슐화 암호문(C')을 생성할 수 있다(S240). 구체적으로, 서버(200)는 제 1 공통키(K)의 해쉬 함수값을 생성(K1 = H(K∥1))할 수 있고, 생성된 해쉬 함수값은 제 2 해쉬키(K1)로 정의될 수 있다. 서버(200)는 공개키(pk)를 이용하여 공개키 캡슐화 암호 연산과정을 수행하여((K', C') ← KEM.Enc(1k, pk)) 제 2 공통키(K') 및 공개키 캡슐화 암호문(C')을 생성할 수 있다. 상기 KEM.Enc(1k, pk)는 보안 파라미터(security parameter, k) 및 공개키(pk)를 입력으로 하여 제 2 공통키(K') 및 공개키 캡슐화 암호문(C')을 생성하는 알고리즘으로 정의될 수 있다. Next, the
서버(200)는 암호화된 비밀키(E'π(sk)) 및 공개키 캡슐화 암호문(C')을 제 2 해쉬키(K1)를 이용하여 암호화하여 암호 정보(c)를 생성할 수 있다(c ← EK1(E'π(sk)∥C'), S250).The
서버(200)는 생성된 암호 정보(c)를 클라이언트(100)로 전달할 수 있다(S260).The
클라이언트(100)는 제 1 공통키(K)를 이용하여 제 2 해쉬키(K1)를 생성할 수 있다(S270). 구체적으로, 서버(200)는 제 1 공통키(K)의 해쉬 함수값을 생성(K1 = H(K∥1))할 수 있다.The
클라이언트(100)는 제 2 해쉬키(K1)를 이용하여 상기 암호 정보(c)를 복호하고(d1∥d2 ← DK1(c), 여기서 d1은 E'π(sk), d2는 C'을 나타냄), 암호화된 비밀키(E'π(sk))를 패스워드(π)를 이용하여 복호하고(sk ← D'π(d1)), 비밀키(sk) 및 공개키 캡슐화 암호문(C')을 이용하여 제 2 공통키(K')를 획득할 수 있다(S280). 예를 들어, 비밀키(sk) 및 공개키 캡슐화 암호문(C')을 이용하여 제 2 공통키(K')를 획득하는 과정은 비밀키(sk)를 이용하여 공개키 캡슐화 암호문(C')을 복호하는 과정으로 이해될 수도 있다. The
클라이언트(100) 및 서버(200)는 세션키(ssk)를 생성할 수 있다(S290 및 S300). 클라이언트(100)는 제 1 공통키(K), 제 2 공통키(K'), 및 대칭형 PAKE의 기록 정보 및 암호 정보(c)의 해쉬 함수값을 이용하여 세션키(ssk)를 생성할 수 있다(ssk = H(K∥RN∥Trans)). 여기서, 대칭형 PAKE의 기록 정보는 세션키(ssk)를 공유하기 위해서 PAKE를 수행하는 동안 클라이언트(100)와 서버(200) 간에 공개적으로 주고 받는 메시지들의 집합을 의미할 수 있다. 또한, Trans는 대칭형 PAKE의 기록 정보와 암호 정보(c)의 연접을 의미할 수 있다. The
상술한 S210 단계 내지 S300 단계에 기초하여, 클라이언트(100)와 서버(200)는 2번의 라운드(즉, 제 1 공통키(K)를 생성하기까지의 1라운드와 그 이후의 암호 정보(c) 전달 및 복호 과정의 2라운드)를 통해 패스워드의 소유 증명을 완료할 수 있고, 비대칭 패스워드 기반 인증된 키 합의 방법을 수행할 수 있다. 기존의 전자서명을 이용하여 패스워드의 소유 증명을 하는 GMR(Gentry, MacKenzie, Ramzan) 기법에서는 클라이언트가 서명을 생성한 후 서버가 이를 검증하는 메커니즘에 기반하므로 총 3번의 라운드가 필요하나, 본 발명에서는 2번의 라운드로 패스워드의 소유 증명과 비대칭 패스워드 기반 인증된 키 합의 방법을 수행할 수 있으므로 전체 네트워크의 가용성 증가 및 비용 절감이 가능할 수 있다. The
도 6은 본 발명의 제 3 실시예에 따른 비대칭 패스워드 기반 키 합의 방법을 보여준다. FIG. 6 shows a method of an asymmetric password-based key agreement according to a third embodiment of the present invention.
도 6은 알려진 PAKE 프로토콜인 PAK (ITU-T X.1035)와 ElGamal Encrytion 공개키 캡슐화 암호화 기법(KEM)을 결합한 비대칭 패스워드 기반 키 합의 방법을 보여주는 것으로 이해될 수 있다. 도 6에서, 이산대수 파라미터들인 G, q, g, h는 사전에 정의되어 있는 것으로 가정된다. 여기서, G는 위수가 소수 q인 대수적 군을 나타내며, g, h는 군 G의 임의의 생성원으로 정의될 수 있다. 또한, Zq는 집합 {0, 1,…, q-1}으로 정의된다. FIG. 6 illustrates an asymmetric password-based key agreement method combining the known PAKE protocol PAK (ITU-T X.1035) and the ElGamal Encryption public key encapsulation encryption scheme (KEM). In Fig. 6, discrete logarithm parameters G, q, g, h are assumed to be defined in advance. Here, G represents an algebraic group whose prime number is a prime q, and g and h can be defined as arbitrary generating sources of the group G. Also, Z q is the set {0, 1, ... , q-1}.
도 6을 참조하면, 클라이언트(100)는 서버(200)에 패스워드 파일(password file)을 등록할 수 있다. 상기 패스워드 파일은 클라이언트(100)의 공개키(gz), 클라이언트(100)의 패스워드(π)를 이용하여 생성되는 제 1 해쉬키(H(π)), 클라이언트(100)의 패스워드(π)를 이용하여 암호화된 비밀키(E'π(z))를 포함할 수 있다. Referring to FIG. 6, the
이를 위해, 클라이언트(100)는 사전에 사용자로부터 미리 정해진 정책에 따라 패스워드를 선택 및 입력받을 수 있으며, 클라이언트(100)의 패스워드(π)는 사전에 서버(200)에 등록되는 것으로 가정한다. 또한, 클라이언트(100)는 공개키(gz) 및 비밀키(z)를 생성할 수 있고, 패스워드를 이용하여 제 1 해쉬키(H(π))를 생성하고, 패스워드(π)를 이용하여 비밀키(z)를 암호화하여 암호화된 비밀키(E'π(z))를 생성할 수 있다. 클라이언트(100)는 별도의 보안 채널을 이용하여 패스워드 파일을 서버(200)로 전달함으로써 보안성을 유지할 수 있다. To this end, it is assumed that the
클라이언트(100)는 집합 Zq에서 임의의 값(x)을 선택하여 제 1 공개키(gx)를 생성할 수 있다. 클라이언트(100)는 생성원(h)과 제 1 해쉬키(H(π))를 이용하여 중간값(hH (π))을 생성할 수 있다. 그리고, 클라이언트(100)는 제 1 공개키(gx)와 중간값(hH (π))을 연산하여 제 1 암호값(c1)을 생성할 수 있다(c1 ← gx·hH (π)). 클라이언트(100)는 생성된 제 1 암호값(c1)을 서버(200)에 전달할 수 있다. The
서버(200)는 제 1 암호값(c1)과 중간값(hH (π))을 이용하여 제 1 공개키(gx)를 획득할 수 있다(gx ← c1·h-H(π)). 서버(200)는 집합 Zq에서 임의의 값(y)을 선택하여 제 2 공개키(gy)를 생성할 수 있다. 서버(200)는 제 1 공개키(gx) 및 임의의 값(y)을 이용하여 제 1 공통키(K)를 생성할 수 있다(K ← gxy). 서버(200)는 제 1 공통키(K)의 해쉬 함수값을 생성(K1 = H(K∥1))할 수 있고, 생성된 해쉬 함수값은 제 2 해쉬키(K1)로 정의될 수 있다. 서버(200)는 공개키(gz) 및 임의의 값(y)를 이용하여 제 2 공통키(K')를 생성할 수 있다(K' ← gyz). 서버(200)는 제 2 공개키(gy) 및 중간값(hH (π))을 연산하여 제 2 암호값(c2)을 생성할 수 있다(c2 ← gy ·hH(π)). 서버(200)는 암호화된 비밀키(E'π(z))를 제 2 해쉬키(K1)를 이용하여 암호화하여 암호 정보(c)를 생성할 수 있다(c ← EK1(E'π(z)). 서버(200)는 생성된 암호 정보(c) 및 제 2 암호값(c2)을 클라이언트(100)로 전달할 수 있다. The
클라이언트(100)는 제 2 암호값(c2)과 중간값(hH (π))을 이용하여 제 2 공개키(gy)를 획득할 수 있다(gy ← c2·h-H(π)). 클라이언트(100)는 제 2 공개키(gy) 및 임의의 값(x)을 이용하여 제 1 공통키(K)를 생성할 수 있다(K ← gxy). 클라이언트(100)는 제 1 공통키(K)의 해쉬 함수값을 생성(K1 = H(K∥1))할 수 있고, 생성된 해쉬 함수값은 제 2 해쉬키(K1)로 정의될 수 있다. 클라이언트(100)는 암호 정보(c)를 제 2 해쉬키(K1)를 이용하여 복호하여 암호화된 비밀키(E'π(z))를 획득하고, 암호화된 비밀키(E'π(z))를 패스워드(π)를 이용하여 복호하여 비밀키(z)를 획득할 수 있다. 클라이언트(100)는 제 2 공개키(gy) 및 비밀키(z)를 이용하여 제 2 공통키(K')를 생성할 수 있다(K' ← gyz). The
클라이언트(100) 및 서버(200)는 세션키(ssk)를 생성할 수 있다. 클라이언트(100)는 제 1 공통키(K), 제 2 공통키(K'), 및 대칭형 PAKE의 기록 정보 및 암호 정보(c)의 해쉬 함수값을 이용하여 세션키(ssk)를 생성할 수 있다(ssk = H(K∥K'∥Trans)). 여기서, 대칭형 PAKE의 기록 정보는 제 1 암호값(c1) 및 제 2 암호값(c2)의 연접을 의미할 수 있다. 또한, Trans는 제 1 암호값(c1), 제 2 암호값(c2) 및 암호 정보(c)의 연접을 의미할 수 있다. The
상술한 과정들을 통해, 클라이언트(100)와 서버(200)는 2번의 라운드(즉, 공통키(K)를 생성하기까지의 1라운드와 그 이후의 암호 정보(c) 전달 및 복호 과정의 2라운드)를 통해 패스워드의 소유 증명을 완료할 수 있고, 비대칭 패스워드 기반 인증된 키 합의 방법을 수행할 수 있다. Through the above-described processes, the
도 7은 본 발명의 일 실시예에 따른 비대칭 패스워드 기반 키 합의 방법을 실행하는 컴퓨팅 시스템을 보여주는 블록도이다. 7 is a block diagram illustrating a computing system that implements an asymmetric password-based key agreement method in accordance with an embodiment of the present invention.
도 7을 참조하면, 컴퓨팅 시스템(1000)은 시스템 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다. 7, a
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다. The
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.Thus, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.
100: 클라이언트
200: 서버
1000: 컴퓨팅 시스템
1100: 프로세서
1200: 시스템 버스
1300: 메모리
1310: ROM
1320: RAM
1400: 사용자 인터페이스 입력장치
1500: 사용자 인터페이스 출력장치
1600: 스토리지
1700: 네트워크 인터페이스100: Client
200: Server
1000: Computing System
1100: Processor
1200: System bus
1300: Memory
1310: ROM
1320: RAM
1400: User interface input device
1500: User interface output device
1600: Storage
1700: Network interface
Claims (10)
상기 클라이언트 및 서버가 각각 상기 제 1 해쉬키를 이용하여 공통키를 생성하는 단계;
상기 서버가 상기 공통키를 이용하여 제 2 해쉬키를 생성하고, 난수 정보를 생성하는 단계;
상기 서버가 상기 공개키를 이용하여 상기 난수 정보를 암호화하는 단계;
상기 서버가 상기 암호화된 비밀키 및 상기 암호화된 난수 정보를 제 2 해쉬키를 이용하여 암호화하여 암호 정보를 생성하고, 상기 암호 정보를 상기 클라이언트로 전달하는 단계;
상기 클라이언트가 상기 공통키를 이용하여 상기 제 2 해쉬키를 생성하는 단계; 및
상기 클라이언트가 상기 제 2 해쉬키를 이용하여 상기 암호 정보를 복호하고, 상기 패스워드를 이용하여 상기 암호화된 비밀키를 복호하고, 상기 비밀키를 이용하여 상기 암호화된 난수 정보를 복호하는 비대칭 패스워드 기반 인증된 키 합의 방법.Registering, in a server, a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password;
The client and the server each generating the common key using the first hash key;
Generating, by the server, a second hash key using the common key, and generating random number information;
Encrypting the random number information using the public key by the server;
The server encrypting the encrypted secret key and the encrypted random number information using a second hash key to generate encryption information, and transmitting the encryption information to the client;
The client generating the second hash key using the common key; And
The client decrypts the encrypted information using the second hash key, decrypts the encrypted secret key using the password, and decrypts the encrypted random number information using the secret key. Key agreement method.
상기 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계는 보안 채널을 통해 상기 패스워드 파일을 상기 서버로 전달하는 것을 특징으로 하는 비대칭 패스워드 기반 인증된 키 합의 방법.The method according to claim 1,
The step of the client registering the password file including the public key, the first hash key generated using the password, and the secret key encrypted using the password to the server includes transmitting the password file to the server through the secure channel Wherein the asymmetric password-based key agreement method is as follows.
상기 클라이언트가 상기 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계; 및
상기 클라이언트 및 서버가 각각 상기 제 1 해쉬키를 이용하여 공통키를 생성하는 단계는 대칭형 패스워드 기반 키 합의 프로토콜의 적어도 일부를 구성하는 것을 특징으로 하는 비대칭 패스워드 기반 인증된 키 합의 방법.The method according to claim 1,
Registering in the server a password file including the public key, a first hash key generated using a password, and a secret key encrypted using the password; And
Wherein the step of the client and the server generating the common key using the first hash key each comprise at least a part of a symmetric password based key agreement protocol.
상기 클라이언트가 상기 공개키 및 상기 비밀키를 생성하는 단계를 더 포함하고,
상기 클라이언트가 상기 공개키 및 상기 비밀키를 생성하는 단계는 상기 클라이언트가 상기 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계 이전에 수행되는 것을 특징으로 하는 비대칭 패스워드 기반 인증된 키 합의 방법.The method according to claim 1,
Further comprising the client generating the public key and the private key,
The client generates the public key and the secret key by using a password file including the public key, the first hash key generated using the password, and the secret key encrypted using the password, Wherein the authentication is performed prior to the registering step.
상기 클라이언트가 상기 제 1 해쉬키를 이용하여 공통키를 생성하는 단계;
상기 클라이언트가 상기 서버로부터 상기 암호화된 비밀키 및 상기 암호화된 난수 정보를 제 2 해쉬키를 이용하여 암호화한 암호 정보를 수신하는 단계;
상기 클라이언트가 상기 공통키를 이용하여 상기 제 2 해쉬키를 생성하는 단계; 및
상기 클라이언트가 상기 제 2 해쉬키를 이용하여 상기 암호 정보를 복호하고, 상기 패스워드를 이용하여 상기 암호화된 비밀키를 복호하고, 상기 비밀키를 이용하여 상기 암호화된 난수 정보를 복호하는 비대칭 패스워드 기반 인증된 키 합의 방법.Registering, in a server, a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password;
The client generating a common key using the first hash key;
Receiving, by the client, encrypted information obtained by encrypting the encrypted secret key and the encrypted random number information from the server using a second hash key;
The client generating the second hash key using the common key; And
The client decrypts the encrypted information using the second hash key, decrypts the encrypted secret key using the password, and decrypts the encrypted random number information using the secret key. Key agreement method.
상기 서버가 상기 제 1 해쉬키를 이용하여 공통키를 생성하는 단계;
상기 서버가 상기 공통키를 이용하여 제 2 해쉬키를 생성하고, 난수 정보를 생성하는 단계;
상기 서버가 상기 공개키를 이용하여 상기 난수 정보를 암호화하는 단계; 및
상기 서버가 상기 암호화된 비밀키 및 상기 암호화된 난수 정보를 제 2 해쉬키를 이용하여 암호화하여 암호 정보를 생성하고, 상기 암호 정보를 상기 클라이언트로 전달하는 단계를 포함하는 비대칭 패스워드 기반 인증된 키 합의 방법.The server receiving a password file including a public key from a client, a first hash key generated using a password, and a secret key encrypted using the password;
The server generating a common key using the first hash key;
Generating, by the server, a second hash key using the common key, and generating random number information;
Encrypting the random number information using the public key by the server; And
The server encrypting the encrypted secret key and the encrypted random number information using a second hash key to generate encryption information and communicating the encryption information to the client, wherein the asymmetric password based authenticated key agreement Way.
상기 클라이언트 및 서버가 각각 상기 제 1 해쉬키를 이용하여 제 1 공통키를 생성하는 단계;
상기 서버가 상기 제 1 공통키를 이용하여 제 2 해쉬키를 생성하고, 상기 공개키를 이용하여 제 2 공통키 및 공개키 캡슐화 암호문을 생성하는 단계;
상기 서버가 상기 암호화된 비밀키 및 상기 공개키 캡슐화 암호문을 제 2 해쉬키를 이용하여 암호화하여 암호 정보를 생성하고, 상기 암호 정보를 상기 클라이언트로 전달하는 단계;
상기 클라이언트가 상기 제 1 공통키를 이용하여 상기 제 2 해쉬키를 생성하는 단계; 및
상기 클라이언트가 상기 제 2 해쉬키를 이용하여 상기 암호 정보를 복호하고, 상기 패스워드를 이용하여 상기 암호화된 비밀키를 복호하고, 상기 비밀키를 이용하여 상기 공개키 캡슐화 암호문을 복호하는 비대칭 패스워드 기반 인증된 키 합의 방법.Registering, in a server, a password file including a public key, a first hash key generated using a password, and a secret key encrypted using the password;
The client and the server each generating the first common key using the first hash key;
The server generating the second hash key using the first public key and generating the second public key and the public key encapsulated ciphertext using the public key;
The server encrypts the encrypted private key and the public key encapsulated ciphertext using a second hash key to generate cryptographic information, and transmitting the cryptographic information to the client;
The client generating the second hash key using the first common key; And
The client decrypts the cryptographic information using the second hash key, decrypts the encrypted secret key using the password, and decrypts the public key encapsulated ciphertext using the secret key using an asymmetric password-based authentication Key agreement method.
상기 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계는 보안 채널을 통해 상기 패스워드 파일을 상기 서버로 전달하는 것을 특징으로 하는 비대칭 패스워드 기반 인증된 키 합의 방법.8. The method of claim 7,
The step of the client registering the password file including the public key, the first hash key generated using the password, and the secret key encrypted using the password to the server includes transmitting the password file to the server through the secure channel Wherein the asymmetric password-based key agreement method is as follows.
상기 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계; 및
상기 클라이언트 및 서버가 각각 상기 제 1 해쉬키를 이용하여 제 1 공통키를 생성하는 단계는 대칭형 패스워드 기반 키 합의 프로토콜의 적어도 일부를 구성하는 것을 특징으로 하는 비대칭 패스워드 기반 인증된 키 합의 방법.8. The method of claim 7,
Registering in the server a password file including the public key, the first hash key generated using the password, and the secret key encrypted using the password; And
Wherein the step of the client and the server generating the first common key using the first hash key each comprise at least a part of a symmetric password based key agreement protocol.
상기 클라이언트가 상기 공개키 및 상기 비밀키를 생성하는 단계를 더 포함하고,
상기 클라이언트가 상기 공개키 및 상기 비밀키를 생성하는 단계는 상기 클라이언트가 공개키, 패스워드를 이용하여 생성되는 제 1 해쉬키 및 상기 패스워드를 이용하여 암호화된 비밀키를 포함하는 패스워드 파일을 서버에 등록하는 단계 이전에 수행되는 것을 특징으로 하는 비대칭 패스워드 기반 인증된 키 합의 방법.8. The method of claim 7,
Further comprising the client generating the public key and the private key,
The client generates the public key and the secret key by registering the password file including the public key, the first hash key generated using the password, and the secret key encrypted using the password in the server Wherein the authentication is performed prior to the step of authenticating the key.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160082926A KR20180003293A (en) | 2016-06-30 | 2016-06-30 | Method for asymmetric password-based authenticated key exchange |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160082926A KR20180003293A (en) | 2016-06-30 | 2016-06-30 | Method for asymmetric password-based authenticated key exchange |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180003293A true KR20180003293A (en) | 2018-01-09 |
Family
ID=61000712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160082926A KR20180003293A (en) | 2016-06-30 | 2016-06-30 | Method for asymmetric password-based authenticated key exchange |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180003293A (en) |
-
2016
- 2016-06-30 KR KR1020160082926A patent/KR20180003293A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7119040B2 (en) | Data transmission method, device and system | |
US9973334B2 (en) | Homomorphically-created symmetric key | |
US20220158832A1 (en) | Systems and Methods for Deployment, Management and Use of Dynamic Cipher Key Systems | |
US9379891B2 (en) | Method and system for ID-based encryption and decryption | |
CN108282329B (en) | Bidirectional identity authentication method and device | |
CN110771089A (en) | Secure communications providing forward privacy | |
CN111740828A (en) | Key generation method, device and equipment and encryption method | |
EP3476078B1 (en) | Systems and methods for authenticating communications using a single message exchange and symmetric key | |
US11824999B2 (en) | Chosen-plaintext secure cryptosystem and authentication | |
KR101516114B1 (en) | Certificate-based proxy re-encryption method and its system | |
EP3673610B1 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
JP2022537733A (en) | Authenticated key agreement | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
Nunez | Umbral: a threshold proxy re-encryption scheme | |
CN106534077B (en) | A kind of identifiable proxy re-encryption system and method based on symmetric cryptography | |
CN112948867A (en) | Method and device for generating and decrypting encrypted message and electronic equipment | |
Shin et al. | Security analysis of password-authenticated key retrieval | |
CN110677238B (en) | Broadcast encryption method and device | |
Runde et al. | Performance evaluation of an it security layer in real-time communication | |
Arora et al. | Handling Secret Key Compromise by Deriving Multiple Asymmetric Keys based on Diffie-Hellman Algorithm | |
KR20180003293A (en) | Method for asymmetric password-based authenticated key exchange | |
CN114070549A (en) | Key generation method, device, equipment and storage medium | |
CN108737093B (en) | Encryption method, device and system | |
Soman | Lightweight Elliptical Curve Cryptography (ECC) for Data Integrity and User Authentication in Smart Transportation IoT System | |
US11824979B1 (en) | System and method of securing a server using elliptic curve cryptography |