(57)【特許請求の範囲】
【請求項１】
１またはそれ以上のデータパケットを含むフレームを移動局に送信する第１の基地局と第２の基地局とを備える通信システムの通信方法であって、
前記第１の基地局が、前記第１の基地局により定義される前記フレームのフレーム番号および所定の第１の値を含む初期化ベクタと所定の暗号鍵とに基づいて、前記データパケットを暗号化し、暗号化した前記データパケットを含む前記フレームを送信し、
前記移動局の通信相手を前記第１の基地局から前記第２の基地局に切り替え、
前記第２の基地局が、前記第２の基地局により定義される前記フレームのフレーム番号および前記第１の値と異なる所定の第２の値を含む初期化ベクタと前記所定の暗号鍵とに基づいて、前記データパケットを暗号化し、暗号化した前記データパケットを含む前記フレームを送信する、
ことを特徴とする通信方法。
【請求項２】
１またはそれ以上のデータパケットを含むフレームを第１の基地局または第２の基地局に送信する移動局の通信方法であって、
前記第１の基地局により定義される前記フレームのフレーム番号および所定の第１の値を含む初期化ベクタと所定の暗号鍵とに基づいて、前記データパケットを暗号化し、暗号化した前記データパケットを含む前記フレームを前記第１の基地局に送信し、
通信相手を前記第１の基地局から前記第２の基地局に切り替え、
前記第２の基地局により定義される前記フレームのフレーム番号および前記第１の値と異なる所定の第２の値を含む初期化ベクタと前記所定の暗号鍵とに基づいて、前記データパケットを暗号化し、暗号化した前記データパケットを含む前記フレームを前記第２の基地局に送信する、
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信方法に関する。
【背景技術】
【０００２】
現在、データをパケット単位で送受信するパケット通信が広く利用されている。パケット通信では、データの秘匿性や完全性を確保するために、パケット単位で暗号化することもできる。例えば、ＩＰ（Internet Protocol）パケット通信の分野では、ＩＰデータパケットを共通鍵暗号方式で暗号化して送信するＩＰｓｅｃという技術がある（例えば、非特許文献１参照）。また、固定無線通信や移動無線通信の分野でも、データパケットを共通鍵暗号方式で暗号化する技術がある（例えば、非特許文献２，３参照）。
【０００３】
なお、データパケットは、下位の通信レイヤにおいて所定の通信単位であるフレームにマッピングして送信することができる。例えば、無線通信では、データパケットを物理層で無線フレームにマッピングすることができる。フレームには、１つまたは複数のデータパケットを含めることができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Internet Engineering Task Force (IETF), "Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP)", RFC 4309.
【非特許文献２】The Institute of Electrical and Electronics Engineers (IEEE), "IEEE Standard for Local and Metropolitan Area Networks Part 16: Air Interface for Fixed Broadband Wireless Access Systems", IEEE802.16-2004.
【非特許文献３】The Institute of Electrical and Electronics Engineers (IEEE), "IEEE Standard for Local and Metropolitan Area Networks Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems", IEEE802.16e-2005.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、暗号化の方法には、暗号鍵に加えて初期化ベクタと呼ばれるビット列を使用するものがある。平文（暗号化前のデータ）が同一で暗号鍵が同一でも、異なる初期化ベクタを用いれば、異なる暗号文（暗号化後のデータ）を得ることができる。すなわち、初期化ベクタを用いることで、同一の暗号鍵を繰り返し使用することによる安全性の低下を抑制することができる。
【０００６】
この点、上記非特許文献１〜３に記載の技術では、送信側は、共通鍵とデータパケット毎に生成する初期化ベクタとを用いて、各データパケットを暗号化する。そして、送信側は、暗号化に用いた初期化ベクタに関する情報（例えば、４バイトのビット列）を、暗号化したデータパケットに付加して送信する。しかし、この方法では、データパケットの暗号化に伴う通信量の増大が問題となる。
【０００７】
１つの側面では、暗号化したデータパケットを送受信する場合の通信量を抑制することが可能な通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、１またはそれ以上のデータパケットを含むフレームを移動局に送信する第１の基地局と第２の基地局とを備える通信システムの通信方法が提供される。この通信方法では、第１の基地局が、第１の基地局により定義されるフレームのフレーム番号および所定の第１の値を含む初期化ベクタと所定の暗号鍵とに基づいて、データパケットを暗号化し、暗号化したデータパケットを含むフレームを送信する。移動局の通信相手を第１の基地局から第２の基地局に切り替える。第２の基地局が、第２の基地局により定義されるフレームのフレーム番号および第１の値と異なる所定の第２の値を含む初期化ベクタと所定の暗号鍵とに基づいて、データパケットを暗号化し、暗号化したデータパケットを含むフレームを送信する。
【０００９】
また、１つの態様では、１またはそれ以上のデータパケットを含むフレームを第１の基地局または第２の基地局に送信する移動局の通信方法が提供される。この通信方法では、第１の基地局により定義されるフレームのフレーム番号および所定の第１の値を含む初期化ベクタと所定の暗号鍵とに基づいて、データパケットを暗号化し、暗号化したデータパケットを含むフレームを第１の基地局に送信する。通信相手を第１の基地局から第２の基地局に切り替える。第２の基地局により定義されるフレームのフレーム番号および第１の値と異なる所定の第２の値を含む初期化ベクタと所定の暗号鍵とに基づいて、データパケットを暗号化し、暗号化したデータパケットを含むフレームを第２の基地局に送信する。
【発明の効果】
【００１０】
１つの側面では、暗号化したデータパケットを送受信する場合の通信量を抑制することができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】送信装置および受信装置を示す図である。
【図２】移動通信システムのシステム構成を示す図である。
【図３】基地局を示すブロック図である。
【図４】移動局を示すブロック図である。
【図５】鍵管理テーブルの第１の構造例を示す図である。
【図６】無線フレームの構造例を示す図である。
【図７】ＭＡＣ−ＰＤＵの第１のフォーマット例を示す図である。
【図８】ＭＡＣ−ＰＤＵの第２のフォーマット例を示す図である。
【図９】制御メッセージの流れを示すシーケンス図である。
【図１０】パケット送信処理を示すフローチャートである。
【図１１】初期化ベクタの第１の例を示す図である。
【図１２】暗号化方法の例を示す図である。
【図１３】パケット受信処理を示すフローチャートである。
【図１４】復号方法の例を示す図である。
【図１５】鍵更新処理を示す第１のフローチャートである。
【図１６】鍵管理テーブルの第２の構造例を示す図である。
【図１７】初期化ベクタの第２の例を示す図である。
【図１８】ハンドオーバ制御の流れを示すシーケンス図である。
【図１９】鍵管理テーブルの第３の構造例を示す図である。
【図２０】鍵更新処理を示す第２のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本実施の形態を図面を参照して詳細に説明する。
図１は、送信装置および受信装置を示す図である。送信装置１はフレーム３を送信し、受信装置２は送信装置１からフレーム３を受信する。フレーム３には、１またはそれ以上のデータパケットを含めることができる。図１の例では、フレーム３に、データパケット３ａ，３ｂが含まれる。
【００１３】
送信装置１は、暗号化部１ａおよび送信部１ｂを有する。暗号化部１ａは、データパケット３ａ，３ｂそれぞれを暗号化する。暗号化には、送信装置１が保持する暗号鍵を使用する。暗号鍵は、例えば、受信装置２が保持する復号鍵に対応するものである。更に、暗号化には、データパケット３ａ，３ｂの送信に用いるフレーム３のフレーム番号３ｃを使用する。フレーム番号３ｃは、例えば、初期化ベクタの生成に使用する。送信部１ｂは、暗号化部１ａで暗号化したデータパケット３ａ，３ｂを含むフレーム３を送信する。
【００１４】
受信装置２は、受信部２ａおよび復号部２ｂを有する。受信部２ａは、送信装置１からフレーム３を受信する。復号部２ｂは、受信部２ａで受信したフレーム３に含まれるデータパケット３ａ，３ｂそれぞれを復号する。復号には、受信装置２が保持する復号鍵を使用する。復号鍵は、例えば、送信装置１が保持する暗号鍵に対応するものである。更に、復号には、データパケット３ａ，３ｂの送信に用いられたフレーム３のフレーム番号３ｃを使用する。フレーム番号３ｃは、例えば、初期化ベクタの生成に使用する。
【００１５】
ここで、フレーム番号３ｃは、各フレームを識別する番号であり、例えば、送信装置１または受信装置２によって定義される。フレーム番号３ｃには、フレーム毎に１ずつ増加する連番を用いることができる。フレーム番号３ｃは、フレーム３に含まれていることが考えられる。この場合、受信装置２は、フレーム３からフレーム番号３ｃを抽出して、復号に用いることができる。ただし、受信装置２が、現在のフレーム番号を管理し、自装置で管理するフレーム番号に基づいて復号してもよい。
【００１６】
また、送信装置１および受信装置２は、暗号アルゴリズムとして、共通鍵暗号方式や公開鍵暗号方式を用いることができる。共通鍵暗号方式としては、例えば、ＤＥＳ（Data Encryption Standard）やＡＥＳ（Advanced Encryption Standard）が考えられる。共通鍵暗号方式の場合、送信装置１の暗号鍵と受信装置２の復号鍵とは同一の鍵（共通鍵）である。一方、公開鍵暗号方式の場合、送信装置１の暗号鍵と受信装置２の復号鍵とは異なる鍵（公開鍵および秘密鍵）である。共通鍵暗号方式の場合、送信装置１と受信装置２とは、暗号鍵／復号鍵として用いる共通鍵を予め合意しておく。
【００１７】
また、送信装置１および受信装置２は、暗号鍵／復号鍵を、定期または不定期に変更することができる。特に、フレーム番号が所定の周期で循環する場合（例えば、フレーム毎に番号が１ずつ増加し、表現可能な最大値の次は最小値に戻る場合）は、暗号の安全性の観点から、循環周期毎に少なくとも１回鍵を変更することが好ましい。また、送信装置１および受信装置２は、暗号化および復号したデータパケット数に応じて、鍵を変更するようにしてもよい。
【００１８】
また、フレーム３に、暗号化したデータパケットと暗号化しないデータパケットとを混在させることもできる。また、上記では送信装置１と受信装置２とが１対１で通信を行う場合を考えたが、送信装置１が複数の受信装置２宛てのデータパケットを送信する場合も考えられる。この場合、フレーム３に複数の受信装置２宛てのデータパケットを混在させることもできる。また、複数の送信装置１が受信装置２宛てのデータパケットを送信する場合も考えられる。この場合、フレーム３に複数の送信装置１からのデータパケットを混在させることもできる。
【００１９】
また、データパケットの暗号化および復号では、暗号鍵／復号鍵とフレーム番号３ｃとに加えて、更にフレーム３内でのそのデータパケットの位置を示すインデックスを使用することもできる。インデックスは、例えば、そのデータパケットがフレーム３内で何番目のデータパケットかを示す番号である。フレーム番号３ｃとインデックスとから、初期化ベクタを生成することが考えられる。なお、送信装置１は、インデックスをデータパケット３ａ，３ｂそれぞれに付加して送信してもよい。
【００２０】
また、暗号化および復号では、フレーム番号３ｃを示すビット列の一部分のみを抽出して使用することも考えられる。また、フレーム番号３ｃを示すビット列に拡張ビットを付加したビット列を使用することも考えられる。このようなフレーム番号３ｃを示すビット列の拡張や縮退は、フレーム番号３ｃの循環周期と異なる周期で暗号鍵／復号鍵を変更する場合に特に有効である。なお、フレーム番号３ｃや前述のインデックスは、初期化ベクタの生成以外の用途で使用することもできる。例えば、暗号鍵／復号鍵とフレーム番号３ｃとを結合したビット列を、一時的な暗号鍵／復号鍵として使用することも考えられる。
【００２１】
このような送信装置１によれば、暗号化部１ａにより、データパケット３ａ，３ｂそれぞれが、その送信に用いられるフレーム３のフレーム番号３ｃと暗号鍵とに基づいて暗号化される。そして、送信部１ｂにより、暗号化されたデータパケット３ａ，３ｂを含むフレーム３が送信される。また、このような受信装置２によれば、受信部２ａにより、データパケット３ａ，３ｂを含むフレーム３が受信される。そして、復号部２ｂにより、受信されたフレーム３に含まれるデータパケット３ａ，３ｂそれぞれが、フレーム３のフレーム番号３ｃと復号鍵とに基づいて復号される。
【００２２】
これにより、送信装置１は、復号鍵以外の情報であって、受信装置２がデータパケット３ａ，３ｂを復号するために用いる情報を、データパケット３ａ，３ｂそれぞれに付加して送信しなくてもよい。受信装置２は、復号鍵以外の復号に用いる情報は、データパケット３ａ，３ｂの送信に用いられたフレーム３のフレーム番号３ｃから得ることができる。従って、データパケット３ａ，３ｂの暗号化に伴う通信量の増大が抑制される。
【００２３】
以下、上記の送信方法および受信方法を移動通信システムに適用した場合について更に詳細に説明する。ただし、上記の送信方法および受信方法は、固定無線通信システムや有線通信システムなど他の種類の通信システムに適用することもできる。また、以下に示す移動通信システムでは、移動局から基地局への通信（上り通信）と基地局から移動局への通信（下り通信）の両方でデータパケットの暗号化を行っているが、何れか一方向でのみ暗号化を行ってもよい。
【００２４】
［第１の実施の形態］
図２は、移動通信システムのシステム構成を示す図である。第１の実施の形態に係る移動通信システムは、基地局１００，１００ａおよび移動局２００，２００ａを有する。
【００２５】
基地局１００，１００ａは、移動局２００，２００ａが自局のセル内に存在するとき、移動局２００，２００ａとパケット通信を行うことができる無線通信装置である。基地局１００，１００ａは、下りリンク（基地局１００，１００ａから移動局２００，２００ａの方向の無線リンク）によって、移動局２００，２００ａ宛てのデータパケットを送信する。また、基地局１００，１００ａは、上りリンク（移動局２００，２００ａから基地局１００，１００ａの方向の無線リンク）によって、移動局２００，２００ａが送信したデータパケットを受信する。なお、基地局１００と基地局１００ａとは、図示しない上位局（例えば、無線ネットワーク制御装置）経由で、相互に通信が可能である。ただし、基地局１００と基地局１００ａとが直接通信できるようにしてもよい。
【００２６】
移動局２００，２００ａは、基地局１００，１００ａとパケット通信を行うことができる無線端末装置である。移動局２００，２００ａは、例えば、携帯電話機である。移動局２００，２００ａは、上りリンクによって、基地局１００，１００ａにデータパケットを送信する。また、移動局２００，２００ａは、下りリンクによって、自局宛てのデータパケットを基地局１００，１００ａから受信する。なお、第１の実施の形態では、移動局２００が基地局１００のセル内に位置している場合を考える。
【００２７】
ここで、基地局１００，１００ａと移動局２００，２００ａとは、データの秘匿性および完全性を確保するため、データパケットを暗号化して送受信することができる。下りリンクを考えると、基地局１００，１００ａが図１の送信装置１に相当し、移動局２００，２００ａが図１の受信装置２に相当する。また、上りリンクを考えると、移動局２００，２００ａが送信装置１に相当し、基地局１００，１００ａが受信装置２に相当する。
【００２８】
暗号処理方式として、本実施の形態では、ＡＥＳ−ＣＣＭ（Counter with CBC MAC)を用いる場合を考える。ＡＥＳ−ＣＣＭでは、暗号アルゴリズムとして、共通鍵暗号方式であるＡＥＳを用いる。また、暗号利用モードとして、カウンタモード（ＣＴＲモード）を用いる。更に、ＣＢＣ（Cipher Block Chaining）モードによって生成した認証データ（ＭＡＣ：Message Authentication Code）をデータパケットに付加する。ＡＥＳ−ＣＣＭの詳細については、後で説明する。ただし、基地局１００，１００ａおよび移動局２００，２００ａは、ＡＥＳ−ＣＣＭ以外の暗号処理方式を用いてもよい。
【００２９】
図３は、基地局を示すブロック図である。基地局１００は、アンテナ１１１、アンテナ共用器１１２、受信部１１３、復調部１１４、復号部１１５、制御情報抽出部１１６、パケット再生部１１７、ネットワークインタフェース１１８、パケット識別部１１９、パケットバッファ１２０、ＰＤＵ生成部１２１、符号化部１２２、変調部１２３、送信部１２４、テーブル記憶部１２５および制御部１２６を有する。なお、基地局１００ａも、基地局１００と同様のモジュール構成によって実現することができる。
【００３０】
アンテナ１１１は、送信・受信共用のアンテナである。アンテナ１１１は、移動局２００，２００ａから受信した無線信号をアンテナ共用器１１２に出力する。また、アンテナ１１１は、アンテナ共用器１１２から取得した送信信号を無線出力する。ただし、送信用アンテナと受信用アンテナとを別々に設けるようにしてもよい。
【００３１】
アンテナ共用器１１２は、アンテナ１１１を送信・受信共用とするために、受信信号と送信信号とを分離する。アンテナ共用器１１２は、アンテナ１１１から取得した受信信号を、受信部１１３に出力する。また、送信部１２４から取得した送信信号を、アンテナ１１１に無線出力させる。受信信号と送信信号とを分離するために、アンテナ共用器１１２は、例えば、帯域通過フィルタ（ＢＰＦ：Band Pass Filter）を備える。
【００３２】
受信部１１３は、アンテナ共用器１１２から取得した受信信号をデジタルベースバンド信号に変換し、復調部１１４に出力する。この変換処理のために、受信部１１３は、例えば、低雑音増幅器（ＬＮＡ：Low Noise Amplifier）、周波数変換器、ＢＰＦ、Ａ／Ｄ（Analog to Digital）変換器、直交復調器などを備える。
【００３３】
復調部１１４は、受信部１１３から取得したデジタルベースバンド信号を復調する。復調では、所定の復調方式または制御部１２６によって指定される復調方式を用いる。そして、復調部１１４は、得られた復調信号を復号部１１５に出力する。
【００３４】
復号部１１５は、復調部１１４から取得した復調信号を復号する。例えば、復号部１１５は、復調信号に対しデインターリーブ、誤り訂正復号、誤り検出などの処理を行う。復号では、所定の復号方式または制御部１２６によって指定される復号方式を用いる。そして、復号部１１５は、得られた復号データを制御情報抽出部１１６に出力する。
【００３５】
制御情報抽出部１１６は、復号部１１５から取得した復号データから、移動局２００，２００ａで生成された制御情報を抽出し、制御部１２６に出力する。制御情報には、例えば、移動局２００，２００ａの通信能力を通知するためのＳＢＣ−ＲＥＱ（Subscriber station Basic Capability - REQuest）、新たな共通鍵を要求するためのＰＫＭ−ＲＥＱ（Privacy Key Management - REQuest）などが含まれる。また、制御情報抽出部１１６は、復号部１１５から取得した復号データからユーザデータを抽出し、パケット再生部１１７に出力する。
【００３６】
パケット再生部１１７は、制御情報抽出部１１６からユーザデータを取得し、無線区間で用いられるＭＡＣ−ＰＤＵ（Medium Access Control - Protocol Data Unit）というデータ形式から上位局−基地局間で用いられるパケット形式に、データ形式の変換を行う。その際、必要に応じて、ＭＡＣ−ＰＤＵの結合や分割を行うこともできる。そして、パケット再生部１１７は、データパケットをネットワークインタフェース１１８に出力する。
【００３７】
ここで、パケット再生部１１７は、復号部１１７ａを有する。復号部１１７ａは、暗号化されたＭＡＣ−ＰＤＵがあると、そのＭＡＣ−ＰＤＵを復号する。その際、復号部１１７ａは、制御部１２６から、復号するＭＡＣ−ＰＤＵが含まれていた無線フレームのフレーム番号、無線フレーム内でのそのＭＡＣ−ＰＤＵの位置を示すインデックスおよび共通鍵（復号鍵）を取得する。そして、復号部１１７ａは、制御部１２６から取得した情報に基づいてＭＡＣ−ＰＤＵを復号する。復号方法の詳細は、後で説明する。
【００３８】
ネットワークインタフェース１１８は、上位局とパケット通信を行うための通信インタフェースである。ネットワークインタフェース１１８は、パケット再生部１１７から取得したデータパケットを上位局に送信する。また、ネットワークインタフェース１１８は、上位局から取得したデータパケットを、パケット識別部１１９に出力する。
【００３９】
パケット識別部１１９は、ネットワークインタフェース１１８から取得したデータパケットを、パケットバッファ１２０に出力する。その際、パケット識別部１１９は、データパケットのヘッダに含まれる宛先アドレス（例えば、宛先ＩＰ（Internet Protocol）アドレス）から、宛先の移動局を特定する。これは、例えば、パケット識別部１１９がアドレスと移動局の識別情報とを対応付けて管理しておくことで実現できる。また、特定した移動局に対応するＱｏＳ（Quality of Service）を判断する。そして、パケット識別部１１９は、移動局、ＱｏＳおよびデータパケットのサイズを指定して、制御部１２６に帯域割り当て要求を行う。
【００４０】
パケットバッファ１２０は、パケット識別部１１９から取得したデータパケットを一時的に記憶するバッファメモリである。パケットバッファ１２０は、制御部１２６からの指示に応じて、記憶しているデータパケットを順次ＰＤＵ生成部１２１に出力する。なお、パケットバッファ１２０は、宛先やＱｏＳに応じてデータパケットを管理するため、記憶領域を複数の領域に分割しておくこともできる。また、パケットバッファ１２０は、複数のメモリ装置を備えていてもよい。
【００４１】
ＰＤＵ生成部１２１は、パケットバッファ１２０からユーザデータのデータパケットを取得すると共に、制御部１２６から制御情報を取得する。制御情報には、例えば、ＳＢＣ−ＲＥＱやＰＫＭ−ＲＥＱに対応する応答（Response）などが含まれる。ＰＤＵ生成部１２１は、ユーザデータおよび制御情報が無線フレーム内に適切に配置されるように制御しつつ、データパケットをＭＡＣ−ＰＤＵ形式に変換する。その際、必要に応じて、データパケットの結合や分割を行うこともできる。そして、ＰＤＵ生成部１２１は、ＭＡＣ−ＰＤＵおよび制御情報を符号化部１２２に出力する。
【００４２】
ここで、ＰＤＵ生成部１２１は、暗号化部１２１ａを有する。暗号化部１２１ａは、制御部１２６からの指示に応じて、データパケットを暗号化する。その際、暗号化部１２１ａは、制御部１２６から、暗号化されたＭＡＣ−ＰＤＵの送信に用いる無線フレームのフレーム番号、無線フレーム内でのそのＭＡＣ−ＰＤＵの位置を示すインデックスおよび共通鍵（暗号鍵）を取得する。そして、暗号化部１２１ａは、制御部１２６から取得した情報に基づいてデータパケットを暗号化する。暗号化方法の詳細は、後で説明する。
【００４３】
符号化部１２２は、ＰＤＵ生成部１２１から取得したＭＡＣ−ＰＤＵを符号化する。例えば、符号化部１２２は、ＭＡＣ−ＰＤＵに対し誤り検出用パリティの付加、誤り訂正符号化、インタリーブなどの処理を行う。符号化では、所定の符号化方式または制御部１２６によって指定される符号化方式を用いる。そして、符号化部１２２は、得られた符号化データを変調部１２３に出力する。
【００４４】
変調部１２３は、符号化部１２２から取得した符号化データを変調する。変調では、所定の変調方式または制御部１２６によって指定される変調方式を用いる。例えば、変調部１２３は、ＱＰＳＫ（Quadrature Phase Shift Keying）や１６ＱＡＭ（Quadrature amplitude modulation）などのデジタル変調を行う。そして、変調部１２３は、得られたデジタルベースバンド信号を送信部１２４に出力する。
【００４５】
送信部１２４は、変調部１２３から取得したデジタルベースバンド信号を無線送信するための送信信号に変換し、アンテナ共用器１１２に出力する。この変換処理のために、送信部１２４は、例えば、直交変調器、Ｄ／Ａ（Digital to Analog）変換器、周波数変換器、ＢＰＦ、電力増幅器などを備える。
【００４６】
テーブル記憶部１２５は、移動局２００，２００ａの通信に用いる共通鍵（暗号鍵かつ復号鍵）を管理するための鍵管理テーブルを記憶する。また、テーブル記憶部１２５は、移動局２００，２００ａの通信能力の情報、認証情報、ＱｏＳ情報、無線リソースの割り当て情報など、通信制御に用いる各種情報も記憶する。テーブル記憶部１２５が記憶する情報は、制御部１２６によって適宜参照・更新される。
【００４７】
制御部１２６は、移動局２００，２００ａとの無線通信全般を制御する。例えば、制御部１２６は、無線フレームのフレーム番号を管理する。また、移動局２００，２００ａとの通信に用いる共通鍵の更新も管理する。制御部１２６は、復号部１１７ａが暗号化されたＭＡＣ−ＰＤＵを復号するとき、復号部１１７ａにフレーム番号、インデックスおよび共通鍵を通知する。また、暗号化部１２１ａがデータパケットを暗号化するとき、暗号化部１２１ａにフレーム番号、インデックスおよび共通鍵を通知する。なお、上りリンクと下りリンクとで、同じ共通鍵を用いてもよいし、異なる共通鍵を用いてもよい。
【００４８】
また、制御部１２６は、パケット識別部１１９から帯域割り当て要求があると、ＱｏＳに応じて移動局２００，２００ａに無線リソースを割り当てる。そして、割り当て結果に応じて、パケットバッファ１２０にデータパケットの出力を指示する。制御部１２６は、制御情報抽出部１１６から取得した制御情報に基づいて、上記のような各種制御を行う。また、必要に応じて制御情報を生成し、ＰＤＵ生成部１２１に出力する。
【００４９】
図４は、移動局を示すブロック図である。移動局２００は、アンテナ２１１、アンテナ共用器２１２、受信部２１３、復調部２１４、復号部２１５、制御情報抽出部２１６、パケット再生部２１７、データ処理部２１８、パケット識別部２１９、パケットバッファ２２０、ＰＤＵ生成部２２１、符号化部２２２、変調部２２３、送信部２２４、テーブル記憶部２２５および制御部２２６を有する。なお、移動局２００ａも、移動局２００と同様のモジュール構成によって実現することができる。
【００５０】
上記モジュールのうちデータ処理部２１８以外のモジュールの機能は、前述の基地局１００が備える同名のモジュールと同様である。ただし、本実施の形態に係る移動通信システムでは、無線リソースの割り当て管理は基地局側で行われるとする。よって、移動局２００は、基地局１００，１００ａによって割り当てられる無線リソースを用いて上り通信を行う。無線リソースの割り当てを受けるため、例えば、移動局２００は基地局１００，１００ａに対して帯域要求を示す制御情報を送信する。
【００５１】
データ処理部２１８は、パケット再生部２１７から取得したデータパケットを用いて、表示処理や音声出力処理などの各種データ処理を行う。また、データ処理部２１８は、送信するデータが発生すると、データパケットを生成し、宛先アドレスを付加してパケット識別部２１９に出力する。
【００５２】
なお、移動局２００は、各タイミングで何れか１つの基地局とのみ通信してもよいし、複数の基地局と並列に通信してもよい。また、移動局２００は、１つの基地局につき１つのみコネクションを設定してもよいし、１つの基地局と複数のコネクションを設定してもよい。データパケットの暗号化および復号に用いる共通鍵は、例えば、コネクション毎に用意される。この場合、コネクション毎に鍵管理が行われる。
【００５３】
図５は、鍵管理テーブルの第１の構造例を示す図である。鍵管理テーブル１２５ａは、基地局１００のテーブル記憶部１２５に格納されている。移動局２００のテーブル記憶部２２５にも、鍵管理テーブル１２５ａと同様のテーブルが格納される。鍵管理テーブル１２５ａは、ＣＩＤ（Connection IDentifier）、共通鍵およびインデックスを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【００５４】
ＣＩＤを示す項目には、コネクション設定時に基地局１００，１００ａによって移動局２００，２００ａに割り当てられる識別子が設定される。ＣＩＤは、１つの移動局に複数割り当てられることもある。
【００５５】
共通鍵を示す項目には、ＣＩＤが示すコネクションで用いられる共通鍵（暗号鍵かつ復号鍵）が設定される。共通鍵は、例えば、１６バイト（１２８ビット）など所定長のビット列である。共通鍵のビット長は、使用する暗号アルゴリズムに応じて決定される。
【００５６】
インデックスを示す項目には、各無線フレームについてその共通鍵が使用された回数が設定される。インデックスは、例えば、１バイト（８ビット）など所定長のビット列である。インデックスは、無線フレーム毎に０に初期化され、その共通鍵を使用してデータパケットを暗号化する毎にインクリメントされる。なお、共通鍵毎にインデックスを定義する代わりに、複数の共通鍵全体で一意なインデックスを定義してもよい。
【００５７】
鍵管理テーブル１２５ａの情報は、制御部１２６によって適宜更新される。例えば、ＣＩＤが「１」、共通鍵が「Ｋｅｙ＃ａ」、インデックスが「０」という情報が、鍵管理テーブル１２５ａに登録される。これは、ある無線フレームにおいて、共通鍵Ｋｅｙ＃ａが未使用であること、すなわち、ＣＩＤ＝１のコネクションのデータパケットがまだ１つも暗号化されていないことを示している。なお、鍵管理テーブル１２５ａのようなテーブルが、例えば、上りリンクおよび下りリンクそれぞれについて用意される。
【００５８】
図６は、無線フレームの構造例を示す図である。図６に示すような無線フレームが、基地局１００，１００ａと移動局２００，２００ａとの間の無線通信に用いられる。本実施の形態に係る移動通信システムでは、時分割複信（ＴＤＤ：Time Division Duplex）方式により上り通信と下り通信とを実現する。すなわち、各無線フレームを２つの時間領域に分割し、前半を下り通信に用いるＤＬサブフレームとし、後半を上り通信に用いるＵＬサブフレームとする。ただし、周波数分割複信（ＦＤＤ：Frequency Division Duplex）方式により上り通信と下り通信とを実現することも可能である。
【００５９】
この例の場合、ＤＬサブフレームでは、まず無線フレームの先頭を識別するための既知信号としてプリアンブルが送信される。プリアンブルに続いて、ＤＬ−ＭＡＰの領域を示すＦＣＨ（Frame Control Header）が送信される。ＦＣＨに続いて、ＤＬ−ＭＡＰが送信される。ＤＬ−ＭＡＰは、ＤＬサブフレームの無線リソースの各移動局への割り当て状況の情報が含まれる。ＤＬ−ＭＡＰに続いて、ＵＬ−ＭＡＰが送信される。ＵＬ−ＭＡＰには、ＵＬサブフレームの無線リソースの各移動局への割り当て状況の情報が含まれる。
【００６０】
また、ＤＬ−ＭＡＰには、その無線フレームのフレーム番号も含まれる。フレーム番号は、例えば、３バイト（２４ビット）など所定長のビット列である。一連の無線フレームには、昇順で連番のフレーム番号が付与される。フレーム番号は、所定周期で循環する。例えば、２４ビットで表現可能な最大値に達すると、次の無線フレームのフレーム番号はゼロに戻る。なお、フレーム番号は、全ての無線フレームのＤＬ−ＭＡＰで送信しなくてもよく、間欠的に送信するようにしてもよい。所定の規則でフレーム番号が付与されていれば、過去に通知されたフレーム番号から現在の無線フレームのフレーム番号を推定できるためである。
【００６１】
ＵＬ−ＭＡＰに続いて、ユーザデータおよび制御情報の集合がＤＬ−Ｂｕｒｓｔとして送信される。ＤＬ−Ｂｕｒｓｔには、１またはそれ以上のＭＡＣ−ＰＤＵを含めることができる。なお、暗号化したＭＡＣ−ＰＤＵと暗号化しないＭＡＣ−ＰＤＵとを混在させることも可能である。各ＭＡＣ−ＰＤＵの宛先は、ＤＬ−ＭＡＰや各ＭＡＣ−ＰＤＵのヘッダに含まれるＣＩＤによって特定できる。
【００６２】
ＵＬサブフレームには、レンジングコードを送信するためのレンジング領域が設けられている。レンジング領域では、移動局２００，２００ａは、基地局１００，１００ａの許可を受けずに送信が可能である。レンジング領域は、例えば、コネクション確立前の通信や帯域要求、ハンドオーバ要求などに用いることができる。
【００６３】
また、ＵＬサブフレームには、ＵＬ−Ｂｕｒｓｔ領域が設けられている。移動局２００，２００ａは、自局に割り当てられた領域で、ユーザデータおよび制御情報の集合をＵＬ−Ｂｕｒｓｔとして送信することができる。ＵＬ−Ｂｕｒｓｔには、１またはそれ以上のＭＡＣ−ＰＤＵを含めることができる。なお、暗号化したＭＡＣ−ＰＤＵと暗号化しないＭＡＣ−ＰＤＵとを混在させることも可能である。
【００６４】
なお、ＤＬサブフレームからＵＬサブフレームまでの間には、ＴＴＧ（Transmit/Receive Transition Gap）という空白時間が挿入されている。また、ＵＬサブフレームから次のＤＬサブフレームまでの間には、ＲＴＧ（Receive/Transmit Transition Gap）という空白時間が挿入されている。
【００６５】
図７は、ＭＡＣ−ＰＤＵの第１のフォーマット例を示す図である。このＭＡＣ−ＰＤＵは、暗号化が施されたものである。第１のフォーマット例では、６バイトのヘッダ、暗号化されたペイロード、８バイトのＩＣＶ（Integrity Check Value）および４バイトのＣＲＣ（Cyclic Redundancy Check）が含まれている。
【００６６】
ヘッダは、ＭＡＣ層においてデータパケットをカプセル化するために付加される情報である。ヘッダには、誤り検出のための１バイトのＨＣＳ（Header Check Sequence）が含まれる。ペイロードは、データパケットの内容を暗号化したものであり、可変長である。ＩＣＶは、暗号化前のデータパケットの内容から生成される認証用データである。受信側では、ＩＣＶを用いて、データパケットの改竄の有無を検査することができる。ＩＣＶは、ペイロードと同様に暗号化してもよいし、暗号化しなくてもよい。ＣＲＣは、ＭＡＣ層において付加されるＭＡＣ−ＰＤＵ全体の誤りを検出するためのビット列である。
【００６７】
図８は、ＭＡＣ−ＰＤＵの第２のフォーマット例を示す図である。このＭＡＣ−ＰＤＵは、図７に示したＭＡＣ−ＰＤＵと同様、暗号化が施されたものである。第２のフォーマット例では、６バイトのヘッダ、１バイトのインデックス、暗号化されたペイロード、８バイトのＩＣＶおよび４バイトのＣＲＣが含まれている。
【００６８】
ヘッダ、ペイロード、ＩＣＶおよびＣＲＣの意味は、前述の第１のフォーマット例と同様である。インデックスの意味は、前述の鍵管理テーブル１２５ａで述べた通りである。すなわち、そのＭＡＣ−ＰＤＵが無線フレーム内で何番目の暗号化されたＭＡＣ−ＰＤＵであるかを示す番号が、ＭＡＣ−ＰＤＵに付加される。ＭＡＣ−ＰＤＵにインデックスを付加することで、受信側では、無線フレーム内でのＭＡＣ−ＰＤＵの格納順序を意識せずに、各ＭＡＣ−ＰＤＵを復号することができる。
【００６９】
なお、上りリンクでは、上記のようなＭＡＣ−ＰＤＵを移動局２００，２００ａが生成して送信し、基地局１００，１００ａが受信して復号する。また、下りリンクでは、上記のようなＭＡＣ−ＰＤＵを基地局１００，１００ａが生成して送信し、移動局２００，２００ａが受信して復号する。ただし、ＩＣＶについては省略することもできる。
【００７０】
次に、以上のような構成を備える移動通信システムで実行される処理の詳細について説明する。まず、基地局１００，１００ａと移動局２００，２００ａとの間の制御メッセージの流れを説明する。次に、データパケットの暗号化処理および復号処理について説明する。その後、暗号鍵の更新処理について説明する。
【００７１】
図９は、制御メッセージの流れを示すシーケンス図である。ここでは、移動局２００が基地局１００に接続する場合を考える。以下、図９に示す処理をステップ番号に沿って説明する。
【００７２】
［ステップＳ１１］移動局２００は、自局の通信能力を示す制御情報（ＳＢＣ−ＲＥＱ）を基地局１００に送信する。ＳＢＣ−ＲＥＱには、移動局２００が使用可能な暗号アルゴリズムの情報を含めることができる。移動局２００は、例えば、ＳＢＣ−ＲＥＱを無線フレームのＵＬ−Ｂｕｒｓｔで送信する。
【００７３】
［ステップＳ１２］基地局１００は、ＳＢＣ−ＲＥＱに対する応答を示す制御情報（ＳＢＣ−ＲＳＰ）を移動局２００に送信する。ＳＢＣ−ＲＳＰには、使用する暗号アルゴリズムの指定情報を含めることができる。また、暗号化したＭＡＣ−ＰＤＵに何の情報を付加するか（例えば、インデックスを付加するか）の情報も含めることができる。基地局１００は、例えば、ＳＢＣ−ＲＳＰを無線フレームのＤＬ−Ｂｕｒｓｔで送信する。
【００７４】
［ステップＳ１３］移動局２００は、コネクションの設定後、共通鍵の配布を要求する制御情報（ＰＫＭ−ＲＥＱ）を基地局１００に送信する。移動局２００は、例えば、ＰＫＭ−ＲＥＱを無線フレームのＵＬ−Ｂｕｒｓｔで送信する。
【００７５】
［ステップＳ１４］基地局１００は、共通鍵を生成してテーブルに登録する。そして、基地局１００は、ＰＫＭ−ＲＥＱに対する応答を示す制御情報（ＰＫＭ−ＲＳＰ）に共通鍵を含めて移動局２００に送信する。ＰＫＭ−ＲＳＰには、更に、有効期間の情報を含めることができる。共通鍵の配布から有効期間が経過すると、その共通鍵は無効になる。基地局１００は、例えば、ＰＫＭ−ＲＳＰを無線フレームのＤＬ−Ｂｕｒｓｔで送信する。
【００７６】
移動局２００は、基地局１００から受信した共通鍵をテーブルに登録する。また、移動局２００は、ＰＫＭ−ＲＳＰが含まれていた無線フレームのフレーム番号を記憶する。このフレーム番号は、共通鍵を更新するタイミングを判断するために参照される。以降、移動局２００は、テーブルに登録した共通鍵を用いて、基地局１００と通信を行う。なお、上りリンク用の共通鍵と下りリンク用の共通鍵とを別個に用意してもよい。
【００７７】
［ステップＳ１５］移動局２００は、共通鍵を更新するタイミングになったと判断すると、ステップＳ１３と同様に、共通鍵の配布を要求するＰＫＭ−ＲＥＱを基地局１００に送信する。なお、鍵更新のタイミングについては、後で詳細に説明する。
【００７８】
［ステップＳ１６］基地局１００は、ステップＳ１４と同様に、共通鍵を生成してテーブルを更新すると共に、ＰＫＭ−ＲＳＰに共通鍵を含めて移動局２００に送信する。移動局２００は、基地局１００から受信した共通鍵を用いてテーブルを更新する。以降、移動局２００は、更新後の共通鍵を用いて基地局１００と通信を行う。
【００７９】
このようにして、基地局１００と移動局２００とは、コネクション設定時に、使用する暗号アルゴリズムや各ＭＡＣ−ＰＤＵに付加する情報を合意しておく。そして、移動局２００からの要求に応じて、基地局１００が共通鍵を配布する。その後、基地局１００と移動局２００とは、定期または不定期に共通鍵を変更する。
【００８０】
なお、上記のシーケンスでは、移動局２００からの要求に応じて基地局１００が共通鍵を配布するようにしたが、基地局１００からの要求に応じて移動局２００が使用する共通鍵を決定するようにしてもよい。また、移動局２００からの要求が無くても、基地局１００が自動的に共通鍵を配布するようにしてもよい。
【００８１】
図１０は、パケット送信処理を示すフローチャートである。ここでは、基地局１００がＭＡＣ−ＰＤＵを送信する場合を考える。ただし、移動局２００が送信する場合も同様である。以下、図１０に示す処理をステップ番号に沿って説明する。
【００８２】
［ステップＳ２１］制御部１２６は、次に送信する無線フレームのフレーム番号を特定する。
［ステップＳ２２］制御部１２６は、テーブル記憶部１２５に記憶された鍵管理テーブル１２５ａのインデックスを全てゼロに初期化する。
【００８３】
［ステップＳ２３］制御部１２６は、次の無線フレームで送信するデータパケットが、パケットバッファ１２０に残っているか判断する。残りのデータパケットがある場合、処理をステップＳ２４に進める。残りのデータパケットが無い場合、処理をステップＳ２８に進める。
【００８４】
［ステップＳ２４］ＰＤＵ生成部１２１は、パケットバッファ１２０からデータパケットを取得し、データパケットの宛先に対応するＣＩＤを特定する。暗号化部１２１ａは、制御部１２６から、ステップＳ２１で特定されたフレーム番号と、特定したＣＩＤに対応する共通鍵およびインデックスとを取得する。そして、暗号化部１２１ａは、フレーム番号とインデックスとから初期化ベクタを生成する。初期化ベクタの生成方法は、後で詳細に説明する。
【００８５】
［ステップＳ２５］暗号化部１２１ａは、データパケットを使用する暗号アルゴリズムに応じたビット長のメッセージブロックに分割する。次に、暗号化部１２１ａは、メッセージブロックを用いて、認証用データであるＩＣＶを生成する。そして、暗号化部１２１ａは、共通鍵と初期化ベクタとを用いて、メッセージブロックとＩＣＶとを暗号化する。なお、ＩＣＶの生成は省略してもよい。また、ＩＣＶを暗号化しなくてもよい。
【００８６】
［ステップＳ２６］ＰＤＵ生成部１２１は、ステップＳ２５で暗号化したデータパケット（ペイロード）およびＩＣＶをカプセル化して、ＭＡＣ−ＰＤＵを生成する。例えば、ＰＤＵ生成部１２１は、ペイロードとＩＣＶに、ＭＡＣヘッダとＣＲＣとを付加する。
【００８７】
［ステップＳ２７］制御部１２６は、ステップＳ２４で特定したＣＩＤのインデックスをインクリメント（１だけ加算）し、鍵管理テーブル１２５ａを更新する。そして、処理をステップＳ２３に進める。
【００８８】
［ステップＳ２８］送信部１２４は、ステップＳ２６で生成され、符号化部１２２により符号化され、変調部１２３により変調されたＭＡＣ−ＰＤＵを、無線フレームのＤＬ−Ｂｕｒｓｔにマッピングした信号として送信する。
【００８９】
このようにして、基地局１００は、各データパケットについて、送信に用いる無線フレームのフレーム番号とインデックスとから初期化ベクタを生成し、初期化ベクタと予め移動局２００に配布してある共通鍵とを用いてデータパケットを暗号化する。データパケット毎に初期化ベクタを用いるため、同じ共通鍵を繰り返し使用することによる安全性の低下を抑制できる。また、初期化ベクタの生成にフレーム番号を利用するため、生成が容易であると共に、使用した初期化ベクタを移動局２００に再現させることも容易となる。
【００９０】
図１１は、初期化ベクタの第１の例を示す図である。ここでは、ビット長が１３バイト（１０４ビット）の初期化ベクタの例を示している。なお、この初期化ベクタは、ナンス（Nonce）と呼ぶこともある。初期化ベクタには、５バイトのＭＡＣヘッダ、４バイトの所定値（予約値）、３バイトのフレーム番号および１バイトのインデックスが含まれる。
【００９１】
ＭＡＣヘッダは、ＭＡＣ−ＰＤＵに付加されるＭＡＣヘッダと同じである。ただし、ＭＡＣ−ＰＤＵに付加されるＭＡＣヘッダのうち誤り検出用の１バイトのＨＣＳは除いている。所定値は、固定のビット列であり、例えば、全ビットがゼロのビット列（１６進表記で０ｘ００００００００）である。フレーム番号は、暗号化するデータパケットの送信に用いる無線フレームのフレーム番号である。インデックスは、コネクション毎に定義される無線フレーム内でのＭＡＣ−ＰＤＵの順序を示す番号である。
【００９２】
上記の４種類のビット列を結合することで、初期化ベクタを生成する。ただし、上記の４種類のビット列を並べる順序については、種々の変形が可能である。また、上記のビット幅についても、種々の変形が可能である。
【００９３】
図１２は、暗号化方法の例を示す図である。図１２は、上記ステップＳ２５で実行される暗号化の具体例を示している。前述の通り、本実施の形態では、暗号処理方式としてＡＥＳ−ＣＣＭを用いる場合を考える。すなわち、ＣＢＣモードを用いてＩＣＶを生成し、カウンタモードを用いてデータパケットを暗号化する。
【００９４】
まず、データパケットを所定のビット長のメッセージブロックＭ1〜Ｍnに分割する。次に、共通鍵Ｋを用いて、ＣＢＣモードで認証用データを生成する。すなわち、先頭のメッセージブロックＭ1をＡＥＳで暗号化する。暗号結果とメッセージブロックＭ2との排他的論理和を演算し、演算結果をＡＥＳで暗号化する。以下同様に、前段の暗号結果とメッセージブロックＭkとの排他的論理和を演算しＡＥＳで暗号化する処理を繰り返す。最後に、前段の暗号結果と末尾のメッセージブロックＭnとの排他的論理和を演算し、演算結果をＡＥＳで暗号化してＴａｇを求める。Ｔａｇが、暗号化前の認証用データである。
【００９５】
その後、初期化ベクタＩＶと共通鍵Ｋとを用いて、カウンタモードでメッセージブロックＭ1〜ＭnとＴａｇとを暗号化する。すなわち、ＩＶをインクリメントしたＩＶ＋１をＡＥＳで暗号化する。暗号結果と先頭のメッセージブロックＭ1との排他的論理和を演算して暗号ブロックＣ1を求める。以下同様に、ＩＶを逐次インクリメントしたＩＶ＋ｋをＡＥＳで暗号化し、暗号結果とメッセージブロックＭkとの排他的論理和を演算して暗号ブロックＣkを求める。末尾のメッセージブロックＭnを暗号化した後、最後に、ＩＶ＋（ｎ＋１）をＡＥＳで暗号化し、暗号結果とＴａｇとの排他的論理和を演算して暗号化したＩＣＶを求める。
【００９６】
このようにして得られた暗号ブロックＣ1〜Ｃnを結合したものが、ＭＡＣ−ＰＤＵのペイロードとなる。なお、Ｔａｇを暗号化せずＩＣＶとして用いてもよい。また、ＣＢＣモードとカウンタモードとで異なる共通鍵を用いてもよい。また、メッセージブロックＭ1〜Ｍnの暗号化は、逐次的に行ってもよいし、その全部または一部を並列に行うこともできる。また、Ｔａｇの生成とメッセージブロックＭ1〜Ｍnの暗号化とを並列に行うこともできる。
【００９７】
図１３は、パケット受信処理を示すフローチャートである。ここでは、移動局２００がＭＡＣ−ＰＤＵを受信する場合を考える。ただし、基地局１００が受信する場合も同様である。以下、図１３に示す処理をステップ番号に沿って説明する。
【００９８】
［ステップＳ３１］受信部２１３は、無線フレームを受信する。
［ステップＳ３２］復調部２１４は、ステップＳ３１で受信した無線フレームに含まれるＤＬ−Ｂｕｒｓｔを復調し、復号部２１５は、ＤＬ−Ｂｕｒｓｔを復号する。制御情報抽出部２１６は、自局宛てのＭＡＣ−ＰＤＵを抽出する。
【００９９】
［ステップＳ３３］制御部２２６は、ＤＬ−ＭＡＰを制御情報抽出部２１６から取得して、ステップＳ３１で受信した無線フレームのフレーム番号を特定する。ただし、ＤＬ−ＭＡＰに含まれるフレーム番号を用いずに、制御部２２６が無線フレームのフレーム番号をカウントしていてもよい。
【０１００】
［ステップＳ３４］制御部２２６は、テーブル記憶部２２５に記憶された鍵管理テーブル（鍵管理テーブル１２５ａと同様のテーブル）のインデックスをゼロに初期化する。
［ステップＳ３５］パケット再生部２１７は、ステップＳ３１で受信した無線フレームに含まれるＭＡＣ−ＰＤＵのうち、未復号のものが残っているか判断する。未復号のＭＡＣ−ＰＤＵがある場合、処理をステップＳ３６に進める。未復号のＭＡＣ−ＰＤＵが無い場合、受信処理を終了する。
【０１０１】
［ステップＳ３６］パケット再生部２１７は、制御情報抽出部２１６から取得したデータパケットに対応するＣＩＤを特定する。復号部２１７ａは、制御部２２６から、ステップＳ３３で特定されたフレーム番号と、特定したＣＩＤに対応する共通鍵およびインデックスとを取得する。そして、復号部２１７ａは、フレーム番号とインデックスとから初期化ベクタを生成する。初期化ベクタの生成方法は、暗号化のときと同様である。
【０１０２】
［ステップＳ３７］復号部２１７ａは、ＭＡＣ−ＰＤＵのペイロードを使用する暗号アルゴリズムに応じたビット長の暗号ブロックに分割する。そして、復号部２１７ａは、ステップＳ３６で取得した共通鍵と生成した初期化ベクタとを用いて、暗号ブロックとＩＣＶとを復号する。
【０１０３】
その後、復号部２１７ａは、ＩＣＶを用いてペイロードの改竄の有無を検査する。ただし、ＩＣＶが付加されていないときは完全性の検査は行わない。検査に合格した場合または検査を行わなかった場合、パケット再生部２１７は、得られたデータパケットをデータ処理部２１８に出力する。
【０１０４】
［ステップＳ３８］制御部２２６は、ステップＳ３６で特定したＣＩＤのインデックスをインクリメント（１だけ加算）し、鍵管理テーブルを更新する。そして、処理をステップＳ３５に進める。
【０１０５】
このようにして、移動局２００は、自局宛ての各ＭＡＣ−ＰＤＵについて、無線フレームのフレーム番号とインデックスとから初期化ベクタを生成し、初期化ベクタと予め基地局１００から取得した共通鍵とを用いてＭＡＣ−ＰＤＵを復号する。初期化ベクタの生成にフレーム番号を利用するため、基地局１００が使用した初期化ベクタを再現することが容易であると共に、ＭＡＣ−ＰＤＵに付加される情報量が抑制される。
【０１０６】
なお、各ＭＡＣ−ＰＤＵにインデックスが付加されている場合、制御部２２６は復号したＭＡＣ−ＰＤＵ数をカウントしなくてよい。この場合、復号部２１７ａは、各ＭＡＣ−ＰＤＵに付加されているインデックスを用いて、初期化ベクタを生成することができる。
【０１０７】
図１４は、復号方法の例を示す図である。図１４は、上記ステップＳ３７で実行される復号の具体例を示している。前述の通り、本実施の形態では、暗号処理方式としてＡＥＳ−ＣＣＭを用いる場合を考える。すなわち、カウンタモードを用いてＭＡＣ−ＰＤＵを復号し、ＣＢＣモードを用いて復号結果の完全性を検査する。
【０１０８】
まず、ＭＡＣ−ＰＤＵのペイロードを所定のビット長の暗号ブロックＣ1〜Ｃnに分割する。次に、初期化ベクタＩＶと共通鍵Ｋとを用いて、カウンタモードで暗号ブロックＣ1〜ＣnとＩＣＶとを復号する。すなわち、ＩＶをインクリメントしたＩＶ＋１をＡＥＳで暗号化する。暗号結果と先頭の暗号ブロックＣ1との排他的論理和を演算して、メッセージブロックＭ1を求める。以下同様に、ＩＶを逐次インクリメントしたＩＶ＋ｋをＡＥＳで暗号化し、暗号結果と暗号ブロックＣkとの排他的論理和を演算してメッセージブロックＭkを求める。末尾の暗号ブロックＣnを復号した後、ＩＶ＋（ｎ＋１）をＡＥＳで暗号化し、暗号結果とＩＣＶとの排他的論理和を演算してＴａｇ＃１を求める。
【０１０９】
その後、復号して得られたメッセージブロックＭ1〜Ｍnから、ＣＢＣモードで検査用データを生成する。すなわち、先頭のメッセージブロックＭ1をＡＥＳで暗号化する。暗号結果とメッセージブロックＭ2との排他的論理和を演算し、演算結果をＡＥＳで暗号化する。以下同様に、前段の暗号結果とメッセージブロックＭkとの排他的論理和を演算しＡＥＳで暗号化する処理を繰り返す。最後に、前段の暗号結果と末尾のメッセージブロックＭnとの排他的論理和を演算し、演算結果をＡＥＳで暗号化してＴａｇ＃２を求める。
【０１１０】
Ｔａｇ＃１とＴａｇ＃２とが一致すれば、メッセージブロックＭ1〜Ｍnが改竄されていないことが確認される。そして、得られたメッセージブロックＭ1〜Ｍnを結合したものが、データパケットの内容となる。なお、ＩＣＶが暗号化されていない場合は、ＩＣＶとＴａｇ＃２とを比較する。また、ＣＢＣモードとカウンタモードとで異なる共通鍵を用いてもよい。また、暗号ブロックＣ1〜Ｃnの復号は、逐次的に行ってもよいし、その全部または一部を並列に行うこともできる。
【０１１１】
図１５は、鍵更新処理を示す第１のフローチャートである。ここでは、移動局２００が基地局１００に共通鍵の変更を要求する場合を考える。この処理は、移動局２００において繰り返し実行される。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１１２】
［ステップＳ４１］制御部２２６は、現在設定しているコネクションについての共通鍵を、基地局１００から取得しているか判断する。共通鍵が無い場合としては、例えば、移動局２００が基地局１００に新たにアクセスした場合が考えられる。共通鍵がある場合、処理をステップＳ４２に進める。共通鍵が無い場合、処理をステップＳ４４に進める。
【０１１３】
［ステップＳ４２］制御部２２６は、共通鍵を取得してからの経過時間と取得時に基地局１００から通知された有効期間とを比較し、期限切れが近いか（例えば、残り時間が所定時間未満になったか）判断する。期限切れまで十分な時間がある場合、処理をステップＳ４３に進める。期限切れが近い場合、処理をステップＳ４４に進める。
【０１１４】
［ステップＳ４３］制御部２２６は、共通鍵を取得したときのフレーム番号と現在のフレーム番号とを比較し、共通鍵を取得してからフレーム番号が一巡するのが近いか（例えば、フレーム番号が一巡するまでの残りの無線フレーム数が所定数未満になったか）判断する。フレーム番号が一巡するまで十分な時間がある場合、処理が終了する。フレーム番号が一巡するのが近い場合、処理をステップＳ４４に進める。
【０１１５】
［ステップＳ４４］制御部２２６は、共通鍵の変更を要求する制御情報（例えば、ＰＫＭ−ＲＥＱ）を生成し、ＰＤＵ生成部２２１に出力する。この制御情報は、無線フレームに含まれて、基地局１００に送信される。
【０１１６】
［ステップＳ４５］制御部２２６は、制御情報抽出部２１６から、共通鍵および有効期間を含む制御情報（例えば、ＰＫＭ−ＲＳＰ）とその制御情報が含まれていた無線フレームのフレーム番号とを取得する。そして、制御部２２６は、取得した共通鍵をテーブル記憶部２２５に記憶された鍵管理テーブルに登録すると共に、取得した有効期間とフレーム番号とを保持する。
【０１１７】
このようにして、移動局２００は、基地局１００への接続時に、データパケットの暗号化および復号に用いる共通鍵を基地局１００から取得する。その後、基地局１００から指定された有効期間が経過する前に、基地局１００に要求して共通鍵を変更する。また、有効期間経過前であっても、フレーム番号が一巡する前に、基地局１００に要求して共通鍵を変更する。これにより、同一の共通鍵と初期化ベクタとの組が、複数のデータパケットの暗号化に用いられることを（少なくとも、十分に長い時間内で）防止することが可能となる。なお、共通鍵の更新タイミングを基地局１００が管理するようにしてもよい。
【０１１８】
このような移動通信システムを用いることで、共通鍵と初期化ベクタとに基づいて、データパケットそれぞれを暗号化することができる。このため、同一の共通鍵を複数のデータパケットの暗号化に用いても、安全性の低下を抑制することができる。
【０１１９】
このとき、初期化ベクタの生成に、データパケットが伝送される無線フレームのフレーム番号と無線フレーム内でのデータパケットの格納順序とが利用される。このため、個々のデータパケットに付加する情報のうち、初期化ベクタを受信側で再現するための情報を削減することができ、通信量を抑制することができる。また、共通鍵の更新タイミングをフレーム番号が一巡するタイミングと連動させることで、同一の共通鍵と初期化ベクタとの組が、複数のデータパケットの暗号化に用いられることを防止でき、安全性を高めることができる。
【０１２０】
［第２の実施の形態］
次に、第２の実施の形態を図面を参照して詳細に説明する。前述の第１の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。第２の実施の形態に係る移動通信システムでは、より容易に、フレーム番号の循環周期と異なる周期で共通鍵を更新することができる。第２の実施の形態に係る移動通信システムは、図２に示した第１の実施の形態の移動通信システムと同様に、基地局と移動局とで実現できる。この基地局および移動局は、図３，４に示したブロック図と同様のモジュール構成で実現できる。以下、図３，４と同じ符号を用いて第２の実施の形態を説明する。
【０１２１】
図１６は、鍵管理テーブルの第２の構造例を示す図である。鍵管理テーブル１２５ｂは、基地局１００のテーブル記憶部１２５に格納されている。移動局２００のテーブル記憶部２２５にも、鍵管理テーブル１２５ｂと同様のテーブルが格納される。鍵管理テーブル１２５ｂは、ＣＩＤ、共通鍵、インデックスおよび拡張パラメータを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【０１２２】
ＣＩＤ、共通鍵およびインデックスを示す項目の意味は、図５に示した第１の実施の形態に係る鍵管理テーブル１２５ａと同様である。拡張パラメータを示す項目には、フレーム番号のビット幅（例えば、２４ビット）を基準として、初期化ベクタとして利用する際に拡張または縮退する範囲を示す値が設定される。
【０１２３】
「０」は、フレーム番号を示すビット列を全て初期化ベクタに含めることを意味する。負の値は、フレーム番号を縮退して用いること、すなわち、一部のビットを削ることを意味する。例えば、「−２」の場合、上位２ビットを削って初期化ベクタの生成に用いる。この場合、共通鍵の更新周期を、フレーム番号の循環周期の４分の１にすることが考えられる。正の値は、フレーム番号を拡張して用いること、すなわち、フレーム番号に拡張ビットを付加することを意味する。拡張ビットには、フレーム番号が一巡する毎にインクリメントする値を用いることができる。例えば、「４」の場合、上位に４ビットを付加して初期化ベクタの生成に用いる。この場合、共通鍵の更新周期を、フレーム番号の循環周期の１６倍にすることもできる。
【０１２４】
なお、拡張パラメータが正の場合、現在の拡張ビットの値も鍵管理テーブル１２５ｂに登録される。例えば、基地局１００が移動局２００に共通鍵を配布したときに、拡張ビットをゼロに初期化する。その後、配布時からフレーム番号が一巡する毎に拡張ビットをインクリメントする。現在の拡張ビットは、基地局１００と移動局２００とがそれぞれ管理してもよいし、一方が管理して他方に定期または不定期に通知するようにしてもよい。
【０１２５】
このように、フレーム番号を示すビット列を拡張または縮退して利用することで、共通鍵の更新周期をより柔軟に設定することができる。拡張パラメータは、制御情報として通知することができる。例えば、図９に示したＰＫＭ−ＲＳＰに含めて、基地局１００から移動局２００に通知することが考えられる。拡張パラメータは、例えば、４ビットの符号付き整数で表現することができる。
【０１２６】
図１７は、初期化ベクタの第２の例を示す図である。ここでは、ビット長が１３バイト（１０４ビット）の初期化ベクタの例を示している。この初期化ベクタには、５バイトのＭＡＣヘッダ、３バイトの所定値（予約値）、１バイトの反復数、３バイトのフレーム番号および１バイトのインデックスが含まれる。
【０１２７】
ＭＡＣヘッダ、所定値およびインデックスの意味は、図１１に示した第１の実施の形態に係る初期化ベクタと同様である。反復数は、前述の拡張ビットを含むビット列である。この例では、拡張ビットを最大で８ビットまで設定ことができる。拡張ビットが８ビット未満のときは、反復数の余りのビットはゼロにする。フレーム番号は、第１の実施の形態と同様、暗号化するデータパケットの送信に用いる無線フレームのフレーム番号である。ただし、フレーム番号を縮退して使用する場合は、縮退分だけ上位ビットをゼロにする。
【０１２８】
例えば、拡張パラメータが「０」に設定されている場合は、反復数のビットを全てゼロとし、フレーム番号を示すビット全てを初期化ベクタに含める。拡張パラメータが「−２」に設定されている場合は、反復数のビットを全てゼロとし、フレーム番号を示すビット列の上位２ビットをゼロに置き換えて初期化ベクタに含める。拡張パラメータが「４」に設定されている場合は、反復数の上位４ビットをゼロ、下位４ビットをフレーム番号の循環回数に応じたビットとし、フレーム番号を示すビット全てを初期化ベクタに含める。
【０１２９】
上記の５種類のビット列を結合することで、初期化ベクタを生成する。ただし、上記の５種類のビット列を並べる順序については、種々の変形が可能である。また、上記のビット幅についても、種々の変形が可能である。
【０１３０】
ところで、移動通信システムには、隣接基地局間でフレーム番号が同期していないものもある。この場合、ハンドオーバ前後で同一の共通鍵を使用し続けると、ハンドオーバ前に出現したある共通鍵とフレーム番号との組が、ハンドオーバ後にも再度出現してしまう危険性が生じる。よって、安全性の観点からは、ハンドオーバ時には、使用する共通鍵を変更することが好ましい。
【０１３１】
ただし、フレーム番号を拡張して使用している場合、安全性を損なわずに、ハンドオーバ時の共通鍵の変更を省略することも可能である。すなわち、ハンドオーバ時に、移動局２００は、フレーム番号に付加する拡張ビットを変更（例えば、拡張ビットをインクリメント）する。拡張ビットを変更することで、フレーム番号が同じでも、異なる初期化ベクタが生成されることになる。従って、同一の共通鍵と初期化ベクタとの組が複数のデータパケットの暗号化に使用されることを防止できる。
【０１３２】
図１８は、ハンドオーバ制御の流れを示すシーケンス図である。ここでは、移動局２００が、基地局１００から基地局１００ａへのハンドオーバを行う場合を考える。以下、図１８に示す処理をステップ番号に沿って説明する。
【０１３３】
［ステップＳ５１］移動局２００は、暗号化したＭＡＣ−ＰＤＵを含む無線フレームを基地局１００と送受信している。この状態で、移動局２００は、基地局１００からの受信電力が低下した場合など接続先基地局を切り替える判断をすると、ハンドオーバを要求する制御情報（ＭＳＨＯ−ＲＥＱ）を基地局１００に送信する。ＭＳＨＯ−ＲＥＱには、現在のコネクションの情報、移動局２００の通信能力の情報、周辺基地局のサーチ結果の情報などを含めることができる。移動局２００は、例えば、ＭＳＨＯ−ＲＥＱを無線フレームのＵＬ−Ｂｕｒｓｔで送信する。
【０１３４】
［ステップＳ５２］基地局１００は、移動局２００から受信したＭＳＨＯ−ＲＥＱに含まれる情報に基づいて制御情報（ＨＯ−ＲＥＱ）を生成し、移動先候補の基地局１００ａに送信する。なお、移動先候補は複数存在してもよい。
【０１３５】
［ステップＳ５３］基地局１００ａは、基地局１００から受信したＨＯ−ＲＥＱに対する回答として制御情報（ＨＯ−ＲＳＰ）を基地局１００に送信する。ＨＯ−ＲＳＰには、移動局２００を収容可能か、ＱｏＳを保証可能か、高速ハンドオーバ制御が可能かなどの接続条件を示す情報を含めることができる。
【０１３６】
［ステップＳ５４］基地局１００は、基地局１００ａから受信したＨＯ−ＲＳＰに基づいて制御情報（ＢＳＨＯ−ＲＳＰ）を生成し、移動局２００に送信する。ＢＳＨＯ−ＲＳＰには、ＱｏＳを保証可能かなどの接続条件を示す情報を含めることができる。基地局１００は、例えば、ＢＳＨＯ−ＲＳＰを無線フレームのＤＬ−Ｂｕｒｓｔで送信する。
【０１３７】
［ステップＳ５５］基地局１００は、ＨＯ−ＲＳＰを受信したことの確認を示す制御情報（ＨＯ−ＡＣＫ）を基地局１００ａに送信する。なお、ステップＳ５４のメッセージとステップＳ５５のメッセージとは、任意の順序で送信することが可能である。
【０１３８】
［ステップＳ５６］移動局２００は、基地局１００から受信したＢＳＨＯ−ＲＳＰに基づいて移動先基地局を決定し（ここでは、基地局１００ａに決定し）、移動先基地局を示す制御情報（ＨＯ−ＩＮＤ）を基地局１００に送信する。移動局２００は、例えば、ＨＯ−ＩＮＤを無線フレームのＵＬ−Ｂｕｒｓｔで送信する。
【０１３９】
［ステップＳ５７］基地局１００は、移動局２００から受信したＨＯ−ＩＮＤで指定されている移動先基地局（基地局１００ａ）に対し、移動局２００が移動することを通知する制御情報（ＨＯ−ＣＮＦ）を送信する。ＨＯ−ＣＮＦには、基地局１００が移動局２００との通信に使用している共通鍵および拡張ビットを含めることができる。なお、拡張ビットは、ハンドオーバ前後でインクリメントされる。拡張ビットのインクリメントは、移動元の基地局１００が行ってもよいし、移動先の基地局１００ａが行ってもよい。
【０１４０】
［ステップＳ５８］移動局２００は、基地局１００ａとの通信を開始するため、レンジング要求（ＲＮＧ−ＲＥＱ）を基地局１００ａに送信する。移動局２００は、例えば、ＲＮＧ−ＲＥＱを無線フレームのレンジング領域で送信する。
【０１４１】
［ステップＳ５９］基地局１００ａは、移動局２００から受信したＲＮＧ−ＲＥＱに対しレンジング応答（ＲＮＧ−ＲＳＰ）を移動局２００に送信する。ＲＮＧ−ＲＳＰには、基地局１００ａと移動局２００との通信に用いるＣＩＤや、共通鍵の変更の有無を示すフラグを含めることができる。基地局１００ａは、例えば、ＲＮＧ−ＲＳＰを無線フレームのＤＬ−Ｂｕｒｓｔで送信する。
【０１４２】
移動局２００は、ＲＮＧ−ＲＳＰによって共通鍵を変更すると指示された場合、共通鍵を取得するための処理を行う。一方、ＲＮＧ−ＲＳＰによって共通鍵を変更しないと指示された場合、基地局１００との通信に使用していた拡張ビットをインクリメントする。なお、拡張ビットの更新は、データパケットを暗号化／復号する前までに行えばよい。
【０１４３】
このようにして、基地局１００ａと移動局２００とは、拡張ビットを変更（例えば、インクリメント）することで、ハンドオーバ前の共通鍵を引き継いで使用することが可能となる。拡張ビットは、例えば、移動前の基地局１００から移動後の基地局１００ａに、上位局経由で通知することができる。ただし、移動局２００が移動後の基地局１００ａに、変更前または変更後の拡張ビットを通知するようにしてもよい。
【０１４４】
このような移動通信システムによれば、第１の実施の形態と同様の効果が得られる。更に、第２の実施の形態に係る移動通信システムを用いることで、共通鍵の変更周期を、フレーム番号の循環周期と異なる周期に設定することが容易となる。また、拡張ビットを用いることで、安全性を損なわずに、ハンドオーバ後もハンドオーバ前と同じ共通鍵を使用し続けることができる。よって、共通鍵を変更する処理負担を軽減できると共に、ハンドオーバ後に迅速に通信を再開することができる。
【０１４５】
［第３の実施の形態］
次に、第３の実施の形態を図面を参照して詳細に説明する。前述の第１の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。第３の実施の形態に係る移動通信システムでは、共通鍵の更新タイミングを、暗号化したデータパケットの数にも依存させる。第３の実施の形態に係る移動通信システムは、図２に示した第１の実施の形態の移動通信システムと同様に、基地局と移動局とで実現できる。この基地局および移動局は、図３，４に示したブロック図と同様のモジュール構成で実現できる。以下、図３，４と同じ符号を用いて第３の実施の形態を説明する。
【０１４６】
図１９は、鍵管理テーブルの第３の構造例を示す図である。鍵管理テーブル１２５ｃは、基地局１００のテーブル記憶部１２５に格納されている。移動局２００のテーブル記憶部２２５にも、鍵管理テーブル１２５ｃと同様のテーブルが格納される。鍵管理テーブル１２５ｃは、ＣＩＤ、共通鍵、インデックスおよびＰＤＵ数を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
【０１４７】
ＣＩＤ、共通鍵およびインデックスを示す項目の意味は、図５に示した第１の実施の形態に係る鍵管理テーブル１２５ａと同様である。ＰＤＵ数を示す項目には、共通鍵を使用したＭＡＣ−ＰＤＵの数が設定される。ＰＤＵ数は、共通鍵を取得したときにゼロに初期化され、その共通鍵を用いて暗号化または復号を行う毎にインクリメントされる。
【０１４８】
ここで、あるコネクションで短期間に大量のＭＡＣ−ＰＤＵを送受信した場合、フレーム番号が一巡する前であっても、安全性の観点から早めに共通鍵を変更することが好ましい。よって、同一の共通鍵を連続して使用できる上限として最大ＰＤＵ数を予め設定しておくことが考えられる。最大ＰＤＵ数は、基地局１００から移動局２００に制御情報として通知することができる。例えば、図９に示したＰＫＭ−ＲＳＰに含めて、基地局１００から移動局２００に通知することが考えられる。最大ＰＤＵ数は、例えば、４バイト（３２ビット）の整数型で表現することができる。
【０１４９】
図２０は、鍵更新処理を示す第２のフローチャートである。ここでは、移動局２００が基地局１００に共通鍵の変更を要求する場合を考える。この処理は、移動局２００において繰り返し実行される。以下、図２０に示す処理をステップ番号に沿って説明する。
【０１５０】
［ステップＳ６１］制御部２２６は、現在設定しているコネクションについての共通鍵を、基地局１００から取得しているか判断する。共通鍵がある場合、処理をステップＳ６２に進める。共通鍵が無い場合、処理をステップＳ６５に進める。
【０１５１】
［ステップＳ６２］制御部２２６は、共通鍵を取得してからの経過時間と取得時に基地局１００から通知された有効期間とを比較し、期限切れが近いか判断する。期限切れまで十分な時間がある場合、処理をステップＳ６３に進める。期限切れが近い場合、処理をステップＳ６５に進める。
【０１５２】
［ステップＳ６３］制御部２２６は、共通鍵を取得したときのフレーム番号と現在のフレーム番号とを比較し、共通鍵を取得してからフレーム番号が一巡するのが近いか判断する。フレーム番号が一巡するまで十分な時間がある場合、処理をステップＳ６４に進める。フレーム番号が一巡するのが近い場合、処理をステップＳ６５に進める。
【０１５３】
［ステップＳ６４］制御部２２６は、現在の共通鍵を使用して暗号化または復号したＰＤＵ数と基地局１００から通知された最大ＰＤＵ数とを比較し、最大ＰＤＵ数の到達が近いか（例えば、最大ＰＤＵ数と現在のＰＤＵ数との差が所定数未満になったか）判断する。最大ＰＤＵ数まで余裕がある場合、処理を終了する。最大ＰＤＵ数が近い場合、処理をステップＳ６５に進める。
【０１５４】
［ステップＳ６５］制御部２２６は、共通鍵の変更を要求する制御情報（例えば、ＰＫＭ−ＲＥＱ）を生成し、ＰＤＵ生成部２２１に出力する。この制御情報は、無線フレームに含まれて、基地局１００に送信される。
【０１５５】
［ステップＳ６６］制御部２２６は、制御情報抽出部２１６から、共通鍵、有効期間および最大ＰＤＵ数を含む制御情報（例えば、ＰＫＭ−ＲＳＰ）とその制御情報が含まれていた無線フレームのフレーム番号とを取得する。そして、制御部２２６は、取得した共通鍵をテーブル記憶部２２５に記憶された鍵管理テーブルに登録すると共に、ＰＤＵ数をリセットする。また、取得した有効期間とフレーム番号とを保持する。
【０１５６】
このようにして、移動局２００は、基地局１００から指定された有効期間が経過する前でありフレーム番号が一巡する前であっても、共通鍵の使用回数が上限に到達する前に、基地局１００に要求して共通鍵を変更する。これにより、大量のＭＡＣ−ＰＤＵを短期間に送受信した場合の安全性の低下を防止することができる。なお、共通鍵の更新タイミングを基地局１００が管理するようにしてもよい。
【０１５７】
このような移動通信システムによれば、第１の実施の形態と同様の効果が得られる。更に、第３の実施の形態に係る移動通信システムを用いることで、共通鍵の更新タイミングを、共通鍵の使用回数にも依存させることができる。よって、暗号化通信の安全性をより向上させることができる。なお、第２の実施の形態と第３の実施の形態とを組み合わせた実施の形態を考えることもできる。
【０１５８】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１５９】
１  送信装置
１ａ  暗号化部
１ｂ  送信部
２  受信装置
２ａ  受信部
２ｂ  復号部
３  フレーム
３ａ，３ｂ  データパケット
３ｃ  フレーム番号
【図１】
0005423916.tif 000002
【図２】
0005423916.tif 000003
【図３】
0005423916.tif 000004
【図４】
0005423916.tif 000005
【図５】
0005423916.tif 000006
【図６】
0005423916.tif 000007
【図７】
0005423916.tif 000008
【図８】
0005423916.tif 000009
【図９】
0005423916.tif 000010
【図１０】
0005423916.tif 000011
【図１１】
0005423916.tif 000012
【図１２】
0005423916.tif 000013
【図１３】
0005423916.tif 000014
【図１４】
0005423916.tif 000015
【図１５】
0005423916.tif 000016
【図１６】
0005423916.tif 000017
【図１７】
0005423916.tif 000018
【図１８】
0005423916.tif 000019
【図１９】
0005423916.tif 000020
【図２０】
0005423916.tif 000021