(57)【要約】【課題】上位層とＭＡＣ層との間でのデータ転送の最中にそのデータを第三者に読まれたとしても、そのデータを解読することはできない無線通信装置及び無線通信方法を提供する。【解決手段】ＭＡＣ層において暗号化されたパケットを、他の無線通信装置に転送する無線通信装置に、前記パケットで送信するデータを所定のアルゴリズムにより暗号化を行う暗号化手段を備え、前記ＭＡＣ層において、前記暗号化されたデータに所定のデータ  フレーム  フォーマットを適用し、該データ  フレーム  フォーマットを適用した前記暗号化されたデータを暗号化してパケットを生成することにより上記課題を解決する。【選択図】図１
2008072241.tif 000002
【特許請求の範囲】
【請求項１】
ＭＡＣ層において暗号化されたパケットを、他の無線通信装置に転送する無線通信装置であって、
前記パケットで送信するデータを所定のアルゴリズムにより暗号化を行う暗号化手段
を備え、
前記ＭＡＣ層において、前記暗号化されたデータに所定のデータ  フレーム  フォーマットを適用し、該データ  フレーム  フォーマットを適用した前記暗号化されたデータを暗号化してパケットを生成することを特徴とする無線通信装置。
【請求項２】
ＭＡＣ層以下の処理を行う第１のデバイスと、前記ＭＡＣ層より上のアプリケーション層を構成する第２のデバイスとを備える無線通信装置であって、
前記第１のデバイスは、ＭＡＣ層において暗号化されたパケットを、他の無線通信装置に転送し、
前記第２のデバイスは、
パケットで送信するデータを所定のアルゴリズムにより暗号化を行う暗号化手段
を備え、
前記第１のデバイスは、前記ＭＡＣ層において、前記暗号化されたデータに所定のデータ  フレーム  フォーマットを適用し、該データ  フレーム  フォーマットを適用した前記暗号化されたデータを暗号化してパケットを生成することを特徴とする無線通信装置。
【請求項３】
請求項１または２に記載の無線通信装置において、
前記暗号化手段は、前記他の無線通信装置のデバイスクラスに応じて、前記データを暗号化する際に使用する暗号アルゴリズムを変更することを特徴とする無線通信装置。
【請求項４】
請求項１または２に記載の無線通信装置において、
前記暗号化手段は、前記他の無線通信装置のデバイスクラスに応じて、前記データを暗号化する際に使用する鍵の鍵長を変更することを特徴とする無線通信装置。
【請求項５】
請求項１または２にに記載の無線通信装置において、
前記暗号化手段は、前記他の無線通信装置へ転送する転送方法に応じて、前記データを暗号化する際に使用する暗号アルゴリズムを変更することを特徴とする無線通信装置。
【請求項６】
請求項１または２にに記載の無線通信装置において、
前記暗号化手段は、前記他の無線通信装置へ転送する転送方法に応じて、前記データを暗号化する際に使用する鍵の鍵長を変更することを特徴とする無線通信装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の無線通信装置において、
前記他の無線通信装置が送信する時刻情報に基づいて、前記データの暗号化で使用する鍵を生成する鍵生成手段
を備え、
前記暗号化手段は、前記鍵により、データの暗号化を行うことを特徴とする無線通信装置。
【請求項８】
請求項１ないし６のいずれか１項に記載の無線通信装置において、
外部入力可能な操作手段
を備え、
前記暗号化手段は、前記操作手段により入力された情報に基づいて、前記データの暗号化で使用する鍵を生成することを特徴とする無線通信装置。
【請求項９】
ＭＡＣ層において暗号化されたパケットを、他の無線通信装置に転送する無線通信装置における無線通信方法であって、
前記パケットで送信するデータを所定のアルゴリズムにより暗号化を行う第１の暗号化ステップと、
前記ＭＡＣ層において、前記暗号化されたデータに所定のデータ  フレーム  フォーマットを適用するデータ  フレーム  フォーマット適用ステップと、
前記データ  フレーム  フォーマットを適用した前記暗号化されたデータを暗号化する第２の暗号化ステップと
を有することを特徴とする無線通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相互装置間での送受信に無線を使用する無線通信装置及び無線通信方法に関する。
【背景技術】
【０００２】
複数の装置間において、データ通信を無線で行う装置では、電波傍受によるデータの解読／他人へのなりすまし／データの改ざん／不正アクセス等の無線特有の問題を回避するためのセキュリティ強化が課題となっている。このような課題に対する対策の１つとして通信データの暗号化が広く知られている。
【０００３】
通信データの暗号化が行われる場合、パケット通信を行う送信装置及び受信装置は共通の暗号アルゴリズムを有しており、送信装置はＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層でその暗号アルゴリズムを用いてパケットを暗号化し、その暗号化されたデータを受信装置へ転送する。受信装置は、受信したパケットをＭＡＣ層で、送信装置と共通の暗号アルゴリズムを用いて復号できるようになっている。
【０００４】
さらに、この暗号化したパケットを解読するために必要な暗号鍵は、悪意のある第三者からの盗聴を防ぐため、相互の装置のみが使用できるようにさまざまな方式が提案されている。
【０００５】
このように、ＰＨＹ（ｐｈｙｓｉｃａｌ  ｌａｙｅｒ）層を含むＭＡＣ層以下ではセキュリティ機能を向上させることでセキュアレベルの高いデータ転送ができるようになっている。
【０００６】
例えば、無線通信装置間の距離を認証の鍵に使用し、目的としない無線通信装置による通信の傍受を不可能にし、電波を用いた通信の秘匿性、安全性を高めた無線通信装置が開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２０３５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した無線通信装置では、ＭＡＣ層で暗号化されるため、パケット内のペイロード部分、つまり実データが格納されている部分に対してはセキュリティ対策が行われていない。すなわち、上位層からＭＡＣ層へのデータの受け渡しは生データ（暗号化されていないデータ）のままで行われる。これはセキュリティの観点から好ましくないことである。つまり、ＭＡＣ層と上位層との間のデータ転送部分を監視することで、悪意のある第三者に実データの読み取りを簡単に許してしまう。
【０００８】
また、上述したように、ＭＡＣ層を含む下位層ではセキュリティ対策が施されているが、この対策では第三者からの妨害を必ずしも防げるものではない。すなわち、ＭＡＣ層以下でセキュリティ対策が行われているパケットの解読を第三者が行うことができた場合、パケット内の実データの読取りも可能になってしまう。
【０００９】
そこで、本発明では、上位層とＭＡＣ層との間でのデータ転送の最中にそのデータを第三者に読まれたとしても、そのデータを解読することはできない無線通信装置及び無線通信方法を提供することを目的とする。
【００１０】
また、本発明では、ＭＡＣ層以下でセキュリティ対策が行われているパケットの解読を第三者が行うことができたとしても、パケット内の実データの読取りができない無線通信装置及び無線通信方法を提供することを他の目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の無線通信装置は、
ＭＡＣ層において暗号化されたパケットを、他の無線通信装置に転送する無線通信装置であって、
前記パケットで送信するデータを所定のアルゴリズムにより暗号化を行う暗号化手段
を備え、
前記ＭＡＣ層において、前記暗号化されたデータに所定のデータ  フレーム  フォーマットを適用し、該データ  フレーム  フォーマットを適用した前記暗号化されたデータを暗号化してパケットを生成することを特徴の１つとする。
【００１２】
また、本発明の他の無線通信装置は、
ＭＡＣ層以下の処理を行う第１のデバイスと、前記ＭＡＣ層より上のアプリケーション層を構成する第２のデバイスとを備える無線通信装置であって、
前記第１のデバイスは、ＭＡＣ層において暗号化されたパケットを、他の無線通信装置に転送し、
前記第２のデバイスは、
パケットで送信するデータを所定のアルゴリズムにより暗号化を行う暗号化手段
を備え、
前記第１のデバイスは、前記ＭＡＣ層において、前記暗号化されたデータに所定のデータ  フレーム  フォーマットを適用し、該データ  フレーム  フォーマットを適用した前記暗号化されたデータを暗号化してパケットを生成することを特徴の１つとする。
【００１３】
このように構成することにより、上位層とＭＡＣ層との間でのデータ転送の最中にそのデータを第三者に読まれたとしても第三者はそのデータを解読することはできない。同様に、仮にＭＡＣ層以下のセキュアなパケットが第三者から解読された場合であってもパケット内の実データは暗号化がされているので解読されることを防ぐことができる。
【００１４】
本発明の無線通信方法は、
ＭＡＣ層において暗号化されたパケットを、他の無線通信装置に転送する無線通信装置における無線通信方法であって、
前記パケットで送信するデータを所定のアルゴリズムにより暗号化を行う第１の暗号化ステップと、
前記ＭＡＣ層において、前記暗号化されたデータに所定のデータ  フレーム  フォーマットを適用するデータ  フレーム  フォーマット適用ステップと、
前記データ  フレーム  フォーマットを適用した前記暗号化されたデータを暗号化する第２の暗号化ステップと
を有することを特徴の１つとする。
【００１５】
このようにすることにより、上位層とＭＡＣ層との間でのデータ転送の最中にそのデータを第三者に読まれたとしても第三者はそのデータを解読することはできない。同様に、仮にＭＡＣ層以下のセキュアなパケットが第三者から解読された場合であってもパケット内の実データは暗号化がされているので解読されることを防ぐことができる。
【発明の効果】
【００１６】
本発明の実施例によれば、上位層とＭＡＣ層との間でのデータ転送の最中にそのデータを第三者に読まれたとしても、そのデータを解読することはできない無線通信装置及び無線通信方法を実現できる。
【００１７】
また、本発明の実施例によれば、ＭＡＣ層以下でセキュリティ対策が行われているパケットの解読を第三者が行うことができたとしても、パケット内の実データの読取りができない無線通信装置及び無線通信方法を実現できる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１９】
本発明の実施例にかかる無線通信装置について、図１を参照して説明する。
【００２０】
本実施例においては、一例として超広帯域無線（ＵＷＢ：  Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）伝送方式を利用して、ワイヤレスＵＳＢ（Ｗｉｒｅｌｅｓｓ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）で無線通信を行う場合について説明する。ＵＷＢ伝送方式とは、３−３０ＧＨｚの周波数帯に位置する広い周波数帯域を使用し、半径２０ｍ以下の短い距離で５０Ｍｂｐｓ−４８０Ｍｂｐｓを実現する短距離通信方式である。ただし、ＵＷＢ無線伝送方式を用いたワイヤレスＵＳＢ（ＷＵＳＢ）に限られるものではなく、後述するがブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）や、無線ＬＡＮ（ＩＥＥＥ８０２．１１ｂ）等の他の方式によるものであってもよい。
【００２１】
本実施例にかかる無線通信装置としてのワイヤレスＵＳＢ１００は、アンテナ部１０２と、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）処理部１０４と、Ａ／Ｄ  Ｄ／Ａ変換部１０６と、ベースバンド処理部１０８と、ＭＡＣ制御部１１０及びＷＵＳＢ回路１１２とを備える。ＷＵＳＢ回路１１２は、ＵＳＢインターフェース（Ｉ／Ｆ  Ｉｎｔｅｒｆａｃｅ）１１４を備える。
【００２２】
アンテナ部１０２は送受信兼用のもので、ＲＦ処理部１０４において、送信及び受信と選択的に切替えるように構成されている。ＲＦ処理部１０４は、外部装置、例えば他の無線通信装置との間で、無線でデータを送受信するために、データをＲＦ変調する。ＲＦ処理部１０４には、Ａ／Ｄ  Ｄ／Ａ変換部１０６において、Ｄ／Ａ変換されたベースバンド処理部１０８の出力が供給され、一方、ＲＦ処理部１０４の出力はＡ／Ｄ  Ｄ／Ａ変換部１０６においてＡ／Ｄ変換され、ベースバンド処理部１０８に入力される。
【００２３】
上述したＲＦ処理部１０４、Ａ／Ｄ  Ｄ／Ａ変換部１０６及びベースバンド処理部１０８は、ＭＡＣ制御部１１０の制御下で動作する。ＭＡＣ制御部１１０はさらに上位のＷＵＳＢ回路１１２からの指令に基づいて動作する。
【００２４】
本実施例にかかるワイヤレスＵＳＢ１００では、ＭＡＣ層の上位層に関する処理を行うＷＵＳＢ回路１１２内において、転送するデータを、暗号アルゴリズムを用いて暗号化する。このアルゴリズムを送信側／受信側で予め実装をしておくことにより、送信側と受信側との間で暗号化／復号化を可能とする。また、複数のアルゴリズムを実装するようにしてもよい。この場合、必要に応じて使用するアルゴリズムが決定される。
【００２５】
ワイヤレスＵＳＢの規格ではＭＡＣ層では、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）１２８−ＣＣＭ暗号化方式を用いてパケットを暗号化することが規定されている。
【００２６】
ＭＡＣ制御部１１０とＷＵＳＢ回路１１２との間を物理的に外部からの接触が可能な構成とした場合、ＭＡＣ層での暗号化のみでは、ＭＡＣ制御部１１０とＷＵＳＢ回路１１２との間は暗号化されていないデータが転送されるため、ＭＡＣ制御部１１０とＷＵＳＢ回路１１２との間から暗号化されていないデータを簡単に読み取ることができる。
【００２７】
ＭＡＣ制御部１１０とＷＵＳＢ回路１１２との間で、外部から接触可能な構成を有する無線通信装置について、図２を参照して説明する。
【００２８】
この無線通信装置１００は、アンテナ１０２、ＲＦ処理部１０４、Ａ／Ｄ  Ｄ／Ａ変換部１０６、ベースバンド処理部１０８及びＭＡＣ制御部１１０を備えるデバイス１と、ＷＵＳＢ回路１１２を備えるデバイス２との２チップにより構成される。
【００２９】
ＰＨＹ層とＭＡＣ層は、１チップ化されたデバイス１に含まれる。ＭＡＣ層より上のアプリケーション層(本実施例ではワイヤレスＵＳＢ)は、デバイス１とは異なる別チップであるデバイス２により構成される。すなわち、ＭＡＣ層以下の層と、ＭＡＣ層より上のアプリケーション層とが異なるチップにより切り離される。
【００３０】
ＭＡＣ層と、ＭＡＣ層の上位層とで切り離した２チップ構成について、図３を参照して説明する。図３は、ＵＷＢ伝送方式を無線インフラとして使用する各アプリケーションのシステム構成を概念的に示したものである。例えば、ＵＷＢ無線共通プラットフォームを適用する上位アプリケーションには本実施例において説明するワイヤレスＵＳＢ以外にもワイヤレスＩＥＥＥ１３９４、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）などが存在する。
【００３１】
また、このＵＷＢ無線プラットフォームは、ＷｉＭｅｄｉａ及びＩＥＥＥ８０２．１２．３ａで仕様策定が行われているＵＷＢ−ＰＨＹ（ＵＷＢ物理レイヤ）と、ＷｉＭｅｄｉａで仕様策定が行われたＵＷＢ−ＭＡＣ（ＵＷＢ  ＭＡＣレイヤ）を有する。また、ＵＷＢ−ＭＡＣ層の上には、コンバージェンス層（ＷｉＭｅｄｉａ  コンバージェンスレイヤ）が規定され、プロトコルやアプリケーション間の協調制御が行われる。例えば、プロトコルやアプリケーションには、ＩＥＥＥ１３９４、ＵＰｎＰを含むＩＰプロトコル、ＵＳＢプロトコルがある。
【００３２】
ＵＷＢ伝送方式による無線通信システムは、（１）下位層にＵＷＢ伝送方式を使用する共通プラットフォーム(通信基盤)、（２）共通プラットフォーム上で動作する上位のアプリケーション（ワイヤレスＵＳＢなど）の２つに大きく分けられる。このように、各アプリケーションは同じ無線通信基盤、すなわち共通プラットフォームを使うことができる構成となっている。
【００３３】
図４は、図３を参照して説明した無線通信装置の構成をチップ化した場合のハードウェアの構成例を示す。
【００３４】
前述したように、無線通信基盤は共通のものを使用する。つまり、アプリケーションごとに変更する部分はないのでこの部分は固定部分としてまとめることができる。しかし、それより上の上位アプリケーションはそれぞれ通信プロトコルが異なるためＵＷＢを含む１チップ化を行うと、他の上位アプリケーションを実装できない問題が発生する。
【００３５】
そこで、デバイス１のようにＵＷＢ伝送方式のＰＨＹ＋ＭＡＣ層までの部分を１チップ化し、デバイス２のように上位アプリケーションを別チップ化する。このようにすることにより、上位のアプリケーションは使用したいアプリケーションのチップを用意するだけで済むので、共通プラットフォームを使用するメリットを最大限生かすことができ、また全体的なコスト削減にもつながる。
【００３６】
そのため、このような２チップ構成を取る機器または２チップ以上の構成であってもＭＡＣ層と上位アプリケーション層とを切り離して組み込むような機器が今後出てくることが十分予想される。ただし、ＭＡＣ層と上位アプリケーション層を切り離す構成とした場合、各アプリケーション層とＭＡＣ層とのデータのやり取りの部分が外に見えてしまう可能性がある。
【００３７】
さらに、ＭＡＣ制御部１１０とベースバンド処理部１０８との間や、無線で転送中の暗号化されているパケットが第三者に傍受され、ＭＡＣ層で行われた暗号化データが解読されてしまうとパケット内のデータは容易に読み取られる。
【００３８】
そこで、本実施例にかかるワイヤレスＵＳＢでは、ＷＵＳＢ回路１１２でデータを暗号化してからＭＡＣ層などの下位層にデータを送る。このようにすることで、ＭＡＣ層で行われた暗号化が解読された場合においても、データ自身が暗号化されているため、データの解読を防ぐことが可能となる。
【００３９】
ホストとデバイスとの間でのデータの送受信について、図５を参照して説明する。図５には、例えばＰＣに搭載されたホストと、周辺機器、例えばＨＤＤに搭載されたデバイスとの間でのデータの送受信が示される。ここで、ホストは、例えばＵＳＢインターフェースを制御するコントローラであり、デバイスはホストの指示に応じて動作し、データの送受信を行う。また、ホスト及びデバイスは、ＷＵＳＢ通信機能を備えたプリンタ、多機能プリンタ（ＭＦＰ）、画像表示装置、ストレージデバイス等であってもよい。
【００４０】
ホストが読み取り要求をデバイスに対して行い、デバイスがホストからの読取り要求に応じてデータを転送する場合について説明する。
【００４１】
デバイスのＷＵＳＢ回路１１２は、要求されたデータの暗号化を行い、ＭＡＣ制御部１１０に入力する。ＭＡＣ制御部１１０は、入力された暗号化されたデータをパケットのフォーマットへ変換する。その際にセキュアなデータとするためＡＥＳ−１２８ＣＣＭによる暗号化が行われ、ベースバンド処理部１０８を介して所定の処理が行われホストに送信される。
【００４２】
ホスト側では、ＭＡＣ制御部１１０において、ＡＥＳ−１２８ＣＣＭの復号処理が行われ、ＷＵＳＢ回路１１２において、暗号化されたデータの復号処理が行われる。
【００４３】
次に、ホスト側がデバイス側にデータを渡す場合について説明する。
【００４４】
ホストのＷＵＳＢ回路１１２は、デバイス側に渡すデータの暗号化を行い、ＭＡＣ制御部１１０に入力する。ＭＡＣ制御部１１０は、入力された暗号化されたデータをパケットのフォーマットへ変換する。その際、セキュアなデータとするためＡＥＳ−１２８ＣＣＭによる暗号化が行われ、ベースバンド処理部１０８を介して所定の処理が行われデバイス側に送信される。
【００４５】
デバイス側では、ＭＡＣ制御部１１０において、ＡＥＳ−１２８ＣＣＭの復号処理が行われ、ＷＵＳＢ回路１１２において、暗号化されたデータの復号処理が行われる。復号されたデータは蓄積される。
【００４６】
ホストが読み取り要求をデバイスに対して行い、デバイスがホストからの読取り要求に応じてデータを転送する場合、及びホスト側がデバイス側にデータを渡す場合においても、ＷＵＳＢ回路１１２でデータ部分の暗号化が行われ、さらにＭＡＣ制御部１１０で暗号化されたデータに対してＡＥＳ−１２８ＣＣＭによる暗号化が行われる。したがって、ＷＵＳＢ回路１１２とＭＡＣ制御部１１０との間で、第三者がデータを読み取ろうとした場合でも、データ部分の暗号化を解読できなければ読み取れない。また、ＭＡＣ制御部１１０とベースバンド処理部１０８との間で、第三者がデータを読み取ろうとした場合でも、ＡＥＳ−１２８ＣＣＭ暗号化の復号及びデータ部分の暗号化の解読ができなければ読み取れない。
【００４７】
次に、ＷＵＳＢ回路１１２における処理について、図６を参照して説明する。
【００４８】
オリジナルデータは、ＷＵＳＢ回路１１２のＵＳＢインターフェース１１４の暗号生成器１１４２により暗号化され、ＭＡＣ層、すなわちＭＡＣ制御部１１０へ転送される。ＭＡＣ層で受信されたデータは、ＭＡＣ制御部１１０において、パケットとしてパケットフォーマットへの変換が行われる。例えば、ＭＭＣ（Ｍｉｃｒｏ−ｓｃｈｅｄｕｌｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｍｍａｎｄ）パケットフォーマットへの変換が行われる。その際に、セキュアなデータとするためにＡＥＳ暗号化が行われる。つまり、データ部分は種類の違う２重の暗号化が行われる。ＭＭＣとは、ワイヤレスＵＳＢにより定義された制御パケットである。ＭＭＣは、ＤＲＰ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｒｅｓｅｒｖａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）予約したＭＡＳ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｓｌｏｔ）内でホストにより送信され、各ＭＭＣ間に転送されるデータが配置される。ワイヤレスＵＳＢホストは、ＭＭＣを用いて、ワイヤレスＵＳＢクラスタ、例えばクラスタ内のワイヤレスＵＳＢでデバイスを管理する。
【００４９】
次に、暗号アルゴリズムについて説明する。
【００５０】
暗号の種類には主に、公開鍵暗号方式と共通鍵暗号方式がある。さらに、共通鍵暗号方式は大別するとブロック暗号方式とストリーム暗号方式とに分けることができる。図７、図８はこの２つの暗号方式、すなわちブロック暗号方式とストリーム暗号方式を用いた場合のデータ暗号化を示すブロック図である。
【００５１】
ブロック暗号方式について、図７を参照して説明する。
【００５２】
ブロック暗号方式は、データとなる平文Ｐｉ（ｉ＝１，２，３，・・・）（ｉは、ｉ＞０の整数）、初期化ベクタ及び平文と同じビット幅の鍵ストリームにより暗号文Ｃ１を生成する。１回目の暗号文Ｃ１は、この初期化ベクタと鍵ストリームで、平文との排他的論理和の演算を行うことによって生成される。２回目以降の暗号文は、前の暗号文と暗号化する平文との排他的論理和の演算を行うことによって生成される。
【００５３】
ストリーム暗号方式について、図８を参照して説明する。
【００５４】
ストリーム暗号方式は、擬似乱数生成器を使用し、シードとなる鍵（Ｋ）を擬似乱数生成器に与えることで鍵ストリームと呼ばれる乱数値を次々に生成する。生成された鍵ストリームＫｉ（ｉ＝１，２，３，・・・）（ｉは、ｉ＞０の整数）と平文Ｐｉ（ｉ＝１，２，３，・・・）（ｉは、ｉ＞０の整数）との排他的論理和の演算を行うことで暗号文を生成する。
【００５５】
一例として、本実施例の暗号アルゴリズムとして共通鍵暗号方式のストリーム暗号を用いた場合の暗号鍵生成について、図９及び図１０を参照して説明する。
【００５６】
図９は、鍵生成アルゴリズムにＭ系列を用いた場合の回路を示したものである。Ｍ系列とは０と１の値をランダムに並べた乱数のことをいう。Ｍ系列生成回路にはシフトレジスタと排他的論理和（Ｅｘｃｌｕｓｉｖｅ−ＯＲ）ゲートを用いる。ここでは、一例として原始多項式の次数ｎ＝４となる原始多項式Ｘ４＋Ｘ＋１を使った場合について説明する。
【００５７】
図９に示すように、ｎ＝３となるレジスタは、ｎ＝１とｎ＝０となるレジスタの出力値の排他的論理和を次のクロックでの入力値として使用する。これを繰り返すことにより出力系列がM系列となる。つまり、ｎ＝３となるレジスタには、ｎ＝１となるレジスタの出力とｎ＝０となるレジスタの出力との排他的論理和の演算結果が入力され、次のクロックで、結果を次のレジスタへとシフトするという作業を繰り返す。
【００５８】
この回路では原始多項式のＸとなるｎ＝１となるレジスタに帰還タップとなる排他的論理和ゲートが設けられる。タップの数が多くなるほど原始多項式は長いものとなり排他的論理和の処理が増えるため、複雑なものとなる。ただし排他的論理和の処理が増える分M系列の生成に時間がかかってしまうという欠点があり、一般的には３項程度の原始多項式を用いる場合が多くなっている。
【００５９】
図１０は、図９に示した回路を用いた場合の時系列における出力結果を示したものである。初期値はｎ＝３となるレジスタが１、ｎ＝２となるレジスタが０、ｎ＝１となるレジスタが０、ｎ＝０となるレジスタが０としている。この出力値の結果を見て分かるとおり、値はクロック１５の時に各レジスタの値は初期値に戻っている。これはＭ系列に周期性があるためでＭ系列の周期はＴ＝２ｎ−１から求められる。例えば、ｎ＝４の場合はＴ＝１５となる。
【００６０】
また、本実施例では、必要とされる暗号強度に基づいて、暗号アルゴリズムの変更を行う。ここでは、暗号アルゴリズムの変更を行うことで、暗号強度を変更できることについて説明する。一例として、ブロック暗号方式を用いた場合について説明するが、ストリーム暗号方式においても同様に、暗号アルゴリズムの変更を行うことで、暗号強度を変更できる。
【００６１】
ブロック暗号方式では、メインのデータスクランブラ部と拡大鍵を生成する鍵スケジューラ（以下、鍵生成部と呼ぶ)から構成されているものが多い。
【００６２】
鍵生成部は鍵を入力して複数個のサブ鍵（元の鍵から導出される鍵）を出力する。データスクランブラ部は複数の段数（ラウンド）からなり、個々のラウンドでサブ鍵を使って入力の置換／転置等を行う。一般的にこの構成の暗号、すなわち複数の段数を積み重ねた構造を積暗号と言い、段数が同じ関数の組み合わせになっているものを繰り返し暗号という。
【００６３】
ラウンド関数は置換や転置、論理演算、算術演算などのシンプルな作りになっており、ラウンド関数を複数段、重ねることで十分な強度のスクランブルが行える。ラウンド数(段数)は通常アルゴリズムの仕様によって指定されているのが一般的であるが、セキュリティパラメータとして利用者が選択するものもある。
【００６４】
ラウンド関数の主な構成方法にＦｅｉｓｔｅｌ型暗号とＳＰＮ型暗号の２つがある。ここでは、Ｆｅｉｓｔｅｌ型暗号についての概略を、図１１を参照して説明する。
【００６５】
図１１に示されている段(ラウンド)関数は、ビットを攪拌するための操作としてビットの置き換えや並び替え(位置の変更)を行う。この作業を繰り返し行うことで解読しにくい暗号文を生成する。ここで、暗号アルゴリズムの強度を決定する要因としては世間一般で知られている鍵の長さの他に、段数、各段のラウンド関数のアルゴリズム、サブ鍵であることが分かる。
【００６６】
データスクランブラ部の構成について説明する。一般的に出力暗号文の各ビットは平文（暗号化するデータ）と鍵により多くのビットの影響を受けるよう設計する。つまり、図１１のように複数のラウンド数を用いて繰り返して行うことが必要となるが、近年のアルゴリズムでは段数も可変とし、暗号化対象の重要度に合わせて暗号強度を変えられるようにできる。
【００６７】
次に、鍵生成部について説明する。暗号化鍵（マスター鍵とも呼ぶ）から各段で用いるサブ鍵を生成する処理は、鍵スケジュール処理（以下、鍵生成処理と呼ぶ）と呼ばれる。鍵生成処理では元の暗号化鍵からサブ鍵を求めるのには幾つかの手法が存在する。
【００６８】
安全な鍵生成処理の主な条件として、（１）サブ鍵を求める処理が線形変換でないこと、すなわち逆演算不可能なこと、（２）マスター鍵の各ビットがサブ鍵に対して同じ影響力をもつこと、（３）生成されるサブ鍵間に依存関係が無いこと、が挙げられる。これらを踏まえた上で鍵生成アルゴリズムを実装することが必要となる。
【００６９】
Ｆｅｉｓｔｅｌ型暗号を用いた暗号データの生成方法について説明する。
【００７０】
Ｆｅｉｓｔｅｌ型暗号では、図１１に示すように平文（入力されたブロックデータ）を左右２個のサブブロックに分け、片方のサブブロックにのみサブ鍵の値を与えた後、Ｆ関数、すなわち段関数により変換を行う。そして変換後のデータを他方のサブブロックに排他的論理和演算処理によって重ね合わせる処理を行う。１ラウンド（先ほどの処理を１回実施）のみでは片側のみしか暗号化処理が施されないため、処理後は左右のサブブロックを置き換えて繰り返し同じ処理を実行する。
【００７１】
次に、Ｆｅｉｓｔｅｌ型暗号を用いた暗号データの復号化について説明する。
【００７２】
復号化の場合は暗号化で用いた各サブ鍵を暗号化した順と逆順にして各ラウンド関数に与えて暗号化の際の処理と同じ処理を繰り返す。つまり、暗号化と復号化の処理ではサブ鍵を与える順番が逆になる。
【００７３】
共通鍵ブロック暗号は、もともとハードウェア化することを前提に開発された経緯があり、そのため固定のブロック単位で処理を行うようになっている。ブロック暗号を用いることにより、ハードウェア化が容易である。また、ブロック暗号を用いることにより、同じブロック長と鍵長のアルゴリズム同士の場合、簡単に別のアルゴリズムに切り替えることができる。
【００７４】
次に、本発明の第１の実施例にかかるワイヤレスＵＳＢ１００の動作について、図１２を参照して説明する。ここでは、ホスト側の動作について説明する。
【００７５】
ＷＵＳＢ回路１１２は、デバイスの検出を行う（ステップＳ１２０２）。
【００７６】
次に、ＷＵＳＢ回路１１２は、接続先デバイスの確認を行う（ステップＳ１２０４）。例えば、ＷＵＳＢ回路１１２は、デバイス側のワイヤレスＵＳＢのディスクリプタに格納されている情報に基づいて、デバイスを認識する。具体的には、ワイヤレスＵＳＢのホストは、デバイスを検出した際に、デバイスディスクリプタに格納されている諸情報を取り出し、情報をホスト内のメモリに格納する。
【００７７】
次に、ＷＵＳＢ回路１１２は、デバイス毎に暗号化強度を割り当てたデバイス用暗号テーブルを参照し（ステップＳ１２０６）、認識したデバイスに対する暗号化強度に応じて使用する暗号化アルゴリズムを選択する（ステップＳ１２０８）。
【００７８】
デバイス用暗号テーブルは、図１３に示すように、デバイスクラスと暗号強度との対応を示す。デバイス用暗号テーブルでは、機密データを取り扱う可能性が高いデバイスクラス順に暗号強度が高く設定される。
【００７９】
例えば、キーボードやマウスなどのデバイスクラスがＨＩＤ（ヒューマン  インタフェース  デバイス）では、単に機器制御の情報、すなわち機密性の低いデータのやり取りが行われるため、複雑な暗号化処理を行うと処理、すなわち暗号化／復号化に時間がかかり、データ転送効率が低下する。このため、ＨＩＤには、高いセキュリティを施す必要がないため、暗号強度は低く設定される。一方、ＨＤＤやＵＳＢメモリなどのマスストレージデバイスには、機密データが格納されていることが多い。このため、暗号強度は高く設定される。
【００８０】
次に、ＷＵＳＢ回路１１２は、選択した暗号化アルゴリズムで、デバイスへ転送するデータの暗号化を行い（ステップＳ１２１０）、暗号化されたデータをＭＡＣ層の処理を行うＭＡＣ制御部１１０へ入力する（ステップＳ１２１２）。例えば、暗号生成器１１４２は、異なる暗号化強度を有する暗号化アルゴリズムを備えた暗号生成部１１４４１−１１４４ｍ（ｍは、ｍ＞０の整数）と、選択部１１４６とを備える。暗号生成部１１４４１−１１４４ｍは、データと鍵を用いて各暗号生成部１１４４に備えられた暗号化アルゴリズムにより暗号化を行い暗号化されたデータを選択部１１４６に入力する。選択部１１４６は、暗号生成部１１４４の暗号化強度を認識しており、認識したデバイスに対する暗号化強度に応じて使用する暗号化アルゴリズムにより暗号化されたデータを選択する。暗号生成部１１４４では、暗号化アルゴリズムとしては、例えば上述したＦｅｉｓｔｅｌ型暗号とＳＰＮ型暗号が用いられる。さらに、異なる段数を備えるようにし、暗号化強度を異なるようにする。
【００８１】
次に、ＭＡＣ制御部１１０は、ＷＵＳＢ回路１１２により入力された暗号化データにＭＡＣ層のデータ  フレーム  フォーマットを適用する（ステップＳ１２１４）。その際にセキュアなデータとするためにＡＥＳ１２８−ＣＣＭによる暗号化が行われる。具体的には、既に暗号化されたデータをＷｉＭｅｄｉａで定義されたＭＡＣ層で予め用意されているデータ  フレーム  フォーマットを適用し、ペイロード部をＡＥＳ１２８−ＣＣＭにより暗号化する。つまり、データ部分は種類の違う２重の暗号化が行われたことになる。
【００８２】
デバイス側では、ＭＡＣ制御部１１０において、ＡＥＳ―１２８ＣＣＭの復号が行われ、ＷＵＳＢ回路１１２において、データ部分の復号が行われる。例えば、ホスト側が上述したＭＭＣによりデータ部分の暗号化に使用する暗号化アルゴリズムをデバイス側に通知し、デバイス側は通知された暗号化アルゴリズムにより復号する。また、デバイス側は、自デバイスが有する全ての暗号化アルゴリズムによる復号を行い、復号できた暗号アルゴリズムを選択するようにしてもよい。
【００８３】
本実施例によれば、認識したデバイスに対する暗号化強度に応じて使用する暗号化アルゴリズムを選択することにより、適切なデータのセキュリティレベルを採用でき、併せて転送効率の最適化を図ることが可能となる。
【００８４】
次に、本発明の第２の実施例にかかるワイヤレスＵＳＢ１００について説明する。
【００８５】
本実施例にかかるワイヤレスＵＳＢ１００は、接続するデバイスに応じて、ＭＡＣ層の上位層で行われる暗号化で使用される鍵の鍵長を変える。
【００８６】
以下に鍵長について簡単な説明を行う。
【００８７】
鍵は、暗号化／復号化する際に使用される。このため、暗号化したデータを解読するための鍵のセキュリティレベルを上げることが重要となる。暗号解読でよく知られている手法として総当り攻撃がある。これは鍵が分からない場合にとにかく可能性がある鍵を全部あたってみる方法である。この総当り攻撃では、考えられる全ての鍵がリストアップされ、片っ端から解読が試みられる。暗号の構造が分かっていて、且つ鍵の長さ（ｂｉｔ数）が分かっていれば理論的にはこの総当り攻撃によって解読ができてしまう。
【００８８】
そこで、現実にこのような攻撃に対する対策の手段として、鍵を長くすることが一般的に良く知られている。図１５は、鍵の長さが１６ｂｉｔ分の場合と鍵の長さが２５６ｂｉｔ分の場合における鍵のセキュリティレベルについて示したものである。
【００８９】
（１）における鍵の組み合わせは２１６で６５５３６通りとなる。それに対し（２）における組み合わせは（１）の組み合わせの２１９２乗倍となる。
【００９０】
（２）の組み合わせに対して解読を行うには莫大な時間が必要であり、現実的には解読の実現性はかなり低い。それに対し（１）の組み合わせに対する解読は充分に実施可能であり、セキュリティレベルが低いと言える。つまり、鍵長を長くすることでセキュリティレベルを飛躍的に向上させることが可能である。
【００９１】
本実施例はこの特徴を利用したものであり、接続するデバイスに応じて、ＭＡＣ層の上位層で行われる暗号化で使用される鍵の鍵長を変化させる。
【００９２】
本実施例にかかるワイヤレスＵＳＢ１００の動作について、図１６を参照して説明する。ここでは、ホスト側の動作について説明する。また、ここでは、暗号方式としてストリーム暗号方式を適用する場合について説明するが、他の暗号方式を適用するようにしてもよい。
【００９３】
ＷＵＳＢ回路１１２は、デバイスの検出を行う（ステップＳ１６０２）。
【００９４】
次に、ＷＵＳＢ回路１１２は、接続先デバイスの確認を行う（ステップＳ１６０４）。例えば、ＷＵＳＢ回路１１２は、デバイス側のワイヤレスＵＳＢのディスクリプタに格納されている情報に基づいて、デバイスを認識する。具体的には、ワイヤレスＵＳＢのホストは、デバイスを検出した際に、デバイスディスクリプタに格納されている諸情報を取り出し、情報をホスト内のメモリに格納する。
【００９５】
次に、ＷＵＳＢ回路１１２は、図１３を参照して説明したデバイス用暗号テーブルを参照し（ステップＳ１６０６）、認識したデバイスに対する暗号化強度に応じて暗号化で使用される鍵の鍵長を選択する（ステップＳ１６０８）。例えば、暗号強度に対応して異なる鍵長を有する鍵を予め用意する。すなわち、暗号強度が高いデバイスクラスには長い鍵長を有する鍵、暗号強度が中程度のデバイスクラスには暗号強度が高いデバイスクラスに対応する鍵よりも短い鍵長を有する鍵、暗号強度が低いデバイスクラスには暗号強度が中程度のデバイスクラスに対応する鍵よりも短い鍵長を有する鍵を対応させる。
【００９６】
次に、ＷＵＳＢ回路１１２は、選択した鍵長を有する鍵を乱数発生器のシードに使用する（ステップＳ１６１０）。
【００９７】
次に、ＷＵＳＢ回路１１２は、乱数生成器で鍵ストリームを生成し、該鍵ストリームと平文との排他的論理和の演算を行うことにより暗号化を行う（ステップ１６１２）。
【００９８】
次に、暗号化されたデータをＭＡＣ層の処理を行うＭＡＣ制御部１１０へ入力する（ステップＳ１６１４）。
【００９９】
次に、ＭＡＣ制御部１１０は、ＷＵＳＢ回路１１２により入力された暗号化データにＭＡＣ層のデータ  フレーム  フォーマットを適用する（ステップＳ１６１６）。その際にセキュアなデータとするためにＡＥＳ−１２８ＣＣＭによる暗号化が行われる。具体的には、既に暗号化されたデータをＷｉＭｅｄｉａで定義されているＭＡＣ層で予め用意されているデータ  フレーム  フォーマットを適用し、ペイロード部をＡＥＳ−１２８ＣＣＭにより暗号化する。つまり、データ部分は種類の違う２重の暗号化が行われたことになる。
【０１００】
デバイス側では、ＭＡＣ制御部１１０において、ＡＥＳ―１２８ＣＣＭの復号が行われ、ＷＵＳＢ回路１１２において、データ部分の復号が行われる。例えば、ホスト側が上述したＭＭＣによりデータ部分の暗号化に使用する鍵情報をデバイス側に通知し、デバイス側は通知された鍵情報により復号する。また、デバイス側は、自デバイスが有する全ての鍵による復号を行い、復号できた鍵を選択するようにしてもよい。
【０１０１】
次に、本発明の第３の実施例にかかるワイヤレスＵＳＢ１００について説明する。
【０１０２】
本実施例にかかる無線通信装置は、転送方式に応じて、ＭＡＣ層の上位層で行われる暗号化の暗号強度を変更する。具体的には、機密データを取り扱う可能性が高い転送順に、ＭＡＣ層の上位層で行われる暗号化の暗号強度を高くする。
【０１０３】
本実施例にかかるワイヤレスＵＳＢ１００において使用される暗号テーブルについて、図１７を参照して説明する。暗号テーブルは、転送方法と暗号強度との対応を示す。暗号テーブルでは、機密データを取り扱う可能性が高い転送方法順に暗号強度が高く設定される。
【０１０４】
コントロール転送とは、非周期的な通信であり、主としてホストがプラグ＆プレイするために用いられ、ハイ・スピードやフル・スピードでの大きなデータ転送には向かないものの、他の転送タイプと組み合わせてデバイスを制御する際に用いられる。標準デバイスリクエストという、ＵＳＢの基本的なデバイス情報の転送はこの方式で行われる。このため、全てのＵＳＢはこの転送方式をサポートしている。インタラプト転送とは、ホストからの周期的なポーリングにより通信が行われ、非同期で低頻度のイベントをホストとデバイス間で通知する際に用いられる。主に、マウスやキーボードなどの入力装置に用いられる。バルク転送とは、非周期的な通信であり、遅延が問題とならないような大量のデータを転送する際に用いられる。プリンタやスキャナのイメージ転送などに用いられる。アイソクロナス転送。連続的で周期的な通信に使用され、具体的には動画や音声データなどのようなリアルタイム性を要するストリーミングデータの転送に用いられる。
【０１０５】
例えば、インタラプト転送はマウスやキーボード等の周期的にイベントを検出するようなデバイス向け用途の転送である。それに比べバルク転送は、遅延が問題にならない用途で大きいサイズのデータ転送に使用する。バルク転送を使用するデバイスとしては同期転送を必要としないスキャナ、プリンタ、ストレージデバイスなどが挙げられる。インタラプト転送を用いたデータのセキュリティを低めに、バルク転送を用いたデータのセキュリティを高めに設定することで効率の良い暗号処理が行える。
【０１０６】
次に、本実施例にかかるワイヤレスＵＳＢ１００の動作について、図１８を参照して説明する。ここでは、ホストがデバイスへデータを転送する場合のホスト側の動作について説明する。
【０１０７】
ＷＵＳＢ回路１１２は、デバイスとの転送方法の確認を行う（ステップＳ１８０２）。すなわち、ワイヤレスＵＳＢのホストはデバイスとどの転送方式で転送を行うかをあらかじめ確認する。
【０１０８】
次に、ＷＵＳＢ回路１１２は、転送方式ごとに暗号強度を割り当てた暗号テーブル（図１７）を参照し（ステップＳ１８０４）、その暗号強度に応じた暗号アルゴリズムを選択する（ステップＳ１８０６）。
【０１０９】
次に、ＷＵＳＢ回路１１２は、選択した暗号化アルゴリズムで、デバイスへ転送するデータの暗号化を行い（ステップＳ１８０８）、暗号化されたデータをＭＡＣ層の処理を行うＭＡＣ制御部１１０へ入力する（ステップＳ１８１０）。例えば、図１４を参照して説明したように、暗号生成器１１４２は、異なる暗号化強度を有する暗号化アルゴリズムを備えた暗号生成部１１４４１−１１４４ｍ（ｍは、ｍ＞０の整数）と、選択部１１４６とを備える。暗号生成部１１４４１−１１４４ｍは、データと鍵を用いて各暗号生成部１１４４に備えられた暗号化アルゴリズムにより暗号化を行い暗号化されたデータを選択部１１４６に入力する。選択部１１４６は、暗号生成部１１４４の暗号化強度を認識しており、認識した転送方法に対する暗号化強度に応じて使用する暗号化アルゴリズムにより暗号化されたデータを選択する。暗号生成部１１４４では、暗号化アルゴリズムとしては、例えば上述したＦｅｉｓｔｅｌ型暗号とＳＰＮ型暗号が用いられる。さらに、異なる段数を備えるようにし、暗号化強度を異なるようにする。
【０１１０】
次に、ＭＡＣ制御部１１０は、ＷＵＳＢ回路１１２により入力された暗号化データにＭＡＣ層のデータ  フレーム  フォーマットを適用する（ステップＳ１８１２）。その際にセキュアなデータとするためにＡＥＳ１２８−ＣＣＭによる暗号化が行われる。具体的には、既に暗号化されたデータをＷｉＭｅｄｉａで定義されたＭＡＣ層で予め用意されているデータ  フレーム  フォーマットを適用し、ペイロード部をＡＥＳ１２８−ＣＣＭにより暗号化する。つまり、データ部分は種類の違う２重の暗号化が行われたことになる。
【０１１１】
デバイス側では、ＭＡＣ制御部１１０において、ＡＥＳ―１２８ＣＣＭの復号が行われ、ＷＵＳＢ回路１１２において、データ部分の復号が行われる。例えば、ホスト側が上述したＭＭＣによりデータ部分の暗号化に使用する暗号化アルゴリズムをデバイス側に通知し、デバイス側は通知された暗号化アルゴリズムにより復号する。また、デバイス側は、自デバイスが有する全ての暗号化アルゴリズムによる復号を行い、復号できた暗号アルゴリズムを選択するようにしてもよい。
【０１１２】
次に、ホストがデバイスへデータ転送を行う場合に、転送方法に応じて、ＭＡＣ層の上位層で行われる暗号化で使用される鍵の鍵長を変える場合について、図１９を参照して説明する。本実施例では、必要な暗号強度に応じてストリーム暗号の鍵長を選択して転送を行う場合について説明する。ここでは、ホスト側の動作について説明する。また、ここでは、暗号方式としてストリーム暗号方式を適用する場合について説明するが、他の暗号方式を適用するようにしてもよい。
【０１１３】
ＷＵＳＢ回路１１２は、デバイスとの転送方法の確認を行う（ステップＳ１９０２）。すなわち、ワイヤレスＵＳＢのホストはデバイスとどの転送方式で転送を行うかをあらかじめ確認する。
【０１１４】
次に、ＷＵＳＢ回路１１２は、転送方式ごとに暗号強度を割り当てた暗号テーブル（図１７）を参照し（ステップＳ１９０４）、その暗号強度に応じて暗号化で使用される鍵の鍵長を選択する（ステップＳ１９０６）。例えば、暗号強度に対応して異なる鍵長を有する鍵を予め用意する。すなわち、暗号強度が高い転送方法には長い鍵長を有する鍵、暗号強度が中程度の転送方法には暗号強度が高い転送方法に対応する鍵よりも短い鍵長を有する鍵、暗号強度が低い転送方法には暗号強度が中程度の転送方法に対応する鍵よりも短い鍵長を有する鍵を対応させる。
【０１１５】
次に、ＷＵＳＢ回路１１２は、選択した鍵長を有する鍵を乱数発生器のシードに使用する（ステップＳ１９０８）。
【０１１６】
次に、ＷＵＳＢ回路１１２は、乱数生成器で鍵ストリームを生成し、該鍵ストリームと平文との排他的論理和の演算を行うことにより暗号化を行う（ステップ１９１０）。
【０１１７】
次に、暗号化されたデータをＭＡＣ層の処理を行うＭＡＣ制御部１１０へ入力する（ステップＳ１９１２）。
【０１１８】
次に、ＭＡＣ制御部１１０は、ＷＵＳＢ回路１１２により入力された暗号化データにＭＡＣ層のデータ  フレーム  フォーマットを適用する（ステップＳ１９１４）。その際にセキュアなデータとするためにＡＥＳ１２８−ＣＣＭによる暗号化が行われる。具体的には、既に暗号化されたデータをＷｉＭｅｄｉａで定義されたＭＡＣ層で予め用意されているデータ  フレーム  フォーマットを適用し、ペイロード部をＡＥＳ１２８−ＣＣＭにより暗号化する。つまり、データ部分は種類の違う２重の暗号化が行われたことになる。
【０１１９】
デバイス側では、ＭＡＣ制御部１１０において、ＡＥＳ―１２８ＣＣＭの復号が行われ、ＷＵＳＢ回路１１２において、データ部分の復号が行われる。例えば、ホスト側が上述したＭＭＣによりデータ部分の暗号化に使用する鍵情報をデバイス側に通知し、デバイス側は通知された鍵情報により復号する。また、デバイス側は、自デバイスが有する全ての鍵による復号を行い、復号できた鍵を選択するようにしてもよい。
【０１２０】
上述した実施例においては、選択した鍵長を有する鍵を乱数発生器のシードに使用する場合について説明したが、ホストがデバイスに送信するビーコン（Ｂｅａｃｏｎ）の時刻情報（タイムスタンプ）を元に乱数生成器のシードに使用するようにしてもよい。
【０１２１】
ここで、ホストとデバイスとの間でのビーコンのやり取りについて簡単な説明を行う。図２０は、ホストとデバイスとの間でのビーコンの受け渡しを示している。ワイヤレスＵＳＢにおいて、ホストとデバイスは、双方の時間の同期を取るため定期的にビーコンを送受信する。ビーコンの間隔はスーパーフレーム（ＳｕｐｅｒＦｒａｍｅ）毎、つまり６５．５３６ｍｓ毎で、ビーコンは各スーパーフレームの先頭部分で送出される。デバイスはビーコンを受信し、ビーコン内のタイムスタンプ情報を使ってホストとの同期を取る。
【０１２２】
ここでは、このタイムスタンプ情報を元に前述した鍵生成アルゴリズムに与えることで新たに鍵を生成し、乱数生成器を用いてデータを暗号化する。タイムスタンプ情報は常に変更されるものであるが、ホスト／デバイス双方が情報を共有するため、同じ原始多項式を使用して乱数を生成していれば問題なく暗号データを復号化することができる。前述のとおりタイムスタンプ情報は、スーパーフレーム毎に値が変わるのでこの数値は乱数的な性質を持っていると言えるので、この情報を用いた鍵生成手段はデータのセキュリティを高めるためのより良い手段であるということが言える。
【０１２３】
また、図２１に示すように、ＷＵＳＢ回路１１２に操作部１１６を備え、ホスト／デバイス双方の操作部により同じ鍵データを入力するようにしてもよい。この場合、ＷＵＳＢ回路１１２は外部から入力可能な操作部Ｉ／Ｆ１１８を回路内に備えている。
【０１２４】
ＷＵＳＢ回路１１２に入力された鍵データは、操作部Ｉ／Ｆ１１８を通して前述のアルゴリズムを有する鍵生成部１２０に入力される。鍵生成部１２０では入力された鍵データを元に暗号鍵を生成し、生成した暗号鍵を乱数生成部１２２に入力する。乱数生成部１２２は、入力された暗号鍵に基づいて乱数を生成し、生成した乱数を暗号処理部１２４に入力する。暗号化処理部１２４は、乱数を元に所定の暗号化アルゴリズムを用いて転送データを暗号化する。暗号化されたデータはデータ送受信部１２６より送信され、ＭＡＣ層へと転送される。
【０１２５】
この場合、暗号化の元となるシードである鍵データはユーザーによって任意に生成されるため、入力された鍵データの乱数性は予測不可能なものとなる。よってこの鍵データを用いて生成された暗号データを第三者が解読する可能性は著しく低いものとなる。
【０１２６】
以上の点からＭＡＣ層の上位層とＭＡＣ層でデータの転送が行われている最中に悪意のある第三者が傍受を行えた場合においても上位層の中で所定の暗号アルゴリズムを用いて実データ部分を暗号化していることにより実データ部分の解読及び改ざんが行われることが不可能となる。
【０１２７】
また、ＭＡＣ層以下の場合においても同様で、ワイヤレスＵＳＢで使用するＡＥＳ１２８−ＣＣＭにより暗号を施したパケットが解読されたとしてもデータ部分を解読される可能性は極めて低い。
【０１２８】
さらに、暗号解読の難易度を上げる暗号鍵の生成及び暗号処理の効率性向上を行う手段について説明した。
【０１２９】
以上、上述の各実施例では特定の実施形態を元に説明を行ってきたが本発明の趣旨を逸脱しない範囲内であれば他の形態でも実施できることは明白である。
【０１３０】
本発明の実施例によれば、ＭＡＣ層より上位層のデータを生成している部分において事前に実データをＭＡＣ層以下で使用する暗号アルゴリズムとは別の所定のアルゴリズムを用いる。これにより上位層とＭＡＣ層でデータ転送の最中にそのデータを第三者に読まれたとしても第三者はそのデータを解読することはできない。同様に、仮にＭＡＣ層以下のセキュアなパケットが第三者から解読され場合であってもパケット内の実データは暗号化がされているので解読されることを防ぐことができる。したがって、本実施例にかかる無線通信装置であれば万一データの読み取りがなされてもデータの解読ができないようにすることが可能である。
【０１３１】
また、パケットを生成する前の段階でデータ部分に暗号化処理を施すことにより、ＭＡＣ層へデータ転送する際の実データ傍受等を防ぐことができる。
【０１３２】
また、デバイスクラスに応じた効率の高い暗号化処理を可能にできる。
【０１３３】
また、デバイスクラスのセキュリティレベルに応じた適切な強度の暗号化処理を可能にできる。
【０１３４】
また、転送方法に応じた効率の高い暗号化処理を可能にできる。
【０１３５】
また、転送方法のセキュリティレベルに応じて、適切な強度の暗号化処理を可能にできる。
【０１３６】
また、ホストがデバイスに送信するビーコン（Ｂｅａｃｏｎ）の時刻情報（タイムスタンプ）を元に乱数生成器のシードに使用することにより、特別な処理を施すことなく乱数性の高い暗号鍵を生成することができる。
【０１３７】
また、入力された鍵データを元に暗号鍵を生成することにより、予測可能性の低い暗号鍵を生成することを可能にできる。
【図面の簡単な説明】
【０１３８】
【図１】本発明の一実施例にかかる無線通信装置を示す部分ブロック図である。
【図２】本発明の一実施例にかかる無線通信装置を示す部分ブロック図である。
【図３】ＵＷＢを用いた共通プラットフォームの概念図である。
【図４】各アプリケーションで共通プラットフォームを用いた場合の無線通信装置の構成を示す説明図である。
【図５】本発明の一実施例にかかる無線通信装置における暗号化処理を示す説明図である。
【図６】本発明の一実施例にかかる無線通信装置における暗号化処理を示す説明図である。
【図７】ブロック暗号化処理を示す説明図である。
【図８】ストリーム暗号化処理を示す説明図である。
【図９】Ｍ系列生成回路を示す説明図である。
【図１０】Ｍ系列生成回路における時系列の出力を示す説明図である。
【図１１】Ｆｅｉｓｔｅｌ型暗号を用いた暗号データの生成方法を示す説明図である。
【図１２】本発明の一実施例にかかる無線通信装置の動作を示すフロー図である。
【図１３】デバイスクラスと暗号強度との関係を示す説明図である。
【図１４】暗号生成器の構成を示すブロック図である。
【図１５】暗号鍵の鍵長に対するセキュリティ強度を示す説明図である。
【図１６】本発明の一実施例にかかる無線通信装置の動作を示すフロー図である。
【図１７】転送方法と暗号強度との関係を示す説明図である。
【図１８】本発明の一実施例にかかる無線通信装置の動作を示すフロー図である。
【図１９】本発明の一実施例にかかる無線通信装置の動作を示すフロー図である。
【図２０】本発明の一実施例にかかる無線通信装置のビーコンの送受信及び時間の同期化を示す説明図である。
【図２１】本発明の一実施例にかかる他の無線通信装置を示す部分ブロック図である。
【符号の説明】
【０１３９】
１００  無線通信装置
１０２  アンテナ
１０４  ＲＦ処理部
１０６  Ａ／Ｄ  Ｄ／Ａ変換部
１０８  バースバンド処理部
１１０  ＭＡＣ制御部
１１２  ＷＵＳＢ回路
１１４  ＵＳＢインターフェース
１１６  操作部
１１８  操作部インターフェース（Ｉ／Ｆ）
１２０  鍵生成部
１２２  乱数生成部
１２４  暗号処理部
１１４２  暗号生成器
【図１】
2008072241.tif 000003
【図２】
2008072241.tif 000004
【図３】
2008072241.tif 000005
【図４】
2008072241.tif 000006
【図５】
2008072241.tif 000007
【図６】
2008072241.tif 000008
【図７】
2008072241.tif 000009
【図８】
2008072241.tif 000010
【図９】
2008072241.tif 000011
【図１０】
2008072241.tif 000012
【図１１】
2008072241.tif 000013
【図１２】
2008072241.tif 000014
【図１３】
2008072241.tif 000015
【図１４】
2008072241.tif 000016
【図１５】
2008072241.tif 000017
【図１６】
2008072241.tif 000018
【図１７】
2008072241.tif 000019
【図１８】
2008072241.tif 000020
【図１９】
2008072241.tif 000021
【図２０】
2008072241.tif 000022
【図２１】
2008072241.tif 000023