セキュリティ
SecureMintがどのようにあなたのデータを保護しているかを解説します。
エンドツーエンド暗号化
AES-256-GCMすべてのファイル暗号化にはAES-256-GCM(認証付き暗号化)を使用しています。暗号化・復号はすべてブラウザ内のWeb Crypto APIで処理され、平文がサーバーに送信されることはありません。
// Encryption parameters
Algorithm: AES-256-GCM
Key derivation: PBKDF2-SHA256 (600,000 iterations)
IV: 12 bytes (crypto.getRandomValues)
Salt: 16 bytes (crypto.getRandomValues)
鍵導出
PBKDF2パスワードからの暗号鍵生成にはPBKDF2-SHA256を使用し、600,000回の反復処理を行います(OWASP 2024推奨値)。これにより、総当たり攻撃に対する耐性を確保しています。
セキュアファイル送信の仕組み
E2EURLフラグメント(#以降)はHTTPリクエストに含まれないため、サーバーのアクセスログにも残りません。サーバー運営者を含め、復号鍵を知ることは構造上不可能です。
ブラウザ完結の保証
サーバー通信なしファイル暗号化(.enc)とパスワード生成は完全にブラウザ内で動作します。ネットワーク通信は一切発生しません。ブラウザの開発者ツール(Networkタブ)で確認できます。
.enc ファイルフォーマット
Open[magic: 8 bytes "SMINT01\0"]
[version: 1 byte]
[salt: 16 bytes]
[iv: 12 bytes]
[filename_length: 2 bytes (uint16 BE)]
[encrypted_payload: filename + file data]
[auth_tag: 16 bytes (GCM)]
透明性
公開暗号化のコアロジックはオープンソースで公開しています。セキュリティ研究者やユーザーが実装を検証できます。
ポスト量子暗号化ロードマップ
将来計画量子コンピュータの進歩により、現在広く使われているRSAやECDHなどの公開鍵暗号が将来的に脆弱になる可能性があります。SecureMintは対称暗号(AES-256-GCM)を中心に設計されているため、量子コンピュータの脅威を比較的受けにくい構造ですが、SecureChannelの公開鍵暗号部分について、以下のロードマップで対応を進めます。
SecureMintのファイル暗号化(AES-256-GCM)とパスワードベースの鍵導出(PBKDF2)は、量子コンピュータに対しても十分な安全性を維持します。