KR102472471B1 - 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법 - Google Patents

블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법 Download PDF

Info

Publication number
KR102472471B1
KR102472471B1 KR1020200003534A KR20200003534A KR102472471B1 KR 102472471 B1 KR102472471 B1 KR 102472471B1 KR 1020200003534 A KR1020200003534 A KR 1020200003534A KR 20200003534 A KR20200003534 A KR 20200003534A KR 102472471 B1 KR102472471 B1 KR 102472471B1
Authority
KR
South Korea
Prior art keywords
iot
gateway
service
access
authorization
Prior art date
Application number
KR1020200003534A
Other languages
English (en)
Other versions
KR20210090379A (ko
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 KR1020200003534A priority Critical patent/KR102472471B1/ko
Publication of KR20210090379A publication Critical patent/KR20210090379A/ko
Application granted granted Critical
Publication of KR102472471B1 publication Critical patent/KR102472471B1/ko

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
    • H04L9/3213Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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

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

본 발명은 IoT 서비스의 접근 인가를 준비하는 단계, IoT 서비스의 요청에 의해 IoT 게이트웨이가 IoT 서비스의 접근을 인가하는 단계, IoT 서비스가 IoT 디바이스로 접근하는 단계 및 IoT 서비스의 접근을 해지하는 단계를 포함하여 구성되는 것을 특징으로 한다.

Description

블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법{Blockchain-based access control method for the internet of thing device}
본 발명은 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법에 관한 것으로서, 더욱 상세하게는 접근이 인가된 IoT 서비스만이 IoT 게이트웨이에 속한 IoT 디바이스에 접근할 수 있도록 제어하고, 해지하고자 하는 IoT 서비스에 대해 적합한 해지 절차를 제공하는 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법에 관한 것이다.
사물인터넷(Internet of Things, IoT)은 사물에 센서를 부착해 실시간 데이터를 인터넷으로 주고받는 기술이나 환경을 의미한다. 사물인터넷으로 인해 인간은 이전보다 향상된 생활을 영위할 수 있다. 예를 들면, 사물인터넷은 인간이 낯선 지역을 헤매지 않고 한번에 찾아갈 수 있도록 안내할 수 있고, 비가 내리기 직전에 인간이 우산을 쓸 수 있도록 안내할 수 있다. 또한, 사물 인터넷은 스마트 홈, 스마트 도시, 스마트 산업 등 여러 분야에 적용되고 있고, 사물 인터넷이 성장함에 따라 수많은 디바이스가 인터넷에 연결되고 있다.
그러나, 최근에 사물 인터넷 관련 보안 사고가 과거에 비해 급속도로 증가하고 있다. 우선, 라즈베리 파이 디바이스에 의해 NASA 제트 추진 연구소 네트워크가 해킹당한 사례가 있다. 또한, 악성 코드에 감염된 수천만대의 사물 인터넷 디바이스들이 Dyn이라는 미국 DNS 서비스 업체에 디도스 공격을 가하여 미국 동부의 DNS 서비스를 마비시킨 사례가 있다.
사물 인터넷 네트워크에 적절한 접근 제어 메커니즘을 제공하는 경우 이러한 보안 사고를 방지할 수 있다. 그러나, 사물 인터넷 디바이스에 대해 견고한 접근 제어 메커니즘을 제공하는 것은 어려운 일이다.
어떤 사물 인터넷 디바이스는 자체 보안을 위한 암호화에 필수적인 계산 리소스를 갖고 있지 않을 수 있다. 또한, 다른 사물 인터넷 디바이스는 암호화를 전혀 수행할 수 없다.
그리고, 사물 인터넷 디바이스는 호환성에 제한이 있다. 보안 프로토콜이 특정 프로토콜에서는 정상적으로 작동하지만 다른 프로토콜에서는 작동하지 않을 수 있다.
또한, 사물 인터넷 아키텍처는 중앙 집중형 모델에서 분산형 모델로 이동하고 있다. 중앙에서 시스템을 관리하지 않는 분산된 환경에서 신뢰 모델을 정의하는 것은 보다 문제가 된다.
KR 1020190026394 A KR 101677249 B1
삭제
본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 복수 개의 IoT 디바이스를 포함하고 있는 IoT 게이트웨이로 접근하는 IoT 서비스에 대해 IoT 게이트웨이가 IoT 서비스의 접근을 인가하는 방법 및 IoT 서비스에 대해 접근 인가를 해지하는 방법을 제공한다.
상기의 과제를 해결하기 위한 본 발명의 실시예에 따르면, 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법은 IoT 서비스의 접근 인가를 준비하는 단계, IoT 서비스의 요청에 의해 IoT 게이트웨이가 IoT 서비스의 접근을 인가하는 단계, IoT 서비스가 IoT 디바이스로 접근하는 단계 및 IoT 서비스의 접근을 해지하는 단계를 포함하여 구성되는 것을 특징으로 한다.
또한, 상기 IoT 서비스의 접근 인가를 준비하는 단계에서는 IoT 서비스가 IoT 서비스의 공개키(PK_S), IoT 서비스의 개인키(SK_S) 및 IoT 서비스의 주소(αS)를 생성하는 단계, IoT 서비스가 IoT 게이트웨이에서 IoT 게이트웨이의 주소(αGW), IoT 게이트웨이의 IP 주소(γGW) 및 IoT 게이트웨이의 공개키(PK_GW)를 검색하는 단계 및 IoT 게이트웨이가 인가 서버를 네트워크에 설치하는 단계를 포함하여 구성되는 것을 특징으로 한다.
또한, 상기 IoT 서비스의 요청에 의해 IoT 게이트웨이가 IoT 서비스의 접근을 인가하는 단계에서는 IoT 서비스가 이용 가능한 접근 목록(A)을 IoT 게이트웨이에 요구하는 단계, IoT 게이트웨이가 이용 가능한 접근 목록(A), 접근 목록의 해시(Y3) 및 접근 목록의 해시에 대한 서명(C3)이 포함된 응답 정보를 생성하는 단계, IoT 게이트웨이가 이용 가능한 접근 목록(A) 및 접근 목록의 해시에 대한 서명(C3)을 IoT 서비스로 전송하는 단계, IoT 서비스가 접근 목록의 해시에 대한 서명(C3)을 검증하는 단계, IoT 서비스가 IoT 게이트웨이 및 IoT 디바이스의 인증 완료 여부를 다시 점검하는 단계, IoT 서비스가 접근하기 원하는 접근 목록(A'), 인가 페이로드(X7) 및 인가 페이로드의 해시(Y4)를 생성하는 단계, IoT 서비스가 인가 페이로드의 해시(Y4), 소스인 발신자 IoT 서비스의 주소(αS) 및 인가 타겟인 IoT 게이트웨이의 주소(αGW)를 스마트계약으로 전송하는 단계, 스마트계약이 IoT 서비스가 인가 페이로드의 해시(Y4), 소스인 발신자 IoT 서비스의 주소(αS) 및 인가 타겟인 IoT 게이트웨이의 주소(αGW)를 스마트계약의 인가 목록에 저장하는 단계, 스마트계약이 트랜잭션 해시를 IoT 서비스로 반환하는 단계, IoT 서비스가 IoT 서비스에 대한 인가 요청서(X8)를 생성하는 단계, IoT 서비스가 IoT 서비스에 대한 인가 요청서(X8)를 IoT 게이트웨이로 전송하는 단계, IoT 게이트웨이가 IoT 서비스에 대한 인가 요청서(X8)를 검증하는 단계, IoT 게이트웨이가 인가 페이로드의 해시(Y4)가 포함된 인가 결과를 스마트계약으로 전송하는 단계, IoT 게이트웨이가 IoT 서비스가 접근하기 원하는 접근 목록(A')을 IoT 게이트웨이의 데이터베이스에 저장하는 단계, IoT 게이트웨이가 인가 페이로드의 해시(Y4)가 포함된 인가 결과를 스마트계약으로 전송하는 단계, 스마트계약이 인가 페이로드의 해시(Y4)를 활성화시켜 IoT 서비스에 대한 접근 토큰(Y4)을 생성하는 단계, 스마트계약이 트랜잭션 해시를 IoT 게이트웨이로 반환하는 단계 및 IoT 게이트웨이가 인가 완료 메시지를 IoT 서비스로 전송하는 단계를 포함하여 구성되는 것을 특징으로 한다.
또한, 상기 IoT 게이트웨이가 IoT 서비스에 대한 인가 요청서(X8)를 검증하는 단계에서는 IoT 게이트웨이가 IoT 서비스에 대한 인가 요청서(X8)의 암호를 해독하는 단계, IoT 게이트웨이가 재전송 공격을 방지하기 위한 임의의 문자열(η)이 이전에 한번도 사용된 적이 없는 새로운 것인지 확인하는 단계, IoT 게이트웨이가 인가 페이로드의 해시(Y4)를 계산하는 단계, IoT 게이트웨이가 스마트계약에서 소스인 발신자 IoT 서비스의 주소(αS), 인가 타겟인 IoT 게이트웨이의 주소(αGW)를 획득하는 단계, IoT 게이트웨이가 인가 타겟과 IoT 게이트웨이의 주소(αGW)가 일치하는지 검사하는 단계, IoT 게이트웨이가 인가 페이로드의 해시에 대한 서명(C4)을 검증하는 단계, IoT 게이트웨이가 IoT 게이트웨이의 데이터베이스로부터 IoT 서비스가 보유하고 있는 접근 목록(AS)을 획득하는 단계, IoT 게이트웨이가 IoT 서비스가 접근하기 원하는 접근 목록(A')이 IoT 서비스가 보유하고 있는 접근 목록(AS)의 부분 집합인지 확인하는 단계, 및 True 값을 반환함으로써 IoT 서비스에 인가 요청서(X8)의 검증이 완료되었음을 나타내는 단계를 포함하여 구성되는 것을 특징으로 한다.
또한, 상기 IoT 서비스가 IoT 디바이스로 접근하는 단계에서는 IoT 서비스가 유효한 접근 토큰(Y4)이 포함된 인가 페이로드(X9), 인가 페이로드의 해시(Y5), 인가 페이로드의 해시에 대한 서명(C5) 및 접근 요청서(X10)가 포함된 접근 정보를 생성하는 단계, IoT 서비스가 접근 요청서(X10)를 IoT 게이트웨이로 전송하는 단계, IoT 게이트웨이가 접근 요청서의 암호(X10)를 해독하고, 인가 페이로드의 해시에 대한 서명(C5)의 유효성을 검증하는 단계, IoT 게이트웨이가 접근 토큰(Y4)의 유효성을 검사하는 단계, IoT 게이트웨이가 응답 메시지(X12)를 포함한 응답 정보를 생성하는 단계, IoT 게이트웨이가 응답 메시지(X12)를 IoT 서비스로 전송하는 단계, IoT 서비스가 응답 메시지(X12)의 암호를 해독하고, IoT 게이트웨이의 서명(C6)의 유효성을 검증하는 단계, IoT 서비스가 IoT 서비스에 대한 임의의 비밀로부터 새로운 비밀키(k)를 생성하고, IoT 리소스 메시지(M)를 생성한 후, IoT 리소스 메시지(M) 및 접근 토큰(Y4)을 연접한 식을 암호화한 메시지(X13)를 생성하는 단계, IoT 서비스가 메시지(X13)를 IoT 게이트웨이로 전송하는 단계, IoT 게이트웨이가 IoT 게이트웨이에 대한 임의의 비밀로부터 비밀키(k)를 생성하고, 메시지(X13)의 암호를 해독하는 단계, IoT 게이트웨이가 접근 토큰(Y4)의 유효성을 점검하는 단계, IoT 게이트웨이가 비밀키(k)를 사용하여 IoT 리소스 메시지(M)에 대한 응답 메시지(X14)를 생성하는 단계 및 IoT 게이트웨이가 IoT 리소스 메시지(M)에 대한 응답 메시지(X14)를 IoT 서비스로 전송하는 단계를 포함하여 구성되는 것을 특징으로 한다.
또한, 상기 IoT 서비스의 접근을 해지하는 단계에서는 IoT 도메인 소유자가 접근을 해지하고자 하는 IoT 서비스에 대해 접근 토큰(Y4)을 검색하는 단계, IoT 도메인 소유자가 접근 토큰(Y4)을 입력하여 생성된 트랜잭션을 스마트계약으로 전송하는 단계, 스마트계약이 접근 토큰(Y4)의 타겟이 IoT 게이트웨이의 주소(αGW)와 일치하는지 확인하기 위해 인가 목록을 검사하는 단계 및 스마트계약이 접근 토큰(Y4)의 해지 파라미터 값을 True로 설정하는 단계를 포함하여 구성되는 것을 특징으로 한다.
본 발명은 블록체인 내에서 IoT 서비스에 대해 일관된 접근 제어 규칙을 제공하고, IoT 게이트웨이 및 IoT 서비스 간에 신뢰성 있는 보안 채널을 구축하여 IoT 서비스와 IoT 게이트웨이 내에 속한 IoT 디바이스 상호 간에 안전하게 정보를 교환할 수 있는 효과가 있다.
또한, 본 발명의 블록체인 내에서 분산된 공개키를 통한 인가 시스템을 통해서 사용자의 개인 정보를 안전하게 보관할 수 있을 뿐만 아니라, 견고하고 무결한 해지 서비스를 제공하고, 중앙 집중형 시스템에서 일반적으로 적용되는 인증 표준 규격 X.509 인증 시스템을 대체할 수 있는 효과가 있다.
도 1은 블록체인을 기반으로 한 IoT 디바이스 접근 제어 시스템의 구성도이다.
도 2는 IoT 서비스의 접근 인가를 준비하는 단계에 대한 순서도이다.
도 3은 IoT 서비스의 접근을 인가하는 단계에 대한 순서도이다.
도 4는 IoT 게이트웨이가 IoT 서비스에 대한 인가 요청서를 검증하는 단계에 대한 알고리즘이다.
도 5는 IoT 서비스가 IoT 디바이스로 접근하는 단계에 대한 순서도이다.
도 6은 IoT 서비스의 접근을 해지하는 단계에 대한 순서도이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
그러나, 하기 실시예는 본 발명의 이해를 돕기 위한 일 예에 불과한 것으로 이에 의해 본 발명의 권리범위가 축소되거나 한정되는 것은 아니다. 또한, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
도 1은 블록체인을 기반으로 한 IoT 디바이스 접근 제어 시스템의 구성도이다.
도 1을 참조하면, IoT 디바이스 접근 제어 시스템은 IoT 게이트웨이, IoT 도메인 소유자, IoT 벤더, 인터넷 서비스 공급자(Internet Service Provider, ISP) 및 IoT 서비스를 포함하여 구성된다.
IoT 게이트웨이는 IoT 서비스가 IoT 디바이스에 대해 접근하는 것을 제어하고, IoT 게이트웨이에 속한 IoT 디바이스가 블록체인 내의 다른 엔티티(entity)와 통신을 수행하기 위한 창구 역할을 한다.
IoT 도메인 소유자는 IoT 게이트웨이 및 IoT 디바이스의 소유자로서, IoT 게이트웨이를 생성하고, IoT 벤더로부터 IoT 디바이스를 구입하여, IoT 게이트웨이를 복수개의 IoT 디바이스와 연결하여, IoT 도메인을 생성한다. 또한, IoT 도메인 소유자는 IoT 게이트웨이 및 IoT 게이트웨이에 속한 디바이스를 블록체인 내의 다른 엔티티(entity)에게 공개한다.
IoT 벤더는 IoT 디바이스의 제조자로써, IoT 도메인 소유자에게 IoT 디바이스를 공급하고, IoT 도메인 소유자의 요청에 의해 IoT 디바이스에 대한 인증을 수행한다.
인터넷 서비스 공급자(Internet Service Provider, ISP)는 IoT 도메인 소유자의 요청에 의해 IoT 게이트웨이에 대한 인증을 수행한다.
IoT 서비스는 IoT 디바이스에 접근하여 IoT 데이터를 수집한다. 또한, IoT 서비스는 조명 켜기 등과 같은 명령을 전송하여 IoT 디바이스를 지시한다.
스마트계약은 블록체인 내에서 IoT 게이트웨이 및 IoT 디바이스에 대한 인증 목록 및 IoT 서비스에 대한 인가 목록을 관리한다.
본 발명에서 사용되는 기호에 대해 설명한다.
αL은 블록체인의 내부 또는 블록체인의 외부에서 L의 아이디(identity, ID)로 사용되는 L의 주소이다. PKEPK _ x(J)는 공개키(public key) x를 사용하여 공개키 J를 암호화하는 것이다. PKDSK_y(K)는 개인키(private key) y를 사용하여 공개키 K의 암호를 해독하는 것이다. Ez(J)는 사전 공유키(pre-shared key) z를 사용하여 대칭키(symmetric key) J를 암호화하는 것이다. Dz(K)는 사전 공유키(pre-shared key) z를 사용하여 대칭키(symmetric key) J의 암호를 해독하는 것이다.
SIGNSK _ y(J)는 개인키 y를 사용하여 데이터 J에 대한 서명을 생성하는 것이다. VERIFYPK _ x(K)는 공개키 x를 사용하여 서명 K를 검증하는 것이다. VERIFY(K,J,αL)은 데이터 J에 대한 서명 K가 L의 주소 αL에 의해 서명되었는지 검증하는 것이다.
H(J)는 데이터 J의 해시를 생성하는 것을 의미하며, X||Y는 X와 Y의 연접(concatenation)을 의미한다.
또한, 본 발명에서 사용되는 엔티티(entity)에 대한 기호를 설명한다.
D는 IoT 디바이스(device)이다. GW는 IoT 게이트웨이(gateway)이다. V는 IoT 벤더(vendor)다. S는 IoT 서비스(service)이다. O는 IoT 도메인 소유자(domain owner)이다. ISP는 인터넷 서비스 공급자(Internet Service Provider)이다. SC는 스마트계약(smart contract)이다.
블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법은 IoT 서비스의 접근 인가를 준비하는 단계, IoT 서비스의 요청에 의해 IoT 게이트웨이가 IoT 서비스의 접근을 인가하는 단계, IoT 서비스가 IoT 디바이스로 접근하는 단계 및 IoT 서비스의 접근을 해지하는 단계를 포함하여 구성된다.
먼저, IoT 서비스의 접근 인가를 준비하는 단계에 대해 설명한다.
IoT 게이트웨이 및 IoT 게이트웨이에 속한 모든 IoT 디바이스에 대한 인증은 완료된 것으로 가정한다. 따라서, IoT 도메인 소유자는 IoT 게이트웨이 및 IoT 게이트웨이에 속한 모든 IoT 디바이스를 신뢰할 수 있다.
또한, IoT 게이트웨이는 IoT 게이트웨이가 보유한 접근 목록을 다른 엔티티(entity)에게 공개하고, IoT 서비스는 IoT 게이트웨이로의 접근을 시도한다.
도 2는 IoT 서비스의 접근 인가를 준비하는 단계에 대한 순서도이다.
도 2를 참조하면, IoT 서비스는 IoT 서비스의 공개키(PK_S), IoT 서비스의 개인키(SK_S) 및 IoT 서비스의 주소(αS)를 생성한다.(S101)
그 이후, IoT 서비스는 IoT 게이트웨이에서 IoT 게이트웨이의 주소(αGW), IoT 게이트웨이의 IP 주소(γGW) 및 IoT 게이트웨이의 공개키(PK_GW)를 검색한다.(S102)
그 이후, IoT 게이트웨이는 IoT 게이트웨이의 IP 주소(γGW)를 통해 찾을 수 있는 인가 서버(authorization server)를 네트워크에 설치한다.(S103)
다음으로, IoT 서비스의 요청에 의해 IoT 게이트웨이가 IoT 서비스의 접근을 인가하는 단계에 대해 설명한다.
도 3은 IoT 서비스의 접근을 인가하는 단계에 대한 순서도이다.
도 3을 참조하면, IoT 서비스는 IoT 서비스가 이용 가능한 접근 목록(A)을 IoT 게이트웨이에 요구한다.(S201)
구체적으로, IoT 서비스는 IoT 게이트웨이의 IP 주소(γGW)를 사용하여, IoT 서비스가 이용 가능한 접근 목록(A)을 IoT 게이트웨이에 요구한다.
그 이후, IoT 게이트웨이는 이용 가능한 접근 목록(A), 접근 목록의 해시(Y3) 및 접근 목록의 해시에 대한 서명(C3)이 포함된 응답 정보를 생성한다.(S202)
이 때, 생성되는 응답 정보는 다음과 같다.
A={a1,a2,a3,...,an}
Y3=H(A)
C3=SIGNSK_GW(Y3)
여기서, A는 IoT 게이트웨이를 통해 공개된 이용 가능한 접근 목록이고, Y3는 접근 목록(A)의 해시이다. 그리고, C3는 IoT 게이트웨이의 개인키(SK_GW)를 사용하여 접근 목록의 해시(Y3)에 대해 서명을 생성하는 것이다.
그 이후, IoT 게이트웨이는 이용 가능한 접근 목록(A) 및 접근 목록의 해시에 대한 서명(C3)을 IoT 서비스로 전송한다.(S203)
그 이후, IoT 서비스는 접근 목록의 해시에 대한 서명(C3)을 검증한다.(S204)
구체적으로, IoT 서비스는 다음 식을 통해 이용 가능한 접근 목록(A)으로부터 접근 목록의 해시(Y3)를 생성한다.
Y3 ← H(A)
그리고, IoT 서비스는 다음 식을 통해 접근 목록의 해시에 대한 서명(C3)을 검증한다.
VERIFY(C3,Y3GW)==True
여기서, VERIFY(C3,Y3GW)는 접근 목록의 해시(Y3)에 대한 서명(C3)이 IoT 게이트웨이의 주소(αGW)에 의해 서명되었는지 검증하는 것이다.
그 이후, IoT 서비스는 IoT 게이트웨이 및 IoT 디바이스의 인증 완료 여부를 다시 점검한다.(S205)
구체적으로, IoT 서비스는 스마트계약에 인증 결과를 문의함으로써 IoT 게이트웨이 및 IoT 디바이스의 인증 완료 여부를 점검할 수 있다.
그 이후, IoT 서비스는 Iot 서비스가 접근하기 원하는 접근 목록(A'), 인가 페이로드(X7) 및 인가 페이로드의 해시(Y4)를 생성한다.(S206)
이 때 생성되는 식은 다음과 같다.
A'={a1',a2',a3',...,an'}
X7=A'||η
Y4=H(X7)
여기서, A'은 IoT 서비스가 접근하기 원하는 접근 목록으로, A'은 공개된 이용 가능한 접근 목록(A)의 부분집합이다. 그리고, X7은 IoT 서비스가 접근하기 원하는 접근 목록(A')과 재전송 공격을 방지하기 위한 임의의 문자열(η)을 연접한 인가 페이로드이고, Y4는 인가 페이로드(X7)의 해시이다.
그 이후, IoT 서비스가 인가 페이로드의 해시(Y4), 소스(source)인 발신자(sender) IoT 서비스의 주소(αS), 인가 타겟(authorization target)인 IoT 게이트웨이의 주소(αGW)를 스마트계약으로 전송한다.(S207)
그 이후, 스마트계약은 인가 페이로드의 해시(Y4), 소스(source)인 발신자(sender) IoT 서비스의 주소(αS), 인가 타겟(authorization target)인 IoT 게이트웨이의 주소(αGW)를 스마트계약의 인가 목록에 저장한다.(S208)
스마트계약은 인가 목록을 유지 관리한다. 인가 목록의 각 로그는 상태(status) 및 해지(revocation)라는 2개의 파라미터(parameter)를 갖고 있다. 스마트계약은 파라미터 2개의 기본 값을 False로 설정한다. 상태(status) 파라미터는 인증 및 인가가 완료되었음을 의미하고, 해지(revocation) 파라미터는 인증 및 인가가 해지되었음을 의미한다. 따라서, 인가 페이로드의 해시(Y4)의 상태(status) 파라미터 및 해지(revocation) 파라미터 값은 둘 다 False로 설정된다.
그 이후, 스마트계약은 트랜잭션 영수증으로 트랜잭션 해시를 IoT 서비스로 반환한다.(S209)
그 이후, IoT 서비스는 IoT 서비스에 대한 인가 요청서(X8)를 생성한다.(S210)
이 때 생성되는 식은 다음과 같다.
C4=SIGNSK_S(Y4)
X8=PKEPK _ GW(X7||C4)
여기서, C4은 IoT 서비스의 개인키(SK_S)를 사용하여, 인가 페이로드의 해시(Y4)에 서명한 것이고, X8는 IoT 게이트웨이의 공개키(PK_GW)를 사용하여, 인가 페이로드(X7)와 인가 페이로드의 해시(Y4)를 연접한 식 X7||C4를 암호화한 것이다. 다시 말해서, C4은 인가 페이로드의 해시에 대한 서명이고, X8는 IoT 서비스에 대한 인가 요청서이다.
그 이후, IoT 서비스는 IoT 서비스에 대한 인가 요청서(X8)를 IoT 게이트웨이로 전송한다.(S211)
그 이후, IoT 게이트웨이는 IoT 서비스에 대한 인가 요청서(X8)를 검증한다.(S212)
도 4는 IoT 게이트웨이가 IoT 서비스에 대한 인가 요청서를 검증하는 단계에 대한 알고리즘이다.
도 4를 참조하면, IoT 게이트웨이는 다음 식을 통해 IoT 서비스에 대한 인가 요청서(X8)의 암호를 해독한다.(S301)
X7||C4 ← PKDSK_GW(X8)
여기서, PKDSK _ GW(X8)은 IoT 게이트웨이의 개인키(SK_GW)를 사용하여 IoT 서비스에 대한 인가 요청서(X8)의 암호를 해독하는 것이다. 암호 해독을 통해 IoT 서비스의 인가 페이로드(X7) 및 인가 페이로드의 해시에 대한 서명(C4)를 알 수 있다.
그 이후, IoT 게이트웨이는 isFreshNonce 함수를 이용하여 재전송 공격을 방지하기 위한 임의의 문자열(η)이 이전에 한번도 사용된 적이 없는 새로운 것인지 확인한다.(S302)
isFreshNonce(η)
그 이후, IoT 게이트웨이는 다음 식을 이용하여 인가 페이로드의 해시(Y4)를 계산한다.(S303)
Y4 ← H(X7)
그리고, IoT 게이트웨이는 getAuthorizationPayload 함수를 사용하여 스마트계약에서 소스(source)인 발신자(sender) IoT 서비스의 주소(αS), 인가 타겟(authorization target)인 IoT 게이트웨이의 주소(αGW)를 획득한다.(S304)
source, target ← getAuthorizationPayload(Y4)
그 이후, IoT 게이트웨이는 인가 타겟(authorization target)과 IoT 게이트웨이의 주소(αGW)가 일치하는지 검사한다.(S305)
구체적으로, IoT 게이트웨이는 다음 식을 통해 인가 타겟(authorization target)과 IoT 게이트웨이의 주소(αGW)를 비교함으로써, 인가 요청서가 실제로 IoT 게이트웨이에 대한 것이 맞는지 검사한다.
target==αGW
그 이후, IoT 게이트웨이는 인가 페이로드의 해시에 대한 서명(C4)을 검증한다.(S306)
VERIFY(C4,Y4,source)
여기서, VERIFY(C4,Y4,source)는 인가 페이로드의 해시(Y4)에 대한 서명(C4)이 소스(source)인 발신자(sender) IoT 서비스의 주소(αS)에 의해 서명되었는지 검증하는 것이다.
IoT 게이트웨이는 getAccessInfo 함수를 사용하여 IoT 게이트웨이의 데이터베이스로부터 IoT 서비스가 보유하고 있는 접근 목록(AS)을 획득한다.(S307)
AS ← getAccessInfo(source)
그 이후, IoT 게이트웨이는 IoT 서비스가 접근하기 원하는 접근 목록(A')이 IoT 서비스가 보유하고 있는 접근 목록(AS)의 부분 집합인지 확인한다.(S308)
A'⊂AS
마지막으로, 모든 단계가 완료되면, 도 4의 알고리즘은 True 값을 반환함으로써 IoT 서비스에 인가 요청서(X8)의 검증이 완료되었음을 나타낸다.(S309)
IoT 서비스에 대한 인가 요청서(X8)의 검증이 완료되면, IoT 게이트웨이는 IoT 서비스가 접근하기 원하는 접근 목록(A')을 IoT 게이트웨이의 데이터베이스에 저장한다.(S213)
그 이후, IoT 게이트웨이는 인가 페이로드의 해시(Y4)가 포함된 인가 결과를 스마트계약으로 전송한다.(S214)
그 이후, 스마트계약은 인가 페이로드의 해시(Y4)를 활성화시켜 IoT 서비스에 대한 접근 토큰(Y4)을 생성한다.(S215)
구체적으로, 스마트계약은 인가 페이로드의 해시(Y4)의 상태(status) 파라미터 값을 True로 설정한다. 이로써, 인가 페이로드의 해시(Y4)는 접근 토큰으로 활성화된다.
그 이후, 스마트계약은 트랜잭션 영수증으로 트랜잭션 해시를 IoT 게이트웨이로 반환한다.(S216)
그 이후, IoT 게이트웨이가 인가 완료 메시지를 IoT 서비스로 전송한다.(S217)
모든 단계가 완료되면, IoT 서비스는 IoT 게이트웨이에 접근하기 위해 접근 토큰(Y4)을 이용할 수 있다.
IoT 서비스가 IoT 디바이스로 접근하는 단계를 설명한다.
IoT 서비스가 IoT 디바이스로 접근 시 전제 조건은 다음과 같다.
먼저, IoT 게이트웨이 및 IoT 게이트웨이에 속한 모든 IoT 디바이스에 대한 인증이 완료되었으므로, IoT 도메인 소유자는 IoT 게이트웨이 및 IoT 게이트웨이에 속한 모든 IoT 디바이스를 신뢰할 수 있다.
또한, IoT 게이트웨이는 인가된 접근 목록(A') 및 접근 토큰(Y4)을 IoT 서비스에게 제공한다.
도 5는 IoT 서비스가 IoT 디바이스로 접근하는 단계에 대한 순서도이다.
도 5를 참조하면, IoT 서비스는 유효한 접근 토큰(Y4)이 포함된 인가 페이로드(X9), 인가 페이로드의 해시(Y5), 인가 페이로드의 해시에 대한 서명(C5) 및 접근 요청서(X10)가 포함된 접근 정보를 생성한다.(S401)
이 때 생성되는 접근 정보는 다음과 같다.
ga
X9=Y4||ga||PK_S||η
Y5=H(X9)
C5=SIGNSK_S(Y5)
X10=PKEPK _ GW(X9||C5)
여기서, ga는 디피 헬먼(Diffie Hellman) 키 교환 방법에 사용되는 IoT 게이트웨이에 대한 임의의 비밀(random secret)이다. 그리고, PK_S는 IoT 서비스의 공개키이고, η는 재전송 공격을 방지하기 위한 임의의 문자열이다. 그리고, X9는 유효한 접근 토큰(Y4)이 포함된 인가 페이로드이고, Y5는 인가 페이로드의 해시이다. 그리고, C5은 IoT 서비스의 개인키(SK_S)를 사용하여, 인가 페이로드의 해시(Y5)에 대해 서명한 것이고, X10는 IoT 게이트웨이의 공개키(PK_GW)를 사용하여 X9||C5를 암호화한 것이다.
그 이후, IoT 서비스는 접근 요청서(X10)를 IoT 게이트웨이로 전송한다.(S402)
그 이후, IoT 게이트웨이는 접근 요청서의 암호(X10)를 해독하고, 인가 페이로드의 해시에 대한 서명(C5)의 유효성을 검증한다.(S403)
먼저, IoT 게이트웨이는 다음 식을 통해 접근 요청서(X10)의 암호를 해독한다.
X9||C5 ← PKDSK_GW(X10)
여기서 PKDSK _ GW(X10)는 IoT 게이트웨이의 개인키(SK_GW)를 사용하여 접근 요청서(X10)의 암호를 해독하는 것이다. 암호 해독을 통해 인가 페이로드(X9) 및 인가 페이로드의 해시에 대한 서명(C5)을 알 수 있다.
두 번째, IoT 게이트웨이는 재전송 공격을 방지하기 위한 임의의 문자열(η)의 유효성을 확인한다.
세 번째, IoT 게이트웨이가 다음 식을 통해 인가 페이로드의 해시(Y5)를 생성한다.
Y5 ← H(X9)
네 번째, IoT 게이트웨이는 다음 식을 통해 인가 페이로드의 해시에 대한 서명(C5)의 유효성을 검증한다.
VERIFY(C5,Y5S)==True
여기서, VERIFY(C5,Y5S)는 인가 페이로드의 해시(Y5)에 대한 서명(C5)이 IoT 서비스의 주소(αS)에 의해 서명되었는지 검증하는 것이다.
그 이후, IoT 게이트웨이는 접근 토큰(Y4)의 유효성을 검사한다.(S404)
구체적으로, IoT 게이트웨이는 스마트계약에서 접근 토큰(Y4)의 상태(status) 파라미터 값이 True로 설정되어 있는지 검사하고, 인가 목록에서 접근 토큰(Y4)을 소스(source)인 발신자(sender) IoT 서비스의 주소(αS)와 비교하여 접근 토큰(Y4)이 실제로 IoT 서비스의 주소(αS)에 대한 것이 맞는지 확인한다.
그 이후, IoT 게이트웨이는 응답 메시지(X12)를 포함한 응답 정보를 생성한다.(S405)
이 때, 생성되는 응답 정보는 다음과 같다.
gb
η'
X11=gb||η'
Y6=H(X11)
C6=SIGNSK_GW(Y6)
X12=PKEPK _ S(X11||C6)
여기서, gb는 디피 헬먼(Diffie Hellman) 키 교환 방법에 사용되는 IoT 서비스에 대한 임의의 비밀(random secret)이다. η'는 인가 페이로드(X9)로부터 생성된 재전송 공격을 방지하기 위한 임의의 문자열이다.
그리고, X11은 gb와 η'를 연접한 것이고, Y6는 X11에 대한 해시이다. 그리고, C6은 IoT 게이트웨이의 개인키(SK_GW)를 사용하여, 인가 페이로드의 해시(Y6)에 대해 서명한 것이고, X12는 IoT 서비스의 공개키(PK_S)를 사용하여 X11||C6을 암호화한 것이다.
그 이후, IoT 게이트웨이는 응답 메시지(X12)를 IoT 서비스로 전송한다.(S406)
그 이후, IoT 서비스는 응답 메시지(X12)의 암호를 해독하고, IoT 게이트웨이의 서명(C6)의 유효성을 검증한다.(S407)
첫 번째, IoT 서비스는 다음 식을 통하여 응답 메시지(X12)의 암호를 해독한다.
X11||C6 ← PKDSK_S(X12)
여기서 PKDSK _ S(X12)는 IoT 서비스의 개인키(SK_S)를 사용하여 응답 메시지(X12)의 암호를 해독하는 것이다.
두 번째, IoT 서비스는 η'==η인지 검사한다.
여기서, η는 재전송 공격을 방지하기 위한 임의의 문자열이고, η'는 인가 페이로드(X9)로부터 생성된 재전송 공격을 방지하기 위한 임의의 문자열이다.
세 번째, IoT 서비스는 다음 식을 통해 Y6을 계산한다.
Y6 ← H(X11)
여기서, Y6는 X11에 대한 해시이다.
네 번째, IoT 서비스는 다음 식을 통해 IoT 게이트웨이의 서명(C6)의 유효성을 검증한다.
VERIFY(C6,Y6GW)==True
여기서, VERIFY(C6,Y6GW)는 인가 페이로드의 해시(Y6)에 대한 서명(C6)이 IoT 게이트웨이의 주소(αGW)에 의해 서명되었는지 검증하는 것이다.
그 이후, IoT 서비스는 IoT 서비스에 대한 임의의 비밀로부터 새로운 비밀키(k)를 생성하고, IoT 리소스 메시지(M)를 생성한 후, IoT 리소스 메시지(M) 및 접근 토큰(Y4)을 연접한 식을 암호화한 메시지(X13)를 생성한다.(S408)
먼저, IoT 서비스는 다음 식을 통해 비밀키(k)를 생성할 수 있다.
k ← (gb)a mod p
여기서, gb는 디피 헬먼(Diffie Hellman) 키 교환 방법에 사용되는 IoT 서비스에 대한 임의의 비밀(random secret)이다. 그리고 여기서 p는 큰 소수이고, 암호 시스템의 공개 파라미터이다.
그리고, IoT 서비스는 IoT 리소스 메시지(M)를 생성한다. 그 이후, IoT 서비스는 다음 식을 통해 IoT 리소스 메시지(M) 및 접근 토큰(Y4)을 연접한 식을 암호화한다.
X13=Ek(Y4||M)
여기서, M은 코앱(Constrained Application Protocol, CoAP) 또는 MQTT(Message Queueing Telemetry Transport) 메시지 같은 IoT 리소스 메시지이다. 그리고, Ek(Y4||M)는 비밀키(k)를 사용하여 Y4||M를 암호화하는 것이다.
그 이후, IoT 서비스는 메시지(X13)를 IoT 게이트웨이로 전송한다.(S409)
그 이후, IoT 게이트웨이는 IoT 게이트웨이에 대한 임의의 비밀(random secret)로부터 S408 단계와 동일한 비밀키(k)를 생성하고, 메시지(X13)의 암호를 해독한다.(S410)
먼저, IoT 게이트웨이는 다음 식을 통해 비밀키(k)를 생성할 수 있다.
k ← (ga)b mod p
여기서, ga는 디피 헬먼(Diffie Hellman) 키 교환 방법에 사용되는 IoT 게이트웨이에 대한 임의의 비밀(random secret)이다. 그리고 여기서 p는 큰 소수이고, 암호 시스템의 공개 파라미터이다.
그 이후, IoT 게이트웨이는 다음 식을 통하여 메시지(X13)의 암호를 해독할 수 있다.
Y4||M ← Dk(X13)
여기서, Dk(X13)은 비밀키(k)를 사용하여 메시지(X13)의 암호를 해독하는 것이다.
그 이후, IoT 게이트웨이는 접근 토큰(Y4)의 유효성을 점검한다.(S411)
구체적으로 IoT 게이트웨이는 스마트계약에서 접근 토큰(Y4)의 상태(status) 파라미터 값이 True로 설정되어 있는지 확인함으로써 접근 토큰(Y4)의 유효성을 검사한다. 또한, IoT 게이트웨이는 IoT 서비스가 접근 토큰(Y4)과 관련된 인가된 접근 목록(A')을 기반으로 한 정확한 리소스에 접근하고 있는지 확인한다.
그 이후, IoT 게이트웨이는 비밀키(k)를 사용하여 IoT 리소스 메시지(M)에 대한 응답 메시지(X14)를 생성한다.(S412)
구체적으로, IoT 게이트웨이는 다음 식을 통해 비밀키(k)를 사용하여 IoT 리소스 메시지(M)에 대한 응답 메시지(X14)를 생성할 수 있다.
X14=Ek(M)
여기서, Ek(M)은 비밀키(k)를 사용하여 IoT 리소스 메시지(M)을 암호화하는 것이다.
그 이후, IoT 게이트웨이는 IoT 리소스 메시지(M)에 대한 응답 메시지(X14)를 IoT 서비스로 전송한다.(S413)
이제, IoT 서비스와 IoT 게이트웨이 간에 보안 채널이 구축되어, IoT 서비스 및 IoT 게이트웨이는 동일한 비밀키(k)를 사용하여 IoT 리소스 메시지(M)을 주고 받을 수 있다. 그러나, IoT 서비스는 인가 여부를 확인하기 위하여, IoT 게이트웨이에 보내는 메시지에 접근 토큰(Y4)을 포함시켜야 한다.
마지막으로, IoT 서비스의 접근을 해지하는 단계에 대해 설명한다.
도 6은 IoT 서비스의 접근을 해지하는 단계에 대한 순서도이다.
도 6을 참조하면, IoT 도메인 소유자는 접근을 해지하고자 하는 IoT 서비스에 대해 접근 토큰(Y4)을 검색한다.(S501)
IoT 도메인 소유자는 스마트계약에서 호출한 revokeAccess 함수에 접근 토큰(Y4)을 입력하여 생성된 트랜잭션을 스마트계약으로 전송한다.(S502)
스마트계약은 접근 토큰(Y4)의 타겟(target)이 IoT 게이트웨이의 주소(αGW)와 일치하는지 확인하기 위해 인가 목록을 검사한다.(S503)
접근 토큰(Y4)의 타겟(target)이 IoT 게이트웨이의 주소(αGW)와 일치하면, 스마트계약은 접근 토큰(Y4)의 해지(revocation) 파라미터 값을 True로 설정한다.(S504)
그 결과 접근 토큰(Y4)은 비활성화되고, IoT 도메인에 대한 IoT 서비스의 접근은 해지된다.
S10: 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법

Claims (6)

  1. IoT 서비스의 접근 인가를 준비하는 단계;
    IoT 서비스의 요청에 의해 IoT 게이트웨이가 IoT 서비스의 접근을 인가하는 단계;
    IoT 서비스가 IoT 디바이스로 접근하는 단계; 및
    IoT 서비스의 접근을 해지하는 단계;를 포함하고,
    상기 IoT 서비스의 접근 인가를 준비하는 단계에서는
    IoT 서비스가 IoT 서비스의 공개키(PK_S), IoT 서비스의 개인키(SK_S) 및 IoT 서비스의 주소(αS)를 생성하는 단계; 및
    IoT 서비스가 IoT 게이트웨이에서 IoT 게이트웨이의 주소(αGW), IoT 게이트웨이의 IP 주소(γGW) 및 IoT 게이트웨이의 공개키(PK_GW)를 검색하는 단계;를 포함하고,
    상기 IoT 서비스의 요청에 의해 IoT 게이트웨이가 IoT 서비스의 접근을 인가하는 단계에서는
    IoT 서비스가 이용 가능한 접근 목록(A)을 IoT 게이트웨이에 요구하는 단계;
    IoT 게이트웨이가 이용 가능한 접근 목록(A), 접근 목록의 해시(Y3) 및 접근 목록의 해시에 대한 서명(C3)이 포함된 응답 정보를 생성하는 단계;
    IoT 게이트웨이가 이용 가능한 접근 목록(A) 및 접근 목록의 해시에 대한 서명(C3)을 IoT 서비스로 전송하는 단계;
    IoT 서비스가 접근 목록의 해시에 대한 서명(C3)을 검증하는 단계;
    IoT 서비스가 IoT 게이트웨이 및 IoT 디바이스의 인증 완료 여부를 다시 점검하는 단계;
    IoT 서비스가 접근하기 원하는 접근 목록(A'), 인가 페이로드(X7) 및 인가 페이로드의 해시(Y4)를 생성하는 단계;
    IoT 서비스가 인가 페이로드의 해시(Y4), 소스인 발신자 IoT 서비스의 주소(αS) 및 인가 타겟인 IoT 게이트웨이의 주소(αGW)를 스마트계약으로 전송하는 단계;
    스마트계약이 IoT 서비스가 인가 페이로드의 해시(Y4), 소스인 발신자 IoT 서비스의 주소(αS) 및 인가 타겟인 IoT 게이트웨이의 주소(αGW)를 스마트계약의 인가 목록에 저장하는 단계;
    스마트계약이 트랜잭션 해시를 IoT 서비스로 반환하는 단계;
    IoT 서비스가 IoT 서비스에 대한 인가 요청서(X8)를 생성하는 단계;
    IoT 서비스가 IoT 서비스에 대한 인가 요청서(X8)를 IoT 게이트웨이로 전송하는 단계;
    IoT 게이트웨이가 IoT 서비스에 대한 인가 요청서(X8)를 검증하는 단계;
    IoT 게이트웨이가 인가 페이로드의 해시(Y4)가 포함된 인가 결과를 스마트계약으로 전송하는 단계;
    IoT 게이트웨이가 IoT 서비스가 접근하기 원하는 접근 목록(A')을 IoT 게이트웨이의 데이터베이스에 저장하는 단계;
    IoT 게이트웨이가 인가 페이로드의 해시(Y4)가 포함된 인가 결과를 스마트계약으로 전송하는 단계;
    스마트계약이 인가 페이로드의 해시(Y4)를 활성화시켜 IoT 서비스에 대한 접근 토큰(Y4)을 생성하는 단계;
    스마트계약이 트랜잭션 해시를 IoT 게이트웨이로 반환하는 단계; 및
    IoT 게이트웨이가 인가 완료 메시지를 IoT 서비스로 전송하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법
  2. 삭제
  3. 삭제
  4. 제 1항에 있어서,
    상기 IoT 게이트웨이가 IoT 서비스에 대한 인가 요청서(X8)를 검증하는 단계에서는
    IoT 게이트웨이가 IoT 서비스에 대한 인가 요청서(X8)의 암호를 해독하는 단계;
    IoT 게이트웨이가 재전송 공격을 방지하기 위한 임의의 문자열(η)이 이전에 한번도 사용된 적이 없는 새로운 것인지 확인하는 단계;
    IoT 게이트웨이가 인가 페이로드의 해시(Y4)를 계산하는 단계;
    IoT 게이트웨이가 스마트계약에서 소스인 발신자 IoT 서비스의 주소(αS), 인가 타겟인 IoT 게이트웨이의 주소(αGW)를 획득하는 단계;
    IoT 게이트웨이가 인가 타겟과 IoT 게이트웨이의 주소(αGW)가 일치하는지 검사하는 단계;
    IoT 게이트웨이가 인가 페이로드의 해시에 대한 서명(C4)을 검증하는 단계;
    IoT 게이트웨이가 IoT 게이트웨이의 데이터베이스로부터 IoT 서비스가 보유하고 있는 접근 목록(AS)을 획득하는 단계;
    IoT 게이트웨이가 IoT 서비스가 접근하기 원하는 접근 목록(A')이 IoT 서비스가 보유하고 있는 접근 목록(AS)의 부분 집합인지 확인하는 단계; 및
    True 값을 반환함으로써 IoT 서비스에 인가 요청서(X8)의 검증이 완료되었음을 나타내는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법
  5. 제 1항에 있어서,
    상기 IoT 서비스가 IoT 디바이스로 접근하는 단계에서는
    IoT 서비스가 유효한 접근 토큰(Y4)이 포함된 인가 페이로드(X9), 인가 페이로드의 해시(Y5), 인가 페이로드의 해시에 대한 서명(C5) 및 접근 요청서(X10)가 포함된 접근 정보를 생성하는 단계;
    IoT 서비스가 접근 요청서(X10)를 IoT 게이트웨이로 전송하는 단계;
    IoT 게이트웨이가 접근 요청서의 암호(X10)를 해독하고, 인가 페이로드의 해시에 대한 서명(C5)의 유효성을 검증하는 단계;
    IoT 게이트웨이가 접근 토큰(Y4)의 유효성을 검사하는 단계;
    IoT 게이트웨이가 응답 메시지(X12)를 포함한 응답 정보를 생성하는 단계;
    IoT 게이트웨이가 응답 메시지(X12)를 IoT 서비스로 전송하는 단계;
    IoT 서비스가 응답 메시지(X12)의 암호를 해독하고, IoT 게이트웨이의 서명(C6)의 유효성을 검증하는 단계;
    IoT 서비스가 IoT 서비스에 대한 임의의 비밀로부터 새로운 비밀키(k)를 생성하고, IoT 리소스 메시지(M)를 생성한 후, IoT 리소스 메시지(M) 및 접근 토큰(Y4)을 연접한 식을 암호화한 메시지(X13)를 생성하는 단계;
    IoT 서비스가 메시지(X13)를 IoT 게이트웨이로 전송하는 단계;
    IoT 게이트웨이가 IoT 게이트웨이에 대한 임의의 비밀로부터 비밀키(k)를 생성하고, 메시지(X13)의 암호를 해독하는 단계;
    IoT 게이트웨이가 접근 토큰(Y4)의 유효성을 점검하는 단계;
    IoT 게이트웨이가 비밀키(k)를 사용하여 IoT 리소스 메시지(M)에 대한 응답 메시지(X14)를 생성하는 단계; 및
    IoT 게이트웨이가 IoT 리소스 메시지(M)에 대한 응답 메시지(X14)를 IoT 서비스로 전송하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법
  6. 제 1항에 있어서,
    상기 IoT 서비스의 접근을 해지하는 단계에서는
    IoT 도메인 소유자가 접근을 해지하고자 하는 IoT 서비스에 대해 접근 토큰(Y4)을 검색하는 단계;
    IoT 도메인 소유자가 접근 토큰(Y4)을 입력하여 생성된 트랜잭션을 스마트계약으로 전송하는 단계;
    스마트계약이 접근 토큰(Y4)의 타겟이 IoT 게이트웨이의 주소(αGW)와 일치하는지 확인하기 위해 인가 목록을 검사하는 단계; 및
    스마트계약이 접근 토큰(Y4)의 해지 파라미터 값을 True로 설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법

KR1020200003534A 2020-01-10 2020-01-10 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법 KR102472471B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200003534A KR102472471B1 (ko) 2020-01-10 2020-01-10 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200003534A KR102472471B1 (ko) 2020-01-10 2020-01-10 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법

Publications (2)

Publication Number Publication Date
KR20210090379A KR20210090379A (ko) 2021-07-20
KR102472471B1 true KR102472471B1 (ko) 2022-11-29

Family

ID=77127455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200003534A KR102472471B1 (ko) 2020-01-10 2020-01-10 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법

Country Status (1)

Country Link
KR (1) KR102472471B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102633218B1 (ko) * 2022-01-04 2024-02-01 동서대학교 산학협력단 클라우드 기반의 인공지능 시스템에 대한 컴퓨터 시스템의 등록 및 로그인 방법
KR20230112819A (ko) * 2022-01-21 2023-07-28 주식회사 푸시풀 가상 블록체인에 기반한 신원 기반 보안 기법을 이용한 IoT 기기용 게이트웨이의 보안 구축 시스템 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100692524B1 (ko) * 2004-12-21 2007-03-09 한국전자통신연구원 디지털 홈서비스 통합 제공을 위한 홈게이트웨이 관리장치 및 방법
KR100860404B1 (ko) * 2006-06-29 2008-09-26 한국전자통신연구원 다중 도메인 홈네트워크 환경에서의 디바이스 인증 방법 및장치
KR101634295B1 (ko) * 2014-12-16 2016-06-30 주식회사 윈스 IoT 보안을 위한 인증 서비스 제공 시스템 및 방법
KR101677249B1 (ko) 2015-06-15 2016-11-17 주식회사 명인소프트 사용자 토큰을 이용하여 사물 인터넷 장치를 제어하기 위한 보안 처리 장치 및 방법
KR101751910B1 (ko) * 2015-11-11 2017-06-28 포항공과대학교 산학협력단 사물 인터넷 장치에 대한 권한 위임을 제어하는 방법 및 장치, 그리고 사물 인터넷 장치에 대한 접근을 제어하는 방법 및 장치
KR20170089795A (ko) * 2017-07-17 2017-08-04 강정헌 중앙 관리형 블록체인 인증을 적용한 자율적 군집통신 보안 시스템 및 방법
KR20190026394A (ko) 2017-09-05 2019-03-13 한국전자통신연구원 IoT 단말기간 접근 제어 방법

Also Published As

Publication number Publication date
KR20210090379A (ko) 2021-07-20

Similar Documents

Publication Publication Date Title
US11849029B2 (en) Method of data transfer, a method of controlling use of data and cryptographic device
US7992193B2 (en) Method and apparatus to secure AAA protocol messages
CN108432180A (zh) 用于基于pki的认证的方法和系统
US20090199009A1 (en) Systems, methods and computer program products for authorising ad-hoc access
JP5992535B2 (ja) 無線idプロビジョニングを実行するための装置及び方法
ES2665887T3 (es) Sistema de datos seguro
KR102416561B1 (ko) 블록체인을 기반으로 한 IoT 게이트웨이의 인증 및 해지 방법
KR102472471B1 (ko) 블록체인을 기반으로 한 IoT 디바이스 접근 제어 방법
CN111131160B (zh) 一种用户、服务及数据认证系统
KR100970552B1 (ko) 비인증서 공개키를 사용하는 보안키 생성 방법
US20170331793A1 (en) Method and a system for managing user identities for use during communication between two web browsers
KR102416562B1 (ko) 블록체인을 기반으로 한 IoT 디바이스의 인증 및 해지 방법
KR20170111809A (ko) 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법
JP2021179690A (ja) 通信システム、中継装置、通信方法、及びプログラム
CN114996770A (zh) 基于宿管系统的身份识别方法
Khorasani et al. SDSuPK: Secured data sharing using proxy Kerberos to improve Openstack Swift security
CN114005190A (zh) 用于课堂考勤系统的人脸识别方法
Babu et al. Risk assessment mitigation of Kerberos protocol using public key cryptography

Legal Events

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