秘話
セキュリティの強さを示すセキュリティモードとして1から4までが定義され、接続機器のBluetoothバージョンやサポートする機能に応じそのいずれかのモードで動作する。モード1から4の順にセキュリティのレベルが高くなる。モード1は認証や暗号化を全く行わない。最もレベルが高いモード4はBluetoothバージョン2.1で追加されたもので、認証の方式が変わるとともに全てのサービスで暗号化が行われる。ただし接続先の機器のバージョンや機能が低い場合は、相手に合わせたモードが選択される。Bluetoothの最新バージョンであれば必ず強力な暗号化が行れるわけではない。
Bluetoothの通信は、認証と暗号化で使われる秘密鍵の元となるリンクキーの生成(ペアリング)、リンクキーを用いたチャレンジレスポンス認証(英語版)、認証で使われたリンクキーと乱数値から生成された秘密鍵による通信データの暗号化/復号、の3つのフェーズからなる。
Bluetooth機器同士が通信を行う場合、最初に128ビット長のリンクキーを生成しなければならない。セキュリティモード2と3では16バイト以下の長さのユーザが入力したPIN (Personal Identification Number) と呼ばれるパスキー(パスワード)と内部で生成した乱数を使って相互にチャレンジレスポンス認証(英語版)を行い共通鍵であるリンクキーを生成する。ペアリングを行ったBluetooth機器どうしの認証と暗号化の鍵は全てリンクキーから派生するため、システム全体のセキュリティの強さはPIN入力に依存する。
信号を時間毎にブロック分けし、ブロック内で時間反転を行う。
5 kg(54ポンド)にもなった。無線機単体の重量は6.2kg程度なので秘話通信の負担はかなり大きかった。通信兵への負荷を軽減するため、アメリカ海兵隊では2名の兵士が秘話装置と無線機とをそれぞれ運び双方をケーブルで繋ぐやり方を試していたが、障害物の多いジャングル内での戦闘に向いたやり方とは言えなかった。これらの問題もあり、1970年頃のNESTORの総数は3万台ほどだったが、実際に使用されていた機器の数はその10分の1と見積もられている。
VINSON
NESTORへの反省から、代替としてVINSONと呼ばれる新たな音声暗号化装置ファミリーの開発が1971年から始まった。音声符号化方式として適応デルタ変調の一種のCVSD (Continuously Variable Slope Delta modulation) を用い、音声を16kbpsに符号化し暗号化を行う方式で、NESTORと比べ音質が良くなり、LSI技術を用いたため機器も小型軽量化され、無線回線経由で暗号鍵の更新 (OTAR, Over the Air Rekeying) が可能で暗号鍵の配布も簡単になり使いやすくなった。暗号化にはアメリカのNSAと英国のGCHQとで共同開発したSAVILLEアルゴリズムを使用した。この具体的なアルゴリズムや仕様は公開されていない。使用される鍵長は8ビットのパリティビットを含め128ビットだと予想されている。 VINSONファミリーとしてKY-57(車両/歩兵用)やKY-58(航空機用)などの暗号化装置が開発され、1970年代から1980年代にかけてNESTORを置き換えていった。
大祖国戦争の終結後、当時のソビエト連邦もアメリカやイギリスと同じようにデジタル方式の音声暗号化装置の開発を積極的に推し進めた。初期の研究は秘話装置開発のためモスクワ郊外のマールフィノ(Marfino、露: Марфино)に創設された特殊研究所で行われた。
マールフィノ研究所の創設
マールフィノの特殊研究所は、当時シャラーシカ(Sharashka、露: Шарашка)と呼ばれた秘密研究を行う特別収容所の1つで、知識や技術を持った囚人たちが集められ政府のために研究と開発を行った。この当時のソビエトは大祖国戦争のため疲弊し、またスターリン批判などの政治的理由で多くの知識人が投獄された。科学者やエンジニアなどの人材は貴重で、優秀な人材をシベリアでの強制労働で無駄にする余裕はなかった。
マールフィノ研究所で秘話の研究/開発を行った囚人でもっとも有名な人物はノーベル賞作家のアレクサンドル・ソルジェニーツィンで、後にマールフィノ研究所での経験を元にこの研究所を舞台にした小説『煉獄のなかで』を書き、「マーヴリノ研究所」の名前でこの特殊研究所の様子を描写している。最初は数学者として秘話システムの基礎理論の構築を行うグループに配属され、1948年10月にそのグループが解散した後は研究所内部の音響研究室で1950年まで秘話装置評価のための明瞭度と了解度測定の研究を行った。他に、楽器テルミンの発明者として有名なレフ・テルミンも秘話装置の音質改善に関係した。
マールフィノ研究所は1948年に創設されたが、そのきっかけは第二次世界大戦中にまで遡ることができる。
偽の基地局を端末の近くに用意しそこから本来の基地局と通信を行うことで相手に気づかれずに盗聴する中間者攻撃も考えられている。 さらに、強力な暗号化機能を使用している場合であっても、通信事業者の設備内での復号後の音声の盗聴は可能である。
例えば、アメリカでは犯罪捜査を目的に公的機関による携帯電話の盗聴が日常的に行われている。2012年には前年より24パーセント多い3393件の盗聴が連邦判事や州判事の許可のもとに行われた。アメリカ合衆国連邦裁判所では犯罪調査などを目的とする携帯電話やメールなどの盗聴の統計を"盗聴レポート" (Wiretap Report) の名前で毎年公表している。この盗聴には2001年から行われている暗号解読も含まれる。
また、アメリカ同時多発テロ事件が起こった翌年の2002年以降、ブッシュ大統領の指示によりNSAが令状を取らない大規模な通信傍受を行っていたことも明らかになっている。
NSAはアメリカ国内だけではなく友好国であるドイツのメルケル首相の携帯電話の盗聴を行っていたと言われ、シュピーゲルによると2002年からモニターしていたとされる。さらに、アメリカの政府関係者が得た連絡先の電話番号を利用し世界中の35名のリーダーの携帯電話も盗聴していたことが明らかになっている。
日本でも2000年に施行された通信傍受法に基づき犯罪捜査のための通信傍受が行われている。内容は毎年法務省から国会に報告され、件数や傍受の実施状況、傍受が行われた事件に関して逮捕した人数などが一般にも公開されている。報告内容には携帯電話の傍受も多数含まれる。
現代ロシア語には3500程度の異なった音節があり、核となる100の音節で全体のサンプルの63%、600の音節で全体の93%がカバーできることもわかった。
これらの研究から過去に明瞭度試験のために使われていた単語リストは現代ロシア語に即しておらず正しい試験ができないことが分かり、研究結果を元に新しい単語リストが作られた。研究所内で最初に開かれた学術会議でソルジェニーツィンとコペレフとはそれぞれ研究成果の数学的側面と音声学的側面について発表し、コペレフはこの研究の成果を図表を含め4巻からなる大著にまとめた。
当時コペレフはスペクトログラムから何を話しているかを読み取ることができる唯一のロシア人とも呼ばれていた。その技能のためソルジェニーツィンの助けを借りながら電話の声の声紋分析によりスパイを割り出す仕事もさせられた。
研究所には若い女性中尉が管理する図書室があり、ソルジェニーツィンやコペレフはここで多くの調査を行った。調査に必要な新聞や現代小説、研究のための文献などはモスクワ図書館やレーニン科学アカデミーの図書館などから借りることができた。膨大な量のサンプルを調べる作業は大変なものだったが、若い女性中尉の笑顔を見たり、安っぽい化粧品の香りを嗅いだり、偶然に肌が触れたり、冗談を言ったりすることも、現代小説を読むことも、一般の強制収容所では経験できないことだった。
ソルジェニーツィンがマールフィノ研究所での経験を元に書いた小説『煉獄のなかで』のロシア語原題の直訳は『第一圏のなかで』(露: В круге первом)である。
音声の遅延が増えるためスムーズな会話ができなくなる。音声の遅延を減らすためにセグメント数を少なくすると置換の組み合わせも少なくなるため十分な暗号強度が得られない。遅延時間や音質のバランスを考慮し、1フレームあたりのセグメント長は帯域幅の広がりがほとんど無視できる20〜60mS程度、1フレームのセグメント数は8から10程度が選ばれる。各セグメントの置換方法が常に同じだと解読は容易なので、置換方法を時間的に変化させることが多い。
セグメント数として8を選んだ場合、置換の組み合わせは計算上 8!=40320 通りあるが、全ての組み合わせが実際に使えるわけではない。秘話性は置換の仕方により変化し、元の音声波形とあまり大きく違わない組み合わせは使用できない。スクランブル後の信号の残留了解度の予測は難しい場合があり、ヒアリングテストにより残留了解度が低くなるような組み合わせを選択する。 また、複数の置換方法を切り替えて使う場合、ある置換方法でスクランブルした出力を別の置換方法で復号した場合の残留了解度が低くなるようにする必要がある。
時間セグメント置換の方式は、大きく分けてホッピングウィンドウ (Hopping Window) 方式とスライディングウィンドウ (Sliding Window) 方式の2種類がある。ホッピングウィンドウは音声信号を一定の時間長のフレームに切り出し、それぞれのフレームの内部でセグメントの置換を行った後に送出する方式である。スライディングウィンドウではセグメント単位で連続的に処理を行う方式で、音声信号を1セグメントずつ読み込みながら過去の1セグメントのいずれかを選んで出力していく。