본문 바로가기
Blockchain

[Blockchain] DID 자기 주권 신원(SSI)이란?

by 개발자 염상진 2022. 7. 25.

DID와 SSI

 

SSI(Self-Sovereign Identity)는 블록체인 기술을 근간으로 자신 스스로를 증명할 수 있는 정보를 스스로 관리 및 저장하고, 신원증명이 필요한 서비스를 이용하는 경우 사용자가 직접 관리하여 데이터 주권을 스스로 가지는 기술 개념입니다. DID는 SSI를 탈중앙화 방식으로 구현한 자기 주권형 신원증명 기술이라고 할 수 있습니다.

 

 

SSI는 큰 개념으로 사용자가 자신의 신원정보를 스스로 관리하고, 공개 범위를 결정할 수 있도록 하여 프라이버시를 높이는 개념으로 여러가지 구현방법 중 하나가 DID라고 할 수 있습니다. 즉 DID는 SSI를 블록체인으로 현실화 한 것이다라는건 반은 맞고 반은 틀린 말입니다. SSI를 탈중앙화 방식으로 구현하는 방법 중 하나가 블록체인입니다.

 

 

SSI란?

 

사용자가 독립적인 권한을 가진 신원을 의미하며, 신원에 대한 권리를 가지고 공개 범위를 선택할 수 있는 개념입니다. SSI는 보안 측면에서 필요한 개념입니다. 2015년 인터파크에서 대량의 개인정보 해킹 사고가 발생합니다. 비단 인터파크 뿐만 아니라 대부분의 금융회사들은 보안 사고를 한번씩 겪었습니다. 개인정보들이 무수히 털려 나가는 와중에 신원정보를 안전하게 관리하면서 편의성을 높여야 한다는 필요성이 생겼고, SSI개념이 탄생하게 됩니다.

 

1세대 개별 신원 모델(Siloed Identity)

기존의 신원 증명 모델은 사용자의 아이디와 패스워드를 개별 사이트들이 제각각 저장하는 방식으로 작동합니다. 서비스 제공자인 신원 관리 주체는 사용자들의 개인정보를 안전하게 관리해야 할 책임을 가지지만 높은 보안 비용으로 해킹에 대한 위험이 항상 도사리고 있습니다.

또한 사용자 측면에서도 사이트 별로 비밀번호가 다르고, 생성방식도 다르기 때문에 일일이 기억한다는 건 불가능에 가깝습니다. 즉 개별 신원 모델의 경우 정보보호의무가 서비스 제공자에게 가중되고, 보안에는 천문학 적인 비용이 투입되게 됩니다. 

 

 

 

2세대 연합형 신원 모델(Federated Identity) 모델

구글, 네이버, 카카오 등 신뢰할 수 있는 기관에서 연합 신원을 제공하는 모델입니다. 개별 서비스들이 개인정보를 가지지 않고, 중앙화된 서비스 제공자에 가입한 신원 정보로 ID와 Password를 관리할 수 있습니다. 중앙화된 서비스 제공자인 구글, 네이버, 카카오등 기업들은 OpenID나 OAuth를 API 형식으로 제공합니다.

사용은 편리하지만 이 경우 신원 정보의 집중화는 더욱 심해집니다. 또한 만약 중앙화된 서비스 제공자가 해킹을 당하는 경우 개별 사이트를 해킹하는 것보다 더 큰 피해가 발생할 위험을 가지고 있습니다.

 

 

 

3세대 자기 주권 신원 모델(Self-Soverign Identity)

자기 주권 신원 모델(SSI)는 개인 정보를 스스로 소유하고 공개범위를 지정하는 개념입니다. 개인정보를 소유한 사용자는 개인정보 발급내역을 블록체인과 같은 분산원장에 기록합니다. 필요한 상황에 발급자에게 신원정보를 받아 검증자에게 공유하는 과정을 통해 신원증명을 마칠 수 있습니다.

신원 데이터를 개별 사용자들이 관리하는 만큼 책임에 대한 무게도 큽니다. 만약 신원 정보 접근을 위한 비밀번호를 잊어버리는 경우 복구가 불가능해집니다. SSI에서는 자신의 신원 정보에 대한 최고 접근자가 사용자이기 때문입니다. 

 

 

 

자기주권 신원 모델 인증 순서

 

A 사용자는 회사에 입사하기 위해 대학증명서를 발급받을 때 SSI를 사용할 수 있습니다.

① 먼저 대학 졸업 증명서는 분산원장에 기록되어 있습니다. 대학(신원 정보 발행자, Issuer)에게 자신의 신원증명정보(DID)를 제공한 후 대학 증명 졸업서(VC)를 전달받습니다.

② 대학(Issuer)은 A로 부터 받은 신원증명정보(DID)와 분산 저장되어 있는 대학졸업증명서의 소유자 정보가 맞는지 확인합니다.

③ 일치하는 경우 A 사용자에게 대학졸업증명서를 발급해줍니다.

④ A 사용자는 입사하고자 하는 회사(Verifier)에게 졸업증명서(VP)와 자신이 졸업증명서의 소유자임을 증명하는 정보를 함께 전달합니다.

⑤ 회사(Verifier)는 A 사용자가 제공한 졸업증명서가 A 사용자의 소유가 맞는지 분산원장에 기록된 정보를 토대로 검증을 하고 진위 여부를 판별받게 됩니다. 

 

SSI를 사용하는 경우 분산원장 기술을 사용해 신원이 분산관리되므로 이전 방식보다 가용성과 무결성을 높일 수 있습니다. 하지만 개인 정보에 대한 최고 책임자가 개별 주체가 되므로, 비밀번호를 분실할 경우 복구할 방법이 없다는 단점도 함께 가지고 있습니다. 

 

세대별 인증방식 비교

 

 

SSI 구성요소

 

SSI 구성 개념

DIDs(탈중앙화 식별자) : 탈중앙화된 신원을 위한 새로운 형식의 식별자로, 누구나 자신의 DID 메소드로 주소를 만들 수 있습니다. DID는 주소로써 마스터키를 활용해 생성할 수 있습니다. 

DID Auth(DID Authentication) : DID 소유자가 개인키를 소유하고 있다는 것을 간단하게 증명할 수 있는 방법입니다. DID 인증에 대한 표준은 DIF(Decentralized Identity Foudation)에서 진행합니다.

DKMS(Decentralized Key Management System, 탈중앙 키관리 시스템) : 신원을 증명하는데 필요한 개인키를 관리하는 시스템입니다.

Verifiable Credentials(검증 가능한 크레덴셜) :  소유자가 어떤 액션에 대한 자격을 가지고 있는지 검증하는 방법을 다루고 있습니다. 

 

 

SSI 구성 요소

Issuer(발행자) : 신원정보를 발급하는 주체입니다. VC(Verifiable Credentials)를 발행하는 주체로, 신원정보와 DID를 정보 주체의 요청에 의해 발급합니다. Issuer는 발급정보에 대해 신뢰할 수 있는 신원정보를 전달합니다.

Holder(자격 증명 소유자) : 신원정보를 소유한 주체로, DID로 신원을 증명하고자 하는 사용자입니다. 시스템에서 DID를 발급받은 후 제출합니다.

Verifier(자격증명 검증자) : 신원 정보를 검증하는 주체입니다. Holder로 부터 VP(Verifiable Presentation)을 받아 신원정보를 검증합니다. DID로 신원정보를 확인하면 해당 신원정보가 Issuer가 발급한 유효한 신원정보인지 검증 데이터 저장소를 통해 검증을 진행합니다. 

Verifiable Data Registry(검증 데이터 저장소, 블록체인 등의 분산 저장소) : 정보주체의 식별자, Issure의 인증서, 신원증명 해지 내역, 신원증명 Schema 정보 등이 저장된 분산원장 기반 데이터 저장소로 블록체인 뿐만 아니라 Holder, Issure, Verifier가 합의한 분산원장도 사용 가능합니다.

 

 

 

 

[Blockchain] W3C DIDs 탈중앙화 식별자 표준

W3C는 DIDs로 DID(Decentralized Identity)를 구현하는 기술을 표준화하였습니다. 탈중앙화 식별자(DIDs, Decentralized Identifiers) DIDs는 탈중앙화되어 있으며, 검증가능한 새로운 식별자 입니다. 현재 사용..

about-tech.tistory.com

 

 

[Blockchain] 블록체인 샤딩(sharding) 이란?

샤딩(sharding) 이란? 샤딩(Sharding) 조각내다라는 뜻을 가지고 있고 규모가 큰 데이터베이스 혹은 네트워크에서 여러개의 작은 조각으로 쪼개어 분산 저장/관리하는 방법을 의미합니다. 작은 조각

about-tech.tistory.com

 

 

[Blockchain] W3C 데이터 탈중앙화 표준 DID란?

DID란 무엇인가? DID(Decentralized Identity)는 데이터의 주권을 개개인이 가지고 있고, 중앙집중화된 시스템을 거치지 않고 신원을 증명할 수 있는 기술입니다. DLT(Distributed Ledger Technology, DLT) 기술을..

about-tech.tistory.com

 

댓글