KR20210069494A - METHOD FOR CERTIFICATING IoT DEVICE AND VERIFYING INTEGRITY OF IoT DEVICE, AND CONTROL DEVICE USING THEM - Google Patents

METHOD FOR CERTIFICATING IoT DEVICE AND VERIFYING INTEGRITY OF IoT DEVICE, AND CONTROL DEVICE USING THEM Download PDF

Info

Publication number
KR20210069494A
KR20210069494A KR1020190159398A KR20190159398A KR20210069494A KR 20210069494 A KR20210069494 A KR 20210069494A KR 1020190159398 A KR1020190159398 A KR 1020190159398A KR 20190159398 A KR20190159398 A KR 20190159398A KR 20210069494 A KR20210069494 A KR 20210069494A
Authority
KR
South Korea
Prior art keywords
iot device
public key
information
control device
transaction
Prior art date
Application number
KR1020190159398A
Other languages
Korean (ko)
Other versions
KR102501671B1 (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 KR1020190159398A priority Critical patent/KR102501671B1/en
Publication of KR20210069494A publication Critical patent/KR20210069494A/en
Application granted granted Critical
Publication of KR102501671B1 publication Critical patent/KR102501671B1/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/083Key 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 central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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 central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a method of authenticating an Internet of things (IoT) device and verifying integrity of the IoT device and a control device using the same. The method of authenticating an Internet of things (IoT) device and verifying integrity of the IoT device and the control device using the same comprise the following steps of: (a) allowing the control device to obtain an authentication transaction from a blockchain network, or obtain IoT device identification information and at least one IoT device detailed information from the IoT device and obtain a verification transaction from the blockchain network when a triggering condition for authenticating the IoT device or verifying integrity of the IoT device is satisfied in a state in which the verification transaction is registered in the blockchain network; and (b) performing a process of verifying the integrity of the IoT device by comparing comparison target verification information with verification information obtained from the verification transaction.

Description

IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법 및 이를 이용한 컨트롤 디바이스{METHOD FOR CERTIFICATING IoT DEVICE AND VERIFYING INTEGRITY OF IoT DEVICE, AND CONTROL DEVICE USING THEM}A method for authenticating an IoT device and verifying the integrity of an IoT device, and a control device using the same

본 발명은 IoT(Internet of Things) 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법 및 이를 이용한 컨트롤 디바이스에 관한 것으로, 보다 상세하게는, 블록체인 네트워크를 이용하여 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법 및 이를 이용한 컨트롤 디바이스에 관한 것이다.The present invention relates to a method of authenticating an Internet of Things (IoT) device and verifying the integrity of the IoT device and a control device using the same, and more particularly, to authenticate the IoT device using a block chain network and to verify the integrity of the IoT device. It relates to a method of verifying and a control device using the same.

4차 산업혁명 시대의 진입과 함께 모든 사물이 인터넷에 연결되어 인간의 명시적인 개입이 없이 상호 협력적으로 센싱, 네트워킹 등 지능적인 관계를 형성하는 IoT는 다양한 산업 분야의 연계가 가능하게 만드는 4차 산업혁명의 핵심 기술로 주목 받고 있다. 하지만 최근 스마트 TV 해킹, 자율주행차량 해킹 등 IoT 환경에 대한 보안위협들이 증가하고 있으며, 스마트 홈, 원격 진료 등 사람의 개인정보, 건강과 밀접한 IoT 디바이스가 해킹될 경우 민감 정보 유출 및 2차적인 피해로 이어질 수 있다. 또한 가스 제어 장치, 전력 제어 장치 등이 해킹되는 경우 큰 인명피해로 이어질 가능성이 존재한다.With the advent of the 4th industrial revolution era, all things are connected to the internet and without explicit human intervention, the IoT forms an intelligent relationship such as sensing and networking. It is attracting attention as a key technology of the industrial revolution. However, recently, security threats to the IoT environment such as smart TV hacking and autonomous vehicle hacking are increasing. can lead to In addition, if a gas control device, a power control device, etc. are hacked, there is a possibility that it will lead to a large human loss.

다양한 디바이스 성능을 보유하고 있는 IoT 디바이스에서는, 모든 디바이스에서 안전한 보안 기능을 제공하고 있지는 않다. 또한, 이기종의 디바이스 간의 통신에 있어 지속적인 보안위협이 발생하고 있으며 다양한 보안 취약점들이 발견되고 있다. 또한, 저성능의 IoT 디바이스들은 하드웨어 성능의 한계로 인해 보안 기능을 탑재하고 있더라도 낮은 수준의 보안 기능을 제공하고 있거나, 보안 기능을 탑재하고 있지 않다. 이러한 인증 및 디바이스 무결성 기능의 부족과 같은 보안 기능 부재로 인해, 미라이 봇넷에 IoT 디바이스들이 감염되어 DDoS 공격이 발생하는 등 다양한 공격이 지속적으로 발생하고 있다.In IoT devices with various device capabilities, not all devices provide a secure security function. In addition, continuous security threats occur in communication between heterogeneous devices, and various security vulnerabilities are discovered. In addition, low-performance IoT devices provide a low-level security function or do not have a security function even though they are equipped with a security function due to limitations in hardware performance. Due to the lack of security functions such as the lack of authentication and device integrity functions, various attacks such as DDoS attacks are continuously occurring as IoT devices are infected in the Mirai botnet.

한편, 최근에는 블록체인 네트워크를 이용하여 IoT 디바이스의 보안 문제를 해결하려고 하고 있으며, 한국공개특허 제10-2019-0063537호에서는 IoT 센서들 각각에 시퀀스 번호를 부여하고, 데이터 경로 상의 센서 노드들의 시퀀스 해시값을 인증하는 블록체인 기반 IoT 센서 노드 방법이 개시되어 있다.On the other hand, recently, it is trying to solve the security problem of IoT devices by using a block chain network, and in Korean Patent Application Laid-Open No. 10-2019-0063537, a sequence number is assigned to each IoT sensor, and a sequence of sensor nodes on a data path A blockchain-based IoT sensor node method for authenticating a hash value is disclosed.

하지만, 한국공개특허 제10-2019-0063537호의 방법에서는 IoT 센서 노드에 부여된 시퀀스 번호가 노출될 경우 센스 노드가 해킹에 의해 탈취되거나 DDoS와 같은 공격을 받을 수 있으며, 일반적인 PKI 기반의 인증을 수행하는 종래의 방법에서도 키가 노출될 경우 IoT 디바이스가 해킹에 의해 탈취되거나 DDoS와 같은 공격을 받을 수 있다.However, in the method of Korean Patent Application Laid-Open No. 10-2019-0063537, if the sequence number assigned to the IoT sensor node is exposed, the sense node may be hijacked by hacking or subjected to an attack such as DDoS, and performs general PKI-based authentication Even in the conventional method, if the key is exposed, the IoT device may be hijacked by hacking or may receive an attack such as DDoS.

KRUS 10-2019-006353710-2019-0063537 AA

본 발명은 상술한 문제점을 모두 해결하는 것을 목적으로 한다.An object of the present invention is to solve all of the above problems.

또한, 본 발명은 IoT 디바이스의 보안을 강화하는 것을 다른 목적으로 한다.Another object of the present invention is to enhance security of an IoT device.

또한, 본 발명은 IoT 디바이스가 해킹에 의해 탈취되거나 DDoS와 같은 공격을 방지할 수 있도록 하는 것을 또 다른 목적으로 한다.Another object of the present invention is to enable an IoT device to be hijacked by hacking or to prevent attacks such as DDoS.

또한, 본 발명은 보안성을 강화하여 IoT 디바이스를 인증할 수 있도록 하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to enable authentication of an IoT device by enhancing security.

또한, 본 발명은 보안성을 강화하여 IoT 디바이스의 무결성을 검증할 수 있도록 하는 것을 또 다른 목적으로 한다.In addition, it is another object of the present invention to verify the integrity of an IoT device by enhancing security.

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.A representative configuration of the present invention for achieving the above object is as follows.

본 발명의 일 실시예에 따르면, IoT(Internet of Things) 디바이스를 인증하며 상기 IoT 디바이스의 무결성을 검증하는 방법에 있어서, (a) 상기 컨트롤 디바이스와 상기 IoT 디바이스를 포함하는 그룹에 대응되는 그룹키와 n - 상기 n은 1 이상의 정수임 - 개의 공개키들 - 상기 n 개의 공개키들은 적어도 컨트롤 디바이스 정보와 IoT 디바이스 정보를 시드로 한 해시 연산을 반복하며 생성한 것임 - 을 생성하고, 상기 그룹키와 상기 n개의 공개키들 중 적어도 제k - 상기 k는 1과 n 사이의 정수임 - 공개키를 상기 컨트롤 디바이스에 저장하며, 상기 그룹키와 적어도 제(k+1) 공개키를 상기 IoT 디바이스에 저장되도록 하고, 상기 IoT 디바이스로 하여금 IoT 디바이스 행위 정보, 상기 제(k+1) 공개키, 및 인증 정보 - 상기 인증 정보는 상기 제(k+1) 공개키를 해시 연산하여 생성한 제(k+2) 공개키, 상기 IoT 디바이스에 저장된 상기 그룹키, 및 상기 IoT 디바이스 행위 정보를 참조하여 생성한 것임 - 를 포함하는 인증 트랜잭션을 블록체인 네트워크에 등록하고, 타임스탬프, 상기 제(k+1) 공개키, 및 검증 정보 - 상기 검증 정보는 상기 제(k+2) 공개키와 IoT 디바이스 세부 정보값을 참조하여 생성한 것이며, 상기 IoT 디바이스 세부 정보값은 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산한 세부 정보 해시값, 상기 타임스탬프, 상기 IoT 디바이스에 저장된 상기 그룹키, 및 IoT 디바이스 식별 정보를 포함함 - 를 포함하는 검증 트랜잭션을 상기 블록체인 네트워크에 등록한 상태에서, 상기 IoT 디바이스를 인증하거나 상기 IoT 디바이스의 무결성을 검증하기 위한 트리거링 조건이 만족되면, 상기 컨트롤 디바이스가, 상기 블록체인 네트워크로부터 상기 인증 트랜잭션을 획득하거나, 상기 IoT 디바이스로부터 상기 IoT 디바이스 식별 정보 및 상기 적어도 하나의 IoT 디바이스 세부 정보를 획득하며 상기 블록체인 네트워크로부터 상기 검증 트랜잭션을 획득하는 단계; 및 (b) 상기 컨트롤 디바이스가, (i) 상기 인증 트랜잭션으로부터 상기 IoT 디바이스 행위 정보, 상기 제(k+1) 공개키, 및 상기 인증 정보를 획득하고, 상기 인증 트랜잭션으로부터 획득한 상기 제(k+1) 공개키를 해시 연산하여 제1 비교대상 제(k+2) 공개키를 생성하며, 상기 컨트롤 디바이스에 저장된 상기 그룹키, 상기 제1 비교대상 제(k+2) 공개키, 및 상기 인증 트랜잭션으로부터 획득한 상기 IoT 디바이스 행위 정보를 참조하여 비교대상 인증 정보를 생성하고, 상기 비교대상 인증 정보와 상기 인증 트랜잭션으로부터 획득한 상기 인증 정보를 비교하여 상기 IoT 디바이스를 인증하는 프로세스, 또는 (ii) 상기 검증 트랜잭션으로부터 상기 제(k+1) 공개키, 상기 타임스탬프, 및 상기 검증 정보를 획득하고, 상기 IoT 디바이스로부터 획득된 상기 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산하여 비교대상 세부 정보 해시값을 생성하며, 상기 비교대상 세부 정보 해시값, 상기 IoT 디바이스로부터 획득한 상기 IoT 디바이스 식별 정보, 상기 검증 트랜잭션으로부터 획득한 상기 타임스탬프, 및 상기 컨트롤 디바이스에 저장된 상기 그룹키를 포함하는 비교대상 IoT 디바이스 세부 정보값을 생성하고, 상기 검증 트랜잭션으로부터 획득한 상기 제(k+1) 공개키를 해시 연산하여 제2 비교대상 제(k+2) 공개키를 생성하며, 상기 제2 비교대상 제(k+2) 공개키와 상기 비교대상 IoT 디바이스 세부 정보값을 참조하여 비교대상 검증 정보를 생성하고, 상기 비교대상 검증 정보와 상기 검증 트랜잭션으로부터 획득한 상기 검증 정보를 비교하여 상기 IoT 디바이스의 무결성을 검증하는 프로세스를 수행하는 단계; 를 포함하는 방법이 제공된다.According to an embodiment of the present invention, in a method of authenticating an Internet of Things (IoT) device and verifying the integrity of the IoT device, (a) a group key corresponding to a group including the control device and the IoT device and n - the n is an integer greater than or equal to 1 - public keys - the n public keys are generated by repeating a hash operation using at least control device information and IoT device information as seeds; at least kth among n public keys - wherein k is an integer between 1 and n - stores a public key in the control device, and stores the group key and at least (k+1)th public key in the IoT device; , the IoT device behavior information, the (k+1)th public key, and authentication information - The authentication information is a (k+2)th generated by hashing the (k+1)th public key Registering an authentication transaction including a public key, the group key stored in the IoT device, and the IoT device behavior information in reference to the blockchain network, a timestamp, and the (k+1)th public key , and verification information - The verification information is generated by referring to the (k+2)th public key and the IoT device detailed information value, and the IoT device detailed information value is a detail obtained by hashing at least one IoT device detailed information. In a state in which a verification transaction including an information hash value, the timestamp, the group key stored in the IoT device, and IoT device identification information is registered in the blockchain network, the IoT device is authenticated or the IoT device When a triggering condition for verifying the integrity of the control device is satisfied, the control device acquires the authentication transaction from the blockchain network, or acquires the IoT device identification information and the at least one IoT device detailed information from the IoT device, the blockchain obtaining the verification transaction from a network; and (b), by the control device, (i) obtaining the IoT device behavior information, the (k+1)th public key, and the authentication information from the authentication transaction, and obtaining the (kth)th from the authentication transaction +1) hashing the public key to generate a first comparison target (k+2)th public key, the group key stored in the control device, the first comparison target (k+2)th public key, and the a process of generating comparison target authentication information by referring to the IoT device behavior information obtained from an authentication transaction, and authenticating the IoT device by comparing the comparison target authentication information with the authentication information obtained from the authentication transaction; or (ii) ) Obtaining the (k+1)th public key, the timestamp, and the verification information from the verification transaction, and hashing the at least one IoT device detailed information obtained from the IoT device to hash the comparison target detailed information Comparison target IoT that generates a value and includes the comparison target detailed information hash value, the IoT device identification information acquired from the IoT device, the timestamp acquired from the verification transaction, and the group key stored in the control device A device detailed information value is generated, and the (k+1)th public key obtained from the verification transaction is hashed to generate a second comparison target (k+2)th public key, and the second comparison target first ( k+2) Generate comparison target verification information by referring to the public key and the comparison target IoT device detailed information value, and compare the comparison target verification information with the verification information obtained from the verification transaction to determine the integrity of the IoT device performing a verification process; A method comprising:

상기에서, (c) 상기 컨트롤 디바이스가, 상기 IoT 디바이스에 저장된 상기 제(k+1) 공개키가 상기 제k 공개키로 업데이트되도록 하며, 상기 컨트롤 디바이스에 저장된 상기 제k 공개키가 제(k-1) 공개키로 업데이트되도록 하는 단계; 를 더 포함할 수 있다.In the above, (c) the control device causes the (k+1)th public key stored in the IoT device to be updated with the kth public key, and the kth public key stored in the control device is updated to the (k−)th public key. 1) allowing the public key to be updated; may further include.

상기 (a) 단계 이전에, (a01) 상기 컨트롤 디바이스가, 상기 IoT 디바이스로 상기 IoT 디바이스 정보를 요청하며, 상기 IoT 디바이스로부터 상기 IoT 디바이스 정보가 획득되면, 기생성된 그룹키를 확인하거나 상기 그룹키를 생성하고, 상기 IoT 디바이스로부터 획득된 상기 IoT 디바이스 정보와 상기 컨트롤 디바이스 정보를 시드로 하여 상기 n개의 공개키들을 생성하며, 상기 그룹키와 상기 n개의 공개키들 중 적어도 상기 제(k+1) 공개키를 상기 IoT 디바이스로 전송하여 주는 단계; 를 더 포함할 수 있다.Before the step (a), (a01) the control device requests the IoT device information to the IoT device, and when the IoT device information is obtained from the IoT device, a pre-generated group key is checked or the group generating a key, generating the n public keys by using the IoT device information and the control device information obtained from the IoT device as a seed, and generating at least the (k+1)th among the group key and the n public keys ) transmitting the public key to the IoT device; may further include.

상기 (b) 단계에서, 상기 컨트롤 디바이스는, 상기 컨트롤 디바이스에 저장된 상기 제k 공개키를 해시 연산하여 비교대상 제(k+1) 공개키를 생성하고, 상기 비교대상 제(k+1) 공개키와 상기 인증 트랜잭션으로부터 획득된 상기 제(k+1) 공개키를 비교하여 상기 인증 트랜잭션의 유효성을 확인하거나, 상기 비교대상 제(k+1) 공개키와 상기 검증 트랜잭션으로부터 획득된 상기 제(k+1) 공개키를 비교하여 상기 검증 트랜잭션의 유효성을 확인할 수 있다.In step (b), the control device generates a (k+1)th public key to be compared by performing a hash operation on the kth public key stored in the control device, and the (k+1)th public key to be compared The validity of the authentication transaction is confirmed by comparing a key and the (k+1)th public key obtained from the authentication transaction, or the (k+1)th public key to be compared and the (k+1)th public key obtained from the verification transaction k+1) by comparing the public key, the validity of the verification transaction can be confirmed.

또한, 본 발명의 일 실시예에 따르면, IoT 디바이스를 제어하는 컨트롤 디바이스에서 상기 IoT 디바이스를 인증하며 상기 IoT 디바이스의 무결성을 검증하는 컨트롤 디바이스에 있어서, 상기 IoT 디바이스를 인증하며 상기 IoT 디바이스의 무결성을 검증하기 위한 인스트럭션들을 저장하는 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 IoT 디바이스를 인증하며 상기 IoT 디바이스의 무결성을 검증하기 위한 동작을 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (I) 상기 컨트롤 디바이스와 상기 IoT 디바이스를 포함하는 그룹에 대응되는 그룹키와 n - 상기 n은 1 이상의 정수임 - 개의 공개키들 - 상기 n 개의 공개키들은 적어도 컨트롤 디바이스 정보와 IoT 디바이스 정보를 시드로 한 해시 연산을 반복하며 생성한 것임 - 을 생성하고, 상기 n개의 공개키들 중 적어도 제k - 상기 k는 1과 n 사이의 정수임 - 공개키를 상기 컨트롤 디바이스에 저장하며, 적어도 제(k+1) 공개키를 상기 IoT 디바이스에 저장되도록 하고, 상기 IoT 디바이스로 하여금 IoT 디바이스 행위 정보, 상기 제(k+1) 공개키, 및 인증 정보 - 상기 인증 정보는 상기 제(k+1) 공개키를 해시 연산하여 생성한 제(k+2) 공개키, 상기 IoT 디바이스에 저장된 상기 그룹키, 및 상기 IoT 디바이스 행위 정보를 참조하여 생성한 것임 - 를 포함하는 인증 트랜잭션을 블록체인 네트워크에 등록하고, 타임스탬프, 상기 제(k+1) 공개키, 및 검증 정보 - 상기 검증 정보는 상기 제(k+2) 공개키와 IoT 디바이스 세부 정보값을 참조하여 생성한 것이며, 상기 IoT 디바이스 세부 정보값은 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산한 세부 정보 해시값, 상기 타임스탬프, 상기 IoT 디바이스에 저장된 상기 그룹키, 및 IoT 디바이스 식별 정보를 포함함 - 를 포함하는 검증 트랜잭션을 상기 블록체인 네트워크에 등록한 상태에서, 상기 IoT 디바이스를 인증하거나 상기 IoT 디바이스의 무결성을 검증하기 위한 트리거링 조건이 만족되면, 상기 블록체인 네트워크로부터 상기 인증 트랜잭션을 획득하거나, 상기 IoT 디바이스로부터 상기 IoT 디바이스 식별 정보 및 상기 적어도 하나의 IoT 디바이스 세부 정보를 획득하며 상기 블록체인 네트워크로부터 상기 검증 트랜잭션을 획득하는 프로세스와, (II) (i) 상기 인증 트랜잭션으로부터 상기 IoT 디바이스 행위 정보, 상기 제(k+1) 공개키, 및 상기 인증 정보를 획득하고, 상기 인증 트랜잭션으로부터 획득한 상기 제(k+1) 공개키를 해시 연산하여 제1 비교대상 제(k+2) 공개키를 생성하며, 상기 컨트롤 디바이스에 저장된 상기 그룹키, 상기 제1 비교대상 제(k+2) 공개키, 및 상기 인증 트랜잭션으로부터 획득한 상기 IoT 디바이스 행위 정보를 참조하여 비교대상 인증 정보를 생성하고, 상기 비교대상 인증 정보와 상기 인증 트랜잭션으로부터 획득한 상기 인증 정보를 비교하여 상기 IoT 디바이스를 인증하는 프로세스, 또는 (ii) 상기 검증 트랜잭션으로부터 상기 제(k+1) 공개키, 상기 타임스탬프, 및 상기 검증 정보를 획득하고, 상기 IoT 디바이스로부터 획득된 상기 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산하여 비교대상 세부 정보 해시값을 생성하며, 상기 비교대상 세부 정보 해시값, 상기 IoT 디바이스로부터 획득한 상기 IoT 디바이스 식별 정보, 상기 검증 트랜잭션으로부터 획득한 상기 타임스탬프, 및 상기 컨트롤 디바이스에 저장된 상기 그룹키를 포함하는 비교대상 IoT 디바이스 세부 정보값을 생성하고, 상기 검증 트랜잭션으로부터 획득한 상기 제(k+1) 공개키를 해시 연산하여 제2 비교대상 제(k+2) 공개키를 생성하며, 상기 제2 비교대상 제(k+2) 공개키와 상기 비교대상 IoT 디바이스 세부 정보값을 참조하여 비교대상 검증 정보를 생성하고, 상기 비교대상 검증 정보와 상기 검증 트랜잭션으로부터 획득한 상기 검증 정보를 비교하여 상기 IoT 디바이스의 무결성을 검증하는 프로세스를 수행하는 컨트롤 디바이스가 제공된다.In addition, according to an embodiment of the present invention, in the control device for authenticating the IoT device and verifying the integrity of the IoT device in the control device for controlling the IoT device, authenticating the IoT device and verifying the integrity of the IoT device a memory storing instructions for verifying; and a processor that authenticates the IoT device according to the instructions stored in the memory and performs an operation for verifying the integrity of the IoT device. wherein the processor comprises: (I) a group key corresponding to a group including the control device and the IoT device, and n - the n is an integer greater than or equal to 1 - public keys - The n public keys are at least a control device Generated by repeating a hash operation using information and IoT device information as a seed - generates at least k of the n public keys - The k is an integer between 1 and n - Stores a public key in the control device and at least a (k+1)th public key is stored in the IoT device, and the IoT device causes the IoT device behavior information, the (k+1)th public key, and authentication information - the authentication information to include the first (k+1) the (k+2)th public key generated by hashing the public key, the group key stored in the IoT device, and the generated by referring to the IoT device behavior information. Register in the blockchain network, time stamp, the (k+1)th public key, and verification information - The verification information is generated by referring to the (k+2)th public key and the IoT device detailed information value, The IoT device detailed information value includes a detailed information hash value obtained by hashing at least one IoT device detailed information, the timestamp, the group key stored in the IoT device, and IoT device identification information. When a triggering condition for authenticating the IoT device or verifying the integrity of the IoT device is satisfied while registering in the blockchain network, the authentication transaction is obtained from the blockchain network, or the IoT device is obtained from the IoT device. a process of obtaining identification information and the at least one IoT device detail information and obtaining the verification transaction from the blockchain network; (II) (i) the IoT device behavior information from the authentication transaction, the (k+1)th ) public key, and the Obtaining authentication information and performing a hash operation on the (k+1)th public key obtained from the authentication transaction to generate a first (k+2)th public key to be compared, the group key stored in the control device; The first comparison target (k+2) public key and the IoT device behavior information obtained from the authentication transaction generate comparison target authentication information, and the comparison target authentication information and the authentication information obtained from the authentication transaction a process of authenticating the IoT device by comparing authentication information, or (ii) obtaining the (k+1)th public key, the timestamp, and the verification information from the verification transaction, and obtaining the obtained from the IoT device Hash operation of at least one IoT device detailed information to generate a comparison target detailed information hash value, the comparison target detailed information hash value, the IoT device identification information obtained from the IoT device, and the timestamp obtained from the verification transaction , and generating a comparison target IoT device detailed information value including the group key stored in the control device, and performing a hash operation on the (k+1)th public key obtained from the verification transaction to perform a second comparison target (k) +2) generating a public key, generating comparison target verification information by referring to the second comparison target (k+2) public key and the comparison target IoT device detailed information value, and generating comparison target verification information and the verification information A control device is provided that performs a process of verifying the integrity of the IoT device by comparing the verification information obtained from a transaction.

상기 프로세서는, 상기 IoT 디바이스에 저장된 상기 제(k+1) 공개키가 상기 제k 공개키로 업데이트되도록 하며, 상기 컨트롤 디바이스에 저장된 상기 제k 공개키가 제(k-1) 공개키로 업데이트되도록 하는 프로세스를 더 수행할 수 있다.The processor causes the (k+1)th public key stored in the IoT device to be updated with the kth public key, and the kth public key stored in the control device to be updated with the (k-1)th public key The process can be further carried out.

상기 프로세서는, 상기 (I) 프로세스 이전에, 상기 IoT 디바이스로 상기 IoT 디바이스 정보를 요청하며, 상기 IoT 디바이스로부터 상기 IoT 디바이스 정보가 획득되면, 기생성된 그룹키를 확인하거나 상기 그룹키를 생성하고, 상기 IoT 디바이스로부터 획득된 상기 IoT 디바이스 정보와 상기 컨트롤 디바이스 정보를 시드로 하여 상기 n개의 공개키들을 생성하며, 상기 그룹키와 상기 n개의 공개키들 중 적어도 상기 제(k+1) 공개키를 상기 IoT 디바이스로 전송하여 주는 프로세스를 더 수행할 수 있다.The processor, prior to the (I) process, requests the IoT device information from the IoT device, and when the IoT device information is obtained from the IoT device, checks a pre-generated group key or generates the group key, , generating the n public keys by using the IoT device information and the control device information obtained from the IoT device as seeds, and generating at least the (k+1)th public key among the group key and the n public keys. A process of transmitting to the IoT device may be further performed.

상기 프로세서는, 상기 컨트롤 디바이스에 저장된 상기 제k 공개키를 해시 연산하여 비교대상 제(k+1) 공개키를 생성하고, 상기 비교대상 제(k+1) 공개키와 상기 인증 트랜잭션으로부터 획득된 상기 제(k+1) 공개키를 비교하여 상기 인증 트랜잭션의 유효성을 확인하거나, 상기 비교대상 제(k+1) 공개키와 상기 검증 트랜잭션으로부터 획득된 상기 제(k+1) 공개키를 비교하여 상기 검증 트랜잭션의 유효성을 확인할 수 있다.The processor generates a comparison target (k+1)th public key by performing a hash operation on the kth public key stored in the control device, and obtains a comparison target (k+1)th public key and the authentication transaction. The validity of the authentication transaction is verified by comparing the (k+1)th public key, or the (k+1)th public key to be compared is compared with the (k+1)th public key obtained from the verification transaction. Thus, the validity of the verification transaction can be confirmed.

이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition to this, a computer-readable recording medium for recording a computer program for executing the method of the present invention is further provided.

본 발명에 의하면, 다음과 같은 효과가 있다.According to the present invention, the following effects are obtained.

본 발명은 IoT 디바이스의 보안을 강화할 수 있다.The present invention can enhance the security of IoT devices.

본 발명은 IoT 디바이스가 해킹에 의해 탈취되거나 DDoS와 같은 공격을 방지할 수 있다.The present invention can prevent an IoT device from being hijacked by hacking or from attacks such as DDoS.

본 발명은 보안성을 강화하여 IoT 디바이스를 인증할 수 있다.The present invention can authenticate the IoT device by enhancing security.

본 발명은 보안성을 강화하여 IoT 디바이스의 무결성을 검증할 수 있다.The present invention can verify the integrity of the IoT device by enhancing security.

도 1은 본 발명의 일 실시예에 따른 IoT 디바이스를 인증하며 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하기 위한 시스템을 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법에서 그룹키와 공개키를 생성하며, 인증 트랜잭션과 검증 트랜잭션을 등록하는 과정을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법에서 IoT 디바이스를 인증하는 과정을 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따른 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법에서 IoT 디바이스의 무결성을 검증하는 과정을 개략적으로 도시한 것이다.
1 schematically illustrates a system for authenticating an IoT device, authenticating an IoT device, and verifying the integrity of an IoT device according to an embodiment of the present invention;
2 schematically illustrates a process of generating a group key and a public key and registering an authentication transaction and a verification transaction in a method of authenticating an IoT device and verifying the integrity of the IoT device according to an embodiment of the present invention;
3 schematically illustrates a process of authenticating an IoT device in a method of authenticating an IoT device and verifying the integrity of the IoT device according to an embodiment of the present invention;
4 schematically illustrates a process of verifying the integrity of an IoT device in a method of authenticating an IoT device and verifying the integrity of the IoT device according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0023] Reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein with respect to one embodiment may be embodied in other embodiments without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of the invention, if properly described, is limited only by the appended claims, along with all scope equivalents to those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those of ordinary skill in the art to easily practice the present invention.

도 1은 본 발명의 일 실시예에 따른 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하기 위한 시스템을 개략적으로 도시한 것으로, 도 1을 참조하면, 시스템은 IoT 디바이스(100), 컨트롤 디바이스(200), 및 블록체인 네트워크(300)를 포함할 수 있다. 1 schematically illustrates a system for authenticating an IoT device and verifying the integrity of an IoT device according to an embodiment of the present invention. Referring to FIG. 1 , the system includes an IoT device 100 and a control device 200 ), and a blockchain network 300 .

먼저, IoT 디바이스(100)는 각종 디바이스에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술인 IoT가 적용된 디바이스일 수 있다. 일 예로, IoT 디바이스(100)는 사용자 단말, 자동차, 세탑 박스, AMI(advanced metering infrastructure), 스마트 가전 기기 등을 포함할 수 있으나, 이에 한정되지 않으며 IoT가 가능한 모든 디바이스를 포함할 수 있다.First, the IoT device 100 may be a device to which IoT, which is a technology for connecting to the Internet by embedding sensors and communication functions in various devices, is applied. As an example, the IoT device 100 may include, but is not limited to, a user terminal, a car, a set-top box, an advanced metering infrastructure (AMI), a smart home appliance, and the like, and may include any device capable of IoT.

다음으로, 컨트롤 디바이스(200)는 IoT 디바이스를 관리하는 디바이스로, PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿 등을 포함할 수 있다. 그리고, 컨트롤 디바이스(200)는 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등의 모든 디바이스를 포함할 수 있다. 또한, 컨트롤 디바이스(200)는 IoT 디바이스(100)를 인증하며 IoT 디바이스(100)의 무결성을 검증하기 위한 인스트럭션들을 저장하는 메모리(210)와 메모리(210)에 저장된 인스트럭션들에 따라 IoT 디바이스(100)를 인증하며 IoT 디바이스(100)의 무결성을 검증하기 위한 동작을 수행하는 프로세서(220)를 포함할 수 있다. 이때, 컨트롤 디바이스(200)는 도 1에 도시된 하나의 IoT 디바이스(100) 이외에도, 복수의 IoT 디바이스들을 그룹화하고, 그룹화된 복수의 IoT 디바이스들을 각각 관리할 수 있다.Next, the control device 200 is a device for managing the IoT device, and may include a personal computer (PC), a mobile computer, a PDA/EDA, a mobile phone, a smart phone, a tablet, and the like. In addition, the control device 200 is not limited thereto, and may include any device such as a portable game machine having a wired/wireless communication function, a digital camera, and a personal navigation device. In addition, the control device 200 authenticates the IoT device 100 and stores instructions for verifying the integrity of the IoT device 100 and the IoT device 100 according to the instructions stored in the memory 210 . ) and may include a processor 220 that performs an operation for verifying the integrity of the IoT device 100 . In this case, the control device 200 may group a plurality of IoT devices in addition to one IoT device 100 illustrated in FIG. 1 and manage the grouped plurality of IoT devices, respectively.

한편, 컨트롤 디바이스(200)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Meanwhile, the control device 200 is typically a computing device (eg, a computer processor, memory, storage, input device and output device, a device that may include other components of a conventional computing device; electronic communication such as a router, a switch, etc.) desired system performance using a combination of devices; electronic information storage systems such as network attached storage (NAS) and storage area networks (SANs)) and computer software (ie, instructions that cause the computing device to function in a particular way). can be achieved.

이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.The communication unit of such a computing device may transmit/receive a request and a response to/from another computing device that is interlocked. As an example, such a request and a response may be made by the same TCP session, but is not limited thereto, for example, UDP data. It may be transmitted and received as a gram.

또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the processor of the computing device may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus. In addition, it may further include an operating system, a software configuration of an application for performing a specific purpose.

다음으로, 블록체인 네트워크(300)는 IoT 디바이스(100)와 컨트롤 디바이스(200)의 동작과 관련한 정보를 블록체인 기술을 이용하여 위변조가 불가능하도록 저장하는 것으로, 프라이빗 블록체인 네트워크, 퍼블릭 블록체인 네트워크, 또는 프라이빗 블록체인 네트워크와 프라이빗 블록체인 네트워크를 혼합한 것일 수 있다.Next, the block chain network 300 stores information related to the operation of the IoT device 100 and the control device 200 so that it cannot be forged or altered using block chain technology, and is a private block chain network and a public block chain network. , or a mix of private and private blockchain networks.

이와 같이 구성된 시스템을 통해 본 발명의 일 실시예에 따른 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법을 도 2 내지 도 4를 참조하여 설명하면 다음과 같다.A method of authenticating an IoT device according to an embodiment of the present invention through the system configured as described above and verifying the integrity of the IoT device will be described with reference to FIGS. 2 to 4 as follows.

먼저, 도 2를 참조하여, 본 발명의 일 실시예에 따른 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법에서 그룹키와 공개키를 생성하며, 인증 트랜잭션과 검증 트랜잭션을 등록하는 과정을 설명한다.First, with reference to FIG. 2 , a process of generating a group key and a public key and registering an authentication transaction and a verification transaction in the method of authenticating an IoT device and verifying the integrity of the IoT device according to an embodiment of the present invention will be described. do.

IoT 디바이스(100)와 컨트롤 디바이스(200)가 사용하기 위한 그룹키와 공개키를 생성하기 위하여, 컨트롤 디바이스(200)는 IoT 디바이스(100)로 IoT 디바이스 정보를 요청(S1)한다.In order to generate a group key and a public key for use by the IoT device 100 and the control device 200 , the control device 200 requests IoT device information from the IoT device 100 ( S1 ).

그러면, IoT 디바이스(100)는 IoT 디바이스(100)에 대응되는 IoT 디바이스 정보를 추출하여 컨트롤 디바이스(200)로 IoT 디바이스 정보를 전송(S2)하여 준다.Then, the IoT device 100 extracts IoT device information corresponding to the IoT device 100 and transmits the IoT device information to the control device 200 ( S2 ).

이때, IoT 디바이스 정보는 IoT 디바이스(100)의 IoT 디바이스 고유 번호, IoT 디바이스 속성 정보, IoT 디바이스 식별 정보 등을 포함할 수 있으며, 이에 한정되지 않으며, IoT 디바이스(100)와 관련한 다양한 정보를 포함할 수 있다.In this case, the IoT device information may include, but is not limited to, an IoT device unique number of the IoT device 100 , IoT device property information, IoT device identification information, and the like, and may include various information related to the IoT device 100 . can

그리고, 컨트롤 디바이스(200)는 IoT 디바이스(100)로부터 IoT 디바이스 정보가 획득되면, 컨트롤 디바이스(200)에 대응되는 컨트롤 디바이스 정보를 확인(S3)한다. 이때, 컨트롤 디바이스 정보는 컨트롤 디바이스(200)의 컨트롤 디바이스 고유 번호, 컨트롤 디바이스 속성 정보, 컨트롤 디바이스 식별 정보 등을 포함할 수 있으며, 이에 한정되지 않으며, 컨트롤 디바이스(200)와 관련한 다양한 정보를 포함할 수 있다.Then, when IoT device information is obtained from the IoT device 100 , the control device 200 checks control device information corresponding to the control device 200 ( S3 ). In this case, the control device information may include a control device unique number of the control device 200 , control device property information, control device identification information, etc., but is not limited thereto, and may include various information related to the control device 200 . can

이후, 컨트롤 디바이스(200)는 IoT 디바이스 정보와 컨트롤 디바이스를 정보를 참조하여 그룹키와 공개키를 생성(S4)할 수 있다.Thereafter, the control device 200 may generate a group key and a public key with reference to the IoT device information and the control device information ( S4 ).

즉, 컨트롤 디바이스(200)는 기생성된 그룹키를 확인하거나, IoT 디바이스(100)와 컨트롤 디바이스(200) 사이에서 사용할 그룹키를 생성한다. 이때, 기생성된 그룹키가 있을 경우, 기생성된 그룹키를 통해 IoT 디바이스(100)를 기생성된 그룹키에 대응되는 그룹에 소속되도록 할 수 있다.That is, the control device 200 checks a pre-generated group key or generates a group key to be used between the IoT device 100 and the control device 200 . In this case, if there is a pre-generated group key, the IoT device 100 may be made to belong to a group corresponding to the pre-generated group key through the pre-generated group key.

그리고, 컨트롤 디바이스(200)는 IoT 디바이스 정보와 컨트롤 디바이스 정보를 시드로 하여 n개의 공개키들을 생성할 수 있다. 상기 n은 1 이상의 정수일 수 있다.In addition, the control device 200 may generate n public keys by using the IoT device information and the control device information as seeds. The n may be an integer of 1 or more.

이때, n 개의 공개키들은 적어도 컨트롤 디바이스 정보와 IoT 디바이스 정보를 시드로 한 해시 연산을 반복하며 생성한 것일 수 있다. 일 예로, 컨트롤 디바이스 정보와 IoT 디바이스를 해시 연산하여 제1 공개키를 생성하고, 제1 공개키를 해시 연산하여 제2 공개키를 생성하며, 이를 반복하여 컨트롤 디바이스 정보와 IoT 디바이스 정보 n 번 해시 연산하여 제n 공개키를 생성할 수 있다. 이에 더하여, 제n 공개키를 해시 연산하여 루트 해시값을 더 생성할 수도 있다.In this case, the n public keys may be generated by repeating a hash operation using at least control device information and IoT device information as seeds. As an example, a first public key is generated by performing a hash operation on the control device information and the IoT device, and a second public key is generated by performing a hash operation on the first public key, and by repeating this, the control device information and the IoT device information are hashed n times. The n-th public key can be generated by operation. In addition, a root hash value may be further generated by performing a hash operation on the nth public key.

이후, 컨트롤 디바이스(200)는 그룹키와 n개의 공개키들 중 적어도 제k 공개키를 컨트롤 디바이스(200)에 저장하며, 그룹키와 적어도 제(k+1) 공개키를 IoT 디바이스(100)로 전송하여 IoT 디바이스(100)가 그룹키와 적어도 제(k+1) 공개키를 저장하도록 할 수 있다. 상기 k는 1 이상이며 n 이하인 정수일 수 있다.Thereafter, the control device 200 stores the group key and at least a kth public key among the n public keys in the control device 200 , and converts the group key and at least the (k+1)th public key to the IoT device 100 . It can be transmitted so that the IoT device 100 stores the group key and at least the (k+1)th public key. The k may be an integer of 1 or more and n or less.

한편, 상기에서는 컨트롤 디바이스(200)가 적어도 제k 공개키를 저장하고, IoT 디바이스(100)가 적어도 제(k+1) 공개키를 저장하도록 하였으나, 이와는 달리, n개의 공개키를 IoT 디바이스(100)로 전송하여 저장하도록 하며, 제(k+1) 공개키를 현재의 공개키로 설정하도록 할 수도 있다.Meanwhile, in the above description, the control device 200 stores at least the kth public key and the IoT device 100 stores at least the (k+1)th public key, but, unlike this, n public keys are stored in the IoT device ( 100) for storage, and the (k+1)th public key may be set as the current public key.

그리고, 그룹키와 적어도 제(k+1) 공개키가 컨트롤 디바이스(200)로부터 획득되면, IoT 디바이스(100)는 IoT 디바이스 행위 정보, 제(k+1) 공개키, 및 인증 정보를 포함하는 인증 트랜잭션을 생성하고, 인증 트랜잭션을 블록체인 네트워크(300)로 전송함으로써 인증 트랜잭션 등록을 요청(S6)할 수 있다. 그러면, 블록체인 네트워크(300)는 IoT 디바이스(100)로부터 전송되는 인증 트랜잭션을 블록체인 네트워크(300)에 등록하여 줄 수 있다.And, when the group key and at least the (k+1)th public key are obtained from the control device 200, the IoT device 100 includes the IoT device behavior information, the (k+1)th public key, and authentication information. By generating an authentication transaction and transmitting the authentication transaction to the blockchain network 300, it is possible to request registration of the authentication transaction (S6). Then, the blockchain network 300 may register the authentication transaction transmitted from the IoT device 100 in the blockchain network 300 .

이때, IoT 디바이스 행위 정보는 IoT 디바이스(100)의 동작과 관련한 정보로, 센싱 정보, 위치 정보 등을 포함할 수 있으며, 이에 한정되지 않으며, IoT 디바이스(100)의 동작과 관련하여 생성되는 다양한 정보를 포함할 수 있다.At this time, the IoT device behavior information is information related to the operation of the IoT device 100 , and may include sensing information, location information, etc., but is not limited thereto, and various information generated in relation to the operation of the IoT device 100 . may include.

그리고, 인증 정보는 제(k+1) 공개키를 해시 연산하여 생성한 제(k+2) 공개키, IoT 디바이스(100)에 저장된 그룹키, 및 IoT 디바이스 행위 정보를 참조하여 생성한 것일 수 있다.In addition, the authentication information may be generated by referring to the (k+2)th public key generated by hashing the (k+1)th public key, the group key stored in the IoT device 100, and IoT device behavior information. have.

일 예로, IoT 디바이스(100)는 제(K+1) 공개키를 해시 연산하여 제(k+2) 공개키를 생성하고, 제(k+2) 공개키, 그룹키, 및 IoT 디바이스 행위 정보를 해시 연산하여 인증 정보를 생성할 수 있다. 이때, 제(k+1) 공개키를 이용하여 제(k+2) 공개키는 확인이 가능하지만, 제(k+1) 공개키를 이용하여 제k 공개키는 확인이 불가능하다.As an example, the IoT device 100 generates a (k+2)th public key by performing a hash operation on the (K+1)th public key, and the (k+2)th public key, group key, and IoT device behavior information can be hashed to generate authentication information. In this case, the (k+2)th public key can be verified using the (k+1)th public key, but the kth public key cannot be verified using the (k+1)th public key.

또한, IoT 디바이스(100)는 타임스탬프, 제(k+1) 공개키, 및 검증 정보를 포함하는 검증 트랜잭션을 생성하고, 검증 트랜잭션을 블록체인 네트워크(300)로 전송함으로써 검증 트랜잭션 등록을 요청(S7)할 수 있다. 그러면, 블록체인 네트워크(300)는 IoT 디바이스(100)로부터 전송되는 검증 트랜잭션을 블록체인 네트워크(300)에 등록하여 줄 수 있다.In addition, the IoT device 100 generates a verification transaction including a timestamp, a (k+1)th public key, and verification information, and requests registration of a verification transaction by transmitting the verification transaction to the blockchain network 300 ( S7) can be done. Then, the blockchain network 300 may register the verification transaction transmitted from the IoT device 100 in the blockchain network 300 .

이때, 검증 정보는 제(k+2) 공개키와 IoT 디바이스 세부 정보값을 참조하여 생성한 것일 수 있으며, IoT 디바이스 세부 정보값은 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산한 세부 정보 해시값, 타임스탬프, IoT 디바이스에 저장된 그룹키, 및 IoT 디바이스 식별 정보를 포함할 수 있다.In this case, the verification information may be generated by referring to the (k+2)th public key and the IoT device detailed information value, and the IoT device detailed information value is a detailed information hash value obtained by hashing at least one IoT device detailed information, It may include a timestamp, a group key stored in the IoT device, and IoT device identification information.

일 예로, IoT 디바이스(100)는 IoT 디바이스의 커널 코드 등을 포함하는 적어도 하나의 IoT 디바이스 세부를 해시 연산하여 세부 정보 해시값을 생성하고, 세부 정보 해시값, 타임스탬프, 그룹키, 및 IoT 디바이스 식별 정보를 포함하는 IoT 세부 정보값을 생성한다. 그리고, IoT 디바이스(100)는 제(k+1) 공개키를 해시 연산하여 제(k+2) 공개키를 생성하고, 제(k+2) 공개키와 IoT 세부 정보값을 해시 연산하여 검증 정보를 생성할 수 있다.For example, the IoT device 100 generates a detailed information hash value by performing a hash operation on at least one IoT device detail including a kernel code of the IoT device, and a detailed information hash value, timestamp, group key, and IoT device Creates an IoT detailed information value including identification information. Then, the IoT device 100 generates a (k+2)th public key by performing a hash operation on the (k+1)th public key, and performs a hash operation on the (k+2)th public key and the IoT detailed information value to verify information can be generated.

이와 같이, IoT 디바이스(100)와 컨트롤 디바이스(200) 사이에서 사용하기 위한 그룹키와 공개키가 공유되며, 인증 트랜잭션과 검증 트랜잭션이 블록체인 네트워크(300)에 등록된 상태에서, IoT 디바이스(100)를 인증하거나 IoT 디바이스(100)의 무결성을 검증하기 위한 트리거링 조건이 만족되면, 컨트롤 디바이스(200)는, 블록체인 네트워크(300)로부터 인증 트랜잭션을 획득하거나, IoT 디바이스(100)로부터 IoT 디바이스 식별 정보 및 적어도 하나의 IoT 디바이스 세부 정보를 획득하며 블록체인 네트워크(300)로부터 검증 트랜잭션을 획득한다. 그리고, 컨트롤 디바이스(200)는, 인증 트랜잭션으로부터 IoT 디바이스 행위 정보, 제(k+1) 공개키, 및 인증 정보를 획득하고, 인증 트랜잭션으로부터 획득한 제(k+1) 공개키를 해시 연산하여 제1 비교대상 제(k+2) 공개키를 생성하며, 컨트롤 디바이스에 저장된 그룹키, 제1 비교대상 제(k+2) 공개키, 및 인증 트랜잭션으로부터 획득한 IoT 디바이스 행위 정보를 참조하여 비교대상 인증 정보를 생성하고, 비교대상 인증 정보와 인증 트랜잭션으로부터 획득한 인증 정보를 비교하여 IoT 디바이스를 인증하거나, 검증 트랜잭션으로부터 제(k+1) 공개키, 타임스탬프, 및 검증 정보를 획득하고, IoT 디바이스로부터 획득된 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산하여 비교대상 세부 정보 해시값을 생성하며, 비교대상 세부 정보 해시값, IoT 디바이스로부터 획득한 IoT 디바이스 식별 정보, 검증 트랜잭션으로부터 획득한 타임스탬프, 및 컨트롤 디바이스에 저장된 그룹키를 포함하는 비교대상 IoT 디바이스 세부 정보값을 생성하고, 검증 트랜잭션으로부터 획득한 제(k+1) 공개키를 해시 연산하여 제2 비교대상 제(k+2) 공개키를 생성하며, 제2 비교대상 제(k+2) 공개키와 비교대상 IoT 디바이스 세부 정보값을 참조하여 비교대상 검증 정보를 생성하고, 비교대상 검증 정보와 검증 트랜잭션으로부터 획득한 검증 정보를 비교하여 IoT 디바이스의 무결성을 검증할 수 있다.In this way, the group key and the public key for use between the IoT device 100 and the control device 200 are shared, and the IoT device 100 is in a state where the authentication transaction and the verification transaction are registered in the blockchain network 300 . ), when a triggering condition for authenticating or verifying the integrity of the IoT device 100 is satisfied, the control device 200 obtains an authentication transaction from the blockchain network 300 or identifies the IoT device from the IoT device 100 Obtain information and at least one IoT device detail information and obtain a verification transaction from the blockchain network 300 . Then, the control device 200 obtains the IoT device behavior information, the (k+1)th public key, and authentication information from the authentication transaction, and performs a hash operation on the (k+1)th public key obtained from the authentication transaction. A first comparison target (k+2) public key is generated, and comparison is made by referring to the group key stored in the control device, the first comparison target (k+2) public key, and IoT device behavior information obtained from the authentication transaction. Generate the target authentication information, compare the comparison target authentication information with the authentication information obtained from the authentication transaction to authenticate the IoT device, or obtain the (k+1)th public key, timestamp, and verification information from the verification transaction, A hash value of the detailed information to be compared is generated by performing a hash operation on at least one IoT device detailed information obtained from the IoT device, and a hash value of the detailed information to be compared, the IoT device identification information obtained from the IoT device, and a timestamp obtained from the verification transaction , and a comparison target IoT device detailed information value including the group key stored in the control device is generated, and the (k+1)th public key obtained from the verification transaction is hashed to reveal the second comparison target (k+2) Generates a key, generates comparison target verification information by referring to the second comparison target th (k+2) public key and comparison target IoT device detailed information value, and compares comparison target verification information and verification information obtained from verification transaction In this way, the integrity of the IoT device can be verified.

일 예로, 도 3을 참조하여, IoT 디바이스(100)를 인증하는 과정을 설명하면 다음과 같다.As an example, a process for authenticating the IoT device 100 will be described with reference to FIG. 3 .

IoT 디바이스(100)와 컨트롤 디바이스(200) 사이에서 사용하기 위한 그룹키와 공개키가 공유되며, 인증 트랜잭션이 블록체인 네트워크(300)에 등록된 상태에서, IoT 디바이스(100)를 인증하기 위한 트리거링 조건이 만족(S11)되면, 컨트롤 디바이스(200)는, 블록체인 네트워크(300)로 인증 트랜잭션을 요청(S12)하여 블록체인 네트워크(300)로부터 인증 트랜잭션을 획득(S13)한다. 이때, IoT 디바이스(100)를 인증하기 위한 트리거링 조건은, 기설정된 시간 주기, IoT 디바이스(100)에 의한 인증 트랜잭션이 블록체인 네트워크(300)에 등록되는 시점, 타 장치로부터의 IoT 디바이스(100)에 대한 인증 요청 정보가 획득되는 시점 등을 포함할 수 있으나, 이에 한정되지 않으며, IoT 디바이스(100)에 대한 인증이 필요한 다양한 조건을 포함할 수 있다.A group key and a public key for use between the IoT device 100 and the control device 200 are shared, and in a state where an authentication transaction is registered in the blockchain network 300, triggering for authenticating the IoT device 100 When the condition is satisfied (S11), the control device 200 requests an authentication transaction to the blockchain network 300 (S12) to obtain an authentication transaction from the blockchain network 300 (S13). At this time, the triggering condition for authenticating the IoT device 100 is a preset time period, a time when an authentication transaction by the IoT device 100 is registered in the blockchain network 300, and the IoT device 100 from another device. It may include, but is not limited to, a time point at which authentication request information for the IoT device 100 is obtained, and may include various conditions requiring authentication for the IoT device 100 .

그리고, 컨트롤 디바이스(200)는 인증 트랜잭션으로부터 IoT 디바이스 행위 정보, 제(k+1) 공개키, 및 인증 정보를 획득한다.Then, the control device 200 obtains the IoT device behavior information, the (k+1)th public key, and authentication information from the authentication transaction.

이때, 컨트롤 디바이스(200)는 컨트롤 디바이스(200)에 저장된 제k 공개키를 해시 연산하여 비교대상 제(k+1) 공개키를 생성한다. 그리고, 컨트롤 디바이스(200)는 비교대상 제(k+1) 공개키와 인증 트랜잭션으로부터 획득된 제(k+1) 공개키를 비교하여 인증 트랜잭션의 유효성을 확인할 수 있다.In this case, the control device 200 generates a comparison target (k+1) th public key by performing a hash operation on the k th public key stored in the control device 200 . Then, the control device 200 may check the validity of the authentication transaction by comparing the (k+1)th public key to be compared with the (k+1)th public key obtained from the authentication transaction.

이후, 컨트롤 디바이스(200)는 인증 트랜잭션으로부터 획득한 제(k+1) 공개키를 해시 연산하여 제1 비교대상 제(k+2) 공개키를 생성하며, 컨트롤 디바이스에 저장된 그룹키, 제1 비교대상 제(k+2) 공개키, 및 인증 트랜잭션으로부터 획득한 IoT 디바이스 행위 정보를 참조하여 비교대상 인증 정보를 생성한다.Thereafter, the control device 200 performs a hash operation on the (k+1)th public key obtained from the authentication transaction to generate a first (k+2)th public key to be compared, the group key stored in the control device, the first The comparison target authentication information is generated by referring to the (k+2) public key to be compared and the IoT device behavior information obtained from the authentication transaction.

일 예로, 컨트롤 디바이스(200)는 컨트롤 디바이스(200)에 저장된 그룹키, 제1 비교대상 제(k+2) 공개키, 및 인증 트랜잭션으로부터 획득한 IoT 디바이스 행위 정보를 해시 연산하여 비교대상 인증 정보를 생성할 수 있다.For example, the control device 200 performs a hash operation on the group key stored in the control device 200, the first comparison target (k+2) public key, and the IoT device behavior information obtained from the authentication transaction to obtain comparison target authentication information. can create

그리고, 컨트롤 디바이스(200)는 비교대상 인증 정보와 인증 트랜잭션으로부터 획득한 인증 정보를 비교하여 IoT 디바이스를 인증(S14)하여 줄 수 있다.In addition, the control device 200 may authenticate the IoT device ( S14 ) by comparing the comparison target authentication information with the authentication information obtained from the authentication transaction.

이후, 컨트롤 디바이스(200)는 IoT 디바이스(100)에 저장된 제(k+1) 공개키가 제k 공개키로 업데이트(S15)(S16)되도록 하며, 컨트롤 디바이스(200)에 저장된 제k 공개키가 제(k-1) 공개키로 업데이트되도록 할 수 있다. 이때, 컨트롤 디바이스(200)는 IoT 디바이스(100)로 제k 공개키를 전송하여 공개키를 업데이트하도록 하거나, IoT 디바이스(100)로 제(k+1) 공개키의 사용 정보를 전송하여 IoT 디바이스(100)가 n개의 공개키 중 제k 공개키를 다음 사용을 위한 공개키로 업데이트하도록 할 수 있다.Thereafter, the control device 200 causes the (k+1)th public key stored in the IoT device 100 to be updated (S15) (S16) with the kth public key, and the kth public key stored in the control device 200 is It can be updated with the (k-1)th public key. In this case, the control device 200 transmits the k-th public key to the IoT device 100 to update the public key, or transmits usage information of the (k+1)-th public key to the IoT device 100 to the IoT device. (100) may update the k-th public key among the n public keys as a public key for next use.

또한, 도 4를 참조하여, IoT 디바이스(100)의 무결성을 검증하는 과정을 설명하면 다음과 같다.In addition, a process of verifying the integrity of the IoT device 100 will be described with reference to FIG. 4 .

IoT 디바이스(100)와 컨트롤 디바이스(200) 사이에서 사용하기 위한 그룹키와 공개키가 공유되며, 검증 트랜잭션이 블록체인 네트워크(300)에 등록된 상태에서, IoT 디바이스(100)의 무결성을 검증하기 위한 트리거링 조건이 만족(S21)되면, 컨트롤 디바이스(200)는, 블록체인 네트워크(300)로 검증 트랜잭션을 요청(S22)하여 블록체인 네트워크(300)로부터 검증 트랜잭션을 획득(S23)한다. 이때, IoT 디바이스(100)를 검증하기 위한 트리거링 조건은, 기설정된 시간 주기, IoT 디바이스(100)에 의한 검증 트랜잭션이 블록체인 네트워크(300)에 등록되는 시점, 타 장치로부터의 IoT 디바이스(100)의 무결성에 대한 검증 요청 정보가 획득되는 시점 등을 포함할 수 있으나, 이에 한정되지 않으며, IoT 디바이스(100)의 무결성에 대한 검증이 필요한 다양한 조건을 포함할 수 있다.To verify the integrity of the IoT device 100 while the group key and public key for use between the IoT device 100 and the control device 200 are shared, and the verification transaction is registered in the blockchain network 300 When the triggering condition is satisfied (S21), the control device 200 requests a verification transaction to the block chain network 300 (S22) to obtain a verification transaction from the block chain network 300 (S23). At this time, the triggering condition for verifying the IoT device 100 is a preset time period, a time when a verification transaction by the IoT device 100 is registered in the blockchain network 300, and the IoT device 100 from another device. It may include, but is not limited to, a time point at which verification request information on the integrity of the IoT device 100 is obtained, and may include various conditions requiring verification of the integrity of the IoT device 100 .

그리고, 컨트롤 디바이스(200)는 검증 트랜잭션으로부터 제(k+1) 공개키, 타임스탬프, 및 검증 정보를 획득한다.Then, the control device 200 obtains a (k+1)th public key, a timestamp, and verification information from the verification transaction.

이때, 컨트롤 디바이스(200)는 컨트롤 디바이스(200)에 저장된 제k 공개키를 해시 연산하여 비교대상 제(k+1) 공개키를 생성한다. 그리고, 컨트롤 디바이스(200)는 비교대상 제(k+1) 공개키와 검증 트랜잭션으로부터 획득된 제(k+1) 공개키를 비교하여 검증 트랜잭션의 유효성을 확인할 수 있다.In this case, the control device 200 generates a comparison target (k+1) th public key by performing a hash operation on the k th public key stored in the control device 200 . Then, the control device 200 may check the validity of the verification transaction by comparing the (k+1)th public key to be compared with the (k+1)th public key obtained from the verification transaction.

또한, 컨트롤 디바이스(200)는 IoT 디바이스(100)로 IoT 디바이스 식별 정보 및 적어도 하나의 IoT 디바이스 세부 정보를 요청(S24)하여 IoT 디바이스(100)로부터 IoT 디바이스 식별 정보 및 적어도 하나의 IoT 디바이스 세부 정보를 획득(S25)할 수 있다.In addition, the control device 200 requests IoT device identification information and at least one IoT device detailed information from the IoT device 100 ( S24 ) to provide IoT device identification information and at least one IoT device detailed information from the IoT device 100 . can be obtained (S25).

이후, 컨트롤 디바이스(200)는 IoT 디바이스(100)로부터 획득된 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산하여 비교대상 세부 정보 해시값을 생성한다. 그리고, 컨트롤 디바이스(200)는 비교대상 세부 정보 해시값, IoT 디바이스로부터 획득한 IoT 디바이스 식별 정보, 검증 트랜잭션으로부터 획득한 타임스탬프, 및 컨트롤 디바이스(100)에 저장된 그룹키를 포함하는 비교대상 IoT 디바이스 세부 정보값을 생성한다,Thereafter, the control device 200 generates a comparison target detailed information hash value by performing a hash operation on at least one IoT device detailed information obtained from the IoT device 100 . In addition, the control device 200 is a comparison target IoT device including a comparison target detailed information hash value, IoT device identification information acquired from the IoT device, a timestamp acquired from a verification transaction, and a group key stored in the control device 100 . create detail values,

그리고, 컨트롤 디바이스(200)는 검증 트랜잭션으로부터 획득한 제(k+1) 공개키를 해시 연산하여 제2 비교대상 제(k+2) 공개키를 생성하며, 제2 비교대상 제(k+2) 공개키와 비교대상 IoT 디바이스 세부 정보값을 참조하여 비교대상 검증 정보를 생성한다.Then, the control device 200 generates a second (k+2)th public key to be compared by performing a hash operation on the (k+1)th public key obtained from the verification transaction, and a second (k+2)th public key to be compared. ) Creates comparison target verification information by referring to the public key and the comparison target IoT device detailed information value.

이후, 컨트롤 디바이스(200)는 비교대상 검증 정보와 검증 트랜잭션으로부터 획득한 검증 정보를 비교하여 IoT 디바이스의 무결성을 검증(S26)하여 줄 수 있다.Thereafter, the control device 200 may verify the integrity of the IoT device by comparing the verification information to be compared with the verification information obtained from the verification transaction ( S26 ).

그리고, 컨트롤 디바이스(200)는 IoT 디바이스(100)에 저장된 제(k+1) 공개키가 제k 공개키로 업데이트(S27)(S28)되도록 하며, 컨트롤 디바이스(200)에 저장된 제k 공개키가 제(k-1) 공개키로 업데이트되도록 할 수 있다. 이때, 컨트롤 디바이스(200)는 IoT 디바이스(100)로 제k 공개키를 전송하여 공개키를 업데이트하도록 하거나, IoT 디바이스(100)로 제(k+1) 공개키의 사용 정보를 전송하여 IoT 디바이스(100)가 n개의 공개키 중 제k 공개키를 다음 사용을 위한 공개키로 업데이트하도록 할 수 있다.Then, the control device 200 causes the (k+1)th public key stored in the IoT device 100 to be updated (S27) (S28) with the kth public key, and the kth public key stored in the control device 200 is It can be updated with the (k-1)th public key. In this case, the control device 200 transmits the k-th public key to the IoT device 100 to update the public key, or transmits usage information of the (k+1)-th public key to the IoT device 100 to the IoT device. (100) may update the k-th public key among the n public keys as a public key for next use.

이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. media), and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , those of ordinary skill in the art to which the present invention pertains can make various modifications and variations from these descriptions.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and not only the claims described below but also all modifications equivalently or equivalently to the claims described below belong to the scope of the spirit of the present invention. will do it

100: IoT 디바이스,
200: 컨트롤 디바이스,
210: 메모리,
220: 프로세서,
300: 블록체인 네트워크
100: IoT device,
200: control device;
210: memory,
220: processor;
300: Blockchain Network

Claims (8)

IoT(Internet of Things) 디바이스를 인증하며 상기 IoT 디바이스의 무결성을 검증하는 방법에 있어서,
(a) 상기 컨트롤 디바이스와 상기 IoT 디바이스를 포함하는 그룹에 대응되는 그룹키와 n - 상기 n은 1 이상의 정수임 - 개의 공개키들 - 상기 n 개의 공개키들은 적어도 컨트롤 디바이스 정보와 IoT 디바이스 정보를 시드로 한 해시 연산을 반복하며 생성한 것임 - 을 생성하고, 상기 그룹키와 상기 n개의 공개키들 중 적어도 제k - 상기 k는 1과 n 사이의 정수임 - 공개키를 상기 컨트롤 디바이스에 저장하며, 상기 그룹키와 적어도 제(k+1) 공개키를 상기 IoT 디바이스에 저장되도록 하고, 상기 IoT 디바이스로 하여금 IoT 디바이스 행위 정보, 상기 제(k+1) 공개키, 및 인증 정보 - 상기 인증 정보는 상기 제(k+1) 공개키를 해시 연산하여 생성한 제(k+2) 공개키, 상기 IoT 디바이스에 저장된 상기 그룹키, 및 상기 IoT 디바이스 행위 정보를 참조하여 생성한 것임 - 를 포함하는 인증 트랜잭션을 블록체인 네트워크에 등록하고, 타임스탬프, 상기 제(k+1) 공개키, 및 검증 정보 - 상기 검증 정보는 상기 제(k+2) 공개키와 IoT 디바이스 세부 정보값을 참조하여 생성한 것이며, 상기 IoT 디바이스 세부 정보값은 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산한 세부 정보 해시값, 상기 타임스탬프, 상기 IoT 디바이스에 저장된 상기 그룹키, 및 IoT 디바이스 식별 정보를 포함함 - 를 포함하는 검증 트랜잭션을 상기 블록체인 네트워크에 등록한 상태에서, 상기 IoT 디바이스를 인증하거나 상기 IoT 디바이스의 무결성을 검증하기 위한 트리거링 조건이 만족되면, 상기 컨트롤 디바이스가, 상기 블록체인 네트워크로부터 상기 인증 트랜잭션을 획득하거나, 상기 IoT 디바이스로부터 상기 IoT 디바이스 식별 정보 및 상기 적어도 하나의 IoT 디바이스 세부 정보를 획득하며 상기 블록체인 네트워크로부터 상기 검증 트랜잭션을 획득하는 단계; 및
(b) 상기 컨트롤 디바이스가, (i) 상기 인증 트랜잭션으로부터 상기 IoT 디바이스 행위 정보, 상기 제(k+1) 공개키, 및 상기 인증 정보를 획득하고, 상기 인증 트랜잭션으로부터 획득한 상기 제(k+1) 공개키를 해시 연산하여 제1 비교대상 제(k+2) 공개키를 생성하며, 상기 컨트롤 디바이스에 저장된 상기 그룹키, 상기 제1 비교대상 제(k+2) 공개키, 및 상기 인증 트랜잭션으로부터 획득한 상기 IoT 디바이스 행위 정보를 참조하여 비교대상 인증 정보를 생성하고, 상기 비교대상 인증 정보와 상기 인증 트랜잭션으로부터 획득한 상기 인증 정보를 비교하여 상기 IoT 디바이스를 인증하는 프로세스, 또는 (ii) 상기 검증 트랜잭션으로부터 상기 제(k+1) 공개키, 상기 타임스탬프, 및 상기 검증 정보를 획득하고, 상기 IoT 디바이스로부터 획득된 상기 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산하여 비교대상 세부 정보 해시값을 생성하며, 상기 비교대상 세부 정보 해시값, 상기 IoT 디바이스로부터 획득한 상기 IoT 디바이스 식별 정보, 상기 검증 트랜잭션으로부터 획득한 상기 타임스탬프, 및 상기 컨트롤 디바이스에 저장된 상기 그룹키를 포함하는 비교대상 IoT 디바이스 세부 정보값을 생성하고, 상기 검증 트랜잭션으로부터 획득한 상기 제(k+1) 공개키를 해시 연산하여 제2 비교대상 제(k+2) 공개키를 생성하며, 상기 제2 비교대상 제(k+2) 공개키와 상기 비교대상 IoT 디바이스 세부 정보값을 참조하여 비교대상 검증 정보를 생성하고, 상기 비교대상 검증 정보와 상기 검증 트랜잭션으로부터 획득한 상기 검증 정보를 비교하여 상기 IoT 디바이스의 무결성을 검증하는 프로세스를 수행하는 단계;
를 포함하는 방법.
A method of authenticating an Internet of Things (IoT) device and verifying the integrity of the IoT device, the method comprising:
(a) a group key corresponding to a group including the control device and the IoT device and n - the n is an integer greater than or equal to 1 - public keys - The n public keys are at least control device information and IoT device information as seeds generating by repeating one hash operation, and storing the group key and at least kth of the n public keys, wherein k is an integer between 1 and n, in the control device; a key and at least a (k+1)th public key are stored in the IoT device, and the IoT device causes the IoT device behavior information, the (k+1)th public key, and authentication information - the authentication information to include the (k+1) the (k+2)th public key generated by hashing the public key, the group key stored in the IoT device, and the generated by referring to the IoT device behavior information. Register in the blockchain network, time stamp, the (k+1)th public key, and verification information - The verification information is generated by referring to the (k+2)th public key and the IoT device detailed information value, The IoT device detailed information value includes a detailed information hash value obtained by hashing at least one IoT device detailed information, the timestamp, the group key stored in the IoT device, and IoT device identification information. is registered in the blockchain network, and when a triggering condition for authenticating the IoT device or verifying the integrity of the IoT device is satisfied, the control device acquires the authentication transaction from the blockchain network, or obtaining the IoT device identification information and the at least one IoT device detailed information from a device and obtaining the verification transaction from the blockchain network; and
(b) the control device, (i) obtaining the IoT device behavior information, the (k+1)th public key, and the authentication information from the authentication transaction, and obtaining the (k+)th from the authentication transaction 1) A public key is hashed to generate a first comparison target (k+2)th public key, and the group key stored in the control device, the first comparison target (k+2)th public key, and the authentication a process of generating comparison target authentication information by referring to the IoT device behavior information obtained from a transaction, and authenticating the IoT device by comparing the comparison target authentication information and the authentication information obtained from the authentication transaction; or (ii) Obtaining the (k+1)th public key, the timestamp, and the verification information from the verification transaction, and performing a hash operation on the at least one IoT device detailed information obtained from the IoT device to obtain a comparison target detailed information hash value a comparison target IoT device including the hash value of the comparison target detailed information, the IoT device identification information acquired from the IoT device, the timestamp acquired from the verification transaction, and the group key stored in the control device A detailed information value is generated, the (k+1)th public key obtained from the verification transaction is hashed to generate a second comparison target (k+2)th public key, and the second comparison target th (k)th public key is generated. +2) Generate comparison target verification information by referring to the public key and the comparison target IoT device detailed information value, and verify the integrity of the IoT device by comparing the comparison target verification information and the verification information obtained from the verification transaction performing a process to;
How to include.
제1항에 있어서,
(c) 상기 컨트롤 디바이스가, 상기 IoT 디바이스에 저장된 상기 제(k+1) 공개키가 상기 제k 공개키로 업데이트되도록 하며, 상기 컨트롤 디바이스에 저장된 상기 제k 공개키가 제(k-1) 공개키로 업데이트되도록 하는 단계;
를 더 포함하는 방법.
According to claim 1,
(c) the control device causes the (k+1)th public key stored in the IoT device to be updated with the kth public key, and the kth public key stored in the control device is updated to the (k-1)th public key to be updated with the key;
How to include more.
제1항에 있어서,
상기 (a) 단계 이전에,
(a01) 상기 컨트롤 디바이스가, 상기 IoT 디바이스로 상기 IoT 디바이스 정보를 요청하며, 상기 IoT 디바이스로부터 상기 IoT 디바이스 정보가 획득되면, 기생성된 그룹키를 확인하거나 상기 그룹키를 생성하고, 상기 IoT 디바이스로부터 획득된 상기 IoT 디바이스 정보와 상기 컨트롤 디바이스 정보를 시드로 하여 상기 n개의 공개키들을 생성하며, 상기 그룹키와 상기 n개의 공개키들 중 적어도 상기 제(k+1) 공개키를 상기 IoT 디바이스로 전송하여 주는 단계;
를 더 포함하는 방법.
According to claim 1,
Before step (a),
(a01) the control device requests the IoT device information from the IoT device, and when the IoT device information is obtained from the IoT device, checks a pre-generated group key or generates the group key, and the IoT device The n public keys are generated by using the IoT device information and the control device information obtained from , as a seed, and at least the (k+1)th public key among the group key and the n public keys is used as the IoT device. transmitting;
How to include more.
제1항에 있어서,
상기 (b) 단계에서,
상기 컨트롤 디바이스는, 상기 컨트롤 디바이스에 저장된 상기 제k 공개키를 해시 연산하여 비교대상 제(k+1) 공개키를 생성하고, 상기 비교대상 제(k+1) 공개키와 상기 인증 트랜잭션으로부터 획득된 상기 제(k+1) 공개키를 비교하여 상기 인증 트랜잭션의 유효성을 확인하거나, 상기 비교대상 제(k+1) 공개키와 상기 검증 트랜잭션으로부터 획득된 상기 제(k+1) 공개키를 비교하여 상기 검증 트랜잭션의 유효성을 확인하는 방법.
According to claim 1,
In step (b),
The control device generates a comparison target (k+1)th public key by performing a hash operation on the kth public key stored in the control device, and obtains the comparison target (k+1)th public key and the authentication transaction The validity of the authentication transaction is confirmed by comparing the (k+1)th public key, or the (k+1)th public key obtained from the comparison target (k+1)th public key and the verification transaction is used. A method of verifying the validity of the verification transaction by comparison.
IoT 디바이스를 제어하는 컨트롤 디바이스에서 상기 IoT 디바이스를 인증하며 상기 IoT 디바이스의 무결성을 검증하는 컨트롤 디바이스에 있어서,
상기 IoT 디바이스를 인증하며 상기 IoT 디바이스의 무결성을 검증하기 위한 인스트럭션들을 저장하는 메모리; 및
상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 IoT 디바이스를 인증하며 상기 IoT 디바이스의 무결성을 검증하기 위한 동작을 수행하는 프로세서;
를 포함하되,
상기 프로세서는,
(I) 상기 컨트롤 디바이스와 상기 IoT 디바이스를 포함하는 그룹에 대응되는 그룹키와 n - 상기 n은 1 이상의 정수임 - 개의 공개키들 - 상기 n 개의 공개키들은 적어도 컨트롤 디바이스 정보와 IoT 디바이스 정보를 시드로 한 해시 연산을 반복하며 생성한 것임 - 을 생성하고, 상기 n개의 공개키들 중 적어도 제k - 상기 k는 1과 n 사이의 정수임 - 공개키를 상기 컨트롤 디바이스에 저장하며, 적어도 제(k+1) 공개키를 상기 IoT 디바이스에 저장되도록 하고, 상기 IoT 디바이스로 하여금 IoT 디바이스 행위 정보, 상기 제(k+1) 공개키, 및 인증 정보 - 상기 인증 정보는 상기 제(k+1) 공개키를 해시 연산하여 생성한 제(k+2) 공개키, 상기 IoT 디바이스에 저장된 상기 그룹키, 및 상기 IoT 디바이스 행위 정보를 참조하여 생성한 것임 - 를 포함하는 인증 트랜잭션을 블록체인 네트워크에 등록하고, 타임스탬프, 상기 제(k+1) 공개키, 및 검증 정보 - 상기 검증 정보는 상기 제(k+2) 공개키와 IoT 디바이스 세부 정보값을 참조하여 생성한 것이며, 상기 IoT 디바이스 세부 정보값은 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산한 세부 정보 해시값, 상기 타임스탬프, 상기 IoT 디바이스에 저장된 상기 그룹키, 및 IoT 디바이스 식별 정보를 포함함 - 를 포함하는 검증 트랜잭션을 상기 블록체인 네트워크에 등록한 상태에서, 상기 IoT 디바이스를 인증하거나 상기 IoT 디바이스의 무결성을 검증하기 위한 트리거링 조건이 만족되면, 상기 블록체인 네트워크로부터 상기 인증 트랜잭션을 획득하거나, 상기 IoT 디바이스로부터 상기 IoT 디바이스 식별 정보 및 상기 적어도 하나의 IoT 디바이스 세부 정보를 획득하며 상기 블록체인 네트워크로부터 상기 검증 트랜잭션을 획득하는 프로세스와, (II) (i) 상기 인증 트랜잭션으로부터 상기 IoT 디바이스 행위 정보, 상기 제(k+1) 공개키, 및 상기 인증 정보를 획득하고, 상기 인증 트랜잭션으로부터 획득한 상기 제(k+1) 공개키를 해시 연산하여 제1 비교대상 제(k+2) 공개키를 생성하며, 상기 컨트롤 디바이스에 저장된 상기 그룹키, 상기 제1 비교대상 제(k+2) 공개키, 및 상기 인증 트랜잭션으로부터 획득한 상기 IoT 디바이스 행위 정보를 참조하여 비교대상 인증 정보를 생성하고, 상기 비교대상 인증 정보와 상기 인증 트랜잭션으로부터 획득한 상기 인증 정보를 비교하여 상기 IoT 디바이스를 인증하는 프로세스, 또는 (ii) 상기 검증 트랜잭션으로부터 상기 제(k+1) 공개키, 상기 타임스탬프, 및 상기 검증 정보를 획득하고, 상기 IoT 디바이스로부터 획득된 상기 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산하여 비교대상 세부 정보 해시값을 생성하며, 상기 비교대상 세부 정보 해시값, 상기 IoT 디바이스로부터 획득한 상기 IoT 디바이스 식별 정보, 상기 검증 트랜잭션으로부터 획득한 상기 타임스탬프, 및 상기 컨트롤 디바이스에 저장된 상기 그룹키를 포함하는 비교대상 IoT 디바이스 세부 정보값을 생성하고, 상기 검증 트랜잭션으로부터 획득한 상기 제(k+1) 공개키를 해시 연산하여 제2 비교대상 제(k+2) 공개키를 생성하며, 상기 제2 비교대상 제(k+2) 공개키와 상기 비교대상 IoT 디바이스 세부 정보값을 참조하여 비교대상 검증 정보를 생성하고, 상기 비교대상 검증 정보와 상기 검증 트랜잭션으로부터 획득한 상기 검증 정보를 비교하여 상기 IoT 디바이스의 무결성을 검증하는 프로세스를 수행하는 컨트롤 디바이스.
In the control device for authenticating the IoT device and verifying the integrity of the IoT device in the control device for controlling the IoT device,
a memory storing instructions for authenticating the IoT device and verifying the integrity of the IoT device; and
a processor that authenticates the IoT device according to the instructions stored in the memory and performs an operation for verifying the integrity of the IoT device;
including,
The processor is
(I) a group key corresponding to a group including the control device and the IoT device and n - the n is an integer greater than or equal to 1 - public keys - The n public keys are at least control device information and IoT device information as seeds generated by repeating one hash operation, and at least kth among the n public keys, where k is an integer between 1 and n, and stores a public key in the control device, at least (k+1) ) to store a public key in the IoT device, and allow the IoT device to generate the IoT device behavior information, the (k+1)th public key, and authentication information - The authentication information includes the (k+1)th public key Register an authentication transaction including a (k+2)th public key generated by hash operation, the group key stored in the IoT device, and the IoT device behavior information to the blockchain network, and time Stamp, the (k+1)th public key, and verification information - The verification information is generated by referring to the (k+2)th public key and the IoT device detailed information value, and the IoT device detailed information value is at least A state in which a verification transaction including a hash value obtained by hashing one IoT device detailed information, the timestamp, the group key stored in the IoT device, and IoT device identification information is registered in the blockchain network In , when a triggering condition for authenticating the IoT device or verifying the integrity of the IoT device is satisfied, the authentication transaction is obtained from the blockchain network, or the IoT device identification information and the at least one IoT are obtained from the IoT device. a process of obtaining device details and obtaining the verification transaction from the blockchain network; (II) (i) the IoT device behavior information, the (k+1)th public key, and the authentication information from the authentication transaction; to obtain and certify The (k+1)th public key obtained from the transaction is hashed to generate a first comparison target (k+2)th public key, and the group key stored in the control device, the first comparison targetth (k) +2) generate comparison target authentication information by referring to a public key and the IoT device behavior information obtained from the authentication transaction, and compare the comparison target authentication information with the authentication information obtained from the authentication transaction to obtain the IoT device or (ii) obtaining the (k+1)th public key, the timestamp, and the verification information from the verification transaction, and obtaining the at least one IoT device detailed information obtained from the IoT device. A hash operation is performed to generate a comparison target detailed information hash value, and the comparison target detailed information hash value, the IoT device identification information obtained from the IoT device, the timestamp obtained from the verification transaction, and the control device stored in the Generates a comparison target IoT device detailed information value including a group key, and performs a hash operation on the (k+1)th public key obtained from the verification transaction to generate a second comparison target (k+2)th public key, , generating comparison target verification information by referring to the second comparison target th (k+2) public key and the comparison target IoT device detailed information value, and comparing the comparison target verification information and the verification information obtained from the verification transaction A control device that compares and verifies the integrity of the IoT device.
제5항에 있어서,
상기 프로세서는,
상기 IoT 디바이스에 저장된 상기 제(k+1) 공개키가 상기 제k 공개키로 업데이트되도록 하며, 상기 컨트롤 디바이스에 저장된 상기 제k 공개키가 제(k-1) 공개키로 업데이트되도록 하는 프로세스를 더 수행하는 컨트롤 디바이스.
6. The method of claim 5,
The processor is
A process of updating the (k+1)th public key stored in the IoT device with the kth public key and updating the kth public key stored in the control device with the (k-1)th public key is further performed. control device.
제5항에 있어서,
상기 프로세서는,
상기 (I) 프로세스 이전에, 상기 IoT 디바이스로 상기 IoT 디바이스 정보를 요청하며, 상기 IoT 디바이스로부터 상기 IoT 디바이스 정보가 획득되면, 기생성된 그룹키를 확인하거나 상기 그룹키를 생성하고, 상기 IoT 디바이스로부터 획득된 상기 IoT 디바이스 정보와 상기 컨트롤 디바이스 정보를 시드로 하여 상기 n개의 공개키들을 생성하며, 상기 그룹키와 상기 n개의 공개키들 중 적어도 상기 제(k+1) 공개키를 상기 IoT 디바이스로 전송하여 주는 프로세스를 더 수행하는 컨트롤 디바이스.
6. The method of claim 5,
The processor is
Before the (I) process, the IoT device requests the IoT device information, and when the IoT device information is obtained from the IoT device, a pre-generated group key is checked or the group key is generated, and the IoT device The n public keys are generated by using the IoT device information and the control device information obtained from , as a seed, and at least the (k+1)th public key among the group key and the n public keys is used as the IoT device. A control device that further performs the process of sending.
제5항에 있어서,
상기 프로세서는, 상기 컨트롤 디바이스에 저장된 상기 제k 공개키를 해시 연산하여 비교대상 제(k+1) 공개키를 생성하고, 상기 비교대상 제(k+1) 공개키와 상기 인증 트랜잭션으로부터 획득된 상기 제(k+1) 공개키를 비교하여 상기 인증 트랜잭션의 유효성을 확인하거나, 상기 비교대상 제(k+1) 공개키와 상기 검증 트랜잭션으로부터 획득된 상기 제(k+1) 공개키를 비교하여 상기 검증 트랜잭션의 유효성을 확인하는 컨트롤 디바이스.
6. The method of claim 5,
The processor generates a comparison target (k+1)th public key by performing a hash operation on the kth public key stored in the control device, and obtains a comparison target (k+1)th public key and the authentication transaction. The validity of the authentication transaction is verified by comparing the (k+1)th public key, or the (k+1)th public key to be compared is compared with the (k+1)th public key obtained from the verification transaction. a control device to verify the validity of the verification transaction.
KR1020190159398A 2019-12-03 2019-12-03 METHOD FOR CERTIFICATING IoT DEVICE AND VERIFYING INTEGRITY OF IoT DEVICE, AND CONTROL DEVICE USING THEM KR102501671B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190159398A KR102501671B1 (en) 2019-12-03 2019-12-03 METHOD FOR CERTIFICATING IoT DEVICE AND VERIFYING INTEGRITY OF IoT DEVICE, AND CONTROL DEVICE USING THEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190159398A KR102501671B1 (en) 2019-12-03 2019-12-03 METHOD FOR CERTIFICATING IoT DEVICE AND VERIFYING INTEGRITY OF IoT DEVICE, AND CONTROL DEVICE USING THEM

Publications (2)

Publication Number Publication Date
KR20210069494A true KR20210069494A (en) 2021-06-11
KR102501671B1 KR102501671B1 (en) 2023-02-20

Family

ID=76376546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190159398A KR102501671B1 (en) 2019-12-03 2019-12-03 METHOD FOR CERTIFICATING IoT DEVICE AND VERIFYING INTEGRITY OF IoT DEVICE, AND CONTROL DEVICE USING THEM

Country Status (1)

Country Link
KR (1) KR102501671B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826653A (en) * 2022-03-10 2022-07-29 蚂蚁区块链科技(上海)有限公司 Certificate verification method, system and device based on block chain network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018126029A2 (en) * 2016-12-30 2018-07-05 Intel Corporation Blockchains for securing iot devices
KR20190061018A (en) * 2016-10-15 2019-06-04 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Automatic Provisioning of IoT Devices
KR20190063537A (en) 2017-11-30 2019-06-10 백석대학교산학협력단 A IoT sensor authentication method based on block-chain
KR102012400B1 (en) * 2018-11-27 2019-08-20 안종현 IoT CERTIFICATION SYSTEM BASED ON BLOCK CHAIN

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061018A (en) * 2016-10-15 2019-06-04 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Automatic Provisioning of IoT Devices
WO2018126029A2 (en) * 2016-12-30 2018-07-05 Intel Corporation Blockchains for securing iot devices
KR20190063537A (en) 2017-11-30 2019-06-10 백석대학교산학협력단 A IoT sensor authentication method based on block-chain
KR102012400B1 (en) * 2018-11-27 2019-08-20 안종현 IoT CERTIFICATION SYSTEM BASED ON BLOCK CHAIN

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826653A (en) * 2022-03-10 2022-07-29 蚂蚁区块链科技(上海)有限公司 Certificate verification method, system and device based on block chain network
CN114826653B (en) * 2022-03-10 2024-04-16 蚂蚁区块链科技(上海)有限公司 Credential verification method, system, device, equipment and storage medium based on blockchain network

Also Published As

Publication number Publication date
KR102501671B1 (en) 2023-02-20

Similar Documents

Publication Publication Date Title
Al‐Turjman et al. An overview of security and privacy in smart cities' IoT communications
Attkan et al. Cyber-physical security for IoT networks: a comprehensive review on traditional, blockchain and artificial intelligence based key-security
Javaid et al. Blockpro: Blockchain based data provenance and integrity for secure iot environments
Hong P2P networking based internet of things (IoT) sensor node authentication by Blockchain
Adavoudi-Jolfaei et al. Lightweight and anonymous three-factor authentication and access control scheme for real-time applications in wireless sensor networks
US10541991B2 (en) Method for OAuth service through blockchain network, and terminal and server using the same
KR20190029280A (en) Method and device for verifying integrity using tree structure
Luo et al. Lightweight three factor scheme for real-time data access in wireless sensor networks
KR20190114432A (en) Method for oauth service through blockchain, and terminal and server using the same
US11917081B2 (en) Issuing device and method for issuing and requesting device and method for requesting a digital certificate
CN113992354A (en) Identity authentication method, device, equipment and machine readable storage medium
CN109711218B (en) Lightweight RFID (radio frequency identification device) rapid authentication method
US20230351028A1 (en) Secure element enforcing a security policy for device peripherals
CN116910739A (en) Device data access control method, system, device and medium based on block chain
Alshomrani et al. PUFDCA: A Zero‐Trust‐Based IoT Device Continuous Authentication Protocol
CN112423277B (en) Security certificate recovery in bluetooth mesh networks
KR102501671B1 (en) METHOD FOR CERTIFICATING IoT DEVICE AND VERIFYING INTEGRITY OF IoT DEVICE, AND CONTROL DEVICE USING THEM
US11991189B2 (en) Intrusion detection for computer systems
EP3580885B1 (en) Private key updating
Buschsieweke et al. Securing critical infrastructure in smart cities: Providing scalable access control for constrained devices
US11729148B1 (en) Optimized utilization of internet protocol addresses in a virtual private network
Salas A secure framework for OTA smart device ecosystems using ECC encryption and biometrics
KR20240041948A (en) Security modules and secure communication methods
Chouhan et al. Software as a service: Analyzing security issues
Sudha et al. Dynamic forest of random subsets‐based supervised hash signature scheme for secure user authentication in smart home environment

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant