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
- 인증 절차
- 화사에서 DID소유권자에게 challenge 신청
- 소유자는 회사에게 response 전달
- 회사는 응답받은 DID를 이용해서 DID Document를 가져온다
- DID Document안에 기록되어 있는 정보와 사용자의 response를 비교하여 확인
SSI
- SSI (Self Sovereignty Identity, 자기 주권 신원) : 자신의 신원증명에 대한 권한을 자신이 갖도록 하는 개념
- 신원관리 모델의 발전과정
- 개별신원모델(Siloed Identity) : 개별 서비스마다 이용자의 아이디와 패스워드를 저장하고 신원확인 서비스를 제공하는 형태
- 특징
- 개별사이트의 ID, Password를 개인이 관리
- 개인정보 유출 우려
- 개별 서비스 제공자 정보보호의무 가중 ⇒ 비용증가
- 연합형 신원모델 (Federated Identity) : Oauth, OpenID등을 제공하여 중앙화된 연결 서비스제공자(ex, 구글,카카오,페이스북 등..)를 통해 신원을 증명하는 모델
- 특징
- 사용자의 편의성 증가
- 글로벌 기업의 개인정보 독점적인 확보
- 개인정보의 독점으로 인한 유출 위험성이 여전히 존재
- 사용자 입장에서 개인정보에 대한 권리 주장이 어려움
- 자기 주권 신원(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의 인증서, 신원증명 해지내역, 신원증명 스키마 등이 등록되어 있는 분산원장 기반의 데이터 무결성이 확보된 저장소