世界を動かす技術を、日本語で。

シグナルプロトコルとポスト量子ラチェット

概要

  • Signal Protocol が量子耐性を強化する新技術「 Sparse Post Quantum Ratchet(SPQR)」を導入
  • SPQR はForward Secrecy(FS)とPost-Compromise Security(PCS)を量子安全に実現
  • ユーザー体験は変わらず、全会話が自動で新プロトコルに移行
  • 既存のDouble RatchetとSPQRを組み合わせた「 Triple Ratchet」構成
  • 量子コンピュータ時代を見据えた 継続的な安全性維持

Signal Protocolの量子耐性強化とSPQR導入

  • Signal Protocol はエンドツーエンド暗号化を提供する暗号仕様群

  • 世界中の主要なメッセージングアプリで採用実績

  • 2013年公開以降、 Forward Secrecy(FS)Post-Compromise Security(PCS) を重視した設計

  • 量子コンピュータの脅威に備え、 PQXDH による初期セッションの量子耐性化を実施済み

  • 今回の SPQR 導入で、セッション継続中も量子安全なFS/PCSを実現

    • SPQRは新しい量子安全ラチェットとして、既存のDouble Ratchetと組み合わせ
    • 両者の出力をミックスすることで「 Triple Ratchet」構成となり、従来の安全性を維持しつつ量子耐性を追加
  • ユーザー側の操作不要で、全会話が自動的に新プロトコルへ移行

  • 量子コンピュータの実用化後も、過去・未来の通信の安全性確保

既存Signal Protocolの仕組みと課題

  • 従来のSignalラチェットでは、 ハッシュ関数(FS)楕円曲線Diffie-Hellman(ECDH、PCS) を利用
  • ハッシュ関数は量子安全だが、 楕円曲線暗号は量子耐性なし
  • ラチェット機構により、過去のメッセージは将来の秘密鍵漏洩から保護
  • ECDHにより、セッション中も定期的に新しい共有秘密を生成
  • 量子攻撃者(例:Mallory)が出現した場合、ECDHの脆弱性により将来の通信が全て解読されるリスク

量子安全な鍵共有の実現方法

  • 量子安全な Key-Encapsulation Mechanism(KEM) の活用

    • KEMはDiffie-Hellmanに似た動作だが、非対称・順序付きのメッセージ交換が必要
    • ML-KEMなど標準化KEMでは、送信者がEncapsulation Key(EK)とDecapsulation Key(DK)を生成・送信
    • 受信者はEKを使って秘密情報を暗号化しCiphertext(CT)として返信
    • 双方が新しい共有秘密を得るが、ECDHよりデータサイズが大きい(約1000バイト)
  • シンプルな実装例

    • Aliceがメッセージ送信時にEKを送付
    • BobがEK受信後、秘密生成しCTを返信
    • AliceはDKでCTを復号し、秘密をミックス
    • オンライン状態では有効だが、オフラインやメッセージ喪失時には課題

状態管理と通信効率の工夫

  • 状態遷移管理(ステートマシン) による通信制御

    • AliceとBobが現在の状態に応じて送信内容を決定
    • 例:StartingA→SendEK→SendingCTといった状態遷移
    • 状態管理により、重複送信やデータ損失時の対応が可能
  • 帯域効率化の工夫

    • 毎メッセージごとに新しい鍵を送らず、一定間隔や条件で送信

    • 例:50メッセージごと、1週間ごと等

    • オフライン・メッセージロス・攻撃者による妨害など、現実的な通信環境への配慮が必要

    • メッセージ分割送信(チャンク化)でサイズ均一化や再送制御

    • 攻撃者による大きなメッセージ検出・妨害への対策も検討

まとめ:SPQR導入による今後の展望

  • SPQR によりSignal Protocolは 量子時代にも耐えうる暗号基盤 へ進化
  • ユーザーの操作不要で、通信の安全性が自動的に強化
  • 量子コンピュータ出現後も、過去・未来の会話の秘匿性・安全性を維持
  • 今後も Forward SecrecyPost-Compromise Security という根本的な安全性目標を堅持
  • 継続的なプロトコル改善と量子耐性技術の導入による信頼性向上

Hackerたちの意見

TL;DRを読んでもまだちょっとバカな気分なんだけど、詳しい人、これがどうしてより良いのか、安全なのか教えてくれない?時間について読んだけど、メッセージ送るのが遅くなるのかな?

記事からの引用: > 「Signalユーザーにとって、これはどういう意味があるの?まず、アプリを使う体験には何も変わりません。次に、これをどのように展開しているか、既存の暗号化と混ぜているため、最終的にはあなたが何もアクションを取らなくても、すべての会話がこの新しいプロトコルに移行します。三つ目、そして最も重要なのは、これはあなたの通信を今も、将来的に量子コンピュータが現実になる場合にも保護し、私たちがその新しい世界に備えて前方秘匿性やポストコンプロマイズセキュリティの既存のセキュリティ保証を維持できるようにします。」

彼らの既存のポスト量子暗号は、量子攻撃者に対するポストコンプロマイズセキュリティ(PCS)を提供していなかったんだ。この新しいものはそうなんだよ。この記事を読んで、PCSが何を意味するのかやっと分かってワクワクしてる。これは、彼らの鍵合意スキーム(nラチェット)から生成されるセッションキーが新しく生成されるってこと。だから、特定の種類のコンプロマイズの後でも攻撃者がそれを再度取得できないんだ。これから、オフ・ザ・レコード(OTR)プロトコルにもPCSがあるってことが分かる。ちょっと残念だな、もっと新しい概念を考え出したのかと思ってた。鍵合意はそんなに頻繁には起こらないから、ユーザーは遅さを感じることはないと思う。

なるほど。量子脅威が暗号に与える影響についての標準的な実践分析では、敵は「データを収集してから復号化する」ってことになる。今のところ、誰もが敵が量子暗号を実行できないことには同意してるけど、将来的にはできるようになる可能性があるってことで意見が一致してる。もしSignalが数年先まで秘密にしなきゃいけないメッセージを運んでいると仮定すると、敵はどこかの倉庫にSignalの暗号文をストックして、15年か20年後にそれを復号化できるように待ってるってことになる。だからこそ、今PQ鍵の合意が必要なんだ。過去の記録を狙った未来の能力から守るためにね。(PQ署名についてはあまり気にしない理由でもある。敵がタイムトラベルしてTLS署名の検証を中間者攻撃することはできないってことにみんな同意してるから。)PQラチェットの重要性を理解するには、敵にもう一つの能力を追加してみて。15〜20年間暗号文を保持するだけでなく、最終的にはデバイスを侵害したり、暗号コードの実装特有の欠陥を見つけて鍵の材料を抽出できるようになるって仮定する。これは非常に現実的な脅威モデルだし、実際には暗号の基本的な崩壊よりもずっと実用的な重要性がある。そういう脅威モデルに対抗するためには「フォワードセキュリティ」や「ポストコンプロマイズセキュリティ」が必要なんだ。常に鍵を更新することで、どれか一つの鍵が侵害されても、攻撃者が過去のメッセージを復号化したり、未来のメッセージを暗号化することができないようにする。これらの防御が「収穫して復号化する」攻撃者に対して機能するためには、セッションを再鍵化するために使う「ラチェット」メカニズムもPQセキュアである必要がある。もしそうでなければ、攻撃者はメッセージではなくラチェットを狙うことになって、システムはフォワードセキュリティとポストコンプロマイズセキュリティを失うことになる。

彼らのプロトコルがSPQRって名前だなんて信じられない。これは「Senatus Populusque Romanus」のラテン語の略称だよ。https://en.wikipedia.org/wiki/SPQR 大好きだわ :)

もしかしたら、ただ「スピーカー」って響きがするから、チャットアプリだからかな?;P…すべてをローマの陰謀として考える必要はないよね。

力と名誉

笑。こんなコメントはHacker Newsでしか見ないよね。数学者がロッカーの番号をどうやって覚えるかの古い漫画を思い出した。「1975年?それは簡単だよ。3,900,625の平方根だから!」

そうそう、なかなか賢いね。SPQRはローマ軍団兵のタトゥーとして有名なの、(素晴らしい)BBCのミニシリーズ「ローマ」で知ってるよ。

スパースポスト量子ラチェット、つまりSPQRだね。Signalの誰かがローマ史好きなんだろうな。

それとも、ただのチャットアプリ好きなだけかもね(SPQR -> 「スピーカー」)。

ローマ帝国のこと、どれくらい考える?

素晴らしいニュースだね!Signalチームがまた一流のセキュリティ機能を提供できたなんて最高だ。

「シグナルラチェット」について投稿してるのが不思議だね。だって、静的鍵を使ったクラウドバックアップを始めたばかりじゃん?そのクラウドバックアップには消えるメッセージが含まれてるから、このプロトコルのフォワードセキュリティが完全に崩れちゃうよ。

あのバックアップシステムはおそらく対称暗号を使ってるんだろうけど、量子加速攻撃にはそんなに脆弱じゃないよね。

Signalは、相手とのやり取りを守ることはできないよ。相手は会話をバックアップしたり、スクリーンショットを撮ったり、別のカメラで画面を撮影したりできるからね。送った内容を自分の言葉で再現することもできるし。

これでSignalはiMessageとPQ3の関係でどうなったのかな?ついでに、CyphやSimplexにおける量子耐性暗号メッセージングの以前の試みについてもコメントできる人いる?[1] https://security.apple.com/blog/imessage-pq3/ [2] https://www.cyph.com/castle [3] https://simplex.chat/blog/20240314-simplex-chat-v5-6-quantum...

SignalプロトコルとMatrix、MLSなどの現代的な比較を見てみたいな。全部追いかけるのは難しいけど、まだ動きがあるみたいだし。

もしかしたら理解力が足りてないのかもしれないけど、これは既存のメッセージにとって何を意味するの?もうすでに3者に「吸い取られた」メッセージには関係ないと思うけど、もちろんSignalの管理下にないデータには遡及的に適用できないよね。でも、彼らの管理下にある既存のメッセージはどうなるの?

SignalがCIAに資金提供されてたって本当なの?それとも人々に不信感を抱かせるためのデマ?

なんでか知らないけど、彼らはメタデータについては気にしてないみたい。機関は主にメタデータを集めてるし…

Signalには基本的な安全機能が欠けてるんだ。背景を説明すると、「誰が私の番号を見れるか」と「誰が番号で私を見つけられるか」を両方とも「誰にも見せない」に設定することが必要なんだ。これでスパムメッセージやハッキングの試みが減るからね。これを設定すると、誰かがあなたと会話を始めるには、あなたのSignalのユーザー名かQRリンクを知っている必要があるんだ。これらはプロフィールで設定できるよ。ただ、問題は、あなたのリンクが連絡先によって安全でない形で保存されてしまうことがあって、それが他の人にも使われる可能性があるってこと。そうなると、ハッカーに漏れて、無断でメッセージが送られてくることもあるんだ。あったらいいなと思う安全機能は、一度限りのリンクでしか連絡できないようにすることだね。再利用できないやつ。