KR102293195B1 - IoT security system according to network hierarchy structure - Google Patents
IoT security system according to network hierarchy structure Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2539—Hiding addresses; Keeping addresses anonymous
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
Description
본 발명은 네트워크 계층 구조에 따른 사물인터넷 보안 시스템에 관한 것으로서, 더욱 상세하게는 실재 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,
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,
이때, 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,
디피 헬먼 알고리즘에 따르면, 양쪽 장치는 자신의 비밀값 대신에 비밀값으로부터 유도된 공개값을 서로 교환하여 공유한다. 그러나, 디피 헬먼 알고리즘은 제 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.
여기서, 는 사물인터넷 장치의 공개값이고, 는 사물인터넷 장치의 비밀값이다. here, is the public value of the IoT device, 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주소를 수신한 상태에서, 자신의 비밀값을 이용하여 대칭키()를 생성하며, 상기 대칭키()는 하기의 수학식으로 산출될 수 있다. 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 ( ), and the symmetric key ( ) can be calculated by the following equation.
여기서, 는 제2 사물인터넷 장치의 공개값을 나타내고, 는 제1 사물인터넷 장치의 비밀값을 나타낸다. here, represents the public value of the second IoT device, 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 사물인터넷 장치의 공개값과 자신의 비밀값을 이용하여 산출된 대칭키()를 이용하여 암호화된 페이로드를 복호화하며, 상기 대칭키()는 하기의 수학식으로 나타낼 수 있다. The public value of the first IoT device is extracted from the received packet, and the symmetric key ( ) to decrypt the encrypted payload, and the symmetric key ( ) can be expressed by the following equation.
여기서, 는 제1 사물인터넷 장치의 공개값을 나타내고, 는 제2 사물인터넷 장치의 비밀값을 나타낸다. here, represents the public value of the first IoT device, 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
먼저, 사물인터넷 장치(110,120,130,140)는 센서와 모선통신용모듈을 내장화한 상태에서 무선 인터넷을 이용하여 사물 간의 데이터를 주고 받아 분석 및 처리를 하는 장치를 나타낸다. 여기서, 사물 인터넷 장치(110,120,130,140)는 장비, 전자기기, 자동자, 드론 및 로봇 등을 포함한다. First, the
사물인터넷 장치(110,120,130,140)는 자기만의 16bit 크기의 비밀값을 생성하고, 생성된 비밀값으로부터 공개값을 유도 계산한다. The
그 다음, 사물인터넷 장치(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
그 다음, 사물인터넷 장치(110,120,130,140)는 패킷을 생성한다. 패킷은 헤더와 데이터부를 포함한다. 여기서 헤더는 패킷을 송신하는 사물인터넷 장치의 IP주소와 패킷을 수신하는 사물인터넷 장치의 IP주소를 포함하며, 옵션 필드에는 송신측 사물인터넷의 공개값과 수신측 사물인터넷의 공개값을 더 포함한다. Next, the
이를 다시 설명하면, 패킷을 송신하는 사물인터넷 장치(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
한편, 본 발명의 실시예에서는 복수의 사물인터넷 장치(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
게이트키퍼(210,220,230,240)는 복수의 서브 네트워크마다 설치되어 있으며, 내부의 서브 네트워크에 접속되어 있는 복수의 사물인터넷 장치(110,120,130,140)에서 전송하는 패킷과 외부의 서브 네트워크에 접속되어 있는 복수의 사물인터넷 장치(110, 120, 130, 140)로부터 수신되는 패킷을 전달받고, 전달받은 패킷에 포함된 사물인터넷 IP주소의 변환과 검증을 수행한다. The
이를 다시 설명하면, 해당되는 서브 네트워크에 접속되어 있는 사물인터넷 장치(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
따라서, 사물인터넷 장치(110,120,130,140)는 [비밀값, 공개값, 가상 IP 주소, 실재 IP 주소]의 데이터 구조를 유지하고, 게이트키퍼(210,220,230,240)는 공개값, 가상 IP 주소, 실재 IP 주소]의 데이터 구조를 유지하게 되므로, 사물인터넷 장치(110,120,130,140)와 게이트키퍼(210,220,230,240) 사이가 동기화된다. Accordingly, the
그 다음, 제1 사물인터넷 장치(110)로부터 패킷을 수신하면, 제1 게이트키퍼(210)는 패킷의 헤더에 포함된 제1 사물인터넷 장치(110)의 실재 IP주소를 추출한다. 그리고, 제1게이트키퍼(210)는 기 저장된 엔트리 정보를 이용하여 추출된 실재 IP주소를 가상 IP주소로 변경한 다음, 변경된 패킷을 제2 사물인터넷 장치(120)에 송신한다. Then, upon receiving the packet from the
반면에, 제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
이를 다시 설명하면, 복수의 사물인터넷 장치(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
마지막으로, 인터넷 서버(300)는 사물인터넷 장치(110,120,130,140)의 식별명칭 및 공개값을 이용하여 해당 사물인터넷 장치(110,120,130,140)의 IP주소를 추출하고, 추출된 사물인터넷 장치(110,120,130,140)의 IP주소를 이용하여 사물인터넷 장치(110,120,130,140)를 통신시킨다. Finally, the
자세히는, 외부의 어떤 장치가 패킷을 보내고자 하는 해당 사물인터넷 장치(110,120,130,140)의 식별 명칭만 알고 있더라도 인터넷 서버(300)에 의해 통신 연결 될 수 있도록 사물인터넷 장치(110,120,130,140)와 인터넷 서버(300)는 상호 동기화되어야 한다. In detail, even if an external device knows only the identification name of the
그러기 위해서 먼저, 사물인터넷 장치(110,120,130,140)는 게이트키퍼(210,220,230,240)로부터 할당받은 엔트리 정보 중에서 외부에 공개 가능한 정보를 인터넷 서버(300)에 전송한다. 그러면, 인터넷 서버(300)는 수신된 공개 가능한 정보를 등록시킨다. 여기서 공개 가능한 정보는 식별명칭, 공개값 및 가상 IP 주소를 포함한다. To this end, first, the
등록이 완료된 상태에서 패킷을 송신하는 제1 사물인터넷 장치(110)가 패킷을 수신하는 제2 사물인터넷 장치(120)의 식별명칭만을 알고 있는 상태에서 패킷을 전송할 경우, 제1 사물인터넷 장치(110)는 제2 사물인터넷 장치(120)에 대한 공개값 및 IP 주소를 인터넷 서버(300)에 요청한다. 그러면, 인터넷 서버(300)는 기 등록된 정보를 이용하여 제2 사물인터넷 장치(120)의 식별 명칭에 매칭되는 공개값 및 IP주소를 추출한다. 그리고, 인터넷 서버(300)는 추출된 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 해당 제1 사물인터넷 장치(110)에 전달한다. When the
한편, 사물인터넷 장치간의 통신을 수행하기 위하여 사물인터넷 장치의 명칭에 대응하는 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
반면에, 두 번째 방법은 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
한편, 제1 사물인터넷 장치(110)와 제2 사물인터넷 장치(120)가 P2P (Peer-to-Peer) 통신을 할 때는 SDN 기술을 사용한다. 또한, 제1 사물인터넷 장치(110)가 클라이언트이고 제2 사물인터넷 장치(120)가 서버로 동작하는 관계일 경우, 즉 클라이언트/서버 방식에서의 인터넷 통신에서는 DNS 기술을 사용한다. Meanwhile, when the
이하에서는 도 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
먼저, 본 발명의 실시예에 따른 제1 사물인터넷 장치(110)는 비밀값 및 공개값을 생성한다(S210). First, the
예를 들어, 제1 사물인터넷 장치(110)의 식별명칭이 라고 가정한다. 제1 사물인터넷 장치(110)는 외부에 공개하지 않고 자신만이 알 수 있는 16bit 크기의 비밀값()을 생성한다. 그 다음, 제1 사물인터넷(110)은 생성된 비밀값()으로부터 동일한 크기를 가지는 공개값()을 하기의 수학식 1을 통해 유도 계산한다. For example, the identification name of the
여기서 비밀값()은 자신만이 알고 있고 외부에 공개되지 않는 값이고, 공개값()은 외부에 공개되는 값으로 비밀값()을 대신하여 사용된다. where the secret value ( ) is a value known only to you and not disclosed to the outside, and a public value ( ) is a value that is disclosed to the outside and a secret value ( ) is used instead of
그 다음, 제1 사물인터넷 장치(110)는 제1 서브 네트워크에 설치된 제1 게이트키퍼(210)에 주소 할당 요청 신호를 송신한다. 이때, 제1 사물인터넷 장치(110)는 생성된 공개값()을 제1 게이트키퍼(210)에 전달한다. Next, the
주소 할당 요청 신호를 수신한 제1 게이트키퍼(210)는 제1 사물인터넷 장치(110)에 대한 엔트리 정보를 생성하고, 생성된 엔트리 정보를 제1 사물인터넷 장치(110)에 전달한다(S220).Upon receiving the address assignment request signal, the
부연하자면, 제1 게이트키퍼(210)는 제1 사물인터넷 장치(110)의 식별명칭을 인증하고, 인증이 완료되면 제1 사물인터넷 장치(110)에 대한 실재 IP주소와 가상 IP주소를 생성한다. 그리고, 생성된 실재 IP주소와 가상 IP주소는 주소 매핑 테이블에 저장한다. 이때, 제1 게이트키퍼(210)는 주소 매핑 테이블에 저장된 제1 사물인터넷 장치(110)의 실재 IP주소 및 가상 IP주소에 대한 정보를 쉽게 검색할 수 있도록 인덱스 즉 매칭 번호를 설정한다. 매칭 번호는 제1 게이트키퍼(210)에 의해 새롭게 생성되는 것이 아닌, 제1 사물인터넷 장치(110)로부터 전달받은 공개값()을 이용한다. In other words, the
즉, 제1 게이트키퍼(210)는 제1 사물인터넷 장치(110)에 대하여 주소와 관련된 새로운 엔트리 정보를 생성하고, 생성된 엔트리 정보는 하기의 표1과 같이 주소 매핑 테이블 형태로 저장한다. That is, the
그 다음, 제1 게이트키퍼(210)는 생성된 엔트리 정보를 제1 사물인터넷 장치(110)에 전달한다. 이로 인하여, 제1 사물인터넷 장치(110)는 [식별명칭(), 비밀값(), 공개값(), 가상 IP 주소(), 실재 IP주소()]의 데이터구조를 갖는다. Next, the
그 다음, 제1 사물인터넷 장치(110)는 주소 관련 정보를 인터넷 서버(300)에 전달하여 등록시킨다(S230).Then, the
이때, 인터넷 서버(300)는 소프트웨어 정의 네트워킹 (SDN, Software-Defined Networking) 사용 기술과 도메인 이름 시스템(DNS, Domain Name System) 사용 기술 중에서 선택된 하나의 기술을 기반으로 한다.In this case, the
먼저, SDN을 기반으로 하는 인터넷 서버(300)에 주소 관련 정보를 등록할 경우, 제1 사물인터넷 장치(110)는 식별명칭(), 공개값() 및 가상 IP 주소()를 SDN기반의 인터넷 서버(300)에 송신하여 등록시킨다. First, when registering address-related information in the SDN-based
반면에, 제1 사물인터넷 장치(110)의 도매인 식별명칭이 라고 가정한 상태에서 DNS를 기반으로 하는 인터넷 서버(300)에 주소 관련 정보를 등록할 경우, 제1 사물인터넷 장치(110)는 식별명칭() 공개값() 및 가상 IP 주소()를 DNS기반의 인터넷 서버(300)에 송신하여 등록시킨다.On the other hand, the wholesaler identification name of the
등록을 완료한 인터넷 서버(300)는 제1 사물인터넷 장치(110)에게 등록 완료 신호를 송신한다. The
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
그 다음, 도 3에 도시된 바와 같이, 제1 사물인터넷 장치(110)는 다른 서브 네트워크에 접속된 제2 사물인터넷 장치(120)에게 패킷을 전달하기 위하여 제2 사물인터넷 장치(120)의 공개값 및 IP주소 정보를 인터넷 서버(300)에 요청하여 수신한다(S310).Then, as shown in FIG. 3 , the
부연하자면, 제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
예를 들어, 제1 사물인터넷 장치(110)의 식별명칭은 이고, 제2 사물인터넷 장치(120)의 식별명칭은 라고 가정한다. 제1 사물인터넷 장치(110)는 제2 사물인터넷 장치(120)의 식별명칭()을 이용하여 인터넷 서버(300)에 주소에 관한 질의요청신호를 송신한다. For example, the identification name of the
그러면, 인터넷 서버(300)는 수신된 제2 사물인터넷 장치(120)의 식별명칭()을 이용하여 등록되어 있는 공개값() 및 가상 IP 주소()를 추출한 다음, 추출된 공개값() 및 가상 IP 주소()를 제1 사물인터넷 장치(110)에게 전달한다. Then, the
그 다음, 제1 사물인터넷 장치(110)는 페이로드 부분이 암호화된 패킷을 생성하고, 생성된 패킷을 제1 게이트 키퍼(210)에게 전달한다(S320).Next, the
일반적으로 장치와 장치 사이에 암호화 통신을 성립하기 위하여 디피-헬만(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
여기서, 는 제2 사물인터넷 장치의 공개값이고, 는 제1 사물인터넷 장치의 비밀값이다. here, is the public value of the second IoT device, is a secret value of the first IoT device.
대칭키()생성이 완료되면, 제1 사물인터넷 장치(110)는 패킷의 헤더에 주소에 관한 정보를 입력하고, 생성된 대칭키를 이용하여 페이로드 부분을 암호화한다. Symmetric key ( ) when the generation is completed, the
한편, 패킷의 헤더에는 제1 사물인터넷 장치의 실재 IP주소(), 제2 사물인터넷 장치의 가상 IP 주소(), 제1 사물인터넷 장치의 공개값()을 탑재하는 옵션1 및 제2 사물인터넷 장치의 공개값()을 탑재하는 옵션 2를 포함한다.Meanwhile, in the header of the packet, the real IP address ( ), the virtual IP address of the second IoT device ( ), the public value of the first IoT device ( ) of
생성된 패킷은 제1 게이트키퍼(210)에 전달된다. 그러면, 제1 게이트키퍼(210)는 전달받은 패킷의 헤더값을 변경하고, 변경된 패킷을 제2 사물인터넷 장치(120)를 향하여 브로드캐스팅한다(S330).The generated packet is transmitted to the
제1 게이트키퍼(210)는 전달받은 패킷에서 제1 사물인터넷 장치(110)의 공개값 및 실재 IP주소를 추출한다. 그리고, 제1 게이트키퍼(210)는 추출된 공개값를 이용하여 기 저장된 주소 매핑 테이블에서 제1 사물인터넷 장치(110)의 가상 IP주소를 획득한다. 그 다음, 제1 게이트키퍼(210)는 패킷의 헤더에 포함된 제1 사물인터넷 장치(110)의 실재 IP 주소를 획득한 가상 IP주소로 변경한다. The
S330에서 전송된 패킷은 제2 사물인터넷 장치(120)가 접속되어 있는 서브 네트워크에 설치된 제2 게이트키퍼(220)에 먼저 도달한다. 그러면, 제2게이트키퍼(220)는 수신된 패킷의 헤더값을 변경하고, 변경된 패킷을 제2 사물인터넷 장치(120)에 전달한다(S340).The packet transmitted in S330 first arrives at the
특정 사물인터넷 장치(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
검증이 완료되면, 제2 게이트키퍼(220)는 패킷의 헤더에 포함된 제2 사물인터넷 장치(120)의 공개값 및 가상 IP 주소를 추출한다. 그 다음, 제2 게이트키퍼(220)는 추출된 공개값을 이용하여 제2 사물인터넷 장치(120)의 실재 IP 주소를 획득한다. 제2 게이트키퍼(220)는 패킷이 헤더에 포함된 제2 사물인터넷 장치(120)의 가상 IP 주소를 획득한 실재 IP 주소로 변경한 다음, 변경된 패킷을 제2 사물인터넷 장치(120)에 전달한다. When the verification is completed, the
패킷을 전달받은 제2 사물인터넷 장치(120)는 암호화된 패킷의 페이로드 부분을 복호화한다(S350).The
부연하자면, 제2 사물인터넷 장치(120)는 수신된 패킷으로부터 제1 사물인터넷 장치의 공개값을 추출한다. 이때, 제2 사물인터넷 장치(120)는 수신된 패킷의 헤더에 포함된 옵션 필드로부터 제1 사물인터넷 장치의 공개값을 추출하거나, 패킷의 응용 계층 페이로드의 시작부분에 포함된 제1 사물인터넷 장치의 공개값을 추출한다. In other words, the
그 다음, 제2 사물인터넷 장치(120)는 하기의 수학식 3을 이용하여 대칭키를 산출한다. Then, the
여기서, 는 제1 사물인터넷 장치의 공개값이고, 는 제2 사물인터넷 장치의 비밀값이다. here, is a public value of the first IoT device, is a secret value of the second IoT device.
그리고, 제2 사물인터넷 장치(120)는 산출된 대칭키를 이용하여 패킷의 페이로드 부분을 복호화한다. Then, the
본 발명의 실시예에 따른 사물인터넷 보안 시스템은 사물인터넷 장치의 공개값을 이용하여 생성된 대칭키에 의해 장치와 장치 사이의 인증을 도모할 수 있고, 게이트키퍼는 공개값을 이용하여 생성된 패킷이 수신측 사물인터넷 장치에게 최종적으로 도달하도록 중계한다. 이때, 해커의 공격으로 인해 공개값이 조작되면, 조작된 패킷은 게이트키퍼에 의해 수신측 사물인터넷 장치에 전달될 수 없다. 그러므로, 본 발명의 실시예에 따른 사물인터넷 보안 시스템은 인증이 간단하고 비밀성을 강화할 수 있다. 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
그 다음, 도 4에 도시된 바와 같이, 제1 사물인터넷 장치(110)는 인터넷 서버(300)에게 제2 사물인터넷장치(120)의 공개값 및 IP주소를 질의(query)하고, 그에 대한 정보를 수신한다(S410). Next, as shown in FIG. 4 , the
부연하자면, 제1 사물인터넷 장치(110)는 제1 게이트키퍼(210)로부터 주소를 할당받아 [식별명칭(), 비밀값(), 공개값(), 가상 IP 주소(), 실재 IP주소()]의 데이터 구조를 포함하고 있고, 제1 게이트기퍼(210)는 수신된 공개값 및 할당된 주소 정보를 주소 매핑 테이블에 저장한 상태라고 가정한다. In other words, the
그리고, 제1 사물인터넷 장치(110)가 식별명칭이 인 제2사물인터넷 장치(120)에게 패킷을 송신하고자 할 경우, 제1 사물인터넷 장치(110)는 제2사물인터넷 장치의 식별명칭()을 인터넷서버(300)에 전달하여 공개값 및 IP주소를 요청한다. And, the
그러면, 인터넷 서버(300)는 데이터베이스에 저장된 등록정보를 이용하여 식별명칭()에 매칭되는 공개값() 및 가상 IP 주소(vIP_)를 추출한 다음, 추출된 공개값() 및 가상 IP 주소()를 제1 사물인터넷 장치(110)에 응답형식으로 전달한다.Then, the
S410단계가 완료되면, 제1 사물인터넷 장치(110)는 대칭키를 생성하고, 생성된 대칭키를 이용하여 페이로드 부분이 암호화된 패킷을 생성하여 송신한다(S420).When step S410 is completed, the
제1 사물인터넷 장치(110)는 수학식 2를 이용하여 대칭키를 생성한다. 즉, 인터넷 서버(300)로부터 전달받은 제2 사물인터넷 장치(120)의 공개값()과 자신의 비밀값()을 이용하여 대칭키()를 생성한다. The
그리고, 제1 사물인터넷 장치(110)는 생성된 대칭키를 이용하여 패킷의 페이로드 부분을 암호화한다. 이때, 패킷의 헤더는 주소 정보를 포함하며, [S.IP= rIP_, D.IP= vIP_, Op.1= , Op.2= ]로 구성된다.Then, the
그리고, 생성된 패킷은 목적지인 제2 사물인터넷 장치(120)로 전송된다. 전송된 패킷은 제1 게이트키퍼(210)에 도달하게 된다. 그러면, 제1 게이트키퍼(210)는 패킷의 헤더를 [S.IP= vIP_, D.IP= vIP_, Op.1= , , Op.2= ]로 변경한 다음, 제2 사물인터넷 장치(120)가 접속되어 있는 제2 게이트키퍼(220) 방향으로 브로드캐스팅한다. Then, the generated packet is transmitted to the
브로드캐스팅된 패킷은 인터넷을 통상적인 방법으로 경유하여 제2 게이트키퍼(220)에 도달한다. 그러면, 제2 게이트키퍼(220)는 도달한 패킷의 보안성을 검증하고, 패킷의 헤더를 [S.IP= vIP_, D.IP= rIP_, Op.1= , , Op.2= ]로 변경한다. 그리고, 변경된 패킷을 실질적으로 rIP_를 사용하는 제2 사물인터넷 장치(120)에 전달한다. The broadcast packet arrives at the
그러면, 제2 사물인터넷 장치(120)는 수신된 패킷의 페이로드 부분을 복호화하며, 세션 요청에 대한 수락 여부를 결정한다(S430). Then, the
부연하자면, 제2 사물인터넷 장치(120)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제1 사물인터넷 장치(110)의 공개값() 을 추출한다. 그리고, 제2 사물인터넷 장치(120)는 패킷에 포함된 페이로드의 시작 부분에서 제1 사물인터넷 장치의 공개값()을 추출한다. 그리고, 헤더에서 추출된 공개값()과 페이로드에서 추출된 공개값()을 상호 비교하여 두 값이 동일한지 여부를 판단한다. In other words, the
비교한 결과 두 값이 동일하면, 제2 사물인터넷 장치(120)는 추출된 제1 사물인터넷 장치(110)의 공개값()과 자신의 비밀값()을 상기의 수학식 3에 대입하여 대칭키()를 산출한다. As a result of the comparison, if the two values are the same, the
그 다음, 제2 사물인터넷 장치(120)는 생성된 대칭키를 이용하여 페이로드 부분을 복호화한다. Then, the
S430단계에서 세션 요청에 대한 수락이 결정되면, 제2 사물인터넷 장치(120)는 세션 요청 수락에 대한 응답 패킷을 생성하여 송신한다(S440). When it is determined to accept the session request in step S430, the
이때, 세션 요청 수락을 한 시점 이후에 송수신 되는 패킷은 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)는 복호화를 위해 생성된 대칭키()를 이용하여 응답 패킷의 페이로드 부분을 암호화한다. 그리고, 응답 패킷의 헤더에는 [S.IP= rIP_, D.IP= vIP_, Op.1= , Op.2= ]를 포함한다. That is, the
그리고, 생성된 패킷은 목적지인 제1 사물인터넷 장치(110)로 전송된다. 전송된 패킷은 제2 게이트키퍼(200)에 도달하게 된다. 그러면, 제2 게이트키퍼(220)는 패킷의 헤더를 [S.IP= vIP_, vIP_, Op.1= , Op.2= ]로 변경한 다음, 제1 사물인터넷 장치(110)가 접속되어 있는 제1 게이트키퍼(210) 방향으로 브로드캐스팅한다. Then, the generated packet is transmitted to the
브로드캐스팅된 패킷은 인터넷을 통상적인 방법으로 경유하여 제1 게이트키퍼(210)에 도달한다. 그러면, 제1 게이트키퍼(210)는 도달한 패킷의 보안성을 검증하고, 패킷의 헤더를 [S.IP= vIP_, rIP_, Op.1= , Op.2= ]로 변경한다. 그리고, 변경된 패킷을 실질적으로 rIP_를 사용하는 제1 사물인터넷 장치(110)에 전달한다. The broadcast packet arrives at the
그러면, 제1 사물인터넷 장치(110)는 수신된 패킷의 페이로드 부분을 복호화한다(S450). Then, the
부연하자면, 제1 사물인터넷 장치(110)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제2 사물인터넷 장치(120)의 공개값() 을 추출한다. 그리고, 제1 사물인터넷 장치(110)는 패킷에 포함된 페이로드의 시작 부분에서 제2 사물인터넷 장치의 공개값()을 추출한다. 그리고, 헤더에서 추출된 공개값()과 페이로드에서 추출된 공개값()을 상호 비교하여 두 값이 동일한지 여부를 판단한다. In other words, the
비교한 결과 두 값이 동일하면, 제1 사물인터넷 장치(110)는 추출된 제2 사물인터넷 장치(120)의 공개값()과 자신의 비밀값()을 상기의 수학식 2에 대입하여 대칭키()를 산출한다. 그리고 제1 사물인터넷 장치는 산출된 대칭키를 이용하여 패킷의 페이로드부분을 복호화한다. If the two values are the same as a result of the comparison, the
세션 요청에 대한 수락 응답이 완료되면, 제1 사물인터넷 장치(110)와 제2 사물인터넷 장치(120)는 양향방 P2P 통신을 수행한다(S460).When the acceptance response to the session request is completed, the
즉, 제1 사물인터넷 장치(110)가 대칭키()를 이용하여 페이로드 부분이 암호화된 패킷을 생성하여 전송하면, 전송된 패킷은 소속된 제1 게이트키퍼(210)에 도달하지 않고 제2 사물인터넷 장치(120)가 소속되어 있는 제2 게이트키퍼(220)에 도달한다. 그러면, 제2 게이트키퍼(220)는 수신된 패킷에 대한 검증 및 주소변환 과정을 수행한 다음, 패킷의 헤더값이 변경된 패킷을 제2 사물인터넷 장치(120)에게 전달한다. 그러면, 제2 사물인터넷 장치(120)는 대칭키()를 이용하여 페이로드 부분이 암호화된 패킷을 복호화한다. That is, the
마찬가지로, 제2 사물인터넷 장치(120)가 대칭키()를 이용하여 페이로드 부분이 암호화된 패킷을 생성하여 전송하면, 전송된 패킷은 소속된 제2 게이트키퍼(220)에 도달하지 않고 제1 사물인터넷 장치(110)가 소속되어 있는 제1 게이트키퍼(210)에 도달한다. 그러면, 제1 게이트키퍼(210)는 수신된 패킷에 대한 검증 및 주소변환 과정을 수행한 다음, 패킷의 헤더값이 변경된 패킷을 제1 사물인터넷 장치(110)에게 전달한다. 그러면, 제1 사물인터넷 장치(110)는 대칭키()를 이용하여 페이로드 부분이 암호화된 패킷을 복호화한다. Similarly, the
이하에서는 도 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
그 다음 도 5에 도시된 바와 같이, 제1사물인터넷 장치(110)는 인터넷 서버(300)에게 제2 사물인터넷장치(120)의 IP주소를 질의(query)하고, 그에 대한 정보를 수신한다(S510). Then, as shown in FIG. 5 , the
부연하자면, 식별명칭이 이고, 제1 게이트키퍼(210)로부터 [, vIP_, rIP_]의 매핑 엔트리 정보를 할당받은 제1 사물인터넷 장치(110)가 식별명칭이 인 제2사물인터넷 장치(120)에게 패킷을 송신하고자 할 경우, 제1 사물인터넷 장치(110)는 제2사물인터넷 장치의 도메인 식별명칭(.utopia.com)을 인터넷서버(300)에 전달하여 공개값 및 IP주소를 요청한다. In other words, the identification name is and from the first gatekeeper 210 [ , vIP_ , rIP_ The
한편, DNS기반의 인터넷 서버(300)는 복수의 소속 서버(AU)로 구성된다. 소속 서버는 가장 상위에 있는 루트 도메인 서버와, 복수의 하위 도메인 서버를 포함한다. 한편, 루트 도메인 서버의 IP 주소는 변경되지 않으므로 복수의 모든 도메인 서버들은 루트 도메인 서버를 인지하고 있다. On the other hand, the DNS-based
이하에서는 도 6을 이용하여 제1 사물인터넷 장치(110)가 복수의 소속 서버와의 질의를 통해 제2 사물인터넷 장치(120)의 공개값 및 주소 정보를 획득하는 과정을 설명한다. Hereinafter, a process in which the
도 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
가장 가까운 곳에 위치하는 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
루트 도메인서버는 제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)의 도메인 식별 명칭이 .utopia.com일 경우, 최상위 도메인이 ".com"이 된다. 따라서, 루트 도메인서버는 ".com"이 등록된 소속 서버의 IP주소를 제1 소속서버에 전달한다. For example, the domain identification name of the
그러면, 제1 소속서버는 ".com"을 관리하는 네임서버에게 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 문의한다(S514). Then, the first affiliated server inquires the public value and IP address of the
그러면,".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
제1 소속서버는 ".com"네임서버로부터 전달받은 "utopia"의 네임서버의 IP주소를 이용하여 "utopia"의 네임서버에게 제2 사물인터넷 장치(120)의 공개값 및 IP주소를 문의한다(S516).The first affiliated server inquires the public value and IP address of the
마지막으로"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
그러면, 제1 소속서버는 제2 사물인터넷 장치(120)의 공개값() 및 IP주소(vIP_)를 제1 사물인터넷 장치(110)에게 전달한다(S518). Then, the first affiliated server transmits the public value ( ) and IP address (vIP_ ) to the first IoT device 110 (S518).
S510 단계를 완료하면, 제1 사물인터넷 장치(110)는 대칭키를 이용하여 페이로드 부분이 암호화된 HTTP요청 패킷을 생성하고, 생성된 HTTP요청 패킷을 제2 사물인터넷 장치(120)에게 송신한다(S520). Upon completion of step S510 , the
부연하자면, 제1 사물인터넷 장치(110)는 인터넷 서버(300)로부터 수신된 제2 사물인터넷 장치(120)의 공개값()과 자신의 비밀값()을 수학식 2에 대입하여 대칭키()를 산출한다. In other words, the
그리고, 제1 사물인터넷 장치(110)는 산출된 대칭키()를 이용하여 페이로드 부분이 암호화된 HTTP요청 패킷을 생성한다. 이때, HTTP요청 패킷의 헤더의 관련 필드는 [S.IP= rIP_, D.IP= vIP_, Op.1= , Op.2= ]로 구성된다. 생성된 HTTP요청 패킷은 제2 사물인터넷 장치(120)를 향하여 전송된다. 전송된 HTTP요청 패킷은 제2 사물인터넷 장치(120)에 전달되기 전에 제1 게이트키퍼(210)에 도달하며, 제1 게이트키퍼(210)는 HTTP요청 패킷의 헤더를 [S.IP= vIP_, D.IP= vIP_, Op.1= , Op.2= ]로 변경한다. 그 다음, 제1 게이트키퍼(210)는 제2 사물인터넷 장치(120)가 속한 제2 게이트키퍼(220)방향으로 HTTP요청 패킷을 브로드캐스팅한다. In addition, the
HTTP요청 패킷은 인터넷을 통상적인 방법으로 경유하여 제2 게이트키퍼(220)에 도달한다. 그러면, 제2 게이트키퍼(220)는 패킷을 검증하고, 검증이 완료된 패킷의 헤더를 [S.IP= vIP_, D.IP= rIP_, Op.1= , Op.2= ]로 변경한 다음, 변경된 HTTP요청 패킷을 실질적으로 rIP_를 사용하는 제2 사물인터넷 장치(120)에 전달한다. The HTTP request packet arrives at the
그러면, 제2 사물인터넷 장치(120)는 수신된 패킷의 페이로드 부분을 복호화한다(S530). Then, the
부연하자면, 제2 사물인터넷 장치(120)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제1 사물인터넷 장치(120)의 공개값() 을 추출한다. 그리고, 제2 사물인터넷 장치(110)는 패킷에 포함된 페이로드의 시작 부분에서 제1 사물인터넷 장치의 공개값()을 추출한다. 그리고, 헤더에서 추출된 공개값()과 페이로드에서 추출된 공개값()을 상호 비교하여 두 값이 동일한지 여부를 판단한다. In other words, the
비교한 결과 두 값이 동일하면, 제2 사물인터넷 장치(120)는 추출된 제1 사물인터넷 장치(120)의 공개값()과 자신의 비밀값()을 상기의 수학식 3에 대입하여 대칭키()를 산출한다. 그리고 제2 사물인터넷 장치(120)는 산출된 대칭키를 이용하여 패킷의 페이로드부분을 복호화한다. If the two values are the same as a result of the comparison, the
그 다음, 제2 사물인터넷 장치(120)가 제1 사물인터넷 장치(110)의 HTTP요청에 의해 명시된 파일 정보를 제공해 줄 수 있다면, 제2 사물인터넷 장치(120)는 대칭키()를 이용하여 페이로드 부분이 암호화된 HTTP 응답 패킷을 생성하고, 생성된 HTTP 응답 패킷을 제1 사물인터넷 장치(110)로 향하여 송신한다(S540).Then, if the
즉, 제2 사물인터넷 장치(120)는 S530단계에서 산출된 대칭키()를 이용하여 페이로드 부분이 암호화된 HTTP 응답 패킷을 생성한다. 이때, HTTP 응답 패킷의 헤더에는 [S.IP=rIP_, D.IP= vIP_, Op.1= , Op.2=]의 주소 정보를 포함한다. That is, the
생성된 HTTP 응답 패킷은 제1 사물인터넷 장치(110)에게 송신된다. 송신된 HTTP 응답 패킷은 제2 게이트키퍼(220)에 먼저 도달하게 되고, 제2 게이트키퍼(220)는 패킷 헤더를 [S.IP=vIP_, D.IP= vIP_, Op.1= , Op.2=]로 변경하여 제1 사물인터넷 장치(110)에 소속되어 있는 제1 게이트키퍼(210)에 브로드캐스팅한다. The generated HTTP response packet is transmitted to the
브로드캐스팅된 HTTP 응답 패킷은 인터넷의 통상적인 방법으로 경유하여 제1 게이트키퍼(210)에 도달한다. 그러면, 제1 게이트키퍼(210)는 도달한 패킷의 보안성을 검증하고, 패킷의 헤더를 [S.IP=vIP_, D.IP= rIP_, Op.1= , Op.2=]로 변경한다. 그리고, 변경된 패킷을 실질적으로 rIP_를 사용하는 제1 사물인터넷 장치(110)에 전달한다.The broadcast HTTP response packet arrives at the
그러면, 제1 사물인터넷 장치(110)는 전달받은 패킷의 페이로드 부분을 복호화한다(S550)Then, the
제1 사물인터넷 장치(110)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제2 사물인터넷 장치(120)의 공개값() 을 추출한다. 그리고, 제1 사물인터넷 장치(110)는 패킷에 포함된 페이로드의 시작 부분에서 제2 사물인터넷 장치의 공개값()을 추출한다. 그리고, 헤더에서 추출된 공개값()과 페이로드에서 추출된 공개값()을 상호 비교하여 두 값이 동일한지 여부를 판단한다. The
비교한 결과 두 값이 동일하면, 제1 사물인터넷 장치(110)는 S520단계에서 생성된 대칭키()를 이용하여 패킷의 페이로드 부분을 복화화한다. If the two values are the same as a result of the comparison, the
이렇게 하여 제1 사물인터넷 장치(110)는 제2 사물인터넷장치(120)에서 보내주는 HTTP 응답 패킷에 포함된 원하는 파일 정보를 수신할 수 있다. In this way, the
이하에서는 도 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 서브 네트워크에 연결되어 있는 복수의 사물인터넷 장치는 자율주행차량()(110-1), 자율주행차량()(110-2) 및 카메라 장치()(110-3)을 포함할 수 있다. At this time, the plurality of IoT devices connected to the first sub-network are autonomous vehicles ( ) (110-1), autonomous vehicle ( ) (110-2) and the camera device ( ) (110-3).
도 7에서는 자율주행차량()(110-1)이 동일 서브네트워크에 소속된 자율주행차량()(110-2) 및 카메라 장치()(110-3)에 각각 데이터 패킷을 보내는 경우에 대하여 설명한다. 7, the autonomous vehicle ( ) (110-1) is an autonomous vehicle belonging to the same subnetwork ( ) (110-2) and the camera device ( ), a case in which data packets are transmitted to 110-3 will be described.
먼저, 자율주행차량()(110-1), 자율주행차량()(110-2) 및 카메라 장치()(110-3)는 각각 비밀값 및 공개값을 생성한다. 그리고, 자율주행차량()(110-1), 자율주행차량()(110-2) 및 카메라 장치()(110-3)는 생성된 공개값을 게이트 키퍼(210)에 전달하여 실재 IP 주소 및 가상 IP주소를 할당받는다. First, autonomous vehicles ( ) (110-1), autonomous vehicle ( ) (110-2) and the camera device ( ) (110-3) generates a secret value and a public value, respectively. and autonomous vehicles ( ) (110-1), autonomous vehicle ( ) (110-2) and the camera device ( ) 110-3 transmits the generated public value to the
그리고, 제1 자율주행차량()(110-1), 제2 자율주행차량()(110-2) 및 카메라 장치()(110-3)는 SDN 또는 DNS 기반의 인터넷 서버(300)에 각각의 식별명칭, 공개값 및 가상 IP주소가 등록된 상태이다. And, the first autonomous vehicle ( ) (110-1), the second autonomous vehicle ( ) (110-2) and the camera device ( ) 110-3 is a state in which each identification name, public value, and virtual IP address are registered in the SDN or DNS-based
그 다음, 도 7에 도시된 바와 같이, 제1 자율주행차량()(110-1)은 제2 자율주행차량()(110-2)과의 양방향 통신을 수행하기 위하여 패킷을 전송한다(S710). Then, as shown in FIG. 7, the first autonomous vehicle ( ) (110-1) is the second autonomous vehicle ( ) transmits a packet to perform bidirectional communication with 110-2 (S710).
제1 자율주행차량()(110-1)는 인터넷 서버(300)로부터 제2 자율주행차량()(110-2)에 대한 공개값 및 가상 IP 주소를 수신받는다. 그 다음, 제1 자율주행차량()(110-1)는 수신된 제2 자율주행차량()(110-2)의 공개값과 자신의 비밀값을 이용하여 대칭키()를 생성한다. 제1 자율주행차량()(110-1)는 생성된 대칭키를 이용하여 생성된 패킷의 페이로드 부분을 암호화한다. 이때, 생성된 패킷의 헤더는 [S.IP=rIP_, D.IP= vIP_, Op.1= , Op.2=]의 주소 정보를 포함한다. The first autonomous vehicle ( ) 110-1 is the second autonomous vehicle ( ) receives the public value and virtual IP address for (110-2). Then, the first autonomous vehicle ( ) 110-1 is the received second autonomous vehicle ( ) using the public value of (110-2) and its own private value, the symmetric key ( ) is created. The first autonomous vehicle ( ) 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_ , D.IP= vIP_ , Op.1= , Op.2= ] contains address information.
제1 자율주행차량()(110-1)가 생성된 패킷을 제2 자율주행차량()(110-2)에게 전송한다. 전송된 패킷은 제2 자율주행차량()(110-2)에 도달하기 전에 해당 게이트키퍼(200)를 경유하게 된다. The first autonomous vehicle ( ) 110-1 sends the generated packet to the second autonomous vehicle ( ) to (110-2). The transmitted packet is the second autonomous vehicle ( ) before reaching 110-2, it passes through the
게이트키퍼(200)는 수신된 패킷을 검증하고, 패킷의 헤더를 변경한다. 그 다음, 게이트키퍼(200)는 변경된 패킷을 제2 자율주행차량()(110-2)에게 전달한다(S720).The
부연하자면, 게이트키퍼(200)는 전달받은 패킷의 헤더에 포함된 제1 자율주행차량()(110-1)의 실재 IP주소 및 공개값()을 추출하고, 기 저장된 주소 매핑 테이블을 이용하여 제1 자율주행차량()(110-1)의 가상 IP 주소를 획득한다. 그리고 게이트키퍼(200)는 패킷의 헤더에 포함된 제1 자율주행차량()(110-1)의 실재 IP 주소를 획득한 가상 IP로 변경한다. In other words, the
또한, 게이트키퍼(200)는 전달받은 패킷의 헤더에 포함된 제2 자율주행차량()(110-2)의 가상 IP주소 및 공개값()을 추출하고, 기 저장된 주소 매핑 테이블을 이용하여 제2 자율주행차량()(110-2)의 실재 IP 주소를 획득한다. 그리고 게이트키퍼(200)는 패킷의 헤더에 포함된 제2 자율주행차량()(110-2)의 가상 IP 주소를 획득한 실재 IP로 변경한다.In addition, the
그리고, 게이트키퍼(200)는 변경된 패킷을 제2 자율주행차량()(110-2)에 전달한다. 제2 자율주행차량()(110-2)은 대칭키를 생성하고, 생성된 대칭키를 이용하여 수신된 패킷의 페이로드 부분을 복호화한다(S730).Then, the
자세히는, 제2 자율주행차량()(110-2)은 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제1 자율주행차량()(110-1)의 공개값()을 추출한다. 그리고, 제2 자율주행차량()(110-2)은 패킷에 포함된 페이로드의 시작 부분에서 제1 자율주행차량()(110-1)의 공개값()을 추출한다. 그리고, 헤더에서 추출된 공개값()과 페이로드에서 추출된 공개값()을 상호 비교하여 두 값이 동일한지 여부를 판단한다. In detail, the second autonomous vehicle ( ) 110-2 is the first autonomous vehicle ( ) (110-1) public value ( ) is extracted. And, the second autonomous vehicle ( ) 110-2 is the first autonomous vehicle ( ) (110-1) public value ( ) is extracted. And, the public value extracted from the header ( ) and the public value extracted from the payload ( ) to determine whether the two values are the same.
비교한 결과 두 값이 동일하면, 제2 자율주행차량()(110-2)는 추출된 제1 자율주행차량()(110-1)의 공개값()과 자신의 비밀값()을 이용하여 대칭키()를 생성한다. 그리고 제2 자율주행차량()(110-2)는 생성된 대칭키를 이용하여 패킷의 페이로드 부분을 복호화한다. As a result of the comparison, if the two values are the same, the second autonomous vehicle ( ) (110-2) is the extracted first autonomous vehicle ( ) (110-1) public value ( ) and its secret value ( ) using the symmetric key ( ) is created. and a second autonomous vehicle ( ) 110-2 decrypts the payload portion of the packet using the generated symmetric key.
또한, 제1 자율주행차량()(110-1)가 동일 서브 네트워크에 머무르는 카메라 장치()(110-3)와의 통신을 수행할 경우, 제1 자율주행차량()(110-1)은 패킷을 생성하여 송신한다(S740). In addition, the first autonomous vehicle ( ) (110-1) is a camera device ( ) (110-3), the first autonomous vehicle ( ) 110-1 generates and transmits a packet (S740).
제1 자율주행차량()(110-1)는 인터넷 서버(300)로부터 카메라 장치()(110-3)에 대한 공개값 및 가상 IP 주소를 수신받는다. 그 다음, 제1 자율주행차량()(110-1)는 수신된 카메라 장치()(110-3)의 공개값과 자신의 비밀값을 이용하여 대칭키()를 생성한다. 제1 자율주행차량()(110-1)는 생성된 대칭키를 이용하여 생성된 패킷의 페이로드 부분을 암호화한다. 이때, 생성된 패킷의 헤더는 [S.IP=rIP_, D.IP= vIP_, Op.1= , Op.2=]의 주소 정보를 포함한다. The first autonomous vehicle ( ) 110-1 is a camera device ( ) receives the public value and virtual IP address for (110-3). Then, the first autonomous vehicle ( ) 110-1 is the received camera device ( ) using the public value of (110-3) and its own private value, the symmetric key ( ) is created. The first autonomous vehicle ( ) 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_ , D.IP= vIP_ , Op.1= , Op.2= ] contains address information.
제1 자율주행차량()(110-1)가 생성된 패킷을 카메라 장치()(110-3)에게 전송하면, 전송된 패킷은 카메라 장치()(110-3)에 도달하기 전에 해당 게이트키퍼(200)를 경유하게 된다. The first autonomous vehicle ( ) (110-1) sends the generated packet to the camera device ( ) (110-3), the transmitted packet is transmitted to the camera device ( ) before reaching 110-3, it passes through the
게이트키퍼(200)는 수신된 패킷을 검증하고, 패킷의 헤더를 변경한다. 그 다음, 게이트키퍼(200)는 변경된 패킷을 카메라 장치()(110-3)에게 전달한다(S750).The
부연하자면, 게이트키퍼(200)는 전달받은 패킷의 헤더에 포함된 제1 자율주행차량()(110-1)의 실재 IP주소 및 공개값()을 추출하고, 기 저장된 주소 매핑 테이블을 이용하여 제1 자율주행차량()(110-1)의 가상 IP 주소를 획득한다. 그리고 게이트키퍼(200)는 패킷의 헤더에 포함된 제1 자율주행차량()(110-1)의 실재 IP 주소를 획득한 가상 IP로 변경한다. In other words, the
또한, 게이트키퍼(200)는 전달받은 패킷의 헤더에 포함된 카메라 장치()(110-3)의 가상 IP주소 및 공개값()을 추출하고, 기 저장된 주소 매핑 테이블을 이용하여 카메라 장치()(110-3)의 실재 IP 주소를 획득한다. 그리고 게이트키퍼(200)는 패킷의 헤더에 포함된 카메라 장치()(110-3)의 가상 IP 주소를 획득한 실재 IP로 변경한다.In addition, the
그리고, 게이트키퍼(200)는 변경된 패킷을 카메라 장치()(110-3)에 전달한다. 카메라 장치()(110-3)은 대칭키를 생성하고, 생성된 대칭키를 이용하여 수신된 패킷의 페이로드 부분을 복호화한다(S760).Then, the
자세히는, 카메라 장치()(110-3)는 수신된 패킷의 헤더에 포함된 옵션 1 필드로부터 제1 자율주행차량()(110-1)의 공개값()을 추출한다. 그리고, 카메라 장치()(110-3)는 패킷에 포함된 페이로드의 시작 부분에서 제1 자율주행차량()(110-1)의 공개값()을 추출한다. 그리고, 헤더에서 추출된 공개값()과 페이로드에서 추출된 공개값()을 상호 비교하여 두 값이 동일한지 여부를 판단한다. Specifically, the camera device ( ) 110-3 represents the first autonomous vehicle ( ) (110-1) public value ( ) is extracted. And, the camera device ( ) 110-3 is the first autonomous vehicle ( ) (110-1) public value ( ) is extracted. And, the public value extracted from the header ( ) and the public value extracted from the payload ( ) to determine whether the two values are the same.
비교한 결과 두 값이 동일하면, 카메라 장치()(110-3)는 추출된 제1 자율주행차량()(110-1)의 공개값()과 자신의 비밀값()을 이용하여 대칭키()를 생성한다. 그리고 카메라 장치()(110-3)는 생성된 대칭키를 이용하여 패킷의 페이로드 부분을 복호화한다. If the two values are the same as a result of comparison, the camera device ( ) (110-3) is the extracted first autonomous vehicle ( ) (110-1) public value ( ) and its secret value ( ) using the symmetric key ( ) is created. and the camera device ( ) 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
또한 본 발명의 실시예 따르면, 사물인터넷 장치의 운영에 있어서 보조 인증기관을 요구하는 인증서나 너무 큰 계산량을 요구하는 공개키 알고리즘을 이용하지 않더라도 사물인터넷 장치의 인증 및 통신을 제공할 수 있다. 그러므로 사람이 관여하여 인증 및 보안 문제를 해결하는 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 주소를 통신하고자 하는 사물인터넷 장치에 제공하여 사물인터넷 장치와 다른 사물인터넷 장치 사이의 통신을 연결시키는 인터넷 서버를 포함하며,
상기 공개값은,
하기의 수학식으로 통해 산출되고,
(여기서, 는 사물인터넷 장치의 공개값이고, 는 사물인터넷 장치의 비밀값이다. )
제1 서브 네트워크에 접속되어 있는 제1 사물인터넷 장치가 제2 서브 네트워크에 접속되어 있는 제2 사물인터넷 장치에게 패킷을 전송할 경우,
상기 인터넷 서버는,
상기 제1 사물인터넷 장치로부터 전달받은 제2 사물인터넷 장치의 식별명칭과 기 등록된 정보를 비교하여 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 추출하고, 추출된 제2 사물인터넷 장치의 공개값 및 가상 IP주소를 제1 사물인터넷 장치에 전달하고,
제1 사물인터넷 장치는,
제2 사물인터넷 장치의 공개값 및 가상 IP주소를 수신한 상태에서, 자신의 비밀값()을 하기의 수학식에 대입하여 대칭키()를 생성하며, 상기 대칭키()를 이용하여 송신하고자 하는 패킷의 응용 계층 페이로드 부분을 암호화한 다음, 암호화된 패킷을 제2 사물인터넷 장치에게 전송하는 사물인터넷 보안 시스템:
여기서, 는 제2 사물인터넷 장치의 공개값을 나타내고, 는 제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,
(here, is the public value of the IoT device, 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 ( ) by substituting the symmetric key ( ), and the symmetric key ( ) to encrypt the application layer payload portion of the packet to be transmitted, and then transmit the encrypted packet to the second IoT device:
here, represents the public value of the second IoT device, denotes a secret value of the first IoT device.
상기 사물인터넷 장치는,
장비, 전자기기, 자동자, 드론 및 로봇 중에서 적어도 어느 하나를 포함하는 사물인터넷 보안 시스템.According to claim 1,
The IoT device is
An IoT security system including at least one of equipment, electronic devices, automatons, drones, and robots.
상기 게이트키퍼는
상기 사물인터넷 장치로부터 전달받은 공개값을 인덱스로 사용하며, 상기 공개값, 실재 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.
상기 제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.
상기 제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.
상기 제2 사물인터넷 장치는,
수신된 패킷으로부터 제1 사물인터넷 장치의 공개값을 추출하고, 추출된 제1 사물인터넷 장치의 공개값과 자신의 비밀값을 이용하여 산출된 대칭키()를 이용하여 암호화된 페이로드를 복호화하며,
상기 대칭키()는 하기의 수학식으로 나타내는 사물인터넷 보안 시스템;
여기서, 는 제1 사물인터넷 장치의 공개값을 나타내고, 는 제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 ( ) to decrypt the encrypted payload,
The symmetric key ( ) is an IoT security system represented by the following equation;
here, represents the public value of the first IoT device, denotes a secret value of the second IoT device.
상기 제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.
상기 인터넷 서버는,
소프트웨어 정의 네트워킹(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).
상기 인터넷 서버에 상기 소프트웨어 정의 네트워킹(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.
상기 세션 설정 요청 패킷은
제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.
상기 인터넷 서버가 상기 도메인 네임 시스템(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.
제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.
상기 소속 서버는,
자신의 데이터베이스에 등록된 매핑 엔트리 정보를 이용하여 제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.
동일 서브 네트워크에 접속되어 있는 복수의 사물인터넷 장치간의 통신을 수행할 경우, 사물인터넷 장치에서 송신 또는 수신되는 패킷은 동일한 게이트키퍼를 경유하며,
상기 게이트키퍼는,
송신측 사물인터넷 장치로부터 수신된 패킷의 헤더에 포함된 송신측 사물인터넷 장치의 실재 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
상기 송신측 사물인터넷 장치는,
자신의 비밀값과 수신측 사물인터넷 장치의 공개값을 이용하여 대칭키를 생성하며, 생성된 대칭키를 이용하여 패킷의 응용계층 페이로드 부분을 암호화하고,
상기 수신측 사물인터넷 장치는,
자신의 비밀값과 송신측 사물인터넷 장치의 공개값을 이용하여 대칭키를 생성하며, 생성된 대칭키를 이용하여 패킷의 응용계층 페이로드 부분을 복호화하는 사물인터넷 보안 시스템.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.
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)
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)
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 |
-
2020
- 2020-05-29 KR KR1020200065328A patent/KR102293195B1/en active IP Right Grant
Patent Citations (3)
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)
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] |