KR20230076419A - 분산 id 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치 - Google Patents

분산 id 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치 Download PDF

Info

Publication number
KR20230076419A
KR20230076419A KR1020210163321A KR20210163321A KR20230076419A KR 20230076419 A KR20230076419 A KR 20230076419A KR 1020210163321 A KR1020210163321 A KR 1020210163321A KR 20210163321 A KR20210163321 A KR 20210163321A KR 20230076419 A KR20230076419 A KR 20230076419A
Authority
KR
South Korea
Prior art keywords
distributed
verification
credential
verification credential
document
Prior art date
Application number
KR1020210163321A
Other languages
English (en)
Other versions
KR102612463B1 (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 KR1020210163321A priority Critical patent/KR102612463B1/ko
Priority to PCT/KR2021/017562 priority patent/WO2023095953A1/ko
Publication of KR20230076419A publication Critical patent/KR20230076419A/ko
Application granted granted Critical
Publication of KR102612463B1 publication Critical patent/KR102612463B1/ko

Links

Images

Classifications

    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/50Safety; Security of things, users, data or systems
    • 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/0876Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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
    • 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/3247Cryptographic 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 digital signatures
    • 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/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 ID 기반 검증 크리덴셜 관리 방법은 사물인터넷 디바이스에 상응하는 제1 검증 크리덴셜을 포함하는 사물인터넷 디바이스 연결 정보를 등록하는 단계, 사용자에 상응하는 제2 검증 크리덴셜을 발급받는 단계, 및 상기 사물인터넷 디바이스에 발급된 제2 검증 크리덴셜을 등록하는 단계를 포함한다.

Description

분산 ID 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치{METHOD AND APPARATUS FOR MANAGING VERIFIABLE CREDENTIAL AND DEVICE AUTHENTICATION BASED ON DECENTRALIZED IDENTIFIER}
본 발명은 분산 ID 기반의 디지털 신원과 자격증명을 발급하고, 사물인터넷 환경에서 엣지 디바이스와 서비스 제공자 간에 식별 및 인증 서비스를 제공할 수 있는 시스템 구성 및 크리덴셜 관리 방법이다.
구체적으로, 본 발명은 분산 ID 기반 크리덴셜을 사용하여 디바이스의 인증을 수행하는 다중 분산 신원관리 서비스상의 크리덴셜 통합 관리 기술에 관한 것이다.
최근, 중앙집중화된 등록기관 없이 사용자가 스스로 자신의 신원정보를 관리하고 통제할 수 있는 분산 식별자(Decentralized Identifier)가 다양한 디지털 산업 분야에서 활용되고 있다. 특히 분산 식별자는 W3C의 검증 가능한 크리덴셜(Verifiable Credential) 표준과 함께 모바일 운전면허증, 백신 증명서와 같은 다양한 디지털 증명서 서비스에 활용되고 있다.
하지만, 현재 다중 분산 신원관리 서비스 환경에서 사용자는 각 서비스에서 제공하는 별도의 어플리케이션을 설치하여 크리덴셜을 관리해야한다. 이때, 사용자가 관리해야하는 어플리케이션의 범위가 증가하면 각 어플리케이션에 상응하는 크리덴셜에 대한 관리 및 사용의 불편이 예상된다. 또한, 서비스 제공자도 분산 ID 저장소와 통신 시스템을 구축 관리하는 부담을 지게 된다. 따라서, 다중 분산 신원관리 환경에서 크리덴셜을 통합 관리할 수 있는 기술에 대한 필요성이 절실히 대두된다.
국내 등록특허공보 제10-2139645호(발명의 명칭: 블록체인 기반의 신원증명 시스템 및 그 구동방법)
본 발명의 목적은 분산 ID 기반 크리덴셜을 이용하여 사물인터넷 환경에서 엣지 디바이스의 인증을 수행하는 것이다.
또한, 본 발명의 목적은 다중 분산 신원관리 서비스상에서 크리덴셜의 통합 관리 및 조회/사용이 편리한 사용자 경험을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 ID 기반 검증 크리덴셜 관리 방법은 사물인터넷 디바이스에 상응하는 제1 검증 크리덴셜을 포함하는 사물인터넷 디바이스 연결 정보를 등록하는 단계, 사용자에 상응하는 제2 검증 크리덴셜을 발급받는 단계, 및 상기 사물인터넷 디바이스에 발급된 제2 검증 크리덴셜을 등록하는 단계를 포함한다.
이때, 상기 사물인터넷 디바이스 연결 정보를 등록하는 단계는 상기 사물인터넷 디바이스에게 상기 제1 검증 크리덴셜을 요청하는 단계, 상기 제1 검증 크리덴셜을 포함하는 검증 프레젠테이션을 수신하는 단계, 및 상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션의 전자서명을 검증하는 단계를 포함할 수 있다.
이때, 상기 전자서명을 검증하는 단계는 상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID 문서에 기반하여 전자서명을 검증할 수 있다.
이때, 상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID 문서는 상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID에 대하여 분산 ID 리졸버에 분산 ID 리졸빙을 요청한 결과에 기반하여 획득될 수 있다.
이때, 상기 분산 ID 리졸버는 상기 분산 ID 리졸빙 요청에 기반하여 상기 분산 ID에 상응하는 분산 ID 저장소에 상기 분산 ID 문서를 요청하고, 상기 분산 ID 저장소의 응답에 기반하여 상기 분산 ID 문서를 획득할 수 있다.
이때, 상기 제2 검증 크리덴셜을 발급받는 단계는 사용자의 분산 ID, 분산 ID 문서, 및 전자서명을 생성하는 단계, 상기 사용자의 분산 ID를 분산 ID 저장소에 등록하는 단계, 사용자에 상응하는 제2 검증 크리덴셜의 발급을 요청하는 단계, 및 발급된 제2 검증 크리덴셜의 발급자 분산 ID에 기반하여 상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계를 포함할 수 있다.
이때, 상기 제2 검증 크리덴셜은 사용자에 상응하는 분산 ID, 디바이스에 상응하는 분산 ID, 및 제1 검증 크리덴셜 ID에 관한 정보를 포함할 수 있다.
이때, 상기 제2 검증 크리덴셜의 발급을 요청하는 단계는 상기 제2 검증 크리덴셜의 발급에 필요한 정보를 생성하는 단계, 상기 제2 검증 크리덴셜의 발급에 필요한 정보를 암호화하여 크리덴셜 발급 서버에 전송하는 단계, 및 상기 사용자에 상응하는 분산 ID를 이용한 검증 결과에 기반하여 상기 디바이스에 매핑된 제2 검증 크리덴셜 발급 정보를 수신하는 단계를 포함할 수 있다.
이때, 상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계는 상기 제2 검증 크리덴셜의 발급자 분산 ID에 대하여 분산 ID 리졸빙을 요청하는 단계, 상기 발급자 분산 ID에 상응하는 분산 ID 저장소의 분산 ID 조회 결과에 기반하여 분산 ID 문서를 포함하는 분산 ID 리졸빙 응답을 수신하는 단계, 및 상기 분산 ID 문서의 공개키를 이용하여 상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계를 포함할 수 있다.
이때, 상기 발급된 제2 검증 크리덴셜을 등록하는 단계는 상기 디바이스에 상기 제2 검증 크리덴셜의 등록을 요청하는 단계, 및 상기 디바이스의 제2 검증 크리덴셜 등록 결과를 수신하는 단계를 포함할 수 있다.
이때, 상기 제2 검증 크리덴셜의 등록 요청 메시지는 상기 제2 검증 크리덴셜 전문 및 메타 데이터를 포함할 수 있다.
이때, 상기 디바이스는 상기 제2 검증 크리덴셜의 등록 요청에 기반하여 상기 제2 검증 크리덴셜에 대한 중복 검사를 수행할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 ID 기반 디바이스 검증 방법은 사물인터넷 디바이스의 검증 요청을 수신하는 단계, 상기 검증 요청에 포함된 분산 ID에 기반하여 사물인터넷 디바이스를 식별하는 단계, 분산 ID 리졸버에게 분산 ID 리졸빙을 요청하는 단계, 상기 분산 ID 리졸버로부터 분산 ID 문서를 포함하는 리졸빙 결과를 수신하는 단계, 및 상기 분산 ID 문서의 공개키를 이용하여 전자서명을 검증하는 단계를 포함한다.
이때, 상기 사물인터넷 디바이스의 검증 요청은 상기 사물인터넷 디바이스에 상응하는 검증 프레젠테이션을 포함할 수 있다.
이때, 상기 검증 프레젠테이션은 디바이스에 상응하는 제1 검증 크리덴셜, 사용자에 상응하는 제2 검증 크리덴셜, 및 전자서명을 포함할 수 있다.
이때, 상기 분산 ID 리졸버는 상기 분산 ID 리졸빙 요청에 기반하여 상기 분산 ID에 상응하는 분산 ID 저장소에 상기 분산 ID 문서를 요청하고, 상기 분산 ID 저장소의 응답에 기반하여 상기 분산 ID 문서를 획득할 수 있다.
이때, 상기 분산 ID 문서는 상기 검증 프레젠테이션, 상기 제1 검증 크리덴셜, 및 상기 제2 검증 크리덴셜에 각각에 상응하는 분산 ID 문서를 포함할 수 있다.
이때, 상기 전자서명을 검증하는 단계는 상기 검증 프레젠테이션, 상기 제1 검증 크리덴셜, 및 상기 제2 검증 크리덴셜에 대하여 각각 전자서명을 검증할 수 있다.
이때, 본 발명의 일 실시예에 따른 분산 ID 기반 디바이스 검증 방법은 상기 전자서명의 검증 결과에 기반하여 상기 사물인터넷 디바이스에게 검증 결과를 전송할 수 있다.
본 발명에 따르면, 분산 ID 기반 크리덴셜을 이용하여 사물인터넷 환경에서 엣지 디바이스의 인증을 수행할 수 있다.
또한, 본 발명은 다중 분산 신원관리 서비스상에서 크리덴셜의 통합 관리 및 조회/사용이 편리한 사용자 경험을 제공할 수 있다.
또한, 본 발명은 분산 ID 기반 인증 과정을 이용하여 다른 분산 ID 시스템과의 통합 환경을 용이하게 제공할 수 있다.
도 1은 분산 ID 기반의 분산 신원관리 서비스 환경을 개념적으로 나타낸 도면이다.
도 2는 다중 분산 신원관리 서비스 환경을 개념적으로 나타낸 도면이다.
도 3은 센서 기반 엣지 디바이스 노드들로 구성된 사물인터넷 환경을 예시적으로 나타낸 도면이다.
도 4는 저전력 블루투스(BLE)의 통신 과정을 개념적으로 나타낸 도면이다.
도 5는 다중 분산 신원관리 서비스 환경에서 크리덴셜 관리 방법을 개념적으로 나타낸 도면이다.
도 6은 공통 인증 방식으로 사물인터넷 기기 간 인증을 수행하는 것을 개념적으로 나타낸 도면이다.
도 7은 본 발명의 일실시예에 따른 분산 ID 기반 검증 크리덴셜 관리 방법을 나타낸 흐름도이다.
도 8은 본 발명의 일실시예에 따른 분산 ID 기반 디바이스 인증 방법을 나타낸 흐름도이다.
도 9는 본 발명의 일실시예에 따른 분산 ID 및 크리덴셜 기반 검증 시스템을 개념적으로 나타낸 도면이다.
도 10 내지 11은 본 발명의 일실시예에 따른 디바이스 연결 정보 등록하는 과정을 상세히 나타낸 흐름도이다.
도 12 내지 14는 본 발명의 일실시예에 따른 멤버십 VC 발급 과정을 상세히 나타낸 흐름도이다.
도 15는 본 발명의 일실시예에 따른 멤버십 VC 등록 과정을 상세히 나타낸 흐름도이다.
도 16은 본 발명의 일실시예에 따라 디바이스의 검증을 수행하는 과정을 상세히 나타낸 흐름도이다.
도 17은 실시예에 따른 컴퓨터 시스템의 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 분산 ID 기반의 분산 신원관리 서비스 환경을 개념적으로 나타낸 도면이다.
도 1을 참조하면, 분산 신원관리 서비스 환경은 발급자, 사용자, 검증자 및 신뢰 저장소와 같은 실체(entity)들로 구성된다. 발급자는 사용자에게 크리덴셜을 발급하고, 사용자는 발급된 크리덴셜을 관리하고 서비스 이용 시에 필요한 크리덴셜을 검증자에게 제출한다. 검증자는 서비스 제공에 필요한 크리덴셜을 사용자에게 요청하고 사용자가 제출한 크리덴셜을 검증하여 서비스를 제공한다. 신뢰 저장소는 발급자와 사용자, 검증자의 신원을 나타내는 분산 식별자(ID)와 분산 식별자 문서를 저장 관리한다.
도 2는 다중 분산 신원관리 서비스 환경을 개념적으로 나타낸 도면이다.
최근 다양한 분야에서 분산 신원관리 서비스를 활용함에 따라, 사용자는 두 개 이상의 분산 신원관리 서비스를 통해 발급받은 크리덴셜을 관리하고 검증자는 서로 다른 분산 신원관리 서비스로부터 발급된 사용자의 크리덴셜을 검증하여 서비스를 제공하는 다중 분산 신원관리 서비스 환경이 도래했다.
도 3은 센서 기반 엣지 디바이스 노드들로 구성된 사물인터넷 환경을 예시적으로 나타낸 도면이다.
현대는 4차 산업혁명 시대로 불리며, 핵심 기술인 ICBM 기술(IoT, Cloud Computing, Big Data, Mobile) 및 인공지능, 자율주행, 스마트시티 등 각종 첨단 기술들이 등장하고 있다. 이러한 디지털 사회에서 사용되는 데이터의 크기는 더욱 커지고 있고, 데이터의 처리를 위한 데이터 전송 간 초고속 및 초저지연 기술이 필요하다.
사물인터넷의 경우 가정/일상/산업 등 분야에서의 수백만 대의 장비가 연결되는 초연결이 가능한 기술이 필요하다. 5세대 이동통신인 5G 기술은 단위면적(1㎢) 당 100만 기기의 연결 접속이 가능한 초연결성을 포함한 초고속 전송, 초저지연성을 지원하므로 사물인터넷 환경에서의 엣지 디바이스 간 통신에 최적화되고 필수적인 기술로 주목받고 있다.
도 4는 저전력 블루투스(BLE)의 통신 과정을 개념적으로 나타낸 도면이다.
또한, 디지털 사회로 발전하면서 전자장비들은 점점 소형화되고 그에 맞게 저전력 사양을 갖춘 장비들이 나타나고 있다. 소형의 저전력 디바이스들의 출시가 잇따르면서 그에 맞는 근거리 무선 통신으로 블루투스가 주목받고 있는데, 블루투스 4.0 이상부터는 클래식 블루투스와 하이스피드(최대 24Mbps) 블루투스, 저전력 블루투스(BLE)를 모두 지원하고 있다. BLE의 등장으로 기존에 전력공급 및 이동성 문제를 겪던 비콘 또한 발전하였고, BLE 비콘의 경우 수은전지 하나만으로 최대 2년 이상 동작할 수 있어 사물인터넷 산업의 가능성을 더욱 일구어냈다.
도 4를 참조하면, 클라이언트에 해당하는 Central Device와 서버에 해당하는 Peripheral device의 패킷 송/수신 과정을 확인할 수 있다.
도 5는 다중 분산 신원관리 서비스 환경에서 크리덴셜 관리 방법을 개념적으로 나타낸 도면이다.
도 5를 참조하면, 사용자는 각 서비스에서 제공하는 별도의 응용 앱을 설치하여 신원 자격(크리덴셜)을 관리해야 한다.
이러한 사용자 환경은 사용자가 크리덴셜을 활용한 서비스 이용 시에 적절한 크리덴셜을 편리하게 조회하고 제출하기 어렵다. 향후 다양한 서비스 분야에 분산 신원관리 서비스 기능이 적용될 경우, 사용자가 관리해야 하는 응용 앱의 범위가 더욱 증가하여 크리덴셜에 대한 관리 및 사용의 불편이 증가할 것으로 예상된다.
또한 서비스 제공자도 직접 분산 ID 저장소와의 통신 시스템을 구축 관리해야 하는 부담을 지게 된다. 따라서 다중 분산 신원관리 서비스 환경에서 크리덴셜을 안전하게 통합 관리 및 조회/사용할 수 있는 방안이 필요하다.
도 6은 공통 인증 방식으로 사물인터넷 기기 간 인증을 수행하는 것을 개념적으로 나타낸 도면이다.
현행 사물인터넷 보안 인증제는 기기 크기에 따라 보안 조치항목을 달리 평가하고 인증등급을 다르게 부여하고 있다. 이것은 기기의 상호 인증 과정에 있어서 어려움을 초래할 수 있다. 향후 최소 수백만 대에 이르는 사물인터넷 기기들이 다양한 산업군에서 사물인터넷 서비스를 위해 사용될 것이고, 이를 위해 도 6에서 보이는 것처럼 기기에 종속되지 않는 공통 인증 방식으로 사물인터넷 기기 간 인증을 수행할 방안이 필요하다.
도 7은 본 발명의 일실시예에 따른 분산 ID 기반 검증 크리덴셜 관리 방법을 나타낸 흐름도이다.
본 발명의 일실시예에 따른 분산 ID 기반 검증 크리덴셜 관리 방법은 분산 ID 기반 인증 시스템에서 수행될 수 있다.
다만, 이하에서는 디바이스 신원관리(크리덴셜) 어플리케이션에서 수행되는 과정을 중심으로 실시예에 따른 방법을 상세히 설명한다.
도 7을 참조하면, 실시예에 따른 분산 ID 기반 검증 크리덴셜 관리 방법은 사물인터넷 디바이스에 상응하는 제1 검증 크리덴셜을 포함하는 사물인터넷 디바이스 연결 정보를 등록한다(S110).
다음으로, 사용자에 상응하는 제2 검증 크리덴셜의 발급을 요청하고(S120), 상기 사물인터넷 디바이스에 발급된 제2 검증 크리덴셜을 등록한다(S130).
이때, 상기 사물인터넷 디바이스 연결 정보를 등록하는 단계(S110)는 상기 사물인터넷 디바이스에게 상기 제1 검증 크리덴셜을 요청하는 단계, 상기 제1 검증 크리덴셜을 포함하는 검증 프레젠테이션을 수신하는 단계, 및 상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션의 전자서명을 검증하는 단계를 포함할 수 있다.
이때, 상기 전자서명을 검증하는 단계는 상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID 문서에 기반하여 전자서명을 검증할 수 있다.
이때, 상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID 문서는 상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID에 대하여 분산 ID 리졸버에 분산 ID 리졸빙을 요청한 결과에 기반하여 획득될 수 있다.
이때, 상기 분산 ID 리졸버는 상기 분산 ID 리졸빙 요청에 기반하여 상기 분산 ID에 상응하는 분산 ID 저장소에 상기 분산 ID 문서를 요청하고, 상기 분산 ID 저장소의 응답에 기반하여 상기 분산 ID 문서를 획득할 수 있다.
이때, 상기 제2 검증 크리덴셜을 발급받는 단계는 사용자의 분산 ID, 분산 ID 문서, 및 전자서명을 생성하는 단계, 상기 사용자의 분산 ID를 분산 ID 저장소에 등록하는 단계, 사용자에 상응하는 제2 검증 크리덴셜의 발급을 요청하는 단계, 및 발급된 제2 검증 크리덴셜의 발급자 분산 ID에 기반하여 상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계를 포함할 수 있다.
이때, 상기 제2 검증 크리덴셜은 사용자에 상응하는 분산 ID, 디바이스에 상응하는 분산 ID, 및 제1 검증 크리덴셜 ID에 관한 정보를 포함할 수 있다.
이때, 상기 제2 검증 크리덴셜의 발급을 요청하는 단계(S120)는 상기 제2 검증 크리덴셜의 발급에 필요한 정보를 생성하는 단계, 상기 제2 검증 크리덴셜의 발급에 필요한 정보를 암호화하여 크리덴셜 발급 서버에 전송하는 단계, 및 상기 사용자에 상응하는 분산 ID를 이용한 검증 결과에 기반하여 상기 디바이스에 매핑된 제2 검증 크리덴셜 발급 정보를 수신하는 단계를 포함할 수 있다.
이때, 상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계는 상기 제2 검증 크리덴셜의 발급자 분산 ID에 대하여 분산 ID 리졸빙을 요청하는 단계, 상기 발급자 분산 ID에 상응하는 분산 ID 저장소의 분산 ID 조회 결과에 기반하여 분산 ID 문서를 포함하는 분산 ID 리졸빙 응답을 수신하는 단계, 및 상기 분산 ID 문서의 공개키를 이용하여 상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계를 포함할 수 있다.
이때, 상기 발급된 제2 검증 크리덴셜을 등록하는 단계(S130)는 상기 디바이스에 상기 제2 검증 크리덴셜의 등록을 요청하는 단계, 및 상기 디바이스의 제2 검증 크리덴셜 등록 결과를 수신하는 단계를 포함할 수 있다.
이때, 상기 제2 검증 크리덴셜의 등록 요청 메시지는 상기 제2 검증 크리덴셜 전문 및 메타 데이터를 포함할 수 있다.
이때, 상기 디바이스는 상기 제2 검증 크리덴셜의 등록 요청에 기반하여 상기 제2 검증 크리덴셜에 대한 중복 검사를 수행할 수 있다.
도 8은 본 발명의 일실시예에 따른 분산 ID 기반 디바이스 인증 방법을 나타낸 흐름도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 분산 ID 기반 디바이스 검증 방법은 사물인터넷 디바이스의 검증 요청을 수신하는 단계(S210), 상기 검증 요청에 포함된 분산 ID에 기반하여 사물인터넷 디바이스를 식별하는 단계(S220), 분산 ID 리졸버에게 분산 ID 리졸빙을 요청하는 단계(S230), 상기 분산 ID 리졸버로부터 분산 ID 문서를 포함하는 리졸빙 결과를 수신하는 단계(S240), 및 상기 분산 ID 문서의 공개키를 이용하여 전자서명을 검증하는 단계(S250)를 포함한다.
이때, 상기 사물인터넷 디바이스의 검증 요청은 상기 사물인터넷 디바이스에 상응하는 검증 프레젠테이션을 포함할 수 있다.
이때, 상기 검증 프레젠테이션은 디바이스에 상응하는 제1 검증 크리덴셜, 사용자에 상응하는 제2 검증 크리덴셜, 및 전자서명을 포함할 수 있다.
이때, 상기 분산 ID 리졸버는 상기 분산 ID 리졸빙 요청에 기반하여 상기 분산 ID에 상응하는 분산 ID 저장소에 상기 분산 ID 문서를 요청하고, 상기 분산 ID 저장소의 응답에 기반하여 상기 분산 ID 문서를 획득할 수 있다.
이때, 상기 분산 ID 문서는 상기 검증 프레젠테이션, 상기 제1 검증 크리덴셜, 및 상기 제2 검증 크리덴셜에 각각에 상응하는 분산 ID 문서를 포함할 수 있다.
이때, 상기 전자서명을 검증하는 단계(S250)는 상기 검증 프레젠테이션, 상기 제1 검증 크리덴셜, 및 상기 제2 검증 크리덴셜에 대하여 각각 전자서명을 검증할 수 있다.
도 8에는 도시되지 않았지만, 본 발명의 일실시예에 따른 분산 ID 기반 디바이스 검증 방법은 상기 전자서명의 검증 결과에 기반하여 상기 사물인터넷 디바이스에게 검증 결과를 전송하는 단계를 더 포함할 수 있다.
도 9는 본 발명의 일실시예에 따른 분산 ID 및 크리덴셜 기반 검증 시스템을 개념적으로 나타낸 도면이다.
도 9를 참조하면, 본 발명의 실시예에 따른 시스템은 엣지 디바이스(10), 디바이스 신원관리 앱(20), 분산 ID 관리 서버(30), 분산 ID 리졸버(40), 서비스 제공자(홈 사물인터넷 서비스, 50), 분산 신뢰 저장소 A(60), 및 분산 신뢰 저장소 B(70)를 포함할 수 있다.
이때, 상기 디바이스 신원관리 앱(20)은 사용자 단말, 예를 들어, 스마트폰, 개인용 컴퓨터, 노트북, 태블릿PC 등에서 실행되는 앱에 상응할 수 있다. 이하, 본 발명의 실시예에 따른 시스템의 구성요소를 상세히 설명한다.
엣지 디바이스(10)는 제조사 사물인터넷 기기를 말하며, 출고 시 제조사 디바이스 VC(Verifiable Credential)가 내장되어 있다.
이때, 상기 엣지 디바이스(10)는 디바이스 VC와 멤버십 VC를 사용하여 서비스 제공자에게 서비스를 요청할 수 있다.
이때, 상기 디바이스 VC와 멤버십 VC는 본발명의 일실시예로써, 각각 상기 제1 검증 크리덴셜 및 상기 제2 검증 크리덴셜에 상응할 수 있다.
디바이스 신원관리 앱(20)은 디바이스에서 서비스 이용을 위한 신원증명 관리 및 서비스 설정을 수행하는 엔티티이다.
이때, 상기 디바이스 신원관리 앱(20)은 서비스 이용 시 자격증명을 위한 멤버십 VC를 발급받고 디바이스에 등록할 수 있다.
또한, 상기 디바이스 신원관리 앱(20)은 디바이스 설정 창에서 디바이스 VC와 멤버십 VC를 조회할 수 있다.
이때, 상기 멤버십 VC는 발급 및 삭제할 수 있지만 상기 디바이스 VC는 디바이스 내 기본 세팅으로 삭제할 수 없도록 설정될 수 있다.
분산 ID 관리 서버(30)는 분산 ID를 분산 신뢰 저장소에 등록하고 관리하는 엔티티이다.
이때, 상기 분산 ID 관리 서버(30)는 서비스 도메인 별 분산 ID의 등록, 조회, 갱신, 및 폐기 등을 위해 사용될 수 있다.
분산 ID 리졸버(40)는 각 서비스 도메인별 분산 신뢰 저장소에서 관리하는 분산 ID 조회 기능을 제공하는 엔티티이다.
이때, 상기 분산 ID 리졸버(40)는 분산 ID 정보를 토대로 조회해야 할 분산 신뢰 저장소 위치를 확인할 수 있다.
서비스 제공자(50)는 디바이스가 서비스를 요청하는 데에 필요한 서비스 자격증명(멤버십 VC)을 사용자에게 발급하고 서비스 요청 처리를 수행하는 엔티티이다.
분산 신뢰 저장소(60, 70)는 각각의 분산 ID 및 이에 상응하는 데이터(공개키, 분산 ID 문서, 메타데이터 등)가 등록되는 엔티티이다.
모바일 디바이스를 통해 사용자는 홈 사물인터넷 서비스를 이용할 수 있다. 예를 들어, 냉장고에는 엣지 디바이스(이하 디바이스)가 내장되어 있고, 디바이스에는 디바이스 인증에 사용되는 검증 크리덴셜(이하 VC)이 탑재되어 있다. 이 디바이스 VC는 디바이스 제조사에서 발급하고, 디바이스에 미리 내장되어 있다.
사용자는 BLE 통신을 통해 모바일로 디바이스와 연결하여 디바이스에 있는 VC들의 관리가 가능하다. 관리 가능한 VC는 2개로, 디바이스 제조사의 제조 증명에 필요한 디바이스 VC와 홈 사물인터넷 냉장고 서비스 사용자 인증에 필요한 멤버십 VC가 있다. 멤버십 VC는 냉장고 홈서비스 제공자로부터 발급받을 수 있으며, 멤버십 VC를 발급받기 위해서는 디바이스 VC의 검증이 필요하다.
사용자는 멤버십 VC를 발급받기 위해 냉장고 홈서비스 제공자에게 디바이스 VC를 보내고 이에 대한 검증을 위해 냉장고 홈서비스 제공자는 디바이스 제조사 측의 분산 ID 신뢰 저장소에 접근하여 디바이스 VC와 매핑된 분산 ID를 조회해야 한다. 분산 ID 리졸버를 통해 서로 다른 분산 신원관리 서비스의 연동이 가능하며, 서비스 자격증명 절차는 W3C 표준 분산 ID/VC 체계 기반의 발급자-사용자-검증자(서비스 제공자) 간 서명 데이터 송수신 및 서명검증을 통해 이루어진다.
디바이스와 사용자 모바일 간 데이터 송수신에는 BLE 통신이 사용되고, 그 이외에는 일반 인터넷 통신을 사용한다.
도 10 내지 11은 본 발명의 일실시예에 따른 디바이스 연결 정보 등록하는 과정을 상세히 나타낸 흐름도이다.
도 10 내지 11을 참조하면, 사용자는 신원관리 앱(20)에서 디바이스 관리 화면에 접속하여 '디바이스 추가' 버튼을 누른다(S302).
디바이스 관리 화면에서는 분산 ID 및 VC 상태를 확인할 수 있고, 디바이스 분산 ID 및 멤버십 VC의 등록 및 삭제가 가능하다.
모바일에서는 블루투스 4.0 이상에서 지원하는 저전력 무선 통신인 BLE 기술을 사용해 연결 가능한 디바이스를 찾는다(S304). 연결 가능한 디바이스를 찾으면 BLE 연결을 실행한다(S306). 연결이 성공하면 신원관리 앱(20)은 디바이스(10)에게 신뢰 장치 인증을 위한 디바이스 VC를 요청한다(S308).
디바이스(10)에서는 요청된 디바이스 VC를 모바일로 전달하기 위한 디바이스 VC 요청 응답문을 생성(S310)한다.
이때, VC를 그대로 전달하지 않고 VP(Verifiable Presentation) 값에 디바이스 VC를 주입한 구조로서 VP를 전달한다(S312). 이때, 상기 VP에는 디바이스 분산 ID에 대응하는 개인키로 전자서명한 값이 추가되어 있을 수 있다.
신원관리 앱(20)에서는 디바이스(10)로부터 전달받은 VP와 그 안에 들어있는 디바이스 VC에 대한 전자서명 값들의 검증을 수행한다(S314, S316). 각 서명값들의 검증에 필요한 공개키는 각 분산 ID의 문서에 저장되어 있고, 이것은 각 분산 신뢰 저장소에서 획득해야 한다.
신원관리 앱(20)은 분산 ID 관리 서버(30)에게 분산 ID 문서 조회를 요청한다(S318).
분산 ID 관리 서버(30)는 전달받은 분산 ID 값에서 서비스 도메인을 확인한다(S320). 동일 도메인의 경우 분산 ID 관리 서버를 통해 조회를 할 수 있고, 만약 이종 도메인의 경우라면 분산 ID 리졸버(40)를 통해 분산 ID 문서를 조회한다(S322). 제조사에서 관리하는 분산 ID는 이종 도메인 영역에 해당되므로 분산 ID 관리 서버(30)는 분산 ID 리졸버(40)에게 분산 ID 문서 조회를 요청(분산 ID 리졸빙)한다.
분산 ID 리졸버(40)는 전달받은 분산 ID 값들을 분석하여 도메인을 확인하고, 해당 도메인에 연결할 드라이버를 찾는다(S322). 분산 ID 리졸버(40)는 분산 ID 값에 맞는 도메인에 드라이버를 통해 분산 ID 조회를 요청(S326)하고 조회 결과에 따라 문서를 획득한다(S328, S330).
획득된 문서는 분산 ID 관리 서버의 리졸빙 요청 응답문 값으로 넣어 전송한다(332, S334). 분산 ID 관리 서버(30)는 분산 ID 리졸버(40)로부터 받은 응답문의 분산 ID 문서들(제조사 분산 ID 문서 / 디바이스 분산 ID 문서)을 담아 응답문을 생성하고(S336, S338) 신원관리 앱(20)으로 응답 전송한다(S340).
신원관리 앱(20)은 전달받은 분산 ID 문서들을 가지고(S342, S344) 각각 VP/VC의 전자서명 검증(S346)을 진행하며, 서명검증 과정은 각 분산 ID 문서 안에 있는 공개키를 활용한다. VP의 전자서명값은 디바이스 분산 ID의 공개키로, VC의 전자서명값은 제조사 분산 ID의 공개키로 서명 검증을 수행한다. 서명 검증이 완료되면 신원관리 앱은 디바이스 식별 정보를 저장하여 추후 연결 정보로 활용한다(S348, S350).
이때, 상기 디바이스 식별 정보는 디바이스 분산 ID, 디바이스 VC ID, 및 디바이스 모델명으로 구성될 수 있으며, 디바이스 VC ID는 제조사가 디바이스 VC 발급 정보를 관리하기 위해 생성하는 ID이고 일반적으로 URL 형식을 지닌다.
도 12 내지 14는 본 발명의 일실시예에 따른 멤버십 VC 발급 과정을 상세히 나타낸 흐름도이다.
도 12 내지 14를 참조하면, 사용자는 홈 사물인터넷 서비스 이용을 위해 신원관리 앱(20)에서 서비스 제공자(50)에게 멤버십 VC 발급을 요청한다. 멤버십 VC 발급 과정 간 보안성을 위해 사전에 보안 연결을 수립하며(S402), DID Authentication 기술을 사용한다. 이것은 분산 ID 체계에서 사용되는 기술로, 엔드투엔드(End-to-End, E2E) 간 통신에 사용하는 세션키를 각 엔티티들이 가진 분산 ID 값을 사용하여 각 엔티티가 공통적으로 만든 후 이를 가지고 대칭 암호 통신을 하는 통신 기술을 말한다.
DID Authentication 과정이 수립되면, 사용자가 홈 사물인터넷 서비스 도메인에서 사용할 분산 ID를 등록하는 과정을 수행한다. 신원관리 앱(20)에서 서비스 사용자용 분산 ID와 문서를 만든 후 해당 분산 ID에 대응되는 개인키로 문서에 전자서명을 한다(S404). 신원관리 앱은 분산 ID 관리 서버(30)에 서비스 사용자용 분산 ID의 등록을 요청한다(S406). 이 값들을 분산 ID 관리 서버(30)를 통해 서비스 도메인 내 분산 신뢰 저장소에 등록된다(S408). 분산 신뢰 저장소 B(70)에서는 등록할 분산 ID 문서 값의 전자서명값을 셀프사인 검증을 통해 수행한 후 검증 성공하면 문서의 전자서명값을 제외하여 분산 신뢰 저장소에 등록한다(S410, S412, S414). 등록이 완료되면 분산 신뢰 저장소 B(70)는 분산 ID 관리 서버(30)에 응답문을 전송한다(S416). 응답문을 전송 받은 분산 ID 관리 서버(30)는 신원관리 앱(20)에 응답문을 전달한다(S418).
신원관리 앱(20)은 사용자 서비스용 분산 ID가 등록되면 이후 서비스 제공자(50)에게 멤버십 VC 발급을 요청한다(S420). 서비스 제공자(50)는 멤버십 VC 발급에 필요한 정보들을 요청문 형태로 보내는데, 이 요청문은 최초에 DID Authentication 연결을 통해 공유된 세션키를 가지고 암호화된 상태로 신원관리 앱(20)에게 전달한다(S422). 신원관리 앱(20)은 세션키를 통해 전달받은 요청문을 복호화(S424)하여 멤버십 VC에 필요한 정보들을 확인하고 해당 값을 채우는데(S426), 필요 정보는 크게 3가지이다.
3가지 정보는 사용자와 디바이스 정보의 연관에 필요한 정보들로, 멤버십 VC와 직접적으로 매핑되는 분산 ID인 서비스 사용자용 분산 ID, 그리고 디바이스 VC와 매핑되는 정보들인 디바이스 분산 ID와 디바이스 VC ID이다.
신원관리 앱(20)은 해당 값들을 채운 후 서비스 제공자에게 응답문을 전송(S428)하며, 이 과정에서도 역시 세션키를 사용한 암호화 형태로 보내게 된다. 세션키를 통한 암복호화 전송 과정에서는 Replay Attack 방지를 위해 매번 Challenge-Response 인증과정을 수행한다.
서비스 제공자(50)는 전달받은 암호화된 응답문을 복호화(S430)하여 멤버십 VC 발급에 필요한 3가지 ID값들을 추출한다. 이 중 서비스 사용자용 분산 ID 값을 가지고 분산 ID 리졸버(40)에 조회 요청을 하여 실제로 등록되어 있는 분산 ID 인지에 대한 확인을 거친다(S432).
서비스 제공자(50)는 분산 ID 리졸버(40)에 서비스 사용자용 분산 ID 리졸빙을 요청한다(S434). 분산 ID 리졸버(40)는 분산 신뢰 저장소 B(70)에 서비스 사용자용 분산 ID 문서의 조회를 요청하고(S436), 조회 결과(S438)에 따라 서비스 사용자용 분산 ID 문서 응답을 수신한다(S440). 분산 ID 리졸버(40)는 서비스 사용자용 분산 ID 리졸빙 응답을 서비스 제공자에게 전송한다(S442). 해당 분산 ID가 등록되어 있는 것이 확인되면(S444) 서비스 제공자(50)는 멤버십 VC 발급 절차를 진행한다. 서비스 제공자(50)는 디바이스와 연계된 멤버십 VC를 생성한다(S446).
멤버십 VC에는 사용되는 특정 디바이스 및 사용자 정보가 들어있으며, 해당 정보는 VC의 credentialSubject 필드에 주입된다. 멤버십 VC 발급 시에는 서비스 제공자(50)의 분산 ID에 대응하는 개인키를 사용하여 전자서명 값을 추가한다. 일반적으로, VC 발급 과정은 서비스 제공자마다 별도로 관리하는 VC 발급 서버가 있고 서비스 제공자마다 그 구조도 다를 수 있으며, 본 발명의 범위가 이에 제한되지 않는다.
서비스 제공자(50)가 만든 멤버십 VC는 신원관리 앱(20)에 보낼 VC 발급요청 응답문에 담기게 되며, 세션키를 통한 암호화된 응답문의 형태로 전송한다(S448). 암호화된 응답문을 받은 신원관리 앱(20)은 세션키로 응답문을 복호화하여 멤버십 VC를 획득한다(S450). 멤버십 VC의 필드 중 issuer라는 필드는 VC 발급자의 분산 ID 값이며, 이 값을 분산 ID 리졸빙 요청(S452, S454)하여 획득한 문서 값, 즉 VC 발급자의 공개키를 획득할 수 있다.
구체적으로, 분산 ID 리졸버(40)는 이종 도메인에 상응하는 분산 신뢰 저장소 A(60)에 분산 ID 문서 조회를 요청하고(S456), 분산 ID 문서 조회 결과(S458)를 수신한다(S460). 분산 ID 리졸버(40)는 이종 도메인 분산 ID 리졸빙 응답을 분산 ID 관리 서버(30)에 전송하고(S462), 분산 ID 관리 서버(30)는 신원관리 앱(20)에 전송한다.
신원관리 앱(20)은 획득한 VC 발급자의 공개키를 가지고 발급된 멤버십 VC의 전자서명 값을 검증한다(S466). 이 검증 과정의 목적은 사용자가 전달받은 멤버십 VC가 올바른 VC 발급자가 맞는지에 대한 확인을 하기 위함이다. 멤버십 VC의 전자서명 검증이 완료되면, 신원관리 앱은 멤버십 VC를 저장하고 이후 홈 사물인터넷 서비스 이용 시 해당 VC를 활용할 수 있다.
도 15는 본 발명의 일실시예에 따른 멤버십 VC 등록 과정을 상세히 나타낸 흐름도이다.
도 15를 참조하면, 신원관리 앱(20)에서 디바이스(10)로 멤버십 VC를 전송할 때는 BLE 통신을 사용한다(S502). 사용자가 디바이스와의 BLE 무선 연결을 확인(S504)하면 디바이스에 멤버십 VC를 등록할 수 있다. 멤버십 VC 등록 버튼을 클릭하면(S506) 전송 가능한 멤버십 VC 목록이 나오고, 사용자는 멤버십 VC를 선택한다(S508). 신원관리 앱(20)에서 멤버십 VC를 전송하기 위한 등록 요청문을 만들며(S510), 등록 요청문에는 멤버십 VC 전문과 멤버십 VC의 메타정보가 삽입된다. 메타정보는 디바이스(10)에서 VC 관리 목록을 출력할 때 VC 전문 대신 사용할 정보로 활용될 수 있다.
멤버십 VC 등록 요청문을 만들면 BLE 통신 형태로 디바이스에 요청문을 전송한다(S512). 이때, 전송 패킷 종류는 크게 3가지로 나뉘는데, 시작 패킷, 데이터 패킷, 종료 패킷으로 구분한다. 시작 패킷은 멤버십 VC 등록 요청문의 헤더로, 패킷 구조는 ^SOF^ + [데이터 패킷 수] 형태로 이루어져 있다. 시작 패킷을 확인하여 총 전송되는 데이터 패킷 수를 확인할 수 있으며, 데이터 패킷 수의 계산은 아래과 같이 수행한다.
[멤버십 VC 등록 요청문 사이즈] / [데이터 패킷 1개 전송 사이즈]
데이터 패킷은 실제 전송되는 멤버십 VC 등록 요청문 데이터를 쪼개놓은 형태로 여러 개가 전송되며, 순서는 보장되지 않는다. 따라서 수신 측인 다비이스(10)에서 데이터 조립 순서를 알 수 있도록 해야 하며, 이를 위해 데이터 패킷 구조는 ^NUM_ + [데이터 패킷 순번] + ^ + [데이터] 형태로 구성된다.
종료 패킷은 전송 데이터가 더 이상 없을 때 마지막으로 보내는 패킷으로, 종료 패킷 구조는 ^EOF^ 로 구성된다. 디바이스는 종료 패킷 수신이 완료되면 전송 패킷들을 파일로 저장하며, 신원관리 앱에 수신이 완료되었음을 알리는 노티 패킷을 보내게 된다. 노티 패킷 구조는 ^ALL_RCV^ 형태이며, 신원관리 앱(20)은 해당 패킷을 받음으로써 전송 모드를 종료한다. 만약 신원관리 앱(20)이 이 노티 패킷을 일정 시간 동안 받지 못한다면 전송 오류로 판단하고 패킷들을 재전송한다. 총 3회를 시도하며, 3번 모두 실패 시에는 사용자에게 전송 실패를 알린다.
디바이스(10)는 멤버십 VC 등록 요청문을 전달받은 후 멤버십 VC의 중복 여부 검사를 수행한다(S514). 중복 검사는 멤버십 VC의 정보 중 3가지를 가지고 진행한다. 먼저, 멤버십 VC의 vcId 필드값이 디바이스 내에 있는 다른 VC와 중복되는지 확인한다. 다음으로, 멤버십 VC의 credentialSubject 필드 중 deviceDid 및 deviceVcId의 중복값이 있는지 확인한다.
멤버십 VC의 중복 검사 이상이 없으면, 디바이스는 전달받은 멤버십 VC를 저장(S516)하고 등록 응답문을 만들어 신원관리 앱(20)에 전송한다(S518). 신원관리 앱은 등록 응답문 결과를 확인한 후 성공 시 등록 성공 메시지를 출력한다(S520).
도 16은 본 발명의 일실시예에 따라 디바이스의 검증을 수행하는 과정을 상세히 나타낸 흐름도이다.
이하, 도 16을 참조하여 본 발명의 일실시예로 냉장고 홈 사물인터넷서비스 과정을 상세히 설명한다.
사용자는 신원관리 앱(20)을 사용하여 냉장고 홈 사물인터넷 서비스 설정이 가능하다. 예를 들어 홈 사물인터넷 냉장고에서 터치스크린 화면으로 식단 관리를 제공하는데, 냉장고 내 식재로 감지 센서를 통해 특정 식재료들의 수량을 확인할 수 있고 식단 재료가 모자라면 해당 물품 1회 구매를 미리 설정해 둔 개수만큼 자동으로 온라인 마켓에 연결되어 결제를 수행하는 서비스가 있다고 한다.
다음날 식단에 맞는 식재료를 확인하는데 센서 감지 결과 재료가 부족하다면, 물품 구매 필요 알림을 디바이스(10)에 전달한다. 디바이스(10)는 전달받은 알림을 토대로 서비스 제공자에 제출할 물품 주문 요청문을 생성한다(S602). 물품 주문 요청문에는 물품 주문 내역과 사물인터넷 장비 및 결제 사용자 인증에 필요한 정보를 담는다. 인증에 필요한 정보는 디바이스 VC와 멤버십 VC를 담은 VP 형태로 요청문에 포함시켜 서비스 제공자에게 전송한다(S604).
이때, 전송하는 VP는 디바이스 분산 ID에 대응하는 개인키로 전자서명을 만든 후 VP 원문에 덧붙여서 보낸다.
요청문을 받은 온라인 서비스 제공자(50)는 물품 주문 요청을 확인하고(S606) 물품 주문 요청문의 VP 정보를 토대로 인증 과정을 수행한다(S608). 총 3가지의 전자서명값을 인증해야 하며, 각 전자서명의 주체와 그 분산 ID 값은 다음과 같다.
- VP의 전자서명 : 디바이스
- 디바이스 분산 ID : VP의 Issuer 값
- 디바이스 VC의 전자서명 : 디바이스 제조사
- 제조사 분산 ID : 디바이스 VC의 Issuer 값
- 멤버십 VC의 전자서명 : 서비스 제공자
- 서비스 제공자 분산 ID : 멤버십 VC의 Issuer값
다음으로, 서비스 제공자(50)는 각 분산 ID의 공개키 조회를 위해 분산 ID 리졸버(40)에게 분산 ID 리졸빙 일괄 요청을 보낸다(S610). 분산 ID 리졸버(40)는 전달받은 분산 ID들을 가지고 분산 ID 도메인에 맞는 분산 신뢰 저장소(70)를 찾아 분산 ID 문서 조회를 수행한다(S612, S614). 분산 ID 리졸버(40)는 조회된 분산 ID 문서들을 응답문에 담아 서비스 제공자에게 전달한다(S618).
서비스 제공자(50)는 각 분산 ID의 문서에서 공개키를 추출하여 각각 디바이스 VC, 멤버십 VC 및 VP의 전자서명 값을 검증한다(S620). 서명 검증이 완료되면 서비스 제공자(50)는 요청된 물품 주문 내역에 맞게 온라인 마켓으로 물품 주문 처리를 수행한다(S622). 물품 주문 처리가 끝나면 서비스 제공자(50)는 디바이스에 물품 주문 요청에 대한 응답을 전송한다(S624). 디바이스는 물품 주문 응답을 전달받으면 냉장고 터치스크린 화면에 물품 주문이 성공되었음을 화면 처리한다(S626).
도 17은 실시예에 따른 컴퓨터 시스템의 구성을 나타낸 도면이다.
실시예에 따른 분산 ID 기반 검증 크리덴셜 관리 및 디바이스 검증 방법의 신원관리 앱은 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다.
컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 인터페이스 입력 장치(1040), 사용자 인터페이스 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 실시예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
10: 엣지 디바이스
20: 신원관리 앱
30: 분산 ID 관리 서버
40: 분산 ID 리졸버
50: 서비스 제공자
60: 신원관리 저장소 A
70: 신원관리 저장소 B

Claims (19)

  1. 사물인터넷 디바이스에 상응하는 제1 검증 크리덴셜을 포함하는 사물인터넷 디바이스 연결 정보를 등록하는 단계;
    사용자에 상응하는 제2 검증 크리덴셜을 발급받는 단계; 및
    상기 사물인터넷 디바이스에 발급된 제2 검증 크리덴셜을 등록하는 단계;
    를 포함하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  2. 청구항 1에 있어서,
    상기 사물인터넷 디바이스 연결 정보를 등록하는 단계는
    상기 사물인터넷 디바이스에게 상기 제1 검증 크리덴셜을 요청하는 단계;
    상기 제1 검증 크리덴셜을 포함하는 검증 프레젠테이션을 수신하는 단계; 및
    상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션의 전자서명을 검증하는 단계;
    를 포함하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  3. 청구항 2에 있어서,
    상기 전자서명을 검증하는 단계는
    상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID 문서에 기반하여 전자서명을 검증하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  4. 청구항 3에 있어서,
    상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID 문서는
    상기 제1 검증 크리덴셜 및 상기 검증 프레젠테이션 각각에 상응하는 분산 ID에 대하여 분산 ID 리졸버에 분산 ID 리졸빙을 요청한 결과에 기반하여 획득되는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  5. 청구항 4에 있어서,
    상기 분산 ID 리졸버는
    상기 분산 ID 리졸빙 요청에 기반하여 상기 분산 ID에 상응하는 분산 ID 저장소에 상기 분산 ID 문서를 요청하고, 상기 분산 ID 저장소의 응답에 기반하여 상기 분산 ID 문서를 획득하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  6. 청구항 1에 있어서,
    상기 사용자에 상응하는 제2 검증 크리덴셜을 발급받는 단계는
    사용자의 분산 ID, 분산 ID 문서, 및 전자서명을 생성하는 단계;
    상기 사용자의 분산 ID를 분산 ID 저장소에 등록하는 단계;
    상기 제2 검증 크리덴셜의 발급을 요청하는 단계; 및
    발급된 제2 검증 크리덴셜의 발급자 분산 ID에 기반하여 상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계;
    를 포함하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  7. 청구항 6에 있어서,
    상기 제2 검증 크리덴셜은
    사용자에 상응하는 분산 ID, 디바이스에 상응하는 분산 ID, 및 제1 검증 크리덴셜 ID에 관한 정보를 포함하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  8. 청구항 7에 있어서,
    상기 제2 검증 크리덴셜의 발급을 요청하는 단계는
    상기 제2 검증 크리덴셜의 발급에 필요한 정보를 생성하는 단계;
    상기 제2 검증 크리덴셜의 발급에 필요한 정보를 암호화하여 크리덴셜 발급 서버에 전송하는 단계; 및
    상기 사용자에 상응하는 분산 ID를 이용한 검증 결과에 기반하여 상기 디바이스에 매핑된 제2 검증 크리덴셜 발급 정보를 수신하는 단계;
    를 포함하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  9. 청구항 8에 있어서,
    상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계는
    상기 제2 검증 크리덴셜의 발급자 분산 ID에 대하여 분산 ID 리졸빙을 요청하는 단계;
    상기 발급자 분산 ID에 상응하는 분산 ID 저장소의 분산 ID 조회 결과에 기반하여 분산 ID 문서를 포함하는 분산 ID 리졸빙 응답을 수신하는 단계; 및
    상기 분산 ID 문서의 공개키를 이용하여 상기 제2 검증 크리덴셜의 전자서명을 검증하는 단계;
    를 포함하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  10. 청구항 1에 있어서,
    상기 발급된 제2 검증 크리덴셜을 등록하는 단계는
    상기 디바이스에 상기 제2 검증 크리덴셜의 등록을 요청하는 단계; 및
    상기 디바이스의 제2 검증 크리덴셜 등록 결과를 수신하는 단계;
    를 포함하고,
    상기 제2 검증 크리덴셜의 등록 요청 메시지는
    상기 제2 검증 크리덴셜 전문 및 메타 데이터를 포함하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  11. 청구항 10에 있어서,
    상기 디바이스는
    상기 제2 검증 크리덴셜의 등록 요청에 기반하여 상기 제2 검증 크리덴셜에 대한 중복 검사를 수행하는 것을 특징으로 하는 분산 ID 기반 검증 크리덴셜 관리 방법.
  12. 사물인터넷 디바이스의 검증 요청을 수신하는 단계;
    상기 검증 요청에 포함된 분산 ID에 기반하여 사물인터넷 디바이스를 식별하는 단계;
    분산 ID 리졸버에게 분산 ID 리졸빙을 요청하는 단계;
    상기 분산 ID 리졸버로부터 분산 ID 문서를 포함하는 리졸빙 결과를 수신하는 단계; 및
    상기 분산 ID 문서의 공개키를 이용하여 전자서명을 검증하는 단계;
    를 포함하는 것을 특징으로 하는 분산 ID 기반 디바이스 검증 방법.
  13. 청구항 12에 있어서,
    상기 사물인터넷 디바이스의 검증 요청은 상기 사물인터넷 디바이스에 상응하는 검증 프레젠테이션을 포함하는 것을 특징으로 하는 분산 ID 기반 디바이스 검증 방법.
  14. 청구항 13에 있어서,
    상기 검증 프레젠테이션은
    디바이스에 상응하는 제1 검증 크리덴셜, 사용자에 상응하는 제2 검증 크리덴셜, 및 전자서명을 포함하는 것을 특징으로 하는 분산 ID 기반 디바이스 검증 방법.
  15. 청구항 14에 있어서,
    상기 분산 ID 리졸버는
    상기 분산 ID 리졸빙 요청에 기반하여 상기 분산 ID에 상응하는 분산 ID 저장소에 상기 분산 ID 문서를 요청하고, 상기 분산 ID 저장소의 응답에 기반하여 상기 분산 ID 문서를 획득하는 것을 특징으로 하는 분산 ID 기반 디바이스 검증 방법.
  16. 청구항 15에 있어서,
    상기 분산 ID 문서는
    상기 검증 프레젠테이션, 상기 제1 검증 크리덴셜, 및 상기 제2 검증 크리덴셜에 각각에 상응하는 분산 ID 문서를 포함하는 것을 특징으로 하는 분산 ID 기반 디바이스 검증 방법.
  17. 청구항 16에 있어서,
    상기 전자서명을 검증하는 단계는
    상기 검증 프레젠테이션, 상기 제1 검증 크리덴셜, 및 상기 제2 검증 크리덴셜에 대하여 각각 전자서명을 검증하는 것을 특징으로 하는 분산 ID 기반 디바이스 검증 방법.
  18. 청구항 17에 있어서,
    상기 전자서명의 검증 결과에 기반하여 상기 사물인터넷 디바이스에게 검증 결과를 전송하는 것을 특징으로 하는 분산 ID 기반 디바이스 검증 방법.
  19. 적어도 하나의 프로그램이 기록된 메모리; 및
    상기 프로그램을 실행하는 프로세서
    를 포함하며,
    상기 프로그램은
    사물인터넷 디바이스의 검증 요청을 수신하는 단계;
    상기 검증 요청에 포함된 분산 ID에 기반하여 사물인터넷 디바이스를 식별하는 단계;
    분산 ID 리졸버에게 분산 ID 리졸빙을 요청하는 단계;
    상기 분산 ID 리졸버로부터 분산 ID 문서를 포함하는 리졸빙 결과를 수신하는 단계; 및
    상기 분산 ID 문서의 공개키를 이용하여 전자서명을 검증하는 단계;
    의 수행을 위한 명령을 포함하는 것을 특징으로 하는 분산 ID 기반 디바이스 검증 장치.
KR1020210163321A 2021-11-24 2021-11-24 분산 id 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치 KR102612463B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210163321A KR102612463B1 (ko) 2021-11-24 2021-11-24 분산 id 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치
PCT/KR2021/017562 WO2023095953A1 (ko) 2021-11-24 2021-11-25 분산 id 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210163321A KR102612463B1 (ko) 2021-11-24 2021-11-24 분산 id 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230076419A true KR20230076419A (ko) 2023-05-31
KR102612463B1 KR102612463B1 (ko) 2023-12-11

Family

ID=86539815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210163321A KR102612463B1 (ko) 2021-11-24 2021-11-24 분산 id 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102612463B1 (ko)
WO (1) WO2023095953A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102139645B1 (ko) 2020-04-13 2020-07-30 주식회사 한국정보보호경영연구소 블록체인 기반의 신원증명 시스템 및 그 구동방법
KR20210091677A (ko) * 2020-01-14 2021-07-22 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 디지털 신원 인증 방법, 장치, 기기 및 저장 매체
KR20210095061A (ko) * 2020-01-22 2021-07-30 주식회사 코인플러그 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
KR102303254B1 (ko) * 2021-03-09 2021-09-17 주식회사 에프원시큐리티 스마트홈 환경 블록체인 분산식별자 인증 시스템
KR102323522B1 (ko) * 2020-11-10 2021-11-09 (주)소프트제국 크리덴셜을 이용하여 브라우저 상에서 검증이 가능한 did 시스템 및 그것의 제어 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248249B1 (ko) * 2020-11-10 2021-05-04 (주)소프트제국 복수의 브라우저를 이용한 did 시스템 및 그것의 제어방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210091677A (ko) * 2020-01-14 2021-07-22 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 디지털 신원 인증 방법, 장치, 기기 및 저장 매체
KR20210095061A (ko) * 2020-01-22 2021-07-30 주식회사 코인플러그 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
KR102139645B1 (ko) 2020-04-13 2020-07-30 주식회사 한국정보보호경영연구소 블록체인 기반의 신원증명 시스템 및 그 구동방법
KR102323522B1 (ko) * 2020-11-10 2021-11-09 (주)소프트제국 크리덴셜을 이용하여 브라우저 상에서 검증이 가능한 did 시스템 및 그것의 제어 방법
KR102303254B1 (ko) * 2021-03-09 2021-09-17 주식회사 에프원시큐리티 스마트홈 환경 블록체인 분산식별자 인증 시스템

Also Published As

Publication number Publication date
KR102612463B1 (ko) 2023-12-11
WO2023095953A1 (ko) 2023-06-01

Similar Documents

Publication Publication Date Title
US10642969B2 (en) Automating internet of things security provisioning
EP3742696B1 (en) Identity management method, equipment, communication network, and storage medium
JP6668183B2 (ja) 通信装置、通信方法、通信システムおよびプログラム
WO2020143470A1 (zh) 发放数字证书的方法、数字证书颁发中心和介质
WO2019120091A1 (zh) 身份认证方法、系统及计算设备
US7552322B2 (en) Using a portable security token to facilitate public key certification for devices in a network
US9621540B2 (en) Secure provisioning of computing devices for enterprise connectivity
US7756476B2 (en) Wireless communication system, terminal, and method for reporting status of terminal
JP4989204B2 (ja) 安全なオンライン商取引のための臨時および恒久的な信用証明書を設定するためのシステムおよび方法
US20140281497A1 (en) Online personalization update system for externally acquired keys
WO2015111107A1 (ja) 認証方法
WO2003105400A1 (ja) データ処理システム、データ処理装置、および方法、並びにコンピュータ・プログラム
KR20160127167A (ko) 다중 팩터 인증 기관
US20130028411A1 (en) Simple Group Security for Machine-to-Machine Networking (SGSM2M)
CN116847341A (zh) 一种网络连接方法及终端、待配网设备、存储介质
CN108632037B (zh) 公钥基础设施的公钥处理方法及装置
WO2016035299A1 (ja) 証明書発行システム、通信方法及び管理装置
WO2023005525A1 (zh) 设备控制权限的设置方法、装置、计算机设备和存储介质
WO2004071123A1 (ja) 無線アドホック通信システム、端末、その端末における属性証明書発行提案方法及び属性証明書発行依頼方法並びにそれらの方法を端末に実行させるためのプログラム
US20080082818A1 (en) Symmetric key-based authentication in multiple domains
KR102612463B1 (ko) 분산 id 기반 검증 크리덴셜 관리 및 디바이스 검증 방법 및 장치
CN113612747B (zh) 设备控制权限的设置方法、装置、计算机设备和存储介质
CN113596013B (zh) 设备控制权限的设置方法、装置、计算机设备和存储介质
CN103106052A (zh) 打印机服务器和打印机控制方法
US20210119973A1 (en) Systems And Methods For Receiving And Transmitting Communication Signals

Legal Events

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