
패스키 기반 파일 암호화 및 공유를 위한 오프라인 오픈소스 웹 앱. AES-256-GCM/HPKE, 클라우드 없음, 계정 없음; 공개 Share Keys로 수신자에게 암호화하세요.
FileKey는 패스키를 사용하여 파일을 빠르게 암호화하고 공유할 수 있는 오프라인 웹 앱입니다. 계정도, 추적도, 클라우드도 없습니다.
🛡️ FileKey는 무료이며 오픈 소스이고 프라이버시를 최우선으로 합니다. filekey.app 에서 서비스 중입니다.
FileKey 생성
비밀번호 관리자나 보안 키(iCloud 키체인, Google Password Manager, 1Password, YubiKey 등)에 저장할 패스키를 생성합니다.
파일 암호화
FileKey에 파일(또는 전체 폴더)을 끌어다 놓습니다. AES-256으로 즉시 암호화되어 name.filekey로 저장됩니다.
파일 복호화
암호화된 파일을 다시 끌어다 놓습니다. 패스키가 로컬에서 안전하게 잠금을 해제합니다.
비공개 공유
파일을 상대방의 공유 키(Share Key)로 암호화하거나(그들만 열 수 있음), "파일을 보내 주세요" 링크를 공유하여 누구에게나 암호화된 파일을 받을 수 있습니다.
복구 코드 저장
선택적으로 일회용 복구 코드를 저장하여 패스키를 분실하더라도 파일에 다시 접근할 수 있습니다.
FileKey에는 WebAuthn PRF 확장을 지원하는 패스키 제공자가 필요합니다: 호환되는 비밀번호 관리자(Apple Passwords, Google Password Manager, 1Password 등) 또는 FIDO2 하드웨어 보안 키(YubiKey 5 / Bio 시리즈). 브라우저와 OS도 WebAuthn + PRF를 지원해야 합니다. 완전하지 않은 호환성 표:
⚠️ 참고:
- 제공자는 WebAuthn PRF 확장을 구현해야 합니다. 지원 여부는 앱과 버전에 따라 다르므로, 어떤 관리자가 아직 작동하지 않는다면 PRF를 아직 출시하지 않았을 가능성이 높습니다.
- Chromium 기반 브라우저(Brave, Vivaldi, Opera)는 일반적으로 작동합니다.
- Windows 10 및 이전 버전은 PRF를 지원하지 않습니다.
FileKey는 패스키에서 암호화 ID를 파생합니다. FileKey를 생성하면 신뢰 당사자(relying party)로 앱의 도메인(filekey.app)에 패스키가 등록됩니다. 인증은 고정 입력에 대해 패스키의 PRF 확장을 실행하여 기기를 절대 떠나지 않는 결정적 비밀 값을 생성합니다. 이 비밀 값은 HKDF-SHA-256을 통해 장기 ID 키 쌍으로 파생되므로, 동일한 패스키는 항상 동일한 ID를 재현하며 패스키 자체 외에는 아무것도 저장할 필요가 없습니다.
파일은 HPKE(혼성 공개 키 암호화, RFC 9180)의 Auth 모드에서 DHKEM-P256 + HKDF-SHA-256 스위트를 사용하여 암호화됩니다. HPKE는 파일마다 새로운 키를 파생하고, 파일 본문은 스트리밍 방식의 청크 구조로 AES-256-GCM으로 봉인되어 어떤 크기의 파일도 메모리에 완전히 로드하지 않고 암호화/복호화할 수 있습니다. 자신에게 암호화할 때는 자신의 공개 키를 사용하고, 공유할 때는 수신자의 공개 키를 사용합니다. 모든 작업은 감사된 암호화 라이브러리를 통해 전적으로 사용자 기기에서 실행됩니다.
🛡️ 패스키가 유일한 자격 증명입니다. 저장할 다른 것은 없으며, 어떤 것도 기기를 떠나지 않습니다.
모든 FileKey 사용자는 고유한 공유 키(Share Key)를 가지고 있습니다. "내 공유 키(Your Share Key)" 아래 메뉴에서 찾을 수 있는 긴 공개 문자열입니다. 공개적으로 공유해도 안전합니다. 비밀이 아닌 공개 주소입니다.
name.shared.filekey 파일을 생성합니다. 이메일, 메시지, 파일 전송 등 어떤 방법으로든 보내면 됩니다..shared.filekey 파일을 끌어다 놓습니다."파일을 보내 주세요" 링크(사용자의 공유 키가 포함됨)를 공유하세요. 누구나(계정이나 패스키 없이) 브라우저에서 바로 파일을 사용자에게 암호화한 다음 결과를 보낼 수 있습니다. 오직 사용자만 열 수 있습니다.
사용자의 ID는 패스키에서 비롯되므로 패스키를 분실하면 일반적으로 접근 권한을 잃게 됩니다. FileKey는 ID를 백업하는 24단어 문구(BIP39)인 선택적 복구 코드를 제공합니다. 한 번 저장하고 안전한 곳에 보관하면 나중에 접근 권한을 복원할 수 있습니다.
FileKey에는 자체 포함된 오프라인 복구 도구(recover.html)도 포함되어 있습니다. 디스크에 보관할 수 있는 단일 HTML 파일입니다. 복구 코드만 있으면 FileKey 웹사이트가 사라지더라도 .filekey 파일을 완전히 오프라인에서 복호화할 수 있습니다.
두 가지 안전망이 있습니다:
FileKey를 열고 주소 표시줄의 설치 아이콘을 클릭한 다음 확인합니다. 독립형 오프라인 앱으로 열립니다.
Safari에서 FileKey 열기 → 공유 탭 → 홈 화면에 추가 → 추가.
FileKey 열기 → 홈 화면에 추가(배너 또는 ⋮ 메뉴) 탭 → 확인.
FileKey는 백엔드가 없는 정적 사이트이므로 직접 호스팅할 수도 있습니다(아래 참조).
FileKey는 Bun으로 빌드된 정적 사이트입니다:
cd reference
bun install
bun test # crypto-core tests
bun run build:web # build the app
bun run serve # serve it locally
빌드 출력물은 일반 정적 파일입니다. 어떤 정적 호스트나 자체 서버에서도 호스팅할 수 있습니다.
자체 호스팅 참고: 패스키 신뢰 당사자 ID(RP-ID)는 등록 가능한 도메인(호스트의 마지막 두 레이블)으로 파생됩니다. FileKey를 자체 에이펙스(apex) 또는 서브도메인(예:
files.example.com→ RP-IDexample.com)에 호스팅하세요. 등록 가능한 도메인이 공개 접미사(public suffix)인 호스트(예:you.github.io, 브라우저가github.io를 RP-ID로 거부함)에서는 작동하지 않으므로 사용자 지정 도메인을 사용하세요.
FileKey 1.1은 새롭고 표준 기반의 형식을 사용하며, 원래 FileKey로 만든 파일은 열 수 없습니다. 이전 파일은 동일한 패스키로 v1.filekey.app 에서 계속 열 수 있으며, FileKey가 해당 파일을 감지하면 자동으로 연결해 줍니다. 원본 v1 소스는 v1 브랜치에 있습니다.
🔒 filekey.app – 앱
📜 Substack – 블로그
💬 Signal 그룹 – 문의하기
| 플랫폼 | 패스키 제공자 | 참고 |
|---|
| macOS | Apple Passwords, 1Password, YubiKey | Safari ≥ 17 또는 Chrome ≥ 112. YubiKey는 Safari에서 작동하지 않을 수 있습니다. |
| iOS / iPadOS | Apple Passwords, 1Password | Safari ≥ 17 또는 Chrome ≥ 112. |
| Windows | 1Password, YubiKey | Edge ≥ 112 또는 Chrome ≥ 112. Windows 11 필요. |
| Android | Google Password Manager, 1Password, YubiKey | Chrome ≥ 112. |
| Linux | YubiKey (브라우저 경유) | 최신 Chrome / Chromium 브라우저. |