KR102135727B1 - Internet of things blockchain system using token and multi-phase authentication method usign the system - Google Patents
Internet of things blockchain system using token and multi-phase authentication method usign the system Download PDFInfo
- Publication number
- KR102135727B1 KR102135727B1 KR1020190005767A KR20190005767A KR102135727B1 KR 102135727 B1 KR102135727 B1 KR 102135727B1 KR 1020190005767 A KR1020190005767 A KR 1020190005767A KR 20190005767 A KR20190005767 A KR 20190005767A KR 102135727 B1 KR102135727 B1 KR 102135727B1
- Authority
- KR
- South Korea
- Prior art keywords
- gateway
- token
- authentication
- iot
- iot node
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- 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/321—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 a third party or a trusted authority
- H04L9/3213—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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
본 발명은 토큰을 활용한 IoT 블록체인 시스템 및 이를 이용한 다단계 인증 방법에 관한 것으로, 더욱 상세하게는 다수의 게이트웨이들이 블록체인 네트워크를 구성하여 토큰 정보를 공유하고 IoT 환경 내의 장치들에 토큰을 발급하여 상호 인증을 수행할 수 있도록 하는 시스템 및 인증 방법에 관한 것이다. The present invention relates to an IoT blockchain system using a token and a multi-level authentication method using the token. More specifically, multiple gateways configure a blockchain network to share token information and issue tokens to devices in the IoT environment. It relates to a system and an authentication method that enable mutual authentication.
IoT(Internet of Things)는 각종 센서가 부착되어있는 사물에 통신 기술을 사용하여 인터넷에 연결하는 기술이다. IoT는 스마트 팜, 스마트 팩토리, 스마트 헬스, 스마트 홈 등에 적용되며, 초연결 사회를 가속화 시키고 있다. IoT 기술은 빠르게 발전하고 있지만, IoT 장치의 경량화로 인하여 낮은 전력량, 적은 계산 능력 및 적은 메모리 등의 제한적인 하드웨어 사양을 가지고 있다.The Internet of Things (IoT) is a technology that connects to the Internet using communication technology on objects to which various sensors are attached. IoT is applied to smart farms, smart factories, smart health, and smart homes, and is accelerating hyper-connected society. IoT technology is evolving rapidly, but due to the weight reduction of IoT devices, it has limited hardware specifications such as low power consumption, low computing power, and low memory.
IoT 장치는 이기종의 네트워크들이나 표준이 적용되므로, 다양한 보안 위협에 노출되어 있다. 최근에는 IoT 환경에서 인증, 접근 제어 등을 위해 토큰을 이용한 시스템 연구들이 국내외에서 진행되고 있다. IoT devices are exposed to various security threats because heterogeneous networks or standards are applied. Recently, system research using tokens for authentication, access control, etc. in the IoT environment has been conducted at home and abroad.
하지만 기존의 토큰을 이용한 방식의 시스템은 중앙 서버가 토큰을 관리하는 중앙 집중적인 특성을 가지고 있다. 중앙 집중적인 시스템은 중앙 서버의 보안이 취약할 경우 네트워크 전체의 보안에 영향을 미칠 수 있으며, 투명성을 보장하지 않아 중앙 서버에 대한 신뢰성이 확보되지 않을 경우, 시스템 운영 상 어려움이 생기는 단일 지점 장애(Single Point of Failure) 문제점을 가지고 있어 확장성이 특징인 IoT 환경에는 적합하지 않다. However, the system using the existing token has a centralized characteristic in which the central server manages the token. A centralized system can affect the security of the entire network when the security of the central server is weak, and a single point of failure that can cause difficulties in system operation if the reliability of the central server is not secured because transparency is not guaranteed. It has a single point of failure) and is not suitable for IoT environments characterized by scalability.
본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로서, 중앙 서버를 대신하여 다수의 게이트웨이들이 블록체인 네트워크를 구성하고, 인증을 위한 토큰의 무결성 및 신뢰성을 보장함으로써, 상호 인증, 기밀성, 가용성, 비밀 유지, 확장성, 공격 대처와 같은 IoT 환경에서 요구되는 보안사항들을 만족시킬 수 있는 시스템 및 인증 방법을 제공함에 목적이 있다.The present invention is to solve the problems as described above, a plurality of gateways on behalf of the central server constitutes a blockchain network, and by ensuring the integrity and reliability of the token for authentication, mutual authentication, confidentiality, availability, confidentiality The aim is to provide a system and authentication method that can satisfy security requirements required in IoT environments such as maintenance, scalability, and attack response.
본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템은, IoT 환경에서의 장치 간의 인증을 위한 토큰의 발급을 요청하는 IoT 노드 및 IoT 노드의 요청에 따라 토큰 정보를 생성하고, 토큰 정보에 기초하여 IoT 노드에 대한 인증을 수행하는 게이트웨이를 포함하며, IoT 노드 및 게이트웨이는 일대일로 대응되는 비밀 파라미터 값을 공유하고, 복수개의 게이트웨이들은 블록체인 네트워크를 구성하며, 복수개의 게이트웨이들은 블록체인 네트워크를 통해 토큰 정보를 공유할 수 있다.The IoT blockchain system using the token according to an embodiment of the present invention generates token information according to the request of the IoT node and the IoT node requesting the issuance of a token for authentication between devices in the IoT environment, and the token information It includes a gateway that performs authentication on the IoT node based on, the IoT node and the gateway share a one-to-one corresponding secret parameter value, a plurality of gateways constitute a blockchain network, and a plurality of gateways are a blockchain network Token information can be shared through.
본 발명의 일 실시 예에 따른 IoT 노드는 토큰의 발급을 요청하기 위해 난수값을 생성하고, 난수값에 기반한 파라미터 값들을 포함하는 등록 요청 메시지를 생성하며, 게이트웨이는 등록 요청 메시지에 포함된 파라미터 값들을 분석함으로써, 토큰 정보의 생성을 위한 IoT 노드의 인증을 수행할 수 있다.The IoT node according to an embodiment of the present invention generates a random number value to request the issuance of a token, generates a registration request message including parameter values based on the random number value, and the gateway parameter value included in the registration request message By analyzing them, it is possible to perform authentication of the IoT node for generation of token information.
본 발명의 일 실시 예에 따르면, 토큰 정보에는, 발급된 토큰, IoT 노드 및 게이트웨이를 식별하기 위한 아이디 정보, IoT 노드 및 게이트웨이의 상호 인증을 위한 파라미터 값 및 토큰을 발급한 게이트웨이를 보장하기 위한 시그니처 값이 포함될 수 있다.According to an embodiment of the present invention, the token information includes the issued token, ID information for identifying the IoT node and the gateway, parameter values for mutual authentication of the IoT node and the gateway, and a signature for guaranteeing the gateway that issued the token. Values may be included.
본 발명의 일 실시 예에 따른 토큰 정보를 생성한 게이트웨이는 토큰 정보에 포함된 아이디 정보들, 파라미터 값들 및 시그니처 값과 비밀 파라미터 값을 트랜잭션으로 생성하고, 생성된 트랜잭션을 블록체인 네트워크의 타 게이트웨이로 브로드캐스트(Broadcast)할 수 있다.The gateway that generates token information according to an embodiment of the present invention generates ID information, parameter values, signature value, and secret parameter value included in the token information as a transaction, and the generated transaction as another gateway of the blockchain network. It can be broadcast.
본 발명의 일 실시 예에 따른 IoT 노드는 토큰 정보를 포함하는 인증 요청 메시지를 생성하여 게이트웨이로 전송하고, 게이트웨이는 블록체인 네트워크를 통해 토큰 정보를 검증하는 제 1 인증을 수행하며, 제 1 인증이 완료되면, IoT 노드는 데이터 처리를 위한 데이터 메시지를 생성하여 게이트웨이로 전송하고, 게이트웨이는 데이터 메시지에 기초하여 제 1 인증이 완료된 IoT 노드인지 여부를 검증하는 제 2 인증을 수행할 수 있다.The IoT node according to an embodiment of the present invention generates an authentication request message including token information and transmits it to a gateway, and the gateway performs a first authentication to verify token information through a blockchain network, and the first authentication is When complete, the IoT node generates a data message for data processing and transmits it to the gateway, and the gateway can perform a second authentication to verify whether the first authentication is the completed IoT node based on the data message.
본 발명의 일 실시 예에 따른 인증 요청 메시지의 생성 시, IoT 노드는 제 2 인증을 위한 세션 파라미터 값을 생성하기 위한 난수값을 생성하고, 게이트웨이에 의해 토큰 정보에 대한 검증이 완료되면, IoT 노드 및 게이트웨이 각각은 난수값을 기초로 세션 파라미터 값을 생성할 수 있다.When generating an authentication request message according to an embodiment of the present invention, the IoT node generates a random number value for generating a session parameter value for second authentication, and when verification of token information is completed by the gateway, the IoT node Each of the gateways may generate a session parameter value based on a random number value.
본 발명의 일 실시 예에 따른 게이트웨이는 IoT 노드 및 게이트웨이에서 각각 생성된 세션 파라미터 값을 비교함으로써, 제 1 인증이 완료된 IoT 노드인지 여부를 판단할 수 있다.The gateway according to an embodiment of the present invention may determine whether the first authentication has been completed by comparing the IoT node and the session parameter values respectively generated by the gateway.
본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템을 이용한 다단계 인증 방법은, IoT 노드가 게이트웨이로 IoT 환경에서의 장치 간의 인증을 위한 토큰의 발급을 요청하는 단계, 게이트웨이가 IoT 노드의 요청에 따라 토큰 정보를 생성하고, IoT 노드로 생성된 토큰 정보를 전송하는 단계, IoT 노드가 토큰 정보를 포함하는 인증 요청 메시지를 생성하여 게이트웨이로 전송하고, 게이트웨이는 블록체인 네트워크를 통해 토큰 정보를 검증하는 제 1 인증을 수행하는 단계 및 제 1 인증이 완료되면, IoT 노드가 데이터 처리를 위한 데이터 메시지를 생성하여 게이트웨이로 전송하고, 게이트웨이는 데이터 메시지에 기초하여 제 1 인증이 완료된 IoT 노드인지 여부를 검증하는 제 2 인증을 수행하는 단계를 포함하되, IoT 노드 및 게이트웨이는 일대일로 대응되는 비밀 파라미터 값을 공유할 수 있다.In the multi-step authentication method using an IoT blockchain system using a token according to an embodiment of the present invention, the IoT node requests the issuance of a token for authentication between devices in the IoT environment as a gateway, the gateway of the IoT node Generating token information according to the request, transmitting the token information generated to the IoT node, the IoT node generates an authentication request message containing the token information and transmits it to the gateway, and the gateway transmits the token information through the blockchain network Step of performing the first authentication to verify and when the first authentication is completed, the IoT node generates a data message for data processing and transmits it to the gateway, and the gateway is an IoT node that has completed the first authentication based on the data message. Comprising the step of performing a second authentication to verify, IoT nodes and gateways may share the corresponding secret parameter value on a one-to-one basis.
본 발명의 일 실시 예에 따른 토큰의 발급을 요청하는 단계에서는, IoT 노드가 토큰의 발급을 요청하기 위해 난수값을 생성하고, 난수값에 기반한 파라미터 값들을 포함하는 등록 요청 메시지를 생성할 수 있다.In the step of requesting the issuance of the token according to an embodiment of the present invention, the IoT node may generate a random number value to request the issuance of the token, and may generate a registration request message including parameter values based on the random number value. .
본 발명의 일 실시 예에 따른 토큰 정보를 생성하고, 토큰 정보를 전송하는 단계에서는, 게이트웨이가 등록 요청 메시지에 포함된 파라미터 값들을 분석함으로써, 토큰 정보의 생성을 위한 IoT 노드의 인증을 수행할 수 있다.In the step of generating token information according to an embodiment of the present invention and transmitting the token information, the gateway may analyze the parameter values included in the registration request message to perform authentication of the IoT node for generation of token information. have.
본 발명의 일 실시 예에 따른 토큰 정보를 생성하고, 토큰 정보를 전송하는 단계에서는, 토큰 정보를 생성한 게이트웨이가 토큰 정보에 포함된 아이디 정보들, 파라미터 값들 및 시그니처 값과 비밀 파라미터 값을 트랜잭션으로 생성하고, 생성된 트랜잭션을 블록체인 네트워크의 타 게이트웨이로 브로드캐스트(Broadcast)할 수 있다.In the step of generating token information and transmitting the token information according to an embodiment of the present invention, the gateway that generated the token information uses the ID information, parameter values, signature value and secret parameter value included in the token information as a transaction. You can create and broadcast the generated transaction to other gateways in the blockchain network.
본 발명의 일 실시 예에 따른 제 1 인증을 수행하는 단계에서는, 인증 요청 메시지의 생성 시, IoT 노드가 제 2 인증을 위한 세션 파라미터 값을 생성하기 위한 난수값을 생성하고, 게이트웨이에 의해 토큰 정보에 대한 검증이 완료되면, IoT 노드 및 게이트웨이 각각은 난수값을 기초로 세션 파라미터 값을 생성할 수 있다.In the step of performing the first authentication according to an embodiment of the present invention, when generating an authentication request message, the IoT node generates a random number value for generating a session parameter value for the second authentication, and token information by the gateway When the verification for is completed, each of the IoT node and the gateway may generate a session parameter value based on the random number value.
본 발명의 일 실시 예에 따른 제 2 인증을 수행하는 단계에서는, 게이트웨이가 IoT 노드 및 게이트웨이에서 각각 생성된 세션 파라미터 값을 비교함으로써, 제 1 인증이 완료된 IoT 노드인지 여부를 판단할 수 있다.In the step of performing the second authentication according to an embodiment of the present invention, it is possible to determine whether the first authentication is the completed IoT node by comparing the gateway parameter values generated by the gateway and the IoT node, respectively.
한편, 본 발명의 일 실시 예에 의하면, 전술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.On the other hand, according to an embodiment of the present invention, it is possible to provide a recording medium readable by a computer recording a program for executing the above-described method on a computer.
본 발명의 일 실시 예로서 제공되는 시스템 및 이를 이용한 인증 방법에 따르면, 다수의 게이트들로 블록체인 네트워크를 구성하여 토큰을 활용한 다단계 인증을 수행함으로써, IoT 환경의 투명성과 신뢰성을 확보하고, 단일 지점 장애의 문제점을 해결할 수 있으며, 안정성과 보안성을 담보하면서도 IoT 환경의 특징인 확장성을 유지할 수 있다.According to the system provided as an embodiment of the present invention and an authentication method using the same, by constructing a blockchain network with a plurality of gates to perform multi-level authentication using tokens, securing transparency and reliability of the IoT environment, and single It can solve the problem of branch failure and maintain the scalability characteristic of IoT environment while ensuring stability and security.
또한, 인증 과정에서 전술한 토큰에 대한 신뢰성이 확보되므로, IoT 환경의 장치들은 토큰의 발급이 수행되기만 하면 토큰의 재발급받지 않고도 게이트웨이와 지속적으로 인증을 수행할 수 있으며, 블록체인 네트워크 상의 타 게이트웨이들과도 손쉽게 인증을 수행할 수 있다.In addition, since the reliability of the above-described token is secured during the authentication process, devices in the IoT environment can continuously perform authentication with the gateway without re-issuance of the token as long as the token issuance is performed, and other gateways on the blockchain network. Transient authentication can be easily performed.
도 1은 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 인증 과정을 나타낸 개념도이다.
도 3은 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 토큰 발급 과정을 나타낸 개념도이다.
도 4는 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 토큰 발급 과정을 나타낸 시퀀스 다이어그램이다.
도 5는 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 토큰 정보를 나타낸 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 트랜잭션 구조를 나타낸다.
도 7은 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 제 1 인증 과정을 나타낸 개념도이다.
도 8은 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 제 1 인증 과정을 나타낸 시퀀스 다이어그램이다.
도 9는 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 제 2 인증 과정을 나타낸 시퀀스 다이어그램이다.
도 10 및 도 11은 본 발명의 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 중간자 공격 시나리오를 나타낸 소스코드이다.
도 12는 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템의 보안성 검증 시나리오를 나타낸 소스코드 및 결과이다.
도 13은 본 발명의 일 실시 예에 따른 토큰을 활용한 IoT 블록체인 시스템을 이용한 다단계 인증 방법의 순서도이다.1 is a block diagram of an IoT blockchain system using a token according to an embodiment of the present invention.
2 is a conceptual diagram showing an authentication process of an IoT blockchain system using a token according to an embodiment of the present invention.
3 is a conceptual diagram showing a token issuing process of an IoT blockchain system using a token according to an embodiment of the present invention.
4 is a sequence diagram showing a token issuing process of an IoT blockchain system using a token according to an embodiment of the present invention.
5 is a block diagram showing token information of an IoT blockchain system using a token according to an embodiment of the present invention.
6 shows a transaction structure of an IoT blockchain system using tokens according to an embodiment of the present invention.
7 is a conceptual diagram illustrating a first authentication process of an IoT blockchain system using a token according to an embodiment of the present invention.
8 is a sequence diagram illustrating a first authentication process of an IoT blockchain system using a token according to an embodiment of the present invention.
9 is a sequence diagram showing a second authentication process of an IoT blockchain system using a token according to an embodiment of the present invention.
10 and 11 are source codes showing a man-in-the-middle attack scenario of an IoT blockchain system using tokens according to an embodiment of the present invention.
12 is a source code and a result showing a security verification scenario of an IoT blockchain system using a token according to an embodiment of the present invention.
13 is a flowchart of a multi-step authentication method using an IoT blockchain system using tokens according to an embodiment of the present invention.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.Terms used in the specification will be briefly described, and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terminology used in the present invention has been selected, while considering the functions in the present invention, general terms that are currently widely used are selected, but this may vary according to the intention or precedent of a person skilled in the art or the appearance of new technologies. In addition, in certain cases, some terms are arbitrarily selected by the applicant, and in this case, their meanings will be described in detail in the description of the applicable invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the contents of the present invention, rather than a simple term name.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "노드" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 명세서 전체에서 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, "그 중간에 다른 구성을 사이에 두고" 연결되어 있는 경우도 포함한다.When a certain part of the specification "includes" a certain component, this means that other components may be further included instead of excluding other components unless otherwise specified. In addition, terms such as “node” described in the specification mean a unit that processes at least one function or operation, which may be implemented in hardware or software, or a combination of hardware and software. In addition, when a part is "connected" to another part in the specification, this includes not only "directly connected" but also "connected with other components in between".
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains may easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 블록도이며, 도 2는 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 인증 과정을 나타낸 개념도이다. 1 is a block diagram of an IoT blockchain system using a
도 1을 참조하면, 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템은, IoT 환경에서의 장치 간의 인증을 위한 토큰(10)의 발급을 요청하는 IoT 노드(100) 및 IoT 노드(100)의 요청에 따라 토큰 정보를 생성하고, 토큰 정보에 기초하여 IoT 노드(100)에 대한 인증을 수행하는 게이트웨이(200)를 포함할 수 있다.Referring to FIG. 1, an IoT blockchain system using a
예를 들어, IoT 노드(100)는 IoT 환경에서 데이터를 송수신하기 위한 디바이스 주체로서, 와이파이(Wi-Fi), 블루투스(Bluetooth) 등의 무선 통신이 가능하며, 사용자에 의해 제어가 가능한 디바이스를 통칭한다. 게이트웨이(200)는 복수의 디바이스와 근거리 통신망(Local area network, LAN) 등이 상호 접속될 수 있도록 하는 중계 디바이스를 통칭한다.For example, the
도 1 및 도 2를 참조하면, 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템은, IoT 환경의 중앙 서버를 대신하여 복수개의 게이트웨이들(200)이 블록체인 네트워크를 구성하며, 복수개의 게이트웨이들(200)은 블록체인 네트워크를 통해 토큰 정보를 공유할 수 있다. 1 and 2, in the IoT blockchain system using the
이때, 블록체인이란, 거래 정보를 기록한 원장(ledger)을 모든 구성원이 각자 분산 보관하고 새로운 거래가 발생할 때 장부를 똑같이 업데이트하여 개념적으로는 익명성과 보안성이 강력한 디지털 공공장부 또는 분산원장이라 말할 수 있다.At this time, the blockchain can be said to be a digital public ledger or distributed ledger that is conceptually strong in anonymity and security by keeping the ledger that records transaction information distributed by each member and updating the ledger when a new transaction occurs. .
블록체인은 각 블록들이 연결되어 있는 구조를 가지고 있다. 블록은 헤더 부분과 바디(boby)부분으로 이루어져 있으며, 헤더 부분은 이전 블록의 해시 값을 가지고 있어 체인을 구성할 수 있도록 한다. 바디 부분은 거래 정보를 저장하여 구성원들이 거래 정보를 공유할 수 있도록 한다.Blockchain has a structure in which each block is connected. The block consists of a header part and a body part, and the header part has a hash value of the previous block, so that a chain can be formed. The body part stores transaction information so that members can share transaction information.
블록체인 네트워크는 각 구성원들 간의 트랜잭션(transaction)을 통해 전술한 블록(i.e. 거래 정보를 기록한 원장)을 생성하고, 생성된 블록들을 공유하는 집합체를 의미한다. 본 발명의 일 실시 예로 구성되는 블록체인 네트워크의 블록 및 트랜잭션의 구조는 도 6과 함께 보다 자세하게 후술하도록 한다.The blockchain network means an aggregate that creates the above-mentioned block (i.e. ledger that records transaction information) through transactions between members, and shares the generated blocks. The structure of the block and transaction of the blockchain network configured as an embodiment of the present invention will be described in more detail with reference to FIG. 6.
이와 같은 블록체인 네트워크를 통한 토큰 정보의 공유를 통해 토큰(10)에 대한 무결성을 보장하고, 블록체인 네트워크 상의 모든 게이트웨이들(200)이 토큰(10)을 신뢰하도록 할 수 있다. 또한, 전술한 바와 같이 블록체인 네트워크 상의 모든 게이트웨이들(200)이 토큰(10)을 신뢰하게 되면(i.e. 토큰(10)에 대한 신뢰성을 확보하게 되면), IoT 노드(100)에서 발급된 토큰(10)을 계속적으로 재사용하여 게이트웨이(200)와의 인증 과정을 수행할 수 있다. 즉, IoT 노드(100)의 인증을 위해 매번 토큰(10)을 생성하고 발급받지 않고도, 한번만 토큰(10)을 발급받고 나면 효율적으로 IoT 노드(100)의 인증 과정이 수행될 수 있다. Through the sharing of token information through the blockchain network, integrity of the token 10 is guaranteed, and all
이하에서는 도 3 내지 도 9를 참조하여 IoT 블록체인 인증 시스템의 인증 과정을 보다 자세히 설명하도록 한다.Hereinafter, an authentication process of the IoT blockchain authentication system will be described in more detail with reference to FIGS. 3 to 9.
(1) IoT 노드(100)의 등록 단계에서는, 장치의 인증을 수행하기 위해 게이트웨이(200)에서 등록 토큰(10)을 발급하고, 블록체인 네트워크를 구성하는 게이트웨이(200)에서 발급한 등록 토큰(10)의 정보를 브로드캐스트하는 과정을 설명한다. (2) IoT 노드(100)의 제 1 인증 단계에서는, 등록 토큰(10)을 통하여 인증을 수행하고 IoT 노드(100) 및 게이트웨이(200) 상호 간의 세션 파라미터 값을 생성하는 과정을 설명한다. (3) IoT 노드(100)의 제 2 인증 단계에서는, IoT 노드(100) 및 게이트웨이(200)가 생성한 세션 파라미터를 이용하여 메시지 인증과 무결성 보장 기능을 수행하는 과정을 설명한다.(1) In the registration step of the
(1) IoT 노드의 등록 단계(1) IoT node registration step
도 3은 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 토큰(10) 발급 과정을 나타낸 개념도이다.3 is a conceptual diagram illustrating a process for issuing a
본 발명의 일 실시 예에 따르면, IoT 노드(100)가 IoT 환경에서 타 장치와 통신을 하기 위해서는 먼저 게이트웨이(200)와의 장치 인증이 필요하다. 이를 위해서는, IoT 노드(100)가 게이트웨이(200)에 등록된 토큰(10)을 소유하고 있어야 하는데, 도 3과 같이 IoT 노드(101)는 토큰(10)을 소유하기 위해서 게이트웨이(200)에 등록을 요청할 수 있다. 즉, IoT 노드(100)의 등록 요청은 IoT 환경에서의 장치 간의 인증을 위한 토큰(10) 발급을 요청하는 것을 말한다.According to an embodiment of the present invention, in order for the
본 발명의 일 실시 예에 따른 시스템에서 프로토콜의 표기법은 하기 [표 1]을 따를 수 있다. 이하에서는 하기 [표 1] 에 따라 정의된 표기법에 따라 인증 과정을 설명하도록 한다.In the system according to an embodiment of the present invention, the notation of the protocol may follow [Table 1]. Hereinafter, the authentication process will be described according to the notation defined according to [Table 1].
[표 1][Table 1]
도 4는 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 토큰(10) 발급 과정을 나타낸 시퀀스 다이어그램이며, 도 5는 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 토큰 정보를 나타낸 블록도이다.4 is a sequence diagram showing a process of issuing a
본 발명의 일 실시 예에 따른 IoT 노드(100)는 IoT 노드(100) 각각을 식별하기 위한 아이디 정보 NID(3)를 포함하며, 게이트웨이(200)는 게이트웨이(200) 각각을 식별하기 위한 아이디 정보 GID(2)를 포함할 수 있다. 또한, 본 발명의 일 실시 예에 따른 시스템의 구축 단계에서 IoT 노드(100) 및 게이트웨이(200)는 일대일로 대응되는 비밀 파라미터 값 Xgn을 공유할 수 있다. The
본 발명의 일 실시 예에 따른 비밀 파라미터 값 Xgn은 토큰(10) 생성을 위해 하나의 IoT 노드(100)에 대응되는 하나의 게이트웨이(200)가 서로 공유하고 있는 파라미터 값을 말한다. 이러한 비밀 파라미터 값 Xgn을 활용하여 게이트웨이(200)는 정당한 IoT 노드(100)가 토큰(10) 발급을 요청했는지 여부, IoT 노드(100)는 정당한 게이트웨이(200)가 보낸 토큰(10)인지 여부를 확인할 수 있다.The secret parameter value Xgn according to an embodiment of the present invention refers to a parameter value shared by one
도 4를 참조하면, 본 발명의 일 실시 예에 따른 IoT 노드(100)는 먼저 난수값 r을 생성하고, 전송할 아이디 정보 NID(3)의 무결성을 보장하기 위한 파라미터값 MI를 생성할 수 있다. 다음으로, IoT 노드(100)는 생성된 난수값 r을 게이트웨이(200)로 안전하게 전송하기 위해 파라미터 값 MN을 생성하고, 파라미터값 MI를 게이트웨이(200)로 안전하게 전송하기 위해서 파라미터 값 RMI를 생성할 수 있다. IoT 노드(100)는 전술한 파라미터 값들을 포함하는 등록 요청 메시지를 생성할 수 있으며, 생성된 등록 요청 메시지를 게이트웨이(200)로 전송함으로써 토큰(10) 발급을 요청(i.e. 등록을 요청)할 수 있다.Referring to FIG. 4, the
도 4를 참조하면, 본 발명의 일 실시 예에 따른 게이트웨이(200)는 IoT 노드(100)로부터 전송된 등록 요청 메시지에서 타임스탬프를 확인한 다음 등록 요청 메시지에 포함된 난수값 r과 대비되는 난수값 r'을 추출할 수 있다. 또한, 게이트웨이(200)는 파라미터 값 RMI와 MN으로부터 파라미터 값 MI를 추출하고, 비밀 파라미터 값 Xgn과 추출한 난수값 r'로 파라미터 값 MI'를 생성할 수 있다.Referring to FIG. 4, the
본 발명의 일 실시 예에 따른 게이트웨이(200)는 파라미터 값 MI와 파라미터 값 MI'를 비교하여 IoT 노드(100)의 인증을 수행할 수 있다. 즉, 게이트웨이(200)는 IoT 노드(100)로부터 전송된 등록 요청 메시지에 포함된 파라미터 값들을 분석하여 비교함으로써, 정당한 IoT 노드(100)로부터 토큰(10) 발급이 요청되었는지 여부를 판단할 수 있다. 전술한 과정에 따라 IoT 노드(100)에 대한 정상적인 인증이 완료되면(i.e. 정당한 IoT 노드(100)로부터 토큰(10) 발급이 요청된 것으로 판단되면), 게이트웨이(200)는 정상적인 등록을 허가하는 토큰 정보를 생성하고, IoT 노드(100)로 토큰(10)과 함께 등록 허가 메시지를 전송할 수 있다.The
이때, 도 5를 참조하면, 본 발명의 일 실시 예에 따른 토큰 정보에는 본 발명의 일 실시 예에 따르면, 토큰 정보에는, 발급된 토큰(10)을 식별하기 위한 토큰 아이디 정보 TID(1), IoT 노드(100)를 식별하기 위한 아이디 정보 NID(3), 게이트웨이(200)를 식별하기 위한 아이디 정보 GID(2), IoT 노드(100) 및 게이트웨이(200)의 상호 인증을 위한 파라미터 값 e(4) 및 파라미터 값 x(5), 토큰(10)을 발급한 게이트웨이(200)를 보장하기 위한 시그니처 값 S(6)가 포함될 수 있다.5, according to an embodiment of the present invention, token information according to an embodiment of the present invention includes token ID information TID (1) for identifying the issued
도 4를 참조하면, 본 발명의 일 실시 예에 따른 IoT 노드(100)는 게이트웨이(200)로부터 등록 허가 메시지를 전송받으면, 등록 허가 메시지에서 타임스탬프를 확인한 다음 토큰 정보에 포함된 파라미터 값 e(4)와 x를 이용하여 파라미터 값 y를 추출할 수 있다. 또한, IoT 노드(100)는 등록 요청 시에 생성한 파라미터 값 MI와 비밀 파라미터 값 Xgn을 이용하여 파라미터 값 y'을 생성할 수 있다. Referring to FIG. 4, when the
본 발명의 일 실시 예에 따른 IoT 노드(100)는 파라미터 값 y와 파라미터 값 y'를 비교하여 정당한 게이트웨이(200)가 보낸 토큰(10)임을 확인하고, 토큰 정보를 저장할 수 있다. 즉, IoT 노드(100)는 게이트웨이(200)로부터 전송된 토큰 정보 및 등록 허가 메시지에 포함된 파라미터 값들을 분석하여 비교함으로써, 정당한 게이트웨이(200)로부터 토큰(10)이 발급되었는지 여부를 판단할 수 있다.The
도 6은 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 트랜잭션 구조를 나타낸다.6 shows the transaction structure of the IoT blockchain system using the token 10 according to an embodiment of the present invention.
본 발명의 일 실시 예에 따른 토큰 정보를 생성한 게이트웨이(200)는 토큰 정보에 포함된 아이디 정보들(1,2,3), 파라미터 값들(4,5) 및 시그니처 값(6)과 비밀 파라미터 값을 트랜잭션으로 생성하고, 생성된 트랜잭션을 블록체인 네트워크의 타 게이트웨이(200)로 브로드캐스트(Broadcast)할 수 있다. 즉, 게이트웨이(200)는 블록체인 네트워크 상의 타 게이트웨이들(200)과 토큰 정보를 공유할 수 있으며, 이를 통해 토큰(10)에 대한 신뢰성을 확보함으로써, IoT 노드(100)가 네트워크 상의 다른 게이트웨이들(200)과도 인증을 수행할 수도록 할 수 있다.The
도 6을 참조하면, 본 발명의 일 실시 예에 따른 IoT 노드(100)의 등록 토큰(10)을 발급한 게이트웨이(200)는 블록체인을 형성하고 있는 다른 게이트웨이들(200)에게 발행한 토큰 정보에 포함된 토큰 아이디 정보 TID(1), 게이트웨이 아이디 정보 GID(2), IoT 노드 아이디 정보 NID(3), 파라미터 값들(4,5), 시그니처 값 S(6)와 함께 제 1 인증 단계에서 사용될 비밀 파라미터 값 Xgn를 트랜잭션 형태로 구성하여 브로드캐스트할 수 있다. 이를 통해 블록체인 네트워크를 구성하는 게이트웨이들(200)은 어떤 IoT 노드(100)가 등록되었고, 어떠한 토큰(10)을 IoT 노드(100)가 소유하고 있는지를 공유할 수 있다.Referring to FIG. 6, the
(2) IoT 노드의 제 1 인증 단계(2) the first authentication step of the IoT node
도 7은 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 제 1 인증 과정을 나타낸 개념도이며, 도 8은 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 제 1 인증 과정을 나타낸 시퀀스 다이어그램이다.7 is a conceptual diagram showing a first authentication process of an IoT blockchain system using a token 10 according to an embodiment of the present invention, and FIG. 8 is using a token 10 according to an embodiment of the present invention It is a sequence diagram showing the first authentication process of the IoT blockchain system.
본 발명의 일 실시 예에 따르면, IoT 노드(100)와 게이트웨이(200) 간의 장치 인증이 완료되면, IoT 노드(100)의 데이터 송수신 과정에서의 보안을 위해서 IoT 노드(100)와 게이트웨이(200) 상호 간의 진위 여부를 확인하는 제 1 인증 과정이 필요하다. 도 7을 참조하면, 제 1 인증 단계는 IoT 노드(101)가 등록 토큰(10)을 이용하여 블록체인 네트워크를 구성하는 일 게이트웨이(200)에 인증을 요청하고, 블록체인 네트워크에서 IoT 노드(101)와 게이트웨이(200) 간의 장치 인증을 수행하는 과정으로 이해될 수 있다.According to an embodiment of the present invention, when device authentication between the
도 8을 참조하면, 본 발명의 일 실시 예에 따른 IoT 노드(100)는 먼저 난수값 r을 게이트웨이(200)로 안전하게 전송하기 위해 파라미터 값 MN을 생성하고, 세선 파라미터 값 SP를 생성하기 위한 난수값 n을 생성할 수 있다. IoT 노드(100)는 생성된 난수값 n을 게이트웨이(200)로 안전하게 전송하기 위해 파리미터 값 IN을 생성할 수 있으며, 전술한 파라미터 값들을 포함하는 인증 요청 메시지를 생성할 수 있다. IoT 노드(100)는 생성된 인증 요청 메시지를 게이트웨이(200)로 전송함으로써 제 1 인증을 요청할 수 있다. 이때, 인증 요청 메시지에는 IoT 노드(100)가 발급받은 토큰 정보가 포함될 수 있다.Referring to FIG. 8, the
도 8을 참조하면, 본 발명의 일 실시 예에 따른 게이트웨이(200)는 IoT 노드(100)로부터 전송된 인증 요청 메시지에서 타임스탬프를 확인한 다음 IoT 노드(100)로부터 전송된 등록 토큰 정보를 블록체인 네트워크를 통해 검증할 수 있다. 이때, 블록체인 네트워크를 통한 검증은 게이트웨이(200)가 IoT 노드(100)의 비밀 파라미터 값 Xgn을 검색함으로써 수행될 수 있다. 또한, 인증 요청 메시지에 포함된 파라미터 값들로부터 난수값 r과 n을 추출하고, 추출된 난수값 r과 n을 사용하여 난수값 m을 생성할 수 있다.Referring to FIG. 8, the
게이트웨이(200)는 토큰 정보의 검증을 완료하고 난수값 m을 생성하고 난 다음, 세션 파라미터 값 SP를 생성하고 저장할 수 있다. 여기서 세션 파라미터 값 SP란, 후술할 IoT 노드(100)의 제 2 인증 단계에서 사용되는 파라미터 값으로서, 게이트웨이(200)와 IoT 노드(100)가 제 1 인증을 통해 공유하게 되는 파라미터 값을 말한다. 이와 같이 세션 파라미터 값 SP가 생성되고 나면, 게이트웨이(200)는 난수값 m을 안전하게 전송하기 위한 파라미터 값 GM을 생성하고, 전술한 파라미터 값 GM 및 [표 1]의 파라미터 값 Z 등을 포함하는 인증 완료 메시지를 IoT 노드(100)로 전송할 수 있다.After completing the verification of the token information and generating the random number value m, the
도 8을 참조하면, 본 발명의 일 실시 예에 따른 IoT 노드(100)는 게이트웨이(200)로부터 전송된 인증 완료 메시지에서 타임스탬프를 확인한 다음, 파라미터 값 Z와 토큰 정보와 타임스탬프를 이용하여 생성된 파라미터 값 Z'를 비교함으로써, 정당한 게이트웨이(200)로부터 전송된 메시지임을 확인할 수 있다. 정당한 게이트웨이(200)로부터 전송된 메시지인 경우, IoT 노드(100)는 인증 완료 메시지로부터 파라미터 값 m을 추출할 수 있으며, 파라미터 값 m과 n을 이용하여 세션 파라미터 값 SP를 생성하고 저장할 수 있다.Referring to FIG. 8, the
전술한 과정을 통해 중앙 서버 없이도 자체적으로 IoT 노드(100)와 게이트웨이(200)의 상호 인증 과정에 해당하는 제 1 인증 단계를 수행할 수 있다. 이때, IoT 노드(100)와 게이트웨이(200)는 제 1 인증 단계를 통해 주고받은 난수값을 기초로 세션 파라미터 값을 생성할 수 있으며, 이는 후술할 제 2 인증 단계에서 사용될 수 있다.Through the above-described process, the first authentication step corresponding to the mutual authentication process of the
(3) IoT 노드의 제 2 인증 단계(3) 2nd authentication stage of IoT node
도 9는 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 제 2 인증 과정을 나타낸 시퀀스 다이어그램이다.9 is a sequence diagram showing a second authentication process of the IoT blockchain system using the token 10 according to an embodiment of the present invention.
본 발명의 일 실시 예에 따른 제 1 인증 단계가 완료되면, IoT 노드(100)는 게이트웨이(200)와 데이터를 송수신하는 통신을 시작할 수 있다. 이때, IoT 노드(100)와 게이트웨이(200)는 전송할 데이터와 제 1 인증 단계에서 생성된 세션 파라미터 값을 이용하여 서로만이 생성할 수 있는 해시 데이터를 생성할 수 있다. 이러한 해시 데이터를 이용하여 IoT 노드(100)와 게이트웨이(200)는 인증이 완료된 장치임을 상호 확인함과 동시에 데이터를 송수신할 수 있으며, 이러한 과정을 제 2 인증 단계라고 말한다.When the first authentication step according to an embodiment of the present invention is completed, the
도 9를 참조하면, 본 발명의 일 실시 예에 따른 IoT 노드(100)는 세션 파라미터 값 SP를 이용하여 메시지의 인증과 무결성을 보장하는 파라미터 값 D를 생성할 수 있으며, 파라미터 값 D와 데이터를 포함하는 데이터 메시지를 게이트웨이(200)로 전송할 수 있다.Referring to FIG. 9, the
도 9를 참조하면, 본 발명의 일 실시 예에 따른 게이트웨이(200)는 IoT 노드(100)로부터 전송된 데이터 메시지에서 타임스탬프를 확인한 다음, IoT 노드(100)로부터 데이터와 게이트웨이(200)가 보유한 세션 파라미터 값 SP를 이용하여 파라미터 값 D에 대비되는 파라미터 값 D'를 생성할 수 있다. 게이트웨이(200)는 파라미터값 D와 파라미터 값 D'를 비교하여 정당한 IoT 노드(100)에 의한 메시지임을 확인할 수 있다. 즉, 게이트웨이(200)는 파라미터 값 D와 파라미터 값 D'가 서로 다를 경우에는 정당하지 않은 IoT 노드(i.e. 제 1 인증이 완료되지 않은 IoT 노드)에 의한 메시지인 것으로 판단하고, 동일한 경우에는 정당한 IoT 노드(100)(i.e. 제 1 인증이 완료된 IoT 노드(100))에 의한 메시지인 것으로 판단할 수 있다.Referring to FIG. 9, the
전술한 바에 따라 제 1 인증이 완료된 IoT 노드(100)에 의한 메시지인 것으로 판단되면, 게이트웨이(200)는 IoT 노드(100)에 대한 컨트롤 메시지와 메시지 인증 및 무결성을 보장하는 파라미터값 MCM을 생성하여 IoT 노드(100)로 전송할 수 있다.If it is determined that the first authentication is a message by the
도 9를 참조하면, 본 발명의 일 실시 예에 따른 IoT 노드(100)는 게이트웨이(200)로부터 전송된 컨트롤 메시지에서 타임스탬프를 확인한 다음, 게이트웨이(200)로부터 데이터와 IoT 노드(100)가 보유한 세션 파라미터 값 SP를 이용하여 파라미터 값 MCM에 대비되는 파라미터 값 MCM'를 생성할 수 있다. IoT 노드(100)는 파라미터값 MCM와 파라미터 값 MCM'를 비교하여 정당한 게이트웨이(200)에 의한 메시지임을 확인할 수 있다.Referring to FIG. 9, the
전술한 바에 따른 제 2 인증 단계를 통해 IoT 노드(100)와 게이트웨이(200) 간의 데이터 송수신 과정에서도 제 1 인증이 완료된 정당한 장치에 의한 데이터 송수신인지 여부를 확인할 수 있으며, 메시지 자체의 무결성을 보장할 수 있다.Through the second authentication step according to the above, it is possible to check whether or not data is transmitted and received by a legitimate device that has completed the first authentication in the process of transmitting and receiving data between the
이하에서는 도 10 내지 도 12를 참조하여 본 발명의 일 실시 예에 따른 시스템에 대한 공격 시나리오를 통해 보안 위협에 대한 안정성을 확인한 결과를 구체적으로 살펴보도록 한다.Hereinafter, with reference to FIGS. 10 to 12, the result of confirming the stability of the security threat through the attack scenario for the system according to an embodiment of the present invention will be described in detail.
도 10 및 도 11은 본 발명의 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 중간자 공격 시나리오를 나타낸 소스코드이다.10 and 11 are source codes showing a man-in-the-middle attack scenario of the IoT blockchain system using the token 10 according to an embodiment of the present invention.
IoT 환경은 무선 통신을 이용하기 때문에 공격자가 IoT 환경 내의 두 장치 사이에서 위장하여 데이터를 도청하거나 조작하는 중간자 공격에 취약하다. 이러한 중간자 공격에 본 발명의 일 실시 예에 따른 시스템이 안전한지를 확인하기 위해서 중간자 공격에 대한 시나리오를 적용한 시뮬레이션을 진행하였다.Because the IoT environment uses wireless communication, an attacker is vulnerable to a man-in-the-middle attack by spoofing or manipulating data disguised as two devices in the IoT environment. In order to confirm whether the system according to an embodiment of the present invention is safe for such man-in-the-middle attack, a simulation in which a scenario for man-in-the-middle attack is applied was performed.
도 10의 (a)를 참조하면, 공격자는 IoT 노드로 위장하고 등록 요청 메시지를 위조하여 게이트웨이(200)로 전송하는 공격을 시도하였다. 하지만, 공격자의 위장 IoT 노드와 본 발명의 일 실시 예에 따른 게이트웨이(200)는 서로 공유하고 있는 비밀 파라미터 값 Xgn이 달라 파라미터 값 MI가 불일치하게 되므로, 중간자에 의한 공격을 막을 수 있다.Referring to (a) of FIG. 10, an attacker attempted an attack that disguised as an IoT node and forged a registration request message to transmit to the
도 10의 (b)를 참조하면, 공격자는 게이트웨이로 위장하고 등록 토큰(10)과 등록 허가 메시지를 위조하여 IoT 노드(100)로 전송하는 공격을 시도하였다. 하지만, 본 발명의 일 실시 예에 따른 IoT 노드(100)와 공격자의 위장 게이트웨이는 서로 공유하고 있는 비밀 파라미터 값 Xgn 및 난수값 r이 달라 파라미터 값 y가 불일치하게 되므로, 중간자에 의한 공격을 막을 수 있다.Referring to (b) of FIG. 10, an attacker attempted an attack that disguised as a gateway and forged the
도 11의 (a)를 참조하면, 공격자는 등록 토큰(10)을 위조하고 위조된 등록 토큰(10)을 게이트웨이(200)로 전송하여 등록이 완료된 IoT 노드로 위장하는 공격을 시도하였다. 하지만, 본 발명의 일 실시 예에 따르면, 위조된 등록 토큰(10)을 전송받은 게이트웨이(200)에서 블록체인 네트워크를 통해 토큰 정보를 확인하고, 블록체인 네트워크를 통해 확인된 토큰 정보에 의해 위조된 토큰인 것을 확인함으로써, 중간자에 의한 공격을 막을 수 있다.Referring to (a) of FIG. 11, an attacker attempted an attack disguised as an IoT node for which registration has been completed by forging the
도 11의 (b) 및 (c)를 참조하면, 공격자는 IoT 노드(100)와 게이트웨이(200) 사이에서 데이터 메시지를 도청하고 변조하는 공격을 시도하였다. 하지만, 본 발명의 일 실시 예에 따른 메시지 인증과 무결성을 보장하는 해시 데이터 값에 해당하는 파라미터 값 D를 통해 게이트웨이(200)가 데이터 변조 여부를 확인함으로써 중간자에 의한 공격을 막을 수 있다.Referring to (b) and (c) of FIG. 11, an attacker attempted an attack that intercepts and modulates a data message between the
전술한 바와 같이 본 발명의 일 실시 예에 따른 시스템은 등록 및 인증의 전 과정에 걸쳐 IoT 환경에서 일어날 수 있는 중간자 공격을 효과적으로 방지할 수 있다.As described above, the system according to an embodiment of the present invention can effectively prevent man-in-the-middle attacks that may occur in the IoT environment throughout the entire process of registration and authentication.
도 12는 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템의 보안성 검증 시나리오를 나타낸 소스코드 및 결과이다.12 is a source code and a result showing a security verification scenario of an IoT blockchain system using a token 10 according to an embodiment of the present invention.
본 발명의 일 실시 예에 따른 보안성 검증은 시스템의 프로토콜 절차들을 캐스퍼(Casper) 언어로 명세하고 FDR의 정형적 검증을 통해 수행되었다. 도 12의 (a)를 통해 나타낸 캐스퍼 언어에서의 프로토콜 설명(Protocol Description)은 프로토콜의 전체적인 절차를 명세한다. The security verification according to an embodiment of the present invention was performed through formal verification of the FDR by specifying protocol procedures of the system in Casper language. The protocol description in the Casper language shown through (a) of FIG. 12 specifies the overall procedure of the protocol.
도 12의 (b)를 통해 나타낸 캐스퍼 언어에서의 프로토콜 사양(Specification)은 프로토콜의 요구사항을 기술하는 부분이다. 도 12의 (b)를 참조하면, Secret은 IoT 노드(100)가 비밀 파라미터 값 Xgn과 난수값 r을 게이트웨이(200)와 공유하고 있음을 나타낸다. 또한, Agreement는 IoT 노드(100)가 데이터, 난수값 m 및 r을 통해 게이트웨이(200)를 인증하고 있음을 나타낸다.The protocol specification in the Casper language shown through (b) of FIG. 12 is a part for describing the requirements of the protocol. Referring to (b) of FIG. 12, Secret indicates that the
도 12의 (c)는 캐스퍼 언어를 통해 프로토콜을 명세하고 CSP로 컴파일을 완료한 후 FDR을 이용하여 검증한 결과를 나타낸다. 도 12의 (c)를 참조하면, Specification에서 기술한 각 부분에 대하여 안전함을 의미하는 "Finished: Passed" 가 출력되었음을 확인할 수 있다.12(c) shows the result of verifying the protocol using the FDR after specifying the protocol through the Casper language and completing the compilation with CSP. Referring to (c) of FIG. 12, it can be confirmed that “Finished: Passed” is output, which means that it is safe for each part described in the specification.
도 13은 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템을 이용한 다단계 인증 방법의 순서도이다.13 is a flowchart of a multi-step authentication method using an IoT blockchain system utilizing a token 10 according to an embodiment of the present invention.
도 13을 참조하면, 본 발명의 일 실시 예에 따른 토큰(10)을 활용한 IoT 블록체인 시스템을 이용한 다단계 인증 방법은, IoT 노드(100)가 게이트웨이(200)로 IoT 환경에서의 장치 간의 인증을 위한 토큰(10)의 발급을 요청하는 단계(S100), 게이트웨이(200)가 IoT 노드(100)의 요청에 따라 토큰 정보를 생성하고, IoT 노드(100)로 생성된 토큰 정보를 전송하는 단계(S200), IoT 노드(100)가 토큰 정보를 포함하는 인증 요청 메시지를 생성하여 게이트웨이(200)로 전송하고, 게이트웨이(200)는 블록체인 네트워크를 통해 토큰 정보를 검증하는 제 1 인증을 수행하는 단계(S300) 및 제 1 인증이 완료되면, IoT 노드(100)가 데이터 처리를 위한 데이터 메시지를 생성하여 게이트웨이(200)로 전송하고, 게이트웨이(200)는 데이터 메시지에 기초하여 제 1 인증이 완료된 IoT 노드(100)인지 여부를 검증하는 제 2 인증을 수행하는 단계(S400)를 포함하되, IoT 노드(100) 및 게이트웨이(200)는 일대일로 대응되는 비밀 파라미터 값을 공유할 수 있다.Referring to FIG. 13, in the multi-level authentication method using an IoT blockchain system using a token 10 according to an embodiment of the present invention, the
본 발명의 일 실시 예에 따른 토큰(10)의 발급을 요청하는 단계(S100)에서는, IoT 노드(100)가 토큰(10)의 발급을 요청하기 위해 난수값을 생성하고, 난수값에 기반한 파라미터 값들을 포함하는 등록 요청 메시지를 생성할 수 있다.In the step of requesting the issuance of the token 10 according to an embodiment of the present invention (S100), the
본 발명의 일 실시 예에 따른 토큰 정보를 생성하고, 토큰 정보를 전송하는 단계(S200)에서는, 게이트웨이(200)가 등록 요청 메시지에 포함된 파라미터 값들을 분석함으로써, 토큰 정보의 생성을 위한 IoT 노드(100)의 인증을 수행할 수 있다.In the step of generating token information according to an embodiment of the present invention and transmitting token information (S200), the
본 발명의 일 실시 예에 따른 토큰 정보를 생성하고, 토큰 정보를 전송하는 단계(S200)에서는, 토큰 정보를 생성한 게이트웨이(200)가 토큰 정보에 포함된 아이디 정보들(1,2,3), 파라미터 값들(4,5) 및 시그니처 값(6)과 비밀 파라미터 값을 트랜잭션으로 생성하고, 생성된 트랜잭션을 블록체인 네트워크의 타 게이트웨이(200)로 브로드캐스트할 수 있다.In step S200 of generating token information and transmitting token information according to an embodiment of the present invention, the
본 발명의 일 실시 예에 따른 제 1 인증을 수행하는 단계(S3100)에서는, 인증 요청 메시지의 생성 시, IoT 노드(100)가 제 2 인증을 위한 세션 파라미터 값을 생성하기 위한 난수값을 생성하고, 게이트웨이(200)에 의해 토큰 정보에 대한 검증이 완료되면, IoT 노드(100) 및 게이트웨이(200) 각각은 난수값을 기초로 세션 파라미터 값을 생성할 수 있다.In the step of performing the first authentication according to an embodiment of the present invention (S3100), when generating an authentication request message, the
본 발명의 일 실시 예에 따른 제 2 인증을 수행하는 단계(S400)에서는, 게이트웨이(200)가 IoT 노드(100) 및 게이트웨이(200)에서 각각 생성된 세션 파라미터 값을 비교함으로써, 제 1 인증이 완료된 IoT 노드(100)인지 여부를 판단할 수 있다.In the step (S400) of performing the second authentication according to an embodiment of the present invention, the first authentication is performed by the
본 발명의 일 실시 예에 따른 방법과 관련하여서는 전술한 시스템에 대한 내용이 적용될 수 있다. 따라서, 방법과 관련하여, 전술한 시스템에 대한 내용과 동일한 내용에 대하여는 설명을 생략하였다.With respect to the method according to an embodiment of the present invention, the contents of the above-described system may be applied. Therefore, with respect to the method, descriptions of contents identical to those of the above-described system are omitted.
한편, 본 발명의 일 실시 예에 의하면, 전술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다. 다시 말해서, 전술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터 판독 가능 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 본 발명의 다양한 방법들을 수행하기 위한 실행 가능한 컴퓨터 프로그램이나 코드를 기록하는 기록 매체는, 반송파(carrier waves)나 신호들과 같이 일시적인 대상들은 포함하는 것으로 이해되지는 않아야 한다. 상기 컴퓨터 판독 가능 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, DVD 등)와 같은 저장 매체를 포함할 수 있다.On the other hand, according to an embodiment of the present invention, it is possible to provide a recording medium readable by a computer recording a program for executing the above-described method on a computer. In other words, the method described above can be written in a program executable on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable medium. Further, the structure of the data used in the above-described method can be recorded on a computer-readable medium through various means. A recording medium that records an executable computer program or code for performing various methods of the present invention should not be understood as including temporary objects such as carrier waves or signals. The computer-readable medium may include a storage medium such as a magnetic storage medium (eg, ROM, floppy disk, hard disk, etc.), optical read media (eg, CD-ROM, DVD, etc.).
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustration only, and those skilled in the art to which the present invention pertains can understand that the present invention can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be interpreted to be included in the scope of the present invention. .
1: 토큰 아이디 정보 2: 게이트웨이 아이디 정보
3: IoT 노드 아이디 정보 4: 파라미터 값 e
5: 파라미터 값 x 6: 시그니처 값
10: 토큰
100: IoT 노드
200: 게이트웨이1: Token ID information 2: Gateway ID information
3: IoT node ID information 4: parameter value e
5: parameter value x 6: signature value
10: token
100: IoT node
200: gateway
Claims (14)
IoT 환경에서의 장치 간의 인증을 위한 토큰의 발급을 요청하는 IoT 노드; 및
상기 IoT 노드의 요청에 따라 토큰 정보를 생성하고, 상기 토큰 정보에 기초하여 상기 IoT 노드에 대한 인증을 수행하는 게이트웨이를 포함하며,
상기 IoT 노드 및 게이트웨이에 대하여, 상기 IoT 노드는 게이트웨이로부터 수신한 토큰이 정당한 게이트웨이가 보낸 토큰인지 여부를 확인하고, 상기 게이트웨이는 정당한 IoT 노드가 토큰 발급을 요청하였는지 여부를 확인할 수 있도록, 일대일로 대응되는 비밀 파라미터 값을 공유하고,
복수개의 게이트웨이들은 블록체인 네트워크를 구성하며, 상기 복수개의 게이트웨이들은 상기 블록체인 네트워크를 통해 상기 토큰 정보를 공유하는 것을 특징으로 하는 IoT 블록체인 시스템.
In the IoT blockchain system using tokens,
An IoT node requesting the issuance of a token for authentication between devices in an IoT environment; And
It generates a token information according to the request of the IoT node, and includes a gateway for authenticating the IoT node based on the token information,
Regarding the IoT node and the gateway, the IoT node checks whether the token received from the gateway is a token sent by a legitimate gateway, and the gateway responds one-to-one so as to check whether a legitimate IoT node has requested to issue a token. Shared secret parameter values,
A plurality of gateways constitute a blockchain network, and the plurality of gateways share the token information through the blockchain network, an IoT blockchain system.
상기 IoT 노드는 상기 토큰의 발급을 요청하기 위해 난수값을 생성하고, 상기 난수값에 기반한 파라미터 값들을 포함하는 등록 요청 메시지를 생성하며,
상기 게이트웨이는 상기 등록 요청 메시지에 포함된 파라미터 값들을 분석함으로써, 상기 토큰 정보의 생성을 위한 IoT 노드의 인증을 수행하는 것을 특징으로 하는 IoT 블록체인 시스템.
According to claim 1,
The IoT node generates a random number value to request the issuance of the token, and generates a registration request message including parameter values based on the random number value,
The gateway is an IoT blockchain system characterized by performing authentication of an IoT node for generation of the token information by analyzing parameter values included in the registration request message.
상기 토큰 정보에는,
상기 발급된 토큰, IoT 노드 및 게이트웨이를 식별하기 위한 아이디 정보, 상기 IoT 노드 및 게이트웨이의 상호 인증을 위한 파라미터 값 및 상기 토큰을 발급한 게이트웨이를 보장하기 위한 시그니처 값이 포함되는 것을 특징으로 하는 IoT 블록체인 시스템.
According to claim 1,
In the token information,
IoT block characterized by including the issued token, ID information for identifying the IoT node and the gateway, parameter values for mutual authentication of the IoT node and the gateway, and a signature value for guaranteeing the gateway that issued the token. Chain system.
상기 토큰 정보를 생성한 게이트웨이는 상기 토큰 정보에 포함된 아이디 정보들, 파라미터 값들 및 시그니처 값과 상기 비밀 파라미터 값을 트랜잭션으로 생성하고, 상기 생성된 트랜잭션을 상기 블록체인 네트워크의 타 게이트웨이로 브로드캐스트(Broadcast)하는 것을 특징으로 하는 IoT 블록체인 시스템.
The method of claim 3,
The gateway that generated the token information generates ID information, parameter values and signature values and the secret parameter value included in the token information as a transaction, and broadcasts the generated transaction to other gateways of the blockchain network ( Broadcast) IoT blockchain system.
상기 IoT 노드는 상기 토큰 정보를 포함하는 인증 요청 메시지를 생성하여 상기 게이트웨이로 전송하고, 상기 게이트웨이는 상기 블록체인 네트워크를 통해 상기 토큰 정보를 검증하는 제 1 인증을 수행하며,
상기 제 1 인증이 완료되면, 상기 IoT 노드는 데이터 처리를 위한 데이터 메시지를 생성하여 상기 게이트웨이로 전송하고, 상기 게이트웨이는 상기 데이터 메시지에 기초하여 상기 제 1 인증이 완료된 IoT 노드인지 여부를 검증하는 제 2 인증을 수행하는 것을 특징으로 하는 IoT 블록체인 시스템.
According to claim 1,
The IoT node generates an authentication request message including the token information and transmits it to the gateway, and the gateway performs a first authentication to verify the token information through the blockchain network,
When the first authentication is completed, the IoT node generates a data message for data processing and transmits it to the gateway, and the gateway is configured to verify whether the first authentication is the completed IoT node based on the data message. 2 IoT blockchain system characterized by performing authentication.
상기 인증 요청 메시지의 생성 시, 상기 IoT 노드는 제 2 인증을 위한 세션 파라미터 값을 생성하기 위한 난수값을 생성하고,
상기 게이트웨이에 의해 상기 토큰 정보에 대한 검증이 완료되면, 상기 IoT 노드 및 게이트웨이 각각은 상기 난수값을 기초로 상기 세션 파라미터 값을 생성하는 것을 특징으로 하는 IoT 블록체인 시스템.
The method of claim 5,
When generating the authentication request message, the IoT node generates a random number value for generating a session parameter value for the second authentication,
When the verification of the token information is completed by the gateway, each of the IoT node and the gateway generates the session parameter value based on the random number value.
상기 게이트웨이는 상기 IoT 노드 및 게이트웨이에서 각각 생성된 세션 파라미터 값을 비교함으로써, 상기 제 1 인증이 완료된 IoT 노드인지 여부를 판단하는 것을 특징으로 하는 IoT 블록체인 시스템.
The method of claim 6,
The gateway is an IoT blockchain system characterized by determining whether the first authentication is an completed IoT node by comparing session parameter values generated by the IoT node and the gateway, respectively.
IoT 노드가 게이트웨이로 IoT 환경에서의 장치 간의 인증을 위한 토큰의 발급을 요청하는 단계;
상기 게이트웨이가 상기 IoT 노드의 요청에 따라 토큰 정보를 생성하고, 상기 IoT 노드로 상기 생성된 토큰 정보를 전송하는 단계;
상기 IoT 노드가 상기 토큰 정보를 포함하는 인증 요청 메시지를 생성하여 상기 게이트웨이로 전송하고, 상기 게이트웨이는 블록체인 네트워크를 통해 상기 토큰 정보를 검증하는 제 1 인증을 수행하는 단계; 및
상기 제 1 인증이 완료되면, 상기 IoT 노드가 데이터 처리를 위한 데이터 메시지를 생성하여 상기 게이트웨이로 전송하고, 상기 게이트웨이는 상기 데이터 메시지에 기초하여 상기 제 1 인증이 완료된 IoT 노드인지 여부를 검증하는 제 2 인증을 수행하는 단계를 포함하되,
상기 IoT 노드 및 게이트웨이에 대하여, 상기 IoT 노드는 게이트웨이로부터 수신한 토큰이 정당한 게이트웨이가 보낸 토큰인지 여부를 확인할 수 있고, 상기 게이트웨이는 정당한 IoT 노드가 토큰 발급을 요청하였는지 여부를 확인할 수 있도록 일대일로 대응되는 비밀 파라미터 값을 공유하는 것을 특징으로 하는 다단계 인증 방법.
In the multi-level authentication method using the IoT blockchain system using tokens,
An IoT node requesting a gateway to issue a token for authentication between devices in an IoT environment;
Generating, by the gateway, token information at the request of the IoT node, and transmitting the generated token information to the IoT node;
Generating, by the IoT node, an authentication request message including the token information and transmitting it to the gateway, the gateway performing a first authentication verifying the token information through a blockchain network; And
When the first authentication is completed, the IoT node generates a data message for data processing and transmits it to the gateway, and the gateway is configured to verify whether the first authentication is the completed IoT node based on the data message. 2 including performing the authentication,
With respect to the IoT node and the gateway, the IoT node can check whether the token received from the gateway is a token sent by a legitimate gateway, and the gateway responds one-to-one to confirm whether a legitimate IoT node has requested to issue a token. Multi-factor authentication method characterized in that it shares the secret parameter value.
상기 토큰의 발급을 요청하는 단계에서는,
상기 IoT 노드가 상기 토큰의 발급을 요청하기 위해 난수값을 생성하고, 상기 난수값에 기반한 파라미터 값들을 포함하는 등록 요청 메시지를 생성하며,
상기 토큰 정보를 생성하고, 상기 토큰 정보를 전송하는 단계에서는,
상기 게이트웨이가 상기 등록 요청 메시지에 포함된 파라미터 값들을 분석함으로써, 상기 토큰 정보의 생성을 위한 IoT 노드의 인증을 수행하는 것을 특징으로 하는 다단계 인증 방법.
The method of claim 8,
In the step of requesting the issuance of the token,
The IoT node generates a random number value to request the issuance of the token, and generates a registration request message including parameter values based on the random number value,
In the step of generating the token information, and transmitting the token information,
A multi-step authentication method, characterized in that the gateway performs authentication of an IoT node for generation of the token information by analyzing parameter values included in the registration request message.
상기 토큰 정보에는,
상기 발급된 토큰, IoT 노드 및 게이트웨이를 식별하기 위한 아이디 정보, 상기 IoT 노드 및 게이트웨이의 상호 인증을 위한 파라미터 값 및 상기 토큰을 발급한 게이트웨이를 보장하기 위한 시그니처 값이 포함되는 것을 특징으로 하는 다단계 인증 방법.
The method of claim 8,
In the token information,
Multi-factor authentication characterized by including the issued token, ID information for identifying the IoT node and the gateway, parameter values for mutual authentication of the IoT node and the gateway, and a signature value for guaranteeing the gateway that issued the token. Way.
상기 토큰 정보를 생성하고, 상기 토큰 정보를 전송하는 단계에서는,
상기 토큰 정보를 생성한 게이트웨이가 상기 토큰 정보에 포함된 아이디 정보들, 파라미터 값들 및 시그니처 값과 상기 비밀 파라미터 값을 트랜잭션으로 생성하고, 상기 생성된 트랜잭션을 상기 블록체인 네트워크의 타 게이트웨이로 브로드캐스트(Broadcast)하는 것을 특징으로 하는 다단계 인증 방법.
The method of claim 10,
In the step of generating the token information, and transmitting the token information,
The gateway that generated the token information generates ID information, parameter values and signature values and the secret parameter value included in the token information as transactions, and broadcasts the generated transactions to other gateways of the blockchain network ( Broadcast) multi-factor authentication method.
상기 제 1 인증을 수행하는 단계에서는,
상기 인증 요청 메시지의 생성 시, 상기 IoT 노드가 제 2 인증을 위한 세션 파라미터 값을 생성하기 위한 난수값을 생성하고,
상기 게이트웨이에 의해 상기 토큰 정보에 대한 검증이 완료되면, 상기 IoT 노드 및 게이트웨이 각각은 상기 난수값을 기초로 상기 세션 파라미터 값을 생성하는 것을 특징으로 하는 다단계 인증 방법.
The method of claim 8,
In the step of performing the first authentication,
When generating the authentication request message, the IoT node generates a random number value for generating a session parameter value for the second authentication,
When verification of the token information is completed by the gateway, each of the IoT node and the gateway generates the session parameter value based on the random number value.
상기 제 2 인증을 수행하는 단계에서는,
상기 게이트웨이가 상기 IoT 노드 및 게이트웨이에서 각각 생성된 세션 파라미터 값을 비교함으로써, 상기 제 1 인증이 완료된 IoT 노드인지 여부를 판단하는 것을 특징으로 하는 다단계 인증 방법.
The method of claim 12,
In the step of performing the second authentication,
A multi-step authentication method characterized in that the gateway determines whether the first authentication has been completed by comparing the session parameter values generated by the IoT node and the gateway, respectively.
A computer-readable recording medium in which a program for implementing the method of any one of claims 8 to 13 is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005767A KR102135727B1 (en) | 2019-01-16 | 2019-01-16 | Internet of things blockchain system using token and multi-phase authentication method usign the system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005767A KR102135727B1 (en) | 2019-01-16 | 2019-01-16 | Internet of things blockchain system using token and multi-phase authentication method usign the system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102135727B1 true KR102135727B1 (en) | 2020-07-20 |
Family
ID=71831764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190005767A KR102135727B1 (en) | 2019-01-16 | 2019-01-16 | Internet of things blockchain system using token and multi-phase authentication method usign the system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102135727B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150112361A (en) * | 2014-03-27 | 2015-10-07 | 한국전자통신연구원 | Method for setting sensor node and setting security in sensor network, and sensor network system including the same |
KR20170017455A (en) * | 2015-08-07 | 2017-02-15 | 주식회사 엘지씨엔에스 | Mutual authentication method between mutual authentication devices based on session key and token, mutual authentication devices |
KR20180046777A (en) * | 2016-10-28 | 2018-05-09 | 목포대학교산학협력단 | The method and apparatus for providing service based on capability token in internet of things environment |
KR20180066693A (en) | 2016-12-09 | 2018-06-19 | (주)포스트미디어 | SYSTEM FOR COMMUNICATION USING INTERNET of THINGS |
WO2018234990A1 (en) * | 2017-06-20 | 2018-12-27 | nChain Holdings Limited | System and method of multi-round token distribution using a blockchain network |
-
2019
- 2019-01-16 KR KR1020190005767A patent/KR102135727B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150112361A (en) * | 2014-03-27 | 2015-10-07 | 한국전자통신연구원 | Method for setting sensor node and setting security in sensor network, and sensor network system including the same |
KR20170017455A (en) * | 2015-08-07 | 2017-02-15 | 주식회사 엘지씨엔에스 | Mutual authentication method between mutual authentication devices based on session key and token, mutual authentication devices |
KR20180046777A (en) * | 2016-10-28 | 2018-05-09 | 목포대학교산학협력단 | The method and apparatus for providing service based on capability token in internet of things environment |
KR20180066693A (en) | 2016-12-09 | 2018-06-19 | (주)포스트미디어 | SYSTEM FOR COMMUNICATION USING INTERNET of THINGS |
WO2018234990A1 (en) * | 2017-06-20 | 2018-12-27 | nChain Holdings Limited | System and method of multi-round token distribution using a blockchain network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Javaid et al. | Blockpro: Blockchain based data provenance and integrity for secure iot environments | |
CN111429254B (en) | Business data processing method and device and readable storage medium | |
US20220245724A1 (en) | Securing distributed electronic wallet shares | |
US11386420B2 (en) | Contextual authentication of an electronic wallet | |
Yavari et al. | An improved blockchain-based authentication protocol for IoT network management | |
CN110569674B (en) | Authentication method and device based on block chain network | |
Zhang et al. | Emerging security threats and countermeasures in IoT | |
US20190034919A1 (en) | Securing Electronic Wallet Transactions | |
US20190034917A1 (en) | Tracking an Electronic Wallet Using Radio Frequency Identification (RFID) | |
CN113194469B (en) | 5G unmanned aerial vehicle cross-domain identity authentication method, system and terminal based on block chain | |
KR102580509B1 (en) | Computer-implemented system and method enabling secure storage of large-scale blockchains through multiple storage nodes | |
CN110288480B (en) | Private transaction method and device for blockchain | |
Zhong et al. | Distributed blockchain‐based authentication and authorization protocol for smart grid | |
CN109359464B (en) | Wireless security authentication method based on block chain technology | |
JP7440026B2 (en) | Decentralized authentication method | |
CN111539718B (en) | Block chain cross-chain identity authentication method based on side chain | |
US20200244457A1 (en) | Blockchain intelligent security implementation | |
Kumar et al. | Design of peer-to-peer protocol with sensible and secure IoT communication for future internet architecture | |
Xu et al. | Authentication-based vehicle-to-vehicle secure communication for VANETs | |
Puthal et al. | Decision tree based user-centric security solution for critical IoT infrastructure | |
CN111339509A (en) | Block chain cross-chain identity authentication method based on side chain | |
Hussain et al. | An efficient and reliable user access protocol for Internet of Drones | |
Liou et al. | T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs | |
US11240661B2 (en) | Secure simultaneous authentication of equals anti-clogging mechanism | |
US20230254302A1 (en) | Authentication of device in network using cryptographic certificate |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |