DID(탈중앙 신원증명)

CY·2022년 1월 25일
0

BlockChain

목록 보기
9/9
post-custom-banner

DID란?

Decentralized Identity의 줄임말로 개인의 신원을된 시스템을 거치지 않고 증명할 수 있는 기술을 말한다.

DID의 난제

기존의 DID에서 해결하기 어려웠던 부분은 중앙화되지 않은 저장소에 개인의 신원을 증명할 수 있는 데이터를 보관하면서, 데이터의 무결성과 보안성을 확보하는 것이었다. 이후 블록체인 기술이 등장하며 이를 통해 해결할 수 있는 방안을 모색하기 시작했다. 2016년 *W3C에서도 블록체인 워크샵에서 블록체인 기반의 ID를 표준화하자는 의견이 개진되고, 2019년 DID 워킹그룹이 공식적으로 결성되며 DID관련 문서 표준화가 시작되었다.

W3C(World Wide Web Consotium) : 월드 와이드 웹을 위한 표준을 개발하고 장려하는 조직으로 1994년에 설립되었다.

DIDs(탈중앙화 식별자)

DIDs는 검증가능하고 탈중앙화된 디지털 신원을 위한 새로운 형식의 식별자이다. 마스터키를 활용하여 DID 메소드를 통해 만들 수 있으며 우리가 일반적으로 사용하는 ID와 Password와 같은 역할을 한다.

Identity

개인 혹은 단체를 구별할 수 있는 고유의 식별자

DID 문서

해당 DID를 어떻게 사용할 수 있는지에 대해 설명해 놓은 문서로 식별자와 주체가 상호 작용을 하기 위한 서비스 엔드포인트를 포함한다. ID의 제어권과 소유권등을 증명할 수 있는 공개키와 인증정보 또한 포함되어 있다.

DID Method

특정 분산 원장이나 네트워크에서 DID와 관련된 DID 문서들을 관리하는 메커니즘

DID의 형식

DID는 세 부분으로 구성된 간단한 문자열이다.

did : 문자열이 did임을 나타내며, 이 주소가 did스키마에 따른 것임을 명시한다. 항상 did로 시작
example : did 메소드의 이름이고, did는 메소드별로 다르게 처리
0x12a0e...... : DID 메소드 안에서 사용되는 고유 아이디

  • DID 아이디가 주는 가장 중요한 정보는 DID문서가 어디에 있는지이다.
  • ID와 관련된 정보는 DID문서에 담겨 있다.

DID 문서의 내용

//DID 문서 예시
{
  "@context": "https://w3id.org/did/v1",
  "id": "did:example:123456789abcdefghi",
  "publicKey": [{ ...}],
  "authentication": [{
    "id": "did:example:123456789abcdefghi#keys-1",
    "type": "RsaVerificationKey2018",
    "controller": "did:example:123456789abcdefghi",
    "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
  }],
  "service": [{
    "id":"did:example:123456789abcdefghi#vcs",
    "type": "VerifiableCredentialService",
    "serviceEndpoint": "https://example.com/vc/"
  }]
}

id : 해당 did문서를 설명하고 있는 ID
공개키 : ID와 관련된 공개키 리스트
인증 정보 : ID의 소유권을 증명하기 위한 정보
서비스 : ID와 상호작용하기 위한 서비스들의 리스트

DID 문서에는 어떤 개인정보도 저장되지 않는다.

DID Registry

만약 저마다 다른 블록체인 플랫폼에서 서로 다른 DID메소드를 사용하고 각자의 DID 문서를 가져온다면 굉장히 복잡한 상황을 맞이하게 된다. 따라서 이러한 문제를 해결하고자 하는 방법이 W3C 공식문서인 DID Registry에 담겨 있다.


출처 : 심재훈 이더리움 연구회 발표 자료

DIF

DIF(Decentralized Identity Foundation)는 전 세계의 사용자들이 DID를 보다 쉽게 사용할 수 있도록 지원하기 위해 만든 글로벌 조직이다. DID 소유자가 Agent일 때, DID로 *Universal Resolver에서 DID Document를 뽑아낼 수 있다. 사용자 편의성을 돕고 DID 표준을 만들며 활용한 소프트웨어를 만드는 중요한 역할을 하고 있다.

DIF 유니버셜 리졸버 : DID 드라이버 컬렉션을 사용하여 구현 및 분산 된 시스템에서 DID에 대한 조회 및 해결의 표준 방법을 제공

DID 인증절차


출처 : 심재훈 이더리움 연구회 발표 자료

  1. 회사(company)에서 DID소유권자에게 DID의 유무를 확인하기 위해 소유권자에게 challenge 신청
  2. 소유자가 회사에게 DID를 response
  3. 회사에서는 응답받은 DID로 Universal Resolver에서 DID 문서를 가져옴
  4. DID 문서 안에 기록되어 있는 인증정보로 소유자의 응답을 검사
  5. 검사를 통해 응답한 소유자가 DID를 가진것이 맞는지 확인
profile
CY's StudyRoom
post-custom-banner

0개의 댓글