KR101976583B1 - Method for setting secure key between lightweight devices in internet of things using different secure strength and different out-of-band channel - Google Patents

Method for setting secure key between lightweight devices in internet of things using different secure strength and different out-of-band channel Download PDF

Info

Publication number
KR101976583B1
KR101976583B1 KR1020170106077A KR20170106077A KR101976583B1 KR 101976583 B1 KR101976583 B1 KR 101976583B1 KR 1020170106077 A KR1020170106077 A KR 1020170106077A KR 20170106077 A KR20170106077 A KR 20170106077A KR 101976583 B1 KR101976583 B1 KR 101976583B1
Authority
KR
South Korea
Prior art keywords
value
key
secret key
user terminal
band channel
Prior art date
Application number
KR1020170106077A
Other languages
Korean (ko)
Other versions
KR20190021022A (en
Inventor
강남희
Original Assignee
덕성여자대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 덕성여자대학교 산학협력단 filed Critical 덕성여자대학교 산학협력단
Priority to KR1020170106077A priority Critical patent/KR101976583B1/en
Publication of KR20190021022A publication Critical patent/KR20190021022A/en
Application granted granted Critical
Publication of KR101976583B1 publication Critical patent/KR101976583B1/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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Abstract

본 발명에 따른 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법은, 사물인터넷(Internet of Things, IoT) 환경에서 동작하는 제1기기가 제1대역외 채널(Out-of-band)을 이용하여 사용자 단말로 임시키를 송신하는 단계, 사물인터넷 환경에서 동작하는 제2기기가 제1대역내 채널(In-band)을 이용하여 사용자 단말로부터 임시키를 수신하는 단계, 제1기기 및 제2기기가 비밀키를 생성하기 위한 각각의 공개값을 임시키로 암호화한 제1암호화 메시지를 제2대역내 채널을 통해 공유하는 단계 및 제1기기 및 제2기기가 암호화 메시지에 포함된 각각의 공개값을 이용하여 동일한 비밀키를 생성하는 단계를 포함한다.A method for setting a secret key between object lightweight devices using different security and different out-of-band channels according to the present invention is characterized in that a first device operating in an Internet of Things (IoT) Transmitting a temporary key to a user terminal using an out-of-band, receiving a temporary key from a user terminal using a first in-band channel, Sharing a first encrypted message encrypted with a temporary key for each public value for generating a secret key by a first device and a second device through a second in-band channel; And generating the same secret key using each public value included in the encrypted message.

Description

서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법{METHOD FOR SETTING SECURE KEY BETWEEN LIGHTWEIGHT DEVICES IN INTERNET OF THINGS USING DIFFERENT SECURE STRENGTH AND DIFFERENT OUT-OF-BAND CHANNEL}METHOD FOR SETTING SECURITY KEY BETWEEN LIGHTWEIGHT DEVICES IN INTERNET OF THINGS USING DIFFERENTIAL SECURE STRENGTH AND DIFFERENT OUT-OF-BAND CHANNEL USING DIFFERENT SECURITY,

본 발명은 사물인터넷 환경에서 동작하는 기기의 비밀키 설정 방법에 관한 것으로서, 보다 구체적으로 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법에 관한 것이다.The present invention relates to a secret key setting method for a device operating in an object internet environment, and more particularly, to a secret key setting method for a mutual object lightweight device using different security and different out-of-band channels.

사물인터넷(Internet of Things, IoT) 기술은 기존의 통신에서 주류를 이루던 사람과 사람, 사람과 사물 간의 통신에서 나아가 생활 속 모든 것들을 상호 연결시키려는 기술이다. 최근 들어, 센서나 액츄에이터와 같은 소형의 경량 장치들까지 인터넷에 직접 연결하여 정보를 주고 받을 수 있는 사물인터넷 기술에 대한 관심이 높아지고 있다.The Internet of Things (IoT) technology is a technology that interconnects everything in life, from communication between people, people, people and objects that are mainstream in existing communications. In recent years, there has been a growing interest in Internet technology for objects that can connect and communicate with small-sized lightweight devices such as sensors and actuators directly to the Internet.

사물인터넷 환경에서는 보안이 적용 환경에 따라 단순한 정보 보호의 차원을 넘어 사람의 생명에 직결될 수 있기 때문에 보안에 대한 신뢰성이 반드시 보장되어야 한다. 따라서, 사물인터넷 환경에서 다양한 경량 장치들을 통해 안전한 서비스를 제공하기 위해서는 각 경량 장치들 간에서 송수신되는 데이터가 안전하게 보호되어야 한다.In the Internet environment, the reliability of security must be ensured because the security can be directly linked to the life of the person beyond the level of information security according to the application environment. Accordingly, in order to provide a secure service through various lightweight devices in the Internet environment of objects, data transmitted and received between each lightweight device should be safely protected.

이를 위해, 경량 장치들 간에 비밀키가 안전하게 설정되어야 하기 때문에, 종래에는PSK(Pre Shared Key) 방식을 기반으로 하는 비밀키 설정 방법이 제안된 바 있다.To this end, since a secret key must be securely set between lightweight devices, a secret key setting method based on a PSK (Pre Shared Key) method has been conventionally proposed.

그러나, 사물인터넷 환경에서 처음 연결되는 경량 장치들에는 사전에 설정되어 있는 PSK가 부재하기 때문에 종래의 PSK 방식을 적용하는 것이 어렵다.However, it is difficult to apply the conventional PSK method because there is no preset PSK in the lightweight devices first connected in the object internet environment.

이에 따라, 사물인터넷 환경에서 동작하는 경량 장치들이 처음 연결되는 상황에서 경량 장치들이 DH 알고리즘과 같은 공개키 알고리즘을 이용하여 비밀키를 설정하도록 하는 기술이 개발되고 있으나, DH 알고리즘의 경우 주체 인증이 이루어지지 않기 때문에 중간자 공격(Man In The Middle)에 취약하다는 문제가 있다.Accordingly, a technique has been developed in which a lightweight device sets a secret key using a public key algorithm such as a DH algorithm in a situation where lightweight devices operating in the Internet environment of objects are connected for the first time. (Man In The Middle).

본 발명의 배경이 되는 기술은 대한민국 등록특허공보 제10-1695760호(발명의 명칭: IoT 환경에서의 보안 통신 설정 방법 및 시스템, 2017.01.06. 공고)에 개시되어 있다.BACKGROUND ART [0002] The technology to be a background of the present invention is disclosed in Korean Patent Registration No. 10-1695760 entitled " Method and System for Establishing Secure Communication in IoT Environment, Announcement 2017.01.06 ".

본 발명은 상술한 문제를 해결하기 위한 것으로서, 사물인터넷 환경에서 동작하는 기기들을 처음으로 연결할 때, 각 기기가 임시키를 공유하도록 하고 임시키를 통해 비밀키 생성에 필요한 정보를 송수신함으로써, 중간자 공격으로부터 안전한 비밀키를 생성하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to solve the above-mentioned problems, To generate a secure private key.

또한, 본 발명은 안전도가 강한 대역외 채널을 갖는 기기는 암호화 없이 임시키를 사용자 단말로 송신하고, 안전도가 약한 대역외 채널을 갖는 기기는 사용자 단말과 공유하는 보조키를 이용하여 암호화된 임시키를 사용자 단말로부터 수신함으로써, 처음 연결되는 기기들이 안전하게 임시키를 공유하도록 하는 것을 목적으로 한다.In addition, according to the present invention, a device having an out-of-band channel having a high security level transmits a temporary key to a user terminal without encryption, and a device having an out- Is received from the user terminal so that the first connected devices can securely share the temporary key.

또한, 본 발명은 각 기기의 대역외 채널에서 이용하는 매체가 다른 경우에도 별도의 입출력 인터페이스를 추가하지 않고 통신할 수 있도록 하고, 각 기기가 상대 기기의 대역외 채널의 통신 범위를 벗어난 경우에도 통신할 수 있도록 하는 것을 목적으로 한다.In addition, even when the medium used in the out-of-band channel of each device is different, it is possible to perform communication without adding a separate input / output interface and to communicate even when the device is outside the communication range of the out- To be able to do so.

상술한 문제점을 해결하기 위한 본 발명의 일 측면에 따른 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법은, 사물인터넷(Internet of Things, IoT) 환경에서 동작하는 제1기기가 제1대역외 채널(Out-of-band)을 이용하여 사용자 단말로 임시키를 송신하는 단계, 상기 사물인터넷 환경에서 동작하는 제2기기가 제1대역내 채널(In-band)을 이용하여 상기 사용자 단말로부터 상기 임시키를 수신하는 단계, 상기 제1기기 및 상기 제2기기가 비밀키를 생성하기 위한 각각의 공개값을 상기 임시키로 암호화한 제1암호화 메시지를 제2대역내 채널을 통해 공유하는 단계, 및 상기 제1기기 및 상기 제2기기가 상기 암호화 메시지에 포함된 각각의 공개값을 이용하여 동일한 비밀키를 생성하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of setting a secret key between a plurality of object lightweight devices using different security and different out-of-band channels, The first device transmitting a temporary key to a user terminal using a first out-of-band channel, the second device operating in the second Internet environment transmitting a first in-band Receiving a first encrypted message encrypted with the temporary key for each public value for generating a private key from the first device and the second device, Sharing through the private channel, and the first device and the second device generate the same secret key using the respective public values included in the encrypted message.

본 발명에 따르면, 사물인터넷 환경에서 동작하는 기기들을 처음으로 연결할 때, 각 기기가 임시키를 공유하도록 하고 임시키를 통해 비밀키 생성에 필요한 정보를 송수신함으로써, 중간자 공격으로부터 안전한 비밀키를 생성할 수 있다.According to the present invention, when the devices operating in the Internet environment of objects are connected for the first time, each device shares the temporary key and transmits / receives information necessary for generating the secret key through the temporary key, thereby generating a secret key .

또한, 본 발명에 따르면, 안전도가 강한 대역외 채널을 갖는 기기는 암호화 없이 임시키를 사용자 단말로 송신하고, 안전도가 약한 대역외 채널을 갖는 기기는 사용자 단말과 공유하는 보조키를 이용하여 암호화된 임시키를 사용자 단말로부터 수신함으로써, 처음 연결되는 기기들이 안전하게 임시키를 공유할 수 있다.Also, according to the present invention, a device having an out-of-band channel having a high degree of security transmits a temporary key to a user terminal without encryption, and a device having an out- By receiving the temporary key from the user terminal, the first connected devices can securely share the temporary key.

또한, 본 발명에 따르면, 각 기기가 사용자 단말을 매개체로 대역외 채널을 통해 통신하도록 함으로써, 각 기기는 대역외 채널에서 이용하는 매체가 다른 경우에도 별도의 입출력 인터페이스 추가없이 통신하고, 각 기기가 상대 기기의 대역외 채널의 통신 범위를 벗어난 경우에도 통신할 수 있다.Further, according to the present invention, each device communicates with the user terminal via the out-of-band channel as an intermediary, so that each device communicates without adding a separate input / output interface even when the medium used in the out-of-band channel is different, It is possible to communicate even when the communication range of the out-of-band channel of the apparatus is out of range.

도 1은 본 발명의 실시예에 따른 사물인터넷 환경의 구성을 개략적으로 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법의 구현 과정을 개략적으로 나타내는 플로우차트이다.
도 3은 도 2에서 보조키를 생성하는 과정을 구체적으로 나타내는 플로우차트이다.
도 4는 제1기기 및 제2기기가 비밀키를 생성하는 과정을 개략적으로 나타내는 플로우차트이다.
도 5는 본 발명의 다른 실시예에 따른 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법의 구현 과정을 개략적으로 나타내는 플로우차트이다.
FIG. 1 is a schematic view illustrating a configuration of an Internet object environment according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 2 is a flow chart schematically illustrating an implementation procedure of a secret key setting method between object lightweight devices using different security and different out-of-band channels according to an embodiment of the present invention.
FIG. 3 is a flowchart specifically illustrating a process of generating an auxiliary key in FIG.
4 is a flowchart schematically illustrating a process of generating a secret key by a first device and a second device.
FIG. 5 is a flow chart schematically illustrating an implementation procedure of a secret key setting method between the object Internet lightweight devices using different security and different out-of-band channels according to another embodiment of the present invention.

본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. It should be noted that, in the specification of the present invention, the same reference numerals as in the drawings denote the same elements, but they are numbered as much as possible even if they are shown in different drawings.

한편, 본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다. Meanwhile, the meaning of the terms described in the present specification should be understood as follows.

단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.The word " first, " " second, " and the like, used to distinguish one element from another, are to be understood to include plural representations unless the context clearly dictates otherwise. The scope of the right should not be limited by these terms.

"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that the terms "comprises" or "having" does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3 항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목, 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목, 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.It should be understood that the term " at least one " includes all possible combinations from one or more related items. For example, the meaning of " at least one of the first item, the second item and the third item " means not only the first item, the second item, or the third item, but also the first item, the second item, Means a combination of all items that can be presented from two or more of them.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예들에 대해 설명한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 사물인터넷 환경의 구성을 개략적으로 보여주는 도면이다.FIG. 1 is a schematic view illustrating a configuration of an Internet object environment according to an exemplary embodiment of the present invention. Referring to FIG.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 사물인터넷 환경은 기기(100) 및 사용자 단말(200)을 포함하여 이루어진다.As shown in FIG. 1, an object Internet environment according to an embodiment of the present invention includes a device 100 and a user terminal 200.

기기(100)는 자원이 제한적인 기기이다. 구체적으로, 기기(100)는 사물인터넷(Internet of Things, IoT) 환경에서 동작하는 경량(Lightweight) 장치로서, 센서, 액츄에이터, 또는 복수개의 센서와 액츄에이터를 갖는 소형 장치일 수 있다.The device 100 is a device with limited resources. Specifically, the device 100 may be a lightweight device operating in an Internet of Things (IOT) environment, such as a sensor, an actuator, or a small device having a plurality of sensors and actuators.

기기(100)는 대역내 채널(In-band) 및 대역외 채널(Out-of-band)을 통해 통신할 수 있다. 일례로, 기기(100)는 대역내 채널을 통해 타 기기(100)와 통신할 수 있다. 또한, 기기(100)가 이용하는 대역외 채널의 안전도에 따라 사용자 단말(200)과 통신하는데 이용하는 채널이 상이할 수 있다. 예컨대, 안전도가 강한 대역외 채널을 이용하는 기기(100)는 사용자 단말(200)과 대역외 채널을 통해서만 통신하고, 안전도가 약한 대역외 채널을 이용하는 기기(100)는 사용자 단말(200)과 대역외 채널 및 대역내 채널을 모두 이용하여 통신할 수 있다.The device 100 may communicate via an in-band channel and an out-of-band channel. In one example, the device 100 may communicate with other devices 100 through an in-band channel. In addition, the channel used for communication with the user terminal 200 may differ depending on the safety of the out-of-band channel used by the device 100. [ For example, a device 100 using an out-of-band channel having a high degree of safety may communicate only with an out-of-band channel with a user terminal 200, and a device 100 using an in- Channel and an in-band channel.

특히, 본 발명의 실시예에서는 타 기기에 대한 사전 정보가 없는 각 기기(100)가 처음 연결되는 상황을 고려하여 DH 알고리즘과 같은 공개키 알고리즘을 이용하여 비밀키를 설정할 수 있다.Particularly, in the embodiment of the present invention, it is possible to set a secret key using a public key algorithm such as a DH algorithm in consideration of a situation where each device 100 without prior information for another device is connected for the first time.

이 때, DH 알고리즘은 주체 인증이 이루어지지 않아 중간자 공격이 가능하므로, 본 발명의 실시예에서는 각 기기(100)가 어느 한 기기(100)에 의해 생성된 임시키를 공유한 상태에서 대역내 채널을 통해 비밀키를 설정하도록 함으로써, 각 기기(100)가 안전한 비밀키를 공유할 수 있다. 예컨대, 각 기기(100)는 사용자 단말(200)을 매개체로 임시키를 서로 공유하고, 대역내 채널에서 임시키를 이용하여 비밀키를 설정하는데 필요한 정보를 송수신함으로써 안전하게 비밀키를 생성할 수 있다.In this case, since the DH algorithm is not subject to the subject authentication, it is possible to attack the man-in-the-middle, and therefore, in the embodiment of the present invention, each device 100 shares a temporary key generated by a device 100, So that each device 100 can share a secure secret key. For example, each device 100 can securely generate a secret key by sharing the temporary keys with each other through the user terminal 200 and transmitting and receiving information necessary for setting the secret key using the temporary key in the in-band channel .

사물인터넷 환경에서 대역외 채널은 각각의 기기(100)에서 이용할 수 있는 빛, 소리, 진동 등 다양한 매체가 될 수 있으며, 기재한 바에 한정되지 않는다.In the object Internet environment, the out-of-band channel may be a variety of media such as light, sound, and vibration available in each device 100, and is not limited to the description.

이 때, 사물인터넷 환경에서 각각의 기기(100)는 자원이 제한되어 여러 개의 매체를 이용할 수 없기 때문에, 통신 대상이 되는 각 기기(100)의 대역외 채널이 동일한 매체를 이용하지 않을 수 있다.At this time, since each device 100 can not utilize a plurality of media due to limited resources in the Internet of objects, the out-of-band channel of each device 100 to be communicated may not use the same medium.

이에 따라, 본 발명의 실시예에서는 사용자 단말(200)을 매개체로 이용하여 각 기기(100)와 대역외 채널을 통해 통신함으로써, 각 기기(100)의 대역외 채널이 동일하지 않은 매체를 이용하는 경우에도 각 기기(100)는 임시키를 안전하게 공유할 수 있다.Accordingly, in the embodiment of the present invention, when the out-of-band channel of each device 100 uses a non-identical medium by communicating with each device 100 through the out-of-band channel using the user terminal 200 as an intermediary Each device 100 can securely share the temporary key.

또한, 사용자 단말(200)을 매개체로 이용하여 각 기기(100)와 대역외 채널을 통해 통신함에 따라, 본 발명의 실시예에서는 각 기기가 상대 기기의 대역외 채널의 통신 범위를 벗어난 경우에도 임시키를 안전하게 공유할 수 있다.In addition, when the user terminal 200 is used as an intermediary to communicate with each device 100 via the out-of-band channel, even when each device is out of the communication range of the out-of-band channel of the partner device, You can safely share the key.

예컨대, 사용자의 개인적인 용도로 설치된 기기(100)는 일반적으로 휴대가 가능한데, 사용자가 해당 기기(100)를 소지한 상태로 공공 장소로 이동함에 따라, 해당 기기(100)가 공공 장소에 고정 설치된 기기(100)와 통신하는 경우가 발생할 수 있다. 이 경우, 휴대성이 높은 사용자의 기기(100)의 계속되는 이동으로 고정 설치된 기기(100)와의 대역외 채널이 통신 범위를 벗어날 수 있다. 따라서, 본 발명의 실시예에서는 사용자 단말(200)을 매개체로 임시키를 전달함으로써, 각 기기(100) 간의 거리와는 무관하게 안전한 임시키를 공유할 수 있다.For example, a device 100 installed for a user's personal use is generally portable. When a user moves to a public place while holding the device 100, the device 100 is installed in a public place (100) may occur. In this case, the out-of-band channel with the fixed device 100 can be out of the communication range due to continuous movement of the device 100 having high portability. Therefore, in the embodiment of the present invention, the temporary key is transmitted through the user terminal 200 as an intermediary, so that the temporary key can be shared regardless of the distance between the devices 100. [

사용자 단말(200)은 각 기기(100)의 대역외 채널을 통한 통신을 중개하는 역할을 한다. 예컨대, 사용자 단말(200)은 각 기기(100)의 해쉬값 및 상대 기기(100)를 검증하기 위한 정보 중 적어도 하나를 공유하도록 중개할 수 있다.The user terminal 200 serves to mediate communication through the out-of-band channel of each device 100. For example, the user terminal 200 may mediate the sharing of at least one of the hash value of each device 100 and information for verifying the other device 100.

사용자 단말(200)은 기기(100) 보다 연산 자원이 크고 전원 공급에도 제한이 없는 제어기를 의미한다. 사용자 단말(200)은 스마트폰 또는 태블릿 PC와 같은 제어기일 수 있으나 이에 한정되지 않는다. 사용자 단말(200)은 각 기기(100)의 대역외 채널에서 이용하는 각 매체를 모두 이용할 수 있는 제어기로 설정될 수 있다. 이에 따라, 사용자 단말(200)은 각 기기(100)의 대역외 채널이 동일하지 않은 매체를 이용하는 경우에도 각각의 기기(100)와 대역외 채널을 통한 통신이 가능하다.The user terminal 200 means a controller which has a larger computational resource than the device 100 and does not limit power supply. The user terminal 200 may be, but is not limited to, a controller such as a smartphone or tablet PC. The user terminal 200 can be set as a controller that can use all of the media used in the out-of-band channel of each device 100. Accordingly, the user terminal 200 can communicate with each device 100 via the out-of-band channel even when the out-of-band channel of each device 100 is not the same.

한편, 각 기기(100)의 대역외 채널의 안전도는 이용하는 주변 환경에 따라 달라질 수 있다. 아래의 표 1은 빛과 소리를 이용하는 대역외 채널의 안전도를 간략히 기재한 것이다.On the other hand, the security of the out-of-band channel of each device 100 may vary depending on the surrounding environment to be used. Table 1 below outlines the safety of out-of-band channels using light and sound.

매체media light 소리sound 안전도Safety factor 강함Strong 약함weakness 강함Strong 약함weakness 환경Environment 차량 내 수납 박스, 방과 같은 폐쇄된 공간Enclosed space such as a storage box in a vehicle, a room 오피스, 공공장소와 같은 개방된 공간, 주변이 매우 밝은 공간Open space such as office, public place, very bright area 차량 내 수납 박스, 방과 같은 폐쇄된 공간, Self-jamming 기능을 포함한 경우In-car storage box, enclosed space such as room, including self-jamming function 오피스, 공공장소와 같은 개방된 공간, 주변이 매우 시끄러운 공간Open space such as office, public place, very noisy area 통신수단Communication means 사용자가 확인 가능한 케이블User-definable cable 디스플레이 패널, 카메라, LED, 광센서 등Display panel, camera, LED, optical sensor, etc. 사용자가 확인 가능한 케이블User-definable cable 마이크, 스피커Microphone, speaker

표 1에 기재된 바와 같이, 빛과 소리와 같은 매체를 이용하여 대역외 채널을 통해 통신하는 각 기기(100)는 그 위치나 통신수단에 따라 안전도가 다를 수 있다.As shown in Table 1, the security of each device 100 communicating through an out-of-band channel using a medium such as light and sound may vary depending on its location and communication means.

따라서, 본 발명의 실시예에서는 각 기기(100)의 대역외 채널의 안전도를 고려하여 각 기기(100)가 암호화 통신을 수행하는데 필요한 비밀키를 생성하는 방법을 제시한다. 구체적으로, 본 발명의 실시예에서는 각 기기(100)가 이용하는 매체의 안전도가 서로 다른 경우에 각 기기(100)의 비밀키를 안전하게 생성하는 방법을 살펴보기로 한다.Therefore, in the embodiment of the present invention, a method of generating a secret key necessary for each device 100 to perform encryption communication in consideration of the security of the out-of-band channel of each device 100 is presented. Specifically, in the embodiment of the present invention, a method of securely generating a secret key of each device 100 when the security of the medium used by each device 100 is different will be described.

이하에서는 제1기기(100a) 및 제2기기(100b)가 처음 연결되는 상황에서 제1기기(100a)의 대역외 채널의 안전도가 제2기기(100b)의 대역외 채널의 안전도 보다 강한 경우에 비밀키를 설정하기 위한 과정을 보다 구체적으로 살펴보기로 한다.Hereinafter, when the safety of the out-of-band channel of the first device 100a is higher than the safety of the out-of-band channel of the second device 100b when the first device 100a and the second device 100b are connected for the first time A process for setting a secret key in the mobile terminal will be described in more detail.

도 2는 발명의 일 실시예에 따른 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법의 구현 과정을 개략적으로 나타내는 플로우차트이다.FIG. 2 is a flow chart schematically illustrating an implementation procedure of a secret key setting method between the object Internet lightweight devices using different security and different out-of-band channels according to an embodiment of the present invention.

도 3은 도 2에서 보조키를 생성하는 과정을 구체적으로 나타내는 플로우차트이다.FIG. 3 is a flowchart specifically illustrating a process of generating an auxiliary key in FIG.

도 4는 제1기기 및 제2기기가 비밀키를 생성하는 과정을 개략적으로 나타내는 플로우차트이다.4 is a flowchart schematically illustrating a process of generating a secret key by a first device and a second device.

도 2에 도시된 바와 같이, 제1기기(100a)는 사용자 단말(200)로 임시키(KA)를 송신한다(S100). 일례로, 제1기기(100a)는 제1기기(100a)의 제1대역외 채널을 통해 사용자 단말(200)로 임시키(KA)를 송신할 수 있다.As shown in FIG. 2, the first device 100a transmits the temporary key K A to the user terminal 200 (S100). For example, the first device 100a may transmit the temporary key K A to the user terminal 200 via the first out-of-band channel of the first device 100a.

전술한 바와 같이, 제1기기(100a)의 제1대역외 채널의 안전도가 높기 때문에 제1기기(100a)는 별도의 암호화 과정 없이 임시키(KA)만을 사용자 단말(200)로 송신할 수 있고, 이 경우에도 임시키(KA)는 제3자에게 유출되지 않고 사용자 단말(200)만이 획득할 수 있다.As described above, since the first out-of-band channel of the first device 100a is highly secure, the first device 100a can transmit only the temporary key K A to the user terminal 200 without performing a separate encryption process In this case, the temporary key K A is not leaked to the third party but can be acquired only by the user terminal 200.

이 때, 임시키(KA)는 제1기기(100a) 및 제2기기(100b)가 공개키 알고리즘을 이용하여 비밀키를 설정하는 과정에서 중간자 공격을 방어하기 위한 용도이기 때문에 제1기기(100a) 및 제2기기(100b) 사이의 암호화된 통신을 위한 비밀키에 비해서 짧은 길이를 가져도 무방하다. 따라서, 본 발명의 실시예에서는 전송 가능한 데이터 양이 대역내 채널에 비해 상대적으로 적은 대역외 채널을 통해 임시키(KA)를 전송하는 것으로, 중간자 공격을 방어할 수 있다.At this time, since the temporary key K A is used for protecting the man-in-the-middle attack in the process of setting the secret key by using the public key algorithm of the first device 100a and the second device 100b, 100a and the second device 100b, as compared to the secret key for the encrypted communication between the first device 100a and the second device 100b. Therefore, in the embodiment of the present invention, the amount of data that can be transmitted is transmitted through the out-of-band channel, which is relatively small compared to the in-band channel, so that the intermediate key K A can be protected.

다음으로, 제2기기(100b)는 사용자 단말(200)로부터 제1기기(100a)가 생성한 상기 임시키(KA)를 수신한다(S300). 일례로, 제2기기(100b)는 제2기기(100b)의 대역내 채널을 통해 사용자 단말(200)로부터 임시키(KA)를 수신할 수 있다.Next, the second device 100b receives the temporary key K A generated by the first device 100a from the user terminal 200 (S300). For example, the second device 100b may receive the temporary key K A from the user terminal 200 through the in-band channel of the second device 100b.

다음으로, 제2기기(100b)는 비밀키(KAB)를 생성하는데 필요한 정보를 제1기기(100a)로 송신하고(S400), 제1기기(100a)는 비밀키(KAB)를 생성하는데 필요한 정보를 제2기기(100b)로 송신한다(S500). 이 때, 제2기기(100b)는 상기 임시키(KA)로 비밀키(KAB)를 생성하는데 필요한 정보를 암호화한 제1-1암호화 메시지를 제1기기(100a)로 송신하고, 제1기기(100a)는 상기 임시키(KA)로 비밀키(KAB)를 생성하는데 필요한 정보를 암호화한 제1-2암호화 메시지를 제2기기(100b)로 송신함으로써, 비밀키(KAB)를 생성하는데 필요한 정보를 안전하게 제1기기(100a)와 제2기기(100b)만이 공유하도록 할 수 있다.Next, the second unit (100b) transmits the information required to generate a secret key (K AB) to the first device (100a) (S400), the first unit (100a) generates a secret key (K AB) To the second device 100b (S500). At this time, the second device 100b transmits to the first device 100a a first encryption message, which is encrypted with the temporary key K A , to encrypt the information required to generate the secret key K AB , 1 unit (100a) is by transmitting to the temporary key (K a) a secret key, the second device to the first-second encrypted message by encrypting the information needed to generate the (K AB) (100b), the secret key (K AB Can be securely shared by only the first device 100a and the second device 100b.

다음으로, 제1기기(100a) 및 제2기기(100b)는 각 암호화 메시지에 포함된 정보에 기초하여 비밀키(KAB)를 생성한다(S600, S700). 이에 따라, 본 발명의 실시예에서 서로 다른 안전도를 갖는 대역외 채널을 이용하는 제1기기(100a) 및 제2기기(100b)는 안전하게 비밀키(KAB)를 공유하게 된다.Next, the generates a secret key (K AB) 1 unit (100a) and the second unit (100b) based on the information included with each encrypted message (S600, S700). Accordingly, the first device (100a) and the second unit (100b) using an out-of-band channel having a different safety in the embodiment of the present invention is to share a secret key (K AB) safely.

한편, 전술한 바와 같이, 제2기기(100b)의 제2대역외 채널의 안전도가 약하기 때문에 제2대역외 채널을 통해 임시키(KA)를 직접 수신할 경우 해당 임시키(KA)는 제3자에게 노출될 수 있다. On the other hand, as described above, since the security of the second out-of-band channel of the second device 100b is weak, when the temporary key K A is directly received through the second out-of-band channel, the corresponding temporary key K A It may be exposed to a third party.

따라서, 본 발명의 실시예에서는 전술한 바와 같이 대역내 채널을 통해 임시키(KA)를 수신한다. 다만, 제2기기(100b)와 사용자 단말(200)이 처음 연결되는 경우 대역내 채널을 통해 임시키(KA) 자체를 주고 받는 것도 안전하지 않을 수 있다.Therefore, in the embodiment of the present invention, the temporary key K A is received through the in-band channel as described above. However, when the second device 100b and the user terminal 200 are connected for the first time, it may not be safe to exchange the temporary key K A itself through the in-band channel.

이에 따라, 본 발명의 실시예에서는, 임시키(KA)를 수신하기 전에 제2기기(100b)와 사용자 단말(200) 간의 암호화된 통신을 위한 보조키(KMB)를 생성하여 공유할 수 있으며(S200), 제2기기(100b)는 보조키(KMB)로 암호화된 임시키(KA)를 수신할 수 있다. 그 결과, 제2기기(100b)는 제1기기(100a)에 의해 생성된 임시키(KA)를 안전하게 획득할 수 있다.Accordingly, in the embodiment of the present invention, an auxiliary key (K MB ) for encrypted communication between the second device 100b and the user terminal 200 can be generated and shared before receiving the temporary key K A (S200), the second device 100b can receive the temporary key K A encrypted with the auxiliary key K MB . As a result, the second device 100b can securely obtain the temporary key K A generated by the first device 100a.

이하에서는, 도 3을 참조하여 제2기기(100b)가 사용자 단말(200)과 보조키(KMB)를 공유하는 과정을 구체적으로 살펴보기로 한다.Hereinafter, a process in which the second device 100b shares the auxiliary key K MB with the user terminal 200 will be described in detail with reference to FIG.

먼저, 제2기기(100b)는 사용자 단말(200)로부터 사용자 단말(200)에 의해 생성된 보조 공개값(DHM)과 보조 랜덤값(RM)을 해쉬 연산한 제1해쉬값을 수신한다(S210). 일례로, 제2기기(100b)는 제2대역외 채널을 통해 사용자 단말(200)로부터 제1해쉬값을 수신할 수 있다.The second device 100b receives a first hash value obtained by performing a hash calculation of the assistant disclosure value DH M and the assistant random value R M generated by the user terminal 200 from the user terminal 200 (S210). For example, the second device 100b may receive the first hash value from the user terminal 200 via the second out-of-band channel.

다음으로, 제2기기(100b)는 사용자 단말(200)로 제2기기(100b)에 의해 생성된 제2-1공개값(DHB)과 제2-1랜덤값(RB)을 해쉬 연산한 제2해쉬값을 송신한다(S220).Next, the second device 100b transmits the 2-1 public value DH B and the 2-1 random value R B generated by the second device 100b to the user terminal 200 as a hash operation And transmits a second hash value (S220).

이와 같이, 본 발명의 실시예에서 제2기기(100b)의 제2대역외 채널의 안전도가 약하기 때문에, 제2기기(100b)는 보조 공개값(DHM), 보조 랜덤값(RM), 제2-1공개값(DHB), 및 제2-1랜덤값(RB) 자체를 사용자 단말(200)과 주고 받지 않는다. 예컨대, 제2기기(100b)는 상기와 같이 해당 데이터들이 해쉬 연산된 제1해쉬값 및 제2해쉬값을 사용자 단말(200)과 송신함으로써 상기의 데이터들이 제3자에게 유출되지 않도록 한다. 이를 위해 제2기기(100b) 및 사용자 단말(200)은 해쉬값을 연산하기 위한 해쉬 함수를 미리 공유하고 있을 수 있다.As described above, in the embodiment of the present invention, since the security of the second out-of-band channel of the second device 100b is weak, the second device 100b can detect the sub public value DH M , the auxiliary random value R M , The second-1 public value DH B , and the second-1 random value R B itself to / from the user terminal 200. For example, the second device 100b transmits the first hash value and the second hash value to the user terminal 200, as described above, so that the data is not leaked to the third party. To this end, the second device 100b and the user terminal 200 may previously share a hash function for computing a hash value.

한편, 본 발명의 실시예에서는 제2대역외 채널을 통해 해쉬값을 주고 받는데, 대역외 채널은 대역내 채널에 비해서 짧은 데이터 전송이 가능하다. 따라서, 본 발명의 실시예에서 제2기기(100b)는 사용자 단말(200)가 보조 공개값(DHM) 및 보조 랜덤값(RM)을 해쉬 연산하고, 해쉬 연산된 값을 소정 길이로 절단(truncation)한 짧은 길이의 제1해쉬값을 수신할 수 있다. 또한, 제2기기(100b)는 제2-1공개값(DHB) 및 제2-1랜덤값(RB)을 해쉬 연산하고, 해쉬 연산된 값을 소정 길이로 절단한 제2해쉬값을 연산하여 사용자 단말(200)로 송신할 수 있다. 이 때, 소정 길이는 제2대역외 채널을 통해 전송 가능한 길이로 설정될 수 있으며, 해당 대역외 채널의 보안 특성 등이 반영될 수 있다.Meanwhile, in the embodiment of the present invention, the hash value is exchanged through the second out-of-band channel, and the out-of-band channel can transmit data as short as the in-band channel. Accordingly, in the embodiment of the present invention, the second device 100b may be configured such that the user terminal 200 performs a hash operation on the assistant disclosure value DH M and the assistant random value R M , it is possible to receive a truncated first hash value having a short length. The second device 100b performs a hash operation on the 2-1 public value DH B and the 2-1 random value R B and outputs a second hash value obtained by cutting the hash computed value to a predetermined length And transmit it to the user terminal 200. At this time, the predetermined length may be set to a length that can be transmitted through the second out-of-band channel, and the security characteristics of the out-of-band channel may be reflected.

다음으로, 제2기기(100b)는 사용자 단말(200)로부터 보조 공개값(DHM)을 수신하고(S230), 사용자 단말(200)로 제2-1공개값(DHB)을 송신한다(S240). 일례로, 제2기기(100b)는 사용자 단말(200)과 연결된 제1대역내 채널을 통해 보조 공개값(DHM) 및 제2-1공개값(DHB)을 송수신할 수 있다.Next, the second device 100b receives the auxiliary disclosure value DH M from the user terminal 200 (S230) and transmits the second-1 disclosure value DH B to the user terminal 200 ( S240). For example, the second device 100b may transmit and receive the supplementary disclosure value DH M and the second-1 disclosure value DH B through the first in-band channel connected to the user terminal 200.

다음으로, 제2기기(100b)는 사용자 단말(200)로부터 보조 랜덤값(RM)을 수신하고(S250), 사용자 단말(200)로 제2-1랜덤값(RB)을 송신한다(S260). 일례로, 제2기기(100b)는 제2대역외 채널을 통해 사용자 단말(200)과 보조 랜덤값(RM) 및 제2-1랜덤값(RB)을 송수신할 수 있다.Next, the second device 100b receives the auxiliary random value R M from the user terminal 200 (S250) and transmits the second-1 random value R B to the user terminal 200 ( S260). For example, the second device 100b can transmit and receive the auxiliary random value R M and the second-1 random value R B with the user terminal 200 through the second out-of-band channel.

이 때, 보조 랜덤값(RM) 및 제2-1랜덤값(RB)은 제2대역외 채널을 통해 송수신되므로, 제2기기(100b) 및 사용자 단말(200)은 제2대역외 채널을 통해 전송 가능한 길이로 보조 랜덤값(RM) 및 제2-1랜덤값(RB)을 생성함이 타당하다. 일례로, 보조 랜덤값(RM) 및 제2-1랜덤값(RB)은 절단된 제1해쉬값 및 제2해쉬값과 동일한 소정 길이로 생성될 수 있으나, 이에 한정되는 것은 아니다.At this time, since the auxiliary random value R M and the 2-1 random value R B are transmitted and received through the second out-of-band channel, the second device 100b and the user terminal 200 transmit the second out- It is reasonable to generate the auxiliary random value R M and the second-1 random value R B to a length that can be transmitted through the second random value R B. For example, the auxiliary random value R M and the second-1 random value R B may be generated with a predetermined length equal to the truncated first hash value and the second hash value, but are not limited thereto.

다음으로, 제2기기(100b)는 단계 S230 및 S250을 통해 수신한 보조 공개값(DHM) 및 보조 랜덤값(RM)을 해쉬 연산하고(S271), 연산된 값이 제1해쉬값과 일치하면 보조 공개값(DHM)을 이용하여 보조키(KMB)를 생성한다(S281).Next, the second device 100b performs a hash operation (S271) on the sub public value DH M and the auxiliary random value R M received in steps S230 and S250, and outputs the calculated hash value If they match, an auxiliary key (K MB ) is generated using an auxiliary disclosure value (DH M ) (S 281).

그리고, 사용자 단말(200)은 단계 S240 및 S260을 통해 수신한 제2-1공개값(DHB) 및 제2-1랜덤값(RB)을 해쉬 연산하고(S272), 연산된 값이 제2해쉬값과 일치하면 제2-1공개값(DHB)을 이용하여 보조키(KMB)를 생성한다(S282).The user terminal 200 performs a hash operation on the 2-1 public value DH B and the 2-1 random value R B received in steps S240 and S260 in step S272, 2 hash value, the auxiliary key K MB is generated using the 2-1 public value DH B (S282).

전술한 바와 같이, 제1해쉬값과 제2해쉬값은 대역외 채널을 통해 공유됨에 따라 해쉬 연산 이후 연산 결과를 소정 길이로 절단하여 획득된 값일 수 있으므로, 제2기기(100b)는 해쉬 연산 값을 소정 길이로 절단하여 제1해쉬값과 비교하고, 사용자 단말(200)은 해쉬 연산 값을 소정 길이로 절단하여 제2해쉬값과 비교할 수 있다.As described above, since the first hash value and the second hash value are shared through the out-of-band channel, the second device 100b may be a value obtained by cutting the operation result after the hash operation to a predetermined length. The user terminal 200 may cut the hash operation value to a predetermined length and compare the hash operation value with the second hash value.

이와 같이, 제2기기(100b)는 단계 S210에서 수신된 제1해쉬값과 S271에서 직접 연산한 해쉬값을 비교함으로써, 수신된 보조 공개값(DHM) 및 보조 랜덤값(RM)의 무결성을 검증하여 이를 송신한 사용자 단말(200)을 검증할 수 있다. 그리고 제2기기(100b)는 검증된 보조 공개값(DHM)을 이용하여 안전한 보조키(KMB)를 생성할 수 있다.Thus, the second device 100b compares the first hash value received in step S210 with the hash value calculated directly in step S271 to determine the integrity of the received subsidiary disclosure value DH M and the integrity of the auxiliary random value R M And can verify the user terminal 200 that transmitted it. And the second device 100b may generate a secure auxiliary key K MB using the verified assistant disclosure value DH M.

마찬가지로, 사용자 단말(200)은 단계 S220에서 수신된 제2해쉬값과 S272에서 직접 연산한 해쉬값을 비교함으로써, 수신된 제2-1공개값(DHB) 및 제2-1랜덤값(RB)의 무결성을 검증하여 이를 송신한 제2기기(100b)를 검증할 수 있다. 그리고 사용자 단말(200)은 검증된 제2-1공개값(DHB)을 이용하여 안전한 보조키(KMB)를 생성할 수 있다.Similarly, the user terminal 200 compares the received second-1 public value DH B and the 2-1 second random value R (i, j) by comparing the second hash value received in step S220 with the hash value calculated directly in step S272, B ) and verifies the second device 100b that transmitted the verification result. The user terminal 200 may then generate a secure auxiliary key K MB using the verified 2-1 disclosure value DH B.

특히, 본 발명의 실시예에서 제2기기(100b)는 제1대역내 채널을 통해 공유한 보조 공개값(DHM), 및 제2대역외 채널을 통해 공유한 보조 랜덤값(RM)을 해쉬 연산하기 때문에, 제1대역내 채널과 제2대역외 채널 중 어느 하나라도 중간자 공격에 노출된 경우 단계 S271에서의 비교 결과가 일치하지 않게 된다. 이에 따라, 본 발명의 실시예에서는 제2기기(100b)가 사용자 단말(200)과 통신하는 제1대역내 채널 및 제2대역외 채널이 모두 중간자 공격으로부터 안전한 경우에 보조키(KMB)를 생성함으로써 보안 성능을 향상시킬 수 있다.Particularly, in the embodiment of the present invention, the second device 100b transmits the auxiliary disclosure value DH M shared through the first in-band channel and the auxiliary random value R M shared through the second out-of-band channel Since the hash operation is performed, if either the first in-band channel or the second out-of-band channel is exposed to the man-in-the-middle attack, the comparison result in step S271 becomes inconsistent. Accordingly, in the embodiment of the invention the second unit (100b) that the user terminal 200 and the auxiliary key (K MB) when safe from the first in-band channel and the two outer channels second band both man-in-the-middle attacks in communication The security performance can be improved.

또한, 제2기기(100b) 및 사용자 단말(200)은 보조 공개값(DHM) 및 제2-1공개값(DHB)을 동일한 연산자로 연산함으로써, 동일한 보조키(KMB)를 생성할 수 있다. 일례로, 제2기기(100b) 및 사용자 단말(200)은 공개키 알고리즘을 이용하여 동일한 보조키(KMB)를 공유할 수 있다. 예컨대, 제2기기(100b) 및 사용자 단말(200)은 DH 알고리즘을 이용하여 동일한 보조키(KMB)를 공유할 수 있으나, 본 발명은 이에 한정되지 않는다.The second device 100b and the user terminal 200 also generate the same auxiliary key K MB by calculating the auxiliary disclosure value DH M and the 2-1 public value DH B using the same operator . For example, the second device 100b and the user terminal 200 may share the same auxiliary key (K MB ) using a public key algorithm. For example, the second device 100b and the user terminal 200 may share the same auxiliary key (K MB ) using the DH algorithm, but the present invention is not limited thereto.

한편, S210 및 S220에서 제1해쉬값은 사용자 단말(200)의 단말 아이디(IDM)를 더 포함하여 해쉬 연산된 값이고, 제2해쉬값은 제2기기(100b)의 제2아이디(IDB)를 더 포함하여 해쉬 연산된 값일 수 있다.Meanwhile, in S210 and S220, the first hash value is a hash-calculated value further including the terminal ID (ID M ) of the user terminal 200, and the second hash value is the second ID B ), and may be a hash-computed value.

이 경우, 제2기기(100b)는 상기 단말 아이디(IDM)에 보조키(KMB)를 매칭하여 저장하고, 사용자 단말(200)은 상기 제2아이디(IDB)에 보조키(KMB)를 매칭하여 저장할 수 있다. 이에 따라, 제2기기(100b) 및 사용자 단말(200)은 서로 다른 사용자 단말이나 기기에 대해 각각 보조키를 생성하고, 이들을 각 아이디에 매칭하여 저장함으로써, 복수개의 사용자 단말이나 기기와 각각 암호화된 통신을 수행할 수 있다.In this case, the second device 100b matches and stores the auxiliary key K MB in the terminal ID M , and the user terminal 200 stores the auxiliary key K MB in the second ID B , ) Can be stored and matched. Accordingly, the second device 100b and the user terminal 200 generate the respective auxiliary keys for the different user terminals or devices, respectively, and store the matching keys in the respective IDs, thereby storing a plurality of user terminals or devices, Communication can be performed.

상기의 과정을 통해 제2기기(100b)는 사용자 단말(200)과 암호화된 통신을 수행하기 위한 보조키(KMB)를 생성하게 되고, 본 발명의 실시예에서는 생성한 보조키(KMB)가 정당한 사용자 단말과의 통신을 통해 생성된 것인지 검증할 수 있다.The second device (100b) over the course of the user terminal 200, and is generated a second key (K MB) for performing an encrypted communication, the embodiment of the present invention the generated secondary keys (K MB) Can be verified whether it is generated through communication with a legitimate user terminal.

이를 위해, 보조키(KMB) 생성 이후, 제2기기(100b)는 제2-1공개값(DHB), 보조 공개값(DHM), 및 보조 랜덤값(RM)을 해쉬 연산한 제3해쉬값을 보조키(KMB)로 암호화하고, 암호화하여 생성된 제2-1암호화 메시지를 사용자 단말(200)로 송신한다(S290).To this end, after the generation of the auxiliary key K MB , the second device 100b performs a hash operation on the 2-1 public value DH B , the auxiliary public value DH M , and the auxiliary random value R M Encrypts the third hash value with the auxiliary key (K MB ), encrypts the third hash value, and transmits the generated second-1 encryption message to the user terminal 200 (S290).

다음으로, 사용자 단말(200)은 보조키(KMB)로 제2-1암호화 메시지를 복호화하여 제3해쉬값을 획득하고, 제3해쉬값 및 제2-1랜덤값(RB)을 해쉬 연산한 제4해쉬값을 보조키(KMB)로 암호화하고, 암호화하여 생성된 제2-2암호화 메시지를 제2기기(100b)로 송신한다(S310).Next, the user terminal 200 obtains a third hash value by decrypting the second-1 encryption message with the auxiliary key (K MB ), and outputs the third hash value and the second-1 random value (R B ) Encrypts the computed fourth hash value with the auxiliary key (K MB ), encrypts the encrypted fourth hash value, and transmits the generated second-second encryption message to the second device 100b (S310).

단계 S290 및 S310에서 제2기기(100b)는 제1대역내 채널을 통해 사용자 단말(200)과 통신할 수 있기 때문에 제2대역외 채널을 통해 통신하는 경우 보다 데이터 전송의 제한이 적다. 따라서, 제2기기(100b) 및 사용자 단말(200)은 제3해쉬값 및 제4해쉬값에 대해서는 절단 과정을 수행하지 않을 수 있다. 그 결과, 제1해쉬값과 제2해쉬값은 절단이 수행되지 않은 해쉬값이고, 제3해쉬값 및 제4해쉬값은 절단이 수행되지 않아 상대적으로 더 긴 길이를 갖게 된다.Since the second device 100b can communicate with the user terminal 200 through the first in-band channel in steps S290 and S310, there is less restriction on data transmission than when communicating over the second out-of-band channel. Accordingly, the second device 100b and the user terminal 200 may not perform the truncation process on the third hash value and the fourth hash value. As a result, the first hash value and the second hash value are the hash values for which the truncation is not performed, and the third hash value and the fourth hash value are relatively long because the truncation is not performed.

단계 S290 및 S310을 위해 제2기기(100b) 및 사용자 단말(200)은 각 해쉬값을 연산하기 위한 해쉬 함수를 미리 공유하고 있을 수 있다. 이 때, 해쉬 함수는 단계 S210 및 S220에서 송신되는 제1해쉬값 및 제2해쉬값을 연산한 함수와 동일할 수 있지만, 이에 한정되는 것은 아니다.For the steps S290 and S310, the second device 100b and the user terminal 200 may have previously shared a hash function for computing each hash value. In this case, the hash function may be the same as the function that computes the first hash value and the second hash value transmitted in steps S210 and S220, but is not limited thereto.

다음으로, 제2기기(100b)는 제2-2암호화 메시지에 포함된 제4해쉬값에 기초하여 보조키(KMB)를 검증하고(S320), 사용자 단말(200)은 제2-1암호화 메시지에 포함된 제3해쉬값에 기초하여 보조키(KMB)를 검증한다(S330).Next, the second device 100b verifies the auxiliary key K MB based on the fourth hash value included in the second-2 encryption message (S320), and the user terminal 200 transmits the second-1 encryption (K MB ) based on the third hash value included in the message (S330).

예컨대, 제2기기(100b)는 단계 S290에서 생성한 제3해쉬값, 및 제2-1랜덤값(RB)을 직접 해쉬 연산하고, 제2-2암호화 메시지를 보조키(KMB)로 복호화하여 획득된 제4해쉬값을 상기 연산된 값과 비교하여 보조키(KMB)를 검증할 수 있다.For example, the second device 100b directly hash-computes the third hash value and the second-1 random value R B generated in step S290, and transmits the second-2 encryption message to the auxiliary key K MB And compare the fourth hash value obtained by decoding with the calculated value to verify the auxiliary key (K MB ).

사용자 단말(200)은 제2-1공개값(DHB), 보조 공개값(DHM), 및 보조 랜덤값(RM)을 직접 해쉬 연산하고, 제2-1암호화 메시지를 보조키(KMB)로 복호화하여 획득된 제3해쉬값을 상기 연산된 값과 비교하여 보조키(KMB)를 검증할 수 있다.The user terminal 200 performs a direct hash operation on the 2-1 public value DH B , the assistant disclosure value DH M and the auxiliary random value R M , MB ) and verifying the auxiliary key (K MB ) by comparing the obtained third hash value with the calculated value.

한편, 단계 S310에서 제2-2암호화 메시지에는 임시키(KA)가 포함되어 있고, 제2기기(100b)는 제2-2암호화 메시지를 보조키(KMB)로 복호화하여 임시키(KA)를 획득할 수 있다.Meanwhile, in step S310, the second-2 encryption message includes the temporary key K A , the second device 100b decrypts the 2-2 encryption message into the auxiliary key K MB , A ).

이와 같이, 본 발명의 실시예에 따르면, 안전도가 강한 제1대역외 채널을 갖는 제1기기(100a)는 암호화 없이 임시키(KA)를 사용자 단말(200)로 송신하고, 안전도가 약한 제2대역외 채널을 갖는 제2기기(100b)는 사용자 단말(200)과 공유하는 보조키(KMB)를 이용하여 암호화된 임시키(KA)를 사용자 단말(200)로부터 수신함으로써, 처음 연결되는 제1기기(100a) 및 제2기기(100b)가 안전하게 임시키(KA)를 공유할 수 있다.As described above, according to the embodiment of the present invention, the first device 100a having the first out-of-band channel with high security transmits the temporary key K A to the user terminal 200 without encryption, The second device 100b having the two out-of-band channels receives the encrypted temporary key K A from the user terminal 200 using the auxiliary key K MB shared with the user terminal 200, The first device 100a and the second device 100b can share the temporary key K A securely.

다시, 도 2를 참조하여 제1기기(100a) 및 제2기기(100b)가 동일한 비밀키(KAB)를 공유하는 과정을 구체적으로 살펴보기로 한다.Referring again to FIG. 2, a process of sharing the same secret key K AB between the first device 100a and the second device 100b will be described in detail.

S500에서 제1기기(100a)는 임시키(KA)로 제1기기(100a)에 의해 생성된 제1공개값(DHA)을 암호화한 제1-2암호화 메시지를 제2기기(100b)로 송신하고, 단계 S400에서 제2기기(100b)는 임시키(KA)로 제2기기(100b)에 의해 생성된 제2-2공개값(DHB2)을 암호화한 제1-1암호화 메시지를 제1기기(100a)로 송신한다.In step S500, the first device 100a encrypts the first disclosure value DH A generated by the first device 100a with the provisional key K A to the second device 100b, transmitting at the second unit (100b) is a temporary key (K a) by a first second-second public value generated by the second device (100b) (DH B2) a first-first encrypted message encrypted in step S400 To the first device 100a.

도 2에는 임시키(KA)를 수신한 제2기기(100b)가 제1-2암호화 메시지를 생성하여 제1기기(100a)로 송신한 이후, 제1기기(100a)가 제1-1암호화 메시지를 생성하여 제2기기(100b)로 송신하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.In FIG. 2, after the second device 100b receiving the temporary key K A generates the 1-2 encryption message and transmits it to the first device 100a, the first device 100a transmits the 1-1 Encrypted message is generated and transmitted to the second device 100b, but the present invention is not limited to this.

예컨대, 제1기기(100a)는 사용자 단말(200)로 임시키(KA)를 송신한 후, 소정의 시간이 경과하면 제1-1암호화 메시지를 생성하여 제2기기(100b)로 송신하고, 제2기기(100b)가 제1-2암호화 메시지를 생성하여 제1기기(100a)로 송신하는 순서로 동작하는 것도 가능하다.For example, when the first device 100a transmits the temporary key K A to the user terminal 200, the first device 100a generates a 1-1 encryption message and transmits the 1-1 encryption message to the second device 100b , The second device 100b may generate the 1-2 encryption message and transmit it to the first device 100a.

또한, 사용자 단말(200)로부터 제2기기(100b)로 임시키(KA)가 송신된 후, 소정의 시간이 경과하면 제1기기(100a) 및 제2기기(100b)가 동시에 제1-1암호화 메시지 및 제1-2암호화 메시지를 상대 기기로 송신하는 것도 가능하다.When the predetermined time elapses after the provisional key K A is transmitted from the user terminal 200 to the second device 100b, the first device 100a and the second device 100b simultaneously generate the first- It is also possible to transmit the first encryption message and the first encryption message to the external device.

이와 같이, 제1기기(100a) 및 제2기기(100b)는 공유하는 임시키(KA)를 통해 암호화된 메시지를 이용하여 비밀키(KAB)를 생성하기 위한 제1공개값(DHA) 및 제2-2공개값(DHB2)을 공유함으로써, 중간자 공격(Man In The Middle)으로부터 안전한 비밀키(KAB)를 생성할 수 있다.In this way, the first device 100a and the second device 100b can generate the first public value DH A for generating the private key K AB using the encrypted message through the shared temporary key K A , ) And the second-2 disclosure value DH B2 , it is possible to generate a secure private key K AB from the man in the middle.

한편, 단계 S220 및 S400에서 제2기기(100b)의 공개값을 제2-1공개값(DHB) 및 제2-2공개값(DHB2)으로 구분하여 기재하였으나, 이는 설명의 편의를 위해 구분한 것으로 제2-1공개값(DHB) 및 제2-2공개값(DHB2)은 반드시 상이한 값으로 설정되어야 하는 것은 아니고 서로 동일한 값으로 설정될 수도 있다.On the other hand, in step S220 and step S400, the disclosure value of the second device 100b is described as being divided into the 2-1 public value DH B and the 2-2 public value DH B2 . However, The second-1 disclosure value DH B and the second-2 disclosure value DH B2 are not necessarily set to different values, but may be set to the same value.

마찬가지로, 단계 S220 및 S400에서 제2기기(100b)의 랜덤값을 제2-1랜덤값(RB) 및 제2-2랜덤값(RB2)으로 구분하여 기재하였으나, 제2-1랜덤값(RB) 및 제2-2랜덤값(RB2)은 반드시 상이한 값으로 설정되어야 하는 것은 아니고 서로 동일한 값으로 설정될 수도 있다.Likewise, although the random values of the second device 100b are described separately in the steps S220 and S400 by the 2-1 random value R B and the 2-2 random value R B2 , (R B ) and the 2-2 random value (R B2 ) are not necessarily set to different values, but may be set to the same value.

다음으로, S600에서 제1기기(100a)는 제1-2암호화 메시지에 포함된 제2-2공개값(DHB2)을 이용하여 비밀키(KAB)를 생성하고, S700에서 제2기기(100b)는 제1-1암호화 메시지에 포함된 제1공개값(DHA)을 이용하여 비밀키(KAB)를 생성한다.Next, the first unit (100a) in S600 generates a secret key (K AB) by using a second-second public value (DH B2) included in the first-second encrypted message and the second device in S700 ( 100b generates the secret key K AB using the first disclosure value DH A included in the 1-1 encryption message.

이 때, 제1기기(100a) 및 제2기기(100b)는 제1공개값(DHA) 및 제2-2공개값(DHB2)을 동일한 연산자로 연산함으로써, 동일한 비밀키(KAB)를 생성할 수 있다.At this time, the first device 100a and the second device 100b calculate the same public key K AB by computing the first public value DH A and the second 2-2 public value DH B2 using the same operator, Lt; / RTI >

도 4를 참조하여 제1기기(100a) 및 제2기기(100b)가 비밀키(KAB)를 생성하는 과정을 구체적으로 살펴보면 다음과 같다.A process of generating the secret key K AB by the first device 100a and the second device 100b will be described in detail with reference to FIG.

먼저, 제2기기(100b)는 제2-2공개값(DHB2)을 결정한다(S410). 일례로, 제2-2공개값(DHB2)은 소수(素數)(p), 베이스(g), 및 제2연산값(yb)을 포함할 수 있다. First, the second device 100b determines the second -2 disclosure value DH B2 (S410). For example, the second -2 disclosure value DH B2 may include a prime number p, a base g, and a second calculated value y b .

제2기기(100b)는 제1기기(100a)와 공유하기 위한 용도의 임의의 소수(p) 및 베이스(g)를 결정하고, 제1기기와 공유하지 않는 제2개인값(xb)을 결정한다. 그리고, 제2기기(100b)는 미리 설정된 연산자로 소수(p), 베이스(g), 및 제2개인값(xb)을 연산하여 제2연산값(yb)을 획득함으로써, 제2-2공개값(DHB2)을 결정할 수 있다. 이 때, 미리 설정된 연산자는 DH 알고리즘을 구현하기 위한 함수일 수 있고(예컨대, 지수승을 포함한 mod 함수), 이 경우 제2기기(100b)는 아래의 수학식 1에 따라 제2연산값(yb)을 연산할 수 있다. 이하에서는 미리 설정된 연산자를 지수승을 포함한 mod 함수인 경우를 예로 들어 설명하겠으나, 본 발명은 이에 한정되지 않는다.The second device 100b determines a certain prime number p and base g for use for sharing with the first device 100a and determines a second private value x b that is not shared with the first device . The second device 100b obtains the second calculated value y b by computing a prime number p, a base g and a second individual value x b with a predetermined operator, 2 public value (DH B2 ). In this case, the pre-set operator may be a function for implementing the DH algorithm (for example, a mod function including exponentiation), and in this case, the second device 100b may calculate the second calculated value y b ) Can be calculated. Hereinafter, a case where the predetermined operator is a mod function including exponentiation will be described as an example, but the present invention is not limited thereto.

Figure 112017081122747-pat00001
Figure 112017081122747-pat00001

다음으로, 제2기기(100b)는 임시키(KA)로 소수(p), 베이스(g), 및 제2연산값(yb)을 포함하는 제2-2공개값(DHB2)을 암호화한 제1-2암호화 메시지를 생성하여 제1기기(100a)로 송신한다(S420).Next, the second device 100b sets the second-2 disclosure value DH B2 including the prime number p, the base g, and the second calculated value y b as the temporary key K A And transmits the encrypted first 1-2 encryption message to the first device 100a (S420).

다음으로, 제 1기기(100a)는 제1공개값(DHA)을 결정한다(S510). 일례로, 제1공개값(DHA)은 소수(p), 베이스(g), 및 제1연산값(ya)을 포함할 수 있다. 이 때, 소수(p) 및 베이스(g)는 제1-2암호화 메시지에 포함된 것으로 제1기기(100a)는 임시키(KA)로 제1-2암호화 메시지를 복호화하여 소수(p) 및 베이스(g)를 추출할 수 있다.Next, the first device 100a determines the first disclosure value DH A (S510). In one example, the first disclosure value DH A may include a prime number p, a base g, and a first computed value y a . The first device 100a decrypts the 1-2 enciphering message with the temporary key K A and decrypts the decrypted (p) and base (g) And the base g can be extracted.

단계 S510에서, 제1기기(100a)는 제2기기(100b)와 공유하지 않는 제1개인값(xa)을 결정하고, 미리 설정된 연산자로 소수(p), 베이스(g), 및 제1개인값(xa)을 연산하여 제1연산값(ya)을 획득함으로써, 제1공개값(DHA)을 결정할 수 있다. 이 때, 미리 설정된 연산자는 제2기기(100b)가 제2연산값(yb)을 연산하기 위한 연산자와 동일하게 설정된다.In step S510, the first device 100a determines a first individual value xa that is not shared with the second device 100b, and sets a prime number p, a base g, The first public value DH A can be determined by calculating the private value x a to obtain the first calculated value y a . At this time, the preset operator is set to be the same as the operator for the second device 100b to calculate the second calculated value y b .

따라서, 미리 설정된 연산자는 DH 알고리즘을 구현하기 위한 지수승을 포함한 mod 함수일 수 있고, 이 경우 제1기기(100a)는 아래의 수학식 2에 따라 제1연산값(ya)을 연산할 수 있다.Accordingly, the predetermined operator may be a mod function including exponentiation to implement the DH algorithm. In this case, the first device 100a may calculate the first calculated value y a according to the following equation (2) .

Figure 112017081122747-pat00002
Figure 112017081122747-pat00002

다음으로, 제1기기(100a)는 임시키(KA)로 소수(p), 베이스(g), 및 제1연산값(ya)을 포함하는 제1공개값(DHA)을 암호화한 제1-1암호화 메시지를 생성하여 제2기기(100b)로 송신한다(S520).Next, the first device 100a encrypts the first public value DH A including the prime number p, the base g, and the first calculated value y a as the temporary key K A 1-1 encryption message and transmits it to the second device 100b (S520).

이에 따라, 제2기기(100b)는 제1-1암호화 메시지를 임시키(KA)로 복호화하여 소수(p) 및 베이스(g)를 추출하고, 단계 S420에서 제1기기(100a)로 송신했던 소수(p) 및 베이스(g)와 동일한지 비교하여 제1기기(100a)를 검증할 수 있다. 다만, 본 발명은 이에 한정되지 않으므로, 제1공개값(DHA)은 제1연산값(ya)만을 포함하는 것도 가능하다.Accordingly, the second device 100b decrypts the 1-1 encryption message with the temporary key K A to extract prime numbers p and base g, and transmits the decrypted data to the first device 100a in step S420 It is possible to verify the first device 100a by comparing it with the prime number p and the base g. However, since the present invention is not limited to this, it is also possible that the first disclosure value DH A includes only the first calculated value y a .

다음으로, 제1기기(100a)는 제1개인값(xa) 및 제2-2공개값(DHB2)을 이용하여 비밀키(KAB)를 생성하고(S600), 제2기기(100b)는 제2개인값(xb) 및 제1공개값(DHA)을 이용하여 비밀키(KAB)를 생성한다(S700).Next, the first device 100a generates the secret key K AB using the first private value x a and the second public value DH B2 (S600), and the second device 100b Generates a secret key K AB using the second private value x b and the first public value DH A at step S700.

제1기기(100a)는 소수(p), 제1개인값(xa), 및 제2연산값(yb)을 지수승을 포함한 mod 함수로 연산하여 비밀키(KAB)를 생성할 수 있다. 이에 따라, 제1기기(100a)는 아래의 수학식 3에 따라 비밀키(KAB)를 생성할 수 있다.The first device 100a can generate the secret key K AB by computing the prime number p, the first private value x a , and the second calculated value y b with a mod function including exponentiation have. Accordingly, the first device 100a can generate the secret key K AB according to the following equation (3).

Figure 112017081122747-pat00003
Figure 112017081122747-pat00003

마찬가지로, 제2기기(100b)는 소수(p), 제2개인값(xb), 및 제1연산값(ya)을 지수승을 포함한 mod 함수로 연산하여 비밀키(KAB)를 생성할 수 있다. 이에 따라, 제2기기(100b)는 아래의 수학식 4에 따라 비밀키(KAB)를 생성할 수 있다.Similarly, the second device 100b generates a secret key (K AB ) by calculating a prime number (p), a second individual value (x b ), and a first calculated value (y a ) can do. Accordingly, the second device 100b can generate the secret key K AB according to the following equation (4).

Figure 112017081122747-pat00004
Figure 112017081122747-pat00004

상기와 같은 과정을 통해 제1기기(100a) 및 제2기기(100b)는 동일한 비밀키(KAB)를 공유하게 된다.Through the above process, the first device 100a and the second device 100b share the same secret key K AB .

한편, 도 4에서는 DH(Diffie-Hellman) 알고리즘 방식을 통해 처음 연결되는 제1기기(100a) 및 제2기기(100b)가 비밀키(KAB)를 획득하는 예를 들었으며, 이는 공지된 기술이므로 비밀키를 공유하는 과정에 대한 더욱 구체적인 설명은 생략하기로 한다. 다만, 본 발명은 이에 한정되지 않으므로 처음 연결되는 제1기기(100a) 및 제2기기(100b)가 비밀키를 공유할 수 있는 알고리즘은 무엇이든 이용할 수 있다고 할 것이다.In FIG. 4, the first device 100a and the second device 100b, which are initially connected through a DH (Diffie-Hellman) algorithm, obtain an example of a secret key K AB , The detailed description of the process of sharing the secret key will be omitted. However, since the present invention is not limited to this, any algorithm can be used so that the first device 100a and the second device 100b, which are initially connected, can share the secret key.

또한, 도 4에서는 제2기기(100b)가 소수(p) 및 베이스(g)를 결정하여 제2-2공개값(DHB)에 포함시켜 제1기기(100a)로 송신하는 것으로 도시하였으나, 본 발명은 이에 한정되지 않으므로 제1기기(100a)가 소수(p) 및 베이스(g)를 결정하고, 이를 제1공개값(DHA)에 포함시켜 제2기기(100b)로 송신하는 것도 가능하다.4, the second device 100b decides the prime number p and the base g and transmits the decoded data to the first device 100a in the second-2 disclosure value DH B , the invention thereto is not limited to the first device (100a) determining a prime number (p) and a base (g), by including it in the first public value (DH a) can be sent to the second unit (100b) Do.

한편, 도 4를 통해 설명한 비밀키 생성 방법은 도 3의 단계 S281 및 S282에서 보조키를 생성하는 과정에도 동일하게 적용될 수 있다.Meanwhile, the secret key generation method illustrated in FIG. 4 may be applied to the process of generating the auxiliary key in steps S281 and S282 of FIG.

다시, 도 2를 참조하면, S400 및 S500에서 제1-1암호화 메시지에는 제1기기(100a)의 제1아이디(IDA)가 더 포함되고, 제1-2암호화 메시지에는 제2기기(100b)의 제2아이디(IDB)가 더 포함될 수 있다.Referring back to FIG. 2, in step S400 and step S500, a first ID (ID A ) of the first device 100a is further included in the first encryption message, and a second ID 100b (ID B ) may be further included.

이 경우, 제1기기(100a)는 상기 제2아이디(IDB)에 비밀키(KAB)를 매칭하여 저장하고, 제2기기(100b)는 상기 제1아이디(IDA)에 비밀키(KAB)를 매칭하여 저장할 수 있다. 이에 따라, 제1기기(100a) 및 제2기기(100b)는 복수개의 기기에 대해 각각 비밀키를 생성하고, 이들을 각 기기의 아이디에 매칭하여 저장함으로써, 복수개의 기기와 각각 암호화된 통신을 수행할 수 있다.In this case, the first device 100a matches and stores the secret key K AB in the second ID (ID B ), and the second device 100b stores the secret key K AB in the first ID (ID A ) K AB ) can be stored and matched. Accordingly, the first device 100a and the second device 100b generate secret keys for a plurality of devices, respectively, and store them in a manner matching with the IDs of the devices, thereby performing encrypted communication with the plurality of devices can do.

상기의 과정을 통해 제1기기(100a) 및 제2기기(100b)는 암호화된 통신을 수행하기 위한 비밀키(KAB)를 생성하게 되고, 본 발명의 실시예에서는 생성한 비밀키(KAB)가 정당한 기기와의 통신을 통해 생성된 것인지 검증할 수 있다.Over the course of the first unit (100a) and the second unit (100b) is one, and generates a secret key (K AB) for performing an encrypted communication, generated in the exemplary embodiment of the present invention, the secret key (K AB ) Is generated through communication with a legitimate device.

이를 위해, S400 및 S500에서 제1-1암호화 메시지에는 제1기기(100a)에 의해 생성된 제1랜덤값(RA)이 더 포함되고, 제1-2암호화 메시지에는 제2기기(100b)에 의해 생성된 제2-2랜덤값(RB2)이 더 포함될 수 있다.To this end, in step S400 and step S500, the 1-1 encryption message further includes a first random value R A generated by the first device 100a, and the 1-2 encryption message includes the second device 100b, And a second -2 random value R B2 generated by the second random value R B2 .

그리고, 제2기기(100b)는 제1공개값(DHA), 제2-2공개값(DHB2), 및 제1랜덤값(RA)을 해쉬 연산한 제5해쉬값을 비밀키(KAB)로 암호화하고, 암호화하여 생성된 제3-1암호화 메시지를 제1기기(100a)로 송신한다(S800).The second device 100b transmits a fifth hash value obtained by performing a hash operation on the first public value DH A , the second public value DH B2 , and the first random value R A to the secret key K AB ), and transmits the generated 3-1 encryption message to the first device 100a (S800).

다음으로, 제1기기(100a)는 비밀키(KAB)로 제3-1암호화 메시지를 복호화하여 제5해쉬값을 획득하고, 제5해쉬값 및 제2-2랜덤값(RB2)을 해쉬 연산한 제6해쉬값을 비밀키(KAB)로 암호화하고, 암호화하여 생성된 제3-2암호화 메시지를 제2기기(100b)로 송신한다(S900).Next, the first device 100a decrypts the 3-1 encrypting message with the secret key K AB to obtain the fifth hash value, and outputs the fifth hash value and the 2-2 random value R B2 And encrypts the sixth hash value calculated by the hash operation with the secret key K AB and transmits the generated third-second encryption message to the second device 100b (S900).

단계 S800 및 S900에서 제1기기(100a) 및 제2기기(100b)는 각 해쉬값을 연산하기 위한 해쉬 함수를 미리 공유하고 있을 수 있다. In steps S800 and S900, the first device 100a and the second device 100b may previously share a hash function for calculating the respective hash values.

다음으로, 제1기기(100a)는 제3-1암호화 메시지에 포함된 제5해쉬값에 기초하여 비밀키(KAB)를 검증하고(S1000), 제2기기(100b)는 제3-2암호화 메시지에 포함된 제6해쉬값에 기초하여 비밀키(KAB)를 검증한다(S1100).Next, the first device 100a verifies the secret key K AB (S1000) based on the fifth hash value included in the third-1 encryption message, and the second device 100b verifies the secret key K AB It verifies the secret key (K AB) on the basis of a sixth hash value contained in the encrypted message (S1100).

예컨대, 제1기기(100a)는 제1공개값(DHA), 제2-2공개값(DHB2), 및 제1랜덤값(RA)을 직접 해쉬 연산하고, 제3-1암호화 메시지를 비밀키(KAB)로 복호화하여 획득된 제5해쉬값을 상기 연산된 값과 비교하여 비밀키(KAB)를 검증할 수 있다.For example, the first device 100a directly hash-computes the first public value DH A , the second-second public value DH B2 , and the first random value R A , May be decrypted with the secret key (K AB ), and the obtained fifth hash value may be compared with the calculated value to verify the secret key (K AB ).

마찬가지로, 제2기기(100b)는 단계 S800에서 생성한 제1해쉬값, 및 제2-2랜덤값(RB2)을 직접 해쉬 연산하고, 제3-2암호화 메시지를 비밀키(KAB)로 복호화하여 획득된 제6해쉬값을 상기 연산된 값과 비교하여 비밀키(KAB)를 검증할 수 있다.Similarly, the second device 100b directly hash-computes the first hash value and the second-2 random value R B2 generated in step S800, and encrypts the third-2 encryption message with the secret key K AB And compare the sixth hash value obtained by decoding with the calculated value to verify the secret key (K AB ).

이와 같이, 본 발명의 실시예에 따르면, 사물인터넷 환경에서 동작하는 기기들이 처음 연결될 때, 각 기기가 안전하게 임시키를 공유하도록 하고, 임시키를 통해 비밀키 생성에 필요한 정보를 송수신함으로써, 중간자 공격으로부터 안전한 비밀키를 생성할 수 있다.As described above, according to the embodiment of the present invention, when the devices operating in the object-internet environment are connected for the first time, each device can securely share the temporary key, and information necessary for generating the secret key can be transmitted and received through the temporary key, A secure private key can be generated.

또한, 본 발명의 실시예에 따르면, 각 기기가 사용자 단말을 매개체로 대역외 채널을 통해 통신하도록 함으로써, 각 기기는 대역외 채널에서 이용하는 매체가 다른 경우에도 별도의 입출력 인터페이스 추가없이 통신하고, 각 기기가 상대 기기의 대역외 채널의 통신 범위를 벗어난 경우에도 통신할 수 있다.Further, according to the embodiment of the present invention, each device communicates with the user terminal via the out-of-band channel as an intermediary, so that each device communicates without adding a separate input / output interface even when the medium used in the out- It is possible to communicate even when the device is outside the communication range of the out-of-band channel of the external device.

도 5는 본 발명의 다른 실시예에 따른 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법의 구현 과정을 개략적으로 나타내는 플로우차트이다.FIG. 5 is a flow chart schematically illustrating an implementation procedure of a secret key setting method between the object Internet lightweight devices using different security and different out-of-band channels according to another embodiment of the present invention.

본 발명의 다른 실시예에 따른 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법은, 생성된 비밀키(KAB)를 검증하는 과정을 제외하고는 도 2에 도시된 비밀키 설정 방법과 동일하다. 따라서, 동일한 단계에 대해서는 동일한 도면 부호를 부여하였으며, 중복되는 내용의 설명은 생략하기로 한다.The secret key setting method between the object Internet lightweight devices using different security and different out-of-band channels according to another embodiment of the present invention is the same as that of FIG. 2 except for the process of verifying the generated secret key (K AB ) Is the same as the secret key setting method shown in FIG. Accordingly, the same steps are denoted by the same reference numerals, and a duplicate description thereof will be omitted.

제1기기(100a) 및 제2기기(100b)는 단계 S100 내지 S700을 통해 비밀키(KAB)를 각각 생성한다.The first device 100a and the second device 100b respectively generate the secret key K AB through steps S100 to S700.

다음으로, 제1기기(100a)는 제1공개값(DHA), 제2-2공개값(DHB2), 및 제2-2랜덤값(RB2)을 해쉬 연산한 제5해쉬값을 비밀키(KAB)로 암호화하고, 암호화하여 생성된 제3-1암호화 메시지를 제2기기(100b)로 송신한다(S810).Next, the first device 100a calculates a fifth hash value obtained by performing a hash calculation on the first public value DH A , the second-second public value DH B2 , and the second-second random value R B2 Encrypts it with the secret key K AB , encrypts it, and transmits the generated 3-1 encryption message to the second device 100b (S810).

다음으로, 제2기기(100b)는 비밀키(KAB)로 제3-1암호화 메시지를 복호화하여 제5해쉬값을 획득하고, 제5해쉬값 및 제1랜덤값(RA)을 해쉬 연산한 제6해쉬값을 비밀키(KAB)로 암호화하고, 암호화하여 생성된 제3-2암호화 메시지를 제1기기(100a)로 송신한다(S910).Next, the second device 100b decrypts the 3-1 encrypting message with the secret key K AB to obtain the fifth hash value, and outputs the fifth hash value and the first random value R A to the hash calculation Encrypts the sixth hash value with the secret key K AB , encrypts the sixth hash value, and transmits the generated third-second encryption message to the first device 100a (S910).

다음으로, 제1기기(100a)는 제3-2암호화 메시지에 포함된 제6해쉬값에 기초하여 비밀키(KAB)를 검증하고(S1010), 제2기기(100b)는 제3-1암호화 메시지에 포함된 제5해쉬값에 기초하여 비밀키(KAB)를 검증한다(S1110).Next, the first device 100a verifies the secret key K AB based on the sixth hash value included in the third-2 encryption message (S1010), and the second device 100b verifies the secret key K AB The secret key (K AB ) is verified based on the fifth hash value included in the encryption message (S 1110).

예컨대, 제1기기(100a)는 단계 S810에서 생성한 제1해쉬값, 및 제1랜덤값(RA)을 직접 해쉬 연산하고, 제3-2암호화 메시지를 비밀키(KAB)로 복호화하여 획득된 제6해쉬값을 상기 연산된 값과 비교하여 비밀키(KAB)를 검증할 수 있다.For example, the first device 100a directly hash-computes the first hash value and the first random value R A generated in step S810, and decodes the third-2 encryption message into the secret key K AB And compare the obtained sixth hash value with the calculated value to verify the secret key (K AB ).

마찬가지로, 제2기기(100b)는 제1공개값(DHA), 제2-2공개값(DHB2), 및 제2-2랜덤값(RB2)을 직접 해쉬 연산하고, 제3-1암호화 메시지를 비밀키(KAB)로 복호화하여 획득된 제5해쉬값을 상기 연산된 값과 비교하여 비밀키(KAB)를 검증할 수 있다.Similarly, the second device 100b directly hash-computes the first public value DH A , the second-second public value DH B2 , and the second-second random value R B2 , as compared to the calculated hash value obtained by the fifth decoding the encrypted message to a secret key (K AB) value can verify the secret key (K AB).

본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.It will be understood by those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: 기기 100a: 제1기기
100b: 제2기기 200: 사용자 단말
100: device 100a: first device
100b: second device 200: user terminal

Claims (13)

사물인터넷(Internet of Things, IoT) 환경에서 동작하는 제1기기가 제1대역외 채널(Out-of-band)을 이용하여 사용자 단말로 임시키를 송신하는 단계;
상기 사물인터넷 환경에서 동작하는 제2기기가 제1대역내 채널(In-band)을 이용하여 상기 사용자 단말로부터 상기 임시키를 수신하는 단계;
상기 제1기기 및 상기 제2기기가 비밀키를 생성하기 위한 각각의 공개값을 상기 임시키로 암호화한 제1암호화 메시지를 제2대역내 채널을 통해 공유하는 단계; 및
상기 제1기기 및 상기 제2기기가 상기 제1암호화 메시지에 포함된 각각의 공개값을 이용하여 동일한 비밀키를 생성하는 단계를 포함하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
A first device operating in an Internet of Things (IoT) environment transmits a temporary key to a user terminal using a first out-of-band channel;
Receiving a temporary key from the user terminal using a first in-band channel, the second device operating in the Internet environment;
The first device and the second device sharing a first encryption message encrypted with the temporary key for each public value for generating a secret key through a second in-band channel; And
Wherein the first device and the second device generate the same secret key using the respective public values contained in the first encryption message. How to set the secret key between devices.
제1항에 있어서,
상기 임시키를 수신하는 단계 전에,
상기 제2기기가 상기 사용자 단말과의 암호화된 통신을 위한 보조키를 생성하는 단계를 더 포함하고,
상기 제2기기는 상기 보조키로 암호화된 임시키를 수신하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
The method according to claim 1,
Before receiving the temporary key,
Further comprising the step of the second device generating an assistance key for encrypted communication with the user terminal,
Wherein the second device receives a temporary key encrypted with the auxiliary key, wherein the second device uses a different security and a different out-of-band channel.
제2항에 있어서,
상기 보조키를 생성하는 단계는,
상기 제2기기가 제2대역외 채널을 통해 상기 사용자 단말로부터 상기 사용자 단말에 의해 생성된 보조 공개값과 보조 랜덤값을 해쉬 연산한 제1해쉬값을 수신하는 단계;
상기 제2기기가 상기 제1대역내 채널을 통해 상기 사용자 단말로부터 상기 보조 공개값을 수신하는 단계;
상기 제2기기가 상기 제2대역외 채널을 통해 상기 사용자 단말로부터 상기 보조 랜덤값을 수신하는 단계; 및
상기 제2기기가 상기 보조 공개값 및 상기 보조 랜덤값을 해쉬 연산하여 연산된 값이 상기 제1해쉬값과 일치하면 상기 보조 공개값을 이용하여 상기 보조키를 생성하는 단계를 포함하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
3. The method of claim 2,
Wherein the generating the auxiliary key comprises:
Receiving, by the second device, a first hash value obtained by performing a hash calculation of an assistant disclosure value and an assistant random value generated by the user terminal from the user terminal through a second out-of-band channel;
The second device receiving the assist disclosure value from the user terminal via the first in-band channel;
The second device receiving the auxiliary random value from the user terminal over the second out-of-band channel; And
And generating the auxiliary key using the sub public value when the second device hash calculated the sub public value and the auxiliary random value and the calculated value matches the first hash value, A method of setting a secret key between an object and a lightweight device using different security and different out-of-band channels.
제3항에 있어서,
상기 보조키를 생성하는 단계는,
상기 제2기기가 상기 사용자 단말이 보조키를 생성할 수 있도록 상기 사용자 단말로 상기 보조키를 생성하기 위한 정보를 송신하는 단계를 더 포함하되,
상기 보조키를 생성하기 위한 정보를 송신하는 단계는,
상기 제2기기가 상기 제2대역외 채널을 통해 상기 사용자 단말로 상기 제2기기에 의해 생성된 제2-1공개값과 제2-1랜덤값을 해쉬 연산한 제2해쉬값을 송신하는 단계;
상기 제2기기가 상기 제1대역내 채널을 통해 상기 사용자 단말로 상기 제2-1공개값을 송신하는 단계; 및
상기 제2기기가 상기 제2대역외 채널을 통해 상기 사용자 단말로 상기 제2-1랜덤값을 송신하는 단계를 더 포함하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
The method of claim 3,
Wherein the generating the auxiliary key comprises:
Further comprising the step of the second device transmitting information for generating the auxiliary key to the user terminal so that the user terminal can generate the auxiliary key,
Wherein the transmitting the information for generating the auxiliary key comprises:
The second device transmits a second hash value obtained by performing a hash calculation of a 2-1 public value and a 2-1 random value generated by the second device to the user terminal via the second out-of-band channel ;
The second device transmitting the second -1 disclosure value to the user terminal via the first in-band channel; And
Further comprising the step of the second device transmitting the second-1 random value to the user terminal via the second out-of-band channel. How to set secret key between lightweight devices.
제4항에 있어서,
상기 보조키를 생성한 이후, 상기 제2기기가 상기 보조 랜덤값을 이용하여 상기 보조키를 검증하는 단계를 더 포함하되,
상기 보조키를 검증하는 단계는,
상기 제2기기가 상기 제2-1공개값, 상기 보조 공개값 및 상기 보조 랜덤값을 해쉬 연산한 제3해쉬값을 상기 보조키로 암호화하여 생성된 제2-1암호화 메시지를 상기 사용자 단말로 송신하는 단계;
상기 제2기기가 상기 제3해쉬값 및 상기 제2-1랜덤값을 해쉬 연산한 제4해쉬값을 상기 보조키로 암호화하여 생성된 제2-2암호화 메시지를 상기 사용자 단말로부터 수신하는 단계; 및
상기 제2기기가 상기 제3해쉬값 및 상기 제2-1랜덤값을 해쉬 연산하여 연산된 값을 상기 제4해쉬값과 비교하여 상기 보조키를 검증하는 단계를 포함하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
5. The method of claim 4,
Further comprising: after generating the auxiliary key, the second device verifying the auxiliary key using the auxiliary random value,
Wherein the verifying the modifying key comprises:
The second device transmits a second-1 encryption message generated by encrypting the third hash value obtained by hashing the second-1 public value, the auxiliary public value, and the auxiliary random value with the auxiliary key to the user terminal ;
Receiving from the user terminal a second-2 encryption message generated by encrypting the fourth hash value obtained by hashing the third hash value and the second-1 random value with the auxiliary key by the second device; And
And verifying the auxiliary key by comparing the computed value of the third hash value and the second -1 random value with the fourth hash value by the second device. A method for establishing a secret key between an object and a lightweight device using security and different out - of - band channels.
제5항에 있어서,
상기 제2-2암호화 메시지에는 상기 제4해쉬값 및 상기 임시키가 포함되고,
상기 제2기기는 상기 보조키가 검증되면 상기 임시키로 상기 제1암호화 메시지를 생성하여 상기 제1기기와 공유하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
6. The method of claim 5,
The second-2 encryption message includes the fourth hash value and the temporary key,
Wherein the second device generates the first encryption message with the temporary key and shares the first encrypted message with the first device when the auxiliary key is verified. To set the secret key.
제3항에 있어서,
상기 제1해쉬값은, 상기 보조 공개값 및 상기 보조 랜덤값이 미리 설정된 해쉬 함수로 해쉬 연산되고, 상기 연산 결과를 소정 길이로 절단(truncation)하여 획득된 값인 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
The method of claim 3,
Wherein the first hash value is a value obtained by hashing the auxiliary disclosure value and the auxiliary random value with a predetermined hash function and truncating the operation result to a predetermined length. A method for setting a secret key between an object and an Internet lightweight device using a different out - of - band channel.
제2항에 있어서,
상기 제1기기는 제1매체를 이용하는 상기 제1대역외 채널을 통해 상기 사용자 단말로 상기 임시키를 송신하고,
상기 제2기기는 상기 제1매체와 다른 제2매체를 이용하는 제2대역외 채널 및 상기 제1대역내 채널을 통해 상기 보조키를 생성하되,
상기 제1대역외 채널의 안전도는 상기 제2대역외 채널의 안전도 보다 강한 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
3. The method of claim 2,
The first device transmits the temporary key to the user terminal via the first out-of-band channel using the first medium,
Wherein the second device generates the auxiliary key through a second out-of-band channel and a first in-band channel using a second medium different from the first medium,
Wherein the security of the first out-of-band channel is stronger than the security of the second out-of-band channel.
제1항에 있어서,
상기 제1암호화 메시지는 상기 제1기기가 상기 제1기기에 의해 생성된 제1공개값을 암호화한 제1-1암호화 메시지, 및 상기 제2기기가 상기 제2기기에 의해 생성된 제2-2공개값을 암호화한 제1-2암호화 메시지를 포함하고,
상기 제1-1암호화 메시지에는 상기 제1기기의 제1아이디가 더 포함되고,
상기 제1-2암호화 메시지에는 상기 제2기기의 제2아이디가 더 포함되고,
상기 제1기기 및 상기 제2기기는 상대방의 아이디에 상기 비밀키를 매칭하여 저장하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
The method according to claim 1,
Wherein the first encryption message includes a first encryption message in which the first device encrypts the first public value generated by the first device and a second encryption message in which the second device encrypts the second public value generated by the second device, 2 < / RTI > encryption message,
Wherein the first encryption message further includes a first ID of the first device,
Wherein the second ID message further includes a second ID of the second device,
Wherein the first device and the second device match the secret key with the ID of the other party and store the same.
제1항에 있어서,
상기 제1암호화 메시지는 상기 제1기기가 상기 제1기기에 의해 생성된 제1공개값을 암호화한 제1-1암호화 메시지, 및 상기 제2기기가 상기 제2기기에 의해 생성된 제2-2공개값을 암호화한 제1-2암호화 메시지를 포함하고,
상기 제1-1암호화 메시지에는 상기 제1기기에 의해 생성된 제1랜덤값이 더 포함되고,
상기 제1-2암호화 메시지에는 상기 제2기기에 의해 생성된 제2-2랜덤값이 더 포함되고,
상기 비밀키를 생성한 이후, 상기 제1기기 및 상기 제2기기가 상기 각각의 랜덤값을 이용하여 상기 비밀키를 검증하는 단계를 더 포함하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
The method according to claim 1,
Wherein the first encryption message includes a first encryption message in which the first device encrypts the first public value generated by the first device and a second encryption message in which the second device encrypts the second public value generated by the second device, 2 < / RTI > encryption message,
Wherein the first encryption message further includes a first random value generated by the first device,
Wherein the second encryption message further includes a second random value generated by the second device,
Further comprising verifying the secret key using the respective random values after the first device and the second device generate the secret key. ≪ RTI ID = 0.0 > How to set a secret key between an Internet lightweight device.
제10항에 있어서,
상기 비밀키를 검증하는 단계는,
상기 제2기기가 상기 제1공개값, 상기 제2-2공개값 및 상기 제1랜덤값을 해쉬 연산한 제5해쉬값을 상기 비밀키로 암호화하여 생성된 제3-1암호화 메시지를 상기 제1기기로 송신하는 단계;
상기 제1기기가 상기 제3-1암호화 메시지를 복호화하여 획득된 상기 제5해쉬값 및 상기 제2기기의 제2-2랜덤값을 해쉬 연산한 제6해쉬값을 상기 비밀키로 암호화하여 생성된 제3-2암호화 메시지를 상기 제2기기로 송신하는 단계; 및
상기 제1기기가 상기 제1공개값, 상기 제2-2공개값 및 상기 제1랜덤값을 해쉬 연산하여 연산된 값을 상기 제5해쉬값과 비교하여 상기 비밀키를 검증하고, 상기 제2기기가 상기 제5해쉬값 및 상기 제2-2랜덤값을 해쉬 연산하여 연산된 값을 상기 제6해쉬값과 비교하여 상기 비밀키를 검증하는 단계를 포함하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
11. The method of claim 10,
Wherein the verifying the secret key comprises:
The second device encrypts the third public key, the second public value, and the fifth random number by using the secret key to encrypt the fifth public key, the second public value, and the first random value, Transmitting to the device;
The first device encrypts the fifth hash value obtained by decoding the third-1 encryption message and the sixth hash value obtained by performing a hash calculation on the second-2 random value of the second device with the secret key, Transmitting a 3-2 encryption message to the second device; And
The first device verifies the secret key by comparing the calculated value by performing a hash operation on the first disclosure value, the second public value, and the first random value with the fifth hash value, And comparing the calculated hash value of the fifth hash value and the second hash value with the sixth hash value to verify the secret key. A method for setting a secret key between an object and an Internet lightweight device using a different out - of - band channel.
제1항에 있어서,
상기 비밀키를 생성하는 단계에서,
상기 제1기기 및 상기 제2기기는 서로 공유하지 않는 비밀값을 이용하는 알고리즘에 기초하여 상기 비밀키를 생성하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
The method according to claim 1,
In the step of generating the secret key,
Wherein the first device and the second device generate the secret key based on an algorithm that uses a secret value that is not shared by the first device and the second device. How to set the secret key.
제12항에 있어서,
상기 공개값은 상기 제1기기에 의해 생성된 제1공개값 및 상기 제2기기에 의해 생성된 제2-2공개값을 포함하되, 상기 제1공개값은 기 설정된 소수, 기 설정된 베이스, 및 상기 제1기기의 제1개인값이 미리 설정된 연산자를 통해 연산된 제1연산값과, 상기 소수, 및 상기 베이스를 포함하고, 상기 제2-2공개값은 상기 소수, 상기 베이스, 및 상기 제2기기의 제2-2개인값이 상기 연산자를 통해 연산된 제2-2연산값과, 상기 소수, 및 상기 베이스를 포함하고,
상기 비밀키를 생성하는 단계에서,
상기 제1기기는, 상기 제2-2공개값에 포함된 상기 제2-2연산값, 상기 소수, 및 상기 제1개인값을 상기 연산자를 통해 연산하여 상기 비밀키를 생성하고,
상기 제2기기는, 상기 제1공개값에 포함된 상기 제1연산값, 상기 소수, 및 상기 제2-2개인값을 상기 연산자를 통해 연산하여 상기 비밀키를 생성하는 것을 특징으로 하는 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법.
13. The method of claim 12,
Wherein the public value comprises a first public value generated by the first device and a second public value generated by the second device, wherein the first public value comprises a predetermined prime number, a predetermined base, and Wherein the first private value of the first device comprises a first computed value computed through a predefined operator, the prime number, and the base, and the second 2-2 public value comprises the prime number, the base, 2 < / RTI > device has a second-2 operation value computed through the operator, the prime number, and the base,
In the step of generating the secret key,
Wherein the first device generates the secret key by calculating the second-2 operation value, the prime number, and the first private value included in the second -2 disclosure value through the operator,
Wherein the second device generates the secret key by operating the first calculation value, the prime number, and the second 2-2 individual value included in the first disclosure value through the operator A method for establishing a secret key between an object and a lightweight device using security and different out - of - band channels.
KR1020170106077A 2017-08-22 2017-08-22 Method for setting secure key between lightweight devices in internet of things using different secure strength and different out-of-band channel KR101976583B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170106077A KR101976583B1 (en) 2017-08-22 2017-08-22 Method for setting secure key between lightweight devices in internet of things using different secure strength and different out-of-band channel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170106077A KR101976583B1 (en) 2017-08-22 2017-08-22 Method for setting secure key between lightweight devices in internet of things using different secure strength and different out-of-band channel

Publications (2)

Publication Number Publication Date
KR20190021022A KR20190021022A (en) 2019-03-05
KR101976583B1 true KR101976583B1 (en) 2019-05-09

Family

ID=65760562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170106077A KR101976583B1 (en) 2017-08-22 2017-08-22 Method for setting secure key between lightweight devices in internet of things using different secure strength and different out-of-band channel

Country Status (1)

Country Link
KR (1) KR101976583B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102311996B1 (en) * 2020-04-02 2021-10-13 국민대학교산학협력단 Device and method for anti-forensic unlocking for media files

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101301609B1 (en) 2012-05-31 2013-08-29 서울대학교산학협력단 Apparatus and method for generating secret key, and recording medium storing program for executing method of the same in computer

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102457809B1 (en) * 2014-09-24 2022-10-24 삼성전자주식회사 Method, Apparatus and System of Security of Data Communication
KR101688118B1 (en) * 2015-05-13 2016-12-22 주식회사 퓨쳐시스템 Security communication apparatus of internet of things environment and method thereof
KR102507113B1 (en) * 2015-07-06 2023-03-07 삼성전자주식회사 Method, Appratus and System of Monitoring Supporting for Encrypted Communication Session
KR101762013B1 (en) * 2015-09-25 2017-07-26 덕성여자대학교 산학협력단 Method for registering device and setting secret key using two factor communacation channel

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101301609B1 (en) 2012-05-31 2013-08-29 서울대학교산학협력단 Apparatus and method for generating secret key, and recording medium storing program for executing method of the same in computer

Also Published As

Publication number Publication date
KR20190021022A (en) 2019-03-05

Similar Documents

Publication Publication Date Title
CN107948189B (en) Asymmetric password identity authentication method and device, computer equipment and storage medium
CN110268676B (en) Private key calculation system and method for identity-based self-authentication signature scheme
CN112740733B (en) Secure access method and device
CN108199835B (en) Multi-party combined private key decryption method
KR101095239B1 (en) Secure communications
US20050125670A1 (en) Method for establishing a communication between two devices
EP1473899A1 (en) Security in a communications network
CN105704113A (en) Hearing device with communication protection and related method
CN106330857A (en) Client device with certificate and related method
KR20080058460A (en) System, method and computer program product for authenticating a data agreement between network entities
CN110635901B (en) Local Bluetooth dynamic authentication method and system for Internet of things equipment
CN110402560B (en) System and method for computing public session keys in identity-based authenticated key exchange scheme with forward security
CN111342955B (en) Communication method and device and computer storage medium
CN106127079A (en) A kind of data sharing method and device
KR20210139344A (en) Methods and devices for performing data-driven activities
CN105790942A (en) Method and system for secure call and terminals
US10681038B1 (en) Systems and methods for efficient password based public key authentication
CN109962924B (en) Group chat construction method, group message sending method, group message receiving method and system
KR101976583B1 (en) Method for setting secure key between lightweight devices in internet of things using different secure strength and different out-of-band channel
CN108011856A (en) A kind of method and apparatus for transmitting data
CN108075896A (en) Use the system and method for the cryptography structure Self-certified message based on mark
WO2022135394A1 (en) Identity authentication method and apparatus, storage medium, program, and program product
KR101987848B1 (en) Method for setting secure key between devices using different out-of-band channel in internet of things environment
JP5125682B2 (en) Key sharing system
KR101987843B1 (en) Method for setting secure key based on secure strength of out-of-band channel between devices in internet of things environment

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
GRNT Written decision to grant