분산 ID

From CS Wiki
Revision as of 02:20, 7 May 2021 by James (talk | contribs)


Decentralized IDs, DIDs

분산원장을 이용해 중앙등록기관 없이 시장 자율로 운영되는 확장성 있는 신원 증명 체계

개요

개념

온라인상에서 분산원장을 기반으로 사용자가 스스로 신원[1] 등에 대한 증명 관리, 신원정보 제출 범위 및 제출대상 통제 등을 수행할 수 있도록 하는 신원관리 체계

등장 배경

전 세계적으로 개인의 프라이버시를 보호하고자하는 움직임과 더불어 각 서비스제공기관마다 사용자 인증정보 및 개인정보를 관리함에 따른 위험성 및 불편함 인지

  • (신원정보 과다 집중) 사용자의 신원정보가 글로벌 서비스 제공자에게로 집중됨으로써 발생하는 프라이버시 침해[2] 가능성에 우려
    • 구글, 페이스북 등 글로벌 기업에서, 여러 제3자 서비스에서 하나의 인증을 사용할 수 있도록 통합 인증 서비스 제공 중
  • (신원정보 복제·분산) 서비스제공기관마다 사용자의 신원정보 관리 시, 해킹 등 전자적 침해에 따른 대량의 개인정보 유・노출 사고 발생 가능
  • (인증정보 관리 불편) 사용자입장에서 개별 서비스마다 인증정보를 다르게 설정・관리하기에 한계

▶ 실생활에서 사용자가 주민등록증 등 신원증명을 관리하는 것처럼, 온라인에서도 개별 서비스 제공기관이 아닌 사용자 스스로 자신의 신원정보를 관리・통제할 수 있도록 하는 새로운 인증체계 필요

특징

  • (지속성) 사용자는 외부환경의 변화와는 관계없이 자신의 신원정보를 지속적으로 사용 가능
    • 서비스제공자에 의해 신원정보가 관리되지 않으므로, 서비스제공자의 서비스 운영 중지 등 외부적 요인이 발생하더라도 신원정보의 유효성은 유지
  • (피어(PEER)기반) 신원정보의 발행・검증은 특정기관에 종속적이지 않고, 피어기반으로 독립적으로 운영
    • 서버‑클라이언트 모델과는 달리, 누구나 필요한 신원정보를 생성・이용 가능
    • 단, 사용자의 신원을 최초로 검증할 수 있는 최소한의 신뢰된 기관(Trust Anchor) 필요
      • (예) 금융기관 등에서 사용자 본인확인 절차(대면확인 등)를 거쳐 발행한 신원정보를 기반으로, 타 기관에서 다른 용도(운전가능여부 등)의 신원정보 발행 가능
  • (휴대성) 신원증명이 필요한 경우 언제든 사용자는 스스로 신원정보를 선택 후 제공
    • 사용자의 휴대성을 위해 스마트폰 등을 이용한 모바일ID, 칩이 내장된 실물카드 형태의 ID카드 등으로 이용 가능
    • 이를 통해 언제든 필요시, 신원정보를 선택하여 서비스제공자에게 제공 가능
  • (개인정보 보호) 개인의 명시적인 동의 없이는 서비스제공자의 개인정보의 활용 등이 제한
    • 사용자가 신원정보를 스스로 관리하므로, 서비스제공자는 서비스에 필요한 정보 이외의 개인정보 및 타 기관에서의 사용자 서비스 이용 내역 등은 확인 불가
    • 또한, 분산원장 기반의 신뢰된 ID저장소 내에는 개인정보를 평문으로 저장하지 않으며, 개인정보가 포함된 신원정보는 암호화 등의 조치를 수행하거나, 분산원장 밖에서(Off-Chain) 저장

기존 인증 체계와의 비교

구분 공인인증 블록체인 공동인증 분산ID
개요
  • 신뢰된 공인인증기관(CA) 기반 인증체계
  • 업권별(은행, 증권 등) 블록체인 기반 인증체계
  • 기관의 개입 없는 분산원장 기반 구축 인증체계
신원정보 생성 및 등록
  • 공인인증기관
  • 각 금융회사 등
  • 필요시, 누구나 가능
신원정보의 신뢰성 기반
  • 국가 공인 시스템의 신뢰성 기반
  • 공인된 인증기관의 신뢰성·인프라 기반
  • 업권별로 운영되는 블록체인의 신뢰성 기반
  • 발급자의 신뢰성 기반
  • 이용하는 분산원장의 신뢰성 기반[3]
신원정보 저장·관리
  • 중앙기관에서 모든 사용자의 신원정보 관리
  • 각 참여사 DB에 저장 (또는 공동 DB 이용[4])
  • 블록체인을 통해 동기화
  • 사용자가 원하는 곳에 저장 가능
  • 개인 디바이스나 지갑 서비스 등에 저장
  • 블록체인에 검증 정보 저장
신원정보 이용형태
  • 공인된 하나의 ID 이용
  • 하나의 ID 이용
  • 사용자 필요시마다 생성하여 이용[5]
공동 이용 근거
  • 전자서명법
  • 컨소시엄 규약(협약, 계약)
  • 없음
  • 신원정보의 신뢰성에 기반
예시
  • 공동인증서[6]
  • 금융투자업권 체인ID
  • 은행업권 금융인증서[7]
  • Sovrin
  • uPort

기본 용어

  • 이슈어(Issuer): 자격 증명 발급자
  • 주체(Subject): 자격을 가진 주체
  • 보유자(Holder): 자격 증명 소지자
    • 주체와 보유자는 다를 수도 있기 때문에 구분한다. '예를 들어 홍길동의 학력은 석사다' 라는 자격 증명을 임꺽정이 가질수도 있다. cf. 국내의 법정대리인, 위임자 개념
  • 검증자(Inspector): 자격 증명 검증자

동작 절차

  1. 홍길동은 입사지원을 위해 대학교에 학위 증명서 발급을 요청한다.
  2. 대학교는 "홍길동은 석사이다"라는 내용의 증명서를 발급한다.
    • 증명서엔 다음의 내용이 포함된다.
    1. DID: 증명서 고유 ID
    2. 발급 정보: 발급한 대학교 명
    3. 자격 정보: "홍길동은 석사이다"라는 사실
    4. 검증 정보: 대학교의 개인키로 생성한 서명값(대학교의 공개키로 검증 가능)
  3. 대학교는 발급한 증명서 고유 ID와 공개키를 블록체인에 올려둔다.
  4. 홍길동은 입사지원 시 증명서를 제출한다.
  5. 입사지원을 받는 회사는 증명서의 고유 ID(DID)로 블록체인을 조회한다.
  6. 조회된 공개키를 이용해 전자 서명값을 검증하여 대학교에서 발급한 증명서가 맞는지 확인한다.

구성 요소

저장소

DID 문서

did documents
  • 블록체인에 올라가는 자격 증명을 검증할 수 있는 문서
  • 개인정보는 포함하지 않고 검증 체계, 공개키 등만 포함
  • 상세 내용은 문서 참고

인증서 지갑

자격 증명

Verifiable Claims에서 Verifiable Credentials로 변경
  • 증명하고자 하는 자격이 담겨있는 텍스트 기반의 인증서
    • 인증서 지갑 형태에 따라 IC카드, USB, 모바일 앱 등을 통해 활용 가능
  • 암호학적인 방법으로 증명 가능한 구조
    • 이슈어를 명시하고, 이슈어의 개인키로 서명한 값을 포함
    • 블록체인 등 신뢰되는 저장소에서 공개키를 조회해 검증 가능
  • 표준은 JSON-LD로 표현되어 있으나 포맷엔 제한 음

예시

{
  "@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="
  }
}

관련 표준

  • 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)

고려사항 및 해결 방안

구분 고려사항 설명 해결방안
기술·보안 오라클 문제
  • 블록체인 밖에서 이루어지는 신원 발급 등에 대한 신뢰성 보장 어려움
식별자 문제
  • 동일 DID를 범용적, 반복적으로 사용할 경우 고유식별자적 성격으로 변질[8]
  • 매번 새로운 식별자 발급을 위한 성능 부하, 실시간 증명체계 마련 필요
영지식 증명 구현
  • 진정한 자기 주권 인증을 위해선 영지식 증명 체계 필요
  • 실제 필요최소한의 신원 정보 제시를 위한 기술적 대안 필요
폐기·재발급 등
  • 중앙 관리 기관 부재로 도용, 폐기, 재발급 등에 대한 관리 체계 부족
  • 관련 세부 규격 마련
  • 가이드라인 제시 등
법률·제도 개인정보 보호법제
  • 분산ID 식별자에 대한 개인정보 해석 가능성
  • 분산 원장 인프라에 대한 개인정보 위수탁, 제3자 제공 해석
  • 관련 부처의 유권해석
제도 기반 부족
  • 본인확인, 실지명의 확인 등 기존 제도화된 인증 체계와 충돌
  • 전자서명 인정사업자 등 법적인 기관 위주의 시장 진입 어려움
  • 블록체인의 안정성에 대한 평가·검증 어려움
  • 관련 법률 개정
  • 블록체인 제도화 및 관리
시장 거버넌스 부재
  • 범국가적 거버넌스, 통일된 체계가 없어 시장 안착 어려움
  • DID 얼라이언스, MyID 얼라이언스, 이니셜 DID 연합 등 난립
  • 관련 부처 중심으로 거버넌스 쳬계 확립
  • 얼라이언스간 협의체 마련
신뢰된 원장 부재
  • 비트코인 등 공개 소프트웨어 기반 분산 원장 사용의 부적절성 논란
  • 컨소시엄 내부 블록체인[9] 외 이종 산업간 범용 가능한 분산원장 부재[10]
  • 신뢰 기관을 중심으로 개방 원장 구축
  • 블록체인 제도화 및 관리
공통 표준 부재
  • (국내) 금융보안원과 TTA의 표준[11]에도 불구, 한국은행에서 새로운 표준화 추진[12]
  • (해외) ISO, ITU, W3C, 하이퍼레저 인디 등 다양한 프레임워크가 제시됨
  • 업계 간 이해관계 조율
  • 공통 표준화 참여
인프라·인식 부족
  • 신원학인을 원하는 서비스 제공자, 영업점 등의 인프라 보급에 시일 소요
  • 개념 확립, 블록체인의 검증 값을 이용한 신원 인증 대한 사회적 이해 필요
  • SW, 단말기 등 인프라 보급
  • 관련 교육, 홍보
신뢰성 보장
  • 신뢰된 CA, RA 없이 이루어지는 신원 증명 발급에 대한 신뢰 기준 부재

각주

  1. 사용자의 이름, 나이, 개인 고유 식별정보, 학력·자격, 인증정보 등
  2. 서비스제공자는 사용자의 동의 없이 사용자 서비스 이용 내역 등을 파악 가능
  3. 어떤 분산원장도 사용 가능하지만, 신뢰성이 보장되지 않는 분산 원장 사용 시 이를 이용하는 분산 ID의 신뢰성 또한 보장될 수 없음
  4. 이론적으로 가능한 모델이나 아직까지 국내 컨소시엄 중에선 이 형태로 운영하는 경우는 없음
  5. 나이 증명용 ID, 학력 증명용 ID 등 생성 가능
  6. 기존 공인인증서가 전자서명법 개정('19.12)에 따라 공동인증서로 변경됨
  7. 기존 은행연합회 뱅크사인에서 금융결제원 금융인증서로 변경됨
  8. 현재 CI와 유사한 사례로, CI는 온라인에서 사용되는 주민등록번호와 같아 방통위 등에서 사용을 통제 중
  9. 금융결제원, 금융투자협회 등
  10. 신원 인증 전용 분산원장은 ICON, 메타디움 등 개별 코인 발행 업체(스타트업)에서 운영
  11. '금융보안원표 분산ID' 정보통신 단체표준으로 채택('20.12., 서울경제)
  12. 한은, 디지털화폐 발행 모의실험…분산ID 표준안도 추진('21.4., 매일경제)