피드로 돌아가기
Dev.toSecurity
원문 읽기
개인 데이터 수집 없이 BIP-39 시드 프레이즈와 Ed25519 키쌍을 활용해 완전 익명의 인증 시스템 구축
Building Authentication Without Collecting Any Personal Data
AI 요약
Context
기존 인증 시스템은 이메일, 전화번호, 비밀번호 같은 개인정보를 데이터베이스에 저장하므로 데이터 유출 시 사용자의 실명 정보가 노출되는 근본적 문제가 있다.
Technical Solution
- BIP-39 표준을 사용해 128비트 엔트로피를 12개 영어 단어로 생성: 각 단어는 11비트 정보를 인코딩하며 ~128비트 보안 수준 제공
- 시드 프레이즈에서 HMAC-SHA-256과 도메인 분리 태그를 사용해 Ed25519 32바이트 개인키 유도: 동일한 시드로도 애플리케이션별 다른 키 생성
- 12개 단어 각각을 SHA-256으로 해싱해 클라이언트에서 서버로 전송하기 전에 처리: 원본 단어는 브라우저에만 유지
- 로그인 시 3개 랜덤 위치의 단어만 입력받는 챌린지 방식 도입: 전체 시드 프레이즈 노출 위험 감소
- 등록 후 저장되는 데이터를 익명 사용자명, 공개키, 해시된 단어 목록으로 제한: 개인식별이 가능한 정보 완전 제거
Key Takeaway
개인정보를 아예 수집하지 않는 설계 전환을 통해 데이터 유출, 비밀번호 재설정 공격, 이메일 피싱 등 전체 위협 벡터를 제거하는 것이 가능하며, 암호화폐 지갑에서 검증된 BIP-39·Ed25519 같은 배틀테스트된 암호 기초 위에서 구현 가능하다.
실천 포인트
프라이버시 중심의 웹 애플리케이션이나 익명 플랫폼을 개발할 때 BIP-39 니모닉 기반 인증과 Ed25519 키쌍을 적용하면, 데이터베이스 유출 시에도 사용자의 실명 정보와 연결된 개인식별 정보가 전혀 노출되지 않으며 비밀번호 찾기 공격 표면도 완전히 제거할 수 있다.