본문 바로가기
기술 단어장/Blockchain

[블록체인] DID란 무엇인가?

by MFDO 2021. 7. 3.

 

DID(Decentralized Identifiers)

 : 중앙화된 신원 제공자, 레지스트리, 인증 기관 등으로부터 독립되어 검증 가능한 분산 디지털 신원 기술
 - DID
주체와 관련된 URL, DID 문서방식으로 주체와 신뢰도 있는 상호작용을 하게 하는 도구

 

 

 

DID 인증 과정
                           


 1. DID
사용자는 비밀키가 저장된 개인 단말기/브라우저를 통해 DID가 담긴 사용자 요청 전송
 2.
서비스는 사용자 DID를 이용해 레지스트리에서 사용자 공개키를 통해 신원 인증에 필요한
  
값을 암호화하여 사용자에게 전송
.
 3.
사용자는 비밀키를 통해 복호화를 하여 서비스에게 전송(신원 인증 요청 응답)
 4.
서비스는 사용자가 복호화한 인증값이 유효하면 신원 인증을 완료, 서비스 제공을 위한
   
채널을 생성 후 제공

 

 

 

VC VP 기반 생태계


- Issuer : VC
를 발급하는 기관
- Holder : VC
에 대한 주인, SSI에서 자기증명을 하기 위한 주체, VC를 받아 개인 지갑에
         
저장하고, VP를 제출.
- Verifier :
정보 요청자 VP를 요청하고 검증

 

 

 

W3C DID 표기 방법

 Scheme : DID 식별자임을 표시하는 것으로 모든 DID‘did’로 시작
 DID Method : DID
CRUD(Create, Read, Update, Delete) 수행법 지정
 DID Method-Specific Identifier : DID Method
를 특정 하기 위한 식별자, ID 문자열

 

 

 

DID Document

- DID 주체/대리인의 본인 인증 및 DID와의 연관성을 증명을 위한 데이터 저장소.
-
공개키, 유사생체인식과 같은 메커니즘을 포함하여 DID를 인증하고 DID 관련을 입증하는
 
데 사용 가능한 DID 주제를 설명하는 데이터 세트
- id
속성을 반드시 포함해야 함
-
포함 내용: 문서 주체의 신원 검증 값, 문서 주체와 상호작용 가능한 서비스에 관한 정보
-
표현 방법: JSON-DL 그래프 기반 데이터 구조 혹은 다른 그래프 기반 데이터 형식

 

 

DID Controller

: DID 또는 DID 문서를 제어하는 주체 또는 그룹
- DID
컨트롤러는 DID 대상을 포함 가능.

 

 

DID Path

: DID URL중 첫 번째 슬래시 문자 (/ 포함) 하는 부분
- URI
경로와 동일
- DID Path
는 서비스 엔드 포인트를 통해 사용 가능한 주소 자원으로 사용 가능해야 함

did:example:123456/path

 

 

DID Query

: DID URL중 첫 번째 물음표 문자 (?) 다음에 오는 부분
- URI
쿼리 구문과 동일
-
서비스 엔드포인트를 통해 사용 가능한 주소 자원으로 사용 가능해야 함

did:example:123456?query=true

 

 

DID Fragment

: DID URL중 첫 번째 해시 기호 문자 (#) 다음에 오는 부분
- URL
시스템 중 id 전달 시 사용하는 방법과 동일
- *
컴포넌트 식별을 위해 사용하는 DID 문서 안의 메소드, 독립적인 레퍼런스 대신
  DID
파편화를 사용하는 것은 비권장

*
컴포넌트:
재사용이 가능한 각각의 독립된 모듈, 공개키 설명 혹은 서비스 엔드 포인트
*did:example:12345/
경로(Path)?질의(Query)#프레그먼트(Fragment) 와 같이 3개 요소 결합

did:example:123456#oidc

 

 

DID Method

 - DID와 관련된 DID 문서들을 생성, 읽기, 갱신, 비활성화 하는 메커니즘
 -
DID가 생성되고 읽어지고 업데이트 되는 등의 CRUD(Create, Update, Delete) 활동 수행
 -
종류:  did:wdb(URI DID로 이용),                 did:git(개발자를 위한 DID),
           did:ipid(
분산파일 시스템기반 DID),        did:PROPRIETART(사업자가 제공하는 DID),
           did:peer(P2P
관계를 위한 DID),             did:key(공개키 기반 DID)

 

 

DID Scheme

: DID가 식별하고 DID 문서가 설명하고자 하는 항목
- DID
문서에 반드시 id 속성으로 포함되어 있음
-
다수의 method-specific-id 형식을 정의할 수 있지만 소수의 형식을 정의하는 것을 권장

{ “id”: “did:example:123456” }

DID

 

Subject

: DID로 구분되고 DID 문서로 설명되는 주체
-
다수의 method-specific-id 형식을 정의할 수 있지만 소수의 형식을 정의하는 것을 권장

 

 

DID Registry

: DID Method를 정의하기 위한 규격
- DID Method Registry :
모든 DID 메소드들과 그들의 상세 규격에 대한 목록
- Linked Data Cryptograpy Suite Registry :
알려진 모든 Linked Data Cryptography Suites Key Format을 정의

 

DID Resolver

: 주어진 DID에 대한 DID Document를 검색 할 수 있는 시스템.
- Resolver
시스템들의 규격은 DID Resolution 문서에 존재

 

 

참고에 좋은 문서

W3C Decentralized Identifiers: https://www.w3.org/TR/did-core/#dfn-did-documents
W3C Decentralized Identifiers(
번역본): https://ssimeetupkorea.github.io/did-core/

댓글