(57)【要約】【課題】  異なる発信局からのフラグメントパケットが混在されて受信される場合に、発信局毎に改竄検出の計算処理を行えるようにすることである。【解決手段】  ヘッダデコード部２は、受信したフラグメントパケットのヘッダを復号化し、発信局アドレスを計算値記憶部３に送出する。ＭＩＣ計算部１は、発信局に対応するレジスタ３２ａ〜３２ｍにＭＩＣ計算結果を格納し、各局から送信される後続のフラグメントパケットのＭＩＣ計算をレジスタに保存されたＭＩＣ計算値を用いて行う。【選択図】      図２
2006311394.tif 000002
【特許請求の範囲】
【請求項１】
第１の発信局から順次送信されるフラグメントパケットと第２の発信局から順次送信されるフラグメントパケットが混在されて受信される無線通信装置であって、
前記フラグメントパケットに対して改竄検出するための計算処理を行う計算部と、
前記第１の発信局から送信されるフラグメントパケットに対して前記計算処理を行った結果算出される計算結果を記憶する第１の記憶部と、
前記第２の発信局から送信されるフラグメントパケットに対して前記計算処理を行った結果算出される計算結果を記憶する第２の記憶部とを備えたことを特徴とする無線通信装置。
【請求項２】
前記フラグメントパケットのヘッダ部から継続有無情報と発信局アドレスとを割り出すヘッダデコード部を有し、
前記継続有無情報を基に前記記憶部に記憶するか否か判断し、前記記憶部に記憶すると判断した場合、前記発信局アドレスに対応する記憶部に前記計算結果を記憶することを特徴とする請求項１に記載の無線通信装置。
【請求項３】
前記ヘッダデコード部により前記フラグメントパケットのヘッダ部から割り出されたフラグメント番号を基に先頭のフラグメントパケットか否かを判断し、前記先頭のフラグメントパケットでない場合、前記発信局アドレスに対応する記憶部に記憶された前記計算結果を初期値として前記計算処理を行うことを特徴とする請求項２に記載の無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信したパケットの改竄を検出する機能を有する無線通信装置に関する。
【背景技術】
【０００２】
従来、無線通信装置間で双方向通信を行う形態の高速無線ＬＡＮシステムが提供されており、この分野においては、ＩＥＥＥ８０２．１１規格による標準化が進んでいる。
ＩＥＥＥ８０２．１１ｉ規格（非特許文献１参照）では、ＴＫＩＰ（Ｔｅｍｐｏｒａｌ  Ｋｅｙ  Ｉｎｔｅｇｒｉｔｙ  Ｐｒｏｔｃｏｌ）としてＲＣ４を用いながら暗号鍵の解読を困難にすることが考えられている。また、ＩＥＥＥ８０２．１１ｉ規格では、パケットの改竄を検証するために、従来の改竄検出用のＣＲＣ３２符号（ＩＣＶ）に加えて、ＭＩＣ（Ｍｅｓｓａｇｅ  Ｉｎｔｅｇｒｉｔｙ  Ｃｈｅｃｋ）と呼ばれるフィールドを設けている。
【０００３】
ここで、従来の無線通信装置でフラグメントパケットを順次受信し、改竄検出する処理について説明する。
図３は、フラグメントパケットの構成を示す図であり、図３（Ａ）は、最後尾のフラグメントパケットの構成を示し、ＭＡＣヘッダとフレームボディとＭＩＣ計算結果が格納されたＭＩＣフィールドとＦＣＳとから構成される。図３（Ｂ）は、最後尾のフラグメントパケット以外のフラグメントパケットの構成を示し、ＭＡＣヘッダとフレームボディとＦＣＳとから構成される。
【０００４】
上記のように構成されたフラグメントパケットを無線通信装置で順次受信する。先頭のフラグメントパケットを受信すると、予め送られているＭＩＣ鍵をＭＩＣ計算値の初期値として設定してＭＩＣ計算を行う。そして、そのＭＩＣ計算結果をＭＩＣ計算器内のメモリに記憶する。
【０００５】
次のフラグメントパケットを受信すると、ＭＩＣ計算器のメモリに記憶されているＭＩＣ計算結果をＭＩＣ計算値の初期値として設定してＭＩＣ計算を行い、ＭＩＣ計算結果を先頭のフラグメントパケットのＭＩＣ計算結果のかわりにＭＩＣ計算器内のメモリに記憶する。
【０００６】
以降、受信するフラグメントパケットは、ＭＩＣ計算器内のメモリに記憶されたＭＩＣ計算値を初期値として設定してＭＩＣ計算を行い、そのＭＩＣ計算結果をＭＩＣ計算器内のメモリに記憶する。そして、最後尾のフラグメントパケットのＭＩＣ計算結果が、ＭＩＣ計算器内のメモリに記憶されると、ＭＩＣ計算器内のメモリに記憶されたＭＩＣ計算結果とＭＩＣフィールドに格納されたＭＩＣ計算結果とが一致するか否かを判断し、改竄が行われたどうか判断する。
【０００７】
なお、ＩＥＥＥ８０２．１１規格に準拠する無線ＬＡＮは、高速の通信速度が要求されるため、このＭＩＣフィールドの計算処理もハードウェア化して高速化が図られている。
【非特許文献１】「改訂版８０２．１１  高速無線ＬＡＮ教科書」（３０７〜３０８頁）  監修：守倉正博、久保田周治  発行：（株）インプレス
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記背景技術で述べたＩＥＥＥ８０２．１１ｉ規格に準拠する無線ＬＡＮにあっては、同時に３局以上からのフラグメントパケットを受信できることという規定を順守する必要があり、この規定の存在により、ＭＩＣフィールドの計算処理が困難になるという問題点がある。
【０００９】
即ち、従来の無線通信装置は、ＭＩＣ計算器内のメモリにＭＩＣ計算の計算結果を記憶する構成であるために、１つの発信局から順次送信されるフラグメントパケットが連続して受信されるのであれば問題は生じないが、例えば、第１の発信局から送信される先頭のフラグメントパケットを受信し、次の２番目のフラグメントパケットを受信する間に第２の発信局から送信される先頭のフラグメントパケットを受信する場合、第２の発信局から送信される先頭のフラグメントパケットのＭＩＣ計算結果が算出されると、そのＭＩＣ計算結果を第１の発信局から送信される先頭のフラグメントパケットのＭＩＣ計算結果のかわりにＭＩＣ計算器内のメモリに記憶するため、第１の発信局から送信される２番目のフラグメントパケットのＭＩＣ計算を行うときに、同じ発信局（第１の発信局）から送信される先頭のフラグメントパケットのＭＩＣ計算結果を初期値として設定することができなくなる。つまり、従来の無線通信装置で複数の発信局から順次送信されるフラグメントパケットが混在されて受信される場合には、各発信局のＭＩＣ計算結果が引き継がれず、初期値から再度計算を始めるためＭＩＣ計算を正しく行えないという問題点があった。
【００１０】
本発明の課題は、異なる発信局からのフラグメントパケットが混在されて受信される場合に、発信局毎に改竄検出の計算処理を行えるようにすることである。
【課題を解決するための手段】
【００１１】
本発明は、第１の発信局から順次送信されるフラグメントパケットと第２の発信局から順次送信されるフラグメントパケットが混在されて受信される無線通信装置であって、前記フラグメントパケットに対して改竄検出するための計算処理を行う計算部と、前記第１の発信局から送信されるフラグメントパケットに対して前記計算処理を行った結果算出される計算結果を記憶する第１の記憶部と、前記第２の発信局から送信されるフラグメントパケットに対して前記計算処理を行った結果算出される計算結果を記憶する第２の記憶部とを備えている。
【００１２】
本発明によれば、異なる発信局からのフラグメントパケットが混在されて受信される場合でも、発信局毎に改竄検出の計算処理を行うことができる。
また、前記無線通信装置は、前記フラグメントパケットのヘッダ部から継続有無情報と発信局アドレスとを割り出すヘッダデコード部を有し、前記継続有無情報を基に前記記憶部に記憶するか否か判断し、前記記憶部に記憶すると判断した場合、前記発信局アドレスに対応する記憶部に前記計算結果を記憶する。
【００１３】
このように構成することで同じ発信局から送信されるフラグメントパケットが後から送られてくる場合でも、記憶部に計算結果を残しておくことができる。
また、前記無線通信装置は、前記ヘッダデコード部により前記フラグメントパケットのヘッダ部から割り出されたフラグメント番号を基に先頭のフラグメントパケットか否かを判断し、前記先頭のフラグメントパケットでない場合、前記発信局アドレスに対応する記憶部に記憶された前記計算結果を初期値として前記計算処理を行う。
【００１４】
このように構成することで以前に同じ発信局から送信されたフラグメントパケットに対する計算結果を基に改竄検出するための計算を行うことができる。
【発明の効果】
【００１５】
本発明によれば、異なる発信局から送信されるフラグメントパケットが混在されて受信される場合であっても、発信局毎に改竄検出するための計算処理を行うことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の無線通信装置の最良の実施形態について、図面を参照して詳細に説明する。図１は、実施の形態の複数の無線通信装置からなる無線ＬＡＮシステムの構成を示す図である。
【００１７】
各無線通信装置４Ａ，４Ｂ，４Ｃは、それぞれ他の無線通信装置と無線通信を行い、複数の相手局からのパケットを受信する。無線通信装置（自局）４Ｃは後述する改竄検出装置を有し、相手局（発信局）４Ａ、４Ｂからのパケットを順次受信して各局毎にパケットの改竄の有無を検出する。
【００１８】
図２は、本発明の実施形態の無線通信装置に用いられる改竄検出装置１０の全体構成を示す図である。
図２において、改竄検出装置１０は、パケットに対して改竄検出するためのＭＩＣ計算を行うＭＩＣ計算部（計算部）１と、受信したパケットのＭＡＣヘッダを復号化して発信局のアドレス等を取り出すヘッダデコード部２と、ＭＩＣ計算部１によりパケットに対してＭＩＣ計算を行った結果算出される計算結果を記憶するためのレジスタ３２ａ〜３２ｂを発信局数分有する計算値記憶部３と、を備えて構成される。
【００１９】
ヘッダデコード部２は、ＭＡＣヘッダのアドレスフィールドを復号化するアドレス・フィールド・デコーダ２１と、アドレスフィールドに続くシーケンス・コントロール・フィールド（Ｓｅｑｕｅｎｃｅ  Ｃｏｎｔｒｏｌ  ｆｉｅｌｄ）を復号化するシーケンス・コントロール・フィールド・デコーダ２２と、モアーフラグメントフィールド（Ｍｏｒｅ  Ｆｒａｇｍｅｎｔｓ  ｆｉｅｌｄ）を復号化するモアーフラグメントデコーダ２３と、その他のデコーダを備え、これらのデコーダにおける復号化の結果をＭＩＣ計算部１と計算値記憶部３に出力する。
【００２０】
アドレス・フィールド・デコーダ２１により復号化されて取り出される情報には、発信局アドレスが含まれる。また、シーケンス・コントロール・フィールド・デコーダ２２により復号化されて取り出される情報には、フラグメント番号が含まれる。さらに、モアーフラグメントフィールド・デコーダ２３により復号化されて取り出される情報には、同じ発信局から送信される後続のフラグメントパケットが存在するか否かを示す継続有無情報等が含まれる。
【００２１】
ＭＩＣ計算部１は、受信したパケットのＭＩＣ計算処理を行う。
計算値記憶部３は、ＭＩＣ計算の計算途中の計算結果を記憶する複数のレジスタ３２ａ〜３２ｂ（第１の記憶部と第２の記憶部に対応する）を有し、アドレス・フィールド・デコーダ２１のデコード結果に基づいて発信局アドレスに対応するレジスタ３２ａ〜３２ｂにＭＩＣ計算の途中の計算結果を記憶する。この計算値記憶部３に記憶されるＭＩＣ計算結果は、同じ発信局から受信する次のフラグメントパケットのＭＩＣ計算を行うときにＭＩＣ計算部１に出力される。レジスタ３２ａ〜３２ｂは、例えば、半導体メモリで構成することができる。
【００２２】
図３は、改竄検出装置１０が受信するフラグメントパケットの構成を示す模式図であり、図３（Ａ）は、ＭＩＣフィールドを有する最後尾のフラグメントパケットの構成を示し、ＭＡＣヘッダとフレームボディとＭＩＣ計算結果が格納されるＭＩＣフィールドとフレームチェツクシーケンスＦＣＳとからなる。図３（Ｂ）は、ＭＩＣフィールドを有しない最後尾のフラグメントパケット以外のフラグメントパケットの構成を示し、ＭＡＣヘッダとフレームボディととＦＣＳとからなる。
【００２３】
ＭＡＣヘッダには、シーケンスコントロールフィールド（フラグメント番号を含む）と、同じ発信局から送信される後続のフラグメントパケットが存在するか否かを示すモアーフラグメントフィールドが設けられている。モアーフラグメントフィールドには、例えば、同じ発信局から送信される後続のパケットが存在するとき「１」が格納され、分割されたパケットではないとき、あるいは同じ発信局から送信される最後尾のフラグメントパケットのとき「０」が格納される。ＭＩＣフィールドには、パケットが分割されていない場合には、そのパケット単体に対してＭＩＣ計算を行った結果算出されるＭＩＣ計算結果が格納され、複数のフラグメントパケットに分割されている場合には、分割される前のパケットに対してＭＩＣ計算を行った結果算出されるＭＩＣ計算結果が格納される。パケットが複数のフラグメントパケットに分割されている場合には、最後尾のフラグメントパケットのＭＩＣフィールドの値と、受信した複数のフラグメントパケットの最終的なＭＩＣ計算結果とを照合することことでパケットの改竄の有無を検出することができる。
【００２４】
次に、図４は、複数局からのフラグメントパケットを混在して受信する場合のＭＩＣ計算処理のフローチャートである。
受信待機状態においてフラグメントパケットを受信すると、ヘッダデコード部２によりフラグメントパケットのヘッダに含まれるアドレスフィールド、シーケンスコントロールフィールド、モアーフラグメントフィールドを復号化し、アドレスフィールドの発信局アドレスを識別し、さらにシーケンスコントロールフィールドのフラグメント番号が０か否かを判別する（図４，Ｓ１１）。シーケンスコントロールフィールドには、先頭のフラグメントパケットに対してフラグメント番号０が設定されているので、フラグメント番号が０か否かを判定することで先頭のフラグメントパケットか否かを判定できる。
【００２５】
フラグメント番号が０であった場合には（Ｓ１１，ＹＥＳ）、ステップＳ１２に進み、発信局アドレスに対応する発信局から予め送られているＭＩＣ鍵をＭＩＣ計算値の初期値として設定してＭＩＣ計算値の初期化を行う。
【００２６】
次に、モアーフラグメントフィールドの値が０か否かを判別する（Ｓ１３）。モアーフラグメントフィールドには、同じ発信局から送信される後続のフラグメントパケットが存在するか否かを示す情報（継続有無情報に対応する）が格納される。実施の形態では、同じ発信局から送信される後続のフラグメントパケットが存在しない場合には、モアーフラグメントフィールドに０が設定される。
【００２７】
ステップＳ１３において、モアーフラグメントフィールドの値が０ではないと判別された場合には（Ｓ１３，ＮＯ）、すなわち、同じ発信局から送信される後続のフラグメントパケットが存在する場合には、ステップＳ１４に進み、ＭＩＣフィールドが存在しないものとしてＭＩＣ計算を行う。
【００２８】
次のステップＳ１５で、ＭＩＣ計算部１は、ＭＩＣ計算の計算結果をフラグメントパケットの発信局アドレスに対応するレジスタ（図２の計算値記憶部３のレジスタ３２ａ〜３２ｂの何れか）に保存して、ステップＳ１１に戻る。
【００２９】
受信待機状態において次のフラグメントパケットを受信したなら、上述したステップＳ１１の処理を再度実行し、シーケンスコントロールフィールドのフラグメント番号が０か否かを判別する。
【００３０】
フラグメント番号が０でない場合（Ｓ１１、ＮＯ）、つまり、２番目以降のフラグメントパケットを受信した場合には、ステップＳ１６に進み、フラグメントパケットの発信局アドレスに対応するレジスタからＭＩＣ計算値を読み出し、その値をＭＩＣ計算の初期値として設定する。その後、前述したステップＳ１３に進み、モアーフラグメントフィールドの値が０か否かを判別する。
【００３１】
ステップＳ１３において、モアーフラグメントフィールドの値が０と判定された場合、すなわち、最後尾のフラグメントパケットのときには、ステップＳ１７に進み、ＭＩＣ計算部１は、計算値記憶部３の発信局アドレスに対応するレジスタから読み出したＭＩＣ計算値を初期値として用いてＭＩＣ計算を行う。この場合、ＭＩＣフィールドが設けられているので、次のステップＳ１８で、ＭＩＣ計算の計算結果とＭＩＣフィールドの値が一致するか否かを判別する。
【００３２】
ステップＳ１８において、ＭＩＣ計算結果とＭＩＣフィールドの値が一致した場合には（Ｓ１８，ＹＥＳ）、ステップＳ１９に進み、受信した複数のフラグメントパケットは改竄が行われていないものと判断してパケットを再構築する。
【００３３】
ステップＳ１８において、計算結果がＭＩＣフィールドの値と一致しない場合には（Ｓ１８，ＮＯ）、改竄が行われたものと判断し、ステップＳ２０に進み、同じ発信局から受信した複数のフラグメントパケットを破棄する。
【００３４】
図５は、改竄検出装置１０を備えた無線通信端末装置が、複数局からのフラグメントパケットを混在して受信した時のＭＩＣ計算の流れを示す説明図であり、図５（Ａ）は受信するフラグメントパケットの構成例、図５（Ｂ）は受信したフラグメントパケット列に対するＭＩＣ計算処理の流れを示す。
【００３５】
図５（Ａ）に示すように、最初に局Ａからのフラグメントパケット（Ａ−１−０）を受信し、次に局Ａからのフラグメントパケット（Ａ−１−１）を受信し、次に局Ｂからのフラグメントパケット（Ｂ−１−０）を受信し、再び局Ａからのフラグメントパケット（Ａ−１−２）を受信し、その後、局Ｂからのフラグメントパケット（Ｂ−１−１）を受信した場合について説明する。なお、図５（Ａ），（Ｂ）の各フラグメントパケットに割り振られた符号の先頭のアルファベットの文字Ａ、Ｂは、発信局ＡまたはＢのアドレスを示し、アルファベットの次の１番目の数字（例えば、Ａ−１−２の最初の数字「１」）は、パケット（分割前のパケット）の番号を示し、２番目の数字（例えば、Ａ−１−２の２番目の数字「２」）は、フラグメントパケットのフラグメント番号を示す。
【００３６】
図５（Ｂ）に示すように、最初に局Ａからのフラグメントパケット（Ａ−１−０）が受信され、ヘッダデコード部２により、発信局が局Ａでフラグメント番号が０で最初のフラグメントパケットであり、かつモアーフラグメントフィールドが０でなく後続のフラグメントパケットが存在すると判定されると、ＭＩＣ鍵を初期値としてＭＩＣ計算が行われ、計算結果が発信局Ａに対応する計算値記憶部３のレジスタ３２ａ（図２参照）に格納される（図５のステップＳ１）。
【００３７】
次に、同じ局Ａのフラグメントパケット（Ａ−１−１）が受信され、ヘッダデコード部２により発信局が局Ａで、フラグメント番号が０でないと判定されると、計算値記憶部３の局Ａに対応するレジスタ３２ａから前回局Ａから受信したフラグメントパケット（Ａ−１−０）から算出されたＭＩＣ計算値が読み出されて、その値を初期値としてＭＩＣ計算が行われる（ステップＳ２）。
【００３８】
上記のステップＳ２において、受信したフラグメントパケットのモアーフラグメントフィールドが０でなく、後続のフラグメントパケットが存在すると判定された場合には、ＭＩＣ計算の計算結果（中間結果）は、計算値記憶部３の局Ａに対応するレジスタ３２ａに格納される（ステップＳ３）。
【００３９】
次に、局Ｂのフラグメントパケット（Ｂ−１−０）が受信され、ヘッダデコード部２により発信局が局Ｂ、フラグメント番号が０，モアーフラグメントフィールドの値が０でないと判定されると、受信したフラグメントパケット（Ｂ−１−０）に対するＭＩＣ計算の計算結果（中間結果）は、計算値記憶部３の局Ｂに対応するレジスタ３２ｂに格納される（ステップＳ４）。
【００４０】
次に、局Ａからのフラグメントパケット（Ａ−１−２）が受信され、ヘッダデコード部２において、上記と同様に、発信局が局Ａで、フラグメント番号が０でないと判定されると、計算値記憶部３の局Ａに対応するレジスタ３２ａからＭＩＣ計算の前回局Ａから受信したフラグメントパケット（Ａ−１−１）から算出されたＭＩＣ計算値が読み出されて、その値を初期値としてＭＩＣ計算が行われる（ステップＳ５）。さらに、ＭＩＣ計算部１において、受信したフラグメントパケットのモアーフラグメントフィールドの値が０で、後続のフラグメントパケットが存在しないと判定されると、ＭＩＣフィールドの値とＭＩＣ計算結果が一致するか否が判定される。計算結果が一致した場合には、局Ａから受信した複数のフラグメントパケットからパケットを再構築する。計算結果が不一致の場合には、局Ａから受信した複数のフラグメントパケットは破棄される。
【００４１】
次に、局Ｂからのフラグメントパケット（Ｂ−１−１）が受信され、ＭＩＣ計算部１において、発信局が局Ｂで、フラグメント番号が０でないと判定されると、計算値記憶部３の局Ｂに対応するレジスタ３２ｂから前回局Ｂから受信したフラグメントパケット（Ｂ―１−０）から算出されたＭＩＣ計算値が読み出されて、その値を初期値としてＭＩＣ計算が行われる（ステップＳ６）。
【００４２】
以上のような処理動作を繰り返すことで複数の局から混在して送信されるフラグメントパケットのＭＩＣ計算を各局毎に正確に行うことができる。
なお、図５に示す例では、本改竄検出装置を備えた局（無線通信装置）に対してフラグメントパケットを送信する発信局の数を２としたが、一般に、同様の方法で、フラグメントパケットを送信する発信局の数を３以上の複数とすることが容易に可能である。
【００４３】
本実施形態に係る改竄検出装置１０は、以上のように構成したので、本装置を備える局（無線通信装置）に対して、同時に２以上の発信局から、フラグメントパケットが送信される場合にも、本装置を備える局において発信局毎に改竄の有無を検出することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態の無線通信システムの構成を示す図である。
【図２】本発明の実施形態の改竄検出装置の構成を示す図である。
【図３】図３（Ａ）は、ＭＩＣフィールドを有するフラグメントパケットの構成を示し、図３（Ｂ）は、ＭＩＣフィールドを有しないフラグメントパケットの構成を示す。
【図４】実施の形態のＭＩＣ計算処理のフローチャートである。
【図５】図５（Ａ）は受信するフラグメントパケット列の構成例、図５（Ｂ）は受信したフラグメントパケット列に対するＭＩＣ計算処理の流れを示す。
【符号の説明】
【００４５】
１  ＭＩＣ計算部
２  ヘッダデコード部
３  計算値記憶部
２１  アドレス・フィールド・デコーダ
２２  シーケンス・コントロールフィールド・デコーダ
２３  モアーフラグメントフィールド・デコーダ
３２ａ〜３２ｍ  レジスタ
【図１】
2006311394.tif 000003
【図２】
2006311394.tif 000004
【図３】
2006311394.tif 000005
【図４】
2006311394.tif 000006
【図５】
2006311394.tif 000007