パスワード保護付きファイル転送:共有ファイルを安全に
ファイル転送にパスワード保護を追加して追加セキュリティレイヤーを確保。パスワード派生暗号化の仕組みと強力なパスワードのベストプラクティス。
パスワード保護付きファイル転送とは、送信者が選んだシークレットなしでは受信者がペイロードを復号できないことを意味します。パスワードは単なるログインゲートではありません — バイトの暗号化に使用する AES-256-GCM 鍵を導出する PBKDF2-HMAC-SHA256(または Argon2id )への入力です。パスワードがなければ、サーバー上の暗号文はノイズです。これは、ファイルをプレーンテキストで保存し HTTP 層でのみパスワードを確認する「パスワードゲート型」転送ツールとは根本的に異なります。本物のパスワード保護はパスワードを暗号技術そのものと結びつけます。
ゲーティングと導出の違い
2020年以前のほとんどのコンシューマー向けファイル共有プラットフォームはパスワードゲーティングを使用していました。.pdf をアップロードするとサーバーが S3 に保存し、 Rails コントローラーが送信されたパスワードを bcrypt ハッシュと照合してからファイルを渡します。データベースアクセスを持つ管理者や召喚令状があればすべてが見えます。パスワード派生暗号化はこれを逆転させます。ブラウザが PBKDF2 を60万回のイテレーション(OWASP 2023ベースライン)で実行し、パスワードを256ビット鍵に引き伸ばし、アップロード前にファイルを暗号化します。サーバーは暗号文とランダムなソルトのみを保持します。パスワードがなければ鍵がなく、ファイルもありません。 Firefox Send はMozilla が2020年にシャットダウンする前にこのモデルでコンシューマースケールで動作することを証明しました。
PBKDF2 と Argon2id の選択
PBKDF2 は実績のある定番で Web Crypto API に組み込まれており、どこでも動作し、高いイテレーション数でブルートフォースに抵抗します。 Argon2id はより新しく優れています。メモリハードであるためGPU攻撃者がレインボーテーブルを安価に走らせることができません。問題はブラウザのサポートです。ネイティブ Argon2 はまだ Web Crypto にないため、サービスは libsodium.js 経由で実装しており、バンドルに約180KBが追加されます。ボトルネックがアップロードである10GBの転送では、トレードオフは Argon2id(m=64MB、t=3、p=1)に有利です。20MBの添付ファイルでは PBKDF2(60万イテレーション)が中位クラスの電話で400msで完了します。
十分に強力なパスワードとは
大文字・小文字・数字・記号を混合した12文字のパスワードはエントロピー約78ビットに達し、2026年の Argon2id に対するオフライン攻撃では十分です。4語の Diceware パスフレーズ("correcthorsebatterystaple"スタイル)は51ビットで電話で読み上げやすいです。 KDF ストレッチングをしても短いパスワードは避けてください。盗まれた暗号文とソルトを持つ攻撃者は RTX 5090 で毎秒2,000万回のパスワードで PBKDF2 を試行できます。6文字のパスワードは数分で解読されます。長さが複雑さに勝ります。「Summer2026!」を試みるすべてのユーザーにこれを伝えてください。
目的を損なわずにパスワードを共有する
ファイルリンクとパスワードを同じメールスレッドで送ることですべてが無効化されます。受信トレイを所有する攻撃者が両方を手に入れます。チャンネルを分割してください。リンクはメールで送り、パスワードは SMS または Signal で送ります。さらに良いのは、 1Password の Psst! のようなワンタイムシークレットサービスや、スクリーンショットなしでは転送できないアプリ内 Slack ダイレクトメッセージを使うことです。定期的な受信者には、帯域外で合意したパスワード導出スキームを使うことで(例:「月名+プロジェクトID」)、敏感な情報を通信路に乗せずに済みます。
ソルト、 nonce 、そしてパスワードではない理由
暗号文の横に3つのものが一緒に送られます。KDF用のソルト(16バイト)、 GCM 用の nonce(12バイト)、そして認証タグ(16バイト)です。いずれも秘密にする必要はなく、転送ごとにユニークである必要があるだけです。同じ鍵で nonce を再利用することは GCM では壊滅的です — プレーンテキストの XOR が漏洩します。 crypto.getRandomValues() によるランダム生成がこれを処理し、ソルトはファイルメタデータヘッダーに保存されます。パスワードが唯一のシークレットで、他はすべて暗号文と一緒に送られます。
クライアント側の改ざんに対する保護
悪意のあるブラウザ拡張機能がユーザーの入力中にパスワードを読み取ることができます。対策として、インラインスクリプトと外部接続を禁止する Content Security Policy ヘッダー(connect-src 'self')、バンドルされた JavaScript 全体への Subresource Integrity 、厳格な Referrer-Policy でリファラーが分析ツールに漏洩しないようにします。マニフェストのサブリソースハッシュで WASM バンドルを監査します。侵害された OS は防げませんが、カジュアルなスキマーのハードルを上げます。 HexaTransfer は SHA-384 ハッシュを公開しているため、上級ユーザーはロードされたバンドルがソースリポジトリと一致することを検証できます。
鍵を漏洩させずに中断されたダウンロードを再開する
5GBの .iso ファイルではダウンロードが数時間にわたる可能性があります。タブを閉じても再開できる必要がありますが、パスワードを再入力せずに済む必要があります。導出された鍵を SessionStorage に保存します( LocalStorage は不可 — 再起動後も持続するため)。ダウンロードが完了するかタブが閉じると消去します。チャンク単位モデルでは、各5MBブロックがマスターから HKDF で導出されたサブキーを持ちます。こうすることで一時停止されたセッションの再開時に現在チャンクのサブキーのみが露出し、ルートは露出しません。
パスワード保護だけでは不十分な場合
パスワード単独では、認証された受信者がファイルを再共有することを防げません。 Jane が .docx を復号すれば、どこにでも転送できます。本当の封じ込めには、パスワードと DRM スタイルの制限を組み合わせます。シングルダウンロードリンク、IP バインドアクセス、または短い有効期限ウィンドウ(PCI DSS 4.0 エビデンスパッケージには15分)です。 GDPR 第32条コンプライアンスのためには、誰がいつ何にアクセスしたかをログに記録します。パスワード保護はフロアであり天井ではありません — 偶発的な傍受のコストを引き上げますが、インサイダー脅威の問題は解決しません。
hexatransfer.comでお試しください — 無料、登録不要、最大10GB。
エンドツーエンド暗号化で大容量ファイルを安全に送信
エンドツーエンド暗号化で最大10GBのファイルを無料で転送。アカウント不要。ファイルはアップロード前にブラウザで暗号化されるため、他の誰にも読まれません。
ファイルを送信