분산 ID: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
;Dfffecentralized IDs, DIDs | ;Dfffecentralized IDs, DIDs | ||
분산원장을 이용해 중앙등록기관 없이 시장 자율로 운영되는 확장성 있는 신원 증명 체계 | 분산원장을 이용해 중앙등록기관 없이 시장 자율로 운영되는 확장성 있는 '''[[자기주권 신원]]''' 증명 체계 | ||
==개요== | ==개요== | ||
Line 13: | Line 13: | ||
===등장 배경=== | ===등장 배경=== | ||
'''전 세계적으로 개인의 프라이버시를 | '''전 세계적으로 개인의 프라이버시를 보호하고자 하는 움직임과 더불어 각 서비스 제공기관 마다 사용자 인증정보 및 개인정보를 관리함에 따른 위험성 및 불편함 인지''' | ||
*'''(신원정보 과다 집중)''' 사용자의 신원정보가 글로벌 서비스 제공자에게로 집중됨으로써 발생하는 프라이버시 침해<ref>서비스제공자는 사용자의 동의 없이 사용자 서비스 이용 내역 등을 파악 가능</ref> 가능성에 우려 | *'''(신원정보 과다 집중)''' 사용자의 신원정보가 글로벌 서비스 제공자에게로 집중됨으로써 발생하는 프라이버시 침해<ref>서비스제공자는 사용자의 동의 없이 사용자 서비스 이용 내역 등을 파악 가능</ref> 가능성에 우려 | ||
Line 19: | Line 19: | ||
*'''(신원정보 복제·분산)''' 서비스제공기관마다 사용자의 신원정보 관리 시, 해킹 등 전자적 침해에 따른 대량의 개인정보 유・노출 사고 발생 가능 | *'''(신원정보 복제·분산)''' 서비스제공기관마다 사용자의 신원정보 관리 시, 해킹 등 전자적 침해에 따른 대량의 개인정보 유・노출 사고 발생 가능 | ||
*'''(인증정보 관리 불편)''' 사용자입장에서 개별 서비스마다 인증정보를 다르게 설정・관리하기에 한계 | *'''(인증정보 관리 불편)''' 사용자입장에서 개별 서비스마다 인증정보를 다르게 설정・관리하기에 한계 | ||
** | **이에, 사용자는 여러 서비스에 동일한 인증정보를 설정할 가능성이 높으며, 이를 이용한 [[크리덴셜 스터핑|'''크리덴셜 스터핑(Credential Stuffing)''']] 공격 위협 | ||
'''▶ 실생활에서 사용자가 주민등록증 등 신원증명을 관리하는 것처럼, 온라인에서도 개별 서비스 제공기관이 아닌 사용자 스스로 자신의 신원정보를 관리・통제할 수 있도록 하는 새로운 인증체계 필요''' | {| class="wikitable" | ||
|'''▶ 실생활에서 사용자가 주민등록증 등 신원증명을 관리하는 것처럼, 온라인에서도 개별 서비스 제공기관이 아닌 사용자 스스로 자신의 신원정보를 관리・통제할 수 있도록 하는 새로운 인증체계 필요''' | |||
|} | |||
===특징=== | ===특징=== | ||
Line 40: | Line 42: | ||
==기존 인증 체계와의 비교== | ==기존 인증 체계와의 비교== | ||
{| class="wikitable" | {| class="wikitable" | ||
!구분 | !구분 | ||
!공인인증 | !공인인증 | ||
Line 111: | Line 112: | ||
|} | |} | ||
== | ==참여자 및 구성요소== | ||
{| class="wikitable" | |||
!'''구성 요소''' | |||
!'''설명''' | |||
|- | |||
!'''DID''' | |||
| | |||
* 주체나 신원을 가리키는 고유한 식별자 | |||
|- | |||
!'''[[DID 문서]]''' | |||
'''[[DID 문서|(DID Document)]]''' | |||
| | |||
* DID를 식별자(Key)로 하여 식별하고자 하는 대상을 설명한 문서 | |||
|- | |||
!'''검증 가능한 증명서''' | |||
'''(Verifiable Credential)''' | |||
| | |||
* 증명하고자 하는 자격이 담겨있는 '''텍스트 기반'''<ref>W3C 표준은 [[JSON-LD]]로 표현되어 있으나 포맷엔 제한 없음</ref>'''의 인증서''' (나이 + 이름 + 학력이 기재된 증명서) | |||
* 암호학적인 방법으로 증명 가능한 구조 | |||
|- | |||
!'''신원(Claim)''' | |||
| | |||
* 증명이 대상이 되는 신원(나이, 이름 등) | |||
|- | |||
!'''발급자(Issuer)''' | |||
| | |||
* 신원을 확인하고 DID를 발급하는자 | |||
|- | |||
!'''주체(Subject)''' | |||
| | |||
* 신원의 주체가 되는 자 | |||
|- | |||
!'''보유자(Holder)''' | |||
| | |||
* 증명서를 보유하고 있으며 제시하는 자 | |||
|- | |||
!'''검증자(Verifier)''' | |||
| | |||
* 자격 증명자로, 일반적으로 자격을 확인하고자 하는 니즈가 있는 서비스 제공자 (ex. 술담배 판매를 위해 신원증명 주체가 ‘성인’인지 여부를 알고싶어 하는 편의점주) | |||
|- | |||
!'''리졸버(Resolver)''' | |||
| | |||
* 블록체인 기술에 기반하여 신원의 검증하는 도구 | |||
|- | |||
!'''지갑(Wallet)''' | |||
| | |||
* 증명서를 저장하고 제시하기 위한 애플리케이션 | |||
|- | |||
!'''분산 원장''' | |||
'''(Distributed Ledger)''' | |||
| | |||
* 신원증명의 검증 값을 보관하는 신뢰된 분산원장 | |||
* 기존의 알려진 원장을 이용할 수도 있고 컨소시엄 등에서 별도의 원장을 구축할 수도 있음 | |||
|- | |||
!'''DID 컨소시엄''' | |||
| | |||
* 분산원장을 운영하거나 표준·규격 등을 협의하기 위한 기업·기관 협의체 | |||
|- | |||
!'''정책 기관''' | |||
| | |||
* 금융위원회, 방송통신위원회 등 정책기관 | |||
* 분산 ID 관련 법제도 및 인증기준 등 마련 | |||
|- | |||
!'''표준(Standard)''' | |||
| | |||
* DID 구조, 프레임워크, 신원증명 방법 등을 통일 | |||
|- | |||
!'''매체 규격''' | |||
'''(DID Method Spec)''' | |||
| | |||
* 사용하는 분산원장 및 신원증명 수단별로 세부 사항을 규정한 규격서 | |||
|} | |||
* | == 기반 기술 == | ||
* | {| class="wikitable" | ||
!구분 | |||
** | !설명 | ||
* | |- | ||
!'''[[블록체인]]''' | |||
| | |||
* 분산원장의 신뢰성을 위한 자료 구조 | |||
|- | |||
!'''[[전자서명]]''' | |||
| | |||
* 공개키를 이용한 부인방지 및 인증 수단 | |||
|- | |||
!'''[[영지식 증명]]''' | |||
| | |||
* 선택적 신원증명을 위해 사용되는 기술 | |||
* 정보를 드러내지 않고 정보의 인지 여부, 옳고 그름을 증명하기 위한 암호학적 기술 | |||
|- | |||
!'''[[JSON-LD]]''' | |||
| | |||
* DID 문서, 신원, 증명서를 표현하기 위한 표기 규칙 | |||
|- | |||
!'''[[URI]]''' | |||
| | |||
* DID를 표현하기 위한 표현 규칙 기반 | |||
* 서비스 엔드 포인트를 가리키기 위한 주소 | |||
|} | |||
==동작 절차== | ==동작 절차== | ||
Line 132: | Line 230: | ||
#입사지원을 받는 회사는 증명서의 고유 ID(DID)로 블록체인을 조회한다. | #입사지원을 받는 회사는 증명서의 고유 ID(DID)로 블록체인을 조회한다. | ||
#조회된 공개키를 이용해 전자 서명값을 검증하여 대학교에서 발급한 증명서가 맞는지 확인한다. | #조회된 공개키를 이용해 전자 서명값을 검증하여 대학교에서 발급한 증명서가 맞는지 확인한다. | ||
==관련 표준== | ==관련 표준== | ||
Line 225: | Line 271: | ||
==고려사항 및 해결 방안== | ==고려사항 및 해결 방안== | ||
* | |||
{| class="wikitable" | {| class="wikitable" | ||
| | |'''구분''' | ||
|'''고려사항''' | |||
|'''설명''' | |||
|'''해소방안''' | |||
|- | |||
| rowspan="4" |기술· | |||
보안 | |||
|선택적 노출 | |||
| | |||
* 프라이버시 보호, 진정한 자기 주권을 위해선 신원주체의 선별적 신원 제시 필요 | |||
| | |||
* 영지식 증명 | |||
* Credential Level | |||
|- | |- | ||
|식별자 문제 | |식별자 문제 | ||
| | | | ||
*동일 DID를 범용적, 반복적으로 사용할 경우 고유식별자적 성격으로 변질 | * 동일 DID를 범용적, 반복적으로 사용할 경우 고유식별자적 성격으로 변질 가능성 | ||
*매번 새로운 식별자 발급을 위한 성능 부하, | * 매번 새로운 식별자 발급을 위한 성능 부하, 증명값이 블록으로 쌓이는 지연시간 | ||
| | | | ||
*영지식 증명 | * 영지식 증명 | ||
*실시간 발급 | * 실시간 발급 | ||
|- | |- | ||
| | |폐기·재발급 등 | ||
| | | | ||
* | * 중앙 관리 기관 부재로 도용, 폐기, 재발급 등에 대한 관리 체계 부족 | ||
| | | | ||
* | * 관련 세부 규격 마련 | ||
* | * 가이드라인 제시 등 | ||
|- | |- | ||
| | |확장성· | ||
완결성 문제 | |||
| | | | ||
* | * 블록체인이 가지고 있는 고유한 확장성(Scalability), 완결성(Finality) 문제 | ||
| | | | ||
* | * 스케일링, 샤딩 | ||
* | * Checkpoint, PBFT | ||
|- | |- | ||
| rowspan="2" | | | rowspan="2" |법률· | ||
|개인정보 보호법제 | |||
제도 | |||
|개인정보 | |||
보호법제 | |||
| | | | ||
*분산ID 식별자에 대한 개인정보 해석 가능성 | * 분산ID 식별자에 대한 개인정보 해석 가능성 | ||
*분산 원장 인프라에 대한 개인정보 위수탁, 제3자 제공 해석 | * 분산 원장 인프라에 대한 개인정보 위수탁, 제3자 제공 해석 | ||
| | | | ||
*관련 부처의 유권해석 | * 관련 부처의 유권해석 | ||
|- | |- | ||
|제도 기반 | |제도 기반 | ||
| | | | ||
*본인확인, 실지명의 확인 등 기존 제도화된 인증 체계와 충돌 | * 본인확인, 실지명의 확인 등 기존 제도화된 인증 체계와 충돌 | ||
*전자서명 인정사업자 등 법적인 기관 위주의 시장 진입 어려움 | * 전자서명 인정사업자 등 법적인 기관 위주의 시장 진입 어려움 | ||
*블록체인의 안정성에 대한 평가·검증 어려움 | * 블록체인의 안정성에 대한 평가·검증 어려움 | ||
| | | | ||
*관련 법률 개정 | * 관련 법률 개정 | ||
*블록체인 제도화 및 관리 | * 블록체인 제도화 및 관리 | ||
|- | |- | ||
| rowspan="5" | | | rowspan="5" |시장 | ||
|거버넌스 | |거버넌스 | ||
| | | | ||
*범국가적 거버넌스, 통일된 | * 범국가적 거버넌스, 통일된 체계 부재 | ||
*DID 얼라이언스, MyID 얼라이언스, 이니셜 DID 연합 등 난립 | * DID 얼라이언스, MyID 얼라이언스, 이니셜 DID 연합 등 난립 | ||
| | | | ||
*관련 부처 중심으로 거버넌스 쳬계 확립 | * 관련 부처 중심으로 거버넌스 쳬계 확립 | ||
*얼라이언스간 협의체 마련 | * 얼라이언스간 협의체 마련 | ||
|- | |- | ||
|신뢰된 원장 | |신뢰된 원장 | ||
| | | | ||
*비트코인 등 공개 소프트웨어 기반 분산 원장 사용의 | * 비트코인 등 공개 소프트웨어 기반 분산 원장 사용의 적절성 이슈 | ||
*컨소시엄 내부 블록체인 | * 컨소시엄 내부 블록체인 외 이종 산업간 범용 가능한 분산원장 부재 | ||
| | | | ||
*신뢰 기관을 중심으로 개방 원장 구축 | * 신뢰 기관을 중심으로 개방 원장 구축 | ||
*블록체인 제도화 및 관리 | * 블록체인 제도화 및 관리 | ||
|- | |- | ||
|공통 표준 부재 | |공통 표준 | ||
부재 | |||
| | | | ||
*(국내) 금융보안원과 TTA의 | * (국내) 금융보안원과 TTA의 표준에도 불구, 한국은행에서 새로운 표준화 추진 | ||
*(해외) ISO, ITU, W3C, 하이퍼레저 인디 등 다양한 프레임워크가 제시됨 | * (해외) ISO, ITU, W3C, 하이퍼레저 인디 등 다양한 프레임워크가 제시됨 | ||
| | | | ||
*업계 간 이해관계 조율 | * 업계 간 이해관계 조율 | ||
*공통 표준화 참여 | * 공통 표준화 참여 | ||
|- | |- | ||
|인프라·인식 부족 | |인프라·인식 부족 | ||
| | | | ||
*신원학인을 원하는 서비스 제공자, 영업점 등의 인프라 보급에 시일 소요 | * 신원학인을 원하는 서비스 제공자, 영업점 등의 인프라 보급에 시일 소요 | ||
*개념 확립, 블록체인의 검증 값을 이용한 신원 인증 대한 사회적 이해 필요 | * 개념 확립, 블록체인의 검증 값을 이용한 신원 인증 대한 사회적 이해 필요 | ||
| | | | ||
*SW, 단말기 등 인프라 보급 | * SW, 단말기 등 인프라 보급 | ||
*관련 교육, 홍보 | * 관련 교육, 홍보 | ||
|- | |- | ||
|신뢰성 보장 | |신뢰성 보장 | ||
| | | | ||
*신뢰된 CA, RA 없이 이루어지는 신원 증명 발급에 대한 신뢰 기준 부재 | * 신뢰된 CA, RA 없이 이루어지는 신원 증명 발급에 대한 신뢰 기준 부재 | ||
| | | | ||
*계층적 인정 기준 마련 | * 계층적 인정 기준 마련 | ||
|} | |} | ||
Revision as of 20:37, 10 May 2021
- Dfffecentralized IDs, DIDs
분산원장을 이용해 중앙등록기관 없이 시장 자율로 운영되는 확장성 있는 자기주권 신원 증명 체계
개요
개념
온라인상에서 분산원장을 기반으로 사용자가 스스로 신원[1] 등에 대한 증명 관리, 신원정보 제출 범위 및 제출대상 통제 등을 수행할 수 있도록 하는 신원관리 체계
- 전통적인 서버-클라이언트 모델 신원관리 체계와는 달리, 사용자가 자신의 신원정보에 주권(Self-Sovereignty) 행사 가능
등장 배경
전 세계적으로 개인의 프라이버시를 보호하고자 하는 움직임과 더불어 각 서비스 제공기관 마다 사용자 인증정보 및 개인정보를 관리함에 따른 위험성 및 불편함 인지
- (신원정보 과다 집중) 사용자의 신원정보가 글로벌 서비스 제공자에게로 집중됨으로써 발생하는 프라이버시 침해[2] 가능성에 우려
- 구글, 페이스북 등 글로벌 기업에서, 여러 제3자 서비스에서 하나의 인증을 사용할 수 있도록 통합 인증 서비스 제공 중
- (신원정보 복제·분산) 서비스제공기관마다 사용자의 신원정보 관리 시, 해킹 등 전자적 침해에 따른 대량의 개인정보 유・노출 사고 발생 가능
- (인증정보 관리 불편) 사용자입장에서 개별 서비스마다 인증정보를 다르게 설정・관리하기에 한계
- 이에, 사용자는 여러 서비스에 동일한 인증정보를 설정할 가능성이 높으며, 이를 이용한 크리덴셜 스터핑(Credential Stuffing) 공격 위협
▶ 실생활에서 사용자가 주민등록증 등 신원증명을 관리하는 것처럼, 온라인에서도 개별 서비스 제공기관이 아닌 사용자 스스로 자신의 신원정보를 관리・통제할 수 있도록 하는 새로운 인증체계 필요 |
특징
- (지속성) 사용자는 외부환경의 변화와는 관계없이 자신의 신원정보를 지속적으로 사용 가능
- 서비스제공자에 의해 신원정보가 관리되지 않으므로, 서비스제공자의 서비스 운영 중지 등 외부적 요인이 발생하더라도 신원정보의 유효성은 유지
- (피어(PEER)기반) 신원정보의 발행・검증은 특정기관에 종속적이지 않고, 피어기반으로 독립적으로 운영
- 서버‑클라이언트 모델과는 달리, 누구나 필요한 신원정보를 생성・이용 가능
- 단, 사용자의 신원을 최초로 검증할 수 있는 최소한의 신뢰된 기관(Trust Anchor) 필요
- (예) 금융기관 등에서 사용자 본인확인 절차(대면확인 등)를 거쳐 발행한 신원정보를 기반으로, 타 기관에서 다른 용도(운전가능여부 등)의 신원정보 발행 가능
- (휴대성) 신원증명이 필요한 경우 언제든 사용자는 스스로 신원정보를 선택 후 제공
- 사용자의 휴대성을 위해 스마트폰 등을 이용한 모바일ID, 칩이 내장된 실물카드 형태의 ID카드 등으로 이용 가능
- 이를 통해 언제든 필요시, 신원정보를 선택하여 서비스제공자에게 제공 가능
- (개인정보 보호) 개인의 명시적인 동의 없이는 서비스제공자의 개인정보의 활용 등이 제한
- 사용자가 신원정보를 스스로 관리하므로, 서비스제공자는 서비스에 필요한 정보 이외의 개인정보 및 타 기관에서의 사용자 서비스 이용 내역 등은 확인 불가
- 또한, 분산원장 기반의 신뢰된 ID저장소 내에는 개인정보를 평문으로 저장하지 않으며, 개인정보가 포함된 신원정보는 암호화 등의 조치를 수행하거나, 분산원장 밖에서(Off-Chain) 저장
기존 인증 체계와의 비교
구분 | 공인인증 | 블록체인 공동인증 | 분산ID |
---|---|---|---|
개요 |
|
|
|
신원정보 생성 및 등록 |
|
|
|
신원정보의 신뢰성 기반 |
|
|
|
신원정보 저장·관리 |
|
|
|
신원정보 이용형태 |
|
|
|
공동 이용 근거 |
|
|
|
예시 |
|
|
|
참여자 및 구성요소
구성 요소 | 설명 |
---|---|
DID |
|
DID 문서 |
|
검증 가능한 증명서
(Verifiable Credential) |
|
신원(Claim) |
|
발급자(Issuer) |
|
주체(Subject) |
|
보유자(Holder) |
|
검증자(Verifier) |
|
리졸버(Resolver) |
|
지갑(Wallet) |
|
분산 원장
(Distributed Ledger) |
|
DID 컨소시엄 |
|
정책 기관 |
|
표준(Standard) |
|
매체 규격
(DID Method Spec) |
|
기반 기술
구분 | 설명 |
---|---|
블록체인 |
|
전자서명 |
|
영지식 증명 |
|
JSON-LD |
|
URI |
|
동작 절차
- 홍길동은 입사지원을 위해 대학교에 학위 증명서 발급을 요청한다.
- 대학교는 "홍길동은 석사이다"라는 내용의 증명서를 발급한다.
- 증명서엔 다음의 내용이 포함된다.
- DID: 증명서 고유 ID
- 발급 정보: 발급한 대학교 명
- 자격 정보: "홍길동은 석사이다"라는 사실
- 검증 정보: 대학교의 개인키로 생성한 서명값(대학교의 공개키로 검증 가능)
- 대학교는 발급한 증명서 고유 ID와 공개키를 블록체인에 올려둔다.
- 홍길동은 입사지원 시 증명서를 제출한다.
- 입사지원을 받는 회사는 증명서의 고유 ID(DID)로 블록체인을 조회한다.
- 조회된 공개키를 이용해 전자 서명값을 검증하여 대학교에서 발급한 증명서가 맞는지 확인한다.
관련 표준
- W3C, ecentralized Identifiers (DIDs)
- W3C, Verifiable Credentials Data Model
- W3C, Verifiable Claims Use Cases
- 금융보안원, 분산ID를 활용한 신원관리 프레임워크
- ISO TC307, ISO/DTR 23249 Overview of existing DLT systems for identity management
- ITU-T SG17 Q.14(Distributed Ledger Technology)
- Security guidelines for using distributed ledger technology for decentralized identity management
- ITU-T Recommendation X.509 (10/2019) The Directory: Public-key and attribute certificate frameworks
- Amendment to Rec. ITU-T X.509 | ISO/IEC 9594-8 - Design considerations for a Decentralized PKI (2019)
동향
국내
- 국가 디지털 신분증 구축사업을 ‘디지털 정부혁신 기본계획 및 발전계획’ ‘한국판 뉴딜 종합계획’의 주요 과제로 선정해 추진
- (행안부) '모바일 공무원증' 도입 (2021년 초)
- 오프라인 : 정부 청사 출입, 도서관 등 지역 서비스 이용
- 온라인 : 공무원 업무시스템 로그인, 공무원 증빙서류 제출 등
- 운전면허증('21년 말)과 장애인등록증 등도 순차적으로 도입 예 정
- (금융위) 비대면 금융거래 활성화를 위해 블록체인 기반의 탈중 앙화 신원인증(DID) 규제를 완화 (2019.6)
- 금융결제원은 블록체인 기반의 모바일신분증(분산ID) 모델의 금융위원회 혁신금융서비스 지정
해외
- 유럽연합
- 모바일 신분증의 자기주권 신원관리를 위한 프레임워크 ESSIF 발표 (‘20.06)
- 유럽 국경에 걸쳐 신원을 생성하고 제어
- UN
- 난민을 위한 블록체인기반 ID 발행을 추진 중
- 2030년까지 전세계의 인류에게 아이디를 발행할 계획(2020~2030)
- 네덜란드
- 자기주권적 신분증 (2018~)
- 최소한의 개인정보로 신원확인 하도록 블록체인 기반 디지털 ID 개발
- 두바이
- 국제공항에 출입국 심사 간편화를 위해 블록체인 기반 여권 도입 계획 발표(2017.6)
고려사항 및 해결 방안
구분 | 고려사항 | 설명 | 해소방안 |
기술·
보안 |
선택적 노출 |
|
|
식별자 문제 |
|
| |
폐기·재발급 등 |
|
| |
확장성·
완결성 문제 |
|
| |
법률·
제도 |
개인정보
보호법제 |
|
|
제도 기반 |
|
| |
시장 | 거버넌스 |
|
|
신뢰된 원장 |
|
| |
공통 표준
부재 |
|
| |
인프라·인식 부족 |
|
| |
신뢰성 보장 |
|
|
각주
- ↑ 사용자의 이름, 나이, 개인 고유 식별정보, 학력·자격, 인증정보 등
- ↑ 서비스제공자는 사용자의 동의 없이 사용자 서비스 이용 내역 등을 파악 가능
- ↑ 어떤 분산원장도 사용 가능하지만, 신뢰성이 보장되지 않는 분산 원장 사용 시 이를 이용하는 분산 ID의 신뢰성 또한 보장될 수 없음
- ↑ 이론적으로 가능한 모델이나 아직까지 국내 컨소시엄 중에선 이 형태로 운영하는 경우는 없음
- ↑ 나이 증명용 ID, 학력 증명용 ID 등 생성 가능
- ↑ 기존 공인인증서가 전자서명법 개정('19.12)에 따라 공동인증서로 변경됨
- ↑ 기존 은행연합회 뱅크사인에서 금융결제원 금융인증서로 변경됨
- ↑ W3C 표준은 JSON-LD로 표현되어 있으나 포맷엔 제한 없음