KR101996333B1 - Method of Key Agreement and Authentication for Communicating with IoT Device and Method for Tranceiving Message Using the Same - Google Patents

Method of Key Agreement and Authentication for Communicating with IoT Device and Method for Tranceiving Message Using the Same Download PDF

Info

Publication number
KR101996333B1
KR101996333B1 KR1020180038936A KR20180038936A KR101996333B1 KR 101996333 B1 KR101996333 B1 KR 101996333B1 KR 1020180038936 A KR1020180038936 A KR 1020180038936A KR 20180038936 A KR20180038936 A KR 20180038936A KR 101996333 B1 KR101996333 B1 KR 101996333B1
Authority
KR
South Korea
Prior art keywords
security element
value
java security
key
server
Prior art date
Application number
KR1020180038936A
Other languages
Korean (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 KR1020180038936A priority Critical patent/KR101996333B1/en
Application granted granted Critical
Publication of KR101996333B1 publication Critical patent/KR101996333B1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a key exchange and authentication method performed in an environment including a user terminal including a first Java secure element, a server including a hardware security module, a gateway including a second Java secure element, and an Internet-of-things device including a third Java secure element. According to the present invention, the key exchange and authentication method comprises: a first step in which a first Java secure element and a server share a first session key (CK1) and a first integrity verification key (IK1) by performing a first key exchange and authentication process by the first Java secure element and the server; a second step in which the server and a gateway share a second session key (CK2) and a second integrity verification key (IK2) by performing a second key exchange and authentication process by the server and the gateway; and a third step in which the gateway and a third Java secure element share a third session key (CK3) and a third integrity verification key (IK3) by performing a third key exchange and authentication process by the gateway and the third Java secure element.

Description

사물 인터넷 장치와의 통신을 위한 키 교환 및 인증 방법과 그 방법을 이용한 메시지 송수신 방법{Method of Key Agreement and Authentication for Communicating with IoT Device and Method for Tranceiving Message Using the Same}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a key exchange and authentication method for communicating with an Internet device and a method of transmitting and receiving a message using the method.

본 발명은 사물 인터넷 장치와의 메시지 송수신 방법에 대한 것으로서 좀 더 자세하게는 사물 인터넷 환경의 복수 주체 간에 키 교환 및 인증 방법과 그 방법에 의해 키 교환 및 인증이 완료된 후에 사물 인터넷 장치와 사용자 단말기간의 암호화된 메시지 송수신 방법에 대한 것이다.The present invention relates to a method of transmitting and receiving messages to and from an object Internet device. More particularly, the present invention relates to a key exchange and authentication method between a plurality of subjects in an object Internet environment, And a method of transmitting and receiving the message.

최근에 들어 전자 장치의 동작을 원격으로 제어할 수 있는 사물 인터넷(Internet of Things: IoT) 기술이 활발하게 개발되고 널리 사용되어 가는 추세다.Recently, Internet of Things (IoT) technology, which can remotely control the operation of electronic devices, has been actively developed and widely used.

사물 인터넷 장치의 특성상 동작에 저전력이 소모되어야 하며 장치의 사양 역시 저사양으로 제공되는 것이 바람직하다. 저사양 사물 인터넷 장치의 한계상 통신의 암호화에 대칭키를 사용해야 하는데 그 경우 키 교환 및 관리에 대한 보안성이 저하되는 문제가 발생한다. 또한, 사물 인터넷 환경에서는, 사물 인터넷 장치에 대해 제어 명령을 내리는 사용자 단말기와, 서버와, 사물 인터넷 장치와, 사물 인터넷 장치와 서버와의 통신을 중계하는 게이트웨이가 동작하는데, 사용자 단말기와 사물 인터넷 장치 사이에 여러 중계 주체가 포함되기 때문에 암호화 통신을 위해서는 기존의 방법이 아닌 새로운 방법의 필요성이 대두되고 있다.It is desirable that low-power operation should be consumed in the operation of the Internet device and the specification of the device should be provided at a low level. Limitations of low-end Internet devices A symmetric key must be used to encrypt communications, which in turn leads to the problem of poor security for key exchange and management. In addition, in the Internet environment of objects, a gateway for relaying communication between the user terminal for giving a control command to the object Internet apparatus, the server, the object internet apparatus, and the object internet apparatus and the server operates. , There is a need for a new method for encryption communication instead of an existing method.

본 발명은 이러한 종래 기술의 문제점을 해결하기 위해, 사물 인터넷 장치의 저전력 저사양 특성에 적합한 키 교환 및 암호화 방법과 메시지 송수신 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a key exchange and encryption method and a message transmission / reception method suitable for low-power low-end characteristics of a thing Internet device.

본 발명은, 제1 자바 보안 요소(JAVA Secure Element)를 포함하는 사용자 단말기와, 하드웨어 보안 모듈(Hardware Security Module)을 포함하는 서버와, 제2 자바 보안 요소(JAVA Secure Element)를 포함하는 게이트웨이와, 제3 자바 보안 요소(JAVA Secure Element)를 포함하는 사물 인터넷 장치를 포함하는 환경에서 수행되는 키 교환 및 인증 방법으로서, 제1 자바 보안 요소와 서버가 제1 키 교환 및 인증 과정을 수행하여 제1 세션키(CK1)와 제1 무결성 검증키(IK1)을 제1 자바 보안 요소와 서버가 공유하는 제1 단계와; 서버와 게이트웨이가 제2 키 교환 및 인증 과정을 수행하여 제2 세션키(CK2)와 제2 무결성 검증키(IK2)를 서버와 게이트웨이가 공유하는 제2 단계와; 게이트웨이와 제3 자바 보안 요소가 제3 키 교환 및 인증 과정을 수행하여 제3 세션키(CK3)와 제3 무결성 검증키(IK3)를 게이트웨이와 제3 자바 보안 요소가 공유하는 제3 단계를 포함한다.The present invention relates to a method and system for providing a secure connection between a user terminal including a first Java secure element, a server including a hardware security module, a gateway including a second Java secure element, , And a third Java security element (JAVA Secure Element), wherein the first Java security element and the server perform a first key exchange and authentication process, A first step of sharing a session key (CK1) and a first integrity verification key (IK1) with a first Java security element and a server; A server and a gateway performing a second key exchange and authentication process to share a second session key (CK2) and a second integrity verification key (IK2) with a server and a gateway; The gateway and the third Java security element perform a third key exchange and authentication process to share the third session key (CK3) and the third integrity verification key (IK3) between the gateway and the third Java security element do.

본 발명에 의한, 상기 키 교환 및 인증 방법에 의해 키 교환 및 인증이 완료된 환경에서 수행되는 사물 인터넷 제어 메시지의 송수신 방법은, 제1 자바 보안 요소가, 제어 명령(DCTL)를 제1 세션키(CK1)로 암호화한 제어 명령 암호화값(ECK1(DCTL))을 포함하는 제1 메시지(M1)를, 제1 무결성 검증키(IK1) 및 제1 메시지를 해쉬한 제1 해쉬값(Hmac(IK1, M1))과 함께, 서버로 전송하는 제1 단계와; 서버가, 제어 명령 암호화값(ECK1(DCTL))과, 제1 세션키(CK1) 및 제1 무결성 검증키(IK1)을 연접한 값을 제2 세션키(CK2)로 암호화한 값(ECK2(CK1∥IK1))을 포함하는 제2 메시지(M2)를, 제2 무결성 검증키(IK2) 및 제2 메시지(M2)를 해쉬한 제2 해쉬값(Hmac(IK2, M2))과 함께, 게이트웨이로 전송하는 제2 단계와; 게이트웨이가, 제어 명령 암호화값(ECK1(DCTL))과, 제1 세션키(CK1) 및 제1 무결성 검증키(IK1)을 연접한 값을 제3 세션키(CK3)로 암호화한 값(ECK3(CK1∥IK1))을 포함하는 제3 메시지(M3)를, 제3 무결성 검증키(IK3) 및 제3 메시지(M3)를 해쉬한 제3 해쉬값(Hmac(IK3, M3))과 함께, 제3 자바 보안 요소로 전송하는 제3 단계와; 제3 자바 보안 요소가, 제어 명령에 대한 결과값(DCTL_Result)을 제1 세션키로 암호화한 제4 메시지(M4)를, 제1 무결성 검증키(IK1) 및 제4 메시지(M4)를 해쉬한 제4 해쉬값(Hmac(IK1, M4))과 함께, 게이트웨이와 서버를 거쳐서 제1 자바 보안 요소로 전송하는 제4 단계를 포함한다.A method for transmitting and receiving a destination Internet control message in an environment where key exchange and authentication are completed by the key exchange and authentication method according to the present invention is characterized in that a first Java security element transmits a control command (D CTL ) The first message M1 containing the control command encryption value E CK1 (D CTL ) encrypted with the first integrity verification key IK1 and the first hash value Hmac (IK1, M1) to the server; The server encrypts the value obtained by concatenating the control command encryption value (E CK1 (D CTL )) with the first session key (CK1) and the first integrity verification key (IK1) by encrypting the value with the second session key (CK2) E CK2 second message (M2) to a second integrity check key (IK2), and a second hash value obtained by hashing the message (M2) (Hmac (IK2, M2) containing the (CK1∥IK1))) and Together, to a gateway; The gateway encrypts the value obtained by concatenating the control command encryption value (E CK1 (D CTL )) with the first session key (CK1) and the first integrity verification key (IK1) by encrypting with the third session key (CK3) The third hash value Hmac (IK3, M3) obtained by hashing the third integrity verification key IK3 and the third message M3 with the third hash value ECM3 (ECK3 (CK1∥IK1) To a third Java security element; Third Java security element is a hash result value (D CTL _Result) to the fourth message (M4) obtained by encrypting the first session key, the first integrity check key (IK1) and the fourth message (M4) for the control commands To the first Java security element via a gateway and a server together with a fourth hash value (Hmac (IK1, M4)).

본 발명에 의한 사용자 단말기와 사물 인터넷 장치간의 메시지 송수신 방법은, 제1 자바 보안 요소가, 제1 무결성 검증키를 이용하여 제4 메시지의 무결성을 검증하는 제5 단계와; 제4 메시지를 복호화하여 제어 명령에 대한 결과값을 획득하는 제6 단계를 더 포함할 수 있다.A method for transmitting / receiving a message between a user terminal and a destination Internet device according to the present invention includes: a fifth step of a first Java security element verifying the integrity of a fourth message using a first integrity verification key; And a sixth step of decrypting the fourth message to obtain a result value for the control command.

상기 제1 단계는, 제1 자바 보안 요소가 제1 랜덤 시퀀스 값(SQN1)를 생성하는 제1-1 단계와; 제1 자바 보안 요소가 제1 랜덤 시퀀스 값(SQN1)를 제1 자바 보안 요소의 키(AK)로 암호화하여 제1 암호화값(EAKe(SQN1))을 생성하는 제1-2 단계와; 제1 자바 보안 요소가, 제1 자바 보안 요소의 임시 ID(ATID)와 제1 암호화값(EAKe(SQN1))을 포함하는 메시지를, 서버로 전송하고 세션을 요청하는 제1-3 단계와; 서버가, 제1 자바 보안 요소의 임시 ID(ATID)와 제1 자바 보안 요소의 키를 생성하기 위한 속성값 ID(AKID)를 하드웨어 보안 모듈에 조회하는 제1-4 단계와; 서버가, 제1 자바 보안 요소의 키(AK)와 제1 자바 보안 요소의 운용 주체의 암호화된 고유키 값(AOPc)을 생성하는 제1-5 단계와; 서버가, 제1 암호화 값(EAKe(SQN1))을 복호화하는 제1-6 단계와; 서버가, 제1 랜덤 시퀀스 값에 1을 더하는 제1-7 단계와; 서버가, 제1-7 단계에서 산출된 값과 제1 자바 보안 요소의 고유 ID(AUID)의 배타적 논리합을 산출하는 제1-8 단계와; 서버가, 제1 랜덤값(RAND1)을 생성하는 제1-9 단계와; 서버가, 제1 자바 보안 요소의 임시 ID(ATID)와, 제1 자바 보안 요소의 고유 ID(AUID)와, 제1 자바 보안 요소의 키(AK)와, 제1 자바 보안 요소 운용 주체의 암호화된 고유키 값(AOPc)과, 제1 랜덤값(RAND1)과, 제1 랜덤 시퀀스 값(SQN1)에 기반하여 제1 세션키(CK1)과, 제1 무결성 검증키(IK1)을 생성하는 제1-10 단계와; 서버가, 제1 인증값(AUTN1 = AUID XOR SQN1∥ATID)과, 제1-1 메시지 검증 코드(MAC1)을 생성하는 제1-11 단계와; 서버가, 제1 자바 보안 요소의 임시 ID(ATID)와, 제1 랜덤값(RAND)과 제1 인증값(AUTN1)이 연접된 값을 암호화한 암호화값(EAKe(RAND1∥AUTN1))을 포함하는 메시지를, 제1 자바 보안 요소로 전송하는 제1-12 단계와; 제1 자바 보안 요소가, 암호화값(EAKe(RAND1∥AUTN1))을 복호화하는 제1-13 단계와; 제1 자바 보안 요소가, 제1 랜덤 시퀀스 값(SQN)을 검증하는 제1-14 단계와; 제1 자바 보안 요소가, 제1 자바 보안 요소의 임시 ID(ATID)와, 제1 자바 보안 요소의 고유 ID(AUID)와, 제1 자바 보안 요소의 키(AK)와, 제1 자바 보안 요소 운용 주체의 암호화된 고유키 값(AOPc)과, 제1 랜덤값(RAND1)과, 제1 랜덤 시퀀스 값(SQN1)에 기반하여 제1 세션키(CK1)와 제1 무결성 검증키(IK1)를 생성하는 제1-15 단계와; 제1 자바 보안 요소가, 제1-1 메시지 검증 코드(MAC1)를 검증하는 제1-16 단계와; 제1 자바 보안 요소가, 제1 자바 보안 요소의 임시 ID(ATID)와, (SQN1 + 2)을 제1-2 메시지 검증 코드(RES1)와 연접한 값을 제1 자바 보안 요소의 키로 암호화한 암호화값(EAKe(SQN1 + 2∥RES1)) 을 포함하는 메시지를, 서버로 전송하는 제1-17 단계와; 서버가, 제1-15 단계에서 수신한 암호화값을 복호화하는 제1-18 단계와; 서버가, 제1 랜덤 시퀀스 값(SQN1)을 검증하는 제1-19 단계와; 서버가, 제1-2 메시지 검증 코드(RES1)를 검증하는 제1-20 단계를 포함할 수 있다.The first step includes a first step of the first Java security element generating a first random sequence value (SQN1); The first Java security element encrypts the first random sequence value SQN1 with the key AK of the first Java security element to generate a first encrypted value E AKe (SQN1); The first Java security element transmits a message including a temporary ID (ATID) of the first Java security element and a first encrypted value (E AKe (SQN1)) to the server and requests a session; ; A step of the server inquiring the hardware security module for the temporary ID (ATID) of the first Java security element and the attribute value ID (AKID) for generating the key of the first Java security element; The server generating the key (AK) of the first Java security element and the encrypted unique key value (AOPc) of the principal of the first Java security element; The server decrypting the first encrypted value (E AKe (SQN1)); The server adding 1 to the first random sequence value; The server calculates an exclusive OR of the value calculated in operation 1 - 7 and the unique ID (AUID) of the first Java security element; (1-9) in which the server generates the first random value RAND1; The server includes a temporary ID (ATID) of a first Java security element, a unique ID (AUID) of a first Java security element, a key (AK) of a first Java security element, (IK1) generating a first session key (CK1) and a first integrity verification key (IK1) based on a first unique value (AOPc), a first random value (RAND1) and a first random sequence value Steps 1-10; The server generates a first authentication value (AUTN1 = AUID XOR SQN1∥ATD) and a 1-1 message validation code (MAC1); The server transmits an encryption value E AKe (RAND1∥AUTN1) obtained by encrypting a temporary ID (ATID) of the first Java security element, a value obtained by concatenating the first random value RAND and the first authentication value AUTN1 Transmitting the message including the message to the first Java security element; The first Java security element decrypting the encryption value (E AKe (RAND1? AUTN1)); The first Java security element verifying the first random sequence value (SQN); The first Java security element comprises a temporary ID (ATID) of the first Java security element, a unique ID (AUID) of the first Java security element, a key (AK) of the first Java security element, The first session key CK1 and the first integrity verification key IK1 based on the encrypted unique key value AOPc of the operating entity, the first random value RAND1 and the first random sequence value SQN1 (1-15); (1-16) the first Java security element verifies the 1-1 message validation code (MAC1); The first Java security element encrypts a value obtained by concatenating the temporary ID (ATID) of the first Java security element and the (SQN1 + 2) with the (1-2) message verification code (RES1) with the key of the first Java security element Step 1-17 of transmitting a message including an encryption value (E AKe (SQN1 + 2∥RES1)) to the server; Step 1-18 is a step in which the server decrypts the encrypted value received in operation 1-15; (1-19) in which the server verifies the first random sequence value (SQN1); The server may include a 1-20 step of verifying the 1-2 message verification code (RES1).

상기 제2 단계는, 제2 자바 보안 요소가 제2 랜덤 시퀀스값(SQN2)을 생성하는 제2-1 단계와; 제2 자바 보안 요소가 제2 랜덤 시퀀스값(SQN2)을 제2 자바 보안 요소의 키(GK)로 암호화하여 제2 암호화값(EGKe(SQN2))을 생성하는 제2-2 단계와; 게이트웨이가, 제2 자바 보안 요소의 임시 ID(GTID)와 제2 암호화값(EGKe(SQN2))을 포함하는 메시지를, 서버로 전송하고 세션을 요청하는 제2-3 단계와; 서버가, 제2 자바 보안 요소의 임시 ID(ATID)와 제2 자바 보안 요소의 키를 생성하기 위한 속성값 ID(GKID)를 하드웨어 보안 모듈에 조회하는 제2-4 단계와; 서버가, 제2 자바 보안 요소의 키(GK)와 제2 자바 보안 요소의 운용 주체의 암호화된 고유키 값(GOPc)을 생성하는 제2-5 단계와; 서버가, 제2 암호화값을 복호화하는 제2-6 단계와; 서버가, 제2 랜덤 시퀀스 값에 1을 더하는 제2-7 단계와; 서버가, 제2-7 단계에서 산출된 값과 제2 자바 보안 요소의 고유 ID(GUID)의 배타적 논리합을 산출하는 제2-8 단계와; 서버가, 제2 랜덤값(RAND2)을 생성하는 제2-9 단계와; 서버가, 제2 자바 보안 요소의 임시 ID(GTID)와, 제2 자바 보안 요소의 고유 ID(GUID)와, 제2 자바 보안 요소의 키(GK)와, 제2 자바 보안 요소 운용 주체의 암호화된 고유키 값(GOPc)과, 제2 랜덤값(RAND2)과, 제2 랜덤 시퀀스 값(SQN2)에 기반하여 제2 세션키(CK2)과, 제1 무결성 검증키(IK2)을 생성하는 제2-10 단계와; 서버가, 제2 인증값(AUTN2 = GUID XOR SQN2∥GTID)과, 제2-1 메시지 검증 코드(MAC2)을 생성하는 제2-11 단계와; 서버가, 제2 자바 보안 요소의 임시 ID(GTID)와, 제2 랜덤값(RAND2)과 제2 인증값(AUTN2)이 연접된 값을 암호화한 암호화값(EGKe(RAND2∥AUTN2))을 포함하는 메시지를, 게이트웨이로 전송하는 제2-12 단계와; 게이트웨이가, 암호화값(EGKe(RAND2∥AUTN2))을 복호화하는 제2-13 단계와; 게이트웨이가, 제2 랜덤 시퀀스 값(SQN2)을 검증하는 제2-14 단계와; 게이트웨이가, 제2 자바 보안 요소의 임시 ID(GTID)와, 제2 자바 보안 요소의 고유 ID(GUID)와, 제1 자바 보안 요소의 키(GK)와, 제2 자바 보안 요소 운용 주체의 암호화된 고유키 값(GOPc)과, 제2 랜덤값(RAND2)과, 제2 랜덤 시퀀스 값(SQN2)에 기반하여 제2 세션키(CK2)와 제2 무결성 검증키(IK2)를 생성하는 제2-15 단계와; 게이트웨이가, 제2-1 메시지 검증 코드(MAC2)를 검증하는 제2-16 단계와; 게이트웨이가, 제2 자바 보안 요소의 임시 ID(GTID)와, (SQN2 + 2)을 제2-2 메시지 검증 코드(RES2)와 연접한 값을 제2 자바 보안 요소의 키로 암호화한 암호화값(EGKe(SQN2 + 2∥RES2)) 을 포함하는 메시지를, 서버로 전송하는 제2-17 단계와; 서버가, 제2-17 단계에서 수신한 암호화값을 복호화하는 제2-18 단계와; 서버가, 제2 랜덤 시퀀스 값(SQN2)을 검증하는 제2-19 단계와; 서버가, 제2-2 메시지 검증 코드(RES2)를 검증하는 제2-20 단계를 포함할 수 있다.The second step includes: a second step of the second Java security element generating a second random sequence value (SQN2); The second Java security element encrypts the second random sequence value SQN2 with the key GK of the second Java security element to generate the second encrypted value E GKe (SQN2); A second step of the gateway transmitting a message including a temporary ID (GTID) of the second Java security element and a second encrypted value (E GKe (SQN2)) to the server and requesting a session; The server inquiring the hardware security module of the temporary ID (ATID) of the second Java security element and the attribute value ID (GKID) for generating the key of the second Java security element; The server generates the key (GK) of the second Java security element and the encrypted unique key value (GOPc) of the operating entity of the second Java security element; (2-6) the server decrypts the second encrypted value; (2-7) the server adds 1 to the second random sequence value; The server calculates an exclusive OR of the value calculated in the step 2-7 and the unique ID (GUID) of the second Java security element; (2-9) in which the server generates a second random value RAND2; The server sends a temporary ID (GTID) of the second Java security element, a unique ID (GUID) of the second Java security element, a key (GK) of the second Java security element, A second session key CK2 and a first integrity verification key IK2 based on the first unique random key value GOPc, the second random value RAND2, the second random sequence value SQN2, Steps 2-10; The server generates a second authentication value (AUTN2 = GUID XOR SQN2∥GTID) and a second-1 message verification code (MAC2); The server transmits an encryption value E GKe (RAND2∥AUTN2) obtained by encrypting a temporary ID (GTID) of the second Java security element and a value obtained by concatenating the second random value RAND2 and the second authentication value AUTN2 A second step of transmitting the message including the message to the gateway; A second step of the gateway decrypting the encrypted value (E GKe (RAND2? AUTN2)); The second step of the gateway verifying the second random sequence value (SQN2); The gateway encrypts the temporary ID (GTID) of the second Java security element, the unique ID (GUID) of the second Java security element, the key (GK) of the first Java security element, Generating a second session key (CK2) and a second integrity verification key (IK2) based on the first random value (SQN2), the second random value (SQN2) -15 steps; The second step of the gateway verifying the second-1 message verification code (MAC2); The gateway encrypts a value obtained by concatenating the temporary ID (GTID) of the second Java security element and (SQN2 + 2) with the (2-2) message verification code (RES2) by using the encryption value E GKe (SQN2 + 2∥RES2)) to the server; A second step of the server decrypting the encrypted value received in step 2-17; A step 2-19 in which the server verifies the second random sequence value (SQN2); The server may include a second-20 step of verifying the second-2 message verification code (RES2).

상기 제3 단계는, 제3 자바 보안 요소가, 제3 랜덤 시퀀스값(SQN3)을 생성하는 제3-1 단계와; 제3 자바 보안 요소가, 제3 랜덤 시퀀스값(SQN3)을 제3 자바 보안 요소의 키(DK)로 암호화하여 제3 암호화값(EDKe(SQN3))을 생성하는 제3-2 단계와; 제3 자바 보안 요소가, 제3 자바 보안 요소의 임시 ID(DTID)와 제3 암호화값(EDKe(SQN3))을 포함하는 메시지를, 제2 자바 보안 요소로 전송하고 세션을 요청하는 제3-3 단계와; 제2 자바 보안 요소가, 제3 자바 보안 요소의 임시 ID(DTID)와 제3 자바 보안 요소의 키를 생성하기 위한 속성값 ID(DKID)를 조회하는 제3-4 단계와; 제2 자바 보안 요소가, 제3 자바 보안 요소의 키(DK)와 제3 자바 보안 요소의 운용 주체의 암호화된 고유키 값(DOPc)을 생성하는 제3-5 단계와; 제2 자바 보안 요소가, 제3 암호화값을 복호화하는 제3-6 단계와; 제2 자바 보안 요소가, 제3 랜덤 시퀀스 값에 1을 더하는 제3-7 단계와; 제2 자바 보안 요소가, 제3-7 단계에서 산출된 값과 제3 자바 보안 요소의 고유 ID(DUID)의 배타적 논리합을 산출하는 제3-8 단계와; 제2 자바 보안 요소가, 제3 랜덤값(RAND3)을 생성하는 제3-9 단계와; 게이트웨이가, 제3 자바 보안 요소의 임시 ID(DTID)와, 제3 자바 보안 요소의 고유 ID(DUID)와, 제3 자바 보안 요소의 키(DK)와, 제3 자바 보안 요소 운용 주체의 암호화된 고유키 값(DOPc)과, 제3 랜덤값(RAND3)과, 제3 랜덤 시퀀스 값(SQN3)에 기반하여 제3 세션키(CK3)과, 제3 무결성 검증키(IK3)을 생성하는 제3-10 단계와; 게이트웨이가 제3 인증값(AUTN3 = DUID XOR SQN3∥DTID)과, 제3-1 메시지 검증 코드(MAC3)을 생성하는 제3-11 단계와; 게이트웨이가, 제3 자바 보안 요소의 임시 ID(DTID)와, 제3 랜덤값(RAND3)과 제3 인증값(AUTN3)이 연접된 값을 암호화한 암호화값(EDKe(RAND3∥AUTN3))을 포함하는 메시지를, 사물 인터넷 장치로 전송하는 제3-12 단계와; 제3 자바 보안 요소가, 암호화값(EDKe(RAND3∥AUTN3))을 복호화하는 제3-13 단계와; 제3 자바 보안 요소가, 제3 랜덤 시퀀스 값(SQN3)을 검증하는 제3-14 단계와; 제3 자바 보안 요소가, 제3 자바 보안 요소의 임시 ID(DTID)와, 제3 자바 보안 요소의 고유 ID(DUID)와, 제3 자바 보안 요소의 키(DK)와, 제3 자바 보안 요소 운용 주체의 암호화된 고유키 값(DOPc)과, 제3 랜덤값(RAND3)과, 제3 랜덤 시퀀스 값(SQN3)에 기반하여 제3 세션키(CK3)와 제3 무결성 검증키(IK3)를 생성하는 제3-15 단계와; 제3 자바 보안 요소가, 제3-1 메시지 검증 코드(MAC3)를 검증하는 제3-16 단계와; 제3 자바 보안 요소가, 제2 자바 보안 요소의 임시 ID(DTID)와, (SQN3 + 2)을 제3-2 메시지 검증 코드(RES3)와 연접한 값을 제3 자바 보안 요소의 키로 암호화한 암호화값(EDKe(SQN3 + 2∥RES3)) 을 포함하는 메시지를, 게이트웨이로 전송하는 제3-17 단계와; 게이트웨이가, 제3-17 단계에서 수신한 암호화값을 복호화하는 제3-18 단계와; 게이트웨이가, 제3 랜덤 시퀀스 값(SQN3)을 검증하는 제3-19 단계와; 게이트웨이가, 제3-2 메시지 검증 코드(RES3)를 검증하는 제3-20 단계를 포함할 수 있다.The third step includes: a third step of the third Java security element generating a third random sequence value (SQN3); The third Java security element encrypts the third random sequence value SQN3 with the key DK of the third Java security element to generate the third encrypted value E DKe (SQN3); The third Java security element sends a message containing the temporary ID (DTID) of the third Java security element and the third encrypted value (E DKe (SQN3)) to the second Java security element, Step 3; The second Java security element inquiring the temporary ID (DTID) of the third Java security element and the attribute value ID (DKID) for generating the key of the third Java security element; The third Java security element generating the key (DK) of the third Java security element and the encrypted inherent key value (DOPc) of the principal of the third Java security element; A third Java security element decrypting the third encrypted value; The second Java security element adding 1 to the third random sequence value; The third Java security element calculates an exclusive OR of the value calculated in operation 3 - 7 and the unique ID (DUID) of the third Java security element; The third Java security element generating a third random value RAND3; (DIDD) of the third Java security element, the unique ID (DUID) of the third Java security element, the key (DK) of the third Java security element, the encryption of the third Java security element operating entity A third session key CK3 and a third integrity verification key IK3 based on the first unique random key value DOPc, the third random value RAND3, the third random sequence value SQN3, Steps 3-10; A third step of the gateway generating a third authentication value (AUTN3 = DUID XOR SQN3∥DTID) and a third-message validation code (MAC3); The gateway obtains the encryption value (E DKe (RAND3∥AUTN3)) obtained by encrypting the temporary ID (DTID) of the third Java security element and the value obtained by concatenating the third random value RAND3 and the third authentication value AUTN3 A third step of transmitting the message including the message to the object Internet device; The third Java security element decrypts the encryption value (E DKe (RAND3∥AUTN3)); The third Java security element verifying the third random sequence value SQN3; The third Java security element comprises a temporary ID (DTID) of the third Java security element, a unique ID (DUID) of the third Java security element, a key (DK) of the third Java security element, The third session key CK3 and the third integrity verification key IK3 based on the encrypted unique key value DOPc of the operating entity, the third random value RAND3 and the third random sequence value SQN3, (3-15); The third Java security element verifying the third-1 message verification code MAC3; The third Java security element encrypts a value obtained by concatenating the temporary ID (DTID) of the second Java security element and (SQN3 + 2) with the (3-2) message verification code (RES3) with the key of the third Java security element A step 3-17 of transmitting a message including an encryption value (E DKe (SQN3 + 2∥RES3)) to the gateway; A third step of the gateway decrypting the encrypted value received in step 3-17; A step 3-19 in which the gateway verifies the third random sequence value (SQN3); And a third step of the gateway verifying the third-second message verification code (RES3).

본 발명에 의하면, 하드웨어 기반의 자바 보안 요소를 사용하여 키 교환 및 인증 과정을 수행함으로써, 사물 인터넷 환경에 적합한 대칭키 사용을 하되, 대칭키의 낮은 보안성을 보완할 수 있는 작용 효과가 제공된다. 특히, 본 발명의 독특한 방식에 의해 자바 보안 요소를 이용한 경량 암호화를 멀티 도메인 환경에서 구현함으로써 사용자 단말기와 사물 인터넷 장치간에 경량 암호화 통신을 가능하게 하면서도 보안성 저하의 문제를 극복하는 효과가 제공된다.According to the present invention, by performing a key exchange and authentication process using a hardware-based Java security element, an effect of using a symmetric key suitable for the object Internet environment and supplementing low security of the symmetric key is provided . In particular, by implementing a lightweight encryption using a Java security element in a multi-domain environment by using a unique method of the present invention, lightweight encryption communication is enabled between a user terminal and a destination Internet device, and the effect of overcoming security degradation is provided.

도 1은 본 발명에 의한 키 교환 및 인증 과정과, 사물 인터넷 장치와 사용자 단말기 간의 제어 명령 및 결과값 송수신 과정이 도시된 도면.
도 2는 제1 키 교환 및 인증 과정의 자세한 순서도.
도 3은 제2 키 교환 및 인증 과정의 자세한 순서도.
도 4는 제3 키 교환 및 인증 과정의 자세한 순서도.
1 is a diagram illustrating a key exchange and authentication process according to the present invention, and a control command and a result value transmission / reception process between a destination Internet device and a user terminal.
2 is a detailed flowchart of a first key exchange and authentication process;
3 is a detailed flowchart of a second key exchange and authentication process.
4 is a detailed flowchart of a third key exchange and authentication process.

이하에서는 첨부 도면을 참조하여 본 발명에 대해서 구체적으로 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 수행되는 정보(데이터) 전송/수신 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것 만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.Encryption / decryption may be applied to the information transmission / reception process performed in the present specification, and the description of the process of transmitting information (data) in the present specification and claims is not limited to encryption / Decryption is also included. Expressions of the form "transfer from A to B" or "receive from A" in this specification include transmission (transfer) or reception of another medium in between, But does not represent only transmission (forwarding) or reception. In the description of the present invention, the order of each step should be understood to be non-limiting, unless the preceding step must be performed logically and temporally before the next step. That is to say, except for the exceptional cases mentioned above, even if the process described in the following stage is performed before the process described in the preceding stage, it does not affect the essence of the invention and the scope of the right should be defined regardless of the order of the stages. &Quot; A " or " B " is defined herein to mean not only selectively pointing to either A or B, but also including both A and B. It is also to be understood that the term "comprising " is intended to encompass further including other elements in addition to the elements listed as being included.

본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 필수적이지 않은 특정 구성요소를 배제하거나 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.Only essential components necessary for explanation of the present invention are described in this specification, and components not related to the essence of the present invention are not mentioned. And should not be construed in an exclusive sense that includes only the recited elements, and should be interpreted in a non-exclusive sense, excluding certain elements that are not essential and may include other elements.

도 1에는 본 발명에 의한 키 교환 및 인증 과정, 그리고 그 과정이 완료된 후에 제어 명령과 그 결과값의 송수신 과정이 도시되어 있다. 도 2 내지 도 4은 각 키 교환 및 인증 과정의 상세 실시예가, 도 5에는 제어 메시지의 송수신 방법의 과정이 도시되어 있다.FIG. 1 shows a key exchange and authentication process according to the present invention, and a process of transmitting and receiving control commands and result values after the process is completed. FIGS. 2 to 4 show detailed processes of exchanging and authenticating each key, and FIG. 5 shows a process of transmitting and receiving a control message.

도 1에는 도시의 편의를 위해 도시되어 있지 않지만, 사용자 단말기(10)는 제1 자바 보안 요소(JAVA Secure Element; 15)를, 서버(20)는 하드웨어 보안 모듈(HSM; Hardware Security Module)을, 게이트웨이(30)는 제2 자바 보안 요소(35)를, 사물 인터넷 장치(40)는 제3 자바 보안 모듈(45)를 포함한다. 자바 보안 요소(JSE)는 하드웨어 기반의 장치로서 내부에 키를 생성할 수 있는 보안 속성값들이 저장되기 때문에 해킹이 불가하여 경량 암호화가 필요한 사물 인터넷 환경에 사용되는 대칭키 암호화 방식이 가지는 낮은 보안성을 보완할 수 있다.Although not shown in FIG. 1 for the sake of convenience, the user terminal 10 includes a first Java security element 15, the server 20 includes a hardware security module (HSM) The gateway 30 includes a second Java security element 35 and the object Internet device 40 includes a third Java security module 45. [ The Java Security Element (JSE) is a hardware-based device that stores security attribute values that can generate a key inside. Therefore, it is impossible to hack it. Can be supplemented.

도 2 내지 도 4에서 자바 보안 요소(15, 35, 45) 내부에 표시된 단계는 자바 보안 요소에 의해서 수행되며, 자바 보안 요소 외부에 표시된 단계는 각 수행 주체에서 소프트웨어적으로 수행될 수 있다.2 to 4, the steps displayed inside the Java security element 15, 35, 45 are performed by the Java security element, and the step displayed outside the Java security element may be performed in software by each principal.

각 자바 보안 요소(15, 35, 45)에는 각 장치의 암호화/복호화 키를 생성할 수 있는 보안 속성값이 저장되어 있다. 서버(20)의 하드웨어 보안 모듈(HSM)에는 서버단의 키를 생성할 수 있는 보안 속성값이 저장되어 있다.Each Java security element 15, 35, and 45 stores security attribute values capable of generating an encryption / decryption key of each device. A security attribute value capable of generating a key of a server terminal is stored in the hardware security module (HSM) of the server (20).

먼저 사용자 단말기(10)와 서버(20)가 제1 키 교환 및 인증 과정을 거친다(단계 100). 제1 키 교환 및 인증 과정에서는, 제1 세션키(CK1)와 제1 무결성 검증키(IK1)를 제1 자바 보안 요소(15)와 서버(20)가 공유한다.First, the user terminal 10 and the server 20 undergo a first key exchange and authentication process (step 100). In the first key exchange and authentication process, the first session security key (CK1) and the first integrity verification key (IK1) are shared by the first Java security element (15) and the server (20).

다음으로, 서버(20)와 게이트웨이(30)가 제2 키 교환 및 인증 과정을 거친다(단계 200). 제2 키 교환 및 인증 과정에서는, 제2 세션키(CK2)와 제2 무결성 검증키(IK2)를 서버(20)와 게이트웨이(30)가 공유한다.Next, the server 20 and the gateway 30 undergo a second key exchange and authentication process (step 200). In the second key exchange and authentication process, the second session key (CK2) and the second integrity verification key (IK2) are shared by the server (20) and the gateway (30).

다음으로, 게이트웨이(30)와 사물 인터넷 장치(40)가 제3 키 교환 및 인증 과정을 거친다(단계 300). 제3 키 교환 및 인증 과정에서는, 제3 세션키(CK3)와 제3 무결성 검증키(IK3)를 게이트웨이(30)와 사물 인터넷 장치(40)의 제3 자바 보안 요소(45)가 공유한다.Next, the gateway 30 and the object Internet device 40 undergo a third key exchange and authentication process (step 300). In the third key exchange and authentication process, the third session key CK3 and the third integrity verification key IK3 are shared between the gateway 30 and the third Java security element 45 of the object Internet device 40. [

위 과정을 거쳐서 키 교환 및 인증이 완료되면, 사용자 단말기(10)가 사물 인터넷 장치(40)의 제어 명령을 사물 인터넷 장치(40)로 전송한다.When the key exchange and authentication are completed through the above process, the user terminal 10 transmits a control command of the object Internet device 40 to the object Internet device 40. [

사용자 단말기(10)는 먼저 제어 명령을 포함하는 제1 메시지와, 제1 해쉬값을 전송한다(단계 400). 제1 메시지는 제어 명령(DCTL)을 제1 세션키(CK1)로 암호화한 제어 명령 암호화값(ECK1(DCTL))을 포함한다. 제1 해쉬값은, 제1 무결성 검증키(IK1) 및 제1 메시지를 해쉬한 값이 될 수 있다.The user terminal 10 first transmits a first message including a control command and a first hash value (step 400). The first message includes a control command encryption value (E CK1 (D CTL )) obtained by encrypting the control command (DCTL) with the first session key (CK1). The first hash value may be a value obtained by hashing the first integrity verification key (IK1) and the first message.

서버(20)는 제2 메시지와 제2 해쉬값을 게이트웨이(30)로 전송한다(단계 500). 제2 메시지는, 제어 명령 암호화값(ECK1(DCTL))과, 제1 세션키(CK1) 및 제1 무결성 검증키(IK1)를 연접한 값을 제2 세션키(CK2)로 암호화한 값을 포함한다. 제2 해쉬값은, 제2 무결성 검증키(IK2) 및 제2 메시지를 해쉬한 값이 될 수 있다.The server 20 transmits the second message and the second hash value to the gateway 30 (step 500). The second message is generated by encrypting a value obtained by concatenating the control command encryption value (E CK1 (D CTL )) with the first session key (CK1) and the first integrity verification key (IK1) with the second session key (CK2) Value. The second hash value may be a value obtained by hashing the second integrity verification key (IK2) and the second message.

게이트웨이(30)는, 제3 메시지 및 제3 해쉬값을 사물 인터넷 장치(40)로 전송한다(단계 600). 제3 메시지는, 제어 명령 암호화값(ECK1(DCTL))과, 제1 세션키(CK1) 및 제1 무결섬 검증키(IK1)를 연접한 값을 제3 세션키(CK3)로 암호화한 값을 포함한다. 제3 해쉬값은, 제3 무결성 검증키(IK3) 및 제3 메시지를 해쉬한 값이 될 수 있다.The gateway 30 transmits the third message and the third hash value to the things Internet device 40 (step 600). The third message encrypts the value obtained by concatenating the control command encryption value (E CK1 (D CTL )) with the first session key (CK1) and the first integrity verification key (IK1) with the third session key (CK3) It contains one value. The third hash value may be a value obtained by hashing the third integrity verification key (IK3) and the third message.

사물 인터넷 장치(40)는, 게이트웨이(30)로 제4 메시지 및 제4 해쉬값을 전송한다(단계 700). 제4 메시지 및 제4 해쉬값은 게이트웨이(30)와 서버(20)를 거쳐서 사용자 단말기(10)로 전달된다.The object Internet apparatus 40 transmits the fourth message and the fourth hash value to the gateway 30 (step 700). The fourth message and the fourth hash value are transmitted to the user terminal 10 via the gateway 30 and the server 20.

제4 메시지는 제어 명령에 대한 결과값(DCTL_Result)을 제1 세션키(CK1)로 암호화한 값을 포함한다. 제4 해쉬값은, 제1 무결성 검증키 및 제4 메시지를 해쉬한 값이 될 수 있다.The fourth message includes a value obtained by encrypting the result value (D CTL _Result) for the control command with the first session key (CK 1). The fourth hash value may be a value obtained by hashing the first integrity verification key and the fourth message.

도 2 내지 도 4를 참조하여 본 발명에 의한 키 교환 및 인증 과정에 대해서 보다 더 자세하게 설명하기로 한다.The key exchange and authentication process according to the present invention will be described in more detail with reference to FIG. 2 to FIG.

도 2에는 사용자 단말기(10)와 서버(20)간의 제1 키 교환 및 인증 과정이 자세하게 도시되어 있다.2, a first key exchange and authentication process between the user terminal 10 and the server 20 is shown in detail.

사용자 단말기(10)는 제1 자바 보안 요소(JAVA Security암호화값 15)를 포함하고 있으며, 사용자 단말기(10)측의 과정은 제1 자바 보안 요소(15)에 의해서 수행된다. 제1 자바 보안 요소(15)에는 제1 자바 보안 요소와 관련한 키를 생성할 수 있는 보안 속성값(16)이 기록되어 있다.The user terminal 10 includes a first Java security element (JAVA security value 15), and the process of the user terminal 10 is performed by the first Java security element 15. In the first Java security element 15, a security attribute value 16 capable of generating a key associated with the first Java security element is recorded.

제1 자바 보안 요소(15)는, 제1 랜덤 시퀀스 값(SQN1)을 생성하고(단계100-1), SQN1을 제1 자바 보안 요소(15)의 키로 암호화한다(EAKe(SQN1))(단계 100-2).The first Java security element 15 generates a first random sequence value SQN1 (step 100-1) and encrypts SQN1 with the key of the first Java security element 15 (E AKe (SQN1)) Step 100-2).

제1 자바 보안 요소(15)는, 헤더에 제1 자바 보안 요소(15)의 임시 ID(ATID)를 포함하고, 바디에는 EAKe(SQN1)를 포함하는 메시지를 서버(20)로 전송하고 세션 ID를 요청한다(단계 100-3).The first Java security element 15 sends a message to the server 20 containing the temporary ID (ATID) of the first Java security element 15 in the header and E AKe (SQNl) in the body, ID (step 100-3).

서버(20)는, 하드웨어 보안 모듈(25; HSM)에 ATID와 제1 자바 보안 요소(15)의 키를 생성하기 위한 속성값(AKID)를 조회하고, 제1 자바 보안 요소(15)의 키(AK)와, 제1 자바 보안 요소(15)의 운용 주체에 대해서 암호화된 고유키 값(AOPc)를 생성한다.The server 20 inquires of the hardware security module 25 (HSM) about the attribute value (AKID) for generating the key of the ATID and the first Java security element 15, (AK) and an encrypted unique key value (AOPc) for the principal of the first Java security element (15).

다음으로, EAKe(SQN1)를 복호화하고, SQN1에 1을 더한다. SQN에 1을 더하는 이유는 재전송공격(Replay Attack)을 방지하고 각 단계에서의 순서를 확인하기 위함이다.Next, E AKe (SQN1) is decoded and 1 is added to SQN1. The reason for adding 1 to the SQN is to prevent a replay attack and to check the order in each step.

이어서 (SQN1+1)과 제1 자바 보안 요소(15)의 고유 아이디(AUID)의 배타적 논리합을 산출한다. 이와 같이 배타적 논리합을 수행하는 이유는, 후술하는 바와 같이 SQN1을 제1 자바 보안 요소(15)가 검증하기 위해서이다.Then, the exclusive OR of the (SQN1 + 1) and the unique ID (AUID) of the first Java security element 15 is calculated. The reason for performing the exclusive-OR in this way is that the first Java security element 15 verifies SQN1 as described later.

검증에 성공하면 서버(20)는, ATID/AUID/AK/AOPc/SQN1/RAND1을 속성값으로 사용하여 제1 세션키(CK1)와 제1 무결성 검증키(IK1)을 생성한다. 제1 랜덤값(RAND1)은 서버(20)가 생성한 일종의 랜덤값이다.If the verification is successful, the server 20 generates the first session key CK1 and the first integrity verification key IK1 using ATID / AUID / AK / AOPc / SQN1 / RAND1 as attribute values. The first random value RAND1 is a kind of random value generated by the server 20. [

SQN1과 상대 장치(즉 제1 자바 보안 요소)의 인증을 위한 제1 인증값(AUTN1)과, 제1-1 메시지 검증 코드(MAC1)도 함께 생성한다. 제1-1 메시지 검증 코드(MAC1)는, 상대 장치 즉 제1 자바 보안 요소(15)에서, 서버(20)가 정상적으로 키를 생성했는지에 대한 검증값으로서의 기능을 한다.A first authentication value AUTN1 for authentication of the SQN1 and the partner device (i.e., the first Java security element), and a 1-1 message validation code MAC1. The 1-1 message validation code MAC1 functions as a verification value for whether the server 20 normally generates a key in the partner device or the first Java security element 15.

제1 인증값(AUTN1)은 다음과 같이 생성한다.The first authentication value AUTN1 is generated as follows.

AUTN1 = (AUID XOR SQN1)∥ATIDAUTN1 = (AUID XOR SQN1) ∥ATID

서버(20)는, 헤더에 ATID를 포함하고, 바디에는 제1 랜덤값(RAND1)과 AUTN1을 연접한 값을 제1 자바 보안 요소(15)의 키로 암호화한 암호화값(EAKe(RAND1∥AUTN1)을, 제1 자바 보안 요소(15)로 전송한다(단계 100-5).The server 20 includes an ATID in the header and an encrypted value E AKe (RAND1∥AUTN1) obtained by encrypting a value obtained by concatenating the first random value RAND1 and AUTN1 with the key of the first Java security element 15, To the first Java security element 15 (step 100-5).

제1 자바 보안 요소(15)는, 암호화값(EAKe(RAND1∥AUTN1)을 복호화하고, SQN1을 검증한다.The first Java security element 15 decrypts the encrypted value E AKe (RAND1? AUTN1) and verifies SQN1.

SQN1의 검증 과정은 다음과 같다.The verification process of SQN1 is as follows.

먼저, 복호화하여 획득한 AUTN1에서 ATID를 제거하고, 제1 자바 보안 요소(15)가 다음과 같이 AUTN1에 포함된 <AUID XOR SQN1>와 AUID의 배타적 논리합을 산출하고, 그 결과값이 SQN1과 일치하는지를 판단하면 된다.First, the ATID is removed from the AUTN1 obtained by decryption, and the first Java security element 15 calculates the exclusive OR of < AUID XOR SQN1 > and AUID included in AUTN1 as follows, and the result coincides with SQN1 .

(AUID XOR SQN1) XOR AUID =? SQN1(AUID XOR SQN1) XOR AUID =? SQN1

검증에 성공하면, 제1 자바 보안 요소(15)는, ATID/AUID/AK/AOPc/SQN1/RAND1을 기반으로 제1 세션키(CK1)와 제1 무결성 검증키(IK1)을 생성한다.If the verification is successful, the first Java security element 15 generates the first session key CK1 and the first integrity verification key IK1 based on ATID / AUID / AK / AOPc / SQN1 / RAND1.

제1 자바 보안 요소(15)는, 제1-1 메시지 검증 코드(MAC1)를 검증한다.The first Java security element 15 verifies the 1-1 message validation code MAC1.

제1 자바 보안 요소(15)는, 헤더에 ATID를, (SQN1 + 2)을 제1-2 메시지 검증 코드(RES1))와 연접한 값을 제1 자바 보안 요소의 키로 암호화한 암호화값(EAKe(SQN1 + 2∥RES1))을 포함하는 메시지를, 서버로 전송한다(단계 100-7).The first Java security element 15 encrypts a value obtained by concatenating the ATID with the header and the (SQN1 + 2) with the (1-2) message verification code (RES1) with the key of the first Java security element AKe (SQN1 + 2? RES1)) to the server (step 100-7).

서버(20)는, EAKe(SQN1+2∥RES1)를 복호화하고, SQN1을 검증한다. 그리고 RES1 값도 검증하고 성공하면, 헤더에 ATID를, 바디에는 키 교환 및 인증 성공 메시지(AKA Success)를 제1 자바 보안 요소(15)의 키로 암호화한 값을 포함하는 메시지(H(ATID)∥B(EAKe(AKA Success))를, 제1 자바 보안 요소(15)로 전송하고(단계100-9), 제1 키 교환 및 인증 과정을 완료한다.The server 20 decodes E AKe (SQN1 + 2? RES1) and verifies SQN1. And a message H (ATID) containing a value obtained by encrypting ATID in the header and key exchange and authentication success message (AKA Success) with the key of the first Java security element 15 if the RES1 value is verified and succeeded B (E AKE (AKA Success)) to the first Java security element 15 (step 100-9) and completes the first key exchange and authentication process.

도 3에는 서버(20)와 게이트웨이(30)간의 제2 키 교환 및 인증 과정이 자세하게 도시되어 있다.3, a second key exchange and authentication process between the server 20 and the gateway 30 is shown in detail.

게이트웨이(30)는 제2 자바 보안 요소(JAVA Secure element; 35)를 포함하고 있다. 게이트웨이(30)의 제2 자바 보안 요소(35)에는 제2 자바 보안 요소와 관련한 키를 생성할 수 있는 보안 속성값(36)이 기록되어 있고, 후술하는 단계(200-1)와 단계(200-2)가 제2 자바 보안 요소(35)에 의해서 수행된다.The gateway 30 includes a second JAVA secure element. A security attribute value 36 capable of generating a key related to the second Java security element is recorded in the second Java security element 35 of the gateway 30 and the steps 200-1 and 200 -2) is performed by the second Java security element 35.

먼저, 제2 자바 보안 요소(35)가 제2 랜덤 시퀀스 값(SQN2)을 생성하고(단계 200-1), SQN2를 제2 자바 보안 요소(35)의 키로 암호화한다(EGKe(SQN2))(단계 200-2).First, the second Java security element 35 generates a second random sequence value SQN2 (step 200-1) and encrypts SQN2 with the key of the second Java security element 35 (E GKe (SQN2)). (Step 200-2).

게이트웨이(30)는, 헤더에 게이트웨이의 임시 ID(GTID)를 포함하고, 바디에는 EGKe(SQN2)를 포함하는 메시지를 서버(20)로 전송하고 세션 ID를 요청한다(단계 200-3).Gateway 30, and the header includes a temporary ID (GTID) of the gateway, and the body is sent a message including E GKe (SQN2) to the server 20, and requests the session ID (step 200-3).

서버(20)는, 하드웨어 보안 모듈(25)에 GTID와 제2 자바 보안 요소(15)의 키를 생성하기 위한 속성값(GKID)를 조회하고, 제2 자바 보안 요소(35)의 키(GK)와, 제2 자바 보안 요소(35)의 운용 주체에 대해서 암호화된 고유키값(GOPc)을 생성한다.The server 20 queries the hardware security module 25 for an attribute value (GKID) for generating a key of the GTID and the second Java security element 15 and forwards the key of the second Java security element 35 ) And an encrypted inherent key value (GOPc) for the operating entity of the second Java security element (35).

서버(20)는, EGKe(SQN2)를 복호화하고, SQN2에 1을 더한다. 이는 앞서 제1 키 교환 및 인증 과정에서 설명했던 바와 같이 재전송공격(Replay Attack)을 방지하고 각 단계에서의 순서를 확인하기 위함이다.The server 20 decodes E GKe (SQN2) and adds 1 to SQN2. This is to prevent a replay attack as described in the first key exchange and authentication process and confirm the order in each step.

이어서 (SQN2+1)과 제2 자바 보안 요소(35)의 고유 아이디(GUID)의 배타적 논리합을 산출한다. 이 역시 앞서 제1 키 교환 및 인증 과정에서 설명한 바와 같이 SQN2를 제2 자바 보안 요소(35)가 검증하기 위해서이다.And then calculates an exclusive OR of the unique ID (GUID) of the second Java security element 35 (SQN2 + 1). This is also because the second Java security element 35 verifies SQN2 as described above in the first key exchange and authentication process.

검증에 성공하면, 서버(20)는, GTID/GUID/GK/GOPc/SQN2/RAND2를 속성값으로 사용하여 제2 세션키(CK2)와 제2 무결성 검증키(IK2)를 생성한다. 제2 랜덤값(RAND2)은 서버(20)가 생성한 일종의 랜덤값이다.If the verification is successful, the server 20 generates the second session key CK2 and the second integrity verification key IK2 using GTID / GUID / GK / GOPc / SQN2 / RAND2 as attribute values. The second random value RAND2 is a kind of random value generated by the server 20.

SQN2와 상대 장치(즉 제2 자바 보안 요소)의 인증을 위한 제2 인증값(AUTN2)과, 제2-1 메시지 검증 코드(MAC2)도 함께 생성한다. 제2-1 메시지 검증 코드(MAC2)는, 상대 장치 즉 제2 자바 보안 요소(35)에서, 서버(20)가 정상적으로 키를 생성했는지에 대한 검증값으로서의 기능을 한다.A second authentication value AUTN2 for authentication of the SQN2 and the partner device (i.e., the second Java security element), and a second-1 message verification code MAC2. The second-1 message validation code MAC2 serves as a verification value as to whether the server 20 normally generated the key in the partner device or the second Java security element 35. [

제2 인증값(AUTN2)은 다음과 같이 생성한다.The second authentication value AUTN2 is generated as follows.

AUTN2 = (GUID XOR SQN2)∥GTIDAUTN2 = (GUID XOR SQN2) GTID

서버(20)는, 헤더에 GTID를 포함하고, 바디에는 제2 랜덤값(RAND2)과 AUTN2를 연접한 값을 제2 자바 보안 요소(35)의 키로 암호화한 암호화값(EGKe(RAND2∥AUTN2)을, 게이트웨이(30)로 전송한다(단계 200-5).The server 20 includes a GTID in the header and an encryption value E GKe (RAND2∥AUTN2) obtained by encrypting a value obtained by concatenating the second random value RAND2 and AUTN2 with the key of the second Java security element 35 To the gateway 30 (step 200-5).

게이트웨이(30)는, EGKe(RAND2∥AUTN2)을 복호화하고, SQN2를 검증한다.The gateway 30 decrypts E GKe (RAND2? AUTN2) and verifies SQN2.

SQN1의 검증 과정은 다음과 같다.The verification process of SQN1 is as follows.

먼저, 복호화하여 획득한 AUTN2에서 GTID를 제거하고, 게이트웨이(20)가 다음과 같이 AUTN2에 포함된 <GUID XOR SQN2>와 GUID의 배타적 논리합을 산출하고, 그 결과값이 SQN2와 일치하는지를 판단하면 된다.First, the GTID is removed from the AUTN2 obtained by decryption, and the gateway 20 calculates an exclusive OR of <GUID XOR SQN2> included in AUTN2 and GUID as follows and determines whether the result is equal to SQN2 .

(GUID XOR SQN2) XOR GUID =? SQN2(GUID XOR SQN2) XOR GUID =? SQN2

검증에 성공하면, 게이트웨이(20)가 GTID/GUID/GK/GOPc/SQN2/RAND2를 기반으로 제2 세션키(CK2)와 제2 무결성 검증키(IK2)를 생성한다.If the verification is successful, the gateway 20 generates the second session key CK2 and the second integrity verification key IK2 based on GTID / GUID / GK / GOPc / SQN2 / RAND2.

게이트웨이(30)는, 제2-1 메시지 검증 코드(MAC2)를 검증한다.The gateway 30 verifies the second-1 message verification code MAC2.

검증에 성공하면, 게이트웨이(20)는, 헤더에 GTID를, (SQN2+2)를 제2-2 메시지 검증 코드(RES2)와 연접한 값을 제2 자바 보안 요소(35)의 키로 암호화한 값(EGKe(SQN2+2∥RES2))을 포함하는 메시지를, 서버(20)로 전송한다(단계 200-7).If the verification is successful, the gateway 20 encrypts a value obtained by encrypting a value obtained by concatenating GTID in the header and (SQN2 + 2) with the (2-2) message verification code (RES2) with the key of the second Java security element 35 (E GKe (SQN2 + 2∥RES2)) to the server 20 (step 200-7).

서버(20)는, EGKe(SQN2+2∥RES2))를 복호화하고, SQN2를 검증한다. 제2-2 메시지 검증 코드(RES2)도 검증하여 성공하면, 헤더에 GTID를, 바디에는 키 교환 및 인증 성공 메시지(AKA Success)를 제2 자바 보안 요소(35)의 키로 암호화한 값을 포함하는 메시지(H(GTID∥B(EGKe(AKA Success))를, 게이트웨이(30)로 전송하고(단계 200-9), 제2 키 교환 및 인증 과정을 완료한다.The server 20 decodes E GKe (SQN2 + 2? RES2) and verifies SQN2. If the second-2 message validation code RES2 is also verified and succeeded, the GTID is included in the header, and the body includes a value obtained by encrypting the key exchange and authentication success message (AKA Success) with the key of the second Java security element 35 And transmits the message H (GTID∥B (E GKe (AKA Success)) to the gateway 30 (step 200-9) to complete the second key exchange and authentication process.

도 4에는 게이트웨이(30)와, 사물 인터넷 장치(40)의 제3 자바 보안 요소(45)간의 제3 키 교환 및 인증 과정이 자세하게 도시되어 있다.4 shows in detail a third key exchange and authentication process between the gateway 30 and the third Java security element 45 of the object Internet device 40. [

사물 인터넷 장치(40)는, 제3 자바 보안 요소(45)를 포함하고 있으며, 사물 인터넷 장치(40)측의 과정은 제3 자바 보안 요소(45)에 의해서 수행된다. 제3 자바 보안 요소(45)에는 제3 자바 보안 요소와 관련한 키를 생성할 수 있는 보안 속성값(46)이 기록되어 있다.The object Internet apparatus 40 includes a third Java security element 45 and the process on the object Internet apparatus 40 side is performed by the third Java security element 45. [ In the third Java security element 45, a security attribute value 46 capable of generating a key related to the third Java security element is recorded.

제3 자바 보안 요소(45)는, 제3 랜덤 시퀀스 값(SQN3)을 생성하고(단계 300-1), SQN3을 제3 자바 보안 요소(45)의 키로 암호화한다(EDKe(SQN3))(단계 300-2).The third Java security element 45 generates a third random sequence value SQN3 (step 300-1) and encrypts SQN3 with the key of the third Java security element 45 (E DKe (SQN3)) Step 300-2).

제3 자바 보안 요소(45)는, 헤더에 제3 자바 보안 요소(45)의 임시 ID(DTID)를 포함하고, 바디에는 EDKe(SQN3)를 포함하는 메시지를 게이트웨이(30)로 전송하고 세션 ID를 요청한다(단계 300-3).The third Java security element 45 sends a message to the gateway 30 containing the temporary ID (DTID) of the third Java security element 45 in the header and E DKe (SQN3) in the body, ID (step 300-3).

게이트웨이(30)는, 제2 자바 보안 요소(35)에 DTID와 제3 자바 보안 요소(45)의 키를 생성하기 위한 속성값(DKID)를 조회하고, 제3 자바 보안 요소(45)의 키(DK)와, 제3 자바 보안 요소(45)의 운용 주체에 대하여 암호화된 고유키(DOPc)를 생성한다.The gateway 30 queries the second Java security element 35 for an attribute value (DKID) for generating the key of the third Java security element 45 and the DTID, (DK) and an encrypted private key (DOPc) for the operating entity of the third Java security element (45).

제2 자바 보안 요소(35)는, EDKe(SQN3)를 복호화하고, SQN3에 1을 더한다. 그 이유는 앞서 설명한 바와 같이 재전송공격을 방지하고 각 단계에서의 순서를 확인하기 위함이다.The second Java security element 35 decrypts E DKe (SQN3) and adds one to SQN3. The reason for this is to prevent retransmission attacks as described above and to confirm the order in each step.

제2 자바 보안 요소(35)는, (SQN3+1)과 제3 자바 보안 요소(45)의 고유 아이디(DUID)의 배타적 논리합을 산출한다. 이 과정은, 후술하는 바와 같이 SQN3을 제3 자바 보안 요소(45)가 검증하기 위함이다.The second Java security element 35 computes an exclusive OR of (SQN3 + 1) and the unique ID (DUID) of the third Java security element 45. This procedure is for the third Java security element 45 to verify SQN3 as described below.

게이트웨이(30)는, DTID/DUID/DK/DOPc/SQN3/RAND3을 속성값으로 하여 제3 세션키(CK3)와 제3 무결성 검증키(IK3)를 생성한다(단계 300-5). 제3 랜덤값(RAND3)은 게이트웨이가 생성한 일종의 랜덤값이다.The gateway 30 generates the third session key CK3 and the third integrity verification key IK3 with DTID / DUID / DK / DOPc / SQN3 / RAND3 as attribute values (step 300-5). The third random value RAND3 is a kind of random value generated by the gateway.

SQN3과 상대 장치(즉 제3 자바 보안 요소)의 인증을 위한 제3 인증값(AUTN3)과, 제3-1 메시지 검증 코드(MAC3)도 함께 생성한다. 제3-1 메시지 검증 코드(MAC3)는, 상대 장치 즉 제3 자바 보안 요소(45)에서, 게이트웨이(30)가 정상적으로 키를 생성했는지에 대한 검증값으로서의 기능을 한다.A third authentication value AUTN3 for authentication of the SQN3 and the partner device (i.e., the third Java security element), and a third-message verification code MAC3. The third-1 message validation code MAC3 serves as a verification value for whether the gateway 30 normally generated the key in the third device or the third Java security element 45. [

제3 인증값(AUTN3)은 다음과 같이 생성한다.The third authentication value AUTN3 is generated as follows.

AUTN3 = (DUID XOR SQN3)∥DTIDAUTN3 = (DUID XOR SQN3) DTID

게이트웨이(30)는, 헤더에 DTID를 포함하고, 바디에는 제3 랜덤값(RAND3)과 AUTN3을 연접한 값을 제3 자바 보안 요소(45)의 키로 암호화한 암호화값(EDKe(RAND3∥AUTN3))을, 제3 자바 보안 요소(45)로 전송한다(단계 300-6).The gateway 30 includes a DTID in the header and an encryption value E DKe (RAND3∥AUTN3) obtained by encrypting the value obtained by concatenating the third random value RAND3 and AUTN3 with the key of the third Java security element 45 ) To the third Java security element 45 (step 300-6).

제3 자바 보안 요소(45)는, EDKe(RAND3∥AUTN3)을 복호화하고, SQN3을 검증한다.The third Java security element 45 decrypts E DKe (RAND3∥AUTN3) and verifies SQN3.

SQN3의 검증 과정은 다음과 같다.The verification process of SQN3 is as follows.

먼저, 복호화하여 획득한 AUTN3에서 DTID를 제거하고, 제3 자바 보안 요소(45)가 다음과 같이 AUTN3에 포함된 <DUID XOR SQN3)과 DUID의 배타적 논리합을 산출하고, 그 결과값이 SQN3과 일치하는지를 판단하면 된다.First, the DTID is removed from the AUTN3 obtained by decryption, and the third Java security element 45 calculates an exclusive OR of <DUID XOR SQN3 included in AUTN3 and DUID as follows, and the result is equal to SQN3 .

(DUID XOR SQN3) XOR DUID =? SQN3(DUID XOR SQN3) XOR DUID =? SQN3

검증에 성공하면, 제3 자바 보안 요소(45)는, DTID/DUID/DK/DOPc/SQN3/RAND3을 기반으로 제3 세션키(CK3)와 제3 무결성 검증키(IK3)를 생성한다.If the verification is successful, the third Java security element 45 generates the third session key CK3 and the third integrity verification key IK3 based on DTID / DUID / DK / DOPc / SQN3 / RAND3.

제3 자바 보안 요소(45)는, 제3-1 메시지 검증 코드(MAC3)를 검증한다,The third Java security element 45 verifies the 3-1 message validation code MAC3,

제3 자바 보안 요소(45)는, 헤더에 DTID를, (SQN3+2)를 제3-2 메시지 검증 코드(RES3)와 연접한 값을 제3 자바 보안 요소(45)의 키로 암호화한 암호화값(EDKe(SQN3+2∥RES3))을 포함하는 메시지를, 게이트웨이(30)로 전송한다(단계 300-8).The third Java security element 45 encrypts the value obtained by concatenating the DTID in the header and the (SQN3 + 2) with the (3-2) message verification code (RES3) using the encryption key of the third Java security element 45 (E DKe (SQN3 + 2∥RES3)) to the gateway 30 (step 300-8).

게이트웨이(30)는, EDKe(SQN3+2∥RES3)을 복호화하고, SQN3을 검증한다. 그리고 RES3 값도 검증하고 성공하면, 헤더에 DTID를, 바디에는 키 교환 및 인증 성공 메시지(AKA Success)를 제3 자바 보안 요소(45)의 키로 암호화한 값을 포함하는 메시지(H(DTID∥B(EDKe(AKA Success))를, 제3 자바 보안 요소(45)로 전송하고(단계 300-10), 제3 키 교환 및 인증 과정을 완료한다.The gateway 30 decodes E DKe (SQN3 + 2? RES3) and verifies SQN3. If the RES3 value is verified and succeeded, a message (H (DTID∥B ()) containing a value obtained by encrypting the DTID in the header and the key exchange and authentication success message (AKA Success) in the body with the key of the third Java security element 45 (E DKe (AKA Success)) to the third Java security element 45 (step 300-10), and completes the third key exchange and authentication process.

본 발명에 의하면, 하드웨어 기반의 자바 보안 요소를 사용하여 키 교환 및 인증 과정을 수행함으로써, 사물 인터넷 환경에 적합한 대칭키 사용을 하되, 대칭키의 낮은 보안성을 보완할 수 있는 작용 효과가 제공된다. 특히, 본 발명의 독특한 방식에 의해 자바 보안 요소를 이용한 경량 암호화를 멀티 도메인 환경에서 구현함으로써 사용자 단말기와 사물 인터넷 장치간에 경량 암호화 통신을 가능하게 하면서도 보안성 저하의 문제를 극복하는 효과가 제공된다.According to the present invention, by performing a key exchange and authentication process using a hardware-based Java security element, an effect of using a symmetric key suitable for the object Internet environment and supplementing low security of the symmetric key is provided . In particular, by implementing a lightweight encryption using a Java security element in a multi-domain environment by using a unique method of the present invention, lightweight encryption communication is enabled between a user terminal and a destination Internet device, and the effect of overcoming security degradation is provided.

이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.While the present invention has been described with reference to the accompanying drawings, it is to be understood that the scope of the present invention is defined by the claims that follow, and should not be construed as limited to the above-described embodiments and / or drawings. It is to be expressly understood that improvements, changes and modifications that are obvious to those skilled in the art are also within the scope of the present invention as set forth in the claims.

10: 사용자 단말기
20: 서버
30: 게이트웨이
40: 사물 인터넷 장치
10: User terminal
20: Server
30: Gateway
40: Things Internet Devices

Claims (6)

삭제delete 제1 자바 보안 요소(JAVA Secure Element)를 포함하는 사용자 단말기와, 하드웨어 보안 모듈(Hardware Security Module)을 포함하는 서버와, 제2 자바 보안 요소(JAVA Secure Element)를 포함하는 게이트웨이와, 제3 자바 보안 요소(JAVA Secure Element)를 포함하는 사물 인터넷 장치를 포함하는 환경에서 수행되는 사물 인터넷 제어 메시지의 송수신 방법에 있어서,
제1 자바 보안 요소와 서버가 제1 키 교환 및 인증 과정을 수행하여 제1 세션키(CK1)와 제1 무결성 검증키(IK1)을 제1 자바 보안 요소와 서버가 공유하는 제1 단계와,
서버와 게이트웨이가 제2 키 교환 및 인증 과정을 수행하여 제2 세션키(CK2)와 제2 무결성 검증키(IK2)를 서버와 게이트웨이가 공유하는 제2 단계와,
게이트웨이와 제3 자바 보안 요소가 제3 키 교환 및 인증 과정을 수행하여 제3 세션키(CK3)와 제3 무결성 검증키(IK3)를 게이트웨이와 제3 자바 보안 요소가 공유하는 제3 단계와,
제1 자바 보안 요소가, 제어 명령(DCTL)를 제1 세션키(CK1)로 암호화한 제어 명령 암호화값(ECK1(DCTL))을 포함하는 제1 메시지(M1)를, 제1 무결성 검증키(IK1) 및 제1 메시지를 해쉬한 제1 해쉬값(Hmac(IK1, M1))과 함께, 서버로 전송하는 제4 단계와,
서버가, 제어 명령 암호화값(ECK1(DCTL))과, 제1 세션키(CK1) 및 제1 무결성 검증키(IK1)을 연접한 값을 제2 세션키(CK2)로 암호화한 값(ECK2(CK1∥IK1))을 포함하는 제2 메시지(M2)를, 제2 무결성 검증키(IK2) 및 제2 메시지(M2)를 해쉬한 제2 해쉬값(Hmac(IK2, M2))과 함께, 게이트웨이로 전송하는 제5 단계와,
게이트웨이가, 제어 명령 암호화값(ECK1(DCTL))과, 제1 세션키(CK1) 및 제1 무결성 검증키(IK1)을 연접한 값을 제3 세션키(CK3)로 암호화한 값(ECK3(CK1∥IK1))을 포함하는 제3 메시지(M3)를, 제3 무결성 검증키(IK3) 및 제3 메시지(M3)를 해쉬한 제3 해쉬값(Hmac(IK3, M3))과 함께, 제3 자바 보안 요소로 전송하는 제6 단계와,
제3 자바 보안 요소가, 제어 명령에 대한 결과값(DCTL_Result)을 제1 세션키로 암호화한 제4 메시지(M4)를, 제1 무결성 검증키(IK1) 및 제4 메시지(M4)를 해쉬한 제4 해쉬값(Hmac(IK1, M4))과 함께, 게이트웨이와 서버를 거쳐서 제1 자바 보안 요소로 전송하는 제7 단계를 포함하는,
사물 인터넷 제어 메시지의 송수신 방법.
A user terminal including a first Java security element, a server including a hardware security module, a gateway including a second Java security element, a third Java security element, A method for transmitting and receiving a destination Internet control message in an environment including a destination Internet device including a secure element (JAVA Secure Element)
A first Java security element and a server performing a first key exchange and authentication process to share a first Java security element and a server with a first session key (CK1) and a first integrity verification key (IK1)
A server and a gateway performing a second key exchange and authentication process to share a second session key (CK2) and a second integrity verification key (IK2) with a server and a gateway;
A third step of the gateway and the third Java security element performing a third key exchange and authentication process so that the gateway and the third Java security element share the third session key CK3 and the third integrity verification key IK3;
First Java security element is a control command (D CTL) for the first session key, a control command encryption value encrypted with (CK1) (E CK1 (D CTL)) a first message (M1), comprising a first integrity A verification key (IK1) and a first hash value (Hmac (IK1, M1) having been hashed) to the server;
The server encrypts the value obtained by concatenating the control command encryption value (E CK1 (D CTL )) with the first session key (CK1) and the first integrity verification key (IK1) by encrypting the value with the second session key (CK2) E CK2 second message (M2) to a second integrity check key (IK2), and a second hash value obtained by hashing the message (M2) (Hmac (IK2, M2) containing the (CK1∥IK1))) and Together with the gateway,
The gateway encrypts the value obtained by concatenating the control command encryption value (E CK1 (D CTL )) with the first session key (CK1) and the first integrity verification key (IK1) by encrypting with the third session key (CK3) The third hash value Hmac (IK3, M3) obtained by hashing the third integrity verification key IK3 and the third message M3 with the third hash value ECM3 (ECK3 (CK1∥IK1) To a third Java security element,
Third Java security element is a hash result value (D CTL _Result) to the fourth message (M4) obtained by encrypting the first session key, the first integrity check key (IK1) and the fourth message (M4) for the control commands To a first Java security element via a gateway and a server together with a fourth hash value (Hmac (IK1, M4)).
A method for transmitting and receiving Internet control messages.
청구항 2에 있어서,
제1 자바 보안 요소가, 제1 무결성 검증키를 이용하여 제4 메시지의 무결성을 검증하는 제8 단계와,
제4 메시지를 복호화하여 제어 명령에 대한 결과값을 획득하는 제9 단계를 포함하는,
사물 인터넷 제어 메시지의 송수신 방법.
The method of claim 2,
The first Java security element verifying the integrity of the fourth message using the first integrity verification key,
And decrypting the fourth message to obtain a result value for the control command.
A method for transmitting and receiving Internet control messages.
제1 자바 보안 요소(JAVA Secure Element)를 포함하는 사용자 단말기와, 하드웨어 보안 모듈(Hardware Security Module)을 포함하는 서버와, 제2 자바 보안 요소(JAVA Secure Element)를 포함하는 게이트웨이와, 제3 자바 보안 요소(JAVA Secure Element)를 포함하는 사물 인터넷 장치를 포함하는 환경에서 수행되는 키 교환 및 인증 방법에 있어서,
제1 자바 보안 요소와 서버가 제1 키 교환 및 인증 과정을 수행하여 제1 세션키(CK1)와 제1 무결성 검증키(IK1)을 제1 자바 보안 요소와 서버가 공유하는 제1 단계와,
서버와 게이트웨이가 제2 키 교환 및 인증 과정을 수행하여 제2 세션키(CK2)와 제2 무결성 검증키(IK2)를 서버와 게이트웨이가 공유하는 제2 단계와,
게이트웨이와 제3 자바 보안 요소가 제3 키 교환 및 인증 과정을 수행하여 제3 세션키(CK3)와 제3 무결성 검증키(IK3)를 게이트웨이와 제3 자바 보안 요소가 공유하는 제3 단계를 포함하며,
제1 단계는,
제1 자바 보안 요소가 제1 랜덤 시퀀스 값(SQN1)를 생성하는 제1-1 단계와,
제1 자바 보안 요소가 제1 랜덤 시퀀스 값(SQN1)를 제1 자바 보안 요소의 키(AK)로 암호화하여 제1 암호화값(EAKe(SQN1))을 생성하는 제1-2 단계와,
제1 자바 보안 요소가, 제1 자바 보안 요소의 임시 ID(ATID)와 제1 암호화값(EAKe(SQN1))을 포함하는 메시지를, 서버로 전송하고 세션을 요청하는 제1-3 단계와,
서버가, 제1 자바 보안 요소의 임시 ID(ATID)와 제1 자바 보안 요소의 키를 생성하기 위한 속성값 ID(AKID)를 하드웨어 보안 모듈에 조회하는 제1-4 단계와,
서버가, 제1 자바 보안 요소의 키(AK)와 제1 자바 보안 요소의 운용 주체의 암호화된 고유키 값(AOPc)을 생성하는 제1-5 단계와,
서버가, 제1 암호화 값(EAKe(SQN1))을 복호화하는 제1-6 단계와,
서버가, 제1 랜덤 시퀀스 값에 1을 더하는 제1-7 단계와,
서버가, 제1-7 단계에서 산출된 값과 제1 자바 보안 요소의 고유 ID(AUID)의 배타적 논리합을 산출하는 제1-8 단계와,
서버가, 제1 랜덤값(RAND1)을 생성하는 제1-9 단계와,
서버가, 제1 자바 보안 요소의 임시 ID(ATID)와, 제1 자바 보안 요소의 고유 ID(AUID)와, 제1 자바 보안 요소의 키(AK)와, 제1 자바 보안 요소 운용 주체의 암호화된 고유키 값(AOPc)과, 제1 랜덤값(RAND1)과, 제1 랜덤 시퀀스 값(SQN1)에 기반하여 제1 세션키(CK1)과, 제1 무결성 검증키(IK1)을 생성하는 제1-10 단계와,
서버가, 제1 인증값(AUTN1 = AUID XOR SQN1∥ATID)과, 제1-1 메시지 검증 코드(MAC1)을 생성하는 제1-11 단계와,
서버가, 제1 자바 보안 요소의 임시 ID(ATID)와, 제1 랜덤값(RAND)과 제1 인증값(AUTN1)이 연접된 값을 암호화한 암호화값(EAKe(RAND1∥AUTN1))을 포함하는 메시지를, 제1 자바 보안 요소로 전송하는 제1-12 단계와,
제1 자바 보안 요소가, 암호화값(EAKe(RAND1∥AUTN1))을 복호화하는 제1-13 단계와,
제1 자바 보안 요소가, 제1 랜덤 시퀀스 값(SQN)을 검증하는 제1-14 단계와,
제1 자바 보안 요소가, 제1 자바 보안 요소의 임시 ID(ATID)와, 제1 자바 보안 요소의 고유 ID(AUID)와, 제1 자바 보안 요소의 키(AK)와, 제1 자바 보안 요소 운용 주체의 암호화된 고유키 값(AOPc)과, 제1 랜덤값(RAND1)과, 제1 랜덤 시퀀스 값(SQN1)에 기반하여 제1 세션키(CK1)와 제1 무결성 검증키(IK1)를 생성하는 제1-15 단계와,
제1 자바 보안 요소가, 제1-1 메시지 검증 코드(MAC1)를 검증하는 제1-16 단계와,
제1 자바 보안 요소가, 제1 자바 보안 요소의 임시 ID(ATID)와, (SQN1 + 2)을 제1-2 메시지 검증 코드(RES1)와 연접한 값을 제1 자바 보안 요소의 키로 암호화한 암호화값(EAKe(SQN1 + 2∥RES1)) 을 포함하는 메시지를, 서버로 전송하는 제1-17 단계와,
서버가, 제1-15 단계에서 수신한 암호화값을 복호화하는 제1-18 단계와,
서버가, 제1 랜덤 시퀀스 값(SQN1)을 검증하는 제1-19 단계와,
서버가, 제1-2 메시지 검증 코드(RES1)를 검증하는 제1-20 단계를 포함하는,
키 교환 및 인증 방법.
A user terminal including a first Java security element, a server including a hardware security module, a gateway including a second Java security element, a third Java security element, A key exchange and authentication method performed in an environment including an object Internet apparatus including a secure element (JAVA Secure Element)
A first Java security element and a server performing a first key exchange and authentication process to share a first Java security element and a server with a first session key (CK1) and a first integrity verification key (IK1)
A server and a gateway performing a second key exchange and authentication process to share a second session key (CK2) and a second integrity verification key (IK2) with a server and a gateway;
The gateway and the third Java security element perform a third key exchange and authentication process to share the third session key (CK3) and the third integrity verification key (IK3) between the gateway and the third Java security element In addition,
In the first step,
A first step of the first Java security element generating a first random sequence value (SQN1)
The first Java security element encrypting the first random sequence value SQN1 with the key AK of the first Java security element to generate a first encrypted value E AKe (SQN1)
The first Java security element transmits a message including a temporary ID (ATID) of the first Java security element and a first encrypted value (E AKe (SQN1)) to the server and requests a session; ,
A step of the server inquiring the hardware security module for the temporary ID (ATID) of the first Java security element and the attribute value ID (AKID) for generating the key of the first Java security element,
The server generates a key (AK) of the first Java security element and an encrypted unique key value (AOPc) of the principal of the first Java security element,
The server decrypting the first encrypted value (E AKe (SQN1));
The server adds 1 to the first random sequence value,
The server calculates an exclusive OR of the value calculated in the step 1-7 and the unique ID (AUID) of the first Java security element,
A 1-9 step in which the server generates a first random value RAND1,
The server includes a temporary ID (ATID) of a first Java security element, a unique ID (AUID) of a first Java security element, a key (AK) of a first Java security element, (IK1) generating a first session key (CK1) and a first integrity verification key (IK1) based on a first unique value (AOPc), a first random value (RAND1) and a first random sequence value Steps 1-10,
The server generates a first authentication value (AUTN1 = AUID XOR SQN1∥ATD) and a 1-1 message validation code (MAC1)
The server transmits an encryption value E AKe (RAND1∥AUTN1) obtained by encrypting a temporary ID (ATID) of the first Java security element, a value obtained by concatenating the first random value RAND and the first authentication value AUTN1 Transmitting the message including the message to the first Java security element;
The first Java security element decrypts the encrypted value (E AKe (RAND1? AUTN1)),
The first Java security element verifying the first random sequence value (SQN)
The first Java security element comprises a temporary ID (ATID) of the first Java security element, a unique ID (AUID) of the first Java security element, a key (AK) of the first Java security element, The first session key CK1 and the first integrity verification key IK1 based on the encrypted unique key value AOPc of the operating entity, the first random value RAND1 and the first random sequence value SQN1 (1-15)
Step 1-16, in which the first Java security element verifies the 1-1 message validation code MAC1,
The first Java security element encrypts a value obtained by concatenating the temporary ID (ATID) of the first Java security element and the (SQN1 + 2) with the (1-2) message verification code (RES1) with the key of the first Java security element A step of transmitting a message including an encryption value (E AKE (SQN1 + 2∥RES1)) to the server,
The server decrypts the encrypted value received in operation 1-15,
Step 1-19, in which the server verifies the first random sequence value (SQN1)
The server verifying the first-second message verification code (RES1)
Key exchange and authentication methods.
청구항 4에 있어서,
제2 단계는,
제2 자바 보안 요소가 제2 랜덤 시퀀스값(SQN2)을 생성하는 제2-1 단계와,
제2 자바 보안 요소가 제2 랜덤 시퀀스값(SQN2)을 제2 자바 보안 요소의 키(GK)로 암호화하여 제2 암호화값(EGKe(SQN2))을 생성하는 제2-2 단계와,
게이트웨이가, 제2 자바 보안 요소의 임시 ID(GTID)와 제2 암호화값(EGKe(SQN2))을 포함하는 메시지를, 서버로 전송하고 세션을 요청하는 제2-3 단계와,
서버가, 제2 자바 보안 요소의 임시 ID(ATID)와 제2 자바 보안 요소의 키를 생성하기 위한 속성값 ID(GKID)를 하드웨어 보안 모듈에 조회하는 제2-4 단계와,
서버가, 제2 자바 보안 요소의 키(GK)와 제2 자바 보안 요소의 운용 주체의 암호화된 고유키 값(GOPc)을 생성하는 제2-5 단계와,
서버가, 제2 암호화값을 복호화하는 제2-6 단계와,
서버가, 제2 랜덤 시퀀스 값에 1을 더하는 제2-7 단계와,
서버가, 제2-7 단계에서 산출된 값과 제2 자바 보안 요소의 고유 ID(GUID)의 배타적 논리합을 산출하는 제2-8 단계와,
서버가, 제2 랜덤값(RAND2)을 생성하는 제2-9 단계와,
서버가, 제2 자바 보안 요소의 임시 ID(GTID)와, 제2 자바 보안 요소의 고유 ID(GUID)와, 제2 자바 보안 요소의 키(GK)와, 제2 자바 보안 요소 운용 주체의 암호화된 고유키 값(GOPc)과, 제2 랜덤값(RAND2)과, 제2 랜덤 시퀀스 값(SQN2)에 기반하여 제2 세션키(CK2)과, 제1 무결성 검증키(IK2)을 생성하는 제2-10 단계와,
서버가, 제2 인증값(AUTN2 = GUID XOR SQN2∥GTID)과, 제2-1 메시지 검증 코드(MAC2)을 생성하는 제2-11 단계와,
서버가, 제2 자바 보안 요소의 임시 ID(GTID)와, 제2 랜덤값(RAND2)과 제2 인증값(AUTN2)이 연접된 값을 암호화한 암호화값(EGKe(RAND2∥AUTN2))을 포함하는 메시지를, 게이트웨이로 전송하는 제2-12 단계와,
게이트웨이가, 암호화값(EGKe(RAND2∥AUTN2))을 복호화하는 제2-13 단계와,
게이트웨이가, 제2 랜덤 시퀀스 값(SQN2)을 검증하는 제2-14 단계와,
게이트웨이가, 제2 자바 보안 요소의 임시 ID(GTID)와, 제2 자바 보안 요소의 고유 ID(GUID)와, 제1 자바 보안 요소의 키(GK)와, 제2 자바 보안 요소 운용 주체의 암호화된 고유키 값(GOPc)과, 제2 랜덤값(RAND2)과, 제2 랜덤 시퀀스 값(SQN2)에 기반하여 제2 세션키(CK2)와 제2 무결성 검증키(IK2)를 생성하는 제2-15 단계와,
게이트웨이가, 제2-1 메시지 검증 코드(MAC2)를 검증하는 제2-16 단계와,
게이트웨이가, 제2 자바 보안 요소의 임시 ID(GTID)와, (SQN2 + 2)을 제2-2 메시지 검증 코드(RES2)와 연접한 값을 제2 자바 보안 요소의 키로 암호화한 암호화값(EGKe(SQN2 + 2∥RES2)) 을 포함하는 메시지를, 서버로 전송하는 제2-17 단계와,
서버가, 제2-17 단계에서 수신한 암호화값을 복호화하는 제2-18 단계와,
서버가, 제2 랜덤 시퀀스 값(SQN2)을 검증하는 제2-19 단계와,
서버가, 제2-2 메시지 검증 코드(RES2)를 검증하는 제2-20 단계를 포함하는,
키 교환 및 인증 방법.
The method of claim 4,
In the second step,
A second step of the second Java security element generating a second random sequence value SQN2,
The second Java security element encrypts the second random sequence value SQN2 with the key GK of the second Java security element to generate the second encrypted value E GKe (SQN2)
A second step of the gateway transmitting a message including a temporary ID (GTID) and a second encrypted value (E GKe (SQN2)) of the second Java security element to the server and requesting a session;
The server inquiring the hardware security module for the temporary ID (ATID) of the second Java security element and the attribute value ID (GKID) for generating the key of the second Java security element;
The server generates the key (GK) of the second Java security element and the encrypted unique key value (GOPc) of the operating entity of the second Java security element;
(2-6) in which the server decrypts the second encrypted value,
A step 2-7 in which the server adds 1 to the second random sequence value,
The server calculates an exclusive OR of the value calculated in the step 2-7 and the unique ID (GUID) of the second Java security element,
(2-9) in which the server generates a second random value RAND2,
The server sends a temporary ID (GTID) of the second Java security element, a unique ID (GUID) of the second Java security element, a key (GK) of the second Java security element, A second session key CK2 and a first integrity verification key IK2 based on the first unique random key value GOPc, the second random value RAND2, the second random sequence value SQN2, Steps 2-10,
The server generates a second authentication value (AUTN2 = GUID XOR SQN2∥GTID) and a second-1 message verification code (MAC2)
The server transmits an encryption value E GKe (RAND2∥AUTN2) obtained by encrypting a temporary ID (GTID) of the second Java security element and a value obtained by concatenating the second random value RAND2 and the second authentication value AUTN2 A step 2-12 of transmitting a message including the message to the gateway,
A step 2-13 of the gateway decrypting the encryption value (E GKe (RAND2∥AUTN2)),
A second step of the gateway verifying the second random sequence value (SQN2)
The gateway encrypts the temporary ID (GTID) of the second Java security element, the unique ID (GUID) of the second Java security element, the key (GK) of the first Java security element, Generating a second session key (CK2) and a second integrity verification key (IK2) based on the first random value (SQN2), the second random value (SQN2) Step 15,
A second step of the gateway verifying the second-1 message verification code (MAC2)
The gateway encrypts a value obtained by concatenating the temporary ID (GTID) of the second Java security element and (SQN2 + 2) with the (2-2) message verification code (RES2) by using the encryption value E GKe (SQN2 + 2? RES2)) to the server,
A step 2-18 of the server decrypting the encrypted value received in step 2-17,
A step 2-19 in which the server verifies the second random sequence value SQN2,
The server verifies the second-2 message verification code (RES2)
Key exchange and authentication methods.
청구항 4 또는 청구항 5에 있어서,
제3 단계는,
제3 자바 보안 요소가, 제3 랜덤 시퀀스값(SQN3)을 생성하는 제3-1 단계와,
제3 자바 보안 요소가, 제3 랜덤 시퀀스값(SQN3)을 제3 자바 보안 요소의 키(DK)로 암호화하여 제3 암호화값(EDKe(SQN3))을 생성하는 제3-2 단계와,
제3 자바 보안 요소가, 제3 자바 보안 요소의 임시 ID(DTID)와 제3 암호화값(EDKe(SQN3))을 포함하는 메시지를, 제2 자바 보안 요소로 전송하고 세션을 요청하는 제3-3 단계와,
제2 자바 보안 요소가, 제3 자바 보안 요소의 임시 ID(DTID)와 제3 자바 보안 요소의 키를 생성하기 위한 속성값 ID(DKID)를 조회하는 제3-4 단계와,
제2 자바 보안 요소가, 제3 자바 보안 요소의 키(DK)와 제3 자바 보안 요소의 운용 주체의 암호화된 고유키 값(DOPc)을 생성하는 제3-5 단계와,
제2 자바 보안 요소가, 제3 암호화값을 복호화하는 제3-6 단계와,
제2 자바 보안 요소가, 제3 랜덤 시퀀스 값에 1을 더하는 제3-7 단계와,
제2 자바 보안 요소가, 제3-7 단계에서 산출된 값과 제3 자바 보안 요소의 고유 ID(DUID)의 배타적 논리합을 산출하는 제3-8 단계와,
제2 자바 보안 요소가, 제3 랜덤값(RAND3)을 생성하는 제3-9 단계와,
게이트웨이가, 제3 자바 보안 요소의 임시 ID(DTID)와, 제3 자바 보안 요소의 고유 ID(DUID)와, 제3 자바 보안 요소의 키(DK)와, 제3 자바 보안 요소 운용 주체의 암호화된 고유키 값(DOPc)과, 제3 랜덤값(RAND3)과, 제3 랜덤 시퀀스 값(SQN3)에 기반하여 제3 세션키(CK3)과, 제3 무결성 검증키(IK3)을 생성하는 제3-10 단계와,
게이트웨이가 제3 인증값(AUTN3 = DUID XOR SQN3∥DTID)과, 제3-1 메시지 검증 코드(MAC3)을 생성하는 제3-11 단계와,
게이트웨이가, 제3 자바 보안 요소의 임시 ID(DTID)와, 제3 랜덤값(RAND3)과 제3 인증값(AUTN3)이 연접된 값을 암호화한 암호화값(EDKe(RAND3∥AUTN3))을 포함하는 메시지를, 사물 인터넷 장치로 전송하는 제3-12 단계와,
제3 자바 보안 요소가, 암호화값(EDKe(RAND3∥AUTN3))을 복호화하는 제3-13 단계와,
제3 자바 보안 요소가, 제3 랜덤 시퀀스 값(SQN3)을 검증하는 제3-14 단계와,
제3 자바 보안 요소가, 제3 자바 보안 요소의 임시 ID(DTID)와, 제3 자바 보안 요소의 고유 ID(DUID)와, 제3 자바 보안 요소의 키(DK)와, 제3 자바 보안 요소 운용 주체의 암호화된 고유키 값(DOPc)과, 제3 랜덤값(RAND3)과, 제3 랜덤 시퀀스 값(SQN3)에 기반하여 제3 세션키(CK3)와 제3 무결성 검증키(IK3)를 생성하는 제3-15 단계와,
제3 자바 보안 요소가, 제3-1 메시지 검증 코드(MAC3)를 검증하는 제3-16 단계와,
제3 자바 보안 요소가, 제2 자바 보안 요소의 임시 ID(DTID)와, (SQN3 + 2)을 제3-2 메시지 검증 코드(RES3)와 연접한 값을 제3 자바 보안 요소의 키로 암호화한 암호화값(EDKe(SQN3 + 2∥RES3)) 을 포함하는 메시지를, 게이트웨이로 전송하는 제3-17 단계와,
게이트웨이가, 제3-17 단계에서 수신한 암호화값을 복호화하는 제3-18 단계와,
게이트웨이가, 제3 랜덤 시퀀스 값(SQN3)을 검증하는 제3-19 단계와,
게이트웨이가, 제3-2 메시지 검증 코드(RES3)를 검증하는 제3-20 단계를 포함하는,
키 교환 및 인증 방법.
The method according to claim 4 or 5,
In the third step,
A third Java security element generates a third random sequence value SQN3,
The third Java security element encrypts the third random sequence value SQN3 with the key DK of the third Java security element to generate a third encrypted value E DKe (SQN3)
The third Java security element sends a message containing the temporary ID (DTID) of the third Java security element and the third encrypted value (E DKe (SQN3)) to the second Java security element, 3,
The second Java security element includes a third step of inquiring the temporary ID (DTID) of the third Java security element and the attribute value ID (DKID) for generating the key of the third Java security element,
A third Java security element generates a key (DK) of a third Java security element and an encrypted inherent key value (DOPc) of a principal of a third Java security element,
The second Java security element decrypting the third encryption value,
The second Java security element adding 1 to the third random sequence value;
The third Java security element calculates an exclusive OR of the value calculated in operation 3 - 7 and the unique ID (DUID) of the third Java security element,
The third Java security element generates a third random value RAND3;
(DIDD) of the third Java security element, the unique ID (DUID) of the third Java security element, the key (DK) of the third Java security element, the encryption of the third Java security element operating entity A third session key CK3 and a third integrity verification key IK3 based on the first unique random key value DOPc, the third random value RAND3, the third random sequence value SQN3, Steps 3-10,
A third step of the gateway generating a third authentication value (AUTN3 = DUID XOR SQN3∥DTID) and a third-message validation code (MAC3)
The gateway obtains the encryption value (E DKe (RAND3∥AUTN3)) obtained by encrypting the temporary ID (DTID) of the third Java security element and the value obtained by concatenating the third random value RAND3 and the third authentication value AUTN3 A step 3-12 of transmitting a message including the message to the object Internet device,
The third Java security element decrypts the encryption value (E DKe (RAND3∥AUTN3));
The third Java security element verifying the third random sequence value SQN3,
The third Java security element comprises a temporary ID (DTID) of the third Java security element, a unique ID (DUID) of the third Java security element, a key (DK) of the third Java security element, The third session key CK3 and the third integrity verification key IK3 based on the encrypted unique key value DOPc of the operating entity, the third random value RAND3 and the third random sequence value SQN3, (3-15)
The third Java security element verifying the third-first message verification code MAC3,
The third Java security element encrypts a value obtained by concatenating the temporary ID (DTID) of the second Java security element and (SQN3 + 2) with the (3-2) message verification code (RES3) with the key of the third Java security element A message including an encryption value (E DKe (SQN3 + 2∥RES3)) to the gateway;
A third step of the gateway decrypting the encrypted value received in step 3-17,
A step 3-19 in which the gateway verifies the third random sequence value SQN3,
The gateway verifying the third-2 message verification code (RES3)
Key exchange and authentication methods.
KR1020180038936A 2018-04-04 2018-04-04 Method of Key Agreement and Authentication for Communicating with IoT Device and Method for Tranceiving Message Using the Same KR101996333B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180038936A KR101996333B1 (en) 2018-04-04 2018-04-04 Method of Key Agreement and Authentication for Communicating with IoT Device and Method for Tranceiving Message Using the Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180038936A KR101996333B1 (en) 2018-04-04 2018-04-04 Method of Key Agreement and Authentication for Communicating with IoT Device and Method for Tranceiving Message Using the Same

Publications (1)

Publication Number Publication Date
KR101996333B1 true KR101996333B1 (en) 2019-07-04

Family

ID=67259353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180038936A KR101996333B1 (en) 2018-04-04 2018-04-04 Method of Key Agreement and Authentication for Communicating with IoT Device and Method for Tranceiving Message Using the Same

Country Status (1)

Country Link
KR (1) KR101996333B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474921B (en) * 2019-08-28 2020-06-26 中国石油大学(北京) Perception layer data fidelity method for local area Internet of things

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060044315A (en) * 2004-03-11 2006-05-16 마이크로소프트 코포레이션 Methods and systems for protecting media content
KR101839048B1 (en) * 2016-04-18 2018-03-16 이니텍(주) End-to-End Security Platform of Internet of Things

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060044315A (en) * 2004-03-11 2006-05-16 마이크로소프트 코포레이션 Methods and systems for protecting media content
KR101839048B1 (en) * 2016-04-18 2018-03-16 이니텍(주) End-to-End Security Platform of Internet of Things

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474921B (en) * 2019-08-28 2020-06-26 中国石油大学(北京) Perception layer data fidelity method for local area Internet of things

Similar Documents

Publication Publication Date Title
JP5307191B2 (en) System and method for secure transaction of data between a wireless communication device and a server
US9112860B2 (en) Method and apparatus for mutual authentication
WO2018045817A1 (en) Mobile network authentication method, terminal device, server and network authentication entity
CN108599925B (en) Improved AKA identity authentication system and method based on quantum communication network
US7979707B2 (en) Secure seed generation protocol
TWI507059B (en) Mobile station and base station and method for deriving traffic encryption key
US8583809B2 (en) Destroying a secure session maintained by a server on behalf of a connection owner
US20060059344A1 (en) Service authentication
US20090276629A1 (en) Method for deriving traffic encryption key
JP2011139457A (en) System and method for secure transaction of data between wireless communication device and server
KR20180095873A (en) Wireless network access method and apparatus, and storage medium
JP2012110009A (en) Methods and arrangements for secure linking of entity authentication and ciphering key generation
JP2009510978A (en) Constrained encryption key
KR20210045676A (en) Vehicle communication system and method of secure communication therefor
US10637651B2 (en) Secure systems and methods for resolving audio device identity using remote application
Claeys et al. Securing complex IoT platforms with token based access control and authenticated key establishment
WO2011142353A1 (en) Communication device and communication method
CN104243452A (en) Method and system for cloud computing access control
KR101996333B1 (en) Method of Key Agreement and Authentication for Communicating with IoT Device and Method for Tranceiving Message Using the Same
KR20190040443A (en) Apparatus and method for creating secure session of smart meter
CN113918971A (en) Block chain based message transmission method, device, equipment and readable storage medium
KR101204648B1 (en) Method for exchanging key between mobile communication network and wireless communication network
CN108737093B (en) Encryption method, device and system
US11102655B1 (en) Secure device action initiation using a remote device
CN115314278B (en) Trusted network connection identity authentication method, electronic equipment and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant