以下、実施の形態について図面を参照して説明する。
まず、図1を参照して、一実施形態に係る無線通信装置を含む無線システムの構成を説明する。この無線システムは、1つ以上の無線基地局1-1,1-2(アクセスポイント(AP))と、1つ以上の無線端末2-1,2-2,2-3,2-4,2-5,2-6,……,2-M(ステーション(STA))とで構成される。この無線システムでは、通信リンクを確立するための接続(Association)処理を行うことなく、無線基地局1-1,1-2から無線端末2-1,2-2,2-3,2-4,2-5,2-6,……,2-Mに、データがブロードキャストで送信される。このような無線システムは、例えば、スタジアムのような大きな会場で、複数の無線基地局1-1,1-2から多数の無線端末2-1,2-2,2-3,2-4,2-5,2-6,……,2-Mに対して、スポーツや音楽等の映像をライブ配信する用途で用いられる。なお以下では、ブロードキャストで送信することを、単に、ブロードキャストする、とも称する。
無線基地局1-1,1-2は、例えば、無線通信機能を有するパーソナルコンピュータ、サーバコンピュータ、または各種電子機器に内蔵される組み込みシステムとして実現され得る。無線端末2-1~2-Mは、例えば、無線通信機能を有する携帯電話機やスマートフォン、PDAといった携帯情報端末、タブレットコンピュータ、パーソナルコンピュータ、または各種電子機器に内蔵される組み込みシステムとして実現され得る。
無線基地局1-1,1-2は無線通信可能な範囲(すなわち通信域)3-1,3-2をそれぞれ有している。無線端末2-1~2-5は無線基地局1-1の通信域3-1内に位置している。無線端末2-4~2-Mは無線基地局1-2の通信域3-2内に位置している。したがって、無線端末2-4,2-5は、複数の無線基地局1-1,1-2の通信域3-1,3-2内に位置している。
例えばスタジアムのような場所で、複数の無線基地局1-1,1-2から多数の無線端末2-1~2-Mへの同時映像配信行う場合には、無線端末が複数の無線基地局1-1,1-2の通信域3-1,3-2内に位置する可能性が高い。このような場合、無線端末2-4,2-5は、複数の無線基地局1-1,1-2がブロードキャストするデータのパケットが衝突すること(すなわち無線伝搬路上の誤り)により、配信されるデータを正常に取得できないことがある。
より具体的には、無線端末2-4,2-5は、例えば第1期間のデータ伝送のために使用する鍵を正しく受信できなかった場合、その第1期間に伝送されるデータを復号できない。これに対処する方法の1つとして、無線基地局1-1,1-2が、第1期間だけでなく、第1期間の後の第2期間にも、第1期間のデータ伝送のために使用する鍵を送信する方法がある。この場合、無線端末2-4,2-5は、第1期間にデータをバッファリングしておいて、第2期間に鍵が受信できた時点で、バッファリングされたデータを遡って復号する。
しかし、この方法では、無線端末2-4,2-5に、第1期間に受信される全てのデータをバッファリングする構成を設ける必要がある。さらに、第1期間に送信された鍵と、第2期間に送信された鍵とを連続して受信できなかった場合、無線端末2-4,2-5は、バッファリングされたデータを復号できず、破棄することになる。
そのため、本実施形態に係る無線基地局1-1,1-2および無線端末2-1~2-Mは、パケットの衝突が発生する場合にも、データを正常に伝送できる可能性を高めるための機能を備える。具体的には、各無線基地局1-1,1-2は、第2期間のデータ伝送のために使用する鍵を、第2期間だけでなく、その前の第1期間にもブロードキャストする。無線端末2-1~2-Mは、第1期間と第2期間の少なくとも一方で鍵を受信できたならば、第2期間に伝送されるデータを正常に取得できる。これにより、無線基地局1-1,1-2から無線端末2-1~2-Mに、データを正常に伝送できる可能性を高めることができる。
図2は無線基地局1の構成例を示す。上述した無線基地局1-1,1-2は、無線基地局1と同様の構成をそれぞれ有している。
無線基地局1は、例えば、制御部11、送信部12、およびRAM13を備える。制御部11および送信部12は、回路のようなハードウェアで実現されてもよいし、1つ以上のプロセッサによって実行されるソフトウェアで実現されてもよい。あるいは、制御部11および送信部12の一部の機能が専用の回路で実現され、他の機能が1つ以上のプロセッサによって実行されるソフトウェアで実現されてもよい。
制御部11は通信フレームをブロードキャストするために、無線基地局1内の各部を制御する。より具体的には、制御部11は、ある期間に対応するシーケンスSで用いられるOne-way key chainを生成する。制御部11は、生成したOne-way key chainを、例えばRAM13に保存する。
One-way key chainは、一方向性ハッシュ関数を用いて生成される一連の鍵である。一方向性ハッシュ関数は、入力値から出力値を導出することが容易である一方、出力値から入力値を導出することが困難である特性を有する関数である。また、生成される各鍵はハッシュ関数である。One-way key chainの詳細については、図4を参照して後述する。
制御部11は、生成したOne-way key chainを用いて、シーケンスSにおいてブロードキャストで送信する先頭情報フレーム、データフレーム、および追加情報フレームを生成する。
先頭情報フレームは、シーケンスSで送信されるフレーム群の内、最初に送信されるフレームである。先頭情報フレームは、シーケンスSに関する様々な情報と、シーケンスSで用いられるOne-way key chainの1つの鍵と、1つ前のシーケンスS-1で用いられるOne-way key chainの少なくとも1つの鍵(例えば2つの鍵)とを含む。先頭情報フレームは、当該先頭情報フレームの正当性を検証可能な検証情報をさらに含む。各無線端末2-1~2-Mは先頭情報フレームを受信した時点で、検証情報を用いて、その正当性を検証可能である。先頭情報フレームは、例えば、IEEE 802.11bcの規格化のために提案されているenhanced Broadcast(eBCS) Info frameである。
データフレームは、ブロードキャストで配信すべきデータ部と、シーケンスSで用いられるOne-way key chainの1つの鍵とを含む。データ部は、例えばライブ配信されるスポーツや音楽等の映像データを含む。データフレームは、シーケンスSにおいて、先頭情報フレームよりも後に送信される。また、無線端末2-1~2-Mはこのデータフレームよりも後に送信される特定のフレームを受信した場合に、データフレームの正当性を検証可能である。データフレームは、例えば、IEEE 802.11bcの規格化のために提案されているeBCS Data frameである。
追加情報フレームは、次のシーケンスS+1に関する様々な情報と、シーケンスS+1で用いられるOne-way key chainの1つの鍵と、現在のシーケンスSで用いられるOne-way key chainの少なくとも1つの鍵(例えば2つの鍵)とを含む。追加情報フレームは、シーケンスSにおいて、先頭情報フレームよりも後に送信される。各無線端末2-1~2-Mは追加情報フレームを受信した時点で、その正当性を検証可能である。
制御部11は生成した各フレームの送信を、送信部12に要求する。
送信部12は制御部11による要求に応じて、各フレームをブロードキャストで送信する。具体的には、送信部12は特定の時間間隔毎に先頭情報フレームを送信する。この特定の時間間隔を、先頭情報フレームの送信間隔TIとも称する。先頭情報フレームの送信を開始してから送信間隔TIが経過するまでの期間が、1つのシーケンスに対応する。
送信部12は、あるシーケンスSに対応する期間において、先頭情報フレームを送信した後に、データフレームと追加情報フレームをブロードキャストで送信し得る。
図3は無線端末2の構成例を示す。上述した無線端末2-1,2-2,2-3,2-4,2-5,2-6,……,2-Mは、無線端末2と同様の構成をそれぞれ有している。
無線端末2は、例えば、制御部21、受信部22、およびRAM23を備える。制御部21および受信部22は、回路のようなハードウェアで実現されてもよいし、1つ以上のプロセッサによって実行されるソフトウェアで実現されてもよい。あるいは、制御部21および受信部22の一部の機能が専用の回路で実現され、他の機能が1つ以上のプロセッサによって実行されるソフトウェアで実現されてもよい。
受信部22は、無線基地局1によってブロードキャストで送信された通信フレームを受信する。受信部22は、受信した通信フレームを制御部21に送出する。通信フレームは、先頭情報フレーム、データフレーム、または追加情報フレームである。受信部22は、あるシーケンスSに対応する期間において、最初に先頭情報フレームを受信し得る。そして、受信部22は、その期間において、先頭情報フレームを受信した後に、データフレームと追加情報フレームを受信し得る。
制御部21は、無線基地局1からブロードキャストで配信されるデータ部を取得するために、受信した先頭情報フレーム、データフレーム、および追加情報フレームをそれぞれ処理する。
図4は、無線基地局1および無線端末2によって用いられるOne-way key chainの例を示す。上述したように、One-way key chainは、一方向性ハッシュ関数f1を用いて生成される一連の鍵である。なお、一方向性ハッシュ関数f1は、無線基地局1と無線端末2の双方で既知である。以下では、一方向性ハッシュ関数f1を、単に関数f1とも称する。
無線基地局1の制御部11は、各シーケンスに対してOne-way key chainを生成する。図4は、シーケンスSに対して、6つの鍵からなるOne-way key chainが生成される例を示している。
具体的には、制御部11はランダムな初期値(random seed)に関数f1を施して、鍵KS,0を生成する。制御部11は鍵KS,0に関数f1を施して、鍵KS,1を生成する。制御部11は鍵KS,1に関数f1を施して、鍵KS,2を生成する。制御部11は鍵KS,2に関数f1を施して、鍵KS,3を生成する。制御部11は鍵KS,3に関数f1を施して、鍵KS,4を生成する。制御部11は鍵KS,4に関数f1を施して、鍵KS,5を生成する。
このように、制御部11は、ランダムな初期値に関数f1を施して最初の鍵KS,0を生成した後、生成した鍵にさらに関数f1を施す演算を繰り返すことにより、6つの鍵を順に生成する。なお、鍵KS,Xの添え字“S”は、鍵KS,XがシーケンスSで用いられる鍵であることを示す。また、鍵KS,Xの添え字“X”は、その鍵KS,Xが属するOne-way key chainにおける生成順の番号を示し、鍵インデックスとも称される。
無線基地局1の送信部12は、生成順とは逆の順序で、One-way key chainの各鍵を無線端末2に送信するように構成される。
図5から図7を参照して、各フレームの構成について説明する。ここでは、各フレームが、シーケンスSで送信されるフレームである場合を例示する。
図5は先頭情報フレームの一構成例を示す。先頭情報フレームは、鍵KS,N-1、鍵KS-1,0、鍵KS-1,1、タイムスタンプ、先頭情報フレームの送信間隔TI、鍵の交換間隔TK、鍵の遅延間隔d、シーケンス番号S、認証局(Certified Authority(CA))による証明書付きの無線基地局1の公開鍵、および無線基地局1の秘密鍵によるディジタル署名を含む。
鍵KS,N-1は、シーケンスSで用いられるOne-way key chainの内の、最後に生成された鍵である。鍵KS-1,0は、1つ前のシーケンスS-1で用いられるOne-way key chainの内の、最初に生成された鍵である。鍵KS-1,1は、1つ前のシーケンスS-1で用いられるOne-way key chainの内の、2番目に生成された鍵である。
タイムスタンプは、シーケンスSの基準となる時刻(例えば開始時刻)を示す。
先頭情報フレームの送信間隔TIは、シーケンス毎の先頭情報フレームがブロードキャストされる時間間隔を示す。つまり、無線基地局1はシーケンスSの先頭情報フレームを送信してから送信間隔TIが経過した場合に、次のシーケンスS+1の先頭情報フレームを送信する。
鍵の交換間隔TKは、認証コードの生成に用いる鍵が交換される時間間隔を示す。つまり、無線基地局1は、One-way key chainのある鍵の使用を開始してから交換間隔TKが経過した場合に、別の鍵の使用を開始する。認証コードは、その認証コードを含むデータフレームまたは追加情報フレームの正当性を検証するための情報である。
鍵の遅延間隔dは、One-way key chainのある鍵が使用される期間と、その鍵が送信される期間との間隔を示す。この期間は、鍵の交換間隔TKに相当する。鍵は、使用される期間よりも遅延間隔dだけ遅れた期間に、無線端末2に送信される(すなわち開示される)。本実施形態では、遅延間隔dが2である場合について主に例示する。
シーケンス番号Sは、この先頭情報フレームを含むシーケンスを識別するための番号である。無線基地局1は、連続するシーケンスに対して、連続する番号を順に付与する。
CAによる証明書付きの無線基地局1の公開鍵は、無線基地局1の公開鍵と、この公開鍵に対してCAの秘密鍵を用いて作成された証明書とで構成される。この証明書の正当性は、CAの公開鍵を用いて検証できる。
無線基地局1の秘密鍵によるディジタル署名は、無線基地局1の秘密鍵を用いて作成されたディジタル署名である。このディジタル署名の正当性は、無線基地局1の公開鍵を用いて検証できる。
無線基地局1は、このような構成を有する先頭情報フレームを、シーケンスSの最初にブロードキャストする。無線基地局1は、証明書付きの公開鍵とディジタル署名で先頭情報フレームの正当性を保証しながら、1つ前のシーケンスS-1の鍵KS-1,0、KS-1,1、および現在のシーケンスSの鍵KS,N-1と共に、シーケンスSに関する様々な情報を無線端末2に伝送できる。
図6はデータフレームの一構成例を示す。データフレームは、鍵KS,i+2、認証コードAS,i、認証コードAS,iに対応する鍵インデックスi、シーケンス番号S、およびデータ部を含む。
鍵KS,i+2は、このデータフレームで送信される鍵である。
認証コードAS,iは、このデータフレームの正当性を検証するための情報である。認証コードAS,iは、鍵KS,iを用いて生成されている。したがって、認証コードAS,iは、このデータフレームで送信される鍵KS,i+2とは対応していない。鍵KS,i+2は、認証コードAS,iに対応する鍵KS,iよりも、生成順が遅延間隔d(=2)だけ後の鍵である。
認証コードAS,iに対応する鍵インデックスiは、認証コードAS,iに対応する鍵KS,iを特定するためのインデックス(番号)を示す。
シーケンス番号Sは、このデータフレームを含むシーケンスを識別するための番号である。
データ部は、このデータフレームで無線端末2に伝送したいデータである。データ部は、例えばライブ配信されるスポーツや音楽等の映像データを含む。
無線基地局1はシーケンスSにおいて、先頭情報フレームをブロードキャストした後に、このような構成を有するデータフレームをブロードキャストする。無線基地局1は、認証コードAS,iでデータフレームの正当性を保証しながら、データ部を無線端末2に伝送できる。
図7は追加情報フレームの一構成例を示す。追加情報フレームは、鍵KS,i+2、認証コードAS,i、認証コードAS,iに対応する鍵インデックスi、タイムスタンプ、先頭情報フレームの送信間隔TI、鍵の交換間隔TK、鍵の遅延間隔d、シーケンス番号S+1、CAによる証明書付きの無線基地局1の公開鍵、無線基地局1の秘密鍵によるディジタル署名、鍵KS+1,N-1、鍵KS,0、および鍵KS,1を含む。
鍵KS,i+2、認証コードAS,i、および認証コードAS,iに対応する鍵インデックスiは、図6のデータフレームに関して上述した通りである。また、タイムスタンプ、先頭情報フレームの送信間隔TI、鍵の交換間隔TK、鍵の遅延間隔d、CAによる証明書付きの無線基地局1の公開鍵、および無線基地局1の秘密鍵によるディジタル署名は、図5の先頭情報フレームに関して上述した通りである。なお、ここで設定するタイムスタンプは、シーケンスS+1の基準となる時刻(例えば開始時刻)である。
鍵KS+1,N-1は、次のシーケンスS+1で用いられるOne-way key chainの内の、最後に生成された鍵である。鍵KS,0は、現在のシーケンスSで用いられるOne-way key chainの内の、最初に生成された鍵である。鍵KS,1は、現在のシーケンスSで用いられるOne-way key chainの内の、2番目に生成された鍵である。
シーケンス番号S+1は、現在のシーケンスSの番号ではなく、次のシーケンスS+1の番号を示している。これは、追加情報フレームが、次のシーケンスS+1の先頭情報フレームで伝送される3つの鍵KS,0、KS,1、KS+1,N-1を含むためである。
無線基地局1はシーケンスSにおいて、先頭情報フレームをブロードキャストした後に、このような構成を有する追加情報フレームをブロードキャストする。無線基地局1は、証明書付きの公開鍵とディジタル署名で追加情報フレームの正当性を保証しながら、現在のシーケンスSの鍵KS,0、KS,1、および次のシーケンスS+1の鍵KS+1,N-1と共に、シーケンスS+1に関する様々な情報を無線端末2に伝送できる。なお、追加情報フレームの正当性は、認証コードAS,iでも保証され得る。
図2および図3を再度参照して、無線基地局1および無線端末2内の各部の動作の例をより具体的に説明する。
(無線基地局)
まず、無線基地局1の制御部11は、あるシーケンスSに対応する第1期間に使用する第1のOne-way key chainを生成する。制御部11は、第1検証情報、および第1期間に使用する第1鍵を含む第1先頭情報フレームを生成する。そして、送信部12は、第1期間内において、生成された第1先頭情報フレームを最初にブロードキャストする。第1検証情報は、第1先頭情報フレームの正当性を検証するための情報である。第1鍵は、第1のOne-way key chainの最後に生成された鍵である。第1先頭情報フレームは、第1期間に関する第1期間情報をさらに含んでいてもよい。第1期間情報は、例えばシーケンスSを示す番号を含む。
次いで、制御部11は、第1期間に後続する第2期間(すなわち次のシーケンスS+1に対応する期間)に使用する第2のOne-way key chainを生成する。制御部11は、第1データを含むデータフレームと、第2期間に使用する第4鍵を含む追加情報フレームとを生成する。第4鍵は、第2のOne-way key chainの最後に生成された鍵である。データフレームは第1鍵を導出可能な第2鍵をさらに含んでいてもよい。追加情報フレームは、第1鍵を導出可能な第3鍵と、この追加情報フレームの正当性を検証するための検証情報(以下、第2検証情報と称する)とをさらに含んでいてもよい。
そして、送信部12は、第1期間内において、生成されたデータフレームをブロードキャストし、追加情報フレームをブロードキャストする。送信部12は、例えばデータフレームを送信した後に、追加情報フレームを送信する。この場合、第2鍵は、例えば第1のOne-way key chainの最後から2番目に生成された鍵である。第3鍵は、例えば第1のOne-way key chainの最後から3番目に生成された鍵である。つまり、第1鍵および第2鍵は、第3鍵から導出可能である。なお、第2鍵と第3鍵が同一であってもよい。
あるいは、送信部12は追加情報フレームを送信した後に、データフレームを送信してもよい。この場合、第2鍵は、例えば第1のOne-way key chainの最後から3番目に生成された鍵である。第3鍵は、例えば第1のOne-way key chainの最後から2番目に生成された鍵である。つまり、第1鍵および第3鍵は、第2鍵から導出可能である。なお、第2鍵と第3鍵が同一であってもよい。
その後、制御部11は、第3検証情報および第4鍵を含む第2先頭情報フレームを生成する。第3検証情報は、第2先頭情報フレームの正当性を検証するための情報である。そして、送信部12は第2期間内において、第2先頭情報フレームを最初にブロードキャストする。第2先頭情報フレームは、第2期間に関する第2期間情報をさらに含んでいてもよい。第2期間情報は、例えばシーケンスS+1を示す番号を含む。
なお、上述した追加情報フレームは第2期間情報を含んでいてもよい。あるいは、追加情報フレームは、第1期間情報も第2期間情報も含まないように構成されてもよい。
以上の構成により、無線基地局1は、第2期間に用いる第4鍵を、第2期間における第2先頭情報フレームだけでなく、第1期間における追加情報フレームでもブロードキャストできる。これにより、無線端末2が第2先頭情報フレームの受信に失敗した場合でも、追加情報フレームを受信できていれば、第2期間にデータフレームで配信されるデータ部を正常に取得できる。
なお、制御部11は、第1鍵および第2鍵を導出可能な第6鍵を用いて第1認証情報(例えば認証コード)を生成してもよい。第6鍵は、第1のOne-way key chainの、第1鍵および第2鍵よりも先に生成された鍵である。第1認証情報は、上述したデータフレームに含まれる。第1認証情報は、このデータフレーム(より詳しくはデータフレーム内のデータ部)の正当性を検証するために用いられ得る。
また、制御部11は、第1鍵および第3鍵を導出可能な第7鍵を用いて第2認証情報を生成してもよい。第7鍵は、第1のOne-way key chainの、第1鍵および第3鍵よりも先に生成された鍵である。第1認証情報は上述した追加情報フレームに含まれる。第2認証情報は、この追加情報フレーム(より詳しくは追加情報フレーム内の情報部)の正当性を検証するために用いられ得る。
(無線端末)
まず、無線端末2の受信部22は、シーケンスSに対応する第1期間内において、第1検証情報、および第1期間に使用する第1鍵を含む第1先頭情報フレームを受信する。第1検証情報は、第1先頭情報フレームの正当性を検証するための情報である。第1鍵は、第1のOne-way key chainの最後に生成された鍵である。第1先頭情報フレームは、第1期間に関する第1期間情報をさらに含んでいてもよい。第1期間情報は、例えばシーケンスSを示す番号を含む。
制御部21は、第1先頭情報フレームを受信した場合、第1検証情報を用いて、第1情報フレーム内の第1鍵の正当性を検証する。制御部21は、正当性が証明された第1鍵を、第1期間に受信されるデータフレームおよび追加情報フレームの処理(例えば復号)に使用できる。
次いで、受信部22は、第1期間内において、第1情報フレームを受信した後に、第1データを含む第1データフレームを受信し、第1期間に後続する第2期間に使用する第4鍵を含む追加情報フレームを受信する。第4鍵は、第2のOne-way key chainの最後に生成された鍵である。第1データフレームは第2鍵をさらに含んでいてもよい。追加情報フレームは、第3鍵と、この追加情報フレームの正当性を検証するための第2検証情報とをさらに含んでいてもよい。
受信部22は、例えば第1データフレームを受信した後に、追加情報フレームを受信する。この場合、第2鍵は、例えば第1のOne-way key chainの最後から2番目に生成された鍵である。第3鍵は、例えば第1のOne-way key chainの最後から3番目に生成された鍵である。つまり、第1鍵および第2鍵は、第3鍵から導出可能である。なお、第2鍵と第3鍵は同一であり得る。
あるいは、受信部22は追加情報フレームを受信した後に、第1データフレームを受信し得る。この場合、第2鍵は、例えば第1のOne-way key chainの最後から3番目に生成された鍵である。第3鍵は、例えば第1のOne-way key chainの最後から2番目に生成された鍵である。つまり、第1鍵および第3鍵は、第2鍵から導出可能である。なお、第2鍵と第3鍵は同一であり得る。
受信部22が、例えば第1データフレームを受信した後に、追加情報フレームを受信する場合、第1データフレームは、第1鍵、第2鍵、および第3鍵を導出可能な第7鍵を用いて生成された第1認証情報(例えば認証コード)をさらに含んでいてもよい。第1認証情報は、第1データフレーム(より詳しくは第1フレーム内のデータ部)の正当性を検証するための情報である。第7鍵は、第1のOne-way key chainの、第1鍵、第2鍵、および第3鍵よりも先に生成された鍵である。また、追加情報フレームは第7鍵をさらに含んでいてもよい。
制御部21は、正当性が証明された第1鍵を用いて、第1データフレーム内の第2鍵の正当性を検証する。第1データフレームが第1認証情報を含む場合、制御部21は、第1認証情報に対応し、正当性が証明された第7鍵を取得するまで、第1データフレームをバッファ(例えばRAM23)に保存する。
また、制御部21は、正当性が証明された第1鍵または第2鍵を用いて、追加情報フレーム内の第3鍵の正当性を検証する。また、制御部21は、第2検証情報を用いて、追加情報フレーム内の第4鍵の正当性を検証する。
さらに、制御部21は、第2検証情報を用いて、追加情報フレーム内の第7鍵の正当性を検証してもよい。制御部21は、第7鍵の正当性が証明された場合、第7鍵を用いて第2認証情報を生成する。そして、第1データフレーム内の第1認証情報と、生成した第2認証情報とが一致する場合、第1データフレームの正当性が証明された、すなわち第1データの正当性が証明された、と判断する。
そして、受信部22は第2期間内において、第3検証情報、および第4鍵を含む第2先頭情報フレームを受信する。制御部21は第3検証情報を用いて、第2先頭情報フレーム内の第4鍵の正当性を検証する。第2先頭情報フレームは、第2期間に関する第2期間情報をさらに含んでいてもよい。第2期間情報は、例えばシーケンスS+1を示す番号を含む。
なお、上述した追加情報フレームは第2期間情報を含んでいてもよい。あるいは、追加情報フレームは、第1期間情報も第2期間情報も含まないように構成されてもよい。
次いで、受信部22は第2期間において、第5鍵、および第2データを含む第2データフレームを受信する。第5鍵は、第2のOne-way key chainの第4鍵よりも先に生成された鍵である。
制御部21は、第2先頭情報フレーム内の第4鍵の正当性が証明されている場合、その第2先頭情報フレーム内の第4鍵を用いて、第5鍵の正当性を検証する。第2先頭情報フレーム内の第4鍵の正当性が証明されておらず、追加情報フレーム内の第4鍵の正当性が証明されている場合、制御部21は、追加情報フレーム内の第4鍵を用いて第5鍵の正当性を検証する。あるいは、第2先頭情報フレームの受信に失敗し、追加情報フレーム内の第4鍵の正当性が証明されている場合、制御部21は、追加情報フレーム内の第4鍵を用いて第5鍵の正当性を検証する。
以上の構成により、無線端末2は、第2期間に用いる第4鍵を、第2期間における第2先頭情報フレームだけでなく、第1期間における追加情報フレームでも受信できる。これにより、無線端末2が第2先頭情報フレームの受信に失敗した場合でも、追加情報フレームを受信できていれば、第2期間にデータフレームで配信されるデータ部を正常に取得できる。
図8は、無線基地局1から無線端末2に伝送されるフレームシーケンスの例を示す。
無線基地局1がフレームシーケンスを送信する規則は以下の通りである。
無線基地局1は、特定の期間毎のフレームシーケンスをブロードキャストで送信する。この特定の期間は、先頭情報フレームの送信間隔TIに相当する。
無線基地局1は各フレームシーケンスにおいて、先頭情報フレームを最初に送信した後に、データフレームと追加情報フレームとを送信し得る。無線基地局1はデータフレームおよび追加情報フレームの生成に、各フレームシーケンスが開始された時刻から鍵交換間隔TK毎に交換される鍵を使用する。以下では、フレームシーケンスを、単にシーケンスとも称する。
図8に示す例では、各シーケンスにおいて、フレーム群の伝送のために6つの鍵からなるOne-way key chainが用いられる場合を例示している。すなわち、シーケンスSでは、6つの鍵KS,0、KS,1、KS,2、KS,3、KS,4、およびKS,5が用いられる。シーケンスS+1では、6つの鍵KS+1,0、KS+1,1、KS+1,2、KS+1,3、KS+1,4、およびKS+1,5が用いられる。同様に、シーケンスS+2では、6つの鍵KS+2,0、KS+2,1、KS+2,2、KS+2,3、KS+2,4、およびKS+2,5が用いられる。
上述した通り、シーケンス毎のOne-way key chainを構成する各鍵は、生成順とは逆の順序で、無線基地局1から無線端末2に送信される。この生成順とは逆の順序を、送信順とも称する。
各シーケンスにおいて、無線基地局1は、One-way key chainの送信順が最初である鍵(例えば、鍵KS,5、KS+1,5、およびKS+2,5)を先頭情報フレームに含めて伝送する。無線基地局1は、送信順が2番目以降の各鍵を、データフレームまたは追加情報フレームに含めて伝送し得る。
無線基地局1は、送信順が2+d番目以降の鍵を、シーケンスが開始された時刻から鍵交換間隔TK毎に順に交換して、データフレームおよび追加情報フレームの生成(より詳しくは認証コードの生成)に用い得る。図8に示す例では、遅延間隔dは2である。なお、無線基地局1は、送信順が2+d番目よりも前の鍵(例えばシーケンスSでは鍵KS,5、KS,4、およびKS,3)を、データフレームおよび追加情報フレームの生成には用いない。
また、無線基地局1は、送信順の最後から遅延間隔dに相当する数の鍵を、追加情報フレームと次のシーケンスの先頭情報フレームとにそれぞれ含めて伝送する。例えばシーケンスSでは、無線基地局1は送信順の最後から2つの鍵KS,0およびKS,1が、追加情報フレームと次のシーケンスS+1の先頭情報フレームとにそれぞれ含めて伝送される。
以下では、シーケンス毎のフレーム群の伝送の例についてより具体的に説明する。
(シーケンスS)
無線基地局1はシーケンスSにおいて、7つのフレームF101~F107を送信している。より詳しくは、無線基地局1はシーケンスSの最初に先頭情報フレームF101を送信した後に、4つのデータフレームF102,F103,F104,F105と、1つの追加情報フレームF106と、1つのデータフレームF107とを順に送信している。
(先頭情報フレームF101)
先頭情報フレームF101は、3つの鍵KS-1,0、KS-1,1、KS,5を含んでいる。鍵KS-1,0は、1つ前のシーケンスS-1で用いられるOne-way key chainの内の生成順が1番目の鍵である。鍵KS-1,1は、1つ前のシーケンスS-1で用いられるOne-way key chainの内の生成順が2番目の鍵である。鍵KS,5は、現在のシーケンスSで用いられるOne-way key chainの内の生成順が6番目(すなわち送信順が1番目)の鍵である。先頭情報フレームF101の正当性は、先頭情報フレームF101がさらに含むCAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とで保証されている。
無線端末2は所望の無線基地局1からの先頭情報フレームF101を受信した時点で、この先頭情報フレームF101の正当性を検証できる。無線端末2は先頭情報フレームF101内の、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とを用いて、先頭情報フレームF101の正当性を検証する。先頭情報フレームF101の正当性が証明されたならば、無線端末2は、先頭情報フレームF101に含まれる3つの鍵KS-1,0、KS-1,1、KS,5を正当性が証明された鍵として使用する。正当性が証明された鍵KS,5がある場合、無線端末2はシーケンスSで受信されるデータフレームおよび追加情報フレームの正当性を検証できる。
一方、先頭情報フレームF101の正当性が証明されなかったならば、無線端末2は先頭情報フレームF101を破棄して、これら3つの鍵KS-1,0、KS-1,1、KS,5を使用しない。なお、正当性が証明された鍵KS,5がない場合、無線端末2はシーケンスSで受信されるデータフレームおよび追加情報フレームの正当性を検証できずに、それらフレームを破棄する可能性がある。
(データフレームF102,F103)
無線基地局1はシーケンスS内の1番目の鍵交換間隔TKで、鍵KS,2を用いて認証コードAS,2を生成する。そして、無線基地局1は、生成した認証コードAS,2と鍵KS,4とをそれぞれ含むデータフレームF102およびデータフレームF103を送信する。鍵KS,4は、シーケンスSで用いられるOne-way key chainの内の、生成順が5番目(すなわち送信順が2番目)の鍵である。
より詳しくは、無線基地局1はハッシュ関数f2と鍵KS,2とを用いて認証コードAS,2を生成する。このハッシュ関数f2は、One-way key chainの生成に用いられる関数f1とは別のハッシュ関数である。無線基地局1は、例えば鍵KS,2にハッシュ関数f2を施して算出したハッシュ値を、認証コードAS,2として用いる。ハッシュ関数f2は、無線基地局1と無線端末2の双方で既知である。以下では、ハッシュ関数f2を、単に関数f2とも称する。
無線端末2は各データフレームF102,F103を受信した場合、データフレームF102,F103内の鍵KS,4の正当性を検証する。無線端末2は、既に正当性が証明された鍵KS,5を用いて、データフレームF102,F103内の鍵KS,4の正当性を検証できる。
より具体的には、例えばデータフレームF102を受信した場合、無線端末2はデータフレームF102内の鍵KS,4に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS,5と一致しているか否かを判定する。算出した関数が鍵KS,5と一致しているならば、無線端末2は鍵KS,4を正当性が証明された鍵として使用する。算出した関数が鍵KS,5と一致していないならば、無線端末2はデータフレームF102を破棄して、鍵KS,4を使用しない。
また、無線端末2はデータフレームF102内の認証コードAS,2と、認証コードAS,2に対応し、正当性が証明された鍵KS,2とを用いて、データフレームF102の正当性を検証する。データフレームF102を受信した時点では、無線端末2は鍵KS,2を含むフレームを無線基地局1から受信していないので、データフレームF102の正当性を検証できない。そのため、無線端末2はデータフレームF102をRAM23にバッファリングする。
無線端末2はデータフレームF103も、データフレームF102と同様に処理する。
(データフレームF104,F105)
無線基地局1はシーケンスS内の2番目の鍵交換間隔TKで、鍵KS,1を用いて認証コードAS,1を生成する。そして、無線基地局1は、生成した認証コードAS,1と鍵KS,3とをそれぞれ含むデータフレームF104およびデータフレームF105を送信する。鍵KS,3は、シーケンスSで用いられるOne-way key chainの内の、生成順が4番目(すなわち送信順が3番目)の鍵である。
より詳しくは、無線基地局1は関数f2と鍵KS,1とを用いて認証コードAS,1を生成する。無線基地局1は、例えば鍵KS,1に関数f2を施し、認証コードAS,1を生成する。
無線端末2は各データフレームF104,F105を受信した場合、データフレームF104,F105内の鍵KS,3の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS,3よりも後の鍵KS,4(あるいは鍵KS,5)を用いて、データフレームF104,F105内の鍵KS,3の正当性を検証できる。
より具体的には、例えばデータフレームF104を受信した場合、無線端末2はデータフレームF104内の鍵KS,3に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS,4と一致しているか否かを判定する。算出した関数が鍵KS,4と一致しているならば、無線端末2は鍵KS,3を正当性が証明された鍵として使用する。算出した関数が鍵KS,4と一致していないならば、無線端末2はデータフレームF104を破棄して、鍵KS,3を使用しない。なお、無線端末2はデータフレームF104内の鍵KS,3に関数f1を2回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS,5と比較してもよい。
また、無線端末2はデータフレームF104内の認証コードAS,1と、認証コードAS,1に対応し、正当性が証明された鍵KS,1とを用いて、データフレームF104の正当性を検証する。データフレームF104を受信した時点では、無線端末2は鍵KS,1を含むフレームを無線基地局1から受信していないので、データフレームF104の正当性を検証できない。そのため、無線端末2はデータフレームF104をRAM23にバッファリングする。
無線端末2はデータフレームF105も、データフレームF104と同様に処理する。
(追加情報フレームF106、データフレームF107)
無線基地局1はシーケンスS内の3番目の鍵交換間隔TKで、鍵KS,0を用いて認証コードAS,0を生成する。そして、無線基地局1は、生成した認証コードAS,0と鍵KS,2とをそれぞれ含む追加情報フレームF106およびデータフレームF107を送信する。鍵KS,2は、シーケンスSで用いられるOne-way key chainの内の、生成順が3番目(すなわち送信順が4番目)の鍵である。
より詳しくは、無線基地局1は関数f2と鍵KS,0とを用いて認証コードAS,0を生成する。無線基地局1は、例えば鍵KS,0に関数f2を施し、認証コードAS,0を生成する。
追加情報フレームF106は、3つの鍵KS,0、KS,1、KS+1,5をさらに含んでいる。鍵KS,0は、シーケンスSで用いられるOne-way key chainの内の生成順が1番目(すなわち送信順が6番目)の鍵である。鍵KS,1は、シーケンスSで用いられるOne-way key chainの内の生成順が2番目(すなわち送信順が5番目)の鍵である。鍵KS+1,5は、次のシーケンスS+1で用いられるOne-way key chainの内の生成順が6番目(すなわち送信順が1番目)の鍵である。
無線端末2は追加情報フレームF106を受信した時点で、この先頭情報フレームF106の正当性を検証できる。無線端末2は追加情報フレームF106内の、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とを用いて、追加情報フレームF106の正当性を検証する。追加情報フレームF106の正当性が証明されたならば、無線端末2は、追加情報フレームF106に含まれる3つの鍵KS,0、KS,1、KS+1,5を正当性が証明された鍵として使用する。正当性が証明された鍵KS+1,5がある場合、無線端末2はシーケンスS+1で受信されるデータフレームおよび追加情報フレームの正当性を検証できる。
一方、追加情報フレームF106の正当性が証明されなかったならば、無線端末2は追加情報フレームF106を破棄して、これら3つの鍵KS,0、KS,1、KS+1,5を使用しない。
正当性が証明された鍵KS,1を取得した場合、無線端末2は、対応する認証コードAS,1をそれぞれ含む、バッファリングされたデータフレームF104,F105の正当性を検証できる。具体的には、無線端末2は鍵KS,1にハッシュ関数f2を施してハッシュ値を算出する。無線端末2は算出したハッシュ値が、データフレームF104内の認証コードAS,1と一致しているか否かを判定する。算出したハッシュ値が認証コードAS,1と一致しているならば、無線端末2はデータフレームF104の正当性が証明されたと判断して、データフレームF104内のデータ部を上位レイヤに渡す。つまり、無線端末2は正当性が証明されたデータフレームF104から、正しいデータ部を取得できる。上位レイヤは、例えばOSや各種のアプリケーションプログラムである。上位レイヤでは、このデータ部を用いた処理(例えば映像データに基づく映像の再生処理)が行われる。
一方、算出したハッシュ値が認証コードAS,1と一致していないならば、無線端末2はデータフレームF104の正当性が証明されなかったと判断して、データフレームF104を破棄する。したがって、データフレームF104内のデータ部は上位レイヤに渡されない。
無線端末2は同様にして、データフレームF105の正当性を検証し、正当性が証明されたデータフレームF105内のデータ部を上位レイヤに渡すことができる。
さらに、無線端末2は追加情報フレームF106を受信した場合に、追加情報フレームF106内の鍵KS,2の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS,2よりも後の鍵KS,3(あるいは鍵KS,5または鍵KS,4)を用いて、追加情報フレームF106内の鍵KS,2の正当性を検証できる。
より具体的には、無線端末2は追加情報フレームF106内の鍵KS,2に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS,3と一致しているか否かを判定する。算出した関数が鍵KS,3と一致しているならば、無線端末2は鍵KS,2を正当性が証明された鍵として使用する。算出した関数が鍵KS,3と一致していないならば、無線端末2は鍵KS,2を使用しない。なお、無線端末2は追加情報フレームF106内の鍵KS,2に関数f1を2回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS,4と比較してもよい。あるいは、無線端末2は追加情報フレームF106内の鍵KS,2に関数f1を3回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS,5と比較してもよい。
正当性が証明された鍵KS,2を取得した場合、無線端末2は、対応する認証コードAS,2をそれぞれ含む、バッファリングされたデータフレームF102,F103の正当性を検証できる。具体的には、無線端末2は鍵KS,2にハッシュ関数f2を施してハッシュ値を算出する。無線端末2は算出したハッシュ値が、データフレームF102内の認証コードAS,2と一致しているか否かを判定する。算出したハッシュ値が認証コードAS,2と一致しているならば、無線端末2はデータフレームF102の正当性が証明されたと判断して、データフレームF102内のデータ部を上位レイヤに渡す。
一方、算出したハッシュ値が認証コードAS,2と一致していないならば、無線端末2はデータフレームF102の正当性が証明されなかったと判断して、データフレームF102を破棄する。したがって、データフレームF102内のデータ部は上位レイヤに渡されない。
無線端末2は同様にして、データフレームF103の正当性を検証し、正当性が証明されたデータフレームF103内のデータ部を上位レイヤに渡すことができる。
次いで、無線端末2はデータフレームF107を受信した場合に、データフレームF107内の鍵KS,2の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS,2よりも後の鍵KS,3(あるいは鍵KS,5または鍵KS,4)を用いて、データフレームF107内の鍵KS,2の正当性を検証できる。
より具体的には、無線端末2はデータフレームF107内の鍵KS,2に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS,3と一致しているか否かを判定する。算出した関数が鍵KS,3と一致しているならば、無線端末2は鍵KS,2を正当性が証明された鍵として使用する。算出した関数が鍵KS,3と一致していないならば、無線端末2はデータフレームF107を破棄して、鍵KS,2を使用しない。なお、無線端末2はデータフレームF107内の鍵KS,2に関数f1を2回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS,4と比較してもよい。あるいは、無線端末2はデータフレームF107内の鍵KS,2に関数f1を3回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS,5と比較してもよい。
また、無線端末2はデータフレームF107内の認証コードAS,0と、認証コードAS,0に対応し、正当性が証明された鍵KS,0とを用いて、データフレームF107の正当性を検証する。追加情報フレームF106を受信し、正当性が証明された鍵KS,0を取得済みである場合、無線端末2はこの鍵KS,0と、データフレームF107内の認証コードAS,0とを用いて、データフレームF107の正当性を検証する。
より詳しくは、無線端末2は鍵KS,0にハッシュ関数f2を施してハッシュ値を算出する。無線端末2は算出したハッシュ値が、データフレームF107内の認証コードAS,0と一致しているか否かを判定する。算出したハッシュ値が認証コードAS,0と一致しているならば、無線端末2はデータフレームF107の正当性が証明されたと判断して、データフレームF107内のデータ部を上位レイヤに渡す。算出したハッシュ値が認証コードAS,0と一致していないならば、無線端末2はデータフレームF107の正当性が証明されなかったと判断して、データフレームF107を破棄する。したがって、データフレームF107内のデータ部は上位レイヤに渡されない。
以上のように、シーケンスSでは、One-way key chainを構成する6つの鍵KS,0、KS,1、KS,2、KS,3、KS,4、およびKS,5を利用して、伝送されるデータフレームF102~F105,F107、および追加情報フレームF106の正当性が保証される。また、追加情報フレームF106により、次のシーケンスS+1の先頭情報フレームF108に含まれる3つの鍵KS,0、KS,1、KS+1,5を伝送し得る。
(シーケンスS+1)
無線基地局1はシーケンスS+1において、7つのフレームF108~F114を送信している。より詳しくは、無線基地局1はシーケンスS+1の最初に先頭情報フレームF108を送信した後に、3つのデータフレームF109,F110,F111と、1つの追加情報フレームF112と、2つのデータフレームF113,F114とを順に送信している。
(先頭情報フレームF108)
先頭情報フレームF108は、3つの鍵KS,0、KS,1、KS+1,5を含んでいる。鍵KS,0は、1つ前のシーケンスSで用いられるOne-way key chainの内の生成順が1番目の鍵である。鍵KS,1は、1つ前のシーケンスSで用いられるOne-way key chainの内の生成順が2番目の鍵である。鍵KS+1,5は、現在のシーケンスS+1で用いられるOne-way key chainの内の生成順が6番目(すなわち送信順が1番目)の鍵である。先頭情報フレームF108の正当性は、先頭情報フレームF108がさらに含むCAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とで保証されている。
無線端末2は先頭情報フレームF108を受信した時点で、この先頭情報フレームF108の正当性を検証できる。無線端末2は先頭情報フレームF108内の、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とを用いて、先頭情報フレームF108の正当性を検証する。先頭情報フレームF108の正当性が証明されたならば、無線端末2は、先頭情報フレームF108に含まれる3つの鍵KS,0、KS,1、KS+1,5を正当性が証明された鍵として使用する。正当性が証明された鍵KS+1,5がある場合、無線端末2はシーケンスS+1で受信されるデータフレームおよび追加情報フレームの正当性を検証できる。正当性が証明された鍵KS+1,5は、先頭情報フレームF108からだけでなく、1つ前のシーケンスSの追加情報フレームからも取得され得る。
一方、先頭情報フレームF108の正当性が証明されなかったならば、無線端末2は先頭情報フレームF108を破棄して、これら3つの鍵KS,0、KS,1、KS+1,5を使用しない。正当性が証明された鍵KS+1,5がない場合、無線端末2はシーケンスS+1で受信されるデータフレームおよび追加情報フレームの正当性を検証ずに、それらフレームを破棄する可能性がある。
(データフレームF109,F110)
無線基地局1はシーケンスS+1内の1番目の鍵交換間隔TKで、鍵KS+1,2を用いて認証コードAS+1,2を生成する。そして、無線基地局1は、生成した認証コードAS+1,2と鍵KS+1,4とをそれぞれ含むデータフレームF109およびデータフレームF110を送信する。鍵KS+1,4は、シーケンスS+1で用いられるOne-way key chainの内の、生成順が5番目(すなわち送信順が2番目)の鍵である。
より詳しくは、無線基地局1はハッシュ関数f2と鍵KS+1,2とを用いて認証コードAS+1,2を生成する。無線基地局1は、例えば鍵KS+1,2に関数f2を施して算出したハッシュ値を、認証コードAS+1,2として用いる。
無線端末2は各データフレームF109,F110を受信した場合、データフレームF109,F110内の鍵KS+1,4の正当性を検証する。無線端末2は、既に正当性が証明された鍵KS+1,5を用いて、データフレームF109,F110内の鍵KS+1,4の正当性を検証できる。
より具体的には、例えばデータフレームF109を受信した場合、無線端末2はデータフレームF109内の鍵KS+1,4に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS+1,5と一致しているか否かを判定する。算出した関数が鍵KS+1,5と一致しているならば、無線端末2は鍵KS+1,4を正当性が証明された鍵として使用する。算出した関数が鍵KS+1,5と一致していないならば、無線端末2はデータフレームF109を破棄して、鍵KS+1,4を使用しない。
また、無線端末2はデータフレームF109内の認証コードAS+1,2と、認証コードAS+1,2に対応し、正当性が証明された鍵KS+1,2とを用いて、データフレームF109の正当性を検証する。データフレームF109を受信した時点では、無線端末2は鍵KS+1,2を含むフレームを無線基地局1から受信していないので、データフレームF109の正当性を検証できない。そのため、無線端末2はデータフレームF109をRAM23にバッファリングする。
無線端末2はデータフレームF110も、データフレームF109と同様に処理する。
(データフレームF111、追加情報フレームF112、データフレームF113)
無線基地局1はシーケンスS+1内の2番目の鍵交換間隔TKで、鍵KS+1,1を用いて認証コードAS+1,1を生成する。そして、無線基地局1は、生成した認証コードAS+1,1と鍵KS+1,3とをそれぞれ含むデータフレームF111、追加情報フレームF112、およびデータフレームF113を送信する。鍵KS+1,3は、シーケンスS+1で用いられるOne-way key chainの内の、生成順が4番目(すなわち送信順が3番目)の鍵である。
より詳しくは、無線基地局1は関数f2と鍵KS+1,1とを用いて認証コードAS+1,1を生成する。無線基地局1は、例えば鍵KS+1,1に関数f2を施し、認証コードAS+1,1を生成する。
追加情報フレームF112は、3つの鍵KS+1,0、KS+1,1、KS+2,5をさらに含んでいる。鍵KS+1,0は、シーケンスS+1で用いられるOne-way key chainの内の生成順が1番目(すなわち送信順が6番目)の鍵である。鍵KS+1,1は、シーケンスS+1で用いられるOne-way key chainの内の生成順が2番目(すなわち送信順が5番目)の鍵である。鍵KS+2,5は、次のシーケンスS+2で用いられるOne-way key chainの内の生成順が6番目(すなわち送信順が1番目)の鍵である。
無線端末2はデータフレームF111を受信した場合、データフレームF111内の鍵KS+1,3の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS+1,3よりも後の鍵KS+1,4(あるいは鍵KS+1,5)を用いて、データフレームF111内の鍵KS+1,3の正当性を検証できる。
より具体的には、例えばデータフレームF111を受信した場合、無線端末2はデータフレームF111内の鍵KS+1,3に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS+1,4と一致しているか否かを判定する。算出した関数が鍵KS+1,4と一致しているならば、無線端末2は鍵KS+1,3を正当性が証明された鍵として使用する。算出した関数が鍵KS+1,4と一致していないならば、無線端末2はデータフレームF111を破棄して、鍵KS+1,3を使用しない。なお、無線端末2はデータフレームF111内の鍵KS+1,3に関数f1を2回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS+1,5と比較してもよい。
また、無線端末2はデータフレームF111内の認証コードAS+1,1と、認証コードAS+1,1に対応し、正当性が証明された鍵KS+1,1とを用いて、データフレームF111の正当性を検証する。データフレームF111を受信した時点では、無線端末2は鍵KS+1,1を含むフレームを無線基地局1から受信していないので、データフレームF111の正当性を検証できない。そのため、無線端末2はデータフレームF111をRAM23にバッファリングする。
次いで、無線端末2は追加情報フレームF112を受信し、この追加情報フレームF112の正当性を検証する。無線端末2は追加情報フレームF112内の、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とを用いて、追加情報フレームF112の正当性を検証する。追加情報フレームF112の正当性が証明されたならば、無線端末2は、追加情報フレームF112に含まれる3つの鍵KS+1,0、KS+1,1、KS+2,5を正当性が証明された鍵として使用する。正当性が証明された鍵KS+2,5がある場合、無線端末2はシーケンスS+2で受信されるデータフレームおよび追加情報フレームの正当性を検証できる。
一方、追加情報フレームF112の正当性が証明されなかったならば、無線端末2は追加情報フレームF112を破棄して、これら3つの鍵KS+1,0、KS+1,1、KS+2,5を使用しない。
正当性が証明された鍵KS+1,1を取得した場合、無線端末2は、対応する認証コードAS+1,1を含む、バッファリングされたデータフレームF111の正当性を検証できる。具体的には、無線端末2は鍵KS+1,1にハッシュ関数f2を施してハッシュ値を算出する。無線端末2は算出したハッシュ値が、データフレームF111内の認証コードAS+1,1と一致しているか否かを判定する。算出したハッシュ値が認証コードAS+1,1と一致しているならば、無線端末2はデータフレームF111の正当性が証明されたと判断して、データフレームF111内のデータ部を上位レイヤに渡す。
一方、算出したハッシュ値が認証コードAS+1,1と一致していないならば、無線端末2はデータフレームF111の正当性が証明されなかったと判断して、データフレームF111を破棄する。したがって、データフレームF111内のデータ部は上位レイヤに渡されない。
さらに、無線端末2は追加情報フレームF112を受信した場合に、追加情報フレームF112内の鍵KS+1,3の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS+1,3よりも後の鍵KS+1,4(あるいは鍵KS+1,5)を用いて、追加情報フレームF112内の鍵KS+1,3の正当性を検証できる。
より具体的には、無線端末2は追加情報フレームF112内の鍵KS+1,3に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS+1,4と一致しているか否かを判定する。算出した関数が鍵KS+1,4と一致しているならば、無線端末2は鍵K+1S,3を正当性が証明された鍵として使用する。算出した関数が鍵KS+1,4と一致していないならば、無線端末2は鍵KS+1,3を使用しない。なお、無線端末2は追加情報フレームF112内の鍵KS+1,3に関数f1を2回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS+1,5と比較してもよい。
次いで、無線端末2はデータフレームF113を受信した場合に、データフレームF113内の鍵KS+1,3の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS+1,3よりも後の鍵KS+1,4(あるいは鍵KS+1,5)を用いて、データフレームF113内の鍵KS+1,3の正当性を検証できる。
より具体的には、無線端末2はデータフレームF113内の鍵KS+1,3に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS+1,4と一致しているか否かを判定する。算出した関数が鍵KS+1,4と一致しているならば、無線端末2は鍵KS+1,3を正当性が証明された鍵として使用する。算出した関数が鍵KS+1,4と一致していないならば、無線端末2はデータフレームF113を破棄して、鍵KS+1,3を使用しない。なお、無線端末2はデータフレームF113内の鍵KS+1,3に関数f1を2回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS+1,5と比較してもよい。
また、無線端末2はデータフレームF113内の認証コードAS+1,1と、認証コードAS+1,1に対応し、正当性が証明された鍵KS+1,1とを用いて、データフレームF113の正当性を検証する。追加情報フレームF106を受信し、正当性が証明された鍵KS+1,1を取得済みである場合、無線端末2はこの鍵KS+1,1と、データフレームF113内の認証コードAS+1,1とを用いて、データフレームF113の正当性を検証する。
より詳しくは、無線端末2は鍵KS+1,1にハッシュ関数f2を施してハッシュ値を算出する。無線端末2は算出したハッシュ値が、データフレームF113内の認証コードAS+1,1と一致しているか否かを判定する。算出したハッシュ値が認証コードAS+1,1と一致しているならば、無線端末2はデータフレームF113の正当性が証明されたと判断して、データフレームF113内のデータ部を上位レイヤに渡す。算出したハッシュ値が認証コードAS+1,1と一致していないならば、無線端末2はデータフレームF113の正当性が証明されなかったと判断して、データフレームF113を破棄する。したがって、データフレームF113内のデータ部は上位レイヤに渡されない。
(データフレームF114)
無線基地局1はシーケンスS+1内の3番目の鍵交換間隔TKで、鍵KS+1,0を用いて認証コードAS+1,0を生成する。そして、無線基地局1は、生成した認証コードAS+1,0と鍵KS+1,2とを含むデータフレームF114を送信する。鍵KS+1,2は、シーケンスS+1で用いられるOne-way key chainの内の、生成順が3番目(すなわち送信順が4番目)の鍵である。
より詳しくは、無線基地局1は関数f2と鍵KS+1,0とを用いて認証コードAS+1,0を生成する。無線基地局1は、例えば鍵KS+1,0に関数f1を施し、認証コードAS+1,0を生成する。
無線端末2はデータフレームF114を受信した場合に、データフレームF114内の鍵KS+1,2の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS+1,2よりも後の鍵KS+1,3(あるいは鍵KS+1,5または鍵KS+1,4)を用いて、データフレームF114内の鍵KS+1,2の正当性を検証できる。
より具体的には、無線端末2はデータフレームF114内の鍵KS+1,2に関数f1を施して、ハッシュ関数を算出する。そして、無線端末2は、算出したハッシュ関数が、既に正当性が証明された鍵KS+1,3と一致しているか否かを判定する。算出した関数が鍵KS+1,3と一致しているならば、無線端末2は鍵KS+1,2を正当性が証明された鍵として使用する。算出した関数が鍵KS+1,3と一致していないならば、無線端末2はデータフレームF114を破棄して、鍵KS+1,2を使用しない。なお、無線端末2はデータフレームF114内の鍵KS+1,2に関数f1を2回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS+1,4と比較してもよい。あるいは、無線端末2はデータフレームF114内の鍵KS+1,2に関数f1を3回施して、ハッシュ関数を算出し、既に正当性が証明された鍵KS+1,5と比較してもよい。
正当性が証明された鍵KS+1,2を取得した場合、無線端末2は、対応する認証コードAS+1,2をそれぞれ含む、バッファリングされたデータフレームF109,F110の正当性を検証できる。具体的には、無線端末2は鍵KS+1,2にハッシュ関数f2を施してハッシュ値を算出する。無線端末2は算出したハッシュ値が、データフレームF109内の認証コードAS+1,2と一致しているか否かを判定する。算出したハッシュ値が認証コードAS+1,2と一致しているならば、無線端末2はデータフレームF109の正当性が証明されたと判断して、データフレームF109内のデータ部を上位レイヤに渡す。
一方、算出したハッシュ値が認証コードAS+1,2と一致していないならば、無線端末2はデータフレームF109の正当性が証明されなかったと判断して、データフレームF109を破棄する。したがって、データフレームF109内のデータ部は上位レイヤに渡されない。
無線端末2は同様にして、データフレームF110の正当性を検証し、正当性が証明されたデータフレームF110内のデータ部を上位レイヤに渡すことができる。
また、無線端末2はデータフレームF114内の認証コードAS+1,0と、認証コードAS+1,0に対応し、正当性が証明された鍵KS+1,0とを用いて、データフレームF114の正当性を検証する。追加情報フレームF112を受信し、正当性が証明された鍵KS+1,0を取得済みである場合、無線端末2はこの鍵KS+1,0と、データフレームF114内の認証コードAS+1,0とを用いて、データフレームF114の正当性を検証する。
より詳しくは、無線端末2は鍵KS+1,0にハッシュ関数f2を施してハッシュ値を算出する。無線端末2は算出したハッシュ値が、データフレームF114内の認証コードAS+1,0と一致しているか否かを判定する。算出したハッシュ値が認証コードAS+1,0と一致しているならば、無線端末2はデータフレームF114の正当性が証明されたと判断して、データフレームF114内のデータ部を上位レイヤに渡す。算出したハッシュ値が認証コードAS+1,0と一致していないならば、無線端末2はデータフレームF114の正当性が証明されなかったと判断して、データフレームF114を破棄する。したがって、データフレームF114内のデータ部は上位レイヤに渡されない。
以上のように、シーケンスS+1では、One-way key chainを構成する6つの鍵KS+1,0、KS+1,1、KS+1,2、KS+1,3、KS+1,4、およびKS+1,5を利用して、伝送されるデータフレームF109~F111,F113,F114、および追加情報フレームF112の正当性が保証される。また、追加情報フレームF112により、次のシーケンスS+2の先頭情報フレームF115に含まれる3つの鍵KS+1,0、KS+1,1、KS+2,5を伝送し得る。
(シーケンスS+2)
シーケンスS+2でも、シーケンスSおよびシーケンスS+1と同様にして、無線基地局1から無線端末2にフレームが伝送される。無線基地局1はOne-way key chainを構成する6つの鍵KS+2,0、KS+2,1、KS+2,2、KS+2,3、KS+2,4、およびKS+2,5を用いて、先頭情報フレームF115を送信した後に、データフレームF116と追加情報フレームF117とを送信し得る。先頭情報フレームF115は、3つの鍵KS+1,0、KS+1,1、KS+2,5を含む。データフレームF116は、例えば認証コードAS+2,2と鍵KS+2,4を含む。追加情報フレームF117は、例えば、認証コードAS+2,2および鍵KS+2,4と、3つの鍵KS+2,0、KS+2,1、KS+3,5を含む。
無線端末2は、受信した各フレームに含まれる鍵の正当性を検証する。そして、無線端末2は正当性が証明された鍵KS+2,0、KS+2,1、KS+2,2、KS+2,3、KS+2,4、およびKS+2,5を利用して、受信したデータフレームF116および追加情報フレームF117の正当性を検証できる。無線端末2は正当性が証明されたデータフレームF116から正しいデータ部を取得できる。また、無線端末2は正当性が証明された追加情報フレームF117から、正当性が証明された3つの鍵KS+2,0、KS+2,1、KS+3,5を取得できる。
このように、シーケンスS+2では、One-way key chainを構成する6つの鍵KS+2,0、KS+2,1、KS+2,2、KS+2,3、KS+2,4、およびKS+2,5を利用して、伝送されるデータフレームF116および追加情報フレームF117の正当性が保証される。また、追加情報フレームF117により、次のシーケンスS+3の先頭情報フレームに含まれる3つの鍵KS+2,0、KS+2,1、KS+3,5を伝送し得る。
次いで図9を参照して、無線端末2がシーケンスS+1の先頭情報フレームF108の受信に失敗した場合の例について説明する。無線端末2は、例えば無線伝搬路上の誤りにより、先頭情報フレームF108の受信に失敗することがある。
なお、無線基地局1によって送信されるフレームF101~F117の順序および構成は、図8と同様であるものとする。また、無線端末2は、先頭情報フレームF108以外のフレームを正常に受信できるものとする。
先頭情報フレームF108の受信に失敗した場合、無線端末2は3つの鍵KS,0、KS,1、KS+1,5を取得できない。正当性が証明された鍵KS+1,5がない場合、無線端末2は、先頭情報フレームF108に後続して受信するデータフレームF109,F1101内の鍵KS+1,4、データフレームF111,F113および追加情報フレーム112内の鍵KS+1,3、並びにデータフレームF114内の鍵KS+1,2の正当性を検証できない。そして、正当性が証明された鍵KS+1,5がない場合、無線端末2はデータフレームF109、F111,F113,F114からデータ部を取得できず、追加情報フレームF112から鍵KS+1,0、KS+1,1、KS+2,5を取得できない。
しかし、本実施形態の無線端末2は、1つ前のシーケンスSで追加情報フレームF106を受信して、正当性が証明された鍵KS+1,5を取得している。そのため、無線端末2は、先頭情報フレームF108の受信に失敗した場合にも、この追加情報フレームF106から取得した鍵KS+1,5を用いて、データフレームF109,F110内の鍵KS+1,4、データフレームF111,F113および追加情報フレームF112内の鍵KS+1,3、並びにデータフレームF114内の鍵KS+1,2の正当性を証明できる。さらに、無線端末2は、正当性が証明された鍵KS+1,3を含む追加情報フレームF112から、正当性が証明された鍵KS+1,0、KS+1,1、KS+2,5を取得できる。したがって、無線端末2は、鍵KS+1,2、KS+1,1、KS+1,0に対応する認証コードAS+1,2、AS+1,1、AS+1,0含むデータフレームF109~F111,F113,F114からデータ部を取得できる。
より具体的には、無線端末2は正当性が証明された鍵KS+1,2と、データフレームF109,F110内の認証コードAS+1,2とを用いて、データフレームF109,F110の正当性をそれぞれ検証する。データフレームF109,F110の正当性が証明された場合、無線端末2はデータフレームF109,F110内のデータ部を上位レイヤに渡す。
無線端末2は、正当性が証明された鍵KS+1,3を含む追加情報フレームF112から、3つの鍵KS+1,0、KS+1,1、KS+2,5を取得する。追加情報フレームF112は、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とをさらに用いて、その正当性が証明されている。したがって、取得した3つの鍵KS+1,0、KS+1,1、KS+2,5の正当性が証明されている。なお、3つの鍵KS+1,0、KS+1,1、KS+2,5は、次のシーケンスS+2の先頭情報フレームF115から取得されたものであってもよい。
無線端末2は正当性が証明された鍵KS+1,1と、データフレームF111,F113内の認証コードAS+1,1とを用いて、データフレームF111,F113の正当性をそれぞれ検証する。データフレームF111,F113の正当性が証明された場合、無線端末2はデータフレームF111,F113内のデータ部を上位レイヤに渡す。
また、無線端末2は正当性が証明された鍵KS+1,0と、データフレームF114内の認証コードAS+1,0とを用いて、データフレームF14の正当性をそれぞれ検証する。データフレームF114の正当性が証明された場合、無線端末2はデータフレームF114内のデータ部を上位レイヤに渡す。
このように、無線端末2は先頭情報フレームF108の受信に失敗した場合にも、1つ前のシーケンスSの追加情報フレームF106から取得した鍵KS+1,5を利用して、後続するデータフレームF109~F111,F113,F114からデータ部を取得し得ると共に、追加情報フレームF112から鍵KS+1,0、KS+1,1、KS+2,5を取得し得る。
以上の構成により、本実施形態の無線基地局1および無線端末2を含む無線システムでは、データを正常に伝送できる可能性を高められる。無線基地局1は、ある期間(シーケンス)のデータフレームの正当性の検証に必要な鍵を、その期間の先頭情報フレームだけでなく、1つ前の期間の追加情報フレームでも伝送する。そして、無線端末2はこれら先頭情報フレームと追加情報フレームの少なくとも一方を受信できたならば、その期間のデータフレームの正当性を検証できる。
そのため、無線基地局1から無線端末2に先頭情報フレームのみが伝送され、追加情報フレームが伝送されない構成と比較して、本実施形態では、無線基地局1から無線端末2に、ある期間のデータフレームの正当性の検証に必要な鍵を伝送できる可能性を高めることができる。これにより、本実施形態では、無線基地局1から無線端末2にデータを正常に伝送できる可能性を高められる。
図10のフローチャートを参照して、無線基地局1において実行される送信処理の手順の例を説明する。ここでは、無線基地局1がシーケンスSのフレーム群を、N個の鍵KS,N-1,KS,N-2,……,KS,1,KS,0を用いて送信する場合を例示する。
まず、無線基地局1は、変数iにN-2を設定する(ステップS101)。無線基地局1は、現在の鍵の使用時間t(以下、鍵使用時間tと称する)の計測を開始する(ステップS102)。そして、無線基地局1は、シーケンスSの先頭情報フレームをブロードキャストする(ステップS103)。この先頭情報フレームは、鍵KS-1,0、鍵KS-1,1、および鍵KS,N-1を含んでいる。先頭情報フレームの詳細な構成については、図5を参照して上述した通りである。
次いで、無線基地局1は、鍵使用時間tが鍵の交換間隔TK以下であるか否かを判定する(ステップS104)。鍵使用時間tが鍵の交換間隔TK以下である場合(ステップS104のYES)、無線基地局1は送信すべきフレームの種別がデータフレームであるか、それとも追加情報フレームであるかを決定する(ステップS105)。無線基地局1は、例えば、シーケンスS内の特定のタイミングで追加情報フレームを送信すべきであると判断し、それ以外のタイミングでデータフレームを送信すべきであると判断する。あるいは、無線基地局1は、ブロードキャストすべきデータがある場合にデータフレームを送信すべきであると判断し、データがない場合に(すなわちアイドル時間に)追加情報フレームを送信すべきであると判断してもよい。
送信すべきフレームの種別がデータフレームである場合(ステップS105のデータフレーム)、無線基地局1は鍵KS,i-dを用いて認証コードAS,i-dを生成する(ステップS106)。無線基地局1は、データフレームで無線端末2に伝送すべきデータ部に対して、例えばハッシュ関数と鍵KS,i-dを用いて算出したハッシュ値を、認証コードAS,i-dとして付与する。そして、無線基地局1はデータフレームをブロードキャストする(ステップS107)。このデータフレームは、データ部に加えて、鍵KS,iと認証コードAS,i-dとを含んでいる。データフレームの詳細な構成については、図6を参照して上述した通りである。
また、送信すべきフレームの種別が追加情報フレームである場合(ステップS105の追加情報フレーム)、無線基地局1は次のシーケンスS+1で用いられる鍵を生成するための鍵生成処理を実行する(ステップS108)。鍵生成処理では、シーケンスS+1で用いられる複数の鍵(すなわちOne-way key chain)が生成される。次のシーケンスS+1で用いられる鍵が既に生成されているならば、無線基地局1はステップS108をスキップする。鍵生成処理の詳細な手順については、図11のフローチャートを参照して後述する。
次いで、無線基地局1は鍵KS,i-dを用いて認証コードAS,i-dを生成する(ステップS109)。無線基地局1は、追加情報フレームでブロードキャストすべき情報(以下、情報部とも称する)に対して、例えばハッシュ関数と鍵KS,i-dを用いて算出したハッシュ値を、認証コードAS,i-dとして付与する。情報部には、例えば、次のシーケンスS+1の先頭情報フレームでブロードキャストされるべき情報である鍵KS,0、鍵KS,1、および鍵KS+1,N-1が含まれる。そして、無線基地局1は追加情報フレームをブロードキャストする(ステップS110)。この追加情報フレームは、情報部に加えて、鍵KS,iと認証コードAS,i-dとを含んでいる。追加情報フレームの詳細な構成については、図7を参照して上述した通りである。
ステップS107でデータフレームをブロードキャストした後、またはステップS110で追加情報フレームをブロードキャストした後、無線基地局1はステップS104に戻り、鍵使用時間tが鍵の交換間隔TKに達するまでの間、データフレームまたは追加情報フレームをブロードキャストするための処理を繰り返す。
鍵使用時間tが鍵の交換間隔TKを超えた場合(ステップS104のNO)、無線基地局1は変数iから1を減算する(ステップS111)。そして、無線基地局1は変数iが鍵の遅延間隔d以上であるか否かを判定する(ステップS112)。これは、シーケンスSを終了するか否かを判定することに相当する。
変数iが鍵の遅延間隔d以上である場合(ステップS112のYES)、無線基地局1は鍵使用時間をリセットして、計測を続行し(ステップS113)、ステップS104に戻る。つまり、無線基地局1は次の鍵を用いてデータフレームまたは追加情報フレームをブロードキャストするための処理を行う。
一方、変数iが鍵の遅延間隔d未満である場合(ステップS112のNO)、無線基地局1はシーケンス番号Sに1を加算する(ステップS114)。そして、無線基地局1は鍵使用時間tをリセットし(ステップS115)、ステップS101に戻る。したがって、無線基地局1は上記と同様の手順により、次のシーケンスのフレーム群をブロードキャストし得る。
以上の送信処理によって、無線基地局1はシーケンス毎の複数の鍵を用いてフレーム群をブロードキャストできる。データフレームおよび追加情報フレームの正当性は、それら複数の鍵を用いて検証可能である。
図11は、無線基地局1において実行される鍵生成処理の手順の例を示すフローチャートである。この鍵生成処理は、図10のフローチャートを参照して上述した送信処理のステップS108に相当する。ここでは、シーケンスS+1で用いられるN個の鍵を生成する場合を例示する。
無線基地局1は、変数jを0からN-1まで1ずつ増加させるN回のループ処理の各々において、一方向性ハッシュ関数f1を用いて鍵KS+1,jを生成する(ステップS201)。より具体的には、変数j=0である場合、無線基地局1は、例えばランダムな初期値(random seed)に一方向性ハッシュ関数f1をかけることで、鍵KS+1,0を生成する。また、変数j>0である場合、無線基地局1は、既に生成された鍵KS+1,j-1に一方向性ハッシュ関数f1をかけることで、鍵KS+1,jを生成する。
以上の鍵生成処理によって、無線基地局1はシーケンスS+1で用いられるN個の鍵を生成できる。
図12のフローチャートは、無線端末2において実行される受信処理の手順の例を示す。ここでは、無線端末2がシーケンスSのフレーム群を無線基地局1から受信する場合を例示する。
まず、無線端末2はシーケンスSの先頭情報フレームを受信したか否かを判定する(ステップS301)。無線端末2は、受信したフレームに付与されたヘッダ情報や、当該フレームに含まれるシーケンス番号に基づいて、シーケンスSの先頭情報フレームを受信したか否かを判定できる。
シーケンスSの先頭情報フレームを受信した場合(ステップS301のYES)、無線端末2は、その先頭情報フレームの正当性を検証して処理するための先頭情報フレーム処理を実行する(ステップS302)。先頭情報フレーム処理の手順の例は、図13のフローチャートを参照して後述する。
次いで、無線端末2は先頭情報フレーム処理で、先頭情報フレームの正当性が証明されたか否かを判定する(ステップS303)。先頭情報フレームの正当性が証明されなかった場合(ステップS303のNO)、無線端末2は鍵KS,N-1の正当性が証明済みであるか否かを判定する(ステップS304)。これは、無線端末2は、シーケンスSの先頭情報フレームとは別の情報フレーム(例えばシーケンスS-1の追加情報フレーム)から、正当性が証明された鍵KS,N-1が得られているか否かを判定することを意味する。
先頭情報フレームの正当性が証明された場合(ステップS303のYES)、あるいは鍵KS,N-1の正当性が証明済みである場合(ステップS304のYES)、無線端末2はデータフレームを受信したか否かを判定する(ステップS305)。データフレームを受信した場合(ステップS305のYES)、無線端末2はデータフレームを処理するためのデータフレーム処理を実行する(ステップS306)。データフレーム処理の手順については、図14のフローチャートを参照して後述する。
データフレームを受信していない場合(ステップS305のNO)、無線端末2は追加情報フレームを受信したか否かを判定する(ステップS307)。追加情報フレームを受信した場合(ステップS307のYES)、無線端末2は追加情報フレームを処理するための追加情報フレーム処理を実行する(ステップS308)。追加情報フレーム処理の手順については、図16のフローチャートを参照して後述する。
ステップS306のデータフレーム処理を実行した後、またはステップS308の追加情報フレーム処理を実行した後、あるいは追加情報フレームを受信していない場合(ステップS307のNO)、無線端末2はシーケンスSの期間が終了したか否かを判定する(ステップS309)。無線端末2は、例えば先頭情報フレームに含まれるタイムスタンプと先頭情報フレームの送信間隔TIとを用いて、現在の時刻がシーケンスSの期間内であるか否かを判定できる。
シーケンスSの期間が終了していない場合(ステップS309のNO)、無線端末2はステップS305に戻り、シーケンスSの期間中に受信されるデータフレームおよび追加情報フレームの処理を続行する。
シーケンスSの期間が終了した場合(ステップS309のYES)、無線端末2はシーケンス番号Sに1を加算し(ステップS310)、ステップS301に戻る。したがって、無線端末2は次のシーケンスのフレーム群を受信して処理し得る。
また、鍵KS,N-1の正当性が証明されていない場合(ステップS304のNO)、無線端末2はデータフレームを受信したか否かを判定する(ステップS311)。データフレームを受信した場合(ステップS311のYES)、先頭情報フレームの正当性が証明されておらず、且つ鍵KS,N-1の正当性が証明されていないので、無線端末2は受信したデータフレームをRAM23にバッファリングする(ステップS312)。データフレームを受信していない場合(ステップS311のNO)、無線端末2はステップS312の手順をスキップする。
次いで、無線端末2は追加情報フレームを受信したか否かを判定する(ステップS313)。追加情報フレームを受信した場合(ステップS313のYES)、先頭情報フレームの正当性が証明されておらず、且つ鍵KS,N-1の正当性が証明されていないので、無線端末2は受信した追加情報フレームをRAM23にバッファリングする(ステップS314)。追加情報フレームを受信していない場合(ステップS313のNO)、無線端末2はステップS314の手順をスキップする。
そして、無線端末2はシーケンスSの期間が終了したか否かを判定する(ステップS315)。シーケンスSの期間が終了していない場合(ステップS315のNO)、無線端末2はステップS311に戻り、シーケンスSの期間中に受信されるデータフレームおよび追加情報フレームのバッファリングを続行する。
シーケンスSの期間が終了した場合(ステップS315のYES)、無線端末2はシーケンス番号Sに1を加算し(ステップS316)、ステップS301に戻る。したがって、無線端末2は次のシーケンスのフレーム群を受信して処理し得る。
以上の受信処理により、無線端末2は、シーケンスSの先頭情報フレームの正当性が証明されるか、あるいは鍵KS,N-1の正当性が証明済みである場合に、シーケンスSの期間中に受信されるデータフレームおよび追加情報フレームからデータ(情報)を正常に取得できる。また、シーケンスSの先頭情報フレームの正当性が証明されず、且つ鍵KS,N-1の正当性が証明されていない場合、無線端末2は、シーケンスSの期間中に受信されるデータフレームおよび追加情報フレームをバッファリングする。これにより、無線端末2は、次のシーケンスS+1の先頭情報フレームから、シーケンスSの鍵KS,0、KS,1が得られた場合に、バッファリングされたデータフレームから、鍵KS,0、KS,1を用いて遡ってデータ部を取得できる。
図13は、無線端末2において実行される先頭情報フレーム処理の手順の例を示すフローチャートである。この先頭情報フレーム処理は、図12のフローチャートを参照して上述した受信処理のステップS302に相当する。
まず、無線端末2は受信した先頭情報フレームに、所望の無線基地局1の証明書が含まれているか否かを判定する(ステップS401)。この証明書は、例えば、CAが無線基地局1の公開鍵に対して付与した証明書である。
先頭情報フレームに所望の無線基地局1の証明書が含まれている場合(ステップS401のYES)、無線端末2は証明書とディジタル署名を用いて、先頭情報フレームの正当性を検証する(ステップS402)。より詳しくは、無線端末2は、予め取得したCAの公開鍵と、無線基地局1の公開鍵の証明書と、無線基地局1の秘密鍵によるディジタル署名とを用いて、先頭情報フレームの正当性を検証する。そして、無線端末2は先頭情報フレームの正当性が証明されたか否かを判定する(ステップS403)。
先頭情報フレームに所望の無線基地局1の証明書が含まれていない場合(ステップS401のNO)、あるいは先頭情報フレームの正当性が証明されなかった場合(ステップS403のNO)、無線端末2は先頭情報フレーム処理を終了する。
また、先頭情報フレームの正当性が証明された場合(ステップS403のYES)、無線端末2は先頭情報フレームに含まれる3つの鍵KS,N-1、KS-1,0、KS-1,1を、例えばRAM23に保存する(ステップS404)。先頭情報フレームの正当性が証明されているので、これら3つの鍵KS,N-1、KS-1,0、KS-1,1は正当性が証明された鍵であると云える。鍵KS,N-1は、シーケンスSにおいて先頭情報フレームより後に受信されるデータフレームおよび追加情報フレームの正当性を検証するために用いられ得る。また、鍵KS-1,0、KS-1,1は、1つ前のシーケンスS-1において受信され、RAM23にバッファリングされたデータフレームの正当性を検証するために用いられ得る。
次いで、無線端末2はRAM(バッファ)23に、認証コードAS-1,0を含むデータフレームが格納されているか否かを判定する(ステップS405)。RAM23に、認証コードAS-1,0を含むデータフレームが格納されている場合(ステップS405のYES)、無線端末2は、ステップS404で保存した鍵KS-1,0と、そのデータフレーム内の認証コードAS-1,0とを用いて、データフレームの正当性を検証する(ステップS406)。つまり、無線端末2は、データフレーム内の認証コードAS-1,0が、正当性が証明された鍵KS-1,0を用いて生成されたものであるか否かを判定する。認証コードAS-1,0が鍵KS-1,0を用いて生成されたものである場合、無線端末2はデータフレームの正当性が証明されたと判断する。一方、認証コードAS-1,0が鍵KS-1,0を用いて生成されたものでない場合、無線端末2はデータフレームの正当性が証明されなかったと判断する。
無線端末2はステップS406の検証により、データフレームの正当性が証明されたか否かを判定する(ステップS407)。データフレームの正当性が証明された場合(ステップS407のYES)、無線端末2はデータフレーム内のデータ部を上位レイヤに渡す(ステップS408)。データフレームの正当性が証明されなかった場合(ステップS407のNO)、無線端末2はステップS408の手順をスキップする。
そして、無線端末2はこのデータフレームをRAM23から削除し(ステップS409)、ステップS405に戻る。したがって、無線端末2はこのデータフレームをRAM23から削除した後、RAM23に格納されている別のデータフレームを処理し得る。
また、RAM23に、認証コードAS-1,0を含むデータフレームが格納されていない場合(ステップS405のNO)、無線端末2はRAM23に、認証コードAS-1,1を含むデータフレームが格納されているか否かを判定する(ステップS410)。
RAM23に、認証コードAS-1,1を含むデータフレームが格納されている場合(ステップS410のYES)、無線端末2はステップS404で保存した鍵KS-1,1と、そのデータフレーム内の認証コードAS-1,1とを用いて、データフレームの正当性を検証する(ステップS411)。つまり、無線端末2は、データフレーム内の認証コードAS-1,1が、正当性が証明された鍵KS-1,1を用いて生成されたものであるか否かを判定する。認証コードAS-1,1が鍵KS-1,1を用いて生成されたものである場合、無線端末2はデータフレームの正当性が証明されたと判断する。一方、認証コードAS-1,1が鍵KS-1,1を用いて生成されたものでない場合、無線端末2はデータフレームの正当性が証明されなかったと判断する。
無線端末2はステップS411の検証により、データフレームの正当性が証明されたか否かを判定する(ステップS412)。データフレームの正当性が証明された場合(ステップS412のYES)、無線端末2はデータフレーム内のデータ部を上位レイヤに渡す(ステップS413)。データフレームの正当性が証明されなかった場合(ステップS412のNO)、無線端末2はステップS413の手順をスキップする。
そして、無線端末2はこのデータフレームをバッファから削除し(ステップS414)、ステップS410に戻る。したがって、無線端末2はこのデータフレームをRAM23から削除した後、RAM23に格納されている別のデータフレームを処理し得る。
また、RAM23に、認証コードAS-1,1を含むデータフレームが格納されていない場合(ステップS410のNO)、無線端末2は先頭情報フレーム処理を終了する。
以上の先頭情報フレーム処理により、無線端末2は先頭情報フレームの正当性を検証できる。そして、無線端末2は、正当性が証明された先頭情報フレームに含まれる鍵を用いて、バッファリングされているデータフレームの正当性を検証し、処理し得る。なお、先頭情報フレームの正当性が証明された場合、無線端末2はRAM23内の追加情報フレームを破棄してもよい。これは、1つ前のシーケンスS-1でバッファリングされた追加情報フレームが、シーケンスSの先頭情報フレームと同一の鍵KS,N-1、KS-1,0、KS-1,1を含むものであるためである。
また、先頭情報フレームの正当性が証明されなかった場合、無線端末2はRAM23内の、1つ前のシーケンスS-1のデータフレームおよび追加情報フレームを破棄してもよい。これにより、無線端末2は、正当性が証明されなかったデータフレーム内のデータ部や追加情報フレーム内の情報を用いた処理の実行を回避できる。
図14は、無線端末2において実行されるデータフレーム処理の手順の例を示すフローチャートである。このデータフレーム処理は、図12のフローチャートを参照して上述した受信処理のステップS306に相当する。
まず、無線端末2はデータフレームから鍵インデックスiを取得する(ステップS501)。鍵インデックスiは、データフレームに含まれる認証コードAS,iの生成に用いられた鍵KS,iのインデックスを示す。
そして、無線端末2は、データフレームに含まれる鍵KS,i+2の正当性を検証するための鍵検証処理を実行する(ステップS502)。鍵検証処理の手順については、図15のフローチャートを参照して後述する。
次いで、無線端末2はステップS502の鍵検証処理において、鍵KS,i+2の正当性が証明されたか否かを判定する(ステップS503)。鍵KS,i+2の正当性が証明されなかった場合(ステップS503のNO)、無線端末2はこのデータフレームを破棄し(ステップS504)、データフレーム処理を終了する。
鍵KS,i+2の正当性が証明された場合(ステップS503のYES)、無線端末2は鍵KS,iが受信され、その正当性が証明されているか否かを判定する(ステップS505)。鍵KS,iは、データフレームに含まれる認証コードAS,iに対応する鍵である。
鍵KS,iが受信され、その正当性が証明されている場合(ステップS505のYES)、無線端末2は鍵KS,iと、データフレームに含まれる認証コードAS,iとを用いて、データフレームの正当性を検証する(ステップS506)。つまり、無線端末2は、データフレーム内の認証コードAS,iが、正当性が証明された鍵KS,iを用いて生成されたものであるか否かを判定する。認証コードAS,iが鍵KS,iを用いて生成されたものである場合、無線端末2はデータフレームの正当性が証明されたと判断する。一方、認証コードAS,iが鍵KS,iを用いて生成されたものでない場合、無線端末2はデータフレームの正当性が証明されなかったと判断する。
無線端末2はステップS506の検証において、データフレームの正当性が証明されたか否かを判定する(ステップS507)。データフレームの正当性が証明された場合(ステップS507のYES)、無線端末2はデータフレーム内のデータ部を上位レイヤに渡す(ステップS508)。上位レイヤでは、このデータ部を用いた処理が行われる。データフレームの正当性が証明されなかった場合(ステップS507のNO)、無線端末2はステップS508の手順をスキップする。そして、無線端末2はデータフレーム処理を終了する。
また、鍵KS,iが受信されていないか、受信した鍵KS,iの正当性が証明されていない場合(ステップS505のNO)、無線端末2はデータフレームをRAM23にバッファリングし(ステップS509)、データフレーム処理を終了する。
以上のデータフレーム処理により、無線端末2は受信したデータフレームに含まれる鍵KS,i+2の正当性を検証できる。そして、鍵KS,i+2の正当性が証明され、データフレームに含まれる認証コードAS,iに対応する鍵KS,iの正当性が証明済みであるならば、無線端末2はデータフレームの正当性を検証して、データ部を取得するための処理を行うことができる。一方、鍵KS,iの正当性が証明済みでなければ、無線端末2はデータフレームをRAM23にバッファリングできる。
図15は、無線端末2において実行される鍵検証処理の手順の例を示すフローチャートである。この鍵検証処理は、図14のフローチャートを参照して上述したデータフレーム処理のステップS502に相当する。
鍵検証処理では、受信したデータフレームまたは追加情報フレームに含まれる鍵KS,i+dの正当性が検証される。そして、鍵KS,i+dの正当性が証明されたならば、バッファ23内の、鍵KS,i+dに対応する認証コードAS,i+dを含むデータフレームおよび追加情報フレームが処理される。ここでは、鍵の遅延間隔dが2である場合を例示する。
まず、無線端末2は正当性が証明された鍵KS,cがあるか否かを判定する(ステップS701)。cは、i+2よりも大きく、Nよりも小さい値である。なお、iはフレーム(より詳しくはデータフレームまたは追加情報フレーム)に含まれる鍵インデックスである。Nは、シーケンスSのフレーム群の伝送に用いられる鍵の数である。つまり、無線端末2は、鍵インデックスiよりも遅延間隔d(=2)だけ後のインデックスi+2で、フレームに含まれる鍵KS,i+2を特定する。そして、無線端末2は、この鍵KS,i+2よりもOne-way key chainにおける生成順が後であって、正当性が証明された鍵KS,cが保存されているか否かを判定する。
正当性が証明された鍵KS,cがある場合(ステップS701のYES)、無線端末2は、受信したフレーム内の鍵KS,i+2に、(c-i+2)回、一方向性ハッシュ関数f1をかけて、ハッシュ関数を算出する(ステップS702)。無線端末2は、算出したハッシュ関数が、正当性が証明された鍵KS,cと同一であるか否かを判定する(ステップS703)。
算出したハッシュ関数が、正当性が証明された鍵KS,cとは異なる場合(ステップS703のNO)、あるいは正当性が証明された鍵KS,cがない場合(ステップS701のNO)、無線端末2は、鍵KS,i+2の正当性が証明されなかったと判断して、鍵検証処理を終了する。
算出したハッシュ関数が、正当性が証明された鍵KS,cと同一である場合(ステップS703のYES)、無線端末2は鍵KS,i+2の正当性が証明されたと判断して、鍵KS,i+2を保存する(ステップS704)。
次いで、無線端末2はRAM(バッファ)23に、認証コードAS,i+2を含むデータフレームが格納されているか否かを判定する(ステップS705)。RAM23に、認証コードAS,i+2を含むデータフレームが格納されている場合(ステップS705のYES)、無線端末2は、ステップS704で保存した鍵KS,i+2と、そのデータフレーム内の認証コードAS,i+2とを用いて、データフレームの正当性を検証する(ステップS706)。つまり、無線端末2は、データフレーム内の認証コードAS,i+2が、正当性が証明された鍵KS,i+2を用いて生成されたものであるか否かを判定する。認証コードAS,i+2が鍵KS,i+2を用いて生成されたものである場合、無線端末2はデータフレームの正当性が証明されたと判断する。一方、認証コードAS,i+2が鍵KS,i+2を用いて生成されたものでない場合、無線端末2はデータフレームの正当性が証明されなかったと判断する。
無線端末2はステップS706の検証により、データフレームの正当性が証明されたか否かを判定する(ステップS707)。データフレームの正当性が証明された場合(ステップS707のYES)、無線端末2はデータフレーム内のデータ部を上位レイヤに渡す(ステップS708)。上位レイヤでは、このデータ部を用いた処理が行われる。データフレームの正当性が証明されなかった場合(ステップS707のNO)、無線端末2はステップS708の手順をスキップする。
そして、無線端末2はこのデータフレームをバッファから削除し(ステップS709)、ステップS705に戻る。したがって、無線端末2はこのデータフレームをRAM23から削除した後、RAM23に格納されている別のフレームを処理し得る。
また、RAM23に、認証コードAS,i+2を含むデータフレームが格納されていない場合(ステップS705のNO)、無線端末2はRAM23に、認証コードAS,i+2を含む追加情報フレームが格納されているか否かを判定する(ステップS710)。
RAM23に、認証コードAS,i+2を含む追加情報フレームが格納されている場合(ステップS710のYES)、無線端末2はステップS704で保存した鍵KS,i+2と、その追加情報フレーム内の認証コードAS,i+2とを用いて、追加情報フレームの正当性を検証する(ステップS711)。つまり、無線端末2は、追加情報フレーム内の認証コードAS,i+2が、正当性が証明された鍵KS,i+2を用いて生成されたものであるか否かを判定する。認証コードAS,i+2が鍵KS,i+2を用いて生成されたものである場合、無線端末2はデータフレームの正当性が証明されたと判断する。一方、認証コードAS,i+2が鍵KS,i+2を用いて生成されたものでない場合、無線端末2は追加情報フレームの正当性が証明されなかったと判断する。
無線端末2はステップS711の検証により、追加情報フレームの正当性が証明されたか否かを判定する(ステップS712)。追加情報フレームの正当性が証明された場合(ステップS712のYES)、無線端末2は追加情報フレーム内の情報部に含まれる3つの鍵KS,0、KS,1、KS+1,N-1を保存する(ステップS713)。追加情報フレームの正当性が証明されなかった場合(ステップS712のNO)、無線端末2はステップS714の手順をスキップする。
そして、無線端末2はこの追加情報フレームをRAM23から削除し(ステップS714)、ステップS711に戻る。したがって、無線端末2はこの追加情報フレームをRAM23から削除した後、RAM23に格納されている別の追加情報フレームを処理し得る。
また、RAM23に、認証コードAS,i+2を含む追加情報フレームが格納されていない場合(ステップS710のNO)、無線端末2は鍵検証処理を終了する。
以上の鍵検証処理により、無線端末2は受信したフレームに含まれる鍵KS,i+2の正当性を検証できる。そして、無線端末2は、正当性が証明された鍵KS,i+2を用いて、バッファリングされているデータフレームおよび追加情報フレームの正当性を検証し、処理し得る。
また、鍵KS,i+2の正当性が証明されなかった場合、無線端末2は、受信したフレームが不正なフレーム(例えば、改竄されたデータ部を含むデータフレーム、または改竄された情報部を含む追加情報フレーム)であると判断して、そのフレームを破棄できる。これにより、無線端末2は、改竄されたデータ部や情報部を用いた処理の実行を回避できる。
図16は、無線端末2において実行される追加情報フレーム処理の手順の例を示すフローチャートである。この追加情報フレーム処理は、図12のフローチャートを参照して上述した受信処理のステップ308に相当する。
まず、無線端末2は、追加情報フレームから鍵インデックスiを取得する(ステップS601)。鍵インデックスiは、追加情報フレームに含まれる認証コードAS,iの生成に用いられた鍵KS,iのインデックスを示す。
そして、無線端末2は、追加情報フレームに含まれる鍵KS,i+2の正当性を検証するための鍵検証処理を実行する(ステップS602)。鍵検証処理の手順については、図15のフローチャートを参照して上述した通りである。
次いで、無線端末2はステップS602の鍵検証処理において、鍵KS,i+2の正当性が証明されたか否かを判定する(ステップS603)。鍵KS,i+2の正当性が証明されていない場合(ステップS603のNO)、無線端末2はこの追加情報フレームを破棄し(ステップS604)、追加情報フレーム処理を終了する。これにより、無線端末2は不正な鍵KS,i+2を含む追加情報フレームを破棄するので、不正な情報に基づく処理の実行を回避できる。
また、鍵KS,i+2の正当性が証明された場合(ステップS603のYES)、無線端末2は受信した追加情報フレームに、所望の無線基地局1の証明書が含まれているか否かを判定する(ステップS605)。この証明書は、例えば、CAが無線基地局1の公開鍵に対して付与した証明書である。
追加情報フレームに所望の無線基地局1の証明書が含まれている場合(ステップS605のYES)、無線端末2は証明書とディジタル署名を用いて、追加情報フレームの正当性を検証する(ステップS606)。より詳しくは、無線端末2は、予め取得したCAの公開鍵と、無線基地局1の公開鍵の証明書と、無線基地局1の秘密鍵によるディジタル署名とを用いて、追加情報フレームの正当性を検証する。そして、無線端末2は追加情報フレームの正当性が証明されたか否かを判定する(ステップS607)。
追加情報フレームに所望の無線基地局1の証明書が含まれていない場合(ステップS605のNO)、あるいは追加情報フレームの正当性が証明されなかった場合(ステップS607のNO)、無線端末2は追加情報フレーム処理を終了する。
また、追加情報フレームの正当性が証明された場合(ステップS607のYES)、無線端末2は追加情報フレームに含まれる3つの鍵KS,0、KS,1、KS+1,N-1を、例えばRAM23に保存する(ステップS608)。追加情報フレームの正当性が証明されているので、これら3つの鍵KS,0、KS,1、KS+1,N-1は正当性が証明された鍵であると云える。鍵KS,0は、シーケンスSにおいて受信された、認証コードAS,1を含むデータフレームの正当性を検証するために用いられ得る。鍵KS,1は、シーケンスSにおいて受信された、認証コードAS,1を含むデータフレームの正当性を検証するために用いられ得る。また、鍵KS+1,N-1は、次のシーケンスS+1において受信されるデータフレームおよび追加情報フレームの正当性を検証するために用いられ得る。
次いで、無線端末2は、RAM23にバッファリングされているデータフレームを処理するためのバッファ内フレーム処理を実行し(ステップS609)、追加情報フレーム処理を終了する。バッファ内フレーム処理では、RAM23にバッファリングされているデータフレームの正当性が検証され、正当性が証明されたデータフレームからデータ部が取得される。
図17は、無線端末2において実行されるバッファ内フレーム処理の手順の例を示すフローチャートである。
まず、無線端末2はRAM(バッファ)23に、認証コードAS,0を含むデータフレームが格納されているか否かを判定する(ステップS651)。RAM23に、認証コードAS,0を含むデータフレームが格納されている場合(ステップS651のYES)、無線端末2は、保存されている鍵KS,0(すなわち図16の追加情報フレーム処理のステップS608で保存した鍵KS,0)と、そのデータフレーム内の認証コードAS,0とを用いて、データフレームの正当性を検証する(ステップS652)。つまり、無線端末2は、データフレーム内の認証コードAS,0が、正当性が証明された鍵KS,0を用いて生成されたものであるか否かを判定する。認証コードAS,0が鍵KS,0を用いて生成されたものである場合、無線端末2はデータフレームの正当性が証明されたと判断する。一方、認証コードAS,0が鍵KS,0を用いて生成されたものでない場合、無線端末2はデータフレームの正当性が証明されなかったと判断する。
無線端末2はステップS652の検証により、データフレームの正当性が証明されたか否かを判定する(ステップS653)。データフレームの正当性が証明された場合(ステップS653のYES)、無線端末2はデータフレーム内のデータ部を上位レイヤに渡す(ステップS654)。データフレームの正当性が証明されなかった場合(ステップS653のNO)、無線端末2はステップS654の手順をスキップする。
そして、無線端末2はこのデータフレームをRAM23から削除し(ステップS655)、ステップS651に戻る。したがって、無線端末2はこのデータフレームをRAM23から削除した後、RAM23に格納されている別のデータフレームを処理し得る。
また、RAM23に、認証コードAS,0を含むデータフレームが格納されていない場合(ステップS651のNO)、無線端末2はRAM23に、認証コードAS,1を含むデータフレームが格納されているか否かを判定する(ステップS656)。
RAM23に、認証コードAS,1を含むデータフレームが格納されている場合(ステップS656のYES)、無線端末2は保存されている鍵KS,1(すなわち図16の追加情報フレーム処理のステップS608で保存した鍵KS,1)と、そのデータフレーム内の認証コードAS,1とを用いて、データフレームの正当性を検証する(ステップS657)。つまり、無線端末2は、データフレーム内の認証コードAS,1が、正当性が証明された鍵KS,1を用いて生成されたものであるか否かを判定する。認証コードAS,1が鍵KS,1を用いて生成されたものである場合、無線端末2はデータフレームの正当性が証明されたと判断する。一方、認証コードAS,1が鍵KS,1を用いて生成されたものでない場合、無線端末2はデータフレームの正当性が証明されなかったと判断する。
無線端末2はステップS657の検証により、データフレームの正当性が証明されたか否かを判定する(ステップS658)。データフレームの正当性が証明された場合(ステップS658のYES)、無線端末2はデータフレーム内のデータ部を上位レイヤに渡す(ステップS659)。データフレームの正当性が証明されなかった場合(ステップS658のNO)、無線端末2はステップS659の手順をスキップする。
そして、無線端末2はこのデータフレームをRAM23から削除し(ステップS660)、ステップS656に戻る。したがって、無線端末2はこのデータフレームをRAM23から削除した後、RAM23に格納されている別のデータフレームを処理し得る。
また、RAM23に、認証コードAS,1を含むデータフレームが格納されていない場合(ステップS656のNO)、無線端末2はバッファ内フレーム処理を終了する。
以上のバッファ内フレーム処理により、無線端末2は新たに正当性が証明された鍵KS,0、KS,1を用いて、バッファリングされたデータフレームの正当性を検証し、処理し得る。
(第1の変形例)
上述したように、本実施形態の無線端末2は、あるシーケンスの先頭情報フレームを受信できなかった場合でも、その1つ前のシーケンスで追加情報フレームを受信することで、データフレームからデータ部を取得できる。本実施形態の第1の変形例では、この追加情報フレームに、CAによる証明書付きの無線基地局1の公開鍵、無線基地局1の秘密鍵によるディジタル署名、およびシーケンス番号が含まれていなくてもよい。
追加情報フレームには認証コードが含まれている。無線端末2は、認証コードと、この認証コードに対応し、正当性が証明された鍵とを用いて、追加情報フレームの正当性を検証できる。
より具体的な例を、図8を再度参照して説明する。無線端末2は、シーケンスSにおいて、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とを用いて先頭情報フレームF101の正当性を検証して、正当性が証明された先頭情報フレームF101から鍵KS,5を取得している。無線端末2は、正当性が証明された鍵KS,5を用いて(あるいは鍵KS,5を用いて正当性が証明された鍵KS,4または鍵KS,3を用いて)、追加情報フレームF106に含まれる鍵KS,2の正当性を検証できる。
そして、無線端末2は、鍵KS,2の正当性が証明された場合、無線端末2は、追加情報フレームF106内の鍵KS,0と認証コードAS,0とを用いて、追加情報フレームF106の正当性を検証する。そして、追加情報フレームF106の正当性が証明された場合、無線端末2は追加情報フレームF106から、正当性が証明された3つの鍵KS,0、Ks,1、KS+1,5を取得できる。
つまり、無線端末2は、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とを用いることなく、追加情報フレームF106の正当性を検証し、正当性が証明された追加情報フレームF106から鍵KS,0、Ks,1、KS+1,5を取得できる。したがって、追加情報フレームF106には、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とが含まれていなくてもよい。
さらに、シーケンス番号は、現在のシーケンスSの次のシーケンスS+1の番号(すなわちS+1)を示すのみである。つまり、追加情報フレームF106に含まれるシーケンス番号は、現在のシーケンスSの次のシーケンスS+1の番号を示すことが自明であるので、追加情報フレームF106に含まれていなくてもよい。
シーケンスS+1の追加情報フレームF112、およびシーケンスS+2の追加情報フレームF117についても、上述した追加情報フレームF106と同様に構成し得る。
以上のように、本実施形態の第1の変形例によれば、安全性や信頼性を保ちながら、追加情報フレームに含める情報を削減できる。これにより、無線基地局1の送信処理に要する負荷、無線伝搬路の混雑、および無線端末2の受信処理に要する負荷を軽減できる。
図18は、無線端末2において実行される追加情報フレーム処理の手順の別の例を示すフローチャートである。この追加情報フレーム処理は、図12のフローチャートを参照して上述した受信処理のステップS308に相当する。また、図16のフローチャートを参照して上述した追加情報フレーム処理では、証明書とディジタル署名を用いて追加情報フレームの正当性が検証される。これに対して、図18に示す追加情報フレーム処理では、追加情報フレームに含まれる鍵KS,i+2および認証コードAS,iと、正当性が証明済みの鍵KS,iとを利用して、追加情報フレームの正当性が検証され得る。なお、図18に示すステップS801からステップS804までの手順は、図16を参照して上述した追加情報フレーム処理のステップS601からステップS604までの手順と同様である。
鍵検証処理において鍵KS,i+2の正当性が証明された場合(ステップS803のYES)、無線端末2は鍵KS,iが受信され、その正当性が証明されているか否かを判定する(ステップS805)。鍵KS,iが受信され、その正当性が証明されている場合(ステップS805のYES)、無線端末2は鍵KS,iと、追加情報フレームに含まれる認証コードAS,iとを用いて、追加情報フレームの正当性を検証する(ステップS806)。つまり、無線端末2は、追加情報フレーム内の認証コードAS,iが、正当性が証明された鍵KS,iを用いて生成されたものであるか否かを判定する。認証コードAS,iが鍵KS,iを用いて生成されたものである場合、無線端末2は追加情報フレームの正当性が証明されたと判断する。一方、認証コードAS,iが鍵KS,iを用いて生成されたものでない場合、無線端末2は追加情報フレームの正当性が証明されなかったと判断する。
無線端末2はステップS806の検証により、追加情報フレームの正当性が証明されたか否かを判定する(ステップS807)。追加情報フレームの正当性が証明された場合(ステップS807のYES)、無線端末2は追加情報フレーム内の情報部に含まれる3つの鍵KS,0、KS,1、KS+1,N-1を、例えばRAM23に保存する(ステップS808)。追加情報フレームの正当性が証明されなかった場合(ステップS807のNO)、無線端末2はステップS808の手順をスキップする。そして、無線端末2はバッファ内フレーム処理を実行し(ステップS809)、追加情報フレーム処理を終了する。バッファ内フレーム処理の手順については、図17のフローチャートを参照して上述した通りである。
また、鍵KS,iが受信されていないか、受信した鍵KS,iの正当性が証明されていない場合(ステップS805のNO)、無線端末2は追加情報フレームをRAM23にバッファリングし(ステップS810)、追加情報フレーム処理を終了する。
以上の追加情報フレーム処理により、無線端末2は受信した追加情報フレームに含まれる鍵KS,i+2の正当性を検証できる。そして、鍵KS,i+2の正当性が証明され、追加情報フレームに含まれる認証コードAS,iに対応する鍵KS,iの正当性が証明済みであるならば、無線端末2は追加情報フレームの正当性を検証して、情報部内の鍵KS,0、KS,1、KS+1,N-1を取得するための処理を行うことができる。また、鍵KS,i+2の正当性が証明され、鍵KS,iの正当性が証明済みでなければ、無線端末2は追加情報フレームをRAM23にバッファリングできる。
(第2の変形例)
図19を参照して、本実施形態の第2の変形例に係る無線基地局1と無線端末2との間で伝送されるフレームシーケンスの例を説明する。図19に示すフレームF101~F117の送信順序および構成は、図8を参照して上述した通りである。
第2の変形例に係る無線基地局1は、同一の鍵交換間隔TKに生成されたデータフレームおよび追加情報フレームを集約(Aggregate)したデータユニットをブロードキャストする。このデータユニットは、例えばAggregated Mac Protocol Data Unit(A-MPDU)である。このデータユニットでは、データフレームと追加情報フレームの双方に含まれる情報が集約されている。そのため、それらデータフレームと追加情報フレームとがそのまま送信される場合よりも、データ量を削減できる。
より具体的には、無線基地局1の制御部11は、例えばシーケンスSにおいて、3番目の鍵交換間隔TKに生成された追加情報フレームF106とデータフレームF107とを集約したA-MPDUを生成する。A-MPDUは、追加情報フレームF106とデータフレームF107の双方に含まれる認証コードAS,0および鍵KS,2を集約して含む。つまり、A-MPDUは、追加情報フレームF106およびデータフレームF107から1組の認証コードAS,0および鍵KS,2を除外したデータを含む。また、制御部11は、追加情報フレームF106とデータフレームF107とから、少なくとも追加情報フレームF106内の鍵KS,2、またはデータフレームF107内の鍵KS,2を除いたA-MPDUを生成してもよい。無線基地局1の送信部12は、生成されたA-MPDUをブロードキャストする。
そして、無線端末2の受信部22は、このA-MPDUを受信する。無線端末2の制御部21は、A-MPDUに含まれる1組の認証コードAS,0および鍵KS,2を、追加情報フレームF106およびデータフレームF107に共通する情報として用いる。認証コードAS,0および鍵KS,2を用いた処理については、上述した通りである。
これにより、例えば、追加情報フレームF106とデータフレームF107とをそれぞれ送信する場合には、2組の認証コードAS,0および鍵KS,2が送信されるのに対して、追加情報フレームF106とデータフレームF107とを集約したA-MPDUを送信する場合には、1組の認証コードAS,0および鍵KS,2のみの送信で済む。したがって、無線基地局1と無線端末2との間の通信をさらに効率化できる。
同様にして、無線基地局1はシーケンスS+1のデータフレームF111、追加情報フレームF112、およびデータフレームF113を集約したA-MPDUを生成して、ブロードキャストできる。また、無線基地局1はシーケンスS+2のデータフレームF116、および追加情報フレームF117を集約したA-MPDUを生成して、ブロードキャストできる。
以上のように、本実施形態の第2の変形例によれば、追加情報フレームとデータフレームを集約することで、安全性や信頼性を保ちながら、ブロードキャストするデータ量を削減できる。これにより、無線基地局1の送信処理に要する負荷、無線伝搬路の混雑、および無線端末2の受信処理に要する負荷を軽減できる。
(第3の変形例)
図20を参照して、本実施形態の第3の変形例に係る無線基地局1と無線端末2との間で伝送されるフレームシーケンスの例を説明する。第3の変形例に係る無線基地局1は、各シーケンスにおいて複数の追加情報フレームをブロードキャストし得る。シーケンス毎のフレーム群の伝送の例についてより具体的に説明する。
無線基地局1はシーケンスSにおいて、8つのフレームF201~F208を送信している。より詳しくは、無線基地局1はシーケンスSの最初に先頭情報フレームF201を送信した後に、データフレームF202,F203,F204、追加情報フレームF205、データフレームF206、追加情報フレームF207、およびデータフレームF208を順に送信している。つまり、無線基地局1はシーケンスSにおいて、2つの追加情報フレームF205,F207を送信している。
次いで、無線基地局1はシーケンスS+1において、7つのフレームF209~F215を送信している。より詳しくは、無線基地局1はシーケンスS+1の最初に先頭情報フレームF209を送信した後に、データフレームS210,F211,F212、追加情報フレームF213、データフレームF214,F215、追加情報フレームF207、およびデータフレームF208を順に送信している。
無線端末2は、上述したシーケンスSおよびシーケンスS+1において、追加情報フレームF205、追加情報フレームF207、および先頭情報フレームF209のいずれか1つを受信できれば、3つの鍵KS,0、KS,1、KS+1,5を取得できる。
図21は、追加情報フレームF205の受信に成功し、追加情報フレームF207および先頭情報フレームF209の受信に失敗した場合のフレームシーケンスの例を示す。
(シーケンスS)
(先頭情報フレームF201、データフレームF202,F203)
無線基地局1によるフレームF201~F203の送信に関する動作は、図8を参照して上述した無線基地局1によるフレームF101~F103の送信に関する動作と同様である。また、無線端末2によるフレームF201~F203の受信に関する動作は、図8を参照して上述した無線端末2によるフレームF101~F103の受信に関する動作と同様である。
(データフレームF204、追加情報フレームF205、データフレームF206)
無線基地局1はシーケンスS内の2番目の鍵交換間隔TKで、鍵KS,1を用いて認証コードAS,1を生成する。そして、無線基地局1は、生成した認証コードAS,1と鍵KS,3とをそれぞれ含むデータフレームF204、追加情報フレームF205、およびデータフレームF206を送信する。追加情報フレームF205は、3つの鍵KS,0、KS,1、KS+1,5をさらに含んでいる。なお、上述した第2の変形例のように、無線基地局1は、データフレームF204、追加情報フレームF205、およびデータフレームF206を集約したA-MPDUを送信してもよい。
無線端末2はデータフレームF204を受信した場合、データフレームF204内の鍵KS,3の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS,3よりも後の鍵KS,4(あるいは鍵KS,5)を用いて、鍵KS,3の正当性を検証できる。
鍵KS,3の正当性が証明された場合、無線端末2はデータフレームF204内の認証コードAS,1と、認証コードAS,1に対応し、正当性が証明された鍵KS,1とを用いて、データフレームF204の正当性を検証する。データフレームF204を受信した時点では、無線端末2は鍵KS,1を含むフレームを無線基地局1から受信していないので、データフレームF204の正当性を検証できない。そのため、無線端末2はデータフレームF204をRAM23にバッファリングする。
次いで、無線端末2は追加情報フレームF205を受信する。無線端末2は追加情報フレームF205を受信した時点で、この追加情報フレームF205の正当性を検証できる。無線端末2は追加情報フレームF205内の、CAによる証明書付きの無線基地局1の公開鍵と、無線基地局1の秘密鍵によるディジタル署名とを用いて、追加情報フレームF205の正当性を検証する。追加情報フレームF205の正当性が証明されたならば、無線端末2は、追加情報フレームF205に含まれる3つの鍵KS,0、KS,1、KS+1,5を正当性が証明された鍵として使用する。正当性が証明された鍵KS+1,5がある場合、無線端末2はシーケンスS+1で受信されるデータフレームおよび追加情報フレームの正当性を検証できる。
正当性が証明された鍵KS,1を取得した場合、無線端末2は、対応する認証コードAS,1を含む、バッファリングされたデータフレームF204の正当性を検証できる。データフレームF204の正当性が証明された場合、無線端末2はデータフレームF204内のデータ部を上位レイヤに渡す。つまり、無線端末2は正当性が証明されたデータフレームF204から、正しいデータ部を取得できる。
さらに、無線端末2は追加情報フレームF205を受信した場合に、追加情報フレームF205内の鍵KS,3の正当性を検証する。無線端末2は、既に正当性が証明された、生成順が鍵KS,3よりも後の鍵KS,4(あるいは鍵KS,5)を用いて、追加情報フレームF205内の鍵KS,3の正当性を検証できる。無線端末2は正当性が証明された鍵KS,3を保存する。
次いで、無線端末2はデータフレームF206を受信する。無線端末2はデータフレームF204と同様にして、データフレーム206に含まれる鍵KS,3の正当性を検証する。鍵KS,3の正当性が証明された場合、無線端末2は、データフレームF206内の認証コードAS,1と、既に正当性が証明された鍵KS,1とを用いてデータフレームF206の正当性を検証する。そして、無線端末2は、正当性が証明されたデータフレームF206内のデータ部を上位レイヤに渡すことができる。
(追加情報フレームF207、データフレームF208)
無線基地局1はシーケンスS内の3番目の鍵交換間隔TKで、鍵KS,0を用いて認証コードAS,0を生成する。そして、無線基地局1は、生成した認証コードAS,0と鍵KS,2とをそれぞれ含む追加情報フレームF207およびデータフレームF208を送信する。追加情報フレームF207は、3つの鍵KS,0、KS,1、KS+1,5をさらに含んでいる。なお、上述した第2の変形例のように、無線基地局1は、追加情報フレームF207およびデータフレームF208を集約したA-MPDUを送信してもよい。
無線端末2は追加情報フレームF207を受信するように構成されるが、その正常な受信に失敗する。そのため、無線端末2は、追加情報フレームF207に含まれる鍵KS,2、KS,0、KS,1、KS+1,5を取得できない。
そして、無線端末2はデータフレームF208を受信する。無線端末2はデータフレーム208内の鍵KS,2の正当性を検証する。鍵KS,2の正当性が証明された場合、無線端末2は、データフレームF208内の認証コードAS,0と、既に正当性が証明された鍵KS,0とを用いてデータフレームF208の正当性を検証する。そして、無線端末2は、正当性が証明されたデータフレームF208内のデータ部を上位レイヤに渡すことができる。
正当性が証明された鍵KS,2を取得した場合、無線端末2は、対応する認証コードAS,2を含む、バッファリングされた各データフレームF202,F203の正当性を検証できる。データフレームF202の正当性が証明された場合、無線端末2はデータフレームF202内のデータ部を上位レイヤに渡す。また、データフレームF203の正当性が証明された場合、無線端末2はデータフレームF203内のデータ部を上位レイヤに渡す。
(シーケンスS+1)
無線基地局1は、3つの鍵KS,0、KS,1、KS+1,5を含む先頭情報フレームF209を送信する。
無線端末2は、先頭情報フレームF209を受信するように構成されるが、その正常な受信に失敗する。そのため、無線端末2は、先頭情報フレームF209に含まれる鍵KS,0、KS,1、KS+1,5を取得できない。
しかし、無線端末2は、1つ前のシーケンスSで追加情報フレームF205を受信して、正当性が証明された鍵KS+1,5を取得している。そのため、無線端末2は、追加情報フレームF207および先頭情報フレームF209の受信に失敗した場合にも、追加情報フレームF205から取得した鍵KS+1,5を用いて、データフレームF210,F211内の鍵KS+1,4、データフレームF212,F214および追加情報フレームF213内の鍵KS+1,3、並びにデータフレームF215内の鍵KS+1,2の正当性を証明できる。さらに、無線端末2は、正当性が証明された鍵KS+1,3を含む追加情報フレームF213から、正当性が証明された鍵KS+1,0、KS+1,1、KS+2,5を取得できる。したがって、無線端末2は、鍵KS+1,2、KS+1,1、KS+1,0に対応する認証コードAS+1,2、AS+1,1、AS+1,0含むデータフレームF210~F212,F214,F215からデータ部を取得できる。
無線端末2がフレームF210~F215を受信した場合のより具体的な動作は、図9を参照して上述した無線端末2がフレームF109~F114を受信した場合の動作と同様である。
このように、本実施形態の第3の変形例では、無線基地局1は1つのシーケンスSにおいて、追加情報フレームを複数回送信し得る(つまり複数の追加情報フレームF205,F207を送信し得る)。これにより、無線端末2は追加情報フレームF207および先頭情報フレームF108の受信に失敗した場合にも、別の追加情報フレームF205から取得した鍵KS+1,5を用いて、後続するデータフレームF210~F212,F214,F215からデータ部を取得し得ると共に、追加情報フレームF213から鍵KS+1,0、KS+1,1、KS+2,5を取得し得る。したがって、シーケンスS+1において、無線基地局1から無線端末2にデータ部を伝送できる可能性をより高めることができる。
以上説明したように、本実施形態によれば、データを正常に伝送できる可能性を高められる。無線基地局1の送信部12は、第1期間内において、第1検証情報、および前記第1期間に使用する第1鍵を含む第1情報フレーム(先頭情報フレーム)をブロードキャストで送信する。送信部12は、第1期間内において、第1情報フレームを送信した後に、第1データを含むデータフレームをブロードキャストで送信し、第1期間に後続する第2期間に使用する第4鍵を含む第2情報フレーム(追加情報フレーム)をブロードキャストで送信する。送信部12は、第2期間内において、第3検証情報および第4鍵を含む第3情報フレーム(先頭情報フレーム)をブロードキャストで送信する。
無線端末2の受信部22は、第1期間内において、第1検証情報、および第1期間に使用する第1鍵を含む第1情報フレームを受信する。受信部22は、第1期間内において、第1情報フレームを受信した後に、第1データを含む第1データフレームを受信し、第1期間に後続する第2期間に使用する第4鍵を含む第2情報フレームを受信する。受信部22は、第2期間内において、第3検証情報、および第4鍵を含む第3情報フレームを受信する。
これにより、無線端末2が第3情報フレームの受信に失敗した場合にも、第2期間において、第2情報フレーム内の第4鍵を用いて、無線基地局1から無線端末2にデータを正常に伝送できる。したがって、無線基地局1から無線端末2にデータを正常に伝送できる可能性を高めることができる。
また、本実施形態に記載された様々な機能の各々は、回路(処理回路)によって実現されてもよい。処理回路の例には、中央処理装置(CPU)のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたコンピュータプログラム(命令群)を実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例には、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、マイクロコントローラ、コントローラ、他の電気回路部品も含まれる。本実施形態に記載されたCPU以外の他のコンポーネントの各々もまた処理回路によって実現されてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。