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

この電報は、伝達する前に慎重に言い換える必要があります。なぜですか?

概要

  • 米軍通信教義 では、同一メッセージを異なる暗号方式で繰り返し送信しない規則
  • この規則を守るための手法が 「paraphrase(パラフレーズ)」
  • 1950年の米陸軍マニュアル TM 32-220「BASIC CRYPTOGRAPHY」 に詳細記載
  • パラフレーズの具体的な方法と注意点
  • 第二次世界大戦中の Enigma解読 にも関連する運用上の脆弱性

米軍暗号通信におけるパラフレーズ規則

  • 同一内容のメッセージ を、異なる暗号方式(「平文」も含む)で 繰り返し送信禁止 の原則
  • 敵が平文と暗号文を比較 することで暗号解読の手掛かりを得るリスク回避
  • 公表や複数人が扱う情報では、 原文を忠実に繰り返さず、慎重にパラフレーズ して配布
  • パラフレーズの定義: 意味を変えず、表現・語順・語句・文構造を最大限変更
    • 文や語句の順序変更
    • 主語・述語・修飾語の並び替え
    • 同義語や別表現への置換
  • 冗長化よりも簡素化 が推奨
    • 単純な拡大パラフレーズは、専門家が元の内容へ容易に還元可能
  • 固有名詞や繰り返し語句の削除 推奨
    • 代名詞や「前者」「後者」などの表現で代用
  • パラフレーズ後、 別の暗号鍵やコードで送信

パラフレーズ規則の運用上の注意

  • 暗号化されたメッセージ やそのパラフレーズ版を、再度平文または暗号文で送信しないこと
    • 例外は 規定で特別に認められた場合のみ
  • 規則違反は暗号の安全性を著しく損なう 危険

Enigma解読と運用上の脆弱性

  • 連合軍は、ドイツ軍が同じ内容のメッセージを複数の暗号方式で送信した事例を活用
    • 捕獲した機材や単純な暗号 で平文と暗号文のペアを取得
    • これにより、 Enigmaなど強力な暗号の解読 に成功
  • Enigma自体の暗号強度よりも、運用手順や操作ミス、手順変更の不徹底、機材・コード表の捕獲が大きな要因
    • 運用上のミスが 暗号解読の突破口 となった事例

まとめ

  • パラフレーズ規則 は暗号通信の基本的な安全対策
  • 運用手順の徹底が 暗号の安全性維持 に不可欠
  • 歴史的事例(Enigma) からも、手順違反の危険性が明白

Hackerたちの意見

これについてもっと情報を探すなら、「既知平文攻撃」って言葉でググるといいよ。

なるほど、そういうことか。最初は囚人が手紙で秘密のメッセージを送って、看守がそれをかき消そうとしてる話かと思ってたんだ。

こういうことに興味がある人には、ネットアーカイブに面白い軍事マニュアルがあって、コンピュータ以前のペンと紙の暗号とその解読方法が詳しく説明されてるよ。1. https://archive.org/details/Fm3440.2BasicCryptAnalysis/mode/...

「いい発見だね!GCHQパズルブックの素晴らしい相棒だ!」

知られている不変量が、TLなどの現代の暗号を破るのに使われたことってないの? SSHパケットには常に何かの既知情報が含まれてるし。

「あるシステムではそうだね。esp32の暗号は、隣接するブロックがカウンターモードで同じノンスを再利用するという奇妙な実装があって、平文の構造を知っていると、いくつかのブロックの内容が直接わかっちゃうんだ。」

drum55の回答が埋もれてる理由はわからないけど、彼らの言う通り、現代の暗号学におけるNonceの概念がこの問題に対処してるよ。

これはWW2のスパイ関連の本を読んでるとよく出てくる概念だね(例えば『シルクと青酸』、めっちゃおすすめ)。でも、私が本当に興味を引かれたのは、手紙のフォントで大文字の「E」が「e」の代わりに使われてること。これってどういうこと?

それは奇妙だね。ちょっとネットで調べたら、同じような奇妙なタイポグラフィのタイプされたテキストのサンプルがあるRedditの投稿を見つけたよ:https://www.reddit.com/r/typewriters/s/f2CIY0TCm3 バイリンガルのキリル文字タイプライターからのストライカーが混ざってた可能性があるっていうのは面白いね。WWIIの外交電報を転写してた人は、確かにキリル文字のタイプライターが必要だったかもしれないし…

「この例とは関係ないかもしれないけど、メッセージが怠けたROT13みたいな暗号で書かれていると、eの文字が悪名高いネズミになって、誰でもすぐに全体を解読できちゃうんだ。文字の大文字小文字をランダムにしたり隠したりすれば、少し時間を稼げるかもしれないけど、ここでは全然違うことだと思う。」

読みやすさかな。ᴇをcと混同しちゃいけないし。

大文字のEについても同じ疑問があった。Eの中にはちょっとカールしてるように見えるものがあって、エプシロンみたいだけど、これは視覚的な錯覚かもね。でも「chancE3」の3を見てみて。

面白いね。受け入れられた回答の説明が好きだった。このルールが特に印象的で、「一度暗号形式で送信したメッセージの同一テキストをクリアで繰り返さないこと、または一度クリアで送信したメッセージのテキストを暗号形式で繰り返さないこと」。子供の頃、図書館の本で暗号について学んだんだ。一度限りのパッドに魅了されて、友達に手紙のやり取りをしようと説得したんだけど、数通やり取りした後、面倒になっちゃった。結局、労力に見合わなかったから。だから、秘密に関わる人たちってどうなんだろうって思う。暗号化された通信は、科学的な通信とは真逆な感じがする。秘密を持つ人たちは、たぶん政治に近いのかな。

「ジュースのために搾る価値はなかったな。オバルティーンは解読されたメッセージと相性がいいって思い出した。」

「その果実は搾る価値がなかった」

もし誰かが次のことをした場合もこれが当てはまるのかな? 暗号化された通信を受け取る -> 解読する -> それを渡す必要があるから再暗号化して渡す? この場合、パラフレーズは必要ないと思うんだけど、暗号化されたテキストの2つのバージョンを比較するのはあまり有用じゃないし、暗号化されたバージョンと解読されたバージョンの比較の方がいいと思う(それに、意味が少しずつ変わっていく「電話ゲーム」のリスクもある気がする。意図的でなくても、時間が経つにつれて違う意味になっちゃうかも)。

「いや、SOの回答にも書いてあるけど、心配なのは敵があなたのメッセージの一つを解読できてしまうことなんだ。その時、同じ元の平文があれば、二つ目の暗号を解く手助けになるから。」

一度暗号形式で送信したメッセージの同一テキストをクリアで繰り返さないこと、または一度クリアで送信したメッセージのテキストを暗号形式で繰り返さないこと それが、エニグマが解読された理由でもあるんだ。毎回「天気」で始まる天気報告は良くないアイデアだってことが分かったよ。

「それに、リーダーの名前を使った同じ敬礼で終わらせるのもありだね。」

「同じキーを使ってパラフレーズされたメッセージを送るのも同じくらい危険だよ(これを「深く送信する」と呼ぶ)。これはロレンツ(「タニー」)暗号を解くのに使われたんだ。面白いことに、ブレッチリー・パークはロレンツ機を手に入れていなかったけど、推測に基づいて解読したんだ。それが初の真空管コンピュータ、コロッサスの開発につながった(これがENIACに影響を与えた)。今では、メッセージを深く送信しないようにノンスを使うけど、ノンスの再利用はAES-GCMのようなシステムにとっても同じくらい悲惨な結果を招くことがある。例えば、ノンスを再利用したビットコインハードウェアウォレットがあって、プライベートキーが抽出されてビットコインが盗まれたことがある。(明確に言うと、暗号通貨とAES-GCMは全く異なるシステムだけど、この一つの特性は共通している。) https://en.wikipedia.org/wiki/Cryptanalysis_of_the_Lorenz_ci... https://www.youtube.com/watch?v=Ou_9ntYRzzw [Computerphile, 16m] ちなみに、「深く送信する」って呼ばれる理由を知ってる人いる?ブレッチリー・パークが魚の名前をつけるのが好きだからかな?それとも、メッセージをまとめて並べて、パターンを視覚的に見つけるためにステンシルをスライドさせる技術に関係してるのかな?ちょっと調べてみたけど、すごく一般的なフレーズだから検索が難しいんだ。1944年のブレッチリー・パーク暗号辞典には定義が載ってるけど、語源は書いてないんだ。 https://www.codesandciphers.org.uk/documents/cryptdict/crypt... [ページ28]」

「深く掘り下げる」というのは、相手に対してより多くの資料を与えるという考えから来てるんじゃないかな。これを裏付けるものはないけど。

イーサリアムの面白い特徴は、契約アドレスがデプロイアーのアドレスとnonceによって決まることだね。だから、存在しない契約にETHを送って、後でそこに契約をデプロイして回収することもできるんだ。

「だから、チェーンの最初のメッセージはすごく冗長で繰り返しが多くて、チェーンを下って修正しやすくするのが理にかなってるね。官僚たちはそれを書くのが楽しかっただろうな。」