피드로 돌아가기
Dev.toSecurity
원문 읽기
Zero-Knowledge 모델 기반의 서버 무신뢰 E2EE 팀 시크릿 동기화 구현
Peer-to-Peer Secrets: How We Built Client-Side E2E Team Sync Without Server Trust
AI 요약
Context
기존의 .env 파일 공유 방식과 중앙 집중식 Secret Manager는 평문 노출 및 서버 신뢰 의존성이라는 보안 취약점을 보유함. 서버 침해 시 모든 프로덕션 키가 유출되는 구조적 한계를 극복하기 위해 서버가 데이터를 복호화할 수 없는 설계가 필요함.
Technical Solution
- 서버를 단순한 암호화 블롭 전달자로 정의한 Untrusted Server Architecture 설계
- NaCl Curve25519 기반의 비대칭 키 쌍을 생성하여 Private Key를 로컬 OS 키체인에 격리
- Diffie-Hellman Handshake를 통한 세션별 고유한 Workspace Master Key 생성
- NaCl crypto_box_seal을 활용하여 수신자 공개키 기반의 Asymmetric SealedBox 암호화 적용
- 전송 과정에서 평문 데이터가 네트워크나 DB에 노출되지 않는 Zero-Knowledge 동기화 구현
- 암호화 메타데이터 해시 비교를 통한 Credential Drift 탐지 및 자동 동기화 로직 구축
실천 포인트
- Secret 관리 도구 선택 시 서버 측 복호화 가능 여부를 확인하여 Trust Boundary 설정 - 민감 데이터 전송 시 SealedBox와 같은 비대칭 암호화 프라이머티브 도입 검토 - 로컬 OS 키체인을 활용한 Private Key 격리 저장소 구현 여부 확인 - 버전 관리된 암호화 해시를 통한 환경별 설정 동기화 상태(Drift) 점검 체계 구축