자격증명의 개요
웹 양식에 세부 정보를 입력하는 것은 시간이 많이 걸리고 오류가 발 생하기 쉬우며 개인 정보를 침해하기 쉽다.
이제 W3C의 완전한 개방형 표준이 된 VC를 통해 사용자들은 오늘날 생성된 물리적 VC를 디지털 VC로 변환하여 휴 대폰, 태블릿, 노트북 및 기타 기기에 넣고 다니면서 화면을 가리키고 클릭하기만 하면 온라인에서 사용할 수 있다.
속성 attribute
VC 구성 요소
( 아직 표준은 아님,..)
발급자 issuer
사용자에게 VC를 발급하는 엔터티이다. 대부분의 경우 사용자는 주체이지만, 어떤 경우에는 그렇지 않을 수 있다. 예를 들어, 대상이 애완 고양이이고 VC가 예방 접종 인증서인 경 우 발급자는 고양이 반려인에게 VC를 발급한다.
주체 subject
VC에 저장되는 속성의 엔터티이다. 주체는 정체성(신원)이 있는 모든 것이 될 수 있다. 사람 조직, 인간이 만든 것, 자연적인 것, 논리적인 것 등이다.
보유자 holder
현재 VC를 보유하고 검증자에게 제시하는 엔터티이다. 대부분의 경우 주체와 보유자는 동일하지만, 앞서 설명한 처방전과 고양이의 예에서 보았듯이 항상 그런 것은 아니다.
검증자 verifier
보유자로부터 VC를 받아 주체에게 혜택(서비스)을 제공하는 엔터티이다.
지갑 wallet
보유자의 VC를 보관하는 엔터티이다. 대부분의 경우 지갑은 보유자 에이전트에 통합되어 있지만, 이 모델을 통해 클라우드 스토리지 지갑과 같은 원격 지갑이 존재할 수 있다.
보유자 에이전트 holder's agent
보유자를 대신하여 VC 생태제과 상호 작용하는 소프트웨어다. 이것 은 휴대폰에 로드되는 앱이거나 노트북에서 실행되는 프로그램일 수 있다.
검증 가능한 데이터 저장소 verifiable data registry
개념적으로 VC 생태계 운영을 지원하는 모든 필수 데이터와 메타데이터를 포함하는 인터넷 접근 가능 저장소이다.
검증 가능한 저장소에 저장할 수 있는 데이터 및 메타데이터 유형의 예
-> 발급자의 공개키
-> VC가 포함할 수 있는 모든 속성에 대한 스키마 또는 온톨로지 해지된 VC의 해지 리스트
-> 발급자가 권위 있다고 말하는 주체 속성
VC 아키텍처
오늘날 | 앞으로 |
연합형 신원 관리 시스템 Federated Identity Management, FIM 아키텍처 IDP 생태계 중심 |
메시지 기반 프로토콜 DIDComm 중앙을 거치지 않고 사용자끼리의 통신(P2P)이 가능 사용자(보유자) 중심 |
사용자는 먼저 서비스 공급자에 접속한 다음, IDP로 리다이렉되어 로그인한다. 그리고 서비스 공급자로 다시 리다이렉션되어 IDP가 전달해 주는 사용자의 ID 속성들을 전달받는 형태로 진행된다. | VC 아키텍처에서는 정의된 연합 내에서 웹 기반 리다이렉션이 없다. 보유자로서의 사용자는 발급자로부터 VC를 받고 이를 수락할 모든 검증자에 독립적으로 사용한다. |
표준화
W3C 검증 가능한 '클레임' 워킹 그룹 Verifiable Claims Working Group에서 정의하고 있는 데이터 모델 유형
- VC에 대한 데이터 모델 정의
- 발급자가 보유자에게 제공하는 자격증명인 VC를 위한 데이터 모델
- 보유자가 검증자에게 제시할 수 있는 자격증명 모음인 검증 가능한 프레젠테이션 verifiable presentation, VP 데이터 모델
- 데이터 모델의 구문 표현(직렬화, 사람과 컴퓨터 모두 읽을 수 있는 표현)
-> JSON-LD( JSON Linked Data) 구문을 사용하여 데이터 모델을 제시(또는 표현)하는 방법
-> JWT( JSON Web Tokens) 구문을 사용하여 해당 데이터 모델을 제시(또는 표현)하는 방법
VC 속성
메타 데이터 구성 요소, 클레임 구성 요소 및 증명 구성 요소를 보여주는 기본 VC의 구조.
클레임의 집합.
VC는 보유자에 의해 선택적으로 VP에 포함될 수 있다.
리프레시 서비스 refreshService : 제한된 수명을 갖도록 설계.
- id: 조회자가 새로 고친 VC를 얻을 수 있는 URL
- type: 새로 고침 서비스 유형, refreshservice 속성에 포함되어야 하는 다른 속성을 제어.
분쟁 : DisputeCredential 속성
- 발급자가 주채에 대한 오래된 정보를 갖고 있는 경우 , 그 과정에서 정당한 주체가 이전VC에 대한 해지을 원하는 경우, 발급자의 대응이 느린 경우 활용
이용약관 url 포함
VC 내부 클레임에 대한 보증 수준 설정
- evidence 속성
- level of assurance, LDA(4단계)
VP 속성
검증 가능한 프레젠테이션 VP는 보유자가 여러 VC를 결합하여 검증자 에게 보낼 수 있는 한 가지 방법.
VC의 집합.
VC와 차이점
- issuer 속성이 없다.
- id 속성이 선택 사항. 나중에 보유자가 이 VP를 고유하게 창조하려는 경우에만 필요
확장성과 스키마
- VC는 개발형 모델
- JSON-LD 구문과 내장된 @context 확장 메커니즘 사용
- 글로벌 고유 개체 식별자 object Identifier. OID 레이블을 지정
VC 인코딩에 VC에 대한 @context, 어떤 유형의 VC인지, VC가 어떤 스키마를 사용하는지 포함한다.
영지식 증명 zero-knowledge proot, ZKP
비밀을 공개하지 않고 비밀번 호와 같은 특정 비밀값에 대한 지식을 증명할 수 있도록 의도된 암호화 알고리즘 또는 프로토콜의 종류
작동 방식( 아래 중 하나 이상을 수행할 수 있다)
-> 발급자가 관여하거나 검증자가 누구인지 알 필요 없이 VC에서 클레임 검증을 제공(즉, 디지털 서명)
-> 보유자의 프라이버시를 보호하면서 VC의 클레임에 대한 검증 제공
-> 다른 클레임의 내용이나 존재 여부를 밝히지 않고 VC에서 일부 클레임을 선택적으로 공개하도록 허용
-> 전체 클레임(생년월일)을 제공하는 대신 파생된 클레임 18세 이상)이 검증자에게 제시되도록 허용
해당 알고리즘
zk-SNARK : 지식을 공개하지 않고 상호 작용하지 않고 비밀 키와 같은 특정 지식의 소유권을 입증할 수 있는 증명 아키텍처
zk-STARKS : zk-SNARK는 모두 비대화형 ZKP 유형, 증명 크기가 더 크고 검증하는 데 더 오래 걸린다
BULLET-PROOF ENCRYPTION : 신뢰할 수 있는 설정이 필요하지 않은 짧은 비대화형 영지식 증명입니다. 방탄은 암호화된 평문이 잘 형성되었음을 검증자에게 확신시키기 위해 사용될 수 있다.
링 서명 ring signatures : 각각 키가 있는 사용자 그룹의 모든 구성원이 수행할 수 있는 디지털 서명 유형
프로토콜과 배포
나스카 NASCAR 문제
웹 사이트의 로 그인 페이지에 페이스북 로그인, 구글 로그인, 링크드인 로그인 등 여러 로그인 목록이 늘어나고 있는 현상으로 최근 웹 또는 앱에서 발생하고 있는 흔한 문제
사례 1) 디지털 바자르 Digital Bazaar
- 웹 사이트용 자격증명 핸들러 Credential Handler API 1.0 진행 중
사례 2) FIDO(Fat Dentity Online) : 비밀번호의 문제점을 해결하기 위한 목적으로 제안된 사용자 인증 프레임워크
- 이 생태계에서 VC는 사용자의 휴대폰에 보관되며 검증자와의 쌍별 인증에 사용되는 FIDO 키에 연결된다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=290964757
'새로워지기 > 사이드 프로젝트' 카테고리의 다른 글
A4C on my own | 커피 캡슐 분리수거 캡 제작기( ing..) (0) | 2023.04.27 |
---|---|
혼공 | 마스터링 자기주권신원 - SSI 아키텍처의 핵심(2/2), DID (0) | 2023.02.04 |
혼공 | 마스터링 자기주권신원 - SSI 아키텍처 (0) | 2023.01.27 |
생성적 인공지능 General AI에 대한 소고(feat. 모던 타임스) (0) | 2023.01.19 |
또다시, 그 흔한 새로운 물결 (0) | 2023.01.16 |
댓글