본문으로 건너뛰기
HexaTransfer
블로그로 돌아가기
암호화 및 보안

제로 트러스트 파일 공유: 아무도 신뢰하지 말고 모든 것을 암호화

제로 트러스트 보안 원칙을 파일 공유에 적용하세요. 모든 네트워크를 적대적으로 가정하는 것이 더 나은 암호화로 이어지는 이유.

제로 트러스트 파일 공유는 네트워크가 적대적이고, 서버가 침해되었으며, 수신자 기기가 감염되었을 수 있다고 가정한 뒤 그에 맞게 암호화합니다. 파일은 발신자 브라우저에서 AES-256-GCM으로 암호화된 후에야 단 한 바이트도 전송선에 오릅니다. 키는 비밀번호와 URL 프래그먼트에 저장된 솔트로부터 파생되며, 서버는 불투명한 암호문만 취급합니다. 이것이 NIST SP 800-207에 명문화된 운용 모델, 즉 파일 전송에 적용된 "명시적 검증, 최소 권한, 항상 침해 가정"입니다.

설계를 이끄는 세 가지 전제

제로 트러스트는 세 가지 전제에서 출발합니다. 첫째, 전송 경로가 침해되어 있습니다. 기업 프록시는 TLS 검사를 수행하고, 카페 Wi-Fi는 ARP 스푸핑을 실행하며, 국가 수준의 백본 감청은 2013년 Snowden 문서로 확인됐고 Bloomberg의 2024년 보도에 따르면 여전히 운용 중입니다. 둘째, 서버가 침해되어 있습니다. 클라우드 제공사는 침해당하고 관리자는 악용될 수 있으며 압수수색 영장은 조용히 도착합니다. 셋째, 수신자 기기가 감염되어 있을 수 있습니다. 이 세 가지 전제에서 모든 설계 결정이 흘러나옵니다.

클라이언트 사이드 암호화: 첫 번째 원칙

서버가 평문을 볼 수 있다면 제로 트러스트가 아닙니다. 모든 것은 발신자 브라우저의 Web Crypto API에서 시작됩니다. 256비트 키를 생성하고, PBKDF2 60만 회 반복으로 비밀번호에서 키를 파생하며, AES-256-GCM으로 파일을 암호화한 뒤에야 암호문을 서버로 스트리밍합니다. Firefox Send는 Mozilla가 2020년 서비스를 종료하기 전까지 소비자 규모에서 이 방식이 작동함을 증명했습니다. HexaTransfer, Wormhole, Skiff 같은 현대적 서비스들이 이 패턴을 이어받고 있습니다. 서버는 자신이 읽을 수 없는 바이트만 보유합니다.

키 재료는 엔드포인트를 벗어나지 않는다

복호화 키는 서버를 거치지 않고 수신자에게 전달되어야 합니다. 두 가지 메커니즘이 작동합니다. 첫 번째는 URL 프래그먼트 트릭입니다. 키는 다운로드 URL의 # 이후에 위치하며, 브라우저는 이 부분을 HTTP 요청에 포함하지 않습니다. 두 번째는 비밀번호 파생 키입니다. 발신자가 별도 채널(Signal, 전화, 1Password Psst!)로 수신자에게 비밀번호를 전달하면 수신자 브라우저가 키를 재파생합니다. 두 방식 모두 키 재료를 서버 로그, CDN 캐시, 데이터베이스 백업에서 차단합니다.

브라우저에서 실행되는 코드 검증

클라이언트의 제로 트러스트는 서버보다 어렵습니다. 서버가 암호화를 수행하는 JavaScript를 제공하기 때문입니다. 악의적인 서버는 특정 사용자를 노린 백도어 번들을 전송할 수 있습니다. 대응책: 모든 릴리스의 SHA-384 해시를 게시하고 Sigstore 또는 PGP 키로 서명하며, Code Verify(Meta가 WhatsApp Web에 제공)같은 브라우저 익스텐션으로 검증합니다. script-src 'self'와 Subresource Integrity를 적용한 CSP 헤더는 손상된 CDN으로부터의 삽입을 차단합니다. 완벽하지는 않지만 공격 표면을 좁혀 줍니다.

저장된 공유 비밀 없는 인증

이메일로 전송하고 서버 데이터베이스에 저장된 비밀번호는 제로 트러스트의 정반대입니다. 수신자 기기에 바인딩된 WebAuthn 패스키로 대체하면 개인 키는 보안 영역을 벗어나지 않으며, 서버는 공개 키만 보유합니다. 일회성 전송에는 OPAQUE(RFC 9380)를 사용하면 비밀번호를 서버 측에서 전송하거나 저장하지 않고 인증할 수 있습니다. 사전 검증된 이메일 주소로 전송하는 매직 링크는 중간 지점을 제공합니다. 토큰의 엔트로피(128비트)가 저장된 비밀의 필요를 대체합니다.

민감도에 따른 전송 구분

모든 파일이 같은 수준의 제어를 받을 필요는 없습니다. 발신자가 업로드를 분류할 수 있어야 합니다: 공개(비밀번호 없음, 7일 만료), 내부(비밀번호, 48시간 만료), 기밀(비밀번호 + 2FA, 4시간 만료, 단일 다운로드), 제한(패스키 + IP 바인딩, 15분 만료). 파일 유형에 따라 자동 분류도 가능합니다. NIST SP 800-171은 이를 통제된 비분류 정보 처리로 명시합니다. 한국 정보보호 관리체계(ISMS-P) 인증 기준도 정보 자산의 등급 분류를 요구합니다.

법적 현실과의 접점

제로 트러스트도 수사기관 요청을 면제해 주지는 않습니다. 달라지는 것은 제출할 수 있는 내용입니다. 복호화할 수 없는 암호문, 역추적 불가능한 IP 해시, 어느 슬러그에 누가 접근했는지의 로그가 전부입니다. 유효한 영장을 충족하면서도 대규모 감시로부터 사용자 데이터를 보호하기에 충분합니다. 요청 건수와 응답률을 보여주는 투명성 보고서를 게시하고, 개인정보 처리 방침에 데이터 최소화 방식을 명시하십시오.

hexatransfer.com에서 사용해 보세요 — 무료, 계정 불필요, 최대 10GB.

엔드투엔드 암호화로 대용량 파일을 안전하게 전송

엔드투엔드 암호화로 최대 10GB의 파일을 무료로 전송하세요. 계정이 필요하지 않습니다. 업로드 전에 브라우저에서 파일이 암호화되어 다른 사람은 읽을 수 없습니다.

파일 보내기