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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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/0833—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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
Description
본 발명은 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.
본 발명은 상술한 문제점을 모두 해결하는 것을 목적으로 한다.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 디바이스(100)는 각종 디바이스에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술인 IoT가 적용된 디바이스일 수 있다. 일 예로, IoT 디바이스(100)는 사용자 단말, 자동차, 세탑 박스, AMI(advanced metering infrastructure), 스마트 가전 기기 등을 포함할 수 있으나, 이에 한정되지 않으며 IoT가 가능한 모든 디바이스를 포함할 수 있다.First, the 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
한편, 컨트롤 디바이스(200)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Meanwhile, the
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 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
이와 같이 구성된 시스템을 통해 본 발명의 일 실시예에 따른 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 디바이스(100)는 IoT 디바이스(100)에 대응되는 IoT 디바이스 정보를 추출하여 컨트롤 디바이스(200)로 IoT 디바이스 정보를 전송(S2)하여 준다.Then, the
이때, 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
그리고, 컨트롤 디바이스(200)는 IoT 디바이스(100)로부터 IoT 디바이스 정보가 획득되면, 컨트롤 디바이스(200)에 대응되는 컨트롤 디바이스 정보를 확인(S3)한다. 이때, 컨트롤 디바이스 정보는 컨트롤 디바이스(200)의 컨트롤 디바이스 고유 번호, 컨트롤 디바이스 속성 정보, 컨트롤 디바이스 식별 정보 등을 포함할 수 있으며, 이에 한정되지 않으며, 컨트롤 디바이스(200)와 관련한 다양한 정보를 포함할 수 있다.Then, when IoT device information is obtained from the
이후, 컨트롤 디바이스(200)는 IoT 디바이스 정보와 컨트롤 디바이스를 정보를 참조하여 그룹키와 공개키를 생성(S4)할 수 있다.Thereafter, the
즉, 컨트롤 디바이스(200)는 기생성된 그룹키를 확인하거나, IoT 디바이스(100)와 컨트롤 디바이스(200) 사이에서 사용할 그룹키를 생성한다. 이때, 기생성된 그룹키가 있을 경우, 기생성된 그룹키를 통해 IoT 디바이스(100)를 기생성된 그룹키에 대응되는 그룹에 소속되도록 할 수 있다.That is, the
그리고, 컨트롤 디바이스(200)는 IoT 디바이스 정보와 컨트롤 디바이스 정보를 시드로 하여 n개의 공개키들을 생성할 수 있다. 상기 n은 1 이상의 정수일 수 있다.In addition, the
이때, 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
한편, 상기에서는 컨트롤 디바이스(200)가 적어도 제k 공개키를 저장하고, IoT 디바이스(100)가 적어도 제(k+1) 공개키를 저장하도록 하였으나, 이와는 달리, n개의 공개키를 IoT 디바이스(100)로 전송하여 저장하도록 하며, 제(k+1) 공개키를 현재의 공개키로 설정하도록 할 수도 있다.Meanwhile, in the above description, the
그리고, 그룹키와 적어도 제(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
이때, IoT 디바이스 행위 정보는 IoT 디바이스(100)의 동작과 관련한 정보로, 센싱 정보, 위치 정보 등을 포함할 수 있으며, 이에 한정되지 않으며, IoT 디바이스(100)의 동작과 관련하여 생성되는 다양한 정보를 포함할 수 있다.At this time, the IoT device behavior information is information related to the operation of the
그리고, 인증 정보는 제(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 디바이스(100)는 제(K+1) 공개키를 해시 연산하여 제(k+2) 공개키를 생성하고, 제(k+2) 공개키, 그룹키, 및 IoT 디바이스 행위 정보를 해시 연산하여 인증 정보를 생성할 수 있다. 이때, 제(k+1) 공개키를 이용하여 제(k+2) 공개키는 확인이 가능하지만, 제(k+1) 공개키를 이용하여 제k 공개키는 확인이 불가능하다.As an example, the
또한, IoT 디바이스(100)는 타임스탬프, 제(k+1) 공개키, 및 검증 정보를 포함하는 검증 트랜잭션을 생성하고, 검증 트랜잭션을 블록체인 네트워크(300)로 전송함으로써 검증 트랜잭션 등록을 요청(S7)할 수 있다. 그러면, 블록체인 네트워크(300)는 IoT 디바이스(100)로부터 전송되는 검증 트랜잭션을 블록체인 네트워크(300)에 등록하여 줄 수 있다.In addition, the
이때, 검증 정보는 제(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 디바이스(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
일 예로, 도 3을 참조하여, IoT 디바이스(100)를 인증하는 과정을 설명하면 다음과 같다.As an example, a process for authenticating the
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
그리고, 컨트롤 디바이스(200)는 인증 트랜잭션으로부터 IoT 디바이스 행위 정보, 제(k+1) 공개키, 및 인증 정보를 획득한다.Then, the
이때, 컨트롤 디바이스(200)는 컨트롤 디바이스(200)에 저장된 제k 공개키를 해시 연산하여 비교대상 제(k+1) 공개키를 생성한다. 그리고, 컨트롤 디바이스(200)는 비교대상 제(k+1) 공개키와 인증 트랜잭션으로부터 획득된 제(k+1) 공개키를 비교하여 인증 트랜잭션의 유효성을 확인할 수 있다.In this case, the
이후, 컨트롤 디바이스(200)는 인증 트랜잭션으로부터 획득한 제(k+1) 공개키를 해시 연산하여 제1 비교대상 제(k+2) 공개키를 생성하며, 컨트롤 디바이스에 저장된 그룹키, 제1 비교대상 제(k+2) 공개키, 및 인증 트랜잭션으로부터 획득한 IoT 디바이스 행위 정보를 참조하여 비교대상 인증 정보를 생성한다.Thereafter, the
일 예로, 컨트롤 디바이스(200)는 컨트롤 디바이스(200)에 저장된 그룹키, 제1 비교대상 제(k+2) 공개키, 및 인증 트랜잭션으로부터 획득한 IoT 디바이스 행위 정보를 해시 연산하여 비교대상 인증 정보를 생성할 수 있다.For example, the
그리고, 컨트롤 디바이스(200)는 비교대상 인증 정보와 인증 트랜잭션으로부터 획득한 인증 정보를 비교하여 IoT 디바이스를 인증(S14)하여 줄 수 있다.In addition, the
이후, 컨트롤 디바이스(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
또한, 도 4를 참조하여, IoT 디바이스(100)의 무결성을 검증하는 과정을 설명하면 다음과 같다.In addition, a process of verifying the integrity of the
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
그리고, 컨트롤 디바이스(200)는 검증 트랜잭션으로부터 제(k+1) 공개키, 타임스탬프, 및 검증 정보를 획득한다.Then, the
이때, 컨트롤 디바이스(200)는 컨트롤 디바이스(200)에 저장된 제k 공개키를 해시 연산하여 비교대상 제(k+1) 공개키를 생성한다. 그리고, 컨트롤 디바이스(200)는 비교대상 제(k+1) 공개키와 검증 트랜잭션으로부터 획득된 제(k+1) 공개키를 비교하여 검증 트랜잭션의 유효성을 확인할 수 있다.In this case, the
또한, 컨트롤 디바이스(200)는 IoT 디바이스(100)로 IoT 디바이스 식별 정보 및 적어도 하나의 IoT 디바이스 세부 정보를 요청(S24)하여 IoT 디바이스(100)로부터 IoT 디바이스 식별 정보 및 적어도 하나의 IoT 디바이스 세부 정보를 획득(S25)할 수 있다.In addition, the
이후, 컨트롤 디바이스(200)는 IoT 디바이스(100)로부터 획득된 적어도 하나의 IoT 디바이스 세부 정보를 해시 연산하여 비교대상 세부 정보 해시값을 생성한다. 그리고, 컨트롤 디바이스(200)는 비교대상 세부 정보 해시값, IoT 디바이스로부터 획득한 IoT 디바이스 식별 정보, 검증 트랜잭션으로부터 획득한 타임스탬프, 및 컨트롤 디바이스(100)에 저장된 그룹키를 포함하는 비교대상 IoT 디바이스 세부 정보값을 생성한다,Thereafter, the
그리고, 컨트롤 디바이스(200)는 검증 트랜잭션으로부터 획득한 제(k+1) 공개키를 해시 연산하여 제2 비교대상 제(k+2) 공개키를 생성하며, 제2 비교대상 제(k+2) 공개키와 비교대상 IoT 디바이스 세부 정보값을 참조하여 비교대상 검증 정보를 생성한다.Then, the
이후, 컨트롤 디바이스(200)는 비교대상 검증 정보와 검증 트랜잭션으로부터 획득한 검증 정보를 비교하여 IoT 디바이스의 무결성을 검증(S26)하여 줄 수 있다.Thereafter, the
그리고, 컨트롤 디바이스(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
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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)
(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.
(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.
상기 (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.
상기 (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 디바이스의 무결성을 검증하기 위한 동작을 수행하는 프로세서;
를 포함하되,
상기 프로세서는,
(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.
상기 프로세서는,
상기 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.
상기 프로세서는,
상기 (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.
상기 프로세서는, 상기 컨트롤 디바이스에 저장된 상기 제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.
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)
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)
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 |
-
2019
- 2019-12-03 KR KR1020190159398A patent/KR102501671B1/en active IP Right Grant
Patent Citations (4)
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)
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 |