コンテンツへスキップ
HexaTransfer
ブログへ戻る
暗号化とセキュリティ

ゼロトラストファイル共有:誰も信用せず全てを暗号化

ゼロトラストセキュリティ原則をファイル共有に適用。すべてのネットワークを敵対的と仮定することがより良い暗号化につながる理由。

ゼロトラストファイル共有はネットワークが敵対的であり、サーバーが侵害されており、受信者のデバイスが感染している可能性があることを前提とし、それに応じて暗号化します。ファイルは送信者のブラウザで AES-256-GCM により暗号化されてからバイトが送信され、鍵は URL フラグメントに保存されたパスワードとソルトから導出され、サーバーは不透明な暗号文のみを扱います。これが NIST SP 800-207 をファイル転送に適用した動作モデルです。明示的に検証し、最小権限を付与し、あらゆる層で侵害を想定します。

設計を駆動する3つの前提

ゼロトラストは3つの前提から始まります。第1に、トランスポートが侵害されていること。企業プロキシは TLS インスペクションを実施し、カフェの Wi-Fi は ARP スプーフィングを実行し、国家規模のバックボーンタップが存在します(2013年のスノーデン事件で記録、2024年のブルームバーグの報道でも現役)。第2に、サーバーが侵害されていること。クラウドプロバイダーは侵害されます( AWS 2019年、 Microsoft 2023年)、管理者が不正行為を行い、召喚令状が静かに届きます。第3に、受信者のデバイスが感染している可能性があること。従業員のノートパソコンが古い Chrome を動かし、マルウェアが復号されたファイルを収集します。すべての設計決定はこの3つの前提から導かれます。

第一原則としてのクライアント側暗号化

サーバーがプレーンテキストを見ることができれば、ゼロトラストではありません。すべては送信者のブラウザが Web Crypto API を実行することから始まります。256ビット鍵を生成し、 PBKDF2(60万イテレーション)でパスワードから導出し、 AES-256-GCM でファイルを暗号化し、そしてサーバーに暗号文をストリームします。 Firefox Send は Mozilla が2020年にシャットダウンする前に、これがコンシューマースケールで機能することを証明しました。現代の後継者たち — HexaTransfer 、 Wormhole 、 Skiff — がこのパターンを引き継いでいます。サーバーは読めないバイトを保持します。

鍵素材はエンドポイント外に出ない

復号鍵はサーバーを経由せずに受信者に届く必要があります。2つのメカニズムが機能します。第1に URL フラグメントのトリック:鍵はダウンロード URL の # の後に配置されます。ブラウザはこれを HTTP リクエストで送信しません。第2に、パスワード派生鍵:送信者が別のチャンネル( Signal 、電話、 1Password Psst!)でパスワードを受信者に伝え、受信者のブラウザが鍵を再導出します。どちらもサーバーログ、CDN キャッシュ、データベースバックアップから鍵素材を排除します — 不可避の侵害が起きたときに重要なことです。

ブラウザで実行するコードの検証

クライアント側のゼロトラストはサーバー側より困難です。サーバーが暗号化を行う JavaScript を配信するからです。悪意のあるサーバーが1人のターゲットユーザーにバックドア入りバンドルをプッシュする可能性があります。対策として、すべてのリリースの SHA-384 ハッシュを公開し、 Sigstore または企業 PGP 鍵で署名し、 Code Verify( Meta が WhatsApp Web 向けにリリース)のようなブラウザ拡張機能で上級ユーザーが検証できるよう促します。 script-src 'self' の CSP ヘッダーと Subresource Integrity が侵害された CDN からのインジェクションをブロックします。完璧ではありませんが、攻撃面を狭めます。

保存された共有シークレットなしの認証

メールで送信されサーバーデータベースに保存されたパスワードはゼロトラストの対極にあります。 WebAuthn パスキーに置き換えます。受信者のデバイスにバインドされ、秘密鍵は Secure Enclave から外に出ず、サーバーは公開鍵のみを保存します。一時的な転送には、 OPAQUE(RFC 9380)を使用したパスワード認証が、パスワードをサーバー側で送信も保存もしません。事前に確認されたメールアドレスに送信されるマジックリンクは中間の道を提供します。トークンのエントロピー(128ビット)が保存されたシークレットの必要性に代わります。

機密性による転送のセグメント化

すべてのファイルが同じコントロールを受ける必要はありません。ゼロトラストファイル共有サービスは送信者がアップロードを分類できるようにすべきです。パブリック(パスワードなし、7日有効期限)、社内用(パスワード、48時間有効期限)、機密(パスワード+2FA、4時間有効期限、単一ダウンロード)、機密指定(パスキー+IPバインド+15分有効期限)。可能な場合はファイルタイプで自動分類します。.pdf の確定申告→機密、.docx の契約書→社内用、.psd のマーケティング素材→パブリック。 NIST SP 800-171 はこれをコントロールされていない機密情報の取り扱いと呼び、転送ワークフローに明確に対応します。

受信者のデバイスを信頼しない扱い

Bob が Alice の5MBの法的文書を復号すると、それは彼の Downloads フォルダーに入ります。ノートパソコンが侵害されていれば、ファイルが漏洩します。ゼロトラストの考え方はここにも及びます。受信者に一時的なストレージ( Tails OS 、 Chrome OS ゲストセッション)での復号を促し、共有マシンでの復号を避け、使用後に積極的に消去することを奨励します。高リスクの転送には、サンドボックス化されたブラウザタブで復号して表示するだけでダウンロードを防止する保護ビューアーを使用します。受信者は .pdf を見られますが、バイトはディスクに入りません。これは UX への打撃になるため、最上位のティアのみに予約します。

監視システムにならないロギング

ゼロトラストの監査証跡はインシデントレスポンスとコンプライアンスに必要なものだけを記録し、それ以上は記録しません。IP アドレスを日次でハッシュ化し、User-Agent ファミリーのみ保存(フル文字列ではない)し、パスワードや鍵は絶対にログに記録せず、各規制が要求する最低期間のみ保持します。 GDPR 第30条の目的には90日、 HIPAA 164.316 には6年。ログ自体は追記専用ストレージ( S3 Object Lock 、 Compliance モード)に置き、侵害された管理者が証拠を隠滅できないようにします。日次でマークルルートを公開された掲示板にパブリッシュすることで外部検証を追加します。

ゼロトラストと法的現実の交差点

ゼロトラストは法執行機関の要請から免除されません。渡せるものが変わるのです — 復号できない暗号文、逆算できないIPハッシュ、誰がどのスラッグにアクセスしたかのログ。これは通常、ユーザーデータを大量監視から守りながら有効な令状を満たすのに十分です。リクエスト量と応答率を示す透明性レポートを公開します。データ最小化をプライバシーポリシーに文書化し、ユーザーがトレードオフを理解できるようにします。ファイルが転送されたことは検証できますが、確実にその内容や受信者を特定することはできません。

hexatransfer.comでお試しください — 無料、登録不要、最大10GB。

エンドツーエンド暗号化で大容量ファイルを安全に送信

エンドツーエンド暗号化で最大10GBのファイルを無料で転送。アカウント不要。ファイルはアップロード前にブラウザで暗号化されるため、他の誰にも読まれません。

ファイルを送信