KR20170025815A - Method of a safe id-based mutual authentication against privileged-insider attacks - Google Patents
Method of a safe id-based mutual authentication against privileged-insider attacks Download PDFInfo
- Publication number
- KR20170025815A KR20170025815A KR1020150122806A KR20150122806A KR20170025815A KR 20170025815 A KR20170025815 A KR 20170025815A KR 1020150122806 A KR1020150122806 A KR 1020150122806A KR 20150122806 A KR20150122806 A KR 20150122806A KR 20170025815 A KR20170025815 A KR 20170025815A
- Authority
- KR
- South Korea
- Prior art keywords
- value
- client
- server
- secret value
- secret
- 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/32—Cryptographic 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/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3273—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/32—Cryptographic 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/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 내부 공격에 안전한 ID 기반의 양방향 인증 방법에 관한 것으로, 더욱 상세하게는 클라이언트(디바이스)와 서버 간 양방향 인증에 사용되는 프로토콜에 대해서 안전성을 제공하는 내부 공격에 안전한 ID 기반의 양방향 인증 방법에 관한 것이다.The present invention relates to an ID-based bi-directional authentication method that is secure against an internal attack, and more particularly to an ID-based bi-directional authentication method that provides security against a protocol used for bidirectional authentication between a client (device) .
스마트폰과 같은 스마트 디바이스의 등장으로 뱅킹, 쇼핑 등 다양한 인터넷 서비스를 시간, 공간 제약 없이 받을 수 있게 되었으며, 더 나아가 사물인터넷(Internet of Things, IoT) 환경에서는 일상생활 속 디바이스가 인터넷에 연결되어 서로 통신이 가능해졌다.With the advent of smart devices such as smart phones, various internet services such as banking and shopping can be received without time and space restrictions. Furthermore, in the Internet of Things (IoT) environment, devices in everyday life are connected to the Internet Communication became possible.
사물인터넷 환경을 구성하는 디바이스는 다양한 크기와 성능을 가지고 있으므로 자가 배터리가 없는 센서와 같은 저사양 디바이스를 기준으로 프로토콜을 설계하는 것이 필요하다.Since the devices that make up the Internet environment have various sizes and performances, it is necessary to design protocols based on low-end devices such as sensors without self-battery.
현재 클라이언트-서버 간 인증은 인증서를 이용한 공개키 기반 구조(PKI)의 인증을 사용하고 있으나 이러한 인증서를 이용할 경우 인증서를 주기적으로 갱신해야 하는 문제가 발생한다.Currently, client - server authentication uses public key infrastructure (PKI) authentication using certificates. However, if certificates are used, certificate renewal periodically occurs.
또한 사물인터넷 환경에서 상기 인증서를 이용할 경우 저성능 디바이스뿐만 아니라 물리적 환경에 의하여 통신 접속을 간헐적으로 하는 디바이스들의 경우 현재와 같이 인증서를 지속적으로 관리하는 것은 불가능하므로 기존 공개키 기반 구조의 인증은 사물인터넷 환경에 적합하지 않다.In addition, when using the certificate in the object internet environment, it is not possible to continuously manage the certificate as in the present case in the case of devices that intermittently perform communication access due to the physical environment as well as low performance devices. Therefore, Not suitable for environment.
본 발명은 상술한 종래기술의 문제점을 극복하기 위한 것으로, 클라이언트 측에서 해쉬 함수와 타원곡선 군 연산만을 이용하여 인증을 수행하는 효율적인 양방향 인증 방법을 제공하는 것에 그 목적이 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide an efficient two-way authentication method for performing authentication using only a hash function and an elliptic curve group operation on the client side.
또한 본 발명은 설계 프로토콜이 PKI 인증과 ID 기반 인증의 장점을 합쳐 인증서 문제가 발생하지 않고 서버는 클라이언트의 전체 비밀키를 알 수 없으므로 서버의 마스터키를 알고 있더라도 위장 공격을 성공할 수 없는 양방향 인증 방법을 제공하는 것에 그 목적이 있다.Also, since the design protocol does not have a certificate problem due to the advantages of the PKI authentication and the ID-based authentication, the server can not know the entire secret key of the client. Therefore, even if the server master key is known, And the like.
본 발명은 서버가 해쉬함수 및 타원곡선 군을 포함하는 공개파라미터와 마스터키를 생성하고 클라이언트로부터 클라이언트 아이디와 제 1 클라이언트 챌린지 값을 수신하는 단계와, 상기 서버가 수신한 상기 클라이언트 아이디를 검증하고, 서버 비밀값과 제 1 서버 챌린지 값을 생성하여 상기 클라이언트로 전송함으로써, 상기 클라이언트가 클라이언트 비밀값과 상기 클라이언트 비밀값을 포함하는 제 1 무결성 보장값을 생성하도록 유도하는 단계와, 상기 서버가 상기 클라이언트로부터 상기 제 1 무결성 보장값을 수신하여 데이터 변조 여부를 검증하고, 상기 제 1 무결성 보장값에 포함된 상기 클라이언트 비밀값에 상기 서버 비밀값 포함 여부를 검증하는 단계 및 상기 서버가 제 2 무결정 보장값을 생성하여 상기 클라이언트로 전송함으로써 상기 클라이언트로 하여금 제 1 공유세션키를 생성하도록 유도하는 단계를 포함하되, 상기 클라이언트 비밀값은 상기 서버 비밀값에 상기 클라이언트에서 선택한 임의의 값을 추가하여 생성하는 것을 특징으로 한다.The present invention is characterized in that a server generates a public key and a master key including a hash function and an elliptic curve group, receives a client ID and a first client challenge value from a client, verifies the client ID received by the server, Generating a server secret value and a first server challenge value and transmitting the server secret value and the first server challenge value to the client so as to induce the client to generate a first integrity guarantee value including the client secret value and the client secret value; Verifying whether or not the server secret value is included in the client secret value included in the first integrity guarantee value by verifying whether or not data is modulated by receiving the first integrity guarantee value from the first integrity guarantee value, And transmitting the generated value to the client, But allows the client comprises induction to generate a first shared session key, the client secret value is characterized in that it is generated by adding a random value chosen by the client to the server secret value.
본 발명에 따른 내부 공격에 안전한 ID 기반의 양방향 인증 방법에 있어서, 상기 클라이언트 비밀값에 상기 서버 비밀값 포함 여부를 검증하는 단계는 상기 클라이언트 비밀값에 겹선형 함수를 이용하여 상기 서버 비밀값의 포함 여부를 검증하는 것을 특징으로 한다.In the ID-based two-way authentication method safe for an internal attack according to the present invention, the step of verifying whether or not the server secret value is included in the client secret value may include inserting the server secret value into the client secret value using a double linear function And the like.
본 발명에 따른 내부 공격에 안전한 ID 기반의 양방향 인증 방법에 있어서, 상기 서버가 상기 클라이언트로부터 상기 제 1 공유세션키를 포함하는 제 3 무결성 보장값을 수신하는 단계 및 상기 서버가 제 2 공유세션키를 생성하고, 상기 제 2 공유세션키를 포함하는 제 4 무결성 보장값을 생성하여 제 3 무결성 보장값과 값이 일치하는지 확인하는 단계를 더 포함하는 것을 특징으로 한다.A method for bi-directional authentication based on an ID, the method comprising: receiving from the client a third integrity guarantee value including the first shared session key; and transmitting, by the server, And generating a fourth integrity security value including the second shared session key to confirm whether the third integrity security value matches the third integrity security value.
또한 본 발명은 클라이언트가 클라이언트 아이디와 제 1 클라이언트 챌린지값을 생성하여 서버로 전송함으로써 상기 서버가 서버 비밀값과 제 1 서버 챌린지값을 생성하도록 유도하는 단계와, 상기 클라이언트가 상기 서버로부터 상기 서버 비밀값과 상기 제 1 서버 챌린지값을 수신하여 상기 서버 비밀값을 검증하고, 상기 서버 비밀값에 상기 클라이언트에서 선택한 임의의 값을 추가하여 클라이언트 비밀값을 생성하는 단계와, 상기 클라이언트가 상기 클라이언트 비밀값을 포함하는 제 1 무결성 보장값을 생성하여 상기 서버로 전송함으로써 상기 서버가 상기 클라이언트 비밀값을 검증하여 제 2 무결성 보장값을 생성하도록 유도하는 단계 및 상기 클라이언트가 상기 서버로부터 상기 제 2 무결성 보장값을 수신하여 변조 여부를 검증하고, 상기 검증 완료 후 제 1 공유세션키를 생성하는 단계를 포함하되, 상기 클라이언트 비밀값을 검증하는 것은 상기 서버가 상기 클라이언트 비밀값에 상기 서버 비밀값 포함 여부를 검증하는 것을 특징으로 한다.The method further comprises the steps of: the client generating a client ID and a first client challenge value to send to the server to cause the server to generate a server secret value and a first server challenge value; Value and the first server challenge value to verify the server secret value and adding a random value selected by the client to the server secret value to generate a client secret value; Generating a first integrity assurance value by sending a first integrity assurance value to the server, the server verifying the client secret value to generate a second integrity assurance value, and sending the second integrity assurance value to the server, And verifies whether it is modulated. If the verification And generating a first shared session key after completion, wherein verifying the client secret value verifies whether the server includes the server secret value in the client secret value.
본 발명에 따른 내부 공격에 안전한 ID 기반의 양방향 인증 방법에 있어서, 상기 서버가 상기 클라이언트 비밀값에 상기 서버 비밀값 포함 여부를 검증하는 것은 상기 클라이언트 비밀값에 겹선형 함수를 이용하여 상기 서버 비밀값의 포함 여부를 검증하는 것을 특징으로 한다.In the ID-based two-way authentication method that is safe for an internal attack according to the present invention, the server verifies whether the server secret value is included in the client secret value by comparing the server secret value with the server secret value Is verified.
본 발명에 따른 내부 공격에 안전한 ID 기반의 양방향 인증 방법에 있어서, 상기 클라이언트가 제 1 공유세션키를 포함하는 제 3 무결성 보장값을 생성하는 단계 및 상기 제 3 무결성 보장값을 상기 서버로 전송함으로써, 상기 서버가 제 2 공유세션키를 생성하고, 상기 제 2 공유세션키를 포함하는 제 4 무결성 보장값을 생성하여 제 3 무결성 보장값과 값이 일치하는지 확인하도록 유도하는 단계를 더 포함하는 것을 특징으로 한다.In an ID-based two-way authentication method that is secure against an internal attack according to the present invention, the method includes: generating a third integrity guarantee value including the first shared session key by the client; and transmitting the third integrity guarantee value to the server , The server generating a second shared session key, and generating a fourth integrity-guaranteed value including the second shared-session key to induce the third integrity-guaranteed value to match the value .
상기와 같이 구성된 본 발명에 따른 내부 공격에 안전한 ID 기반의 양방향 인증 방법에 의하면, 클라이언트 측에서 해쉬 함수와 타원곡선 군 연산만을 이용하여 인증을 수행하는 효율적인 양방향 인증 방법을 제공할 수 있다.According to the ID-based bi-directional authentication method of the present invention configured as described above, an efficient bi-directional authentication method for performing authentication using only a hash function and an elliptic curve group operation on the client side can be provided.
또한 본 발명은 설계 프로토콜이 PKI 인증과 ID 기반 인증의 장점을 합쳐 인증서 문제가 발생하지 않고 서버는 클라이언트의 전체 비밀키를 알 수 없으므로 서버의 마스터키를 알고 있더라도 위장 공격을 성공할 수 없는 양방향 인증 방법을 제공할 수 있다.Also, since the design protocol does not have a certificate problem due to the advantages of the PKI authentication and the ID-based authentication, the server can not know the entire secret key of the client. Therefore, even if the server master key is known, Can be provided.
도 1은 본 발명의 바람직한 실시 예에 따른 내부 공격에 안전한 ID 기반의 양방향 인증 방법을 나타내는 순서도이다.
도 2는 본 발명의 일 실시 예에 따른 클라이언트 등록 과정을 나타내는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 양방향 인증 과정을 나타내는 도면이다.FIG. 1 is a flowchart illustrating an ID-based bi-directional authentication method that is secure against an internal attack according to a preferred embodiment of the present invention.
2 is a diagram illustrating a client registration process according to an embodiment of the present invention.
3 is a diagram illustrating a bidirectional authentication process according to an exemplary embodiment of the present invention.
본 발명은 다양한 변형 및 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.The present invention may have various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
우선 본 발명에 설명하기에 앞서 본 발명에서 사용되는 겹선형 함수에 대해서 설명하겠다. 겹선형 함수는 수학식 1과 같이 표현된다.First, a description will be given of the folded linear function used in the present invention before describing the present invention. The folded linear function is expressed by Equation (1).
수학식 1로 표현되는 겹선형 함수는 겹선형 성질을 만족하는 함수를 의미하며 여기서 겹선형 성질은 수학식 2와 같이 표현된다.The folded linear function expressed by Equation (1) means a function satisfying the folded linear property, where the folded linear property is expressed as Equation (2).
수학식 2와 같은 겹선형 성질을 이용하여 수학식 3을 쉽게 도출할 수 있다.Equation (3) can be easily derived using the double linear property as shown in Equation (2).
다음으로는 도면을 참조하여 본 발명에 대해서 상세히 설명하겠다. 도 1은 본 발명의 바람직한 실시 예에 따른 내부 공격에 안전한 ID 기반의 양방향 인증 방법을 나타내는 순서도이다. 우선 본 발명은 클라이언트(100)와 서버(200)로 구성되어 있다.Hereinafter, the present invention will be described in detail with reference to the drawings. FIG. 1 is a flowchart illustrating an ID-based bi-directional authentication method that is secure against an internal attack according to a preferred embodiment of the present invention. First, the present invention comprises a
도 1을 참조하면 본 발명은 크게 시스템 셋업 단계, 클라이언트 등록 단계, 양방향 인증 단계로 구성된다. 먼저 시스템 셋업 단계로 서버(200)가 마스터키와 공개파라미터를 생성한다(S10). 보다 구체적으로 서버(200)는 위수가 소수 p인 타원곡선 E(Fq)위의 군 G를 선택한다.Referring to FIG. 1, the present invention mainly comprises a system setup step, a client registration step, and a bidirectional authentication step. First, in the system setup step, the
이후, 마스터키로 사용할 임의의 값 x(x∈Zp *)를 선택하고 X=xP를 계산하여 마스터키를 숨긴다. 여기서 X는 마스터키를 숨기기 위한 값을 의미하며 P는 상수를 의미한다. 다음으로 서버는 수학식 4와 같이 암호학적 해쉬함수를 선택한다. 또한 공개파라미터는 수학식 5와 같이 표현된다.Then, select an arbitrary value x (x∈Z p * ) to be used as a master key and calculate X = xP to hide the master key. Where X is a value for hiding the master key and P is a constant. Next, the server selects a cryptographic hash function as shown in equation (4). The disclosure parameter is also expressed as Equation (5).
다음은 클라이언트 등록 단계로, 클라이언트(100)가 클라이언트 아이디와 제 1 클라이언트 챌린지값을 생성하여 서버(200)로 전송한다(S20). 여기서 제 1 클라이언트 챌린지값은 클리이언트(100)에서 선택한 임의의 값을 상수 P를 이용하여 계산한 값을 의미한다.Next, in the client registration step, the
다음으로 클라이언트(100)로부터 클라이언트 아이디와 제 1 클라이언트 챌린지값을 수신한 서버(200)는 클라이언트 아이디 검증 및 서버 비밀값과 제 1 서버 챌린지값을 생성하여 클라이언트로 전송한다(S30). 서버(200)에서 검증하는 클라이언트 아이디는 오프라인에서 검증하는 것으로 핸드폰을 이용한 검증, 공인인증서를 이용한 검증 등 다양한 오프라인 검증을 이용할 수 있다.Next, the
서버 비밀값과 제 1 서버 챌린지값을 수신한 클라이언트(100)는 수신한 서버 비밀값을 검증하고, 이를 이용하여 클라이언트 비밀값을 생성한다(S40). 이상 S20단계에서 S40단계까지가 클라이언트 등록 단계로, 보다 구체적인 사항은 도 2를 참조하여 설명하겠다.Upon receiving the server secret value and the first server challenge value, the
도 2는 본 발명의 일 실시 예에 따른 클라이언트 등록 과정을 나타내는 도면이다. 도 2를 참조하면, 먼저 클라이언트(100)는 임의의 값 rc(rc∈Zp *)를 선택하여 제 1 클라이언트 챌린지값 Rc를 수학식 6과 같이 계산하고, 서버(200)에게 클라이언트 아이디 IDc와 제 1 클라이언트 챌린지 값을 전송한다.2 is a diagram illustrating a client registration process according to an embodiment of the present invention. 2, first, the
다음으로 서버(200)는 클라이언트 아이디 검증을 수행하는데 여기서 검증은 상기 설명한 바와 같이 오프라인 검증으로 핸드폰을 통한 아이디 검증, 공인인증서를 통한 아이디 검증 등과 같이 다양한 오프라인 검증 방법을 이용하여 검증할 수 있다. 검증 완료 후 서버(200)는 임의의 값 rs(rs∈Zp *)를 선택하여 제 1 서버 챌린지값 Rs를 수학식 7과 같이 계산하고, 서버 비밀값 sks를 수학식 8을 통해 생성한 뒤 클라이언트(100)에 서버 비밀값과 제 1 서버 챌린지값을 전송한다.Next, the
서버(200)로부터 서버 비밀값과 제 1 서버 챌린지값을 수신한 클라이언트(100)는 수신한 값들을 검증하기 서버 비밀값과 제 1 서버 챌린지 값을 이용한 수학식 9가 성립되는지 검증한다. 검증이 완료될 경우 클라이언트(100)는 클라이언트 비밀값 skc를 수학식 10과 같이 설정한다.Upon receiving the server secret value and the first server challenge value from the
이상으로 클라이언트 등록 단계에 대해서 설명하였다. 다음으로 다시 도 1로 돌아가 클라이언트 등록 이후 양방향 인증 단계에 대해서 설명하겠다.The client registration step has been described above. Next, I will go back to Fig. 1 and explain the bidirectional authentication step after client registration.
클라이언트 비밀값 생성 이후 클라이언트(100)는 클라이언트 비밀값과 공개파리미터를 이용하여 제 1 무결성 보장값을 생성하고, 생성된 제 1 무결성 보장값을 서버로 전송한다(S50). 여기서 제 1 무결성 보장값은 클라이언트(100)가 선택한 다른 임의의 값과 클라이언트 비밀값 및 공개파라미터를 이용하여 생성한 값들의 무결성(integrity)을 보장하는 값을 의미한다.After generating the client secret value, the
제 1 무결성 보장값을 수신한 서버(200)는 제 1 무결성 보장값의 변조 여부를 검증하고, 클라이언트 비밀값에 서버 비밀값 포함 여부를 검증한다(S60). 여기서 서버(200)는 클라이언트(100)로부터 수신한 제 1 무결성 보장값으로부터 복원한 데이터와 상기 설명한 겹선형 함수를 이용하여 클라이언트 비밀값에 서버 비밀값이 포함되어 있는지 여부를 확인한다.The
다음으로 클라이언트 비밀값에 서버 비밀값이 포함되어 있는 경우 서버(200)가 제 2 무결성 보장값을 생성하여 클라이언트(100)로 전송한다(S70). 여기서 서버(200)는 서버(200)가 선택한 다른 임의의 값과 이를 이용한 제 2 서버 챌린지값 및 서버(200)의 마스터키를 이용하여 제 2 무결성 보장값을 생성하고, 생성된 제 2 무결성 보장값을 클라이언트(100)로 전송한다.Next, when the server secret value is included in the client secret value, the
제 2 무결성 보장값을 수신한 클라이언트(100)는 제 2 무결성 보장값의 변조 여부를 검증하고, 검증이 완료되면 클라이언트(100)는 생성한 제 1 무결성 보장값과 서버(200)로부터 수신한 제 2 무결성 보장값을 이용하여 클라이언트(100)와 서버(200) 간의 양방향 통신을 위한 제 1 공유세션키를 생성하며, 생성된 제 1 공유세션키를 포함하는 제 3 무결성 보장값을 서버(200)로 전송한다(S80).Upon completion of the verification, the
마지막으로 서버(200)는 생성한 제 2 무결성 보장값과 클라이언트(100)로부터 수신한 제 1 무결성 보장값을 이용하여 제 2 공유세션키를 생성하고, 생성된 제 2 공유세션키와 클라이언트(100)로부터 수신한 제 1 공유세션키가 일치하는지 확인한다(S90). 확인 결과 제 1 공유 세션키와 제 2 공유세션키가 동일하면 양방향 인증이 완료된 것으로 판단하고 양방향 통신을 진행할 수 있다.Finally, the
상기 양방향 인증 단계는 도 3을 이용하여 더 구체적으로 설명하겠다. 도 3은 본 발명의 일 실시 예에 따른 양방향 인증 과정을 나타내는 도면으로, 도 3을 참조하면, 먼저 클라이언트(100)는 임의의 값 rc'를 선택하고 클라이언트 비밀값 skc와 공개파라미터 PP를 이용하여 수학식 11과 같이 각각의 값들을 계산하여 생성한다.The bi-directional authentication step will be described in more detail with reference to FIG. 3, the
생성된 값들은 무결성(integrity)을 보장할 수 있도록, 수학식 12와 같이 계산하고, 제 1 무결성 보장값인 을 서버(200)에 전송한다. 여기서 수학식 11에서 계산한 로부터 클라이언트 아이디인 IDc를 알아낼 수 없으므로 제 3 자로부터 클라이언트(100)의 익명성이 보장된다.The generated values are calculated as shown in Equation (12) so as to ensure integrity, and the first integrity guarantee value To the server (200). In this case, The anonymity of the
다음으로 서버(200)는 수신한 제 1 무결성 보장값에 포함된 값들을 이용하여 수학식 12를 다시 계산하고, 수신한 제 1 무결성 보장값에 포함된 h1과 비교하여 데이터 변조 여부를 검증한다. 검증을 통과할 경우 마스터기와 전송받은 M1을 이용하여 수학식 13과 같이 제 2 클라이언트 챌린지값인 Rc'을 복원하고 복원된 제 2 클라이언트 챌린지값을 이용하여 수학식 14와 같이 클라이언트의 아이디를 알아낸다.Next, the
제 2 클라이언트 챌린지값과 클라이언트 아이디 복원 이후, 서버(200)는 전송받은 M2를 이용하여 클라이언트 비밀값 skc에 등록단계에서 서버(200)가 생성한 비밀값 sks가 포함되어 있는지 여부를 수학식 15와 같이 검증한다.Second mathematical whether after the client challenge value and the client ID restored, the
수학식 15에서 최초 좌변과 최종 우변을 살펴보면 서버(200)가 전송받은 M2, 상수 P, 제 2 클라이언트 챌린지값 Rc', 제 1 클라이언트 챌린지값 Rc, 서버 비밀값 sks로 계산 가능하다. 즉, 서버(200)만 해당 값의 정당성을 검증할 수 있다. 여기서 클라이언트(100)의 조작으로 클라이언트 비밀값에 서버 비밀값이 포함되지 않는다면 수학식 15의 검증식을 통과할 수 없다. 또한, 서버(200)는 클라이언트 비밀값에 대한 정당성을 검증하는 과정에서 클라이언트 비밀값에 대한 직접적인 정보를 얻지 못한다.In the equation (15), the
더불어서 클라이언트 아이디로 위장하여 수학식 15의 검증을 통과하려면 정당한 M2=skcrc'P를 생성할 수 있어야 하나 새로운 세션에서 인증을 수행할 시 rc'이 변경되므로 서버(200)는 정당한 M2를 생성할 수 없다. 따라서 내부자 공격에 대하여 안정성을 보장할 수 있게 된다.In addition, in order to pass the verification of Equation (15) by disguising as a client ID, it is necessary to be able to generate a valid M 2 = sk c r c 'P, but when the authentication is performed in a new session, r c ' M 2 can not be generated. Therefore, stability against insider attack can be guaranteed.
다음으로 클라이언트(100)에 대한 검증이 완료된 후, 서버(200)는 임의의 값 rs'(rs'∈Zp *)를 선택하여 제 2 서버 챌린지값 Rs'를 생성하고, 서버(200)의 마스터키와 제 1 무결성 보장값에 포함된 M2를 이용하여 M3를 생성한다. 여기서 제 2 서버 챌린지값과 M3는 수학식 16과 같이 계산하여 생성한다.Next, after the verification of the
이후, 서버(200)는 무결성을 보장하기 위한 수학식 17과 같이 계산하고, 제 2 무결성 보장값인 (Rs', h2)를 클라이언트(100)로 전송한다.Then, the
서버(200)로부터 제 2 무결성 보장값을 수신한 클라이언트(100)는 수학식 17과 수학식 18을 이용하여 전송받은 제 2 무결성 보장값이 변조되었는지 검증한다.Upon receiving the second integrity guarantee value from the
클라이언트(100)는 제 2 무결성 보장값의 검증이 완료되면, 클라이언트-서버 세션키 생성 난수인 Kcs를 수학식 19와 같이 생성하여 제 1 공유세션키 SKcs를 생성한다.When the verification of the second integrity guarantee value is completed, the
여기서 제 1 공유세션키는 수학식 20과 같이 계산을 통해 생성한다.Here, the first shared session key is generated through calculation as shown in Equation (20).
다음으로 클라이언트(100)는 제 1 공유세션키를 포함하는 제 3 무결성 보장값을 생성하여 서버(100)로 전송한다. 제 3 무결성 보장값은 수학식 21과 같다.Next, the
마지막으로 제 3 무결성 보장값을 수신한 서버(200)는 서버-클라이언트 세션키 생성 난수인 Ksc를 수학식 22와 같이 생성하여 제 2 공유세션키 SKsc를 생성한다.Finally, the
여기서 제 2 공유세션키는 수학식 23과 같이 계산을 통해 생성한다.Here, the second shared session key is generated through calculation as shown in Equation (23).
다음으로 서버(200)는 제 2 공유세션키를 포함하는 제 4 무결성 보장값을 생성하여 클라이언트(100)로 받은 제 3 무결성 보장값과 일치하는지 확인한다. 제 4 무결성 보장값은 수학식 24와 같다.Next, the
이를 통해 제 3 무결성 보장값과 제 4 무결성 보장값이 동일한 경우 클라이언트(100)와 서버(200)가 서로 인증을 하고, 세션키를 공유한 상태가 된다.Accordingly, when the third integrity guarantee value and the fourth integrity guarantee value are equal to each other, the
상기와 같이 구성된 본 발명에 따른 내부 공격에 안전한 ID 기반의 양방향 인증 방법에 의하면, 설계 프로토콜이 PKI 인증과 ID 기반 인증의 장점을 합쳐 인증서 문제가 발생하지 않고 서버는 클라이언트의 전체 비밀키를 알 수 없으므로 서버의 마스터키를 알고 있더라도 위장 공격을 성공할 수 없는 양방향 인증 방법을 제공할 수 있다.According to the ID-based bi-directional authentication method of the present invention configured as described above, the design protocol combines the advantages of the PKI authentication and the ID-based authentication so that the certificate problem does not occur and the server knows the entire secret key of the client It is possible to provide a two-way authentication method that can not succeed in spoofing attacks even if the master key of the server is known.
본 명세서에 기재된 본 발명의 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시 예에 관한 것이고, 발명의 기술적 사상을 모두 포괄하는 것은 아니므로, 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 따라서 본 발명은 상술한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 권리범위 내에 있게 된다.The embodiments of the present invention described in the present specification and the configurations shown in the drawings relate to the most preferred embodiments of the present invention and are not intended to encompass all of the technical ideas of the present invention so that various equivalents It should be understood that water and variations may be present. Therefore, it is to be understood that the present invention is not limited to the above-described embodiments, and that various modifications may be made without departing from the spirit and scope of the invention as defined in the appended claims. , Such changes shall be within the scope of the claims set forth in the claims.
100: 클라이언트
200: 서버100: Client
200: Server
Claims (6)
상기 서버가 수신한 상기 클라이언트 아이디를 검증하고, 서버 비밀값과 제 1 서버 챌린지 값을 생성하여 상기 클라이언트로 전송함으로써, 상기 클라이언트가 클라이언트 비밀값과 상기 클라이언트 비밀값을 포함하는 제 1 무결성 보장값을 생성하도록 유도하는 단계;
상기 서버가 상기 클라이언트로부터 상기 제 1 무결성 보장값을 수신하여 데이터 변조 여부를 검증하고, 상기 제 1 무결성 보장값에 포함된 상기 클라이언트 비밀값에 상기 서버 비밀값 포함 여부를 검증하는 단계; 및
상기 서버가 제 2 무결정 보장값을 생성하여 상기 클라이언트로 전송함으로써 상기 클라이언트로 하여금 제 1 공유세션키를 생성하도록 유도하는 단계;를 포함하되,
상기 클라이언트 비밀값은,
상기 서버 비밀값에 상기 클라이언트에서 선택한 임의의 값을 추가하여 생성하는 것을 특징으로 하는 내부 공격에 안전한 ID 기반 양방향 인증 방법.Generating a public key and a master key including a hash function and an elliptic curve group and receiving a client ID and a first client challenge value from a client;
The server verifies the client ID received by the server, generates a server secret value and a first server challenge value, and transmits the server secret value and the first server challenge value to the client so that the client transmits a first integrity guarantee value including the client secret value and the client secret value ;
Verifying whether or not data is modulated by receiving the first integrity guarantee value from the client, and verifying whether the server secret value is included in the client secret value included in the first integrity guarantee value; And
And inducing the client to generate a first shared session key by the server generating and sending a second non-deterministic guarantee value to the client,
The client secret value,
And adding an arbitrary value selected by the client to the server secret value to generate an ID-based two-way authentication method.
상기 클라이언트 비밀값에 상기 서버 비밀값 포함 여부를 검증하는 단계는,
상기 클라이언트 비밀값에 겹선형 함수를 이용하여 상기 서버 비밀값의 포함 여부를 검증하는 것을 특징으로 하는 내부 공격에 안전한 ID 기반 양방향 인증 방법.The method according to claim 1,
The step of verifying whether the client secret value includes the server secret value includes:
And verifying whether or not the secret value of the server is included in the client secret value by using a linear function.
상기 서버가 상기 클라이언트로부터 상기 제 1 공유세션키를 포함하는 제 3 무결성 보장값을 수신하는 단계; 및
상기 서버가 제 2 공유세션키를 생성하고, 상기 제 2 공유세션키를 포함하는 제 4 무결성 보장값을 생성하여 제 3 무결성 보장값과 값이 일치하는지 확인하는 단계;를 더 포함하는 것을 특징으로 하는 내부 공격에 안전한 ID 기반 양방향 인증 방법.The method according to claim 1,
Receiving, by the server, a third integrity guarantee value including the first shared session key from the client; And
The server generating a second shared session key and generating a fourth integrity guarantee value including the second shared session key to confirm that the value matches the third integrity guarantee value, ID-based two-way authentication method that is secure against internal attack.
상기 클라이언트가 상기 서버로부터 상기 서버 비밀값과 상기 제 1 서버 챌린지값을 수신하여 상기 서버 비밀값을 검증하고, 상기 서버 비밀값에 상기 클라이언트에서 선택한 임의의 값을 추가하여 클라이언트 비밀값을 생성하는 단계;
상기 클라이언트가 상기 클라이언트 비밀값을 포함하는 제 1 무결성 보장값을 생성하여 상기 서버로 전송함으로써 상기 서버가 상기 클라이언트 비밀값을 검증하여 제 2 무결성 보장값을 생성하도록 유도하는 단계; 및
상기 클라이언트가 상기 서버로부터 상기 제 2 무결성 보장값을 수신하여 변조 여부를 검증하고, 상기 검증 완료 후 제 1 공유세션키를 생성하는 단계;를 포함하되,
상기 클라이언트 비밀값을 검증하는 것은,
상기 서버가 상기 클라이언트 비밀값에 상기 서버 비밀값 포함 여부를 검증하는 것을 특징으로 하는 내부 공격에 안전한 ID 기반 양방향 인증 방법.Directing the client to generate a client identity and a first client challenge value and send the server identity to the server to generate a server secret value and a first server challenge value;
Wherein the client receives the server secret value and the first server challenge value from the server to verify the server secret value and adds a random value selected by the client to the server secret value to generate a client secret value ;
The client generating a first integrity assurance value including the client secret value and sending the first integrity assurance value to the server so that the server verifies the client secret value to generate a second integrity assurance value; And
Wherein the client receives the second integrity assurance value from the server and verifies whether it is tampered with, and after the verification is completed, generating a first shared session key,
Verifying the client secret value comprises:
Wherein the server verifies whether the server secret value is included in the client secret value.
상기 서버가 상기 클라이언트 비밀값에 상기 서버 비밀값 포함 여부를 검증하는 것은,
상기 클라이언트 비밀값에 겹선형 함수를 이용하여 상기 서버 비밀값의 포함 여부를 검증하는 것을 특징으로 하는 내부 공격에 안전한 ID 기반 양방향 인증 방법.5. The method of claim 4,
Wherein the server verifies whether the server secret value is included in the client secret value,
And verifying whether or not the secret value of the server is included in the client secret value by using a linear function.
상기 클라이언트가 제 1 공유세션키를 포함하는 제 3 무결성 보장값을 생성하는 단계; 및
상기 제 3 무결성 보장값을 상기 서버로 전송함으로써, 상기 서버가 제 2 공유세션키를 생성하고, 상기 제 2 공유세션키를 포함하는 제 4 무결성 보장값을 생성하여 제 3 무결성 보장값과 값이 일치하는지 확인하도록 유도하는 단계;를 더 포함하는 것을 특징으로 하는 내부 공격에 안전한 ID 기반 양방향 인증 방법.5. The method of claim 4,
The client generating a third integrity assurance value including a first shared session key; And
By sending the third integrity assurance value to the server, the server generates a second shared session key, generates a fourth integrity assurance value including the second shared session key, and transmits a third integrity assurance value and a value The authentication method comprising the steps of: (a) authenticating a user of the authentication server;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150122806A KR101720630B1 (en) | 2015-08-31 | 2015-08-31 | Method of a safe id-based mutual authentication against privileged-insider attacks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150122806A KR101720630B1 (en) | 2015-08-31 | 2015-08-31 | Method of a safe id-based mutual authentication against privileged-insider attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170025815A true KR20170025815A (en) | 2017-03-08 |
KR101720630B1 KR101720630B1 (en) | 2017-03-28 |
Family
ID=58403861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150122806A KR101720630B1 (en) | 2015-08-31 | 2015-08-31 | Method of a safe id-based mutual authentication against privileged-insider attacks |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101720630B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547400A (en) | 2017-09-22 | 2019-03-29 | 三星电子株式会社 | The server registration method of communication means, integrity verification method and client |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100548354B1 (en) | 2003-06-14 | 2006-02-02 | 엘지전자 주식회사 | Client authentication method in synchronization protocol |
-
2015
- 2015-08-31 KR KR1020150122806A patent/KR101720630B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100548354B1 (en) | 2003-06-14 | 2006-02-02 | 엘지전자 주식회사 | Client authentication method in synchronization protocol |
Non-Patent Citations (2)
Title |
---|
Chien-Lung Hsu 외 2명, A Novel Remote User Authentication Scheme from Bilinear Pairings Via Internet, Wireless Pers Commun, pp.163-174, Springer, (2015.02.22.)* * |
SK Hafizul Islam 외 1명, An improved ID-based client authentication with key agreement scheme on ECC for mobile client-server environment, Theoretical and Applied Informatics, Vol.24 (2012)* * |
Also Published As
Publication number | Publication date |
---|---|
KR101720630B1 (en) | 2017-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9853816B2 (en) | Credential validation | |
CN110268676B (en) | Private key calculation system and method for identity-based self-authentication signature scheme | |
KR102549272B1 (en) | Method and Apparatus for Authenticated Key Exchange Using Password and Identity-based Signature | |
US9621545B2 (en) | System and method for connecting client devices to a network | |
US10015159B2 (en) | Terminal authentication system, server device, and terminal authentication method | |
CN108366063B (en) | Data communication method and device of intelligent equipment and equipment thereof | |
Ha et al. | Efficient authentication of resource-constrained IoT devices based on ECQV implicit certificates and datagram transport layer security protocol | |
US10158636B2 (en) | Method for setting up a secure end-to-end communication between a user terminal and a connected object | |
CN110959163A (en) | Computer-implemented system and method for enabling secure storage of large blockchains on multiple storage nodes | |
CN110402560B (en) | System and method for computing public session keys in identity-based authenticated key exchange scheme with forward security | |
WO2014069985A1 (en) | System and method for identity-based entity authentication for client-server communications | |
JP2011504318A (en) | One-way access authentication method | |
JP2013175040A (en) | Authentication authority transfer system, information terminal, token issuing station, service providing device, authentication authority transfer method, and program | |
US11044081B2 (en) | System and method for obtaining a common session key between devices | |
KR20110083886A (en) | Apparatus and method for other portable terminal authentication in portable terminal | |
EP3544226A1 (en) | Unified secure device provisioning | |
WO2015149658A1 (en) | Entity authentication method and device | |
KR20160013135A (en) | Secured data channel authentication implying a shared secret | |
CN108259486B (en) | End-to-end key exchange method based on certificate | |
US20140157385A1 (en) | Method for authentication, RF chip document, RF chip reader and computer program products | |
CN116170144B (en) | Smart power grid anonymous authentication method, electronic equipment and storage medium | |
KR101720630B1 (en) | Method of a safe id-based mutual authentication against privileged-insider attacks | |
CN111182004A (en) | SSL handshake method, device and equipment | |
CN109088732B (en) | CA certificate implementation method based on mobile terminal | |
KR100529594B1 (en) | Method for verifying public key in different certification domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200128 Year of fee payment: 4 |