コンテンツにスキップ

耐量子暗号

概要

rpxyは耐量子暗号をサポートすることで最先端のセキュリティを提供し、将来の量子コンピューティングの脅威からアプリケーションを保護します。この機能はデフォルトで有効であり、特別な設定は不要です。

耐量子暗号とは?

耐量子暗号とは、量子コンピュータによる攻撃に対して安全な暗号アルゴリズムのことです。量子コンピューティング技術の進歩に伴い、RSAやECCなどの従来の暗号方式は脆弱になる可能性があります。耐量子アルゴリズムは、強力な量子コンピュータが利用可能になっても安全であるよう設計されています。

rpxyの実装

技術的基盤

rpxyrustls-post-quantumライブラリを通じて耐量子暗号を実現しています。このライブラリはrustlsに耐量子鍵交換アルゴリズムを提供します。この統合により、rpxyは最小限の設定で最先端の暗号セキュリティを提供できます。

ハイブリッド鍵交換

rpxyは以下を組み合わせたハイブリッド耐量子鍵交換を実装しています:

  • 従来の暗号 (X25519) - 現在の脅威に対する実証済みのセキュリティ
  • 耐量子暗号 (ML-KEM 768) - 量子攻撃からの保護

このハイブリッドアプローチにより:

  • 既存システムとの後方互換性
  • 量子脅威に対する将来のセキュリティ確保
  • セキュリティを犠牲にしないパフォーマンス最適化

サポートされるアルゴリズム

X25519MLKEM768: rpxyがサポートするハイブリッド鍵交換アルゴリズムで、X25519楕円曲線暗号とML-KEM 768(旧Kyber768)耐量子暗号を組み合わせたものです。

プロトコルカバレッジ

耐量子暗号はすべてのセキュアプロトコルでサポートされています:

  • TLS 1.3 - すべてのHTTPS接続で耐量子鍵交換を使用
  • QUICとHTTP/3 - 次世代プロトコルでの耐量子セキュリティ
  • 自動ネゴシエーション - クライアントとサーバーが利用可能な最適なアルゴリズムをネゴシエーション

設定

デフォルトの動作

耐量子暗号はrpxyデフォルトで有効です。設定変更は不要です:

# 耐量子TLSはすべてのアプリケーションで自動的に有効になります
[apps."secure_app"]
server_name = 'example.com'
reverse_proxy = [{ upstream = [{ location = 'backend:8080' }] }]
tls = { https_redirection = true }

確認方法

耐量子鍵交換がアクティブであることを以下の方法で確認できます:

  1. TLSハンドシェイクログの確認 - デバッグ出力でMLKEM768等を探す
  2. OpenSSL s_clientの使用 - 暗号スイートのネゴシエーションを調べる
  3. ネットワーク分析ツール - TLSハンドシェイクパケットを検査する

セキュリティの利点

現在の保護

  • 従来の脅威 - RSA、ECCは古典的コンピュータに対して依然として安全
  • サイドチャネル攻撃 - Rustのメモリ安全性が追加の保護を提供
  • 完全前方秘匿性 - 長期鍵が漏洩してもセッション鍵は安全

将来の保護

  • 量子耐性 - 量子攻撃に耐えるよう設計されたアルゴリズム
  • 長期的なセキュリティ - 今日暗号化されたデータが量子時代でも安全
  • 暗号の俊敏性 - 標準の進化に合わせた新しいアルゴリズムへの容易な移行

パフォーマンスへの影響

最小限のオーバーヘッド: ハイブリッドアプローチにより、優れたパフォーマンスを維持しながら耐量子セキュリティを確保します。鍵交換操作は最適化され、可能な場合はキャッシュされます。

業界標準

rpxyの耐量子実装は以下に準拠しています:

標準の状況: X25519MLKEM768アルゴリズムはIETFドラフト仕様(draft-kwiatkowski-tls-ecdhe-mlkem-03およびdraft-ietf-tls-hybrid-design)に基づきながら、標準化されたML-KEM (FIPS 203)耐量子暗号プリミティブを使用しています。

互換性

クライアントサポート

モダンブラウザやHTTPクライアントは耐量子鍵交換のサポートを進めています:

  • Chrome/Chromium - 実験的サポートあり
  • Firefox - 開発中のサポート
  • OpenSSL - 最新バージョンでハイブリッドアルゴリズムをサポート

フォールバック動作

クライアントが耐量子アルゴリズムをサポートしていない場合、rpxyは自動的に従来の暗号にフォールバックし、可能な場合はセキュリティを強化しつつ互換性を確保します。