ProtonMail

ProtonMailのE2E暗号化とゼロ知識方式を徹底解説

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
用途で選ぶ・即決OK

あなたに合うセキュリティソフトは?2タイプで即決

PCセキュリティは"ウイルス対策ソフトを入れるか入れないか"で被害の有無が決まります。ランサムウェア・フィッシング・なりすまし対策――失敗しない選び方は「家族/仕事で使うか」「ゲーミングPCか」で分けるだけです。

▷ 家族PC・仕事用・スマホまでまとめて"迷ったらコレ"で守りたい人

ノートン|世界シェアNo.1の定番セキュリティ▶

▷ ゲーミングPCを使っていて"FPSを落としたくない・ゲーム中の通知を消したい"人

WEBROOT for Gamer|ゲーマー向け軽量セキュリティ▶

※どちらも複数台インストール可。30日無料体験/返金保証あり(各社公式ページで条件をご確認ください)

▶ ゲーミング環境を本気で整えるなら 光インターネットカテゴリー の回線比較もセットでどうぞ。

スポンサードリンク

1. エンドツーエンド暗号化 (E2E) の基本概念と Proton Mail の位置付け

E2E 暗号化とは、送信者のデバイスで暗号化されたデータが受信者のデバイスで復号されるまで、途中にあるサーバやネットワーク機器が平文を見ることができない 仕組みです。Proton Mail はこの概念を「ゼロ知識(Zero‑Knowledge)」という形で実装しています。

  • 公式解説: Proton のセキュリティページは E2E を次のように定義しています → proton.me/ja/security/end-to-end-encryption
  • 「メール本文・添付ファイルは送信時にクライアント側で暗号化され、サーバ上では暗号文として保存」
  • 暗号方式は AES‑256 GCM(データ)+ RSA‑2048/4096 または ECC(キー交換)

ゼロ知識とは何か

Proton の「ゼロ知識」は、サーバがユーザーの復号鍵に一切アクセスできない ことを保証する実装です。公式 FAQ にも次のように記載されています → proton.me/ja/support/zero-knowledge

項目 E2E の概念 Proton Mail のゼロ知識実装
鍵の保管先 ユーザーが全て保持(デバイスまたは外部キーストア) 鍵はユーザー端末に保存、サーバには送信されない
サーバ側の可視性 暗号文のみ保存・転送 同上。復号鍵は一切保持しない
外部受信者への対応 OpenPGP で手動暗号化が必要 パスワード保護メール(自動)または OpenPGP 手動

2. Proton Mail が自動的に暗号化する対象とプラン別制限

暗号化の対象(公式情報)

対象 暗号化方式・適用範囲 公式根拠
本文 OpenPGP 互換の AES‑256 GCM によるエンドツーエンド暗号化 Security – E2E
添付ファイル メール本文と同様にクライアント側で暗号化し、サーバへは暗号文だけが保存 同上
パスワード保護メール(外部受信者) 送信者が設定したパスフレーズで AES‑256 暗号化し、リンクと有効期限を別途通知 Support – Password‑protected messages

添付サイズ上限(公式プランページ)

プラン 最大添付サイズ(暗号化前) 暗号化後の実質的上限*
無料 (Free) 25 MB 約 24 MB (暗号化に伴うオーバーヘッド ≈ 1 MB)
Plus / Professional 50 MB 約 48 MB
Visionary(有料最高位) 100 MB 約 96 MB

*※暗号化後はデータが数%増えるため、実際に送信できるサイズは若干小さくなります。公式プラン一覧 → proton.me/ja/pricing

暗号化アルゴリズムの詳細

  • 対称鍵: AES‑256 GCM(認証付き暗号)
  • 公開鍵: RSA‑2048(デフォルト)または RSA‑4096/ECC(オプション)
  • キー交換: ECDH (Curve25519) が利用可能(Proton Bridge でも同様)

公式ドキュメントの「Encryption details」セクションに記載があります → proton.me/ja/security/encryption-details


3. 開発者向け:Proton Bridge と API の利用手順

3‑1. Bridge の概要と公式ダウンロード先

Proton Bridge は ローカルで動作する SMTP/IMAP プロキシ です。クライアントは普通のメールサーバーと同様に接続でき、Bridge が自動的に暗号化・復号を行います。

  • ダウンロードページ: protonapps.com/bridge(Windows/macOS/Linux 各版)
  • インストール後の初回起動で Proton アカウントと 2FA を入力すれば、ローカルポートが自動割り当てされます(デフォルトは localhost:1025 (SMTP) と localhost:1143 (IMAP))。

3‑2. 手順を箇条書きでまとめる

  1. アカウント作成
  2. Web UI → https://account.proton.me/signup(無料プランでも Bridge は使用可能)

  3. Bridge の取得・インストール

  4. 上記ダウンロードページから OS に合ったパッケージを入手し、画面の指示に従ってインストール。

  5. アカウント認証

  6. Bridge 起動時にメールアドレス、パスワード、2FA コード(TOTP)を入力。認証が成功するとローカルエンドポイントが有効化されます。

  7. SMTP/IMAP 設定の確認

  8. Bridge > Settings でポート番号や TLS の有無を確認できる。デフォルト設定はそのままで問題ありません。

  9. クライアントから接続

  10. 任意のメールクライアント(Thunderbird、Outlook 等)に「ローカルサーバー」情報を入力し、認証情報は不要です(Bridge が代行)。

3‑3. Python で Bridge 経由にメール送信する例

ポイント
- 認証情報は不要(Bridge が事前に認証済み)
- TLS は Bridge 側で自動的に確立されるため、クライアント側は平文の SMTP コマンドを使用できる


4. 外部受信者向け暗号化オプション(OpenPGP とパスワード保護メール)

4‑1. 公式が推奨する2つの方法

方法 利点 欠点・留意点
パスワード保護メール(Proton の機能) ユーザーは追加設定不要で送信可能。受信者はリンクとパスフレーズだけで復号できる。 パスフレーズを別途共有する必要がある。
OpenPGP 手動暗号化(外部鍵交換) 完全な公開鍵ベースの E2E。キー管理が明示的になる。 受信者側も OpenPGP 対応クライアントが必須。設定がやや複雑。

公式マニュアル → proton.me/ja/support/encrypting-messages

4‑2. Python (python-gnupg) で OpenPGP 暗号化するサンプル

4‑3. OpenPGP.js(ブラウザ/Node)での暗号化例

実装上の注意
- 暗号化後のデータサイズは元データの約 1.3 倍になるため、Proton Bridge の添付制限に引っ掛かる可能性があります。
- 大容量ファイルは ストリーミング暗号化openpgp.createMessage({ binary: stream }))を推奨します。


5. セキュリティベストプラクティスとテスト手順

5‑1. 暗号化メールがサーバ上で平文になっていないか確認する方法

  1. メール送信 – 前節の Python スクリプトで自分宛に暗号化メールを送る。
  2. Bridge のログ取得~/.config/ProtonMail/Bridge/logs/bridge.logDATA コマンド以下のペイロードが出力されます。次の文字列が含まれているか検索してください。

bash
grep "BEGIN PGP MESSAGE" ~/.config/ProtonMail/Bridge/logs/bridge.log

  1. Web UI で確認 – Proton の Web クライアントを開き、対象メールの本文が「暗号化されたメッセージ」と表示されているか目視。

判定基準
- BEGIN PGP MESSAGE がログにのみ出力され、平文テキストは見当たらない → 正常
- 平文の一部が残っている → Bridge の設定ミスまたは古いクライアント使用の可能性あり

5‑2. 鍵管理と二要素認証(2FA)のベストプラクティス

項目 推奨策 参考公式ページ
秘密鍵保管 OS キーストアまたはハードウェアトークン (YubiKey) に保存し、パスフレーズで暗号化 proton.me/ja/support/key-management
パスフレーズ管理 信頼できるパスワードマネージャーに保存し、マスターパスワードは 12 文字以上のランダム文字列 同上
二要素認証 (2FA) TOTP(Google Authenticator, Authy 等)を必須化。SMS 認証は非推奨 proton.me/ja/support/two-factor-authentication
鍵ローテーション 12〜18 カ月ごとに新鍵ペアを生成し、古い公開鍵は受信者側へ通知して廃棄 同上

5‑3. 大容量添付ファイルの取り扱い

  • プラン別上限(再掲)
  • 無料: 25 MB
  • Plus/Professional: 50 MB
  • Visionary: 100 MB

  • 実務的な回避策

  • Proton Drive にアップロード → 共有リンクをパスワード保護メールで通知(暗号化はリンク先のファイルに適用)。
  • ファイルを 分割圧縮 (ZIP/7z) し、各パーツが上限内になるように調整。

  • モバイル復号時の遅延対策

  • OpenPGP.js の WebAssembly ビルドと openpgp.config.useWebWorker = true を有効化すると CPU 使用率が低減し、UI がフリーズしにくくなります。


まとめ

  • E2E 暗号化 は公式が保証する「本文・添付・パスワード保護メール」のすべてに適用され、サーバは暗号文しか保持しません(Zero‑Knowledge)。
  • プラン別の添付上限暗号化後サイズ増加 を正確に把握し、必要に応じて Proton Drive へオフロードする設計が推奨されます。
  • Proton Bridge を用いれば既存のメールクライアントやスクリプトから手軽に暗号化メールを送受信でき、実装は数行のコードで完結します。
  • 外部受信者向けには パスワード保護メールOpenPGP 手動暗号化 の2択があり、要件に合わせて使い分けます。
  • テストと鍵管理 を徹底し、ログで暗号文だけが送受信されていることを確認すれば、実装の安全性は高く保たれます。

以上を参考に、Proton Mail のエンドツーエンド暗号化を正しく活用してください。

スポンサードリンク

お得なお知らせ

スポンサードリンク
用途で選ぶ・即決OK

あなたに合うセキュリティソフトは?2タイプで即決

PCセキュリティは"ウイルス対策ソフトを入れるか入れないか"で被害の有無が決まります。ランサムウェア・フィッシング・なりすまし対策――失敗しない選び方は「家族/仕事で使うか」「ゲーミングPCか」で分けるだけです。

▷ 家族PC・仕事用・スマホまでまとめて"迷ったらコレ"で守りたい人

ノートン|世界シェアNo.1の定番セキュリティ▶

▷ ゲーミングPCを使っていて"FPSを落としたくない・ゲーム中の通知を消したい"人

WEBROOT for Gamer|ゲーマー向け軽量セキュリティ▶

※どちらも複数台インストール可。30日無料体験/返金保証あり(各社公式ページで条件をご確認ください)

▶ ゲーミング環境を本気で整えるなら 光インターネットカテゴリー の回線比較もセットでどうぞ。

-ProtonMail