분산 ID 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
3번째 줄: | 3번째 줄: | ||
;Decentralized IDs, DIDs | ;Decentralized IDs, DIDs | ||
분산원장을 이용해 중앙등록기관 없이 시장 자율로 운영되는 확장성 있는 | 분산원장을 이용해 중앙등록기관 없이 시장 자율로 운영되는 확장성 있는 신원 증명 체계 | ||
==개요== | == 개요 == | ||
===개념=== | === 개념 === | ||
'''온라인상에서 분산원장을 기반으로 사용자가 스스로 신원<ref>사용자의 이름, 나이, 개인 고유 식별정보, 학력·자격, 인증정보 등</ref> 등에 대한 증명 관리, 신원정보 제출 범위 및 제출대상 통제 등을 수행할 수 있도록 하는 신원관리 체계''' | '''온라인상에서 분산원장을 기반으로 사용자가 스스로 신원<ref>사용자의 이름, 나이, 개인 고유 식별정보, 학력·자격, 인증정보 등</ref> 등에 대한 증명 관리, 신원정보 제출 범위 및 제출대상 통제 등을 수행할 수 있도록 하는 신원관리 체계''' | ||
*전통적인 서버-클라이언트 모델 신원관리 체계와는 달리, 사용자가 자신의 [[ | * 전통적인 서버-클라이언트 모델 신원관리 체계와는 달리, 사용자가 자신의 [[자기 주권 인증|신원정보에 주권(Self-Sovereignty)]] 행사 가능 | ||
===등장 배경=== | === 등장 배경 === | ||
'''전 세계적으로 개인의 프라이버시를 | '''전 세계적으로 개인의 프라이버시를 보호하고자하는 움직임과 더불어 각 서비스제공기관마다 사용자 인증정보 및 개인정보를 관리함에 따른 위험성 및 불편함 인지''' | ||
*'''(신원정보 과다 집중)''' 사용자의 신원정보가 글로벌 서비스 제공자에게로 집중됨으로써 발생하는 프라이버시 침해<ref>서비스제공자는 사용자의 동의 없이 사용자 서비스 이용 내역 등을 파악 가능</ref> 가능성에 우려 | * '''(신원정보 과다 집중)''' 사용자의 신원정보가 글로벌 서비스 제공자에게로 집중됨으로써 발생하는 프라이버시 침해<ref>서비스제공자는 사용자의 동의 없이 사용자 서비스 이용 내역 등을 파악 가능</ref> 가능성에 우려 | ||
**구글, 페이스북 등 글로벌 기업에서, 여러 제3자 서비스에서 하나의 인증을 사용할 수 있도록 통합 인증 서비스 제공 중 | ** 구글, 페이스북 등 글로벌 기업에서, 여러 제3자 서비스에서 하나의 인증을 사용할 수 있도록 통합 인증 서비스 제공 중 | ||
*'''(신원정보 복제·분산)''' 서비스제공기관마다 사용자의 신원정보 관리 시, 해킹 등 전자적 침해에 따른 대량의 개인정보 유・노출 사고 발생 가능 | * '''(신원정보 복제·분산)''' 서비스제공기관마다 사용자의 신원정보 관리 시, 해킹 등 전자적 침해에 따른 대량의 개인정보 유・노출 사고 발생 가능 | ||
*'''(인증정보 관리 불편)''' 사용자입장에서 개별 서비스마다 인증정보를 다르게 설정・관리하기에 한계 | * '''(인증정보 관리 불편)''' 사용자입장에서 개별 서비스마다 인증정보를 다르게 설정・관리하기에 한계 | ||
**이에, 사용자는 여러 서비스에 동일한 인증정보를 설정할 가능성이 높으며, 이를 이용한 [[크리덴셜 스터핑|'''크리덴셜 스터핑(Credential Stuffing)''']] 공격 위협 | ** - 이에, 사용자는 여러 서비스에 동일한 인증정보를 설정할 가능성이 높으며, 이를 이용한 [[크리덴셜 스터핑|'''크리덴셜 스터핑(Credential Stuffing)''']] 공격 위협 | ||
'''▶ 실생활에서 사용자가 주민등록증 등 신원증명을 관리하는 것처럼, 온라인에서도 개별 서비스 제공기관이 아닌 사용자 스스로 자신의 신원정보를 관리・통제할 수 있도록 하는 새로운 인증체계 필요''' | |||
===특징=== | === 특징 === | ||
*'''(지속성)''' 사용자는 외부환경의 변화와는 관계없이 자신의 신원정보를 지속적으로 사용 가능 | * '''(지속성)''' 사용자는 외부환경의 변화와는 관계없이 자신의 신원정보를 지속적으로 사용 가능 | ||
**서비스제공자에 의해 신원정보가 관리되지 않으므로, 서비스제공자의 서비스 운영 중지 등 외부적 요인이 발생하더라도 신원정보의 유효성은 유지 | ** 서비스제공자에 의해 신원정보가 관리되지 않으므로, 서비스제공자의 서비스 운영 중지 등 외부적 요인이 발생하더라도 신원정보의 유효성은 유지 | ||
*'''(피어(PEER)기반)''' 신원정보의 발행・검증은 특정기관에 종속적이지 않고, 피어기반으로 독립적으로 운영 | * '''(피어(PEER)기반)''' 신원정보의 발행・검증은 특정기관에 종속적이지 않고, 피어기반으로 독립적으로 운영 | ||
**서버‑클라이언트 모델과는 달리, 누구나 필요한 신원정보를 생성・이용 가능 | ** 서버‑클라이언트 모델과는 달리, 누구나 필요한 신원정보를 생성・이용 가능 | ||
**단, 사용자의 신원을 최초로 검증할 수 있는 최소한의 신뢰된 기관(Trust Anchor) 필요 | ** 단, 사용자의 신원을 최초로 검증할 수 있는 최소한의 신뢰된 기관(Trust Anchor) 필요 | ||
***(예) 금융기관 등에서 사용자 본인확인 절차(대면확인 등)를 거쳐 발행한 신원정보를 기반으로, 타 기관에서 다른 용도(운전가능여부 등)의 신원정보 발행 가능 | *** (예) 금융기관 등에서 사용자 본인확인 절차(대면확인 등)를 거쳐 발행한 신원정보를 기반으로, 타 기관에서 다른 용도(운전가능여부 등)의 신원정보 발행 가능 | ||
*'''(휴대성)''' 신원증명이 필요한 경우 언제든 사용자는 스스로 신원정보를 선택 후 제공 | * '''(휴대성)''' 신원증명이 필요한 경우 언제든 사용자는 스스로 신원정보를 선택 후 제공 | ||
**사용자의 휴대성을 위해 스마트폰 등을 이용한 모바일ID, 칩이 내장된 실물카드 형태의 ID카드 등으로 이용 가능 | ** 사용자의 휴대성을 위해 스마트폰 등을 이용한 모바일ID, 칩이 내장된 실물카드 형태의 ID카드 등으로 이용 가능 | ||
**이를 통해 언제든 필요시, 신원정보를 선택하여 서비스제공자에게 제공 가능 | ** 이를 통해 언제든 필요시, 신원정보를 선택하여 서비스제공자에게 제공 가능 | ||
*'''(개인정보 보호)''' 개인의 명시적인 동의 없이는 서비스제공자의 개인정보의 활용 등이 제한 | * '''(개인정보 보호)''' 개인의 명시적인 동의 없이는 서비스제공자의 개인정보의 활용 등이 제한 | ||
**사용자가 신원정보를 스스로 관리하므로, 서비스제공자는 서비스에 필요한 정보 이외의 개인정보 및 타 기관에서의 사용자 서비스 이용 내역 등은 확인 불가 | ** 사용자가 신원정보를 스스로 관리하므로, 서비스제공자는 서비스에 필요한 정보 이외의 개인정보 및 타 기관에서의 사용자 서비스 이용 내역 등은 확인 불가 | ||
**또한, 분산원장 기반의 신뢰된 ID저장소 내에는 개인정보를 평문으로 저장하지 않으며, 개인정보가 포함된 신원정보는 암호화 등의 조치를 수행하거나, 분산원장 밖에서(Off-Chain) 저장 | ** 또한, 분산원장 기반의 신뢰된 ID저장소 내에는 개인정보를 평문으로 저장하지 않으며, 개인정보가 포함된 신원정보는 암호화 등의 조치를 수행하거나, 분산원장 밖에서(Off-Chain) 저장 | ||
==기존 인증 체계와의 비교== | == 기존 인증 체계와의 비교 == | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |||
!구분 | !구분 | ||
!공인인증 | !공인인증 | ||
49번째 줄: | 48번째 줄: | ||
!개요 | !개요 | ||
| | | | ||
*신뢰된 공인인증기관(CA) 기반 인증체계 | * 신뢰된 공인인증기관(CA) 기반 인증체계 | ||
| | | | ||
*업권별(은행, 증권 등) 블록체인 기반 인증체계 | * 업권별(은행, 증권 등) 블록체인 기반 인증체계 | ||
| | | | ||
*기관의 개입 없는 분산원장 기반 인증체계 | * 기관의 개입 없는 분산원장 기반 구축 인증체계 | ||
|- | |- | ||
!신원정보 생성 및 등록 | !신원정보 생성 및 등록 | ||
| | | | ||
*공인인증기관 | * 공인인증기관 | ||
| | | | ||
*각 금융회사 등 | * 각 금융회사 등 | ||
| | | | ||
*필요시, 누구나 가능 | * 필요시, 누구나 가능 | ||
|- | |- | ||
!신원정보의 신뢰성 기반 | !신원정보의 신뢰성 기반 | ||
| | | | ||
*국가 공인 시스템의 신뢰성 기반 | * 국가 공인 시스템의 신뢰성 기반 | ||
*공인된 인증기관의 신뢰성·인프라 기반 | * 공인된 인증기관의 신뢰성·인프라 기반 | ||
| | | | ||
*업권별로 운영되는 블록체인의 신뢰성 기반 | * 업권별로 운영되는 블록체인의 신뢰성 기반 | ||
| | | | ||
*발급자의 신뢰성 기반 | * 발급자의 신뢰성 기반 | ||
*이용하는 분산원장의 신뢰성 기반<ref>어떤 분산원장도 사용 가능하지만, 신뢰성이 보장되지 않는 분산 원장 사용 시 이를 이용하는 분산 ID의 신뢰성 또한 보장될 수 없음</ref> | * 이용하는 분산원장의 신뢰성 기반<ref>어떤 분산원장도 사용 가능하지만, 신뢰성이 보장되지 않는 분산 원장 사용 시 이를 이용하는 분산 ID의 신뢰성 또한 보장될 수 없음</ref> | ||
|- | |- | ||
!신원정보 저장·관리 | !신원정보 저장·관리 | ||
| | | | ||
*중앙기관에서 모든 사용자의 신원정보 관리 | * 중앙기관에서 모든 사용자의 신원정보 관리 | ||
| | | | ||
*각 참여사 DB에 저장(또는 공동 DB 이용<ref>이론적으로 가능한 모델이나 아직까지 국내 컨소시엄 중에선 이 형태로 운영하는 경우는 없음</ref>) | * 각 참여사 DB에 저장 (또는 공동 DB 이용<ref>이론적으로 가능한 모델이나 아직까지 국내 컨소시엄 중에선 이 형태로 운영하는 경우는 없음</ref>) | ||
*블록체인을 통해 동기화 | * 블록체인을 통해 동기화 | ||
| | | | ||
*사용자가 원하는 곳에 저장 가능 | * 사용자가 원하는 곳에 저장 가능 | ||
*개인 디바이스나 지갑 서비스 등에 저장 | * 개인 디바이스나 지갑 서비스 등에 저장 | ||
*블록체인에 검증 정보 저장 | * 블록체인에 검증 정보 저장 | ||
|- | |- | ||
!신원정보 이용형태 | !신원정보 이용형태 | ||
| | | | ||
*공인된 하나의 ID 이용 | * 공인된 하나의 ID 이용 | ||
| | | | ||
*하나의 ID 이용 | * 하나의 ID 이용 | ||
| | | | ||
*사용자 필요시마다 생성하여 이용<ref>나이 증명용 ID, 학력 증명용 ID 등 생성 가능</ref> | * 사용자 필요시마다 생성하여 이용<ref>나이 증명용 ID, 학력 증명용 ID 등 생성 가능</ref> | ||
|- | |- | ||
!공동 이용 근거 | !공동 이용 근거 | ||
| | | | ||
*전자서명법 | * 전자서명법 | ||
| | | | ||
*컨소시엄 규약(협약, 계약) | * 컨소시엄 규약(협약, 계약) | ||
| | | | ||
*없음 | * 없음 | ||
*신원정보의 신뢰성에 기반 | * 신원정보의 신뢰성에 기반 | ||
|- | |- | ||
!예시 | !예시 | ||
| | | | ||
*공동인증서<ref>기존 공인인증서가 전자서명법 개정('19.12)에 따라 공동인증서로 변경됨</ref> | * 공동인증서<ref>기존 공인인증서가 전자서명법 개정('19.12)에 따라 공동인증서로 변경됨</ref> | ||
| | | | ||
*금융투자업권 체인ID | * 금융투자업권 체인ID | ||
*은행업권 금융인증서<ref>기존 은행연합회 뱅크사인에서 금융결제원 금융인증서로 변경됨</ref> | * 은행업권 금융인증서<ref>기존 은행연합회 뱅크사인에서 금융결제원 금융인증서로 변경됨</ref> | ||
| | | | ||
*Sovrin | * Sovrin | ||
*uPort | * uPort | ||
|} | |} | ||
== | ==기본 용어== | ||
*이슈어(Issuer): 자격 증명 발급자 | |||
*주체(Subject): 자격을 가진 주체 | |||
* | *보유자(Holder): 자격 증명 소지자 | ||
**주체와 보유자는 다를 수도 있기 때문에 구분한다. '예를 들어 홍길동의 학력은 석사다' 라는 자격 증명을 임꺽정이 가질수도 있다. cf. 국내의 법정대리인, 위임자 개념 | |||
*검증자(Inspector): 자격 증명 검증자 | |||
* | |||
* | |||
* | |||
* | |||
* | |||
==동작 절차== | ==동작 절차== | ||
230번째 줄: | 132번째 줄: | ||
#입사지원을 받는 회사는 증명서의 고유 ID(DID)로 블록체인을 조회한다. | #입사지원을 받는 회사는 증명서의 고유 ID(DID)로 블록체인을 조회한다. | ||
#조회된 공개키를 이용해 전자 서명값을 검증하여 대학교에서 발급한 증명서가 맞는지 확인한다. | #조회된 공개키를 이용해 전자 서명값을 검증하여 대학교에서 발급한 증명서가 맞는지 확인한다. | ||
==구성 요소== | |||
===저장소=== | |||
===[[DID 문서]]=== | |||
;did documents | |||
*블록체인에 올라가는 자격 증명을 검증할 수 있는 문서 | |||
*개인정보는 포함하지 않고 검증 체계, 공개키 등만 포함 | |||
*상세 내용은 [[DID 문서|문서 참고]] | |||
===인증서 지갑=== | |||
===자격 증명=== | |||
;Verifiable Claims에서 Verifiable Credentials로 변경 | |||
*증명하고자 하는 자격이 담겨있는 '''텍스트 기반의 인증서''' | |||
**인증서 지갑 형태에 따라 IC카드, USB, 모바일 앱 등을 통해 활용 가능 | |||
*암호학적인 방법으로 증명 가능한 구조 | |||
**이슈어를 명시하고, 이슈어의 개인키로 서명한 값을 포함 | |||
**블록체인 등 신뢰되는 저장소에서 공개키를 조회해 검증 가능 | |||
*표준은 [[JSON-LD]]로 표현되어 있으나 포맷엔 제한 음 | |||
'''예시'''<pre> | |||
{ | |||
"@context": [ | |||
"https://www.w3.org/2018/credentials/v1", | |||
"https://www.w3.org/2018/credentials/examples/v1" | |||
], | |||
"id": "http://example.gov/credentials/3732", | |||
"type": ["VerifiableCredential", "UniversityDegreeCredential"], | |||
"issuer": "https://example.edu", | |||
"issuanceDate": "2010-01-01T19:73:24Z", | |||
"credentialSubject": { | |||
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21", | |||
"degree": { | |||
"type": "BachelorDegree", | |||
"name": "<span lang='fr-CA'>Baccalauréat en musiques numériques</span>" | |||
} | |||
}, | |||
"proof": { | |||
"type": "RsaSignature2018", | |||
"created": "2018-06-18T21:19:10Z", | |||
"verificationMethod": "https://example.com/jdoe/keys/1", | |||
"signatureValue": "BavEll0/I1zpYw8XNi1bgVg/sCneO4Jugez8RwDg/+ | |||
MCRVpjOboDoe4SxxKjkCOvKiCHGDvc4krqi6Z1n0UfqzxGfmatCuFibcC1wps | |||
PRdW+gGsutPTLzvueMWmFhwYmfIFpbBu95t501+rSLHIEuujM/+PXr9Cky6Ed | |||
+W3JT24=" | |||
} | |||
} | |||
</pre> | |||
==관련 표준== | ==관련 표준== | ||
244번째 줄: | 198번째 줄: | ||
**Amendment to Rec. ITU-T X.509 | ISO/IEC 9594-8 - Design considerations for a Decentralized PKI (2019) | **Amendment to Rec. ITU-T X.509 | ISO/IEC 9594-8 - Design considerations for a Decentralized PKI (2019) | ||
== | ==동향== | ||
===국내=== | ===국내=== | ||
*국가 디지털 신분증 구축사업을 ‘디지털 정부혁신 기본계획 및 발전계획’ ‘한국판 뉴딜 종합계획’의 주요 과제로 선정해 추진 | *국가 디지털 신분증 구축사업을 ‘디지털 정부혁신 기본계획 및 발전계획’ ‘한국판 뉴딜 종합계획’의 주요 과제로 선정해 추진 | ||
*'''(행안부)''' '모바일 공무원증' 도입 (2021년 초) | *'''(행안부)''' '모바일 공무원증' 도입 (2021년 초) | ||
**오프라인 : 정부 청사 출입, 도서관 등 지역 서비스 이용 | **오프라인 : 정부 청사 출입, 도서관 등 지역 서비스 이용 | ||
272번째 줄: | 225번째 줄: | ||
==고려사항 및 해결 방안== | ==고려사항 및 해결 방안== | ||
{| class="wikitable" | {| class="wikitable" | ||
! | |+ | ||
! | !구분 | ||
! | !고려사항 | ||
! | !설명 | ||
!해결방안 | |||
|- | |- | ||
| rowspan="4" |'''기술·보안''' | |||
|오라클 문제 | |||
| | |||
| | | | ||
* | *블록체인 밖에서 이루어지는 신원 발급 등에 대한 신뢰성 보장 어려움 | ||
| | | | ||
|- | |- | ||
|식별자 문제 | |식별자 문제 | ||
| | | | ||
*동일 DID를 범용적, 반복적으로 사용할 경우 고유식별자적 성격으로 변질 | *동일 DID를 범용적, 반복적으로 사용할 경우 고유식별자적 성격으로 변질<ref>현재 CI와 유사한 사례로, CI는 온라인에서 사용되는 주민등록번호와 같아 방통위 등에서 사용을 통제 중</ref> | ||
*매번 새로운 식별자 발급을 위한 성능 부하, | *매번 새로운 식별자 발급을 위한 성능 부하, 실시간 증명체계 마련 필요 | ||
| | |||
|- | |||
|영지식 증명 구현 | |||
| | |||
*진정한 자기 주권 인증을 위해선 [[영지식 증명]] 체계 필요 | |||
*실제 필요최소한의 신원 정보 제시를 위한 기술적 대안 필요 | |||
| | | | ||
|- | |- | ||
|폐기·재발급 등 | |폐기·재발급 등 | ||
306번째 줄: | 257번째 줄: | ||
*가이드라인 제시 등 | *가이드라인 제시 등 | ||
|- | |- | ||
| | | rowspan="2" |'''법률·제도''' | ||
|개인정보 보호법제 | |||
|개인정보 | |||
보호법제 | |||
| | | | ||
*분산ID 식별자에 대한 개인정보 해석 가능성 | *분산ID 식별자에 대한 개인정보 해석 가능성 | ||
327번째 줄: | 265번째 줄: | ||
*관련 부처의 유권해석 | *관련 부처의 유권해석 | ||
|- | |- | ||
|제도 기반 | |제도 기반 부족 | ||
| | | | ||
*본인확인, 실지명의 확인 등 기존 제도화된 인증 체계와 충돌 | *본인확인, 실지명의 확인 등 기존 제도화된 인증 체계와 충돌 | ||
335번째 줄: | 273번째 줄: | ||
*관련 법률 개정 | *관련 법률 개정 | ||
*블록체인 제도화 및 관리 | *블록체인 제도화 및 관리 | ||
|- | |- | ||
| rowspan="5" |'''시장''' | |||
|거버넌스 | |거버넌스 부재 | ||
| | | | ||
*범국가적 거버넌스, 통일된 | *범국가적 거버넌스, 통일된 체계가 없어 시장 안착 어려움 | ||
*DID 얼라이언스, MyID 얼라이언스, 이니셜 DID 연합 등 난립 | *DID 얼라이언스, MyID 얼라이언스, 이니셜 DID 연합 등 난립 | ||
| | | | ||
346번째 줄: | 283번째 줄: | ||
*얼라이언스간 협의체 마련 | *얼라이언스간 협의체 마련 | ||
|- | |- | ||
|신뢰된 원장 | |신뢰된 원장 부재 | ||
| | | | ||
*비트코인 등 공개 소프트웨어 기반 분산 원장 사용의 | *비트코인 등 공개 소프트웨어 기반 분산 원장 사용의 부적절성 논란 | ||
*컨소시엄 블록체인 외 이종 산업간 범용 가능한 분산원장 부재 | *컨소시엄 내부 블록체인<ref>금융결제원, 금융투자협회 등</ref> 외 이종 산업간 범용 가능한 분산원장 부재<ref>신원 인증 전용 분산원장은 ICON, 메타디움 등 개별 코인 발행 업체(스타트업)에서 운영</ref> | ||
| | | | ||
*신뢰 기관을 중심으로 개방 원장 구축 | *신뢰 기관을 중심으로 개방 원장 구축 | ||
*블록체인 제도화 및 관리 | *블록체인 제도화 및 관리 | ||
|- | |- | ||
|공통 표준 | |공통 표준 부재 | ||
부재 | |||
| | | | ||
*(국내) 금융보안원과 TTA의 | *(국내) 금융보안원과 TTA의 표준<ref>[https://www.sedaily.com/NewsVIew/1ZBOJ6NBKT '금융보안원표 분산ID' 정보통신 단체표준으로 채택('20.12., 서울경제)]</ref>에도 불구, 한국은행에서 새로운 표준화 추진<ref>[https://www.mk.co.kr/news/economy/view/2021/04/408725/ 한은, 디지털화폐 발행 모의실험…분산ID 표준안도 추진('21.4., 매일경제)]</ref> | ||
*(해외) ISO, ITU, W3C, 하이퍼레저 인디 등 다양한 프레임워크가 제시됨 | *(해외) ISO, ITU, W3C, 하이퍼레저 인디 등 다양한 프레임워크가 제시됨 | ||
| | | | ||
377번째 줄: | 311번째 줄: | ||
*신뢰된 CA, RA 없이 이루어지는 신원 증명 발급에 대한 신뢰 기준 부재 | *신뢰된 CA, RA 없이 이루어지는 신원 증명 발급에 대한 신뢰 기준 부재 | ||
| | | | ||
|} | |} | ||
* | * |