(57)【要約】【課題】  ネットワークを介して送受信されるデータを暗号化／復号化するための暗号鍵を、ネットワークを介して送受信した場合、送受信するデータを盗聴した第三者に、暗号鍵が簡単に入手され、暗号化されたデータが復号化されて漏洩してしまう恐れがあった。【解決手段】  互いに通信路を介して接続された２台のデータ通信装置を備える暗号鍵設定システムであって、２台のデータ通信装置は、それぞれ、相手方との間で特定データの送受信を複数回行う送受信部と、特定データの送受信に要する時間を所定の時間を単位として複数回計時すると共に各回毎に計時した時間を複数の桁のカウンタ値としてそれぞれ得るカウンタと、カウンタによって各回毎に得られたカウンタ値の対応する桁同士をそれぞれ比較して示す値が一致する桁を決定する桁決定部と、カウンタ値のうち桁決定部により決定された桁で示される基礎値に基づき暗号鍵を生成する暗号鍵生成部と、を有する。【選択図】  図１
2006080934.tif 000002
【特許請求の範囲】
【請求項１】
互いに通信路を介して接続された２台のデータ通信装置を備え、前記２台のデータ通信装置間で送受信される通信データを暗号化及び復号化するために用いられる暗号鍵を、前記２台のデータ通信装置に、それぞれ設定する暗号鍵設定システムであって、
前記２台のデータ通信装置は、それぞれ、
相手方のデータ通信装置との間で、特定データの送受信を複数回行う送受信部と、
前記特定データの送受信に要する時間を所定の時間を単位として複数回計時すると共に、各回毎に、計時した時間を複数の桁のカウンタ値としてそれぞれ得るカウンタと、
前記カウンタによって各回毎に得られた前記カウンタ値の、対応する桁同士をそれぞれ比較して、示す値が一致する桁を決定する桁決定部と、
前記カウンタ値のうち、前記桁決定部により決定された桁で示される基礎値に基づき、前記暗号鍵を生成する暗号鍵生成部と、
を有する暗号鍵設定システム。
【請求項２】
請求項１に記載の暗号鍵設定システムであって、
前記２台のデータ通信装置は、それぞれ、前記暗号鍵生成部により生成された前記暗号鍵を用いて、送信する前記通信データの暗号化及び受信した前記通信データの復号化を行う暗号化／復号化処理部を有し、
前記２台のデータ通信装置のうち、少なくとも一方のデータ通信装置において、前記暗号化／復号化処理部が、前記暗号鍵を用いて受信した前記通信データを復号化できない場合、前記暗号鍵生成部は、生成した前記暗号鍵に代えて、前記基礎値を補正して得られる値に基づき、新たな前記暗号鍵を生成することを特徴とする暗号鍵設定システム。
【請求項３】
請求項１に記載の暗号鍵設定システムであって、
前記２台のデータ通信装置は、それぞれ、前記暗号鍵生成部により生成された前記暗号鍵を用いて、送信する前記通信データの暗号化及び受信した前記通信データの復号化を行う暗号化／復号化処理部を有し、
前記２台のデータ通信装置のうち、少なくとも一方のデータ通信装置において、前記暗号化／復号化処理部が、前記暗号鍵を用いて受信した前記通信データを復号化できない場合、前記桁決定部は、前記決定した桁に代えて、前記決定した桁を減らすことにより得られる桁を新たに決定し、前記暗号鍵生成部は、生成した前記暗号鍵に代えて、前記カウンタ値のうち、前記桁決定部により新たに決定された桁で示される基礎値に基づき、新たな前記暗号鍵を生成することを特徴とする暗号鍵設定システム。
【請求項４】
請求項１ないし請求項３のいずれかに記載の暗号鍵設定システムであって、
前記通信路は、無線ＬＡＮにより構成される通信路であり、
前記２台のデータ通信装置は、前記無線ＬＡＮ用の中継器であるアクセスポイント、及び前記無線ＬＡＮに接続可能なクライアントであることを特徴とする暗号鍵設定システム。
【請求項５】
通信路を介して接続された他のデータ通信装置との間で、通信データの送受信を行うことが可能であり、前記通信データを暗号鍵を用いて暗号化及び復号化するデータ通信装置であって、
前記他のデータ通信装置との間で、特定データの送受信を複数回行う送受信部と、
前記特定データの送受信に要する時間を所定の時間を単位として複数回計時すると共に、各回毎に、計時した時間を複数の桁のカウンタ値としてそれぞれ得るカウンタと、
前記カウンタによって各回毎に得られた前記カウンタ値の、対応する桁同士をそれぞれ比較して、示す値が一致する桁を決定する桁決定部と、
前記カウンタ値のうち、前記桁決定部により決定された桁で示される基礎値に基づき、前記暗号鍵を生成する暗号鍵生成部と、
を備えるデータ通信装置。
【請求項６】
互いに通信路を介して接続された２台のデータ通信装置に対し、前記２台のデータ通信装置間で送受信される通信データを、暗号化及び復号化するために用いられる暗号鍵を、それぞれ設定するための暗号鍵設定方法であって、
（ａ）各々のデータ通信装置において、相手方のデータ通信装置との間で、特定データの送受信を複数回行う工程と、
（ｂ）各々のデータ通信装置において、各々のデータ通信装置が備えるカウンタにより、前記特定データの送受信に要する時間を所定の時間を単位として複数回計時すると共に、各回毎に、計時した時間を複数の桁のカウンタ値としてそれぞれ得る工程と、
（ｃ）各々のデータ通信装置において、前記カウンタによって各回毎に得られた前記カウンタ値の、対応する桁同士をそれぞれ比較して、示す値が一致する桁を決定する工程と、
（ｄ）各々のデータ通信装置において、前記カウンタ値のうち、前記決定された桁で示される基礎値に基づき、前記暗号鍵を生成する工程と、
を備える暗号鍵設定方法。
【請求項７】
通信路を介して接続された他のデータ通信装置との間で通信データの送受信を行うことが可能な、データ通信装置として機能し得るコンピュータに対し、前記通信データを暗号化及び復号化するのに用いられる暗号鍵を設定するためのコンピュータプログラムであって、
前記他のデータ通信装置との間で、特定データの送受信を複数回行う機能と、
前記コンピュータが備えるカウンタにより、前記特定データの送受信に要する時間を所定の時間を単位として複数回計時すると共に、各回毎に、計時した時間を複数の桁のカウンタ値としてそれぞれ得る機能と、
前記カウンタによって各回毎に得られた前記カウンタ値の、対応する桁同士をそれぞれ比較して、示す値が一致する桁を決定する機能と、
前記カウンタ値のうち、前記決定された桁で示される基礎値に基づき、前記暗号鍵を生成する機能と、
を前記コンピュータに実現させるためのプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して送受信される通信データを暗号化及び復号化するために用いられる暗号鍵を、それぞれの通信機器に設定する技術に関する。
【背景技術】
【０００２】
近年、ローカルエリアネットワーク（ＬＡＮ）やインターネット等のネットワークの発達に伴い、通信データの盗聴による通信内容の漏洩や、なりすましによるネットワークへの不正侵入を防止するために、種々のセキュリティ技術が提案されている。
【０００３】
例えば、IEEE（Institute of Electrical and Electronics Engineers）802.11で規定された無線ＬＡＮでは、データを送受信する端末（以下、「クライアント」と呼ぶ。）と、無線ＬＡＮ用中継器であるアクセスポイントと、に共通の暗号鍵としてＷＥＰ（Wired Equivalent Privacy）キーを予め設定しておき、クライアントとアクセスポイントとの間でやりとりされるデータを、このＷＥＰキーを用いて暗号化及び復号化することで、第三者への通信内容の漏洩を防止する技術（以下、「ＷＥＰ暗号化」と呼ぶ。）が提案されている。
【０００４】
なお、前述のＷＥＰ暗号化を行うアクセスポイントの一例として、下記特許文献１に記載されたものが挙げられる。
【０００５】
【特許文献１】特開２００１−３４５８１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のＷＥＰ暗号化を行う場合、クライアントが新たに追加される度に、アクセスポイントに設定されているのと同じＷＥＰキーを、このクライアントに手作業で設定する必要があり、煩雑かつ不便であった。そこで、アクセスポイントからクライアントへ無線ＬＡＮを介してＷＥＰキーを送信し、クライアントにＷＥＰキーを自動設定する方法が提案されている。
【０００７】
しかし、この設定方法では、ＷＥＰキーを含むデータが盗聴されると、第三者にＷＥＰキーを簡単に入手されてしまう。
そこで、このＷＥＰキーを含むデータを、ＷＥＰキーとは別の、アクセスポイントとクライアントとで共通の暗号鍵で暗号化して送信する方法も提案されている。この方法では、ＷＥＰキーと同様に、この暗号鍵をアクセスポイント及びクライアントに、予め設定しておく必要がある。そして、この設定も簡便に行うために、無線ＬＡＮを介して暗号鍵を送信した場合、この暗号鍵も第三者に入手され、その結果、暗号化されたＷＥＰキーが復号化され、第三者にＷＥＰキーが入手されてしまい、通信内容が漏洩してしまう恐れがあった。
【０００８】
なお、前述のＷＥＰ暗号化の他、無線ＬＡＮにおいて、クライアントの個体情報であるＭＡＣ（Media Access Control）アドレスを予めアクセスポイントに設定しておき、設定されているＭＡＣアドレスのクライアント以外からの接続要求を、アクセスポイントが拒否することで、無線ＬＡＮへの不正な侵入を防ぐ技術（以下、「ＭＡＣアドレスフィルタリング」と呼ぶ。）が、セキュリティ技術として用いられている。
このＭＡＣアドレスフィルタリングにおいても、クライアントのＭＡＣアドレスをアクセスポイントに簡便に設定するために、暗号化したＭＡＣアドレスと、暗号化に用いた暗号鍵と、を無線ＬＡＮを介して、クライアントとアクセスポイントとの間でやりとりした場合、前述のＷＥＰ暗号化と同様、第三者にこの暗号鍵が入手され、その結果、第三者にＭＡＣアドレスが入手されてしまい、なりすましによって無線ＬＡＮに不正侵入されてしまう恐れがあった。
【０００９】
本発明は、上述の課題を解決するためになされたものであり、ネットワークを介して送受信される通信データを暗号化及び復号化するために用いられる暗号鍵を、第三者に入手される可能性を低くして、それぞれの通信機器に簡便な方法で設定する技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前述の課題の少なくとも一部を解決するために、本発明の暗号鍵設定システムは、互いに通信路を介して接続された２台のデータ通信装置を備え、前記２台のデータ通信装置間で送受信される通信データを暗号化及び復号化するために用いられる暗号鍵を、前記２台のデータ通信装置に、それぞれ設定する暗号鍵設定システムであって、前記２台のデータ通信装置は、それぞれ、相手方のデータ通信装置との間で、特定データの送受信を複数回行う送受信部と、前記特定データの送受信に要する時間を所定の時間を単位として複数回計時すると共に、各回毎に、計時した時間を複数の桁のカウンタ値としてそれぞれ得るカウンタと、前記カウンタによって各回毎に得られた前記カウンタ値の、対応する桁同士をそれぞれ比較して、示す値が一致する桁を決定する桁決定部と、前記カウンタ値のうち、前記桁決定部により決定された桁で示される基礎値に基づき、前記暗号鍵を生成する暗号鍵生成部と、を有することを要旨とする。
【００１１】
このように構成することで、通信路を介して接続された２台のデータ通信装置が、特定データの送受信を複数回行うと共に、１回または複数回の特定データの送受信に要する時間をカウンタによって複数回計時し、各回毎に、計時した時間を複数の桁のカウンタ値として得る場合、各回毎に得られるカウンタ値は、互いにほぼ等しくなる。また、各々のデータ通信装置において得られるカウンタ値も、互いにほぼ等しくなる。これは、特定データが伝送される距離が一定であり、また、２台のデータ通信装置は、それぞれ同じ処理を繰り返すからである。
【００１２】
しかし、データ通信装置において、処理に要する時間にはばらつきがあるので、各回毎に得られるカウンタ値は互いに完全には一致せず、いくつかの桁で誤差が生じることとなる。ここで、２台のデータ通信装置は、それぞれ同様な処理を行っているので、２台のデータ通信装置において、それぞれ生じるカウンタ値の誤差はほぼ等しくなり、ほぼ同じ桁で誤差が生じることとなる。
【００１３】
ここで、それぞれのデータ通信装置において、各回毎に得られたカウンタ値の対応する桁同士を比較して、示す値が一致する桁を決定すると、前述の誤差の生じた桁を除く桁が決定されることになる。従って、２台のデータ通信装置において、決定される桁はほぼ一致し、この決定された桁で示される基礎値もほぼ一致することになる。
そして、このほぼ一致する基礎値に基づき、暗号鍵を生成するので、２台のデータ通信装置において、同じ暗号鍵を生成して設定する可能性が高くなる。
【００１４】
なお、上述した通信路とは、ＬＡＮやインターネット等のネットワークで構成される通信路でもよいし、ネットワークを介さず１対１の接続により構成される通信路でもよい。また、上述した２台のデータ通信装置とは、これら通信路を介して接続された端末やサーバ等であってもよい。
なお、上述した「計時した時間を複数の桁のカウンタ値として得る場合」には、毎回カウンタをリセットして、計時した時間をカウンタ値として得る場合の他、最初に特定データを送信する際にカウンタをリセットして、各回毎に計時した時間の差分を、カウンタ値として得る場合も含まれる。
【００１５】
また、上述のように構成することで、ユーザは、それぞれのデータ通信装置に対し、手作業で暗号鍵を設定する必要がないので、暗号鍵を簡便に設定することができる。
【００１６】
また、２台のデータ通信装置間で暗号化されずに送受信されるデータは、特定データであり、暗号鍵や暗号鍵生成の基となる基礎値は送受信されないので、暗号鍵を第三者に入手される可能性を低くすることができる。
【００１７】
また、仮に、第三者が２台のデータ通信装置が有するのと同じカウンタを用意して、特定データを盗聴したとしても、この第三者は、それぞれのデータ通信装置がこの特定データを送信したタイミングまたは受信したタイミングを知ることができない。従って、この第三者は、それぞれのデータ通信装置のカウンタによって得られるカウンタ値を知ることができず、暗号鍵生成の基となる基礎値を知ることができない。従って、暗号鍵を第三者に入手される可能性を低くすることができる。
【００１８】
なお、本発明の暗号鍵設定システムにおいて、前記２台のデータ通信装置は、それぞれ、前記暗号鍵生成部により生成された前記暗号鍵を用いて、送信する前記通信データの暗号化及び受信した前記通信データの復号化を行う暗号化／復号化処理部を有し、前記２台のデータ通信装置のうち、少なくとも一方のデータ通信装置において、前記暗号化／復号化処理部が、前記暗号鍵を用いて受信した前記通信データを復号化できない場合、前記暗号鍵生成部は、生成した前記暗号鍵に代えて、前記基礎値を補正して得られる値に基づき、新たな前記暗号鍵を生成することが好ましい。
【００１９】
前述のように、データ通信装置において、処理に要する時間にはばらつきがあるので、それぞれのデータ通信装置が有するカウンタのうち、一方のカウンタにおいてのみ、決定された桁において桁上がりが生じる場合がある。
この場合、２台のデータ通信装置において、基礎値は一致しないので、この基礎値に基づいて生成される暗号鍵も、２台のデータ通信装置で一致しない。
そこで、上述のように、少なくとも一方のデータ通信装置において、この基礎値を補正することで、互いに基礎値を一致させることができ、２台のデータ通信装置で、同じ暗号鍵を生成して設定することが可能となる。
【００２０】
なお、本発明の暗号鍵設定システムにおいて、前記２台のデータ通信装置は、それぞれ、前記暗号鍵生成部により生成された前記暗号鍵を用いて、送信する前記通信データの暗号化及び受信した前記通信データの復号化を行う暗号化／復号化処理部を有し、前記２台のデータ通信装置のうち、少なくとも一方のデータ通信装置において、前記暗号化／復号化処理部が、前記暗号鍵を用いて受信した前記通信データを復号化できない場合、前記桁決定部は、前記決定した桁に代えて、前記決定した桁を減らすことにより得られる桁を新たに決定し、前記暗号鍵生成部は、生成した前記暗号鍵に代えて、前記カウンタ値のうち、前記桁決定部により新たに決定された桁で示される基礎値に基づき、新たな前記暗号鍵を生成することが好ましい。
【００２１】
前述のように、データ通信装置において、処理に要する時間にはばらつきがあるので、２台のデータ通信装置において、前述のカウンタ値の誤差が一致せず、誤差の生じた桁が異なる場合がある。
この場合、決定される桁が異なるので、これら桁で示される基礎値は互いに一致しない。従って、これら基礎値に基づいて生成される暗号鍵も互いに一致しない。
そこで、上述のように、少なくとも一方のデータ通信装置において、この決定された桁を減らすようにすることで、２台のデータ通信装置において、決定される桁が一致して、基礎値が一致する可能性が高くなる。従って、２台のデータ通信装置において、同じ暗号鍵を生成して設定する可能性が高くなる。
【００２２】
なお、本発明の暗号鍵設定システムにおいて、前記通信路は、無線ＬＡＮにより構成される通信路であり、前記２台のデータ通信装置は、前記無線ＬＡＮ用の中継器であるアクセスポイント、及び前記無線ＬＡＮに接続可能なクライアントであってもよい。
【００２３】
無線ＬＡＮのアクセスポイント及びクライアントに同じ暗号鍵を設定するために、アクセスポイントに設定された暗号鍵を、無線ＬＡＮを介してクライアントに送信して設定する場合、無線ＬＡＮの電波は傍受され易いので、第三者に暗号鍵を含むデータが盗聴されて暗号鍵が入手される可能性が高い。
そこで、本発明の暗号鍵設定システムを用いることで、第三者に入手される可能性を低くして、同じ暗号鍵をアクセスポイント及びクライアントに設定することができる。
【００２４】
なお、本発明は、上述した暗号鍵設定システムの他、データ通信装置として実現することも可能である。また、上述した装置発明の態様に限ることなく、暗号鍵設定方法などの方法発明としての態様で実現することも可能である。さらには、それら方法や装置を構成するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
【００２５】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、暗号鍵設定システムを制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、ＲＯＭカートリッジ、パンチカード、バーコードなどの符合が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明を実施するための最良の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ａ１．システムの概要：
Ａ２．初期暗号鍵設定処理：
Ａ３．実施例の効果：
Ｂ．変形例：
Ｂ１．変形例１：〜Ｂ８．変形例８：
【００２７】
Ａ．実施例：
Ａ１．システムの概要：
図１は、本発明の一実施例である暗号鍵設定システムの概要構成を示す説明図である。
暗号鍵設定システム１０００は、アクセスポイントＡＰとクライアントＣＬとから成る。これらアクセスポイントＡＰ及びクライアントＣＬは、IEEE802.11b規格に準拠した無線ＬＡＮ機器である。そして、クライアントＣＬは、アクセスポイントＡＰからの無線ＬＡＮ通信の電波が届く範囲（通信エリアＡＲ）に設置され、アクセスポイントＡＰとクライアントＣＬとで無線ＬＡＮを構成している。
ここで、アクセスポイントＡＰは、前述の無線ＬＡＮの他、有線ＬＡＮ９００にも接続されており、クライアントＣＬが、他のクライアント（図示省略）や、有線ＬＡＮ９００上のサーバ（図示省略），有線ＬＡＮ９００を介して接続されるインターネットＩＮＴ上のサーバ（図示省略）などとの間でやりとりするデータを中継する。
【００２８】
この暗号鍵設定システム１０００は、アクセスポイントＡＰとクライアントＣＬとが、ＷＥＰキーやＭＡＣアドレス等を含むデータを無線ＬＡＮを介して互いにやりとりして、セキュリティに必要な設定（以下、「セキュリティ設定」と呼ぶ。）を行うにあたり、このやりとりされるデータを暗号化及び復号化するために用いられる暗号鍵（以下、「初期暗号鍵」と呼ぶ。）を、アクセスポイントＡＰとクライアントＣＬとに設定するシステムである。
【００２９】
ここで、この初期暗号鍵は、暗号化及び復号化で同じ暗号鍵を用いる、いわゆる秘密鍵暗号化方式における暗号鍵であり、暗号鍵設定システム１０００は、アクセスポイントＡＰとクライアントＣＬとに、それぞれ同じ初期暗号鍵を設定する。
【００３０】
図２は、本実施例におけるアクセスポイントＡＰの概要構成を示す説明図である。
アクセスポイントＡＰは、主として、ＣＰＵ１０，メモリ１１，無線ＬＡＮインタフェース部１２，有線ＬＡＮインタフェース部１３を備えており、それぞれ内部バス１５に接続されている。ここで、無線ＬＡＮインタフェース部１２は、アクセスポイントＡＰを無線ＬＡＮに接続するためのインタフェースから成り、主として、電波を送受信するための送信機及び受信機や、アンテナ等を備えている。また、有線ＬＡＮインタフェース部は、アクセスポイントＡＰを有線ＬＡＮ９００に接続するためのインタフェースから成る。
【００３１】
前述のメモリ１１には、初期状態において、初期暗号鍵の設定に関するプログラムと、カウンタプログラムと、仮暗号鍵ＫＫと、鍵利用値決定データＫＤと、が格納されている。
【００３２】
そして、前述のＣＰＵ１０は、前述の初期暗号鍵の設定に関するプログラムを実行することにより、暗号鍵設定部１０ａ，カウンタ制御部１０ｂ，暗号化／復号化処理部１０ｃ，データ送受信部１０ｄとして機能し、また、前述のカウンタプログラムを実行することにより、カウンタＣＡとして機能する。なお、前述の暗号鍵設定部１０ａは、請求項に記載の桁決定部及び暗号鍵生成部に相当する。
【００３３】
前述の仮暗号鍵ＫＫは、アクセスポイントＡＰの出荷前にメモリ１１に格納される。なお、この仮暗号鍵ＫＫは、クライアントＣＬや他のアクセスポイントなど、出荷される無線ＬＡＮ機器において、共通してメモリに格納される暗号鍵である。従って、多くの無線ＬＡＮ機器において共通して用いられることから、第三者に入手される可能性が高い。
そこで、この仮暗号鍵ＫＫは、初期暗号鍵がアクセスポイントＡＰ及びクライアントＣＬに設定されるまでの間、仮の暗号鍵として、アクセスポイントＡＰとクライアントＣＬとの間でやりとりされるデータを暗号化及び復号化するのに用いられる。
なお、前述の初期暗号鍵は、この仮暗号鍵ＫＫの一部を、或る値（以下、「鍵利用値」と呼ぶ。）に置き換えて生成される。従って、この鍵利用値が同じであれば、同じ初期暗号鍵が生成される。
【００３４】
また、前述の鍵利用値決定データＫＤは、アクセスポイントＡＰとクライアントＣＬとで同じ鍵利用値を決定するために、アクセスポイントＡＰとクライアントＣＬとの間でやりとりされるデータである。
【００３５】
図３は、本実施例におけるクライアントＣＬの概要構成を示す説明図である。
クライアントＣＬは、主として、コンピュータ１００と、コンピュータ１００に装着された無線ＬＡＮアダプタ１０１と、を備える。
コンピュータ１００は、主として、ＣＰＵ１０２，メモリ１０３，ハードディスク１０４，入出力インタフェース部１０５を備えており、それぞれ内部バス１０６に接続されている。コンピュータ１００は、前述のＣＰＵ１０２などの他、キーボード１０７及びディスプレイ１０８を備えており、前述の入出力インタフェース部１０５は、これらキーボード１０７及びディスプレイ１０８が、それぞれＣＰＵ１０２等とデータをやりとりするためのインタフェースから成る。
【００３６】
そして、前述のメモリ１０３には、初期状態において仮暗号鍵ＫＫ及び鍵利用値決定データＫＤが格納されている。これら仮暗号鍵ＫＫ及び鍵利用値決定データＫＤは、上述したクライアントＣＬのメモリ１１に格納された仮暗号鍵ＫＫ及び鍵利用値決定データＫＤと同じである。
【００３７】
一方、無線ＬＡＮアダプタ１０１は、主として、電波を送受信するための送信機及び受信機や、アンテナ等を備えており、コンピュータ１００の内部バス１０６に接続されている。
【００３８】
コンピュータ１００では、所定のオペレーティングシステムの下、初期暗号鍵の設定に関するプログラムとカウンタプログラムとが実行される。なお、このオペレーティングシステムには、各種ドライバが組み込まれ、無線ＬＡＮアダプタ１０１，キーボード１０７ディスプレイ１０８，が、それぞれ制御される。
そして、前述の初期暗号鍵の設定に関するプログラムが起動され、メモリ１０３にロードされると、ＣＰＵ１０２は、このプログラムを実行することにより、暗号鍵設定部１０２ａ，カウンタ制御部１０２ｂ，暗号化／復号化処理部１０２ｃ，データ送受信部１０２ｄとして機能することとなる。また、前述のカウンタプログラムが起動され、メモリ１０３にロードされると、ＣＰＵ１０２は、このプログラムを実行することにより、カウンタＣＣとして機能することとなる。なお、前述の暗号鍵設定部１０２ａは、請求項に記載の桁決定部及び暗号鍵設定部に相当する。
【００３９】
ここで、前述のカウンタＣＡ及びカウンタＣＣについて、詳細を説明する。なお、カウンタＣＡ及びカウンタＣＣは同じカウンタであるが、説明の便宜上、異なる符合を付している。
【００４０】
図４は、本実施例におけるカウンタＣＡ及びカウンタＣＣを示す説明図である。
カウンタＣＡ及びカウンタＣＣは、始動してからの経過時間を１０ｎｓ単位でカウントするカウンタであり、図４に示すように、第１桁（最下位桁）〜第１６桁（最上位桁）までの１６桁を有する２進法のカウンタである。これらカウンタＣＡ及びカウンタＣＣにおいて、第１桁は、１０ｎｓ（ナノ秒）でインクリメント（０から１、又は１から０への値の変化）し、第２桁は、２０ｎｓでインクリメントする。そして、第３桁，第４桁，...と、インクリメントする時間間隔が倍々に延び、第１６桁は、およそ０．３３ｓ（秒）でインクリメントする。図４では、始動してから３０ｎｓ後のカウンタＣＡ及びカウンタＣＣを示している。
【００４１】
Ａ２．初期暗号鍵設定処理：
図５は、本実施例におけるアクセスポイントＡＰ及びクライアントＣＬで実行される、初期暗号鍵設定処理の手順を示すフローチャートである。
今、図１に示す通信エリアＡＲにクライアントＣＬが設置され、アクセスポイントＡＰとクライアントＣＬとにおいて、互いを無線ＬＡＮ通信を行う機器であると認識するための動作（アソシエーション）が完了し、アクセスポイントＡＰとクライアントＣＬとの間で、無線ＬＡＮを介した通信が可能な状態である。なお、アクセスポイントＡＰ及びクライアントＣＬにおいて、暗号化及び復号化するために使用する暗号鍵として、仮暗号鍵ＫＫが設定されている。
【００４２】
まず、アクセスポイントＡＰは、クライアントＣＬとの間で、鍵利用値決定データＫＤを所定回数だけ繰り返して送受信し、鍵利用値決定データＫＤを受信する度に、そのときのカウンタＣＡの値をメモリ１１に記憶させる（ステップＳ２０２）。
一方、クライアントＣＬにおいても同様な処理が行われる。すなわち、クライアントＣＬは、アクセスポイントＡＰとの間で、鍵利用値決定データＫＤを所定回数だけ繰り返して送受信し、鍵利用値決定データＫＤを受信する度に、そのときのカウンタＣＣの値をメモリ１０３に記憶させる（ステップＳ３０２）。
【００４３】
前述のアクセスポイントＡＰにおけるステップＳ２０２の処理、及びクライアントＣＬにおけるステップＳ３０２の処理について、図２，図３，図６を用いて、具体的に説明する。
【００４４】
図６は、アクセスポイントＡＰとクライアントＣＬとの間で、鍵利用値決定データＫＤを送受信する様子を模式的に示す説明図である。
図６において、時間軸Ｔを上から下への方向で示している。なお、アクセスポイントＡＰ及びクライアントＣＬにおいて、鍵利用値決定データＫＤを繰り返し送受信する回数は、それぞれ、予め３回と定められている。そして、図６において、鍵利用値決定データＫＤを、１〜３回目に受信する際のカウンタＣＡの値及びカウンタＣＣの値を、それぞれ示す。
【００４５】
まず、図２に示すアクセスポイントＡＰの暗号鍵設定部１０ａは、暗号化／復号化処理部１０ｃに、鍵利用値決定データＫＤの暗号化を指示し、暗号化／復号化処理部１０ｃは、メモリ１１から鍵利用値決定データＫＤと、暗号鍵として設定されている仮暗号鍵ＫＫとを読み出し、鍵利用値決定データＫＤを仮暗号鍵ＫＫで暗号化する。そして、アクセスポイントＡＰのデータ送受信部１０ｄは、暗号化された鍵利用値決定データＫＤをクライアントＣＬに送信し、アクセスポイントＡＰのカウンタ制御部１０ｂは、鍵利用値決定データＫＤの送信の際にカウンタＣＡをリセットして始動させる。
【００４６】
一方、図３に示すクライアントＣＬのデータ送受信部１０２ｄは、暗号化された鍵利用桁決定データＫＤを受信し、メモリ１０３に記憶させる。そして、クライアントＣＬの暗号化／復号化処理部１０２ｃは、メモリ１０３から、暗号化された鍵利用値決定データＫＤと、暗号鍵として設定されている仮暗号鍵ＫＫとを読み出し、仮暗号鍵ＫＫを用いて、暗号化された鍵利用値決定データＫＤに対して復号化を施す。
【００４７】
復号化されたデータが鍵利用値決定データＫＤであるので、クライアントＣＬの暗号鍵設定部１０２ａは、暗号化／復号化処理部１０２ｃに、鍵利用値決定データＫＤの暗号化を指示し、暗号化／復号化処理部１０２ｃは、メモリ１０３から鍵利用値決定データＫＤと仮暗号鍵ＫＫとを読み出し、鍵利用値決定データＫＤを仮暗号鍵ＫＫで暗号化する。そして、クライアントＣＬのデータ送受信部１０２ｄは、暗号化された鍵利用値決定データＫＤをアクセスポイントＡＰに送信し、クライアントＣＬのカウンタ制御部１０２ｂは、鍵利用値決定データＫＤの送信の際にカウンタＣＣをリセットして始動させる。
【００４８】
クライアントＣＬから送信された、暗号化された鍵利用値決定データＫＤを受信したアクセスポイントＡＰのデータ送受信部１０ｄは、この暗号化された鍵利用値決定データＫＤをメモリ１１に記憶させる。そして、アクセスポイントＡＰの暗号化／復号化処理部１０ｃは、暗号化された鍵利用値決定データＫＤと仮暗号鍵ＫＫとをメモリ１１から読み出し、仮暗号鍵ＫＫを用いて、暗号化された鍵利用値決定データＫＤに対して復号化を施す。
【００４９】
復号化されたデータが鍵利用値決定データＫＤであるので、アクセスポイントＡＰのカウンタ制御部１０ｂは、始動させたカウンタＣＡを停止させ、暗号鍵設定部１０ａは、図６に示す、このときのカウンタＣＡの値（１回目カウンタ値）をメモリ１１に記憶させる。
このようにして、鍵利用値決定データＫＤの送受信が１回行われる。そして、所定回数の３回に達していないので、アクセスポイントＡＰでは、再び前述のようにして、鍵利用値決定データＫＤを暗号化してクライアントＣＬに送信すると共に、カウンタＣＡをリセットして始動させる。
【００５０】
一方、再び暗号化された鍵利用値決定データＫＤを受信したクライアントＣＬでは、前述のようにして、仮暗号鍵ＫＫを用いて暗号化された鍵利用値決定データＫＤに対して復号化を施す。復号化されたデータが鍵利用値決定データＫＤであるので、クライアントＣＬのカウンタ制御部１０２ｂは、始動させたカウンタＣＣを停止させ、暗号鍵設定部１０２ａは、図６に示す、このときのカウンタＣＣの値（１回目カウンタ値）をメモリ１０３に記憶させる。
【００５１】
以上の処理をアクセスポイントＡＰとクライアントＣＬとで３回繰り返す。その結果、図６に示すような、１〜３回目に鍵利用値決定データＫＤを受信した際のカウンタ値（以下、「１〜３回目のカウンタ値」と呼ぶ。）が、アクセスポイントＡＰのメモリ１１及びクライアントＣＬのメモリ１０３に、それぞれ記憶される。
【００５２】
図５に戻って、次に、アクセスポイントＡＰにおいて、暗号鍵設定部１０ａは、メモリ１１に記憶させた３つのカウンタ値を読み出し、これら３つのカウンタ値に基づいて、鍵利用値を決定し、メモリ１１に記憶させる（ステップＳ２０４）。
一方、クライアントＣＬにおいても、同様に、暗号鍵設定部１０２ａは、メモリ１０３に記憶させた３つのカウンタ値を読み出し、これら３つのカウンタ値に基づいて、鍵利用値を決定し、メモリ１０３に記憶させる（ステップＳ３０４）。
【００５３】
前述のアクセスポイントＡＰにおけるステップＳ２０４の処理、及びクライアントＣＬにおけるステップＳ３０４の処理について、図７を用いて具体的に説明する。
【００５４】
図７は、カウンタ値に基づく鍵利用値の決定方法を模式的に示す説明図である。
図７において、左側は、アクセスポイントＡＰにおいて、メモリ１１に記憶された１〜３回目のカウンタ値と、これら３つのカウンタ値から決定される鍵利用値と、を示し、右側は、クライアントＣＬにおいて、メモリ１０３に記憶された１〜３回目のカウンタ値と、これら３つのカウンタ値から決定される鍵利用値と、を示す。
【００５５】
前述の１〜３回目のカウンタ値は、それぞれ、時間に換算すると、鍵利用値決定データＫＤを送信してから受信するまでの往復所要時間に相当する。
ここで、この往復所要時間は、アクセスポイントＡＰ〜クライアントＣＬ間における電波の往復伝搬時間と、アクセスポイントＡＰにおける処理時間と、クライアントＣＬにおける処理時間と、から成る。そして、この電波の往復伝搬時間については、同じデータが同じ距離だけ伝搬することから１〜３回目でほぼ同じであり、また、アクセスポイントＡＰ及びクライアントＣＬにおける処理時間については、同じ処理を繰り返すことから１〜３回でほぼ同じになる。
従って、往復所要時間は１〜３回目でほぼ等しくなり、また、アクセスポイントＡＰとクライアントＣＬとでもほぼ等しくなることとなる。
【００５６】
しかし、アクセスポイントＡＰ及びクライアントＣＬにおける処理時間については、アクセスポイントＡＰのＣＰＵ１０の処理負荷の度合いや、クライアントＣＬのＣＰＵ１０２の処理負荷の度合い等によってばらつきがあるため、往復所要時間は１〜３回目で完全には一致しない。従って、１〜３回目のカウンタ値は完全に一致せず、下位側の桁において、誤差が生じることとなる。
【００５７】
ここで、アクセスポイントＡＰとクライアントＣＬとは、同一のシステムにおいて、同様な処理を行っているので、アクセスポイントＡＰとクライアントＣＬとで、前述の誤差の生じる桁は、ほぼ一致することとなる。
【００５８】
従って、アクセスポイントＡＰとクライアントＣＬとで、１〜３回目のカウンタ値のうち、この誤差が生じた下位側の桁を除く、上位側の桁で示される値については、一致する可能性が高い。そこで、この値を鍵利用値として決定する。
【００５９】
具体的には、まず、１〜３回目のカウンタ値の排他的論理和（ＸＯＲ）を求める。その結果、得られたカウンタ値において０が続く上位の桁については、１〜３回目のカウンタ値で一致している。そして、これら上位の桁で示される、１〜３回目のカウンタ値で一致した値を鍵利用値として決定する。
例えば、図７に示す、アクセスポイントＡＰの１〜３回目のカウンタ値について、排他的論理和を求めると、得られたカウンタ値において、第１６桁〜第５桁までの上位１２桁で０が続くので、この上位１２桁で示される「００００１０１１０１０１」を鍵決定値として決定する。なお、クライアントＣＬ側においても、図７に示すように、上位１２桁で示される「００００１０１１０１０１」を鍵利用値として決定するので、アクセスポイントＡＰとクライアントＣＬとで、同じ鍵利用値が決定される。
【００６０】
以上のようにして、アクセスポイントＡＰとクライアントＣＬとで同じ鍵利用値が決定される可能性が高くなる。しかし、アクセスポイントＡＰとクライアントＣＬとで異なる鍵利用値が決定される場合がある。
【００６１】
図８は、鍵利用値が異なる場合の、アクセスポイントＡＰ及びクライアントＣＬにおける、カウンタ値の一例を示す説明図である。
図８において、左側は、アクセスポイントＡＰにおける１〜３回目のカウンタ値及び決定される鍵利用値を示し、右側は、クライアントＣＬにおける１〜３回目のカウンタ値及び決定される鍵利用値を示す。
【００６２】
図８に示すように、アクセスポイントＡＰの１回目のカウンタ値とクライアントＣＬの１回目のカウンタ値とに、時間に換算して１０ｎｓの誤差が生じている。これは、前述の１〜３回目のカウンタ値における誤差と同様に、アクセスポイントＡＰのＣＰＵ１０の処理負荷の度合いや、クライアントＣＬのＣＰＵ１０２の処理負荷の度合い等に起因する、アクセスポイントＡＰ及びクライアントＣＬにおける処理時間のばらつきによるものである。
【００６３】
そして、アクセスポイントＡＰにおいて、１回目から２回目、及び２回目から３回目のカウンタ値の誤差が、それぞれ＋５０ｎｓであり、クライアントＣＬにおいて、１回目から２回目、及び２回目から３回目のカウンタ値の誤差が、それぞれ−５０ｎｓである。
【００６４】
このようなカウンタ値の場合、図８に示すように、アクセスポイントＡＰ側及びクライアントＣＬ側において、それぞれ、上位１２桁については、１〜３回目のカウンタ値で一致している。しかし、決定される鍵利用値については、アクセスポイントＡＰとクライアントＣＬとで異なっている。これは、アクセスポイントＡＰの１〜３回目のカウンタ値では、第６桁に桁上がりが生じているのに対して、クライアントＣＬの１〜３回目のカウンタ値では、この桁上がりが生じていないからである。
【００６５】
このように、アクセスポイントＡＰ又はクライアントＣＬの、いずれか一方の１〜３回目のカウンタ値においてのみ、排他的論理和を求めた結果０が続く上位の桁で桁上がりが生じた場合、鍵利用値が異なることとなる。
【００６６】
このような場合、生成される初期暗号鍵も異なることとなる。そこで、図５に示す、アクセスポイントＡＰにおけるステップＳ２０６以降の処理、及びクライアントＣＬにおけるステップＳ３０６以降の処理を実行することにより、アクセスポイントＡＰとクライアントＣＬとで、鍵利用値を一致させ、同じ初期暗号鍵を生成するようにする。
【００６７】
図５に戻って、アクセスポイントＡＰの暗号鍵設定部１０ａは、決定した鍵利用値と仮暗号鍵ＫＫとをメモリ１１から読み出し、仮暗号鍵ＫＫの一部を鍵利用値と置き換えて初期暗号鍵を生成してメモリ１１に記憶させ、暗号鍵として、仮暗号鍵ＫＫに代えて、初期暗号鍵を設定する（ステップＳ２０６）。
同様に、クライアントＣＬの暗号鍵設定部１０２ａは、決定した鍵利用値と仮暗号鍵ＫＫとをメモリ１０３から読み出し、仮暗号鍵ＫＫの一部を鍵利用値と置き換えて初期暗号鍵を生成してメモリ１０３に記憶させ、暗号鍵として、仮暗号鍵ＫＫに代えて、初期暗号鍵を設定する（ステップＳ３０６）。
【００６８】
次にアクセスポイントＡＰの暗号化／復号化処理部１０ｃは、初期暗号鍵を用いて、ＣＲＣ（Cyclic Redundancy Check）方式等によるチェックコードが付加された任意のデータに対し、暗号鍵として設定された初期暗号鍵を用いて暗号化を施す（ステップＳ２０８）。
【００６９】
次に、アクセスポイントＡＰのデータ送受信部１０ｄは、暗号化／復
号化処理部１０ｃにより暗号化されたデータを無線ＬＡＮを介してクライアントＣＬに送信する（ステップＳ２１０）。
【００７０】
一方、クライアントＣＬにおいて、データ送受信部１０２ｄは、アクセスポイントＡＰから送信された暗号化データを受信し、メモリ１０３に記憶させる（ステップＳ３０８）。
【００７１】
次に、クライアントＣＬの暗号鍵設定部１０２ａ及び暗号化／復号化処理部１０２ｃは、クライアントＣＬにおいて設定した初期暗号鍵を、アクセスポイントＡＰで設定された初期暗号鍵と一致させるように修正する処理（以下、「クライアント側初期暗号鍵修正処理」と呼ぶ。）を実行する（ステップＳ３１０）。
【００７２】
図９は、クライアント側初期暗号鍵修正処理の手順を示すフローチャートである。
なお、以下において、説明の便宜上、アクセスポイントＡＰにおいて決定された鍵利用値を「鍵利用値ＫＡ」と呼び、クライアントＣＬにおいて決定された鍵利用値を「鍵利用値ＫＣ」と呼ぶ。
【００７３】
まず、クライアントＣＬの暗号化／復号化処理部１０２ｃは、メモリ１０３から、受信した暗号化データと設定された初期暗号鍵とを読み出して、この初期暗号鍵を用いて暗号化データに対して復号化を施す（ステップＳ４０２）。
【００７４】
次に、クライアントＣＬの暗号鍵設定部１０２ａは、復号化されたデータに基づき、ＣＲＣ方式等によるチェックコードを算出し、予めデータに付加されたチェックコードと一致するか否かを判定する（ステップＳ４０４）。算出したチェックコードが、予めデータに付加されたチェックコードと一致する場合、データの復号化は成功しており、アクセスポイントＡＰが設定した初期暗号鍵と、クライアントＣＬが設定した初期暗号鍵と、は一致していることになる。
そして、この場合、クライアントＣＬが設定した初期暗号鍵を修正する必要がないので、クライアント側初期暗号鍵修正処理は終了する。
【００７５】
一方、算出したチェックコードが、予めデータに付加されたチェックコードと一致しない場合、データは復号化されておらず、アクセスポイントＡＰが設定した暗号鍵と、クライアントＣＬが設定した暗号鍵と、は一致していないことになる。そして、この場合、アクセスポイントＡＰにおいて決定された鍵利用値ＫＡと、クライアントＣＬにおいて決定された鍵利用値ＫＣと、は異なっている。
【００７６】
そこで、この場合、クライアントＣＬの暗号鍵設定部１０２ａは、鍵利用値ＫＣに対する鍵利用値ＫＡの想定される差分値Δｋを、メモリ１０３に記憶し（ステップＳ４０８）、鍵利用値ＫＣに、この差分値Δｋを足し合わせて補正して（ステップＳ４１０）、この補正した鍵利用値（ＫＣ＋Δｋ）を、仮暗号鍵ＫＫの一部と置き換えて、初期暗号鍵を再度生成して暗号鍵として設定する（ステップＳ４１２）。
そして、クライアントＣＬの暗号化／復号化処理部１０２ｃは、この再度設定された初期暗号鍵を用いて、受信した暗号化データに復号化を施し（ステップＳ４０２）、チェックコードが一致するか否かを再度判定する（ステップＳ４０４）。
【００７７】
ここで、鍵利用値ＫＡに対する鍵利用値ＫＣの差分値は、鍵利用値ＫＡ及び鍵利用値ＫＣの下位の２桁程度の差分である場合が多いことを、発明者は実験的に見いだした。従って、差分値Δｋを、便宜上１０進法で表して−２，−１，＋１，＋２と順次定め、鍵利用値ＫＣを補正し、初期暗号鍵を生成するようにすれば、差分値Δｋがいずれかの値の場合に、復号化が成功してチェックコードが一致する可能性が高い。
【００７８】
そこで、クライアントＣＬの暗号鍵設定部１０２ａは、ステップＳ４０８の処理の前に、差分値Δｋとして、これら−２，−１，＋１，＋２の全ての値を用いて鍵利用値ＫＣを補正したか否かを判定し（ステップＳ４０６）、全ての値を用いて鍵利用値ＫＣを補正していない場合、次の順序となる値をΔｋとして鍵利用値ＫＣを補正するようにする。
【００７９】
具体的には、例えば、差分値Δｋが「−１」である場合、図８に示す鍵利用値ＫＣ「００００１０１１０１０１」に「−１」を足し合わせると、「００００１０１１０１００」となり、図８に示す鍵利用値ＫＡと一致しない。そこで、差分値Δｋを、次の順序となる「＋１」とし、鍵利用値ＫＣ「００００１０１１０１０１」に「＋１」を足し合わせる補正を行う。
なお、この補正の結果、鍵利用値ＫＣは「００００１０１１０１１０」となり、鍵利用値ＫＡと一致し、クセスポイントＡＰが設定した暗号鍵と、クライアントＣＬが設定した暗号鍵と、は一致している。
【００８０】
一方、差分値Δｋとして、−２，−１，＋１，＋２の全ての値を用いて鍵利用値ＫＣを補正したにも関わらず、ステップＳ４０４の処理において、チェックコードが一致しない場合、差分値Δｋは、１０進法で表して−３以下もしくは＋３以上となっている。
そして、この場合、クライアントＣＬの暗号鍵設定部１０２ａは、暗号鍵として、初期暗号鍵に代えて、再び仮暗号鍵ＫＫを設定する（ステップＳ４１４）。
【００８１】
図５に戻って、クライアントＣＬの暗号鍵設定部１０２ａは、ＣＲＣ方式等によるチェックコードが付加された任意のデータに対して暗号鍵を用いて暗号化を施し（ステップＳ３１２）、データ送受信部１０２ｄは、この暗号化データを無線ＬＡＮを介してアクセスポイントＡＰに送信する（ステップＳ３１４）。
【００８２】
一方、この暗号化データを受信したアクセスポイントＡＰのデータ送受信部１０ｄは、この暗号化データをメモリ１１に記憶させる（ステップＳ２１２）。
【００８３】
ここで、上述したステップＳ３１２の処理で、クライアントＣＬが暗号化するのに用いる暗号鍵は、クライアント側初期暗号鍵修正処理の結果、アクセスポイントＡＰが設定した初期暗号鍵とクライアントＣＬが設定した初期暗号鍵とが一致した場合には、この初期暗号鍵であり、鍵利用値ＫＣを補正してもなお、アクセスポイントＡＰが設定した初期暗号鍵とクライアントＣＬが設定した初期暗号鍵とが一致しない場合には、仮暗号鍵ＫＫである。
【００８４】
そして、アクセスポイントＡＰは、前述のクライアント側初期暗号鍵修正処理の結果は知らないので、以降の処理として、アクセスポイントＡＰに設定されている初期暗号鍵を用いて受信したデータに対して復号化を施し、復号化が成功したか否かを判定することで、アクセスポイントＡＰが設定した初期暗号鍵とクライアントＣＬが設定した暗号鍵とが一致したか否かを判定する。そして、復号化が成功せず、アクセスポイントＡＰが設定した初期暗号鍵とクライアントＣＬが設定した暗号鍵とが一致しなかったものと判定した場合、再度、初期暗号鍵設定処理を行うための準備として、初期暗号鍵に代えて、再び仮暗号鍵ＫＫを暗号鍵として設定する処理（以下、「アクセスポイント側暗号鍵修正処理」と呼ぶ。）を実行する（ステップＳ２１４）。
【００８５】
図１０は、アクセスポイント側暗号鍵修正処理の手順を示すフローチャートである。
まず、アクセスポイントＡＰの暗号化／復号化処理部１０ｃは、メモリ１１から、受信した暗号化データと設定された初期暗号鍵とを読み出して、この初期暗号鍵を用いて暗号化データに対して復号化を施す（ステップＳ５０２）。
【００８６】
次に、アクセスポイントＡＰの暗号鍵設定部１０ａは、復号化されたデータに基づき、ＣＲＣ方式等によるチェックコードを算出し、予めデータに付加されたチェックコードと一致するか否かを判定する（ステップＳ５０４）。算出したチェックコードが、予めデータに付加されたチェックコードと一致する場合、データの復号化は成功しており、従って、アクセスポイントＡＰの暗号鍵設定部１０ａは、アクセスポイントＡＰにおいて設定された初期暗号鍵と、クライアントＣＬにおいて設定された初期暗号鍵と、は一致していると判定する。
そして、この場合、アクセスポイント側暗号鍵修正処理は終了する。
【００８７】
一方、算出したチェックコードが、予めデータに付加されたチェックコードと一致しない場合、データの復号化は成功しておらず、従って、アクセスポイントＡＰの暗号鍵設定部１０ａは、アクセスポイントＡＰにおいて設定された初期暗号鍵と、クライアントＣＬにおいて設定された初期暗号鍵とが一致していないと判定する。
【００８８】
そして、この場合、後述するように、初期暗号鍵設定処理が再度実行されることとなるが、初期暗号鍵設定処理を行うにあたり、暗号鍵として仮暗号鍵ＫＫが設定されていなくてはならないので、アクセスポイントＡＰの暗号鍵設定部１０ａは、暗号鍵として、設定されている初期暗号鍵に代えて、再び仮暗号鍵ＫＫを設定する（ステップＳ５０６）。
【００８９】
図５に戻って、次に、アクセスポイントＡＰの暗号鍵設定部１０ａは、アクセスポイントＡＰとクライアントＣＬとで同じ初期暗号鍵が設定されたか否かを判定する（ステップＳ２１６）。前述のように、アクセスポイント側暗号鍵修正処理（ステップＳ２１４）において、算出したチェックコードが、予めデータに付加されたチェックコードと一致した場合、アクセスポイントＡＰとクライアントＣＬとで同じ初期暗号鍵が設定されたものと判定し、初期暗号鍵設定処理は終了する。
一方、算出したチェックコードが、予めデータに付加されたチェックコードと一致しなかった場合、アクセスポイントＡＰとクライアントＣＬとで異なる初期暗号鍵が設定されたものと判定する。そして、この場合、アクセスポイントＡＰでは、ステップＳ２０２の処理に戻り、再度、上述した初期暗号鍵設定処理を行う。
【００９０】
一方、クライアントＣＬにおいても、暗号鍵設定部１０２ａは、アクセスポイントＡＰとクライアントＣＬとで同じ暗号鍵が設定されたか否かを判定する（ステップＳ３１６）。
【００９１】
前述したように、クライアント側初期暗号鍵修正処理（ステップＳ３１０）において、鍵利用値ＫＣの補正なしに、算出したチェックコードが予めデータに付与されたチェックコードと一致した場合、又は、差分値Δｋとして、−２，−１，＋１，＋２のいずれかの値を用いて鍵利用値ＫＣを補正した結果、チェックコードが一致した場合、アクセスポイントＡＰとクライアントＣＬとで同じ初期暗号鍵が設定されたものと判定し、初期暗号鍵設定処理は終了する。
一方、差分値Δｋとして、−２，−１，＋１，＋２の全ての値を用いて鍵利用値ＫＣを補正したにも関わらず、算出したチェックコードが一致しない場合、アクセスポイントＡＰとクライアントＣＬとで異なる暗号鍵が設定されたものと判定する。そして、この場合、クライアントＣＬでは、ステップＳ３０２の処理に戻り、再度、上述した初期暗号鍵設定処理を行う。
【００９２】
以上説明した初期暗号鍵設定処理の結果、アクセスポイントＡＰとクライアントＣＬとで、同じ初期暗号鍵が設定されることとなる。
【００９３】
このようにして、アクセスポイントＡＰとクライアントＣＬとで、同じ初期暗号鍵を設定した後、アクセスポイントＡＰは、設定した初期暗号鍵を用いてＷＥＰキーを含むデータを暗号化してクライアントＣＬに送信し、一方、クライアントＣＬは、設定した初期暗号鍵を用いて、受信したデータを復号化してＷＥＰキーを入手する。
また、クライアントＣＬは、設定した初期暗号鍵を用いてＭＡＣアドレスを含むデータを暗号化してアクセスポイントＡＰに送信し、一方、アクセスポイントＡＰは、設定した初期暗号鍵を用いて、受信したデータを復号化してＭＡＣアドレスを入手する。
このようにして入手したＷＥＰキーやＭＡＣアドレス等に基づいて、アクセスポイントＡＰ及びクライアントＣＬにおいて、セキュリティ設定が行われる。
【００９４】
Ａ３．実施例の効果：
以上説明したように、暗号鍵設定システム１０００を用いることで、ユーザは、アクセスポイントＡＰやクライアントＣＬに対し、手作業で設定することなく同じ初期暗号鍵を設定することが可能となる。
【００９５】
また、暗号鍵設定システム１０００において、初期暗号鍵を設定するためにアクセスポイントＡＰとクライアントＣＬとの間で送受信されるデータは、鍵利用値を決定するための鍵利用値決定データＫＤと、任意のデータを暗号化した暗号化データと、であり、鍵利用値や初期暗号鍵を含むデータは送受信されないので、初期暗号鍵を第三者に入手される可能性を低くすることができる。
【００９６】
また、仮に、第三者が、カウンタＣＡ及びカウンタＣＣと同じカウンタを用意した上で、鍵利用値決定データＫＤを盗聴したしても、この第三者は、アクセスポイントＡＰ及びクライアントＣＬが、カウンタＣＡ及びカウンタＣＣをリセットして始動させたタイミングを知ることができないので、鍵利用値を知ることができない。従って、初期暗号鍵を第三者に入手される可能性を低くすることができる。
【００９７】
Ｂ．変形例：
なお、本発明は、上述の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において、種々の態様において実施することが可能であり、例えば以下のような変形も可能である。
【００９８】
Ｂ１．変形例１：
上述の実施例では、カウンタＣＡの桁数とカウンタＣＣの桁数とは、共に１６桁としたが、この１６桁に限定するものではない。例えば、１５桁や８桁のように少ない桁数であってもよいし、１７桁や３２桁のように多い桁数であってもよい。また、カウンタＣＡとカウンタＣＣとで桁数が異なっていても構わない。
また、カウンタＣＡ及びカウンタＣＣは、共に始動してからの経過時間を１０ｎｓ単位でカウントするものとしたが、このカウントする単位時間（以下、「時間精度」と呼ぶ。）は、１０ｎｓに限定するものではない。また、カウンタＣＡとカウンタＣＣとで、時間精度が異なってもよい。
以下、アクセスポイントの備えるカウンタとクライアントが備えるカウンタとで、桁数及び時間精度が異なる場合の処理について図１１を用いて説明する。
【００９９】
図１１は、変形例１における、互いに桁数と時間精度とが異なる、アクセスポイントのカウンタＣＡ'及びクライアントのカウンタＣＣ'を示す説明図である。
図１１において、左側は、カウンタＣＡ'を示し、上部右側は、カウンタＣＣ'を示す。
カウンタＣＡ'は、第１桁〜第１６桁の１６桁を有するカウンタであり、時間精度は、１０ｎｓである。一方、カウンタＣＣ'は、第１桁〜第８桁の８桁を有するカウンタであり、時間精度は、３０ｎｓである。
【０１００】
このように、カウンタＣＡ'とカウンタＣＣ'とで、桁数及び時間精度が異なる場合、まず、アクセスポイント又はクライアントのいずれかが、初期暗号鍵設定処理を実行する前において、自分が備えるカウンタの桁数及び時間精度を相手に通知する。
そして、通知を受けた側は、自分が備えるカウンタの桁数及び時間精度が、通知された桁数及び時間精度と異なる場合、初期暗号鍵設定処理において、メモリに記憶させるカウンタ値を以下のようにする。すなわち、鍵利用値決定データＫＤを受信したときのカウンタ値を時間に換算し、換算した時間を、相手から通知された桁数及び時間精度のカウンタで示した場合のカウンタ値を求め、求めたカウンタ値をメモリに記憶させるようにする。
【０１０１】
具体的には、例えば、アクセスポイントがカウンタＣＡ'の桁数及び時間精度を通知する場合、クライアントは、アクセスポイントからカウンタＣＡ'の桁数「１６」及び時間精度「１０ｎｓ」を通知されることとなる。そして、クライアントにおいて鍵利用値決定データＫＤを受信したときのカウンタＣＣ'の値が、図１１の上部右側に示す値であった場合、まず、クライアントは、このカウンタ値を時間に換算して「５１０ｎｓ」を得る。次に、クライアントは、この５１０ｎｓを、１６桁を有する時間精度１０ｎｓのカウンタで示した場合のカウンタ値を求める。その結果、下部右側に示すようなカウンタ値がクライアントのメモリに記憶される。
このようにすることで、クライアントにおいて、アクセスポイントと同じカウンタを備えている場合と同じカウンタ値をメモリに記憶させることができ、上述した実施例と同様にして、アクセスポイントとクライアントとで同じ初期暗号鍵を設定することが可能となる。
【０１０２】
Ｂ２．変形例２：
上述した実施例では、図７又は図８に示すように、アクセスポイントＡＰとクライアントＣＬとで鍵利用値ＫＡ及び鍵利用値ＫＣの桁数は一致していた。
しかし、アクセスポイントＡＰ及びクライアントＣＬにおいて、メモリに記憶される１〜３回目のカウンタ値や、誤差の大きさによっては、鍵利用値の桁数が、アクセスポイントＡＰとクライアントＣＬとで異なる場合がある。
そこで、上述したクライアント側初期暗号鍵修正処理において行われる、鍵利用値ＫＣに差分値Δｋを足し合わせる補正に加えて、鍵利用値ＫＣのうち、下位側の桁で示される値を除く補正を行うようにしてもよい。
以下、この鍵利用値ＫＣのうち、下位側の桁で示される値を除く補正について図１２を用いて説明する。
【０１０３】
図１２は、鍵利用値の桁数がアクセスポイントＡＰとクライアントＣＬとで異なる場合の、アクセスポイントＡＰ及びクライアントＣＬにおける、カウンタ値の一例を示す説明図である。
図１２において、左側は、アクセスポイントＡＰにおける１〜３回目のカウンタ値及び決定される鍵利用値を示し、右側は、クライアントＣＬにおける１〜３回目のカウンタ値及び決定される鍵利用値を示す。
【０１０４】
クライアントＣＬにおける１〜３回目の各カウンタ値は、上位１２桁が一致している。一方、アクセスポイントＡＰにおける１〜３回目の各カウンタ値については、１回目のカウンタ値においてのみ、第６桁に桁上がりが生じているため、第１６桁〜第７桁の上位１０桁が一致することとなる。従って、アクセスポイントＡＰとクライアントＣＬとで鍵利用値の桁数が異なっている。そして、アクセスポイントＡＰとクライアントＣＬとで鍵利用値の桁数が異なっているため、決定される鍵利用値も互いに異なっている。
なお、このように鍵利用値の桁数が異なっている場合、上述した鍵利用値ＫＣに差分値Δｋを足し合わせる補正を行っても、鍵利用値は一致しない。
【０１０５】
しかし、この場合、アクセスポイントＡＰとクライアントＣＬとで、上位１０桁については、共に「００００１０１１０１」で一致している。そこで、クライアントＣＬ側で、鍵利用値「００００１０１１０１０１」の下位の２桁で示される値「０１」を除く補正を行うことにより、アクセスポイントＡＰとクライアントＣＬとで鍵利用値を一致させることが可能となる。
【０１０６】
具体的には、クライアントＣＬにおいて、鍵利用値ＫＣに全ての差分値Δｋ（−２，−１，＋１，＋２）を足し合わせる補正を行っても、受信した暗号化データを復号化できない場合、鍵利用値から下位の１桁で示される値を除き、次に下位の２桁で示される値を除く、といったように、鍵利用値のうち、下位の桁から順に値を除いていく補正を行う。
そして、補正する度に、補正した鍵利用値で初期暗号鍵を再生成し、この再生成した初期暗号鍵で受信した暗号化データが復号化できるか否かを判定するようにする。
【０１０７】
なお、例えば、下位の２桁の値を除いてもなお、暗号化データが復号化できない場合、暗号鍵として、初期暗号鍵に代えて、仮暗号鍵ＫＫを設定するようにして、クライアント側初期暗号鍵修正処理を終了させるようにしてもよい。この場合、アクセスポイントＡＰ及びクライアントＣＬは、上述したように、再度初期暗号鍵設定処理を行うこととなる。
【０１０８】
Ｂ３．変形例３：
上述した実施例では、初期暗号鍵設定処理において、アクセスポイントＡＰ及びクライアントＣＬは、鍵利用値決定データＫＤの１回の送受信（鍵利用値決定データＫＤを相手に送信し、その後、相手から鍵利用値決定データＫＤを受信すること）毎にカウンタＣＡ及びカウンタＣＣを停止させ、リセットしていたが、これに代えて、鍵利用値決定データＫＤの複数回の送受信を１セットとし、１セット毎に、カウンタＣＡ及びカウンタＣＣを停止させ、リセットするようにしてもよい。
このようにすることで、充分に大きな鍵利用値を確保できると共に、カウント精度を上げることが可能となる。なお、複数セット繰り返すことで、アクセスポイントＡＰ及びクライアントＣＬにおいて、それぞれ複数のカウンタ値をメモリに記憶することができるので、上述した実施例と同様にして、アクセスポイントＡＰ及びクライアントＣＬで、それぞれ鍵利用値を決定することができる。
【０１０９】
また、アクセスポイントＡＰとクライアントＣＬとの間で鍵利用値決定データＫＤの送受信が行われている間は、カウンタＣＡ及びカウンタＣＣを停止せず、鍵利用値決定データＫＤを受信する度に、そのときのカウンタＣＡ及びカウンタＣＣの値をメモリに記憶するようにしてもよい。
このようにしても、記憶したカウンタ値の差分を求めることにより、上述した鍵利用値決定データＫＤを送信してから受信するまでの往復所要時間に相当するカウンタ値を求めることができる。従って、上述した実施例と同様にして、アクセスポイントＡＰ及びクライアントＣＬで、それぞれ鍵利用値を決定することができる。
【０１１０】
Ｂ４．変形例４：
上述した実施例では、初期暗号鍵設定処理において、鍵利用値決定データＫＤを最初に送信するのはアクセスポイントＡＰであったが、クライアントＣＬであっても構わない。
また、鍵利用値決定データＫＤの送受信を所定回数だけ行った後、暗号化データを最初に送信するのはアクセスポイントＡＰであったが、クライアントＣＬであっても構わない。なお、この場合、アクセスポイントＡＰにおいて、上述したクライアント側初期暗号鍵修正処理を行い、クライアントＣＬにおいて、上述したアクセスポイント側暗号鍵修正処理を行うようにすればよい。
【０１１１】
Ｂ５．変形例５：
上述した実施例では、暗号鍵設定システム１０００におけるアクセスポイントＡＰとクライアントＣＬとは、IEEE802.11b規格に準拠した無線ＬＡＮ機器であるとしたが、IEEE802.11aやIEEE802.11g等、他の規格に準拠した無線ＬＡＮ機器であってもよい。
【０１１２】
また、上述の実施例において、暗号鍵設定システム１０００は、無線ＬＡＮ機器であるアクセスポイントＡＰとクライアントＣＬとから成るものとしたが、これに限らない。例えば、有線ＬＡＮやインターネット等のネットワークを介して通信を行う、端末やサーバ等で構成しても構わない。また、ＬＡＮやインターネット等のネットワークを介さず、１対１の接続により通信を行う、端末やサーバ等で構成しても構わない。
このようにしても、通信路上でやりとりされるデータを暗号化／復号化するための暗号鍵を、第三者に入手される可能性を低くして、これら端末やサーバ等に設定することが可能となる。
【０１１３】
Ｂ６．変形例６：
上述した実施例では、アクセスポイントＡＰ及びクライアントＣＬにおいて、鍵利用値決定データＫＤを繰り返し送受信する回数は、それぞれ、予め３回と定められていたが、この回数は３回に限定されるものではない。
【０１１４】
Ｂ７．変形例７：
上述した実施例では、初期暗号鍵は、仮暗号鍵ＫＫの一部を鍵利用値で置き換えて生成するものとしたが、これに限らない。鍵利用値に基づき、周知のＲＣ４（Rivest'sCipher4）などの暗号化アルゴリズムにより生成するようにしてもよい。
【０１１５】
Ｂ８．変形例８：
上述した実施例において、ハードウェアによって実現されていた構成の一部を、ソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアによって置き換えるようにしてもよい。例えば、カウンタＣＡ及びカウンタＣＣをハードウェア回路で構成するようにしてもよい。
【図面の簡単な説明】
【０１１６】
【図１】本発明の一実施例である暗号鍵設定システムの概要構成を示す説明図。
【図２】本実施例におけるアクセスポイントＡＰの概要構成を示す説明図。
【図３】本実施例におけるクライアントＣＬの概要構成を示す説明図。
【図４】本実施例におけるカウンタＣＡ及びカウンタＣＣを示す説明図。
【図５】本実施例におけるアクセスポイントＡＰ及びクライアントＣＬで実行される、初期暗号鍵設定処理の手順を示すフローチャート。
【図６】アクセスポイントＡＰとクライアントＣＬとの間で、鍵利用値決定データＫＤを送受信する様子を模式的に示す説明図。
【図７】カウンタ値に基づく鍵利用値の決定方法を模式的に示す説明図。
【図８】鍵利用値が異なる場合の、アクセスポイントＡＰ及びクライアントＣＬにおける、カウンタ値の一例を示す説明図。
【図９】クライアント側初期暗号鍵修正処理の手順を示すフローチャート。
【図１０】アクセスポイント側暗号鍵修正処理の手順を示すフローチャート。
【図１１】変形例１における、互いに桁数と時間精度とが異なる、アクセスポイントのカウンタＣＡ'及びクライアントのカウンタＣＣ'を示す説明図。
【図１２】鍵利用値の桁数がアクセスポイントＡＰとクライアントＣＬとで異なる場合の、アクセスポイントＡＰ及びクライアントＣＬにおける、カウンタ値の一例を示す説明図。
【符号の説明】
【０１１７】
１０，１０２...ＣＰＵ
１０ａ，１０２ａ...暗号鍵設定部
１０ｂ，１０２ｂ...カウンタ制御部
１０ｃ，１０２ｃ...暗号化／復号化処理部
１０ｄ，１０２ｄ...データ送受信部
１１，１０３...メモリ
１２...無線ＬＡＮインタフェース
１３...有線ＬＡＮインタフェース
１５，１０６...内部バス
１００...コンピュータ
１０１...無線ＬＡＮアダプタ
１０４...ハードディスク
１０５...入出力インタフェース部
１０７...キーボード
１０８...ディスプレイ
９００...有線ＬＡＮ
１０００...暗号鍵設定システム
ＡＰ...アクセスポイント
ＡＲ...通信エリア
ＣＡ，ＣＣ，ＣＡ'，ＣＣ'...カウンタ
ＣＬ...クライアント
ＩＮＴ...インターネット
ＫＤ...鍵利用値決定データ
ＫＫ...仮暗号鍵
【図１】
2006080934.tif 000003
【図２】
2006080934.tif 000004
【図３】
2006080934.tif 000005
【図４】
2006080934.tif 000006
【図５】
2006080934.tif 000007
【図６】
2006080934.tif 000008
【図７】
2006080934.tif 000009
【図８】
2006080934.tif 000010
【図９】
2006080934.tif 000011
【図１０】
2006080934.tif 000012
【図１１】
2006080934.tif 000013
【図１２】
2006080934.tif 000014