개발 일지

DID 란

북극곰은콜라 2022. 11. 25. 16:45
반응형


DID란

탈중앙화 식별자 (Decentralized Identity, DID)

  • 검증가능하고 탈중앙화된 디지털 신원을 위한 새로운 형식의 식별자

특징 (요구사항)

  • 탈 중앙화 : 중앙 발행 기관의 부재
  • 지속성 : 식별자는 지속적, 운영은 지속적이지 않음
  • 암호로 검증 : 식별자에 대한 제어를 암호로 증명
  • 분해성 : 식별자로 메타데이터를 검색할 수 있음

DID 모델 기본구조, 출처: 금융결제원

  • 개인정보를 사용자 단말기에 저장
  • 개인 정보 인증 시 필요한 정보만 골라서 제출 가능하도록 만든 시스템

발급기관 : 최초의 본인 확인 및 분산ID 발급정보를 저장하는 책임을 가짐

단말기(사용자) : 발급기관으로부터 받은 분산ID를 가지고, 각 서비스 이용기관에 분산ID를 제출하여 인증을 진행

이용기관 : 사용자에게 분산ID를 받아서 블록체인을 통해 해당 분산ID를 검증하여 사용

블록체인 : 사용자 인증정보를 분산하여 저장하는 시스템


DID Architecture

DID Architecture


W3C 표준

DID

  • DID 프로토콜에서 사용되는 식별자

  • Scheme : prefix
  • DID Method : DID와 DID Document가 어떻게 생성/업데이트 되는지를 정의한 Method 이름 (W3C는 무조건 소문자로 지정)
  • DID Method-Specific Identifier : DID Method 에서 사용되는 식별자(PK)

DID URL

  • DID 정보를 받아올 수 있는 URL
  • URL을 통해서 DID에 대한 정보에 접근 할 수 있음

  • did : DID 식별자
  • path-abempty : 계층구조적 데이터에 대한 path
  • query : path 내에서의 식별자
  • fragment : DID의 구성이 파편화 되어있을경우 (ex: 상속) 사용되는 정보

 

DID Subject

  • DID에 의해 신원증명되는 객체, Entity
  • DID Document를 통해서 신원증명 됨
{
  "id": "did:example:123456789abcdefghijk"
}

DID Document

  • DID Subject를 설명하는 데이터(문서)
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/jws-2020/v1"
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ]
  "id": "did:example:123456789abcdefghi",
  ...
  "verificationMethod": [{
    "id": ...,
    "type": ...,
    "controller": ...,
    "publicKeyJwk": ...
  }, {
    "id": ...,
    "type": ...,
    "controller": ...,
    "publicKeyMultibase": ...
  }]
}
{
  '@context': [
    'https://www.w3.org/ns/did/v1',
    'https://identity.foundation/EcdsaSecp256k1RecoverySignature2020/lds-ecdsa-secp256k1-recovery2020-0.0.jsonld'
  ],
  id: 'did:ethr:0xb9c5714089478a327f09197987f16f9e5d936e8a',
  verificationMethod: [
    {
      id: `did:ethr:0xb9c5714089478a327f09197987f16f9e5d936e8a#controller`,
      type: 'EcdsaSecp256k1RecoveryMethod2020',
      controller: did,
      blockchainAccountId: `did:ethr:0xb9c5714089478a327f09197987f16f9e5d936e8a@eip155:1`
    }
  ],
  assertionMethod: [`did:ethr:0xb9c5714089478a327f09197987f16f9e5d936e8a#controller`],
  authentication: [`did:ethr:0xb9c5714089478a327f09197987f16f9e5d936e8a#controller`]
}

Reference

 - https://www.w3.org/TR/did-core/

 - https://comart.io/blog/%ED%83%88%EC%A4%91%EC%95%99%ED%99%94-%EC%8B%A0%EC%9B%90%EC%A6%9D%EB%AA%85-did-w3c-dids

 

 

 

 

 

반응형

'개발 일지' 카테고리의 다른 글

Arthas 란  (2) 2022.11.25
자동화 공격이란  (0) 2022.11.25
Spring TransactionEventListener  (0) 2022.11.23
Spring boot With Embedded Tomcat  (0) 2022.11.23
MDC 란  (0) 2022.11.23