피드로 돌아가기
I Built a Zero-Knowledge Encrypted Messenger That Runs Entirely in Your Browser — No Account, No Phone, No Install
Dev.toDev.to
Security

Argon2id와 AES-256-GCM 기반 Zero-Knowledge 브라우저 메신저 구현

I Built a Zero-Knowledge Encrypted Messenger That Runs Entirely in Your Browser — No Account, No Phone, No Install

Nulkratos2026년 5월 4일7advanced

Context

기존 프라이빗 메신저의 전화번호 기반 식별자 의존성과 서버 측 데이터 보관 문제를 해결하려는 목적. 계정 생성과 앱 설치 없이 브라우저 환경에서 완전한 익명성과 End-to-End Encryption을 보장하는 아키텍처 설계 요구.

Technical Solution

  • Argon2id를 통한 Memory-hard 키 유도 방식으로 저엔트로피 PIN의 무차별 대입 공격 비용 증대
  • AES-256-GCM 기반 인증 암호화 적용으로 데이터 무결성 보장 및 Ciphertext 변조 방지
  • HKDF Ratchet 구조 설계를 통한 메시지별 개별 키 생성으로 Forward Secrecy 구현
  • Random Chaff Injection 기법을 통해 전송 계층의 트래픽 분석 및 대화 패턴 노출 차단
  • Timestamp Blinding 기술로 메시지 저장 시 ±90초의 랜덤 오프셋을 부여하여 시간 상관관계 공격 무력화
  • WebCrypto API를 활용한 Client-side 전용 암호화 처리로 서버의 Plaintext 접근을 원천 차단

1. 저엔트로피 비밀번호 사용 시 Argon2id와 같은 Memory-hard 함수로 연산 비용 강제 검토

2. 단순 암호화를 넘어 트래픽 패턴 분석 방지를 위한 Chaffing 및 Blinding 기법 고려

3. Forward Secrecy 확보를 위해 HKDF 기반의 키 래칫 구조 도입 검토

4. 브라우저 네이티브 WebCrypto API를 활용한 클라이언트 사이드 보안 강화

원문 읽기