2018.01.12

블록체인은 어떻게 자주적 신원을 실현하는가

Phillip Windley | Computerworld
•인터넷의 흥미로운 구조 중 하나는 신원 제공자(identity provider, 이하 IDP)다. 물론 사람은 누군가에게 신원을 부여 받아야 할 필요는 없다. 인간으로 정체성을 타고나기 때문이다. IDP가 제공하는 것은 사실 그 제공자에게 중요한 특성을 기록하는 수단인 식별자(identifier), 그리고 그것이 사용자 본인에게 맞음을 입증하는 수단(일반적으로 암호)이다.

이런 구조가 만들어진 이유는 온라인 신원이 전통적으로 개인과 그 개인의 필요가 아니라, 조직과 그 조직의 필요라는 관점에서 취급됐기 때문이다. 신원 확인 시스템은 특정 도메인 내에서 식별자와 특성을 관리하기 위해 만들어진다. 그 결과 사람들은 수백 개의 조직에서 수백 가지의 온라인 페르소나를 갖게 됐다. 이러한 각각의 관리용 신원 확인 시스템은 이를 제공하는 조직에서 독점적으로 소유한다. 이러한 많은 시스템으로부터 독립적인 온라인 신원은 사실상 없다. 새 주소가 생기거나 신용카드 번호가 업데이트되는 경우 사용자는 각 시스템에서 요구하는 방식대로 한번에 하나씩 이를 반영해야 한다.

이 작업을 한 곳에서 처리할 수 있다면 어떨까? 물론 Computerworld든 아마존이든 누군가는 여전히 사용자 계정을 저장해야 하고 사용자의 업데이트된 주소도 여전히 필요할 것이다. 그러나 그 계정은 사용자가 제공하는 신원과 연결된다. 더 중요한 점은 사용자 스스로 ‘통제하는’ 신원이라는 것이다.

자주적 신원이란 무엇인가?
이 개념을 자주적 신원(self-sovereign identity)이라고 한다. 자주적 신원의 시작은 온라인과 오프라인에서 자신의 신원을 만드는 것은 자기 자신이라는 개념이다. 자주적 신원 시스템은 중앙 기관에 의존하지 않으므로 분산되고, 실생활에서의 신원과 동일한 방식으로 작동한다.

오프라인에서는 수많은 서드파티가 제공하는 특성과 자격 증명의 사용이 유연하다. 일반적으로 본인이 직접 그러한 자격 증명을 지갑에서 꺼내 다른 사람에게 제시하여 확인하도록 하는 방식이 사용된다. 예를 들어 운전면허증을 보자. 운전면허증은 운전을 승인하는 자격 증명용으로 발급되지만 그 외에도 많은 용도로 사용할 수 있다. 술집에서 바텐더가 손님에게 성인임을 입증하는 신분증을 요구할 때 운전면허증을 제시할 수 있다.

잠시 생각해 보면 이것은 적어도 온라인의 신원의 작동 원리와 비교하면 기적이나 마찬가지다. 술집과 도로교통공단 사이에는 아무런 법적 계약, 비즈니스 관계 또는 기술적 통합이 없다. 술집은 신원 확인을 위해 누구의 허가도 받지 않았다. 어느 때부터 그냥 사람들에게 면허증을 보여달라고 요구하기 시작했을 뿐이다. 요구를 받은 사람은 바텐더에게 자격 증명을 제공한다. 이것이 가능한 이유는 도로교통공단이 그 사람의 생년월일을 정확히 안다는 것을 술집이 신뢰하기 때문이다. 또한, 중요한 정보는 인증이 쉽되 위조하기는 어려운 방식으로 패키지화된다.

오프라인 세계는 그 자격 증명이 나타내는 사람에게 부여되는, 그 사람이 가지고 다니는 분산된 자격 증명을 사용한다. 이러한 종류의 서드파티 자격 증명을 ‘주장(claim)’이라고 한다. 그 주장의 대상이 제시할 때에도 진실임을 확인할 수 있는 주장이다. 이러한 “입증 가능한 주장”이 자주적 신원의 핵심이다.

자주성은 그 사람이 완전한 통제권을 갖는다는 의미는 아니다. 그러나 자주성은 경계를 정의한다. 경계선 안에서는 그 사람이 의사 결정을 내리고 밖에서는 다른 사람과 피어(peer)로 협상한다. 술집의 예를 다시 들면, 제시할 자격 증명을 결정하는 것은 손님 본인이다. 술집은 어떤 자격 증명을 받아들일지를 결정한다. 술집이 운전면허증을 인정할 의무는 없다. 바텐더가 운전면허증이 위조됐다고 판단하면 바텐더는 면허증과 그 면허증을 제시한 손님을 거부할 수 있다.

온라인 신원의 문제
자주적 신원은 사람들이 종이 또는 플라스틱 자격 증명을 항상 가지고 다니는 실생활에서는 원활하게 작동하지만 온라인에서는 똑같이 구현하기가 훨씬 더 어렵다. 온라인 신원에는 5가지 실질적인 문제가 있다.

• 근접성 문제 : 멀리 떨어져 있는 사람과 거래할 때 사기의 가능성이 높아진다.

• 규모 문제 : 온라인 신원 시스템은 루트 신뢰 기관과의 비즈니스 관계와 기술적 통합을 바탕으로 한다. 여기에는 비용이 많이 들기 때문에 가치가 큰 사용 사례에만 실행된다.

• 유연성 문제 : 현재 신원 시스템은 융통성이 없이 틀과 사용 사례가 고정되어 있다.

• 개인 정보 보호 문제 : 브라우저 쿠키와 같이 공유되는 식별자로 인해 사용자 모르게 개인 정보가 누적되고 상호 연계된다. 지속적인 해킹은 중앙화된 대규모 개인 정보 저장이 안전하지 않음을 보여준다.

• ‘동의’ 문제 : 신원 시스템은 이메일 주소, 전화 번호, 사회 보장 번호와 같이 동의 없이 손쉽게 연계해서 추적하고 엿볼 수 있는 범용 식별자에 의존한다.

자주적 신원 시스템은 분산 및 암호화를 사용해 이러한 문제를 해결한다. 분산된 신원이 어려운 이유는 기능적인 신원의 핵심적인 요구 사항 중 하나가 검색(discovery)이라는 점이다. 상대방이 식별자를 주면 나는 그 식별자를 조회해야 한다. 과거에는 이 과정이 중앙의 디렉토리로 이어졌고, 이것이 중앙화된 신원 시스템으로 이어졌다.

그러나 블록체인이 등장하면서 모든 것이 바뀌었다.

블록체인은 어떻게 신원 딜레마를 해결할 수 있는가
자주적 신원 시스템은 블록체인, 즉 분산 원장을 사용하므로 중앙 디렉토리가 없어도 분산된 식별자를 조회할 수 있다. 블록체인 자체는 신원 문제를 해결하는 것이 아니라 그동안 없었던 연결 고리를 제공할 뿐이다. 덕분에 수십년 전부터 알고 있던 암호화를 실제로 사용할 수 있게 된 것이다. 사람들은 오프라인에서와 같이 분산된, 확인 가능한 자격 증명을 사용해서 스스로를 입증할 수 있다.

원리를 이해하기 위해 술집에서 운전면허증을 제시하는 예를 다시 보자. 도로교통공단은 주장(claim) 발행 기관이며 주장 소지자에게 운전면허증의 디지털 표식을 제공한다. 도로교통공단은 블록체인의 분산된 식별자와 연결된 키를 사용해 주장에 서명하여 흔적을 만든다. 따라서 이 주장을 받은 사람은 누구나 그 발행자가 도로교통공단임을 알 수 있다. 사용자는 지갑에 주장을 넣고, 블록체인에서 자신이 제어하는 분산 식별자에 연결된 키를 사용해 디지털 운전면허증에 부서(countersign)한다. 술집에서 손님이 법적 성인임을 확인해야 하는 경우 손님이 디지털 운전면허증을 제시하면 술집은 이것이 변경되지 않았는지, 도로교통공단이 그 손님에게 발행했는지, 이를 제시하는 사람과 동일인인지를 확인할 수 있다. 누구나 블록체인을 사용해서 분산 식별자를 조회하고 연결된 공용 키를 가져올 수 있다.

물론 모든 조직 또는 개인은 원하는 주장을 발급할 수 있다. 어느 주장이든 자유롭게 지갑에 보관할 수 있다. 또한 주장 확인자는 어떤 주장을 신뢰할지를 직접 선택할 수 있다. 이러한 선택을 분산함으로써 필요한 유연성을 확보하면 거의 모든 용도로 자주적 신원 시스템을 사용할 수 있다.



자주성을 갖추려면 신원 시스템에는 다음과 같은 특징이 필요하다.

• 지속성 : 사라질 수 있는 신원은 자주적이지 않다. 자주적 신원 시스템의 식별자는 장기간 지속되며 재사용할 수 없고 그 식별자를 만든 사람의 소유다. 자주적 신원이 필요한 것은 사람만이 아니다. 조직과 연결된 사물 역시 필요하며 개인과 동일한 인프라를 사용할 수 있다.

• 피어 기반 : 자주성은 경계를 정의한다. 그 경계 안에서는 사람이 통제권을 갖고 밖에서는 다른 사람과 피어 자격으로 상호작용한다. 사람들은 자신이 형성하는 관계와 자신이 공유하는 정보를 통제하지만 다른 사람들도 동일한 선택을 한다. 자주적 신원 시스템은 클라이언트-서버가 아니라 피어 대 피어다.

• 개인정보 보호 : 자주성은 정보가 공유되는 방식을 사람이 통제할 수 있도록 한다. 연관을 차단하지 않고 특성 노출을 최소화하지 않고 명시적인 동의를 제공하지 않는 신원 시스템은 사람들의 정보를 위험에 노출시키고 정보에 관한 통제력을 없앤다.

• 이식 가능 : 자주성은 선택과 통제를 암시한다. 벤더 종속은 이 두 가지를 파괴한다. 선택과 통제를 보호하기 위해서는 식별자 및 관련된 자격 증명은 이식 가능해야 하며 자주적 신원 시스템은 상호 운용이 가능해야 한다.

현재 소브린(Sovrin), 유포트(uPort), 베레스 원(Veres One) 등 여러 가지 자주적 신원 시스템이 존재하며 개발 진척 단계도 제각기 다르다. 각 시스템은 분산된 자주적 신원을 지원하지만 주장을 발급하고 제시하는 방법에 차이가 있다.

자주적 신원은 비교적 새로운 개념이며 빠른 변화가 일어나는 중이다. 상호운용성은 제공하기 위해 분산 식별자와 확인 가능한 주장에 대한 표준이 개발되고 있다. 궁극적으로 이러한 시스템은 인간의 존엄성을 강화하고 인간의 자기 결정권에 대한 기본적인 욕구를 보호하게 된다. 조 앤드류가 썼듯이 “신원에 대한 깊은 이해 없이 상호 연결된 시스템을 구축하면 인간의 존엄성을 훼손할 위험이 있다. 의도하지 않게 자기 표현을 거부하고 개인을 위험에 빠트리고 가장 필요한 자기 결정권을 무심코 탄압하는 시스템을 구축할 위험이 있다.”

올바르게 구현된 자주적 신원 시스템은 거리로 인해 발생하는 문제가 있긴 하지만 동의하에 확장 가능하고 유연하며 개인정보가 보호되는 상호작용을 제공한다. 가장 중요한 점은 이 시스템이 개인정보 또는 사용하는 사람들의 자유를 위협하지 않으면서 자연스러운 인간의 활동을 지원한다는 것이다. 모든 사람이 지지할 수 있는 발전이다. editor@itworld.co.kr
 

2018.01.12

블록체인은 어떻게 자주적 신원을 실현하는가

Phillip Windley | Computerworld
•인터넷의 흥미로운 구조 중 하나는 신원 제공자(identity provider, 이하 IDP)다. 물론 사람은 누군가에게 신원을 부여 받아야 할 필요는 없다. 인간으로 정체성을 타고나기 때문이다. IDP가 제공하는 것은 사실 그 제공자에게 중요한 특성을 기록하는 수단인 식별자(identifier), 그리고 그것이 사용자 본인에게 맞음을 입증하는 수단(일반적으로 암호)이다.

이런 구조가 만들어진 이유는 온라인 신원이 전통적으로 개인과 그 개인의 필요가 아니라, 조직과 그 조직의 필요라는 관점에서 취급됐기 때문이다. 신원 확인 시스템은 특정 도메인 내에서 식별자와 특성을 관리하기 위해 만들어진다. 그 결과 사람들은 수백 개의 조직에서 수백 가지의 온라인 페르소나를 갖게 됐다. 이러한 각각의 관리용 신원 확인 시스템은 이를 제공하는 조직에서 독점적으로 소유한다. 이러한 많은 시스템으로부터 독립적인 온라인 신원은 사실상 없다. 새 주소가 생기거나 신용카드 번호가 업데이트되는 경우 사용자는 각 시스템에서 요구하는 방식대로 한번에 하나씩 이를 반영해야 한다.

이 작업을 한 곳에서 처리할 수 있다면 어떨까? 물론 Computerworld든 아마존이든 누군가는 여전히 사용자 계정을 저장해야 하고 사용자의 업데이트된 주소도 여전히 필요할 것이다. 그러나 그 계정은 사용자가 제공하는 신원과 연결된다. 더 중요한 점은 사용자 스스로 ‘통제하는’ 신원이라는 것이다.

자주적 신원이란 무엇인가?
이 개념을 자주적 신원(self-sovereign identity)이라고 한다. 자주적 신원의 시작은 온라인과 오프라인에서 자신의 신원을 만드는 것은 자기 자신이라는 개념이다. 자주적 신원 시스템은 중앙 기관에 의존하지 않으므로 분산되고, 실생활에서의 신원과 동일한 방식으로 작동한다.

오프라인에서는 수많은 서드파티가 제공하는 특성과 자격 증명의 사용이 유연하다. 일반적으로 본인이 직접 그러한 자격 증명을 지갑에서 꺼내 다른 사람에게 제시하여 확인하도록 하는 방식이 사용된다. 예를 들어 운전면허증을 보자. 운전면허증은 운전을 승인하는 자격 증명용으로 발급되지만 그 외에도 많은 용도로 사용할 수 있다. 술집에서 바텐더가 손님에게 성인임을 입증하는 신분증을 요구할 때 운전면허증을 제시할 수 있다.

잠시 생각해 보면 이것은 적어도 온라인의 신원의 작동 원리와 비교하면 기적이나 마찬가지다. 술집과 도로교통공단 사이에는 아무런 법적 계약, 비즈니스 관계 또는 기술적 통합이 없다. 술집은 신원 확인을 위해 누구의 허가도 받지 않았다. 어느 때부터 그냥 사람들에게 면허증을 보여달라고 요구하기 시작했을 뿐이다. 요구를 받은 사람은 바텐더에게 자격 증명을 제공한다. 이것이 가능한 이유는 도로교통공단이 그 사람의 생년월일을 정확히 안다는 것을 술집이 신뢰하기 때문이다. 또한, 중요한 정보는 인증이 쉽되 위조하기는 어려운 방식으로 패키지화된다.

오프라인 세계는 그 자격 증명이 나타내는 사람에게 부여되는, 그 사람이 가지고 다니는 분산된 자격 증명을 사용한다. 이러한 종류의 서드파티 자격 증명을 ‘주장(claim)’이라고 한다. 그 주장의 대상이 제시할 때에도 진실임을 확인할 수 있는 주장이다. 이러한 “입증 가능한 주장”이 자주적 신원의 핵심이다.

자주성은 그 사람이 완전한 통제권을 갖는다는 의미는 아니다. 그러나 자주성은 경계를 정의한다. 경계선 안에서는 그 사람이 의사 결정을 내리고 밖에서는 다른 사람과 피어(peer)로 협상한다. 술집의 예를 다시 들면, 제시할 자격 증명을 결정하는 것은 손님 본인이다. 술집은 어떤 자격 증명을 받아들일지를 결정한다. 술집이 운전면허증을 인정할 의무는 없다. 바텐더가 운전면허증이 위조됐다고 판단하면 바텐더는 면허증과 그 면허증을 제시한 손님을 거부할 수 있다.

온라인 신원의 문제
자주적 신원은 사람들이 종이 또는 플라스틱 자격 증명을 항상 가지고 다니는 실생활에서는 원활하게 작동하지만 온라인에서는 똑같이 구현하기가 훨씬 더 어렵다. 온라인 신원에는 5가지 실질적인 문제가 있다.

• 근접성 문제 : 멀리 떨어져 있는 사람과 거래할 때 사기의 가능성이 높아진다.

• 규모 문제 : 온라인 신원 시스템은 루트 신뢰 기관과의 비즈니스 관계와 기술적 통합을 바탕으로 한다. 여기에는 비용이 많이 들기 때문에 가치가 큰 사용 사례에만 실행된다.

• 유연성 문제 : 현재 신원 시스템은 융통성이 없이 틀과 사용 사례가 고정되어 있다.

• 개인 정보 보호 문제 : 브라우저 쿠키와 같이 공유되는 식별자로 인해 사용자 모르게 개인 정보가 누적되고 상호 연계된다. 지속적인 해킹은 중앙화된 대규모 개인 정보 저장이 안전하지 않음을 보여준다.

• ‘동의’ 문제 : 신원 시스템은 이메일 주소, 전화 번호, 사회 보장 번호와 같이 동의 없이 손쉽게 연계해서 추적하고 엿볼 수 있는 범용 식별자에 의존한다.

자주적 신원 시스템은 분산 및 암호화를 사용해 이러한 문제를 해결한다. 분산된 신원이 어려운 이유는 기능적인 신원의 핵심적인 요구 사항 중 하나가 검색(discovery)이라는 점이다. 상대방이 식별자를 주면 나는 그 식별자를 조회해야 한다. 과거에는 이 과정이 중앙의 디렉토리로 이어졌고, 이것이 중앙화된 신원 시스템으로 이어졌다.

그러나 블록체인이 등장하면서 모든 것이 바뀌었다.

블록체인은 어떻게 신원 딜레마를 해결할 수 있는가
자주적 신원 시스템은 블록체인, 즉 분산 원장을 사용하므로 중앙 디렉토리가 없어도 분산된 식별자를 조회할 수 있다. 블록체인 자체는 신원 문제를 해결하는 것이 아니라 그동안 없었던 연결 고리를 제공할 뿐이다. 덕분에 수십년 전부터 알고 있던 암호화를 실제로 사용할 수 있게 된 것이다. 사람들은 오프라인에서와 같이 분산된, 확인 가능한 자격 증명을 사용해서 스스로를 입증할 수 있다.

원리를 이해하기 위해 술집에서 운전면허증을 제시하는 예를 다시 보자. 도로교통공단은 주장(claim) 발행 기관이며 주장 소지자에게 운전면허증의 디지털 표식을 제공한다. 도로교통공단은 블록체인의 분산된 식별자와 연결된 키를 사용해 주장에 서명하여 흔적을 만든다. 따라서 이 주장을 받은 사람은 누구나 그 발행자가 도로교통공단임을 알 수 있다. 사용자는 지갑에 주장을 넣고, 블록체인에서 자신이 제어하는 분산 식별자에 연결된 키를 사용해 디지털 운전면허증에 부서(countersign)한다. 술집에서 손님이 법적 성인임을 확인해야 하는 경우 손님이 디지털 운전면허증을 제시하면 술집은 이것이 변경되지 않았는지, 도로교통공단이 그 손님에게 발행했는지, 이를 제시하는 사람과 동일인인지를 확인할 수 있다. 누구나 블록체인을 사용해서 분산 식별자를 조회하고 연결된 공용 키를 가져올 수 있다.

물론 모든 조직 또는 개인은 원하는 주장을 발급할 수 있다. 어느 주장이든 자유롭게 지갑에 보관할 수 있다. 또한 주장 확인자는 어떤 주장을 신뢰할지를 직접 선택할 수 있다. 이러한 선택을 분산함으로써 필요한 유연성을 확보하면 거의 모든 용도로 자주적 신원 시스템을 사용할 수 있다.



자주성을 갖추려면 신원 시스템에는 다음과 같은 특징이 필요하다.

• 지속성 : 사라질 수 있는 신원은 자주적이지 않다. 자주적 신원 시스템의 식별자는 장기간 지속되며 재사용할 수 없고 그 식별자를 만든 사람의 소유다. 자주적 신원이 필요한 것은 사람만이 아니다. 조직과 연결된 사물 역시 필요하며 개인과 동일한 인프라를 사용할 수 있다.

• 피어 기반 : 자주성은 경계를 정의한다. 그 경계 안에서는 사람이 통제권을 갖고 밖에서는 다른 사람과 피어 자격으로 상호작용한다. 사람들은 자신이 형성하는 관계와 자신이 공유하는 정보를 통제하지만 다른 사람들도 동일한 선택을 한다. 자주적 신원 시스템은 클라이언트-서버가 아니라 피어 대 피어다.

• 개인정보 보호 : 자주성은 정보가 공유되는 방식을 사람이 통제할 수 있도록 한다. 연관을 차단하지 않고 특성 노출을 최소화하지 않고 명시적인 동의를 제공하지 않는 신원 시스템은 사람들의 정보를 위험에 노출시키고 정보에 관한 통제력을 없앤다.

• 이식 가능 : 자주성은 선택과 통제를 암시한다. 벤더 종속은 이 두 가지를 파괴한다. 선택과 통제를 보호하기 위해서는 식별자 및 관련된 자격 증명은 이식 가능해야 하며 자주적 신원 시스템은 상호 운용이 가능해야 한다.

현재 소브린(Sovrin), 유포트(uPort), 베레스 원(Veres One) 등 여러 가지 자주적 신원 시스템이 존재하며 개발 진척 단계도 제각기 다르다. 각 시스템은 분산된 자주적 신원을 지원하지만 주장을 발급하고 제시하는 방법에 차이가 있다.

자주적 신원은 비교적 새로운 개념이며 빠른 변화가 일어나는 중이다. 상호운용성은 제공하기 위해 분산 식별자와 확인 가능한 주장에 대한 표준이 개발되고 있다. 궁극적으로 이러한 시스템은 인간의 존엄성을 강화하고 인간의 자기 결정권에 대한 기본적인 욕구를 보호하게 된다. 조 앤드류가 썼듯이 “신원에 대한 깊은 이해 없이 상호 연결된 시스템을 구축하면 인간의 존엄성을 훼손할 위험이 있다. 의도하지 않게 자기 표현을 거부하고 개인을 위험에 빠트리고 가장 필요한 자기 결정권을 무심코 탄압하는 시스템을 구축할 위험이 있다.”

올바르게 구현된 자주적 신원 시스템은 거리로 인해 발생하는 문제가 있긴 하지만 동의하에 확장 가능하고 유연하며 개인정보가 보호되는 상호작용을 제공한다. 가장 중요한 점은 이 시스템이 개인정보 또는 사용하는 사람들의 자유를 위협하지 않으면서 자연스러운 인간의 활동을 지원한다는 것이다. 모든 사람이 지지할 수 있는 발전이다. editor@itworld.co.kr
 

X