メッセージングのための耐量子暗号化
Tosh DefenceのSanket.Chatは、すべての会話の2つの段階でハイブリッド耐量子暗号によりメッセージングを保護します。セッション確立時には耐量子Kyber事前鍵を用いるPQXDHを使用し、継続中のDouble Ratchetには、Signalのスパース耐量子ラチェット(SPQR)によってML-KEMの秘密情報を組み込みます。通信経路では、接続の入口で最初に提示されるハイブリッドX25519MLKEM768鍵交換も加わり、今記録して後で復号する攻撃から、記録された通信を保護します。
攻撃者は現在の暗号化通信を記録し、十分な能力を持つ量子コンピューターが登場した後に復号を試みる可能性があります。何年にもわたり機密性を保つ必要がある情報には、今から耐量子暗号による保護が必要です。Sanketは、Signalの監査済みlibsignalを通じてそれを提供します。
最初のメッセージから耐量子保護
Sanketのすべてのセッションは、X3DHを耐量子暗号に拡張したPQXDHで始まります。開始側は3つまたは4つのX25519鍵共有と、受信側デバイスの使い捨てKyber事前鍵の1つを用いたKyberカプセル化を組み合わせ、そのすべてからセッション秘密値を導出します。今この鍵交換を記録した人物が後に量子コンピューターを入手しても、そこからセッション鍵を復元することはできません。
この環境では、各Kyber事前鍵の署名を保存前にlibsignalで検証します。また、すべての事前鍵のセットにKyberの最終手段用事前鍵を含める必要があるため、耐量子暗号の構成要素を欠いた状態でセッションが開始されることはありません。
会話全体にわたる耐量子保護:SPQR
Sanketに搭載されたlibsignalのバージョンでは、すべてのセッションでSignalのスパース・ポスト量子ラチェットをDouble Ratchetと並行して動作させ、ML-KEMから導出した秘密情報をメッセージ鍵に組み込みます。Signalはこの組み合わせをトリプルラチェットと呼んでいます。攻撃者がメッセージ鍵を復元するには、会話の存続期間を通じて、楕円曲線暗号とポスト量子暗号の両方の要素を破る必要があります。
ハイブリッド型耐量子TLS
TLS 1.3では、接続を受ける側がハイブリッドグループX25519MLKEM768を最優先で提示します。その共有秘密はX25519とML-KEM-768を組み合わせたもので、両方が破られない限り、記録されたセッションの機密性は保たれます。TLSの実装がこのグループに対応するクライアントは、これを使って接続を確立します。この導入環境からの外向き接続でも、このグループを提示します。
暗号スイートはAES-256-GCMのみに限定され、共通鍵暗号化には一貫して256ビット鍵を使用します。この鍵長は既知の量子攻撃に対して十分とされています。
- X25519MLKEM768を最初に提示
- AES-256-GCMの暗号スイートのみ
- 接続者を記録せずに測定された交渉済みグループ
- ハンドシェイクの通信記録をエンドツーエンドで認証
次に備える
SANKETは、暗号方式の変更に対応できるよう設計されています。libsignalはバージョン管理されており、PQXDHやSPQRと同様に、新しい暗号要素はライブラリの更新によって導入されます。通信路の暗号群は境界部分の設定で管理し、通話の暗号化にはサーバーが適用を強制する番号付きプロファイルを使用します。アプリケーションでのAES-GCMの使用はすべて、厳格な共通処理を経由します。リリースとライセンスに対するEd25519とML-DSAのハイブリッド署名は設計済みで、開発計画に含まれています。独立した監査を受けたML-DSAの実装が利用可能になった時点で有効化する予定です。
技術的な実証
詳細はSanketの白書で確認
このページに記載されたすべての内容は、一般公開されているSanketの技術セキュリティ・アーキテクチャ白書で詳しく説明されており、登録なしで無料で閲覧できます。
SANKETは耐量子暗号に対応した安全なメッセージングサービスですか?
SANKETのメッセージングは、Signalの公式libsignalを通じて、セッション確立時のPQXDHとKyber-1024、および継続的なラチェット処理のSPQRに、従来型暗号と耐量子計算機暗号を組み合わせた方式を使用します。攻撃者は従来型と耐量子計算機型の両方の構成要素を破らなければなりません。
PQXDHとは何ですか?
PQXDHは、X3DH鍵合意に対するSignalの耐量子拡張です。X25519による鍵合意にKyberの鍵カプセル化を追加するため、記録された接続確立時の通信を、後から量子コンピューターで復号することはできません。形式的な解析が行われています。
トリプルラチェットであるSPQRとは何ですか?
SPQRは、Signalのスパースな耐量子ラチェットです。Double Ratchetと並行して動作し、ML-KEMから導出した秘密値をメッセージ鍵に組み込むことで、耐量子保護をセッション開始時から会話全体に拡張します。
SANKETは耐量子暗号を用いたTLSを使用しますか?
はい。外部接続点ではTLS 1.3でハイブリッドX25519MLKEM768鍵交換を最初に提示し、導入環境からの外向き接続でも提示します。対応する暗号化通信基盤を備えた利用端末は、自動的にこれを使用するよう交渉します。
「今収集し、後で復号する」とは何ですか?
これは、将来、十分な能力を持つ量子コンピューターが実現したときに復号するため、現在の暗号化通信を記録しておく行為です。SANKETが採用する量子計算機耐性を備えたハイブリッド鍵共有は、記録された通信をこの脅威から保護します。
AES-256は量子コンピューターに対する耐性がありますか?
AES-256は、256ビットの鍵長において既知の量子攻撃に対して十分と考えられています。そのため、SANKETは全体を通じて256ビットの共通鍵を使用します。
今日の通信を将来のコンピューターによる解読から保護
長期にわたり保護が必要な機密情報に向けたSanketの耐量子暗号設計と暗号方式の変更への対応力について、Tosh Defenceにご相談ください。