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

Blockchain-based IoT security method and apparatus Download PDF

Info

Publication number
KR20220130494A
KR20220130494A KR1020210035468A KR20210035468A KR20220130494A KR 20220130494 A KR20220130494 A KR 20220130494A KR 1020210035468 A KR1020210035468 A KR 1020210035468A KR 20210035468 A KR20210035468 A KR 20210035468A KR 20220130494 A KR20220130494 A KR 20220130494A
Authority
KR
South Korea
Prior art keywords
packet
client
paths
server
routes
Prior art date
Application number
KR1020210035468A
Other languages
Korean (ko)
Other versions
KR102478699B1 (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Alarm Systems (AREA)

Abstract

Disclosed are a blockchain-based IoT security method and a device thereof. According to the present invention, the device comprises: a processor; and a memory including the processor. The memory includes program instructions executed by the processor to generate a plurality of routes to transmit a packet including data related to an event to a server when the event occurs from a sensor, to encrypt the routes using an encryption key updated at a preset cycle, to encrypt the packet including each of the encrypted routes, and to transmit the encrypted packet to the server through each of the routes. The routes include a plurality of client addresses randomly determined not to overlap each other through a pre-stored lookup table. The encrypted packet is transmitted to a next client address in the number corresponding to the routes, and the server performs packet verification using the packet received through each of the routes. Therefore, system stabilization can be promoted while improving IoT security.

Description

블록체인 기반 IoT 보안 방법 및 장치{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나 하드웨어에 의존하지 않고, 가상화하여 리소스를 공유하거나 클라우드 환경을 구축하고 있다. In line with the recent hyperconnection era, technologies such as artificial intelligence, big data, cloud, Internet of Things (IoT), and networks are being developed. As these technologies are advanced, they do not depend on the existing single OS or hardware, but virtualize to share resources or build a cloud environment.

이렇듯 네트워크를 이용한 시스템이 많아지고 있지만, 네트워크의 보안성은 현재까지 미비한 상태이다. 특히, 사물인터넷은 센서를 네트워크로 연결하여 제어하는 기술로 산업, 사회뿐만 아니라 가정에서도 사용되고 있다. 가정에서 사용하는 사물인터넷은 스마트홈으로 불리며 소비장치, 보안기기, 가전제품 등 가정 내의 모든 장치를 연결하여 제어할 수 있는 시스템을 말한다. 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 connects and controls sensors through a network, and is used not only in industry and society, but also in homes. 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 leaking personal information by hackers and intercepting data to identify lifestyles such as invasion of users' privacy.

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

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

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

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

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

상기 복수의 경로는 3개이며, 3개의 경로 각각은 서로 중복되지 않는 3개의 클라이언트 주소를 포함할 수 있다. The plurality of paths is three, and each of the three paths may include three client addresses that do not overlap with 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 has occurred and the addresses of a plurality of clients included in one path.

상기 서버는 수신된 패킷의 넘버와 상기 수신된 패킷을 전송한 마지막 클라이언트의 주소를 비교하여 신뢰할 수 있는 패킷인지 여부를 판단할 수 있다. The server may determine whether the 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, as a block chain-based IoT security method of 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 related to the event to a server creating a; encrypting the plurality of paths using an encryption key updated at a preset period; 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 routes, wherein the plurality of routes include a plurality of client addresses randomly determined so as not to overlap 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. A blockchain-based IoT security method is provided. .

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

본 발명의 또 다른 측면에 따르면, 블록체인 기반 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 routes for transmitting a packet including data related to the event to a server is generated, and at a preset period A plurality of clients encrypting the plurality of paths by using an updated encryption key, and encrypting a packet 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 addresses include a plurality of client addresses randomly determined so as not to overlap each other through a pre-stored lookup table, and 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 paths.

본 발명에 따르면, 사물인터넷 보안성을 향상시키면서도 리소스도 줄여 시스템 안정화를 도모할 수 있는 장점이 있다. According to the present invention, there is an advantage in that it is possible to promote 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 in which an encryption key is changed.
3 is a diagram illustrating an encryption key change process.
4 is a diagram illustrating a method of changing IV.
5 is a diagram illustrating an encrypted packet structure according to the present embodiment.
6 illustrates a process in which a packet is transmitted from a client in which an event has occurred to a server according to the present embodiment.
7 is a diagram illustrating the configuration of a client according to a preferred embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can have various changes and can 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. In describing each figure, like reference numerals have been used for like elements.

본 발명에서는 사물인터넷 환경에서 보안성을 강화하기 위해 블록체인 기반의 알고리즘을 활용하여 보안성을 향상시켰으며, 특히 DAG(Directed Acyclic Graph) 알고리즘 및 AES(Advanced Encryption Standard) 알고리즘을 이용하여 새로운 사물인터넷에 적합한 IoT 보안 아키텍쳐를 제안한다. In the present invention, security is improved by using a blockchain-based algorithm to strengthen security in the Internet of Things environment. 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 in which the event occurs individually transmits encrypted packets through a plurality of randomly generated paths, and the server transmits encrypted packets received through different paths. is decoded to perform packet verification.

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

도 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 modified structure of the existing DAG algorithm.

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

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

도 1을 참조하면, 이벤트가 발생한 제1 클라이언트(100-1)는 이벤트 관련 패킷을 서버(102)로 전송하기 위한 복수의 경로(104-1 내지 104-3)를 생성한다. Referring to FIG. 1 , a first client 100-1 in which an event has occurred creates a plurality of paths 104-1 to 104-3 for transmitting an event-related packet 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 routes including a plurality of client addresses randomly determined so as 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 address of the registered client is encrypted and transmitted to the client connected to the server 102 through broadcasting. .

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

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

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

제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 the plurality of paths.

서버(102)는 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행한다. The server 102 performs packet verification using packets received through each of the 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 is an algorithm approved for use in top secret by the US National Security Agency. The AES algorithm is a symmetric key algorithm that uses the same key for encryption and decryption, and has an SPN structure.

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

블록 암호화 운영 모드는 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 operation 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 used encryption method with the highest security among block encryption operation modes, and the plaintext is encrypted using an initial vector (IV, Initialization Vector), and then the plaintext is encrypted with the previous ciphertext through XOR operation of each block. is calculated The encryption key value used here is changed through rotation, time synchronization, and modular operation at regular intervals.

본 실시예에 따르면, 클라이언트(100) 및 서버(102)에서의 암호화를 위해, 일정 시간을 주기로 암호 키가 갱신된다. According to the present embodiment, for encryption in the client 100 and the server 102, the encryption key is updated 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 three other randomly determined clients 100-2 to 100-4.

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

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

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

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

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

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

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

Figure pat00012
Figure pat00012

Figure pat00013
Figure pat00013

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

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

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

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

Figure pat00017
의 24 byte의 1 byte 씩 순서대로 XOR 연산하여
Figure pat00018
로 다시 출력한다. More specifically, the current date's month and hour are added, and the entered
Figure pat00017
By XOR operation of 1 byte of 24 bytes of
Figure pat00018
output again as

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

Figure pat00019
Figure pat00019

여기서 사용된

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

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

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

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

도 4를 참조하면, 암호 키

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

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

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

Figure pat00025
,
Figure pat00026
,
Figure pat00027
및 IV를 조합하여 연산한다. In this way, it is used as a cryptographic key in the whole algorithm.
Figure pat00025
,
Figure pat00026
,
Figure pat00027
and IV are combined to calculate.

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

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

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

도 5에서는 복수의 경로 각각이 3개의 클라이언트를 통해 이벤트가 발생한 클라이언트로부터 서버까지 전송되는 경우의 패킷 구조를 예시적으로 도시한 도면이다. 5 is a diagram exemplarily illustrating a packet structure when a plurality of paths are transmitted from a client in which 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 paths, and when a packet is transmitted in three groups as shown in FIG. do.

또한, 패킷은 총 20byte로 구성될 수 있고, 넘버에는 현재 클라이언트의 옥텟4 주소가 대입된다. In addition, the packet can be composed 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 has occurred and the address of the client that has 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 addresses corresponding to the multiple paths randomly generated by the event generating client are input.

15byte에는 서버의 주소, 그리고 18byte부터는 이벤트 클라이언트에서 발생한 데이터가 입력된다. The server's address is entered in 15 bytes, and 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 addresses of the next client cannot be known.

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

Figure pat00028
Figure pat00028

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

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

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

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

도 6은 본 실시예에 따른 이벤트가 발생한 클라이언트에서 서버로 패킷이 전송되는 과정을 나타낸 것이다. 6 illustrates a process in which a packet is transmitted from a client in which an event has occurred 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 , the packet is divided into 3 groups and transmitted, the first path is when the client addresses are 192.168.0.7, 192.168.0.2, 192.168.0.1 (A(7, 2, 1)), and the second path is the client The address is 192.168.0.9, 192.168.0.4, 192.168.0.8(A(9, 4, 8)), and the third route is when the client addresses are 192.168.0.10, 192.168.0.6, 192.168.0.3(A(10, 8)). 6, 3)) is the case.

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

이후 같은 방법으로 합산하여 넘버 자리에 15가 입력된 패킷이 서버(102)로 전송된다. Thereafter, the packets in which 15 is inputted in the number digit by summing in the same way 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 using the number input in the number place 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 server 102 fails to verify the packet, the server 102 discards the packet and stores the suspect client in a lookup table.

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

도 7에 도시된 바와 같이, 본 실시예에 따른 클라이언트는 프로세서(700) 및 메모리(702)를 포함할 수 있다. As shown in FIG. 7 , the client according to the present 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) or other virtual machine capable of executing a computer program.

메모리(702)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(702)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.The memory 702 may include a non-volatile storage device such as a fixed 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 .

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

여기서, 상기 복수의 경로는 미리 저장된 룩업테이블을 통해 서로 중복되지 않도록 랜덤하게 결정된 복수의 클라이언트 주소를 포함하고, 상기 암호화된 패킷은 상기 복수의 경로에 상응하는 개수로 다음 클라이언트 주소로 전송되며, 상기 서버는 상기 복수의 경로 각각을 통해 수신된 패킷을 이용하여 패킷 검증을 수행한다.Here, the plurality of routes includes a plurality of client addresses randomly determined so as 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 above-described embodiments of the present invention have been disclosed for the purpose of illustration, and various modifications, changes, and additions will be possible within the spirit and scope of the present invention by those skilled in the art having ordinary knowledge of the present invention, and such modifications, changes and additions should be regarded as belonging to the following claims.

Claims (10)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240082444A (en) 2022-12-01 2024-06-11 서강대학교산학협력단 Data access control system using substitution cipher based on blockchain, data access control apparatus and data access control method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110049112A (en) * 2009-11-04 2011-05-12 한국전자통신연구원 Apparatus and method for recording partial encryption of broadcast program
KR20190065824A (en) * 2017-12-04 2019-06-12 주식회사 비즈모델라인 Method for Providing Payment by using Cryptocurrency based on Blockchain
US20190349426A1 (en) 2016-12-30 2019-11-14 Intel Corporation The internet of things
KR20200004191A (en) * 2018-07-03 2020-01-13 주식회사 케이티 Apparatus and method for providing security to an end-to-end communication
KR102220192B1 (en) * 2020-04-29 2021-02-24 이승순 System of relay BADUK game with smart baduk-board
KR20210128452A (en) * 2019-02-15 2021-10-26 엔체인 홀딩스 리미티드 Computer-implemented systems and methods for implementing transfers via blockchain networks.

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110049112A (en) * 2009-11-04 2011-05-12 한국전자통신연구원 Apparatus and method for recording partial encryption of broadcast program
US20190349426A1 (en) 2016-12-30 2019-11-14 Intel Corporation The internet of things
KR20190065824A (en) * 2017-12-04 2019-06-12 주식회사 비즈모델라인 Method for Providing Payment by using Cryptocurrency based on Blockchain
KR20200004191A (en) * 2018-07-03 2020-01-13 주식회사 케이티 Apparatus and method for providing security to an end-to-end communication
KR20210128452A (en) * 2019-02-15 2021-10-26 엔체인 홀딩스 리미티드 Computer-implemented systems and methods for implementing transfers via blockchain networks.
KR102220192B1 (en) * 2020-04-29 2021-02-24 이승순 System of relay BADUK game with smart baduk-board

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240082444A (en) 2022-12-01 2024-06-11 서강대학교산학협력단 Data access control system using substitution cipher based on blockchain, data access control apparatus and data access control method

Also Published As

Publication number Publication date
KR102478699B1 (en) 2022-12-16

Similar Documents

Publication Publication Date Title
Hasan et al. Lightweight cryptographic algorithms for guessing attack protection in complex internet of things applications
US11451386B2 (en) Method and system for many-to-many symmetric cryptography and a network employing the same
JP7007384B2 (en) Increased ambiguity
US8358781B2 (en) Nonlinear feedback mode for block ciphers
US7945049B2 (en) Stream cipher using multiplication over a finite field of even characteristic
US9817953B2 (en) Systems and methods for establishing and using distributed key servers
US20090214024A1 (en) Block cipher using multiplication over a finite field of even characteristic
US20150229621A1 (en) One-time-pad data encryption in communication channels
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
Rani et al. Enhanced data storage security in cloud environment using encryption, compression and splitting technique
KR102478699B1 (en) Blockchain-based IoT security method and apparatus
Kumar et al. A novel framework for secure file transmission using modified AES and MD5 algorithms
KR102022570B1 (en) Data Distribution Service System and Message Transfer Method Using Same
Hartl et al. Subverting Counter Mode Encryption for Hidden Communication in High-Security Infrastructures
Wu et al. Fundamentals of cryptography
Uskov et al. The efficiency of block ciphers in galois/counter mode in IPsec-based virtual private networks
Haunts et al. Symmetric Encryption
Sheena et al. Lightweight Encryption Algorithms for Resource-constrained Devices for Internet-of-Things Applications
Hasan et al. Research Article Lightweight Cryptographic Algorithms for Guessing Attack Protection in Complex Internet of Things Applications
Alenezi et al. On the performance of AES algorithm variants
Sasi et al. Design and Implementation of Discrete Field Arithmetic-Based Cylindrical Coil-Driven Crypto Framework for Cloud Data
Nirmala et al. SCUMG: Secure Code Update for Multicast Group in Wireless Sensor Networks
Rúnarsson et al. TSense: Trusted sensors and support infrastructure

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