DID & SSI

이민기·2023년 5월 23일
0
post-thumbnail

DID

DIDs (Decentralized Identifiers, 탈중앙화 식별자) : DID Method를 통해 자신의 주소를 만들어 사용하는 식별자

  • Identity (식별자) : 사용자를 구별할 수 있는 식별자
  • DID Document : 특정 DID에 대한 설명을 작성한 문서
  • DID Method : DID와 관련된 DID 문서들을 생성, 읽기, 갱신, 비활성화하는 메커니즘
  • DID 형식
    • URL Sheme Identifier : 이 주소가 DID스키마에 따른것을 나타내며, 항상 did로 시작한다
    • Identifier for the DID Method : did메소드의 이름이며 메소드별로 다르게 처리
    • DID Method-sepcific identifier : did에서 사용되는 고유 id이며 DID문서의 위치의 정보를 담고있다
    //example
        did:     sample:      1234abcd56789efghi
    // Sheme / DID Method / DID Method-Specific Identifier
  • DID Document
    • DID문서에서 중요한 내용은 id의 제어권, 소유권 등을 증명할 수 잇는 공개키와 인물정보
        //example
        {
        	"@context": "https://sample.org/sample-method/v1",
        	"id": "did.sample:1234abcd56789efghi",
        	"publicKey": [{ ... }],
        	"authenication": [{ ... }],
        	"service": [{ ... }]
        }
- id : 해당 did문서를 설명하고 있는 id
- publicKey : 이 id와 관련되어 있는 공개키 리스트
- authenication : 이 id의 소유권을 증명하기 위한 정보
- sevice : 이 id와 상호작용 가능한 서비스 리스트
  • DID Registry : 각 DID메소드와 블록체인 플랫폼이 다른 상황에서의 문제점을 해결하고자 하는 방법이며 W3C공식문서
  • DIF (Decentralized Identity Foundation) : 사용자 편의성과 DID 표준을 만들어 활용하는 소프트웨어를 만드는 글로벌 조직
    • 대표적인 가입 기업으로는 Civic, MS, IBM, MasterCard 등등..
  • DID Authentication
    • 인증 절차
      1. 화사에서 DID소유권자에게 challenge 신청
      2. 소유자는 회사에게 response 전달
      3. 회사는 응답받은 DID를 이용해서 DID Document를 가져온다
      4. DID Document안에 기록되어 있는 정보와 사용자의 response를 비교하여 확인

SSI

  • SSI (Self Sovereignty Identity, 자기 주권 신원) : 자신의 신원증명에 대한 권한을 자신이 갖도록 하는 개념
    • 신원관리 모델의 발전과정
      1. 개별신원모델(Siloed Identity) : 개별 서비스마다 이용자의 아이디와 패스워드를 저장하고 신원확인 서비스를 제공하는 형태
        • 특징
          • 개별사이트의 ID, Password를 개인이 관리
          • 개인정보 유출 우려
          • 개별 서비스 제공자 정보보호의무 가중 ⇒ 비용증가
      2. 연합형 신원모델 (Federated Identity) : Oauth, OpenID등을 제공하여 중앙화된 연결 서비스제공자(ex, 구글,카카오,페이스북 등..)를 통해 신원을 증명하는 모델
        • 특징
          • 사용자의 편의성 증가
          • 글로벌 기업의 개인정보 독점적인 확보
          • 개인정보의 독점으로 인한 유출 위험성이 여전히 존재
          • 사용자 입장에서 개인정보에 대한 권리 주장이 어려움
      3. 자기 주권 신원(Self-Soverin Identity) : 개인정보 발급 내역만을 블록체인같은 분산원장에 기록하여 개인정보의 필요시 발급자에게 개인의 신원을 증명할 정보를 받아서 검증자에게 신원정보를 검증받는 모델로, 개인정보를 자신이 스스로 소유하는 개념
        • 특징
          • 신원의 분산관리로 인해 가용성과 무결성 증가
          • 통합된 분산원장 관리가 가능하다면 확장성 증가
          • 비밀번호 분실시 찾기가 어려움
    • SSI가 형성되기 위한 요소
      • DID (Decentralized Idetifier, 탈중앙화 식별자)
      • DID Auth
      • DKMS (Decentralized Key Management System, 탈중앙화 키 관리 시스템)
      • Verifiable Credentials (검증가능 크레덴셜)
        • Credential (크리덴셜) : 신원 확인에 필요한 정보 ⇒ 여권, 운전면허, 신분증 등..
          • Claim: Credential의 구성요소 이며 신원정보의 데이터 단위. ⇒ 주체-속성,값 구조
        • VC 구성요소
          • Credential Metadata : Credential을 해석할 수 있도록 설명하는 Metadata
          • Claim(s) : 주체에 대한 Claim이 포함
          • Proofs : Credential을 검증 가능하도록 만드는 암호학적 요소들이 포함된 증명
        • 인증 과정
          • Issuer
            • holder에 대한 VC를 발급하여 전달
            • VC의 유효성을 확인할 수 있는 ID와 Scheme의 발급내역을 블록체인에 저장
          • Holder
            • Issuer에게 VC를 받고, 자신이 증명서를 받았다는 내용과 스키마정보를 가져온다
            • 검증자가 필요로 하는 정보를 담아 VP로 보낸다
            • Issuer에게 받을 때는 VC형태이며 Verifier에게 보낼 때는 VP형태
          • Verifier
            • Holder에게 받은 VP내용으 확인하여 검증
        • VP (Verifiable Presentation) : 최소한의 정보공개를 원칙으로 증명이 필요한 정보들로만 구성된 정보 형식
    • SSI의 구성요소
      • Issuer (발행자) : 신원정보를 발급하며 VC를 발행하는 주체, 요구에 의해 신원정보와 DID를 발급하는 기관
      • Holder (소유자) : 신원정보를 소유하며, VC를 보유하는 주체, DID를 이용하여 본인의 신원을 증명하고자 하는 사용자
      • Verifier (검증자) : 신원정보를 검증하는 주체, Holder에게 VP(Verifiable Presentation)을 받아 신원정보 검증 후 발급기관인 Issuer가 발급한 유효한 신원정보인지 검증데이터 저장소를 통해 검증
      • Verifiable data Refistry (검증데이터 저장소) : 정보주체의 식별자, Issuer의 인증서, 신원증명 해지내역, 신원증명 스키마 등이 등록되어 있는 분산원장 기반의 데이터 무결성이 확보된 저장소
profile
블로그를 옮기는 중입니다. https://min71.dev

0개의 댓글