[Blockchain] 자기주권 신원 모델 (SSI, Self Sovereignty Identity)
SSI / DID / OAuth
SSI (Self Sovereignty Identity, 자기 주권 신원)
-
신원증명이 필요한 서비스를 이용할 때,
-
인증정보를 제3자에게 맡기는 것이 아닌 사용자가 직접 관리하도록
-
데이터 ‘주권을 사용자에게’ 가져다주는 것
-
스스로가 독립적인 권한을 가진 신원, ‘자신이 스스로 부여한 신원’이다
-
신원의 소유권을 가진 주체가 👉 신원에 대한 권리를 가지고 공개 대상과 범위를 선택할 수 있다
DID (Decentralized Identity, 탈중앙 신원증명)
DID는 기존의 중앙화된 인증방식에서 벗어나 탈중앙화 방식의 신원 증명을 통해
자기 자신이 신원증명에 대한 권한을 갖도록 하겠다는 ‘SSI 개념을 현실화’하기 위해 사용된다
SSI가 형성되기 위한 요소
1. DID (Decentralized identifier, 탈중앙화 식별자)
- 누구나 DID 메소드로 자신의 주소를 만들 수 있으며, DID는 주소이면서 마스터키를 활용하여 만들 수 있다
2. DID Auth (DID Authentication)
- 아이디 소유자가 개인키를 가지고 있다는 것을 간단히 인증할 수 있는 방법을 다룬다
3. DKMS (Decentralized Key Management System, 탈중앙 키관리 시스템)
- 신원을 증명하는데 사용하는 개인키를 어떻게 관리할 것인가를 다룬다
4. Verifiable Credentials (검증가능한 크레덴셜)
- 아이디의 소유자가 어떤 것을 할 수 있는 자격을 갖추었음을 검증하는 방법을 다룬다
SSI를 구성하기 위한 요소
- Issuer(발행자) 👉 발행자
- Holder(소유자) 👉 자격증명 소유자
- Verifier(검증자) 👉 자격증명 검증자
- Verifiable data Registry(검증데이터 저장소) 👉 블록체인 등 분산저장소
1세대 - 개별신원모델 (Siloed Identity)
-
여러 인터넷 사이트마다 아이디 & 비밀번호를 발급 받아 사용하는 모델
-
아이디 & 비밀번호가 분실되면 번거롭다
-
여러 사이트에 ‘동일한’ 아이디 & 비밀번호를 사용한다면 개인 정보 위험이 증가한다 (신원 유출 가능성)
비밀번호 설정 중에 최소한 알파벳 대문자와 숫자와 특수기호가 포함되어야 하는 조건을 가지고 있으면 다른 사이트와는 다른 형태의 비밀번호를 만들어야 한다 👉 이용자의 편의성이 떨어진다
- 개인이 개별 사이트 아이디 & 비밀번호 관리해야 함
- 개별 서비스 제공자 정보보호의무 가중 / 천문학적 비용 발생
- 개인정보 유출 우려
2세대 - 연합 신원 모델 (Federated Identities)
-
기존 소셜 미디어 계정으로 다른 사이트에 로그인하는 방식이다
-
‘OAuth’ 와 같은 기반으로 중앙화된 연결 서비스제공자 (구글, 카카오, 페이스북)
-
특정 서비스에 개인 정보가 ‘집중’되어 개인정보 유출시 위험이 상당하다
- 사용자의 편의성은 좋다 🔺
- 글로벌 기업의 개인정보 독점적 확보 (구글 / 아마존 / 페이스북)
- 사용자 개인정보의 대한 권리 주장 어려움
- 개인정보가 독점되고 계속하여 유출 위험성 존재
3세대 - 자기주권 신원 모델 (SSI, Self Sovereignty Identities)
-
개인 정보를 사용자가 직접 본인의 단말기로 관리한다
-
단말기 분실시 위험할 수 있다
- 신원이 분산 관리되어, 가용성과 무결성이 높음 🔺
- 통합된 분산원장 관리가 가능하다면 확정성이 더 높음 🔺
- 신원확인 정보를 블록체인에 공유하여 신원확인이 필요한 서비스를 활용할 때 사용
- 비밀번호를 잃어버렸을 경우, 다시 찾기 어려움