KR102293195B1 - IoT security system according to network hierarchy structure - Google Patents

IoT security system according to network hierarchy structure Download PDF

Info

Publication number
KR102293195B1
KR102293195B1 KR1020200065328A KR20200065328A KR102293195B1 KR 102293195 B1 KR102293195 B1 KR 102293195B1 KR 1020200065328 A KR1020200065328 A KR 1020200065328A KR 20200065328 A KR20200065328 A KR 20200065328A KR 102293195 B1 KR102293195 B1 KR 102293195B1
Authority
KR
South Korea
Prior art keywords
iot device
address
iot
packet
virtual
Prior art date
Application number
KR1020200065328A
Other languages
Korean (ko)
Other versions
KR102293195B9 (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 가톨릭대학교 산학협력단
Application granted granted Critical
Publication of KR102293195B1 publication Critical patent/KR102293195B1/en
Publication of KR102293195B9 publication Critical patent/KR102293195B9/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2539Hiding addresses; Keeping addresses anonymous
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

The present invention relates to an internet of things (IoT) security system according to a hierarchical network structure. According to the present invention, the IoT security system comprises: a plurality of IoT devices transmitting/receiving packets generated while being connected to a subnetwork and generating a secret value not disclosed to the outside and a public value used in place of the secret value; a gatekeeper generating entry information by using the public values received from the plurality of IoT devices as an index, allocating the generated entry information to the plurality of IoT devices, performing verification on the packets received from the plurality of IoT devices, and changing an IP address of the IoT device included in a header of the verified packet from a real IP address to a virtual IP address to transmit the changed IP address to the IoT device; and an Internet server registering an identification name, public value, and virtual IP address received from the plurality of IoT devices, connecting communications between the IoT device and other IoT devices by providing the registered public value and virtual IP address to the IoT device to communicate with. Accordingly, when an IoT device is operated, authentication and communications of IoT devices can be provided even without a certificate requiring a secondary certification authority or a public key algorithm requiring a large computational amount.

Description

네트워크 계층 구조에 따른 사물인터넷 보안 시스템{IoT security system according to network hierarchy structure}Internet of Things security system according to network hierarchy structure

본 발명은 네트워크 계층 구조에 따른 사물인터넷 보안 시스템에 관한 것으로서, 더욱 상세하게는 실재 IP 주소와 가상 IP 주소를 변환하는 네트워크 계층(계층 3)의 보안기술과 대칭키를 교환하는 응용계층(계층 5)의 보안기술을 상호 융합하여 사물인터넷 장치를 안전하게 보호할 수 있는 사물인터넷 보안 시스템에 관한 것이다. The present invention relates to an IoT security system according to a network hierarchical structure, and more particularly, to an application layer (layer 5) that exchanges a symmetric key with a security technology of a network layer (layer 3) that converts a real IP address and a virtual IP address ), it relates to an IoT security system that can safely protect IoT devices by fusion of security technologies.

사물 인터넷 장치를 위한 종단간(End-to-End) 보안 기술은 네트워크 계층 구조에 따라 네트워크 계층 (계층 3), 전달계층 (계층 4) 및 응용계층 (계층 5)에서의 보안 기술로 나뉘어진다. End-to-end security technology for IoT devices is divided into security technology in the network layer (layer 3), transport layer (layer 4), and application layer (layer 5) according to the network layer structure.

먼저 네트워크 계층, 즉 계층 3에서는 인터넷 프로토콜 통신보안(IP security protocol, IPSec)을 이용하여 보안성을 제공한다. 특히 사물인터넷의 계층 3 프로토콜로 IPv6(internet protocol version 6) 를 사용하도록 권장하고 있고, IPv6를 사용할 때는 IPSec이 강제적으로 사용된다. First, in the network layer, that is, layer 3, security is provided by using the Internet protocol communication security (IP security protocol, IPSec). In particular, it is recommended to use IPv6 (internet protocol version 6) as the layer 3 protocol of the Internet of Things, and IPSec is compulsorily used when IPv6 is used.

IPv6를 사용하는 사물인터넷 장치는 IPSec 의 핵심 기능인 SPD (Security Policy Database) 관리나, 어떤 보안 알고리즘을 사용하고 어떤 비밀키를 사용할 것인지를 나타내는 SA (Security Association)를 관리해야 한다. Internet of Things devices using IPv6 must manage the Security Policy Database (SPD), which is the core function of IPSec, or the SA (Security Association), which indicates which security algorithm to use and which secret key to use.

SPD 관리나 SA 관리는 컴퓨팅 능력이 있는 사용자 단말용으로 개발된 기술이기 때문에 사람이 개입하지 않는 사물인터넷 장치에 적용하기에는 너무 복잡하므로, IPsec 기술을 간략화해야 한다. Since SPD management and SA management are technologies developed for user terminals with computing power, they are too complex to be applied to IoT devices without human intervention. Therefore, IPsec technology should be simplified.

그리고, 전달 계층, 즉 계층 4 단계에서는 SSL (Secure Socket Layer)/TLS(Transport Layer Security)를 이용하여 사물인터넷을 보안 처리한다. 이 기술의 특징은 HTTP 통신이 이루어지기 전 단계에서 SSL 핸드쉐이크(handshake) 포로토콜을 적용하여 HTTP 통신을 안전하게 할 비밀키를 공유한다. And, in the transport layer, that is, layer 4, the Internet of Things is secured using SSL (Secure Socket Layer)/TLS (Transport Layer Security). The feature of this technology is that the secret key to secure HTTP communication is shared by applying the SSL handshake protocol at the stage before HTTP communication is made.

이때, SSL 핸드쉐이크 프로토콜 단계에서는 공개키 인증서(Certificate)를 이용하여 사물인터넷 장치의 보안성을 유지한다. 그러나, 공개키는 알고리즘 및 크기(보통 1024 bit 이용)에 의해 사물인터넷 장치에 적용하기가 쉽지 않다. 또한, 공개키 인증서는 그 자체가 안전한 것인지 아니면 폐기(revocation)된 것인지를 추적하고, 추적된 결과를 사물인터넷 장치에 제공하여야 하나 이는 거의 불가능에 가깝다. In this case, in the SSL handshake protocol step, the security of the IoT device is maintained by using a public key certificate. However, it is not easy to apply the public key to the IoT device due to the algorithm and size (usually using 1024 bits). In addition, the public key certificate must track whether it is secure or revocation, and provide the tracked result to the IoT device, which is almost impossible.

또한, 응용계층, 즉, 계층 5 단계에서는 종단간(End-to-End)에 대칭키를 공유하여 사물인터넷 장치를 보호할 수 있다. 일반적으로 대칭키는 디피 헬먼(Diffie-Hellman) 알고리즘을 이용하여 공유된다. In addition, in the application layer, that is, layer 5, the IoT device can be protected by sharing a symmetric key end-to-end. In general, symmetric keys are shared using the Diffie-Hellman algorithm.

디피 헬먼 알고리즘에 따르면, 양쪽 장치는 자신의 비밀값 대신에 비밀값으로부터 유도된 공개값을 서로 교환하여 공유한다. 그러나, 디피 헬먼 알고리즘은 제 3자가 중간에 끼어들어 서로 교환하는 공개값을 조작하는 공격, 즉 중간자 공격(Man-in-the-Middle, MITM) 공격에 노출될 수 있으므로 장치 간의 인증에 대한 추가적인 보완책이 요구된다. According to the Diffie Hellman algorithm, both devices exchange and share a public value derived from a secret value instead of their own secret value. However, the Diffie Hellman algorithm can be exposed to an attack that manipulates public values exchanged by a third party by intervening in the middle, that is, a man-in-the-middle (MITM) attack. this is required

한편, 사물인터넷(IoT, Internet-of-Things)이나 자율주행 자동차를 위한 통신, 즉, IoT-to-IoT, Vehicle-to-Vehicle(V2V), IoT-to-Vehicle(IoT2V) 또는 Vehicle-to-IoT(V2IoT) 통신의 특징은 기존의 사람 위주의 통신과는 달리 사물이나 기계 관점의 보안성 기술 측면에서 다르게 접근해야 한다. 그런 의미에서 지금까지 사람이 개입하는 인증성이나 비밀성 강화 측면의 기술은 혁신되어야 할 필요가 있다. On the other hand, communication for the Internet of Things (IoT, Internet-of-Things) or autonomous vehicles, that is, IoT-to-IoT, Vehicle-to-Vehicle (V2V), IoT-to-Vehicle (IoT2V) or Vehicle-to - The characteristics of IoT (V2IoT) communication must be approached differently in terms of security technology from the point of view of things or machines, unlike the existing human-oriented communication. In that sense, technology in terms of enhancing authentication or confidentiality that has been intervened by humans so far needs to be innovated.

본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제10-2016-0023368호(2016.03.03. 공개)에 개시되어 있다.The technology underlying the present invention is disclosed in Korean Patent Application Laid-Open No. 10-2016-0023368 (published on March 3, 2016).

본 발명이 이루고자 하는 기술적 과제는, 실재 IP 주소와 가상 IP 주소를 변환하는 네트워크 계층(계층 3)의 보안기술과 대칭키를 교환하는 응용계층(계층 5)의 보안기술을 상호 융합하여 사물인터넷 장치를 안전하게 보호할 수 있는 사물인터넷 보안 시스템을 제공하는데 목적이 있다. The technical problem to be achieved by the present invention is to combine the security technology of the network layer (layer 3) that converts the real IP address and the virtual IP address and the security technology of the application layer (layer 5) that exchanges the symmetric key to create an IoT device It aims to provide an IoT security system that can safely protect

이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따르면 네트워크 계층 구조에 따른 사물인터넷 보안 시스템에 있어서, 서브 네트워크에 접속된 상태에서 생성된 패킷을 송수신하며, 외부에 공개되지 않는 비밀값과, 상기 비밀값을 대신하여 사용되는 공개값을 생성하는 복수의 사물인터넷 장치, 상기 복수의 사물인터넷 장치로부터 수신된 공개값을 인덱스로 하는 엔트리 정보를 생성하고, 생성된 엔트리 정보를 상기 복수의 사물인터넷 장치에게 각각 할당하며, 상기 복수의 사물인터넷 장치로부터 수신된 패킷에 대하여 검증을 수행하고, 검증이 완료된 패킷의 헤더에 포함된 사물인터넷 장치의 IP 주소를 실재 IP주소에서 가상 IP주소로 변경하여 해당 사물인터넷 장치에 전송하는 게이트키퍼, 그리고 상기 복수의 사물인터넷 장치로부터 전달받은 식별명칭, 공개값 및 가상 IP 주소를 등록하고, 등록된 상기 공개값 및 가상 IP 주소를 통신하고자 하는 사물인터넷 장치에 제공하여 사물인터넷 장치와 다른 사물인터넷 장치 사이의 통신을 연결시키는 인터넷 서버를 포함한다. According to an embodiment of the present invention for achieving this technical problem, in an Internet of Things security system according to a network hierarchical structure, packets generated while connected to a subnetwork are transmitted and received, and a secret value that is not disclosed to the outside, and the secret A plurality of IoT devices generating a public value used in place of a value, generating entry information using the public value received from the plurality of IoT devices as an index, and sending the generated entry information to the plurality of IoT devices Allocating each, verifying the packets received from the plurality of IoT devices, changing the IP address of the IoT device included in the header of the verified packet from the real IP address to the virtual IP address, The gatekeeper transmits to the device, and registers the identification name, public value, and virtual IP address received from the plurality of IoT devices, and provides the registered public value and virtual IP address to the IoT device with which to communicate. and an internet server that connects communication between the internet device and other internet of things devices.

상기 사물인터넷 장치는, 장비, 전자기기, 자동자, 드론 및 로봇 중에서 적어도 어느 하나를 포함할 수 있다. The IoT device may include at least any one of equipment, electronic devices, automatic vehicles, drones, and robots.

상기 공개값은, 하기의 수학식으로 통해 산출될 수 있다. The published value may be calculated through the following equation.

Figure 112020055110693-pat00001
Figure 112020055110693-pat00001

여기서,

Figure 112020055110693-pat00002
는 사물인터넷 장치의 공개값이고,
Figure 112020055110693-pat00003
는 사물인터넷 장치의 비밀값이다. here,
Figure 112020055110693-pat00002
is the public value of the IoT device,
Figure 112020055110693-pat00003
is the secret value of the IoT device.

상기 게이트키퍼는, 상기 사물인터넷 장치로부터 전달받은 공개값을 인덱스로 사용하며, 상기 공개값, 실재 IP 주소 및 가상 IP 주소를 포함하는 엔트리 정보를 주소 매핑 테이블 형태로 저장할 수 있다. The gatekeeper may use the public value received from the IoT device as an index, and store entry information including the public value, the real IP address, and the virtual IP address in the form of an address mapping table.

제1 서브 네트워크에 접속되어 있는 제1 사물인터넷 장치가 제2 서브 네트워크에 접속되어 있는 제2 사물인터넷 장치에게 패킷을 전송할 경우, When the first IoT device connected to the first subnetwork transmits a packet to the second IoT device connected to the second subnetwork,

상기 인터넷 서버는, 상기 제1 사물인터넷 장치로부터 전달받은 제2 사물인터넷 장치의 식별명칭과 기 등록된 정보를 비교하여 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 추출하고, 추출된 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 제1 사물인터넷 장치에 전달할 수 있다. The Internet server compares the identification name of the second IoT device received from the first IoT device with previously registered information to extract a public value and a virtual IP address of the second IoT device, and the extracted second The public value and virtual IP address of the IoT device may be transmitted to the first IoT device.

제1 사물인터넷 장치는, 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 수신한 상태에서, 자신의 비밀값을 이용하여 대칭키(

Figure 112020055110693-pat00004
)를 생성하며, 상기 대칭키(
Figure 112020055110693-pat00005
)는 하기의 수학식으로 산출될 수 있다. When the first IoT device receives the public value and the virtual IP address of the second IoT device, the first IoT device uses its own secret value to obtain a symmetric key (
Figure 112020055110693-pat00004
), and the symmetric key (
Figure 112020055110693-pat00005
) can be calculated by the following equation.

Figure 112020055110693-pat00006
Figure 112020055110693-pat00006

여기서,

Figure 112020055110693-pat00007
는 제2 사물인터넷 장치의 공개값을 나타내고,
Figure 112020055110693-pat00008
는 제1 사물인터넷 장치의 비밀값을 나타낸다. here,
Figure 112020055110693-pat00007
represents the public value of the second IoT device,
Figure 112020055110693-pat00008
denotes a secret value of the first IoT device.

상기 제1 사물인터넷 장치는, 상기 산출된 대칭키를 이용하여 송신하고자 하는 패킷의 응용 계층 페이로드 부분을 암호화한 다음, 암호화된 패킷을 제2 사물인터넷 장치에게 전송할 수 있다. The first IoT device may encrypt an application layer payload portion of a packet to be transmitted using the calculated symmetric key, and then transmit the encrypted packet to the second IoT device.

상기 제1 서브 네트워크에 포함된 제1 게이트키퍼는, 상기 저장된 주소 매핑 테이블을 이용하여 상기 패킷의 헤더에 포함된 제1 사물인터넷 장치의 실재 IP 주소를 가상 IP 주소로 변경하고, 변경된 헤더가 포함된 패킷을 상기 제2 사물인터넷 장치가 접속된 제2 게이트키퍼에 전송할 수 있다. The first gatekeeper included in the first subnetwork changes the real IP address of the first IoT device included in the header of the packet to a virtual IP address by using the stored address mapping table, and includes the changed header. The received packet may be transmitted to a second gatekeeper to which the second IoT device is connected.

상기 제2 게이트키퍼는, 상기 수신된 패킷의 헤더에 포함된 제2 사물인터넷 장치의 가상 IP 주소를 추출하고, 상기 저장된 주소 매핑 테이블을 이용하여 추출된 제2 사물인터넷 장치의 가상 IP 주소를 실재 IP 주소로 변경하고, 변경된 헤더가 포함된 패킷을 상기 제2 사물인터넷 장치에 전달할 수 있다. The second gatekeeper extracts the virtual IP address of the second IoT device included in the header of the received packet, and uses the stored address mapping table to store the extracted virtual IP address of the second IoT device. The IP address may be changed and the packet including the changed header may be transmitted to the second IoT device.

상기 제2 사물인터넷 장치는, The second IoT device,

수신된 패킷으로부터 제1 사물인터넷 장치의 공개값을 추출하고, 추출된 제1 사물인터넷 장치의 공개값과 자신의 비밀값을 이용하여 산출된 대칭키(

Figure 112020055110693-pat00009
)를 이용하여 암호화된 페이로드를 복호화하며, 상기 대칭키(
Figure 112020055110693-pat00010
)는 하기의 수학식으로 나타낼 수 있다. The public value of the first IoT device is extracted from the received packet, and the symmetric key (
Figure 112020055110693-pat00009
) to decrypt the encrypted payload, and the symmetric key (
Figure 112020055110693-pat00010
) can be expressed by the following equation.

Figure 112020055110693-pat00011
Figure 112020055110693-pat00011

여기서,

Figure 112020055110693-pat00012
는 제1 사물인터넷 장치의 공개값을 나타내고,
Figure 112020055110693-pat00013
는 제2 사물인터넷 장치의 비밀값을 나타낸다. here,
Figure 112020055110693-pat00012
represents the public value of the first IoT device,
Figure 112020055110693-pat00013
denotes a secret value of the second IoT device.

상기 제2 사물인터넷 장치는, 상기 수신된 패킷의 IP 헤더의 옵션 필드로부터 제1 사물인터넷 장치의 공개값을 추출하거나, 상기 수신된 패킷의 응용 계층 페이로드의 시작부분에 포함된 제1 사물인터넷 장치의 공개값을 추출할 수 있다. The second IoT device extracts the public value of the first IoT device from the option field of the IP header of the received packet, or the first IoT device included in the beginning of the application layer payload of the received packet. It is possible to extract the public value of the device.

상기 인터넷 서버는, 소프트웨어 정의 네트워킹(SDN, Software-Defined Networking) 또는 도메인 네임 시스템(DNS, Domain Name System)을 기반으로 할 수 있다. The Internet server may be based on Software-Defined Networking (SDN) or Domain Name System (DNS).

상기 인터넷 서버에 상기 소프트웨어 정의 네트워킹(SDN)이 적용되면 제1 사물인터넷 장치와 제2 사물인터넷 장치 사이에 P2P 기반의 통신을 수행하며, When the software defined networking (SDN) is applied to the Internet server, P2P-based communication is performed between the first IoT device and the second IoT device,

상기 게이트키퍼는, 상기 사물인터넷장치로부터 생성된 세션 설정 요청 패킷을 검증하여 세션 설정을 수행하며, 세션 설정이 완료되면, 제1 사물인터넷 장치에서 생성된 패킷은 제2 사물인터넷 장치가 소속되어 있는 제2 게이트키퍼를 경유하여 제2 사물인터넷 장치에 전달되고, 제2 사물인터넷 장치에서 생성된 패킷은 제1 사물인터넷 장치가 소속되어 있는 제1 게이트키퍼를 경유하여 제1 사물인터넷 장치에 전달될 수 있다. The gatekeeper performs session establishment by verifying the session establishment request packet generated from the IoT device, and when the session establishment is completed, the packet generated by the first IoT device is transmitted to the packet to which the second IoT device belongs. The packet is transmitted to the second IoT device via the second gatekeeper, and the packet generated by the second IoT device is transmitted to the first IoT device via the first gatekeeper to which the first IoT device belongs. can

상기 세션 설정 요청 패킷은, 제1 사물인터넷 장치의 비밀값과 제2 사물인터넷 장치의 공개값을 이용하여 생성된 대칭키에 의해 응용계층의 페이로드 부분이 암호화될 수 있다. In the session establishment request packet, the payload portion of the application layer may be encrypted by a symmetric key generated using the secret value of the first IoT device and the public value of the second IoT device.

상기 인터넷 서버가 상기 도메인 네임 시스템(DNS)을 기반으로 하는 경우, 상기 인터넷 서버는 복수의 소속 서버를 포함하며, 상기 사물인터넷 장치로부터 전달받은 도메인 형태의 식별명칭, 공개값 및 가상 IP 주소를 복수의 소속 서버 중에서 어느 하나의 소속서버에 등록시키고, 등록된 상기 공개값 및 가상 IP 주소를 통신하고자 하는 사물인터넷 장치에 제공하여 사물인터넷 장치와 다른 사물인터넷 장치 사이의 통신을 연결시킬 수 있다. When the Internet server is based on the Domain Name System (DNS), the Internet server includes a plurality of affiliated servers, and includes a plurality of domain-type identification names, public values, and virtual IP addresses received from the IoT device. It is possible to connect the communication between the IoT device and the other IoT device by registering it in one of the affiliated servers of

제1 사물인터넷 장치가 상기 인터넷 서버로 제2 사물인터넷 장치의 공개값 및 IP주소에 관한 질의하면, 상기 인터넷 서버는, 복수의 소속 서버 중에서 상위네임 서버에 제2 사물인터넷 장치의 공개값 및 IP주소에 관한 질의를 전달하고, 상기 상위네임 서버에 DNS 쿼리의 결과가 없으면 상기 상위네임 서버는 하위네임 서버의 IP주소를 제1 사물인터넷 장치에 전달하여 질의 및 응답을 연속적으로 수행할 수 있다. When the first IoT device queries the Internet server about the public value and IP address of the second IoT device, the Internet server sends the public value and IP address of the second IoT device to an upper-level name server among a plurality of affiliated servers. If an address-related query is transmitted and the upper-level name server does not receive a result of the DNS query, the upper-level name server may transmit the IP address of the lower-level name server to the first IoT device to continuously perform queries and responses.

상기 소속 서버는, 자신의 데이터베이스에 등록된 상기 매핑 엔트리 정보를 이용하여 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 추출하고, 추출된 공개값 및 가상 IP주소를 제1 사물인터넷 장치에게 DNS 응답 형식으로 전달할 수 있다. The affiliated server extracts the public value and virtual IP address of the second IoT device using the mapping entry information registered in its database, and sends the extracted public value and the virtual IP address to the first IoT device in DNS It can be delivered in the form of a response.

동일 서브 네트워크에 접속되어 있는 복수의 사물인터넷 장치간의 통신을 수행할 경우, 사물인터넷 장치에서 송신 또는 수신되는 패킷은 동일한 게이트키퍼를 경유하며, 상기 게이트키퍼는, 송신측 사물인터넷 장치로부터 수신된 패킷의 헤더에 포함된 송신측 사물인터넷 장치의 실재 IP 주소를 가상 IP 주소로 변경하고, 수신측 사물인터넷 장치의 가상 IP 주소를 실재 IP주소로 변경하고, 변경된 패킷을 수신측 사물인터넷 장치에 전달할 수 있다. When communication is performed between a plurality of IoT devices connected to the same subnetwork, packets transmitted or received from the IoT device pass through the same gatekeeper, and the gatekeeper receives the packets received from the sending IoT device. can change the real IP address of the sending IoT device included in the header of the have.

상기 송신측 사물인터넷 장치는, 자신의 비밀값과 수신측 사물인터넷 장치의 공개값을 이용하여 대칭키를 생성하며, 생성된 대칭키를 이용하여 패킷의 응용계층 페이로드 부분을 암호화하고, 상기 수신측 사물인터넷 장치는, 자신의 비밀값과 송신측 사물인터넷 장치의 공개값을 이용하여 대칭키를 생성하며, 생성된 대칭키를 이용하여 패킷의 응용계층 페이로드 부분을 복호화할 수 있다. The transmitting-side IoT device generates a symmetric key using its own secret value and a public value of the receiving-side IoT device, encrypts an application layer payload portion of the packet using the generated symmetric key, and receives the The side IoT device may generate a symmetric key using its own secret value and the public value of the transmitting side IoT device, and may use the generated symmetric key to decrypt the application layer payload portion of the packet.

이와 같이 본 발명에 따르면, 사물인터넷 장치의 운영에 있어서 보조 인증기관을 요구하는 인증서나 너무 큰 계산량을 요구하는 공개키 알고리즘을 이용하지 않더라도 사물인터넷 장치의 인증 및 통신을 제공할 수 있다. 그러므로 사람이 관여하여 인증 및 보안 문제를 해결하는 IPSec이나 SSL 같은 보안 기술을 필요로 하지 않는다. As described above, according to the present invention, it is possible to provide authentication and communication of the IoT device without using a certificate requiring a secondary certification authority or a public key algorithm requiring too large a computational amount in the operation of the IoT device. Therefore, there is no need for security technologies such as IPSec or SSL that involve human involvement and solve authentication and security issues.

또한 본 발명에 따르면, 사물인터넷 장치의 공개값은 SDN 제어 서버 또는 DNS AU 서버에 보관되며, 사물인터넷 장치의 공개값은 SDN 제어 서버 또는 DNS AU 서버를 통하여 질의/응답으로 확보될 수 있으므로 디피 헬만(Diffie-Hellman) 대칭키 교환 기술에서의 상호간 인증 문제를 해결할 수 있고, 제3자에 의해 공개값이 조작되는 것을 미연에 방지할 수 있어 중간자 공격(MITM)에 안전하다.Also, according to the present invention, the public value of the IoT device is stored in the SDN control server or DNS AU server, and the public value of the IoT device can be secured through a query/response through the SDN control server or DNS AU server, so Diffie Hellman (Diffie-Hellman) It is safe from man-in-the-middle attack (MITM) because it can solve the mutual authentication problem in the symmetric key exchange technology, and it can prevent the manipulation of the public value by a third party in advance.

또한 본 발명에 따르면, 모든 데이터 패킷은 송신측 또는 수신측 사물인터넷 장치가 접속되어 있는 게이트키퍼를 통하여 전송되며, 게이트키퍼는 패킷에 포함된 송신측 사물인터넷 장치의 실재 IP주소를 가상 IP주소로 변경하여 전달하므로, 실재 IP주소가 외부에 노출되는 것을 방지할 수 있다. 또한, 외부에서 특정 사물인터넷 장치를 공격할 경우에는 특정 사물인터넷 장치가 어떤 목적으로 사용되는지 트래픽 분석 (Traffic Analysis) 공격을 통해 정보를 획득할 수 있으나, 실재 IP주소와 외부에 노출된 가상 IP 주소가 서로 상이하므로 트래픽 분석 공격을 난해하게 할 수 있다. According to the present invention, all data packets are transmitted through a gatekeeper to which the sending or receiving IoT device is connected, and the gatekeeper converts the real IP address of the sending IoT device included in the packet into a virtual IP address. Since it is changed and delivered, it is possible to prevent the actual IP address from being exposed to the outside. In addition, when a specific IoT device is attacked from the outside, information about the purpose of the specific IoT device can be obtained through a traffic analysis attack, but the actual IP address and the externally exposed virtual IP address are different from each other, which can make traffic analysis attacks difficult.

도 1은 본 발명의 실시예에 따른 사물인터넷 보안 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 실시예에 따른 사물인터넷 보안 시스템을 이용하여 동기화하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시예에 따른 사물인터넷 통신 시스템을 이용한 인증 및 통신을 수행하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 실시예에 따른 SDN을 기반의 사물인터넷 보안 시스템을 이용한 인증 및 P2P통신을 수행하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 DNS기반의 사물인터넷 보안 시스템을 이용하여 사물인터넷 장치 간의 인증 및 통신을 수행하는 방법을 설명하기 위한 흐름도이다.
도 6은 도 5 에 도시된 S510단계를 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 동일한 네트워크에 접속된 사물인터넷 장치 간의 인증 및 통신을 수행하는 방법을 설명하기 위한 흐름도이다.
1 is a configuration diagram for explaining an IoT security system according to an embodiment of the present invention.
2 is a flowchart illustrating a synchronization method using the IoT security system according to an embodiment of the present invention.
3 is a flowchart illustrating a method of performing authentication and communication using an IoT communication system according to an embodiment of the present invention.
4 is a flowchart illustrating a method of performing authentication and P2P communication using an SDN-based IoT security system according to an embodiment of the present invention.
5 is a flowchart illustrating a method of performing authentication and communication between IoT devices using a DNS-based IoT security system according to an embodiment of the present invention.
FIG. 6 is a view for explaining step S510 shown in FIG. 5 .
7 is a flowchart illustrating a method of performing authentication and communication between IoT devices connected to the same network according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. In this process, the thickness of the lines or the size of the components shown in the drawings may be exaggerated for clarity and convenience of explanation.

또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, the terms described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of the user or operator. Therefore, definitions of these terms should be made based on the content throughout this specification.

이하에서는 도 1을 이용하여 본 발명의 실시예에 따른 사물인터넷 보안 시스템에 대하여 설명한다. Hereinafter, an IoT security system according to an embodiment of the present invention will be described with reference to FIG. 1 .

도 1은 본 발명의 실시예에 따른 사물인터넷 보안 시스템을 설명하기 위한 구성도이다. 1 is a configuration diagram for explaining an IoT security system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따르면 사물인터넷 보안 시스템은 복수의 사물인터넷 장치(110,120,130,140), 게이트키퍼(210,220,230,240) 및 인터넷 서버(300)를 포함한다. As shown in FIG. 1 , according to an embodiment of the present invention, the IoT security system includes a plurality of IoT devices 110 , 120 , 130 , 140 , gatekeepers 210 , 220 , 230 , 240 , and an Internet server 300 .

먼저, 사물인터넷 장치(110,120,130,140)는 센서와 모선통신용모듈을 내장화한 상태에서 무선 인터넷을 이용하여 사물 간의 데이터를 주고 받아 분석 및 처리를 하는 장치를 나타낸다. 여기서, 사물 인터넷 장치(110,120,130,140)는 장비, 전자기기, 자동자, 드론 및 로봇 등을 포함한다. First, the IoT devices 110 , 120 , 130 , and 140 represent devices that transmit and receive data between things using the wireless Internet in a state in which a sensor and a module for bus communication are built-in, and analyze and process the data. Here, the IoT devices 110 , 120 , 130 , and 140 include equipment, electronic devices, automatic vehicles, drones, and robots.

사물인터넷 장치(110,120,130,140)는 자기만의 16bit 크기의 비밀값을 생성하고, 생성된 비밀값으로부터 공개값을 유도 계산한다. The IoT devices 110 , 120 , 130 , and 140 generate their own 16-bit secret value, and derive and calculate a public value from the generated secret value.

그 다음, 사물인터넷 장치(110,120,130,140)는 생성된 공개값을 소속되어 있는 게이트키퍼에 제공하여 IP 주소를 할당받는다. 부연하자면, IP 주소는 임의로 할당되는 것이 아니라 어떤 규칙에 따라 인접한 숫자를 그룹으로 묶어 관리되는 것으로, 복수의 사물 인터넷 장치(110,120,130,140)는 해당되는 서브 네트워크에 설치된 게이트키퍼(210,220,230,240)에 주소할당 요청 신호를 송신하여 할당받는다. 이때, 복수의 사물 인터넷 장치(110, 120, 130, 140)는 생성한 공개값을 게이트키퍼(210,220,230,240)에 제공한다. 그러면, 게이트키퍼(210,220,230,240)는 전달받은 공개값을 사물인터넷 장치의 주소정보에 대한 매칭번호를 사용한다. Then, the IoT devices 110 , 120 , 130 , and 140 provide the generated public value to a gatekeeper to which they belong to be assigned an IP address. In other words, IP addresses are not randomly allocated, but are managed by grouping adjacent numbers according to a certain rule. is assigned by sending In this case, the plurality of IoT devices 110 , 120 , 130 , and 140 provide the generated public values to the gatekeepers 210 , 220 , 230 , and 240 . Then, the gatekeepers 210, 220, 230, and 240 use the received public value as a matching number for the address information of the IoT device.

그 다음, 사물인터넷 장치(110,120,130,140)는 패킷을 생성한다. 패킷은 헤더와 데이터부를 포함한다. 여기서 헤더는 패킷을 송신하는 사물인터넷 장치의 IP주소와 패킷을 수신하는 사물인터넷 장치의 IP주소를 포함하며, 옵션 필드에는 송신측 사물인터넷의 공개값과 수신측 사물인터넷의 공개값을 더 포함한다. Next, the IoT devices 110 , 120 , 130 , and 140 generate packets. A packet includes a header and a data part. Here, the header includes the IP address of the IoT device that transmits the packet and the IP address of the IoT device that receives the packet, and the option field further includes the public value of the sending-side IoT and the public value of the receiving-side IoT. .

이를 다시 설명하면, 패킷을 송신하는 사물인터넷 장치(110,120,130,140)의 IP주소 및 공개값과, 패킷을 수신하는 사물인터넷 장치(110,120,130,140)의 IP주소 및 공개값을 포함한다. 또한, 송수신되는 패킷의 보안성을 유지하기 위하여, 사물인터넷 장치(110, 120, 130, 140)는 대칭키를 이용하여 패킷의 페이로드 부분을 암호화한다. In other words, it includes the IP addresses and public values of the IoT devices 110 , 120 , 130 , and 140 that transmit packets, and the IP addresses and public values of the IoT devices 110 , 120 , 130 and 140 that receive packets. In addition, in order to maintain the security of transmitted and received packets, the IoT devices 110 , 120 , 130 , and 140 encrypt the payload portion of the packet using a symmetric key.

한편, 본 발명의 실시예에서는 복수의 사물인터넷 장치(110,120,130,140) 중에서 패킷을 송신하는 사물인터넷장치를 제1 사물인터넷 장치(110)라고 하고, 패킷을 수신하는 사물인터넷 장치를 제2 사물인터넷 장치(120)라고 한다. 또한, 제1 사물인터넷 장치(110)가 접속되어 있는 네트워크는 제1 서브 네트워크이고, 제2 사물인터넷 장치(120)가 접속되어 있는 네트워크는 제2 서브 네트워크로서, 제1 서브 네트워크와 제2 서브 네트워크는 상이하다. Meanwhile, in the embodiment of the present invention, an IoT device transmitting a packet among a plurality of IoT devices 110, 120, 130, 140 is referred to as a first IoT device 110, and an IoT device receiving a packet is referred to as a second IoT device ( 120) is called. In addition, the network to which the first IoT device 110 is connected is a first sub-network, and the network to which the second IoT device 120 is connected is a second sub-network. The network is different.

게이트키퍼(210,220,230,240)는 복수의 서브 네트워크마다 설치되어 있으며, 내부의 서브 네트워크에 접속되어 있는 복수의 사물인터넷 장치(110,120,130,140)에서 전송하는 패킷과 외부의 서브 네트워크에 접속되어 있는 복수의 사물인터넷 장치(110, 120, 130, 140)로부터 수신되는 패킷을 전달받고, 전달받은 패킷에 포함된 사물인터넷 IP주소의 변환과 검증을 수행한다. The gatekeepers 210, 220, 230, and 240 are installed in each of a plurality of sub-networks, and packets transmitted from a plurality of IoT devices 110, 120, 130, and 140 connected to the internal sub-network and a plurality of IoT devices connected to an external sub-network ( 110, 120, 130, 140), and performs conversion and verification of the IoT IP address included in the received packet.

이를 다시 설명하면, 해당되는 서브 네트워크에 접속되어 있는 사물인터넷 장치(110,120,130,140)로부터 주소 할당 요청 신호를 수신할 경우, 게이트키퍼(210,220,230,240)는 해당 사물인터넷 장치(110,120,130,140)에 대한 엔트리 정보를 생성한다. 여기서 엔트리 정보는 해당 사물인터넷 장치(110,120,130,140)로부터 수신된 공개값과 실재 IP 주소 및 가상 IP 주소를 포함한다. 그리고, 게이트키퍼(210,220,230,240)는 생성된 엔트리 정보를 주소 매핑 테이블(AMT, Address Mapping Table)에 저장하며, 해당 사물인터넷 장치(110,120,130,140)에 생성된 엔트리 정보를 할당한다. In other words, when receiving an address assignment request signal from the IoT devices 110, 120, 130, 140 connected to the corresponding sub-network, the gatekeepers 210, 220, 230, 240 generate entry information for the corresponding IoT devices 110, 120, 130, 140. Here, the entry information includes public values received from the corresponding IoT devices 110 , 120 , 130 , and 140 , and an actual IP address and a virtual IP address. Then, the gatekeepers 210 , 220 , 230 , and 240 store the generated entry information in an Address Mapping Table (AMT), and allocate the generated entry information to the corresponding IoT devices 110 , 120 , 130 , and 140 .

따라서, 사물인터넷 장치(110,120,130,140)는 [비밀값, 공개값, 가상 IP 주소, 실재 IP 주소]의 데이터 구조를 유지하고, 게이트키퍼(210,220,230,240)는 공개값, 가상 IP 주소, 실재 IP 주소]의 데이터 구조를 유지하게 되므로, 사물인터넷 장치(110,120,130,140)와 게이트키퍼(210,220,230,240) 사이가 동기화된다. Accordingly, the IoT devices 110, 120, 130, and 140 maintain the data structure of [secret value, public value, virtual IP address, and real IP address], and the gatekeepers 210, 220, 230 and 240 provide data of [public value, virtual IP address, and real IP address]. Since the structure is maintained, the IoT devices 110 , 120 , 130 , 140 and the gatekeepers 210 , 220 , 230 , and 240 are synchronized.

그 다음, 제1 사물인터넷 장치(110)로부터 패킷을 수신하면, 제1 게이트키퍼(210)는 패킷의 헤더에 포함된 제1 사물인터넷 장치(110)의 실재 IP주소를 추출한다. 그리고, 제1게이트키퍼(210)는 기 저장된 엔트리 정보를 이용하여 추출된 실재 IP주소를 가상 IP주소로 변경한 다음, 변경된 패킷을 제2 사물인터넷 장치(120)에 송신한다. Then, upon receiving the packet from the first IoT device 110 , the first gatekeeper 210 extracts the real IP address of the first IoT device 110 included in the header of the packet. Then, the first gatekeeper 210 changes the extracted real IP address to a virtual IP address using pre-stored entry information, and then transmits the changed packet to the second IoT device 120 .

반면에, 제1 게이트키퍼(210)에서 송신된 패킷은 제2 서브 네트워크에 설치된 제2 게이트키퍼(220)에 전달된다. 그러면, 제2 게이트키퍼(220)는 수신된 패킷의 헤더에 포함된 제2 사물인터넷 장치(120)의 가상 IP주소를 추출한다. 그 다음 제2 게이트키퍼(220)는 기 저장된 매핑 엔트리 정보를 이용하여 추출된 가상 IP주소를 실재 IP주소로 변경하고, 변경된 패킷을 제2 사물인터넷 장치(120)에 전달한다.On the other hand, the packet transmitted from the first gatekeeper 210 is transferred to the second gatekeeper 220 installed in the second subnetwork. Then, the second gatekeeper 220 extracts the virtual IP address of the second IoT device 120 included in the header of the received packet. Then, the second gatekeeper 220 changes the extracted virtual IP address to a real IP address using the previously stored mapping entry information, and transmits the changed packet to the second IoT device 120 .

이를 다시 설명하면, 복수의 사물인터넷 장치(110,120,130,140)에서 송신 또는 수신되는 패킷은 해당되는 게이트키퍼(210,220,230,240)를 거치게 되며, 게이트키퍼(210,220,230,240)는 전달받은 패킷에 포함된 실재 IP주소를 가상 IP주소로 변경하여 브로드캐스팅한다. 한편, 외부의 다른 어떤 장치가 호출장치로 동작하고 사물인터넷 장치(110,120,130,140)가 피호출장치로 동작할 경우, 외부의 장치는 피호출장치의 엔트리 정보를 이용하여 서브 네트워크로 진입하게 된다. 즉, 해당 서브 네트워크에 접속된 사물인터넷 장치(110,120,130,140)와 통신을 하려면 가상 IP주소를 이용하여 게이트키퍼(210,220,230,240)에 접근 가능하다. 그러므로, 게이트키퍼(210,220,230,240)는 진입된 패킷을 해당 사물인터넷 장치(110,120,130,140)에 전달하기 전에 먼저 신뢰성을 검증하고, 검증에 통과된 패킷을 해당 사물인터넷 장치(110.120,130,140)에 전달한다. In other words, packets transmitted or received from the plurality of IoT devices 110, 120, 130, 140 pass through the corresponding gatekeepers 210, 220, 230, 240, and the gatekeepers 210, 220, 230, and 240 convert the real IP addresses included in the received packets to virtual IP addresses. to broadcast. On the other hand, when some other external device operates as a calling device and the IoT devices 110 , 120 , 130 , and 140 operate as a called device, the external device enters the subnetwork using entry information of the called device. That is, in order to communicate with the IoT devices 110 , 120 , 130 , 140 connected to the corresponding subnetwork, the gatekeepers 210 , 220 , 230 , and 240 can be accessed using the virtual IP address. Therefore, the gatekeepers 210, 220, 230, and 240 first verify reliability before delivering the entered packets to the corresponding IoT devices 110, 120, 130, and 140, and transmit the packets that have passed the verification to the corresponding IoT devices 110.120, 130, and 140.

마지막으로, 인터넷 서버(300)는 사물인터넷 장치(110,120,130,140)의 식별명칭 및 공개값을 이용하여 해당 사물인터넷 장치(110,120,130,140)의 IP주소를 추출하고, 추출된 사물인터넷 장치(110,120,130,140)의 IP주소를 이용하여 사물인터넷 장치(110,120,130,140)를 통신시킨다. Finally, the Internet server 300 extracts the IP addresses of the corresponding IoT devices 110, 120, 130, 140 using the identification names and public values of the IoT devices 110, 120, 130, and 140, and extracts the IP addresses of the extracted IoT devices 110, 120, 130, and 140. The IoT devices 110, 120, 130, and 140 are communicated using

자세히는, 외부의 어떤 장치가 패킷을 보내고자 하는 해당 사물인터넷 장치(110,120,130,140)의 식별 명칭만 알고 있더라도 인터넷 서버(300)에 의해 통신 연결 될 수 있도록 사물인터넷 장치(110,120,130,140)와 인터넷 서버(300)는 상호 동기화되어야 한다. In detail, even if an external device knows only the identification name of the corresponding IoT device 110, 120, 130, 140 to which the packet is to be sent, the Internet of Things device (110, 120, 130, 140) and the Internet server (300) can be connected through communication by the Internet server 300 must be mutually synchronized.

그러기 위해서 먼저, 사물인터넷 장치(110,120,130,140)는 게이트키퍼(210,220,230,240)로부터 할당받은 엔트리 정보 중에서 외부에 공개 가능한 정보를 인터넷 서버(300)에 전송한다. 그러면, 인터넷 서버(300)는 수신된 공개 가능한 정보를 등록시킨다. 여기서 공개 가능한 정보는 식별명칭, 공개값 및 가상 IP 주소를 포함한다. To this end, first, the IoT devices 110 , 120 , 130 , and 140 transmit information that can be disclosed to the outside among the entry information allocated from the gatekeepers 210 , 220 , 230 , and 240 to the Internet server 300 . Then, the Internet server 300 registers the received publicly available information. Here, the publicly available information includes an identification name, a public value, and a virtual IP address.

등록이 완료된 상태에서 패킷을 송신하는 제1 사물인터넷 장치(110)가 패킷을 수신하는 제2 사물인터넷 장치(120)의 식별명칭만을 알고 있는 상태에서 패킷을 전송할 경우, 제1 사물인터넷 장치(110)는 제2 사물인터넷 장치(120)에 대한 공개값 및 IP 주소를 인터넷 서버(300)에 요청한다. 그러면, 인터넷 서버(300)는 기 등록된 정보를 이용하여 제2 사물인터넷 장치(120)의 식별 명칭에 매칭되는 공개값 및 IP주소를 추출한다. 그리고, 인터넷 서버(300)는 추출된 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 해당 제1 사물인터넷 장치(110)에 전달한다. When the first IoT device 110 that transmits the packet knows only the identification name of the second IoT device 120 that receives the packet in a state in which registration is completed, and transmits the packet, the first IoT device 110 ) requests the public value and IP address of the second IoT device 120 from the Internet server 300 . Then, the Internet server 300 extracts a public value and an IP address matching the identification name of the second IoT device 120 using the pre-registered information. Then, the Internet server 300 transmits the extracted public value and IP address of the second IoT device 120 to the first IoT device 110 .

한편, 사물인터넷 장치간의 통신을 수행하기 위하여 사물인터넷 장치의 명칭에 대응하는 IP주소를 추출하는 방법은 소프트웨어 정의 네트워킹(SDN, Software-Defined Networking) 사용 기술과 도메인 이름 시스템(DNS, Domain Name System) 사용 기술로 분류된다. 첫 번째 방법은 제1사물인터넷 장치(110)에서 요청하는 제2사물인터넷 장치(120)의 공개값 및 IP 주소를 식별명칭을 이용하여 추출하고, 추출된 제2사물인터넷 장치(120)의 공개값 및 IP 주소를 이용하여 제1 사물인터넷 장치와 제2사물인터넷 장치 간의 연결 설정을 시도할 때, SDN제어 시스템이 중앙에서 제어 장치 역할을 수행한다. On the other hand, the method of extracting the IP address corresponding to the name of the IoT device in order to perform communication between the IoT devices is a technology using software-defined networking (SDN) and a domain name system (DNS). classified by the technology used. The first method extracts the public value and IP address of the second IoT device 120 requested by the first IoT device 110 using an identification name, and discloses the extracted second IoT device 120 . When attempting to establish a connection between the first IoT device and the second IoT device using the value and IP address, the SDN control system serves as a central control device.

반면에, 두 번째 방법은 DNS 제어 시스템의 질의/응답 (Query/Reply) 프로토콜을 이용하여 제2 사물인터넷 장치(120)의 IP 주소를 추출하는 방법이다. 부연하자면, 제1 사물인터넷 장치(110)가 제2 사물인터넷 장치(120)의 도메인 이름을 알고 있는 상태에서 제2 사물인터넷 장치(120)의 공개값 및 IP 주소를 요청한다, 그러면, DNS 제어 시스템은 복수의 소속 서버들과의 질의/응답을 통해 제2 사물인터넷 장치(120)의 도메인 이름과 매칭되는 공개값 및 IP 주소를 추출한다. On the other hand, the second method is a method of extracting the IP address of the second IoT device 120 using the query/reply protocol of the DNS control system. In other words, the first IoT device 110 requests the public value and IP address of the second IoT device 120 while knowing the domain name of the second IoT device 120 . Then, DNS control The system extracts a public value and IP address matching the domain name of the second IoT device 120 through a query/response with a plurality of affiliated servers.

한편, 제1 사물인터넷 장치(110)와 제2 사물인터넷 장치(120)가 P2P (Peer-to-Peer) 통신을 할 때는 SDN 기술을 사용한다. 또한, 제1 사물인터넷 장치(110)가 클라이언트이고 제2 사물인터넷 장치(120)가 서버로 동작하는 관계일 경우, 즉 클라이언트/서버 방식에서의 인터넷 통신에서는 DNS 기술을 사용한다. Meanwhile, when the first IoT device 110 and the second IoT device 120 perform peer-to-peer (P2P) communication, SDN technology is used. In addition, when the first IoT device 110 is a client and the second IoT device 120 operates as a server, the DNS technology is used in Internet communication in a client/server method.

이하에서는 도 2를 이용하여 본 발명의 실시예에 따른 사물인터넷 보안 시스템을 이용하여 사물인터넷 장치, 게이트키퍼 및 인터넷 서버 간에 동기화하는 방법을 설명한다. Hereinafter, a method of synchronizing between an IoT device, a gatekeeper, and an Internet server using the IoT security system according to an embodiment of the present invention will be described with reference to FIG. 2 .

도 2는 본 발명의 실시예에 따른 사물인터넷 보안 시스템을 이용하여 동기화하는 방법을 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a synchronization method using the IoT security system according to an embodiment of the present invention.

도 2에서는 이해의 편리성을 도모하기 하기 위하여 제1 서브 네트워크에 접속되어 있는 제1 사물인터넷 장치(110)를 이용하여 동기화하는 방법을 설명한다. 즉, 제2 사물인터넷 장치(120), 제3 사물인터넷 장치(130) 및 제4 사물인터넷 장치(140)는 제1 사물인터넷 장치(110)와 동일한 방법으로 해당 게이트키퍼(220,230,240) 및 인터넷 서버(300)와 동기화한다In FIG. 2 , a synchronization method using the first IoT device 110 connected to the first sub-network will be described for convenience of understanding. That is, the second IoT device 120 , the third IoT device 130 , and the fourth IoT device 140 perform the gatekeepers 220 , 230 , 240 and the Internet server in the same manner as the first IoT device 110 . Synchronize with 300

먼저, 본 발명의 실시예에 따른 제1 사물인터넷 장치(110)는 비밀값 및 공개값을 생성한다(S210). First, the first IoT device 110 according to an embodiment of the present invention generates a secret value and a public value (S210).

예를 들어, 제1 사물인터넷 장치(110)의 식별명칭이

Figure 112020055110693-pat00014
라고 가정한다. 제1 사물인터넷 장치(110)는 외부에 공개하지 않고 자신만이 알 수 있는 16bit 크기의 비밀값(
Figure 112020055110693-pat00015
)을 생성한다. 그 다음, 제1 사물인터넷(110)은 생성된 비밀값(
Figure 112020055110693-pat00016
)으로부터 동일한 크기를 가지는 공개값(
Figure 112020055110693-pat00017
)을 하기의 수학식 1을 통해 유도 계산한다. For example, the identification name of the first IoT device 110 is
Figure 112020055110693-pat00014
Assume that The first IoT device 110 has a 16-bit secret value (
Figure 112020055110693-pat00015
) is created. Then, the first Internet of Things 110 generates a secret value (
Figure 112020055110693-pat00016
) from the public value (
Figure 112020055110693-pat00017
) is derived and calculated through Equation 1 below.

Figure 112020055110693-pat00018
Figure 112020055110693-pat00018

여기서 비밀값(

Figure 112020055110693-pat00019
)은 자신만이 알고 있고 외부에 공개되지 않는 값이고, 공개값(
Figure 112020055110693-pat00020
)은 외부에 공개되는 값으로 비밀값(
Figure 112020055110693-pat00021
)을 대신하여 사용된다. where the secret value (
Figure 112020055110693-pat00019
) is a value known only to you and not disclosed to the outside, and a public value (
Figure 112020055110693-pat00020
) is a value that is disclosed to the outside and a secret value (
Figure 112020055110693-pat00021
) is used instead of

그 다음, 제1 사물인터넷 장치(110)는 제1 서브 네트워크에 설치된 제1 게이트키퍼(210)에 주소 할당 요청 신호를 송신한다. 이때, 제1 사물인터넷 장치(110)는 생성된 공개값(

Figure 112020055110693-pat00022
)을 제1 게이트키퍼(210)에 전달한다. Next, the first IoT device 110 transmits an address assignment request signal to the first gatekeeper 210 installed in the first subnetwork. At this time, the first IoT device 110 transmits the generated public value (
Figure 112020055110693-pat00022
) to the first gatekeeper 210 .

주소 할당 요청 신호를 수신한 제1 게이트키퍼(210)는 제1 사물인터넷 장치(110)에 대한 엔트리 정보를 생성하고, 생성된 엔트리 정보를 제1 사물인터넷 장치(110)에 전달한다(S220).Upon receiving the address assignment request signal, the first gatekeeper 210 generates entry information for the first IoT device 110 and transmits the generated entry information to the first IoT device 110 (S220). .

부연하자면, 제1 게이트키퍼(210)는 제1 사물인터넷 장치(110)의 식별명칭을 인증하고, 인증이 완료되면 제1 사물인터넷 장치(110)에 대한 실재 IP주소와 가상 IP주소를 생성한다. 그리고, 생성된 실재 IP주소와 가상 IP주소는 주소 매핑 테이블에 저장한다. 이때, 제1 게이트키퍼(210)는 주소 매핑 테이블에 저장된 제1 사물인터넷 장치(110)의 실재 IP주소 및 가상 IP주소에 대한 정보를 쉽게 검색할 수 있도록 인덱스 즉 매칭 번호를 설정한다. 매칭 번호는 제1 게이트키퍼(210)에 의해 새롭게 생성되는 것이 아닌, 제1 사물인터넷 장치(110)로부터 전달받은 공개값(

Figure 112020055110693-pat00023
)을 이용한다. In other words, the first gatekeeper 210 authenticates the identification name of the first IoT device 110 , and when authentication is completed, a real IP address and a virtual IP address for the first IoT device 110 are generated. . Then, the generated real IP address and virtual IP address are stored in the address mapping table. In this case, the first gatekeeper 210 sets an index, that is, a matching number, so that information on the real IP address and virtual IP address of the first IoT device 110 stored in the address mapping table can be easily retrieved. The matching number is not newly generated by the first gatekeeper 210, but a public value (
Figure 112020055110693-pat00023
) is used.

즉, 제1 게이트키퍼(210)는 제1 사물인터넷 장치(110)에 대하여 주소와 관련된 새로운 엔트리 정보를 생성하고, 생성된 엔트리 정보는 하기의 표1과 같이 주소 매핑 테이블 형태로 저장한다. That is, the first gatekeeper 210 generates new entry information related to an address with respect to the first IoT device 110 and stores the generated entry information in the form of an address mapping table as shown in Table 1 below.

식별명칭Distinguished name 매칭번호(공개값)Matching number (public value) 가상 IP 주소virtual IP address 실재 IP 주소real IP address

Figure 112020055110693-pat00024
Figure 112020055110693-pat00024
Figure 112020055110693-pat00025
Figure 112020055110693-pat00025
Figure 112020055110693-pat00026
Figure 112020055110693-pat00026
Figure 112020055110693-pat00027
Figure 112020055110693-pat00027

그 다음, 제1 게이트키퍼(210)는 생성된 엔트리 정보를 제1 사물인터넷 장치(110)에 전달한다. 이로 인하여, 제1 사물인터넷 장치(110)는 [식별명칭(

Figure 112020055110693-pat00028
), 비밀값(
Figure 112020055110693-pat00029
), 공개값(
Figure 112020055110693-pat00030
), 가상 IP 주소(
Figure 112020055110693-pat00031
), 실재 IP주소(
Figure 112020055110693-pat00032
)]의 데이터구조를 갖는다. Next, the first gatekeeper 210 transmits the generated entry information to the first IoT device 110 . For this reason, the first IoT device 110 [identification name (
Figure 112020055110693-pat00028
), secret value (
Figure 112020055110693-pat00029
), the public value (
Figure 112020055110693-pat00030
), the virtual IP address (
Figure 112020055110693-pat00031
), real IP address (
Figure 112020055110693-pat00032
)] data structure.

그 다음, 제1 사물인터넷 장치(110)는 주소 관련 정보를 인터넷 서버(300)에 전달하여 등록시킨다(S230).Then, the first IoT device 110 transmits the address-related information to the Internet server 300 and registers it (S230).

이때, 인터넷 서버(300)는 소프트웨어 정의 네트워킹 (SDN, Software-Defined Networking) 사용 기술과 도메인 이름 시스템(DNS, Domain Name System) 사용 기술 중에서 선택된 하나의 기술을 기반으로 한다.In this case, the Internet server 300 is based on one technology selected from a technology using software-defined networking (SDN) and a technology using a domain name system (DNS).

먼저, SDN을 기반으로 하는 인터넷 서버(300)에 주소 관련 정보를 등록할 경우, 제1 사물인터넷 장치(110)는 식별명칭(

Figure 112020055110693-pat00033
), 공개값(
Figure 112020055110693-pat00034
) 및 가상 IP 주소(
Figure 112020055110693-pat00035
)를 SDN기반의 인터넷 서버(300)에 송신하여 등록시킨다. First, when registering address-related information in the SDN-based Internet server 300 , the first IoT device 110 provides an identification name (
Figure 112020055110693-pat00033
), the public value (
Figure 112020055110693-pat00034
) and virtual IP address (
Figure 112020055110693-pat00035
) is transmitted to the SDN-based Internet server 300 and registered.

반면에, 제1 사물인터넷 장치(110)의 도매인 식별명칭이

Figure 112020055110693-pat00036
라고 가정한 상태에서 DNS를 기반으로 하는 인터넷 서버(300)에 주소 관련 정보를 등록할 경우, 제1 사물인터넷 장치(110)는 식별명칭(
Figure 112020055110693-pat00037
) 공개값(
Figure 112020055110693-pat00038
) 및 가상 IP 주소(
Figure 112020055110693-pat00039
)를 DNS기반의 인터넷 서버(300)에 송신하여 등록시킨다.On the other hand, the wholesaler identification name of the first IoT device 110 is
Figure 112020055110693-pat00036
When registering address-related information in the DNS-based Internet server 300 under the assumption that
Figure 112020055110693-pat00037
) public value (
Figure 112020055110693-pat00038
) and virtual IP address (
Figure 112020055110693-pat00039
) is transmitted to the DNS-based Internet server 300 and registered.

등록을 완료한 인터넷 서버(300)는 제1 사물인터넷 장치(110)에게 등록 완료 신호를 송신한다. The Internet server 300 having completed registration transmits a registration completion signal to the first IoT device 110 .

S210 내지 S230단계를 이용하여 사물인터넷 장치, 게이트기퍼 및 인터넷 서버 사이에 동기화가 완료되면, 장치와 장치간의 통신 연결이 성사될 수 있다. When synchronization is completed between the IoT device, the gatekeeper, and the Internet server using steps S210 to S230, a communication connection between the device and the device may be established.

이하에서는 도 3을 이용하여 본 발명의 실시예에 따른 사물인터넷 통신 시스템을 이용한 통신방법을 설명한다. Hereinafter, a communication method using an IoT communication system according to an embodiment of the present invention will be described with reference to FIG. 3 .

도 3은 본 발명의 실시예에 따른 사물인터넷 통신 시스템을 이용한 인증 및 통신을 수행하는 방법을 설명하기 위한 흐름도이다. 3 is a flowchart illustrating a method of performing authentication and communication using an IoT communication system according to an embodiment of the present invention.

먼저, 앞서 설명된 S210단계 내지 제230단계를 이용하여 제1 사물인터넷 장치(110)는 제1 게이트키퍼(210) 및 인터넷 서버(300)와 동기화된 상태이고, 제2 사물인터넷 장치(120)는 제2 게이트키퍼(220) 및 인터넷 서버(300)와 동기화된 상태이다. 그리고, 인터넷 서버(230)는 SDN 또는 DMS 사용 기술 중에서 선택된 하나의 사용 기술을 기반으로 한다. First, the first IoT device 110 is synchronized with the first gatekeeper 210 and the Internet server 300 using steps S210 to 230 described above, and the second IoT device 120 is synchronized with the second gatekeeper 220 and the Internet server 300 . In addition, the Internet server 230 is based on one technology selected from among SDN and DMS use technologies.

그 다음, 도 3에 도시된 바와 같이, 제1 사물인터넷 장치(110)는 다른 서브 네트워크에 접속된 제2 사물인터넷 장치(120)에게 패킷을 전달하기 위하여 제2 사물인터넷 장치(120)의 공개값 및 IP주소 정보를 인터넷 서버(300)에 요청하여 수신한다(S310).Then, as shown in FIG. 3 , the first IoT device 110 discloses the second IoT device 120 to deliver a packet to the second IoT device 120 connected to another sub-network. The value and IP address information are requested and received from the Internet server 300 (S310).

부연하자면, 제2 사물인터넷 장치(120)의 식별명칭만을 알고 있는 상태에서, 제1 사물인터넷 장치(110)는 인터넷 서버(300)에게 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 요청한다. 그러면, 인터넷 서버(300)는 수신된 제2 사물인터넷 장치(120)의 식별명칭을 이용하여 등록되어 있는 공개값 및 가상 IP주소를 추출한 다음, 추출된 공개값 및 가상 IP주소를 제1 사물인터넷 장치(110)에게 전달한다. In other words, in a state where only the identification name of the second IoT device 120 is known, the first IoT device 110 sends the public value and IP address of the second IoT device 120 to the Internet server 300 . request. Then, the Internet server 300 extracts the registered public value and virtual IP address using the received identification name of the second IoT device 120 , and then uses the extracted public value and the virtual IP address as the first Internet of Things (IoT) address. to the device 110 .

예를 들어, 제1 사물인터넷 장치(110)의 식별명칭은

Figure 112020055110693-pat00040
이고, 제2 사물인터넷 장치(120)의 식별명칭은
Figure 112020055110693-pat00041
라고 가정한다. 제1 사물인터넷 장치(110)는 제2 사물인터넷 장치(120)의 식별명칭(
Figure 112020055110693-pat00042
)을 이용하여 인터넷 서버(300)에 주소에 관한 질의요청신호를 송신한다. For example, the identification name of the first IoT device 110 is
Figure 112020055110693-pat00040
and the identification name of the second IoT device 120 is
Figure 112020055110693-pat00041
Assume that The first IoT device 110 is an identification name of the second IoT device 120 (
Figure 112020055110693-pat00042
) to transmit a query request signal regarding the address to the Internet server 300 .

그러면, 인터넷 서버(300)는 수신된 제2 사물인터넷 장치(120)의 식별명칭(

Figure 112020055110693-pat00043
)을 이용하여 등록되어 있는 공개값(
Figure 112020055110693-pat00044
) 및 가상 IP 주소(
Figure 112020055110693-pat00045
)를 추출한 다음, 추출된 공개값(
Figure 112020055110693-pat00046
) 및 가상 IP 주소(
Figure 112020055110693-pat00047
)를 제1 사물인터넷 장치(110)에게 전달한다. Then, the Internet server 300 receives the identification name (
Figure 112020055110693-pat00043
) registered public value (
Figure 112020055110693-pat00044
) and virtual IP address (
Figure 112020055110693-pat00045
), then the extracted public value (
Figure 112020055110693-pat00046
) and virtual IP address (
Figure 112020055110693-pat00047
) to the first IoT device 110 .

그 다음, 제1 사물인터넷 장치(110)는 페이로드 부분이 암호화된 패킷을 생성하고, 생성된 패킷을 제1 게이트 키퍼(210)에게 전달한다(S320).Next, the first IoT device 110 generates a packet in which the payload portion is encrypted, and transmits the generated packet to the first gatekeeper 210 (S320).

일반적으로 장치와 장치 사이에 암호화 통신을 성립하기 위하여 디피-헬만(Diffie-Hellman)알고리즘에 딸 비밀키를 교환한다. 종래의 디피-헬만(Diffie-Hellman)알고리즘은 제3자에 의한 공격에 취약하므로 본 발명의 실시예에서는 제3자에 의한 공격을 미연에 방지하고자 공개값을 이용하여 대칭키를 생성하고, 생성된 대칭키를 이용하여 패킷의 페이로드 부분을 암호화한다. In general, the daughter secret key is exchanged with the Diffie-Hellman algorithm in order to establish encrypted communication between the device and the device. Since the conventional Diffie-Hellman algorithm is vulnerable to attack by a third party, in the embodiment of the present invention, a symmetric key is generated using a public value to prevent an attack by a third party in advance. The payload part of the packet is encrypted using the symmetric key.

자세히는, 먼저 제1 사물인터넷 장치(110)는 하기의 수학식 2를 이용하여 대칭키를 생성한다. In detail, first, the first IoT device 110 generates a symmetric key using Equation 2 below.

Figure 112020055110693-pat00048
Figure 112020055110693-pat00048

여기서,

Figure 112020055110693-pat00049
는 제2 사물인터넷 장치의 공개값이고,
Figure 112020055110693-pat00050
는 제1 사물인터넷 장치의 비밀값이다. here,
Figure 112020055110693-pat00049
is the public value of the second IoT device,
Figure 112020055110693-pat00050
is a secret value of the first IoT device.

대칭키(

Figure 112020055110693-pat00051
)생성이 완료되면, 제1 사물인터넷 장치(110)는 패킷의 헤더에 주소에 관한 정보를 입력하고, 생성된 대칭키를 이용하여 페이로드 부분을 암호화한다. Symmetric key (
Figure 112020055110693-pat00051
) when the generation is completed, the first IoT device 110 inputs information about the address to the header of the packet, and encrypts the payload part using the generated symmetric key.

한편, 패킷의 헤더에는 제1 사물인터넷 장치의 실재 IP주소(

Figure 112020055110693-pat00052
), 제2 사물인터넷 장치의 가상 IP 주소(
Figure 112020055110693-pat00053
), 제1 사물인터넷 장치의 공개값(
Figure 112020055110693-pat00054
)을 탑재하는 옵션1 및 제2 사물인터넷 장치의 공개값(
Figure 112020055110693-pat00055
)을 탑재하는 옵션 2를 포함한다.Meanwhile, in the header of the packet, the real IP address (
Figure 112020055110693-pat00052
), the virtual IP address of the second IoT device (
Figure 112020055110693-pat00053
), the public value of the first IoT device (
Figure 112020055110693-pat00054
) of option 1 and second Internet of Things devices equipped with
Figure 112020055110693-pat00055
), including option 2 to mount.

생성된 패킷은 제1 게이트키퍼(210)에 전달된다. 그러면, 제1 게이트키퍼(210)는 전달받은 패킷의 헤더값을 변경하고, 변경된 패킷을 제2 사물인터넷 장치(120)를 향하여 브로드캐스팅한다(S330).The generated packet is transmitted to the first gatekeeper 210 . Then, the first gatekeeper 210 changes the header value of the received packet, and broadcasts the changed packet toward the second IoT device 120 (S330).

제1 게이트키퍼(210)는 전달받은 패킷에서 제1 사물인터넷 장치(110)의 공개값 및 실재 IP주소를 추출한다. 그리고, 제1 게이트키퍼(210)는 추출된 공개값를 이용하여 기 저장된 주소 매핑 테이블에서 제1 사물인터넷 장치(110)의 가상 IP주소를 획득한다. 그 다음, 제1 게이트키퍼(210)는 패킷의 헤더에 포함된 제1 사물인터넷 장치(110)의 실재 IP 주소를 획득한 가상 IP주소로 변경한다. The first gatekeeper 210 extracts the public value and the real IP address of the first IoT device 110 from the received packet. In addition, the first gatekeeper 210 obtains the virtual IP address of the first IoT device 110 from a pre-stored address mapping table by using the extracted public value. Next, the first gatekeeper 210 changes the real IP address of the first IoT device 110 included in the header of the packet to the obtained virtual IP address.

S330에서 전송된 패킷은 제2 사물인터넷 장치(120)가 접속되어 있는 서브 네트워크에 설치된 제2 게이트키퍼(220)에 먼저 도달한다. 그러면, 제2게이트키퍼(220)는 수신된 패킷의 헤더값을 변경하고, 변경된 패킷을 제2 사물인터넷 장치(120)에 전달한다(S340).The packet transmitted in S330 first arrives at the second gatekeeper 220 installed in the subnetwork to which the second IoT device 120 is connected. Then, the second gatekeeper 220 changes the header value of the received packet, and transmits the changed packet to the second IoT device 120 (S340).

특정 사물인터넷 장치(110,120,130,140)에 접근하기 위해서는 해당 사물인터넷 장치(110,120,130,140)가 접속되어 있는 게이트키퍼(210,220,230,240)를 먼저 경유해야 한다. 즉, 제1게이트키퍼(210)에서 브로드캐스팅된 패킷은 제2 사물인터넷 장치(120)에 도달하기 전에 제2 게이트키퍼(220)를 거치게 된다. 이때, 제2 게이트키퍼(220)는 수신된 패킷을 검증함으로써, 제2 사물인터넷 장치(120)에게 전달되는 패킷에 악성 또는 공격성을 포함하고 있는지의 여부를 구분하여 해커의 공격으로부터 사물인터넷 장치를 보호한다.In order to access a specific IoT device 110 , 120 , 130 , 140 , it is necessary to first pass through the gatekeepers 210 , 220 , 230 , 240 to which the corresponding IoT device 110 , 120 , 130 , and 140 are connected. That is, the packet broadcast from the first gatekeeper 210 passes through the second gatekeeper 220 before reaching the second IoT device 120 . At this time, by verifying the received packet, the second gatekeeper 220 distinguishes whether the packet delivered to the second IoT device 120 contains malicious or aggressive nature, thereby protecting the IoT device from hacker attacks. protect

검증이 완료되면, 제2 게이트키퍼(220)는 패킷의 헤더에 포함된 제2 사물인터넷 장치(120)의 공개값 및 가상 IP 주소를 추출한다. 그 다음, 제2 게이트키퍼(220)는 추출된 공개값을 이용하여 제2 사물인터넷 장치(120)의 실재 IP 주소를 획득한다. 제2 게이트키퍼(220)는 패킷이 헤더에 포함된 제2 사물인터넷 장치(120)의 가상 IP 주소를 획득한 실재 IP 주소로 변경한 다음, 변경된 패킷을 제2 사물인터넷 장치(120)에 전달한다. When the verification is completed, the second gatekeeper 220 extracts the public value and virtual IP address of the second IoT device 120 included in the header of the packet. Then, the second gatekeeper 220 acquires the real IP address of the second IoT device 120 using the extracted public value. The second gatekeeper 220 changes the virtual IP address of the second IoT device 120 included in the packet header to the real IP address obtained, and then transfers the changed packet to the second IoT device 120 . do.

패킷을 전달받은 제2 사물인터넷 장치(120)는 암호화된 패킷의 페이로드 부분을 복호화한다(S350).The second IoT device 120 receiving the packet decrypts the payload portion of the encrypted packet (S350).

부연하자면, 제2 사물인터넷 장치(120)는 수신된 패킷으로부터 제1 사물인터넷 장치의 공개값을 추출한다. 이때, 제2 사물인터넷 장치(120)는 수신된 패킷의 헤더에 포함된 옵션 필드로부터 제1 사물인터넷 장치의 공개값을 추출하거나, 패킷의 응용 계층 페이로드의 시작부분에 포함된 제1 사물인터넷 장치의 공개값을 추출한다. In other words, the second IoT device 120 extracts the public value of the first IoT device from the received packet. In this case, the second IoT device 120 extracts the public value of the first IoT device from the option field included in the header of the received packet, or the first IoT device included in the beginning of the application layer payload of the packet. Extract the public value of the device.

그 다음, 제2 사물인터넷 장치(120)는 하기의 수학식 3을 이용하여 대칭키를 산출한다. Then, the second IoT device 120 calculates a symmetric key using Equation 3 below.

Figure 112020055110693-pat00056
Figure 112020055110693-pat00056

여기서,

Figure 112020055110693-pat00057
는 제1 사물인터넷 장치의 공개값이고,
Figure 112020055110693-pat00058
는 제2 사물인터넷 장치의 비밀값이다. here,
Figure 112020055110693-pat00057
is a public value of the first IoT device,
Figure 112020055110693-pat00058
is a secret value of the second IoT device.

그리고, 제2 사물인터넷 장치(120)는 산출된 대칭키를 이용하여 패킷의 페이로드 부분을 복호화한다. Then, the second IoT device 120 decrypts the payload portion of the packet using the calculated symmetric key.

본 발명의 실시예에 따른 사물인터넷 보안 시스템은 사물인터넷 장치의 공개값을 이용하여 생성된 대칭키에 의해 장치와 장치 사이의 인증을 도모할 수 있고, 게이트키퍼는 공개값을 이용하여 생성된 패킷이 수신측 사물인터넷 장치에게 최종적으로 도달하도록 중계한다. 이때, 해커의 공격으로 인해 공개값이 조작되면, 조작된 패킷은 게이트키퍼에 의해 수신측 사물인터넷 장치에 전달될 수 없다. 그러므로, 본 발명의 실시예에 따른 사물인터넷 보안 시스템은 인증이 간단하고 비밀성을 강화할 수 있다. The IoT security system according to an embodiment of the present invention can promote authentication between the device and the device by a symmetric key generated using the public value of the IoT device, and the gatekeeper uses the public value It relays to finally arrive at the receiving-side IoT device. In this case, if the public value is manipulated due to a hacker attack, the manipulated packet cannot be delivered to the receiving-side IoT device by the gatekeeper. Therefore, the IoT security system according to the embodiment of the present invention can simplify authentication and enhance confidentiality.

이하에서는 도 4를 이용하여 본 발명의 다른 실시예에 따른 SDN 기반의 사물인터넷 보안 시스템을 이용하여 P2P통신 방법에 대하여 더욱 상세하게 설명한다. Hereinafter, a P2P communication method using an SDN-based IoT security system according to another embodiment of the present invention will be described in more detail with reference to FIG. 4 .

도 4는 본 발명의 다른 실시예에 따른 SDN을 기반의 사물인터넷 보안 시스템을 이용한 인증 및 P2P 통신을 수행하는 방법을 설명하기 위한 흐름도이다. 4 is a flowchart illustrating a method of performing authentication and P2P communication using an SDN-based IoT security system according to another embodiment of the present invention.

먼저, 제1사물인터넷 장치(110) 및 제2 사물인터넷 장치(120)는 각각 비밀값 및 공개값을 생성한다. 그리고, 제1사물인터넷 장치(110) 및 제2 사물인터넷 장치(120)는 해당되는 제1 게이트키퍼(210) 및 제2게이트키퍼(220)에게 주소 할당 요청 신호를 송신하고, 그에 따라 제1 게이트키퍼(210) 및 제2게이트키퍼(220)로부터 가상 IP 주소 및 실재 IP 주소를 할당 받은 상태라고 가정한다. First, the first IoT device 110 and the second IoT device 120 generate a secret value and a public value, respectively. Then, the first IoT device 110 and the second IoT device 120 transmit an address assignment request signal to the corresponding first gatekeeper 210 and the second gatekeeper 220, and accordingly, the first It is assumed that virtual IP addresses and real IP addresses are allocated from the gatekeeper 210 and the second gatekeeper 220 .

그 다음, 도 4에 도시된 바와 같이, 제1 사물인터넷 장치(110)는 인터넷 서버(300)에게 제2 사물인터넷장치(120)의 공개값 및 IP주소를 질의(query)하고, 그에 대한 정보를 수신한다(S410). Next, as shown in FIG. 4 , the first IoT device 110 queries the Internet server 300 for the public value and IP address of the second IoT device 120 , and information therefor is received (S410).

부연하자면, 제1 사물인터넷 장치(110)는 제1 게이트키퍼(210)로부터 주소를 할당받아 [식별명칭(

Figure 112020055110693-pat00059
), 비밀값(
Figure 112020055110693-pat00060
), 공개값(
Figure 112020055110693-pat00061
), 가상 IP 주소(
Figure 112020055110693-pat00062
), 실재 IP주소(
Figure 112020055110693-pat00063
)]의 데이터 구조를 포함하고 있고, 제1 게이트기퍼(210)는 수신된 공개값 및 할당된 주소 정보를 주소 매핑 테이블에 저장한 상태라고 가정한다. In other words, the first IoT device 110 receives an address assigned from the first gatekeeper 210 and [identification name (
Figure 112020055110693-pat00059
), secret value (
Figure 112020055110693-pat00060
), the public value (
Figure 112020055110693-pat00061
), the virtual IP address (
Figure 112020055110693-pat00062
), real IP address (
Figure 112020055110693-pat00063
)], and it is assumed that the first gatekeeper 210 stores the received public value and the allocated address information in the address mapping table.

그리고, 제1 사물인터넷 장치(110)가 식별명칭이

Figure 112020055110693-pat00064
인 제2사물인터넷 장치(120)에게 패킷을 송신하고자 할 경우, 제1 사물인터넷 장치(110)는 제2사물인터넷 장치의 식별명칭(
Figure 112020055110693-pat00065
)을 인터넷서버(300)에 전달하여 공개값 및 IP주소를 요청한다. And, the first IoT device 110 has an identification name
Figure 112020055110693-pat00064
When a packet is to be transmitted to the second IoT device 120, the first IoT device 110 provides an identification name (
Figure 112020055110693-pat00065
) to the Internet server 300 to request a public value and an IP address.

그러면, 인터넷 서버(300)는 데이터베이스에 저장된 등록정보를 이용하여 식별명칭(

Figure 112020055110693-pat00066
)에 매칭되는 공개값(
Figure 112020055110693-pat00067
) 및 가상 IP 주소(vIP_
Figure 112020055110693-pat00068
)를 추출한 다음, 추출된 공개값(
Figure 112020055110693-pat00069
) 및 가상 IP 주소(
Figure 112020055110693-pat00070
)를 제1 사물인터넷 장치(110)에 응답형식으로 전달한다.Then, the Internet server 300 uses the registration information stored in the database to identify the name (
Figure 112020055110693-pat00066
) matching public values (
Figure 112020055110693-pat00067
) and virtual IP address (vIP_
Figure 112020055110693-pat00068
), then the extracted public value (
Figure 112020055110693-pat00069
) and virtual IP address (
Figure 112020055110693-pat00070
) to the first IoT device 110 in the form of a response.

S410단계가 완료되면, 제1 사물인터넷 장치(110)는 대칭키를 생성하고, 생성된 대칭키를 이용하여 페이로드 부분이 암호화된 패킷을 생성하여 송신한다(S420).When step S410 is completed, the first IoT device 110 generates a symmetric key, and uses the generated symmetric key to generate and transmit a packet in which the payload portion is encrypted (S420).

제1 사물인터넷 장치(110)는 수학식 2를 이용하여 대칭키를 생성한다. 즉, 인터넷 서버(300)로부터 전달받은 제2 사물인터넷 장치(120)의 공개값(

Figure 112020055110693-pat00071
)과 자신의 비밀값(
Figure 112020055110693-pat00072
)을 이용하여 대칭키(
Figure 112020055110693-pat00073
)를 생성한다. The first IoT device 110 generates a symmetric key using Equation (2). That is, the public value of the second IoT device 120 received from the Internet server 300 (
Figure 112020055110693-pat00071
) and its secret value (
Figure 112020055110693-pat00072
) using the symmetric key (
Figure 112020055110693-pat00073
) is created.

그리고, 제1 사물인터넷 장치(110)는 생성된 대칭키를 이용하여 패킷의 페이로드 부분을 암호화한다. 이때, 패킷의 헤더는 주소 정보를 포함하며, [S.IP= rIP_

Figure 112020055110693-pat00074
, D.IP= vIP_
Figure 112020055110693-pat00075
, Op.1=
Figure 112020055110693-pat00076
, Op.2=
Figure 112020055110693-pat00077
]로 구성된다.Then, the first IoT device 110 encrypts the payload portion of the packet using the generated symmetric key. At this time, the header of the packet includes address information, [S.IP= rIP_
Figure 112020055110693-pat00074
, D.IP= vIP_
Figure 112020055110693-pat00075
, Op.1=
Figure 112020055110693-pat00076
, Op.2=
Figure 112020055110693-pat00077
] is composed of

그리고, 생성된 패킷은 목적지인 제2 사물인터넷 장치(120)로 전송된다. 전송된 패킷은 제1 게이트키퍼(210)에 도달하게 된다. 그러면, 제1 게이트키퍼(210)는 패킷의 헤더를 [S.IP= vIP_

Figure 112020055110693-pat00078
, D.IP= vIP_
Figure 112020055110693-pat00079
, Op.1=
Figure 112020055110693-pat00080
, , Op.2=
Figure 112020055110693-pat00081
]로 변경한 다음, 제2 사물인터넷 장치(120)가 접속되어 있는 제2 게이트키퍼(220) 방향으로 브로드캐스팅한다. Then, the generated packet is transmitted to the second IoT device 120 as a destination. The transmitted packet arrives at the first gatekeeper 210 . Then, the first gatekeeper 210 sets the header of the packet to [S.IP=vIP_
Figure 112020055110693-pat00078
, D.IP= vIP_
Figure 112020055110693-pat00079
, Op.1=
Figure 112020055110693-pat00080
, , Op.2=
Figure 112020055110693-pat00081
], and then broadcast in the direction of the second gatekeeper 220 to which the second IoT device 120 is connected.

브로드캐스팅된 패킷은 인터넷을 통상적인 방법으로 경유하여 제2 게이트키퍼(220)에 도달한다. 그러면, 제2 게이트키퍼(220)는 도달한 패킷의 보안성을 검증하고, 패킷의 헤더를 [S.IP= vIP_

Figure 112020055110693-pat00082
, D.IP= rIP_
Figure 112020055110693-pat00083
, Op.1=
Figure 112020055110693-pat00084
, , Op.2=
Figure 112020055110693-pat00085
]로 변경한다. 그리고, 변경된 패킷을 실질적으로 rIP_
Figure 112020055110693-pat00086
를 사용하는 제2 사물인터넷 장치(120)에 전달한다. The broadcast packet arrives at the second gatekeeper 220 via the Internet in a conventional manner. Then, the second gatekeeper 220 verifies the security of the arrived packet, and sets the header of the packet to [S.IP=vIP_
Figure 112020055110693-pat00082
, D.IP= rIP_
Figure 112020055110693-pat00083
, Op.1=
Figure 112020055110693-pat00084
, , Op.2=
Figure 112020055110693-pat00085
change to ]. And, the changed packet is effectively rIP_
Figure 112020055110693-pat00086
is transmitted to the second IoT device 120 using

그러면, 제2 사물인터넷 장치(120)는 수신된 패킷의 페이로드 부분을 복호화하며, 세션 요청에 대한 수락 여부를 결정한다(S430). Then, the second IoT device 120 decodes the payload portion of the received packet and determines whether to accept the session request ( S430 ).

부연하자면, 제2 사물인터넷 장치(120)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제1 사물인터넷 장치(110)의 공개값(

Figure 112020055110693-pat00087
) 을 추출한다. 그리고, 제2 사물인터넷 장치(120)는 패킷에 포함된 페이로드의 시작 부분에서 제1 사물인터넷 장치의 공개값(
Figure 112020055110693-pat00088
)을 추출한다. 그리고, 헤더에서 추출된 공개값(
Figure 112020055110693-pat00089
)과 페이로드에서 추출된 공개값(
Figure 112020055110693-pat00090
)을 상호 비교하여 두 값이 동일한지 여부를 판단한다. In other words, the second IoT device 120 receives the public value ( (
Figure 112020055110693-pat00087
) is extracted. Then, the second IoT device 120 sets the public value (
Figure 112020055110693-pat00088
) is extracted. And, the public value extracted from the header (
Figure 112020055110693-pat00089
) and the public value extracted from the payload (
Figure 112020055110693-pat00090
) to determine whether the two values are the same.

비교한 결과 두 값이 동일하면, 제2 사물인터넷 장치(120)는 추출된 제1 사물인터넷 장치(110)의 공개값(

Figure 112020055110693-pat00091
)과 자신의 비밀값(
Figure 112020055110693-pat00092
)을 상기의 수학식 3에 대입하여 대칭키(
Figure 112020055110693-pat00093
)를 산출한다. As a result of the comparison, if the two values are the same, the second IoT device 120 sets the extracted public value (
Figure 112020055110693-pat00091
) and its secret value (
Figure 112020055110693-pat00092
) by substituting Equation 3 above, the symmetric key (
Figure 112020055110693-pat00093
) is calculated.

그 다음, 제2 사물인터넷 장치(120)는 생성된 대칭키를 이용하여 페이로드 부분을 복호화한다. Then, the second IoT device 120 decrypts the payload portion using the generated symmetric key.

S430단계에서 세션 요청에 대한 수락이 결정되면, 제2 사물인터넷 장치(120)는 세션 요청 수락에 대한 응답 패킷을 생성하여 송신한다(S440). When it is determined to accept the session request in step S430, the second IoT device 120 generates and transmits a response packet for accepting the session request (S440).

이때, 세션 요청 수락을 한 시점 이후에 송수신 되는 패킷은 S410 및 제430단계에서 암호화/복호화함에 따라 산출된 대칭키를 그대로 사용한다. At this time, the packets transmitted and received after the time of accepting the session request use the symmetric key calculated by encryption/decryption in steps S410 and 430 as they are.

즉, 제2 사물인터넷 장치(120)는 복호화를 위해 생성된 대칭키(

Figure 112020055110693-pat00094
)를 이용하여 응답 패킷의 페이로드 부분을 암호화한다. 그리고, 응답 패킷의 헤더에는 [S.IP= rIP_
Figure 112020055110693-pat00095
, D.IP= vIP_
Figure 112020055110693-pat00096
, Op.1=
Figure 112020055110693-pat00097
, Op.2=
Figure 112020055110693-pat00098
]를 포함한다. That is, the second IoT device 120 generates a symmetric key (
Figure 112020055110693-pat00094
) to encrypt the payload part of the response packet. And, in the header of the response packet, [S.IP= rIP_
Figure 112020055110693-pat00095
, D.IP= vIP_
Figure 112020055110693-pat00096
, Op.1=
Figure 112020055110693-pat00097
, Op.2=
Figure 112020055110693-pat00098
] is included.

그리고, 생성된 패킷은 목적지인 제1 사물인터넷 장치(110)로 전송된다. 전송된 패킷은 제2 게이트키퍼(200)에 도달하게 된다. 그러면, 제2 게이트키퍼(220)는 패킷의 헤더를 [S.IP= vIP_

Figure 112020055110693-pat00099
, vIP_
Figure 112020055110693-pat00100
, Op.1=
Figure 112020055110693-pat00101
, Op.2=
Figure 112020055110693-pat00102
]로 변경한 다음, 제1 사물인터넷 장치(110)가 접속되어 있는 제1 게이트키퍼(210) 방향으로 브로드캐스팅한다. Then, the generated packet is transmitted to the first IoT device 110 as a destination. The transmitted packet arrives at the second gatekeeper 200 . Then, the second gatekeeper 220 sets the header of the packet to [S.IP=vIP_
Figure 112020055110693-pat00099
, vIP_
Figure 112020055110693-pat00100
, Op.1=
Figure 112020055110693-pat00101
, Op.2=
Figure 112020055110693-pat00102
], and then broadcast in the direction of the first gatekeeper 210 to which the first IoT device 110 is connected.

브로드캐스팅된 패킷은 인터넷을 통상적인 방법으로 경유하여 제1 게이트키퍼(210)에 도달한다. 그러면, 제1 게이트키퍼(210)는 도달한 패킷의 보안성을 검증하고, 패킷의 헤더를 [S.IP= vIP_

Figure 112020055110693-pat00103
, rIP_
Figure 112020055110693-pat00104
, Op.1=
Figure 112020055110693-pat00105
, Op.2=
Figure 112020055110693-pat00106
]로 변경한다. 그리고, 변경된 패킷을 실질적으로 rIP_
Figure 112020055110693-pat00107
를 사용하는 제1 사물인터넷 장치(110)에 전달한다. The broadcast packet arrives at the first gatekeeper 210 via the Internet in a conventional manner. Then, the first gatekeeper 210 verifies the security of the arrived packet, and sets the header of the packet to [S.IP=vIP_
Figure 112020055110693-pat00103
, rIP_
Figure 112020055110693-pat00104
, Op.1=
Figure 112020055110693-pat00105
, Op.2=
Figure 112020055110693-pat00106
change to ]. And, the changed packet is effectively rIP_
Figure 112020055110693-pat00107
is transmitted to the first IoT device 110 using

그러면, 제1 사물인터넷 장치(110)는 수신된 패킷의 페이로드 부분을 복호화한다(S450). Then, the first IoT device 110 decodes the payload portion of the received packet (S450).

부연하자면, 제1 사물인터넷 장치(110)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제2 사물인터넷 장치(120)의 공개값(

Figure 112020055110693-pat00108
) 을 추출한다. 그리고, 제1 사물인터넷 장치(110)는 패킷에 포함된 페이로드의 시작 부분에서 제2 사물인터넷 장치의 공개값(
Figure 112020055110693-pat00109
)을 추출한다. 그리고, 헤더에서 추출된 공개값(
Figure 112020055110693-pat00110
)과 페이로드에서 추출된 공개값(
Figure 112020055110693-pat00111
)을 상호 비교하여 두 값이 동일한지 여부를 판단한다. In other words, the first IoT device 110 receives the public value ( (
Figure 112020055110693-pat00108
) is extracted. Then, the first IoT device 110 sets the public value (
Figure 112020055110693-pat00109
) is extracted. And, the public value extracted from the header (
Figure 112020055110693-pat00110
) and the public value extracted from the payload (
Figure 112020055110693-pat00111
) to determine whether the two values are the same.

비교한 결과 두 값이 동일하면, 제1 사물인터넷 장치(110)는 추출된 제2 사물인터넷 장치(120)의 공개값(

Figure 112020055110693-pat00112
)과 자신의 비밀값(
Figure 112020055110693-pat00113
)을 상기의 수학식 2에 대입하여 대칭키(
Figure 112020055110693-pat00114
)를 산출한다. 그리고 제1 사물인터넷 장치는 산출된 대칭키를 이용하여 패킷의 페이로드부분을 복호화한다. If the two values are the same as a result of the comparison, the first IoT device 110 sets the extracted public value (
Figure 112020055110693-pat00112
) and its secret value (
Figure 112020055110693-pat00113
) by substituting in Equation 2 above, the symmetric key (
Figure 112020055110693-pat00114
) is calculated. Then, the first IoT device decrypts the payload portion of the packet using the calculated symmetric key.

세션 요청에 대한 수락 응답이 완료되면, 제1 사물인터넷 장치(110)와 제2 사물인터넷 장치(120)는 양향방 P2P 통신을 수행한다(S460).When the acceptance response to the session request is completed, the first IoT device 110 and the second IoT device 120 perform two-way P2P communication (S460).

즉, 제1 사물인터넷 장치(110)가 대칭키(

Figure 112020055110693-pat00115
)를 이용하여 페이로드 부분이 암호화된 패킷을 생성하여 전송하면, 전송된 패킷은 소속된 제1 게이트키퍼(210)에 도달하지 않고 제2 사물인터넷 장치(120)가 소속되어 있는 제2 게이트키퍼(220)에 도달한다. 그러면, 제2 게이트키퍼(220)는 수신된 패킷에 대한 검증 및 주소변환 과정을 수행한 다음, 패킷의 헤더값이 변경된 패킷을 제2 사물인터넷 장치(120)에게 전달한다. 그러면, 제2 사물인터넷 장치(120)는 대칭키(
Figure 112020055110693-pat00116
)를 이용하여 페이로드 부분이 암호화된 패킷을 복호화한다. That is, the first IoT device 110 uses a symmetric key (
Figure 112020055110693-pat00115
) to generate and transmit a packet whose payload part is encrypted, the transmitted packet does not reach the first gatekeeper 210 to which it belongs, but to the second gatekeeper to which the second IoT device 120 belongs. (220) is reached. Then, the second gatekeeper 220 performs verification and address conversion on the received packet, and then transmits the packet in which the header value of the packet is changed to the second IoT device 120 . Then, the second IoT device 120 uses the symmetric key (
Figure 112020055110693-pat00116
) to decrypt the packet whose payload part is encrypted.

마찬가지로, 제2 사물인터넷 장치(120)가 대칭키(

Figure 112020055110693-pat00117
)를 이용하여 페이로드 부분이 암호화된 패킷을 생성하여 전송하면, 전송된 패킷은 소속된 제2 게이트키퍼(220)에 도달하지 않고 제1 사물인터넷 장치(110)가 소속되어 있는 제1 게이트키퍼(210)에 도달한다. 그러면, 제1 게이트키퍼(210)는 수신된 패킷에 대한 검증 및 주소변환 과정을 수행한 다음, 패킷의 헤더값이 변경된 패킷을 제1 사물인터넷 장치(110)에게 전달한다. 그러면, 제1 사물인터넷 장치(110)는 대칭키(
Figure 112020055110693-pat00118
)를 이용하여 페이로드 부분이 암호화된 패킷을 복호화한다. Similarly, the second IoT device 120 uses a symmetric key (
Figure 112020055110693-pat00117
) is used to generate and transmit a packet whose payload part is encrypted, the transmitted packet does not reach the second gatekeeper 220 to which it belongs, but to the first gatekeeper to which the first IoT device 110 belongs. (210) is reached. Then, the first gatekeeper 210 performs verification and address conversion on the received packet, and then transmits the packet in which the header value of the packet is changed to the first IoT device 110 . Then, the first IoT device 110 uses the symmetric key (
Figure 112020055110693-pat00118
) to decrypt the packet whose payload part is encrypted.

이하에서는 도 5 및 도 6을 이용하여 본 발명의 다른 실시예에 따른 DNS기반에서의 응용계층 보안이 가능한 사물인터넷 장치의 통신 방법에 대해 더욱 상세하게 설명한다. Hereinafter, a communication method of an IoT device capable of application layer security based on DNS according to another embodiment of the present invention will be described in more detail with reference to FIGS. 5 and 6 .

도 5는 본 발명의 다른 실시예에 따른 DNS기반의 사물인터넷 보안 시스템을 이용하여 사물인터넷 장치 간의 인증 및 통신을 수행하는 방법을 설명하기 위한 흐름도이다. 5 is a flowchart illustrating a method of performing authentication and communication between IoT devices using a DNS-based IoT security system according to another embodiment of the present invention.

먼저, 제1사물인터넷 장치(110) 및 제2 사물인터넷 장치(120)는 각각 비밀값 및 공개값을 생성한다. 그리고, 제1사물인터넷 장치(110) 및 제2 사물인터넷 장치(120)는 해당되는 제1 게이트키퍼(210) 및 제2게이트키퍼(220)에게 주소 할당 요청 신호를 송신하고, 그에 따라 제1 게이트키퍼(210) 및 제2게이트키퍼(220)로부터 가상 IP 주소 및 실재 IP 주소를 할당 받은 상태라고 가정한다. First, the first IoT device 110 and the second IoT device 120 generate a secret value and a public value, respectively. Then, the first IoT device 110 and the second IoT device 120 transmit an address assignment request signal to the corresponding first gatekeeper 210 and the second gatekeeper 220, and accordingly, the first It is assumed that virtual IP addresses and real IP addresses are allocated from the gatekeeper 210 and the second gatekeeper 220 .

그 다음 도 5에 도시된 바와 같이, 제1사물인터넷 장치(110)는 인터넷 서버(300)에게 제2 사물인터넷장치(120)의 IP주소를 질의(query)하고, 그에 대한 정보를 수신한다(S510). Then, as shown in FIG. 5 , the first IoT device 110 queries the Internet server 300 for the IP address of the second IoT device 120 and receives information about it ( S510).

부연하자면, 식별명칭이

Figure 112021048547577-pat00119
이고, 제1 게이트키퍼(210)로부터 [
Figure 112021048547577-pat00120
, vIP_
Figure 112021048547577-pat00121
, rIP_
Figure 112021048547577-pat00122
]의 매핑 엔트리 정보를 할당받은 제1 사물인터넷 장치(110)가 식별명칭이
Figure 112021048547577-pat00123
인 제2사물인터넷 장치(120)에게 패킷을 송신하고자 할 경우, 제1 사물인터넷 장치(110)는 제2사물인터넷 장치의 도메인 식별명칭(
Figure 112021048547577-pat00124
.utopia.com)을 인터넷서버(300)에 전달하여 공개값 및 IP주소를 요청한다. In other words, the identification name is
Figure 112021048547577-pat00119
and from the first gatekeeper 210 [
Figure 112021048547577-pat00120
, vIP_
Figure 112021048547577-pat00121
, rIP_
Figure 112021048547577-pat00122
The first IoT device 110 to which the mapping entry information of ] is assigned has an identification name
Figure 112021048547577-pat00123
When a packet is to be transmitted to the second IoT device 120, the first IoT device 110 sets the domain identification name (
Figure 112021048547577-pat00124
utopia.com) to the Internet server 300 to request a public value and an IP address.

한편, DNS기반의 인터넷 서버(300)는 복수의 소속 서버(AU)로 구성된다. 소속 서버는 가장 상위에 있는 루트 도메인 서버와, 복수의 하위 도메인 서버를 포함한다. 한편, 루트 도메인 서버의 IP 주소는 변경되지 않으므로 복수의 모든 도메인 서버들은 루트 도메인 서버를 인지하고 있다. On the other hand, the DNS-based Internet server 300 is composed of a plurality of affiliated servers (AU). The affiliated server includes a root domain server at the highest level and a plurality of sub-domain servers. Meanwhile, since the IP address of the root domain server is not changed, all of the plurality of domain servers recognize the root domain server.

이하에서는 도 6을 이용하여 제1 사물인터넷 장치(110)가 복수의 소속 서버와의 질의를 통해 제2 사물인터넷 장치(120)의 공개값 및 주소 정보를 획득하는 과정을 설명한다. Hereinafter, a process in which the first IoT device 110 acquires public values and address information of the second IoT device 120 through a query with a plurality of affiliated servers will be described with reference to FIG. 6 .

도 6은 도 5 에 도시된 S510단계를 설명하기 위한 도면이다. FIG. 6 is a view for explaining step S510 shown in FIG. 5 .

도 6에 도시된 바와 같이, 먼저 제1 사물인터넷 장치(110)는 제2 사물인터넷 장치(120)의 공개값 및 주소를 알아내기 위하여 가장 가까운 곳에 위치하는 DNS 서버에 IP 주소를 문의한다(S511).As shown in FIG. 6 , first, the first IoT device 110 inquires for an IP address of the DNS server located closest to the second IoT device 120 to find out the public value and address of the second IoT device 120 ( S511 ). ).

가장 가까운 곳에 위치하는 DNS 서버(이하 "제1 소속서버"라고 함)가 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 알고 있다면 즉시 공개값 및 IP주소를 제공한다. 반면에 제1 소속서버가 제2 사물인터넷 장치(120)의 I공개값 및 IP주소를 모를 경우, 제1 소속서버는 루트 도메인서버에 문의를 요청한다(S512). If the nearest DNS server (hereinafter referred to as a “first affiliated server”) knows the public value and IP address of the second IoT device 120 , it immediately provides the public value and IP address. On the other hand, when the first affiliate server does not know the public I value and IP address of the second IoT device 120, the first affiliate server requests an inquiry from the root domain server (S512).

루트 도메인서버는 제2 사물인터넷 장치(120)의 도메인 식별 명칭을 이용하여 관련 소속서버의 IP주소를 제1 소속서버에 전달한다(S513). The root domain server transmits the IP address of the related affiliate server to the first affiliate server using the domain identification name of the second IoT device 120 (S513).

예를 들어, 제2 사물인터넷 장치(120)의 도메인 식별 명칭이

Figure 112020055110693-pat00125
.utopia.com일 경우, 최상위 도메인이 ".com"이 된다. 따라서, 루트 도메인서버는 ".com"이 등록된 소속 서버의 IP주소를 제1 소속서버에 전달한다. For example, the domain identification name of the second IoT device 120 is
Figure 112020055110693-pat00125
If it is .utopia.com, the top-level domain will be ".com". Accordingly, the root domain server transfers the IP address of the affiliated server where ".com" is registered to the first affiliated server.

그러면, 제1 소속서버는 ".com"을 관리하는 네임서버에게 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 문의한다(S514). Then, the first affiliated server inquires the public value and IP address of the second IoT device 120 from the name server managing ".com" (S514).

그러면,".com"네임서버는 자신의 데이터베이스를 이용하여 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 검색한다. 검색된 결과 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 모를 경우, ".com"네임서버는 하위서버인 "utopia"의 네임서버의 IP주소를 제1 소속서버에 제공한다(S515). Then, the ".com" name server searches for the public value and IP address of the second IoT device 120 using its own database. As a result of the search, if the public value and IP address of the second IoT device 120 are unknown, the ".com" name server provides the IP address of the name server of "utopia", which is a subordinate server, to the first affiliated server (S515). .

제1 소속서버는 ".com"네임서버로부터 전달받은 "utopia"의 네임서버의 IP주소를 이용하여 "utopia"의 네임서버에게 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 문의한다(S516).The first affiliated server inquires the public value and IP address of the second IoT device 120 from the name server of "utopia" using the IP address of the name server of "utopia" received from the name server of ".com". (S516).

마지막으로"utopia"의 네임서버는 자신의 데이터베이스를 이용하여 문의받은 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 검색한다. 그리고, 제2 사물인터넷 장치(120)의 공개값 및 IP주소가 검색되면, "utopia"의 네임서버는 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 추출하여 제1 소속서버에게 제공한다(S517). Finally, the name server of “utopia” searches for the public value and IP address of the second IoT device 120 inquired by using its own database. Then, when the public value and IP address of the second IoT device 120 are found, the name server of “utopia” extracts the public value and IP address of the second IoT device 120 and provides it to the first affiliated server do (S517).

그러면, 제1 소속서버는 제2 사물인터넷 장치(120)의 공개값(

Figure 112020055110693-pat00126
) 및 IP주소(vIP_
Figure 112020055110693-pat00127
)를 제1 사물인터넷 장치(110)에게 전달한다(S518). Then, the first affiliated server transmits the public value (
Figure 112020055110693-pat00126
) and IP address (vIP_
Figure 112020055110693-pat00127
) to the first IoT device 110 (S518).

S510 단계를 완료하면, 제1 사물인터넷 장치(110)는 대칭키를 이용하여 페이로드 부분이 암호화된 HTTP요청 패킷을 생성하고, 생성된 HTTP요청 패킷을 제2 사물인터넷 장치(120)에게 송신한다(S520). Upon completion of step S510 , the first IoT device 110 generates an HTTP request packet in which the payload portion is encrypted using the symmetric key, and transmits the generated HTTP request packet to the second IoT device 120 . (S520).

부연하자면, 제1 사물인터넷 장치(110)는 인터넷 서버(300)로부터 수신된 제2 사물인터넷 장치(120)의 공개값(

Figure 112020055110693-pat00128
)과 자신의 비밀값(
Figure 112020055110693-pat00129
)을 수학식 2에 대입하여 대칭키(
Figure 112020055110693-pat00130
)를 산출한다. In other words, the first IoT device 110 receives the public value (
Figure 112020055110693-pat00128
) and its secret value (
Figure 112020055110693-pat00129
) by substituting the symmetric key (
Figure 112020055110693-pat00130
) is calculated.

그리고, 제1 사물인터넷 장치(110)는 산출된 대칭키(

Figure 112020055110693-pat00131
)를 이용하여 페이로드 부분이 암호화된 HTTP요청 패킷을 생성한다. 이때, HTTP요청 패킷의 헤더의 관련 필드는 [S.IP= rIP_
Figure 112020055110693-pat00132
, D.IP= vIP_
Figure 112020055110693-pat00133
, Op.1=
Figure 112020055110693-pat00134
, Op.2=
Figure 112020055110693-pat00135
]로 구성된다. 생성된 HTTP요청 패킷은 제2 사물인터넷 장치(120)를 향하여 전송된다. 전송된 HTTP요청 패킷은 제2 사물인터넷 장치(120)에 전달되기 전에 제1 게이트키퍼(210)에 도달하며, 제1 게이트키퍼(210)는 HTTP요청 패킷의 헤더를 [S.IP= vIP_
Figure 112020055110693-pat00136
, D.IP= vIP_
Figure 112020055110693-pat00137
, Op.1=
Figure 112020055110693-pat00138
, Op.2=
Figure 112020055110693-pat00139
]로 변경한다. 그 다음, 제1 게이트키퍼(210)는 제2 사물인터넷 장치(120)가 속한 제2 게이트키퍼(220)방향으로 HTTP요청 패킷을 브로드캐스팅한다. In addition, the first IoT device 110 uses the calculated symmetric key (
Figure 112020055110693-pat00131
) to create an HTTP request packet with the payload part encrypted. At this time, the relevant field of the header of the HTTP request packet is [S.IP= rIP_
Figure 112020055110693-pat00132
, D.IP= vIP_
Figure 112020055110693-pat00133
, Op.1=
Figure 112020055110693-pat00134
, Op.2=
Figure 112020055110693-pat00135
] is composed of The generated HTTP request packet is transmitted toward the second IoT device 120 . The transmitted HTTP request packet arrives at the first gatekeeper 210 before being delivered to the second IoT device 120, and the first gatekeeper 210 sets the header of the HTTP request packet to [S.IP=vIP_
Figure 112020055110693-pat00136
, D.IP= vIP_
Figure 112020055110693-pat00137
, Op.1=
Figure 112020055110693-pat00138
, Op.2=
Figure 112020055110693-pat00139
change to ]. Next, the first gatekeeper 210 broadcasts the HTTP request packet in the direction of the second gatekeeper 220 to which the second IoT device 120 belongs.

HTTP요청 패킷은 인터넷을 통상적인 방법으로 경유하여 제2 게이트키퍼(220)에 도달한다. 그러면, 제2 게이트키퍼(220)는 패킷을 검증하고, 검증이 완료된 패킷의 헤더를 [S.IP= vIP_

Figure 112020055110693-pat00140
, D.IP= rIP_
Figure 112020055110693-pat00141
, Op.1=
Figure 112020055110693-pat00142
, Op.2=
Figure 112020055110693-pat00143
]로 변경한 다음, 변경된 HTTP요청 패킷을 실질적으로 rIP_
Figure 112020055110693-pat00144
를 사용하는 제2 사물인터넷 장치(120)에 전달한다. The HTTP request packet arrives at the second gatekeeper 220 via the Internet in a conventional manner. Then, the second gatekeeper 220 verifies the packet, and sets the header of the verified packet to [S.IP=vIP_
Figure 112020055110693-pat00140
, D.IP= rIP_
Figure 112020055110693-pat00141
, Op.1=
Figure 112020055110693-pat00142
, Op.2=
Figure 112020055110693-pat00143
], then the changed HTTP request packet is effectively rIP_
Figure 112020055110693-pat00144
is transmitted to the second IoT device 120 using

그러면, 제2 사물인터넷 장치(120)는 수신된 패킷의 페이로드 부분을 복호화한다(S530). Then, the second IoT device 120 decodes the payload portion of the received packet (S530).

부연하자면, 제2 사물인터넷 장치(120)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제1 사물인터넷 장치(120)의 공개값(

Figure 112020055110693-pat00145
) 을 추출한다. 그리고, 제2 사물인터넷 장치(110)는 패킷에 포함된 페이로드의 시작 부분에서 제1 사물인터넷 장치의 공개값(
Figure 112020055110693-pat00146
)을 추출한다. 그리고, 헤더에서 추출된 공개값(
Figure 112020055110693-pat00147
)과 페이로드에서 추출된 공개값(
Figure 112020055110693-pat00148
)을 상호 비교하여 두 값이 동일한지 여부를 판단한다. In other words, the second IoT device 120 receives the public value ( (
Figure 112020055110693-pat00145
) is extracted. In addition, the second IoT device 110 sets the public value (
Figure 112020055110693-pat00146
) is extracted. And, the public value extracted from the header (
Figure 112020055110693-pat00147
) and the public value extracted from the payload (
Figure 112020055110693-pat00148
) to determine whether the two values are the same.

비교한 결과 두 값이 동일하면, 제2 사물인터넷 장치(120)는 추출된 제1 사물인터넷 장치(120)의 공개값(

Figure 112020055110693-pat00149
)과 자신의 비밀값(
Figure 112020055110693-pat00150
)을 상기의 수학식 3에 대입하여 대칭키(
Figure 112020055110693-pat00151
)를 산출한다. 그리고 제2 사물인터넷 장치(120)는 산출된 대칭키를 이용하여 패킷의 페이로드부분을 복호화한다. If the two values are the same as a result of the comparison, the second IoT device 120 sets the extracted public value (
Figure 112020055110693-pat00149
) and its secret value (
Figure 112020055110693-pat00150
) by substituting Equation 3 above, the symmetric key (
Figure 112020055110693-pat00151
) is calculated. Then, the second IoT device 120 decrypts the payload portion of the packet using the calculated symmetric key.

그 다음, 제2 사물인터넷 장치(120)가 제1 사물인터넷 장치(110)의 HTTP요청에 의해 명시된 파일 정보를 제공해 줄 수 있다면, 제2 사물인터넷 장치(120)는 대칭키(

Figure 112020055110693-pat00152
)를 이용하여 페이로드 부분이 암호화된 HTTP 응답 패킷을 생성하고, 생성된 HTTP 응답 패킷을 제1 사물인터넷 장치(110)로 향하여 송신한다(S540).Then, if the second IoT device 120 can provide the file information specified by the HTTP request of the first IoT device 110 , the second IoT device 120 uses the symmetric key (
Figure 112020055110693-pat00152
) to generate an HTTP response packet in which the payload portion is encrypted, and transmit the generated HTTP response packet to the first IoT device 110 (S540).

즉, 제2 사물인터넷 장치(120)는 S530단계에서 산출된 대칭키(

Figure 112020055110693-pat00153
)를 이용하여 페이로드 부분이 암호화된 HTTP 응답 패킷을 생성한다. 이때, HTTP 응답 패킷의 헤더에는 [S.IP=rIP_
Figure 112020055110693-pat00154
, D.IP= vIP_
Figure 112020055110693-pat00155
, Op.1=
Figure 112020055110693-pat00156
, Op.2=
Figure 112020055110693-pat00157
]의 주소 정보를 포함한다. That is, the second IoT device 120 uses the symmetric key (
Figure 112020055110693-pat00153
) to generate an HTTP response packet in which the payload part is encrypted. At this time, in the header of the HTTP response packet, [S.IP=rIP_
Figure 112020055110693-pat00154
, D.IP= vIP_
Figure 112020055110693-pat00155
, Op.1=
Figure 112020055110693-pat00156
, Op.2=
Figure 112020055110693-pat00157
] contains address information.

생성된 HTTP 응답 패킷은 제1 사물인터넷 장치(110)에게 송신된다. 송신된 HTTP 응답 패킷은 제2 게이트키퍼(220)에 먼저 도달하게 되고, 제2 게이트키퍼(220)는 패킷 헤더를 [S.IP=vIP_

Figure 112020055110693-pat00158
, D.IP= vIP_
Figure 112020055110693-pat00159
, Op.1=
Figure 112020055110693-pat00160
, Op.2=
Figure 112020055110693-pat00161
]로 변경하여 제1 사물인터넷 장치(110)에 소속되어 있는 제1 게이트키퍼(210)에 브로드캐스팅한다. The generated HTTP response packet is transmitted to the first IoT device 110 . The transmitted HTTP response packet arrives at the second gatekeeper 220 first, and the second gatekeeper 220 sets the packet header to [S.IP=vIP_
Figure 112020055110693-pat00158
, D.IP= vIP_
Figure 112020055110693-pat00159
, Op.1=
Figure 112020055110693-pat00160
, Op.2=
Figure 112020055110693-pat00161
] to broadcast to the first gatekeeper 210 belonging to the first IoT device 110 .

브로드캐스팅된 HTTP 응답 패킷은 인터넷의 통상적인 방법으로 경유하여 제1 게이트키퍼(210)에 도달한다. 그러면, 제1 게이트키퍼(210)는 도달한 패킷의 보안성을 검증하고, 패킷의 헤더를 [S.IP=vIP_

Figure 112020055110693-pat00162
, D.IP= rIP_
Figure 112020055110693-pat00163
, Op.1=
Figure 112020055110693-pat00164
, Op.2=
Figure 112020055110693-pat00165
]로 변경한다. 그리고, 변경된 패킷을 실질적으로 rIP_
Figure 112020055110693-pat00166
를 사용하는 제1 사물인터넷 장치(110)에 전달한다.The broadcast HTTP response packet arrives at the first gatekeeper 210 via a conventional method of the Internet. Then, the first gatekeeper 210 verifies the security of the arrived packet, and sets the header of the packet to [S.IP=vIP_
Figure 112020055110693-pat00162
, D.IP= rIP_
Figure 112020055110693-pat00163
, Op.1=
Figure 112020055110693-pat00164
, Op.2=
Figure 112020055110693-pat00165
change to ]. And, the changed packet is effectively rIP_
Figure 112020055110693-pat00166
is transmitted to the first IoT device 110 using

그러면, 제1 사물인터넷 장치(110)는 전달받은 패킷의 페이로드 부분을 복호화한다(S550)Then, the first IoT device 110 decodes the payload portion of the received packet (S550).

제1 사물인터넷 장치(110)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제2 사물인터넷 장치(120)의 공개값(

Figure 112020055110693-pat00167
) 을 추출한다. 그리고, 제1 사물인터넷 장치(110)는 패킷에 포함된 페이로드의 시작 부분에서 제2 사물인터넷 장치의 공개값(
Figure 112020055110693-pat00168
)을 추출한다. 그리고, 헤더에서 추출된 공개값(
Figure 112020055110693-pat00169
)과 페이로드에서 추출된 공개값(
Figure 112020055110693-pat00170
)을 상호 비교하여 두 값이 동일한지 여부를 판단한다. The first IoT device 110 receives the public value (
Figure 112020055110693-pat00167
) is extracted. Then, the first IoT device 110 sets the public value (
Figure 112020055110693-pat00168
) is extracted. And, the public value extracted from the header (
Figure 112020055110693-pat00169
) and the public value extracted from the payload (
Figure 112020055110693-pat00170
) to determine whether the two values are the same.

비교한 결과 두 값이 동일하면, 제1 사물인터넷 장치(110)는 S520단계에서 생성된 대칭키(

Figure 112020055110693-pat00171
)를 이용하여 패킷의 페이로드 부분을 복화화한다. If the two values are the same as a result of the comparison, the first IoT device 110 uses the symmetric key (
Figure 112020055110693-pat00171
) to decrypt the payload part of the packet.

이렇게 하여 제1 사물인터넷 장치(110)는 제2 사물인터넷장치(120)에서 보내주는 HTTP 응답 패킷에 포함된 원하는 파일 정보를 수신할 수 있다. In this way, the first IoT device 110 may receive desired file information included in the HTTP response packet sent from the second IoT device 120 .

이하에서는 도 7을 이용하여 동일한 네트워크에 접속된 사물인터넷 장치들 간의 통신을 수행하는 방법에 대하여 설명한다. Hereinafter, a method of performing communication between IoT devices connected to the same network using FIG. 7 will be described.

도 7은 본 발명의 다른 실시예에 따른 동일한 네트워크에 접속된 사물인터넷 장치 간의 인증 및 통신을 수행하는 방법을 설명하기 위한 흐름도이다. 7 is a flowchart illustrating a method of performing authentication and communication between IoT devices connected to the same network according to another embodiment of the present invention.

도 7에서는 설명의 편의상 제1 서브네트워크에 포함되는 제1 사물인터넷장치(110-1, 110-2, 110-3)을 예시로 하여 설명한다. In FIG. 7, for convenience of description, the first IoT devices 110-1, 110-2, and 110-3 included in the first subnetwork will be described as an example.

이때 제1 서브 네트워크에 연결되어 있는 복수의 사물인터넷 장치는 자율주행차량(

Figure 112020055110693-pat00172
)(110-1), 자율주행차량(
Figure 112020055110693-pat00173
)(110-2) 및 카메라 장치(
Figure 112020055110693-pat00174
)(110-3)을 포함할 수 있다. At this time, the plurality of IoT devices connected to the first sub-network are autonomous vehicles (
Figure 112020055110693-pat00172
) (110-1), autonomous vehicle (
Figure 112020055110693-pat00173
) (110-2) and the camera device (
Figure 112020055110693-pat00174
) (110-3).

도 7에서는 자율주행차량(

Figure 112020055110693-pat00175
)(110-1)이 동일 서브네트워크에 소속된 자율주행차량(
Figure 112020055110693-pat00176
)(110-2) 및 카메라 장치(
Figure 112020055110693-pat00177
)(110-3)에 각각 데이터 패킷을 보내는 경우에 대하여 설명한다. 7, the autonomous vehicle (
Figure 112020055110693-pat00175
) (110-1) is an autonomous vehicle belonging to the same subnetwork (
Figure 112020055110693-pat00176
) (110-2) and the camera device (
Figure 112020055110693-pat00177
), a case in which data packets are transmitted to 110-3 will be described.

먼저, 자율주행차량(

Figure 112020055110693-pat00178
)(110-1), 자율주행차량(
Figure 112020055110693-pat00179
)(110-2) 및 카메라 장치(
Figure 112020055110693-pat00180
)(110-3)는 각각 비밀값 및 공개값을 생성한다. 그리고, 자율주행차량(
Figure 112020055110693-pat00181
)(110-1), 자율주행차량(
Figure 112020055110693-pat00182
)(110-2) 및 카메라 장치(
Figure 112020055110693-pat00183
)(110-3)는 생성된 공개값을 게이트 키퍼(210)에 전달하여 실재 IP 주소 및 가상 IP주소를 할당받는다. First, autonomous vehicles (
Figure 112020055110693-pat00178
) (110-1), autonomous vehicle (
Figure 112020055110693-pat00179
) (110-2) and the camera device (
Figure 112020055110693-pat00180
) (110-3) generates a secret value and a public value, respectively. and autonomous vehicles (
Figure 112020055110693-pat00181
) (110-1), autonomous vehicle (
Figure 112020055110693-pat00182
) (110-2) and the camera device (
Figure 112020055110693-pat00183
) 110-3 transmits the generated public value to the gatekeeper 210 to be assigned a real IP address and a virtual IP address.

그리고, 제1 자율주행차량(

Figure 112020055110693-pat00184
)(110-1), 제2 자율주행차량(
Figure 112020055110693-pat00185
)(110-2) 및 카메라 장치(
Figure 112020055110693-pat00186
)(110-3)는 SDN 또는 DNS 기반의 인터넷 서버(300)에 각각의 식별명칭, 공개값 및 가상 IP주소가 등록된 상태이다. And, the first autonomous vehicle (
Figure 112020055110693-pat00184
) (110-1), the second autonomous vehicle (
Figure 112020055110693-pat00185
) (110-2) and the camera device (
Figure 112020055110693-pat00186
) 110-3 is a state in which each identification name, public value, and virtual IP address are registered in the SDN or DNS-based Internet server 300 .

그 다음, 도 7에 도시된 바와 같이, 제1 자율주행차량(

Figure 112020055110693-pat00187
)(110-1)은 제2 자율주행차량(
Figure 112020055110693-pat00188
)(110-2)과의 양방향 통신을 수행하기 위하여 패킷을 전송한다(S710). Then, as shown in FIG. 7, the first autonomous vehicle (
Figure 112020055110693-pat00187
) (110-1) is the second autonomous vehicle (
Figure 112020055110693-pat00188
) transmits a packet to perform bidirectional communication with 110-2 (S710).

제1 자율주행차량(

Figure 112020055110693-pat00189
)(110-1)는 인터넷 서버(300)로부터 제2 자율주행차량(
Figure 112020055110693-pat00190
)(110-2)에 대한 공개값 및 가상 IP 주소를 수신받는다. 그 다음, 제1 자율주행차량(
Figure 112020055110693-pat00191
)(110-1)는 수신된 제2 자율주행차량(
Figure 112020055110693-pat00192
)(110-2)의 공개값과 자신의 비밀값을 이용하여 대칭키(
Figure 112020055110693-pat00193
)를 생성한다. 제1 자율주행차량(
Figure 112020055110693-pat00194
)(110-1)는 생성된 대칭키를 이용하여 생성된 패킷의 페이로드 부분을 암호화한다. 이때, 생성된 패킷의 헤더는 [S.IP=rIP_
Figure 112020055110693-pat00195
, D.IP= vIP_
Figure 112020055110693-pat00196
, Op.1=
Figure 112020055110693-pat00197
, Op.2=
Figure 112020055110693-pat00198
]의 주소 정보를 포함한다. The first autonomous vehicle (
Figure 112020055110693-pat00189
) 110-1 is the second autonomous vehicle (
Figure 112020055110693-pat00190
) receives the public value and virtual IP address for (110-2). Then, the first autonomous vehicle (
Figure 112020055110693-pat00191
) 110-1 is the received second autonomous vehicle (
Figure 112020055110693-pat00192
) using the public value of (110-2) and its own private value, the symmetric key (
Figure 112020055110693-pat00193
) is created. The first autonomous vehicle (
Figure 112020055110693-pat00194
) 110-1 encrypts the payload portion of the generated packet using the generated symmetric key. At this time, the header of the generated packet is [S.IP=rIP_
Figure 112020055110693-pat00195
, D.IP= vIP_
Figure 112020055110693-pat00196
, Op.1=
Figure 112020055110693-pat00197
, Op.2=
Figure 112020055110693-pat00198
] contains address information.

제1 자율주행차량(

Figure 112020055110693-pat00199
)(110-1)가 생성된 패킷을 제2 자율주행차량(
Figure 112020055110693-pat00200
)(110-2)에게 전송한다. 전송된 패킷은 제2 자율주행차량(
Figure 112020055110693-pat00201
)(110-2)에 도달하기 전에 해당 게이트키퍼(200)를 경유하게 된다. The first autonomous vehicle (
Figure 112020055110693-pat00199
) 110-1 sends the generated packet to the second autonomous vehicle (
Figure 112020055110693-pat00200
) to (110-2). The transmitted packet is the second autonomous vehicle (
Figure 112020055110693-pat00201
) before reaching 110-2, it passes through the corresponding gatekeeper 200.

게이트키퍼(200)는 수신된 패킷을 검증하고, 패킷의 헤더를 변경한다. 그 다음, 게이트키퍼(200)는 변경된 패킷을 제2 자율주행차량(

Figure 112020055110693-pat00202
)(110-2)에게 전달한다(S720).The gatekeeper 200 verifies the received packet and changes the header of the packet. Then, the gatekeeper 200 transmits the changed packet to the second autonomous vehicle (
Figure 112020055110693-pat00202
) to (110-2) (S720).

부연하자면, 게이트키퍼(200)는 전달받은 패킷의 헤더에 포함된 제1 자율주행차량(

Figure 112020055110693-pat00203
)(110-1)의 실재 IP주소 및 공개값(
Figure 112020055110693-pat00204
)을 추출하고, 기 저장된 주소 매핑 테이블을 이용하여 제1 자율주행차량(
Figure 112020055110693-pat00205
)(110-1)의 가상 IP 주소를 획득한다. 그리고 게이트키퍼(200)는 패킷의 헤더에 포함된 제1 자율주행차량(
Figure 112020055110693-pat00206
)(110-1)의 실재 IP 주소를 획득한 가상 IP로 변경한다. In other words, the gatekeeper 200 is the first autonomous vehicle (
Figure 112020055110693-pat00203
) (110-1) real IP address and public value (
Figure 112020055110693-pat00204
) and using a pre-stored address mapping table to extract the first autonomous vehicle (
Figure 112020055110693-pat00205
) obtains a virtual IP address of 110-1. And the gatekeeper 200 is the first autonomous vehicle (
Figure 112020055110693-pat00206
) (110-1) changes the real IP address to the acquired virtual IP.

또한, 게이트키퍼(200)는 전달받은 패킷의 헤더에 포함된 제2 자율주행차량(

Figure 112020055110693-pat00207
)(110-2)의 가상 IP주소 및 공개값(
Figure 112020055110693-pat00208
)을 추출하고, 기 저장된 주소 매핑 테이블을 이용하여 제2 자율주행차량(
Figure 112020055110693-pat00209
)(110-2)의 실재 IP 주소를 획득한다. 그리고 게이트키퍼(200)는 패킷의 헤더에 포함된 제2 자율주행차량(
Figure 112020055110693-pat00210
)(110-2)의 가상 IP 주소를 획득한 실재 IP로 변경한다.In addition, the gatekeeper 200 includes the second autonomous vehicle (
Figure 112020055110693-pat00207
) (110-2) virtual IP address and public value (
Figure 112020055110693-pat00208
) and using a pre-stored address mapping table to extract the second autonomous vehicle (
Figure 112020055110693-pat00209
) to obtain the real IP address of 110-2. And the gatekeeper 200 is the second autonomous vehicle (
Figure 112020055110693-pat00210
), the virtual IP address of 110-2 is changed to the obtained real IP.

그리고, 게이트키퍼(200)는 변경된 패킷을 제2 자율주행차량(

Figure 112020055110693-pat00211
)(110-2)에 전달한다. 제2 자율주행차량(
Figure 112020055110693-pat00212
)(110-2)은 대칭키를 생성하고, 생성된 대칭키를 이용하여 수신된 패킷의 페이로드 부분을 복호화한다(S730).Then, the gatekeeper 200 transmits the changed packet to the second autonomous vehicle (
Figure 112020055110693-pat00211
) to (110-2). The second autonomous vehicle (
Figure 112020055110693-pat00212
) 110-2 generates a symmetric key and decrypts the payload portion of the received packet using the generated symmetric key (S730).

자세히는, 제2 자율주행차량(

Figure 112020055110693-pat00213
)(110-2)은 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제1 자율주행차량(
Figure 112020055110693-pat00214
)(110-1)의 공개값(
Figure 112020055110693-pat00215
)을 추출한다. 그리고, 제2 자율주행차량(
Figure 112020055110693-pat00216
)(110-2)은 패킷에 포함된 페이로드의 시작 부분에서 제1 자율주행차량(
Figure 112020055110693-pat00217
)(110-1)의 공개값(
Figure 112020055110693-pat00218
)을 추출한다. 그리고, 헤더에서 추출된 공개값(
Figure 112020055110693-pat00219
)과 페이로드에서 추출된 공개값(
Figure 112020055110693-pat00220
)을 상호 비교하여 두 값이 동일한지 여부를 판단한다. In detail, the second autonomous vehicle (
Figure 112020055110693-pat00213
) 110-2 is the first autonomous vehicle (
Figure 112020055110693-pat00214
) (110-1) public value (
Figure 112020055110693-pat00215
) is extracted. And, the second autonomous vehicle (
Figure 112020055110693-pat00216
) 110-2 is the first autonomous vehicle (
Figure 112020055110693-pat00217
) (110-1) public value (
Figure 112020055110693-pat00218
) is extracted. And, the public value extracted from the header (
Figure 112020055110693-pat00219
) and the public value extracted from the payload (
Figure 112020055110693-pat00220
) to determine whether the two values are the same.

비교한 결과 두 값이 동일하면, 제2 자율주행차량(

Figure 112020055110693-pat00221
)(110-2)는 추출된 제1 자율주행차량(
Figure 112020055110693-pat00222
)(110-1)의 공개값(
Figure 112020055110693-pat00223
)과 자신의 비밀값(
Figure 112020055110693-pat00224
)을 이용하여 대칭키(
Figure 112020055110693-pat00225
)를 생성한다. 그리고 제2 자율주행차량(
Figure 112020055110693-pat00226
)(110-2)는 생성된 대칭키를 이용하여 패킷의 페이로드 부분을 복호화한다. As a result of the comparison, if the two values are the same, the second autonomous vehicle (
Figure 112020055110693-pat00221
) (110-2) is the extracted first autonomous vehicle (
Figure 112020055110693-pat00222
) (110-1) public value (
Figure 112020055110693-pat00223
) and its secret value (
Figure 112020055110693-pat00224
) using the symmetric key (
Figure 112020055110693-pat00225
) is created. and a second autonomous vehicle (
Figure 112020055110693-pat00226
) 110-2 decrypts the payload portion of the packet using the generated symmetric key.

또한, 제1 자율주행차량(

Figure 112020055110693-pat00227
)(110-1)가 동일 서브 네트워크에 머무르는 카메라 장치(
Figure 112020055110693-pat00228
)(110-3)와의 통신을 수행할 경우, 제1 자율주행차량(
Figure 112020055110693-pat00229
)(110-1)은 패킷을 생성하여 송신한다(S740). In addition, the first autonomous vehicle (
Figure 112020055110693-pat00227
) (110-1) is a camera device (
Figure 112020055110693-pat00228
) (110-3), the first autonomous vehicle (
Figure 112020055110693-pat00229
) 110-1 generates and transmits a packet (S740).

제1 자율주행차량(

Figure 112020055110693-pat00230
)(110-1)는 인터넷 서버(300)로부터 카메라 장치(
Figure 112020055110693-pat00231
)(110-3)에 대한 공개값 및 가상 IP 주소를 수신받는다. 그 다음, 제1 자율주행차량(
Figure 112020055110693-pat00232
)(110-1)는 수신된 카메라 장치(
Figure 112020055110693-pat00233
)(110-3)의 공개값과 자신의 비밀값을 이용하여 대칭키(
Figure 112020055110693-pat00234
)를 생성한다. 제1 자율주행차량(
Figure 112020055110693-pat00235
)(110-1)는 생성된 대칭키를 이용하여 생성된 패킷의 페이로드 부분을 암호화한다. 이때, 생성된 패킷의 헤더는 [S.IP=rIP_
Figure 112020055110693-pat00236
, D.IP= vIP_
Figure 112020055110693-pat00237
, Op.1=
Figure 112020055110693-pat00238
, Op.2=
Figure 112020055110693-pat00239
]의 주소 정보를 포함한다. The first autonomous vehicle (
Figure 112020055110693-pat00230
) 110-1 is a camera device (
Figure 112020055110693-pat00231
) receives the public value and virtual IP address for (110-3). Then, the first autonomous vehicle (
Figure 112020055110693-pat00232
) 110-1 is the received camera device (
Figure 112020055110693-pat00233
) using the public value of (110-3) and its own private value, the symmetric key (
Figure 112020055110693-pat00234
) is created. The first autonomous vehicle (
Figure 112020055110693-pat00235
) 110-1 encrypts the payload portion of the generated packet using the generated symmetric key. At this time, the header of the generated packet is [S.IP=rIP_
Figure 112020055110693-pat00236
, D.IP= vIP_
Figure 112020055110693-pat00237
, Op.1=
Figure 112020055110693-pat00238
, Op.2=
Figure 112020055110693-pat00239
] contains address information.

제1 자율주행차량(

Figure 112020055110693-pat00240
)(110-1)가 생성된 패킷을 카메라 장치(
Figure 112020055110693-pat00241
)(110-3)에게 전송하면, 전송된 패킷은 카메라 장치(
Figure 112020055110693-pat00242
)(110-3)에 도달하기 전에 해당 게이트키퍼(200)를 경유하게 된다. The first autonomous vehicle (
Figure 112020055110693-pat00240
) (110-1) sends the generated packet to the camera device (
Figure 112020055110693-pat00241
) (110-3), the transmitted packet is transmitted to the camera device (
Figure 112020055110693-pat00242
) before reaching 110-3, it passes through the corresponding gatekeeper 200.

게이트키퍼(200)는 수신된 패킷을 검증하고, 패킷의 헤더를 변경한다. 그 다음, 게이트키퍼(200)는 변경된 패킷을 카메라 장치(

Figure 112020055110693-pat00243
)(110-3)에게 전달한다(S750).The gatekeeper 200 verifies the received packet and changes the header of the packet. Then, the gatekeeper 200 transmits the changed packet to the camera device (
Figure 112020055110693-pat00243
) to (110-3) (S750).

부연하자면, 게이트키퍼(200)는 전달받은 패킷의 헤더에 포함된 제1 자율주행차량(

Figure 112020055110693-pat00244
)(110-1)의 실재 IP주소 및 공개값(
Figure 112020055110693-pat00245
)을 추출하고, 기 저장된 주소 매핑 테이블을 이용하여 제1 자율주행차량(
Figure 112020055110693-pat00246
)(110-1)의 가상 IP 주소를 획득한다. 그리고 게이트키퍼(200)는 패킷의 헤더에 포함된 제1 자율주행차량(
Figure 112020055110693-pat00247
)(110-1)의 실재 IP 주소를 획득한 가상 IP로 변경한다. In other words, the gatekeeper 200 is the first autonomous vehicle (
Figure 112020055110693-pat00244
) (110-1) real IP address and public value (
Figure 112020055110693-pat00245
) and using a pre-stored address mapping table to extract the first autonomous vehicle (
Figure 112020055110693-pat00246
) obtains a virtual IP address of 110-1. And the gatekeeper 200 is the first autonomous vehicle (
Figure 112020055110693-pat00247
) (110-1) changes the real IP address to the acquired virtual IP.

또한, 게이트키퍼(200)는 전달받은 패킷의 헤더에 포함된 카메라 장치(

Figure 112020055110693-pat00248
)(110-3)의 가상 IP주소 및 공개값(
Figure 112020055110693-pat00249
)을 추출하고, 기 저장된 주소 매핑 테이블을 이용하여 카메라 장치(
Figure 112020055110693-pat00250
)(110-3)의 실재 IP 주소를 획득한다. 그리고 게이트키퍼(200)는 패킷의 헤더에 포함된 카메라 장치(
Figure 112020055110693-pat00251
)(110-3)의 가상 IP 주소를 획득한 실재 IP로 변경한다.In addition, the gatekeeper 200 includes a camera device (
Figure 112020055110693-pat00248
) (110-3) virtual IP address and public value (
Figure 112020055110693-pat00249
), and the camera device (
Figure 112020055110693-pat00250
) to obtain the real IP address of (110-3). And the gatekeeper 200 is a camera device included in the header of the packet (
Figure 112020055110693-pat00251
) (110-3) change the virtual IP address of the acquired real IP.

그리고, 게이트키퍼(200)는 변경된 패킷을 카메라 장치(

Figure 112020055110693-pat00252
)(110-3)에 전달한다. 카메라 장치(
Figure 112020055110693-pat00253
)(110-3)은 대칭키를 생성하고, 생성된 대칭키를 이용하여 수신된 패킷의 페이로드 부분을 복호화한다(S760).Then, the gatekeeper 200 transmits the changed packet to the camera device (
Figure 112020055110693-pat00252
) to (110-3). camera device (
Figure 112020055110693-pat00253
) 110-3 generates a symmetric key and decrypts the payload portion of the received packet using the generated symmetric key (S760).

자세히는, 카메라 장치(

Figure 112020055110693-pat00254
)(110-3)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제1 자율주행차량(
Figure 112020055110693-pat00255
)(110-1)의 공개값(
Figure 112020055110693-pat00256
)을 추출한다. 그리고, 카메라 장치(
Figure 112020055110693-pat00257
)(110-3)는 패킷에 포함된 페이로드의 시작 부분에서 제1 자율주행차량(
Figure 112020055110693-pat00258
)(110-1)의 공개값(
Figure 112020055110693-pat00259
)을 추출한다. 그리고, 헤더에서 추출된 공개값(
Figure 112020055110693-pat00260
)과 페이로드에서 추출된 공개값(
Figure 112020055110693-pat00261
)을 상호 비교하여 두 값이 동일한지 여부를 판단한다. Specifically, the camera device (
Figure 112020055110693-pat00254
) 110-3 represents the first autonomous vehicle (
Figure 112020055110693-pat00255
) (110-1) public value (
Figure 112020055110693-pat00256
) is extracted. And, the camera device (
Figure 112020055110693-pat00257
) 110-3 is the first autonomous vehicle (
Figure 112020055110693-pat00258
) (110-1) public value (
Figure 112020055110693-pat00259
) is extracted. And, the public value extracted from the header (
Figure 112020055110693-pat00260
) and the public value extracted from the payload (
Figure 112020055110693-pat00261
) to determine whether the two values are the same.

비교한 결과 두 값이 동일하면, 카메라 장치(

Figure 112020055110693-pat00262
)(110-3)는 추출된 제1 자율주행차량(
Figure 112020055110693-pat00263
)(110-1)의 공개값(
Figure 112020055110693-pat00264
)과 자신의 비밀값(
Figure 112020055110693-pat00265
)을 이용하여 대칭키(
Figure 112020055110693-pat00266
)를 생성한다. 그리고 카메라 장치(
Figure 112020055110693-pat00267
)(110-3)는 생성된 대칭키를 이용하여 패킷의 페이로드 부분을 복호화한다. If the two values are the same as a result of comparison, the camera device (
Figure 112020055110693-pat00262
) (110-3) is the extracted first autonomous vehicle (
Figure 112020055110693-pat00263
) (110-1) public value (
Figure 112020055110693-pat00264
) and its secret value (
Figure 112020055110693-pat00265
) using the symmetric key (
Figure 112020055110693-pat00266
) is created. and the camera device (
Figure 112020055110693-pat00267
) 110-3 decrypts the payload portion of the packet using the generated symmetric key.

이와 같이, 본 발명의 실시예에 따른 사물인터넷 통신 방법은 모바일 에지 컴퓨팅(mobile edge computing) 기술을 구현할 수 있다. 부연하자면, 게이트키퍼(200)는 MEC 기술을 적용하여 동일 서브 네트워크에 접속되어 있는 사물인터넷 장치(110-1, 110-2, 110-3)간의 통신을 수행한다. 특히, 사물인터넷 통신 방법은 자율주행 자동차 환경에서 MEC 기술을 적용하여 통신의 보안성을 극대화하고 데이터 전송을 단축할 수 있는 효과를 도모할 수 있다. As such, the IoT communication method according to an embodiment of the present invention may implement a mobile edge computing technology. In other words, the gatekeeper 200 performs communication between the IoT devices 110-1, 110-2, and 110-3 connected to the same subnetwork by applying the MEC technology. In particular, the IoT communication method can achieve the effect of maximizing communication security and shortening data transmission by applying MEC technology in an autonomous vehicle environment.

또한 본 발명의 실시예 따르면, 사물인터넷 장치의 운영에 있어서 보조 인증기관을 요구하는 인증서나 너무 큰 계산량을 요구하는 공개키 알고리즘을 이용하지 않더라도 사물인터넷 장치의 인증 및 통신을 제공할 수 있다. 그러므로 사람이 관여하여 인증 및 보안 문제를 해결하는 IPSec이나 SSL 같은 보안 기술을 필요로 하지 않는다. In addition, according to an embodiment of the present invention, authentication and communication of the IoT device can be provided without using a certificate that requires a secondary certification authority or a public key algorithm that requires too much computation in the operation of the IoT device. Therefore, there is no need for security technologies such as IPSec or SSL that involve human involvement and solve authentication and security issues.

또한 본 발명의 실시예 따르면, 사물인터넷 장치의 공개값은 SDN 제어 서버 또는 DNS AU 서버에 보관되며, 사물인터넷 장치의 공개값은 SDN 제어 서버 또는 DNS AU 서버를 통하여 질의/응답으로 확보될 수 있으므로 디피 헬만(Diffie-Hellman) 대칭키 교환 기술에서의 상호간 인증 문제를 해결할 수 있고, 제3자에 의해 공개값이 조작되는 것을 미연에 방지할 수 있어 중간자 공격(MITM)에 안전하다.Also, according to an embodiment of the present invention, the public value of the IoT device is stored in the SDN control server or DNS AU server, and the public value of the IoT device can be secured through a query/response through the SDN control server or DNS AU server. It is safe from man-in-the-middle attack (MITM) because it can solve the mutual authentication problem in the Diffie-Hellman symmetric key exchange technology, and it can prevent the public value from being manipulated by a third party.

또한 본 발명의 실시예 따르면, 모든 데이터 패킷은 송신측 또는 수신측 사물인터넷 장치가 접속되어 있는 게이트키퍼를 통하여 전송되며, 게이트키퍼는 패킷에 포함된 송신측 사물인터넷 장치의 실재 IP주소를 가상 IP주소로 변경하여 전달하므로, 실재 IP주소가 외부에 노출되는 것을 방지할 수 있다. 또한, 외부에서 특정 사물인터넷 장치를 공격할 경우에는 특정 사물인터넷 장치가 어떤 목적으로 사용되는지 트래픽 분석 (Traffic Analysis) 공격을 통해 정보를 획득할 수 있으나, 실재 IP주소와 외부에 노출된 가상 IP 주소가 서로 상이하므로 트래픽 분석 공격을 난해하게 할 수 있다. In addition, according to an embodiment of the present invention, all data packets are transmitted through a gatekeeper to which the sending or receiving IoT device is connected, and the gatekeeper converts the real IP address of the sending IoT device included in the packet into a virtual IP. Since it is transmitted by changing the address, it is possible to prevent the actual IP address from being exposed to the outside. In addition, when a specific IoT device is attacked from the outside, information about the purpose of the specific IoT device can be obtained through a traffic analysis attack, but the actual IP address and the externally exposed virtual IP address are different from each other, which can make traffic analysis attacks difficult.

본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.Although the present invention has been described with reference to the embodiment shown in the drawings, which is merely exemplary, those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. will be. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the following claims.

110, 120, 130, 140 : 사물인터넷 장치
210, 220, 230, 240 : 게이트키퍼
300 : 인터넷 서버
110, 120, 130, 140: IoT device
210, 220, 230, 240: Gatekeeper
300: Internet Server

Claims (19)

네트워크 계층 구조에 따른 사물인터넷 보안 시스템에 있어서,
서브 네트워크에 접속된 상태에서 생성된 패킷을 송수신하며, 외부에 공개되지 않는 비밀값과, 상기 비밀값을 대신하여 사용되는 공개값을 생성하는 복수의 사물인터넷 장치,
상기 복수의 사물인터넷 장치로부터 수신된 공개값을 인덱스로 하는 엔트리 정보를 생성하고, 생성된 엔트리 정보를 상기 복수의 사물인터넷 장치에게 각각 할당하며, 상기 복수의 사물인터넷 장치로부터 수신된 패킷에 대하여 검증을 수행하고, 검증이 완료된 패킷의 헤더에 포함된 사물인터넷 장치의 IP 주소를 실재 IP주소에서 가상 IP주소로 변경하여 해당 사물인터넷 장치에 전송하는 게이트키퍼, 그리고
상기 복수의 사물인터넷 장치로부터 전달받은 식별명칭, 공개값 및 가상 IP 주소를 등록하고, 등록된 상기 공개값 및 가상 IP 주소를 통신하고자 하는 사물인터넷 장치에 제공하여 사물인터넷 장치와 다른 사물인터넷 장치 사이의 통신을 연결시키는 인터넷 서버를 포함하며,
상기 공개값은,
하기의 수학식으로 통해 산출되고,
Figure 112021048547577-pat00288

(여기서,
Figure 112021048547577-pat00289
는 사물인터넷 장치의 공개값이고,
Figure 112021048547577-pat00290
는 사물인터넷 장치의 비밀값이다. )
제1 서브 네트워크에 접속되어 있는 제1 사물인터넷 장치가 제2 서브 네트워크에 접속되어 있는 제2 사물인터넷 장치에게 패킷을 전송할 경우,
상기 인터넷 서버는,
상기 제1 사물인터넷 장치로부터 전달받은 제2 사물인터넷 장치의 식별명칭과 기 등록된 정보를 비교하여 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 추출하고, 추출된 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 제1 사물인터넷 장치에 전달하고,
제1 사물인터넷 장치는,
제2 사물인터넷 장치의 공개값 및 가상 IP주소를 수신한 상태에서, 자신의 비밀값(
Figure 112021048547577-pat00291
)을 하기의 수학식에 대입하여 대칭키(
Figure 112021048547577-pat00292
)를 생성하며, 상기 대칭키(
Figure 112021048547577-pat00293
)를 이용하여 송신하고자 하는 패킷의 응용 계층 페이로드 부분을 암호화한 다음, 암호화된 패킷을 제2 사물인터넷 장치에게 전송하는 사물인터넷 보안 시스템:
Figure 112021048547577-pat00294

여기서,
Figure 112021048547577-pat00295
는 제2 사물인터넷 장치의 공개값을 나타내고,
Figure 112021048547577-pat00296
는 제1 사물인터넷 장치의 비밀값을 나타낸다.
In the IoT security system according to the network hierarchical structure,
A plurality of IoT devices that transmit and receive packets generated while being connected to a subnetwork and generate a secret value that is not disclosed to the outside and a public value used in place of the secret value;
Generating entry information using the public values received from the plurality of IoT devices as an index, allocating the generated entry information to the plurality of IoT devices, respectively, and verifying packets received from the plurality of IoT devices a gatekeeper that changes the IP address of the IoT device included in the header of the verified packet from the real IP address to a virtual IP address and transmits it to the IoT device; and
The identification name, public value, and virtual IP address received from the plurality of IoT devices are registered, and the registered public value and virtual IP address are provided to an IoT device to communicate between the IoT device and other IoT devices. includes an Internet server that connects the communication of
The public value is
It is calculated through the following formula,
Figure 112021048547577-pat00288

(here,
Figure 112021048547577-pat00289
is the public value of the IoT device,
Figure 112021048547577-pat00290
is the secret value of the IoT device. )
When the first IoT device connected to the first subnetwork transmits a packet to the second IoT device connected to the second subnetwork,
The internet server is
The public value and virtual IP address of the second IoT device are extracted by comparing the identification name of the second IoT device received from the first IoT device with previously registered information, and the extracted second IoT device is disclosed. passing the value and the virtual IP address to the first IoT device;
The first IoT device,
In the state that the public value and virtual IP address of the second IoT device are received, its own secret value (
Figure 112021048547577-pat00291
) by substituting the symmetric key (
Figure 112021048547577-pat00292
), and the symmetric key (
Figure 112021048547577-pat00293
) to encrypt the application layer payload portion of the packet to be transmitted, and then transmit the encrypted packet to the second IoT device:
Figure 112021048547577-pat00294

here,
Figure 112021048547577-pat00295
represents the public value of the second IoT device,
Figure 112021048547577-pat00296
denotes a secret value of the first IoT device.
제1항에 있어서,
상기 사물인터넷 장치는,
장비, 전자기기, 자동자, 드론 및 로봇 중에서 적어도 어느 하나를 포함하는 사물인터넷 보안 시스템.
According to claim 1,
The IoT device is
An IoT security system including at least one of equipment, electronic devices, automatons, drones, and robots.
삭제delete 제1항에 있어서,
상기 게이트키퍼는
상기 사물인터넷 장치로부터 전달받은 공개값을 인덱스로 사용하며, 상기 공개값, 실재 IP 주소 및 가상 IP 주소를 포함하는 엔트리 정보를 주소 매핑 테이블 형태로 저장하는 사물인터넷 보안 시스템.
According to claim 1,
the gatekeeper
An IoT security system that uses the public value received from the IoT device as an index, and stores entry information including the public value, real IP address, and virtual IP address in the form of an address mapping table.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 제1 서브 네트워크에 포함된 제1 게이트키퍼는,
저장된 주소 매핑 테이블을 이용하여 상기 패킷의 헤더에 포함된 제1 사물인터넷 장치의 실재 IP 주소를 가상 IP 주소로 변경하고, 변경된 헤더가 포함된 패킷을 상기 제2 사물인터넷 장치가 접속된 제2 게이트키퍼에 전송하는 사물인터넷 보안 시스템.
According to claim 1,
A first gatekeeper included in the first subnetwork,
The real IP address of the first IoT device included in the header of the packet is changed to a virtual IP address using the stored address mapping table, and the packet including the changed header is converted to a second gate to which the second IoT device is connected. Internet of Things security system that transmits to the keeper.
제8항에 있어서,
상기 제2 게이트키퍼는,
상기 수신된 패킷의 헤더에 포함된 제2 사물인터넷 장치의 가상 IP 주소를 추출하고, 상기 저장된 주소 매핑 테이블을 이용하여 추출된 제2 사물인터넷 장치의 가상 IP 주소를 실재 IP 주소로 변경하고, 변경된 헤더가 포함된 패킷을 상기 제2 사물인터넷 장치에 전달하는 사물인터넷 보안 시스템.
9. The method of claim 8,
the second gatekeeper,
Extracting the virtual IP address of the second IoT device included in the header of the received packet, changing the extracted virtual IP address of the second IoT device to the real IP address using the stored address mapping table, An IoT security system for delivering a packet including a header to the second IoT device.
제9항에 있어서,
상기 제2 사물인터넷 장치는,
수신된 패킷으로부터 제1 사물인터넷 장치의 공개값을 추출하고, 추출된 제1 사물인터넷 장치의 공개값과 자신의 비밀값을 이용하여 산출된 대칭키(
Figure 112020055110693-pat00276
)를 이용하여 암호화된 페이로드를 복호화하며,
상기 대칭키(
Figure 112020055110693-pat00277
)는 하기의 수학식으로 나타내는 사물인터넷 보안 시스템;
Figure 112020055110693-pat00278

여기서,
Figure 112020055110693-pat00279
는 제1 사물인터넷 장치의 공개값을 나타내고,
Figure 112020055110693-pat00280
는 제2 사물인터넷 장치의 비밀값을 나타낸다.
10. The method of claim 9,
The second IoT device,
The public value of the first IoT device is extracted from the received packet, and the symmetric key (
Figure 112020055110693-pat00276
) to decrypt the encrypted payload,
The symmetric key (
Figure 112020055110693-pat00277
) is an IoT security system represented by the following equation;
Figure 112020055110693-pat00278

here,
Figure 112020055110693-pat00279
represents the public value of the first IoT device,
Figure 112020055110693-pat00280
denotes a secret value of the second IoT device.
제10항에 있어서,
상기 제2 사물인터넷 장치는,
상기 수신된 패킷의 IP 헤더의 옵션 필드로부터 제1 사물인터넷 장치의 공개값을 추출하거나,
상기 수신된 패킷의 응용 계층 페이로드의 시작부분에 포함된 제1 사물인터넷 장치의 공개값을 추출하는 사물인터넷 보안 시스템.
11. The method of claim 10,
The second IoT device,
extracting the public value of the first IoT device from the option field of the IP header of the received packet;
The IoT security system for extracting the public value of the first IoT device included in the beginning of the application layer payload of the received packet.
제1항에 있어서,
상기 인터넷 서버는,
소프트웨어 정의 네트워킹(SDN, Software-Defined Networking) 또는 도메인 네임 시스템(DNS, Domain Name System)을 기반으로 하는 사물인터넷 보안 시스템.
According to claim 1,
The internet server is
Internet of Things security system based on Software-Defined Networking (SDN) or Domain Name System (DNS).
제12항에 있어서,
상기 인터넷 서버에 상기 소프트웨어 정의 네트워킹(SDN)이 적용되면 제1 사물인터넷 장치와 제2 사물인터넷 장치 사이에 P2P 기반의 통신을 수행하며,
상기 게이트키퍼는,
상기 사물인터넷장치로부터 생성된 세션 설정 요청 패킷을 검증하여 세션 설정을 수행하며,
세션 설정이 완료되면, 제1 사물인터넷 장치에서 생성된 패킷은 제2 사물인터넷 장치가 소속되어 있는 제2 게이트키퍼를 경유하여 제2 사물인터넷 장치에 전달되고,
제2 사물인터넷 장치에서 생성된 패킷은 제1 사물인터넷 장치가 소속되어 있는 제1 게이트키퍼를 경유하여 제1 사물인터넷 장치에 전달되는 사물인터넷 보안 시스템.
13. The method of claim 12,
When the software defined networking (SDN) is applied to the Internet server, P2P-based communication is performed between the first IoT device and the second IoT device,
The gatekeeper is
The session establishment is established by verifying the session establishment request packet generated from the IoT device,
When the session establishment is completed, the packet generated by the first IoT device is transmitted to the second IoT device via the second gatekeeper to which the second IoT device belongs;
An IoT security system in which the packet generated by the second IoT device is transmitted to the first IoT device via the first gatekeeper to which the first IoT device belongs.
제13항에 있어서,
상기 세션 설정 요청 패킷은
제1 사물인터넷 장치의 비밀값과 제2 사물인터넷 장치의 공개값을 이용하여 생성된 대칭키에 의해 응용계층의 페이로드 부분이 암호화되는 사물인터넷 보안 시스템.
14. The method of claim 13,
The session establishment request packet is
An IoT security system in which a payload portion of an application layer is encrypted by a symmetric key generated using the secret value of the first IoT device and the public value of the second IoT device.
제12항에 있어서,
상기 인터넷 서버가 상기 도메인 네임 시스템(DNS)을 기반으로 하는 경우,
상기 인터넷 서버는 복수의 소속 서버를 포함하며, 상기 사물인터넷 장치로부터 전달받은 도메인 형태의 식별명칭, 공개값 및 가상 IP 주소를 복수의 소속 서버 중에서 어느 하나의 소속서버에 등록시키고, 등록된 상기 공개값 및 가상 IP 주소를 통신하고자 하는 사물인터넷 장치에 제공하여 사물인터넷 장치와 다른 사물인터넷 장치 사이의 통신을 연결시키는 사물인터넷 보안 시스템.
13. The method of claim 12,
When the Internet server is based on the Domain Name System (DNS),
The Internet server includes a plurality of affiliated servers, and registers the domain type identification name, public value, and virtual IP address received from the IoT device in any one affiliated server among the plurality of affiliated servers, and registers the registered public domain server. An IoT security system that connects communication between an IoT device and another IoT device by providing a value and a virtual IP address to the IoT device with which it wants to communicate.
제15항에 있어서,
제1 사물인터넷 장치가 상기 인터넷 서버로 제2 사물인터넷 장치의 공개값 및 IP주소에 관한 질의하면,
상기 인터넷 서버는,
복수의 소속 서버 중에서 상위네임 서버에 제2 사물인터넷 장치의 공개값 및 IP주소에 관한 질의를 전달하고, 상기 상위네임 서버에 DNS 쿼리의 결과가 없으면 상기 상위네임 서버는 하위네임 서버의 IP주소를 제1 사물인터넷 장치에 전달하여 질의 및 응답을 연속적으로 수행하는 사물인터넷 보안 시스템.
16. The method of claim 15,
When the first IoT device queries the Internet server about the public value and IP address of the second IoT device,
The internet server is
Sends a query about the public value and IP address of the second IoT device to an upper-level name server among a plurality of affiliated servers. An IoT security system that continuously performs queries and responses by transmitting it to the first IoT device.
제16항에 있어서,
상기 소속 서버는,
자신의 데이터베이스에 등록된 매핑 엔트리 정보를 이용하여 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 추출하고, 추출된 공개값 및 가상 IP주소를 제1 사물인터넷 장치에게 DNS 응답 형식으로 전달하는 사물인터넷 보안 시스템.
17. The method of claim 16,
The affiliated server is
A thing that extracts the public value and virtual IP address of the second IoT device using mapping entry information registered in its database, and delivers the extracted public value and virtual IP address to the first IoT device in the form of a DNS response Internet security system.
제12항에 있어서,
동일 서브 네트워크에 접속되어 있는 복수의 사물인터넷 장치간의 통신을 수행할 경우, 사물인터넷 장치에서 송신 또는 수신되는 패킷은 동일한 게이트키퍼를 경유하며,
상기 게이트키퍼는,
송신측 사물인터넷 장치로부터 수신된 패킷의 헤더에 포함된 송신측 사물인터넷 장치의 실재 IP 주소를 가상 IP 주소로 변경하고, 수신측 사물인터넷 장치의 가상 IP 주소를 실재 IP주소로 변경하고, 변경된 패킷을 수신측 사물인터넷 장치에 전달하는 사물인터넷 보안 시스템.
13. The method of claim 12,
When communication is performed between a plurality of IoT devices connected to the same subnetwork, packets transmitted or received from the IoT devices pass through the same gatekeeper,
The gatekeeper is
The real IP address of the sending IoT device included in the header of the packet received from the sending IoT device is changed to a virtual IP address, the virtual IP address of the receiving IoT device is changed to the real IP address, and the changed packet is changed. An IoT security system that delivers
제18항에 있어서,
상기 송신측 사물인터넷 장치는,
자신의 비밀값과 수신측 사물인터넷 장치의 공개값을 이용하여 대칭키를 생성하며, 생성된 대칭키를 이용하여 패킷의 응용계층 페이로드 부분을 암호화하고,
상기 수신측 사물인터넷 장치는,
자신의 비밀값과 송신측 사물인터넷 장치의 공개값을 이용하여 대칭키를 생성하며, 생성된 대칭키를 이용하여 패킷의 응용계층 페이로드 부분을 복호화하는 사물인터넷 보안 시스템.
19. The method of claim 18,
The transmitting-side IoT device,
Generates a symmetric key by using its own secret value and the public value of the receiving-side IoT device, and encrypts the application layer payload part of the packet using the generated symmetric key,
The receiving-side IoT device,
An IoT security system that generates a symmetric key using its own secret value and the public value of the transmitting-side IoT device, and decrypts the application layer payload portion of the packet using the generated symmetric key.
KR1020200065328A 2020-03-27 2020-05-29 IoT security system according to network hierarchy structure KR102293195B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200037425 2020-03-27
KR20200037425 2020-03-27

Publications (2)

Publication Number Publication Date
KR102293195B1 true KR102293195B1 (en) 2021-08-25
KR102293195B9 KR102293195B9 (en) 2022-05-10

Family

ID=77494998

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200065328A KR102293195B1 (en) 2020-03-27 2020-05-29 IoT security system according to network hierarchy structure

Country Status (1)

Country Link
KR (1) KR102293195B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230095565A (en) 2021-12-22 2023-06-29 건국대학교 산학협력단 APPARATUS AND METHOD FOR DEPENDENCY AND SECURITY QUANTIFICATION OF IoMT SYSTEM BASED ON CLOULD-FOG-EDGE CONTINUUM USING HIERACHICAL MODEL

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009219008A (en) * 2008-03-12 2009-09-24 Nec Corp Data communication apparatus, data processing method of the same, computer program of the same, and network system
KR101314435B1 (en) * 2012-06-19 2013-10-07 가톨릭대학교 산학협력단 Method for security roaming of mobile node and foreign agent apparatus thereof and security roaming system
KR20180025887A (en) * 2015-07-03 2018-03-09 어페로, 인크. System and method for Virtual Objects Internet (IoT) devices and hubs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009219008A (en) * 2008-03-12 2009-09-24 Nec Corp Data communication apparatus, data processing method of the same, computer program of the same, and network system
KR101314435B1 (en) * 2012-06-19 2013-10-07 가톨릭대학교 산학협력단 Method for security roaming of mobile node and foreign agent apparatus thereof and security roaming system
KR20180025887A (en) * 2015-07-03 2018-03-09 어페로, 인크. System and method for Virtual Objects Internet (IoT) devices and hubs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230095565A (en) 2021-12-22 2023-06-29 건국대학교 산학협력단 APPARATUS AND METHOD FOR DEPENDENCY AND SECURITY QUANTIFICATION OF IoMT SYSTEM BASED ON CLOULD-FOG-EDGE CONTINUUM USING HIERACHICAL MODEL

Also Published As

Publication number Publication date
KR102293195B9 (en) 2022-05-10

Similar Documents

Publication Publication Date Title
US9825915B2 (en) Computerized system and method for deployment of management tunnels
US9654453B2 (en) Symmetric key distribution framework for the Internet
US8635448B2 (en) Secure prefix authorization with untrusted mapping services
US9313030B2 (en) Method and apparatus for secure ad hoc group device-to-device communication in information-centric network
JP3912609B2 (en) Remote access VPN mediation method and mediation device
JP2020080530A (en) Data processing method, device, terminal, and access point computer
US20020090089A1 (en) Methods and apparatus for secure wireless networking
US8402511B2 (en) LDAPI communication across OS instances
FI125972B (en) Equipment arrangement and method for creating a data transmission network for remote property management
CN110933197B (en) Distributed proxy network
US20040196977A1 (en) Conveying wireless encryption keys upon client device connecting to network in non-wireless manner
US20060005010A1 (en) Identification and authentication system and method for a secure data exchange
JP4490352B2 (en) VPN server hosting system and VPN construction method
KR102293195B1 (en) IoT security system according to network hierarchy structure
US20160142213A1 (en) Authentication service and certificate exchange protocol in wireless ad hoc networks
KR101880999B1 (en) End to end data encrypting system in internet of things network and method of encrypting data using the same
KR20180099293A (en) Method for communicating between trust domains and gateway therefor
KR102059150B1 (en) IPsec VIRTUAL PRIVATE NETWORK SYSTEM
CN115706977A (en) Data transmission method and related equipment
WO2016082363A1 (en) User data management method and apparatus
EP1615402A2 (en) Identification and authentication system and method for a secure data exchange
KR101326360B1 (en) Method for security communication between dns server and authoritative dns server for thereof and security communication system
Aiash A novel security protocol for resolving addresses in the location/id split architecture
KR20150060050A (en) Network device and method of forming tunnel of network device
KR102307030B1 (en) Internet of Things Communication System with Packet Safety Verification

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]