보안 및 시스템 구조
Revault가 파일을 보호하는 방법과 보호가 끝나는 곳.
Next.js PWACloudflare WorkerPostgreSQL · R2계정 설정
패스키로 계정을 만드세요. 이메일이나 비밀번호가 필요하지 않습니다.
패스키는 계정 접근을 증명하지만 보관함을 열지는 않습니다. 서버는 공개 키를 보관하며, 세션 토큰은 HttpOnly 및 SameSite 쿠키에 봉인됩니다.
탭을 닫거나 새로고침하면 로그아웃됩니다. 새 탭에서는 보관함 목록을 표시하기 전에 패스키와 보관함 패턴이 필요합니다.
보관함 패턴
패턴과 무작위 256비트 비밀값으로 PBKDF2-SHA256(600,000회)을 통해 래핑 키를 파생합니다. 비밀값은 이 브라우저에 남고, 서비스는 암호화된 마스터 키만 받습니다.
이 패턴은 이 기기만 잠금 해제합니다. 다른 기기를 설정하려면 복구 키를 보관하세요.
업로드 전 암호화됨
각 보관함에는 무작위 AES-256-GCM 마스터 키가 있습니다. 이름과 폴더 구조는 암호화됩니다. 파일은 업로드 전에 크기가 제한된 Tink AES-GCM-HKDF 스트리밍 구간으로 암호화됩니다.
이름, 미리보기, 파일 내용은 암호화됩니다. 개수, 크기, 타임스탬프는 서비스에 계속 표시됩니다.
저장 및 업로드
Next.js PWA는 동일 출처 API 프록시를 사용합니다. Cloudflare Worker는 세션과 소유권을 확인합니다. PostgreSQL은 계정과 암호화된 메타데이터를, R2는 암호화된 파일 청크를 저장합니다.
브라우저 저장 공간을 비우거나 제거할 수 있습니다. 이 브라우저 외부에 암호화된 백업을 보관하세요.
복구 키 저장
브라우저 데이터를 지우면 기기 비밀값이 삭제됩니다. 패스키로 로그인한 뒤 복구 키를 사용해 새 패턴을 선택하세요.
암호화된 백업에는 기기 비밀값이 포함되지 않습니다. 패턴으로 보호된 보관함을 복원하려면 복구 키를 사용하세요. 이전 보관함은 원래 암호문구를 계속 사용할 수 있습니다.
복구 키트에는 복구 비밀과 키 래퍼가 포함되어 있지만 파일은 포함되어 있지 않습니다. 여전히 암호화된 클라우드 복사본이나 자체 포함된 암호화 백업이 필요합니다.
보안 안내
패턴의 조합 수는 적습니다. 누군가 기기 비밀값을 복사하면 오프라인에서 패턴을 시도할 수 있습니다.
기기 패턴을 변경해도 다른 기기나 이전 복구 키는 해제되지 않습니다. 암호화 키가 유출되면 파일을 새 보관함으로 옮기세요.
암호화는 저장된 콘텐츠를 보호합니다. 개체 수, 크기, 타임스탬프 및 계정 연결은 계속 표시됩니다. 손상된 장치 또는 프런트엔드는 잠금 해제된 데이터를 노출할 수 있습니다. Revault는 독립적인 프로젝트이며 독립적인 보안 감사를 받지 않았습니다.