(57)【要約】【課題】演算能力が低い端末でも無線通信への攻撃を適切に防御できること。【解決手段】無線局１０は、正規の通信対象である通信装置から送信される信号の信号強度を互いに取得し、取得された信号強度に基づいて、秘密鍵をそれぞれ作成する。そして、無線局１０は、作成された秘密鍵を基に通信フレームをそれぞれ生成し、該通信フレームを互いに送信する。その後、無線局１０は、秘密鍵に基づいて生成された通信フレームを受信した場合には、該受信した通信フレームに基づいて、該通信フレームの送信元の通信装置が正規の通信対象であるか認証する。【選択図】図２
2016213721.tif 000002
【特許請求の範囲】
【請求項１】
通信装置によって実行される認証方法であって、
正規の通信対象である通信装置から送信される信号の信号強度を取得する取得工程と、
前記取得工程によって取得された信号強度に基づいて、秘密鍵を作成する作成工程と、
前記作成工程によって作成された秘密鍵を基に通信フレームを生成し、該通信フレームを送信する送信工程と、
前記秘密鍵に基づいて生成された通信フレームを受信した場合には、該受信した通信フレームに基づいて、該通信フレームの送信元の通信装置が正規の通信対象であるか認証する認証工程と、
を含んだことを特徴とする認証方法。
【請求項２】
前記作成工程は、前記取得工程によって取得された信号強度の時間変化に応じて、前記秘密鍵を作成することを特徴とする請求項１に記載の認証方法。
【請求項３】
前記送信工程は、前記作成工程によって作成された秘密鍵を通信フレームに付加し、該通信フレームを送信し、
前記認証工程は、前記秘密鍵が付加された通信フレームを受信した場合には、該受信した秘密鍵を用いて、該通信フレームの送信元の通信装置が正規の無線端末であるか認証することを特徴とする請求項１または２に記載の認証方法。
【請求項４】
前記作成工程によって作成された秘密鍵を用いて、予め定められた規則から認証用コードを所定数だけ生成する生成工程をさらに含み、
前記送信工程は、前記生成工程によって生成された認証用コードを通信フレームに付加し、該通信フレームを送信し、
前記認証工程は、前記認証用コードが付加された通信フレームを受信した場合には、該受信した認証用コードを用いて、該通信フレームの送信元の通信装置が正規の無線端末であるか認証することを特徴とする請求項１または２に記載の認証方法。
【請求項５】
正規の通信対象である通信装置から送信される信号の信号強度を取得する取得ステップと、
前記取得ステップによって取得された信号強度に基づいて、秘密鍵を作成する作成ステップと、
前記作成ステップによって作成された秘密鍵を基に通信フレームを生成し、該通信フレームを送信する送信ステップと、
前記秘密鍵に基づいて生成された通信フレームを受信した場合には、該受信した通信フレームに基づいて、該通信フレームの送信元の通信装置が正規の通信対象であるか認証する認証ステップと、
をコンピュータに実行させるための認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証方法および認証プログラムに関する。
【背景技術】
【０００２】
近年、公衆無線ＬＡＮ（Local  Area  Network）やＷｉＦｉ（Wireless  Fidelity）端末などの普及により、ユーザが自宅以外でも気軽にインターネットへと接続することができるようになってきている。
【０００３】
無料で利用可能な公衆無線ＬＡＮでは、通信の暗号化がされていない場合があり、ユーザがＳＳＬ（Secure  Sockets  Layer）などの暗号化プロトコルを用いない限り誰でも通信の中身を盗聴することができ、パスワードによるユーザの接続先の認証も行われないためアクセスポイントの偽装をすることができる。
【０００４】
このため、無線ＬＡＮへの攻撃が問題となっている。例えば、攻撃手法としては、正規ＡＰ（Access  Point）と正規クライアント間の接続を偽ＡＰが切断して、当該偽ＡＰが正規ＡＰのＭＡＣ（Media  Access  Control）アドレスとＳＳＩＤ（Service  Set  Identifier）を偽装して正規クライアントと接続したり、正規ＡＰと正規クライアント間の接続を偽クライアントが切断して正規クライアントのＭＡＣアドレスを偽装して正規ＡＰに接続したりすることで無線ＬＡＮへの攻撃が行われる。
【０００５】
ここで、図８〜１０の例を用いて、上記の攻撃手法について説明する。例えば、図８に例示するように、正規ＡＰ１００と正規クライアント２００間の接続を、切断通知パケットであるdeauthenticationパケット等を利用して切断し、正規ＡＰ１００のＭＡＣアドレスとＳＳＩＤを偽装することで、ユーザを偽ＡＰ３００へと接続させる。
【０００６】
また、図９に例示するように、攻撃者は正規ＡＰ１００と正規クライアント２００間の接続をdeauthenticationパケット等を利用して切断し、正規クライアント２００のＭＡＣアドレスを偽装することで、偽クライアント４００が正規ＡＰ１００へ正規クライアント２００に代わり接続する。
【０００７】
また、図１０に例示するように、攻撃者の端末６００は、アドホック通信機能をそれぞれ有する正規の無線局５００Ａと正規の無線局５００Ｂとの間の通信をdeauthenticationパケット等を利用して切断し、無線局５００ＢのＭＡＣアドレス等の識別情報を偽装することで、無線局５００Ａを攻撃者の端末６００へ接続させる場合もある。
【０００８】
なお、通信の暗号化処理が行われていたとしても“ＩＥＥＥ．８０２．１１ｉ”のような既存の暗号化プロトコルでは一時鍵生成プロセスの通信が平文でやり取りされるため、強固なパスワードを用いていない場合は現実的な時間で解読が可能である。また、通信の暗号化がされていないＡＰでは、攻撃者は平文でやり取りされるＭＡＣアドレスなどのヘッダ情報を偽装するだけで、正規の通信相手になりすますことが容易に行える。このため、攻撃者は正規のＡＰになりすましたＡＰを構築することで、正規のコネクションを切断しユーザに気づかれることなくなりすましＡＰに接続させることが可能である。
【０００９】
なお、上記のような攻撃に対する認証技術として、証明書による認証、パスワードによる認証および外部ＤＢを用いた認証を行うことで、正規の通信相手かどうかを判断する技術が知られている。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】T.  Aono,  K.  Higuchi,  T.  Ohira,  B.  Komiyama,  and  H.  Sasaoka,  “Wireless  Secret  Key  Generation  Exploiting  Reactance-Domain  Scalar  Response  of  Multipath  Fading  Channels”,  IEEE  Trans.  Antennas  Propag.,  vol.53,  no.11,  pp.3776-3784,  Nov.  2005.
【非特許文献２】Sriram  Nandha  Premnath,  et  al.“Secret  Key  Extraction  from  Wireless  Signal  Strength  in  Real  Environments”,  IEEE  TRANSACTIONS  ON  MOBILE  COMPUTING,  VOL.12,  NO.5,  MAY  2013,  インターネット（http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6171198）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記のような認証処理では計算量が多くなるため、認証処理に掛かる処理負荷が大きくなり、演算能力の低い端末では、無線通信への攻撃を適切に防御できない場合があるという課題があった。
【００１２】
例えば、証明書による認証において、公開鍵を用いて認証処理を行った場合には、該認証処理に必要な計算量が多くなるため、演算能力の低い端末では公開鍵を用いた認証方式の実装が困難であった。また、例えば、パスワードによる認証では、強固なパスワードを用いていない場合は無線通信への攻撃を適切に防御できない場合がある。また、例えば、外部ＤＢを用いた認証では、外部ＤＢを設けたり、外部ＤＢへの事前の登録が必要であったりするため、認証処理に掛かる運用コストが大きくなる。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明の認証方法は、通信装置によって実行される認証方法であって、正規の通信対象である通信装置から送信される信号の信号強度を取得する取得工程と、前記取得工程によって取得された信号強度に基づいて、秘密鍵を作成する作成工程と、前記作成工程によって作成された秘密鍵を基に通信フレームを生成し、該通信フレームを送信する送信工程と、前記秘密鍵に基づいて生成された通信フレームを受信した場合には、該受信した通信フレームに基づいて、該通信フレームの送信元の通信装置が正規の通信対象であるか認証する認証工程と、を含んだことを特徴とする。
【００１４】
また、本発明の認証プログラムは、正規の通信対象である通信装置から送信される信号の信号強度を取得する取得ステップと、前記取得ステップによって取得された信号強度に基づいて、秘密鍵を作成する作成ステップと、前記作成ステップによって作成された秘密鍵を基に通信フレームを生成し、該通信フレームを送信する送信ステップと、前記秘密鍵に基づいて生成された通信フレームを受信した場合には、該受信した通信フレームに基づいて、該通信フレームの送信元の通信装置が正規の通信対象であるか認証する認証ステップと、をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明によれば、認証処理に掛かる処理負荷が小さく、演算能力が低い端末でも無線通信への攻撃を適切に防御できるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、第一の実施の形態に係る通信システムの構成の一例を示す図である。
【図２】図２は、第一の実施の形態に係る無線局の構成を示すブロック図である。
【図３】図３は、秘密鍵を作成する処理を説明する図である。
【図４】図４は、第一の実施の形態に係る無線局による認証処理の流れを示すフローチャートである。
【図５】図５は、第二の実施の形態に係る無線局の構成を示すブロック図である。
【図６】図６は、第二の実施の形態に係る無線局による認証処理の流れを示すフローチャートである。
【図７】図７は、認証プログラムを実行するコンピュータを示す図である。
【図８】図８は、偽ＡＰのなりすまし行為について説明する図である。
【図９】図９は、偽クライアントのなりすまし行為について説明する図である。
【図１０】図１０は、攻撃者のなりすまし行為について説明する図である。
【発明を実施するための形態】
【００１７】
以下に、本願に係る認証方法および認証プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る認証方法および認証プログラムが限定されるものではない。
【００１８】
［第一の実施の形態］
以下の実施の形態では、第一の実施の形態に係る通信システムの構成、無線局の構成、無線局の処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
【００１９】
［通信システムの構成］
図１は、第一の実施の形態に係る通信システムの構成の一例を示す図である。図１に示すように、第一の実施の形態に係る通信システム１は、無線局１０Ａと無線局１０Ｂとを有する。無線局１０Ａと無線局１０Ｂとは、初期状態で正規の通信相手と認識し合っているものとする。
【００２０】
無線局１０Ａ、１０Ｂは、正規の通信対象である通信装置から送信される信号の信号強度を互いに取得し、取得された信号強度に基づいて、秘密鍵をそれぞれ作成する。そして、無線局１０Ａ、１０Ｂは、作成された秘密鍵を基に通信フレームをそれぞれ生成し、該通信フレームを互いに送信する。その後、無線局１０Ａ、１０Ｂは、秘密鍵に基づいて生成された通信フレームを受信した場合には、該受信した通信フレームに基づいて、該通信フレームの送信元の通信装置が正規の通信対象であるか認証する。
【００２１】
なお、以下の説明では、２台の無線局１０Ａ、１０Ｂについての認証処理について説明するが、これに限定されるものではなく、ＡＰとクライアントとの間で行われる認証処理に本発明を適用してもよい。また、２台の無線局１０Ａ、１０Ｂは、同様の構成を有しているものとし、特に区別することなく説明する場合には、無線局１０と記載する。
【００２２】
［無線局の構成］
次に、図２を用いて、図１に示した無線局１０の構成を説明する。図２は、第一の実施の形態に係る無線局１０の構成を示すブロック図である。図２に示すように、この無線局１０は、通信処理部１１、制御部１２、記憶部１３を有する。以下にこれらの各部の処理を説明する。なお、正規の通信相手と認識している他の無線局との間では、信号強度の収集時間間隔δ、ビット列の長さｎ、区間平均を取る時間間隔α、標準偏差σに乗ずる定数β、ハッシュ関数Ｇを予め共有しているものとする。
【００２３】
通信処理部１１は、他の無線局との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部１１は、時刻同期のための基準パケットの送受信や秘密鍵の送受信を、他の無線局との間で行う。
【００２４】
記憶部１３は、制御部１２による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、信号強度記憶部１３ａおよび秘密鍵記憶部１３ｂを有する。例えば、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【００２５】
信号強度記憶部１３ａは、正規の通信相手と認識している他の無線局からのパケットの信号強度を記憶する。例えば、信号強度記憶部１３ａは、パケットの受信時刻とパケットの信号強度とを対応付けて記憶する。
【００２６】
秘密鍵記憶部１３ｂは、一定の時間間隔で収集された他の無線局からのパケットの信号強度から作成された秘密鍵Ｘを作成する。例えば、秘密鍵記憶部１３ｂは、正規の通信相手と認識している他の無線局と事前に取り決めたｎビットの値を秘密鍵Ｘとして記憶する。なお、秘密鍵Ｘの値は、所定の時間ごとに更新されるが、更新されるごとに、秘密鍵記憶部１３ｂに記憶された秘密鍵Ｘの値が上書きされるものとする。
【００２７】
制御部１２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、取得部１２ａ、作成部１２ｂ、実行部１２ｃ、送信部１２ｄおよび認証部１２ｅを有する。
【００２８】
取得部１２ａは、正規の通信対象である通信装置から送信されるパケットの信号強度を取得する。具体的には、正規の通信相手と認識している他の無線局との時刻同期のための基準パケットを互いに送信し、該パケットが送受信された時刻を基準時として同期し、同期された通信フレームの信号強度を、一定の時間間隔δ秒ごとに収集し、信号強度記憶部１３ａに格納する。
【００２９】
作成部１２ｂは、取得部１２ａによって取得された信号強度に基づいて、秘密鍵を作成する。具体的には、作成部１２ｂは、信号強度記憶部１３ａに格納された信号強度を読み出し、読み出された信号強度の時間変化に応じて秘密鍵を作成する。
【００３０】
例えば、作成部１２ｂは、一定の時間間隔δ秒ごとに収集したδ・ω（ωは単位時間当たりの通信フレーム収集数）個の信号強度の時間変化から、事前にお互いで取り決めたｎビットの値Ｘを、秘密鍵Ｘとして求める。ここで、図３を用いて、秘密鍵Ｘを作成する処理を説明する。図３は、秘密鍵を作成する処理を説明する図である。図３に例示するように、互いに正規の通信相手である無線局Ａと無線局Ｂがそれぞれ信号強度（ｄＢｍ）を一定の時間間隔δ秒ごとに収集しているものとする。そして、作成部１２ｂは、直近α秒の区間平均ｚを計算する。
【００３１】
そして、作成部１２ｂは、収集された信号強度について、区間平均ｚからのずれが区間閾値βσを超えたか否かを順次判定する。この結果、信号強度が３つ連続で区間閾値βσを超え、区間平均ｚより信号強度が強い場合は「１」、区間平均ｚより信号強度が弱い場合は「０」のビットとして秘密鍵記憶部１３ｂに値を格納していき、ｎビット格納した時点で格納されたビット列を秘密鍵Ｘとして作成する。なお、秘密鍵Ｘは事前に取り決めたε秒（ε＞δ）ごとに更新する。攻撃者による正規通信の切断、端末情報を偽装した接続には一定の時間がかかるため、εの値を小さくしてやることで、攻撃者に秘密鍵Ｘを盗聴されていたとしても接続を乗っ取ることは困難となる。
【００３２】
例えば、図３の例では、無線局Ａは、収集された信号強度について、区間平均ｚからのずれが区間閾値βσを超えたか否かを順次判定し、最初に信号強度が３つ連続で区間閾値βσを超え、区間平均より信号強度が強いため「１」のビットを格納する。次に、信号強度が３つ連続で区間閾値βσを超えたため、区間平均より信号強度が弱いため「０」のビットを格納する。なお、秘密鍵Ｘに対応付けて、各ビットに対応する信号強度が取得された時刻を格納するようにしてもよい。
【００３３】
そして、無線局Ａは、直近α秒の区間平均ｚを再度計算し、収集された信号強度について、区間平均ｚからのずれが区間閾値βσを超えたか否かを順次判定する処理を繰り返す。この結果、図３の例では、ｎが「５」である場合には、秘密鍵Ｘとして、５ビットのビット列「１，０，１，１，０」を作成する。なお、ビット列の長さｎを予め決めずに、所定の時間内に格納されたビットからビット列（秘密鍵Ｘ）を作成するようにしてもよい。
【００３４】
また、無線局Ｂも同様の処理を行い、秘密鍵Ｘとして、５ビットのビット列「１，０，１，１，０」を同様に作成する。無線局Ａ、Ｂは、お互いに相手からの通信フレームの信号強度を収集しており、同じ時間に同じ周波数を用いた信号は伝播特性が同一となることを利用して、信号強度の時間変化を観測した観測量を用いてお互いに同一の秘密鍵を共有することが可能である。
【００３５】
実行部１２ｃは、秘密鍵Ｘの作成が完了した時点で、秘密鍵Ｘの誤り訂正を実行する。例えば、実行部１２ｃは、秘密鍵Ｘをハッシュ関数Ｇのシードとして出力値Ｇ（Ｘ）を求める。そして、出力値Ｇ（Ｘ）を正規の通信相手と認識している他の無線局と互いに送信し、自装置が送信した出力値Ｇ（Ｘ）と他の無線局から受信した出力値Ｇ（Ｘ）が一致するか判定する。この結果、一致しない場合には、誤り訂正プロトコルによる誤り訂正を実行し、出力値Ｇ（Ｘ）を互いに送信する処理を、互いの出力値Ｇ（Ｘ）が一致するまで繰り返す。これにより、正規の通信相手と認識している他の無線局との間で正しいＸを共有できていることを確認することができる。
【００３６】
なお、実行部１２ｃは、誤り訂正プロトコルとして、例えば、カスケードプロトコルによる誤り訂正を実行する。カスケードプロトコルでは、鍵を複数のブロックにランダムに分割し、パリティを計算し、パリティが一致しなければ二分検索を用いて誤りを訂正する。この試行を複数回繰り返すことによって高い確率で出力値Ｇ（Ｘ）を一致させることができる。また、出力値Ｇ（Ｘ）として用いるビット列の長さを秘密鍵Ｘより短くすることで、秘密鍵Ｘの情報が丸め込まれ、解読を困難にすることが可能である。
【００３７】
送信部１２ｄは、作成部１２ｂによって作成された秘密鍵Ｘを基に通信フレームを生成し、該通信フレームを正規の通信相手と認識している他の無線局に送信する。具体的には、送信部１２ｄは、作成部１２ｂによって作成された秘密鍵Ｘを通信フレームに付加し、該通信フレームを正規の通信相手と認識している他の無線局に送信する。
【００３８】
認証部１２ｅは、秘密鍵Ｘに基づいて生成された通信フレームを受信した場合には、該受信した通信フレームに基づいて、該通信フレームの送信元の通信装置が正規の通信対象であるか認証する。具体的には、認証部１２ｅは、秘密鍵Ｘが付加された通信フレームを受信した場合には、該受信した秘密鍵Ｘを用いて、該通信フレームの送信元の通信装置が正規の無線端末であるか認証する。
【００３９】
例えば、認証部１２ｅは、秘密鍵Ｘが付加された通信フレームを受信した場合には、該受信した秘密鍵Ｘの値が、秘密鍵記憶部１３ｂに記憶された秘密鍵Ｘの値と一致するか否かを判定し、一致する場合には、正規の通信相手として通信フレームを受理し、一致しない場合には、通信フレームを破棄する。
【００４０】
［無線局の処理の流れ］
まず、図４を用いて、第一の実施の形態に係る無線局１０における処理について説明する。図４は、第一の実施の形態に係る無線局による認証処理の流れを示すフローチャートである。
【００４１】
図４に示すように、無線局１０の取得部１２ａは、正規の通信相手と認識している他の無線局との時刻同期のための基準パケットを互いに送信する（ステップＳ１０１）。そして、取得部１２ａは、パケットが送受信された時刻を基準時として同期し、同期された通信フレームの信号強度を、一定の時間間隔δ秒ごとに収集する（ステップＳ１０２）。
【００４２】
続いて、作成部１２ｂは信号強度の時系列変化から秘密鍵Ｘを作成する（ステップＳ１０３）。例えば、作成部１２ｂは、一定の時間間隔δ秒ごとに収集したδ・ω（ωは単位時間当たりの通信フレーム収集数）個の信号強度の時間変化から、事前にお互いで取り決めたｎビットの値Ｘを、秘密鍵Ｘとして求める。
【００４３】
そして、実行部１２ｃは、事前に取り決めたハッシュ関数ＧのＸをシードとした際の出力値Ｇ（Ｘ）を正規の通信相手と認識している他の無線局と互いに送信する（ステップＳ１０４）。そして、実行部１２ｃは、他の無線局から受信した出力値Ｇ（Ｘ）の値が自身が保持する出力値Ｇ（Ｘ）の値と一致するか判定する（ステップＳ１０５）。この結果、実行部１２ｃは、一致しないと判定した場合には（ステップＳ１０５否定）、カスケードプロトコルによる誤り訂正を実行し（ステップＳ１０６）、ステップＳ１０４に戻る。
【００４４】
また、実行部１２ｃが一致すると判定した場合には（ステップＳ１０５肯定）、送信部１２ｄは、通信フレームに秘密鍵Ｘを互いに付加する（ステップＳ１０７）。そして、送信部１２ｄは、該通信フレームを正規の通信相手と認識している他の無線局と互いに送信する。
【００４５】
そして、認証部１２ｅは、通信相手から受信した通信フレームに正しい秘密鍵が付加されているか否かを判定する（ステップＳ１０８）。例えば、認証部１２ｅは、秘密鍵Ｘが付加された通信フレームを受信した場合には、該受信した秘密鍵Ｘの値が、秘密鍵記憶部１３ｂに記憶された秘密鍵Ｘの値と一致するか否かを判定する。
【００４６】
この結果、認証部１２ｅは、正しい秘密鍵が付加されていると判定した場合には（ステップＳ１０８肯定）、正規の通信相手として通信フレームを受理し（ステップＳ１１０）、ステップＳ１０２に戻る。また、認証部１２ｅは、正しい秘密鍵が付加されていないと判定した場合には（ステップＳ１０８否定）、通信フレームを破棄する（ステップＳ１０９）。
【００４７】
［第一の実施の形態の効果］
このように、第一の実施の形態に係る無線局１０では、正規の通信相手と認識しあっている無線局との間の信号強度を収集し、同一期間の信号は伝播特性が同一になることを利用して、信号強度の時間変化を観測した観測量を用いて秘密鍵の共有を可能にし、無線ＬＡＮの乗っ取りを適切に防御することが可能である。
【００４８】
また、物理層以上のプロトコルや端末の演算能力に依存せずに正規端末同士のセッション乗っ取りを防御することが可能である。つまり、証明書や公開鍵を利用した認証方式と違ってハッシュ関数の演算しか用いないため、演算能力の低い端末でも無線ＬＡＮの乗っ取りを防御することが可能である。
【００４９】
［第二の実施の形態］
ところで、上記の第一の実施の形態では、秘密鍵Ｘの値を通信フレームに直接付加する場合を説明したが、これに限定されるものではなく、秘密鍵Ｘを用いて、予め定められた規則から認証用コードを生成し、生成された認証用コードを通信フレームに付加するようにしてもよい。
【００５０】
そこで、以下の第二の実施の形態の説明では、秘密鍵であるビット列Ｘを事前に取り決めた長さのビット列Ｘ１とＸ２に分解し、適当なハッシュ関数Ｆと認証用コードの個数ｋ（δ・ω≦ｋ＜２＾ｎ）を与え、以後の通信フレームのボディにお互い認証用コードのリストＳから順番に認証用コードを付加する例について説明する。
【００５１】
まず、図５を用いて、第二の実施の形態に係る無線局１０ａの構成を説明する。図５は、第二の実施の形態に係る無線局の構成を示すブロック図である。図５に示すように、この無線局１０ａは、図２で説明した無線局１０と比較して、生成部１２ｆおよび認証用コード記憶部１３ｃを有する点が異なる。以下にこれらの各部の処理を説明する。
【００５２】
生成部１２ｆは、作成部１２ｂによって作成された秘密鍵を用いて、予め定められた規則から認証用コードを所定数だけ生成する。具体的には、生成部１２ｆは、秘密鍵記憶部１３ｂに記憶された秘密鍵Ｘを読み出し、読み出した秘密鍵であるビット列Ｘを事前に取り決めた長さのビット列Ｘ１とビット列Ｘ２に分解する。そして、ハッシュ関数Ｆ、ビット列Ｘ１、ビット列Ｘ２を用いてｋ個の認証用コードの組を持つリストＳを生成し、認証用コード記憶部１３ｃに格納する。
【００５３】
生成部１２ｆは、例えば、事前に決められた秘密鍵のビット列の長さｎをＩＶ（Initialization  Vector）部分Ｘ１の長さｉとリスト生成の種Ｘ２の長さｊに分解し（ｉ＋ｊ＝ｎ）、認証用コードの組をｋ個生成する（ハッシュのシードはｍａｘ（ｉ，ｊ）ビットとなる）。例えば、生成部１２ｆは、ｋ個の認証用コードの組として、「ｋｅｙ  １：Ｆ（Ｘ１）＝Ｙ１」、「ｋｅｙ  ２：Ｆ（Ｘ１＋Ｘ２）＝Ｙ２」・・・、「ｋｅｙ  ｋ：Ｆ（Ｘ１＋（ｋ−１）Ｘ２）＝Ｙｋ」を生成する。
【００５４】
また、生成部１２ｆは、秘密鍵のビット列の長さｎをＸ１（ｍｂｉｔ）とＸ２(ｎ−ｍｂｉｔ)に分解してもよく、認証用コードの組をｋ個生成する（ｋ＜２＾ｎ）。この場合には、例えば、生成部１２ｆは、ｋ個の認証用コードの組として、「Ｋｅｙ  １：Ｆ（Ｘ１｜｜（Ｘ２  ｘｏｒ  Ｙ０））＝Ｙ１」、「Ｋｅｙ  ２：Ｆ（Ｘ１｜｜（Ｘ２  ｘｏｒ  Ｙ１））＝Ｙ２」・・・、「Ｋｅｙ  ｋ：Ｆ（Ｘ１｜｜（Ｘ２  ｘｏｒ  Ｙｋ−１））＝Ｙｋ」を生成する。ここで、Ｙ０は事前に共有される認識用コードの初期値とする。
【００５５】
送信部１２ｄは、生成部１２ｆによって生成された認証用コードを通信フレームに付加し、該通信フレームを送信する。具体的には、送信部１２ｄは、正規の通信相手である無線局との間で、リストＳにおけるｋ個の認証用コードの組Ｆｋを通信フレームに交互に付加して送信する。
【００５６】
認証部１２ｅは、認証用コードが付加された通信フレームを受信した場合には、該受信した認証用コードを用いて、該通信フレームの送信元の通信装置が正規の無線端末であるか認証する。例えば、送信部１２ｄがリストＳにおけるｋ個の認証用コードの組Ｆｋを通信フレームに交互に付加して送信するので、認証部１２ｅは、認証用コードが付加された通信フレームを受信した場合には、認証用コード記憶部１３ｃに記憶された認証用コードを参照し、通信フレームに正しい順序で正しい鍵が付加されているかを認証する。この結果、正しい順序で正しい認証用コードが付加されていれば正規の通信相手からの通信フレームと判断して通信フレームを受理し、正しくない順序もしくは誤った値が付加されていれば不正な端末からの通信フレームと判断して通信フレームを破棄する。
【００５７】
なお、第一の実施の形態と同様に、秘密鍵Ｘは事前に取り決めたε秒ごとに更新する。上述したε、kを上記範囲内（ε＞δ、δ・ω≦ｋ＜２ｎ）において小さい値を選択するほど、盗聴者に与える秘密鍵の情報が少なくなるためリストＳを予想することがより困難になる。
【００５８】
次に、図６を用いて、第二の実施の形態に係る無線局１０ａにおける処理について説明する。図６は、第二の実施の形態に係る無線局による認証処理の流れを示すフローチャートである。
【００５９】
図６に示すように、無線局１０ａの取得部１２ａは、正規の通信相手と認識している他の無線局との時刻同期のための基準パケットを互いに送信する（ステップＳ２０１）。そして、取得部１２ａは、パケットが送受信された時刻を基準時として同期し、同期された通信フレームの信号強度を、一定の時間間隔δ秒ごとに収集する（ステップＳ２０２）。
【００６０】
続いて、作成部１２ｂは信号強度の時系列変化から秘密鍵Ｘを作成する（ステップＳ２０３）。例えば、作成部１２ｂは、一定の時間間隔δ秒ごとに収集したδ・ω（ωは単位時間当たりの通信フレーム収集数）個の信号強度の時間変化から、事前にお互いで取り決めたｎビットの値Ｘを、秘密鍵Ｘとして求める。
【００６１】
そして、実行部１２ｃは、事前に取り決めたハッシュ関数ＧのＸをシードとした際の出力値Ｇ（Ｘ）を正規の通信相手と認識している他の無線局と互いに送信する（ステップＳ２０４）。そして、実行部１２ｃは、他の無線局から受信した出力値Ｇ（Ｘ）の値が自身が保持する出力値Ｇ（Ｘ）の値と一致するか判定する（ステップＳ２０５）。この結果、実行部１２ｃは、一致しないと判定した場合には（ステップＳ２０５否定）、カスケードプロトコルによる誤り訂正を実行し（ステップＳ２０６）、ステップＳ２０４に戻る。
【００６２】
また、実行部１２ｃが一致すると判定した場合には（ステップＳ２０５肯定）、生成部１２ｆは、秘密鍵Ｘから認証用コードの組を事前に決めたアルゴリズムでｋ個生成する（ステップＳ２０７）。そして、送信部１２ｄは、通信フレームに認証用コードを互いに付加する（ステップＳ２０８）。そして、送信部１２ｄは、該通信フレームを正規の通信相手と認識している他の無線局と互いに送信する。
【００６３】
そして、認証部１２ｅは、通信相手から受信した通信フレームに自身の持つリストＳにある認証用コードが正しい順で付加されているか判定する（ステップＳ２０９）。この結果、認証部１２ｅは、認証用コードが正しい順で付加されていると判定した場合には（ステップＳ２０９肯定）、正規の通信相手として通信フレームを受理し（ステップＳ２１１）、ステップＳ２０２に戻る。また、認証部１２ｅは、認証用コードが正しい順で付加されていないと判定した場合には（ステップＳ２０９否定）、通信フレームを破棄する（ステップＳ２１０）。
【００６４】
［第二の実施の形態の効果］
このように、第二の実施の形態に係る無線局１０ａでは、秘密鍵であるビット列Ｘを事前に取り決めた長さのビット列Ｘ１とＸ２に分解し、適当なハッシュ関数Ｆと認証用コードの個数ｋ（δ・ω≦ｋ＜２＾ｎ）を与え、以後の通信フレームのボディにお互い認証用コードのリストＳから順番に認証用コードを付加することで、正規端末からの通信相手を認証するので、演算能力が低い端末でも無線通信への攻撃を適切に防御できる。
【００６５】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６６】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６７】
［プログラム］
図７は、認証プログラムを実行するコンピュータを示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ（Central  Processing  Unit）１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６８】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１０４１に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。
【００６９】
ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち無線局１０、１０ａの各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０３１に記憶される。例えば、無線局１０、１０ａにおける機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。なお、ハードディスクドライブ１０３１は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００７０】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００７１】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７２】
１０、１０ａ  無線局
１１  通信処理部
１２  制御部
１２ａ  取得部
１２ｂ  作成部
１２ｃ  実行部
１２ｄ  送信部
１２ｅ  認証部
１２ｆ  生成部
１３  記憶部
１３ａ  信号強度記憶部
１３ｂ  秘密鍵記憶部
１３ｃ  認証用コード記憶部
【図１】
2016213721.tif 000003
【図２】
2016213721.tif 000004
【図３】
2016213721.tif 000005
【図４】
2016213721.tif 000006
【図５】
2016213721.tif 000007
【図６】
2016213721.tif 000008
【図７】
2016213721.tif 000009
【図８】
2016213721.tif 000010
【図９】
2016213721.tif 000011
【図１０】
2016213721.tif 000012