KR102478699B1 - Blockchain-based IoT security method and apparatus - Google Patents

Blockchain-based IoT security method and apparatus Download PDF

Info

Publication number
KR102478699B1
KR102478699B1 KR1020210035468A KR20210035468A KR102478699B1 KR 102478699 B1 KR102478699 B1 KR 102478699B1 KR 1020210035468 A KR1020210035468 A KR 1020210035468A KR 20210035468 A KR20210035468 A KR 20210035468A KR 102478699 B1 KR102478699 B1 KR 102478699B1
Authority
KR
South Korea
Prior art keywords
client
paths
packet
server
blockchain
Prior art date
Application number
KR1020210035468A
Other languages
Korean (ko)
Other versions
KR20220130494A (en
Inventor
심귀보
이성원
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020210035468A priority Critical patent/KR102478699B1/en
Publication of KR20220130494A publication Critical patent/KR20220130494A/en
Application granted granted Critical
Publication of KR102478699B1 publication Critical patent/KR102478699B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

본 발명은 블록체인 기반 IoT 보안 방법 및 장치를 개시한다. 본 발명에 따르면, 프로세서; 및 상기 프로세서를 포함하는 메모리를 포함하되, 상기 메모리는, 센서로부터 이벤트가 발생하는 경우, 상기 이벤트에 관한 데이터를 포함하는 패킷을 서버로 전송하기 위한 복수의 경로를 생성하고, 미리 설정된 주기로 갱신되는 암호 키를 이용하여 상기 복수의 경로를 암호화하고, 상기 암호화된 복수의 경로 각각을 포함하는 패킷을 암호화하고, 상기 암호화된 패킷이 상기 복수의 경로 각각을 통해 상기 서버로 전송되도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 포함하되, 상기 복수의 경로는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고, 상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되며, 상기 서버는 상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행하는 블록체인 기반 IoT 보안 장치가 제공된다. The present invention discloses a blockchain-based IoT security method and device. According to the present invention, a processor; And a memory including the processor, wherein the memory generates a plurality of paths for transmitting a packet including data about the event to a server when an event occurs from a sensor, and is updated at a preset cycle. Encrypting the plurality of paths using an encryption key, encrypting a packet including each of the plurality of encrypted paths, and transmitting the encrypted packet to the server through each of the plurality of paths, by the processor Program instructions to be executed, wherein the plurality of paths include a plurality of client addresses randomly determined not to overlap with each other through a pre-stored lookup table, and the encrypted packets are sent to the next client in a number corresponding to the plurality of paths. It is transmitted to the address, and the server is provided with a blockchain-based IoT security device that performs packet verification using packets received through each of the plurality of paths.

Description

블록체인 기반 IoT 보안 방법 및 장치{Blockchain-based IoT security method and apparatus}Blockchain-based IoT security method and apparatus {Blockchain-based IoT security method and apparatus}

본 발명은 블록체인 기반 IoT 보안 방법 및 장치에 관한 것이다. The present invention relates to a blockchain-based IoT security method and device.

최근 초연결 시대에 맞춰 인공지능, 빅데이터, 클라우드, 사물인터넷(IoT) 그리고 네트워크 등의 기술이 개발되고 있다. 이러한 기술들이 고도화되면서 기존의 단일 OS나 하드웨어에 의존하지 않고, 가상화하여 리소스를 공유하거나 클라우드 환경을 구축하고 있다. Recently, technologies such as artificial intelligence, big data, cloud, Internet of Things (IoT), and networks are being developed in line with the hyper-connected era. As these technologies are advanced, resources are shared by virtualization or cloud environments are being built without depending on a single existing OS or hardware.

이렇듯 네트워크를 이용한 시스템이 많아지고 있지만, 네트워크의 보안성은 현재까지 미비한 상태이다. 특히, 사물인터넷은 센서를 네트워크로 연결하여 제어하는 기술로 산업, 사회뿐만 아니라 가정에서도 사용되고 있다. 가정에서 사용하는 사물인터넷은 스마트홈으로 불리며 소비장치, 보안기기, 가전제품 등 가정 내의 모든 장치를 연결하여 제어할 수 있는 시스템을 말한다. As such, although the number of systems using the network is increasing, the security of the network is still insufficient. In particular, the Internet of Things (IoT) is a technology that controls sensors by connecting them to a network, and is used not only in industry and society but also at home. The Internet of Things used at home is called a smart home and refers to a system that can connect and control all devices in the home, such as consumer devices, security devices, and home appliances.

이러한 장치의 치명적인 단점으로 보안성이 문제가 되고 있다. 보안성이 취약한 장치는 해커에 의해 개인정보가 유출되고 데이터를 가로채 사용자의 사생활 침해 등 생활패턴을 파악해 2차적 피해를 야기할 수 있다. As a fatal disadvantage of these devices, security has become a problem. Devices with weak security can cause secondary damage by identifying life patterns such as personal information leakage and data interception by hackers, such as invasion of privacy of users.

오늘날 1인 가구가 많아지면서 심각성이 대두되고 있으며, 사물인터넷의 취약점이 매년 증가하고 있다. 한편, 블록체인 3.0 단계에 접어들면서 의료계, 운송업, 스포츠 그리고 예술 분야 등 다양한 분야에 활용되고 있다. 또한, 블록체인 핵심 기술인 DAG 알고리즘으로 보안 알고리즘이 연구되고 있다. Today, as the number of single-person households increases, the seriousness is on the rise, and the vulnerability of the Internet of Things is increasing every year. On the other hand, as it enters the block chain 3.0 phase, it is being used in various fields such as the medical field, transportation industry, sports and art fields. In addition, security algorithms are being studied with the DAG algorithm, which is a core technology of blockchain.

블록체인의 핵심 기술인 DAG(Directed Acyclic Graph) 알고리즘은 동시다발적으로 검증을 처리하는 방식으로 스케일링의 문제점이 있다. 처음에는 클라이언트가 소량 크기의 데이터를 처리하지만 차후 파일의 크기가 커짐으로써 데이터 처리량이 많아지고, 효율성도 떨어지며, 리소스 또한 많이 차지하게 된다. The DAG (Directed Acyclic Graph) algorithm, which is the core technology of blockchain, has a scaling problem because it processes verification simultaneously. Initially, the client processes a small amount of data, but as the size of the file grows later, the amount of data processed increases, efficiency decreases, and resources are occupied.

US 공개특허 2019-0349426US Patent Publication 2019-0349426

상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 데이터 처리 효율을 높일 수 있는 블록체인 기반 IoT 보안 방법 및 장치를 제안하고자 한다.In order to solve the problems of the prior art, the present invention proposes a blockchain-based IoT security method and device capable of increasing data processing efficiency.

상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 블록체인 기반 IoT 보안 장치로서, 프로세서; 및 상기 프로세서를 포함하는 메모리를 포함하되, 상기 메모리는, 센서로부터 이벤트가 발생하는 경우, 상기 이벤트에 관한 데이터를 포함하는 패킷을 서버로 전송하기 위한 복수의 경로를 생성하고, 미리 설정된 주기로 갱신되는 암호 키를 이용하여 상기 복수의 경로를 암호화하고, 상기 암호화된 복수의 경로 각각을 포함하는 패킷을 암호화하고, 상기 암호화된 패킷이 상기 복수의 경로 각각을 통해 상기 서버로 전송되도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 포함하되, 상기 복수의 경로는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고, 상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되며, 상기 서버는 상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행하는 블록체인 기반 IoT 보안 장치가 제공된다. In order to achieve the above object, according to an embodiment of the present invention, as a blockchain-based IoT security device, a processor; And a memory including the processor, wherein the memory generates a plurality of paths for transmitting a packet including data about the event to a server when an event occurs from a sensor, and is updated at a preset cycle. Encrypting the plurality of paths using an encryption key, encrypting a packet including each of the plurality of encrypted paths, and transmitting the encrypted packet to the server through each of the plurality of paths, by the processor Program instructions to be executed, wherein the plurality of paths include a plurality of client addresses randomly determined not to overlap with each other through a pre-stored lookup table, and the encrypted packets are sent to the next client in a number corresponding to the plurality of paths. It is transmitted to the address, and the server is provided with a blockchain-based IoT security device that performs packet verification using packets received through each of the plurality of paths.

상기 복수의 경로는 3개이며, 3개의 경로 각각은 서로 중복되지 않는 3개의 클라이언트 주소를 포함할 수 있다. The plurality of routes may be three, and each of the three routes may include three client addresses that do not overlap each other.

상기 암호화된 패킷은 넘버, 이벤트 클라이언트 주소, 상기 복수의 경로 각각에 포함된 상기 복수의 클라이언트 주소, 서버 주소 및 센서 데이터를 포함할 수 있다. The encrypted packet may include a number, an event client address, the plurality of client addresses included in each of the plurality of paths, a server address, and sensor data.

상기 넘버는 상기 이벤트가 발생한 클라이언트의 주소 및 상기 암호화된 패킷을 수신한 클라이언트 주소에 따라 갱신될 수 있다. The number may be updated according to the address of the client where the event occurred and the address of the client that received the encrypted packet.

상기 서버가 수신하는 패킷에서 상기 넘버는 상기 이벤트가 발생한 클라이언트의 주소 및 하나의 경로에 포함되는 복수의 클라이언트의 주소들이 합산된 숫자를 포함할 수 있다. In the packet received by the server, the number may include the sum of the address of the client where the event occurred and the addresses of a plurality of clients included in one path.

상기 서버는 수신된 패킷의 넘버와 상기 수신된 패킷을 전송한 마지막 클라이언트의 주소를 비교하여 신뢰할 수 있는 패킷인지 여부를 판단할 수 있다. The server may determine whether the received packet is reliable by comparing the number of the received packet with the address of the last client that transmitted the received packet.

상기 암호 키는 AES 블록 암호화 알고리즘에 통해 주기적으로 갱신될 수 있다. The encryption key may be periodically updated through an AES block encryption algorithm.

본 발명의 다른 측면에 따르면, 프로세서 및 메모리를 포함하는 장치의 블록 체인 기반 IoT 보안 방법으로서, 센서로부터 이벤트가 발생하는 경우, 상기 이벤트에 관한 데이터를 포함하는 패킷을 서버로 전송하기 위한 복수의 경로를 생성하는 단계; 미리 설정된 주기로 갱신되는 암호 키를 이용하여 상기 복수의 경로를 암호화하는 단계; 상기 암호화된 복수의 경로 각각을 포함하는 패킷을 암호화하는 단계; 및 상기 암호화된 패킷이 상기 복수의 경로 각각을 통해 상기 서버로 전송하는 단계를 포함하되, 상기 복수의 경로는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고, 상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되며, 상기 서버는 상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행하는 블록체인 기반 IoT 보안 방법이 제공된다. According to another aspect of the present invention, a block chain-based IoT security method for a device including a processor and a memory, when an event occurs from a sensor, a plurality of paths for transmitting a packet including data about the event to a server. generating; encrypting the plurality of paths using an encryption key that is updated at a preset cycle; encrypting a packet including each of the plurality of encrypted paths; And transmitting the encrypted packet to the server through each of the plurality of paths, wherein the plurality of paths include a plurality of client addresses randomly determined not to overlap with each other through a pre-stored lookup table, wherein the Encrypted packets are transmitted to the next client address in the number corresponding to the plurality of routes, and the server performs packet verification using packets received through each of the plurality of routes. A blockchain-based IoT security method is provided .

본 발명의 또 다른 측면에 따르면, 제8항에 따른 방법을 수행하는 컴퓨터 판독 가능한 프로그램이 제공된다. According to another aspect of the present invention, a computer readable program for performing the method according to claim 8 is provided.

본 발명의 또 다른 측면에 따르면, 블록체인 기반 IoT 보안 시스템으로서, 센서로부터 이벤트가 발생하는 경우, 상기 이벤트에 관한 데이터를 포함하는 패킷을 서버로 전송하기 위한 복수의 경로를 생성하고, 미리 설정된 주기로 갱신되는 암호 키를 이용하여 상기 복수의 경로를 암호화하고,상기 암호화된 복수의 경로 각각을 포함하는 패킷을 암호화하는 복수의 클라이언트; 및 상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행하는 서버를 포함하되, 상기 복수의 는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고, 상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되는 블록체인 기반 IoT 보안 시스템이 제공된다. According to another aspect of the present invention, as a blockchain-based IoT security system, when an event occurs from a sensor, a plurality of paths are generated for transmitting a packet including data about the event to a server, and at a preset cycle. a plurality of clients encrypting the plurality of paths using an updated encryption key and encrypting packets including each of the plurality of encrypted paths; And a server that performs packet verification using packets received through each of the plurality of paths, wherein the plurality of client addresses are randomly determined not to overlap with each other through a pre-stored lookup table, wherein the A blockchain-based IoT security system is provided in which encrypted packets are transmitted to the next client address in a number corresponding to the plurality of routes.

본 발명에 따르면, 사물인터넷 보안성을 향상시키면서도 리소스도 줄여 시스템 안정화를 도모할 수 있는 장점이 있다. According to the present invention, there is an advantage in promoting system stabilization by reducing resources while improving IoT security.

도 1은 본 발명의 바람직한 일 실시예에 따른 블록체인 기반 IoT 보안 아키텍쳐를 도시한 도면이다.
도 2는 암호 키가 변경되는 과정을 나타낸 도면이다.
도 3은 암호 키 변경 과정을 도시한 도면이다.
도 4는 IV의 변경 방법을 나타낸 도면이다.
도 5는 본 실시예에 따른 암호화된 패킷 구조를 도시한 도면이다.
도 6은 본 실시예에 따른 이벤트가 발생한 클라이언트에서 서버로 패킷이 전송되는 과정을 나타낸 것이다.
도 7은 본 발명의 바람직한 일 실시예에 따른 클라이언트의 구성을 도시한 도면이다.
1 is a diagram illustrating a blockchain-based IoT security architecture according to a preferred embodiment of the present invention.
2 is a diagram illustrating a process of changing an encryption key.
3 is a diagram illustrating a process of changing an encryption key.
4 is a diagram illustrating a method of changing an IV.
5 is a diagram showing the structure of an encrypted packet according to this embodiment.
6 illustrates a process of transmitting a packet from a client where an event occurs to a server according to the present embodiment.
7 is a diagram showing the configuration of a client according to a preferred embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Like reference numerals have been used for like elements throughout the description of each figure.

본 발명에서는 사물인터넷 환경에서 보안성을 강화하기 위해 블록체인 기반의 알고리즘을 활용하여 보안성을 향상시켰으며, 특히 DAG(Directed Acyclic Graph) 알고리즘 및 AES(Advanced Encryption Standard) 알고리즘을 이용하여 새로운 사물인터넷에 적합한 IoT 보안 아키텍쳐를 제안한다. In the present invention, to enhance security in the Internet of Things environment, security is improved by using a blockchain-based algorithm. We propose an IoT security architecture suitable for

본 실시예에 따르면, 센서가 연결된 클라이언트에서 이벤트가 발생하면 이벤트가 발생한 클라이언트는 랜덤하게 생성한 복수의 경로를 통해 암호화된 패킷을 개별적으로 전송하며, 서버는 서로 다른 경로를 통해 수신된 암호화된 패킷을 복호화하여 패킷 검증을 수행한다. According to this embodiment, when an event occurs in a client to which a sensor is connected, the client where the event occurs individually transmits encrypted packets through a plurality of randomly generated paths, and the server transmits encrypted packets received through different paths. Decrypt and perform packet verification.

본 실시예에 따른 암호화는 AES(Advanced Encryption Standard) 알고리즘을 이용하여 암호 키를 주기적으로 변경한다. 이러한 방식을 통해 문제점이 있는 클라이언트를 유추할 수 있으며 패킷이 노출되어도 암호 키를 유추할 수 없도록 하였다.Encryption according to this embodiment periodically changes an encryption key using an Advanced Encryption Standard (AES) algorithm. Through this method, a client with a problem can be inferred, and even if the packet is exposed, the encryption key cannot be inferred.

도 1은 본 발명의 바람직한 일 실시예에 따른 블록체인 기반 IoT 보안 아키텍쳐를 도시한 도면이다. 1 is a diagram illustrating a blockchain-based IoT security architecture according to a preferred embodiment of the present invention.

본 실시예에 따른 블록체인 기반 IoT 보안 아키텍쳐는 기존 DAG 알고리즘을 수정한 구조를 갖는다. The blockchain-based IoT security architecture according to this embodiment has a structure modified from an existing DAG algorithm.

일반적으로, DAG 알고리즘에서 비순환 유향 그래프는 순환되지 않고 한 방향으로 이어가는 그래프로서, 정해진 순서 없이 다방향성을 가지며 한 방향으로만 이어나간다. 종래의 DAG 알고리즘은 하나의 클라이언트가 중복으로 패킷을 수신하여 전송할 수 있다. 그러나, 패킷 처리 과정이 많아지면 메모리 사용량이 높아져 전력 사용량이 늘어나는 문제점이 있다. In general, in a DAG algorithm, an acyclic directed graph is a graph that does not cycle and continues in one direction, and has multi-directionality without a fixed order and continues only in one direction. In the conventional DAG algorithm, one client may receive and transmit packets redundantly. However, there is a problem in that when the number of packet processing processes increases, memory usage increases and power usage increases.

이에, 본 발명은 이벤트가 발생하는 경우 패킷을 중복으로 송수신하는 클라이언트가 없이 이벤트 발생한 클라이언트로부터 서버까지 암호화된 패킷이 전송되도록 한다. Accordingly, the present invention allows an encrypted packet to be transmitted from a client where an event occurs to a server without a client transmitting and receiving packets redundantly when an event occurs.

도 1을 참조하면, 이벤트가 발생한 제1 클라이언트(100-1)는 이벤트 관련 패킷을 서버(102)로 전송하기 위한 복수의 경로(104-1 내지 104-3)를 생성한다. Referring to FIG. 1 , the first client 100-1 where an event occurs generates a plurality of paths 104-1 to 104-3 for transmitting event-related packets to the server 102.

본 발명의 바람직한 일 실시예에 따르면, 제1 클라이언트(100-1)는 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하는 복수의 경로를 생성한다. According to a preferred embodiment of the present invention, the first client 100-1 generates a plurality of paths including a plurality of client addresses randomly determined not to overlap each other through a lookup table.

도 1에 도시된 바와 같이, 네트워크에 새로운 클라이언트가 참여하는 경우, 신규 클라이언트는 서버(102)를 통해 등록되고, 등록한 클라이언트의 주소는 암호화되어 서버(102)와 연결된 클라이언트에 브로드캐스팅을 통해 전송된다. As shown in FIG. 1, when a new client joins the network, the new client is registered through the server 102, and the registered client's address is encrypted and transmitted to the clients connected to the server 102 through broadcasting. .

이를 전달받은 클라이언트는 신규 클라이언트의 주소를 룩업 테이블에 저장한다. The client receiving this stores the address of the new client in the lookup table.

도 1에서는 패킷을 3개의 그룹으로 나누어 전송하는 경우를 도시한다. 1 shows a case in which packets are divided into three groups and transmitted.

제1 클라이언트(100-1)는 미리 설정된 주기로 갱신되는 암호 키를 이용하여 복수의 경로 각각을 암호화하며, 또한, 암호화된 경로를 포함하는 패킷을 암호화한다. The first client 100-1 encrypts each of a plurality of routes using an encryption key that is updated at a preset cycle, and encrypts packets including the encrypted routes.

제1 클라이언트(100-1)는 암호화된 패킷을 복수의 경로 각각의 첫 번째 클라이언트(100-2 내지 100-4)로 전송한다. The first client 100-1 transmits the encrypted packet to the first clients 100-2 to 100-4 of each of a plurality of paths.

서버(102)는 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행한다. The server 102 performs packet verification using packets received through each of a plurality of paths.

전술한 바와 같이, 패킷 암호화를 위한 암호 키는 주기적으로 갱신되며, 본 실시예에서는 AES 블록 암호화 운영 모드를 이용한다. As described above, the encryption key for packet encryption is periodically updated, and the AES block encryption operation mode is used in this embodiment.

AES 알고리즘은 미국 표준 기술 연구소(NIST)에 의해 제정된 암호화 알고리즘으로 미국 국가안보국에 의해 1급 비밀에 사용할 수 있도록 승인된 알고리즘이다. AES 알고리즘은 암, 복호화 과정에서 동일한 키를 사용하는 대칭 키 알고리즘으로 SPN 구조이다. The AES algorithm is an encryption algorithm established by the National Institute of Standards and Technology (NIST) and approved by the National Security Agency for use in top secret applications. The AES algorithm is a symmetric key algorithm that uses the same key in encryption and decryption processes and has an SPN structure.

SPN(substitution·permutation network) 구조는 암복호화 과정에서 역함수가 필요하도록 설계되어야 한다는 단점이 있지만, 중간에 비트의 이동 없이 한 번에 암복호화가 가능하기 때문에 Feistel 구조에 비해 효율적으로 설계할 수 있다. 암호화에 사용되는 텍스트 상자(S-box)와 순열 상자(P-box)의 활용하여 여러 번의 라운드를 거쳐 암호문 블록을 생성한다.Although the SPN (substitution permutation network) structure has the disadvantage of requiring an inverse function in the encryption/decryption process, it can be designed more efficiently than the Feistel structure because encryption/decryption can be performed at once without moving bits in the middle. By utilizing the text box (S-box) and the permutation box (P-box) used for encryption, a cipher text block is generated through several rounds.

블록 암호화 운영 모드는 ECB(Electronic Code Block) Mode, CBC(Cipher Block Chaining) Mode, CFB(Cipher FeedBack) Mode, OFB(Output FeedBack) Mode, CTR(CounTeR) Mode 등 5가지가 있다. 이 중 CBC 기법을 AES 암호화 알고리즘에 적용한다. There are five block encryption operating modes: ECB (Electronic Code Block) Mode, CBC (Cipher Block Chaining) Mode, CFB (Cipher FeedBack) Mode, OFB (Output FeedBack) Mode, and CTR (CounTeR) Mode. Among them, the CBC technique is applied to the AES encryption algorithm.

CBC 암호화는 블록 암호화 운영 모드중에 가장 보안성이 높은 암호화 방법으로 가장 많이 사용되며, 평문은 초기 벡터(IV, Initialization Vector)를 사용하여 암호화하고, 이후 평문은 각 블록의 XOR 연산을 통해 이전 암호문과 연산된다. 여기에 사용되는 암호 키 값은 일정 주기로 로테이션, 시간 동기화, 모듈라 연산을 통해 변경된다. CBC encryption is the most widely used encryption method with the highest security among block encryption operation modes. It is computed. The encryption key value used here is changed at regular intervals through rotation, time synchronization, and modular operation.

본 실시예에 따르면, 클라이언트(100) 및 서버(102)에서의 암호화를 위해, 일정 시간을 주기로 암호 키가 갱신된다. According to this embodiment, for encryption in the client 100 and the server 102, the encryption key is renewed at regular intervals.

도 1을 참조하면, 제1 클라이언트(100-1)는 이벤트가 발생하면 랜덤하게 결정된 다른 3개의 클라이언트(100-2 내지 100-4)에 암호화된 패킷을 전송한다.Referring to FIG. 1 , when an event occurs, a first client 100-1 transmits an encrypted packet to randomly determined other three clients 100-2 to 100-4.

암호화된 패킷을 수신한 클라이언트는 이를 복호화한 후 다시 암호화하여 다음 클라이언트로 전송한다. 이후 서버는 3개의 패킷을 복호화하여 패킷 검증을 수행한다. The client receiving the encrypted packet decrypts it, encrypts it again, and transmits it to the next client. Afterwards, the server decrypts the three packets and performs packet verification.

도 2는 암호 키가 변경되는 과정을 나타낸 도면이다. 2 is a diagram illustrating a process of changing an encryption key.

암호 키에서 IV(Initialization Vector)는 128bit(16바이트),

Figure 112021032094027-pat00001
,
Figure 112021032094027-pat00002
는 192bit(24byte)
Figure 112021032094027-pat00003
는 192bit(24byte)로 구성된다. 암호화 기호는 다음과 같이 사용된다(
Figure 112021032094027-pat00004
: 암호 키 1,
Figure 112021032094027-pat00005
: 암호 키 2,
Figure 112021032094027-pat00006
: 임시 암호 키, P: 입력, C: 출력)IV (Initialization Vector) in the encryption key is 128 bits (16 bytes),
Figure 112021032094027-pat00001
,
Figure 112021032094027-pat00002
is 192bit(24byte)
Figure 112021032094027-pat00003
is composed of 192 bits (24 bytes). Encryption symbols are used as follows (
Figure 112021032094027-pat00004
: Passkey 1,
Figure 112021032094027-pat00005
: passkey 2,
Figure 112021032094027-pat00006
: temporary encryption key, P: input, C: output)

암호 키는 주기적으로 변경되며, 현재 시간과 동일하면 암호 키를 변경하지 않고 그대로 사용되고, 주기를 초과하면 암호 키를 변경한다.The encryption key is periodically changed, and if it is the same as the current time, the encryption key is used without change, and if the period is exceeded, the encryption key is changed.

정의되어 있는 시간과 현재 시간이 달라지면 암호 키

Figure 112021032094027-pat00007
은 시간 함수로 연산 되어 다시 출력된다. 출력된
Figure 112021032094027-pat00008
은 왼쪽 시프트 연산을 하여
Figure 112021032094027-pat00009
에 한 자리씩 이동시켜 대입한다. 이때, 최상위비트에 해당하는
Figure 112021032094027-pat00010
의 자리는
Figure 112021032094027-pat00011
자리로 이동한다. 즉, 수학식 1과 같이 정의된다. If the defined time differs from the current time, the encryption key
Figure 112021032094027-pat00007
is calculated as a time function and output again. output
Figure 112021032094027-pat00008
is left shift operation
Figure 112021032094027-pat00009
Move one place to , and substitute. At this time, the highest bit corresponding to
Figure 112021032094027-pat00010
the seat of
Figure 112021032094027-pat00011
move to seat That is, it is defined as in Equation 1.

Figure 112021032094027-pat00012
Figure 112021032094027-pat00012

Figure 112021032094027-pat00013
Figure 112021032094027-pat00013

Figure 112021032094027-pat00014
Figure 112021032094027-pat00015
으로 다시 복사하여 암호 키로 사용한다. 암호화가 변경되면
Figure 112021032094027-pat00016
는 IV와 조합하여 사용되고 있는 암호 키 전체를 변경한다.
Figure 112021032094027-pat00014
silver
Figure 112021032094027-pat00015
Copy it back to , and use it as an encryption key. When encryption is changed
Figure 112021032094027-pat00016
changes the entire encryption key being used in combination with the IV.

도 3은 암호 키 변경 과정을 도시한 도면이다.3 is a diagram illustrating a process of changing an encryption key.

도 3을 참조하면, 시스템의 현재 시간을 이용하여 암호 키를 변경한다. Referring to Figure 3, the encryption key is changed using the current time of the system.

보다 상세하게, 현재 날짜의 달과 시간의 분을 더하고, 입력된

Figure 112021032094027-pat00017
의 24 byte의 1 byte 씩 순서대로 XOR 연산하여
Figure 112021032094027-pat00018
로 다시 출력한다. More specifically, it adds the months of the current date and the minutes of the hour,
Figure 112021032094027-pat00017
By performing XOR operation of 24 bytes of 1 byte in order
Figure 112021032094027-pat00018
output again with

수학식 2는 상기한 연산 과정을 나타낸 것이다. Equation 2 shows the above calculation process.

Figure 112021032094027-pat00019
Figure 112021032094027-pat00019

여기서 사용된

Figure 112021032094027-pat00020
Figure 112021032094027-pat00021
에 복사되어 저장된다. used here
Figure 112021032094027-pat00020
Is
Figure 112021032094027-pat00021
copied and stored in

Figure 112021032094027-pat00022
는 임시 암호 키로 사용된다. 이는 네트워크의 타임아웃 또는 정상적인 복호화가 이루어지지 않을 경우 사용되는 암호 키이다.
Figure 112021032094027-pat00022
is used as a temporary encryption key. This is an encryption key used when the network times out or normal decryption does not occur.

임시 암호 키는 다음 암호 키가 변경되면 폐기된다. The temporary cryptographic key is discarded when the next cryptographic key is changed.

도 4는 IV의 변경 방법을 나타낸 도면이다. 4 is a diagram illustrating a method of changing an IV.

도 4를 참조하면, 암호 키

Figure 112021032094027-pat00023
의 192bit(24byte)는 24byte 중 뒤의 8byte의 자리를 버리고, 앞자리 16byte만 사용하여
Figure 112021032094027-pat00024
와 IV를 XOR 연산한다. Referring to Figure 4, the encryption key
Figure 112021032094027-pat00023
For 192bit (24byte) of 24bytes, the last 8bytes are discarded and only the first 16bytes are used.
Figure 112021032094027-pat00024
and IV are XORed.

연산된 IV는 암호 키 생성에 다시 사용된다. The computed IV is used again to generate an encryption key.

이러한 방법으로 전체 알고리즘에서 암호 키로 사용되는

Figure 112021032094027-pat00025
,
Figure 112021032094027-pat00026
,
Figure 112021032094027-pat00027
및 IV를 조합하여 연산한다. In this way, the key used as the encryption key in the entire algorithm is
Figure 112021032094027-pat00025
,
Figure 112021032094027-pat00026
,
Figure 112021032094027-pat00027
and IV are combined and calculated.

다시 도 1을 참조하면, 이벤트가 발생한 제1 클라이언트(100-1)는 미리 설정된 주기로 갱신되는 암호 키를 이용하여 하나 이상의 경로 및 이를 포함하는 패킷을 암호화하여 복수의 경로 각각의 첫 번째 클라이언트(100-2 내지 100-4)로 전송한다. Referring back to FIG. 1 , the first client 100-1 where an event occurs encrypts one or more routes and packets including the same using an encryption key that is updated at a preset cycle, and the first client 100 of each of the plurality of routes -2 to 100-4).

도 5는 본 실시예에 따른 암호화된 패킷 구조를 도시한 도면이다. 5 is a diagram showing the structure of an encrypted packet according to this embodiment.

도 5에 도시된 바와 같이, 본 실시예에 따른 패킷은 넘버(Number), 이벤트 클라이언트 주소(Event Client Address), 랜덤하게 생성된 복수의 클라이언트 주소(Random Address 1 내지 3), 서버 주소(Server Address) 및 센서 데이터(Sensor Data)를 포함한다. As shown in FIG. 5, the packet according to this embodiment includes a number, an event client address, a plurality of randomly generated client addresses (Random Address 1 to 3), and a server address. ) and sensor data.

도 5에서는 복수의 경로 각각이 3개의 클라이언트를 통해 이벤트가 발생한 클라이언트로부터 서버까지 전송되는 경우의 패킷 구조를 예시적으로 도시한 도면이다. FIG. 5 is a diagram illustrating a packet structure when each of a plurality of paths is transmitted from a client where an event occurs to a server through three clients.

여기서, 랜덤하게 생성된 복수의 클라이언트 주소(Random Address 1 내지 3)는 복수의 경로 각각마다 개별적으로 생성될 수 있으며, 도 1과 같이 3개의 그룹으로 패킷이 전송되는 경우 3개의 그룹마다 개별적으로 생성된다. Here, a plurality of randomly generated client addresses (Random Addresses 1 to 3) may be individually generated for each of a plurality of routes, and when packets are transmitted in three groups as shown in FIG. 1, each of the three groups is individually generated. do.

또한, 패킷은 총 20byte로 구성될 수 있고, 넘버에는 현재 클라이언트의 옥텟4 주소가 대입된다. In addition, the packet can consist of a total of 20 bytes, and the octet 4 address of the current client is substituted for the number.

본 실시예에 따르면, 넘버는 이벤트가 발생한 클라이언트의 주소 및 상기 암호화된 패킷을 수신한 클라이언트 주소에 따라 갱신된다. According to this embodiment, the number is updated according to the address of the client where the event occurred and the address of the client that received the encrypted packet.

4byte에는 이벤트가 발생한 클라이언트의 주소가 입력된다. In 4 bytes, the address of the client where the event occurred is entered.

8byte에서 12byte까지는 이벤트 발생 클라이언트에서 랜덤하게 생성한 복수의 경로에 해당하는 클라이언트 주소가 입력된다. From 8 bytes to 12 bytes, the client address corresponding to multiple paths randomly generated by the event generating client is input.

15byte에는 서버의 주소, 그리고 18byte부터는 이벤트 클라이언트에서 발생한 데이터가 입력된다. The address of the server is entered in 15 bytes, and the data generated by the event client is input from 18 bytes.

본 실시예에 따르면, 랜덤하게 생성된 복수의 클라이언트 주소는 암호 키를 통해 암호화되어 다음 클라이언트의 주소의 순서를 알 수 없도록 한다. According to this embodiment, a plurality of randomly generated client addresses are encrypted using an encryption key so that the order of the next client's address cannot be known.

각 경로에 해당하는 클라이언트 주소의 암호화는 다음의 수학식 3과 같다.Encryption of the client address corresponding to each path is as shown in Equation 3 below.

Figure 112021032094027-pat00028
Figure 112021032094027-pat00028

수학식 3에서와 같이, 현재 주소의 2bit를 이동하고 임의로 정의된 숫자 "2"와 XOR와 연산하여 암호화한다. As in Equation 3, 2 bits of the current address are shifted and an arbitrarily defined number "2" and XOR are operated and encrypted.

서버(102)는 복수의 경로 각각을 통해 수신된 패킷을 수신하여 검증을 수행한다. The server 102 receives packets received through each of a plurality of paths and performs verification.

본 실시예에 따르면, 패킷 검증은 패킷의 넘버와 서버(102)로 패킷을 전송한 마지막 클라이언트 주소를 기준으로 수행된다. According to this embodiment, packet verification is performed based on the packet number and the last client address that transmitted the packet to the server 102.

서버(102)는 각 그룹 별로 이벤트가 발생한 클라이언트의 주소와 랜덤하게 생성된 클라이언트의 주소를 모두 합한 수를 넘버를 통해 확인하고, 패킷을 전송하는 클라이언트의 마지막 주소를 비교하여 신뢰할 수 있는 패킷인지 판단한다. The server 102 checks the sum of the client address where the event occurred and the randomly generated client address for each group through the number, and compares the last address of the client transmitting the packet to determine whether the packet is reliable. do.

도 6은 본 실시예에 따른 이벤트가 발생한 클라이언트에서 서버로 패킷이 전송되는 과정을 나타낸 것이다. 6 illustrates a process of transmitting a packet from a client where an event occurs to a server according to the present embodiment.

도 6에서는, 패킷이 3 그룹으로 나뉘어 전송되고, 제1 경로는 클라이언트 주소가 192.168.0.7, 192.168.0.2, 192.168.0.1인 경우(A(7, 2, 1))이고, 제2 경로는 클라이언트 주소가 192.168.0.9, 192.168.0.4, 192.168.0.8(A(9, 4, 8))인 경우이며, 제3 경로는 클라이언트 주소가 192.168.0.10, 192.168.0.6, 192.168.0.3(A(10, 6, 3))인 경우이다. In FIG. 6, packets are divided into three groups and transmitted, the first route is when the client addresses are 192.168.0.7, 192.168.0.2, and 192.168.0.1 (A(7, 2, 1)), and the second route is the client address. If the addresses are 192.168.0.9, 192.168.0.4, 192.168.0.8 (A(9, 4, 8)), and the third path is the client address 192.168.0.10, 192.168.0.6, 192.168.0.3 (A(10, 6, 3)).

제1 경로를 중심으로 설명하면, 이벤트 발생 클라이언트는 “5, E5, A(7, 2, 1), S15, D1”로 암호화된 패킷을 클라이언트 주소가 192.168.0.7인 클라이언트로 전송하고 이를 수신한 제1 경로의 첫 번째 클라이언트는 넘버 자리에 5와 7를 합산한 12를 입력하여 다음 클라이언트로 전송한다. If the description is centered on the first route, the event generating client transmits a packet encrypted with “5, E5, A (7, 2, 1), S15, D1” to the client whose client address is 192.168.0.7, and receives it. The first client of the first path inputs 12, which is the sum of 5 and 7, in the number position and transmits it to the next client.

이후 같은 방법으로 합산하여 넘버 자리에 15가 입력된 패킷이 서버(102)로 전송된다. Thereafter, the packets are summed up in the same way and 15 is entered in the number position, and the packets are transmitted to the server 102.

서버(102)는 넘버 자리에 입력된 숫자와 제1 경로의 마지막 클라이언트의 주소를 이용하여 패킷이 이벤트 발생 클라이언트가 생성한 복수의 경로 중 하나의 경로를 통해 제대로 수신된 것인지 검증한다. The server 102 verifies whether the packet is properly received through one of a plurality of paths generated by the event generating client by using the number input in place of the number and the address of the last client of the first path.

나머지 제2 경로 및 제3 경로에 대해서도 마찬가지로 주소의 합산 및 패킷 검증이 수행된다. Address summation and packet verification are similarly performed for the remaining second and third paths.

서버(102)는 패킷 검증에 실패하는 경우, 해당 패킷을 폐기하고 의심되는 클라이언트를 룩업 테이블에 저장한다. If the packet verification fails, the server 102 discards the packet and stores the suspected client in a lookup table.

도 7은 본 발명의 바람직한 일 실시예에 따른 클라이언트의 구성을 도시한 도면이다. 7 is a diagram showing the configuration of a client according to a preferred embodiment of the present invention.

도 7에 도시된 바와 같이, 본 실시예에 따른 클라이언트는 프로세서(700) 및 메모리(702)를 포함할 수 있다. As shown in FIG. 7 , a client according to this embodiment may include a processor 700 and a memory 702 .

프로세서(700)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다. The processor 700 may include a central processing unit (CPU) capable of executing a computer program or other virtual machines.

메모리(702)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(702)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.Memory 702 may include a non-volatile storage device such as a non-removable hard drive or a removable storage device. The removable storage device may include a compact flash unit, a USB memory stick, and the like. Memory 702 may also include volatile memory, such as various random access memories.

이와 같은 메모리(702)에는 프로세서(700)에 의해 실행 가능한 프로그램 명령어들이 저장된다. The memory 702 stores program instructions executable by the processor 700 .

본 실시예에 따른 프로그램 명령어들은, 센서로부터 이벤트가 발생하는 경우, 상기 이벤트에 관한 데이터를 포함하는 패킷을 서버로 전송하기 위한 복수의 경로를 생성하고, 미리 설정된 주기로 갱신되는 암호 키를 이용하여 상기 복수의 경로를 암호화하고, 상기 암호화된 복수의 경로 각각을 포함하는 패킷을 암호화하고, 상기 암호화된 패킷이 상기 복수의 경로 각각을 통해 상기 서버로 전송되도록 한다. Program commands according to this embodiment generate a plurality of paths for transmitting a packet including data about the event to a server when an event occurs from a sensor, and uses an encryption key that is updated at a predetermined cycle to retrieve the information. A plurality of paths are encrypted, a packet including each of the plurality of encrypted paths is encrypted, and the encrypted packet is transmitted to the server through each of the plurality of paths.

여기서, 상기 복수의 경로는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고, 상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되며, 상기 서버는 상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행한다.Here, the plurality of routes include a plurality of client addresses randomly determined not to overlap with each other through a pre-stored lookup table, and the encrypted packets are transmitted to the next client address in a number corresponding to the plurality of routes, The server performs packet verification using packets received through each of the plurality of paths.

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다. The embodiments of the present invention described above have been disclosed for illustrative purposes, and those skilled in the art having ordinary knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention, and such modifications, changes, and additions will be considered to fall within the scope of the following claims.

Claims (10)

블록체인 기반 IoT 보안 장치로서,
프로세서; 및
상기 프로세서를 포함하는 메모리를 포함하되,
상기 메모리는,
센서로부터 이벤트가 발생하는 경우, 상기 이벤트에 관한 데이터를 포함하는 패킷을 서버로 전송하기 위한 복수의 경로를 생성하고,
상기 복수의 경로 각각은 서로 중복되지 않는 복수의 클라이언트 주소를 포함하며,
미리 설정된 주기로 갱신되는 암호 키를 이용하여 상기 복수의 경로 각각에 포함된 상기 복수의 클라이언트 주소를 암호화하고,
상기 암호화된 복수의 클라이언트 주소 각각을 포함하는 패킷을 암호화하고,
상기 암호화된 패킷이 상기 복수의 경로 각각을 통해 상기 서버로 전송되도록,
상기 프로세서에 의해 실행되는 프로그램 명령어들을 포함하되,
상기 복수의 경로는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고,
상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되며, 상기 서버는 상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행하는 블록체인 기반 IoT 보안 장치.
As a blockchain-based IoT security device,
processor; and
Including a memory containing the processor,
the memory,
When an event occurs from the sensor, a plurality of paths are generated to transmit a packet including data related to the event to the server;
Each of the plurality of paths includes a plurality of client addresses that do not overlap each other,
Encrypting the plurality of client addresses included in each of the plurality of paths using an encryption key that is renewed at a predetermined cycle,
Encrypting a packet including each of the encrypted plurality of client addresses;
So that the encrypted packet is transmitted to the server through each of the plurality of paths,
Including program instructions executed by the processor,
The plurality of paths include a plurality of client addresses randomly determined not to overlap with each other through a pre-stored lookup table,
The encrypted packets are transmitted to the next client address in a number corresponding to the plurality of routes, and the server performs packet verification using packets received through each of the plurality of routes. Blockchain-based IoT security device.
제1항에 있어서,
상기 복수의 경로는 3개이며,
3개의 경로 각각은 서로 중복되지 않는 3개의 클라이언트 주소를 포함하는 블록체인 기반 IoT 보안 장치.
According to claim 1,
The plurality of paths are three,
A blockchain-based IoT security device where each of the three paths contains three non-overlapping client addresses.
제1항에 있어서,
상기 암호화된 패킷은 넘버, 이벤트 클라이언트 주소, 상기 복수의 경로 각각에 포함된 상기 복수의 클라이언트 주소, 서버 주소 및 센서 데이터를 포함하는 블록체인 기반 IoT 보안 장치.
According to claim 1,
The encrypted packet is a blockchain-based IoT security device including a number, an event client address, the plurality of client addresses, server addresses, and sensor data included in each of the plurality of routes.
제3항에 있어서,
상기 넘버는 상기 이벤트가 발생한 클라이언트의 주소 및 상기 암호화된 패킷을 수신한 클라이언트 주소에 따라 갱신되는 블록체인 기반 IoT 보안 장치.
According to claim 3,
The number is a blockchain-based IoT security device that is updated according to the address of the client where the event occurred and the address of the client that received the encrypted packet.
제4항에 있어서,
상기 서버가 수신하는 패킷에서 상기 넘버는 상기 이벤트가 발생한 클라이언트의 주소 및 하나의 경로에 포함되는 복수의 클라이언트의 주소들이 합산된 숫자를 포함하는 블록체인 기반 IoT 보안 장치.
According to claim 4,
In the packet received by the server, the number includes the sum of the address of the client where the event occurred and the addresses of a plurality of clients included in one path. Blockchain-based IoT security device.
제5항에 있어서,
상기 서버는 수신된 패킷의 넘버와 상기 수신된 패킷을 전송한 마지막 클라이언트의 주소를 비교하여 신뢰할 수 있는 패킷인지 여부를 판단하는 블록체인 기반 IoT 보안 장치.
According to claim 5,
The server compares the number of the received packet with the address of the last client that transmitted the received packet to determine whether it is a reliable packet.
제1항에 있어서,
상기 암호 키는 AES 블록 암호화 알고리즘에 통해 주기적으로 갱신되는 블록체인 기반 IoT 보안 장치.
According to claim 1,
The encryption key is a blockchain-based IoT security device that is periodically updated through the AES block encryption algorithm.
프로세서 및 메모리를 포함하는 장치의 블록 체인 기반 IoT 보안 방법으로서,
센서로부터 이벤트가 발생하는 경우, 상기 이벤트에 관한 데이터를 포함하는 패킷을 서버로 전송하기 위한 복수의 경로를 생성하는 단계-상기 복수의 경로 각각은 서로 중복되지 않는 복수의 클라이언트 주소를 포함함-;
미리 설정된 주기로 갱신되는 암호 키를 이용하여 상기 복수의 경로 각각에 포함된 상기 복수의 클라이언트 주소를 암호화하는 단계;
상기 암호화된 복수의 클라이언트 주소 각각을 포함하는 패킷을 암호화하는 단계; 및
상기 암호화된 패킷이 상기 복수의 경로 각각을 통해 상기 서버로 전송하는 단계를 포함하되,
상기 복수의 경로는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고,
상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되며, 상기 서버는 상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행하는 블록체인 기반 IoT 보안 방법.
A block chain-based IoT security method for a device including a processor and memory,
generating a plurality of paths for transmitting a packet including data about the event to a server when an event occurs from a sensor, wherein each of the plurality of paths includes a plurality of client addresses that do not overlap with each other;
encrypting the plurality of client addresses included in each of the plurality of routes using an encryption key renewed at a preset cycle;
encrypting a packet including each of the encrypted plurality of client addresses; and
Transmitting the encrypted packet to the server through each of the plurality of paths,
The plurality of paths include a plurality of client addresses randomly determined not to overlap with each other through a pre-stored lookup table,
The encrypted packets are transmitted to the next client address in a number corresponding to the plurality of routes, and the server performs packet verification using packets received through each of the plurality of routes. Blockchain-based IoT security method.
제8항에 따른 방법을 수행하는 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer readable recording medium for performing the method according to claim 8. 블록체인 기반 IoT 보안 시스템으로서,
센서로부터 이벤트가 발생하는 경우, 상기 이벤트에 관한 데이터를 포함하는 패킷을 서버로 전송하기 위한 복수의 경로를 생성하고, 상기 복수의 경로 각각은 서로 중복되지 않는 복수의 클라이언트 주소를 포함하고, 미리 설정된 주기로 갱신되는 암호 키를 이용하여 상기 복수의 경로 각각에 포함된 상기 복수의 클라이언트 주소를 암호화하고, 상기 암호화된 복수의 클라이언트 주소 각각을 포함하는 패킷을 암호화하는 복수의 클라이언트; 및
상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행하는 서버를 포함하되,
상기 복수의 는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고, 상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되는 블록체인 기반 IoT 보안 시스템.
As a blockchain-based IoT security system,
When an event occurs from the sensor, a plurality of routes are generated to transmit a packet including data about the event to a server, each of the plurality of routes includes a plurality of client addresses that do not overlap with each other, and a preset a plurality of clients encrypting the plurality of client addresses included in each of the plurality of routes using an encryption key that is periodically updated, and encrypting packets including each of the plurality of encrypted client addresses; and
Including a server that performs packet verification using packets received through each of the plurality of paths,
The plurality of n includes a plurality of client addresses randomly determined not to overlap with each other through a pre-stored lookup table, and the encrypted packets are transmitted to the next client address in a number corresponding to the plurality of routes Blockchain-based IoT security system.
KR1020210035468A 2021-03-18 2021-03-18 Blockchain-based IoT security method and apparatus KR102478699B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210035468A KR102478699B1 (en) 2021-03-18 2021-03-18 Blockchain-based IoT security method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210035468A KR102478699B1 (en) 2021-03-18 2021-03-18 Blockchain-based IoT security method and apparatus

Publications (2)

Publication Number Publication Date
KR20220130494A KR20220130494A (en) 2022-09-27
KR102478699B1 true KR102478699B1 (en) 2022-12-16

Family

ID=83452047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210035468A KR102478699B1 (en) 2021-03-18 2021-03-18 Blockchain-based IoT security method and apparatus

Country Status (1)

Country Link
KR (1) KR102478699B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102220192B1 (en) 2020-04-29 2021-02-24 이승순 System of relay BADUK game with smart baduk-board

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101271426B1 (en) * 2009-11-04 2013-06-05 한국전자통신연구원 Apparatus and method for recording partial encryption of broadcast program
WO2018125989A2 (en) 2016-12-30 2018-07-05 Intel Corporation The internet of things
KR20190065824A (en) * 2017-12-04 2019-06-12 주식회사 비즈모델라인 Method for Providing Payment by using Cryptocurrency based on Blockchain
KR102156206B1 (en) * 2018-07-03 2020-09-15 주식회사 케이티 Apparatus and method for providing security to an end-to-end communication
US20220138737A1 (en) * 2019-02-15 2022-05-05 nChain Holdings Limited Computer-implemented systems and methods for implementing transfers over a blockchain network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102220192B1 (en) 2020-04-29 2021-02-24 이승순 System of relay BADUK game with smart baduk-board

Also Published As

Publication number Publication date
KR20220130494A (en) 2022-09-27

Similar Documents

Publication Publication Date Title
US11451386B2 (en) Method and system for many-to-many symmetric cryptography and a network employing the same
US8416947B2 (en) Block cipher using multiplication over a finite field of even characteristic
US7945049B2 (en) Stream cipher using multiplication over a finite field of even characteristic
JP7007384B2 (en) Increased ambiguity
US8358781B2 (en) Nonlinear feedback mode for block ciphers
Mcginthy et al. Secure industrial Internet of Things critical infrastructure node design
US20170264596A1 (en) Systems and methods for securing electronic data with embedded security engines
Huang et al. A novel structure with dynamic operation mode for symmetric-key block ciphers
US8804953B2 (en) Extensive ciphertext feedback
US8041033B2 (en) Cipher feedback with variable block chaining
KR102478699B1 (en) Blockchain-based IoT security method and apparatus
Rajashree et al. CBC (Cipher Block Chaining)-Based Authenticated Encryption for Securing Sensor Data in Smart Home
Kumar et al. A novel framework for secure file transmission using modified AES and MD5 algorithms
WO2021044465A1 (en) Encrypting device, decrypting device, computer program, encryption method, decryption method, and data structure
Abdelkhalek et al. Improved linear cryptanalysis of round-reduced ARIA
Li Exploring the Application of Data Encryption Technology in Computer Network Security
KR102022570B1 (en) Data Distribution Service System and Message Transfer Method Using Same
Haunts et al. Symmetric Encryption
Sheena et al. Lightweight Encryption Algorithms for Resource-constrained Devices for Internet-of-Things Applications
Tariq Banday et al. Power Consumption Estimation of SHA-3 for the Internet of Things Applications
Gilley Reconstruction of Satellite Decryption and Data Handling Processes
Huang et al. Random Cladding with Feedback Mechanism for encrypting mobile messages
Oliynykov Next generation of block ciphers providing high-level security
Al Ali Efficient Encryption Schemes for Image in Airborne Surveillance System
Nirmala et al. SCUMG: Secure Code Update for Multicast Group in Wireless Sensor Networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant