(57)【要約】【課題】アクセスポイントから受信したブロードキャストパケットを復号できない場合に、その復号が可能な状態にする。【解決手段】端末１０は、アクセスポイントと無線で暗号通信をする通信部１１と、プロセッサ１２と、プロセッサ１２によって実行される少なくとも１つのプログラムと、暗号通信のためのグループ鍵を格納するための鍵管理テーブルとを記憶しているメモリ１３とを備え、プロセッサ１２は、アクセスポイントからグループ鍵を取得し、取得したグループ鍵を第一グループ鍵として鍵管理テーブルに格納し、アクセスポイントが暗号化したブロードキャストパケットを通信部１１を介して受信し、受信したブロードキャストパケットを第一グループ鍵で復号できるか否かを判定する第一判定をし、ブロードキャストパケットを第一グループ鍵で復号できないと第一判定で判定した場合に、第一グループ鍵の更新が必要であることを示す情報を生成する。【選択図】図１１
2020108131.tif 000002
【特許請求の範囲】
【請求項１】
アクセスポイントと無線で暗号通信をする通信部と、
プロセッサと、
前記プロセッサによって実行される少なくとも１つのプログラムと、前記暗号通信のためのグループ鍵を格納するための鍵管理テーブルとを記憶しているメモリとを備え、
前記プロセッサは、
前記アクセスポイントから前記暗号通信のためのグループ鍵を取得し、取得した前記グループ鍵を第一グループ鍵として前記鍵管理テーブルに格納し、
前記アクセスポイントが暗号化したブロードキャストパケットを前記通信部を介して受信し、
受信した前記ブロードキャストパケットを前記第一グループ鍵で復号できるか否かを判定する第一判定をし、
前記ブロードキャストパケットを前記第一グループ鍵で復号できないと前記第一判定で判定した場合に、前記第一グループ鍵の更新が必要であることを示す情報を生成する
端末。
【請求項２】
前記プロセッサは、さらに、生成した前記情報に基づいて、
前記アクセスポイントとの無線接続を切断した後、所定時間以内に、前記通信部を介して前記アクセスポイントと新たな無線接続の確立処理を行い、
前記確立処理により取得した、前記新たな無線接続における暗号通信のためのグループ鍵を第二グループ鍵として前記鍵管理テーブルに格納することで、前記第一グループ鍵を前記第二グループ鍵に更新する
請求項１に記載の端末。
【請求項３】
前記プロセッサは、
前記アクセスポイントが暗号化した前記ブロードキャストパケットを繰り返し受信し、
繰り返し受信した前記ブロードキャストパケットそれぞれについて前記第一判定をする
請求項１又は２に記載の端末。
【請求項４】
前記プロセッサは、前記第一判定において、
受信した前記ブロードキャストパケットを前記第一グループ鍵で復号するための復号処理を行い、
前記復号処理により得られた復号済パケットが、予め定められた第一種別のブロードキャストパケットであるか否かを判定する第二判定をし、
前記復号済パケットが、前記第一種別のブロードキャストパケットであると前記第二判定で判定した場合に、前記ブロードキャストパケットを前記第一グループ鍵で復号できると判定する
請求項１〜３のいずれか１項に記載の端末。
【請求項５】
前記プロセッサは、
前記ブロードキャストパケットを受信する前に、ブロードキャストフラグがＴｒｕｅであるＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）  Ｔ２リクエストパケットをＤＨＣＰサーバに対して前記通信部を介して送信し、
受信した前記ブロードキャストパケットは、送信した前記Ｔ２リクエストパケットに対する応答として前記ＤＨＣＰサーバから受信したＤＨＣＰ  ＡＣＫパケットであり、
前記第二判定において、前記復号処理により得られた復号済パケットが、予め定められた種別のブロードキャストパケットとしてのＤＨＣＰ  ＡＣＫパケットであるか否かを判定する
請求項４に記載の端末。
【請求項６】
前記プロセッサは、
前記ＤＨＣＰ  Ｔ２リクエストパケットを繰り返し送信することによって、前記ＤＨＣＰ  ＡＣＫパケットを繰り返し受信する
請求項５に記載の端末。
【請求項７】
前記プロセッサは、
前記第二判定において、前記復号処理により得られた復号済パケットが、前記アクセスポイントと無線通信をする他の端末が送信して前記アクセスポイントが転送した、予め定められた種別のブロードキャストパケットであるか否かを判定する
請求項４に記載の端末。
【請求項８】
前記プロセッサは、さらに、
前記ブロードキャストパケットを受信すべき所定期間に前記ブロードキャストパケットを受信しない場合に、前記第一グループ鍵の更新が必要であることを示す情報を生成する
請求項４に記載の端末。
【請求項９】
前記プロセッサは、
前記所定期間に前記ブロードキャストパケットを受信しない場合に、さらに、前記ブロードキャストパケットの送信元装置と前記通信部との通信を試行することで前記送信元装置が通信可能な状態であるか否かを判定し、
前記送信元装置が通信可能な状態であると判定した場合に限り、前記第一グループ鍵の更新が必要であることを示す前記情報を生成する
請求項８に記載の端末。
【請求項１０】
端末が実行する通信方法であって、
前記端末は、
アクセスポイントと無線で暗号通信をする通信部と、
プロセッサと、
前記プロセッサによって実行される少なくとも１つのプログラムと、前記暗号通信のためのグループ鍵を格納するための鍵管理テーブルとを記憶しているメモリとを備え、
前記通信方法では、プロセッサにより、
前記アクセスポイントから前記暗号通信のためのグループ鍵を取得し、取得した前記グループ鍵を第一グループ鍵として前記鍵管理テーブルに格納し、
前記アクセスポイントが暗号化したブロードキャストパケットを前記通信部を介して受信し、
受信した前記ブロードキャストパケットを前記第一グループ鍵で復号できるか否かを判定する第一判定をし、
前記ブロードキャストパケットを前記第一グループ鍵で復号できないと前記第一判定で判定した場合に、前記第一グループ鍵の更新が必要であることを示す情報を生成する
通信方法。
【請求項１１】
請求項１０に記載の通信方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末、通信方法、および、プログラムに関する。
【背景技術】
【０００２】
グループ鍵（ＧＴＫ（Ｇｒｏｕｐ  Ｔｅｍｐｏｒａｌ  Ｋｅｙ）ともいう）の更新に失敗した場合であっても、通信を行うことができる装置が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１３３５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、端末が、アクセスポイントから提供されたグループ鍵を用いて、アクセスポイントから受信したブロードキャストパケットを復号できない場合があるという問題がある。なお「ブロードキャストパケット」の語は、狭義のブロードキャストと狭義のマルチキャストとの両方の概念を含む、広義の語である。また、単に「ブロードキャスト」という場合、広義のブロードキャストを指す。
【０００５】
そこで、本発明は、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、その復号が可能な状態にする端末などを提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る端末は、アクセスポイントと無線で暗号通信をする通信部と、プロセッサと、前記プロセッサによって実行される少なくとも１つのプログラムと、前記暗号通信のためのグループ鍵を格納するための鍵管理テーブルとを記憶しているメモリとを備え、前記プロセッサは、前記アクセスポイントから前記暗号通信のためのグループ鍵を取得し、取得した前記グループ鍵を第一グループ鍵として前記鍵管理テーブルに格納し、前記アクセスポイントが暗号化したブロードキャストパケットを前記通信部を介して受信し、受信した前記ブロードキャストパケットを前記第一グループ鍵で復号できるか否かを判定する第一判定をし、前記ブロードキャストパケットを前記第一グループ鍵で復号できないと前記第一判定で判定した場合に、前記第一グループ鍵の更新が必要であることを示す情報を生成する。
【０００７】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本発明の端末は、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、その復号が可能な状態にすることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、比較例１における通信システムの構成を示すブロック図である。
【図２】図２は、比較例１における通信システムでのユニキャスト通信およびブロードキャスト通信を示す説明図である。
【図３】図３は、比較例１における通信システムでのＧＴＫの更新を示すシーケンス図である。
【図４】図４は、比較例１における通信システムでのＧＴＫの更新のときの挙動を示す第一のシーケンス図である。
【図５】図５は、比較例１における通信システムでのＧＴＫの更新のときの挙動を示す第二のシーケンス図である。
【図６】図６は、比較例２における通信システムの構成を示すブロック図である。
【図７】図７は、比較例２における通信システムでのＧＴＫの配布を示すシーケンス図である。
【図８】図８は、比較例２における無線中継機の鍵管理テーブルの一例を示す説明図である。
【図９】図９は、比較例２における通信システムでのＧＴＫの更新のときの挙動を示すシーケンス図である。
【図１０】図１０は、実施の形態における通信システムの構成を示すブロック図である。
【図１１】図１１は、実施の形態における端末の構成を示すブロック図である。
【図１２】図１２は、実施の形態における端末が有する鍵管理テーブルを示す説明図である。
【図１３】図１３は、実施の形態におけるアクセスポイントの構成を示すブロック図である。
【図１４】図１４は、実施の形態における端末の第一の動作を示すフローである。
【図１５】図１５は、実施の形態における通信システムの第一の動作を示すシーケンス図である。
【図１６】図１６は、実施の形態における端末の第二の動作を示すフローである。
【図１７】図１７は、実施の形態における通信システムの第二の動作を示すシーケンス図である。
【図１８】図１８は、実施の形態における通信システムの第三の動作を示すシーケンス図である。
【図１９】図１９は、実施の形態の変形例１における通信システムの動作を示すシーケンス図である。
【図２０】図２０は、実施の形態の変形例２における通信システムの動作を示すシーケンス図である。
【図２１】図２１は、実施の形態の変形例３における通信システムの第一の動作を示すシーケンス図である。
【図２２】図２２は、実施の形態の変形例３における通信システムの第二の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
（本発明の基礎となった知見）
本発明者は、「背景技術」の欄において記載した、グループ鍵を用いた通信に関し、以下の問題が生じることを見出した。問題が生じるケースを比較例１及び２として順に説明する。
【００１１】
（比較例１）
図１は、比較例１における通信システム９の構成を示すブロック図である。
【００１２】
図１に示されるように、通信システム９は、無線ルータ３０Ａと、端末９０Ａ、９０Ｂ及び９０Ｃ（端末９０Ａ等ともいう）とを備える。
【００１３】
無線ルータ３０Ａは、無線通信におけるアクセスポイント（ＡＰ）又は基地局である。無線ルータ３０Ａの無線通信インタフェースは、インフラストラクチャモードでＡＰとして動作している。
【００１４】
無線ルータ３０Ａは、無線通信インタフェースによって端末９０Ａ等それぞれと無線接続を確立し、確立した無線接続を通じて端末９０Ａ等それぞれとの間で通信パケット（単にパケットともいう）を送受信する。無線ルータ３０Ａは、端末９０Ａ等が送信した、ネットワークＮの先に存在する通信装置宛てのパケットをネットワークＮに転送するとともに、ネットワークＮから受信した、端末９０Ａ等宛てのパケットを端末９０Ａ等に転送する。また、無線ルータ３０Ａは、端末９０Ａ等同士のパケットの送受信を中継する。
【００１５】
端末９０Ａは、無線通信におけるステーション（ＳＴＡ）又は端末である。端末９０Ａの無線通信インタフェースは、インフラストラクチャモードでＳＴＡとして動作している。
【００１６】
端末９０Ａは、無線通信インタフェースによって無線ルータ３０Ａと無線接続を確立し、確立した無線接続を通じて無線ルータ３０Ａとの間でパケットを送受信する。端末９０Ａは、無線ルータ３０Ａを介して、ネットワークＮの先に存在する通信装置、又は、無線ルータ３０Ａに接続されている他の端末９０Ｂ又は９０Ｃと通信する。端末９０Ａは、通信可能な装置であればどのようなものでもよく、コンピュータ、スマートフォン、通信機能を備えた各種機器（家電機器、産業機器又はオフィス機器）などであってもよい。
【００１７】
端末９０Ｂ及び９０Ｃは、それぞれ、端末９０Ａと同じ機能を有し、端末９０Ａとは独立に動作する。
【００１８】
図２は、比較例１における通信システム９でのユニキャスト通信およびブロードキャスト通信を示す説明図である。
【００１９】
図２に示されるように、端末９０Ａは、無線ルータ３０Ａとの通信に先立ち、無線ルータ３０Ａとの無線接続を確立する。無線接続の確立は、例えば既存のＡｕｔｈｅｎｔｉｃａｔｉｏｎ、Ａｓｓｏｃｉａｔｉｏｎ、及び、４ウェイハンドシェイクという手順に従ってなされる。端末９０Ｂも同様に、無線ルータ３０Ａとの無線接続を確立する。
【００２０】
この４ウェイハンドシェイクによって、端末９０Ａと無線ルータ３０Ａとは、端末９０Ａと無線ルータ３０Ａとの間で行われるユニキャスト通信のための鍵ＰＴＫ（Ｐａｉｒｗｉｓｅ  Ｔｒａｎｓｉｅｎｔ  Ｋｅｙ）を生成して保有する。また、無線ルータ３０Ａは、端末９０Ａ等に送信するブロードキャストパケットの暗号化に用いる鍵であるグループ鍵ＧＴＫを生成し、端末９０Ａに提供する。
【００２１】
このようにして、端末９０Ａは、無線ルータ３０Ａとの通信に用いるＰＴＫ及びＧＴＫを取得する。端末９０Ｂも同様の方法でＰＴＫ及びＧＴＫを取得する。なお、ＰＴＫは、端末ごとに異なり、ＧＴＫは、端末間で共通である。
【００２２】
次に、端末９０Ａが端末９０Ｂにパケットを送信するときに用いられる鍵について説明する。
【００２３】
端末９０Ａがユニキャストパケットを端末９０Ｂに送信するときには、端末９０Ａは、送信しようとするユニキャストパケットをＰＴＫで暗号化して無線ルータ３０Ａに送信する。無線ルータ３０Ａは、端末９０Ａから受信したユニキャストパケットを、端末９０Ａとの通信に用いるＰＴＫで復号する。その後、無線ルータ３０Ａは、上記ユニキャストパケットを端末９０Ｂとの通信に用いるＰＴＫで暗号化して端末９０Ｂに送信する。端末９０Ｂは、無線ルータ３０Ａから受信したユニキャストパケットをＰＴＫで復号する。
【００２４】
端末９０Ａがブロードキャストパケットを端末９０Ｂに送信するときには、端末９０Ａは、送信しようとするブロードキャストパケットをＰＴＫで暗号化して無線ルータ３０Ａに送信する。無線ルータ３０Ａは、端末９０Ａから受信したブロードキャストパケットを、端末９０Ａとの通信に用いるＰＴＫで復号する。その後、無線ルータ３０Ａは、上記ブロードキャストパケットをＧＴＫで暗号化して、無線ルータ３０Ａに接続されている全端末に送信する。端末９０Ｂは、無線ルータ３０Ａから上記ブロードキャストパケットを受信しＧＴＫで復号する。
【００２５】
なお「ブロードキャスト」の語は、狭義のブロードキャスト（例えば宛先ＩＰアドレスが「２５５．２５５．２５５．２５５」である通信）と、狭義のマルチキャスト（例えば宛先ＩＰアドレスがクラスＤである通信）との両方の概念を含む、広義の語である。また、単に「ブロードキャスト」という場合、広義のブロードキャストを指す。
【００２６】
図３は、比較例１における通信システム９でのＧＴＫの更新を示すシーケンス図である。ＧＴＫは、セキュリティの向上などのため時間経過にともない更新される。
【００２７】
当初、無線ルータ３０Ａと、端末９０Ａ及び９０ＢとがＧＴＫ（ＧＴＫ：Ａとする）を共有した状態であるとする。この状態では、端末９０Ａが送信したブロードキャストパケットは、無線ルータ３０ＡによってＧＴＫ：Ａで暗号化されて端末９０Ｂに受信される。端末９０Ｂは、受信したブロードキャストパケットをＧＴＫ：Ａで復号する。
【００２８】
ここで、無線ルータ３０ＡがＧＴＫを更新する。更新後のＧＴＫをＧＴＫ：Ｂとする。
【００２９】
無線ルータ３０ＡがＧＴＫを更新すると、無線ルータ３０Ａは、端末９０Ａ及び９０ＢそれぞれにＧＴＫ：Ｂを送信する。これにより、端末９０Ａ及び９０ＢとがＧＴＫ：Ｂを共有した状態になる。この状態において、端末９０Ａが送信したブロードキャストパケットは、無線ルータ３０ＡによりＧＴＫ：Ｂで暗号化されて端末９０Ｂに受信される。端末９０Ｂは、受信したブロードキャストパケットをＧＴＫ：Ｂで復号する。
【００３０】
このように、無線ルータ３０ＡがＧＴＫを更新した場合には、更新後のＧＴＫ：Ｂを端末に送信することを要する。この更新がなされない場合、更新前のＧＴＫ：Ａを保有したままである端末は、更新後のＧＴＫ：Ｂで暗号化されたブロードキャストパケットを復号できないからである。
【００３１】
しかしながら、無線ルータ３０ＡがＧＴＫを更新したときに、更新後のＧＴＫ：Ｂを端末９０Ａに送信しない、という挙動が既存製品において観測されている。以下で具体的に説明する。
【００３２】
図４は、比較例１における通信システム９でのＧＴＫの更新のときの挙動を示す第一のシーケンス図である。
【００３３】
図４は、無線ルータ３０Ａが端末９０Ａとの無線接続が確立している状態において、無線ルータ３０Ａが新たに端末９０ＢとＷＰＳ（Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ）による無線接続を確立した、という状況を示している。この場合に、無線ルータ３０ＡがＧＴＫを更新し、更新後のＧＴＫ：Ｂを端末９０Ａに送信しないという挙動が観測されている。
【００３４】
例えば、端末９０Ａは、ブロードキャストパケットを用いて通信可能な機器を検索する。このとき、端末９０Ａは、機器検索要求パケットをブロードキャストで送信し、ＧＴＫ：Ｂで暗号化された機器検索要求パケットが端末９０Ｂに受信される。
【００３５】
機器検索要求パケットを受信した端末９０Ｂがユニキャストで応答パケットを送信しようとする。そこで端末９０Ｂは、機器検索の応答パケットを返信するのに先立ち、端末９０ＡのＭＡＣアドレスを解決すべく、ＡＲＰ要求をブロードキャストで送信する。すると、無線ルータ３０ＡによってＧＴＫ：Ｂで暗号化されたＡＲＰ要求パケットが端末９０Ａに受信される。しかし、端末９０Ａは、ＧＴＫ：Ｂを保有していないのでＡＲＰ要求パケットを復号することができない。
【００３６】
その結果、端末９０Ａは、ＡＲＰ要求パケットの応答であるＡＲＰ応答パケットを返すことができない。また、端末９０Ｂは、ＡＲＰ応答パケットが端末９０Ａから返ってこないので、機器検索に対する応答を返すことができない。このようにして、端末９０Ａ及び９０Ｂ間の通信ができなくなってしまう。
【００３７】
図５は、比較例１における通信システム９でのＧＴＫの更新のときの挙動を示す第二のシーケンス図である。
【００３８】
図５は、無線ルータ３０Ａを介して端末９０Ｂと端末９０Ａとが機器検索の要求と応答とを送受信することで、端末９０Ｂが端末９０Ａの存在を知った状態において、端末９０Ｂが無線接続を切断し、その後しばらくしてから無線接続を確立した、という状況を示している。例えば、宅内に無線ルータ３０Ａがあり、スマートフォンである端末９０Ｂをもってユーザが外出し、その後しばらくしてからユーザが帰宅した場合に上記状況となる。なお、端末９０Ｂが無線接続を切断してから新たな無線接続を確立するまでの時間は、無線ルータ３０Ａの実装仕様に依存するが、例えば１２分〜３０分程度以上であり、より特定的には１２分以上である。この場合に、無線ルータ３０ＡがＧＴＫを更新し、更新後のＧＴＫ：Ｂを端末９０Ａに送信しないという挙動が観測されている。
【００３９】
例えば、端末９０Ｂは、ブロードキャストパケットを用いて、通信可能な機器を検索することを行う。このとき、端末９０Ｂは、機器検索要求パケットをブロードキャストで送信し、ＧＴＫ：Ｂで暗号化された機器検索要求パケットが端末９０Ａに受信される。しかし、端末９０Ａは、ＧＴＫ：Ｂを保有していないので、機器検索要求パケットを復号することができない。
【００４０】
その結果、端末９０Ａは、機器検索の要求に対する応答である応答パケットを返すことができない。このようにして、端末９０Ａ及び９０Ｂ間の通信ができなくなってしまう。
【００４１】
（比較例２）
図６は、比較例２における通信システム９Ａの構成を示すブロック図である。
【００４２】
図６に示されるように、通信システム９Ａは、無線ルータ３０Ａと、無線中継機３０Ｂと、端末９０Ｄ、９０Ｅ、９０Ｆ、９０Ｇ及び９０Ｈ（端末９０Ｄ〜９０Ｈともいう）とを備える。
【００４３】
無線ルータ３０Ａは、図１における無線ルータ３０Ａと同様、無線通信におけるアクセスポイント（ＡＰ）又は基地局である。無線ルータ３０Ａは、無線通信インタフェースによって無線中継機３０Ｂおよび端末９０Ｄ及び９０Ｅそれぞれと接続されている。
【００４４】
無線中継機３０Ｂは、端末９０Ｆ、９０Ｇおよび９０Ｈ（端末９０Ｆ等ともいう）に対しては無線通信におけるアクセスポイント（ＡＰ）又は基地局として振る舞い、無線ルータ３０Ａに対しては、無線通信におけるステーション（ＳＴＡ）又は端末として振る舞う。無線中継機３０Ｂの端末９０Ｆ等と接続する無線通信インタフェースはインフラストラクチャモードでＡＰとして動作しており、無線ルータ３０Ａと接続する無線通信インタフェースはインフラストラクチャモードでＳＴＡとして動作している。
【００４５】
無線中継機３０Ｂは、無線通信インタフェースによって端末９０Ｆ等それぞれと無線接続を確立し、確立した無線接続を通じて端末９０Ｆ等それぞれとの間で通信パケット（単にパケットともいう）を送受信する。また、無線中継機３０Ｂは、端末９０Ｆ等それぞれと無線接続を確立したときには、端末９０Ｆ等それぞれを代理して無線ルータ３０Ａとの無線接続を確立する。この無線接続を使用して、端末９０Ｆ等は、無線ルータ３０Ａを介して端末９０Ｄ及び９０Ｅと通信したり、ネットワークＮの先に存在する通信装置と通信をしたりすることができる。
【００４６】
端末９０Ｄ〜９０Ｈは、図１における端末９０Ａ等と同様、無線通信におけるステーション（ＳＴＡ）又は端末である。
【００４７】
端末９０Ｄ及び９０Ｅは、無線通信インタフェースによって無線ルータ３０Ａと無線接続を確立し、確立した無線接続を通じて無線ルータ３０Ａとの間でパケットを送受信する。
【００４８】
端末９０Ｆ等は、無線通信インタフェースによって無線中継機３０Ｂと無線接続を確立し、確立した無線接続を通じて無線中継機３０Ｂとの間でパケットを送受信する。
【００４９】
図７は、比較例２における通信システム９ＡでのＧＴＫの配布を示すシーケンス図である。
【００５０】
図７に示されるように、無線中継機３０Ｂは、端末９０Ｆとの無線接続を確立すると、端末９０Ｆを代理するＭＡＣアドレス（「中継ＭＡＣアドレス」ともいう）を生成し、生成した中継ＭＡＣアドレスを用いて無線ルータ３０Ａとの無線接続を確立する。無線中継機３０Ｂは、無線接続の確立時に、無線ルータ３０ＡからＧＴＫ：Ｘを取得する。また、無線中継機３０Ｂは、鍵管理テーブルに端末９０Ｆの情報を追加する。
【００５１】
また、無線中継機３０Ｂは、端末９０Ｆとの無線接続を確立した状態で、端末９０Ｇとの無線接続を確立すると、端末９０Ｇを代理する中継ＭＡＣアドレスを追加的に生成し、生成した中継ＭＡＣアドレスを用いて無線ルータ３０Ａとの無線接続を追加的に確立する。無線中継機３０Ｂは、無線接続の確立時に、無線ルータ３０ＡからＧＴＫ：Ｘを取得する。また、無線中継機３０Ｂは、鍵管理テーブルに端末９０Ｇの情報を追加する。
【００５２】
このとき、無線ルータ３０Ａにとっては、無線中継機３０Ｂ、端末９０Ｆ及び端末９０Ｇの３つが端末として接続している状態になる。
【００５３】
ここで、無線ルータ３０ＡがＧＴＫをＧＴＫ：Ｙに更新し、ＧＴＫ：Ｙを上記３つの端末としての無線中継機３０Ｂ、端末９０Ｆ及び端末９０Ｇそれぞれに送信する。
【００５４】
図８は、比較例２における無線中継機３０Ｂが保有している鍵管理テーブルの一例を示す説明図である。図８の（ａ）は、図７で無線ルータ３０ＡがＧＴＫを更新する前の鍵管理テーブルであり、図８の（ｂ）は、上記更新後の鍵管理テーブルである。
【００５５】
図８の（ａ）に示されるように、鍵管理テーブルは、ルータのＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）と、ルータ側の暗号情報と、端末の中継ＭＡＣと、ルータ側の鍵情報と、中継機のＳＳＩＤと、端末側の暗号情報と、端末のＭＡＣアドレスと、端末側の鍵情報とを含む。
【００５６】
ルータのＳＳＩＤは、無線中継機３０Ｂが接続している無線ルータ３０ＡのＳＳＩＤである。ルータのＳＳＩＤは、言い換えれば、無線中継機３０Ｂと無線ルータ３０Ａとの通信に用いられるＳＳＩＤである。
【００５７】
ルータ側の暗号情報は、無線中継機３０Ｂと無線ルータ３０Ａとの通信に用いられる暗号方式を特定する情報である。
【００５８】
端末の中継ＭＡＣアドレスは、無線中継機３０Ｂが端末の代理として無線ルータ３０Ａと通信するときに用いられるＭＡＣアドレスである。
【００５９】
ルータ側の鍵情報は、無線中継機３０Ｂと無線ルータ３０Ａとの通信に用いられるＧＴＫである。
【００６０】
中継機のＳＳＩＤは、無線中継機３０ＢのＳＳＩＤである。中継機のＳＳＩＤは、言い換えれば、無線中継機３０Ｂと端末９０Ｆ等との通信に用いられるＳＳＩＤである。
【００６１】
端末側の暗号情報は、無線中継機３０Ｂと端末９０Ｆ等との通信に用いられる暗号方式を特定する情報である。
【００６２】
端末のＭＡＣアドレスは、無線中継機３０Ｂに接続している端末９０Ｆ等のＭＡＣアドレスである。
【００６３】
端末側の鍵情報は、無線中継機３０Ｂと端末９０Ｆ等との通信に用いられるＧＴＫである。
【００６４】
例えば、図８の（ａ）に示される１番目のエントリ（＃１）は、端末９０Ｆに関するエントリである。端末９０Ｆに関して、無線中継機３０Ｂのルータ側のＧＴＫがＧＴＫ：Ｘであり、端末９０Ｆ側のＧＴＫがＧＴＫ：Ａであることを示している。また、２番目のエントリ（＃２）は、端末９０Ｇに関するエントリである。端末９０Ｇに関しても、無線中継機３０Ｂのルータ側のＧＴＫがＧＴＫ：Ｘであり、端末９０Ｇ側のＧＴＫがＧＴＫ：Ａであることが示されている。
【００６５】
無線中継機３０ＢがＧＴＫを、ＧＴＫ：ＸからＧＴＫ：Ｙに更新すると、鍵管理テーブルは、図８の（ｂ）に示されるものとなる。具体的には、エントリ＃１及び＃２ともに、ルータ側の鍵情報がＧＴＫ：Ｙに変更されている。
【００６６】
図９は、比較例２における通信システム９ＡでのＧＴＫの更新のときの挙動を示すシーケンス図である。
【００６７】
この状況は、無線中継機３０Ｂが端末９０Ｆ、９０Ｇ及び９０Ｈとの無線接続が確立している状態において、端末９０Ｈが無線接続を切断し、その後しばらくしてから無線接続を確立した、という状況である。この場合に、無線中継機３０ＢがＧＴＫを更新し、更新後のＧＴＫ：Ｂを端末９０Ｆ及び９０Ｇに送信しないという挙動が観測されている。
【００６８】
なお、端末９０Ｆが無線接続を切断してから新たな無線接続を確立するまでの時間は、無線中継機３０Ｂの実装仕様に依存するが、例えば１２分〜３０分程度以上であり、より特定的には１２分以上である。
【００６９】
例えば、端末９０Ｆは、ブロードキャストパケットを用いて、通信可能な機器を検索する。ＧＴＫの更新前には、端末９０Ｆ及び９０Ｇと、無線中継機３０ＢとがＧＴＫ：Ａを保有しているので、端末９０Ｆ及び９０Ｇがブロードキャストを利用して通信することができ、例えば互いに連携した状態で情報処理を実行することができる。
【００７０】
しかし、無線中継機３０ＢがＧＴＫを更新した後には、端末９０Ｆが送信したブロードキャストが、無線中継機３０ＢによってＧＴＫ：Ｂにより暗号化されて端末９０Ｇに受信される。端末９０Ｇは、ＧＴＫ：Ｂを保有していないので、上記ブロードキャストパケットを復号することができない。この現象は、端末９０Ｇが送信したブロードキャストについても同様に発生する。
【００７１】
このようにして、端末９０Ｆ及び９０Ｇの間でブロードキャストパケットを利用した通信ができなくなり、端末９０Ｆ及び９０Ｇの連携した状態での情報処理もなされなくなってしまう。
【００７２】
このように、無線ルータ３０Ａ又は無線中継機３０ＢがＧＴＫを更新し、更新後のＧＴＫ：Ｂを端末に送信しない、という挙動が発生すると、端末同士でのブロードキャストパケットを用いた通信ができなくなるという問題がある。
【００７３】
このような問題を解決するために、本発明の一態様に係る端末は、アクセスポイントと無線で暗号通信をする通信部と、プロセッサと、前記プロセッサによって実行される少なくとも１つのプログラムと、前記暗号通信のためのグループ鍵を格納するための鍵管理テーブルとを記憶しているメモリとを備え、前記プロセッサは、前記アクセスポイントから前記暗号通信のためのグループ鍵を取得し、取得した前記グループ鍵を第一グループ鍵として前記鍵管理テーブルに格納し、前記アクセスポイントが暗号化したブロードキャストパケットを前記通信部を介して受信し、受信した前記ブロードキャストパケットを前記第一グループ鍵で復号できるか否かを判定する第一判定をし、前記ブロードキャストパケットを前記第一グループ鍵で復号できないと前記第一判定で判定した場合に、前記第一グループ鍵の更新が必要であることを示す情報を生成する。
【００７４】
上記態様によれば、端末は、アクセスポイントから受信したブロードキャストパケットを第一グループ鍵で復号できないときに、生成した情報に基づいて、グループ鍵の更新のための処理を実行することができる。上記ブロードキャストパケットを第一グループ鍵で復号できないことは、アクセスポイントがグループ鍵を更新し、その更新後のグループ鍵を端末に送信しない、という挙動をした場合に生ずる。端末は、アクセスポイントが上記挙動をした場合に、グループ鍵の更新のための処理を実行することで、その更新後のグループ鍵を取得し、アクセスポイントが送信するブロードキャストパケットの復号が可能な状態になることができる。このように、端末は、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、その復号が可能な状態にすることができる。
【００７５】
例えば、前記プロセッサは、さらに、生成した前記情報に基づいて、前記アクセスポイントとの無線接続を切断した後、所定時間以内に、前記通信部を介して前記アクセスポイントと新たな無線接続の確立処理を行い、前記確立処理により取得した、前記新たな無線接続における暗号通信のためのグループ鍵を第二グループ鍵として前記鍵管理テーブルに格納することで、前記第一グループ鍵を前記第二グループ鍵に更新してもよい。
【００７６】
上記態様によれば、端末は、グループ鍵の更新が必要であると判断した場合に、無線接続の切断と、新たな無線接続の確立処理とを行うことで、グループ鍵の更新を行う。よって、グループ鍵の更新のための専用の処理を行うことなく、既存の無線通信の処理を利用してグループ鍵の更新を行うことができる。よって、端末は、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、既存の無線通信の処理を利用した処理により、その復号が可能な状態にすることができる。
【００７７】
例えば、前記プロセッサは、前記アクセスポイントが暗号化した前記ブロードキャストパケットを繰り返し受信し、繰り返し受信した前記ブロードキャストパケットそれぞれについて前記第一判定をしてもよい。
【００７８】
上記態様によれば、端末は、アクセスポイントから受信したブロードキャストパケットを復号できる状態を維持しているか否かを監視し、ブロードキャストパケットを復号できない状態になった場合にそのことを早期に検出して、グループ鍵の更新処理を行うことができる。よって、端末は、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、そのことをより早い時点で検出し、その復号が可能な状態にすることができる。
【００７９】
例えば、前記プロセッサは、前記第一判定において、受信した前記ブロードキャストパケットを前記第一グループ鍵で復号するための復号処理を行い、前記復号処理により得られた復号済パケットが、予め定められた第一種別のブロードキャストパケットであるか否かを判定する第二判定をし、前記復号済パケットが、前記第一種別のブロードキャストパケットであると前記第二判定で判定した場合に、前記ブロードキャストパケットを前記第一グループ鍵で復号できると判定してもよい。
【００８０】
上記態様によれば、端末は、これから受信すべきブロードキャストパケットの種別を予め定めて保有しており、復号により得られたパケットの種別と、予め定めた種別との一致判定に基づいて、受信したブロードキャストパケットを復号できるか否かの判定を行う。よって、端末は、より容易に、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【００８１】
例えば、前記プロセッサは、前記ブロードキャストパケットを受信する前に、ブロードキャストフラグがＴｒｕｅであるＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）  Ｔ２リクエストパケットをＤＨＣＰサーバに対して前記通信部を介して送信し、受信した前記ブロードキャストパケットは、送信した前記Ｔ２リクエストパケットに対する応答として前記ＤＨＣＰサーバから受信したＤＨＣＰ  ＡＣＫパケットであり、前記第二判定において、前記復号処理により得られた復号済パケットが、予め定められた種別のブロードキャストパケットとしてのＤＨＣＰ  ＡＣＫパケットであるか否かを判定してもよい。
【００８２】
上記態様によれば、端末は、ＤＨＣＰプロトコルのメッセージを利用してアクセスポイントにブロードキャストパケットを送信させる。具体的には、ブロードキャストフラグがＴｒｕｅであるＤＨＣＰ  Ｔ２リクエストパケットを受信した場合に、ＤＨＣＰサーバがＤＨＣＰ  ＡＣＫパケットをブロードキャストで送信するという従来のＤＨＣＰプロトコルのしくみを利用して、アクセスポイントにブロードキャストパケットを送信させる。よって、端末は、既存のＤＨＣＰプロトコルを利用してより容易に、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【００８３】
例えば、前記プロセッサは、前記ＤＨＣＰ  Ｔ２リクエストパケットを繰り返し送信することによって、前記ＤＨＣＰ  ＡＣＫパケットを繰り返し受信してもよい。
【００８４】
上記態様によれば、端末は、アクセスポイントにＤＨＣＰ  ＡＣＫパケットを繰り返し送信させることができ、その結果として、アクセスポイントからブロードキャストパケットであるＤＨＣＰ  ＡＣＫパケットを繰り返し受信することができる。これにより、アクセスポイントから受信したブロードキャストパケットを復号できる状態を維持しているか否かを監視しその復号ができない場合に可能な状態にすることができる。よって、端末は、既存のＤＨＣＰプロトコルを利用してより早期に、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【００８５】
例えば、前記プロセッサは、前記第二判定において、前記復号処理により得られた復号済パケットが、前記アクセスポイントと無線通信をする他の端末が送信して前記アクセスポイントが転送した、予め定められた種別のブロードキャストパケットであるか否かを判定してもよい。
【００８６】
上記態様によれば、端末は、アクセスポイントに接続されている他の端末によるブロードキャストパケットの送信を利用して、アクセスポイントにブロードキャストパケットを送信させる。よって、端末は、他の端末を利用してより容易に、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【００８７】
例えば、前記プロセッサは、さらに、前記ブロードキャストパケットを受信すべき所定期間に前記ブロードキャストパケットを受信しない場合に、前記第一グループ鍵の更新が必要であることを示す情報を生成してもよい。
【００８８】
上記態様によれば、端末は、所定期間に受信すべきブロードキャストパケットを受信しない場合にもグループ鍵の更新のための処理を実行する。通信部の実装仕様によっては、受信したブロードキャストパケットを、保有しているグループ鍵で正常に復号できない場合に、当該ブロードキャストパケットを受信していないとして扱うことがあり得る。そのような場合、プロセッサは、ブロードキャストパケットを復号できないことを、ブロードキャストパケットを受信すべき所定期間内に当該ブロードキャストパケットを受信しないということから知ることができる。よって、端末は、通信部の実装仕様によらずに、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【００８９】
例えば、前記プロセッサは、前記所定期間に前記ブロードキャストパケットを受信しない場合に、さらに、前記ブロードキャストパケットの送信元装置と前記通信部との通信を試行することで前記送信元装置が通信可能な状態であるか否かを判定し、前記送信元装置が通信可能な状態であると判定した場合に限り、前記第一グループ鍵の更新が必要であることを示す前記情報を生成してもよい。
【００９０】
上記態様によれば、端末は、ブロードキャストパケットを受信すべき所定期間内に当該ブロードキャストパケットを受信しないということから、ブロードキャストパケットを復号できないことを知った場合には、ブロードキャストパケットの送信元装置が動作を停止している可能性がある。このような場合には、端末がグループ鍵の更新をするべきではない。そこで、端末は、上記送信元装置との通信の試行を行って上記送信元装置が通信可能つまり動作を停止していないことがわかったときだけグループ鍵の更新の処理に進めるようにすることで、より適切にグループ鍵の更新をすることができる。よって、グループ鍵の更新が不要である場合にグループ鍵の更新をしてしまうことを未然に回避しながら、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【００９１】
また、本発明の一態様に係る通信方法は、端末が実行する通信方法であって、前記端末は、アクセスポイントと無線で暗号通信をする通信部と、プロセッサと、前記プロセッサによって実行される少なくとも１つのプログラムと、前記暗号通信のためのグループ鍵を格納するための鍵管理テーブルとを記憶しているメモリとを備え、前記通信方法では、プロセッサにより、前記アクセスポイントから前記暗号通信のためのグループ鍵を取得し、取得した前記グループ鍵を第一グループ鍵として前記鍵管理テーブルに格納し、前記アクセスポイントが暗号化したブロードキャストパケットを前記通信部を介して受信し、受信した前記ブロードキャストパケットを前記第一グループ鍵で復号できるか否かを判定する第一判定をし、前記ブロードキャストパケットを前記第一グループ鍵で復号できないと前記第一判定で判定した場合に、前記第一グループ鍵の更新が必要であることを示す情報を生成する。
【００９２】
これによれば、上記端末と同様の効果を奏する。
【００９３】
また、本発明の一態様に係るプログラムは、上記の通信方法をコンピュータに実行させるためのプログラムである。
【００９４】
これによれば、上記端末と同様の効果を奏する。
【００９５】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００９６】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００９７】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００９８】
（実施の形態）
本実施の形態において、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、その復号が可能な状態にする端末などについて説明する。
【００９９】
図１０は、本実施の形態における通信システム１の構成を示すブロック図である。
【０１００】
図１０に示されるように、本実施の形態における通信システム１は、アクセスポイント３０と、端末１０Ａ、１０Ｂ及び１０Ｃとを備える。
【０１０１】
アクセスポイント３０は、無線通信におけるアクセスポイント（ＡＰ）又は基地局である。アクセスポイント３０は、具体的には、一般の無線ルータ又は無線中継機などである。
【０１０２】
アクセスポイント３０は、無線通信インタフェースによって端末１０Ａ等それぞれと無線接続を確立し、確立した無線接続を通じて端末１０Ａ等それぞれとの間でパケットを送受信する。アクセスポイント３０は、端末１０Ａ等が送信した、ネットワークＮの先に存在する通信装置宛てのパケットをネットワークＮに転送するとともに、ネットワークＮから受信した、端末１０Ａ等宛てのパケットを端末１０Ａ等に転送する。また、アクセスポイント３０は、端末１０Ａ等同士のパケットの送受信を中継する。アクセスポイント３０は、無線ルータ３０Ａ及び無線中継機３０Ｂを含む概念である。
【０１０３】
以降において、端末１０Ａ等およびアクセスポイント３０の構成を順に説明する。
【０１０４】
端末１０Ａは、無線通信におけるステーション（ＳＴＡ）又は端末である。
【０１０５】
端末１０Ａは、無線通信インタフェースによってアクセスポイント３０と無線接続を確立し、確立した無線接続を通じてアクセスポイント３０との間でパケットを送受信する。端末１０Ａは、通信可能な装置であればどのようなものでもよく、コンピュータ、スマートフォン、通信機能を備えた各種機器（家電機器、産業機器又はオフィス機器）などであってもよい。
【０１０６】
端末１０Ｂ及び１０Ｃは、それぞれ、端末１０Ａと同じ機能を有し、端末１０Ａとは独立に動作する。
【０１０７】
図１１は、本実施の形態における端末１０の構成を示すブロック図である。図１２は、本実施の形態における端末１０が有する鍵管理テーブルを示す説明図である。
【０１０８】
図１１に示されるように、端末１０は、通信部１１と、プロセッサ１２と、メモリ１３とを備える。なお、端末１０は、図１０における端末１０Ａ、１０Ｂ及び１０Ｃそれぞれに相当する。
【０１０９】
通信部１１は、無線通信のインタフェース装置である。通信部１１は、アクセスポイント３０と無線で暗号通信をする。通信部１１が行う無線通信の通信規格は、例えばＩＥＥＥ８０２．１１シリーズ（ＩＥＥＥ８０２．１１ａ、ｂ、ｇ、ｎなど）の無線ＬＡＮであるが、これに限定されない。通信部１１は、インフラストラクチャモードでＳＴＡとして動作している。通信部１１は、アクセスポイント３０から、アクセスポイント３０がＧＴＫで暗号化したブロードキャストパケットを受信する。
【０１１０】
メモリ１３は、プロセッサ１２がプログラム２７を実行するときにワークエリアとして使用される記憶装置である。また、メモリ１３には、プログラム２７が格納されており、及び、プログラム２７の実行に必要な情報として例えば鍵管理テーブル２８が格納されている。鍵管理テーブル２８は、端末１０が行う暗号通信のためのグループ鍵を格納するためのテーブルである（図１２参照）。
【０１１１】
図１２に示されるように、鍵管理テーブル２８は、アクセスポイントのＳＳＩＤ、暗号情報、アクセスポイントのＭＡＣアドレス、および、鍵情報を対応付けて管理している。
【０１１２】
「アクセスポイントのＳＳＩＤ」は、端末１０が無線接続を確立している相手であるアクセスポイント３０のＳＳＩＤである。図１２では、一例として「ＳＳＩＤ２」と示されている。
【０１１３】
「暗号情報」は、端末１０とアクセスポイント３０との通信に用いられる暗号方式を特定する情報である。図１２では、一例として「ＷＰＡ２−ＰＳＫ−ＡＥＳ」と示されている。
【０１１４】
「アクセスポイントのＭＡＣアドレス」は、端末１０が無線接続を確立している相手であるアクセスポイント３０のＭＡＣアドレスである。図１２では、一例として「３３：４５：２０：６５：Ａ９：ＡＡ」と示されている。
【０１１５】
「鍵情報」は、端末１０とアクセスポイント３０との通信に用いられるグループ鍵である。図１２では、一例として「ＧＴＫ：Ａ」と示されている。
【０１１６】
プロセッサ１２は、メモリ１３を用いてプログラム２７を実行することで、判定部２１、制御部２３及び更新部２４の各機能を実現する処理装置である。また、プロセッサ１２は、端末１０により実行される一般のアプリケーションの制御を行う。以降において、プロセッサ１２が実現する上記の各機能を説明する。
【０１１７】
判定部２１は、アクセスポイント３０が暗号化したブロードキャストパケットを通信部１１を介して受信し、受信したブロードキャストパケットを第一グループ鍵で復号できるか否かを判定する。判定部２１による上記判定を第一判定ともいう。判定部２１は、上記ブロードキャストパケットを繰り返し受信した場合には、繰り返し受信したブロードキャストパケットそれぞれについて第一判定をする。
【０１１８】
より具体的には、判定部２１は、復号部２２を有しており、また、上記ブロードキャストパケットを受信する前に、これから受信するブロードキャストパケットの種別が予め定められている。この種別を第一種別ともいう。そして、判定部２１は、受信したブロードキャストパケットを第一グループ鍵で復号するための復号処理を復号部２２により行う。そして、判定部２１は、復号処理により得られた復号済パケットが、第一種別のブロードキャストパケットであるか否かを判定する。この判定を第二判定ともいう。そして、判定部２１は、復号済パケットが、第一種別のブロードキャストパケットであると第二判定で判定した場合に、ブロードキャストパケットを第一グループ鍵で復号できると判定する。
【０１１９】
制御部２３は、ブロードキャストパケットを第一グループ鍵で復号できないと判定部２１が第一判定で判定した場合に、第一グループ鍵の更新が必要であることを示す情報を生成する。例えば、制御部２３は、グループ鍵の更新を更新部２４に実行させる情報を生成する。具体的には、制御部２３は、アクセスポイントとの無線接続の切断および再接続の処理と、新たなグループ鍵の格納処理とを更新部２４に実行させる制御情報を生成する。
【０１２０】
更新部２４は、アクセスポイント３０から暗号通信のためのグループ鍵を取得し、取得したグループ鍵を第一グループ鍵として鍵管理テーブル２８に格納する。また、更新部２４は、制御部２３が生成した情報に基づいて、鍵管理テーブル２８が格納しているグループ鍵を更新する処理を行う。更新部２４は、グループ鍵を更新する処理として、アクセスポイント３０との無線接続を切断した後、所定時間以内に、通信部１１を介してアクセスポイント３０と新たな無線接続の確立処理を行う。そして、更新部２４は、確立処理により取得した、新たな無線接続における暗号通信のためのグループ鍵を第二グループ鍵として鍵管理テーブル２８に格納することで、第一グループ鍵を第二グループ鍵に更新する。
【０１２１】
ここで、所定時間は、アクセスポイント３０の実装仕様に依存するが、例えば１２分〜３０分程度以下であり、より特定的には１２分以下である。このようにすることで、アクセスポイント３０が新たな無線接続の確立処理の際にＧＴＫを更新し、更新後のＧＴＫを端末に送信しないという挙動、つまり比較例１及び２で示した挙動を回避できる。
【０１２２】
なお、ＩＥＥＥ８０２．１１シリーズの無線ＬＡＮ規格では、グループ鍵を取得するための専用の手順または処理が規定されていない。そこで、端末１０は、上記のように無線接続の切断と、新たな無線接続の確立との処理を利用して、グループ鍵の取得をする。このようにすることで、ＩＥＥＥ８０２．１１シリーズの無線ＬＡＮ規格に修正を加えることなく、端末１０がグループ鍵を取得できる利点がある。
【０１２３】
なお、グループ鍵を更新する処理として、無線接続の切断と接続とのための操作をユーザに促すメッセージを画面に表示、または、音声により出力するようにしてもよい。このようにすれば、ユーザの意思に反して端末１０が無線接続を切断することを回避できる利点がある。
【０１２４】
ここで、第一種別のブロードキャストパケットの一例は、ＤＨＣＰ  ＡＣＫパケットである。この場合、制御部２３は、ブロードキャストパケットを受信する前に、ＤＨＣＰ  Ｔ２リクエストパケットであって、当該パケット内のブロードキャストフラグがＴｒｕｅに設定されたパケット（単にＤＨＣＰ  Ｔ２リクエストパケットともいう）をＤＨＣＰサーバとしてのアクセスポイント３０に対して通信部１１を介して送信する。すると、判定部２１は、送信されたＴ２リクエストパケットに対する応答としてアクセスポイント３０からブロードキャストパケットであるＤＨＣＰ  ＡＣＫパケットを受信する。判定部２１は、第二判定において、復号処理により得られた復号済パケットが、予め定められた種別のブロードキャストパケットとしてのＤＨＣＰ  ＡＣＫパケットであるか否かを判定する。なお、この場合、制御部２３は、ＤＨＣＰ  Ｔ２リクエストパケットを繰り返し送信することによって、ＤＨＣＰ  ＡＣＫパケットを繰り返し受信するようにしてもよい。この場合、判定部２１は、繰り返し受信したＤＨＣＰ  ＡＣＫパケットそれぞれについて第二判定をする。繰り返しの送信は、例えば１分〜５分程度である。このようにすることで、判定部２１は、アクセスポイント３０が暗号化に使用するグループ鍵が更新されたか否かを常時監視し、更新された場合にはその１分〜５分後に知ることができる。
【０１２５】
なお、ＤＨＣＰ  Ｔ２リクエストパケットの宛先は、ＤＨＣＰサーバである。アクセスポイント３０がＤＨＣＰサーバ３４を備えている場合には、ＤＨＣＰ  Ｔ２リクエストパケットの宛先がアクセスポイント３０に一致する。
【０１２６】
なお、アクセスポイント３０がＤＨＣＰサーバ機能を有しておらず、アクセスポイント３０とは別のＤＨＣＰサーバ装置が存在する場合でも、ＤＨＣＰ  ＡＣＫパケットがアクセスポイント３０により端末１０へ転送されるので、上記説明が成立する。
【０１２７】
また、予め定められた種別のブロードキャストパケットの他の一例は、アクセスポイント３０と無線通信をする他の端末が送信してアクセスポイント３０が転送した、予め定められた種別のブロードキャストパケットである。この場合、判定部２１は、復号処理により得られた復号済パケットが、上記他の端末が送信した予め定められた種別のブロードキャストパケットであるか否かを判定する。
【０１２８】
なお、制御部２３は、さらに、ブロードキャストパケットを受信すべき所定期間にブロードキャストパケットを受信しない場合に、第一グループ鍵の更新が必要であることを示す情報を生成してもよい。なお、所定期間は、例えば、上記のようにＤＨＣＰのパケットを用いる場合には、ＤＨＣＰ  Ｔ２リクエストを送信してから数秒〜数分以内とすることができる。
【０１２９】
この場合、判定部２１は、さらに、ブロードキャストパケットの送信元装置と通信部１１との通信を試行することで上記送信元装置が通信可能な状態であるか否かを判定してもよい。そして、判定部２１は、上記送信元装置が通信可能な状態であると判定した場合に限り、第一グループ鍵の更新が必要であることを示す情報を生成してもよい。
【０１３０】
上記所定期間にブロードキャストパケットを受信しないという条件だけで第一グループ鍵の更新が必要であると判定すると、アクセスポイント３０がＧＴＫを更新した場合だけでなく、上記送信元装置が動作を停止した場合にも、第一グループ鍵の更新が必要であることを示す情報が生成される。そこで、判定部２１は、通信部１１と上記送信元装置との通信の試行を行って上記送信元装置が通信可能つまり動作を停止していないことがわかったときだけ上記情報を生成するようにすれば、ＧＴＫを更新していないのに第一グループ鍵の更新が必要であるという情報を生成することを未然に回避できる利点がある。
【０１３１】
通信部１１と上記送信元装置との通信の試行は、例えば、ｐｉｎｇコマンドを用いた方法、つまりｐｉｎｇリクエスト（Ｅｃｈｏリクエスト）の送信、及び、ｐｉｎｇレスポンス（Ｅｃｈｏリプライ）の受信（言い換えればＩＣＭＰパケットの往復）によりなされ得る。
【０１３２】
なお、ｐｉｎｇリクエストの宛先は、上記送信元装置である。上記第一種別のブロードキャストパケットとしてＤＨＣＰ  ＡＣＫパケットを用いる場合には、ｐｉｎｇリクエストの宛先は、ＤＨＣＰサーバである。アクセスポイント３０がＤＨＣＰサーバ３４を備えている場合には、ｐｉｎｇリクエストパケットの宛先はアクセスポイント３０に一致する。
【０１３３】
なお、上記送信元装置との通信の試行は、所定期間にブロードキャストパケットを受信しない場合だけでなく、常時なされてもよい。
【０１３４】
図１３は、本実施の形態におけるアクセスポイント３０の構成を示すブロック図である。
【０１３５】
図１３に示されるように、アクセスポイント３０は、通信部３１と、暗号化部３２と、鍵管理テーブル３３とを備える。アクセスポイント３０は、さらに、ＤＨＣＰサーバ３４を備えてもよい。
【０１３６】
通信部３１は、無線通信のインタフェース装置である。通信部３１は、端末１０と無線で暗号通信をする。通信部３１が行う無線通信の通信規格は、例えばＩＥＥＥ８０２．１１シリーズの無線ＬＡＮであるが、これに限定されない。通信部３１は、インフラストラクチャモードでＡＰとして動作している。通信部３１は、暗号化部３２が暗号化したブロードキャストパケットを受信する。
【０１３７】
暗号化部３２は、アクセスポイント３０が端末１０に送信すべきブロードキャストパケットを暗号化する。暗号化部３２は、アクセスポイント３０が端末１０に送信すべきブロードキャストパケットを取得した場合に、鍵管理テーブル３３が保有しているグループ鍵を取得し、取得したグループ鍵を用いて上記ブロードキャストパケットを暗号化する。
【０１３８】
鍵管理テーブル３３は、ブロードキャストパケットの暗号化に用いるグループ鍵が格納されているテーブルである。グループ鍵は、アクセスポイント３０が行う処理に基づいて所定のタイミングで更新される。そして、グループ鍵が更新された場合には、アクセスポイント３０により、アクセスポイント３０に無線接続している端末に通知されることが想定される。しかしながら、アクセスポイント３０の実装によっては、グループ鍵が更新された場合に端末への通知がなされないことが生じ得る。
【０１３９】
ＤＨＣＰサーバ３４は、アクセスポイント３０に無線接続している端末１０にＩＰアドレスを割り当てるためのＤＨＣＰプロトコルのサーバとして機能する。ＤＨＣＰサーバ３４は、端末１０にＩＰアドレスを割り当てる一連の処理の中で、ブロードキャストパケットであるＤＨＣＰ  ＡＣＫパケットを送信する。ＤＨＣＰ  ＡＣＫパケットは、一例としてＤＨＣＰ  Ｔ２リクエストパケットを受信した場合に送信される。
【０１４０】
以上のように構成された端末１０および通信システムの動作を以下で説明する。以下では、本実施の形態に係る課題解決に最低限必要な第一の動作、上記第一の動作をより具体的に示す第二の動作、さらに、無線ルータと無線中継機との両方が存在する場合の第三の動作について順に説明する。
【０１４１】
（１）第一の動作
図１４は、本実施の形態における端末１０の通信処理を示すフローである。
【０１４２】
ステップＳ１において、通信部１１は、アクセスポイント３０との間で無線接続を確立する。このとき、通信部１１は、アクセスポイント３０からＧＴＫ（第一グループ鍵に相当）を取得する。
【０１４３】
ステップＳ２において、制御部２３は、アクセスポイント３０から送信されるブロードキャストパケットを受信する。
【０１４４】
ステップＳ３において、判定部２１は、ステップＳ２で受信したブロードキャストパケットに対して、復号部２２によって復号処理を施して復号できるか否かを判定する。復号できると判定した場合（ステップＳ３でＹｅｓ）には、ステップＳ２に戻って処理を継続し、そうでない場合（ステップＳ３でＮｏ）にはステップＳ４に進む。
【０１４５】
ステップＳ４において、更新部２４は、アクセスポイント３０との無線接続を切断する。
【０１４６】
ステップＳ５において、更新部２４は、ステップＳ４で無線接続を切断した後、所定時間以内に、アクセスポイント３０と新たな無線接続の確立処理を行う。このとき、新たな無線接続で用いられる新たなＧＴＫ（第二グループ鍵に相当）を取得する。
【０１４７】
ステップＳ６において、更新部２４は、ステップＳ５で取得したＧＴＫを鍵管理テーブル２８に格納することで、鍵管理テーブル２８を更新する。ステップＳ６を終えたら、ステップＳ２に進む。
【０１４８】
図１５は、本実施の形態における通信システム１での通信を示すシーケンス図である。図１５のシーケンス図を参照しながら、通信システム１の動作を説明する。
【０１４９】
図１５において、アクセスポイント３０と端末１０との無線接続の確立によって、端末１０は、ＧＴＫ：Ａ（第一グループ鍵に相当）を取得する（ステップＳ１）。これにより、端末１０は、グループ鍵としてＧＴＫ：Ａを保有している状態になる。
【０１５０】
その後、ＧＴＫ：Ａで暗号化されたブロードキャストパケットをアクセスポイント３０が繰り返し送信する。端末１０は、繰り返し送信されるブロードキャストパケットを受信すると、受信する都度に、受信したブロードキャストパケットに復号処理を施し、ＧＴＫ：Ａで復号できることを判定する（ステップＳ３でＹｅｓ）。
【０１５１】
そして、アクセスポイント３０がＧＴＫを更新し、かつ、更新したＧＴＫを端末１０に送信しないという事象が生じたとする。この後、アクセスポイント３０は、グループ鍵ＧＴＫ：Ｂを保有した状態になり、ＧＴＫ：Ｂで暗号化したブロードキャストパケットを端末１０に送信する。
【０１５２】
アクセスポイント３０がグループ鍵を更新した後に送信したブロードキャストパケットを受信した端末１０は、受信したブロードキャストパケットについてＧＴＫ：Ａで復号処理を施すが、復号処理によって得られた復号済パケットが所定のブロードキャストパケットではないので、復号できないと判定する（ステップＳ３でＮｏ）。
【０１５３】
その後、端末１０は、無線接続を切断し（ステップＳ４）た後、無線接続を確立することでＧＴＫ：Ｂ（第二グループ鍵に相当）を取得することで、グループ鍵を更新する（ステップＳ６）。
【０１５４】
グループ鍵の更新後、端末１０は、アクセスポイント３０によりＧＴＫ：Ｂで暗号化されて送信されたブロードキャストパケットをＧＴＫ：Ｂで復号できる（ステップＳ３でＹｅｓ）。
【０１５５】
（２）第二の動作
第二の動作では、第一の動作におけるブロードキャストパケットがＤＨＣＰ  ＡＣＫパケットであり、かつ、ｐｉｎｇによる通信の試行がなされる場合の動作を説明する。なお、ここでは、制御部２３及び判定部２１の機能の一部は、一般のＤＨＣＰクライアントのアプリケーションに相当している。
【０１５６】
図１６は、本実施の形態における端末１０の通信処理を示すフローである。
【０１５７】
ステップＳ１０１において、通信部１１は、アクセスポイント３０との間で無線接続を確立する。このとき、通信部１１は、アクセスポイント３０からＧＴＫ（第一グループ鍵に相当）を取得する。
【０１５８】
ステップＳ１０２において、制御部２３は、ＤＨＣＰ  Ｔ２リクエストパケットをアクセスポイント３０に通信部１１により送信する。
【０１５９】
ステップＳ１０３において、制御部２３は、ステップＳ１０２で送信したＤＨＣＰ  Ｔ２リクエストパケットの応答としてアクセスポイント３０から送信されるブロードキャストパケットを受信したか否かを判定する。このブロードキャストパケットは、ステップＳ１０２で送信したＤＨＣＰ  Ｔ２リクエストパケットに対してＤＨＣＰサーバが送信したＤＨＣＰ  ＡＣＫパケットであることが想定される。上記ブロードキャストパケットを受信したと判定した場合（ステップＳ１０３でＹｅｓ）には、ステップＳ１０４に進み、そうでない場合（ステップＳ１０３でＮｏ）には、ステップＳ１０５に進む。
【０１６０】
ステップＳ１０４において、判定部２１は、ステップＳ１０３で受信したブロードキャストパケットに対して復号部２２が復号処理を施すことによって、ＤＨＣＰ  ＡＣＫパケットを復号できるか否かを判定する。復号できると判定した場合（ステップＳ１０４でＹｅｓ）には、ステップＳ１０２に戻って処理を継続し、そうでない場合（ステップＳ１０４でＮｏ）にはステップＳ１０５に進む。なお、上記判定は、ＤＨＣＰクライアントのアプリケーションにおいては、ステップＳ１０２で送信したＤＨＣＰ  Ｔ２リクエストパケットに対してＤＨＣＰサーバが送信するＤＨＣＰ  ＡＣＫパケットを所定時間以内に受信できたか否かの判定によりなされる。
【０１６１】
ステップＳ１０５において、判定部２１は、アクセスポイント３０にｐｉｎｇリクエスト（Ｅｃｈｏリクエスト）を送信する。
【０１６２】
ステップＳ１０６において、判定部２１は、アクセスポイント３０からｐｉｎｇレスポンスを受信したか否かを判定する。受信するｐｉｎｇレスポンスは、ステップＳ１０５で送信したｐｉｎｇリクエストに対する返信としてアクセスポイント３０から送信され得るものである。ｐｉｎｇレスポンスを受信した場合（ステップＳ１０６でＹｅｓ）にはステップＳ１０７に進み、そうでない場合（ステップＳ１０６でＮｏ）はステップＳ１０２に戻って処理を継続する。
【０１６３】
ステップＳ１０７において、更新部２４は、アクセスポイント３０との無線接続を切断する。
【０１６４】
ステップＳ１０８において、更新部２４は、ステップＳ１０７で無線接続を切断した後、所定時間以内に、アクセスポイント３０と新たな無線接続の確立処理を行う。このとき、新たな無線接続で用いられる新たなＧＴＫ（第二グループ鍵に相当）を取得する。
【０１６５】
ステップＳ１０９において、更新部２４は、ステップＳ１０８で取得したＧＴＫを鍵管理テーブル２８に格納することで、鍵管理テーブル２８を更新する。ステップＳ１０９を終えたら、ステップＳ１０２に進む。
【０１６６】
図１７は、本実施の形態における通信システム１での通信を示すシーケンス図である。図１７のシーケンス図を参照しながら、通信システム１の動作を説明する。
【０１６７】
図１７において、アクセスポイント３０と端末１０との無線接続の確立によって、端末１０は、ＧＴＫ：Ａ（第一グループ鍵に相当）を取得する（ステップＳ１０１）。これにより、端末１０は、グループ鍵としてＧＴＫ：Ａを保有している状態になる。
【０１６８】
その後、端末１０は、ＤＨＣＰ  Ｔ２リクエストパケットを繰り返しアクセスポイント３０に送信する（ステップＳ１０２）と、ＧＴＫ：Ａで暗号化されたＤＨＣＰ  ＡＣＫパケットをアクセスポイント３０が繰り返し送信する。端末１０は、繰り返し送信されるＤＨＣＰ  ＡＣＫパケットを受信すると、受信する都度に、受信したＤＨＣＰ  ＡＣＫパケットに復号処理を施し、ＧＴＫ：Ａで復号できることを判定する（ステップＳ１０４でＹｅｓ）。
【０１６９】
そして、アクセスポイント３０がＧＴＫを更新し、かつ、更新したＧＴＫを端末１０に送信しないという事象が生じたとする。この後、アクセスポイント３０は、グループ鍵ＧＴＫ：Ｂを保有した状態になり、ＧＴＫ：Ｂで暗号化したＤＨＣＰ  ＡＣＫパケットを端末１０に送信する。
【０１７０】
アクセスポイント３０がグループ鍵を更新した後に送信したＤＨＣＰ  ＡＣＫパケットを受信した端末１０は、受信したＤＨＣＰ  ＡＣＫパケットについてＧＴＫ：Ａで復号処理を施すが、復号処理によってＤＨＣＰ  ＡＣＫパケットが得られないので、復号できないと判定する（ステップＳ１０４でＮｏ）。
【０１７１】
次に、端末１０は、ｐｉｎｇリクエストを送信し、その応答であるｐｉｎｇレスポンスを受信することで、アクセスポイント３０が通信可能な状態であることを知る（ステップＳ１０６でＹｅｓ）。
【０１７２】
その後、端末１０は、無線接続を切断し（ステップＳ１０７）た後、無線接続を確立することでＧＴＫ：Ｂ（第二グループ鍵に相当）を取得することで、グループ鍵を更新する（ステップＳ１０８、Ｓ１０９）。
【０１７３】
グループ鍵の更新後、端末１０は、アクセスポイント３０によりＧＴＫ：Ｂで暗号化されて送信されたＤＨＣＰ  ＡＣＫパケットを受信し、ＧＴＫ：Ｂで復号できるようになる。
【０１７４】
（３）第三の動作
図１８は、本実施の形態における通信システムの第三の動作を示すシーケンス図である。図１８を参照しながら、アクセスポイント３０としての無線ルータ３０Ａと、アクセスポイント３０としての無線中継機３０Ｂと、端末１０とを備える通信システム２での動作を説明する。ここで、ＤＨＣＰサーバ３４は、無線ルータ３０Ａに備えられており、無線中継機３０Ｂには備えられていない。
【０１７５】
図１８のようにアクセスポイント３０として動作する機器が２個ある場合、端末１０が送信するＤＨＣＰ  Ｔ２リクエストの宛先は、ＤＨＣＰサーバ３４を備えている無線ルータ３０Ａである。また、同様に、端末１０が送信するｐｉｎｇリクエストの宛先は、ＤＨＣＰサーバ３４を備えている無線ルータ３０Ａである。
【０１７６】
その他の点では、図１７に示される動作と同様であるので詳細な説明を省略する。
【０１７７】
（変形例１）
本変形例では、端末が受信するブロードキャストパケットが、無線中継機に接続している他の端末が送信するブロードキャストパケットである場合を説明する。
【０１７８】
図１９は、本変形例における通信システムの動作を示すシーケンス図である。図１９に示されるシーケンス図は、上記実施の形態の（１）第一の動作（図１５参照）において、端末１０が受信するブロードキャストパケットが、アクセスポイント３０に接続されている他の端末が送信してアクセスポイント３０によって転送されたブロードキャストパケットである場合を示している。
【０１７９】
この場合、判定部２１による第二判定に用いられる「予め定められた種別のブロードキャストパケット」は、アクセスポイント３０と無線通信をする他の端末１０Ｂが送信してアクセスポイント３０が転送した、予め定められた種別のブロードキャストパケットである。また、ブロードキャストパケットを受信すべき所定期間は、他の端末１０Ｂがブロードキャストパケットを送信する時刻から数秒〜数分以内とすることができる。他の端末１０Ｂがブロードキャストパケットを送信する時刻は、他の端末１０Ｂとの情報共有によって取得してもよいし、他の端末１０Ｂが実際に定期的に送信しているブロードキャストパケットの受信時刻に基づいて、その周期およびタイミングを算出することで取得してもよい。
【０１８０】
図１９に示されるように、端末１０Ａは、アクセスポイント３０がＧＴＫ：Ａで暗号化したブロードキャストパケットを受信する。このブロードキャストパケットは、アクセスポイント３０に接続されている他の端末１０Ｂが送信したものである。
【０１８１】
端末１０Ａは、ブロードキャストパケットを受信すると、受信したブロードキャストパケットに対する復号処理を施した結果として得られる復号済みパケットが、端末１０Ｂが送信したブロードキャストパケットであるか否かを判定する。
【０１８２】
その他の点では、実施の形態における動作と同様であるので説明を省略する。
【０１８３】
（変形例２）
図２０は、本変形例における通信システムの動作を示すシーケンス図である。
【０１８４】
本変形例では、通信規格が互いに異なる２つの通信部を備えている端末１０が、その一方の通信部によりブロードキャストパケットを送信し、送信したブロードキャストパケットがアクセスポイントによって転送されて他方の通信部によって受信する場合に、上記他方の通信部が受信するブロードキャストパケットを利用する場合を説明する。
【０１８５】
図２０に示されるシーケンス図は、上記実施の形態の（１）第一の動作（図１５参照）において、端末１０が受信するブロードキャストパケットが、端末１０が有する別の通信部が送信してアクセスポイント３０によって転送されたブロードキャストパケットである場合を示している。
【０１８６】
この場合、判定部２１による第二判定に用いられる「予め定められた種別のブロードキャストパケット」は、端末１０が有する別の通信部が送信してアクセスポイント３０が転送した、予め定められた種別のブロードキャストパケットである。
【０１８７】
図２０に示されるように、端末１０は、２つの通信部１１Ａ及び１１Ｂを備えている。
【０１８８】
通信部１１Ｂは、アクセスポイント３０が暗号化したブロードキャストパケットを受信する。このブロードキャストパケットは、通信部１１Ａが送信したものである。この場合、端末１０は、通信部１１Ａが送信しているブロードキャストパケットの内容を保持しており、通信部１１Ｂが受信したブロードキャストパケットに対する復号処理を施した結果として得られる復号済みパケットが、通信部１１Ａが送信したブロードキャストパケットであるか否かを判定する。
【０１８９】
その他の点では、実施の形態における動作と同様であるので説明を省略する。
【０１９０】
（変形例３）
図２１及び図２２は、本変形例における通信システムの動作を示すシーケンス図である。
【０１９１】
本変形例では、アクセスポイント３０が、繰り返しブロードキャストパケットを送信する機能を有する無線ルータ３０Ａである場合を説明する。一例として、無線ルータ３０ＡがＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）のＩＧＤ（Ｉｎｔｅｒｎｅｔ  Ｇａｔｅｗａｙ  Ｄｅｖｉｃｅ）機能を搭載しているときに定期的にマルチキャストで送信するｓｓｄｐ：ａｌｉｖｅパケットを利用することができる。
【０１９２】
図２１は、本変形例における通信システムの第一の動作を示すシーケンス図である。図２１に示されるシーケンス図は、上記実施の形態の（１）第一の動作（図１５参照）において、端末１０が受信するブロードキャストパケットが、無線ルータ３０Ａが定期的に送信するマルチキャストパケットであるｓｓｄｐ：ａｌｉｖｅパケットである場合を示している。また、図２１は、端末１０が、無線中継機を介さずに無線ルータ３０Ａに接続されている場合を示している。
【０１９３】
この場合、判定部２１による第二判定に用いられる「予め定められた種別のブロードキャストパケット」は、無線ルータ３０Ａが送信したｓｓｄｐ：ａｌｉｖｅパケットである。また、ブロードキャストパケットを受信すべき所定期間は、無線ルータ３０Ａがｓｓｄｐ：ａｌｉｖｅパケットを送信する時刻として予め定められた時刻から数秒〜数分以内とすることができる。無線ルータ３０Ａがｓｓｄｐ：ａｌｉｖｅパケットを送信する時刻は、無線ルータ３０Ａが実際に定期的に送信しているｓｓｄｐ：ａｌｉｖｅパケットの受信時刻に基づいて、その周期およびタイミングを算出することで取得できる。
【０１９４】
図２１に示されるように、端末１０は、無線ルータ３０ＡがＧＴＫ：Ａで暗号化したマルチキャストパケットであるｓｓｄｐ：ａｌｉｖｅパケットを受信する。この場合、端末１０は、受信したｓｓｄｐ：ａｌｉｖｅパケットに対する復号処理を施した結果として得られる復号済みパケットが、ｓｓｄｐ：ａｌｉｖｅパケットであるか否かを判定する。
【０１９５】
その他の点では、実施の形態における動作と同様であるので説明を省略する。
【０１９６】
図２２は、本変形例における通信システムの第二の動作を示すシーケンス図である。図２２に示されるシーケンス図は、上記実施の形態の（１）第一の動作（図１５参照）において、端末１０が受信するブロードキャストパケットが、無線ルータ３０Ａが送信して無線中継機３０Ｂが転送したマルチキャストパケットであるｓｓｄｐ：ａｌｉｖｅパケットである場合を示している。図２２では、端末１０が、無線中継機３０Ｂを介して無線ルータ３０Ａに接続されている。
【０１９７】
図２２に示されるように、端末１０は、無線ルータ３０Ａが送信した後、無線中継機３０ＢがＧＴＫ：Ａで暗号化したブロードキャストパケットであるｓｓｄｐ：ａｌｉｖｅパケットを送信する。この場合、端末１０は、受信したｓｓｄｐ：ａｌｉｖｅパケットに対する復号処理を施した結果として得られる復号済みパケットが、ｓｓｄｐ：ａｌｉｖｅパケットであるか否かを判定する。
【０１９８】
なお、図２２では、無線中継機３０ＢのＧＴＫが更新された場合を示しているが、無線ルータ３０ＡのＧＴＫが更新された場合でも、端末１０の動作は同様である。
【０１９９】
その他の点では、実施の形態における動作と同様であるので説明を省略する。
【０２００】
以上のように、本実施の形態の端末は、アクセスポイントから受信したブロードキャストパケット（言い換えれば広義のブロードキャストのパケット）を第一グループ鍵で復号できないときに、生成した情報に基づいて、グループ鍵の更新のための処理を実行することができる。上記ブロードキャストパケットを第一グループ鍵で復号できないことは、アクセスポイントがグループ鍵を更新し、その更新後のグループ鍵を端末に送信しない、という挙動をした場合に生ずる。端末は、アクセスポイントが上記挙動をした場合に、グループ鍵の更新のための処理を実行することで、その更新後のグループ鍵を取得し、アクセスポイントが送信するブロードキャストパケットの復号が可能な状態になることができる。このように、端末は、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、その復号が可能な状態にすることができる。
【０２０１】
また、端末は、グループ鍵の更新が必要であると判断した場合に、無線接続の切断と、新たな無線接続の確立処理とを行うことで、グループ鍵の更新を行う。よって、グループ鍵の更新のための専用の処理を行うことなく、既存の無線通信の処理を利用してグループ鍵の更新を行うことができる。よって、端末は、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、既存の無線通信の処理を利用した処理により、その復号が可能な状態にすることができる。
【０２０２】
また、端末は、アクセスポイントから受信したブロードキャストパケットを復号できる状態を維持しているか否かを監視し、ブロードキャストパケットを復号できない状態になった場合にそのことを早期に検出して、グループ鍵の更新処理を行うことができる。よって、端末は、アクセスポイントから受信したブロードキャストパケットを復号できない場合に、そのことをより早い時点で検出し、その復号が可能な状態にすることができる。
【０２０３】
また、端末は、これから受信すべきブロードキャストパケットの種別を予め定めて保有しており、復号により得られたパケットの種別と、予め定めた種別との一致判定に基づいて、受信したブロードキャストパケットを復号できるか否かの判定を行う。よって、端末は、より容易に、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【０２０４】
また、端末は、ＤＨＣＰプロトコルのメッセージを利用してアクセスポイントにブロードキャストパケットを送信させる。具体的には、ブロードキャストフラグがＴｒｕｅであるＤＨＣＰ  Ｔ２リクエストパケットを受信した場合に、ＤＨＣＰサーバがＤＨＣＰ  ＡＣＫパケットをブロードキャストで送信するという従来のＤＨＣＰプロトコルのしくみを利用して、アクセスポイントにブロードキャストパケットを送信させる。よって、端末は、既存のＤＨＣＰプロトコルを利用してより容易に、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【０２０５】
また、端末は、アクセスポイントにＤＨＣＰ  ＡＣＫパケットを繰り返し送信させることができ、その結果として、アクセスポイントからブロードキャストパケットであるＤＨＣＰ  ＡＣＫパケットを繰り返し受信することができる。これにより、アクセスポイントから受信したブロードキャストパケットを復号できる状態を維持しているか否かを監視しその復号ができない場合に可能な状態にすることができる。よって、端末は、既存のＤＨＣＰプロトコルを利用してより早期に、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【０２０６】
また、端末は、アクセスポイントに接続されている他の端末によるブロードキャストパケットの送信を利用して、アクセスポイントにブロードキャストパケットを送信させる。よって、端末は、他の端末を利用してより容易に、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【０２０７】
また、端末は、所定期間に受信すべきブロードキャストパケットを受信しない場合にもグループ鍵の更新のための処理を実行する。通信部の実装仕様によっては、受信したブロードキャストパケットを、保有しているグループ鍵で正常に復号できない場合に、当該ブロードキャストパケットを受信していないとして扱うことがあり得る。そのような場合、プロセッサは、ブロードキャストパケットを復号できないことを、ブロードキャストパケットを受信すべき所定期間内に当該ブロードキャストパケットを受信しないということから知ることができる。よって、端末は、通信部の実装仕様によらずに、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【０２０８】
また、端末は、ブロードキャストパケットを受信すべき所定期間内に当該ブロードキャストパケットを受信しないということから、ブロードキャストパケットを復号できないことを知った場合には、ブロードキャストパケットの送信元装置が動作を停止している可能性がある。このような場合には、端末がグループ鍵の更新をするべきではない。そこで、端末は、上記送信元装置との通信の試行を行って上記送信元装置が通信可能つまり動作を停止していないことがわかったときだけグループ鍵の更新の処理に進めるようにすることで、より適切にグループ鍵の更新をすることができる。よって、グループ鍵の更新が不要である場合にグループ鍵の更新をしてしまうことを未然に回避しながら、アクセスポイントから受信したブロードキャストパケットの復号が可能な状態にすることができる。
【０２０９】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態の端末などを実現するソフトウェアは、次のようなプログラムである。
【０２１０】
すなわち、このプログラムは、コンピュータに、端末が実行する通信方法であって、前記端末は、アクセスポイントと無線で暗号通信をする通信部と、プロセッサと、前記プロセッサによって実行される少なくとも１つのプログラムと、前記暗号通信のためのグループ鍵を格納するための鍵管理テーブルとを記憶しているメモリとを備え、前記通信方法では、プロセッサにより、前記アクセスポイントから前記暗号通信のためのグループ鍵を取得し、取得した前記グループ鍵を第一グループ鍵として前記鍵管理テーブルに格納し、前記アクセスポイントが暗号化したブロードキャストパケットを前記通信部を介して受信し、受信した前記ブロードキャストパケットを前記第一グループ鍵で復号できるか否かを判定する第一判定をし、前記ブロードキャストパケットを前記第一グループ鍵で復号できないと前記第一判定で判定した場合に、前記第一グループ鍵の更新が必要であることを示す情報を生成する通信方法を実行させるプログラムである。
【０２１１】
以上、一つまたは複数の態様に係る端末などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０２１２】
本発明は、無線通信のアクセスポイントに接続する端末である、スマートフォン、パーソナルコンピュータ、家電機器、産業機器又はオフィス機器などに利用可能である。
【符号の説明】
【０２１３】
１、２、９、９Ａ    通信システム
１０、１０Ａ、１０Ｂ、１０Ｃ、９０Ａ、９０Ｂ、９０Ｃ、９０Ｄ、９０Ｅ、９０Ｆ、９０Ｇ、９０Ｈ    端末
１１、１１Ａ、１１Ｂ、３１    通信部
１２    プロセッサ
１３    メモリ
２１    判定部
２２    復号部
２３    制御部
２４    更新部
２７    プログラム
２８、３３    鍵管理テーブル
３０    アクセスポイント
３０Ａ    無線ルータ
３０Ｂ    無線中継機
３２    暗号化部
３４    ＤＨＣＰサーバ
Ｎ    ネットワーク
【図１】
2020108131.tif 000003
【図２】
2020108131.tif 000004
【図３】
2020108131.tif 000005
【図４】
2020108131.tif 000006
【図５】
2020108131.tif 000007
【図６】
2020108131.tif 000008
【図７】
2020108131.tif 000009
【図８】
2020108131.tif 000010
【図９】
2020108131.tif 000011
【図１０】
2020108131.tif 000012
【図１１】
2020108131.tif 000013
【図１２】
2020108131.tif 000014
【図１３】
2020108131.tif 000015
【図１４】
2020108131.tif 000016
【図１５】
2020108131.tif 000017
【図１６】
2020108131.tif 000018
【図１７】
2020108131.tif 000019
【図１８】
2020108131.tif 000020
【図１９】
2020108131.tif 000021
【図２０】
2020108131.tif 000022
【図２１】
2020108131.tif 000023
【図２２】
2020108131.tif 000024