Comments
Description
Transcript
Bluetooth技術を利用した安全かつ 堅牢な無線通信の実現
Perspective - Bluetooth Security Bluetooth技術を利用した安全かつ 堅牢な無線通信の実現 Mamoon Hamid / Manager, Strategic Solutions, Consumer/Home Networking, Xilinx, Inc. [email protected] プログラマブル・ロジックを使用して、データの安全性とインテグリティを必要とする無線機器の設計。 BluetoothTM無線技術はどこでも使用できる低コストのソリュー ションで、非常に広い範囲におよぶデータ通信に使用できますが、 に、高位レイヤのソフトウェアにおいて複数の異なる鍵が使用さ れます。図1に、鍵管理のブロック図を示します。 データのセキュリティとインテグリティという、今後解決すべき2 つの大きな問題があります。この2つの問題によって、Bluetooth の応用範囲が決まってくるでしょう。 デバイス認証 Bluetoothシステムにとって認証は非常に重要なセキュリティ・ コンポーネントであり、Bluetoothデバイスのアドホック・ネッ Bluetoothのデータ・セキュリティ トワーク間に信頼ドメインを構成することができます。 Bluetooth規格にも一定のセキュリティのメカニズムが規定さ Bluetoothの認証は、2つのデバイス間接続のセキュリティを保証 れていますが、これは短距離無線通信におけるごく基本的なレベ するチャレンジ/レスポンス方式に基づいています。デバイスの認 ルの保護を提供するものであるため、各Bluetoothデバイスごと 証に失敗した場合、新たな認証処理は一定時間が経過した後でな に、鍵管理による認証と暗号をインプリメントする必要がありま ければ実行できません。 す。Bluetoothの汎用アクセス・プロファイル(GAP:Generic Access Profile)では、セキュリティを3種類のモードに分類し 暗号化 ています。さらに、Bluetooth技術では周波数ホッピング方式が Bluetoothの暗号化技術は接続のプライバシ確保のために使用 インプリメントされており、これも盗聴に対する追加的なセキュ されます。暗号処理の前に、認証済みのリンクを設定する必要が リティ手段として使用されます。 あります。暗号処理を行うことにより、Bluetoothパケットの データ・ペイロードは8ビットから128ビットの鍵によってスク 鍵管理 Bluetoothのセキュリティでは、通信の安全性を確保するため ランブルされますが、Bluetoothのアクセスコードとパケット・ ヘッダは暗号化されません。ペイロードの暗号化方法は、必要な 暗号強度とその機器を使用している地域の 図1 Bluetoothの鍵管理 法規によって異なります。 物理層のデータ・セキュリティ:周波数 ホッピング・スペクトル拡散方式 Bluetooth機器に組み込まれている他 のセキュリティ機能のほか、Bluetooth 通信に採用されている周波数ホッピング 方式(周波数ホッピング・スペクトル拡 散方式すなわちFHSS:Frequency Hopping Spread Spectrum)も、盗聴 を極めて困難にするメカニズムとして使 用されます。 Bluetoothの無線通信には、2.4GHz のISM帯が使用されます。北米や欧州の ほとんどの地域では、2.402GHzから 2.480GHzまでの周波数帯域を、さらに 1MHz幅の79のサブチャンネルに分けて 使用しています。周波数ホッピング方式 では、時間の関数として1つの周波数か ら別の周波数へのホッピングが行われる 狭帯域搬送信号によってデータ信号が変 調されます。Bluetooth無線においては、 毎秒1600回のホッピング・シーケンス 16-1 が採用されています。 図2 X_DES暗号プロセッサのブロック図(InSilicon社提供) FHSSでは、周波数をさまざまに変化させることに DIN [63:0] よって干渉を防いでいます。通信時に1つの周波数にお いて干渉が生じると、その信号は、後に続く他の周波数 最終置換 へのホッピング上で再送されます。全体的な干渉は非常 RES_IN CLK に少なく、ビット・エラーをほとんど、あるいはまった く除去することができます。 Bluetoothのデータ・インテグリティ:前方エラー訂正 (FEC) 前方エラー訂正(FEC:Forward Error Correction) 拡張置換 により、データ・ペイロードの再送数を減らすことがで きます。しかし、その一方で実現可能なスループットは 鍵プロセッサ KEY [63:0] 制御用 ステート・ マシン GO E_D READY 著しく低下するのが欠点です。Bluetooth技術でインプ Sボックス リメントされている前方エラー訂正には、次の3種類が あります。 ●1/3レートFEC:各ヘッダ・ビットは3回繰り返され ます。このFECは、主に重要なリンク情報を含む P置換 ヘッダのエラーをマスクするのに使用します。 ● 2/3レートFEC:10ビットずつの情報ビットが15 ビットのコード・ワードに符号化されます。このタイ プのエラー訂正は、最も壊れにくい方法でデータパ 左レジスタ 右レジスタ ケットを送信するために主に使用します。 ●自動再送(ARQ:Automatic Repeat reQuest): 特に、受信者からパケットの受信確認が得られるまで、 最終置換 これらのデータパケットの送信あるいは再送を続ける ために使用します。受信者は、最初のパケットの送信 元へ送り返すヘッダを使用して確認応答を返します。 データ・ホワイトニング すべてのヘッダ情報およびペイロード情報は、送信前にデー タ・ホワイトニング・ビットによってスクランブル化されますの DOUT [63:0] 偽のメッセージを送るといったことも考えられます。Lucent Technologies社によれば、これを避ける1つの方法は、ユーザが 長い個人識別番号を使用して暗号鍵を盗みにくくすることです。 で、「0」や「1」の冗長ビットは送信から除外されます。ベース このためには、個人識別番号(PIN:Personal Identification バンド・プロセッサがアナログ信号を受信する場合はアナログ信 Number)を手作業で入力する必要がありますが、これは非常に 号を「0」または「1」に分類する必要があるため、冗長ビットの 不便な操作で、接続のセキュリティを確保するためには、面倒な 除外が問題になることがあります。これらの信号ではDCのような 入力作業を行わなければなりません。 基準点がないため、較正を行う場合は最後のわずかな信号送信に このようなセキュリティ上の問題を解決するもう1つの方法は、 依存せざるを得ず、「0」または「1」が長く続く場合は較正がう ストリーム暗号であるE0アルゴリズムではなく、データ標準暗号 まくいかないことがあります。したがって、これらの信号は、 化方式(DES:Data Encryption Standard)やトリプルDES、 データ・ホワイトニングによりスクランブル化されます。この処 あるいは次世代標準暗号化方式(AES:Advanced Encryption 理によって、「0」または「1」が長く続く可能性は非常に少なく Standard)などの、より確実な暗号アルゴリズムを使用すること なります。 です。DESはブロック暗号で、1つのデータ・ブロックを一度に すべて暗号化してから次のブロックに進みます。DESでは、オリ 高度なデータ・セキュリティを実現するプログラマ ブル・ソリューション 高度な機密性が求められアプリケーションでは、ほとんどの場 合Bluetoothのデータ・セキュリティ機能だけでは不充分です。 ジナルのメッセージは64ビットの固定長ブロックに分割され、 56ビットの秘密鍵を使用して変換と置換により64ビットの暗号 メッセージを作成します。図2にDESのブロック図を示します。 Bluetoothのストリーム暗号化アルゴリズムとは異なり、ブ 小さなアプリケーションではあまり問題となりませんが、扱いに ロック暗号の安全性が極めて高いことは数学的に証明されていま 注意を要するデータや、さもなければ何らかの問題が起こるデー す。DESブロック暗号は無作為性が高く非線形で、オリジナル・ タを送信する場合は、Bluetoothを使用しない方がよいように思 メッセージの各ビットおよび鍵によって決まる暗号化テキストを えます。たとえば、Bluetoothに使用されている暗号化方式は、 作成します。DESでは72,000兆(72×1015)以上の暗号鍵を ある種の脆弱性をはらんでいます。考えられるシナリオとしては、 使用することができ、与えられた各メッセージに対してこの膨大 2デバイス間の通信の安全を保障する暗号鍵を悪意ある第3者(攻 な数の中から無作為に鍵が選ばれます。DESアルゴリズムは広く 撃者)が入手し、これによって通信内容を盗み出す、といった事 使用されており、信頼性の高いものと見なされていますが、これ 態があり得ます。また、この攻撃者がデバイスの1つになりすまし、 の異形として、さらに安全性の高いトリプルDESを使用すること 16-2 もできます。トリプルDESでは、異なる鍵を使用してDESが3回 繰り返して実行されます。 それでも、工場、オフィス・ビル、空港、大都市の公共交通機 関など、条件の厳しい環境においては通信エラーが発生する恐れ これら両方の暗号化アルゴリズム、DESおよびトリプルDESは、 があります。このような場所では、同じ周波数帯で使用される他 低価格のプログラマブル・ロジック・デバイスと、より高いレベ の複数のBluetoothデバイスや無線ネットワーク、電話システム ルの暗号を実現する既存の知的資産(IP)を利用してインプリメ などの電子機器からのノイズと干渉によって問題が生じることが ントすることができます。今日、100,000システム・ゲートの 考えられます。このような場合も、プログラマブル・ロジックと TM Spartan FPGAは、標準品としてデバイス当たり量産価格10ド 高度なエラー訂正IPを使用して、エラーのない通信が可能です。 ルで購入できます。さらに、FPGAを使用すれば、暗号機能の他 この様な厳しい通信環境のもとでは、このほか、ターボ畳み込み に、高度なエラー訂正などの機能を設計に追加することができま 符号化などの堅牢な前方エラー訂正手法をとることもできます。 す。したがって、プログラマブル・ロジックを使用することによ ターボ符号化は高度な前方エラー訂正アルゴリズムで、広帯域 り、システム・レベルのコストを大幅に低減することが可能です。 コード分割多重方式(W-CDMA)を採用したシステムなどの第3 その優れた安全性と最適化されたハードウェアおよびソフト 世代(3G)無線通信システムの標準コンポーネントです。ターボ ウェア・インプリメンテーションによって、急速に普及しつつあ 符号化の原理は以下のようなものです。エンコーダが、個別に符 るもう1 つの暗号化アルゴリズムが、 「ラインダール(Rijndael) 」 号化された2つのデータ・ストリームと符号化されていない1つの とも呼ばれるAESです。AESは128ビットのブロック暗号で、 データ・ストリームから構成されるデータ・ストリームを生成し 128ビット、192ビット、あるいは256ビット長の鍵を選ぶこと ます。インターリーブ処理を行うことから、2つのパリティ・スト ができます。AESの暗号化ブロックと復号ブロックは、プログラ リームは互いに少しの関連を持っています。これら2つのパリ マブル・ロジックを使用して個別に、あるいはまとめてインプリ ティ・ストリームは、軟判定出力によってターボ・デコーダ内で メント可能です。さらに、鍵ジェネレータは、鍵の長さに基づい 個別に復号されますが、これは「外部(extrinsic) 」情報と呼ばれ てパラメータ化することができます。プログラマブル・ロジックを ます。 ベースとしたインプリメンテーションはモジュール 方式で、必要なセキュリティ・レベルに応じてハー ドウェア・インプリメンテーションを選ぶことがで きます。図3はAESのブロック図です。128ビッ 図3 AES暗号コア(Helion Technology社提供) 平文入力 暗号文出力 128ビット 128ビット ト鍵ジェネレータを使用するこの暗号コアのシリコ ン・ベースのコストは、現在2ドル以下です。また、 最終アプリケーションのセキュリティ要求に応じ て、バリエーションのインプリメントも可能です。 暗号化要求 鍵サイズ選択 Helion AESコア 暗号状態 ソフトウェアベースの暗号化ソリューションは柔 軟性こそ高いものの性能が低下します。ハードウェ 非同期リセット アベースの暗号化ソリューションは高性能ですが、 一度設計さたものは柔軟性に欠けます。プログラマ マスタークロック ブル・ロジックをベースとした暗号化ソリューショ ンは、これら2つのバランスをうまくとり、高い柔 軟性と高性能を同時に実現することができます。 各種制御と状態 ラウンド鍵 より堅牢な暗号化アルゴリズムを採用することに より、セキュリティが最も重要視されるアプリケー ションでも、広範囲にわたって安全にBluetooth技 鍵入力 128/192/256ビット 術を展開することができます。これらの分野には次 のようなものがあります。 マスタークロック Helion AES ラウンド鍵コア ●ATMやスマートカードなどの電子金融業務 ●安全な電子商取引業務 ●安全なオフィス内通信 ターボ復号の強みは、何度も繰り返される中で共有される外部 ●安全なビデオ監視システム 情報に由来します。外部情報は1つのパリティ復号ステップから他 ●デジタル・セットトップ・ボックス のステップに、つまり1つの繰り返しから別の繰り返しに渡されま ●HDTV す。このようなターボ畳み込みCEDEC用の既存IPはいつでも利用 ●その他の民生用電子機器 することが可能で、ザイリンクスSpartanシリーズのような低コ ストのプログラマブル・ロジック・デバイスに、簡単にインプリ 高度なデータ・インテグリティを実現するプログラ マブル・ソリューション Bluetooth規格では、データ・ホワイトニングとエラー・チェッ メントが可能です。このソリューションにより、条件が厳しく、 エラーの発生しやすい環境においても、Bluetoothのデータ送信 におけるインテグリティを確保することができます。 キングを使用することにより、予期せぬエラーが送信されるのを 防止する効果的な方法が定められています。常に送信エラーを招 くような特殊なデータ・ストリームも理論的には考えられますが、 通常の通信においてはほとんどあり得ません。 16-3 結 論 Bluetooth無線技術は、通信の方法を変えつつあります。しか し、安全なアプリケーションを実現するにあたっては、まだデー タのセキュリティとインテグリティの面で解決すべき問題を抱え ています。低コストのプログラマブル・ロジックは、データに対 する高度なセキュリティとインテグリティをインプリメントする のに理想的なデバイスです。これは、セキュリティが最も重要視 されるアプリケーションにおいて、より高いレベルのセキュリティ を実現するために欠かすことのできないものです。また、条件の 厳しい環境で使用されるアプリケーションも、最適化されたプロ グラマブル・ロジックの利点を活かすことができます。以上述べ たように、プログラマブル・ロジックは、カスタムのBluetooth インプリメンテーションをエンベデッド・システムなどに組み込 むことのできる非常に優れたソリューションです。 16-4