KR102532564B1 - 탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법 및 장치 - Google Patents

탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법 및 장치 Download PDF

Info

Publication number
KR102532564B1
KR102532564B1 KR1020210068087A KR20210068087A KR102532564B1 KR 102532564 B1 KR102532564 B1 KR 102532564B1 KR 1020210068087 A KR1020210068087 A KR 1020210068087A KR 20210068087 A KR20210068087 A KR 20210068087A KR 102532564 B1 KR102532564 B1 KR 102532564B1
Authority
KR
South Korea
Prior art keywords
user
domain
verification
verification information
request message
Prior art date
Application number
KR1020210068087A
Other languages
English (en)
Other versions
KR20220160210A (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 KR1020210068087A priority Critical patent/KR102532564B1/ko
Publication of KR20220160210A publication Critical patent/KR20220160210A/ko
Application granted granted Critical
Publication of KR102532564B1 publication Critical patent/KR102532564B1/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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • 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
    • 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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법은 사용자 단말로부터 제1 DID를 포함하는 사용자 등록요청 메시지를 수신하는 단계, 상기 등록요청 메시지를 상기 레거시 시스템에 전달하는 단계, 상기 레거시 시스템의 검증정보 요청에 기반하여 제1 DID 도메인에 검증정보를 요청하는 단계, 상기 제1 DID 도메인의 검증정보를 상기 레거시 시스템에 전달하는 단계, 상기 레거시 시스템으로부터 상기 검증정보에 대한 유효성 검증 결과 및 제1 DID 문서의 제1 업데이트 요청 메시지를 수신하는 단계, 및 상기 사용자 단말에 상기 제1 업데이트 요청 메시지를 전달하는 단계를 포함한다.

Description

탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법 및 장치{method and apparatus for user registration and authentication using Decentralized Identity}
본 발명은 탈중앙화된 신분증(이하 DID)을 이용하여 시스템에 사용자를 등록하고 상기 시스템에서 사용자를 검증하는 기술에 관한 것이다.
특히, 본 발명은 DID를 이용하여 ID 및 패스워드를 이용하는 레거시 시스템에 사용자를 등록 및 검증하는 기술에 관한 것이다.
특히, 본 발명은 DID를 이용하여 다중 블록체인 환경에서 사용자를 등록 및 검증하는 기술에 관한 것이다.
최근 탈중앙화 신원증명(Dicentralized Identity, DID)기술이 기존의 중앙집권형 신원증명 시스템을 대체할 기술로 주목 받고 있다. DID는 중앙 기관이 아닌 개인들이 자신의 데이터를 직접 관리하는 구조로, 기존 방식과 달리 서비스 이용 과정에서 모든 개인정보를 제공하지 않아도 된다.
마이크로소프트는 비트코인 블록체인 기반의 탈중앙화 신원증명 프로젝트 아이온(Identity Overlay Network, ION)의 프리뷰 버전을 오픈소스로 공개한 바 있으며, 페이스북은 리브라 백서에 디지탈 아이덴티티(Digital ID)를 탈중앙화된 방향으로 혁신하겠다는 의견을 제시했다. 국내에서도 DID 개발 프로젝트의 추진이 활발히 진행 중이다.
기존의 탈중앙화 신원증명 시스템과 블록체인간의 연계는 현재 개발되어 있는 시스템들이 많이 나와있지만 다중 블록체인간의 DID 시스템은 연계되어 있지 않은 상황이다. 또한, DID 시스템을 통해 사용자의 신원을 증명하는 서비스를 사용하고 있지만 종래의 레거시 시스템의 ID 및 패스워드와의 매칭 시스템은 현재 존재하지 않은 상황이다. 때문에, 종래의 레거시 시스템과의 매칭 시스템 및 다중 블록체인간의 DID 시스템에 대한 필요성이 절실히 대두된다.
국내 등록특허공보 제10-2248237호(발명의 명칭: 브라우저 기반 보안PIN인증을 이용한 DID 시스템 및 그것의 제어방법)
본 발명의 목적은 발급된 탈중앙화 신분증(DID)을 레거시 시스템의 ID 및 패스워드와 매칭하여 사용자 등록 및 검증 서비스를 제공하는 것이다.
또한, 본 발명의 목적은 발급된 탈중앙화 신분증(DID)을 기반으로 다중 블록체인 도메인 서비스간 사용자 등록 및 검증 서비스를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법은 사용자 단말로부터 제1 DID(Decentralized Identity)를 포함하는 사용자 등록요청 메시지를 수신하는 단계, 상기 등록요청 메시지를 상기 레거시 시스템에 전달하는 단계, 상기 레거시 시스템의 검증정보 요청에 기반하여 제1 DID 도메인에 검증정보를 요청하는 단계, 상기 제1 DID 도메인의 검증정보를 상기 레거시 시스템에 전달하는 단계, 상기 레거시 시스템으로부터 상기 검증정보에 대한 유효성 검증 결과 및 제1 DID 문서의 제1 업데이트 요청 메시지를 수신하는 단계, 및 상기 사용자 단말에 상기 제1 업데이트 요청 메시지를 전달하는 단계를 포함할 수 있다.
이때, 실시예에 따른 DID를 이용한 사용자를 등록하는 방법은 사용자 검증 지원 장치에서 수행될 수 있다.
이때, 본 발명의 일 실시예에 따른 DID를 이용한 사용자 등록 방법은 상기 사용자 단말의 제2 업데이트 요청 메시지를 상기 제1 DID 도메인에 전달하는 단계, 및 상기 제1 DID 도메인의 업데이트 완료 메시지를 상기 사용자 단말에 전달하는 단계를 더 포함할 수 있다.
이때, 상기 등록요청 메시지는 상기 레거시 시스템에 상응하는 ID 및 패스워드를 더 포함할 수 있다.
이때, 상기 제1 업데이트 요청 메시지는 상기 사용자의 ID 및 상기 제1 DID에 대하여 제1 해시값을 이용하여 생성한 제1 메시지 인증 코드, 및 상기 제1 메시지 인증 코드에 대한 제1 서명값을 포함할 수 있다.
이때, 상기 제2 업데이트 요청 메시지는 상기 제1 서명값, 상기 제1 메시지 인증 코드, 제2 해시값, 및 상기 제2 해시값에 대한 제2 서명값을 포함할 수 있다.
이때, 상기 제1 해시값은 상기 사용자의 패스워드 및 제1 변수를 이용하여 생성될 수 있다.
이때, 상기 제2 해시값은 상기 제1 변수와 상기 제2 정수의 차이값 및 상기 사용자의 패스워드를 이용하여 생성될 수 있다.
이때, 상기 제1 도메인의 업데이트 완료 메시지는 상기 제2 서명값의 서명 검증 결과, 및 상기 사용자의 ID 및 상기 제1 DID에 대하여 제3 해시값을 이용하여 생성한 제2 메시지 인증 코드와 상기 제1 메시지 인증 코드의 검증 결과가 참인 경우 전달될 수 있다.
이때, 상기 제3 해시값은 상기 제2 정수 및 상기 제2 해시값을 이용하여 생성될 수 있다.
이때, 상기 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함할 수 있다.
이때, 상기 제1 업데이트 요청 메시지는 상기 메타데이터를 이용한 제1 DID의 유효성 검증 결과에 기반하여 수신될 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 검증 방법은 사용자 단말로부터 서명값, 및 제1 DID를 포함하는 사용자 검증요청 메시지를 수신하는 단계, 상기 검증요청 메시지를 상기 레거시 시스템에 전달하는 단계, 상기 레거시 시스템의 검증정보 요청에 기반하여 제1 DID에 상응하는 제1 DID 도메인에 검증정보를 요청하는 단계, 상기 제1 DID 도메인으로부터 수신한 검증정보를 상기 레거시 시스템에 전달하는 단계, 및 상기 레거시 시스템으로부터 상기 검증정보에 대한 유효성 검증 결과를 수신하는 단계를 포함할 수 있다.
이때, 상기 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함할 수 있다.
이때, 상기 검증정보에 대한 유효성 검증 결과는 상기 메타데이터를 이용한 제1 DID의 유효성 검증 결과 및 상기 제1 DID 문서 내의 레거시 시스템 ID에 대한 검증 결과에 상응할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 등록 방법은 사용자 단말로부터 제1 DID(Decentralized Identity)를 포함하는 사용자 등록요청 메시지를 수신하는 단계, 상기 등록요청 메시지를 상기 제1 DID에 상응하는 제1 DID 도메인에 전달하는 단계, 상기 제1 DID 도메인의 상기 제2 DID 도메인에 상응하는 제2 DID에 대한 검증정보 요청에 기반하여 상기 제2 DID 도메인에 검증정보를 요청하는 단계, 상기 제2 DID 도메인의 검증정보를 상기 제1 DID 도메인에 전달하는 단계, 및 상기 제1 DID 도메인으로부터 상기 제2 DID 도메인의 검증정보에 대한 유효성 검증 및 제1 DID 문서 갱신 결과를 수신하는 단계를 포함할 수 있다.
이때, 실시예에 따른 탈중앙화된 신분증을 이용한 사용자를 등록하는 방법은 사용자 검증 지원 장치에서 수행될 수 있다.
이때, 상기 등록요청 메시지는 제2 DID, 상기 제1 DID에 상응하는 제1 서명값, 및 제2 DID에 상응하는 제2 서명값을 더 포함할 수 있다.
이때, 상기 제2 DID에 대한 검증정보 요청은 상기 제1 서명값에 대한 서명 검증 및 상기 제1 DID의 유효성 검증 결과에 기반하여 요청될 수 있다.
이때, 상기 제2 DID 도메인으로부터 수신한 검증정보는 제2 DID 문서 및 상기 제2 DID 문서에 대한 메타데이터(Metadata)를 포함할 수 있다.
이때, 상기 제2 DID 도메인의 검증정보에 대한 유효성 검증은 상기 제2 서명값에 대한 서명 검증 및 상기 제2 DID의 유효성 검증을 포함할 수 있다.
이때, 상기 제1 DID 문서 갱신 결과는 상기 제1 DID 문서에 상기 제2 DID의 정보의 갱신 여부를 포함할 수 있다.
이때, 상기 제1 DID 문서에 상기 제2 DID의 정보가 갱신된 경우, 상기 사용자 단말에 업데이트 완료 메시지를 전달할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 검증 방법은 사용자 단말로부터 제1 서명값, 및 제1 DID를 포함하는 인증요청 메시지를 수신하는 단계, 상기 인증요청 메시지를 상기 제2 DID 도메인을 통한 사용자 검증이 가능한 서비스 채널에 전달하는 단계, 상기 서비스 채널의 검증정보 요청에 기반하여 제1 DID에 상응하는 제1 DID 도메인에 제1 검증정보를 요청하는 단계, 상기 제1 DID 도메인으로부터 수신한 제1 검증정보를 상기 서비스 채널에 전달하는 단계, 상기 서비스 채널로부터 제2 검증정보에 대한 유효성 검증 결과를 수신하는 단계를 포함할 수 있다.
이때, 상기 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서, 제2 DID, 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함할 수 있다.
이때, 상기 제2 검증정보에 대한 유효성 검증은 상기 서비스 채널에서 상기 제1 검증정보를 이용한 유효성 검증결과가 참인 경우 수행될 수 있다.
이때, 상기 제2 검증정보는 상기 서비스 채널의 검증정보 요청에 기반하여, 상기 제2 DID 도메인에서 상기 서비스 채널로 전달될 수 있다.
이때, 상기 제2 검증정보는 제2 DID 문서 및 상기 제2 DID 문서에 대한 메타데이터를 포함할 수 있다.
이때, 상기 제2 검증정보에 대한 유효성 검증 결과는 상기 제2 DID 문서에 대한 메타데이터를 이용한 제2 DID의 유효성 검증 결과에 상응할 수 있다.
본 발명에 따르면, 발급된 탈중앙화된 신분증을 레거시 시스템의 ID 및 패스워드와 매칭하여 사용자 등록 및 검증 서비스를 제공할 수 있다.
또한, 본 발명에 따르면, 발급된 탈중앙화된 신분증을 기반으로 다중 블록체인 도메인 서비스간 사용자 등록 및 검증 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 검증 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 등록 방법을 나타낸 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 검증 방법을 나타낸 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 등록방법을 나타낸 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 검증 방법을 나타낸 흐름도이다.
도 6은 탈중앙화된 신분증을 이용하여 레거시 시스템에 사용자를 등록시키는 과정을 나타낸 래더 다이어그램이다.
도 7은 도6의 방법을 통해 레거시 시스템에 DID에 대한 인증 등록 후, 사용자를 검증하는 방법을 나타낸 래더 다이어그램이다.
도 8은 발급된 DID를 이용하여 타 DID 도메인의 신원인증 서비스를 받기 위한 DID 등록방법을 나타낸 래더 다이어그램이다.
도 9는 도8의 방법을 통해 타 DID 도메인에 대한 인증 등록 후, 타 DID 도메인 서비스에서 사용자를 검증하는 방법을 나타낸 래더 다이어그램이다.
도 10은 실시예에 따른 컴퓨터 시스템의 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
본 발명의 실시예는, 다중 블록체인 내 단일 탈중앙화된 신분증 (DID)을 이용하여 사용자의 신원을 증명하는 과정을 포함하며, 탈중앙화된 신분증과 레거시 시스템과의 연계 시 DID 문서를 업데이트하는 과정을 포함한다. 또한, 기존 인증기관을 통해 사용자는 DID를 보유하는 과정을 포함한다.
또한, 본발명의 실시예에 따른 사용자 단말은 사용자의 모바일에서 신원증명을 할 수 있는 서비스 어플리케이션을 실행할 수 있다. 본 발명의 실시예는, 사용자가 신원인증 기관에서 사용자의 신원을 증명하고 발급받은 과정, 사용자의 DID 문서에 레거시 시스템의 인증 정보와 다중 블록체인 서비스의 인증정보를 업데이트시키는 과정, 타 블록체인 서비스 사용을 위한 인증 요청 과정 등 탈중앙화된 신분증을 사용자가 관리할 수 있는 모바일 어플리케이션을 포함할 수 있다.
또한, 본 발명의 실시예는 ID와 패스워드를 이용하여 사용자의 신원을 증명하였던 웹, 앱, 시스템 서비스로 탈중앙화된 신분증(DID)과 레거시 시스템의 사용자 인증을 매칭 시키기 위함으로 탈중앙화된 신분증(DID)과 레거시 시스템의 사용자와 매칭시키는 과정과 DID 문서에 업데이트 되는 데이터의 처리 과정을 포함한다.
이하, 도 1 내지 도 10을 참조하여 본 발명의 일실시예에 따른 탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법을 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 검증 시스템의 구성을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 탈중앙화된 신분증(DID)을 이용한 사용자 검증 시스템은 탈중앙화된 신분증(DID)이 저장되어 있는 사용자단말(101), 디지털 신원정보가 분포되어 있는 블록체인 DID 도메인(A)(401), 사용자 신원 정보가 저장되어 있는 문서인 DID 문서(402), DID(A)를 이용하여 타 블록체인 DID 내 사용자 인증이 필요한 서비스(303), DID 문서(B)를 포함할 수 있다.
또한, ID와 패스워드를 사용하는 레거시 시스템(301) 및 상기 사용자 단말(101), 레거시 시스템(301), 블록체인 DID 도메인(A)(401)과 블록체인 DID 도메인(B)(302)의 중개자 역할을 하는 에이전트(401)를 포함할 수 있다.
본 명세서에서 사용자 단말은 사용자의 탈중앙화된 신분증(DID)을 저장할 수 있는 지갑에 상응할 수 있다.
예를 들어, 사용자 단말은 셀룰러 전화기(cellular phone), 개인휴대통신 전화기(PCS: personal communication system), 복합무선단말기(PDA: Personal data assistant), IMT-2000(International mobile telecommunication-2000) 단말기, 스마트폰(Smart Phone), 노트북(Notebook), PC(Personal Computer), 및 테블릿 PC(Tablet Personal Computer)를 모두 포함하는 의미이다.
이하 실시예는 하나의 탈중앙화된 신분증을 통해 레거시 시스템과 멀티 블록체인의 DID 서비스 연계방법을 설명할 것이나, 모든 블록체인 내 서비스와 레거시 시스템 서비스에 적용이 가능함은 물론이다.
도 2는 본 발명의 일 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 등록 방법을 나타낸 흐름도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 사용자 등록 방법은 사용자 단말로부터 제1 DID(Decentralized Identity)를 포함하는 사용자 등록요청 메시지를 수신한다(S210).
이때, 상기 등록요청 메시지는 상기 레거시 시스템에 상응하는 ID 및 패스워드를 더 포함할 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 제1 DID를 포함하는 사용자 등록요청 메시지를 ID 및 패스워드를 이용하는 레거시 시스템에 전달한다(S220).
이때, 등록요청 메시지를 수신한 레거시 시스템은 등록요청 메시지에 포함된 ID 및 패스워드를 확인할 수 있다. ID 및 패스워드를 확인한 레거시 시스템은, 사용자 검증 지원 장치에 제1 DID의 검증정보를 요청할 수 있다.
다음으로, 사용자 검증 지원 장치는 레거시 시스템의 검증정보 요청에 기반하여 제1 DID 도메인에 검증정보를 요청한다(S230).
사용자 검증 지원 장치로부터 제1 DID 도메인에 관한 검증정보를 요청 받은 제1 DID 도메인은 검증정보를 수집하여 사용자 검증 지원장치에 전달할 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 제1 DID 도메인으로부터 전달받은 검증정보를 상기 레거시 시스템에 전달할 수 있다(S240).
다음으로, 사용자 검증 지원 장치는 상기 레거시 시스템으로부터 상기 검증정보에 대한 유효성 검증 결과 및 제1 DID 문서의 제1 업데이트 요청 메시지를 수신할 수 있다(S250).
이때, 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함하며, 상기 제1 업데이트 요청 메시지는 상기 메타데이터를 이용한 제1 DID의 유효성 검증 결과에 기반하여 수신될 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 유효성 검증 결과에 기반하여, 사용자 단말에 상기 제1 업데이트 요청 메시지를 전달할 수 있다(S260).
이때, 도 2에는 도시되지 않았지만, 본 발명의 일 실시예에 따른 사용자 등록 방법은 상기 제1 업데이트 요청 메시지를 전달하는 단계(S260)를 수행한 후, 사용자 단말의 제2 업데이트 요청 메시지를 제1 DID 도메인에 전달하고, 제1 DID 도메인의 업데이트 완료 메시지를 다시 사용자 단말에 전달할 수 있다.
이때, 상기 제1 업데이트 요청 메시지는 상기 사용자의 ID 및 상기 제1 DID에 대하여 제1 해시값을 이용하여 생성한 제1 메시지 인증 코드, 및 상기 제1 메시지 인증 코드에 대한 제1 서명값을 포함할 수 있다.
이때, 제1 해시값은 사용자의 패스워드 및 제1 변수를 이용하여 생성될 수 있다.
이때, 상기 제1 해시값, 상기 제1 메시지 인증 코드, 및 상기 제1 서명값은 상기 레거시 시스템에서 생성될 수 있다.
이때, 상기 제2 업데이트 요청 메시지는 상기 제1 서명값, 상기 제1 메시지 인증 코드, 제2 해시값, 및 상기 제2 해시값에 대한 제2 서명값을 포함할 수 있다.
이때, 상기 제2 해시값은 상기 제1 변수와 상기 제2 정수의 차이값 및 상기 사용자의 패스워드를 이용하여 생성될 수 있다.
이때, 상기 제2 해시값 및 상기 제2 서명값은 사용자 단말에서 생성될 수 있다.
이때, 제1 DID 도메인의 업데이트 완료 메시지는 상기 제2 서명값의 서명 검증 결과, 및 상기 사용자의 ID 및 상기 제1 DID에 대하여 제3 해시값을 이용하여 생성한 제2 메시지 인증 코드와 상기 제1 메시지 인증 코드의 검증 결과에 기반하여 전달될 수 있다.
이때, 상기 제3 해시값은 상기 제2 정수 및 상기 제2 해시값을 이용하여 생성될 수 있다.
이때, 상기 제3 해시값 및 상기 제2 메시지 인증 코드는 제1 DID 도메인에서 생성될 수 있다.
도 3은 본 발명의 일 실시예에 따른 탈중앙화된 신분증을 이용한 사용자 검증 방법을 나타낸 흐름도이다.
도 3을 참조하면, 사용자 검증 지원 장치에서 수행되는 사용자 검증 방법은 사용자 단말로부터 서명값 및 제1 DID를 포함하는 사용자 검증요청 메시지를 수신할 수 있다(S310).
다음으로, 사용자 검증 지원 장치는 상기 검증요청 메시지를 상기 레거시 시스템에 전달할 수 있다(S320).
다음으로, 사용자 검증 지원 장치는 상기 레거시 시스템의 검증정보 요청에 기반하여 제1 DID에 상응하는 제1 DID 도메인에 검증정보를 요청할 수 있다(S330).
다음으로, 사용자 검증 지원 장치는 상기 제1 DID 도메인으로부터 수신한 검증정보를 상기 레거시 시스템에 전달할 수 있다(S340).
이때, 상기 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함하고, 상기 검증정보에 대한 유효성 검증 결과는 상기 메타데이터를 이용한 제1 DID의 유효성 검증 결과 및 상기 제1 DID 문서 내의 레거시 시스템 ID에 대한 검증 결과에 상응할 수 있다.
이때, 상기 검증정보에 대한 유효성 검증은 상기 레거시 시스템에서 수행될 수 있다. 상기 검증정보에 대한 유효성 검증을 완료하면, 상기 레거시 시스템은 ID 인증 성공(실패) 여부를 사용자 검증 지원 장치에 전달할 수 있다.
사용자 검증 지원 장치는 상기 레거시 시스템으로부터 상기 검증정보에 대한 유효성 검증 결과를 수신할 수 있다(S350).
도 3에는 도시되지 않았지만, 사용자 검증 지원 장치는 레거시 시스템으로부터 전달받은 유효성 검증 결과를 사용자 단말에 전달할 수 있다.
또한, 도 3의 탈중앙화된 신분증(DID)을 이용한 사용자 검증 방법은 도 2의 사용자 등록 방법에 의해 등록된 후, 등록 결과에 기반하여 수행될 수 있다.
도 4는 본 발명의 다른 실시예에 따른 탈중앙화된 신분증(DID)을 이용한 사용자 등록방법을 나타낸 흐름도이다.
도 4를 참조하면, 본 발명의 다른 실시예에 따른 사용자 등록 방법은 사용자 단말로부터 제1 DID(Decentralized Identity)를 포함하는 사용자 등록요청 메시지를 수신한다(S410).
이때, 상기 사용자 등록요청 메시지는 제2 DID, 상기 제1 DID에 상응하는 제1 서명값, 및 제2 DID에 상응하는 제2 서명값을 더 포함할 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 등록요청 메시지를 상기 제1 DID에 상응하는 제1 DID 도메인에 전달할 수 있다(S420).
이때, 상기 제1 DID 도메인은 상기 제1 서명값에 대한 서명 검증 및 제1 DID에 대한 유효성 검증을 수행할 수 있다. 제1 서명값에 대한 서명 검증 및 제1 DID에 대한 유효성 검증이 완료되면, 사용자 검증 지원 장치에 제2 DID에 대한 검증정보를 요청할 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 제1 DID 도메인의 상기 제2 DID 도메인에 상응하는 제2 DID에 대한 검증정보 요청에 기반하여 상기 제2 DID 도메인에 검증정보를 요청할 수 있다(S430).
이때, 상기 제2 DID에 대한 검증정보 요청은 상기 제1 서명값에 대한 서명 검증 및 상기 제1 DID의 유효성 검증 결과에 기반하여 요청되는 것일 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 제2 DID 도메인의 검증정보를 상기 제1 DID 도메인에 전달할 수 있다(S440).
이때, 상기 제2 DID 도메인으로부터 수신한 검증정보는 제2 DID 문서 및 상기 제2 DID 문서에 대한 메타데이터(Metadata)를 포함하고, 상기 제2 DID 도메인의 검증정보에 대한 유효성 검증은 상기 제2 서명값에 대한 서명 검증 및 상기 제2 DID의 유효성 검증을 포함하는 것일 수 있다.
이때, 상기 제2 DID 도메인의 검증정보에 대한 유효성 검증은 제1 DID 도메인에서 수행될 수 있다. 제1 DID 도메인은 제2 DID 도메인의 검증정보에 대한 유효성 검증 결과가 참인 경우, 제1 DID 문서를 갱신하고 갱신 결과를 전달할 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 제1 DID 도메인으로부터 상기 제2 DID 도메인의 검증정보에 대한 유효성 검증 및 제1 DID 문서 갱신 결과를 수신할 수 있다(S450).
이때, 상기 제1 DID 문서 갱신 결과는 상기 제1 DID 문서에 상기 제2 DID 정보의 갱신 여부를 포함할 수 있다.
이때, 도 4에는 도시되지 않았지만, 사용자 검증 지원 장치는 상기 제1 DID 문서에 상기 제2 DID의 정보가 갱신된 경우, 상기 사용자 단말에 업데이트 완료 메시지를 전달할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 탈중앙화된 신분증(DID)을 이용한 사용자 검증 방법을 나타낸 흐름도이다.
도 5를 참조하면, 사용자 검증 지원 장치는 사용자 단말로부터 제1 서명값, 및 제1 DID를 포함하는 인증요청 메시지를 수신할 수 있다(S510).
다음으로, 사용자 검증 지원 장치는 상기 인증요청 메시지를 상기 제2 DID 도메인을 통한 사용자 검증이 가능한 서비스 채널에 전달할 수 있다(S520).
다음으로, 사용자 검증 지원 장치는 상기 서비스 채널의 검증정보 요청에 기반하여 제1 DID에 상응하는 제1 DID 도메인에 제1 검증정보를 요청할 수 있다(S530).
제1 검증정보 요청 메시지를 수신한 제1 DID 도메인은 검증정보를 수집하여 사용자 검증 지원 장치에 전달할 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 제1 DID 도메인으로부터 수신한 제1 검증정보를 상기 서비스 채널에 전달할 수 있다(S540).
이때, 상기 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서, 제2 DID, 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함할 수 있다.
이때, 상기 제1 DID 도메인으로부터 수신한 검증정보를 전달받은 서비스 채널은 제1 DID에 대한 유효성 검증 및 서명 검증을 수행할 수 있다. 또한, 제2 DID에 대한 유효성 검증을 수행하기 위해 제2 DID 도메인에 제2 검증정보를 요청할 수 있다.
제2 검증정보 요청 메시지를 수신한 제2 DID 도메인은 제2 검증정보를 수집하고 제2 검증정보를 상기 서비스 채널에 전달할 수 있다.
서비스 채널은 제2 DID 도메인으로부터 전달받은 제2 검증정보에 기반하여 제2 DID에 대한 유효성 검증을 수행할 수 있다.
다음으로, 사용자 검증 지원 장치는 상기 서비스 채널로부터 제2 검증정보에 대한 유효성 검증 결과를 수신할 수 있다(S550).
이때, 상기 제2 검증정보에 대한 유효성 검증은 상기 서비스 채널에서 상기 제1 검증정보를 이용한 유효성 검증결과가 참인 경우 수행될 수 있다.
또한, 상기 제2 검증정보는 상기 서비스 채널의 검증정보 요청에 기반하여, 상기 제2 DID 도메인에서 상기 서비스 채널로 전달될 수 있다.
이때, 상기 제2 검증정보는 제2 DID 문서 및 상기 제2 DID 문서에 대한 메타데이터를 포함할 수 있으며, 상기 제2 검증정보에 대한 유효성 검증 결과는 상기 제2 DID 문서에 대한 메타데이터를 이용한 제2 DID의 유효성 검증 결과에 상응할 수 있다.
또한, 도 5의 탈중앙화된 신분증(DID)을 이용한 사용자 검증 방법은 도 4의 사용자 등록 방법에 의해 등록된 후, 등록 결과에 기반하여 수행될 수 있다.
도 6은 탈중앙화된 신분증(DID)을 이용하여 레거시 시스템에 사용자를 등록시키는 과정을 나타낸 래더 다이어그램이다.
이때, 레거시 시스템(301)은 ID 및 패스워드를 사용하여 사용자를 검증하는 레거시 시스템에 상응할 수 있다.
이때, 레거시 시스템(301)은 별도 탈중앙화된 신분증(DID)을 발급받아 저장하고 있거나 X.509 인증서를 사용할 수 있는 시스템에 상응할 수 있다.
사용자 단말(101)은 DID(A)를 레거시 시스템(301)에 등록하기 위해 ID와 패스워드, DID(A)를 에이전트에 전달한다(S602).
이때, 에이전트(201)는 ID 및 패스워드를 이용하는 레거시 시스템에 탈중앙화된 신분증을 이용하여 사용자를 검증하도록 지원하는 사용자 검증 지원 장치에 상응할 수 있다.
사용자의 ID, 패스워드, 및 DID(A)를 전달 받은 에이전트(201)는 이를 레거시 시스템(301)에 전달한다(S604).
레거시 시스템(301)은 전달받은 메시지의 ID와 패스워드를 확인하여 사용정보를 확인한다(S606).
레거시 시스템(301)은 사용자 정보를 확인한 후, 에이전트를 이용하여 DID 도메인(A)(401)에 DID(A) 검증정보를 요청한다(S608, S610).
이때, 레거시 시스템(301)의 검증정보 요청은 DID(A)에 대한 검증정보 요청에 상응할 수 있다.
검증정보를 요청 받은 DID 도메인(A)(401)는 DID(A)의 정보를 수집하여, 에이전트(201)에 DID(A)에 대한 검증정보(DID Doc(A), Metadata)를 전달한다(S612).
레거시 시스템(301)은 DID(A)에 대한 검증정보를 에이전트(201)를 통해 전달받고(S614), 전달받은 DID(A) 검증정보 내에 metadata를 통해 DID(A)의 유효성을 확인한다(S616).
DID(A)에 대한 유효성이 검증되면, 레거시 시스템(301)은 메시지 인증 코드값(hash-based message authentication code, HMAC), 및 서명값을 생성한다(S618).
보다 상세하게, 레거시 시스템(301)은 사용자의 패스워드를 해시함수로 변환하여 해시값(HV)를 생성하고, HV를 이용하여 DID(A)와 ID에 대한 메시지 인증 코드값(hash-based message authentication code, HMAC)인 MV를 생성한다. 레거시 시스템(301)은 MV에 대해 서명하여 서명값(SV)를 생성한다(S618).
레거시 시스템(301)에서 생성한 SV와 MV를 사용자 단말(101)에 전달하면서, DID Doc(A)에 업데이트 요청을 한다(S620, S622).
이때, 레거시 시스템(301)에서 생성한 SV, MV의 전달 및 업데이트 요청은 에이전트(201)를 통해 수행될 수 있다(S620, S622).
사용자 단말(101)은 레거시 시스템(301)에서 DID Doc(A)에 대한 업데이트 요청을 받을 경우 해시값 및 서명값을 생성할 수 있다(S624).
보다 상세하게, 사용자 단말(101)은 사용자의 패스워드를 이용하여 해시값 HV를 생성할 때 사용한 변수 n에서 α를 뺀 정수(n - α)를 이용하여 해시값 HV'를 생성할 수 있다(S624).
또한, 사용자 단말(101)은 HV'에 대하여 DID 비밀키를 이용하여 서명값 SV'을 생성한다(S624).
사용자 단말(101)은 DID 도메인(A)(401)에 DID Doc(A)에 대한 업데이트 요청을 한다(S626).
이때, 사용자 단말(101)의 DID 도메인(A)(401)에 대한 업데이트 요청은 에이전트(201)를 통해서 수행될 수 있다.
이때, 사용자 단말(101)은 {ID, DID(A)}, {SV, MV}, {α, HV', SV'}값을 DID 도메인(A)(401)에 전달할 수 있다.
DID 도메인(A)(401)는 수신한 메시지를 기반으로 DID 문서 조회 및 서명값에 대한 서명 검증을 수행할 수 있다(S628).
보다 상세하게, DID 도메인(A)(401)는 수신한 메시지를 기준으로 DID에 대한 DID Doc(A)를 조회하고, 조회된 Doc(A)의 공개키를 이용하여 SV' 서명에 대한 검증을 진행한다(S628).
DID 문서 조회 및 서명값 SV'에 대한 검증이 완료되면, DID 도메인(A)(401)는 사용자가 보내준 정보 내에 레거시 시스템에 관련된 정보를 검증하기 위해 레거시 DID Doc(Public Key)이나 인증서를 조회하여 SV 서명(Secret Key)에 대한 검증을 실시한다(S630).
또한, DID 도메인(A)(401)는 검증용 메시지 인증 코드값 MV''를 생성하여 MV와의 일치 여부를 검사할 수 있다(S632).
보다 상세하게, DID 도메인(A)(401)는 전달받은 α값과 HV' 값을 이용하여 HV''값을 생성하고, 최종 검증을 위한 HV''(Secret Key)를 이용하여 DID(A), ID를 이용한 HMAC 값 MV''을 도출할 수 있다(S632). 다음으로, HMAC 값과 MV''의 일치여부를 검증한다.
위 검증 결과가 참인 경우, DID 도메인(A)(401)는 DID DOC을 업데이트 하고(S634), 업데이트 결과를 통보할 수 있다(S636).
이때, 사용자 단말(101)에 업데이트 결과를 통보하는 것은 에이전트(201)를 통해서 이뤄질 수 있다(S636).
도 7은 도6의 방법을 통해 레거시 시스템에 DID에 대한 인증 등록 후, 사용자를 검증하는 방법을 나타낸 래더 다이어그램이다.
사용자 단말(101)은 에이전트(201)에 사용자 인증 요청을 위해 서명값과 DID(A)를 전달한다(S702).
인증요청 메시지를 수신한 에이전트(201)는 레거시 시스템(301)에 수신된 인증요청 메시지(서명값, DID(A))를 전달한다(S704).
레거시 시스템(301)은 수신된 메시지 내 DID 정보를 검증하기 위해 에이전트(201)에 DID(A) 검증정보를 전달해달라는 요청 메시지를 전송한다(S706).
에이전트(201)는 해당 메시지를 수신하여 DID 도메인(A)에 전달한다(708).
검증정보 요청 메시지를 수신한 DID 도메인(A)(401)은 DID Doc(A)(402)를 수집하여 DID(A) 검증정보(DID Doc(ID), Metadata)를 에이전트(201)로 전달한다(S710).
검증정보를 전달받은 에이전트(201)은 레거시 시스템(301)에 검증정보를 전달한다(S712).
검증정보 메시지를 수신한 레거시 시스템(301)은 DID(A)에 대한 유효성 검증을 수행하고(S714), DID Doc(A) 내에 ID에 대한 인증 성공(실패) 판정에 대한 결과 값을 전달 한다(S716, S718).
도 8은 발급된 DID를 이용하여 타 DID 도메인의 신원인증 서비스를 받기 위한 DID 등록방법을 나타낸 래더 다이어그램이다.
본 실시예에서는 하나의 DID를 예시로 들고 있지만 복수개의 타 도메인에서도 동일하게 적용될 수 있다.
도 8을 참조하면, 사용자 단말(101)이 선발급받은 DID 도메인(A)(301)에서 발급한 DID(A)를 이용하여 타 도메인(B)(302) 내에 인증 서비스들을 활용하기 위한 방법을 볼 수 있다.
사용자 단말(101)은 에이전트(201)로 DID(A) 문서에 DID 도메인(B) (302)에서의 신원증명 정보를 저장하기 위해 DID(A), DID(B), 서명값(A), 서명값(B)의 정보를 에이전트(201)로 전달할 수 있다(S802).
에이전트(201)는 수신한 메시지를 DID 도메인(A)(401)로 전달하고(S804), 메시지를 수신한 DID 도메인(A)(401)는 DID Doc(A)의 정보를 이용하여 서명(A) 검증과 DID(A)의 유효성을 검증한다(S806).
서명 검증과 DID(A)의 유효성 검증을 완료한 후, DID 도메인(A)(401)는 에이전트(201)에 DID(B)의 검증정보를 요청한다(S808).
에이전트(201)는 DID(A)의 검증정보 요청에 기반하여, DID 도메인(B)(302)에 DID(B)의 검증정보를 요청한다(S810).
DID 도메인(B)(302)는 DID Doc(B)를 수집하여 에이전트(201)에 검증정보 요청에 대한 응답 값(DID Doc(B), Metadata)을 전달한다(S812).
에이전트(201)는 DID 도메인(B)(302)에서 수신한 DID(B) 검증정보를 DID 도메인(A)(401)에 전달하고(S814), 해당 메시지를 수신한 DID도메인(A)(401)는 서명(B)검증과 DID(B)의 유효성을 검증한다(S816).
도 8에는 도시되지 않았지만, DID 도메인(A)(401)는 위 서명 검증 및 유효성 검증이 성공적으로 완료될 경우 DID Doc(A)에 DID(B)의 정보를 업데이트 한다.
업데이트가 완료될 경우 사용자 단말(101)에 DID Doc(A)가 업데이트 되었다고 통보한다(S818).
이때, 사용자 단말(101)에 DID Doc(A)의 업데이트 완료를 통보하는 단계는 에이전트(201)를 통해 이루어질 수 있다.
도 9는 도8의 방법을 통해 타 DID 도메인에 대한 인증 등록 후, 타 DID 도메인 서비스에서 사용자를 검증하는 방법을 나타낸 래더 다이어그램이다.
사용자 단말(101)에서 에이전트를 통해 블록체인 DID 도메인(B) 서비스(303)에 서명값과 VC(DID(A))를 전달한다(S902).
DID 정보를 수신한 에이전트(201)는 인증요청 메시지를 DID 도메인(B) 서비스 시스템(303)에 전달한다(S904).
서비스 시스템(303)은 DID(A)정보를 확인하기 위해 에이전트(201)에 DID(A)에 대한 신원 인증 정보를 요청(S904)한다.
에이전트(201)는 수신한 인증정보 요청을 블록체인 DID 도메인(A)(401)에 전달하고(S906), DID(A) 문서 정보를 수집하여 DID 도메인(B) 서비스(303)에 전달한다(S908).
DID 도메인(B) 서비스(303)는 전달받은 메시지를 통해 사용자가 전달한 서명검증을 수행하고 DID(A)에 대한 유효성을 검증한다(S912).
DID 도메인(B) 서비스는 DID(A)에 대한 검증이 완료되면 DID Doc(A) 내에 DID(B)의 유효성을 확인하기 위해 DID 도메인(B)(302) 내 DID Doc(B)를 수집한다(S914, S916).
DID 도메인(B) 서비스(303) 내에서 DID(B)의 유효성을 검증하고(S918), 결과에 따라 사용자 단말(101)에 인증 성공(실패) 여부를 전달한다(S920).
이때, 사용자 단말(101)에 인증 성공 여부를 전달하는 단계(S920)는, 에이전트(201)를 통해 이뤄질 수 있다.
도 10은 실시예에 따른 컴퓨터 시스템의 구성을 나타낸 도면이다.
실시예에 따른 탈중앙화된 신분증(DID)을 이용한 사용자 등록 및 검증 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다.
컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 인터페이스 입력 장치(1040), 사용자 인터페이스 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 실시예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
101: 사용자 단말
201: 사용자 검증 지원 장치(Agent)
301: 레거시 시스템
401: DID 도메인(A)

Claims (18)

  1. 사용자 검증 장치에서 수행되는 ID 및 패스워드를 이용하는 레거시 시스템에 탈중앙화된 신분증(DID)을 이용하여 사용자를 등록하는 방법에 있어서,
    사용자 단말로부터 제1 DID(Decentralized Identity)를 포함하는 사용자 등록요청 메시지를 수신하는 단계;
    상기 등록요청 메시지를 상기 레거시 시스템에 전달하는 단계;
    상기 레거시 시스템의 검증정보 요청에 기반하여 제1 DID 도메인에 검증정보를 요청하는 단계;
    상기 제1 DID 도메인의 검증정보를 상기 레거시 시스템에 전달하는 단계;
    상기 레거시 시스템으로부터 상기 검증정보에 대한 유효성 검증 결과 및 제1 DID 문서의 제1 업데이트 요청 메시지를 수신하는 단계; 및
    상기 사용자 단말에 상기 제1 업데이트 요청 메시지를 전달하는 단계;
    를 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  2. 청구항 1에 있어서,
    상기 사용자 단말의 제2 업데이트 요청 메시지를 상기 제1 DID 도메인에 전달하는 단계; 및
    상기 제1 DID 도메인의 업데이트 완료 메시지를 상기 사용자 단말에 전달하는 단계;
    를 더 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  3. 청구항 2에 있어서,
    상기 등록요청 메시지는 상기 레거시 시스템에 상응하는 ID 및 패스워드를 더 포함하고,
    상기 제1 업데이트 요청 메시지는 상기 사용자의 ID 및 상기 제1 DID에 대하여 제1 해시값을 이용하여 생성한 제1 메시지 인증 코드, 및 상기 제1 메시지 인증 코드에 대한 제1 서명값을 포함하고,
    상기 제2 업데이트 요청 메시지는 상기 사용자의 ID, 상기 제1 서명값, 상기 제1 메시지 인증 코드, 제2 해시값, 및 상기 제2 해시값에 대한 제2 서명값을 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  4. 청구항 3에 있어서,
    상기 제1 해시값은
    상기 사용자의 패스워드 및 제1 변수를 이용하여 생성되고,
    상기 제2 해시값은 상기 제1 변수와 제2 정수의 차이값 및 상기 사용자의 패스워드를 이용하여 생성되는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  5. 청구항 4에 있어서,
    상기 제1 DID 도메인의 업데이트 완료 메시지는
    상기 제2 서명값의 서명 검증 결과 및 상기 사용자의 ID 및 상기 제1 DID에 대하여 제3 해시값을 이용하여 생성한 제2 메시지 인증 코드와 상기 제1 메시지 인증 코드의 검증 결과가 참인 경우 전달되고, 상기 사용자의 ID 정보의 업데이트 여부를 포함하고,
    상기 제3 해시값은 상기 제2 정수 및 상기 제2 해시값을 이용하여 생성되는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  6. 청구항 1에 있어서,
    상기 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함하고,
    상기 제1 업데이트 요청 메시지는 상기 메타데이터를 이용한 제1 DID의 유효성 검증 결과에 기반하여 수신되는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  7. 청구항 1의 방법에 의해 사용자를 등록한 후에 사용자를 검증하는 방법에 있어서,
    사용자 단말로부터 서명값 및 제1 DID를 포함하는 사용자 검증요청 메시지를 수신하는 단계;
    상기 검증요청 메시지를 상기 레거시 시스템에 전달하는 단계;
    상기 레거시 시스템의 검증정보 요청에 기반하여 제1 DID에 상응하는 제1 DID 도메인에 검증정보를 요청하는 단계;
    상기 제1 DID 도메인으로부터 수신한 검증정보를 상기 레거시 시스템에 전달하는 단계; 및
    상기 레거시 시스템으로부터 상기 검증정보에 대한 유효성 검증 결과를 수신하는 단계;
    를 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 검증 방법.
  8. 청구항 7에 있어서,
    상기 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함하고,
    상기 검증정보에 대한 유효성 검증 결과는 상기 메타데이터를 이용한 제1 DID의 유효성 검증 결과 및 상기 제1 DID 문서 내의 레거시 시스템 ID에 대한 검증 결과를 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 검증 방법.
  9. 사용자 검증 장치에서 수행되는 제2 DID 도메인에 탈중앙화된 신분증(DID)을 이용하여 사용자를 등록하는 방법에 있어서,
    사용자 단말로부터 제1 DID(Decentralized Identity)를 포함하는 사용자 등록요청 메시지를 수신하는 단계;
    상기 등록요청 메시지를 상기 제1 DID에 상응하는 제1 DID 도메인에 전달하는 단계;
    상기 제1 DID 도메인의 상기 제2 DID 도메인에 상응하는 제2 DID에 대한 검증정보 요청에 기반하여 상기 제2 DID 도메인에 검증정보를 요청하는 단계;
    상기 제2 DID 도메인의 검증정보를 상기 제1 DID 도메인에 전달하는 단계; 및
    상기 제1 DID 도메인으로부터 상기 제2 DID 도메인의 검증정보에 대한 유효성 검증 및 제1 DID 문서 업데이트 결과를 수신하는 단계;
    를 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  10. 청구항 9에 있어서,
    상기 등록요청 메시지는 제2 DID, 상기 제1 DID에 상응하는 제1 서명값, 및 제2 DID에 상응하는 제2 서명값을 더 포함하고,
    상기 제2 DID에 대한 검증정보 요청은 상기 제1 서명값에 대한 서명 검증 및 상기 제1 DID의 유효성 검증 결과에 기반하여 요청되는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  11. 청구항 10에 있어서,
    상기 제2 DID 도메인으로부터 수신한 검증정보는 제2 DID 문서 및 상기 제2 DID 문서에 대한 메타데이터(Metadata)를 포함하고,
    상기 제2 DID 도메인의 검증정보에 대한 유효성 검증은 상기 제2 서명값에 대한 서명 검증 및 상기 제2 DID의 유효성 검증을 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  12. 청구항 11에 있어서,
    상기 제1 DID 문서 업데이트 결과는 상기 제1 DID 문서에 상기 제2 DID의 정보의 업데이트 여부를 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  13. 청구항 12에 있어서,
    상기 제1 DID 문서에 상기 제2 DID의 정보가 업데이트된 경우, 상기 사용자 단말에 업데이트 완료 메시지를 전달하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 등록 방법.
  14. 청구항 9의 방법에 의해 사용자를 등록한 후에 사용자를 검증하는 방법에 있어서,
    사용자 단말로부터 제1 서명값 및 제1 DID를 포함하는 인증요청 메시지를 수신하는 단계;
    상기 인증요청 메시지를 상기 제2 DID 도메인을 통한 사용자 검증이 가능한 서비스 채널에 전달하는 단계;
    상기 서비스 채널의 검증정보 요청에 기반하여 제1 DID에 상응하는 제1 DID 도메인에 제1 검증정보를 요청하는 단계;
    상기 제1 DID 도메인으로부터 수신한 제1 검증정보를 상기 서비스 채널에 전달하는 단계; 및
    상기 서비스 채널로부터 제2 검증정보에 대한 유효성 검증 결과를 수신하는 단계;
    를 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 검증 방법.
  15. 청구항 14에 있어서,
    상기 제1 DID 도메인으로부터 수신한 검증정보는 제1 DID 문서, 제2 DID, 및 상기 제1 DID 문서에 대한 메타데이터(Metadata)를 포함하고,
    상기 제2 검증정보에 대한 유효성 검증은 상기 서비스 채널에서 상기 제1 검증정보를 이용한 유효성 검증결과가 참인 경우 수행되고,
    상기 제2 검증정보는 상기 서비스 채널의 검증정보 요청에 기반하여, 상기 제2 DID 도메인에서 상기 서비스 채널로 전달되는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 검증 방법.
  16. 청구항 15에 있어서,
    상기 제2 검증정보는 제2 DID 문서 및 상기 제2 DID 문서에 대한 메타데이터를 포함하고,
    상기 제2 검증정보에 대한 유효성 검증 결과는 상기 제2 DID 문서에 대한 메타데이터를 이용한 제2 DID의 유효성 검증 결과에 상응하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 검증 방법.
  17. 적어도 하나의 프로그램이 기록된 메모리; 및
    상기 프로그램을 실행하는 프로세서
    를 포함하며,
    상기 프로그램은
    사용자 단말로부터 제1 DID를 포함하는 사용자 등록요청 메시지를 수신하는 단계;
    상기 등록요청 메시지를 ID 및 패스워드를 이용하는 레거시 시스템에 전달하는 단계;
    상기 레거시 시스템의 검증정보 요청에 기반하여 제1 DID 도메인에 검증정보를 요청하는 단계;
    상기 제1 DID 도메인의 검증정보를 상기 레거시 시스템에 전달하는 단계;
    상기 레거시 시스템으로부터 상기 검증정보에 대한 유효성 검증 결과 및 제1 DID 문서의 제1 업데이트 요청 메시지를 수신하는 단계; 및
    상기 사용자 단말에 상기 제1 업데이트 요청 메시지를 전달하는 단계;
    의 수행을 위한 명령어들을 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 검증 장치.
  18. 적어도 하나의 프로그램이 기록된 메모리; 및
    상기 프로그램을 실행하는 프로세서
    를 포함하며,
    상기 프로그램은
    사용자 단말로부터 제1 DID(Decentralized Identity)를 포함하는 사용자 등록요청 메시지를 수신하는 단계;
    상기 등록요청 메시지를 상기 제1 DID에 상응하는 제1 DID 도메인에 전달하는 단계;
    상기 제1 DID 도메인의 제2 DID에 대한 검증정보 요청에 기반하여 상기 제2 DID에 상응하는 제2 DID 도메인에 검증정보를 요청하는 단계;
    상기 제2 DID 도메인의 검증정보를 상기 제1 DID 도메인에 전달하는 단계; 및
    상기 제1 DID 도메인으로부터 상기 제2 DID 도메인의 검증정보에 대한 유효성 검증 및 제1 DID 문서 업데이트 결과를 수신하는 단계;
    의 수행을 위한 명령어들을 포함하는 것을 특징으로 하는 탈중앙화된 신분증(DID)을 이용한 사용자 검증 장치.
KR1020210068087A 2021-05-27 2021-05-27 탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법 및 장치 KR102532564B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210068087A KR102532564B1 (ko) 2021-05-27 2021-05-27 탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210068087A KR102532564B1 (ko) 2021-05-27 2021-05-27 탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220160210A KR20220160210A (ko) 2022-12-06
KR102532564B1 true KR102532564B1 (ko) 2023-05-17

Family

ID=84407532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210068087A KR102532564B1 (ko) 2021-05-27 2021-05-27 탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102532564B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248237B1 (ko) 2020-11-10 2021-05-04 (주)소프트제국 브라우저 기반 보안pin인증을 이용한 did 시스템 및 그것의 제어방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11831409B2 (en) * 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
KR102519627B1 (ko) * 2018-10-26 2023-04-06 삼성에스디에스 주식회사 토큰 기반 레거시 서비스 인증 방법 및 이를 지원하는 플랫폼 서비스 서버
KR20200043320A (ko) * 2020-04-08 2020-04-27 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248237B1 (ko) 2020-11-10 2021-05-04 (주)소프트제국 브라우저 기반 보안pin인증을 이용한 did 시스템 및 그것의 제어방법

Also Published As

Publication number Publication date
KR20220160210A (ko) 2022-12-06

Similar Documents

Publication Publication Date Title
CN111010382B (zh) 在区块链网络中处理数据请求的方法和装置
US11477032B2 (en) System and method for decentralized-identifier creation
US11212665B2 (en) Embedded SIM management system, node device, embedded SIM management method, program, and information registrant device
KR102161114B1 (ko) 중계 서버를 이용하는 본인인증 시스템 및 이에 의한 본인인증 방법
CN111163182B (zh) 基于区块链的设备注册方法、装置、电子设备和存储介质
CN110311958B (zh) 一种区块链网络***
US12008145B2 (en) Method and server for certifying an electronic document
CN112508578B (zh) 基于区块链的资源转移请求验证、发送方法及装置
US20180158058A1 (en) Apparatus and method to prevent execution of an unauthorized transaction via a distributed database
CN111314172B (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN111275555B (zh) 区块链交易处理方法、交易节点以及区块链***
CN113743921B (zh) 数字资产的处理方法、装置、设备及存储介质
CN110602108A (zh) 基于区块链网络的数据通信方法、装置、设备及存储介质
CN109447601B (zh) 在区块链网络中执行见证人转移交易的方法
US20210051159A1 (en) Unified authentication system for decentralized identity platforms
CN113474804A (zh) 数字货币的交易和账户验证方法,装置及存储介质
CN112311779B (zh) 应用于区块链***的数据访问控制方法及装置
US11823194B2 (en) Decentralized biometric authentication platform
KR102532564B1 (ko) 탈중앙화된 신분증을 이용한 사용자 등록 및 검증 방법 및 장치
KR20210084380A (ko) 관계성 탈중앙화 아이디 서비스를 제공하는 방법 및 이를 이용한 블록체인 노드
CN112182009A (zh) 区块链的数据更新方法及装置、可读存储介质
CN108833105B (zh) 电子签名方法及装置
CN115086005B (zh) 多***之间的电子签章互签方法和***、电子设备和存储介质
CN114386983A (zh) 场景化支付管理方法、***、装置及可读存储介质
CN114710362A (zh) 基于区块链的身份认证方法、装置及电子设备

Legal Events

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