KR101645705B1 - Method for authentication between devices - Google Patents

Method for authentication between devices Download PDF

Info

Publication number
KR101645705B1
KR101645705B1 KR1020140175248A KR20140175248A KR101645705B1 KR 101645705 B1 KR101645705 B1 KR 101645705B1 KR 1020140175248 A KR1020140175248 A KR 1020140175248A KR 20140175248 A KR20140175248 A KR 20140175248A KR 101645705 B1 KR101645705 B1 KR 101645705B1
Authority
KR
South Korea
Prior art keywords
random number
authentication
equipment
key
authentication code
Prior art date
Application number
KR1020140175248A
Other languages
Korean (ko)
Other versions
KR20160069612A (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 KR1020140175248A priority Critical patent/KR101645705B1/en
Publication of KR20160069612A publication Critical patent/KR20160069612A/en
Application granted granted Critical
Publication of KR101645705B1 publication Critical patent/KR101645705B1/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

Abstract

본 발명은 제1 장비와 제2 장비간의 인증방법에 관한 것으로서, 상기 제1 장비의 장비 ID, 인증코드 및 난수 생성 인수와 난수 생성 함수 및 키 생성 함수 중 적어도 하나를 포함하는 인증정보를 상기 제1 장비 및 상기 제2 장비에 각각 저장하는 단계(a); 상기 제1 장비가 상기 난수 생성 인수 및 난수 생성 함수를 이용하여 제1 난수를 생성하며, 상기 제1 난수 및 상기 키 생성 함수를 이용하여 제1 키 값을 생성하는 단계(b); 상기 제1 장비가 상기 제1 키 값을 이용하여 상기 장비 ID를 암호화한 장비 ID 암호키를 상기 제2 장비로 전송하는 단계(c); 상기 제2 장비가 상기 난수 생성 인수를 이용하여 제2 난수를 생성하며, 상기 제2 난수 및 상기 키 생성 함수를 이용하여 제2 키 값을 생성하는 단계(d); 상기 제2 장비가 상기 제2 키 값을 이용하여 상기 장비 ID 암호키를 복호화 하여 장비 ID를 추출하고, 상기 제2 키 값을 이용하여 상기 추출된 장비 ID에 대응되는 인증코드를 암호화한 인증코드 암호키를 상기 제1 장비로 전송하는 단계(e); 상기 제1 장비가 상기 제1 키 값을 이용하여 상기 인증코드 암호키를 복호화하여 인증코드를 추출하고, 상기 추출된 인증코드 및 상기 제1 장비에 저장된 인증코드를 비교하여 인증을 수행하는 단계(f)를 포함하는 것을 특징으로 한다.The present invention relates to an authentication method between a first device and a second device, the authentication method including at least one of a device ID, an authentication code, a random number generation function, a random number generation function, and a key generation function of the first device, 1 < / RTI > equipment and the second equipment, respectively; (B) generating a first random number using the random number generation function and the random number generation function, and generating a first key value using the first random number and the key generation function; (C) transmitting, by the first equipment, an equipment ID cryptographic key obtained by encrypting the equipment ID using the first key value to the second equipment; (D) generating, by the second device, a second random number using the random number generation factor, and generating a second key value using the second random number and the key generation function; The second device decrypts the device ID cryptographic key using the second key value to extract the device ID and encrypts the authentication code corresponding to the extracted device ID using the second key value, (E) transmitting an encryption key to the first device; The first device decrypts the authentication code encryption key using the first key value to extract an authentication code, and performs authentication by comparing the extracted authentication code and the authentication code stored in the first device f).

Description

장비들간의 인증방법{METHOD FOR AUTHENTICATION BETWEEN DEVICES}{METHOD FOR AUTHENTICATION BETWEEN DEVICES}

본 발명의 실시예들은 장비들간의 인증방법에 관한 것으로서, 더욱 상세하게는 IOT 통신 환경에서의 장비들간의 인증방법에 관한 것이다.Embodiments of the present invention relate to authentication methods between devices, and more particularly, to authentication methods between devices in an IOT communication environment.

현대사회는 기술의 발전으로 우리가 의식하지 않아도, 모든 사물(장치)과 사람이 통신을 하는 시대로 바뀌고 있다. 이런 기술을 IOT(Internet of things)라고 부른다. IOT 기술의 핵심은 인간의 개입 없이 모든 장치들이 상호 협력적으로 센싱, 정보 처리 등을 수행한다는 점이다. 이러한 장치들간의 통신이 가능해짐에 따라 각 장비들은 해킹, 악성코드, 바이러스들과 같은 다양한 위험요소에 노출될 수 있으므로, 장비들간의 인증을 수행할 필요가 있다.Modern society is changing from the development of technology to an era in which all things (devices) and people communicate, even though we are not conscious of it. This technology is called the Internet of things (IOT). The key to IOT technology is that all devices perform sensing, information processing, and so on, without human intervention. As communication between these devices becomes possible, each device may be exposed to various risk factors such as hacking, malicious code, and viruses, so authentication between devices needs to be performed.

데이터를 암호화하고 해독하는 방식에는 공개키 암호화 및 대칭키 암호화 방식이 있다. 공개키 암호화 방식은 공개 되는 키와 여기에 1:1로 대응되는 비밀키가 있고, 대칭키 암호화 방식은 공개되지 않는 비밀키를 가지고 암호화하고 해독하는 방식이다.There are public key encryption and symmetric key encryption methods for encrypting and decrypting data. The public key cryptosystem has a public key and a secret key corresponding thereto in a one-to-one correspondence, and the symmetric key cryptosystem is a method of encrypting and decrypting a public key that is not disclosed.

공개키 암호화 키는 키 정보를 교환하는 과정에서 보안 취약점이 존재하고, 비밀키 암호화는 비밀키가 노출되었을 때 보안 취약점이 발생하게 된다. 또한, 인증을 하는 장비가 상호 식별을 위하여 인증서를 사용하고 이와 이 인증서의 대응되는 키 정보를 가지고 암호화를 하고 이를 해독하는 방법이 많이 쓰이지만, 인증 시 정보가 공개된 네트워크를 통하여 전송됨으로써 보안 취약점이 발생하기도 한다. 예를 들어, SSL(Secure Socket Layer), TLS(Transport Layer Security)에서는 클라이언트와 서버 사이에 키를 교환하는 과정이 존재한다. 또한, IOT 환경에서 통신을 하는 많은 수의 장비와 서버들이 통신의 신뢰성을 확보하기 위하여 인증기관(CA)으로부터 검증된 인증서를 발급받아야 하는데, 이러한 경우 높은 인증 비용이 발생하게 되고, CA의 인증서버의 부하도 감당할 수 없이 증가하게 되어 실제 환경에서 기존의 기술로는 상용화된 신뢰성 있는 통신체계를 구현하기 어렵다.A public key cryptographic key has a security vulnerability in exchanging key information, and a secret key cryptographic security vulnerability occurs when a secret key is exposed. In addition, although the authentication device uses a certificate for mutual identification, encrypts it with the corresponding key information of the certificate, and decrypts the encrypted information. However, when the authentication information is transmitted through the public network, . For example, in SSL (Secure Socket Layer) and TLS (Transport Layer Security), there is a process of exchanging keys between a client and a server. In addition, a large number of equipments and servers communicating in the IOT environment must receive a certificate verified by a certification authority (CA) in order to secure the reliability of communication. In this case, a high authentication cost is incurred, It is difficult to implement a reliable communication system that is commercialized by existing technologies in a real environment.

상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명은 기존의 인증 및 암호화 알고리즘의 결점을 보완한 것으로서, 데이터를 암호화고 이를 복호화 하는데 사용되는 장비 ID와 인증코드가 장비간에 사용되는 주 통신망이 아닌 다른 부가적인 경로로 상호 전달되어 보안성을 높이며, 장비 ID, 인증코드, 난수 생성 인수를 이용하여 생성된 별도의 키가 사용되어 데이터를 암호화하고 복호화 할 수 있으며, 난수 발생 시 난수 발생 규칙을 장비들간에 미리 공유함으로써 난수 불일치에 의한 복호화의 오류를 없앨 수 있는 장치들간의 인증방법을 제안하고자 한다.In order to solve the problems of the prior art as described above, the present invention complements the drawbacks of existing authentication and encryption algorithms, and it is an object of the present invention to provide an apparatus and a method for encrypting data, It is possible to encrypt and decrypt the data by using a separate key generated by using the equipment ID, authentication code, and random number generation factor. In addition, when the random number generation rule To prevent the error of decryption due to the random number mismatch, thereby proposing an authentication method between the devices.

본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.Other objects of the invention will be apparent to those skilled in the art from the following examples.

상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 제1 장비와 제2 장비간의 인증방법에 있어서, 상기 제1 장비의 장비 ID, 인증코드 및 난수 생성 인수와 난수 생성 함수 및 키 생성 함수 중 적어도 하나를 포함하는 인증정보를 상기 제1 장비 및 상기 제2 장비에 각각 저장하는 단계(a); 상기 제1 장비가 상기 난수 생성 인수 및 난수 생성 함수를 이용하여 제1 난수를 생성하며, 상기 제1 난수 및 상기 키 생성 함수를 이용하여 제1 키 값을 생성하는 단계(b); 상기 제1 장비가 상기 제1 키 값을 이용하여 상기 장비 ID를 암호화한 장비 ID 암호키를 상기 제2 장비로 전송하는 단계(c); 상기 제2 장비가 상기 난수 생성 인수를 이용하여 제2 난수를 생성하며, 상기 제2 난수 및 상기 키 생성 함수를 이용하여 제2 키 값을 생성하는 단계(d); 상기 제2 장비가 상기 제2 키 값을 이용하여 상기 장비 ID 암호키를 복호화 하여 장비 ID를 추출하고, 상기 제2 키 값을 이용하여 상기 추출된 장비 ID에 대응되는 인증코드를 암호화한 인증코드 암호키를 상기 제1 장비로 전송하는 단계(e); 상기 제1 장비가 상기 제1 키 값을 이용하여 상기 인증코드 암호키를 복호화하여 인증코드를 추출하고, 상기 추출된 인증코드 및 상기 제1 장비에 저장된 인증코드를 비교하여 인증을 수행하는 단계(f)를 포함하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법이 제공된다. According to a preferred embodiment of the present invention, there is provided an authentication method between a first device and a second device, the method comprising the steps of: obtaining a device ID, an authentication code and a random number generation factor of the first device, (A) storing authentication information in the first device and the second device, the authentication information including at least one of the generation functions; (B) generating a first random number using the random number generation function and the random number generation function, and generating a first key value using the first random number and the key generation function; (C) transmitting, by the first equipment, an equipment ID cryptographic key obtained by encrypting the equipment ID using the first key value to the second equipment; (D) generating, by the second device, a second random number using the random number generation factor, and generating a second key value using the second random number and the key generation function; The second device decrypts the device ID cryptographic key using the second key value to extract the device ID and encrypts the authentication code corresponding to the extracted device ID using the second key value, (E) transmitting an encryption key to the first device; The first device decrypts the authentication code encryption key using the first key value to extract an authentication code, and performs authentication by comparing the extracted authentication code and the authentication code stored in the first device f) of the first device and the second device is provided.

상기 단계(a)는 상기 제1 장비와 상비 제2 장비간의 데이터 통신 경로 외의 다른 경로를 통해 수행될 수 있다.The step (a) may be performed through a path other than the data communication path between the first equipment and the second equipment.

상기 단계(a)는, 상기 제1 장비 및 상기 제2 장비에 상기 제2 장비의 장비 ID를 더 저장할 수 있으며, 상기 단계(b) 및 상기 단계(d)는 상기 제2 장비의 장비 ID를 더 이용하여 상기 제1 키 값 및 상기 제2 키 값을 생성할 수 있다.Wherein the step (a) may further store the equipment ID of the second equipment in the first equipment and the second equipment, and the step (b) and the step (d) To generate the first key value and the second key value.

상기 제1 장비와 상기 제2 장비간의 통신은 TCP-IP 프로토콜을 통해 수행되며, 상기 단계(b)는, 상기 제1 장비가 상기 제2 장비로 ACK 신호를 전송한 ACK 전송 시간 및 기 설정된 시간 구간 값을 통해 산출된 제1 전송시간을 더 이용하여 상기 제1 난수를 생성하며, 상기 단계(d)는 상기 제2 장비가 상기 제1 장비로 SYN-ACK 신호를 전송한 SYN-ACK 전송 시간, 상기 제2 장비가 상기 ACK 신호를 수신한 ACK 수신 시간 및 상기 기 설정된 시간 구간 값을 통해 산출된 제2 전송시간을 더 이용하여 상기 제2 난수를 생성할 수 있다.Wherein the communication between the first equipment and the second equipment is performed through a TCP-IP protocol, and the step (b) comprises: transmitting an ACK transmission time of the ACK signal transmitted from the first equipment to the second equipment, Wherein the second device generates the first random number by further using the first transmission time calculated through the interval value, and wherein the step (d) includes: generating a SYN-ACK transmission time , The second equipment generates the second random number by further using the ACK reception time at which the ACK signal was received and the second transmission time calculated through the predetermined time interval value.

상기 단계(b)는 상기 제1 전송시간을 시각 동기화 오차로 나눈 정수 값을 이용하여 상기 제1 난수를 생성하며, 상기 단계(d)는 상기 제2 전송시간을 시각 동기화 오차로 나눈 정수 값을 이용하여 상기 제2 난수를 생성할 수 있다.Wherein the step (b) generates the first random number using an integer value obtained by dividing the first transmission time by a time synchronization error, and the step (d) generates an integer value obtained by dividing the second transmission time by a time synchronization error To generate the second random number.

상기 인증정보는 상기 제1 장비에 포함되는 별도의 인증 모듈에 저장될 수 있다.The authentication information may be stored in a separate authentication module included in the first device.

상기 인증 모듈은 별도의 전원과 IC 칩을 포함할 수 있으며, 상기 인증 모듈이 상기 제1 장비에 장착될 시 상기 IC 칩에 저장된 난수 생성 인수를 이용하여 생성된 난수와 상기 제1 장비에서 저장된 난수 생성 인수를 이용하여 생성된 난수가 동일한 경우 상기 제1 장비는 상기 인증 모듈을 인증할 수 있다.The authentication module may include a separate power source and an IC chip. When the authentication module is mounted on the first device, a random number generated using the random number generation factor stored in the IC chip and a random number stored in the first device The first device can authenticate the authentication module if the generated random numbers are the same using the generation factor.

상기 인증모듈은 전원과 통신이 공급되는 인증모듈 장착용 장비에서 장착되어 시간 동기화 서버를 통해 시각 동기화가 된 상태에서, 상기 인증모듈 장착용 장비로부터 분리되어 상기 제1 장비에 장착될 수 있으며, 상기 인증모듈과 상기 제1 장비는 시간 정보를 더 이용하여 각각 생성된 난수를 비교하여 인증을 수행할 수 있다.The authentication module may be mounted on the authentication module mounting equipment supplied with communication with the power source and may be mounted on the first device separated from the authentication module mounting equipment in a state in which the time synchronization is performed through the time synchronization server, The authentication module and the first device can perform authentication by comparing the generated random numbers using the time information.

상기 제2 장비와 통신하는 상기 제1 장비가 적어도 둘 이상인 경우,And if the first equipment in communication with the second equipment is at least two,

상기 인증 정보는 상기 제1 장비의 장비 식별번호를 더 포함하며, 상기 단계(a)에서 상기 제2 장비에는 상기 제1 장비들 각각에 대한 인증정보가 저장되며, 상기 단계(d)는 상기 장비 ID 암호키를 전송한 제1 장비의 장비 식별번호를 추출하고, 상기 추출된 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 상기 제2 난수를 생성할 수 있다.Wherein the authentication information further includes a device identification number of the first device, wherein authentication information for each of the first devices is stored in the second device in step (a), and step (d) The apparatus identification number of the first apparatus that transmitted the ID encryption key may be extracted and the second random number may be generated using the random number generation factor corresponding to the extracted apparatus identification number.

상기 제1 장비들과 상기 제2 장비간의 통신이 TCP-IP 프로토콜을 통해 수행되는 경우, 상기 추출된 장비 식별번호는 상기 제1 장비의 물리적인 하드웨어 정보일 수 있다. 상기 제1 장비들과 상기 제2 장비간의 통신이 무선 통신을 통해 수행되는 경우, 상기 추출된 장비 식별번호는 상기 제1 장비의 통신 모뎀 정보일 수 있다.When the communication between the first devices and the second device is performed through the TCP-IP protocol, the extracted device identification number may be physical hardware information of the first device. When the communication between the first devices and the second device is performed through wireless communication, the extracted device identification number may be the communication modem information of the first device.

상기 제2 장비와 통신하는 상기 제1 장비가 적어도 둘 이상인 경우, 상기 인증 정보는 상기 제1 장비의 장비 식별번호를 더 포함하며, 상기 단계(a)에서 상기 제2 장비에는 상기 제1 장비들 각각에 대한 인증정보가 저장되며, 상기 단계(c)는 상기 제1 장비들 중 인증을 요청하는 제1 장비의 장비 식별번호를 상기 제2 장비로 더 전송하며, 상기 단계(d)는 상기 수신된 장비 식별번호에 대응되는 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 상기 제2 난수를 생성할 수 있다.Wherein the authentication information further includes a device identification number of the first device when the first device communicating with the second device is at least two or more, (C) further transmits, to the second device, an equipment identification number of the first equipment requesting authentication among the first equipment, and the step (d) And generate the second random number using the random number generation factor corresponding to the identified device identification number and the random number generation function.

상기 단계(f) 이후에, 상기 제1 장비는 상기 제1 난수를 재 생성하며, 이전에 생성된 난수, 상기 재 생성된 난수 및 상기 제1 키 값 중 적어도 하나를 이용하여 데이터를 암호화하여 상기 제2 장비로 전송하며, 상기 제2 장비는 상기 제2 난수를 재 생성하며, 이전에 생성된 제2 난수, 상기 재 생성된 난수 및 상기 제2 키 값 중 적어도 하나를 이용하여 상기 데이터를 복호화할 수 있다.After the step (f), the first device regenerates the first random number, encrypts the data using at least one of the previously generated random number, the regenerated random number, and the first key value, And the second device regenerates the second random number and decrypts the data using at least one of the previously generated second random number, the regenerated random number, and the second key value, can do.

상기 제1 장비와 상기 제2 장비간의 데이터 전송 중 통신이 실패하는 경우, 최종 통신 성공에 사용된 난수를 사용하여 통신을 복원할 수 있다.If the communication between the first device and the second device fails during the data transmission, the communication can be restored using the random number used for the last communication success.

본 발명의 다른 실시예에 따르면, 인증서버를 이용한 제1 장비와 제2 장비간의 인증방법에 있어서, 상기 제1 장비 및 상기 제2 장비 각각의 장비 ID, 인증코드, 난수 생성 인수, 장비 식별번호와 난수 생성 함수 및 키 생성 함수 중 적어도 하나를 포함하는 인증정보를 상기 인증서버에 등록하며, 상기 제1 장비의 인증정보를 상기 제1 장비에 등록하며, 상기 제2 장비의 인증정보를 상기 제2 장비에 등록하는 단계(a); 상기 제1 장비는 상기 제1 장비의 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 생성된 제1 난수 및 상기 키 생성 함수를 이용하여 제1 키 값을 생성하며, 상기 제1 키 값을 이용하여 상기 제1 장비의 장비 ID를 암호화한 제1 장비 ID 암호키 및 상기 제1 장비의 장비 식별번호를 상기 제2 장비로 전송하는 단계(b); 상기 제2 장비는 상기 암호화된 제1 장비 ID 암호키 및 상기 제1 장비의 장비 식별번호를 상기 인증서버로 전송하는 단계(c); 상기 인증 서버는 상기 제1 장비의 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 생성된 제2 난수와 상기 키 생성 함수를 이용하여 제2 키 값을 생성하며, 상기 제2 키 값을 이용하여 상기 제1 장비 ID 암호키를 복호화하여 제1 장비 ID를 추출하며, 상기 제2 키 값을 이용하여 상기 추출된 제1 장비 ID에 대응되는 인증코드를 암호화한 제1 인증코드 암호키를 상기 제2 장비로 전송하는 단계(d); 상기 제2 장비는 상기 제1 인증코드 암호키를 상기 제1 장비로 전송하는 단계(e); 및 상기 제1 장비가 상기 제1 키 값을 이용하여 상기 제1 인증코드 암호키를 복호화하여 제1 인증코드를 추출하고, 상기 추출된 제1 인증코드 및 상기 제1 장비에 등록된 인증코드를 비교하여 상기 제2 장비와의 인증을 수행하는 단계(f)를 포함하는 것을 특징으로 하는 인증서버를 이용한 제1 장비와 제2 장비간의 인증방법이 제공된다.According to another embodiment of the present invention, there is provided an authentication method between a first device and a second device using an authentication server, the method comprising the steps of: obtaining a device ID, an authentication code, a random number generation factor, And registering the authentication information of the first device in the first device, and registering the authentication information of the second device in the first device, the authentication information including at least one of the random number generation function and the key generation function, 2 step (a) of registering with the equipment; Wherein the first device generates a first key value using the first random number generated using the random number generation factor of the first device and the random number generation function and the key generation function, (B) transmitting a first equipment ID encryption key obtained by encrypting the equipment ID of the first equipment and an equipment identification number of the first equipment to the second equipment; (C) transmitting, by the second device, the encrypted first device ID encryption key and the device identification number of the first device to the authentication server; Wherein the authentication server generates a second key value using a second random number generated using a random number generation factor corresponding to the device identification number of the first device and the key generation function, Extracting a first device ID by decrypting the first device ID cryptographic key and generating a first authentication code cryptographic key by encrypting an authentication code corresponding to the extracted first device ID using the second key value, (D) transmitting to the second equipment; (E) sending the first authentication code encryption key to the first device; And the first device decrypts the first authentication code encryption key using the first key value to extract a first authentication code, and extracts the extracted first authentication code and the authentication code registered in the first device (F) performing authentication with the second device by comparing the first device and the second device with each other.

본 발명에 따르면, 기존의 인증 및 암호화 알고리즘의 결점을 보완한 것으로서, 데이터를 암호화고 이를 복호화 하는데 사용되는 장비 ID와 인증코드가 장비간에 사용되는 주 통신망이 아닌 다른 부가적인 경로로 상호 전달되어 보안성을 높이며, 장비 ID, 인증코드, 난수 생성 인수를 이용하여 생성된 별도의 키가 사용되어 데이터를 암호화하고 복호화 할 수 있으며, 난수 발생 시 난수 발생 규칙을 장비들간에 미리 공유함으로써 난수 불일치에 의한 복호화의 오류를 없앨 수 있는 장치들간의 인증방법을 제안하고자 한다.According to the present invention, the device ID and the authentication code, which are used for encrypting data and decrypting the data, are transmitted to an additional path other than the main communication network used between the devices, A separate key generated by using the equipment ID, the authentication code, and the random number generation factor can be used to encrypt and decrypt the data, and the random number generation rule can be previously shared among the devices when the random number is generated, We propose an authentication method between devices that can eliminate the error of decryption.

도 1은 본 발명의 일 실시예에 따른 장비들간의 블록도를 도시한 도면이다.
도 2은 본 발명의 일 실시예에 따른 장비들간의 인증 과정을 상세하게 도시한 도면이다.
도 3은 제1 장비와 제2 장비간의 상호 통신 시작시의 Three-way-handshake가 이루어지는 과정의 일례를 도시한 도면이다.
도 4는 복수의 제1 장비와 제2 장비간의 인증방법을 설명하기 위해 도시한 도면이다.
도 5는 본 발명의 다른 실시예에 따른 인증서버를 이용한 제1 장비와 제2 장비간의 인증방법을 도시한 순서도이다.
1 is a block diagram of equipment according to an embodiment of the present invention.
FIG. 2 is a detailed view illustrating an authentication process between devices according to an exemplary embodiment of the present invention. Referring to FIG.
3 is a diagram illustrating an example of a process in which a three-way handshake is performed at the start of mutual communication between a first device and a second device.
4 is a diagram illustrating an authentication method between a first device and a second device.
5 is a flowchart illustrating an authentication method between a first device and a second device using an authentication server according to another embodiment of the present invention.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 이하의 설명에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한, 도면에서 본 발명과 관계없는 부분은 본 발명의 설명을 명확하게 하기 위하여 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments described below, but may be embodied in various forms. In the following description, it is assumed that a part is connected to another part, But also includes a case in which other elements are electrically connected to each other in the middle thereof. In the drawings, parts not relating to the present invention are omitted for clarity of description, and like parts are denoted by the same reference numerals throughout the specification.

본 발명은 장비들간의 인증방법에 관한 것으로서, 제1 장비와 제2 장비간의 상호 인증 시 키에 대한 교환이 이루어지는 공개키 암호화 방법과 달리, 본 발명은 장비들이 키를 교환하지 않고 통신 시작 시에 키를 각각 생성하는데 특징이 있다. 이하에서는, 공개키를 서로 교환하지 않으면서 상호 인증을 수행하는 인증방법에 대해 보다 상세하게 설명하도록 한다.Unlike a public key encryption method in which a key is exchanged for a mutual authentication between a first device and a second device, the present invention provides an authentication method between devices, Key, respectively. Hereinafter, an authentication method for performing mutual authentication without exchanging public keys will be described in more detail.

도 1은 본 발명의 일 실시예에 따른 장비의 구성을 도시한 블록도이다.1 is a block diagram illustrating a configuration of an apparatus according to an embodiment of the present invention.

장비(100)는 통신부(110), 제어부(120), 저장부(130) 및 인증모듈(140)을 포함할 수 있다.The apparatus 100 may include a communication unit 110, a control unit 120, a storage unit 130, and an authentication module 140.

장비(100)는 다른 장비와의 상호 인증을 통해 인증이 되는 경우, 데이터를 송수신하는 다양한 장비 등을 포함할 수 있다. 일례로, 장비는 스마트 그리드 시스템에서의 원격 검침 시스템(AMI, Advanced Metering Infrastructure)을 구성하는 전력 단말 장치 및 스마트 미터등을 포함할 수 있다. 원격 검침 시스템은 스마트 그리드 환경에서 각 가정에서 사용되는 전력을 원격으로 검침하여 관리하고, 각 장치들 간 상호 인증을 수행하여 안전한 전력량을 전송하기 위한 검침 시스템이다. 이와 같은 원격 검침 시스템에서 전력 단말기와 스마트 미터 간의 통신에 해킹이 발생하는 경우, 전력 단말기의 검침량이 조작되거나, 소비자의 개인 정보가 노출 되는 등의 문제가 발생할 수 있다. 이와 같이 본 발명의 장비는 서로 데이터 통신을 수행하며, 상호 인증이 필요한 다양한 장비들을 포함할 수 있다.The apparatus 100 may include various apparatuses for transmitting and receiving data when authenticated through mutual authentication with other apparatuses. For example, the equipment may include a power terminal device and a smart meter that constitute an Advanced Metering Infrastructure (AMI) in a Smart Grid system. The remote meter reading system is a meter reading system that monitors and controls the power used in each household remotely in a smart grid environment and performs mutual authentication between the devices to transmit the safe amount of power. In such a remote metering system, when a hack occurs in the communication between the power terminal and the smart meter, a problem may arise such that the meter reading amount of the power terminal is manipulated or the personal information of the consumer is exposed. As such, the apparatus of the present invention performs data communication with each other and may include various apparatuses requiring mutual authentication.

통신부(110)는 상호 인증이 수행된 다른 장비와 데이터를 송수신 하기 위한 것으로, 유선 방식 및 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 다른 장치간의 데이터를 송수신할 수 있다. 더하여, 하나 이상의 통신 방식을 사용하여 데이터를 송수신할 수 있으며, 이를 위하여 통신부(110)는 각각 서로 다른 통신 방식에 따라서 데이터를 송수신하는 복수의 통신 모듈을 포함할 수 있다.The communication unit 110 is for transmitting and receiving data to and from other devices that have been mutually authenticated, and can transmit and receive data between other devices through various communication methods as well as wired and wireless methods. In addition, the communication unit 110 may transmit and receive data using one or more communication methods. For this purpose, the communication unit 110 may include a plurality of communication modules that transmit and receive data according to different communication methods, respectively.

제어부(120)는 다른 장치와의 통신 및 상호 인증을 위한 전반적인 제어를 수행한다.The control unit 120 performs overall control for communication with another device and for mutual authentication.

저장부(130)는 장비의 동작에 필요한 프로그램 및 데이터를 저장하며, 특히 본 발명에 의한 인증에 필요한 인증 정보를 저장한다. 여기서 인증정보는 장비 ID, 인증 코드, 난수 생성 인수, 난수 생성 함수, 키 생성 함수 등의 정보를 포함할 수 있다. The storage unit 130 stores programs and data necessary for operation of the apparatus, and stores authentication information required for authentication according to the present invention. Here, the authentication information may include information such as a device ID, an authentication code, a random number generation argument, a random number generation function, and a key generation function.

이러한 저장부(130)는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Medical), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리를 포함한다.The storage unit 130 may be an optical storage medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Video Disk) A magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), and a flash memory.

상기의 인증정보의 저장은 보안이 중요하기 때문에, 제1 장비(100)와 제2 장비(200)간의 데이터 통신 경로 외의 다른 경로를 통해 저장이 수행될 수 있다. Storage of the authentication information may be performed through a path other than the data communication path between the first device 100 and the second device 200 because security is important.

또한, 인증 정보는 인위적으로 읽어낼 수 없는 별도의 인증모듈(140)에 보관될 수 있으며, 인증모듈(140)은 접근이 허용된 장비만이 인증정보를 읽을 수 있도록 허용한다. 접근이 허용된 장비에 대한 판단은 외부에서 접근할 수 없는 특정 폐쇄된 통신망 내에 존재하는 장치나, 특정 장비 ID를 가진 장비로 제한될 수 있다. 이와 같은 인증모듈(140)은 장비의 일부로 포함되거나, 인증정보 배포를 위한 독립적인 모듈로 구현될 수 있다. 또한, 인증정보를 인증모듈(140)로부터 전자적인 방법이나 통신을 통하여 전송 시 블록 암호화 같이 안전한 암호화 방식으로 암호화된 형태로 전송될 수 있다.In addition, the authentication information can be stored in a separate authentication module 140 that can not be artificially read, and the authentication module 140 allows only authorized devices to read the authentication information. The determination of an access permitted device may be restricted to a device that exists in a particular closed communication network that is not accessible from the outside or to a device with a specific equipment ID. Such an authentication module 140 may be included as part of the device or may be implemented as an independent module for authentication information distribution. Also, the authentication information may be transmitted from the authentication module 140 in an encrypted form such as a block cipher in a secure cipher system when it is transmitted through an electronic method or communication.

인증모듈(140)은 별도의 전원과 IC 칩을 포함할 수 있으며, 인증모듈이 제1 장비(100)에 장착될 시 상기 IC 칩에 저장된 난수 생성 인수를 이용하여 생성된 난수와 제어부(120)에서 제1 장비(100)의 저장부(130)에 미리 저장된 난수 생성 인수를 이용하여 생성된 난수가 동일한 경우 상기 제1 장비(100)는 상기 인증모듈(140)을 적법한 인증모듈로 인증하고, 상기 인증 모듈(130)에 저장된 장비 ID와 인증코드를 저장부(130)에 저장할 수 있다.The authentication module 140 may include a separate power source and an IC chip. When the authentication module is mounted on the first device 100, the authentication module 140 generates a random number using the random number generation factor stored in the IC chip, The first device 100 authenticates the authentication module 140 as a legitimate authentication module when the random number generated using the random number generation factor stored in advance in the storage unit 130 of the first device 100 is the same, The device ID and the authentication code stored in the authentication module 130 may be stored in the storage unit 130.

이와 같이 인증모듈(140)을 제1 장비(100)에 장착할 때 인증과정을 수행하는 이유는 제1 장비(100)에 장착된 인증모듈(130)을 제3 자가 교환하여 해킹을 시도하는 것을 방지하기 위함이다.The authentication process is performed when the authentication module 140 is installed in the first device 100 because a third party attempts to hack the authentication module 130 installed in the first device 100 .

또 다른 실시예에 따르면, 인증모듈(140)은 전원과 통신이 공급되는 인증모듈 장착용 장비에 장착되어 시간 동기화 서버를 통해 시각 동기화가 된 상태에서, 상기 인증모듈 장착용 장비로부터 분리되어 상기 제1 장비에 장착될 수 있다. 인증모듈은 자체 전원과 IC 칩을 갖고 있으므로, 인증모듈 장착용 장비로부터 분리된 경우에도 일정시간 동안 오차 없이 현재 시간 정보를 가진다. 제1 장비(100)의 제어부(120)는 시각 동기화 된 상태에서 인증모듈과 동일한 방법으로 난수를 발생시키고, 인증모듈이 장착된 후 인증모듈이 생성하는 난수와 제어부(120)에서 발생한 난수가 동일하면 제어부(120)는 인증모듈(140)로부터 장비 ID와 인증코드를 저장부(130)로 읽어올 수 있다. 인증모듈(140)과 제어부(120)는 시간 정보를 더 이용하여 난수를 생성하고, 이를 비교하여 인증을 수행할 수 도 있다.According to yet another embodiment, the authentication module 140 may be installed in the authentication module mounting equipment to which the power supply and communication are supplied, and is separated from the equipment for mounting the authentication module, 1 equipment. Since the authentication module has its own power source and IC chip, even if the authentication module is separated from the equipment for mounting the authentication module, the authentication module has the current time information without any error for a predetermined time. The control unit 120 of the first device 100 generates a random number in the same manner as the authentication module in the time synchronized state and generates a random number generated by the authentication module after the authentication module is mounted and a random number generated by the control unit 120 The control unit 120 may read the device ID and the authentication code from the authentication module 140 into the storage unit 130. [ The authentication module 140 and the control unit 120 may generate random numbers by further using time information, and may compare them to perform authentication.

도 2은 본 발명의 일 실시예에 따른 장비들간의 인증 과정을 상세하게 도시한 도면이다.FIG. 2 is a detailed view illustrating an authentication process between devices according to an exemplary embodiment of the present invention. Referring to FIG.

도 2를 참조하면, 제1 장비(100)와 제2 장비(200)간의 상호 인증을 위해 제1 장비(100)와 제2 장비(200)에는 제1 장비(100)의 장비 ID, 인증코드 및 난수 생성 인수와 난수 생성 함수 중 적어도 하나를 포함하는 인증 정보가 미리 저장된다(S100). 이와 같은 인증 정보의 저장은 제1 장비(100)와 제2 장비(200)간의 데이터 통신 경로 외의 다른 경로를 통해 수행됨은 앞서 살펴본 바와 같다.Referring to FIG. 2, in order to perform mutual authentication between the first device 100 and the second device 200, the device ID and the authentication code of the first device 100 are stored in the first device 100 and the second device 200, And authentication information including at least one of a random number generation argument and a random number generation function is stored in advance (SlOO). The storage of the authentication information is performed through a path other than the data communication path between the first device 100 and the second device 200 as described above.

이어서, 제1 장비(100)는 제2 장비(200)와의 상호 인증을 위해 난수 생성 인수 및 난수 생성 함수를 이용하여 제1 난수를 생성하며, 제1 난수 및 키 생성 함수를 이용하여 제1 키 값을 생성한다(S110).Then, the first device 100 generates a first random number using a random number generation factor and a random number generation function for mutual authentication with the second device 200, and generates a first random number using a first random number and a key generation function, (S110).

여기서, 난수 생성 인수(F)는 난수 생성을 위해 제1 장비(100)와 제2 장비(200)간의 상호 약속된 인수로서, 제1 장비(100)의 인증 시에는 제1 장비에 대한 난수 생성 인수(F)를 통해 난수를 생성한다.Here, the random number generation factor F is a mutually agreed factor between the first device 100 and the second device 200 for generating a random number. When the first device 100 is authenticated, Generate a random number through an argument (F).

보다 상세하게, 제1 난수는 아래의 수학식 1을 통해 생성되며, 제1 키 값은 아래의 수학식 2를 통해 생성될 수 있다.More specifically, the first random number is generated by Equation (1) below, and the first key value can be generated by Equation (2) below.

Figure 112014119351627-pat00001
Figure 112014119351627-pat00001

여기서,

Figure 112014119351627-pat00002
는 제1 난수, fn()은 난수 생성 함수, F는 난수 생성 인수를 각각 의미한다.here,
Figure 112014119351627-pat00002
Denotes a first random number, fn () denotes a random number generating function, and F denotes a random number generating factor.

Figure 112014119351627-pat00003
Figure 112014119351627-pat00003

여기서,

Figure 112014119351627-pat00004
는 제1 키값, fk()는 키 생성 함수를 각각 의미한다.here,
Figure 112014119351627-pat00004
(K) denotes a first key value, and fk () denotes a key generation function.

상기 난수 생성 함수 및 키 생성 함수는 단계(S100)에서 제1 장비(100) 및 제2 장비(200)에 미리 저장되는 값으로서, 제1 장비(100) 및 제2 장비(200)가 서로 동일한 난수 생성 인수를 통해 난수를 생성하는 경우 동일한 키 값이 생성될 것이다The random number generation function and the key generation function are values previously stored in the first device 100 and the second device 200 in step S100 and the first device 100 and the second device 200 are the same Generating a random number If you generate a random number through a factor, the same key value will be generated

이어서, 제1 장비(100)는 제1 키 값을 이용하여 제1 장비(100)의 장비 ID를 암호화하여 장비 ID 암호키를 생성(S120)하고, 장비 ID 암호키를 제2 장비(200)로 전송한다(S130).The first device 100 generates the device ID encryption key by encrypting the device ID of the first device 100 using the first key value in operation S120 and transmits the device ID encryption key to the second device 200, (S130).

장비 ID 암호키를 수신한 제2 장비(200)는 난수 생성 인수 및 난수 생성 함수를 이용하여 제2 난수를 생성하며, 제2 난수 및 키 생성 함수를 이용하여 제2 키 값을 생성한다(S140). 만약. 제2 장비(200)에 제1 장비(100)와 동일한 난수 생성 인수, 난수 생성 함수, 키 생성 함수가 저장되어 있다면, 제1 난수 및 제1 키 값과 동일한 제2 난수 및 제2 키 값이 생성될 것이다. 제2 난수 및 제2 키 값은 아래의 수학식 3 및 4를 통해 생성될 수 있다.The second device 200 receiving the equipment ID encryption key generates a second random number by using the random number generating function and the random number generating function and generates a second key value using the second random number and the key generating function ). if. If the same random number generation factor, random number generation function, and key generation function as those of the first device 100 are stored in the second device 200, the second random number and the second key value, which are equal to the first random number and the first key value, Will be generated. The second random number and the second key value may be generated through Equations (3) and (4) below.

Figure 112014119351627-pat00005
Figure 112014119351627-pat00005

여기서,

Figure 112014119351627-pat00006
는 제2 난수를 의미한다.here,
Figure 112014119351627-pat00006
Means a second random number.

Figure 112014119351627-pat00007
Figure 112014119351627-pat00007

여기서,

Figure 112014119351627-pat00008
는 제2 키 값을 의미한다.here,
Figure 112014119351627-pat00008
Quot; means a second key value.

제2 장비(200)는 제2 키 값을 이용하여 장비 ID 암호키를 복호화 하여 장비 ID를 추출한다(S150).The second device 200 decrypts the device ID encryption key using the second key value to extract the device ID (S150).

이어서, 제2 장비(200)에 장비 ID 에 대응되어 저장된 인증코드를 제2 키 값을 이용하여 암호화하여 인증코드 암호키를 생성(S160) 한 후, 인증 코드 암호키를 제1 장비(100)로 전송한다(S170).Then, the authentication code stored in the second device 200 is encrypted using the second key value to generate the authentication code encryption key (S160). Thereafter, the authentication code encryption key is transmitted to the first device 100, (S170).

제1 장비(100)는 제1 키 값을 이용하여 인증코드 암호키를 복화화하여 인증코드를 추출(S175)하고, 추출된 인증코드 및 제1 장비(100)에 저장된 인증코드를 비교한다(S180).The first device 100 extracts the authentication code by converting the authentication code encryption key into the authentication code using the first key value (S175), and compares the extracted authentication code and the authentication code stored in the first device 100 ( S180).

만약, 추출된 인증코드와 제1 장비(100)에 저장된 인증코드가 동일한 경우 제1 장비(100)와 제2 장비(200)간의 상호 인증이 이루어진 것으로 판단하고, 제1 장비(100)와 제2 장비(200)간의 데이터 통신을 시작한다(S185).If the extracted authentication code is identical to the authentication code stored in the first device 100, it is determined that the mutual authentication between the first device 100 and the second device 200 is performed. 2 equipment 200 (S185).

추출된 인증코드와 제1 장비(100)에 저장된 인증코드가 다른 경우 제1 장비(100)와 제2 장비(200)간의 인증이 실패한 것으로 판단하고, 제1 장비(100)와 제2 장비(200)간의 통신을 단절한다(S190).It is determined that the authentication between the first device 100 and the second device 200 has failed and the first device 100 and the second device 200 200) (S190).

단계(S185)에서 제1 장비(100)는 제1 난수를 재 생성하며, 이전에 생성된 난수, 상기 재 생성된 난수 및 제1 키 값 중 적어도 하나를 이용하여 데이터를 암호화하여 제2 장비(200)로 전송하며, 제2 장비는 제2 데이터가 전송될 때마다 제2 난수를 재 생성하며, 이전에 생성된 제2 난수, 재 생성된 제2 난수 및 제 키 값 중 적어도 하나를 이용하여 데이터를 복호화할 수 있다. 즉, 본 발명은 제1 장비 및 제2 장비에서 동일하게 생성되는 난수를 이용하여 데이터를 암호화함으로써 데이터의 보안성을 높일 수 있다.In operation S185, the first device 100 regenerates the first random number, encrypts the data using at least one of the previously generated random number, the regenerated random number, and the first key value, 200, and the second device regenerates the second random number every time the second data is transmitted, and uses at least one of the previously generated second random number, the re-generated second random number, and the key value Data can be decoded. That is, the present invention can increase data security by encrypting data using a random number generated in the first device and the second device.

일례로, 최초에 전송하는 데이터를 P1, 그 다음에 전송하는 데이터를 P2, 이런 식으로 N번째 전송되는 데이터를을 Pn이라고 가정하면For example, assuming that the data to be initially transmitted is P1, the data to be transmitted next is P2, and the data to be transmitted N-th in this way is Pn

Figure 112014119351627-pat00009
,
Figure 112014119351627-pat00009
,

Figure 112014119351627-pat00010
,
Figure 112014119351627-pat00010
,

Figure 112014119351627-pat00011
와 같이 암호화 하고, 이것을 복호화한 결과는
Figure 112014119351627-pat00012
으로 복호화되어서, 데이터와 다음번 데이터 암호화에 사용될 난수 값을 알 수 있어야 한다. 데이터를 받은 제2 장비(200)는 암호문을 복호화하여 데이터와 난수로 분리한다. 이 난수는 다음 번에 전송될 데이터의 복호화에 사용된다.
Figure 112014119351627-pat00011
And the result of decoding this is
Figure 112014119351627-pat00012
To be able to know the data and the random value to be used for the next data encryption. The second device 200 receives the data and decrypts the cipher text into data and random numbers. This random number is used to decrypt the data to be transmitted next time.

실제적인 구현은 The actual implementation is

Figure 112014119351627-pat00013
,
Figure 112014119351627-pat00013
,

Figure 112014119351627-pat00014
Figure 112014119351627-pat00014

와 같이 구현되는 것과,≪ / RTI >

Figure 112014119351627-pat00015
과 같이 난수를 생성하는 함수인 fn()에 인수로 c를 사용하여 난수를 생성하고, 이 c를 함께 전송하는 구현도 가능하다. 또한, 난수를 통신상으로 전송하지 않고, 난수 생성 함수만 공유하여 암호화하고 복호화 하는 것도 가능할 것이다.
Figure 112014119351627-pat00015
It is also possible to generate a random number using c as an argument to fn (), a function that generates a random number, as shown below, and then send this c together. It is also possible to encrypt and decrypt the random number generation function by sharing only the random number generation function without transmitting the random number to the communication.

또한, 본 발명은 상기 제1 장비와 상기 제2 장비간의 데이터 전송 중 통신이 실패하는 경우, 최종 통신 성공에 사용된 난수를 사용하여 통신을 복원할 수 있다.In addition, the present invention can recover the communication using the random number used for the last communication success if the communication fails during data transmission between the first device and the second device.

본 발명은 장비들이 장비 ID, 인증코드, 난수 생성 인수, 난수 생성 함수, 키 생성 함수와 같은 인증정보를 미리 저장하고 있으므로, 각각의 장비들에서 동일한 난수 및 키 값을 생성할 수 있으므로 인증 시 키 정보를 교환할 필요가 없다. 이에 따라, 종래의 공개키 암호화 인증 방법의 키 정보를 교환하는 과정에서 발생하는 보안 취약점의 문제가 발생하지 않는다.Since the devices store authentication information such as device ID, authentication code, random number generation factor, random number generation function, and key generation function in advance, each device can generate the same random number and key value, There is no need to exchange information. Accordingly, there is no security vulnerability problem occurring in exchanging the key information of the conventional public key encryption authentication method.

또한, 본 발명은 제1 장비(100)와 제2 장비(200)간의 데이터 전송이 완료된 후 다시 통신 연결이 시도되는 경우, 제1 장비(100)와 제2 장비(200)간의 인증을 다시 수행한다. 본 발명의 난수 생성 함수는 난수 생성 시 이전에 생성된 난수와 다른 난수를 발생시킴으로 제1 장비(100)와 제2 장비가(200)가 인증할 때마다 제1 장비와 제2 장비에서 생성되는 키 값이 매번 달라지게 되어 보안의 신뢰성이 높아진다.
In addition, the present invention resets authentication between the first device 100 and the second device 200 when a communication connection is attempted again after data transmission between the first device 100 and the second device 200 is completed do. The random number generation function of the present invention generates random numbers different from the random numbers generated in the random number generation so that the first and second devices are generated in the first device and the second device every time the first device 100 and the second device 200 authenticate The key value is changed every time, and the security reliability is improved.

본 발명의 일 실시예에 따르면, 난수 만으로 충분한 길이의 키 값의 생성이 불가능 한 경우 제1 키 값 및 제2 키 값은 제2 장비의 ID를 더 이용하여 생성될 수 있으며 하기의 수학식 5와 같다. 이를 위해 제1 장비 및 제2 장비는 제2 장비의 장비 ID를 더 저장할 수 있다. According to an embodiment of the present invention, when it is impossible to generate a key value having a sufficient length only by a random number, the first key value and the second key value may be generated by further using the ID of the second device, . To this end, the first device and the second device may further store the device ID of the second device.

Figure 112014119351627-pat00016
Figure 112014119351627-pat00016

Figure 112014119351627-pat00017
Figure 112014119351627-pat00017

여기서,

Figure 112014119351627-pat00018
는 제2 장비의 ID를 의미한다.here,
Figure 112014119351627-pat00018
Means the ID of the second device.

제1 장비는 제2 장비와의 인증을 수행할 시 제2 장비의 장비 ID를 미리 알 고 있으므로, 상기와 같이 제2 장비의 장비 ID를 더 이용하여 제1 키 값을 생성할 수 있으며, 제2 장비는 자신의 장비 ID를 더 이용하여 제2 키 값을 생성하게 된다.Since the first device knows the device ID of the second device in advance when performing authentication with the second device, it is possible to generate the first key value by further using the device ID of the second device as described above, 2 device generates a second key value by further using its own device ID.

본 발명의 다른 실시예에 따르면, 제1 장비(100)와 제2 장비(200)간의 통신이 TCP-IP 프로토콜을 통해 수행되어, NTP(Network Time Protocol)을 사용한 장비들간의 시각 동기화가 되는 환경이라면, 시간 정보를 더 사용하여 높은 수준의 신뢰성을 가지는 난수를 생성할 수 있다. 제1 장비(100) 및 제2 장비(200)는 사전에 설정된 난수 생성 인수(F)를 저장하고 있다. 이와 같은 난수 생성 인수와 함께 각 장비에서 NTP 시각을 msec로 환산한 후 이 값을 가지고 난수를 생성할 수 있다.According to another embodiment of the present invention, the communication between the first device 100 and the second device 200 is performed through the TCP-IP protocol and the time synchronization between the devices using the NTP (Network Time Protocol) , Time information can be further used to generate a random number having a high level of reliability. The first device 100 and the second device 200 store a random number generation factor F set in advance. With this random number generation factor, each device can convert NTP time to msec and generate a random number with this value.

그러나, 제1 장비(100)와 제2 장비(200)간의 통신 시 각 장비 내부의 연산 시간이나 통신망에서 전송되는 시간에 의해 지연이 발생하므로 데이터 전송 시 발생하는 난수와 수신 시에 발생하는 난수가 달라질 수 있다. 이러한 오류를 최소화하기 위하여, 각 장비는 상호 통신을 할 때 TCP-IP의 Three-way-handshake가 이루어지는 과정에서의 일정 시점에서의 시간을 사용하여 난수 발생 오류를 최소화 한다. 여기서, Three-way-handshake란 TCP-IP프로토콜을 이용해서 통신을 하는 장비가 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대 장비와 사전에 세션을 수립하는 과정을 의미한다.However, when communication between the first device 100 and the second device 200 is delayed due to a computation time of each device or a transmission time of the communication network, a random number generated upon data transmission and a random number generated upon reception It can be different. To minimize these errors, each device minimizes random number generation errors by using time at a certain point in the process of three-way-handshake of TCP-IP when communicating with each other. Here, three-way-handshake means a process of establishing a session with an opponent device in advance in order to guarantee correct transmission of data before the device communicating using the TCP-IP protocol.

도 3은 제1 장비와 제2 장비간의 상호 통신 시작시의 Three-way-handshake가 이루어지는 과정의 일례를 도시한 도면이다.3 is a diagram illustrating an example of a process in which a three-way handshake is performed at the start of mutual communication between a first device and a second device.

도 3을 참조하면, 제1 장비(100)는 제2 장비(200)와의 통신 시작 시 SYN 신호를 제2 장비(200)로 전송하며, 제2 장비(200)는 SYN-ACK 신호를 제1 장비(100)로 전송한다. 제1 장비(100)는 ACK 신호를 제2 장비(200)로 전송하여 세션을 수립한다.3, the first device 100 transmits a SYN signal to the second device 200 at the start of communication with the second device 200, and the second device 200 transmits a SYN-ACK signal to the first device 200 To the equipment (100). The first equipment 100 transmits an ACK signal to the second equipment 200 to establish a session.

제1 장비(100)는 제1 난수의 생성 시 제1 장비(100)가 제2 장비로 ACK 신호를 전송한 ACK 전송 시간(

Figure 112014119351627-pat00019
) 및 기 설정된 시간 구간 값(D)을 통해 산출된 제1 전송시간을 더 이용하여 제1 난수를 생성할 수 있다.The first equipment 100 transmits the ACK transmission time (the first equipment 100 transmits the ACK signal to the second equipment)
Figure 112014119351627-pat00019
) And the first transmission time calculated through the predetermined time interval value (D) to generate the first random number.

또한, 제2 장비(200)는 ACK 전송 시간(

Figure 112014119351627-pat00020
)을 알 수 없으므로, 제2 장비(100)는 ACK 수신 시간(
Figure 112014119351627-pat00021
)에서 SYN-ACK 전송 시간 (
Figure 112014119351627-pat00022
)를 빼서 2로 나누어서 구한 추정 ACK 전송시간(
Figure 112014119351627-pat00023
) 및 기 설정된 시간 구간 값(D)을 통해 산출된 제2 전송시간을 더 이용하여 제2 난수를 생성할 수 있다. In addition, the second device 200 transmits the ACK transmission time (
Figure 112014119351627-pat00020
), The second equipment 100 can not know the ACK reception time (
Figure 112014119351627-pat00021
) To the SYN-ACK transmission time (
Figure 112014119351627-pat00022
) And subtracting the estimated ACK transmission time (
Figure 112014119351627-pat00023
) And the second transmission time calculated through the predetermined time interval value (D), to generate the second random number.

실제 ACK 전송 시간과 ACK 전송의 추정 시간은 오차가 발생할 수 있으므로, 시간을 일정 단위로 분할 한 기 설정된 시간 구간 값을 이용하여 실제 ACK 전송 시간과 ACK 전송의 추정 시간의 오차를 줄일 수 있다.Since an error may occur between the actual ACK transmission time and the estimated ACK transmission time, the error between the actual ACK transmission time and the estimated time of the ACK transmission can be reduced by using a predetermined time interval value obtained by dividing the time by a predetermined unit.

제1 전송시간 및 제2 전송시간은 아래의 수학식 6과 같다. The first transmission time and the second transmission time are expressed by Equation (6) below.

Figure 112014119351627-pat00024
Figure 112014119351627-pat00024

Figure 112014119351627-pat00025
Figure 112014119351627-pat00025

여기서,

Figure 112014119351627-pat00026
는 제1 전송시간,
Figure 112014119351627-pat00027
는 제2 전송시간, MOD()는 나머지 함수를 각각 의미한다. here,
Figure 112014119351627-pat00026
A first transmission time,
Figure 112014119351627-pat00027
And MOD () denotes a remaining function, respectively.

일례로,ACK 전송 시간(

Figure 112014119351627-pat00028
)이 10040msec이며, 추정 ACK 전송시간(
Figure 112014119351627-pat00029
)가 10038msec 이며, 시간 구간 값(D)가 500인 경우 제1 전송시간
Figure 112014119351627-pat00030
= 10040 - 40(10040을 500으로 나눈 나머지 값) = 10000이며, 제2 전송시간
Figure 112014119351627-pat00031
= 10038 - 38(10038을 500으로 나눈 나머지 값) = 10000으로 동일한 시간이 산출됨을 알 수 있다. 이와 같이 본 발명은 제1 장비(100)와 제2 장비(200)간의 시간 동기화 값인 제1 전송시간 및 제2 전송시간을 더 이용하여 동일한 제1 난수 및 제2 난수를 생성함으로써 높은 수준의 신뢰성을 가진 난수를 생성할 수 있다.For example, the ACK transmission time (
Figure 112014119351627-pat00028
) Is 10040 msec, and the estimated ACK transmission time (
Figure 112014119351627-pat00029
) Is 10038 msec. When the time interval value D is 500, the first transmission time
Figure 112014119351627-pat00030
= 10040 - 40 (remainder value obtained by dividing 10040 by 500) = 10000, and the second transmission time
Figure 112014119351627-pat00031
= 10038 - 38 (the remainder value obtained by dividing 10038 by 500) = 10000, the same time is calculated. As described above, the present invention generates the same first random number and second random number using the first transmission time and the second transmission time, which are time synchronization values between the first device 100 and the second device 200, Can be generated.

본 발명의 일 실시예에 따르면, 제1 장비(100)와 제2 장비(200)간의 시각 동기화의 오차를 해소하기 위해, 제1 장비(100)와 제2 장비(200)는 제1 전송 시간 및 제2 전송 시간을 시각 동기화 오차(AC)로 나눈 정수 값을 이용하여 제1 난수 및 제2 난수를 각각 생성할 수 있다. 이는 하기의 수학식 7과 같이 표현될 수 있다.According to an embodiment of the present invention, in order to eliminate the time synchronization error between the first device 100 and the second device 200, the first device 100 and the second device 200 may transmit the first transmission time And an integer value obtained by dividing the second transmission time by the time synchronization error (AC), to generate the first random number and the second random number, respectively. This can be expressed by Equation (7) below.

Figure 112014119351627-pat00032
Figure 112014119351627-pat00032

Figure 112014119351627-pat00033
Figure 112014119351627-pat00033

Figure 112014119351627-pat00034
Figure 112014119351627-pat00034

Figure 112014119351627-pat00035
Figure 112014119351627-pat00035

여기서,

Figure 112014119351627-pat00036
는 제1 전송시간을 시각 동기화 오차(AC)로 나눈 정수 값,
Figure 112014119351627-pat00037
는 제2 전송시간을 시각 동기화 오차로 나눈 정수 값을 각각 의미한다.here,
Figure 112014119351627-pat00036
Is an integer value obtained by dividing the first transmission time by the time synchronization error (AC)
Figure 112014119351627-pat00037
Represents an integer value obtained by dividing the second transmission time by the time synchronization error.

본 발명의 다른 실시예에 따르면, 도 4에서와 같이 제2 장비(200)와 통신하는 제1 장비(100-1, 100-2,... 100-n)가 복수 개일 수 있다. 이 경우 제2 장비(200)는 어느 하나의 제1 장비로부터 인증 요청이 오는 경우, 상대방의 난수 생성 인수를 알 수가 없다. 이와 같은 문제를 해결하기 위해, 단계(S100)에서 제2 장비(200)는 단계(S100)에서 제1 장비들(100-1, 100-2,... 100-n) 각각의 장비 ID, 인증코드, 난수 생성 인수 및 장비 식별번호를 포함하는 인증정보 저장할 수 있다. 또한, 제1 장비들은 기존의 인증정보에 자신들의 장비 식별번호 정보를 더 저장할 수 있다.According to another embodiment of the present invention, as shown in FIG. 4, there may be a plurality of first devices 100-1, 100-2, ..., 100-n communicating with the second device 200. FIG. In this case, if the second device 200 receives an authentication request from any one of the first devices, it can not know the random number generation factor of the other party. In order to solve such a problem, in step S100, the second device 200 acquires the device IDs of the first devices 100-1, 100-2, ..., 100-n in step S100, Authentication information, authentication code, random number generation factor, and equipment identification number. Also, the first devices may further store their device identification number information in the existing authentication information.

제2 장비(200)가 인증을 요청하는 제1 장비의 장비 식별번호를 알 수 있다면, 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 인증을 요청하는 제1 장비와 동일한 난수 및 키 값을 생성함으로써 인증을 수행할 수 있을 것이다.If the second device 200 knows the device identification number of the first device requesting authentication, it generates the same random number and key value as the first device requesting authentication using the random number generation factor corresponding to the device identification number Authentication can be performed.

여기서, 제2 장비(200)에 저장되는 제1 장비들의 장비 식별번호(100-1, 100-2,... 100-n)는 OSI 7 Layer의 Network Layer를 통하여 전송되는 통신장치의 하드웨어 정보(MAC Address)나, 무선 환경에서의 제1 장비의 통신 모뎀 정보일 수 있다. 즉, 제1 장비들의 장비 식별번호가 MAC Address나 통신 모뎀 정보 인 경우 인증을 요청하는 제1 장비와의 통신 과정에서 제2 장비(200)는 제1 장비의 장비 식별번호를 추출할 수 있다. 따라서, 제2 장비(200)는 단계(S140)에서 인증을 요청하는 제1 장비의 장비 식별번호를 추출하고, 추출된 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 제2 난수를 생성할 수 있다. 이 경우, 인증을 요청하는 제1 장비는 별도의 장비 식별번호를 제2 장비(200)로 전송할 필요가 없다.The device identification numbers 100-1, 100-2, ..., 100-n of the first devices stored in the second device 200 correspond to hardware information of a communication device transmitted through a network layer of the OSI 7 Layer (MAC Address), or communication modem information of the first device in a wireless environment. That is, when the equipment identification number of the first equipment is the MAC address or the communication modem information, the second equipment 200 can extract the equipment identification number of the first equipment in the process of communicating with the first equipment requesting the certification. Accordingly, the second device 200 may extract the device identification number of the first device requesting authentication in step S140, and generate a second random number using the random number generation factor corresponding to the extracted device identification number have. In this case, the first device requesting authentication does not need to transmit a separate device identification number to the second device 200. [

그러나, 사설망이 개입된 통신환경과 같이 상대방의 하드웨어 정보를 알아낼 수 없거나, 여러 개의 장비가 1개의 통신 하드웨어를 사용할 경우에는 제2 장비(200)는 인증을 요청하는 제1 장비의 장비 식별번호를 추출할 수 없다. 이와 같은 경우, 인증을 요청하는 제1 장비는 단계(S130)에서 장비 ID 암호키와 함께 자신의 장비 식별번호를 제2 장비(200)로 전송하며, 제2 장비(200)는 단계(S140)에서 수신된 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 제2 난수를 생성할 수 있다.However, when the hardware information of the other party can not be obtained as in the communication environment in which the private network is interfaced, or when a plurality of devices use one communication hardware, the second device 200 transmits the device identification number of the first device requesting authentication Can not be extracted. In this case, the first device requesting the authentication transmits its own device identification number to the second device 200 together with the device ID encryption key in step S130, and the second device 200 transmits the device identification number to the second device 200 in step S140. The second random number may be generated using the random number generation factor corresponding to the equipment identification number received in step < RTI ID = 0.0 >

도 5는 본 발명의 다른 실시예에 따른 인증서버를 이용한 제1 장비와 제2 장비간의 인증방법을 도시한 순서도이다.5 is a flowchart illustrating an authentication method between a first device and a second device using an authentication server according to another embodiment of the present invention.

도 5를 참조하면, 제1 장비(100) 및 제2 장비(200) 각각의 장비 ID, 인증코드, 난수 생성 인수, 장비 식별번호와 난수 생성 함수 및 키 생성 함수 중 적어도 하나를 포함하는 인증정보가 인증서버에 등록되며, 제1 장비(100)의 인증정보가 상기 제1 장비(100)에 등록되며, 제2 장비(200)의 인증정보가 상기 제2 장비에 등록된다.5, authentication information including at least one of a device ID, an authentication code, a random number generation factor, a device identification number, a random number generation function, and a key generation function of each of the first device 100 and the second device 200, The authentication information of the first device 100 is registered in the first device 100 and the authentication information of the second device 200 is registered in the second device.

인증서버(300)를 이용하여 제1 장비(100)와 제2 장비(200)간의 인증을 하는 경우, 우선 제2 장비(200)와 인증서버(300)간의 상호 인증이 수행된 상태에서, 제1 장비(100)가 제2 장비(200)에 인증을 요청하면, 제2 장비(200)는 이 인증정보를 인증서버(300)로 전송하여 인증서버(300)로부터 지1 장비(100)의 인증 코드를 받아 제1 장비(100)로 전송한다.When authentication between the first device 100 and the second device 200 is performed using the authentication server 300, first, in a state where the mutual authentication between the second device 200 and the authentication server 300 is performed, The second device 200 transmits the authentication information to the authentication server 300 and transmits the authentication information from the authentication server 300 to the first device 200. [ And transmits the authentication code to the first device 100.

보다 상세하게, 단계(S200)에서 제2 장비(200)는 제2 장비(200)의 난수 생성 인수 및 난수 생성 함수를 이용하여 생성된 제3 난수 및 상기 키 생성 함수를 이용하여 제3 키 값을 생성하며, 상기 제3 키 값을 이용하여 제2 장비(200)의 장비 ID를 암호화한 제3 장비 ID 암호키 및 제2 장비(200)의 장비 식별번호를 인증서버(300)로 전송한다.More specifically, in step S200, the second device 200 generates a third key value using the third random number generated using the random number generation factor and the random number generation function of the second device 200, And transmits the third equipment ID encryption key obtained by encrypting the equipment ID of the second equipment 200 and the equipment identification number of the second equipment 200 to the authentication server 300 using the third key value .

인증서버(300)는 단계(S210)에서, 제2 장비의 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 생성된 제4 난수와 상기 키 생성 함수를 이용하여 제4 키 값을 생성하며, 상기 제4 키 값을 이용하여 제2 장비 ID 암호키를 복호화하여 제2 장비 ID를 추출하며, 상기 제4 키 값을 이용하여 추출된 제2 장비 ID에 대응되는 인증코드를 암호화한 제2 인증코드 암호키를 제2 장비(200)로 전송한다.The authentication server 300 generates a fourth key value using the fourth random number generated using the random number generation factor corresponding to the equipment identification number of the second device and the key generation function in step S210, Extracting a second device ID by decrypting the second device ID cryptographic key using the fourth key value, generating a second authentication code by encrypting the authentication code corresponding to the extracted second device ID using the fourth key value, And transmits the encryption key to the second device (200).

제2 장비(200)와 인증서버(300)는 제3 키 값을 이용하여 제2 인증코드 암호키를 복호화 하여 제2 인증코드를 추출하고, 추출된 제2 인증코드와 제2 장비(200)에 등록된 인증코드가 일치하는 경우 인증서버(300)와 인증이 수행된 것으로 판단한다.The second device 200 and the authentication server 300 extract the second authentication code by decrypting the second authentication code encryption key using the third key value and transmit the extracted second authentication code to the second device 200, It is determined that authentication with the authentication server 300 has been performed.

이어서, 단계(S220)에서 제1 장비(100)는 제1 장비(100)의 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 생성된 제1 난수 및 상기 키 생성 함수를 이용하여 제1 키 값을 생성하며, 상기 제1 키 값을 이용하여 제1 장비(100)의 장비 ID를 암호화한 제1 장비 ID 암호키 및 제1 장비(100)의 장비 식별번호를 제2 장비(200)로 전송한다.Then, in step S220, the first device 100 generates a first key value using the first random number generated by using the random number generating function of the first device 100, the first random number generated using the random number generating function, And transmits the first equipment ID encryption key and the equipment identification number of the first equipment 100 that have encrypted the equipment ID of the first equipment 100 to the second equipment 200 using the first key value .

제2 장비(200)는 단계(S230)에서 제1 장비 ID 암호키 및 제1 장비(100)의 장비 식별번호를 인증서버(300)로 전송한다.The second device 200 transmits the first device ID encryption key and the device identification number of the first device 100 to the authentication server 300 in step S230.

이어서, 인증서버(300)는 단계(S240)에서 인증 서버(300)는 제1 장비의 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 생성된 제2 난수와 상기 키 생성 함수를 이용하여 제2 키 값을 생성하며, 상기 제2 키 값을 이용하여 상기 제1 장비 ID 암호키를 복호화하여 제1 장비 ID를 추출하며, 상기 제2 키 값을 이용하여 상기 추출된 제1 장비 ID에 대응되는 인증코드를 암호화한 제1 인증코드 암호키를 제2 장비(200)로 전송한다.Then, in step S240, the authentication server 300 transmits the second random number generated using the random number generation factor corresponding to the device identification number of the first device and the second random number generated using the key generation function to the second Extracts a first device ID by decrypting the first device ID cryptographic key using the second key value, extracts a first device ID corresponding to the extracted first device ID using the second key value, And transmits the first authentication code encryption key that has been encrypted with the authentication code to the second device 200. [

이어서, 제2 장비(200)는 단계(S250)에서, 상기 제1 인증코드 암호키를 제1 장비로 전송한다.Then, in step S250, the second device 200 transmits the first authentication code encryption key to the first device.

마지막으로, 제1 장비는 상기 제1 키 값을 이용하여 상기 제1 인증코드 암호키를 복호화하여 제1 인증코드를 추출하고, 상기 추출된 제1 인증코드 및 제1 장비(100)에 등록된 인증코드를 비교하여 상기 제2 장비와의 인증을 수행한다.Finally, the first device decrypts the first authentication code encryption key using the first key value to extract a first authentication code, and extracts the first authentication code and the first authentication code, which are registered in the first device 100 And compares the authentication code and performs authentication with the second device.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

100: 제1 장비 110: 통신부
120: 제어부 130: 저장부
140: 인증모듈 200: 제2 장비
300: 인증서버
100: first equipment 110: communication unit
120: control unit 130:
140: authentication module 200: second device
300: authentication server

Claims (18)

제1 장비와 제2 장비간의 인증방법에 있어서,
상기 제1 장비의 장비 ID, 인증코드 및 난수 생성 인수와 난수 생성 함수 및 키 생성 함수 중 적어도 하나를 포함하는 인증정보를 상기 제1 장비 및 상기 제2 장비에 각각 저장하는 단계(a);
상기 제1 장비가 상기 난수 생성 인수 및 난수 생성 함수를 이용하여 제1 난수를 생성하며, 상기 제1 난수 및 상기 키 생성 함수를 이용하여 제1 키 값을 생성하는 단계(b);
상기 제1 장비가 상기 제1 키 값을 이용하여 상기 장비 ID를 암호화한 장비 ID 암호키를 상기 제2 장비로 전송하는 단계(c);
상기 제2 장비가 상기 난수 생성 인수를 이용하여 제2 난수를 생성하며, 상기 제2 난수 및 상기 키 생성 함수를 이용하여 제2 키 값을 생성하는 단계(d);
상기 제2 장비가 상기 제2 키 값을 이용하여 상기 장비 ID 암호키를 복호화 하여 장비 ID를 추출하고, 상기 제2 키 값을 이용하여 상기 추출된 장비 ID에 대응되는 인증코드를 암호화한 인증코드 암호키를 상기 제1 장비로 전송하는 단계(e);
상기 제1 장비가 상기 제1 키 값을 이용하여 상기 인증코드 암호키를 복호화하여 인증코드를 추출하고, 상기 추출된 인증코드 및 상기 제1 장비에 저장된 인증코드를 비교하여 인증을 수행하는 단계(f)를 포함하되,
상기 제1 장비에서 생성되는 제1 난수 및 상기 제2 장비에서 생성되는 제2 난수는 동일한 난수이며, 상기 제1 장비와 상기 제2 장비간의 데이터 통신이 시도될 때마다 상기 단계(b) 내지 단계(f)를 재수행하며, 상기 제1 장비 및 상기 제2 장비에서 생성되는 난수는 이전 인증단계에서 생성된 난수와 다른 값을 가지는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
In an authentication method between a first device and a second device,
(A) storing authentication information including at least one of a device ID, an authentication code, a random number generation factor, a random number generation function, and a key generation function of the first device in the first device and the second device, respectively;
(B) generating a first random number using the random number generation function and the random number generation function, and generating a first key value using the first random number and the key generation function;
(C) transmitting, by the first equipment, an equipment ID cryptographic key obtained by encrypting the equipment ID using the first key value to the second equipment;
(D) generating, by the second device, a second random number using the random number generation factor, and generating a second key value using the second random number and the key generation function;
The second device decrypts the device ID cryptographic key using the second key value to extract the device ID and encrypts the authentication code corresponding to the extracted device ID using the second key value, (E) transmitting an encryption key to the first device;
The first device decrypts the authentication code encryption key using the first key value to extract an authentication code, and performs authentication by comparing the extracted authentication code and the authentication code stored in the first device f)
Wherein the first random number generated by the first device and the second random number generated by the second device are the same random number, and each time data communication between the first device and the second device is attempted, (f), and the random number generated in the first device and the second device is different from the random number generated in the previous authentication step.
제1항에 있어서,
상기 단계(a)는 상기 제1 장비와 상비 제2 장비간의 데이터 통신 경로 외의 다른 경로를 통해 수행되는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
The method according to claim 1,
Wherein the step (a) is performed through a path other than the data communication path between the first equipment and the second equipment.
제1항에 있어서,
상기 단계(a)는, 상기 제1 장비 및 상기 제2 장비에 상기 제2 장비의 장비 ID를 더 저장할 수 있으며,
상기 단계(b) 및 상기 단계(d)는 상기 제2 장비의 장비 ID를 더 이용하여 상기 제1 키 값 및 상기 제2 키 값을 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
The method according to claim 1,
The step (a) may further store the equipment ID of the second equipment in the first equipment and the second equipment,
Wherein the step (b) and the step (d) further generate the first key value and the second key value by further using the device ID of the second device. Way.
제1항에 있어서,
상기 제1 장비와 상기 제2 장비간의 통신은 TCP-IP 프로토콜을 통해 수행되며,
상기 단계(b)는, 상기 제1 장비가 상기 제2 장비로 ACK 신호를 전송한 ACK 전송 시간 및 기 설정된 시간 구간 값을 통해 산출된 제1 전송시간을 더 이용하여 상기 제1 난수를 생성하며,
상기 단계(d)는 상기 제2 장비가 상기 제1 장비로 SYN-ACK 신호를 전송한 SYN-ACK 전송 시간, 상기 제2 장비가 상기 ACK 신호를 수신한 ACK 수신 시간 및 상기 기 설정된 시간 구간 값을 통해 산출된 제2 전송시간을 더 이용하여 상기 제2 난수를 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
The method according to claim 1,
Wherein communication between the first device and the second device is performed through a TCP-IP protocol,
The step (b) further generates the first random number by further using the first transmission time calculated based on the ACK transmission time and the predetermined time interval value in which the first equipment transmits the ACK signal to the second equipment ,
Wherein the step (d) includes: a SYN-ACK transmission time at which the second equipment transmits a SYN-ACK signal to the first equipment; an ACK reception time at which the second equipment receives the ACK signal; And generating the second random number by further using a second transmission time calculated through the first transmission time and the second transmission time.
제4항에 있어서,
상기 단계(b)는 상기 제1 전송시간을 시각 동기화 오차로 나눈 정수 값을 이용하여 상기 제1 난수를 생성하며,
상기 단계(d)는 상기 제2 전송시간을 시각 동기화 오차로 나눈 정수 값을 이용하여 상기 제2 난수를 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
5. The method of claim 4,
Wherein the step (b) generates the first random number using an integer value obtained by dividing the first transmission time by a time synchronization error,
Wherein the step (d) generates the second random number using an integer value obtained by dividing the second transmission time by the time synchronization error.
제5항에 있어서,
상기 제1 난수는 하기의 수학식을 이용하여 생성되는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
Figure 112014119351627-pat00038

여기서,
Figure 112014119351627-pat00039
는 제1 전송시간,
Figure 112014119351627-pat00040
는 상기 ACK 전송 시간, MOD는 나머지 함수, D는 기 설정된 시간 구간 값, Ac는 상기 시각 동기화 오차,
Figure 112014119351627-pat00041
는 제1 전송시간을 시각 동기화 오차로 나눈 정수 값,
Figure 112014119351627-pat00042
는 제1 난수, fn()은 난수 생성 함수, F는 난수 생성 규칙을 각각 의미함.
6. The method of claim 5,
Wherein the first random number is generated using the following equation.
Figure 112014119351627-pat00038

here,
Figure 112014119351627-pat00039
A first transmission time,
Figure 112014119351627-pat00040
, MOD is a remaining function, D is a preset time interval value, Ac is the time synchronization error,
Figure 112014119351627-pat00041
Is an integer value obtained by dividing the first transmission time by the time synchronization error,
Figure 112014119351627-pat00042
Is a first random number, fn () is a random number generating function, and F is a random number generating rule.
제5항에 있어서,
상기 제2 난수는 하기의 수학식을 이용하여 생성되는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
Figure 112014119351627-pat00043

여기서,
Figure 112014119351627-pat00044
는 추정 ACK 전송 시간,
Figure 112014119351627-pat00045
는 SYN-ACK 전송 시간,
Figure 112014119351627-pat00046
는 ACK 수신 시간,
Figure 112014119351627-pat00047
는 제2 전송 시간, MOD는 나머지 함수, Ac는 상기 시각 동기화 오차,
Figure 112014119351627-pat00048
는 제2 전송시간을 시각 동기화 오차로 나눈 정수 값,
Figure 112014119351627-pat00049
는 제2 난수, fn()은 난수 생성 함수, F는 난수 생성 규칙을 각각 의미함.
6. The method of claim 5,
Wherein the second random number is generated using the following equation.
Figure 112014119351627-pat00043

here,
Figure 112014119351627-pat00044
The estimated ACK transmission time,
Figure 112014119351627-pat00045
SYN-ACK transmission time,
Figure 112014119351627-pat00046
ACK reception time,
Figure 112014119351627-pat00047
, MOD is the remaining function, Ac is the time synchronization error,
Figure 112014119351627-pat00048
Is an integer value obtained by dividing the second transmission time by the time synchronization error,
Figure 112014119351627-pat00049
Is a second random number, fn () is a random number generating function, and F is a random number generating rule.
제2항에 있어서,
상기 인증정보는 상기 제1 장비에 포함되는 별도의 인증 모듈에 저장되는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
3. The method of claim 2,
Wherein the authentication information is stored in a separate authentication module included in the first device.
제8항에 있어서,
상기 인증 모듈은 별도의 전원과 IC 칩을 포함할 수 있으며, 상기 인증 모듈이 상기 제1 장비에 장착될 시 상기 IC 칩에 저장된 난수 생성 인수를 이용하여 생성된 난수와 상기 제1 장비에서 저장된 난수 생성 인수를 이용하여 생성된 난수가 동일한 경우 상기 제1 장비는 상기 인증 모듈을 인증하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
9. The method of claim 8,
The authentication module may include a separate power source and an IC chip. When the authentication module is mounted on the first device, a random number generated using the random number generation factor stored in the IC chip and a random number stored in the first device Wherein the first device authenticates the authentication module when the generated random number is equal to the generated random number.
제9항에 있어서,
상기 인증모듈은 전원과 통신이 공급되는 인증모듈 장착용 장비에서 장착되어 시간 동기화 서버를 통해 시각 동기화가 된 상태에서, 상기 인증모듈 장착용 장비로부터 분리되어 상기 제1 장비에 장착될 수 있으며, 상기 인증모듈과 상기 제1 장비는 시간 정보를 더 이용하여 각각 생성된 난수를 비교하여 인증을 수행하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
10. The method of claim 9,
The authentication module may be mounted on the authentication module mounting equipment supplied with communication with the power source and may be mounted on the first device separated from the authentication module mounting equipment in a state in which the time synchronization is performed through the time synchronization server, Wherein the authentication module and the first device compare the generated random numbers by further using time information to perform authentication.
제1항에 있어서,
상기 제2 장비와 통신하는 상기 제1 장비가 적어도 둘 이상인 경우,
상기 인증 정보는 상기 제1 장비의 장비 식별번호를 더 포함하며,
상기 단계(a)에서 상기 제2 장비에는 상기 제1 장비들 각각에 대한 인증정보가 저장되며,
상기 단계(d)는 상기 장비 ID 암호키를 전송한 제1 장비의 장비 식별번호를 추출하고, 상기 추출된 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 상기 제2 난수를 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
The method according to claim 1,
And if the first equipment in communication with the second equipment is at least two,
Wherein the authentication information further includes a device identification number of the first device,
In the step (a), authentication information for each of the first devices is stored in the second device,
Wherein the step (d) extracts a device identification number of the first device that transmitted the device ID encryption key, and generates the second random number by using a random number generation factor corresponding to the extracted device identification number The authentication method between the first device and the second device.
제11항에 있어서,
상기 제1 장비들과 상기 제2 장비간의 통신이 TCP-IP 프로토콜을 통해 수행되는 경우, 상기 추출된 장비 식별번호는 상기 제1 장비의 물리적인 하드웨어 정보인 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
12. The method of claim 11,
Wherein when the communication between the first devices and the second device is performed through the TCP-IP protocol, the extracted device identification number is physical hardware information of the first device. Authentication method between equipment.
제11항에 있어서,
상기 제1 장비들과 상기 제2 장비간의 통신이 무선 통신을 통해 수행되는 경우, 상기 추출된 장비 식별번호는 상기 제1 장비의 통신 모뎀 정보인 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
12. The method of claim 11,
Wherein when the communication between the first devices and the second device is performed through wireless communication, the extracted device identification number is the communication modem information of the first device, and the authentication between the first device and the second device Way.
제1항에 있어서,
상기 제2 장비와 통신하는 상기 제1 장비가 적어도 둘 이상인 경우,
상기 인증 정보는 상기 제1 장비의 장비 식별번호를 더 포함하며,
상기 단계(a)에서 상기 제2 장비에는 상기 제1 장비들 각각에 대한 인증정보가 저장되며,
상기 단계(c)는 상기 제1 장비들 중 인증을 요청하는 제1 장비의 장비 식별번호를 상기 제2 장비로 더 전송하며,
상기 단계(d)는 상기 수신된 장비 식별번호에 대응되는 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 상기 제2 난수를 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
The method according to claim 1,
And if the first equipment in communication with the second equipment is at least two,
Wherein the authentication information further includes a device identification number of the first device,
In the step (a), authentication information for each of the first devices is stored in the second device,
Wherein the step (c) further transmits, to the second device, the device identification number of the first device requesting authentication among the first devices,
Wherein the step (d) generates the second random number using a random number generation factor corresponding to the received equipment identification number and the random number generation function.
제1항에 있어서,
상기 단계(f) 이후에,
상기 제1 장비는 상기 제1 난수를 재 생성하며, 이전에 생성된 난수, 상기 재 생성된 난수 및 상기 제1 키 값 중 적어도 하나를 이용하여 데이터를 암호화하여 상기 제2 장비로 전송하며,
상기 제2 장비는 상기 제2 난수를 재 생성하며, 이전에 생성된 제2 난수, 상기 재 생성된 난수 및 상기 제2 키 값 중 적어도 하나를 이용하여 상기 데이터를 복호화하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
The method according to claim 1,
After the step (f)
Wherein the first device regenerates the first random number and transmits data to the second device by encrypting the data using at least one of the previously generated random number, the regenerated random number, and the first key value,
Wherein the second device recovers the second random number and decrypts the data using at least one of a previously generated second random number, the regenerated random number, and the second key value. Authentication method between the device and the second device.
제15항에 있어서,
상기 제1 장비와 상기 제2 장비간의 데이터 전송 중 통신이 실패하는 경우, 최종 통신 성공에 사용된 난수를 사용하여 통신을 복원하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
16. The method of claim 15,
Wherein the communication is restored by using a random number used for success in the final communication if communication fails during data transmission between the first device and the second device.
인증서버를 이용한 제1 장비와 제2 장비간의 인증방법에 있어서,
상기 제1 장비 및 상기 제2 장비 각각의 장비 ID, 인증코드, 난수 생성 인수, 장비 식별번호와 난수 생성 함수 및 키 생성 함수 중 적어도 하나를 포함하는 인증정보를 상기 인증서버에 등록하며, 상기 제1 장비의 인증정보를 상기 제1 장비에 등록하며, 상기 제2 장비의 인증정보를 상기 제2 장비에 등록하는 단계(a);
상기 제1 장비는 상기 제1 장비의 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 생성된 제1 난수 및 상기 키 생성 함수를 이용하여 제1 키 값을 생성하며, 상기 제1 키 값을 이용하여 상기 제1 장비의 장비 ID를 암호화한 제1 장비 ID 암호키 및 상기 제1 장비의 장비 식별번호를 상기 제2 장비로 전송하는 단계(b);
상기 제2 장비는 상기 암호화된 제1 장비 ID 암호키 및 상기 제1 장비의 장비 식별번호를 상기 인증서버로 전송하는 단계(c);
상기 인증 서버는 상기 제1 장비의 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 생성된 제2 난수와 상기 키 생성 함수를 이용하여 제2 키 값을 생성하며, 상기 제2 키 값을 이용하여 상기 제1 장비 ID 암호키를 복호화하여 제1 장비 ID를 추출하며, 상기 제2 키 값을 이용하여 상기 추출된 제1 장비 ID에 대응되는 인증코드를 암호화한 제1 인증코드 암호키를 상기 제2 장비로 전송하는 단계(d);
상기 제2 장비는 상기 제1 인증코드 암호키를 상기 제1 장비로 전송하는 단계(e); 및
상기 제1 장비가 상기 제1 키 값을 이용하여 상기 제1 인증코드 암호키를 복호화하여 제1 인증코드를 추출하고, 상기 추출된 제1 인증코드 및 상기 제1 장비에 등록된 인증코드를 비교하여 상기 제2 장비와의 인증을 수행하는 단계(f)를 포함하되,
상기 제1 장비에서 생성된 상기 인증 서버에서 생성된 제2 난수는 동일하며, 상기 제1 장비와 상기 제2 장비간의 데이터 통신이 시도될 때마다 상기 단계(b) 내지 단계(f)를 재 수행하며, 상기 제1 장비 및 상기 인증 서버에서 생성되는 난수는 이전 인증단계에서 생성된 난수와 다른 값을 가지는 것을 특징으로 하는 인증서버를 이용한 제1 장비와 제2 장비간의 인증방법.
An authentication method between a first device and a second device using an authentication server,
And registers authentication information including at least one of a device ID, an authentication code, a random number generation factor, an equipment identification number, a random number generation function, and a key generation function of each of the first device and the second device in the authentication server, (A) registering the authentication information of the first device in the first device and the authentication information of the second device in the second device;
Wherein the first device generates a first key value using the first random number generated using the random number generation factor of the first device and the random number generation function and the key generation function, (B) transmitting a first equipment ID encryption key obtained by encrypting the equipment ID of the first equipment and an equipment identification number of the first equipment to the second equipment;
(C) transmitting, by the second device, the encrypted first device ID encryption key and the device identification number of the first device to the authentication server;
Wherein the authentication server generates a second key value using a second random number generated using a random number generation factor corresponding to the device identification number of the first device and the key generation function, Extracting a first device ID by decrypting the first device ID cryptographic key and generating a first authentication code cryptographic key by encrypting an authentication code corresponding to the extracted first device ID using the second key value, (D) transmitting to the second equipment;
(E) sending the first authentication code encryption key to the first device; And
The first device decrypts the first authentication code encryption key using the first key value to extract a first authentication code, and compares the extracted first authentication code and the authentication code registered in the first device (F) performing authentication with the second device,
The second random number generated by the authentication server generated by the first device is the same and the step (b) to step (f) are re-performed each time data communication between the first device and the second device is attempted Wherein the first device and the authentication server generate a random number different from the random number generated in the previous authentication step.
제17항에 있어서,
상기 단계(b) 이전에,
상기 제2 장비는 상기 제2 장비의 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 생성된 제3 난수 및 상기 키 생성 함수를 이용하여 제3 키 값을 생성하며, 상기 제3 키 값을 이용하여 상기 제2 장비의 장비 ID를 암호화한 제3 장비 ID 암호키 및 상기 제2 장비의 장비 식별번호를 상기 인증서버로 전송하는 단계;
상기 인증 서버는 상기 제2 장비의 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 생성된 제4 난수와 상기 키 생성 함수를 이용하여 제4 키 값을 생성하며, 상기 제4 키 값을 이용하여 상기 제2 장비 ID 암호키를 복호화하여 제2 장비 ID를 추출하며, 상기 제4 키 값을 이용하여 추출된 제2 장비 ID에 대응되는 인증코드를 암호화한 제2 인증코드 암호키를 상기 제2 장비로 전송하는 단계;
상기 제2 장비가 상기 제3 키 값을 이용하여 상기 제2 인증코드 암호키를 복호화하여 제2 인증코드를 추출하고, 상기 추출된 제2 인증코드 및 상기 제2 장비에 등록된 인증코드를 비교하여 상기 인증서버와의 인증을 수행하는 단계를 더 포함하는 것을 특징으로 하는 인증서버를 이용한 제1 장비와 제2 장비간의 인증방법.
18. The method of claim 17,
Prior to step (b) above,
Wherein the second device generates a third key value using the third random number generated using the random number generation factor of the second device and the random number generation function and the key generation function, Transmitting a third equipment ID encryption key obtained by encrypting the equipment ID of the second equipment and an equipment identification number of the second equipment to the authentication server;
The authentication server generates a fourth key value using the fourth random number generated using the random number generation factor corresponding to the device identification number of the second device and the key generation function, Extracting a second device ID by decrypting the second device ID encryption key, and encrypting a second authentication code encryption key obtained by encrypting an authentication code corresponding to the extracted second device ID using the fourth key value, Transmitting to the equipment;
The second device decrypts the second authentication code encryption key using the third key value to extract a second authentication code, and compares the extracted second authentication code and the authentication code registered in the second device And performing authentication with the authentication server by using the authentication server.
KR1020140175248A 2014-12-08 2014-12-08 Method for authentication between devices KR101645705B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140175248A KR101645705B1 (en) 2014-12-08 2014-12-08 Method for authentication between devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140175248A KR101645705B1 (en) 2014-12-08 2014-12-08 Method for authentication between devices

Publications (2)

Publication Number Publication Date
KR20160069612A KR20160069612A (en) 2016-06-17
KR101645705B1 true KR101645705B1 (en) 2016-08-08

Family

ID=56343697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140175248A KR101645705B1 (en) 2014-12-08 2014-12-08 Method for authentication between devices

Country Status (1)

Country Link
KR (1) KR101645705B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102380822B1 (en) * 2017-09-21 2022-04-01 삼성전자주식회사 Method for operating internet-of-things system
US11074335B2 (en) 2017-09-21 2021-07-27 Samsung Electronics Co., Ltd. Method for operating an internet-of-things system
CN116418509A (en) * 2021-12-31 2023-07-11 圣邦微电子(北京)股份有限公司 Sequence number generation circuit and method for authenticating external equipment by terminal
CN116668203B (en) * 2023-08-02 2023-10-20 浙江大华技术股份有限公司 Device authentication method, internet of things device, authentication platform and readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021999A1 (en) * 2003-03-03 2005-01-27 Riverhead Networks Inc. Using TCP to authenticate IP source addresses
KR101452124B1 (en) * 2013-08-01 2014-10-16 덕성여자대학교 산학협력단 Method for Device Authentication and Session Key Generation Based on Encryption in Internet of Things

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021999A1 (en) * 2003-03-03 2005-01-27 Riverhead Networks Inc. Using TCP to authenticate IP source addresses
KR101452124B1 (en) * 2013-08-01 2014-10-16 덕성여자대학교 산학협력단 Method for Device Authentication and Session Key Generation Based on Encryption in Internet of Things

Also Published As

Publication number Publication date
KR20160069612A (en) 2016-06-17

Similar Documents

Publication Publication Date Title
JP6168415B2 (en) Terminal authentication system, server device, and terminal authentication method
EP3318043B1 (en) Mutual authentication of confidential communication
KR102015201B1 (en) Efficient start-up for secured connections and related services
CN104219228B (en) A kind of user's registration, user identification method and system
US9621545B2 (en) System and method for connecting client devices to a network
US9647994B2 (en) System and method for grid based cyber security
CN111835752A (en) Lightweight authentication method based on equipment identity and gateway
US20150341178A1 (en) Certificate issuing system, client terminal, server device, certificate acquisition method, and certificate issuing method
CN103763356A (en) Establishment method, device and system for connection of secure sockets layers
JP6548172B2 (en) Terminal authentication system, server device, and terminal authentication method
CN111435913B (en) Identity authentication method and device for terminal of Internet of things and storage medium
CN103685323A (en) Method for realizing intelligent home security networking based on intelligent cloud television gateway
CN108809633B (en) Identity authentication method, device and system
US11070537B2 (en) Stateless method for securing and authenticating a telecommunication
JP6167990B2 (en) Signature verification system, verification device, and signature verification method
CN111614621B (en) Internet of things communication method and system
KR101645705B1 (en) Method for authentication between devices
KR100668446B1 (en) Safe --method for transferring digital certificate
CN113225352A (en) Data transmission method and device, electronic equipment and storage medium
EP2905717A1 (en) Device and method for device and user authentication
KR102415628B1 (en) Method and apparatus for authenticating drone using dim
CN114531235B (en) Communication method and system for end-to-end encryption
CN111641539B (en) Safety interaction method for household electrical appliance
CN114255530B (en) Communication security guarantee method and system for intelligent lockset of power supply equipment
JP2008217497A (en) Radio communication system communication device, and radio communication method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190627

Year of fee payment: 4