KR20210090372A - Blockchain-based authenticaton and revocation method for the internet of things gateway - Google Patents

Blockchain-based authenticaton and revocation method for the internet of things gateway Download PDF

Info

Publication number
KR20210090372A
KR20210090372A KR1020200003513A KR20200003513A KR20210090372A KR 20210090372 A KR20210090372 A KR 20210090372A KR 1020200003513 A KR1020200003513 A KR 1020200003513A KR 20200003513 A KR20200003513 A KR 20200003513A KR 20210090372 A KR20210090372 A KR 20210090372A
Authority
KR
South Korea
Prior art keywords
iot
isp
domain owner
authentication
address
Prior art date
Application number
KR1020200003513A
Other languages
Korean (ko)
Other versions
KR102416561B1 (en
Inventor
이상곤
에코 옥티엔 유스투스
Original Assignee
동서대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동서대학교 산학협력단 filed Critical 동서대학교 산학협력단
Priority to KR1020200003513A priority Critical patent/KR102416561B1/en
Publication of KR20210090372A publication Critical patent/KR20210090372A/en
Application granted granted Critical
Publication of KR102416561B1 publication Critical patent/KR102416561B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

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

Abstract

The present invention includes the steps of: preparing, by an IoT domain owner, an IoT gateway for authentication; authenticating, by an Internet service provider, the IoT gateway by a request of the IoT domain owner; and revoking, by a smart contract, the IoT gateway. Therefore, by providing a trusted verifier which can authenticate the IoT gateway, it is possible to ensure that other entities in the IoT network are communicating with the verified IoT gateway.

Description

블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법{Blockchain-based authenticaton and revocation method for the internet of things gateway}Blockchain-based authentication and revocation method for the internet of things gateway

본 발명은 블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법에 관한 것으로서, 더욱 상세하게는 IoT 도메인 소유자의 요청에 의해 인터넷 서비스 공급자가 IoT 게이트웨이를 인증하는 방법 및 스마트계약이 IoT 게이트웨이를 해지하는 방법에 관한 것이다. The present invention relates to a method for authentication and cancellation of an IoT gateway based on a block chain, and more particularly, to a method for an Internet service provider to authenticate an IoT gateway at the request of an IoT domain owner, and a smart contract to cancel the IoT gateway it's about how

사물인터넷(Internet of Things, IoT)은 사물에 센서를 부착해 실시간 데이터를 인터넷으로 주고받는 기술이나 환경을 의미한다. 사물인터넷으로 인해 인간은 이전보다 향상된 생활을 영위할 수 있다. 예를 들면, 사물인터넷은 인간이 낯선 지역을 헤매지 않고 한번에 찾아갈 수 있도록 안내할 수 있고, 비가 내리기 직전에 인간이 우산을 쓸 수 있도록 안내할 수 있다. 또한, 사물 인터넷은 스마트 홈, 스마트 도시, 스마트 산업 등 여러 분야에 적용되고 있고, 사물 인터넷이 성장함에 따라 수많은 디바이스가 인터넷에 연결되고 있다. The Internet of Things (IoT) refers to a technology or environment in which sensors are attached to objects to exchange real-time data over the Internet. The Internet of Things (IoT) enables humans to lead a better life than ever before. For example, the Internet of Things can guide humans to visit unfamiliar areas at once without wandering, and guide humans to use an umbrella right before it rains. In addition, the Internet of Things is applied to various fields such as smart homes, smart cities, and smart industries, and as the Internet of Things grows, numerous devices are being connected to the Internet.

그러나, 최근에 사물 인터넷 관련 보안 사고가 과거에 비해 급속도로 증가하고 있다. 우선, 라즈베리 파이 디바이스에 의해 NASA 제트 추진 연구소 네트워크가 해킹당한 사례가 있다. 또한, 악성 코드에 감염된 수천만대의 사물 인터넷 디바이스들이 Dyn이라는 미국 DNS 서비스 업체에 디도스 공격을 가하여 미국 동부의 DNS 서비스를 마비시킨 사례가 있다. However, recently, security incidents related to the Internet of Things are increasing rapidly compared to the past. First, there was a case in which the NASA Jet Propulsion Lab network was hacked by a Raspberry Pi device. In addition, there is a case where tens of millions of Internet of Things devices infected with malicious code attacked a US DNS service company called Dyn and paralyzed the DNS service in the eastern United States.

사물 인터넷 디바이스에 적절한 인증 및 해지 메커니즘을 제공하는 경우 이러한 보안 사고를 방지할 수 있다. 그러나, 사물 인터넷 디바이스에 대해 견고한 인증 및 해지 메커니즘을 제공하는 것은 어려운 일이다. Providing appropriate authentication and revocation mechanisms for IoT devices can prevent such security incidents. However, it is difficult to provide a robust authentication and revocation mechanism for IoT devices.

어떤 사물 인터넷 디바이스는 자체 보안을 위한 암호화에 필수적인 계산 리소스를 갖고 있지 않을 수 있다. 또한, 다른 사물 인터넷 디바이스는 암호화를 전혀 수행할 수 없다. Some IoT devices may not have the computational resources necessary for encryption for their own security. Also, other IoT devices cannot perform encryption at all.

그리고, 사물 인터넷 디바이스는 호환성에 제한이 있다. 보안 프로토콜이 특정 프로토콜에서는 정상적으로 작동하지만 다른 프로토콜에서는 작동하지 않을 수 있다. And, there is a limitation in compatibility of IoT devices. A security protocol may work fine for one protocol but not for another.

또한, 사물 인터넷 아키텍처는 중앙 집중형 모델에서 분산형 모델로 이동하고 있다. 중앙에서 시스템을 관리하지 않는 분산된 환경에서 신뢰 모델을 정의하는 것은 보다 문제가 된다. Also, the Internet of Things architecture is moving from a centralized model to a decentralized model. Defining trust models in a distributed environment where systems are not centrally managed is more problematic.

KRUS 10201900263941020190026394 AA KRUS 101677249101677249 B1B1

본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, IoT 도메인 소유자의 요청에 의해 인터넷 서비스 공급자가 복수 개의 IoT 디바이스를 포함하는 IoT 게이트웨이를 인증하는 방법 및 스마트계약이 IoT 게이트웨이를 해지하는 방법을 제공한다. The present invention has been proposed to solve the above problems, a method for an Internet service provider to authenticate an IoT gateway including a plurality of IoT devices at the request of an IoT domain owner, and a method for a smart contract to cancel the IoT gateway to provide.

상기의 과제를 해결하기 위한 본 발명의 실시예에 따르면, 본 발명은 IoT 도메인 소유자가 IoT 게이트웨이의 인증을 준비하는 단계, IoT 도메인 소유자의 요청에 의해 인터넷 서비스 공급자가 IoT 게이트웨이를 인증하는 단계 및 스마트계약이 IoT 게이트웨이를 해지하는 단계를 포함하여 구성되는 것을 특징으로 한다. According to an embodiment of the present invention for solving the above problems, the present invention provides a step in which the IoT domain owner prepares for authentication of the IoT gateway, the Internet service provider authenticates the IoT gateway at the request of the IoT domain owner, and the smart characterized in that the contract is constituted including the step of terminating the IoT gateway.

또한, 상기 IoT 도메인 소유자가 IoT 게이트웨이의 인증을 준비하는 단계에서는 IoT 도메인 소유자가 블록체인 내에 IoT 도메인 소유자의 공개키(PK_O), IoT 도메인 소유자의 개인키(SK_O) 및 IoT 도메인 소유자의 주소(αO)를 생성하는 단계, IoT 도메인 소유자가 IoT 도메인 소유자의 사용자 이름(υO) 및 IoT 도메인 소유자의 비밀번호(ρO)를 생성하는 단계, IoT 도메인 소유자가 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 주소(αO)를 ISP에 입력하는 단계, ISP가 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 주소(αO)의 유효성을 검증하는 단계, ISP가 IoT 도메인 소유자의 IP 주소(γO), ISP의 IP 주소(γISP) 및 ISP의 주소(αISP)를 IoT 도메인 소유자에게 전송하는 단계, IoT 도메인 소유자가 블록체인에서 IoT 게이트웨이의 공개키(PK_GW), IoT 게이트웨이의 개인키(SK_GW)를 생성하는 단계, IoT 도메인 소유자가 IoT 게이트웨이의 주소(αGW)를 생성하는 단계, IoT 도메인 소유자가 블록체인에서 IoT 게이트웨이의 IP 주소(γGW)를 IoT 도메인 소유자의 IP 주소(γO)로 설정하는 단계 및 ISP는 ISP의 주소(αISP)를 통해 찾을 수 있는 인증 서버를 설치하는 단계를 포함하여 구성되는 것을 특징으로 한다. In addition, in the step of the IoT domain owner preparing for authentication of the IoT gateway, the IoT domain owner has the IoT domain owner's public key (PK_O), the IoT domain owner's private key (SK_O) and the IoT domain owner's address (α) in the block chain. O ), the IoT domain owner generates the IoT domain owner's username (υ O ) and the IoT domain owner's password (ρ O ), the IoT domain owner creates the IoT domain owner's username (υ O ) , entering the IoT domain owner's password (ρ O ) and the IoT domain owner's address (α O ) into the ISP, the ISP entering the IoT domain owner's username (υ O ), the IoT domain owner's password (ρ O ) and validating the address of the IoT domain owner (α O ), the ISP provides the IoT domain owner’s IP address (γ O ), the ISP’s IP address (γ ISP ), and the ISP’s address (α ISP ) to the IoT domain owner Transmitting, the IoT domain owner generates the IoT gateway's public key (PK_GW) and the IoT gateway's private key (SK_GW) in the block chain, the IoT domain owner creates the IoT gateway's address (α GW ), Step by which the IoT domain owner sets the IoT gateway’s IP address (γ GW ) to the IoT domain owner’s IP address (γ O ) in the blockchain and the ISP installs an authentication server that can be found through the ISP’s address (α ISP ) It is characterized in that it is configured including the step of

또한, 상기 IoT 도메인 소유자의 요청에 의해 인터넷 서비스 공급자가 IoT 게이트웨이를 인증하는 단계에서는 IoT 도메인 소유자가 ISP에 대해 인증 페이로드(X1) 및 인증 페이로드의 해시(Y1)를 포함한 인증 정보를 생성하는 단계, IoT 도메인 소유자가 인증 페이로드의 해시(Y1), 소스인 발신자 IoT 도메인 소유자의 주소(αO), 인증 타겟인 IoT 게이트웨이의 주소(αGW), 검증자인 ISP의 주소(αISP)를 스마트계약으로 전송하는 단계, IoT 도메인 소유자가 인증 페이로드의 해시(Y1), 소스인 발신자 IoT 도메인 소유자의 주소(αO), 인증 타겟인 IoT 게이트웨이의 주소(αGW), 검증자인 ISP의 주소(αISP)를 스마트계약의 인증 목록에 저장하는 단계, 스마트계약이 트랜잭션 해시를 IoT 도메인 소유자에게 반환하는 단계, IoT 도메인 소유자가 IoT 게이트웨이 대한 인증 요청서(X2)를 생성하는 단계, IoT 도메인 소유자가 IoT 게이트웨이 대한 인증 요청서(X2)를 ISP로 전송하는 단계, ISP가 IoT 게이트웨이 대한 인증 요청서(X2)를 검증하는 단계, ISP가 인증 페이로드의 해시(Y1) 및 IoT 도메인 소유자의 IP 주소(γO)가 포함된 인증 결과를 스마트계약으로 전송하는 단계, 인증 결과를 스마트계약의 인증 목록에 저장하는 단계, 스마트계약이 트랜잭션 해시를 ISP로 반환하는 단계 및 ISP가 인증 완료 메시지를 IoT 도메인 소유자에게 전송하는 단계를 포함하여 구성되는 것을 특징으로 한다.In addition, in the step of the Internet service provider authenticating the IoT gateway at the request of the IoT domain owner, the IoT domain owner provides authentication information including an authentication payload (X 1 ) and a hash of the authentication payload (Y 1 ) to the ISP. Generation step, IoT domain owner hash of authentication payload (Y 1 ), source sender IoT domain owner address (α O ), authentication target IoT gateway address (α GW ), validator ISP address (α ISP ) to the smart contract, the IoT domain owner sends the hash of the authentication payload (Y 1 ), the source address of the sender IoT domain owner (α O ), the authentication target IoT gateway address (α GW ), verification Storing the ISP’s address (α ISP ) in the authentication list of the smart contract, the smart contract returning the transaction hash to the IoT domain owner, and the IoT domain owner generating an authentication request (X 2 ) for the IoT gateway , IoT domain owner IoT transmitting gateway certificate request (X 2) about to ISP, the method comprising the ISP verifies the IoT gateway certificate request (X 2) of the hash of the ISP authentication payload (Y 1) and IoT Sending the authentication result containing the IP address (γ O ) of the domain owner to the smart contract, storing the authentication result in the authentication list of the smart contract, the smart contract returning the transaction hash to the ISP, and the ISP authenticating and sending a completion message to the IoT domain owner.

또한, 상기 ISP가 IoT 게이트웨이 대한 인증 요청서(X2)를 검증하는 단계에서는 ISP가 IoT 게이트웨이에 대한 인증 요청서(X2)의 암호를 해독하는 단계, ISP가 재전송 공격을 방지하기 위한 임의의 문자열(η)이 이전에 한번도 사용된 적이 없는 새로운 것인지 확인하는 단계, ISP가 인증 페이로드의 해시(Y1)를 계산하는 단계, ISP가 스마트계약에서 소스인 발신자 IoT 도메인 소유자의 주소(αO), 인증 타겟인 IoT 게이트웨이의 주소(αGW) 및 검증자인 ISP의 주소(αISP)를 획득하는 단계, ISP가 인증 타겟인 IoT 게이트웨이의 주소(αGW)의 검증 여부를 확인하는 단계, ISP가 검증자와 ISP의 주소(αISP)가 일치하는지 검사하는 단계, ISP가 인증 페이로드의 해시에 대한 서명(C1)을 검증하는 단계, ISP가 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 IP주소(γO)을 포함한 사용자 정보의 세부사항을 획득하는 단계, ISP가 상기 단계에서 획득한 사용자 정보의 세부사항이 인증 페이로드 내의 사용자 정보의 세부사항과 일치하는지 검사하는 단계 및 True 값을 반환함으로써 IoT 게이트웨이에 대한 인증 요청서(X2)의 검증이 완료되었음을 나타내는 단계를 포함하여 구성되는 것을 특징으로 한다. In addition, in the step of the ISP verifying the authentication request (X 2 ) for the IoT gateway, the ISP decrypts the authentication request (X 2 ) for the IoT gateway, the ISP is a random string for preventing retransmission attacks ( η) is new and has never been used before, the ISP computes the hash of the authentication payload (Y 1 ), the address of the sender IoT domain owner that the ISP is the source in the smart contract (α O ), obtaining an address of the authentication target IoT gateway (α GW) and verify design of the ISP address (α ISP), the method comprising the ISP determines whether verification of the authentication target addresses (α GW) of the IoT gateway, ISP is verified Check that the address of the user and ISP (α ISP ) matches, the ISP verifies the signature (C 1 ) against the hash of the authentication payload, the ISP checks the user name of the IoT domain owner (υ O ), the IoT domain Obtaining details of user information including the owner's password (ρ O ) and the IoT domain owner's IP address (γ O ), the ISP, the details of the user information obtained in the above step of the user information in the authentication payload It is characterized in that it comprises the steps of checking that the details match, and indicating that the verification of the authentication request (X 2 ) to the IoT gateway is completed by returning a True value.

또한, 상기 스마트계약이 IoT 게이트웨이를 해지하는 단계에서는 IoT 도메인 소유자가 해지하고자 하는 IoT 게이트웨이의 인증 페이로드의 해시(Y1)를 검색하는 단계, IoT 도메인 소유자가 IoT 게이트웨이의 인증 페이로드의 해시(Y1)를 입력하여 생성된 트랜잭션을 스마트계약으로 전송하는 단계, 스마트계약이 인증 목록을 검사하여 IoT 게이트웨이의 인증 페이로드 해시(Y1)의 발신자와 IoT 도메인 소유자의 주소(αo)가 일치하는지 확인하는 단계 및 스마트계약이 IoT 게이트웨이의 인증 페이로드의 해시(Y1)의 해지 파라미터 값을 True로 설정하고, 인증 목록에서 IoT 게이트웨이를 제거하는 단계를 포함하여 구성되는 것을 특징으로 한다. In addition, in the step of canceling the IoT gateway by the smart contract, the IoT domain owner searches for a hash (Y 1 ) of the authentication payload of the IoT gateway that the IoT domain owner wants to cancel, and the IoT domain owner provides the hash ( Enter Y 1 ) to send the generated transaction to the smart contract, the smart contract checks the authentication list to match the sender of the IoT gateway’s authentication payload hash (Y 1 ) and the address of the IoT domain owner (α o ) It is characterized in that it is configured, including the steps of verifying that the smart contract is true, setting the revocation parameter value of the hash (Y 1 ) of the authentication payload of the IoT gateway to True, and removing the IoT gateway from the authentication list.

본 발명은 IoT 게이트웨이를 인증할 수 있는 신뢰성 있는 검증자(verifier)를 제공함으로써, IoT 네트워크 내의 다른 엔티티(entity)들이 검증된 IoT 게이트웨이와 통신하고 있음을 보장할 수 있다.The present invention can ensure that other entities in the IoT network are communicating with the verified IoT gateway by providing a reliable verifier capable of authenticating the IoT gateway.

또한, 본 발명의 블록체인 내에서 분산된 공개키를 통한 인증 시스템을 통해서 사용자의 개인 정보를 안전하게 보관할 수 있을 뿐만 아니라, 견고하고 무결한 해지 서비스를 제공하고, 중앙 집중형 시스템에서 일반적으로 적용되는 인증 표준 규격 X.509 인증 시스템을 대체할 수 있는 효과가 있다.In addition, the user's personal information can be safely stored through the authentication system through the public key distributed within the blockchain of the present invention, and a robust and flawless cancellation service is provided, which is generally applied in centralized systems. It has the effect of being able to replace the authentication standard specification X.509 authentication system.

도 1은 블록체인을 기반으로 한 IoT 디바이스 접근 제어 시스템의 구성도이다.
도 2는 IoT 게이트웨이의 인증을 준비하는 단계에 대한 순서도이다.
도 3은 IoT 게이트웨이를 인증하는 단계에 대한 순서도이다.
도 4는 ISP가 IoT 게이트웨이에 대한 인증 요청서를 검증하는 단계에 대한 알고리즘이다.
도 5는 스마트계약이 IoT 게이트웨이를 해지하는 단계에 대한 순서도이다.
1 is a block diagram of an IoT device access control system based on a block chain.
2 is a flowchart of a step of preparing for authentication of an IoT gateway.
3 is a flowchart of a step of authenticating an IoT gateway.
4 is an algorithm for a step in which an ISP verifies an authentication request for an IoT gateway.
5 is a flowchart of a step in which the smart contract terminates the IoT gateway.

이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings in order to describe in detail enough that those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention.

그러나, 하기 실시예는 본 발명의 이해를 돕기 위한 일 예에 불과한 것으로 이에 의해 본 발명의 권리범위가 축소되거나 한정되는 것은 아니다. 또한, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.However, the following examples are merely examples to help the understanding of the present invention, thereby not reducing or limiting the scope of the present invention. In addition, the present invention may be embodied in several different forms and is not limited to the embodiments described herein.

도 1은 블록체인을 기반으로 한 IoT 디바이스 접근 제어 시스템의 구성도이다. 1 is a block diagram of an IoT device access control system based on a block chain.

도 1을 참조하면, IoT 디바이스 접근 제어 시스템은 IoT 게이트웨이, IoT 도메인 소유자, IoT 벤더, 인터넷 서비스 공급자(Internet Service Provider, ISP) 및 IoT 서비스를 포함하여 구성된다. Referring to FIG. 1 , the IoT device access control system includes an IoT gateway, an IoT domain owner, an IoT vendor, an Internet service provider (ISP), and an IoT service.

IoT 게이트웨이는 IoT 서비스가 IoT 디바이스에 대해 접근하는 것을 제어하고, IoT 게이트웨이에 속한 IoT 디바이스가 블록체인 내의 다른 엔티티(entity)와 통신을 수행하기 위한 창구 역할을 한다. The IoT gateway controls access of IoT services to IoT devices, and serves as a window for IoT devices belonging to the IoT gateway to communicate with other entities in the blockchain.

IoT 도메인 소유자는 IoT 게이트웨이 및 IoT 디바이스의 소유자로서, IoT 게이트웨이를 생성하고, IoT 벤더로부터 IoT 디바이스를 구입하여, IoT 게이트웨이를 복수개의 IoT 디바이스와 연결하여, IoT 도메인을 생성한다. 또한, IoT 도메인 소유자는 IoT 게이트웨이 및 IoT 게이트웨이에 속한 디바이스를 블록체인 내의 다른 엔티티(entity)에게 공개한다. An IoT domain owner is an owner of an IoT gateway and an IoT device, creates an IoT gateway, purchases an IoT device from an IoT vendor, connects the IoT gateway with a plurality of IoT devices, and creates an IoT domain. In addition, the IoT domain owner discloses the IoT gateway and devices belonging to the IoT gateway to other entities in the blockchain.

IoT 벤더는 IoT 디바이스의 제조자로써, IoT 도메인 소유자에게 IoT 디바이스를 공급하고, IoT 도메인 소유자의 요청에 의해 IoT 디바이스에 대한 인증을 수행한다. An IoT vendor is a manufacturer of an IoT device, supplies an IoT device to an IoT domain owner, and performs authentication on the IoT device at the request of the IoT domain owner.

인터넷 서비스 공급자(Internet Service Provider, ISP)는 IoT 도메인 소유자의 요청에 의해 IoT 게이트웨이에 대한 인증을 수행한다. An Internet Service Provider (ISP) performs authentication for the IoT gateway at the request of the IoT domain owner.

IoT 서비스는 IoT 디바이스에 접근하여 IoT 데이터를 수집한다. 또한, IoT 서비스는 조명 켜기 등과 같은 명령을 전송하여 IoT 디바이스를 지시한다. IoT service accesses IoT devices and collects IoT data. In addition, the IoT service instructs the IoT device by sending a command such as turning on a light.

스마트계약은 블록체인 내에서 IoT 게이트웨이에 대한 인증 목록을 관리한다. A smart contract manages a list of authorizations for IoT gateways within the blockchain.

본 발명에서 사용되는 기호에 대해 설명한다. The symbols used in the present invention will be described.

αL은 블록체인의 내부 또는 블록체인의 외부에서 L의 아이디(identity, ID)로 사용되는 L의 주소이다. PKEPK _ x(J)는 공개키(public key) x를 사용하여 J를 암호화하는 것이다. PKDSK_y(K)는 개인키(private key) y를 사용하여 K의 암호를 해독하는 것이다. α L is the address of L that is used as the identity (ID) of L inside the blockchain or outside the blockchain. PKE PK _ x (J) is to encrypt J using public key x. PKD SK_y (K) is to decrypt K using the private key y.

SIGNSK _ y(J)는 개인키 y를 사용하여 데이터 J에 대한 서명을 생성하는 것이다. VERIFY(K,J,αL)은 데이터 J에 대한 서명 K가 L의 주소 αL에 의해 서명되었는지 검증하는 것이다. SIGN SK _ y (J) is to generate a signature for data J using private key y. VERIFY(K,J,α L ) is to verify that the signature K for data J is signed by the address α L of L.

H(J)는 데이터 J의 해시를 생성하는 것을 의미하며, X||Y는 X와 Y의 연접(concatenation)을 의미한다. H(J) means generating a hash of data J, and X||Y means concatenation of X and Y.

또한, 본 발명에서 사용되는 엔티티(entity)에 대한 기호를 설명한다. Also, symbols for entities used in the present invention will be described.

D는 IoT 디바이스(device)이다. GW는 IoT 게이트웨이(gateway)이다. O는 IoT 도메인 소유자(domain owner)이다. ISP는 인터넷 서비스 공급자(Internet Service Provider)이다. SC는 스마트계약(smart contract)이다. D is an IoT device. The GW is an IoT gateway. O is the IoT domain owner. An ISP is an Internet Service Provider. SC is a smart contract.

블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법은 IoT 도메인 소유자가 IoT 게이트웨이의 인증을 준비하는 단계, IoT 도메인 소유자의 요청에 의해 인터넷 서비스 공급자가 IoT 게이트웨이를 인증하는 단계 및 IoT 도메인 소유자의 요청에 의해 스마트계약이 IoT 게이트웨이를 해지하는 단계를 포함하여 구성된다. The authentication and cancellation method of the IoT gateway based on the blockchain includes the steps in which the IoT domain owner prepares the IoT gateway for authentication, the Internet service provider authenticates the IoT gateway at the request of the IoT domain owner, and the IoT domain owner's request The smart contract is configured including the step of canceling the IoT gateway by

IoT 도메인 소유자가 IoT 게이트웨이의 인증을 준비하는 단계에 대해 설명한다. Describes the steps for an IoT domain owner to prepare for authentication of an IoT gateway.

도 2는 IoT 게이트웨이의 인증을 준비하는 단계에 대한 순서도이다. 2 is a flowchart of a step of preparing for authentication of an IoT gateway.

IoT 도메인 소유자는 IoT 도메인을 인터넷에 연결하기 위하여 IoT 도메인 소유자를 ISP에 등록하고, IoT 도메인에 대한 IoT 게이트웨이를 생성한다. The IoT domain owner registers the IoT domain owner with the ISP to connect the IoT domain to the Internet, and creates an IoT gateway for the IoT domain.

도 2를 참조하면, 먼저 IoT 도메인 소유자는 블록체인 내에 IoT 도메인 소유자의 공개키(PK_O) 및 IoT 도메인 소유자의 개인키(SK_O) 및 IoT 도메인 소유자의 주소(αO)를 생성한다.(S101)Referring to FIG. 2 , first, the IoT domain owner generates the IoT domain owner's public key (PK_O), the IoT domain owner's private key (SK_O), and the IoT domain owner's address (α O ) in the block chain. (S101)

그 이후, IoT 도메인 소유자는 IoT 도메인 소유자의 사용자 이름(υO) 및 IoT 도메인 소유자의 비밀번호(ρO)를 생성한다.(S102)After that, the IoT domain owner creates a user name (υ O ) of the IoT domain owner and a password (ρ O ) of the IoT domain owner. (S102)

IoT 도메인 소유자는 ISP가 제공하는 인터넷 서비스에 가입하는 것으로 가정한다. It is assumed that the IoT domain owner subscribes to the Internet service provided by the ISP.

IoT 도메인 소유자는 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 주소(αO)를 ISP에 입력한다.(S103)The IoT domain owner inputs the IoT domain owner's username (υ O ), the IoT domain owner's password (ρ O ), and the IoT domain owner's address (α O ) to the ISP (S103).

그리고, ISP는 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 주소(αO)의 유효성을 검증한다.(S104)Then, the ISP verifies the validity of the IoT domain owner's user name (υ O ), the IoT domain owner's password (ρ O ), and the IoT domain owner's address (α O ). (S104)

검증이 완료되면, ISP는 IoT 도메인 소유자의 IP 주소(γO), ISP의 IP 주소(γISP) 및 ISP의 주소(αISP)를 IoT 도메인 소유자에게 전송한다.(S105)When the verification is complete, the ISP transmits the IoT domain owner's IP address (γ O ), the ISP's IP address (γ ISP ), and the ISP's address (α ISP ) to the IoT domain owner (S105).

IoT 도메인 소유자는 블록체인에서 IoT 게이트웨이의 공개키(PK_GW), IoT 게이트웨이의 개인키(SK_GW)를 생성한다.(S106)The IoT domain owner generates the public key (PK_GW) of the IoT gateway and the private key (SK_GW) of the IoT gateway in the block chain. (S106)

그리고, IoT 도메인 소유자는 IoT 게이트웨이의 주소(αGW)를 생성한다. (S107)Then, the IoT domain owner creates an address (α GW ) of the IoT gateway. (S107)

그 이후, IoT 도메인 소유자는 블록체인에서 IoT 게이트웨이의 IP 주소(γGW)를 IoT 도메인 소유자의 IP 주소(γO)로 설정한다.(S108)After that, the IoT domain owner sets the IP address (γ GW ) of the IoT gateway as the IP address (γ O ) of the IoT domain owner in the block chain. (S108)

ISP는 ISP의 주소(αISP)를 통해 찾을 수 있는 인증 서버를 설치한다.(S109)The ISP installs an authentication server that can be found through the ISP's address (α ISP). (S109)

블록체인 내의 모든 엔티티(entity)는 스마트계약의 주소(αSC)를 알고 있고, 스마트계약의 주소(αSC)를 통해 스마트계약을 찾을 수 있다.Every entity (entity) within the block chain is a smart and know the address of the Agreement (α SC), you can find the smart deal with the address of a smart Agreement (α SC).

도 3은 IoT 게이트웨이를 인증하는 단계에 대한 순서도이다. 3 is a flowchart of a step of authenticating an IoT gateway.

도 3을 참조하면, 먼저 IoT 도메인 소유자는 ISP에 대해 인증 페이로드(X1) 및 인증 페이로드의 해시(Y1)를 포함한 인증 정보를 생성한다.(S201)Referring to FIG. 3 , first, the IoT domain owner generates authentication information including an authentication payload (X 1 ) and a hash (Y 1 ) of the authentication payload for the ISP (S201).

이 때 생성되는 인증 정보는 다음과 같다. The authentication information generated at this time is as follows.

ω1O||ρO ω 1O ||ρ O

ηη

X11||γO||ηX 11 ||γ O ||η

Y1=H(X1)Y 1 =H(X 1 )

여기서, ω1은 IoT 도메인 소유자의 사용자 이름(υO)과 IoT 도메인 소유자의 비밀번호(ρO)를 연접한 것이다. 그리고, η는 재전송 공격을 방지하기 위한 임의의 문자열이고, X1은 ω1과 IoT 도메인 소유자의 IP 주소(γO)와 η를 연접한 인증 페이로드이고, Y1은 인증 페이로드의 해시이다. Here, ω 1 is the concatenation of the user name (υ O ) of the IoT domain owner and the password (ρ O ) of the IoT domain owner. And, η is an arbitrary string to prevent retransmission attacks, X 1 is the authentication payload concatenated with ω 1 and the IP address (γ O ) of the IoT domain owner and η, Y 1 is the hash of the authentication payload .

그 이후, IoT 도메인 소유자는 인증 페이로드의 해시(Y1), 소스(source)인 발신자(sender) IoT 도메인 소유자의 주소(αO), 인증 타겟(authentication target)인 IoT 게이트웨이의 주소(αGW) 및 검증자(verifier)인 ISP의 주소(αISP)를 스마트계약으로 전송한다.(S202)After that, the IoT domain owner has the hash of the authentication payload (Y 1 ), the address of the sender IoT domain owner as the source ( α O ), and the address of the IoT gateway as the authentication target ( α GW ) ) and the address (α ISP ) of the ISP, which is a verifier, are transmitted to the smart contract (S202).

그리고, 스마트계약은 인증 페이로드의 해시(Y1), 소스(source)인 발신자(sender) IoT 도메인 소유자의 주소(αO), 인증 타겟(authentication target)인 IoT 게이트웨이의 주소(αGW) 및 검증자(verifier)인 ISP의 주소(αISP)를 스마트계약의 인증 목록에 저장한다.(S203)And, the smart contract is the hash of the authentication payload (Y 1 ), the address of the sender IoT domain owner as the source ( α O ), the address of the IoT gateway as the authentication target ( α GW ) and The address (α ISP ) of the ISP that is the verifier is stored in the authentication list of the smart contract (S203).

스마트계약은 인증 목록을 유지 관리한다. 이 인증 목록은 블록체인 내에 있으며, 검색을 위한 키로 사용되는 해시를 포함하여 구성되는 테이블이다. 인증 목록의 각 로그는 상태(status) 및 해지(revocation)라는 2개의 파라미터(parameter)를 갖고 있다. 스마트계약은 파라미터 2개의 기본 값을 False로 설정한다. 상태(status) 파라미터는 인증 및 인가가 완료되었음을 의미하고, 해지(revocation) 파라미터는 인증 및 인가가 해지되었음을 의미한다. The smart contract maintains a list of authorizations. This list of authorizations resides within the blockchain and is a table constructed with hashes used as keys for retrieval. Each log in the authentication list has two parameters: status and revocation. The smart contract sets the default values of two parameters to False. A status parameter means that authentication and authorization have been completed, and a revocation parameter means that authentication and authorization have been revoked.

이 때, 스마트계약은 인증 페이로드의 해시(Y1)의 상태(status) 파라미터 값 및 해지(revocation) 파라미터 값을 False로 설정한다.At this time, the smart contract sets the status parameter value and the revocation parameter value of the hash (Y 1 ) of the authentication payload to False.

그 이후, 스마트계약은 트랜잭션의 영수증으로 트랜잭션 해시를 IoT 도메인 소유자에게 반환한다.(S204)After that, the smart contract returns the transaction hash to the IoT domain owner as a receipt for the transaction (S204).

그 이후, IoT 도메인 소유자는 IoT 게이트웨이에 대한 인증 요청서(X2)를 생성한다.(S205)After that, the IoT domain owner generates an authentication request (X 2 ) for the IoT gateway. (S205)

구체적으로, IoT 도메인 소유자는 인증 페이로드의 해시(Y1)에 서명하고, 인증 페이로드(X1)와 인증 페이로드의 해시에 대한 서명(C1)을 연접하여 암호화함으로써, IoT 게이트웨이 대한 인증 요청서(X2)를 생성한다. Specifically, the IoT domain owner signs the hash (Y 1 ) of the authentication payload and concatenates and encrypts the signature (C 1 ) for the hash of the authentication payload (X 1 ) and the authentication payload, thereby authenticating the IoT gateway. Create a request (X 2 ).

C1=SIGNSK_O(Y1)C 1 =SIGN SK_O (Y 1 )

X2=PKEPK_ISP(X1||C1)X 2 =PKE PK_ISP (X 1 ||C 1 )

여기서, C1은 IoT 도메인 소유자의 개인키(SK_O)를 사용하여, 인증 페이로드의 해시(Y1)에 서명한 것이고, X2는 ISP의 공개키(PK_ISP)를 사용하여 X1||C1을 암호화한 것이다. 다시 말해서, C1은 인증 페이로드의 해시(Y1)에 대한 서명이고, X2는 IoT 게이트웨이에 대한 인증 요청서이다.Here, C 1 uses the IoT domain owner's private key (SK_O) to sign the hash (Y 1 ) of the authentication payload, and X 2 is X 1 ||C using the ISP's public key (PK_ISP). 1 is encrypted. In other words, C 1 is the signature for the hash (Y 1 ) of the authentication payload, and X 2 is the authentication request to the IoT gateway.

그 이후, IoT 도메인 소유자는 IoT 게이트웨이에 대한 인증 요청서(X2)를 ISP로 전송한다.(S206)After that, the IoT domain owner transmits an authentication request (X 2 ) for the IoT gateway to the ISP (S206).

그 이후, ISP는 IoT 게이트웨이에 대한 인증 요청서(X2)를 검증한다.(S207)After that, the ISP verifies the authentication request (X 2 ) for the IoT gateway. (S207)

도 4는 ISP가 IoT 게이트웨이에 대한 인증 요청서를 검증하는 단계에 대한 알고리즘이다. 4 is an algorithm for a step in which an ISP verifies an authentication request for an IoT gateway.

도 4를 참조하면, ISP는 다음 식을 통해 IoT 게이트웨이에 대한 인증 요청서(X2)의 암호를 해독한다.(S301)Referring to FIG. 4 , the ISP decrypts the authentication request form (X 2 ) for the IoT gateway through the following equation (S301).

X1||C1 ← PKDSK_ISP(X2) X 1 ||C 1 ← PKD SK_ISP (X 2 )

여기서, PKDSK _ ISP(X2)는 ISP의 개인키(SK_ISP)를 사용하여 IoT 게이트웨이에 대한 인증 요청서(X2)의 암호를 해독하는 것이다.Here, PKD SK _ ISP (X 2 ) is to decrypt the authentication request (X 2 ) for the IoT gateway using the private key (SK_ISP) of the ISP.

그 이후, ISP는 isFreshNonce 함수를 이용하여 재전송 공격을 방지하기 위한 임의의 문자열(η)이 이전에 한번도 사용된 적이 없는 새로운 것인지 확인한다.(S302)After that, the ISP uses the isFreshNonce function to check whether a random string (η) for preventing replay attacks is new and has never been used before (S302).

isFreshNonce(η)isFreshNonce(η)

그 이후, ISP는 다음 식을 이용하여 인증 페이로드의 해시(Y1)를 계산한다.(S303) After that, the ISP calculates the hash (Y 1 ) of the authentication payload using the following equation (S303).

Y1 ← H(X1)Y 1 ← H(X 1 )

그리고, ISP는 getAuthenticationPayload 함수를 사용하여 스마트계약에서 소스(source)인 발신자(sender) IoT 도메인 소유자의 주소(αO), 인증 타겟(authentication target)인 IoT 게이트웨이의 주소(αGW) 및 검증자(verifier) ISP의 주소(αISP)를 획득한다.(S304)And, the ISP uses the getAuthenticationPayload function in the smart contract, the source address of the sender IoT domain owner (α O ), the authentication target (authentication target) of the IoT gateway address (α GW ) and the validator ( verifier) Obtain the address (α ISP ) of the ISP. (S304)

source, target, verifier ← getAuthenticationPayload(Y1)source, target, verifier ← getAuthenticationPayload(Y 1 )

그 이후, ISP는 인증 타겟(authentication target)인 IoT 게이트웨이의 주소(αGW)의 검증 여부를 확인한다.(S305) After that, the ISP checks whether the address (α GW ) of the IoT gateway, which is the authentication target, is verified (S305).

구체적으로, ISP는 다음 식을 통해 인증 타겟(authentication target)인 IoT 게이트웨이의 주소(αGW)의 검증 여부를 확인한다. Specifically, the ISP checks whether the address (α GW ) of the IoT gateway, which is an authentication target, is verified through the following equation.

!isVerifiedEndpoint(target)!isVerifiedEndpoint(target)

그 이후, ISP는 검증자(verifier)와 ISP의 주소(αISP)가 일치하는지 검사한다.(S306)After that, the ISP checks whether the verifier and the address of the ISP (α ISP ) match. (S306)

구체적으로, ISP는 다음 식을 통해 검증자(verifier)와 ISP의 주소(αISP)를 비교함으로써, 이 인증 페이로드가 실제로 ISP에 대한 것인지 다시 검사한다. Specifically, the ISP re-checks whether this authentication payload is actually for the ISP by comparing the address (α ISP ) of the verifier and the ISP through the following equation.

verifier==αISP verifier==α ISP

그 이후, ISP는 인증 페이로드의 해시(Y1)에 대한 서명(C1

Figure pat00001
)을 검증한다.(S307)After that, the ISP signs (C 1 ) the hash (Y 1 ) of the authentication payload.
Figure pat00001
) is verified. (S307)

VERIFY(C1,Y1,source)VERIFY(C 1 ,Y 1 ,source)

여기서, VERIFY(C1,Y1,source)는 인증 페이로드의 해시(Y1)에 대한 서명(C1)이 소스(source)인 발신자(sender) IoT 도메인 소유자의 주소(αO)에 의해 서명되었는지 검증하는 것이다.Here, VERIFY(C 1 ,Y 1 ,source) is the address (α O ) of the sender IoT domain owner whose signature (C 1 ) for the hash (Y 1 ) of the authentication payload is the source. To verify that it is signed.

그 이후, ISP는 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 IP주소(γO)를 포함한 사용자 정보의 세부사항을 획득한다.(S308)After that, the ISP obtains details of user information including the user name (υ O ) of the IoT domain owner, the password (ρ O ) of the IoT domain owner, and the IP address (γ O ) of the IoT domain owner (S308).

구체적으로, ISP는 getUserInfo 함수를 사용하여 사용자 정보의 세부사항을 획득한다.Specifically, the ISP uses the getUserInfo function to obtain details of user information.

user, pass, IP ← getUserInfo(source)user, pass, IP ← getUserInfo(source)

여기서, 사용자 정보의 세부 사항은 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 IP 주소(γO)이다. Here, the details of the user information are the user name (υ O ) of the IoT domain owner, the password (ρ O ) of the IoT domain owner, and the IP address (γ O ) of the IoT domain owner.

그 이후, ISP는 상기 단계에서 획득한 사용자 정보의 세부사항이 인증 페이로드 내의 사용자 정보의 세부사항과 일치하는지 검사한다.(S309)After that, the ISP checks whether the details of the user information obtained in the above step match the details of the user information in the authentication payload (S309).

user==υO, pass==ρO, IP==γO user==υ O , pass==ρ O , IP==γ O

마지막으로, 모든 단계가 완료되면, 도 4의 알고리즘은 True 값을 반환함으로써 IoT 게이트웨이에 대한 인증 요청서(X2)의 검증이 완료되었음을 나타낸다.(S310) Finally, when all steps are completed, the algorithm of FIG. 4 indicates that the verification of the authentication request (X 2 ) for the IoT gateway has been completed by returning a True value. (S310)

IoT 게이트웨이에 대한 인증 요청서(X2)의 검증이 완료되면, ISP는 인증 페이로드의 해시(Y1), IoT 도메인 소유자의 IP 주소(γO)가 포함된 인증 결과를 스마트계약으로 전송한다.(S208) When the verification of the authentication request for the IoT gateway (X 2 ) is completed, the ISP transmits the authentication result including the hash of the authentication payload (Y 1 ) and the IP address (γ O ) of the IoT domain owner to the smart contract. (S208)

그 이후, 스마트계약은 인증 결과를 스마트계약의 인증 목록에 저장한다. (S209)After that, the smart contract stores the authentication result in the smart contract's authentication list. (S209)

구체적으로, 스마트계약은 인증 목록에서 인증 페이로드의 해시(Y1)의 상태(status) 파라미터 값을 True로 설정한다. 그 이후, 스마트계약은 IoT 도메인 소유자의 IP 주소(γO) 및 IoT 게이트웨이의 주소(αGW)를 인증 목록에 저장한다. Specifically, the smart contract sets the status parameter value of the hash (Y 1 ) of the authentication payload in the authentication list to True. After that, the smart contract stores the IP address of the IoT domain owner (γ O ) and the address of the IoT gateway (α GW ) in the authentication list.

그 이후, 스마트계약은 트랜잭션의 영수증으로 트랜잭션 해시를 ISP로 반환한다.(S210)After that, the smart contract returns the transaction hash to the ISP as a receipt for the transaction (S210).

그 이후, ISP는 인증 완료 메시지를 IoT 도메인 소유자에게 전송한다.(S211)After that, the ISP transmits an authentication completion message to the IoT domain owner (S211).

상기 인증 절차를 통해, ISP는 IoT 도메인 소유자의 IP 주소(γO)가 IoT 도메인 소유자에게 속한 것임을 승인할 수 있다. 또한, IoT 서비스는 블록체인에서 IoT 게이트웨이의 주소(αGW)를 사용하여 IoT 게이트웨이의 IP 주소(γGW)를 문의할 수 있다. 그리고, IoT 서비스는 스마트계약의 인증 목록에 IoT 게이트웨이의 주소(αGW)가 있는지 확인함으로써, IoT 게이트웨이의 인증 여부를 확인할 수 있다. Through the authentication procedure, the ISP may approve that the IP address (γ O ) of the IoT domain owner belongs to the IoT domain owner. Also, the IoT service may use the address (α GW ) of the IoT gateway in the blockchain to query the IP address (γ GW ) of the IoT gateway. In addition, the IoT service can check whether the IoT gateway is authenticated by checking whether the address (α GW ) of the IoT gateway is in the authentication list of the smart contract.

IoT 도메인 소유자의 요청에 의해 스마트계약이 IoT 게이트웨이를 해지하는 단계에 대해 설명한다. This section describes the steps in which the smart contract terminates the IoT gateway at the request of the IoT domain owner.

도 5는 스마트 계약이 IoT 게이트웨이를 해지하는 단계에 대한 순서도이다. 5 is a flowchart of a step in which a smart contract terminates an IoT gateway.

먼저, IoT 도메인 소유자는 해지하고자 하는 IoT 게이트웨이의 인증 페이로드의 해시(Y1)를 검색한다.(S401) First, the IoT domain owner searches the hash (Y 1 ) of the authentication payload of the IoT gateway to be revoked. (S401)

그 이후, IoT 도메인 소유자는 스마트계약에서 호출한 revokeEndpoint 함수에 IoT 게이트웨이의 인증 페이로드의 해시(Y1)를 입력하여 생성된 트랜잭션을 스마트계약으로 전송한다.(S402) After that, the IoT domain owner inputs the hash (Y 1 ) of the authentication payload of the IoT gateway to the revokeEndpoint function called by the smart contract and transmits the generated transaction to the smart contract (S402).

그 이후, 스마트계약은 인증 목록을 검사하여 IoT 게이트웨이 인증 페이로드 해시(Y1)의 발신자와 IoT 도메인 소유자의 주소(αo)가 일치하는지 확인한다.(S403)After that, the smart contract checks the authentication list and checks whether the sender of the IoT gateway authentication payload hash (Y 1 ) and the address (α o ) of the IoT domain owner match. (S403)

인증 페이로드 해시(Y1)의 발신자와 IoT 도메인 소유자의 주소(αo)와 일치하면, 스마트계약이 IoT 게이트웨이의 인증 페이로드의 해시(Y1)의 해지(revocation) 파라미터 값을 True로 설정하고, 인증 목록에서 IoT 게이트웨이를 제거한다.(S404)If the authentication payload hash (Y 1 ) matches the address (α o ) of the sender and the IoT domain owner, the smart contract sets the revocation parameter value of the hash (Y 1 ) of the authentication payload of the IoT gateway to True and remove the IoT gateway from the authentication list. (S404)

스마트계약의 인증 목록에서 IoT 게이트웨이가 제거된 경우, IoT 게이트웨이 및 IoT 게이트웨이에 속한 모든 IoT 디바이스는 더 이상 신뢰할 수 없다. When an IoT gateway is removed from the authentication list of a smart contract, the IoT gateway and all IoT devices belonging to the IoT gateway can no longer be trusted.

Claims (5)

IoT 도메인 소유자가 IoT 게이트웨이의 인증을 준비하는 단계;
IoT 도메인 소유자의 요청에 의해 인터넷 서비스 공급자가 IoT 게이트웨이를 인증하는 단계; 및
스마트계약이 IoT 게이트웨이를 해지하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법
preparing the IoT gateway for authentication by the IoT domain owner;
authenticating the IoT gateway by the Internet service provider at the request of the IoT domain owner; and
A method for authentication and revocation of an IoT gateway based on a block chain, characterized in that the smart contract comprises the step of revoking the IoT gateway
제 1항에 있어서,
상기 IoT 도메인 소유자가 IoT 게이트웨이의 인증을 준비하는 단계에서는
IoT 도메인 소유자가 블록체인 내에 IoT 도메인 소유자의 공개키(PK_O), IoT 도메인 소유자의 개인키(SK_O) 및 IoT 도메인 소유자의 주소(αO)를 생성하는 단계;
IoT 도메인 소유자가 IoT 도메인 소유자의 사용자 이름(υO) 및 IoT 도메인 소유자의 비밀번호(ρO)를 생성하는 단계;
IoT 도메인 소유자가 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 주소(αO)를 ISP에 입력하는 단계;
ISP가 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 주소(αO)의 유효성을 검증하는 단계;
ISP가 IoT 도메인 소유자의 IP 주소(γO), ISP의 IP 주소(γISP) 및 ISP의 주소(αISP)를 IoT 도메인 소유자에게 전송하는 단계;
IoT 도메인 소유자가 블록체인에서 IoT 게이트웨이의 공개키(PK_GW), IoT 게이트웨이의 개인키(SK_GW)를 생성하는 단계;
IoT 도메인 소유자가 IoT 게이트웨이의 주소(αGW)를 생성하는 단계;
IoT 도메인 소유자가 블록체인에서 IoT 게이트웨이의 IP 주소(γGW)를 IoT 도메인 소유자의 IP 주소(γO)로 설정하는 단계; 및
ISP는 ISP의 주소(αISP)를 통해 찾을 수 있는 인증 서버를 설치하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법
The method of claim 1,
In the step in which the IoT domain owner prepares for authentication of the IoT gateway,
generating, by the IoT domain owner, a public key (PK_O) of the IoT domain owner, a private key (SK_O) of the IoT domain owner, and an address (α O ) of the IoT domain owner in the block chain;
generating, by the IoT domain owner, a user name (υ O ) of the IoT domain owner and a password (ρ O ) of the IoT domain owner;
the IoT domain owner inputting the IoT domain owner's username (υ O ), the IoT domain owner's password (ρ O ), and the IoT domain owner's address (α O ) to the ISP;
the ISP verifying the validity of the IoT domain owner's username (υ O ), the IoT domain owner's password (ρ O ), and the IoT domain owner's address (α O );
sending, by the ISP, the IoT domain owner's IP address (γ O ), the ISP's IP address (γ ISP ), and the ISP's address (α ISP ) to the IoT domain owner;
generating, by the IoT domain owner, a public key (PK_GW) of the IoT gateway and a private key (SK_GW) of the IoT gateway in the block chain;
generating, by an IoT domain owner, an address (α GW ) of an IoT gateway;
The step of the IoT domain owner setting the IP address (γ GW ) of the IoT gateway in the blockchain as the IP address (γ O ) of the IoT domain owner; and
ISP is an authentication and revocation method of an IoT gateway based on a block chain, characterized in that it comprises the step of installing an authentication server that can be found through the ISP's address (α ISP )
제 1항에 있어서,
상기 IoT 도메인 소유자의 요청에 의해 인터넷 서비스 공급자가 IoT 게이트웨이를 인증하는 단계에서는
IoT 도메인 소유자가 ISP에 대해 인증 페이로드(X1) 및 인증 페이로드의 해시(Y1)를 포함한 인증 정보를 생성하는 단계;
IoT 도메인 소유자가 인증 페이로드의 해시(Y1), 소스인 발신자 IoT 도메인 소유자의 주소(αO), 인증 타겟인 IoT 게이트웨이의 주소(αGW), 검증자인 ISP의 주소(αISP)를 스마트계약으로 전송하는 단계;
IoT 도메인 소유자가 인증 페이로드의 해시(Y1), 소스인 발신자 IoT 도메인 소유자의 주소(αO), 인증 타겟인 IoT 게이트웨이의 주소(αGW), 검증자인 ISP의 주소(αISP)를 스마트계약의 인증 목록에 저장하는 단계;
스마트계약이 트랜잭션 해시를 IoT 도메인 소유자에게 반환하는 단계;
IoT 도메인 소유자가 IoT 게이트웨이 대한 인증 요청서(X2)를 생성하는 단계;
IoT 도메인 소유자가 IoT 게이트웨이 대한 인증 요청서(X2)를 ISP로 전송하는 단계;
ISP가 IoT 게이트웨이 대한 인증 요청서(X2)를 검증하는 단계;
ISP가 인증 페이로드의 해시(Y1) 및 IoT 도메인 소유자의 IP 주소(γO)가 포함된 인증 결과를 스마트계약으로 전송하는 단계;
인증 결과를 스마트계약의 인증 목록에 저장하는 단계;
스마트계약이 트랜잭션 해시를 ISP로 반환하는 단계; 및
ISP가 인증 완료 메시지를 IoT 도메인 소유자에게 전송하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법
The method of claim 1,
In the step of authenticating the IoT gateway by the Internet service provider at the request of the IoT domain owner,
generating, by the IoT domain owner, authentication information including an authentication payload (X 1 ) and a hash of the authentication payload (Y 1 ) for the ISP;
The IoT domain owner smartens the hash of the authentication payload (Y 1 ), the source address of the sender IoT domain owner (α O ), the authentication target IoT gateway address (α GW ), and the validator’s ISP address (α ISP ). sending to the contract;
The IoT domain owner smartens the hash of the authentication payload (Y 1 ), the source address of the sender IoT domain owner (α O ), the authentication target IoT gateway address (α GW ), and the validator’s ISP address (α ISP ). storing the contract's certification list;
the smart contract returning the transaction hash to the IoT domain owner;
IoT domain owner generating an authentication request for the IoT gateway (X 2 );
Transmitting, by the IoT domain owner, an authentication request for the IoT gateway (X 2 ) to the ISP;
ISP verifying the authentication request for the IoT gateway (X 2 );
transmitting, by the ISP, the authentication result including the hash of the authentication payload (Y 1 ) and the IP address of the IoT domain owner (γ O ) to the smart contract;
storing the authentication result in the authentication list of the smart contract;
the smart contract returning the transaction hash to the ISP; and
Authentication and revocation method of an IoT gateway based on a block chain, characterized in that it comprises the step of an ISP sending an authentication completion message to the IoT domain owner
제 3항에 있어서,
상기 ISP가 IoT 게이트웨이 대한 인증 요청서(X2)를 검증하는 단계에서는
ISP가 IoT 게이트웨이에 대한 인증 요청서(X2)의 암호를 해독하는 단계;
ISP가 재전송 공격을 방지하기 위한 임의의 문자열(η)이 이전에 한번도 사용된 적이 없는 새로운 것인지 확인하는 단계;
ISP가 인증 페이로드의 해시(Y1)를 계산하는 단계;
ISP가 스마트계약에서 소스인 발신자 IoT 도메인 소유자의 주소(αO), 인증 타겟인 IoT 게이트웨이의 주소(αGW) 및 검증자인 ISP의 주소(αISP)를 획득하는 단계;
ISP가 인증 타겟인 IoT 게이트웨이의 주소(αGW)의 검증 여부를 확인하는 단계;
ISP가 검증자와 ISP의 주소(αISP)가 일치하는지 검사하는 단계;
ISP가 인증 페이로드의 해시에 대한 서명(C1)을 검증하는 단계;
ISP가 IoT 도메인 소유자의 사용자 이름(υO), IoT 도메인 소유자의 비밀번호(ρO) 및 IoT 도메인 소유자의 IP주소(γO)을 포함한 사용자 정보의 세부사항을 획득하는 단계;
ISP가 상기 단계에서 획득한 사용자 정보의 세부사항이 인증 페이로드 내의 사용자 정보의 세부사항과 일치하는지 검사하는 단계; 및
True 값을 반환함으로써 IoT 게이트웨이에 대한 인증 요청서(X2)의 검증이 완료되었음을 나타내는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법
4. The method of claim 3,
In the step of the ISP verifying the authentication request (X 2 ) for the IoT gateway,
The ISP decrypts the authentication request for the IoT gateway (X 2 );
confirming, by the ISP, that the random string η for preventing replay attacks is new and has never been used before;
calculating the hash (Y 1 ) of the authentication payload by the ISP;
obtaining, by the ISP, the address of the sender IoT domain owner as the source (α O ), the address of the IoT gateway as the authentication target (α GW ) and the address of the ISP as the verifier (α ISP ) in the smart contract;
checking whether the ISP verifies the address (α GW ) of the IoT gateway that is the authentication target;
checking, by the ISP , whether the addresses of the verifier and the ISP (α ISP ) match;
verifying, by the ISP, the signature (C 1 ) against the hash of the authentication payload;
obtaining, by the ISP, details of user information including the user name of the IoT domain owner (υ O ), the password of the IoT domain owner (ρ O ), and the IP address (γ O ) of the IoT domain owner;
checking, by the ISP, whether the details of the user information obtained in the above step match the details of the user information in the authentication payload; and
Authentication and revocation method of an IoT gateway based on a block chain, characterized in that it comprises the step of indicating that the verification of the authentication request (X 2 ) for the IoT gateway is completed by returning a True value
제 1항에 있어서,
상기 스마트계약이 IoT 게이트웨이를 해지하는 단계에서는
IoT 도메인 소유자가 해지하고자 하는 IoT 게이트웨이의 인증 페이로드의 해시(Y1)를 검색하는 단계;
IoT 도메인 소유자가 IoT 게이트웨이의 인증 페이로드의 해시(Y1)를 입력하여 생성된 트랜잭션을 스마트계약으로 전송하는 단계;
스마트계약이 인증 목록을 검사하여 IoT 게이트웨이의 인증 페이로드 해시(Y1)의 발신자와 IoT 도메인 소유자의 주소(αo)가 일치하는지 확인하는 단계; 및
스마트계약이 IoT 게이트웨이의 인증 페이로드의 해시(Y1)의 해지 파라미터 값을 True로 설정하고, 인증 목록에서 IoT 게이트웨이를 제거하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법
The method of claim 1,
When the smart contract terminates the IoT gateway,
retrieving the hash (Y 1 ) of the authentication payload of the IoT gateway that the IoT domain owner wants to revoke;
transmitting, by the IoT domain owner, a transaction generated by inputting the hash (Y 1 ) of the authentication payload of the IoT gateway to the smart contract;
the smart contract checking the authentication list to verify that the sender of the authentication payload hash (Y 1 ) of the IoT gateway and the address of the IoT domain owner (α o ) match; and
IoT based on blockchain, characterized in that the smart contract is configured including the steps of setting the revocation parameter value of the hash (Y 1 ) of the authentication payload of the IoT gateway to True, and removing the IoT gateway from the authentication list. How to authenticate and revoke a gateway
KR1020200003513A 2020-01-10 2020-01-10 Blockchain-based authenticaton and revocation method for the internet of things gateway KR102416561B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200003513A KR102416561B1 (en) 2020-01-10 2020-01-10 Blockchain-based authenticaton and revocation method for the internet of things gateway

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200003513A KR102416561B1 (en) 2020-01-10 2020-01-10 Blockchain-based authenticaton and revocation method for the internet of things gateway

Publications (2)

Publication Number Publication Date
KR20210090372A true KR20210090372A (en) 2021-07-20
KR102416561B1 KR102416561B1 (en) 2022-07-01

Family

ID=77127436

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200003513A KR102416561B1 (en) 2020-01-10 2020-01-10 Blockchain-based authenticaton and revocation method for the internet of things gateway

Country Status (1)

Country Link
KR (1) KR102416561B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039952A (en) * 2021-10-18 2022-02-11 广州鲁邦通物联网科技股份有限公司 Intelligent gateway Internet of things control method and system applying block chain technology
CN115396165A (en) * 2022-08-15 2022-11-25 中国联合网络通信集团有限公司 File management method and device, electronic equipment and storage medium
KR20230105554A (en) * 2022-01-04 2023-07-11 동서대학교 산학협력단 User's register and login method for cloud-based artificial intelligence system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677249B1 (en) 2015-06-15 2016-11-17 주식회사 명인소프트 Security Apparatus and Method for Controlling Internet of Things Device Using User Token
KR101716855B1 (en) * 2015-10-20 2017-03-15 주식회사 뉴로메카 Network pairing method in gateway for internet of things system
KR20170089795A (en) * 2017-07-17 2017-08-04 강정헌 Using centrally managed block chain authentication autonomous cluster communication security system and method
KR20180070947A (en) * 2016-12-19 2018-06-27 전자부품연구원 Communication Method and System based on MQTT/HTTP for IoT Gateway Using Private-IP Address
KR20190026394A (en) 2017-09-05 2019-03-13 한국전자통신연구원 METHOD FOR ACCESS CONTROL BETWEEN IoT TERMINALS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677249B1 (en) 2015-06-15 2016-11-17 주식회사 명인소프트 Security Apparatus and Method for Controlling Internet of Things Device Using User Token
KR101716855B1 (en) * 2015-10-20 2017-03-15 주식회사 뉴로메카 Network pairing method in gateway for internet of things system
KR20180070947A (en) * 2016-12-19 2018-06-27 전자부품연구원 Communication Method and System based on MQTT/HTTP for IoT Gateway Using Private-IP Address
KR20170089795A (en) * 2017-07-17 2017-08-04 강정헌 Using centrally managed block chain authentication autonomous cluster communication security system and method
KR20190026394A (en) 2017-09-05 2019-03-13 한국전자통신연구원 METHOD FOR ACCESS CONTROL BETWEEN IoT TERMINALS

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039952A (en) * 2021-10-18 2022-02-11 广州鲁邦通物联网科技股份有限公司 Intelligent gateway Internet of things control method and system applying block chain technology
CN114039952B (en) * 2021-10-18 2022-08-05 广州鲁邦通物联网科技股份有限公司 Intelligent gateway Internet of things control method and system applying block chain technology
KR20230105554A (en) * 2022-01-04 2023-07-11 동서대학교 산학협력단 User's register and login method for cloud-based artificial intelligence system
CN115396165A (en) * 2022-08-15 2022-11-25 中国联合网络通信集团有限公司 File management method and device, electronic equipment and storage medium
CN115396165B (en) * 2022-08-15 2024-05-14 中国联合网络通信集团有限公司 File management method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
KR102416561B1 (en) 2022-07-01

Similar Documents

Publication Publication Date Title
US7992193B2 (en) Method and apparatus to secure AAA protocol messages
US11336641B2 (en) Security enhanced technique of authentication protocol based on trusted execution environment
US9654922B2 (en) Geo-fencing cryptographic key material
US9680827B2 (en) Geo-fencing cryptographic key material
US9647998B2 (en) Geo-fencing cryptographic key material
US20090199009A1 (en) Systems, methods and computer program products for authorising ad-hoc access
US20100031029A1 (en) Techniques to provide access point authentication for wireless network
KR102416561B1 (en) Blockchain-based authenticaton and revocation method for the internet of things gateway
CN101297534A (en) Method and apparatus for secure network authentication
KR20070030284A (en) System and method for implementing digital signature using one time private keys
KR20140127303A (en) Multi-factor certificate authority
JP2005276122A (en) Access source authentication method and system
KR102472471B1 (en) Blockchain-based access control method for the internet of thing device
KR102416562B1 (en) Blockchain-based authenticaton and revocation method for the internet of things device
KR100853448B1 (en) Domain-Based Mobile Agent Authentication System and Method Thereof
JP4499575B2 (en) Network security method and network security system
JP2024513521A (en) Secure origin of trust registration and identification management of embedded devices
KR100921153B1 (en) Method for authentication in network system
Jesudoss et al. Enhanced certificate-based authentication for distributed environment
JP2007074164A (en) System, method, and program for authentication
KR20170111809A (en) Bidirectional authentication method using security token based on symmetric key
JP2022064688A (en) IoT DEVICE AUTHENTICATION SYSTEM, IoT DEVICE AUTHENTICATION METHOD, KEY DISTRIBUTION SERVER, AND IC CHIP
JP2014134878A (en) Authentication system, authentication device and authentication method
Ko et al. Viotsoc: Controlling access to dynamically virtualized iot services using service object capability
KR20220143477A (en) IoT Device Authentication System and IoT Device Authentication Method Using the Same

Legal Events

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