KR20160069612A - 장비들간의 인증방법 - Google Patents

장비들간의 인증방법 Download PDF

Info

Publication number
KR20160069612A
KR20160069612A KR1020140175248A KR20140175248A KR20160069612A KR 20160069612 A KR20160069612 A KR 20160069612A KR 1020140175248 A KR1020140175248 A KR 1020140175248A KR 20140175248 A KR20140175248 A KR 20140175248A KR 20160069612 A KR20160069612 A KR 20160069612A
Authority
KR
South Korea
Prior art keywords
random number
authentication
equipment
key
authentication code
Prior art date
Application number
KR1020140175248A
Other languages
English (en)
Other versions
KR101645705B1 (ko
Inventor
진승범
Original Assignee
(주)아이티씨정보기술
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)아이티씨정보기술 filed Critical (주)아이티씨정보기술
Priority to KR1020140175248A priority Critical patent/KR101645705B1/ko
Publication of KR20160069612A publication Critical patent/KR20160069612A/ko
Application granted granted Critical
Publication of KR101645705B1 publication Critical patent/KR101645705B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

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)를 포함하는 것을 특징으로 한다.

Description

장비들간의 인증방법{METHOD FOR AUTHENTICATION BETWEEN DEVICES}
본 발명의 실시예들은 장비들간의 인증방법에 관한 것으로서, 더욱 상세하게는 IOT 통신 환경에서의 장비들간의 인증방법에 관한 것이다.
현대사회는 기술의 발전으로 우리가 의식하지 않아도, 모든 사물(장치)과 사람이 통신을 하는 시대로 바뀌고 있다. 이런 기술을 IOT(Internet of things)라고 부른다. IOT 기술의 핵심은 인간의 개입 없이 모든 장치들이 상호 협력적으로 센싱, 정보 처리 등을 수행한다는 점이다. 이러한 장치들간의 통신이 가능해짐에 따라 각 장비들은 해킹, 악성코드, 바이러스들과 같은 다양한 위험요소에 노출될 수 있으므로, 장비들간의 인증을 수행할 필요가 있다.
데이터를 암호화하고 해독하는 방식에는 공개키 암호화 및 대칭키 암호화 방식이 있다. 공개키 암호화 방식은 공개 되는 키와 여기에 1:1로 대응되는 비밀키가 있고, 대칭키 암호화 방식은 공개되지 않는 비밀키를 가지고 암호화하고 해독하는 방식이다.
공개키 암호화 키는 키 정보를 교환하는 과정에서 보안 취약점이 존재하고, 비밀키 암호화는 비밀키가 노출되었을 때 보안 취약점이 발생하게 된다. 또한, 인증을 하는 장비가 상호 식별을 위하여 인증서를 사용하고 이와 이 인증서의 대응되는 키 정보를 가지고 암호화를 하고 이를 해독하는 방법이 많이 쓰이지만, 인증 시 정보가 공개된 네트워크를 통하여 전송됨으로써 보안 취약점이 발생하기도 한다. 예를 들어, SSL(Secure Socket Layer), TLS(Transport Layer Security)에서는 클라이언트와 서버 사이에 키를 교환하는 과정이 존재한다. 또한, IOT 환경에서 통신을 하는 많은 수의 장비와 서버들이 통신의 신뢰성을 확보하기 위하여 인증기관(CA)으로부터 검증된 인증서를 발급받아야 하는데, 이러한 경우 높은 인증 비용이 발생하게 되고, CA의 인증서버의 부하도 감당할 수 없이 증가하게 되어 실제 환경에서 기존의 기술로는 상용화된 신뢰성 있는 통신체계를 구현하기 어렵다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명은 기존의 인증 및 암호화 알고리즘의 결점을 보완한 것으로서, 데이터를 암호화고 이를 복호화 하는데 사용되는 장비 ID와 인증코드가 장비간에 사용되는 주 통신망이 아닌 다른 부가적인 경로로 상호 전달되어 보안성을 높이며, 장비 ID, 인증코드, 난수 생성 인수를 이용하여 생성된 별도의 키가 사용되어 데이터를 암호화하고 복호화 할 수 있으며, 난수 발생 시 난수 발생 규칙을 장비들간에 미리 공유함으로써 난수 불일치에 의한 복호화의 오류를 없앨 수 있는 장치들간의 인증방법을 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 제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 장비간의 인증방법이 제공된다.
상기 단계(a)는 상기 제1 장비와 상비 제2 장비간의 데이터 통신 경로 외의 다른 경로를 통해 수행될 수 있다.
상기 단계(a)는, 상기 제1 장비 및 상기 제2 장비에 상기 제2 장비의 장비 ID를 더 저장할 수 있으며, 상기 단계(b) 및 상기 단계(d)는 상기 제2 장비의 장비 ID를 더 이용하여 상기 제1 키 값 및 상기 제2 키 값을 생성할 수 있다.
상기 제1 장비와 상기 제2 장비간의 통신은 TCP-IP 프로토콜을 통해 수행되며, 상기 단계(b)는, 상기 제1 장비가 상기 제2 장비로 ACK 신호를 전송한 ACK 전송 시간 및 기 설정된 시간 구간 값을 통해 산출된 제1 전송시간을 더 이용하여 상기 제1 난수를 생성하며, 상기 단계(d)는 상기 제2 장비가 상기 제1 장비로 SYN-ACK 신호를 전송한 SYN-ACK 전송 시간, 상기 제2 장비가 상기 ACK 신호를 수신한 ACK 수신 시간 및 상기 기 설정된 시간 구간 값을 통해 산출된 제2 전송시간을 더 이용하여 상기 제2 난수를 생성할 수 있다.
상기 단계(b)는 상기 제1 전송시간을 시각 동기화 오차로 나눈 정수 값을 이용하여 상기 제1 난수를 생성하며, 상기 단계(d)는 상기 제2 전송시간을 시각 동기화 오차로 나눈 정수 값을 이용하여 상기 제2 난수를 생성할 수 있다.
상기 인증정보는 상기 제1 장비에 포함되는 별도의 인증 모듈에 저장될 수 있다.
상기 인증 모듈은 별도의 전원과 IC 칩을 포함할 수 있으며, 상기 인증 모듈이 상기 제1 장비에 장착될 시 상기 IC 칩에 저장된 난수 생성 인수를 이용하여 생성된 난수와 상기 제1 장비에서 저장된 난수 생성 인수를 이용하여 생성된 난수가 동일한 경우 상기 제1 장비는 상기 인증 모듈을 인증할 수 있다.
상기 인증모듈은 전원과 통신이 공급되는 인증모듈 장착용 장비에서 장착되어 시간 동기화 서버를 통해 시각 동기화가 된 상태에서, 상기 인증모듈 장착용 장비로부터 분리되어 상기 제1 장비에 장착될 수 있으며, 상기 인증모듈과 상기 제1 장비는 시간 정보를 더 이용하여 각각 생성된 난수를 비교하여 인증을 수행할 수 있다.
상기 제2 장비와 통신하는 상기 제1 장비가 적어도 둘 이상인 경우,
상기 인증 정보는 상기 제1 장비의 장비 식별번호를 더 포함하며, 상기 단계(a)에서 상기 제2 장비에는 상기 제1 장비들 각각에 대한 인증정보가 저장되며, 상기 단계(d)는 상기 장비 ID 암호키를 전송한 제1 장비의 장비 식별번호를 추출하고, 상기 추출된 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 상기 제2 난수를 생성할 수 있다.
상기 제1 장비들과 상기 제2 장비간의 통신이 TCP-IP 프로토콜을 통해 수행되는 경우, 상기 추출된 장비 식별번호는 상기 제1 장비의 물리적인 하드웨어 정보일 수 있다. 상기 제1 장비들과 상기 제2 장비간의 통신이 무선 통신을 통해 수행되는 경우, 상기 추출된 장비 식별번호는 상기 제1 장비의 통신 모뎀 정보일 수 있다.
상기 제2 장비와 통신하는 상기 제1 장비가 적어도 둘 이상인 경우, 상기 인증 정보는 상기 제1 장비의 장비 식별번호를 더 포함하며, 상기 단계(a)에서 상기 제2 장비에는 상기 제1 장비들 각각에 대한 인증정보가 저장되며, 상기 단계(c)는 상기 제1 장비들 중 인증을 요청하는 제1 장비의 장비 식별번호를 상기 제2 장비로 더 전송하며, 상기 단계(d)는 상기 수신된 장비 식별번호에 대응되는 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 상기 제2 난수를 생성할 수 있다.
상기 단계(f) 이후에, 상기 제1 장비는 상기 제1 난수를 재 생성하며, 이전에 생성된 난수, 상기 재 생성된 난수 및 상기 제1 키 값 중 적어도 하나를 이용하여 데이터를 암호화하여 상기 제2 장비로 전송하며, 상기 제2 장비는 상기 제2 난수를 재 생성하며, 이전에 생성된 제2 난수, 상기 재 생성된 난수 및 상기 제2 키 값 중 적어도 하나를 이용하여 상기 데이터를 복호화할 수 있다.
상기 제1 장비와 상기 제2 장비간의 데이터 전송 중 통신이 실패하는 경우, 최종 통신 성공에 사용된 난수를 사용하여 통신을 복원할 수 있다.
본 발명의 다른 실시예에 따르면, 인증서버를 이용한 제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 장비간의 인증방법이 제공된다.
본 발명에 따르면, 기존의 인증 및 암호화 알고리즘의 결점을 보완한 것으로서, 데이터를 암호화고 이를 복호화 하는데 사용되는 장비 ID와 인증코드가 장비간에 사용되는 주 통신망이 아닌 다른 부가적인 경로로 상호 전달되어 보안성을 높이며, 장비 ID, 인증코드, 난수 생성 인수를 이용하여 생성된 별도의 키가 사용되어 데이터를 암호화하고 복호화 할 수 있으며, 난수 발생 시 난수 발생 규칙을 장비들간에 미리 공유함으로써 난수 불일치에 의한 복호화의 오류를 없앨 수 있는 장치들간의 인증방법을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 장비들간의 블록도를 도시한 도면이다.
도 2은 본 발명의 일 실시예에 따른 장비들간의 인증 과정을 상세하게 도시한 도면이다.
도 3은 제1 장비와 제2 장비간의 상호 통신 시작시의 Three-way-handshake가 이루어지는 과정의 일례를 도시한 도면이다.
도 4는 복수의 제1 장비와 제2 장비간의 인증방법을 설명하기 위해 도시한 도면이다.
도 5는 본 발명의 다른 실시예에 따른 인증서버를 이용한 제1 장비와 제2 장비간의 인증방법을 도시한 순서도이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 이하의 설명에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한, 도면에서 본 발명과 관계없는 부분은 본 발명의 설명을 명확하게 하기 위하여 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.
본 발명은 장비들간의 인증방법에 관한 것으로서, 제1 장비와 제2 장비간의 상호 인증 시 키에 대한 교환이 이루어지는 공개키 암호화 방법과 달리, 본 발명은 장비들이 키를 교환하지 않고 통신 시작 시에 키를 각각 생성하는데 특징이 있다. 이하에서는, 공개키를 서로 교환하지 않으면서 상호 인증을 수행하는 인증방법에 대해 보다 상세하게 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 장비의 구성을 도시한 블록도이다.
장비(100)는 통신부(110), 제어부(120), 저장부(130) 및 인증모듈(140)을 포함할 수 있다.
장비(100)는 다른 장비와의 상호 인증을 통해 인증이 되는 경우, 데이터를 송수신하는 다양한 장비 등을 포함할 수 있다. 일례로, 장비는 스마트 그리드 시스템에서의 원격 검침 시스템(AMI, Advanced Metering Infrastructure)을 구성하는 전력 단말 장치 및 스마트 미터등을 포함할 수 있다. 원격 검침 시스템은 스마트 그리드 환경에서 각 가정에서 사용되는 전력을 원격으로 검침하여 관리하고, 각 장치들 간 상호 인증을 수행하여 안전한 전력량을 전송하기 위한 검침 시스템이다. 이와 같은 원격 검침 시스템에서 전력 단말기와 스마트 미터 간의 통신에 해킹이 발생하는 경우, 전력 단말기의 검침량이 조작되거나, 소비자의 개인 정보가 노출 되는 등의 문제가 발생할 수 있다. 이와 같이 본 발명의 장비는 서로 데이터 통신을 수행하며, 상호 인증이 필요한 다양한 장비들을 포함할 수 있다.
통신부(110)는 상호 인증이 수행된 다른 장비와 데이터를 송수신 하기 위한 것으로, 유선 방식 및 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 다른 장치간의 데이터를 송수신할 수 있다. 더하여, 하나 이상의 통신 방식을 사용하여 데이터를 송수신할 수 있으며, 이를 위하여 통신부(110)는 각각 서로 다른 통신 방식에 따라서 데이터를 송수신하는 복수의 통신 모듈을 포함할 수 있다.
제어부(120)는 다른 장치와의 통신 및 상호 인증을 위한 전반적인 제어를 수행한다.
저장부(130)는 장비의 동작에 필요한 프로그램 및 데이터를 저장하며, 특히 본 발명에 의한 인증에 필요한 인증 정보를 저장한다. 여기서 인증정보는 장비 ID, 인증 코드, 난수 생성 인수, 난수 생성 함수, 키 생성 함수 등의 정보를 포함할 수 있다.
이러한 저장부(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), 플래시 메모리를 포함한다.
상기의 인증정보의 저장은 보안이 중요하기 때문에, 제1 장비(100)와 제2 장비(200)간의 데이터 통신 경로 외의 다른 경로를 통해 저장이 수행될 수 있다.
또한, 인증 정보는 인위적으로 읽어낼 수 없는 별도의 인증모듈(140)에 보관될 수 있으며, 인증모듈(140)은 접근이 허용된 장비만이 인증정보를 읽을 수 있도록 허용한다. 접근이 허용된 장비에 대한 판단은 외부에서 접근할 수 없는 특정 폐쇄된 통신망 내에 존재하는 장치나, 특정 장비 ID를 가진 장비로 제한될 수 있다. 이와 같은 인증모듈(140)은 장비의 일부로 포함되거나, 인증정보 배포를 위한 독립적인 모듈로 구현될 수 있다. 또한, 인증정보를 인증모듈(140)로부터 전자적인 방법이나 통신을 통하여 전송 시 블록 암호화 같이 안전한 암호화 방식으로 암호화된 형태로 전송될 수 있다.
인증모듈(140)은 별도의 전원과 IC 칩을 포함할 수 있으며, 인증모듈이 제1 장비(100)에 장착될 시 상기 IC 칩에 저장된 난수 생성 인수를 이용하여 생성된 난수와 제어부(120)에서 제1 장비(100)의 저장부(130)에 미리 저장된 난수 생성 인수를 이용하여 생성된 난수가 동일한 경우 상기 제1 장비(100)는 상기 인증모듈(140)을 적법한 인증모듈로 인증하고, 상기 인증 모듈(130)에 저장된 장비 ID와 인증코드를 저장부(130)에 저장할 수 있다.
이와 같이 인증모듈(140)을 제1 장비(100)에 장착할 때 인증과정을 수행하는 이유는 제1 장비(100)에 장착된 인증모듈(130)을 제3 자가 교환하여 해킹을 시도하는 것을 방지하기 위함이다.
또 다른 실시예에 따르면, 인증모듈(140)은 전원과 통신이 공급되는 인증모듈 장착용 장비에 장착되어 시간 동기화 서버를 통해 시각 동기화가 된 상태에서, 상기 인증모듈 장착용 장비로부터 분리되어 상기 제1 장비에 장착될 수 있다. 인증모듈은 자체 전원과 IC 칩을 갖고 있으므로, 인증모듈 장착용 장비로부터 분리된 경우에도 일정시간 동안 오차 없이 현재 시간 정보를 가진다. 제1 장비(100)의 제어부(120)는 시각 동기화 된 상태에서 인증모듈과 동일한 방법으로 난수를 발생시키고, 인증모듈이 장착된 후 인증모듈이 생성하는 난수와 제어부(120)에서 발생한 난수가 동일하면 제어부(120)는 인증모듈(140)로부터 장비 ID와 인증코드를 저장부(130)로 읽어올 수 있다. 인증모듈(140)과 제어부(120)는 시간 정보를 더 이용하여 난수를 생성하고, 이를 비교하여 인증을 수행할 수 도 있다.
도 2은 본 발명의 일 실시예에 따른 장비들간의 인증 과정을 상세하게 도시한 도면이다.
도 2를 참조하면, 제1 장비(100)와 제2 장비(200)간의 상호 인증을 위해 제1 장비(100)와 제2 장비(200)에는 제1 장비(100)의 장비 ID, 인증코드 및 난수 생성 인수와 난수 생성 함수 중 적어도 하나를 포함하는 인증 정보가 미리 저장된다(S100). 이와 같은 인증 정보의 저장은 제1 장비(100)와 제2 장비(200)간의 데이터 통신 경로 외의 다른 경로를 통해 수행됨은 앞서 살펴본 바와 같다.
이어서, 제1 장비(100)는 제2 장비(200)와의 상호 인증을 위해 난수 생성 인수 및 난수 생성 함수를 이용하여 제1 난수를 생성하며, 제1 난수 및 키 생성 함수를 이용하여 제1 키 값을 생성한다(S110).
여기서, 난수 생성 인수(F)는 난수 생성을 위해 제1 장비(100)와 제2 장비(200)간의 상호 약속된 인수로서, 제1 장비(100)의 인증 시에는 제1 장비에 대한 난수 생성 인수(F)를 통해 난수를 생성한다.
보다 상세하게, 제1 난수는 아래의 수학식 1을 통해 생성되며, 제1 키 값은 아래의 수학식 2를 통해 생성될 수 있다.
Figure pat00001
여기서,
Figure pat00002
는 제1 난수, fn()은 난수 생성 함수, F는 난수 생성 인수를 각각 의미한다.
Figure pat00003
여기서,
Figure pat00004
는 제1 키값, fk()는 키 생성 함수를 각각 의미한다.
상기 난수 생성 함수 및 키 생성 함수는 단계(S100)에서 제1 장비(100) 및 제2 장비(200)에 미리 저장되는 값으로서, 제1 장비(100) 및 제2 장비(200)가 서로 동일한 난수 생성 인수를 통해 난수를 생성하는 경우 동일한 키 값이 생성될 것이다
이어서, 제1 장비(100)는 제1 키 값을 이용하여 제1 장비(100)의 장비 ID를 암호화하여 장비 ID 암호키를 생성(S120)하고, 장비 ID 암호키를 제2 장비(200)로 전송한다(S130).
장비 ID 암호키를 수신한 제2 장비(200)는 난수 생성 인수 및 난수 생성 함수를 이용하여 제2 난수를 생성하며, 제2 난수 및 키 생성 함수를 이용하여 제2 키 값을 생성한다(S140). 만약. 제2 장비(200)에 제1 장비(100)와 동일한 난수 생성 인수, 난수 생성 함수, 키 생성 함수가 저장되어 있다면, 제1 난수 및 제1 키 값과 동일한 제2 난수 및 제2 키 값이 생성될 것이다. 제2 난수 및 제2 키 값은 아래의 수학식 3 및 4를 통해 생성될 수 있다.
Figure pat00005
여기서,
Figure pat00006
는 제2 난수를 의미한다.
Figure pat00007
여기서,
Figure pat00008
는 제2 키 값을 의미한다.
제2 장비(200)는 제2 키 값을 이용하여 장비 ID 암호키를 복호화 하여 장비 ID를 추출한다(S150).
이어서, 제2 장비(200)에 장비 ID 에 대응되어 저장된 인증코드를 제2 키 값을 이용하여 암호화하여 인증코드 암호키를 생성(S160) 한 후, 인증 코드 암호키를 제1 장비(100)로 전송한다(S170).
제1 장비(100)는 제1 키 값을 이용하여 인증코드 암호키를 복화화하여 인증코드를 추출(S175)하고, 추출된 인증코드 및 제1 장비(100)에 저장된 인증코드를 비교한다(S180).
만약, 추출된 인증코드와 제1 장비(100)에 저장된 인증코드가 동일한 경우 제1 장비(100)와 제2 장비(200)간의 상호 인증이 이루어진 것으로 판단하고, 제1 장비(100)와 제2 장비(200)간의 데이터 통신을 시작한다(S185).
추출된 인증코드와 제1 장비(100)에 저장된 인증코드가 다른 경우 제1 장비(100)와 제2 장비(200)간의 인증이 실패한 것으로 판단하고, 제1 장비(100)와 제2 장비(200)간의 통신을 단절한다(S190).
단계(S185)에서 제1 장비(100)는 제1 난수를 재 생성하며, 이전에 생성된 난수, 상기 재 생성된 난수 및 제1 키 값 중 적어도 하나를 이용하여 데이터를 암호화하여 제2 장비(200)로 전송하며, 제2 장비는 제2 데이터가 전송될 때마다 제2 난수를 재 생성하며, 이전에 생성된 제2 난수, 재 생성된 제2 난수 및 제 키 값 중 적어도 하나를 이용하여 데이터를 복호화할 수 있다. 즉, 본 발명은 제1 장비 및 제2 장비에서 동일하게 생성되는 난수를 이용하여 데이터를 암호화함으로써 데이터의 보안성을 높일 수 있다.
일례로, 최초에 전송하는 데이터를 P1, 그 다음에 전송하는 데이터를 P2, 이런 식으로 N번째 전송되는 데이터를을 Pn이라고 가정하면
Figure pat00009
,
Figure pat00010
,
Figure pat00011
와 같이 암호화 하고, 이것을 복호화한 결과는
Figure pat00012
으로 복호화되어서, 데이터와 다음번 데이터 암호화에 사용될 난수 값을 알 수 있어야 한다. 데이터를 받은 제2 장비(200)는 암호문을 복호화하여 데이터와 난수로 분리한다. 이 난수는 다음 번에 전송될 데이터의 복호화에 사용된다.
실제적인 구현은
Figure pat00013
,
Figure pat00014
와 같이 구현되는 것과,
Figure pat00015
과 같이 난수를 생성하는 함수인 fn()에 인수로 c를 사용하여 난수를 생성하고, 이 c를 함께 전송하는 구현도 가능하다. 또한, 난수를 통신상으로 전송하지 않고, 난수 생성 함수만 공유하여 암호화하고 복호화 하는 것도 가능할 것이다.
또한, 본 발명은 상기 제1 장비와 상기 제2 장비간의 데이터 전송 중 통신이 실패하는 경우, 최종 통신 성공에 사용된 난수를 사용하여 통신을 복원할 수 있다.
본 발명은 장비들이 장비 ID, 인증코드, 난수 생성 인수, 난수 생성 함수, 키 생성 함수와 같은 인증정보를 미리 저장하고 있으므로, 각각의 장비들에서 동일한 난수 및 키 값을 생성할 수 있으므로 인증 시 키 정보를 교환할 필요가 없다. 이에 따라, 종래의 공개키 암호화 인증 방법의 키 정보를 교환하는 과정에서 발생하는 보안 취약점의 문제가 발생하지 않는다.
또한, 본 발명은 제1 장비(100)와 제2 장비(200)간의 데이터 전송이 완료된 후 다시 통신 연결이 시도되는 경우, 제1 장비(100)와 제2 장비(200)간의 인증을 다시 수행한다. 본 발명의 난수 생성 함수는 난수 생성 시 이전에 생성된 난수와 다른 난수를 발생시킴으로 제1 장비(100)와 제2 장비가(200)가 인증할 때마다 제1 장비와 제2 장비에서 생성되는 키 값이 매번 달라지게 되어 보안의 신뢰성이 높아진다.
본 발명의 일 실시예에 따르면, 난수 만으로 충분한 길이의 키 값의 생성이 불가능 한 경우 제1 키 값 및 제2 키 값은 제2 장비의 ID를 더 이용하여 생성될 수 있으며 하기의 수학식 5와 같다. 이를 위해 제1 장비 및 제2 장비는 제2 장비의 장비 ID를 더 저장할 수 있다.
Figure pat00016
Figure pat00017
여기서,
Figure pat00018
는 제2 장비의 ID를 의미한다.
제1 장비는 제2 장비와의 인증을 수행할 시 제2 장비의 장비 ID를 미리 알 고 있으므로, 상기와 같이 제2 장비의 장비 ID를 더 이용하여 제1 키 값을 생성할 수 있으며, 제2 장비는 자신의 장비 ID를 더 이용하여 제2 키 값을 생성하게 된다.
본 발명의 다른 실시예에 따르면, 제1 장비(100)와 제2 장비(200)간의 통신이 TCP-IP 프로토콜을 통해 수행되어, NTP(Network Time Protocol)을 사용한 장비들간의 시각 동기화가 되는 환경이라면, 시간 정보를 더 사용하여 높은 수준의 신뢰성을 가지는 난수를 생성할 수 있다. 제1 장비(100) 및 제2 장비(200)는 사전에 설정된 난수 생성 인수(F)를 저장하고 있다. 이와 같은 난수 생성 인수와 함께 각 장비에서 NTP 시각을 msec로 환산한 후 이 값을 가지고 난수를 생성할 수 있다.
그러나, 제1 장비(100)와 제2 장비(200)간의 통신 시 각 장비 내부의 연산 시간이나 통신망에서 전송되는 시간에 의해 지연이 발생하므로 데이터 전송 시 발생하는 난수와 수신 시에 발생하는 난수가 달라질 수 있다. 이러한 오류를 최소화하기 위하여, 각 장비는 상호 통신을 할 때 TCP-IP의 Three-way-handshake가 이루어지는 과정에서의 일정 시점에서의 시간을 사용하여 난수 발생 오류를 최소화 한다. 여기서, Three-way-handshake란 TCP-IP프로토콜을 이용해서 통신을 하는 장비가 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대 장비와 사전에 세션을 수립하는 과정을 의미한다.
도 3은 제1 장비와 제2 장비간의 상호 통신 시작시의 Three-way-handshake가 이루어지는 과정의 일례를 도시한 도면이다.
도 3을 참조하면, 제1 장비(100)는 제2 장비(200)와의 통신 시작 시 SYN 신호를 제2 장비(200)로 전송하며, 제2 장비(200)는 SYN-ACK 신호를 제1 장비(100)로 전송한다. 제1 장비(100)는 ACK 신호를 제2 장비(200)로 전송하여 세션을 수립한다.
제1 장비(100)는 제1 난수의 생성 시 제1 장비(100)가 제2 장비로 ACK 신호를 전송한 ACK 전송 시간(
Figure pat00019
) 및 기 설정된 시간 구간 값(D)을 통해 산출된 제1 전송시간을 더 이용하여 제1 난수를 생성할 수 있다.
또한, 제2 장비(200)는 ACK 전송 시간(
Figure pat00020
)을 알 수 없으므로, 제2 장비(100)는 ACK 수신 시간(
Figure pat00021
)에서 SYN-ACK 전송 시간 (
Figure pat00022
)를 빼서 2로 나누어서 구한 추정 ACK 전송시간(
Figure pat00023
) 및 기 설정된 시간 구간 값(D)을 통해 산출된 제2 전송시간을 더 이용하여 제2 난수를 생성할 수 있다.
실제 ACK 전송 시간과 ACK 전송의 추정 시간은 오차가 발생할 수 있으므로, 시간을 일정 단위로 분할 한 기 설정된 시간 구간 값을 이용하여 실제 ACK 전송 시간과 ACK 전송의 추정 시간의 오차를 줄일 수 있다.
제1 전송시간 및 제2 전송시간은 아래의 수학식 6과 같다.
Figure pat00024
Figure pat00025
여기서,
Figure pat00026
는 제1 전송시간,
Figure pat00027
는 제2 전송시간, MOD()는 나머지 함수를 각각 의미한다.
일례로,ACK 전송 시간(
Figure pat00028
)이 10040msec이며, 추정 ACK 전송시간(
Figure pat00029
)가 10038msec 이며, 시간 구간 값(D)가 500인 경우 제1 전송시간
Figure pat00030
= 10040 - 40(10040을 500으로 나눈 나머지 값) = 10000이며, 제2 전송시간
Figure pat00031
= 10038 - 38(10038을 500으로 나눈 나머지 값) = 10000으로 동일한 시간이 산출됨을 알 수 있다. 이와 같이 본 발명은 제1 장비(100)와 제2 장비(200)간의 시간 동기화 값인 제1 전송시간 및 제2 전송시간을 더 이용하여 동일한 제1 난수 및 제2 난수를 생성함으로써 높은 수준의 신뢰성을 가진 난수를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 제1 장비(100)와 제2 장비(200)간의 시각 동기화의 오차를 해소하기 위해, 제1 장비(100)와 제2 장비(200)는 제1 전송 시간 및 제2 전송 시간을 시각 동기화 오차(AC)로 나눈 정수 값을 이용하여 제1 난수 및 제2 난수를 각각 생성할 수 있다. 이는 하기의 수학식 7과 같이 표현될 수 있다.
Figure pat00032
Figure pat00033
Figure pat00034
Figure pat00035
여기서,
Figure pat00036
는 제1 전송시간을 시각 동기화 오차(AC)로 나눈 정수 값,
Figure pat00037
는 제2 전송시간을 시각 동기화 오차로 나눈 정수 값을 각각 의미한다.
본 발명의 다른 실시예에 따르면, 도 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 장비들은 기존의 인증정보에 자신들의 장비 식별번호 정보를 더 저장할 수 있다.
제2 장비(200)가 인증을 요청하는 제1 장비의 장비 식별번호를 알 수 있다면, 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 인증을 요청하는 제1 장비와 동일한 난수 및 키 값을 생성함으로써 인증을 수행할 수 있을 것이다.
여기서, 제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)로 전송할 필요가 없다.
그러나, 사설망이 개입된 통신환경과 같이 상대방의 하드웨어 정보를 알아낼 수 없거나, 여러 개의 장비가 1개의 통신 하드웨어를 사용할 경우에는 제2 장비(200)는 인증을 요청하는 제1 장비의 장비 식별번호를 추출할 수 없다. 이와 같은 경우, 인증을 요청하는 제1 장비는 단계(S130)에서 장비 ID 암호키와 함께 자신의 장비 식별번호를 제2 장비(200)로 전송하며, 제2 장비(200)는 단계(S140)에서 수신된 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 제2 난수를 생성할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 인증서버를 이용한 제1 장비와 제2 장비간의 인증방법을 도시한 순서도이다.
도 5를 참조하면, 제1 장비(100) 및 제2 장비(200) 각각의 장비 ID, 인증코드, 난수 생성 인수, 장비 식별번호와 난수 생성 함수 및 키 생성 함수 중 적어도 하나를 포함하는 인증정보가 인증서버에 등록되며, 제1 장비(100)의 인증정보가 상기 제1 장비(100)에 등록되며, 제2 장비(200)의 인증정보가 상기 제2 장비에 등록된다.
인증서버(300)를 이용하여 제1 장비(100)와 제2 장비(200)간의 인증을 하는 경우, 우선 제2 장비(200)와 인증서버(300)간의 상호 인증이 수행된 상태에서, 제1 장비(100)가 제2 장비(200)에 인증을 요청하면, 제2 장비(200)는 이 인증정보를 인증서버(300)로 전송하여 인증서버(300)로부터 지1 장비(100)의 인증 코드를 받아 제1 장비(100)로 전송한다.
보다 상세하게, 단계(S200)에서 제2 장비(200)는 제2 장비(200)의 난수 생성 인수 및 난수 생성 함수를 이용하여 생성된 제3 난수 및 상기 키 생성 함수를 이용하여 제3 키 값을 생성하며, 상기 제3 키 값을 이용하여 제2 장비(200)의 장비 ID를 암호화한 제3 장비 ID 암호키 및 제2 장비(200)의 장비 식별번호를 인증서버(300)로 전송한다.
인증서버(300)는 단계(S210)에서, 제2 장비의 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 생성된 제4 난수와 상기 키 생성 함수를 이용하여 제4 키 값을 생성하며, 상기 제4 키 값을 이용하여 제2 장비 ID 암호키를 복호화하여 제2 장비 ID를 추출하며, 상기 제4 키 값을 이용하여 추출된 제2 장비 ID에 대응되는 인증코드를 암호화한 제2 인증코드 암호키를 제2 장비(200)로 전송한다.
제2 장비(200)와 인증서버(300)는 제3 키 값을 이용하여 제2 인증코드 암호키를 복호화 하여 제2 인증코드를 추출하고, 추출된 제2 인증코드와 제2 장비(200)에 등록된 인증코드가 일치하는 경우 인증서버(300)와 인증이 수행된 것으로 판단한다.
이어서, 단계(S220)에서 제1 장비(100)는 제1 장비(100)의 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 생성된 제1 난수 및 상기 키 생성 함수를 이용하여 제1 키 값을 생성하며, 상기 제1 키 값을 이용하여 제1 장비(100)의 장비 ID를 암호화한 제1 장비 ID 암호키 및 제1 장비(100)의 장비 식별번호를 제2 장비(200)로 전송한다.
제2 장비(200)는 단계(S230)에서 제1 장비 ID 암호키 및 제1 장비(100)의 장비 식별번호를 인증서버(300)로 전송한다.
이어서, 인증서버(300)는 단계(S240)에서 인증 서버(300)는 제1 장비의 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 생성된 제2 난수와 상기 키 생성 함수를 이용하여 제2 키 값을 생성하며, 상기 제2 키 값을 이용하여 상기 제1 장비 ID 암호키를 복호화하여 제1 장비 ID를 추출하며, 상기 제2 키 값을 이용하여 상기 추출된 제1 장비 ID에 대응되는 인증코드를 암호화한 제1 인증코드 암호키를 제2 장비(200)로 전송한다.
이어서, 제2 장비(200)는 단계(S250)에서, 상기 제1 인증코드 암호키를 제1 장비로 전송한다.
마지막으로, 제1 장비는 상기 제1 키 값을 이용하여 상기 제1 인증코드 암호키를 복호화하여 제1 인증코드를 추출하고, 상기 추출된 제1 인증코드 및 제1 장비(100)에 등록된 인증코드를 비교하여 상기 제2 장비와의 인증을 수행한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100: 제1 장비 110: 통신부
120: 제어부 130: 저장부
140: 인증모듈 200: 제2 장비
300: 인증서버

Claims (18)

  1. 제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 장비간의 인증방법.
  2. 제1항에 있어서,
    상기 단계(a)는 상기 제1 장비와 상비 제2 장비간의 데이터 통신 경로 외의 다른 경로를 통해 수행되는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  3. 제1항에 있어서,
    상기 단계(a)는, 상기 제1 장비 및 상기 제2 장비에 상기 제2 장비의 장비 ID를 더 저장할 수 있으며,
    상기 단계(b) 및 상기 단계(d)는 상기 제2 장비의 장비 ID를 더 이용하여 상기 제1 키 값 및 상기 제2 키 값을 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  4. 제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 장비간의 인증방법.
  5. 제4항에 있어서,
    상기 단계(b)는 상기 제1 전송시간을 시각 동기화 오차로 나눈 정수 값을 이용하여 상기 제1 난수를 생성하며,
    상기 단계(d)는 상기 제2 전송시간을 시각 동기화 오차로 나눈 정수 값을 이용하여 상기 제2 난수를 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  6. 제5항에 있어서,
    상기 제1 난수는 하기의 수학식을 이용하여 생성되는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
    Figure pat00038

    여기서,
    Figure pat00039
    는 제1 전송시간,
    Figure pat00040
    는 상기 ACK 전송 시간, MOD는 나머지 함수, D는 기 설정된 시간 구간 값, Ac는 상기 시각 동기화 오차,
    Figure pat00041
    는 제1 전송시간을 시각 동기화 오차로 나눈 정수 값,
    Figure pat00042
    는 제1 난수, fn()은 난수 생성 함수, F는 난수 생성 규칙을 각각 의미함.
  7. 제5항에 있어서,
    상기 제2 난수는 하기의 수학식을 이용하여 생성되는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
    Figure pat00043

    여기서,
    Figure pat00044
    는 추정 ACK 전송 시간,
    Figure pat00045
    는 SYN-ACK 전송 시간,
    Figure pat00046
    는 ACK 수신 시간,
    Figure pat00047
    는 제2 전송 시간, MOD는 나머지 함수, Ac는 상기 시각 동기화 오차,
    Figure pat00048
    는 제2 전송시간을 시각 동기화 오차로 나눈 정수 값,
    Figure pat00049
    는 제2 난수, fn()은 난수 생성 함수, F는 난수 생성 규칙을 각각 의미함.
  8. 제2항에 있어서,
    상기 인증정보는 상기 제1 장비에 포함되는 별도의 인증 모듈에 저장되는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  9. 제8항에 있어서,
    상기 인증 모듈은 별도의 전원과 IC 칩을 포함할 수 있으며, 상기 인증 모듈이 상기 제1 장비에 장착될 시 상기 IC 칩에 저장된 난수 생성 인수를 이용하여 생성된 난수와 상기 제1 장비에서 저장된 난수 생성 인수를 이용하여 생성된 난수가 동일한 경우 상기 제1 장비는 상기 인증 모듈을 인증하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  10. 제9항에 있어서,
    상기 인증모듈은 전원과 통신이 공급되는 인증모듈 장착용 장비에서 장착되어 시간 동기화 서버를 통해 시각 동기화가 된 상태에서, 상기 인증모듈 장착용 장비로부터 분리되어 상기 제1 장비에 장착될 수 있으며, 상기 인증모듈과 상기 제1 장비는 시간 정보를 더 이용하여 각각 생성된 난수를 비교하여 인증을 수행하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  11. 제1항에 있어서,
    상기 제2 장비와 통신하는 상기 제1 장비가 적어도 둘 이상인 경우,
    상기 인증 정보는 상기 제1 장비의 장비 식별번호를 더 포함하며,
    상기 단계(a)에서 상기 제2 장비에는 상기 제1 장비들 각각에 대한 인증정보가 저장되며,
    상기 단계(d)는 상기 장비 ID 암호키를 전송한 제1 장비의 장비 식별번호를 추출하고, 상기 추출된 장비 식별번호에 대응되는 난수 생성 인수를 이용하여 상기 제2 난수를 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  12. 제11항에 있어서,
    상기 제1 장비들과 상기 제2 장비간의 통신이 TCP-IP 프로토콜을 통해 수행되는 경우, 상기 추출된 장비 식별번호는 상기 제1 장비의 물리적인 하드웨어 정보인 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  13. 제11항에 있어서,
    상기 제1 장비들과 상기 제2 장비간의 통신이 무선 통신을 통해 수행되는 경우, 상기 추출된 장비 식별번호는 상기 제1 장비의 통신 모뎀 정보인 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  14. 제1항에 있어서,
    상기 제2 장비와 통신하는 상기 제1 장비가 적어도 둘 이상인 경우,
    상기 인증 정보는 상기 제1 장비의 장비 식별번호를 더 포함하며,
    상기 단계(a)에서 상기 제2 장비에는 상기 제1 장비들 각각에 대한 인증정보가 저장되며,
    상기 단계(c)는 상기 제1 장비들 중 인증을 요청하는 제1 장비의 장비 식별번호를 상기 제2 장비로 더 전송하며,
    상기 단계(d)는 상기 수신된 장비 식별번호에 대응되는 난수 생성 인수 및 상기 난수 생성 함수를 이용하여 상기 제2 난수를 생성하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  15. 제1항에 있어서,
    상기 단계(f) 이후에,
    상기 제1 장비는 상기 제1 난수를 재 생성하며, 이전에 생성된 난수, 상기 재 생성된 난수 및 상기 제1 키 값 중 적어도 하나를 이용하여 데이터를 암호화하여 상기 제2 장비로 전송하며,
    상기 제2 장비는 상기 제2 난수를 재 생성하며, 이전에 생성된 제2 난수, 상기 재 생성된 난수 및 상기 제2 키 값 중 적어도 하나를 이용하여 상기 데이터를 복호화하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  16. 제15항에 있어서,
    상기 제1 장비와 상기 제2 장비간의 데이터 전송 중 통신이 실패하는 경우, 최종 통신 성공에 사용된 난수를 사용하여 통신을 복원하는 것을 특징으로 하는 제1 장비와 제2 장비간의 인증방법.
  17. 인증서버를 이용한 제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 장비간의 인증방법.
  18. 제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 장비간의 인증방법.
KR1020140175248A 2014-12-08 2014-12-08 장비들간의 인증방법 KR101645705B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140175248A KR101645705B1 (ko) 2014-12-08 2014-12-08 장비들간의 인증방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140175248A KR101645705B1 (ko) 2014-12-08 2014-12-08 장비들간의 인증방법

Publications (2)

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

Family

ID=56343697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140175248A KR101645705B1 (ko) 2014-12-08 2014-12-08 장비들간의 인증방법

Country Status (1)

Country Link
KR (1) KR101645705B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190033412A (ko) * 2017-09-21 2019-03-29 삼성전자주식회사 사물인터넷 시스템의 운영 방법
US11651069B2 (en) 2017-09-21 2023-05-16 Samsung Electronics Co., Ltd. Method for operating an Internet-of-Things system
CN116418509A (zh) * 2021-12-31 2023-07-11 圣邦微电子(北京)股份有限公司 序列号生成电路及终端对外部设备进行认证的方法
CN116668203A (zh) * 2023-08-02 2023-08-29 浙江大华技术股份有限公司 设备认证方法、物联网设备、认证平台以及可读存储介质

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 (ko) * 2013-08-01 2014-10-16 덕성여자대학교 산학협력단 사물간 통신 네트워크에서 암호화 기반 기기 인증 및 세션키 생성 방법

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 (ko) * 2013-08-01 2014-10-16 덕성여자대학교 산학협력단 사물간 통신 네트워크에서 암호화 기반 기기 인증 및 세션키 생성 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190033412A (ko) * 2017-09-21 2019-03-29 삼성전자주식회사 사물인터넷 시스템의 운영 방법
US11651069B2 (en) 2017-09-21 2023-05-16 Samsung Electronics Co., Ltd. Method for operating an Internet-of-Things system
CN116418509A (zh) * 2021-12-31 2023-07-11 圣邦微电子(北京)股份有限公司 序列号生成电路及终端对外部设备进行认证的方法
CN116668203A (zh) * 2023-08-02 2023-08-29 浙江大华技术股份有限公司 设备认证方法、物联网设备、认证平台以及可读存储介质
CN116668203B (zh) * 2023-08-02 2023-10-20 浙江大华技术股份有限公司 设备认证方法、物联网设备、认证平台以及可读存储介质

Also Published As

Publication number Publication date
KR101645705B1 (ko) 2016-08-08

Similar Documents

Publication Publication Date Title
CN111835752B (zh) 基于设备身份标识的轻量级认证方法及网关
JP6168415B2 (ja) 端末認証システム、サーバ装置、及び端末認証方法
KR102015201B1 (ko) 보안 접속 및 관련 서비스를 위한 효율적인 개시
CN104219228B (zh) 一种用户注册、用户识别方法及系统
US9621545B2 (en) System and method for connecting client devices to a network
US9647994B2 (en) System and method for grid based cyber security
US9525557B2 (en) Certificate issuing system, client terminal, server device, certificate acquisition method, and certificate issuing method
CN111435913B (zh) 一种物联网终端的身份认证方法、装置和存储介质
JP6548172B2 (ja) 端末認証システム、サーバ装置、及び端末認証方法
CN103763356A (zh) 一种安全套接层连接的建立方法、装置及系统
CN111756529B (zh) 一种量子会话密钥分发方法及系统
CN111614621B (zh) 物联网通信方法和系统
CN108809633B (zh) 一种身份认证的方法、装置及系统
WO2014209190A1 (en) Encrypting and storing data
US11070537B2 (en) Stateless method for securing and authenticating a telecommunication
KR101645705B1 (ko) 장비들간의 인증방법
CN113225352A (zh) 一种数据传输方法、装置、电子设备及存储介质
KR100668446B1 (ko) 안전한 인증정보 이동방법
TWI422241B (zh) 頻譜授權以及相關的通訊方法和裝置
CN114500064A (zh) 一种通信安全验证方法、装置、存储介质及电子设备
KR20200043855A (ko) Dim을 이용한 드론 인증 방법 및 장치
CN116318637A (zh) 设备安全入网通信的方法和系统
CN114531235B (zh) 一种端对端加密的通信方法及系统
CN116684091B (zh) 基于量子密钥分发中继多层级数据区块链共享方法及系统
CN114255530B (zh) 一种用于供电设备的智能锁具的通信安全保障方法及系统

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