탈중앙 신원증명 DID

매정·2022년 5월 31일
0

DID (Decentralized Identity, 탈중앙 신원증명)

  • 데이터 주권이 개개인에게 있고, 필요한 때 그 데이터를 중앙화된 시스템을 거치지 않고 증명할 수 있는 기술
  • 분산원장기술(DLT)을 기반으로 한다.
  • 중앙화된 레지스트리(데이터 저장소), 데이터 제공자(Provider), 인증기관(Certificate Authorities) 들을 분리하고, 탈중앙화 방식으로 동작할 수 있도록 설계되었다.
  • 자기 자신이 신원증명에 대한 권한을 갖도록 하겠다는 SSI 개념을 현실화하기 위해 사용.

DID의 등장 배경

  • 웹 생태계에 대해 논의하는 W3C(World Wide Web Consortium)에서 사용자 데이터가 플랫폼(페이스북, 구글 등) 기업에게 종속되는 현상에 대해 문제제기.

  • 팀 버너스리(WEB창시)를 주축으로 W3C 참여자와 탈중앙 운동을 전개함.

  • 2016년 블록체인 활용 의견 개진, 2019년 DID 문서 표준화 시작.

DID를 위해 필요한 것

  1. 데이터 연동을 위한 표준화 - 플랫폼이 독점적으로 데이터를 보유하게 된 것은 타 서비스와 연동이 불가능하기 때문, 탈중앙 생태계를 위해서라면 서비스 간의 데이터 연동이 가장 중요함.
  2. 데이터 무결성 및 보안성 확보 - 중앙화되지 않은 저장소에 개인의 신원을 증명할 수 있는 데이터를 보관하면서, 데이터의 무결성과 보안성을 확보하는 것 → 블록체인 기술 등장!

W3C표준화 - DIDs (탈중앙화 식별자)

우리가 흔히 사용하는 ID, Password

  • Identity(식별자) 개인 혹은 단체(법인) 등을 구별할 수 있는 고유 값
  • DID 문서 특정 DID를 어떻게 사용하는지에 대해 설명해 놓은 문서
    • id: 해당 did문서를 설명하고 있는 아이디
    • 공개키: id와 관련된 공개키 리스트
    • 인증정보: id의 소유권을 증명하기 위한 정보
    • 서비스: id와 상호작용이 가능한 서비스들 리스트
  • DID 메소드 특정 분산 원장 또는 네트워크에서 DID 문서들을 생성, 읽기, 갱신, 비활성화를 하는 메커니즘
  • DID 형식
    • DID : 이 주소가 did스키마에 따른 것임을 나타냄. 항상 did로 시작
    • example : did 메소드의 이름
    • 123456789abcdefghi : DID 메소드 안에서 사용되는 고유 아이디

  • DIF(Decentralized Identity Foundation) 글로벌 조직
    • 전 세계 사용자들이 DID를 보다 쉽게 사용할 수 있도록 지원하기 위해 만든 조직.
    • 사용자 편의성, DID 표준 제작, 소프트웨어 제작 등의 중요한 역할을 맡음.
    • Sovrin, uport, Civic, MS, IBM, Master Card 등이 있음.
  • DID 인증 절차
    • 회사에서 DID소유권자에게 DID의 유무를 확인하기 위해 소유권자에게 challenge 신청
    • 소유자인 나는 회사에게 response를 줌
    • 회사는 응답받은 DID로 Universal Resolver에서 DID document를 가져옴.
    • DID document 안에 기록되어 있는 인증정보로 소유자에게 받았던 response를 검사하여 확인.
    • response 검사를 통해 응답한 소유자가 DID를 가지고 있는 것인지 확인.

SSI (Self Sovereignty Identity, 자기 주권 신원)

  • 자신이 스스로 부여한 신원, 신원의 소유권을 가진 주체가, 신원에 대한 권리를 갖고, 공개 대상과 범위를 선택할 수 있는 개념
  • DID는 SSI의 개념을 블록체인 기술을 기반으로 현실화 함.

신원관리 모델의 종류

  • 1세대 : 개별 신원 모델 개별 서비스마다 이용자의 아이디와 패스워드를 저장하고 신원확인 서비스를 제공하는 형태 단점 - 서비스별 보안 수준에 따라 신원의 대량 유출 가능성 높음, 이요자는 서비스별 통일되지 않은 ID와 패스워드 정책으로 관리가 어려움.
  • 2세대 : 연합형 신원 모델 중앙화된 연결 서비스 제공자(구글, 카카오, 페이스북)가 신원확인 서비스(OpenID, Oauth)를 제공하는 모델. 단점 - 글로벌 기업의 개인정보 독점, 사용자 개인정보의 권리 주장 어려움, 유출 위험성 존재
  • 3세대 : SSI 모델 1) 개인이 개인정보 발급 내역을 블록체인에 기록, 개인정보가 필요할 때 발급자(Issuer)에게 2)신원증명정보(DID)를 주고, 3)신원정보(VC)를 받아, 4)검증자(verifier)에게 신원정보를 공유할 수 있는 모델 장점 - 신원의 가용성과 무결성이 높음 (분산 관리되기 때문에) 단점 - 비밀번호를 잃어버렸을 경우 다시 찾기 어려움, 초기 설정 어려움

SSI 형성을 위한 3가지 요소

  1. DID (Decentralized Identifier)
  2. DID Auth (DID Authentication) : 아이디 소유자가 개인키를 가지고 있다는 것을 인증하는 방법
  3. DKMS(Decentralized Key Management System, 탈중앙 키관리 시스템) : 신원을 증명하는데 사용하는 개인키를 어떻게 관리할 것인가
  4. Verifiable Credentials (검증가능한 크레덴셜) : 아이디의 소유자가 어떤 것을 할 수 있는 자격을 갖추었음을 검증하는 방법.

SSI를 구성하기 위한 요소

  1. Issuer : 발행자
  2. Holder : 자격증명 소유자
  3. Verifier : 자격증명 검증자
  4. Verifiable data Registry : 블록체인 등 분산저장소

검증가능한 크레덴셜(VC)이란?

  • Credential : 신원 확인에 필요한 정보 (예: 주민등록, 운전면허, 여권)
  • W3C Verifiable Credential Data Model: 디지털 세계에서도 민증처럼 신원과 자격을 증명하기 위해 나온 표준
  • 즉, VC는 디지털 세계에서의 크리덴셜을 물리적 세계의 신분증과 동일한 정보를 제공하기 위한 목적으로 등장.

구성요소

  • Credential Metadata: Credential을 해석할 수 있도록 설명해주는 메타데이터
  • 클레임(Claim): 디지털 환경에서의 신원 정보, 각 단위 데이터를 클레임이라고 함. 주체-속성, 값의 구조를 가짐.
  • Proofs: Credential을 검증하도록 만드는 암호학적 요소들이 포함된 증명 (전자서명)

VC는 발급자 검증을 위해 4가지를 확인함.

  • Issuer DID인지 진위여부
  • Holder DID인지 진위여부
  • 블록체인의 발급내역 유효, 무효 여부
  • 스키마 확인을 통해 형식이 맞는지 확인

검증가능한 프레젠테이션(VP)이란?

최소한의 정보 공개(Minimum Disclosure)를 원칙으로 하여 증명이 필요한 정보들만 구성된 새로운 형식

구성요소

  • Presentation Metadata
  • Verifiable Credentials
  • Proofs

검증가능한 크리덴셜 생태계란? (Ecosystem of Verifiable)


백신접종증명 시나리오 절차

  1. 개인은 질병관리청에 본인의 백신접종정보를 요청함.
  2. 질병관리청은 요청정보를 확인하고 문제가 없다고 판단되면 Digital Signature(전자서명) 후 개인에게 백신접종증명서를 발행함.
  3. 이 때, 질병관리청의 DID정보가 백신접종증명서에 함께 저장됨.
  4. 개인은 증명서를 모바일에 보관하며, 다중이용시설 이용 시 전자서명하여 제출함.
  5. 다중이용시설은 개인과 질병관리청의 DID를 통해 블록체인에 저장되어 있는 검증정보를 전달받아 백신접종증명서의 접종정보를 확인함.

(확실치 않음. 일반 DID 기술 플로우에 백신접종증명 사례를 대입해본 것임.)

profile
Prospective Entrepreneur

0개의 댓글