개요
SSI(Self-Sovereign Identity)는 사용자가 자신의 신원 정보를 직접 관리하고 증명하는 탈중앙화 신원 인증 시스템입니다. 중앙 기관에 의존하지 않고 5요소를 제시하여 신원을 증명합니다.
핵심 원리: "내 신원은 내가 증명한다" - 데이터 주권을 사용자에게 반환
등록 프로세스
신분증 해싱
→
계층 저장
→
발행자 서명
→
완료
- 신분증 해싱: 신분증 원본을 SHA-256으로 해시 처리
- 계층 저장: 확률적 계층 선택에 따라 해시값 저장
- 발행자 서명: 정부 기관이 디지털 서명 첨부
신원 증명 5요소
신원 확인 시 다음 5가지 요소를 모두 제시해야 합니다.
| # | 요소 | 설명 |
|---|---|---|
| 1 | 신분증 원본 | 검증자에게 직접 제시 |
| 2 | 발행자 서명 | 정부 기관의 디지털 서명 |
| 3 | 해시값 | 신분증의 SHA-256 해시 |
| 4 | 계층/노드 정보 | 저장된 계층 및 노드 ID |
| 5 | 저장 시각 | 등록 타임스탬프 |
검증 과정
// 검증 알고리즘
function verifyIdentity(document, signature, hash, layer, timestamp) {
// 1. 해시 일치 확인
if (SHA256(document) !== hash) return false;
// 2. 서명 유효성 확인
if (!verifySignature(hash, signature, issuerPublicKey)) return false;
// 3. 계층 저장 확인
if (!checkLayerStorage(hash, layer, timestamp)) return false;
return true; // 신원 확인 완료
}
프라이버시 보호
선택적 공개
필요한 정보만 선택적으로 공개 가능
영지식 증명
정보 노출 없이 조건 충족 증명
해시 저장
원본이 아닌 해시만 체인에 저장