(58)【調査した分野】(Int.Cl.,DB名)
通信端末との認証に用いる第1の認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、前記通信端末に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定する判定部と、
前記第1の認証情報が前記発行要求情報に基づいて生成されていると前記判定部が判定した場合、前記第1の鍵と異なる第2の鍵を生成する鍵生成部と、
前記生成した第2の鍵を前記通信端末に送信する通信部と、
前記通信端末に前記第2の鍵を送信した場合、前記第2の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行い、前記第1の認証情報が前記第1の鍵に基づいて生成されていると前記判定部が判定した場合、前記第1の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行う通信制御部と、
を備える通信装置。
前記判定部は、前記第1の認証情報と異なる第2の認証情報および前記発行要求情報を用いて生成した暗号化鍵と、前記第1の認証情報との比較結果に基づいて、前記第1の認証情報が前記発行要求情報に基づいて生成されているかを判定する、
請求項1〜3のいずれか1項に記載の通信装置。
通信端末との認証に用いる第1の認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、前記通信端末に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定し、
前記第1の認証情報が前記発行要求情報に基づいて生成されていると判定した場合、前記第1の鍵と異なる第2の鍵を生成し、
前記生成した第2の鍵を前記通信端末に送信し、
前記通信端末に前記第2の鍵を送信した場合、前記第2の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行い、前記第1の認証情報が前記第1の鍵に基づいて生成されていると判定された場合、前記第1の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行う、
通信装置における通信制御方法。
通信端末との認証に用いる第1の認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、前記通信端末に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定し、
前記第1の認証情報が前記発行要求情報に基づいて生成されていると判定された場合、前記第1の鍵と異なる第2の鍵を生成し、
前記生成した第2の鍵を前記通信端末に送信し、
前記通信端末に前記第2の鍵を送信した場合、前記第2の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行い、前記第1の認証情報が前記第1の鍵に基づいて生成されていると判定された場合、前記第1の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行う、
処理を通信装置に実行させる通信制御プログラム。
【発明を実施するための形態】
【0016】
以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一の要素には、同一の符号を付し、重複する説明は省略される。
(実施の形態の概要)
実施の形態の説明に先立って、実施の形態の概要を説明する。まず、
図1を用いて、実施の形態の概要にかかる通信システム1について説明する。
図1は、実施の形態の概要にかかる通信システムの構成例を示す構成図である。
【0017】
通信システム1は、無線LANシステムであってもよく、有線LANシステムであってもよい。または、通信システム1は、例えば、LTEなどの通信事業者が提供するモバイルネットワークであってもよい。通信システム1は、通信装置10と通信端末20とを備える。
【0018】
通信装置10は、通信回線(ネットワーク)を介して、通信端末20と接続および通信を行う。通信装置10は、通信端末20と接続する場合、鍵を用いた認証を行い、認証が完了すると通信端末20と接続可能となる。通信装置10と通信端末20との間の認証方式は、例えば、PSK(Pre-Shared Key)方式であってもよい。通信装置10は、例えば、サーバ、ルータ、無線基地局、制御装置、無線LANアクセスポイント、携帯電話端末、スマートフォン端末、タブレット型端末、パーソナルコンピュータ装置、モバイルルータ等の通信装置であってもよい。通信回線は、無線回線であってもよく、有線回線であってもよく、無線回線と有線回線との組み合わせであってもよい。
【0019】
通信端末20は、例えば、無線LAN子機、携帯電話端末、スマートフォン端末、タブレット型端末、パーソナルコンピュータ装置、モバイルルータ等の通信装置であってもよい。
【0020】
続いて、通信装置10の構成について説明する。通信装置10は、判定部11と、鍵生成部12と、通信部13と、通信制御部14とを備える。判定部11、鍵生成部12、通信部13および通信制御部14は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。また、判定部11、鍵生成部12、通信部13および通信制御部14は、回路もしくはチップ等のハードウェアであってもよい。
【0021】
判定部11は、通信端末20との認証に用いる認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、通信端末20に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定する。第1の鍵または発行要求情報は、通信端末20に予め設定されていてもよい。
【0022】
鍵生成部12は、認証情報が発行要求情報に基づいて生成されていると判定部11が判定した場合、第1の鍵と異なる第2の鍵を生成する。鍵生成部12は、乱数を発生させることにより第2の鍵を生成してもよい。
【0023】
通信部13は、鍵生成部12が生成した第2の鍵を通信端末20に送信する。通信部13は、第2の鍵を通信端末20に送信する場合、第2の鍵を暗号化して送信してもよい。通信部13は、公開鍵方式により暗号化して送信してもよい。または、通信部13は、第2の鍵を通信端末20に送信する場合、WPS(Wi-Fi Protected Setup)を用いて送信してもよい。
【0024】
通信制御部14は、通信端末20に第2の鍵を送信した場合、第2の鍵を用いて生成した暗号化鍵を使用して通信端末20と暗号化通信を行う。また、通信制御部14は、認証情報が第1の鍵に基づいて生成されていると判定部11が判定した場合、第1の鍵を用いて生成した暗号化鍵を使用して通信端末20と暗号化通信を行う。
【0025】
以上説明したように、判定部11が、認証情報が通信端末20に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されていると判定した場合、鍵生成部12は第1の鍵と異なる第2の鍵を生成する。通信部13は、生成した第2の鍵を通信端末20に送信する。通信制御部14は、認証情報が発行要求情報に基づいて生成されている場合、第2の鍵を用いて生成した暗号化鍵を使用して通信端末20と暗号化通信を行う。そのため、例えば、悪意ある利用者が発行要求情報を取得した場合であっても、通信装置10および通信端末20の間の暗号化通信において使用する第2の鍵は取得されずに済む。したがって、通信装置10を用いることにより、通信端末20が発行要求情報に基づいて認証情報を生成した場合、セキュリティを確保することが可能となる。
【0026】
(実施の形態)
続いて、実施の形態について説明を行うが、まず、本発明の課題事項を整理する。
図2は、実施の形態にかかる通信システム100について説明する。本実施の形態にかかる通信システム100は、無線LANシステムとして説明を行う。なお、通信システム100は、有線LANシステムであってもよく、モバイルネットワークであってもよい。
【0027】
通信システム100は、AP30とSTA41〜46とを備える。STA41、43および45は、従来のSTAであり、STA42、44および46は、本実施の形態にかかるSTAである。つまり、通信システム100には、従来のSTAと本実施の形態にかかるSTAとが混在して存在する。STA42、44および46は、実施の形態の概要にかかる通信端末20に相当する。
【0028】
AP30は、実施の形態の概要における通信装置10に相当する。AP30は、STA41〜46と接続および通信を行う無線LANアクセスポイントであって、STA41〜46を無線LAN子機とする無線LAN親機である。つまり、AP30は、従来のSTAと接続および通信を行いつつ、本実施の形態にかかるSTAとも接続および通信を行う。
【0029】
AP30は、例えば、暗号化モードがWPA2(Wi-Fi Protected Access)−PSK(Pre-Shared Key)(AES(Advanced Encryption Standard))に対応する。AP30は、後述するSTA41〜46と帰属処理および認証処理を行い、STA41〜46と接続および通信を可能とする。なお、AP30は、後述するSTA41〜46との認証方式がPSK方式であればよいため、例えば、WPA2−PSK(TKIP(Temporal Key Integrity Protocol))等の他の暗号化モードに対応していてもよい。AP30には、デフォルトPSKが設定されている。デフォルトPSKとは、従来のSTAとの認証において用いる事前共有秘密鍵(パスワード)である。以降、AP30に設定されているデフォルトPSKは、”12345678”であるとして説明を行う。
【0030】
STA41〜46は、AP30を無線LAN親機とする無線LAN子機であって、AP30と接続および通信を行う。STA41〜46は、AP30と帰属処理および認証処理を行うことによりAP30に帰属(接続)する。
【0031】
説明を行う上で便宜的に、STA41のMAC(Media Access Control)アドレスはaa:aa:aa:aa:aa:aaとし、STA42のMACアドレスはbb:bb:bb:bb:bb:bbとし、STA43のMACアドレスはcc:cc:cc:cc:cc:ccとする。さらに、STA44のMACアドレスはdd:dd:dd:dd:dd:ddとし、STA45のMACアドレスはee:ee:ee:ee:ee:eeとし、STA46のMACアドレスはff:ff:ff:ff:ff:ffとする。また、以降の説明においては、STA41をSTA1と称して記載する場合がある。同様に、STA42〜46をSTA2〜6として記載する場合がある。
【0032】
次に、
図3を用いて、AP30と従来のSTA(STA41、43および45)との間の帰属処理および認証処理を説明し、課題事項を整理する。
図3は、従来のAPと従来のSTAとの間の帰属処理および認証処理を説明するシーケンス図である。なお、
図3に記載したSTAはSTA41であるとして説明を行うが、STA43またはSTA45であっても同様となる。また、前提として、STA41とAP30には共通の事前共有秘密鍵(パスワード)であるデフォルトPSKが設定されているとして説明する。すなわち、STA41にも、AP30のデフォルトPSKである”12345678”が設定されている。
【0033】
まず、AP30およびSTA41は、設定されたPSKを基にMSK(Master Session Key)を生成する。STA41は、生成したMSKを基にPMK(Pairwise Master Key)を生成し、AP30は、生成したMSKを基にPMKおよびGMK(Group Master Key)を生成する(ステップS11、S12)。MSKおよびPMKを生成するアルゴリズムは、AP30とSTA41とにおいて共通である。そのため、AP30とSTA41とが生成するMSKおよびPMKは同一である。
【0034】
次に、AP30とSTA41は帰属処理を行う。まず、STA41は、Authentication(Request)メッセージをAP30に送信する(ステップS13)。次に、AP30は、Authentication(Request)メッセージを受信すると、Authentication(Response)をSTA41に送信する(ステップS14)。
【0035】
次に、STA41は、Association RequstをAP30に送信する(ステップS15)。AP30は、Association Requstを受信すると、Association ResponseをSTA41に送信する(ステップS16)。以上のメッセージを送受信することにより、AP30とSTA41とは帰属処理を完了する。
【0036】
なお、AP30およびSTA41の間で暗号通信を行わない場合、この時点でAP30とSTA41とは接続および通信が可能な状態となる。AP30とSTA41とは暗号化モードがWPA2−PSK(AES)であるため、この後、4−Way Handshakeと称される鍵交換処理(認証処理)を行う。
【0037】
まず、AP30は、4−WayHandshakeの第1メッセージとして、AP30が生成した乱数であるANonceをSTA41に送信する(ステップS17)。次に、STA41は、乱数により生成したSNonceを決定し、ANonce、SNonce、AP30のMACアドレス、STA41のMACアドレスおよびPMKを用いて、PTK(Pairwise Transient Key)を生成する(ステップS18)。なお、STA41は、AP30と送受信したメッセージからAP30のMACアドレスを取得している。
【0038】
次に、STA41は、4−WayHandshakeの第2メッセージとして、STA41が生成した乱数であるSNonceと、4−WayHandshakeの第2メッセージの完全性を確認するために使用されるMIC(Message Integrity Code)とをAP30に送信する(ステップS19)。
【0039】
次に、AP30は、STA41と同様にしてPTKを生成する(ステップS20)。なお、AP30は、STA41と送受信したメッセージからSTA41のMACアドレスを取得している。
【0040】
AP30は、受信したMICと生成したPTKとに基づいて、4−WayHandshakeの第2メッセージの完全性を確認する。具体的には、AP30は、受信したMICと生成したPTKとに基づいて、4−WayHandshakeの第2メッセージの完全性を確認する。具体的には、AP30は、受信したMICと生成したPTKとに基づいて、AP30とSTA41とが生成したPTKが一致するか否かを確認(判定)する。AP30は、STA41が生成したPTKとAP30が生成したPTKとが一致しない場合、例えば、エラーメッセージをSTA41に送信して、所定回数分、認証処理を再度行う。一方、AP30は、STA41が生成したPTKとAP30が生成したPTKとが一致する場合、PTKを設定して、以降の処理を行う。
【0041】
次に、AP30は、必要があれば、GMKを基にGTK(Group Temporal Key)を生成する(ステップS21)。GTKはマルチキャスト/ブロードキャスト通信に用いられる鍵であり、AP30と接続および通信を行う全STAで共通の鍵である。STA41と異なる他のSTAが既にAP30に帰属していることが想定される。STA41と異なる他のSTAが既にAP30に帰属している場合には、既にGTKは生成されているため、改めて生成する必要がない。この場合、AP30はGTKを生成しない。一方、AP30は、GTKが既に生成されていない場合、GTKを生成する。なお、PTKは、AP30が接続するSTAとのユニキャスト通信に用いられる鍵であるため、STA毎に異なるので、STAが接続(帰属)する度に必ず生成する必要がある鍵である。
【0042】
次いで、AP30は、4−WayHandshakeの第3メッセージとして、PTKを用いてGTKを暗号化してSTA41に送信する(ステップS22)。
次に、STA41は、GTKを受信すると、4−WayHandshakeの第4メッセージとして、肯定応答であるACK(Positive Acknowledgement)をAP30に送信する(ステップS23)。以上の4−WayHandshake手順を行うことにより、認証処理は完了し、AP30とSTA41との間でPTKおよびGTKの共有が完了する。
【0043】
上記の帰属処理および認証処理を完了すると、AP30とSTA41とは暗号化通信が可能となる。AP30は、STA41とユニキャスト通信を行う場合、PTKを使用して暗号化通信を行い、STA41とマルチキャスト/ブロードキャスト通信を行う場合、GTKを使用して暗号化通信を行う(ステップS24)。
【0044】
ここで、AP30およびSTA41の間における認証処理(4−WayHandshake手順)は、STA41と異なる他のSTAにおいても行われる手順である。悪意のある利用者が、AP30に設定されたデフォルトPSKを取得した場合、4−WayHandshake手順のパケットをキャプチャーすることによりPTKを生成することが可能となる。そうすると、悪意のある利用者は、4−WayHandshake手順における第3メッセージを復号することが出来るため、GTKを取得することが可能となる。すなわち、悪意のある利用者は、AP30とSTA41との通信内容を全て復号化することが出来てしまう。そのため、AP30は、帰属するSTA41以外にPSKを知られないことが重要となる。そこで、本実施の形態では、上記課題事項を解決するために、AP30に帰属するSTA毎に異なるPSKを割り当てることを目的とする。
【0045】
また、セキュリティを確保するために、STAとAPとの間でパスワードによる認証やSTAの利用者を事前にユーザ登録しユーザ認証を行うことが考えられる。しかしながら、STAの利用者は、AP毎にパスワードを入力したり、事前にユーザ登録を行うことは億劫な作業であり、煩わしい。そこで、本実施の形態では、STAの利用者がパスワード入力や事前のユーザ登録を行わずに、STAがAP30に帰属可能とすることを目的とする。
【0046】
それでは、実施の形態の詳細について説明する。実施の形態にかかる通信システム100は、
図2に示した通信システム100と共通するため説明を割愛する。以降の説明では、AP30に、本実施の形態にかかるSTAであるSTA42を用いて説明を行う。なお、本実施の形態にかかる他のSTA(STA44およびSTA46)についても同様の構成となる。
【0047】
次に、
図4を参照して、AP30の構成例について説明する。
図4は、本実施の形態にかかるAPの構成例を示す構成図である。AP30は、記憶部31と、判定部32と、鍵生成部33と、通信部34と、通信制御部35とを備える。記憶部31、判定部32、鍵生成部33、通信部34および通信制御部35は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。また、記憶部31、判定部32、鍵生成部33、通信部34および通信制御部35は、回路もしくはチップ等のハードウェアであってもよい。
【0048】
記憶部31は、デフォルトPSKと、特別な値を示すPSKと、STA情報テーブルT1とを記憶する。AP30には、デフォルトPSKと、特別な値を示すPSKとが設定されている。デフォルトPSKは、従来のSTAがAP30に帰属する際に用いられる事前共有秘密鍵であるPSKである。上述したように、デフォルトPSKは、”12345678”である。また、本実施の形態では、記憶部31は、特別な値を示すPSKを記憶する。本実施の形態では、特別な値を示すPSKは、ASCII制御文字を利用し、キャレット表記で”^S^P^C^I^S^T^R”であるとして説明を行う。デフォルトPSKは、実施の形態の概要における複数の通信端末間で共通に設定される第1の鍵に相当する。また、特別な値を示すPSKは、実施の形態における発行要求情報に相当する。つまり、特別な値を示すPSKは、新たな鍵の発行要求を示す発行要求情報とも言える。なお、デフォルトPSKおよび特別な値を示すPSKは、上記の値に限られず、適宜変更されてもよい。また、以降、特別な値を示すPSKを特別PSKと称して記載することがある。
【0049】
記憶部31は、上記2つのPSKを使用して生成したPMK、PTK、MSK、GMK、GTKなどの各種鍵、AP30が動作するために必要なプログラムおよび各種設定情報等を記憶する。
【0050】
STA情報テーブルT1は、本実施の形態にかかるSTAを管理するテーブルである。つまり、STA情報テーブルT1は、
図2におけるSTA42、STA44およびSTA46の情報を登録する管理テーブルである。
【0051】
ここで、
図5を用いて、STA情報テーブルT1について説明する。
図5は、STA情報テーブルを説明する図である。STA情報テーブルT1は、本実施の形態にかかるSTAのMACアドレスと、当該STAが使用するPSKとを関連付けて登録する管理テーブルである。
【0052】
STA情報テーブルT1のMACアドレスには、後述する鍵生成部33がPSKを生成する場合、当該PSKを使用するSTAのMACアドレスが登録される。
STA情報テーブルT1のPSKには、鍵生成部33がPSKを生成する場合、生成したPSKが、上記MACアドレスに関連付けて登録される。
【0053】
図4に戻り、AP30の構成例について説明を続ける。
判定部32は、4−WayHandshakeの第2メッセージの完全性の確認を行うことにより、STA42に設定されたPSKを判定(決定)する。判定部32は、実施の形態の概要における判定部11に相当する。判定部32は、4−WayHandshakeの第2メッセージを受信すると、STA情報テーブルT1を参照して、4−WayHandshakeの第2メッセージの完全性を確認する際に使用するPSKを決定する。判定部32は、決定したPSKから生成されたPTKを用いて、4−WayHandshakeの第2メッセージの完全性を確認する。
【0054】
具体的には、判定部32は、上述したANonce、SNonce、AP30のMACアドレス、STA42のMACアドレスおよび決定したPSKから生成されたPMKを用いて、PTKを生成する。そして、判定部32は、受信したMICと、生成したPTKとの比較結果に基づいて、AP30のPTKとSTA42のPTKとが一致するか否かを判定する。判定部32は、AP30のPTKとSTA42のPTKとが一致する場合、当該PTKを生成するために使用したPSKをSTA42に設定されたPSKと決定する。
【0055】
ここで、MICは、実施の形態の概要における認証情報に相当する情報である。判定部32は、4−WayHandshakeの第2メッセージの完全性を確認することにより、STA42に設定されたPSKを決定する。判定部32は、4−WayHandshakeの第2メッセージの完全性の確認を、STA42から受信したMICと、記憶部31が記憶するPSKのいずれかを用いて生成したPTKとの比較により行っている。つまり、判定部32は、STA42から受信した認証情報が、記憶部31に記憶されたいずれのPSKに基づいて生成されたかを判定している。
【0056】
また、判定部32は、4−WayHandshakeの第2メッセージの完全性を確認する際に使用するPSKを以下のように決定する。
【0057】
STA情報テーブルT1にSTA42が登録されている場合、判定部32は、当該STAのMACアドレスと関連付けて登録されているPSKを第2メッセージの完全性を確認する際に用いるPSKと決定する。
【0058】
一方、STA情報テーブルT1にSTA42が登録されていない場合、判定部32は、まず、デフォルトPSKを第2メッセージの完全性を確認する際に用いるPSKと決定する。そして、判定部32は、4−WayHandshakeの第2メッセージの完全性を確認し、AP30のPTKとSTA42のPTKとが一致するか否かを判定する。AP30のPTKとSTA42のPTKとが一致しない場合、判定部32は、特別PSKを第2メッセージの完全性を確認する際に用いるPSKと決定する。判定部32は、上記のようにしてSTA42が使用するPSKを決定し、STA42に設定されたPSKが、新たな鍵の発行要求を示す発行要求情報である特別PSKと判定すると、後述する鍵生成部33に通知する。
【0059】
鍵生成部33は、判定部32から通知を受信すると、STA42専用のPSKを生成する。鍵生成部33は、生成した専用PSKをSTA42に送信することを後述する通信部34に通知する。以降の説明では、鍵生成部33が生成するPSKを専用PSKと称して記載をすることがある。専用PSKは、実施の形態の概要における第2の鍵に相当する。
【0060】
鍵生成部33が生成する専用PSKは、AP30に帰属するSTA毎に異なるPSKであることに加えて、同一のSTAに対しても帰属する度に変更されるPSKが好ましい。換言すると、鍵生成部33が生成する専用PSKは、例えば悪意のある利用者などに容易に推測されないようなPSKであることが好ましい。そのため、鍵生成部33は、乱数を発生させて、専用PSKを生成してもよい。本実施の形態では、鍵生成部33が生成するPSKは、乱数を発生させて生成されたランダムな8文字により構成されているとして説明を行う。しかしながら、鍵生成部33が生成するPSKは、8文字よりも短い文字数であってもよく、長い文字数であってもよい。また、生成するPSKは、英数字の組み合わせであってもよい。
【0061】
また、鍵生成部33は、その他の各種鍵を生成する。具体的には、鍵生成部33は、デフォルトPSKおよび特別PSKから、MSKを生成し、生成したMSKからPMK、GMKおよびGTKを生成する。鍵生成部33は、生成した上記鍵を記憶部31に記憶する。
【0062】
通信部34は、STA41〜46とパケットデータの送受信を行う通信部である。通信部34は、実施の形態の概要における通信部13に相当する。通信部34は、
図3を参照して説明したSTA41〜STA46との帰属処理および鍵交換処理(認証処理)における各種メッセージの送受信を行う。また、通信部34は、鍵生成部33が生成した専用PSKをSTA42に送信する。
【0063】
通信部34は、生成した専用PSKを送信する際、セキュアな方法で送信を行ってもよい。本実施の形態では、通信部34は、STA42との間において公開鍵方式のコネクションを新たに形成して、形成したコネクション上において生成したPSKを送信する。
【0064】
通信制御部35は、STA42に専用PSKを送信した場合、専用PSKを用いて生成したPTKを使用してSTA42と暗号化通信を行う。通信制御部35は、実施の形態の概要における通信制御部14に相当する。通信制御部35は、AP30が生成した専用PSKをSTA42に送信した場合、専用PSKを用いて4−WayHandshake手順の第3メッセージ以降の処理を行い、認証処理を完了させる。さらに、通信制御部35は、4−WayHandshake手順を完了させた後は、専用PSKから生成したPTKまたはGTKを用いて、STA42と暗号化通信を行う。
【0065】
通信制御部35は、判定部32がAP30に帰属を試みるSTAがデフォルトPSKを使用していると判定すると、デフォルトPSKを用いて生成したPTKまたはGTKを用いて、AP30に帰属を試みるSTAと暗号化通信を行う。つまり、通信制御部35は、判定部32がAP30に帰属を試みるSTAが従来のSTAであると判定すると、デフォルトPSKを用いて生成したPTKまたはGTKを用いて、AP30に帰属を試みるSTAと暗号化通信を行う。
【0066】
また、通信制御部35は、STA42との通信を切断する場合、通信部34を介して、Deauthenticationを送受信することによりSTA42との通信を切断する。通信制御部35は、STA42との通信を切断する際、STA情報テーブルT1からSTA42の情報(STA42のレコード)を削除する。
【0067】
続いて、
図6を用いて、本実施の形態にかかるSTAの構成例について説明する。
図6は、本実施の形態にかかるSTAの構成例を説明する構成図である。本実施の形態にかかるSTA(STA42、44および46)の構成は共通するため、本実施の形態にかかるSTAの構成例の説明は、STA42を用いて行う。
【0068】
STA42は、記憶部51と、通信部52と、通信制御部53と、表示部54と、操作部55とを備える。記憶部51、通信部52、通信制御部53、表示部54および操作部55は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。また、記憶部51、通信部52、通信制御部53、表示部54および操作部55は、回路もしくはチップ等のハードウェアであってもよい。
【0069】
記憶部51は、特別PSK、後述する通信部52を介して受信した専用PSKを記憶する。つまり、記憶部51は、実施の形態の概要における、新たな鍵の発行要求を示す発行要求情報を記憶すると共に、第2の鍵を記憶する。記憶部51は、その他、上記PSKから生成されたMSK、PMK、PTK、GTK等の各種鍵を記憶する。
【0070】
また、記憶部51は、STA42が動作するために必要なプログラムや各種設定情報を記憶する。記憶部51は、AP30に帰属完了までの処理を行うアプリケーション(以降、専用アプリとして記載をすることがある)を記憶する。専用アプリは、既にSTA42にインストールされており、プロセッサが専用アプリの動作を実行することにより動作する。専用アプリを利用者が実行すると、STA42がAP30との間で帰属処理および認証処理を自動で行う。
【0071】
通信部52は、AP30と帰属処理および鍵交換処理(認証処理)を行うためのメッセージの送受信を行う。その際、通信部52は、ANonceやGTKをAP30から受信する。また、通信部52は、AP30が生成した専用PSKを受信する。通信部52は専用PSKを受信する際、セキュアな方法で受信する。本実施の形態では、通信部52は、AP30の通信部34との間において公開鍵方式のコネクションを新たに形成して、形成したコネクション上において生成した専用PSKを受信する。
【0072】
通信制御部53は、AP30と帰属処理および鍵交換処理(認証処理)を行う。通信制御部53は、AP30との認証を行う際に使用する認証情報を生成する。認証情報は、例えば、SNonceおよびMIC等である。通信制御部53は、通信部52を介して受信した専用PSKを記憶部51に記憶する。
【0073】
また、通信制御部53は、帰属処理および認証処理が完了すると、専用PSKに基づいて生成されたPTKまたはAP30から受信するGTKを用いてAP30と暗号化通信を行う。さらに、通信制御部53は、AP30との通信を切断する際に、切断処理(Deauthentication送受信)を行う。
【0074】
表示部54は、STA42に専用アプリの操作画面を表示するディスプレイである。表示部54は、STA42がAP30に帰属していない場合、STA42が通信可能なAPのBeaconをスキャンして収集したESSID(Extended Service Set Identifier)を表示する。表示部54は、専用アプリを実行し、STA42がAP30に帰属完了すると正常に完了したことを示すメッセージを表示する。一方、表示部54は、専用アプリを実行し、STA42がAP30に帰属失敗するとエラーメッセージを表示する。
【0075】
操作部55は、STA42のディスプレイ上で操作するタッチパネル等である。操作部55は、専用アプリを起動した後、収集したESSIDを選択する操作をSTA42の利用者から受け付ける。操作部55がタッチパネルである場合、利用者が所望するESSIDをタップすることによりESSIDを選択して、選択したESSIDのAPと帰属処理および認証処理の自動処理を開始する。操作部55は、表示部54と異なるキーボード等の入力装置であってもよく、入力装置から入力されたESSIDのAPと帰属処理および認証処理の自動処理を開始する。
【0076】
続いて、
図7〜
図11を用いて、本実施の形態にかかるAP30と本実施の形態にかかるSTAとの間の帰属処理および認証処理について説明する。
図7は、実施の形態にかかるAPおよびSTAの帰属処理および認証処理を説明するシーケンス図である。
図8は、STA情報テーブルの状態を説明する図である。
図9〜
図11は、実施の形態にかかるAPおよびSTAの認証処理の詳細を説明する図である。説明を行う上で、本実施の形態にかかるSTAであるSTA42を用いて説明する。また、
図7の処理のうち、
図3と共通する処理については、同一の参照番号(処理番号)を付して説明する。
【0077】
まず、
図7および
図8を参照して、AP30とSTA42の帰属処理および認証処理について説明する。STA42は、本実施の形態にかかるSTAであり、特別PSKが設定されている。STA42のMACアドレスはbb:bb:bb:bb:bb:bbである。STA42は、AP30に初めて帰属を試みるとして説明する。AP30はデフォルトPSKおよび特別PSKが設定されている。AP30は、従来のSTAが帰属することが想定されるため、デフォルトPSKを用いて処理を開始する。
【0078】
STA42の利用者は専用アプリを起動して、AP30のESSIDを選択してタップすると、STA42は、AP30への帰属処理を開始する。この時点では、
図8(a)に示しているように、STA情報テーブルT1には情報が登録されておらず空の状態である。
【0079】
次いで、AP30およびSTA42は、それぞれのPSKを基に各種鍵を生成し、Authentication(Request)送信からSNonce送信までの処理を行う(ステップS11〜S19)。
【0080】
次に、AP30の判定部32は、4−WayHandshakeの第2メッセージを受信すると、第2メッセージの完全性を確認する際に用いるPSKを決定する(ステップS30)。
【0081】
ここで、
図9を参照して、ステップS30において、判定部32が行う4−WayHandshakeの第2メッセージの完全性を確認する際に使用するPSKの決定処理の詳細を説明する。
【0082】
まず、判定部32は、STA情報テーブルT1を参照して、STA42のMACアドレスがSTA情報テーブルT1に登録されているか否かを判定する(ステップS301)。
【0083】
STA情報テーブルT1にSTA42のMACアドレスが登録されている場合(ステップS301のYES)、判定部32は、STA情報テーブルT1に登録されているSTA42のMACアドレスに関連付けて登録されているPSKを使用するPSKと決定する(ステップS302)。
【0084】
一方、STA情報テーブルT1にSTA42のMACアドレスが登録されていない場合(ステップS301のNO)、判定部32は、デフォルトPSKを使用するPSKと決定する(ステップS303)。
【0085】
図7のステップS30の時点では、STA情報テーブルT1は、
図8(a)に示す様に、STA42のMACアドレスは登録されていないため(ステップS301のNO)、判定部32は、4−WayHandshakeの第2メッセージの完全性を確認する際に使用するPSKをデフォルトPSKと決定する(ステップS302)。
【0086】
図7に戻り、説明を続ける。判定部32は、4−WayHandshakeの第2メッセージの完全性を確認する際に使用するPSKを決定すると、PTKを生成する(ステップS31)。具体的には、判定部32は、AP30が生成したANonce、STA42から受信したSNonce、AP30のMACアドレス、STA42のMACアドレスおよびAP30が生成したPMKを用いて、PTKを生成する。
【0087】
次に、判定部32は、4−WayHandshakeの第2メッセージの完全性を確認することにより、PTK確認処理を行い、STA42に設定されたPSKを判定(決定)する。判定部32がPTK確認処理を行った結果、STA42に設定されたPSKが新たな鍵の発行要求を示す発行要求情報である特別PSKである場合、STA42に対して専用PSKを生成し、STA42に対して専用PSKを送信する(ステップS32)。
【0088】
ここで、
図10を用いて、ステップS32において、判定部32が行うPTK確認処理の詳細を説明する。判定部32は、ステップS30において決定したPSKに基づいて、ステップS31において生成したPTKとMICとを比較して、第2メッセージの不完全性を検出するか否かを判定する(ステップS321)。
【0089】
判定部32が第2メッセージの不完全性を検出しない場合(ステップS321のNO)、つまり、AP30が生成したPTKとSTA42が生成したPTKとが一致する場合、従来の不完全性未検出時の処理を行う(ステップS322)。つまり、判定部32が生成したPTKが、STA42に設定されたPSKに基づいて生成したPTKと一致する場合、判定部32は、決定したPSKをSTA42に設定されたPSKと決定する。そして、判定部32は、例えば、STA42との通信において使用するPTKを設定する等の処理を行い、4−WayHandshake手順の第3メッセージ以降の処理を行う。
【0090】
一方、判定部32が4−WayHandshakeの第2メッセージの不完全性を検出する場合(ステップS321のYES)、判定部32は、特別PSK(”^S^P^C^I^S^T^R”)を4−WayHandshakeの第2メッセージの完全性を確認する際に使用するPSKと決定する。そして、判定部32は、特別PSKを用いてPTKを生成して、第2メッセージの不完全性を検出するかを判定する(ステップS323)。つまり、判定部32は、STA42が新たな鍵の発行を要求しているかを判定する。
【0091】
ステップS323において、判定部32が第2メッセージの不完全性を検出する場合(ステップS323のYES)、従来の不完全性検出時の処理を行う(ステップS327)。つまり、判定部32は、STA42に設定されたPSKがAP30に記憶されたPSKのいずれとも一致しないと判定する。判定部32は、例えば、エラーメッセージをSTA42に送信し、所定回数分、認証処理を再度実行する。
【0092】
一方、ステップS323において、判定部32が第2メッセージの不完全性を検出しない場合(ステップS323のNO)、判定部32は、STA42が特別PSKを使用していると判定する。つまり、判定部32は、STA42が新たな鍵の発行を要求していると判定する。判定部32は、鍵生成部33に鍵生成を行うことを通知してステップS324の処理を行う。
【0093】
次に、鍵生成部33は、乱数を発生させてランダムな値のPSKを生成し、STA42専用の専用PSKとする(ステップS324)。鍵生成部33は、専用PSKを生成すると、STA情報テーブルT1にSTA42のMACアドレスと、専用PSKとを関連付けて登録する(ステップS325)。
【0094】
次いで、通信部34は、鍵生成部33が生成した専用PSKをSTA42に送信する(ステップS326)。次に、判定部32は、従来の不完全性検出時の処理を行う(ステップS327)。判定部32は、例えば、エラーメッセージをSTA42に送信し、所定回数分、認証処理を再度実行する。この際、STA42とAP30とに設定するPSKは一致するため、判定部32は、STA42との通信において使用するPTKを設定する等の処理を行い、4−WayHandshake手順の第3メッセージ以降の処理を行う。
【0095】
図7のステップS31の時点では、判定部32は、4−WayHandshakeの第2メッセージの完全性を確認する際に使用するPSKをデフォルトPSKと決定している。そのため、判定部32は、デフォルトPSKに基づいて生成したPTKとMICとを比較して、AP30が生成したPTKとSTA42が生成したPTKとが一致するか否かを判定する(ステップS321)。つまり、判定部32は、STA42との認証に用いる認証情報であるMICが、従来のSTA間で共通に設定されるデフォルトPSKに基づいて生成されているかを判定する。
【0096】
STA42が使用するPSKは特別PSKであり、AP30が使用するPSKはデフォルトPSKである。そのため、AP30が生成するPTKとSTA42が生成するPTKは一致しないので、判定部32は、第2メッセージの不完全性を検出する(ステップS321のYES)。
【0097】
次いで、判定部32は、特別PSKを用いてPTKを生成して、第2メッセージの不完全性を検出するか判定する(ステップS323)。つまり、判定部32は、STA42が新たな鍵の発行を要求する発行要求情報である特別PSKであるかを判定する。AP30とSTA42とは、共に特別PSKを使用しているため、判定部32は、第2メッセージの不完全性を検出しない(ステップS323のNO)。つまり、判定部32は、STA42が新たな鍵の発行を要求していると判定する。鍵生成部33は専用PSKを生成する(ステップS324)。STA42の専用PSKとして、PSK[1]=”RANDSTR1”が生成されたとする。鍵生成部33は、STA42のMACアドレスであるbb:bb:bb:bb:bb:bbと、”RANDSTR1”とを関連付けてSTA情報テーブルT1に登録する(ステップS325)。そうすると、
図8(b)の様に、STA情報テーブルにはSTA42の情報が登録される。通信部34は、STA42に専用PSKを送信し(ステップS326)、判定部32は、従来の不完全性検出時の処理を行う(ステップS327)。
【0098】
続いて、
図11を参照して、ステップS326において、通信部34がSTA42に専用PSKを送信する場合の専用PSK送信処理の詳細を説明する。本実施の形態では、通信部34は、公開鍵方式を用いて専用PSKをSTA42に送信する。また、AP30とSTA42とは、この段階までに既にAssociation手順は完了している。そのため、AP30とSTA42との間では、無線LANレイヤでは通信が可能である。そのため、
図11において説明するパケットはデータフレームとして送信すればよく、データフレームの中身は自由に作成できる。したがって、パケットの内容は本明細書では説明を割愛する。
【0099】
まず、AP30は、STA42に公開鍵要求メッセージを送信する(ステップS3261)。次に、STA42は、公開鍵要求メッセージを受信すると、秘密鍵および公開鍵を生成する(ステップS3262)。そして、STA42は、生成した公開鍵をAP30に送信する(ステップS3263)。次いで、AP30は、受信した公開鍵を用いて、専用PSKを暗号化してSTA42に送信する(ステップS3264)。STA42は、秘密鍵を用いて、暗号化された専用PSKを復号化して専用PSKを受信する(ステップS3265)。以上の手順を行うことにより、AP30は、STA42の専用PSKをセキュアにSTA42に送信することが可能となる。
【0100】
図7に戻り、説明を続ける。STA42は、上記のように、AP30から専用PSKを受信すると、受信した専用PSKを記憶部51に記憶する。STA42は、STA42が使用するPSK(PSK[1])をAP30から受信した専用PSKに設定し、PSK[1]を用いて、MSKおよびPMKを生成する(ステップS33)。
【0101】
次に、STA42とAP30とは、再度、4−WayHandshake手順を行う。つまり、AP30からSTA42にANonceを送信する(ステップS34)。そして、STA42はSNonceを生成すると共にPTKを生成する(ステップS35)。STA42は、AP30にSNonceを送信する(ステップS36)。
【0102】
次いで、AP30は、4−WayHandshakeの第2メッセージを受信すると、ステップS30と同様に、4−WayHandshakeの第2メッセージの完全性を確認する際に使用するPSKを決定する(ステップS37)。具体的には、AP30は、
図9に示した処理を行う。この時点では、STA情報テーブルT1は、
図8(b)に示すように、STA42の情報が登録されている。そのため、AP30は、STA42に設定されたPSKをPSK[1]と決定する。
【0103】
次に、AP30は、ステップS31およびS32と同様に、PTKを生成して(ステップS38)、PTK確認処理を行う(ステップS39)。具体的には、AP30は、
図10に示した処理を行う。AP30とSTA42とは、使用するPSKはPSK[1]=”RANDSTR1”で共通するので、4−WayHandshakeの第2メッセージの不完全性を検出せず、従来の不完全性未検出処理を行う。
【0104】
次に、AP30は、GTK生成処理を行う(ステップS40)。ここで、GTKは、ブロードキャスト/マルチキャスト通信において使用する鍵であることから、AP30は、デフォルトPSKを用いて生成する。AP30は、生成したPTKを用いてGTKを暗号化してSTA42に送信し(ステップS41)、STA42は、AP30にACKを送信する(ステップS42)。
【0105】
AP30とSTA42とは、4−WayHandshake手順を完了すると、PSK[1]を用いて生成したPTK、またはGTKを用いて暗号化通信を行う(ステップS24)。
【0106】
その後、STA42がAP30との通信を完了して帰属を解除する際、STA42は、AP30にDeauthenticationを送信する(ステップS43)。次に、AP30は、STA42にDeauthenticationを送信し、STA情報テーブルT1からSTA42の情報(レコード)を削除して帰属を解除する(ステップS44)。
【0107】
続いて、STA42がAP30に帰属している状態で、STA44がAP30に帰属を試みる場合について、
図7および
図8を用いて説明する。STA44がAP30に帰属を試みる場合についても、STA42がAP30に帰属を試みる場合と同様であるが、本実施の形態の理解を助けるために追加で説明する。なお、STA42および44がAP30に帰属している状態で、STA46がAP30に帰属を試みる場合についても同様となる。
【0108】
STA44の利用者は専用アプリを起動して、AP30のESSIDを選択してタップすると、STA44は、
図7に示すAP30への帰属処理を開始する。AP30がSTA44との4−WayHandshakeの第2メッセージの不完全性確認において使用するPSKを決定する場合(ステップS30)、STA情報テーブルT1は、
図8の(b)の状態である。つまり、STA情報テーブルT1は空の状態ではなく、STA42の情報が登録されている。しかし、STA情報テーブルT1には、STA44の情報は登録されていないため、AP30は、4−WayHandshakeの第2メッセージの完全性の確認の際に使用するPSKをデフォルトPSKと決定する。
【0109】
次いで、
図7のステップS32において、AP30は、STA44の専用PSKとして”RANDSTR2”を生成したとする。AP30は、STA情報テーブルT1に、STA44のMACアドレスであるdd:dd:dd:dd:dd:ddと、生成した”RANDSTR2”とを関連付けて登録する(ステップS32)。STA情報テーブルT1の状態は、
図8(c)のように、STA42とSTA44とが登録されていることになる。その後、STA44とAP30とは、再度、4−WayHandshake手順を行う。STA44およびAP30の間で、認証手順まで完了すると、STA44およびAP30は、専用PSKである”RANDSTR2”を用いて生成されたPTKを使用して暗号化通信を行う。
【0110】
その後、STA44がAP30から帰属解除すると、STA情報テーブルT1は、
図8(d)の状態となる。さらに、STA42がAP30から帰属解除すると、STA情報テーブルT1は、
図8(e)のように空の状態となる。
【0111】
ここで、全てのSTA(STA41〜46)がAP30に帰属したとすると、
図2に示すように、本実施の形態にかかるSTA(STA42、44および46)は、それぞれ異なるPSKを基とした暗号化通信が形成される。一方、従来のSTA(STA41、43および45)は、デフォルトPSKを基とした暗号化通信が形成される。
【0112】
この状態で、例えばSTA45の利用者がパケットキャプチャを行ったとしても、STA42、STA44およびSTA46の通信内容は復号化できない。同様に、STA42の利用者がパケットキャプチャした場合であっても、STA44およびSTA46の通信内容は復号化できない。
【0113】
以上、説明したように、本実施の形態にかかるAPおよびSTAは、STA毎に異なるPSKを用いた暗号化通信を行うことが可能となる。そのため、本実施の形態にかかるAPおよびSTAを用いることにより、同一のAPに帰属するSTAの利用者であっても、他のSTAとAPとの通信内容を復号化することが不可能である。
【0114】
そして、本実施の形態にかかるAPは、STA毎に機械的にランダムにPSKを生成して割り当てることから、人間が考えるよりもパスワード解析がされにくいPSKを使用している。さらに、本実施の形態によれば、同一のSTAが同一のAPに帰属する場合でも、帰属する毎に異なるPSKを割り当てることが可能となる。したがって、本実施の形態にかかるAPおよびSTAを用いることにより、認証パスワードの解析がされにくいPSKを用いた暗号化通信を可能とするので、高いセキュリティレベルを確保することが出来る。
【0115】
また、本実施の形態にかかるSTAは、新たな鍵の発行要求を示す発行要求情報である特別PSKを予め設定しておけばよい。そのため、本実施の形態にかかるSTAの利用者は、認証パスワード等の入力を伴わずに、本実施の形態にかかるAPに帰属および暗号化通信を行うことが可能となる。つまり、本実施の形態にかかるAPおよびSTAを用いることにより、STAの利用者は煩わしい作業を行う必要がなくなる。したがって、本実施の形態によれば、ユーザ利便性の高い通信システムを提供することが可能となる。
【0116】
さらに、
図2に示すように、本実施の形態にかかるSTA(STA42、44および46)は、それぞれ異なるPSKを基とした暗号化通信が形成される。一方、従来のSTA(STA41、43および45)は、デフォルトPSKを基とした暗号化通信が形成される。そのため、本実施の形態にかかるAP30によれば、従来のAPの動作を何ら阻害することはない。つまり、本実施の形態にかかるAP30によれば、本実施の形態にかかるSTAを帰属可能とすると共に、従来のSTAも帰属可能とすることが出来る。
【0117】
(変形例)
上述した実施の形態では、実施の形態にかかるSTA(例えば、STA42)は、AP30が生成した専用PSKを公開鍵方式で受信することで説明した。しかしながら、これに限られない。例えば、実施の形態にかかるSTAは、WPSを用いてAP30から専用PSKを受信してもよい。この場合、STA42は、
図7のステップS19において、SNonceを送信した後にWPSを開始する。AP30は、ステップS32の専用PSKの送信の際に、WPSを開始する。その後、AP30とSTA42とは、WPSが実施されて、STA42は、WPSを用いて送信されたSTA専用の専用PSKを受信する。STA42とAP30とは、当該専用PSKを使用して、帰属処理および認証処理を行う。そして、STA42は、AP30に帰属して、STA42とAP30とはWPSを用いて送受信した専用PSKを用いて暗号化通信を行う。このような構成としても、上述した実施の形態と同様の効果を得ることが可能となる。
【0118】
また、上述した実施の形態では、特別PSKは、ASCII制御文字であるキャレット表記の8文字により構成されるとして説明した。上述した実施の形態では、特別PSKを、AP30の管理者が通常入力できないASCII制御文字により構成している。そのため、特別PSKとデフォルトPSKとが一致する確率は0であるため好ましい。しかしながら、特別PSKはこれには限られず、例えば、64桁の16進数により構成されてもよい。この場合、AP30のシステム管理者が、特別PSKと同一のPSKをデフォルトPSKとして設定してしまうことが想定される。そのため、特別PSKを64桁の16進数により構成する場合、AP30は、AP30のシステム管理者が設定するデフォルトPSKが、特別PSKと同一のPSKであるかを判定する。そして、AP30は、デフォルトPSKと特別PSKとが同一であると判定する場合、当該PSKをデフォルトPSKとして設定できないようにガード処理を追加しておくことが好ましい。
【0119】
また、PSKには8〜63文字のASCII文字、または64桁の16進数が使用することが可能である。そのため、鍵生成部33は、8〜63文字のASCII文字、または64桁の16進数により構成される専用PSKを生成してもよい。専用PSKを8〜63文字のASCII文字により構成する場合、または64桁の16進数により構成する場合、複数のSTA間で専用PSKが重複する確率を下げられる。また、専用PSKとして設定可能なパターン数は、上述した実施の形態における専用PSKの設定可能なパターン数以上となるので、セキュリティを高くすることが可能となる。なお、上記のうち、専用PSKを63文字のASCII文字により構成する場合、複数のSTA間で専用PSKが重複する確率を最も下げられる。さらに、専用PSKの設定可能なパターン数も最も多くなり、セキュリティも高くなるので好ましい。
【0120】
(他の実施の形態)
上述した実施の形態では、鍵生成部33は、AP30に設けられているとして説明したが、上述した実施の形態にかかるSTA(例えば、STA42)が専用PSKを生成してもよい。この場合、判定部32が、STA42に特別PSKが設定されていると判定する。判定部32は、STA42に専用PSKの生成および送信を通知するメッセージまたは情報を送信する。そして、STA42が専用PSKを生成して、AP30に送信する。その他の処理は、上述した実施の形態と同様である。もしくは、STA42がAP30に帰属することに先立って専用PSKを生成して、AP30と帰属処理および認証処理を行う。判定部32が、STA42に特別PSKが設定されていると判定すると、専用PSKを用いて、認証処理を行ってもよい。なお、このように、上述した実施の形態にかかるSTAが専用PSKを生成する場合、複数のSTA間で同じ専用PSKを生成する可能性がある。そのため、AP30は、上述した実施の形態にかかるSTAから専用PSKを受信すると、STA情報テーブルT1を確認する。そして、AP30は、STA情報テーブルT1に、受信した専用PSKが既に登録されている場合、上述した実施の形態にかかるSTAに対して、専用PSKを再生成することを依頼するメッセージを送信してもよい。このようにすることで、上述した実施の形態にかかるSTAは、他のSTAと異なる専用PSKとすることが可能となる。すなわち、AP30と上述した実施の形態にかかるSTAとは、異なるPSKから生成されたPTKを用いて暗号化通信を行うことが可能となる。
【0121】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0122】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
通信端末との認証に用いる第1の認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、前記通信端末に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定する判定部と、
前記第1の認証情報が前記発行要求情報に基づいて生成されていると前記判定部が判定した場合、前記第1の鍵と異なる第2の鍵を生成する鍵生成部と、
前記生成した第2の鍵を前記通信端末に送信する通信部と、
前記通信端末に前記第2の鍵を送信した場合、前記第2の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行い、前記第1の認証情報が前記第1の鍵に基づいて生成されていると前記判定部が判定した場合、前記第1の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行う通信制御部と、
を備える通信装置。
(付記2)
前記鍵生成部は、乱数を発生させることにより前記第2の鍵を生成する、
付記1に記載の通信装置。
(付記3)
前記通信端末の識別情報と前記通信端末に設定された鍵とを関連付けて登録する管理テーブルを記憶する記憶部をさらに備え、
前記判定部は、前記管理テーブルに前記通信端末の識別情報が登録されていない場合、前記第1の認証情報が前記発行要求情報に基づいて生成されているかを判定し、
前記鍵生成部は、前記第2の鍵を生成した場合、前記通信端末の識別情報と前記第2の鍵とを関連付けて登録し、
前記通信制御部は、前記管理テーブルに前記通信端末の識別情報が登録されている場合、前記通信端末の識別情報に関連付けて登録された鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行う、
付記1または2に記載の通信装置。
(付記4)
前記判定部は、前記第1の認証情報と異なる第2の認証情報および前記発行要求情報を用いて生成した暗号化鍵と、前記第1の認証情報との比較結果に基づいて、前記第1の認証情報が前記発行要求情報に基づいて生成されているかを判定する、
付記1〜3のいずれか1項に記載の通信装置。
(付記5)
前記第2の認証情報は、ANonce、SNonce、前記通信端末のMACアドレスおよび前記通信装置のMACアドレスを含む、
付記4に記載の通信装置。
(付記6)
前記通信部は、前記第2の鍵を公開鍵方式またはWPS(Wi-Fi Protected Setup)を用いて暗号化して送信する、
付記1〜5のいずれか1項に記載の通信装置。
(付記7)
前記鍵生成部は、8〜63文字のASCII文字または64桁の16進数により構成される前記第2の鍵を生成する、
付記1〜6のいずれか1項に記載の通信装置。
(付記8)
前記通信端末との認証方式は、PSK(Pre-Shared Key)方式であって、前記第1の鍵および前記第2の鍵はPSKであり、前記暗号化鍵はPTK(Pairwise Transient Key)である、
付記1〜7のいずれか1項に記載の通信装置。
(付記9)
通信装置に対して新たな鍵の発行要求を示す発行要求情報を記憶する記憶部と、
前記発行要求情報に基づいて生成した第1の認証情報を通信装置に送信し、前記通信装置から複数の通信端末間で共通に設定される第1の鍵と異なる第2の鍵を受信する通信部と、
前記受信した第2の鍵を用いて生成した暗号化鍵を使用して前記通信装置と暗号化通信を行う通信制御部と、
を備える通信端末。
(付記10)
前記通信制御部は、前記第2の鍵を前記通信装置から受信した場合、前記記憶部に前記受信した第2の鍵を記憶する、
付記9に記載の通信端末。
(付記11)
通信端末と、通信装置とを備える通信システムであって、
前記通信装置は、
前記通信端末との認証に用いる第1の認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、前記通信端末に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定する判定部と、
前記第1の認証情報が前記発行要求情報に基づいて生成されていると前記判定部が判定した場合、前記第1の鍵と異なる第2の鍵を生成する鍵生成部と、
前記生成した第2の鍵を前記通信端末に送信する第1の通信部と、
前記通信端末に前記第2の鍵を送信した場合、前記第2の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行い、前記第1の認証情報が前記第1の鍵に基づいて生成されていると前記判定部が判定した場合、前記第1の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行う第1の通信制御部と、を備え、
前記通信端末は、
前記発行要求情報を記憶する記憶部と、
前記発行要求情報に基づいて生成した第1の認証情報を通信装置に送信し、前記通信装置から前記第2の鍵を受信する第2の通信部と、
前記受信した第2の鍵を用いて生成した暗号化鍵を使用して前記通信装置と暗号化通信を行う第2の通信制御部と、
を備える、通信システム。
(付記12)
通信端末との認証に用いる第1の認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、前記通信端末に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定し、
前記第1の認証情報が前記発行要求情報に基づいて生成されていると判定した場合、前記第1の鍵と異なる第2の鍵を生成し、
前記生成した第2の鍵を前記通信端末に送信し、
前記通信端末に前記第2の鍵を送信した場合、前記第2の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行い、前記第1の認証情報が前記第1の鍵に基づいて生成されていると判定された場合、前記第1の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行う、
通信装置における通信制御方法。
(付記13)
通信端末と通信装置とを含む通信システムにおける通信制御方法であって、
前記通信装置は、前記通信端末との認証に用いる第1の認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、前記通信端末に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定し、
前記第1の認証情報が前記発行要求情報に基づいて生成されていると判定した場合、前記第1の鍵と異なる第2の鍵を生成し、
前記生成した第2の鍵を前記通信端末と前記通信装置との間で送受信し、
前記通信端末と前記通信装置との間で前記第2の鍵を送受信した場合、前記第2の鍵を用いて生成した暗号化鍵を使用して前記通信端末と前記通信装置との間で暗号化通信を行い、前記第1の認証情報が前記第1の鍵に基づいて生成されていると判定した場合、前記第1の鍵を用いて生成した暗号化鍵を使用して前記通信端末と前記通信装置との間で暗号化通信を行う、
通信制御方法。
(付記14)
通信端末との認証に用いる第1の認証情報が、複数の通信端末間で共通に設定される第1の鍵に基づいて生成されているか、前記通信端末に対して新たな鍵の発行要求を示す発行要求情報に基づいて生成されているかを判定し、
前記第1の認証情報が前記発行要求情報に基づいて生成されていると判定された場合、前記第1の鍵と異なる第2の鍵を生成し、
前記生成した第2の鍵を前記通信端末に送信し、
前記通信端末に前記第2の鍵を送信した場合、前記第2の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行い、前記第1の認証情報が前記第1の鍵に基づいて生成されていると判定された場合、前記第1の鍵を用いて生成した暗号化鍵を使用して前記通信端末と暗号化通信を行う、
処理を通信装置に実行させる通信制御プログラム。