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/
'기술 단어장 > Blockchain' 카테고리의 다른 글
[블록체인] Ubuntu용 Indy SDK 빌드 과정 분석 (0) | 2021.08.11 |
---|---|
[블록체인] Hyperledger Indy node-pool 분석하기 (0) | 2021.08.10 |
[블록체인] DID document는 무엇이고 어떤 내용이 들어갈까? (0) | 2021.08.03 |
[블록체인] 하이퍼레저 인디(Hyperledger indy)플랫폼과 SSI/DID (0) | 2021.07.06 |
[블록체인] 하이퍼레저 프로젝트(Hyperledger Project)의 배경 및 개요 (0) | 2021.07.05 |
댓글