분산 형 ID 또는 식별자 (DID)는 사람, 사물 또는 조직을 고유하게 정의하는 몇 가지 속성이있는 체계에 지나지 않습니다. ㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ 기존의 ID 관리 시스템은 기업 디렉토리 서비스 또는 인증 기관과 같은 중앙 집중식 기관을 기반으로합니다. DID는 중앙 레지스트리, ID 공급자 또는 인증 기관과는 독립적으로 DID 주체의 제어를 완전히받습니다.. 

블록 체인 기술의 출현은 완전히 분산 된 ID 관리 (DIDM)를 구현할 수있는 기회를 제공합니다. DIDM에서 모든 ID 소유자는 전 세계적으로 분산 된 원장의 형태로 공통 신뢰 루트를 공유합니다..

각 DID 레코드는 ID 소유자가 제어하는 ​​개인 키로 암호화되어 보호됩니다. 인터넷의 ID 레이어가 될 수 있으므로 인터넷의 보안 가치를 재정의하기위한 누락 된 링크로 여겨집니다. DID에 대한 사양은 W3C (World Wide Web Consortium)에서 만들고 있습니다..

DID의 장점

Markus Sabadello, DID 사양의 공동 저자이자 다뉴브 테크, DID 사용의 일반적인 이점을 설명했습니다.

“DID는 지속적이고 안전하며 전 세계적으로 확인할 수있는 디지털 식별자를 설정할 수있는 능력을 제공하지만 중앙 기관이나 중개자가 필요하지 않기 때문에 중요한 혁신입니다.”

DID는 참조하는 엔티티에 의해 독점적으로 제어되므로 일반적으로 알려진 항목의 기본 구성 요소입니다. "자주적 정체성" 또는 "분산 된 정체성".

이동 통신사가 할당하지 않은 전화 번호가있는 대신 직접 선택하는 전화 번호가 있다고 상상해보십시오. 전 세계의 누구든지 귀하에게 전화를 걸 수 있으며, 그 누구도 귀하로부터 해당 전화 번호를 빼앗을 수 없습니다. DID는이 상황과 유사합니다..

기술적으로 DID는 유효한 URI (Uniform Resource Identifier)이므로 많은 범용 웹 기술과 호환됩니다. 단일 사용 사례 또는 프로토콜로 제한되지 않습니다..

또 다른 이점은 DID가 서로 다른 블록 체인 및 기타 대상 시스템에서 작동하도록 설계되어 상호 운용성을 제공한다는 것입니다..

DID의 용도는 무엇입니까??

DID는 문서, 개인, 회사 또는 물리적 개체와 같은 디지털 또는 실제 리소스를 식별하는 데 사용할 수 있습니다. 일반적으로 DID는 그 자체로 고유성 또는 소유자에 대한 다른 어떤 것도 증명하지 않습니다. DID는 단순한 식별자입니다. 다양한 목적, 관계 및 트랜잭션을 위해 여러 DID를 가질 수 있으며, 많은 경우에 있어야합니다..

그러나 DID 자체가 소유자에 대한 많은 정보를 제공하지는 않지만 DID 위에 프로토콜을 사용하여 여러 가지를 확인할 수 있습니다. 특정 DID를 제어하고 있음을 증명하고이를 사용 (예 : 웹 사이트에 로그인)하기 위해 DID Auth라는 챌린지 / 응답 프로토콜을 사용할 수 있습니다. 이것은 유사한 기능을 수행합니다. "분산 된 정체성" OpenID Connect와 다른 사람들이 "연합 ID".

나이, 유효한 운전 면허증 소지, 조직 회원 등 DID 소유자에 대한보다 복잡한 사실을 증명하려면 다음을 사용할 수 있습니다. 검증 가능한 자격 증명, W3C에 의해 표준화되고있는.

검증 가능한 자격 증명은 발급자가 DID에 대해 증명 한 클레임입니다. 그런 다음 거래 중에 DID 소유자가 증거로 사용할 수 있습니다. DID와 연관 될 수있는 클레임의 범위와 의미에는 제한이 없습니다. 그들은 우리 사회를 구성하는 실제 인간과 조직의 정체성만큼이나 풍부 할 수 있습니다..

DID 구조의 예

DID에 대해 많은 변형이 가능합니다. 전체 사양 파일은 다음에서 찾을 수 있습니다. W3C. 다음은 DID를 정의 할 수있는 한 가지 방법입니다. 여기에서 볼 수있는 것은 생성 날짜, 문서가 마지막으로 업데이트 된 날짜, 서명 필드 (선택 사항) 및 “authorizationCapability”가 포함 된 DID의 간단한 정의입니다. 이 마지막 필드에는이 DID에 대한 특정 권한을 가진 다른 DID를 참조하는 개체가 포함됩니다. 예를 들어 ID가 215cb1dc-1f44-4695-a07f-97649cad9938 인 DID는이 DID를 업데이트 할 수있는 권한을받습니다..

예제 DID

출처 : W3C-https://w3c-ccg.github.io/did-spec/#requirements-of-did-method-specifications

“서명”필드는 종종 오해를받습니다. 그만큼 "서명" 필드는 DID 문서가 변조되지 않았으며 서명자가 서명 당시 특정 개인 키를 제어했음을 증명할뿐입니다. 그러나 서명은 서명자가 실제 DID 소유자임을 증명하지 않습니다. 따라서 추가 보안 기능이 될 수 있지만 DID로 작업 할 때 자체적으로 신뢰할 수는 없습니다. Bitcointalk 계정에 연결된 키를 소유했음을 증명하기 위해 Bitcointalk.com 포럼에서 공개적으로 PGP 키를 스테이 킹하는 프로세스와 유사합니다..

Markus Sabadello는 “permission”필드가 DID 사양의 불안정한 요소이며 아마도 제거 될 것이라고 말했습니다. 그 목적은 누가 DID 문서를 업데이트 할 수 있는지에 대한 권한을 표현하는 것입니다. 그러나 여기에는 몇 가지 문제가 있습니다.

  1. 다른 종류의 DID (DID 방법)는 업데이트 관리 방법에 대해 매우 다른 아이디어와 가능성을 가지고 있습니다. DID 업데이트에 대한 모든 권한 부여 정보는 모든 DID에 대해 보편적 인 방식으로 의무화하는 것이 아니라 특정 DID 방법에 의해 지정되어야합니다..
  2. 권한을 표현하기위한 기존의 액세스 제어 목록 대신 객체 기능이라는 대체 모델을 살펴 보았습니다. 이것은 DID와 매우 유사한이 사양의 예입니다..

DID에 연결된 개체 기능

출처 : W3C-https://w3c-ccg.github.io/ld-ocap/

사용 사례

가장 간단한 예는 웹 사이트에 로그인하는 것입니다. DID 및 관련 키를 저장하는 디지털 지갑이 있고 로그인 할 때 팝업되고 확인을 요청하는 브라우저 플러그인 또는 앱을 사용할 수 있습니다. 아이디어는 MetaMask 플러그인과 약간 비슷하지만 덜 고급.

또 다른 예는 "나만의 정체성 가져 오기" 온라인 쇼핑을 할 때. 온라인 상점에서 책을 구입할 수 있으며 결제 할 때 DID 만 제공하면됩니다 (다시 플러그인 또는 앱 사용). 이렇게하면 상점 웹 사이트에서 계정을 만들지 않고도 배송 주소와 결제 정보를 공유 할 수 있습니다. 우리는 작은 할인을 받기 위해 모든 상점에서받는 고객 충성도 카드를 분산 식별자의 ID 필드에 연결하는 물리적 세계에 선을 그릴 수도 있습니다..

마지막으로 더 고급 예제는 분산 주소록입니다. 친구 및 관심있는 비즈니스와 계속 연결되어 있고, 완전한 제어, 투명성 및 데이터 이동성을 통해 개인 주소 및 기타 프로필 정보를 친구와 공유 할 수 있습니다. 프로필 정보가 변경 될 때마다 연결에 자동으로 알릴 수 있습니다. DID는 아무도 당신에게서 빼앗을 수없는 DID 소유자 간의 평생 연결을 가능하게합니다..

DID는 보안을 강화합니다.

DID가 보안을 강화하는 방법을 이해하려면 먼저 PKI (공개 키 인프라)가 무엇인지 숙지해야합니다. PKI는 주로 데이터 암호화 및 / 또는 서명에 사용됩니다. 데이터 암호화는 권한이있는 사람을 제외하고는 읽을 수 없도록 데이터를 스크램블하는 것을 의미합니다. PKI는 X.509 인증서라고도하는 디지털 인증서라는 메커니즘을 기반으로합니다. 인증서를 가상 ID 카드로 생각하십시오. PKI는 인증 기관 (CA)이라고도합니다. 예를 들어 VeriSign은 서명 된 SSL / TLS 인증서를 제공하여 신뢰의 웹을 생성하는 잘 알려진 CA입니다..

PKI는이 정보를 저장하기 위해 중앙 집중식 데이터베이스를 사용하므로 DID를 분산 형 PKI 변형으로 생각할 수 있습니다. DID는 분산 형 공개 키 인프라 (DPKI)의 기반을 형성합니다..

즉, DID 간의 모든 데이터 공유 및 메시징은 기존 PKI와 유사하지만 기존 인증 기관의 단점없이 DID와 관련된 암호화 키를 사용하여 인증 및 암호화됩니다..

과거에 웹 서버에서 사용하는 기존 TLS 인증서 아키텍처가 검열 및 조작에 취약한 것으로 판명 된 수많은 예가 있습니다. DID를 사용하면 모든 DID가 자신의 "신뢰의 뿌리". 즉, 신뢰할 수 있기 위해 중앙 당국에 의해 제어되고 발급 될 필요가 없습니다..

또 다른 중요한 보안 기능은 DID가 지속적이라는 것입니다. 즉, DID와 관련된 암호화 키는 새 DID를 만들지 않고도 다양한 메커니즘을 통해 안전하게 회전하고 취소 할 수 있습니다. 다음 부제목에서이 “취소”측면에 대해 자세히 알아볼 것입니다..

DID 삭제 또는 취소

분산 식별자에 대한 W3C 사양의 최신 버전 (v0.7)에서는 “삭제 / 취소”를 찾을 수있는 다양한 DID 작업에 대해 설명합니다. 탈 중앙화 원장 기술 (DLT)은 본질적으로 불변하기 때문에 이것은 매우 이상합니다. 이 측면을 더 자세히 살펴 보겠습니다..

DID를 생성하기 위해 초기 트랜잭션이 발행되면 추가 트랜잭션이 업데이트 될 수 있으며 "취소" 또는 "끝내다", DID. DID의 히스토리는 추가 전용이고 무한히 존재할 수 있지만 DID의 현재 상태는 모든 트랜잭션의 누적 합계로 정의됩니다..

해당 내역에 특별한 거래가 추가되면 DID가 "취소됨". 또한 DLT에는 DID 생성 및 저장에 적합한 유용한 속성이 있지만 DLT가 DID에 사용할 수있는 유일한 기술은 아닙니다. DID는 분산 해시 테이블 (DHT), 분산 파일 시스템 (IPF), 데이터베이스 (BigchainDB) 또는 기타 분산 네트워크를 사용하여 생성 할 수도 있습니다..

DID 사양 현황

아직 몇 가지 미해결 문제가 있지만 DID 용 W3C 워크 그룹은 2018 년 3 월 또는 4 월까지 비교적 안정적인 구현 자 초안을 게시 할 것으로 예상합니다. 완성 된 W3C 표준에 도달하는 것은 아직 예측할 수없는 훨씬 더 긴 프로세스입니다..

또한 W3C는 식별자 확인자 역할을하고 모든 분산 식별자 시스템과 함께 작동하는 범용 확인자 (Universal Resolver)와 같은 도구도 개발하고 있습니다. Java 및 Python3 프로그래밍 언어에 대한 구현을 사용할 수 있습니다..

미래 및 최종 생각 :

Markus Sabadello는“DID 작업을하는 우리는 전 세계에서이 기술에 대한 엄청난 관심을 경험하고 있습니다. 우리는 DID를 마침내 실현할 수있는 기회를 갖는 것 이상으로 생각합니다. "ID 레이어 누락" 인터넷." DID는 사용자 이름, 도메인 이름, 인증 기관 및 다음과 같은 중앙 집중식 ID 서비스를 포함하여 현재 인터넷 ID 인프라의 대부분을 대체 할 수 있습니다. "Facebook으로 로그인". 이에 적응하는 데 시간이 걸릴 수 있습니다. "분산 된 정체성" 패러다임이지만 인증, 데이터 공유 및 메시징이 작동하는 방식에 대한 더 나은 기반이 될 것입니다..