- あなたのデバイス
- 暗号化された保存領域
- 受取人の端末
アップロード前に暗号化
ウェブサイトはブラウザーのWeb Crypto APIを使い、ファイルとファイル名をAES-256-GCMで暗号化します。共有ごとに新しいランダムな鍵を作成します。サーバーが受け取るのは暗号化されたデータ、暗号化されたメタデータ、アクセス用・取り消し用トークンのハッシュです。
リンクとコードでファイル鍵を解除
ファイルごとに新しい120ビットのランダムな秘密値を作成します。Oveileは6桁のアクセスコードを生成し、そのハッシュだけを保存します。新しいリンクは#以降の部分に、このコードで暗号化したファイルの秘密値を含みます。この部分はHTTPリクエストで送信されません。ブラウザーが端末内で秘密値を解除し、HKDFでファイル暗号鍵と別のダウンロードトークンを導出します。生の鍵を含む旧形式のリンクと完全な32文字のコードも引き続き対応しています。
有効期限と取り消しで利用を制限
1時間、24時間、7日間から選べます。期限が切れると直ちに利用できなくなり、定期的な整理で削除します。アップロード後のボタン、または任意で受け取る控えのメール内の取り消しリンクで、期限前に共有を取り消せます。
必要なら開封は1回だけ
初回開封後の削除を有効にすると、Oveileからのダウンロードを1回だけ許可し、保存した共有を削除します。受取人は受け取った内容を保存、コピー、撮影できます。この設定では、別の端末にあるコピーを消去できません。
任意のメールに復号鍵は含めません
安全な受け渡しを完了するため、受取人メールアドレスを暗号化された共有とともに保存します。受取人の表示に使うもので、本人確認は行いません。控え、受取人への通知、開封通知は別途依頼できます。通知に復号鍵やアクセスコードは含まれません。専用リンクとコードはご自身で共有してください。
保護の限界を知る
6桁のコードは二要素認証ではありません。新しい専用リンクを入手した人はオフラインでコードを推測できるため、両方を非公開にしてください。旧形式のリンクや完全な旧形式コードはファイル鍵を直接含みます。端末やブラウザーが侵害されると鍵が漏れる可能性があります。Oveileは失われた鍵の復元や、受取人によるコピーの保管の防止はできません。
API連携における明確な例外
ウェブサイトとクライアント側APIモードはアップロード前に暗号化します。任意のサーバー側暗号化APIはTLS経由で平文を受け取るため、暗号化前のリクエスト処理中にサーバーがファイルを参照できます。サーバーに原本を一切送信できない場合は、クライアント側暗号化を使ってください。