본문 바로가기
에디의 소소한 IT

DID(Decentralized identification)란? 블록체인 기반 탈중앙화 분산신원증명

by Eddy's life 2022. 11. 12.
반응형

블록체인 응용 기술 분야 중 DID라는 것이 있더군요. Decentralized identification의 줄임말로 분산신원증명 혹은 분산식별자라고도 합니다. 얼떨결에 블록체인 업계로 들어와 DID에 대해서 공부를 좀 해봤는데요. 지금부터 DID에 대해서 제 방식대로 정리한 내용을 공유하도록 하겠습니다. 

 

 

우리는 가끔 '내가 나라는 것'(나의 identity)을 증명해야 합니다. 실제 생활, 즉 오프라인 영역에서는 주민등록증, 학생증, 운전면허증, 여권 등으로 증명하는데요. 인터넷 환경에서 '내가 나라는 것'은 어떻게 증명해왔을까요?

 

네이버나 다음, 구글, 페이스북 등을 접속할 때 아이디, 패스워드를 입력해서 '내가 나'임을 증명합니다. 아이디, 패스워드를 알고 있고 그것을 입력할 수 있으면 '내가 나라는 것'이 증명되면서 '이것이 내 계정이다'라고 것도 증명되는 방식이지요. ID/PW를 입력한 값이 서비스 사업자의 중앙 회원 DB 서버에 저장된 ID/PW와 정확히 일치하면 됩니다. (엄밀히 말하면 해시값을 대조한다고 하네요.)   

 

요즘은 많이 사용하지 않지만 얼마 전까지만 해도 금융결제원의 공인인증서를 많이 사용했었습니다. 공인인증서를 발급 받아 저장해놓고 뱅킹 서비스를 이용할 때마다 패스워드를 입력해 '내가 나라는 것'을 증명하기도 했었지요. 이것도 결국, 사용자 device 혹은 PC 등에 저장된 공인인증서와 금융결제원 중앙 서버에 저장되어 있는 개인의 인증서 정보를 대조하여 증명하는 방식입니다. (기술적으로는 공개키와 개인키, 즉 PKI 인증 방식을 이용하는 듯합니다.)  

 

반응형

 

그런데...? 위 방법들 모두 공통점이 있습니다. 모두 사용자의 개인 정보를 한 곳에서 저장 및 관리한다는 것입니다. 몇 천만 명 혹은 몇 억 명의 개인 신원 정보를 네이버, 다음, 구글, 페이스북, 은행, 공공기관, 금융결제원 등의 서비스 제공자 혹은 CA(Certificate Authority)들이 자기들 서버에서 중앙 집중적으로 관리하지요.

 

그러다보니 여러가지 문제가 발생하기도 합니다.

서비스 제공자의 서버가 해킹이라도 당하는 날이면 몇 억 명의 개인 신상 정보가 한꺼번에 털려 해커에게 고스란히 넘어가기도 합니다. 반면 처벌은 솜방방이 벌금으로 끝나는 경우가 대부분이지요. 

 

또한, 과도하게 광범위한 개인 정보가 서비스 사업자들에게 관리된다는 점도 문제점 중의 하나이며 그로 인해 네이버, 다음, 페이스북, 구글 등의 사업자 영향력이 too much 해지는 경향이 있는 것도 사실입니다.

 

이러한 폐단을 없애고자 나타난 것이 바로 DID! 그럼 지금부터 본격적으로 DID에 대해서 알아보겠습니다. 

 

DID(Decentralized identification)란? 블록체인 기반 탈중앙화 분산신원증명

Decentralized identification, 분산 신원 증명이라고도 하고 Decentralized identifiers, 분산 식별자라고 칭하기도 합니다. 신원 정보를 CA(Certificate Authority) 등의 중앙집중형 등록 기관에 등록했던 기존의 방식과는 달리 블록체인 네트워크, 즉 분산 저장소에 신원 정보를 등록하는 것이 특징입니다. W3C(World Wide Web Consortium)는 최근 DID 기술을 새로운 웹 표준으로 인정하기도 했지요. 

 

 

 

W3C, DID를 웹 표준으로 승인...블록체인 대중화 기대

[파이낸셜뉴스] 인터넷의 표준을 정하는 월드와이드웹 컨소시엄(W3C)이 블록체인 기반 분산신원인증(DID) 기술을 새로운 웹 표준으로 승인했다. 구글, 애플 등 글로벌 인터넷 기업들이 DID 웹 표준

www.fnnews.com

 

 

 

Decentralized Identifiers (DIDs) v1.0

This section is non-normative. This section contains a variety of security considerations that people using Decentralized Identifiers are advised to consider before deploying this technology in a production setting. DIDs are designed to operate under the t

www.w3.org

 

따라서 네이버, 구글, 페이스북, 금융결제원 등의 서비스 사업자 중앙 서버에 개인 정보를 넘길 필요가 없으며... 인증이 필요한 순간에는 꼭 필요한 정보만 추려서 서비스 사업자에게 제출하면 되고, 그 정보는 서비스 사업자가 블록체인 네트워크에 등록된 나의 정보와 대조해서 증명하는 방식입니다.

 

아래 그림 하단에서 Holder가 사용자, Issuer가 사용자의 신원 증명을 발급하는 기관, Verifier는 사용자의 신원 증명을 요구하는 서비스 사업자라고 보시면 됩니다. 또한 Verifiable Data Registry가 바로 블록체인에 저장되는 정보 목록이며 Holder, Issuer, Verifier 즉  사용자, 신원 증명서 발급 기관, 신원 증명을 요구하는 사업자 모두 verifiable data registry 중심으로 사용자의 신원을 발급, 등록, 검증합니다.   

W3C Verifiable Credential data model. source https://www.w3.org/TR/vc-data-model/
W3C Verifiable Credential data model. source https://www.w3.org/TR/vc-data-model/

서비스 사업자 혹은 CA의 중앙 서버 대신 블록체인 네트워크에 신원 정보가 저장되기 때문에 '탈중앙화'라고 표현하기도 하고, 블록체인을 분산원장이라고도 부르기 때문에 '분산' 신원증명이라고도 표현합니다. 

 

때로는 Self Sovereign Identity, 자기 주권 신원이라는 말로도 표현하는데요. 자신의 identification 관련 정보를 중앙 서버에 의지하지 않고 오직 자신의 device와 블록체인 네트워크에 저장하고 관리하기 때문에 자기 주권적이라는 용어를 사용하는 것 같네요.  

 

우리나라에서는 생각보다 많은 곳에 DID 기술이 사용되고 있습니다. 모바일 운전면허증, 백신접종증명, 서울시와 정부의 각종 공공증명서 발급 등에 DID가 쓰이고 있으며 SKTelecom의 initial(이니셜) 앱이 대표적인 서비스라고 할 수 있겠습니다. 

 

그럼 DID 정의에 대한 포스팅은 이만 줄이고 다음 포스팅에서는 DID 구조와 service flow에 대해서 알아보도록 하겠습니다. 끝까지 읽어주셔서 감사합니다.

반응형

댓글