概要
A5/1は
ストリーム暗号の一つで、
GSM(Global System for Mobile Communications)
携帯電話の通信を保護するために設計されています。この
暗号は当初秘密にされていましたが、後に情報漏洩や
リバースエンジニアリングを通じてその詳細が明らかにされました。しかし、A5/1にはいくつかの深刻な脆弱性が指摘されています。
歴史と使用
A5/1は1987年に開発され、主に
ヨーロッパおよび米国で使用されています。同じ規格の若干弱い派生版としてA5/2も存在し、主にその他の地域で利用されています。
GSMは当初、
ヨーロッパ以外での使用を考慮しておらず、A5/2はその2年後の1989年に開発されました。当初、これらの
暗号の詳細は機密扱いでしたが、1994年に設計の概要が流出し、1999年にはMarc Bricenoの
リバースエンジニアリングによってアルゴリズム全体が明らかになりました。当時、1億3000万の
GSM利用者がA5/1により通信内容を保護していました。
セキュリティ研究者Ross Andersonは、1994年に
GSMの
暗号強度に対する各国の意見が分かれていたことを指摘しています。ドイツは強力な
暗号を求めましたが、他の国は強力な
暗号の必要性に対して懐疑的でした。最終的に実装されたA5/1はフランスの設計に基づいています。
技術的解説
GSMでは、通信はバーストと呼ばれるデータの単位で行われます。通常、1バーストは4.614ミリ秒ごとに送信され、114ビットの情報が含まれています。A5/1はこの114ビットに対応する鍵ストリームを生成し、平文にXORで結合して
暗号化します。A5/1の初期化には64ビットの鍵と22ビットのフレーム番号を使用しますが、実際の実装では鍵の10ビットが固定され、実質的な鍵長は54ビットとなっています。
A5/1は、3つの線形帰還
シフトレジスタ(LFSR)の組み合わせで構成され、クロック信号が不規則に供給されます。各レジスタに対しては、クロックビットが設定され、その多数決によってどのレジスタにクロックが供給されるかが決まります。サイクルごとに2つまたは3つのレジスタが進行し、初期状態では各レジスタは0に設定されています。そこに鍵ビットを投入し、時にはフレーム番号を追加しながら、114ビットの鍵ストリームを生成します。このプロセスは非常に複雑で、各ビットがどのように生成されるかには綿密な計算が必要です。
セキュリティの脆弱性
A5/1に対する攻撃方法は数多く存在し、その中には時間計算が非常に長いものもあります。1997年には、Golicによる連立1次方程式に基づいた攻撃法が発表され、2000年にはBiryukovらがリアルタイムでの解読が可能であることを示しました。Eli BihamとOrr Dunkelmanも2000年に新たな攻撃方法を開発し、平文データを使って
暗号を解読する手法を確立しました。
2003年には、Elad Barkanらが
GSMに対する
暗号解読の新たな方法を公開し、これによりリアルタイムでの会話聴取が可能となる攻撃が明らかになりました。ほかにも、様々な手法が開発されており、特に基地局を装っての攻撃や、
暗号文のみに基づく攻撃が有名です。
結論
A5/1は
GSMにおける通信の
プライバシーを守るために重要な役割を果たしていますが、その脆弱性によって、さまざまな攻撃のターゲットとなっています。今後の通信技術の進展とともに、より強固な
暗号技術が求められるでしょう。