SSI(Self-Sovereign Identity) ?

블록체인을 기반으로 자신을 증명할 수 있는 정보를 스스로 관리 및 보관하고, 신원증명이 필요한 서비스 이용시에 인증정보를 제3자에게 맡기는 것이 아닌 사용자 본인이 직접 관리하도록 데이터 주권을 사용자에게 돌려주는 기술 개념.


DID & SSI

DIDSSI의 개념을 탈중앙화된 방식으로 구현한, 자신의 개인 정보를 선택적으로 제출할 수 있게 만든 탈중앙화된 자기주권형 신원증명기술이다.

DID는 기존 중앙화된 인증방식에서 탈중앙화 방식의 신원 증명으로 자기 자신이 신원증명에 대한 권한을 갖도록 하겠다는 SSI 개념을 현실화 한 것이다.

“탈중앙화 기반 자기주권형 신원증명기술”

  • DID는 SSI를 블록체인을 통해서 현실화한 것?

    반만 맞고, 반은 오답.

    • SSI는 사용자가 스스로 자신의 신원정보를 관리, 공개 범위를 결정해서 스스로 프라이버시를 보호하는 개념.
    • DID는 SSI의 개념을 탈중앙화 방식으로 구현하기 위한 기술로, 데이터를 탈중앙화된 방식으로 저장하는 여러 가지 방법 중에서 블록체인이 있는 것.

SSI의 개념

스스로가 독립적인 권한을 지닌 신원. 즉, “스스로에게 부여한 신원”. 신원의 소유권을 가진 주체가 신원에 대한 권리를 가지고 공개 대상과 범위를 선택할 수 있는 개념이다.

SSI가 필요한 이유

  • 인터파크 고객정보 천만건 유출 공격 사례

    2015년 말 발생한 ‘인터파크 개인정보 유출사고’는 인터파크 가입자 1,030만 명의 개인정보가 유출된 대형 보안사고. 개인정보 유출 피해자 2400여명은 민사 소송을 진행, 회원 1인당 10만원의 보상을 지급하는 판결로 끝남.

⇒ 이런 인터넷 개인정보 유출과 신원 도용 사고가 지속적으로 발생, 개인 신원정보를 안전하게 관리하면서 편의성은 높이는 새로운 방식의 신원관리의 필요성이 논의됨.



신원관리 모델 종류

1세대 - 개별 신원 모델(Siloed Identity)

개별 신원 모델은 개별 서비스마다 이용자의 아이디와 패스워드를 저장하고 신원확인 서비스를 제공하는 형태.

  • 신원관리 주체 : 개별 서비스 제공자.
  • 이용자는 각 서비스마다 회원가입을 진행, 각각 ID와 Password 관리가 필요.
    • 서비스별 보안 수준에 따른 신원의 대량 유출 가능성 발생.
    • 서비스별 통일 불가능한 ID 및 Password 정책으로 인해 이용자의 관리가 어려움.
    • 각각 서비스 마다 ID, Password 형태가 달라서 이용자 편의성 떨어짐.

2세대 - 연합형 신원 모델(Federated Identity)

2세대 연합형 신원모델은 구글과 카카오 같은 연합신원을 제공하는 기업이 신원확인 서비스를 제공하는 모델.

  • 신원관리 주체 : 중앙화된 연결 서비스 제공자(ex. 구글, 카카오, 메타).
  • 이용자는 스스로 선택한 신원관리 서비스 제공자를 통해 ID, Password 관리.
    • 신원관리 주체인 증앙화된 연결 서비스는 로그인(OpenID, Oauth) 제공.
    • 개인 정보를 이용하고자하는 다른 개별 서비스에 서비스를 제공한다.

3세대 - 자기 주권 신원 모델(Self-Sovereign Identity)

자기 주권 신원은 개인이 디지털 상의 신원주권을 가지게 될 때, 개인정보를 자신 스스로 소유하는 개념.

개인은 개인정보 발급 내역만 블록체인 같은 분산원장에 기록하고, 특정 상황에서 개인정보가 필요하면 개인정보 발급자(Issuer)에게 개인의 신원을 증명할 신원정보를 받아 검증자(verifier)에게 신원정보를 공유할 수 있는 모델.

  • 신원관리 주체 : 사용자 개인.
  • 개인이 필요로 할 때 자신의 신원정보를 생성하여 제공 가능.
    • 제3의 신원관리 주체 없이 안전하고, 편리하게 개인 신원정보 사용 가능.
    • But, 본인이 데이터에 대한 주권을 가지게 된다는 것은 데이터에 대한 챙김과 의무가 강화됨.
      • 예를 들어 비밀번호 분실시에 복구 불가능. 플랫폼 서버에 저장된 개인정보를 통해 필요하면 신원을 인증하여 비밀번호 재발급 받는 것이 불가능. SSI에서는 자신의 신원 정보에 대한 최고 접근자가 개인(본인)이라 복구 방법이 없음.
      • 예시; A의 대학졸업증명서 발급 시나리오.
        1. 대학 졸업 증명서는 분산원장에 저장됨. 대학(신원정보발행자, Issuer)에 자신의 신원증명정보(DID)를 주고 대학졸업증명서(VC)를 받는다.
        2. 대학(Issuer)는 당사자(A)에게 받은 신원증명정보와 분산원장에 저장된 대학졸업증명서의 소유자 정보가 일치하는지 확인.
        3. 일치하면 당사자(A)에게 대학졸업증명서 발급.
        4. A는 해당 서류 제출을 요구하는 회사(Verifier)에 졸업증명서(VP)를 제공하면서, 졸업증명서의 소유자임을 증명하는 정보도 같이 제공.
        5. 회사(Verifier)는 A가 제공한 졸업증명서의 소유자의 진위 여부를 분산원장에 저장된 정보를 통해 검증. 이런 과정을 통해 A는 졸업증명서를 제출하고, 진위여부를 판별 받음.


각 세대별 인증 방식 비교

세대 1세대 인증 2세대 인증 3세대 인증
방식 중앙화 하이브리드 탈중앙화
내용 서비스 제공자가 ID, Password 기반으로 저장 제3자가 OAuth 기반으로 제공 블록체인 기반으로 사용자가 소유
인증서 보관장소 서비스 서버 제3자 서버 사용자 지정
예시 기존 일반 웹사이트 메타, 카카오톡, 구글 로그인 개발중
장점 단순함 일괄 관리 가능 자기 주권, 해킹 등의 대량 정보 유출건 없음
단점 해킹 등의 정보 유출 위협 해킹 등의 정보 유출 위협, 특정 플랫폼에 종속 초기 설정이 어려움

SSI 구성 요소

DIDs(Decentralized Identifier; 탈중앙화 식별자)

DIDs는 검증가능하고 탈중앙화된 디지털 신원을 위한 신식 식별자. 누구나 DID 메소드를 통해 자신의 주소 생성이 가능하고, DID는 주소이면서 마스터키를 활용하여 만들 수 있다. 예를 들면 ID 및 Password로 생각.


DID Auth(DID Authentication)

DID 소유자가 개인키를 지닌 것을 간단히 인증할 수 있는 방법을 다룬다. DID를 이용한 인증법에 대한 표준화는 DIF(Decentralized Identify Foundation)에서 진행.


DKMS(Decentralized Key Management System; 탈중앙 키관리 시스템)

신원 증명에 사용하는 개인키를 어떤 방식으로 관리할 것인지에 대해 다룸.


Verifiable Credentials(검증가능한 크레덴셜)

아이디의 소유자가 어떤 것을 할 수 있는 자격을 갖췄다는 것을 검증하는 방법을 다룸.



SSI 구현을 위한 요소

1. Issuer(발행자); 발행자

Issuer(발행자)는 신원정보를 발급하는 주체. Verifiable Credential(검증가능한 크레덴셜; VC)을 발행하는 주체로, 정보주체의 요구에 의해서 신원정보와 DID를 발급하는 기관. 발행자는 발급한 정보에 대해 신뢰할 수 있는 신원정보를 전달한다.


2. Holder(소유자); 자격증명 소유자

Holer(소유자)는 신원정보를 소유한 주체. 정보주체로 DID를 활용하여 본인의 신원을 증명하고자 하는 사용자. 시스템에서는 DID를 발급 및 제출.


3. Verifier(검증자); 자격증명 검증자

Verifier(검증자)는 신원정보를 검증하는 주체. 정보 주체인 Holder로부터 Verifiable Presentation(검증가능한 프레젠테이션; VP)을 받아 신원정보를 검증하는 주체.

DID로 신원 확인 후, 검증자는 이 신원정보가 발급기관인 Issuer가 발급한 유효 신원정보인지 검증데이터 저장소를 통해 검증함.


4. Verifiable Data Registry(검증데이터 저장소); 블록체인 등의 분산저장소

정보주체의 식별자와 Issuer(발급기관)의 인증서, 신원증명 해지내역, 신원증명 스키마 등이 등록된 분산원장 기반의 데이터 무결성이 확보된 저장소. Verifiable Data Registry(검증데이터 저장소)는 반드시 블록체인일 필요는 없다. Holder, Issuer, Verifier가 합의한 분산원장이면 사용 가능.