brunch

You can make anything
by writing

C.S.Lewis

by 유수웅 Sep 09. 2019

DID가 극복해야 할 문제

자기주권신원을 위한 탈중앙신원인증의 이해

1. 탈중앙 신원인증이란?


최근 블록체인과 같은 분산 시스템을 활용한 신원인증 방식에 대한 관심이 증대되고 있다. 이러한 방식을 미디어에서는 보통 ‘분산 ID 혹은 Decentralized ID, 줄여서 DID’로 표현하고 있다. 기술의 개념이나 용어의 혼란을 피하기 위해 여기서는 탈중앙 신원인증이라고 이야기하겠다.


탈중앙 신원인증은 블록체인을 통해 나의 신원에 대한 정보들을 중앙화 된 기관을 거치지 않으면서도 검증 가능하도록 함으로써 인증이 요구되는 상황에서 다양한 방식으로 활용할 수 있도록 하는 개념이다.


조금 더 기술적으로 풀어보면 구현 방식은 다양할 수 있겠지만 기본적으로, 한 개인의 신원 정보 및 인증과 관련된 메타 데이터(특정 데이터를 설명하는 구조화된 정보)를 DID Document라는 형식으로 정의하고 이를 가리키는 일종의 주소인 Decentralized Identifiers를 블록체인상에 정의해 놓으면 인증 요청 주체가 해당 주소를 통해 그 정보의 사실 여부를 확인할 수 있게 된다.

DIDS와 DID DOCUMENT의 참조 구조 (출처: W3C)


그렇다면 개인정보에 대한 검증은 어떤 방식으로 이루어지는지 설명하기 위해 W3C에서 정의하고 있는 Verifiable Credential Model을 살펴보자.


본 검증 모델에서는 3개(Issuer가 Holder가 동일할 경우 2개)의 주체가 있다고 가정한다. 인증을 하려는 사람인 Holder, Holder의 인증이 필요한 Verifier 그리고 Holder에 대한 검증 가능한 정보를 제공할 수 있는 주체인 Issuer가 있다.


VERIFIABLE CREDENTIAL MODEL (출처: W3C)

 

구성 주체 간 데이터의 요청 및 검증 프로세스는 아래와 같다.  


1. Holder가 Verifier로부터 개인 정보에 대한 인증 요청을 받으면 해당 내용을 인증할 수 있는 Issuer에게 Verifiable Credential 발행을 요청


2. Issuer는 Holder가 적법한 권한을 가지고 있는지 확인 후 Holder에게 Credential을 발행하고 발행과 관련된 사항을 Verifiable Data Registry(블록체인과 같은 분산 시스템)에 등록 및 내용에 대해 서명


3. Holder는 Credential을 취득하고 Issuer가 서명한 내용에 대해 Counter-sign 수행함으로써 DIDs(Key) – DID Document(Value) 생성


4. Holder는 Verifier가 요구하는 수준의 정보를 정의한 Presentation을 생성하여 Verifier에게 전달


5. Verifier는 DIDs를 통해 Verifiable Data Registry에서 해당 내용을 확인하고 내용에 문제가 없을 경우 검증을 완료


탈중앙 신원인증에서 ‘검증 가능한(Verifiable)’이라는 수식이 붙는 것은 주체들 간의 온체인 서명을 통해 그 진위여부를 검증할 수 있으며, 그 검증의 유효 여부에 대해 임의로 변경 불가능하다는 측면 때문이다.



2. 탈중앙 신원인증의 의미


탈중앙 신원인증의 궁극적인 방향성은 신원의 자기 주권성(Self-sovereignty)의 확보에 있으며, 이렇듯 자기 주권성이 확보된 신원을 자기주권신원(Self-sovereign Identity, 줄여서 SSI)이라고 한다. 


‘탈중앙’이라는 단어가 의미하듯이, 자기주권신원은 기존의 중앙화 된 시스템에 의거한 인증 방식 혹은 기업이 개인의 정보를 수집, 통제하는 방식에서 벗어나 각 주체가 스스로의 신원을 생성, 관리하는 새로운 방식을 추구한다.


탈중앙 신원인증을 활용함으로써 다양한 내러티브가 가능하겠지만 현시점에서 탈중앙 신원인증의 사용에 따른 효용은 크게 두 가지로 분류할 수 있다. 첫째는 인증의 편의성 증대, 둘째는 프라이버시의 강화이다. 


먼저 인증의 편의성 측면에서 살펴보자. 대부분의 인터넷 기반 서비스들은 유사한 정보를 필요로 하며 회원가입 및 로그인 절차도 유사하다. 이름, 생년월일, 주소, 이메일, 성별, 휴대전화 번호 등을 바탕으로 회원가입을 하고(디지털 신원의 생성), ID와 Password를 사용하여 이 디지털 신원이 나임을 증명함으로써 로그인하여 서비스를 이용하게 된다.


탈중앙 신원인증은 이 과정을 매우 편리하게 만들 수 있다. 요구될만한 정보들을 사전에 정의 해 놓은 다음 암호키를 통해 공개키가 나의 것임을 증명하는 방식이다. 물론 이 방식은 기존의 페이스북이나 카카오톡 계정을 통해 자동 가입하는 공개인증방식(OAuth)과 비슷하다고 볼 수 있는데, 차이점이 있다면 특정 서비스에 종속적이지 않기 때문에 언젠가 서비스가 종료된다거나 해킹으로 인해 개인정보가 유출된다는 우려로부터 자유로울 수 있다.


공개인증으로 주로 사용되는 페이스북의 개인정보 유출 문제 (출처: 뉴욕타임즈)

 
다음으로는 탈중앙 신원인증을 통해 프라이버시의 강화가 가능하다. 이를 이해하기 위해서는 특정 상황을 가정하여 생각해 보면 편한데, 편의점에서 맥주를 구입하는 상황을 가정해서 살펴보자.


내가 술을 구입하기 위해서는 점원에게 성인임을 인증해야 한다. 현재는 공인된 신분증, 즉 주민등록증이나 운전면허증을 제시함으로써 성인임을 인증한다. 내가 인증해야 할 내용은 나의 성인 여부만으로도 충분하지만 신분증을 제시함으로써 신분증 상의 모든 정보를 공개하는 상황이 된다. 


탈중앙 신원인증은 개인의 검증 가능한 신원정보들(Verifiable Credentials)을 저장해 놓고 그것들을 바탕으로 상황이 필요로 하는 최소한의 요구사항에 맞도록 검증 가능한 인증정보(Verifiable Claims  또는 Presentations)로 새롭게 정의할 수 있도록 한다. 이는 요구되는 최소한의 인증정보만 제공함으로써 불필요한 개인정보의 노출을 최소화한다.


예를 들면, 생년월일에 대해 검증 가능한 신원정보를 확보하고 있으면 신원 보유자가 ‘나는 19세 이상의 성인이다’를 검증 가능한 정보에 의거하여 정의할 수 있다. 즉 최소한의 정보 공개만으로 인증함으로써 프라이버시를 강화하는 것이다.


일견 가능성은 충분해 보인다. 그러나 이것의 현실화를 위해 더 깊이 들어가면 해결해야 할 다양한 문제가 있음을 깨닫게 된다.



3. 탈중앙 신원인증이 극복해야 할 문제


앞서 탈중앙 신원인증의 방향성은 Self-sovereignty에 있다고 했다. 개인정보의 생성부터 관리, 활용까지 모두 개인의 통제 아래 있는 것인데, 가장 근본적인 문제는 ‘개인이 정의하는 신원을 신뢰할 수 있는가’이다.


우리는 지금도 스스로를 인증하기 위해 특정한 신뢰의 근원에 바탕을 두고 있는데 이를 트러스트 앵커(Trust Anchor)라고 한다. 국가가 그 대표적인 기관인데 나의 국적, 생년월일 등을 증명하기 위해 국가가 인정하는 주민등록증, 여권, 운전면허증 등을 사용함으로써 내 인증에 대한 신뢰의 근원이 국가에 있다는 것을 입증한다.


탈중앙 신원증명을 위해 앞서 설명한 Verifiable Credential Model은 신원을 검증하고자 하는 Verifier가 인증정보를 발행한 Issuer를 신뢰할 수 있다는 Trust Model의 구축을 기본적인 전제로 두고 있다. 이상적인 SSI 생태계는 Issuer와 Holder가 일치하며, Verifier가 Issuer인 Holder를 신뢰할 수 있어야 하지만 현실적으로 어렵기 때문에 Issuer를 신뢰할 수 있는 제3의 기관으로 둘 수밖에 없게 된다.


따라서 탈중앙 신원인증에서도 아직까지는 제3의 중앙화 된 신뢰 기관(Certificate Authority)을 필요로 한다는 점이다. 독자 여러분은 타인이 스스로 정의하는 신원에 대한 정보를 얼마나 신뢰할 수 있겠는가? 만약 특정 기관이 타인에 대한 신원을 보증한다면 어떤 수준의 기관이어야 신뢰할 수 있겠는가?


세계경제포럼(WEF)에서는 신원정보의 속성을 3가지로 구분했는데, 국적, 생년월일 등의 태생적 속성(Inherent Attribute),  시민권, 졸업증명 등 정부나 기관이 부여한 부여된 속성(Assigned Attribute) 그리고 신용정보, 평판 등의 축적된 속성(Accumulated Attribute)으로 구분했다.


현재의 신원인증 패러다임은 태생적이면서도 신뢰 기관으로부터 부여된 속성에 절대적 신뢰를 두고 있다. 반면 SSI의 주요 항목인 축적된 속성에 대해서는 큰 신뢰를 부여하지 못한다. 이런 이유로 아직까지는 국가, 금융기관, 통신사, 학교 등, 나의 특정 정보에 대해 권한을 가진 주체가 검증해 주지 않으면 신뢰할만한 신원 정보로 확정하기 어렵다. 


탈중앙 신원인증이 제대로 된 신분증명이 어려운 사람들을 위한 기술이며, Borderless Identification Ecosystem을 구축할 수 있다는 주장은 여전히 필요하고 가능성이 있지만 이러한 Trust Anchor 문제를 해결하지 않으면 매우 어려운 문제다.


더불어, 탈중앙 신원인증이 추구하는 프라이버시의 강화도 현재로서는 크게 기대하기 어렵다. 개인정보를 온체인에 올리는 것은 프라이버시 측면에서 매우 큰 위험을 내포하고 있다. 물리적 저장소로서 인터넷에 연결되지 않은 개인 디바이스에 저장하는 것이 가장 안전하겠지만, 결국 검증의 특정 시점에는 인터넷과 연결이 필요하며 개인이 정보관리의 온전한 주체가 되는 것도 아직은 쉽지 않은 일이다.


따라서 현시점에서는 중앙화 된 기관의 서버나 클라우드 등에 신원에 대한 정보를 보유하게 되는 것이며, 이것은 다시 예전의 방식으로 돌아가는 것이 되므로 개인정보의 완전한 통제는 아직 해결이 어려운 부분이다. 현재 많은 기업이 추진하는 분산 ID 중 상당수는 탈중앙 신원인증과는 거리가 있는 것이고 굳이 분산 시스템을 사용해야 하는 이유도 명확하지 않은 것으로 보인다. 그래서 굳이 ‘탈중앙’이 아닌 ‘분산’이라는 표현을 사용하는 건지도 모르겠다. 


다만, 기존에 내 정보의 활용과 그 활용 목적 등을 전혀 파악할 수 없었다면, 적어도 누군가 내 정보에 접근했다는 것은 확인이 가능하다는 점은 개선되는 점일 수 있겠다.



4. 그럼에도 불구하고..


아직 탈중앙 신원인증을 통한 완전한 자기신원주권의 실현은 해결해야 할 과제가 많다. 개인이 생성하는 디지털 Foot Print라는 축적된 속성을 신원 정보로 인정할 수 있는가에 대한 논의, Trust Anchor의 뿌리로서의 개인과 국가에 대한 패러다임 전환, 디바이스 혹은 지갑 클라이언트가 인터넷에 연결되어 있으면서도 개인정보의 원본에 접근할 수 없는 보안 알고리즘 혹은 하드웨어도 뒷받침이 되어야 할 부분이다.


하지만 블록체인이 그렇듯, 탈중앙 신원증명도 잠재력이 매우 큰 분야이고 지속적인 개선의 과정에 있다. 신원인증은 우리의 삶에서 매우 빈번하게 일어나는 만큼, 인증의 편의성 및 프라이버시 강화뿐만 아니라 다양한 영역에서의 활용 및 파급력도 상당하다.


탈중앙 신원인증 개념이 발전의 초기에 해당하는 만큼 이상과의 괴리, 트레이드오프가 보이더라도 다양한 분야에서 개념검증(Proof of Concept) 과정은 매우 중요하다. 특히 우리가 그동안 증빙에 많은 시간적 비용이 소모되었던 학교, 직장 등에 대한 증빙은 이러한 자기신원주권으로 가는 시작점이 될 수 있다.


위에서 설명한 자기주권신원의 개념을 각자가 위치한 산업, 서비스 등에 연결하기 위한 고민과 시도를 해보면 어떨까? 생각지도 못한 혁신을 만들 수 있을지도 모르니 말이다.




본 글은 블록체인 전문 미디어 Noder에 기고한 글입니다. 해당 글 및 다양한 블록체인 관련 글은 아래 링크에서 확인 가능합니다.


https://noder.foundation/did-for-ssi/

작가의 이전글 블록체인을 경험하라
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari