本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線通信システム100の概略図である。無線通信システム100は、無線装置10,30と、アンテナ11と、アレーアンテナ20とを備える。
アンテナ11は、全方位性のアンテナであり、無線装置10に装着される。アレーアンテナ20は、無線装置30に装着され、アンテナ素子21〜27を備える。アンテナ素子24は、給電素子であり、アンテナ素子21〜23,25〜27は、無給電素子である。アンテナ素子21〜23,25〜27は、アンテナ素子24の周りに略円形に等間隔に配置される。そして、アレーアンテナ20が送受信する電波の波長をλとした場合、給電素子であるアンテナ素子24と、無給電素子であるアンテナ素子21〜23,25〜27との間隔は、例えば、λ/4に設定される。
無給電素子であるアンテナ素子21〜23,25〜27には、可変容量素子であるバラクタダイオード(図示省略)が装荷され、その装荷されたバラクタダイオードに印加する直流電圧を制御することにより、アレーアンテナ20は、適応ビーム形成が可能である。
即ち、アレーアンテナ20は、無線装置30に含まれるバラクタダイオードに印加する直流電圧を変えることによって指向性が変えられる。従って、アレーアンテナ20は、電気的に指向性を切換え可能なアンテナである。盗聴装置50は、例えば、無線装置30の近傍に配置される。
無線装置10と無線装置30との間で無線通信が行われる場合、電波は、無線装置10のアンテナ11と無線装置30のアレーアンテナ20との間を直接伝搬したり、中間物40による影響を受けて伝搬する。中間物40としては、反射物及び障害物が想定される。中間物40が反射物である場合、無線装置10のアンテナ11または無線装置30のアレーアンテナ20から出射した電波は、中間物40によって反射されて無線装置30のアレーアンテナ20または無線装置10のアンテナ11へ伝搬する。また、中間物40が障害物である場合、無線装置10のアンテナ11または無線装置30のアレーアンテナ20から出射した電波は、中間物40によって回折されて無線装置30のアレーアンテナ20または無線装置10のアンテナ11へ伝搬する。
このように、電波は、無線装置10のアンテナ11と無線装置30のアレーアンテナ20との間を直接伝搬したり、中間物40による反射を受けて反射波として伝搬したり、中間物40による回折を受けて回折波として伝搬したりする。そして、電波は、無線装置10のアンテナ11から無線装置30のアレーアンテナ20(または無線装置30のアレーアンテナ20から無線装置10のアンテナ11)へ伝搬する場合、直接伝搬成分、反射波成分及び回折波成分が混在しており、無線装置10のアンテナ11から無線装置30のアレーアンテナ20(または無線装置30のアレーアンテナ20から無線装置10のアンテナ11)へ伝搬した電波がどのような成分により構成されるかによって無線装置10と無線装置30との間の伝送路の特性が決定される。
この発明においては、無線装置10と無線装置30との間で無線通信が行なわれる場合、アレーアンテナ20の指向性を複数の指向性に変えて時分割復信(TDD:Time Division Duplex)等により所定のデータが無線装置10,30間で送受信される。そして、無線装置10,30は、アレーアンテナ20の指向性を複数の指向性に変えたときの複数の電波の強度を示す受信信号プロファイルRSSI_profを後述する方法によって生成し、その生成した受信信号プロファイルRSSI_profに基づいて後述する方法によって秘密鍵を生成する。
秘密鍵が無線装置10,30において生成されると、無線装置10,30は、生成した秘密鍵により情報を暗号化して相手方へ送信し、相手方から受信した暗号化情報を秘密鍵によって復号して情報を取得する。この場合、盗聴装置50は、アンテナ51を介して無線装置10,30間の無線通信を傍受するが、無線装置10,30において生成された秘密鍵を盗聴することができない。
図2は、図1に示す一方の無線装置10の概略ブロック図である。無線装置10は、信号発生部110と、送信処理部120と、アンテナ部130と、受信処理部140と、プロファイル生成部150と、鍵作成部160と、鍵一致確認部170と、鍵記憶部180と、鍵一致化部190と、暗号部200と、復号部210とを含む。
信号発生部110は、秘密鍵を生成するときに無線装置30へ送信するための所定のデータからなるパケットを発生し、その発生したパケットを送信処理部120へ出力する。
送信処理部120は、変調、周波数変換、多元接続及び送信信号の増幅等の送信系の処理を行なう。秘密鍵Ks1が無線装置10において生成される場合、送信処理部120は、k(kは、2以上の整数、例えば、8)個のパケットごとに周波数を切換えてパケットを変調してアンテナ部130へ出力する。
アンテナ部130は、図1に示すアンテナ11からなり、送信処理部120からのパケットを無線装置30へ送信し、無線装置30からのパケットを受信して受信処理部140またはプロファイル生成部150へ供給する。
受信処理部140は、受信信号の増幅、多元接続、周波数変換及び復調等の受信系の処理を行なう。そして、受信処理部140は、受信処理を行なったデータまたは信号を必要に応じて鍵一致確認部170、鍵一致化部190及び復号部210へ出力する。
プロファイル生成部150は、アレーアンテナ20の指向性が複数の指向性に切換えられたときの複数の電波をアンテナ部130から順次受け、その受けた複数の電波の強度を後述する方法によって検出する。そして、プロファイル生成部150は、その検出した複数の電波強度からなる受信信号プロファイルRSSI_prof1を生成し、その生成した受信信号プロファイルRSSI_prof1を鍵作成部160へ出力する。
鍵作成部160は、プロファイル生成部150からの受信信号プロファイルRSSI_prof1を、後述する方法によって、多値化して秘密鍵Ks1を作成する。そして、鍵作成部160は、作成した秘密鍵Ks1を鍵一致確認部170及び鍵一致化部190へ出力する。
鍵一致確認部170は、所定のデータからなるパケットを送信処理部120、アンテナ部130及び受信処理部140を介して無線装置30と送受信し、鍵作成部160によって作成された秘密鍵Ks1が無線装置30において作成された秘密鍵Ks2に一致するか否かを後述する方法によって確認する。そして、鍵一致確認部170は、秘密鍵Ks1が秘密鍵Ks2に一致することを確認したとき、秘密鍵Ks1を鍵記憶部180に記憶する。また、鍵一致確認部170は、秘密鍵Ks1が秘密鍵Ks2に不一致であることを確認したとき、不一致信号NMTHを生成して送信処理部120および鍵一致化部190へ出力する。
鍵記憶部180は、鍵一致確認部170及び鍵一致化部190からの秘密鍵Ks1を記憶する。また、鍵記憶部180は、記憶した秘密鍵Ks1を暗号部200及び復号部210へ出力する。なお、鍵記憶部180は、秘密鍵Ks1を一時的、例えば、無線装置30との無線通信の間だけ記憶するようにしてもよい。
鍵一致化部190は、鍵一致確認部170から不一致信号NMTHを受けると、後述する方法によって秘密鍵Ks1を秘密鍵Ks2に一致させる。そして、鍵一致化部190は、一致させた秘密鍵が秘密鍵Ks2に一致することを鍵一致確認部170における方法と同じ方法によって確認する。鍵一致化部190は、秘密鍵Ks1が秘密鍵Ks2に一致することを確認すると、秘密鍵Ks1を鍵記憶部180に記憶する。
暗号部200は、送信データを鍵記憶部180に記憶された秘密鍵Ks1によって暗号化して送信処理部120へ出力する。復号部210は、受信処理部140からの信号を鍵記憶部180からの秘密鍵Ks1によって復号して受信データを生成する。
図3は、図1に示す他方の無線装置30の概略ブロック図である。無線装置30は、図2で説明した無線装置10のアンテナ部130をアンテナ部220に代え、指向性設定部230を追加したものであり、その他は、無線装置10と同じ構成からなる。
アンテナ部220は、図1に示すアレーアンテナ20からなる。そして、アンテナ部220は、送信処理部120からのデータを指向性設定部230によって設定された指向性で無線装置10へ送信し、無線装置10からのデータを指向性設定部230によって設定された指向性で受信して受信処理部140またはプロファイル生成部150へ出力する。
指向性設定部230は、アンテナ部220の指向性を設定する。また、指向性設定部230は、無線装置10,30において秘密鍵Ks1,Ks2を生成するとき、後述する方法により所定の順序に従ってアンテナ部220の指向性を順次切換える。
また、無線装置30のプロファイル生成部150は、アレーアンテナ20の指向性が複数の指向性に切換えられたときの複数の電波をアンテナ部220から順次受け、その受けた複数の電波の強度を後述する方法によって検出する。そして、無線装置30のプロファイル生成部150は、検出した複数の電波強度からなる受信信号プロファイルRSSI_prof2を生成し、その生成した受信信号プロファイルRSSI_prof2を鍵作成部160へ出力する。
図4は、図3に示す指向性設定部230の概略ブロック図である。指向性設定部230は、バラクタダイオード231〜236と、制御電圧発生回路237とを含む。バラクタダイオード231〜236は、それぞれ、図1に示すアンテナ素子21〜23,25〜27に装荷される。
制御電圧発生回路237は、制御電圧セットCLV1〜CLVn(nは2以上の整数、例えば、128)を順次発生し、その発生した制御電圧セットCLV1〜CLVnをバラクタダイオード231〜236へ順次出力する。
制御電圧セットCLV1〜CLVnの各々は、6個のバラクタダイオード231〜236に対応して6個の電圧値V1〜V6からなる。そして、バラクタダイオード231〜236は、制御電圧セットCLV1を受けると、その受けた制御電圧セットCLV1に応じて、無給電素子であるアンテナ素子21〜23,25〜27に装荷される容量を所定の容量に設定し、アレーアンテナ20の指向性を1つの指向性に設定する。また、バラクタダイオード231〜236は、制御電圧セットCLV2を受けると、その受けた制御電圧セットCLV2に応じて、無給電素子であるアンテナ素子21〜23,25〜27に装荷される容量を所定の容量に設定し、アレーアンテナ20の指向性を別の指向性に設定する。従って、バラクタダイオード231〜236は、制御電圧セットCLV1〜CLVnに応じて無給電素子であるアンテナ素子21〜23,25〜27に装荷される容量を順次変え、アレーアンテナ20の指向性をn個の指向性に順次変える。
図5は、図2及び図3に示す鍵一致確認部170の概略ブロック図である。鍵一致確認部170は、データ発生部171と、データ比較部172と、結果処理部173とを含む。なお、無線装置10,30の鍵一致確認部170は、同じ構成からなるが、図5においては、秘密鍵Ks1が秘密鍵Ks2に一致することを確認する動作を説明するために、無線装置30においてはデータ発生部171のみを示す。
データ発生部171は、鍵作成部160から秘密鍵Ks1を受けると、秘密鍵Ks1が秘密鍵Ks2に一致することを確認するための鍵確認用データDCFM1を発生し、その発生した鍵確認用データDCFM1を送信処理部120及びデータ比較部172へ出力する。
この場合、データ発生部171は、秘密鍵Ks1から非可逆的な演算及び一方向的な演算等により、鍵確認用データDCFM1を発生する。より具体的には、データ発生部171は、秘密鍵Ks1またはKs2のハッシュ値を演算することにより、鍵確認用データDCFM1を発生する。
データ比較部172は、データ発生部171から鍵確認用データDCFM1を受け、無線装置30のデータ発生部171で発生された鍵確認用データDCFM2を受信処理部140から受ける。そして、データ比較部172は、鍵確認用データDCFM1を鍵確認用データDCFM2と比較する。データ比較部172は、鍵確認用データDCFM1が鍵確認用データDCFM2に一致するとき、一致信号MTHを生成して結果処理部173へ出力する。
また、データ比較部172は、鍵確認用データDCFM1が鍵確認用データDCFM2に不一致であるとき、不一致信号NMTHを生成する。そして、データ比較部172は、不一致信号NMTHを鍵一致化部190へ出力するとともに、不一致信号NMTHを送信処理部120及びアンテナ部130を介して無線装置30へ送信する。
結果処理部173は、データ比較部172から一致信号MTHを受けると、鍵作成部160から受けた秘密鍵Ks1を鍵記憶部180へ記憶する。
図6は、図2及び図3に示す鍵一致化部190の概略ブロック図である。鍵一致化部190は、擬似シンドローム作成部191と、不一致ビット検出部192と、鍵不一致訂正部193と、データ発生部194と、データ比較部195と、結果処理部196とを含む。
なお、無線装置10,30の鍵一致化部190は、同じ構成からなるが、図6においては、秘密鍵Ks1を秘密鍵Ks2に一致させる動作を説明するために、無線装置30においては擬似シンドローム作成部191のみを示す。
擬似シンドローム作成部191は、鍵一致確認部170のデータ比較部172から不一致信号NMTHを受けると、鍵作成部160から受けた秘密鍵Ks1のシンドロームs1を演算する。より具体的には、擬似シンドローム作成部191は、秘密鍵Ks1のビットパターンx1を検出し、ビットパターンx1に対して検査行列Hを乗算してシンドロームs1=x1HTを演算する。そして、擬似シンドローム作成部191は、ビットパターンx1を鍵不一致訂正部193へ出力し、演算したシンドロームs1=x1HTを不一致ビット検出部192へ出力する。
なお、これらの演算は、mod2の演算であり、HTは、検査行列Hの転置行列である。
不一致ビット検出部192は、擬似シンドローム作成部191からシンドロームs1を受け、無線装置30の擬似シンドローム作成部191によって演算されたシンドロームs2=x2HTを受信処理部140から受ける。そして、不一致ビット検出部192は、シンドロームs1とシンドロームs2との差分s=s1−s2を演算する。
なお、秘密鍵Ks1,Ks2のビットパターンの差分(鍵不一致のビットパターン)をe=x1−x2とすると、s=eHTの関係が成立する。s=0の場合、e=0となり、秘密鍵Ks1のビットパターンは、秘密鍵Ks2のビットパターンに一致する。
不一致ビット検出部192は、演算した差分sが0でないとき(即ち、e≠0のとき)、鍵不一致のビットパターンeをs=eHTから導出し、その導出したビットパターンeを鍵不一致訂正部193へ出力する。
鍵不一致訂正部193は、擬似シンドローム作成部191からビットパターンx1を受け、不一致ビット検出部192から鍵不一致のビットパターンeを受ける。そして、鍵不一致訂正部193は、ビットパターンx1から鍵不一致のビットパターンeを減算することにより相手方の秘密鍵のビットパターンx2=x1−eを演算する。
このように、鍵一致化部190は、秘密鍵Ks1,Ks2の不一致を誤りと見なして誤り訂正の応用により秘密鍵Ks1,Ks2の不一致を解消する。
この秘密鍵を一致させる方法は、鍵不一致のビット数が誤り訂正能力以上である場合に鍵の一致化に失敗する可能性があるので、鍵一致化の動作を行なった後に鍵一致の確認を行なう必要がある。
データ発生部194は、一致化後のビットパターン(鍵)x2=x1−eを鍵不一致訂正部193から受けると、ビットパターン(鍵)x2に基づいて鍵確認用データDCFM3を発生させ、その発生させた鍵確認用データDCFM3をデータ比較部195へ出力する。また、データ発生部194は、発生させた鍵確認用データDCFM3を送信処理部120及びアンテナ部130を介して無線装置30へ送信する。
なお、データ発生部194は、鍵一致確認部170のデータ発生部171による鍵確認用データDCFM1の発生方法と同じ方法により鍵確認用データDCFM3を発生する。
データ比較部195は、データ発生部194から鍵確認用データDCFM3を受け、無線装置30で発生された鍵確認用データDCFM4を受信処理部140から受ける。そして、データ比較部195は、鍵確認用データDCFM3を鍵確認用データDCFM4と比較する。
データ比較部195は、鍵確認用データDCFM3が鍵確認用データDCFM4に一致するとき、一致信号MTHを生成して結果処理部196へ出力する。
また、データ比較部195は、鍵確認用データDCFM3が鍵確認用データDCFM4に不一致であるとき、不一致信号NMTHを生成する。そして、データ比較部195は、不一致信号NMTHを送信処理部120及びアンテナ部130を介して無線装置30へ送信する。
結果処理部196は、データ比較部195から一致信号MTHを受けると、鍵不一致訂正部193から受けたビットパターン(鍵)x2=x1−eを鍵記憶部180へ記憶する。
このように、データ発生部194、データ比較部195及び結果処理部196は、鍵一致確認部170における確認方法と同じ方法によって一致化が施された鍵の一致を確認する。
図7は、受信信号強度の概念図である。指向性設定部230の制御電圧発生回路237は、各々が電圧V1〜V6からなる制御電圧セットCLV1〜CLVnを順次発生してバラクタダイオード231〜236へ出力する。この場合、電圧V1〜V6は、それぞれ、アンテナ素子21〜23,25〜27に装荷される容量を変えるための電圧であり、例えば、−20〜0Vの範囲の直流電圧からなる。そして、制御電圧発生回路237は、電圧V1〜V6の各々の電圧値を8ビットのデータにより変えることによって各制御電圧セットCLV1〜CLVnを決定し、その決定した各制御電圧セットCLV1〜CLVnをバラクタダイオード231〜236へ出力する。
バラクタダイオード231〜236は、電圧[V11,V12,V13,V14,V15,V16]からなる制御電圧セットCLV1に応じてアレーアンテナ20の指向性をある1つの指向性に設定する。また、バラクタダイオード231〜236は、電圧[V21,V22,V23,V24,V25,V26]からなる制御電圧セットCLV2に応じてアレーアンテナ20の指向性を別の指向性に設定する。以下、同様にして、バラクタダイオード231〜236は、それぞれ、電圧[V31,V32,V33,V34,V35,V36]〜[Vn1,Vn2,Vn3,Vn4,Vn5,Vn6]からなる制御電圧セットCLV3〜CLVnに応じてアレーアンテナ20の指向性を順次切換える。
このように、バラクタダイオード231〜236は、制御電圧セットCLV1〜CLVnに応じてアレーアンテナ20の指向性をn個の指向性に順次切換える。この場合、制御電圧発生回路237は、各パケットPKTnごとにアレーアンテナ20の指向性が切換えられるように制御電圧セットCLV1〜CLVnをバラクタダイオード231〜236へ順次出力し、バラクタダイオード231〜236は、各パケットPKTnごとにアレーアンテナ20の指向性を切換える。
そして、アレーアンテナ20は、指向性をn個の指向性に順次切換えながら各指向性において1個のパケットを送信する。
その結果、無線装置10のプロファイル生成部150は、アレーアンテナ20の指向性がn個の指向性に切換えられたときのn個の電波をアンテナ部130から受ける。
そして、無線装置10のプロファイル生成部150は、アレーアンテナ20の指向性がn個の指向性に切換えられたときのn個の電波に対応するn個の電波強度WI1〜WInを検出し、その検出したn個の電波強度WI1〜WInからなる受信信号強度プロファイルRSSI_prof1を生成する。
以下、秘密鍵の作成方法について説明する。無線装置10,30は、それぞれ、秘密鍵Ks1,Ks2を生成する場合、例えば、128個のパケットPKT1〜PKT128を相互に送受信する。
そして、無線装置10,30のプロファイル生成部150は、チャネル11ch(周波数f1)で送信されたk(=8)個の電波、チャネル12ch(周波数f2)で送信されたk(=8)個の電波、・・・、チャネル26ch(周波数f16)で送信されたk(=8)個の電波をそれぞれアンテナ部130,220から順次受け、その受けたn(=128=16×8)個の電波に対応するn(=128)個の電波強度RSSI1〜RSSInを検出する。
その後、無線装置10,30のプロファイル生成部150は、n(=128)個の電波強度RSSI1〜RSSInを順次配列した受信信号プロファイルRSSI_profを生成し、その生成した受信信号プロファイルRSSI_profを鍵作成部160へ出力する。
無線装置10,30の鍵作成部160は、受信信号プロファイルRSSI_profをプロファイル生成部150から受け、その受けた受信信号プロファイルRSSI_profに基づいて、以下に説明する方法によって、それぞれ、秘密鍵Ks1,Ks2を生成する。
[秘密鍵の作成方法1]
図8は、秘密鍵の作成方法1を示す図である。また、図9は、電波強度を多値化する方法を示す図である。無線装置10,30の鍵作成部160は、受信信号プロファイルRSSI_profを受け(図8の(a)参照)、その受けた受信信号プロファイルRSSI_profのk(=8)個の電波強度RSSI1〜RSSI8,RSSI9〜RSSI16,・・・,RSSI121〜RSSI128ごとにしきい値RSSI_TH1,RSSI_TH2,・・・,RSSI_TH16を決定する。より具体的には、無線装置10,30の鍵作成部160は、k(=8)個の電波強度RSSI1〜RSSI8の中央値をしきい値RSSI_TH1として決定し、k(=8)個の電波強度RSSI9〜RSSI16の中央値をしきい値RSSI_TH2として決定し、以下、同様にしてk(=8)個の電波強度RSSI121〜RSSI128の中央値をしきい値RSSI_TH16として決定する(図8の(b)参照)。
無線装置10,30の鍵作成部160は、しきい値RSSI_TH1〜RSSI_TH16を決定すると、その決定したしきい値RSSI_TH1〜RSSI_TH16を用いてn(=128)個の電波強度RSSI1〜RSSI128を多値化する。より具体的には、無線装置10,30の鍵作成部160は、しきい値RSSI_TH以上の電波強度を“1”に変換し、しきい値RSSI_THよりも小さい電波強度を“0”に変換することによってn(=128)個の電波強度RSSI1〜RSSI128を多値化する。例えば、無線装置10,30の鍵作成部160は、k(=8)個の電波強度RSSI1〜RSSI8がRSSI1>RSSI5>RSSI4>RSSI8>RSSI2>RSSI6>RSSI7>RSSI3の大小関係を有し、しきい値RSSI_TH1が電波強度RSSI8からなるとき、しきい値RSSI_TH1(=RSSI8)以上の電波強度を有する電波強度RSSI1,RSSI5,RSSI4,RSSI8を“1”に変換し、しきい値RSSI_TH1(=RSSI8)よりも小さい電波強度を有する電波強度RSSI2,RSSI6,RSSI7,RSSI3を“0”に変換することによってk(=8)個の電波強度RSSI1〜RSSI8を多値化する。
無線装置10,30の鍵作成部160は、しきい値RSSI_TH2を用いて上述した方法によってk(=8)個の電波強度RSSI9〜RSSI16を多値化し、以下、同様にして、しきい値RSSI_TH16を用いて上述した方法によってk(=8)個の電波強度RSSI121〜RSSI128を多値化する。これによって、無線装置10,30は、ビット列Bit1〜Bit128からなる秘密鍵Ks1,Ks2を生成する(図8の(c)参照)。
図10は、作成方法1を用いた秘密鍵Ks1,Ks2の作成の具体例を示す図である。なお、図10の(a)に示す各数値は、電波の受信信号強度を示し、単位は、dBmである。
無線装置10,30の鍵作成部160は、[−23,−23,−21,−19,−20,−19,−24,−21,−18,−22,−20,−25,−22,−23,・・・]からなる受信信号プロファイルRSSI_profをプロファイル生成部150から受ける。
そして、無線装置10,30の鍵作成部160は、チャネル11ch(周波数f1)で送受信されたk(=8)個の電波強度[−23,−23,−21,−19,−20,−19,−24,−21]を検出し、その検出したk(=8)個の電波強度[−23,−23,−21,−19,−20,−19,−24,−21]の中央値(=−21)をしきい値RSSI_TH1として決定する。また、無線装置10,30の鍵作成部160は、チャネル12ch(周波数f2)で送受信されたk(=8)個の電波強度[−18,−22,−20,−25,−22,−23,・・・]を検出し、その検出したk(=8)個の電波強度[−18,−22,−20,−25,−22,−23,・・・]の中央値(=−22)をしきい値RSSI_TH2として決定する。以下、同様にして、無線装置10,30の鍵作成部160は、k(=8)個の電波強度ごとにしきい値RSSI_THを決定する(図10の(a)参照)。
そして、無線装置10,30の鍵作成部160は、k(=8)個の電波強度[−23,−23,−21,−19,−20,−19,−24,−21]のうち、しきい値(=−21)以上の電波強度[−21,−19,−20,−19,−21]を“1”に変換し、しきい値(=−21)よりも小さい電波強度[−23,−23,−24]を“0”に変換してビット列[0,0,1,1,1,1,0,1]を生成する。その後、無線装置10,30の鍵作成部160は、k(=8)個の電波強度[−18,−22,−20,−25,−22,−23,・・・]のうち、しきい値(=−22)以上の電波強度[−18,−22,−20,−22]を“1”に変換し、しきい値(=−22)よりも小さい電波強度[−25,−23]を“0”に変換してビット列[1,1,1,0,1,0,・・・]を生成する。以下、同様にして、無線装置10,30の鍵作成部160は、k(=8)個の電波強度ごとに決定されたしきい値を用いてk(=8)個の電波強度をk(=8)個のビットに変換する。これによって、秘密鍵Ks1,Ks2が生成される(図10の(b)参照)。
[秘密鍵の作成方法2]
図11は、秘密鍵の作成方法2を示す図である。無線装置10,30の鍵作成部160は、秘密鍵の作成方法1と同じ方法に従って、受信信号プロファイルRSSI_profをしきい値RSSI_TH1〜RSSI_TH16に従ってビット列Bit1〜Bit128に変換する(図11の(a)〜(c)参照)。
そして、無線装置10,30の鍵作成部160は、最初のk(=8)個のビットBit1〜Bit8をそのままにし、次のk(=8)個のビットBit9〜Bit16を反転し、更に次のk(=8)個のビットBit17〜Bit24をそのままにし、更に次のk(=8)個のビットBit25〜Bit32を反転し、以下、同様に、k(=8)個のビットごとに、ビット値をそのままにすることと、ビット値を反転することとを繰り返して秘密鍵Ks1,Ks2を生成する(図11の(d)参照)。
図12は、作成方法2を用いた秘密鍵Ks1,Ks2の作成の具体例を示す図である。なお、図12の(a)に示す各数値は、電波の受信信号強度を示し、単位は、dBmである。
無線装置10,30の鍵作成部160は、[−23,−23,−21,−19,−20,−19,−24,−21,−18,−22,−20,−25,−22,−23,・・・]からなる受信信号プロファイルRSSI_profをプロファイル生成部150から受ける。
そして、無線装置10,30の鍵作成部160は、秘密鍵Ks1,Ks2の作成方法1と同じ方法によって、受信信号プロファイルRSSI_profをビット列[0,0,1,1,1,1,0,1,1,1,1,0,1,0,・・・]に変換する(図12のl(a),(b)参照)。
その後、無線装置10,30の鍵作成部160は、ビット列[0,0,1,1,1,1,0,1,1,1,1,0,1,0,・・・]の最初のk(=8)個のビット[0,0,1,1,1,1,0,1]をそのままにし、次のk(=8)個のビット[1,1,1,0,1,0,・・]を反転してk(=8)個のビット[0,0,0,1,0,1,・・・]を生成する。無線装置10,30の鍵作成部160は、以下、k(=8)個のビットごとにビット値をそのままにすることと、ビット値を反転することとを繰り返して秘密鍵Ks1,Ks2を作成する(図12の(c)参照)。
なお、上記においては、奇数番目のk(=8)個のビットをそのままにし、偶数番目のk(=8)個のビットを反転して秘密鍵Ks,Ks2を作成すると説明したが、秘密鍵Ks1,Ks2の作成方法2は、奇数番目のk(=8)個のビットを反転し、偶数番目のk(=8)個のビットをそのままにして秘密鍵Ks,Ks2を作成してもよい。
[秘密鍵の作成方法3]
図13は、秘密鍵の作成方法3を示す図である。また、図14は、電波強度を多値化する他の方法を示す図である。
無線装置10,30の鍵作成部160は、秘密鍵Ks1,Ks2の作成方法1と同じ方法によって受信信号プロファイルRSSI_profのk(=8)個の電波強度RSSI1〜RSSI8,RSSI9〜RSSI16,・・・,RSSI121〜RSSI128ごとにしきい値RSSI_TH1〜RSSI_TH16を決定する(図13の(a),(b)参照)。
そして、無線装置10,30の鍵作成部160は、2つの方法を用いて電波強度RSSI1〜RSSI128を多値化する。電波強度を多値化する2つの方法は、次のとおりである。電波強度を多値化する1つの方法は、図9に示す多値化の方法と同じである(図14の(a)参照)。
電波強度を多値化するもう1つの方法は、RSSI1>RSSI5>RSSI4>RSSI8>RSSI2>RSSI6>RSSI7>RSSI3の関係を有し、かつ、しきい値RSSI_TH1がRSSI8である8個の電波強度RSSI1〜RSSI8のうち、しきい値RSSI_TH1(=RSSI8)よりも大きい電波強度RSSI1,RSSI5,RSSI4を“1”に変換し、しきい値RSSI_TH1(=RSSI8)以下である電波強度RSSI8,RSSI2,RSSI6,RSSI7,RSSI3を“0”に変換する方法である(図14の(b)参照)。
無線装置10,30の鍵作成部160は、図14の(a)に示す多値化の方法を用いて、最初のk(=8)個の電波強度RSSI1〜RSSI8をビット列Bit1〜Bit8に変換し、次に、図14の(b)に示す多値化の方法を用いて次のk(=8)個の電波強度RSSI9〜RSSI16をビット列Bit9〜Bit16に変換する。無線装置10,30の鍵作成部160は、以下、同様にして、図14の(a)に示す多値化の方法と、図14の(b)に示す多値化の方法とを交互に用いてk(=8)個の電波強度を順次多値化し、秘密鍵Ks1,Ks2を生成する(図13の(c)参照)。
図15は、作成方法3を用いた秘密鍵Ks1,Ks2の作成の具体例を示す図である。なお、図15の(a)に示す各数値は、電波の受信信号強度を示し、単位は、dBmである。
無線装置10,30の鍵作成部160は、[−23,−23,−21,−19,−20,−19,−24,−21,−18,−22,−20,−25,−22,−23,・・・]からなる受信信号プロファイルRSSI_profをプロファイル生成部150から受ける。
そして、無線装置10,30の鍵作成部160は、チャネル11ch(周波数f1)で送受信されたk(=8)個の電波強度[−23,−23,−21,−19,−20,−19,−24,−21]を検出し、その検出したk(=8)個の電波強度[−23,−23,−21,−19,−20,−19,−24,−21]の中央値(=−21)をしきい値RSSI_TH1として決定する。また、無線装置10,30の鍵作成部160は、チャネル12ch(周波数f2)で送受信されたk(=8)個の電波強度[−18,−22,−20,−25,−22,−23,・・・]を検出し、その検出したk(=8)個の電波強度[−18,−22,−20,−25,−22,−23,・・・]の中央値(=−22)をしきい値RSSI_TH2として決定する。以下、同様にして、無線装置10,30の鍵作成部160は、k(=8)個の電波強度ごとにしきい値RSSI_THを決定する(図10の(a)参照)。
そして、無線装置10,30の鍵作成部160は、k(=8)個の電波強度[−23,−23,−21,−19,−20,−19,−24,−21]のうち、しきい値(=−21)以上の電波強度[−21,−19,−20,−19,−21]を“1”に変換し、しきい値(=−21)よりも小さい電波強度[−23,−23,−24]を“0”に変換してビット列[0,0,1,1,1,1,0,1]を生成する。その後、無線装置10,30の鍵作成部160は、k(=8)個の電波強度[−18,−22,−20,−25,−22,−23,・・・]のうち、しきい値(=−22)よりも大きい電波強度[−18,−20]を“1”に変換し、しきい値(=−22)以下の電波強度[−22,−25,−22,−23]を“0”に変換してビット列[1,0,1,0,0,0,・・・]を生成する。以下、同様にして、無線装置10,30の鍵作成部160は、k(=8)個の電波強度ごとに決定されたしきい値を用いてk(=8)個の電波強度をk(=8)個のビットに変換する。これによって、秘密鍵Ks1,Ks2が生成される(図15の(b)参照)。
なお、上記においては、奇数番目のk(=8)個の電波強度を図14の(a)に示す多値化方法を用いて多値化し、偶数番目のk(=8)個の電波強度を図14の(b)に示す多値化方法を用いて多値化して秘密鍵Ks1,Ks2を作成すると説明したが、秘密鍵Ks1,Ks2の作成方法3は、奇数番目のk(=8)個の電波強度を図14の(b)に示す多値化方法を用いて多値化し、偶数番目のk(=8)個の電波強度を図14の(a)に示す多値化方法を用いて多値化して秘密鍵Ks1,Ks2を作成してもよい。
図16は、秘密鍵Ks1,Ks2の更に他の作成方法を説明するための図である。上記においては、無線装置10,30の鍵作成部160は、アレーアンテナ20の指向性がn(=128)個の指向性に順次切換えられたときに送受信されたn(=128)個の電波に対応するn(=128)個の電波強度RSSI1〜RSSI128の全てを用いて秘密鍵Ks1,Ks2を作成すると説明したが、この発明においては、これに限らず、無線装置10,30の鍵作成部160は、アレーアンテナ20の指向性を複数の指向性に順次切換えて送受信された複数の電波に対応する複数の電波強度のうち、一部の電波強度を用いて秘密鍵Ks1,Ks2を作成してもよい。
具体的に説明する。無線装置10,30は、例えば、384個のパケットPKT1〜PKT384を相互に送受信する。そして、無線装置10,30のプロファイル生成部150は、チャネル11ch(周波数f1)で送信されたk(=24)個の電波、チャネル12ch(周波数f2)で送信されたk(=24)個の電波、・・・、チャネル26ch(周波数f16)で送信されたk(=24)個の電波をそれぞれアンテナ部130,220から順次受け、その受けたN(=384=16×24)個の電波に対応するN(=384)個の電波強度RSSI1〜RSSINを検出する。
その後、無線装置10,30のプロファイル生成部150は、N(=384)個の電波強度RSSI1〜RSSINを順次配列した受信信号プロファイルRSSI_prof_Nを生成し(図16の(a)参照)、その生成した受信信号プロファイルRSSI_prof_Nを鍵作成部160へ出力する。
そして、無線装置10,30の鍵作成部160は、プロファイル生成部150から受信信号プロファイルRSSI_prof_Nを受け、その受けた受信信号プロファイルRSSI_prof_Nのk(=24)個の電波強度RSSI1〜RSSI24,RSSI25〜RSSI148,・・・,RSSI361〜RSSI384ごとにしきい値RSSI_TH1,RSSI_TH2,・・・,RSSI_TH16を決定する。より具体的には、無線装置10,30の鍵作成部160は、k(=24)個の電波強度RSSI1〜RSSI24の中央値をしきい値RSSI_TH1として決定し、k(=24)個の電波強度RSSI25〜RSSI48の中央値をしきい値RSSI_TH2として決定し、以下、同様にしてk(=24)個の電波強度RSSI361〜RSSI384の中央値をしきい値RSSI_TH16として決定する(図16の(b)参照)。
そうすると、無線装置10,30の鍵作成部160は、k(=24)個の電波強度RSSI1〜RSSI24のうち、しきい値RSSI_TH1に近い16個の電波強度を削除して8個の電波強度RSSI1’〜RSSI8’を生成する。次いで、無線装置10,30の鍵作成部160は、k(=24)個の電波強度RSSI25〜RSSI48のうち、しきい値RSSI_TH2に近い16個の電波強度を削除して8個の電波強度RSSI9’〜RSSI16’を生成する。以下、同様にして、無線装置10,30の鍵作成部160は、k(=24)個の電波強度ごとに決定されたしきい値RSSI_THに近い16個の電波強度を削除して8個の電波強度を生成することを繰り返し、受信信号プロファイルRSSI_profを生成する(図16の(c)参照)。
その後、無線装置10,30の鍵作成部160は、受信信号プロファイルRSSI_prof(=図16の(c))に基づいて、上述した秘密鍵Ks1,Ks2の作成方法1〜作成方法3のいずれか1つの方法を用いて秘密鍵Ks1,Ks2を作成する。
このように、検出した電波強度RSSI1〜RSSI384のうち、しきい値RSSI_THに近い一部の電波強度を削除し、残りの電波強度を多値化して秘密鍵Ks1,Ks2を作成することによって、各電波強度を正確にビット値に変換できる。
図17は、上述した作成方法1〜作成方法3のいずれかを用いて2つの無線装置10,30間で秘密鍵を作成して暗号通信を行なう動作を説明するためのフローチャートである。
一連の動作が開始されると、無線装置30の送信処理部120は、i=1を設定する(ステップS1)。そして、無線装置30の指向性設定部230は、制御電圧セットCLV1によってアレーアンテナ20の指向性を1つの指向性Diに設定する(ステップS2)。
その後、無線装置10の信号発生部110は、所定のデータからなるパケットPKT1を発生して送信処理部120へ出力する。無線装置10の送信処理部120は、周波数f1でパケットPKT1を周波数変換し、その周波数変換したパケットPKT1に対して変調等の処理を施し、アンテナ11(アンテナ部130)を介して無線装置30へ所定のデータを構成する電波を送信する(ステップS3)。
無線装置30において、アレーアンテナ20(アンテナ部230)は、無線装置10からの電波を受信し、その受信した電波をプロファイル生成部150へ出力する。無線装置30のプロファイル生成部150は、アレーアンテナ20から受けた電波の強度WI2iを検出する(ステップS4)。
その後、無線装置30の信号発生部110は、所定のデータからなるパケットPKT1を発生して送信処理部120へ出力する。無線装置30の送信処理部120は、周波数f1でパケットPKT1を周波数変換し、その周波数変換したパケットPKT1に対して変調等の処理を施し、アレーアンテナ20を介して無線装置10へ所定のデータを構成する電波を送信する(ステップS5)。
無線装置10において、アンテナ11(アンテナ部130)は、無線装置30からの電波を受信し、その受信した電波をプロファイル生成部150へ出力する。無線装置10のプロファイル生成部150は、アンテナ11から受けた電波の強度WI1iを検出する(ステップS6)。
その後、無線装置30の送信処理部120は、i=n(=128)であるか否かを判定する(ステップS7)。そして、i=nでないとき、無線装置30の送信処理部120は、i=i+1を設定し(ステップS8)、ステップS7においてi=nであると判定されるまで、ステップS2〜S8が繰返し実行される。即ち、アレーアンテナ20の指向性が制御電圧セットCLV1〜CLVnによってn個の指向性に変えられて、無線装置10のアンテナ11と無線装置30のアレーアンテナ20との間で所定のデータを構成する電波が送受信され、電波強度WI11〜WI1n及びWI21〜WI2nが検出されるまで、ステップS2〜S8が繰返し実行される。
ステップS7において、i=nであると判定されると、無線装置30において、プロファイル生成部150は、n個の電波強度WI21〜WI2nからなる受信信号プロファイルRSSI_prof2を作成して鍵作成部160へ出力する。
無線装置30の鍵作成部160は、上述した方法によって、受信信号プロファイルRSSI_prof2のk(=8)個の電波強度ごとにしきい値RSSI_THを決定し、その決定したしきい値RSSI_THを用いて、上述した秘密鍵Ks1,Ks2の作成方法1〜3のいずれかの作成方法によって秘密鍵Ks2を生成する(ステップS9)。
また、無線装置10のプロファイル生成部150は、n個の電波強度WI11〜WI1nからなる受信信号プロファイルRSSI_prof1を作成して鍵作成部160へ出力する。
無線装置10の鍵作成部160は、上述した方法によって、受信信号プロファイルRSSI_prof1のk(=8)個の電波強度ごとにしきい値RSSI_THを決定し、その決定したしきい値RSSI_THを用いて、上述した秘密鍵Ks1,Ks2の作成方法1〜3のいずれかの作成方法によって秘密鍵Ks1を生成する(ステップS10)。
その後、無線装置10において、鍵作成部160は、秘密鍵Ks1を鍵一致確認部170へ出力する。鍵一致確認部170のデータ発生部171は、上述した方法によって鍵確認用データDCFM1を発生して送信処理部120及びデータ比較部172へ出力する。送信処理部120は、鍵確認用データDCFM1に変調等の処理を施し、アンテナ部130を介して無線装置30へ鍵確認用データDCFM1を送信する。
そして、アンテナ部130は、無線装置30において発生された鍵確認用データDCFM2を無線装置30から受信し、その受信した鍵確認用データDCFM2を受信処理部140へ出力する。受信処理部140は、鍵確認用データDCFM2に所定の処理を施し、鍵一致確認部170のデータ比較部172へ鍵確認用データDCFM2を出力する。
データ比較部172は、データ発生部171からの鍵確認用データDCFM1を受信処理部140からの鍵確認用データDCFM2と比較する。そして、データ比較部172は、鍵確認用データDCFM1が鍵確認用データDCFM2に一致しているとき、一致信号MTHを生成して結果処理部173へ出力する。結果処理部173は、一致信号MTHに応じて、鍵作成部160からの秘密鍵Ks1を鍵記憶部180に記憶する。
一方、鍵確認用データDCFM1が鍵確認用データDCFM2に不一致であるとき、データ比較部172は、不一致信号NMTHを生成して送信処理部120及び鍵一致化部190へ出力する。送信処理部120は、不一致信号NMTHをアンテナ部130を介して無線装置30へ送信する。そして、無線装置30は、無線装置10において秘密鍵Ks1,Ks2の不一致が確認されたことを検知する。
これにより、無線装置10における鍵一致の確認が終了する(ステップS11)。なお、無線装置10における鍵一致確認に代えて、無線装置30において鍵一致確認をしてもよい(ステップS12)。
ステップS11において、秘密鍵Ks1,Ks2の不一致が確認されたとき、無線装置10において、鍵一致化部190の擬似シンドローム作成部191は、鍵一致確認部170から不一致信号NMTHを受ける。そして、擬似シンドローム作成部191は、不一致信号NMTHに応じて、鍵作成部160から受けた秘密鍵Ks1のビットパターンx1を検出し、その検出したビットパターンx1のシンドロームs1=x1HTを演算する。
擬似シンドローム作成部191は、演算したシンドロームs1=x1HTを不一致ビット検出部192へ出力し、ビットパターンx1を鍵不一致訂正部193へ出力する。
一方、無線装置30は、ステップS12において無線装置10から不一致信号NMTHを受信し、その受信した不一致信号NMTHに応じて、シンドロームs2=x2HTを演算して無線装置10へ送信する。
無線装置10のアンテナ部130は、無線装置30からシンドロームs2=x2HTを受信して受信処理部140へ出力する。受信処理部140は、シンドロームs2=x2HTに対して所定の処理を施し、シンドロームs2=x2HTを鍵一致化部190へ出力する。
鍵一致化部190の不一致ビット検出部192は、受信処理部140から無線装置30において作成されたシンドロームs2=x2HTを受ける。そして、不一致ビット検出部192は、無線装置10で作成されたシンドロームs1=x1HTと無線装置30において作成されたシンドロームs2=x2HTとの差分s=s1−s2を演算する。
その後、不一致ビット検出部192は、s≠0であることを確認し、鍵不一致のビットパターンe=x1−x2をs=eHTに基づいて演算し、その演算した鍵不一致のビットパターンeを鍵不一致訂正部193へ出力する。
鍵不一致訂正部193は、擬似シンドローム作成部191からのビットパターンx1と、不一致ビット検出部192からの鍵不一致のビットパターンeとに基づいて、無線装置30において作成された秘密鍵Ks2のビットパターンx2=x1−eを演算する。
そして、データ発生部194、データ比較部195及び結果処理部196は、鍵一致確認部170における鍵一致確認の動作と同じ動作によって、一致化された鍵x2=x1−eの一致を確認する。
これにより、鍵不一致対策が終了する(ステップS13)。なお、無線装置10における鍵不一致対策に代えて、無線装置30において鍵不一致対策をしてもよい(ステップS14)。
ステップS11において、秘密鍵Ks1が秘密鍵Ks2に一致することが確認されたとき、またはステップS13において鍵不一致対策がなされたとき、無線装置10の暗号部200は、鍵記憶部180から秘密鍵Ks1を読出して送信データを暗号化し、その暗号化した送信データを送信処理部120へ出力する。そして、送信処理部120は、暗号化された送信データに変調等を施し、アンテナ部130を介して暗号化された送信データを無線装置30へ送信する。
また、無線装置10のアンテナ部130は、暗号化された送信データを無線装置30から受信し、その受信した暗号化された送信データを受信処理部140へ出力する。受信処理部140は、暗号化された送信データに所定の処理を施し、暗号化された送信データを復号部210へ出力する。
復号部210は、受信処理部140からの暗号化された送信データを秘密鍵Ks1によって復号して受信データを取得する。
これにより、秘密鍵Ks1による暗号・復号が終了する(ステップS15)。
無線装置30においても、無線装置10と同じ動作によって秘密鍵Ks2による暗号・復号が行なわれる(ステップS16)。そして、一連の動作が終了する。
図18は、上述した作成方法1〜作成方法3のいずれかを用いて2つの無線装置10,30間で秘密鍵を作成して暗号通信を行なう動作を説明するための他のフローチャートである。
図18に示すフローチャートは、図17に示すフローチャートのステップS7をステップS7Aに代え、ステップS9をステップS9A,S9Bに代え、ステップS10をステップS10A,S10Bに代えたものであり、その他は、図17に示すフローチャートと同じである。
上述したステップS6の後、無線装置30の送信処理部120は、i=N(=384)であるか否かを判定する(ステップS7A)。そして、i=Nでないとき、無線装置30の送信処理部120は、i=i+1を設定し(ステップS8)、ステップS7Aにおいてi=Nであると判定されるまで、ステップS2〜S8が繰返し実行される。即ち、アレーアンテナ20の指向性が制御電圧セットCLV1〜CLVNによってN個の指向性に変えられて、無線装置10のアンテナ11と無線装置30のアレーアンテナ20との間で所定のデータを構成する電波が送受信され、電波強度WI11〜WI1N及びWI21〜WI2Nが検出されるまで、ステップS2〜S8が繰返し実行される。
ステップS7Aにおいて、i=Nであると判定されると、無線装置30のプロファイル生成部150は、N個の電波強度WI21〜WI2Nからなる受信信号プロファイルRSSI_prof_N2を生成し、その生成した受信信号プロファイルRSSI_prof_N2を鍵作成部160へ出力する。
無線装置30の鍵作成部160は、プロファイル生成部150から受信信号プロファイルRSSI_prof_N2を受け、その受けた受信信号プロファイルRSSI_prof_N2を構成するN個の電波強度WI21〜WI2Nのk(=24)個の電波強度ごとにしきい値RSSI_TH1〜RSSI_TH16を決定し、その決定したしきい値RSSI_TH1〜RSSI_TH16を用いてk(=24)個の電波強度ごとに16個の電波強度を削除し、n(=128)個の電波強度WI21’〜WI2n’を生成する(ステップS9A)。
そして、無線装置30の鍵作成部160は、n(=128)個の電波強度WI21’〜WI2n’およびしきい値RSSI_TH1〜RSSI_TH16に基づいて、上述した秘密鍵Ks1,Ks2の作成方法1〜3のいずれかの作成方法によって秘密鍵Ks2を生成する(ステップS9B)。
その後、無線装置10のプロファイル生成部150は、N個の電波強度WI11〜WI1Nからなる受信信号プロファイルRSSI_prof_N1を生成し、その生成した受信信号プロファイルRSSI_prof_N1を鍵作成部160へ出力する。そして、無線装置10の鍵作成部160は、プロファイル生成部150から受信信号プロファイルRSSI_prof_N1を受けると、その受けた受信信号プロファイルRSSI_prof_N1を構成するN個の電波強度WI11〜WI1Nのk(=24)個の電波強度ごとにしきい値RSSI_TH1〜RSSI_TH16を決定し、その決定したしきい値RSSI_TH1〜RSSI_TH16を用いてk(=24)個の電波強度ごとに16個の電波強度を削除し、n(=128)個の電波強度WI11’〜WI1n’を生成する(ステップS10A)。
そして、無線装置10の鍵作成部160は、n(=128)個の電波強度WI11’〜WI1n’およびしきい値RSSI_TH1〜RSSI_TH16に基づいて、上述した秘密鍵Ks1,Ks2の作成方法1〜3のいずれかの作成方法によって秘密鍵Ks1を生成する(ステップS10B)。
その後、上述したステップS11〜ステップS16が実行され、一連の動作が終了する。
図17および図18に示すステップS3,S4の動作は、無線装置30において受信信号プロファイルRSSI_profを生成するための電波を無線装置10のアンテナ11から無線装置30のアレーアンテナ20へ送信し、かつ、無線装置30において電波の強度WI2iを検出する動作であり、ステップS5,S6に示す動作は、無線装置10において受信信号プロファイルRSSI_profを生成するための電波を無線装置30のアレーアンテナ20から無線装置10のアンテナ11へ送信し、かつ、無線装置10において電波の強度WI1iを検出する動作である。そして、所定のデータを構成する電波の無線装置10のアンテナ11から無線装置30のアレーアンテナ20への送信及び所定のデータを構成する電波の無線装置30のアレーアンテナ20から無線装置10のアンテナ11への送信は、アレーアンテナ20の指向性を1つの指向性に設定して交互に行なわれる。つまり、所定のデータを構成する電波は、無線装置10のアンテナ11と無線装置30のアレーアンテナ20との間で時分割復信(TDD)等により送受信される。
従って、アレーアンテナ20の指向性を1つの指向性に設定して無線装置10のアンテナ11から無線装置30のアレーアンテナ20へ所定のデータを構成する電波を送信し、無線装置30において電波強度WI2iを検出した直後に、同じ所定のデータを構成する電波を無線装置30のアレーアンテナ20から無線装置10のアンテナ11へ送信し、無線装置10において電波強度WI1iを検出することができる。その結果、無線装置10,30間において同じ伝送路特性を確保して所定のデータを構成する電波を無線装置10,30間で送受信でき、電波の可逆性によりn個の電波強度WI11〜WI1n(またはN個の電波強度WI11〜WI1N)をそれぞれn個の電波強度WI21〜WI2n(またはN個の電波強度WI21〜WI2N)に一致させることができる。その結果、無線装置10において作成される秘密鍵Ks1を無線装置30において作成される秘密鍵Ks2に容易に一致させることができる。
また、所定のデータを構成する電波は、無線装置10,30間で時分割復信(TDD)等により送受信されるので、電波の干渉を抑制して1つのアレーアンテナ20を介して所定のデータを構成する電波を無線装置10,30間で送受信できる。
更に、鍵確認用データDCFM1〜4は、秘密鍵Ks1,Ks2に非可逆的な演算、または一方向的な演算を施して発生されるので、鍵確認用データDCFM1〜4が盗聴されても秘密鍵Ks1,Ks2が解読される危険性を極めて低くできる。
更に、シンドロームs1,s2は、秘密鍵Ks1,Ks2のビットパターンを示す鍵x1,x2に検査行列Hの転置行列HTを乗算して得られるので、シンドロームs1,s2が盗聴されても直ちに情報のビットパターンが推測されることは特殊な符号化を想定しない限り起こらない。従って、盗聴を抑制して秘密鍵を一致させることができる。
更に、n個の電波強度WI11〜WI1n,WI21〜WI2n(またはN個のWI11〜WI1N,WI21〜WI2N)のk(=8)個の電波強度(またはk(=24)個の電波強度)ごとにしきい値RSSI_THを決定して秘密鍵Ks1,Ks2を生成するので、秘密鍵Ks1,Ks2を構成する“0”および“1”の配列において“0”または“1”が偏って存在するのを抑制できる。
なお、無線装置10,30間で無線通信を行なう動作は、実際には、CPU(Central Processing Unit)によって行なわれ、無線装置10に搭載されたCPUは、図17に示す各ステップS3,S6,S10,S11,S13,S15を備えるプログラムをROM(Read Only Memory)から読出し、無線装置30に搭載されたCPUは、図17に示す各ステップS1,S2,S4,S5,S7〜S9,S12,S14,S16を備えるプログラムをROMから読出し、無線装置10,30に搭載された2つのCPUは、その読出したプログラムを実行して図17に示すフローチャートに従って無線装置10,30間で無線通信を行なう。
また、無線装置10に搭載されたCPUは、図18に示す各ステップS3,S6,S10A,S10B,S11,S13,S15を備えるプログラムをROMから読出し、無線装置30に搭載されたCPUは、図18に示す各ステップS1,S2,S4,S5,S7A,S8,S9A,S9B,S12,S14,S16を備えるプログラムをROMから読出し、無線装置10,30に搭載された2つのCPUは、その読出したプログラムを実行して図18に示すフローチャートに従って無線装置10,30間で無線通信を行なう。
従って、ROMは、無線装置10,30間で無線通信を行なう動作をコンピュータ(CPU)に実行させるためのプログラムを記録したコンピュータ(CPU)読取り可能な記録媒体に相当する。
以下、この発明による作成方法によって作成した秘密鍵Ks1,Ks2の乱数検定の結果について説明する。乱数検定として、米国連邦政府の情報処理設備調達基準FIPS(Federal Information Processing Standards)のうち、FIPS PUB 140−2の乱数に関する項目を用いた。
FIPS PUB 140−2は、乱数に関する項目として、The Monobit Test、The Pocker Test、The Runs TestおよびThe Longruns Testの4種類を設けており、この発明においては、乱数検定としてThe Monobit Test、The Pocker Test、The Runs TestおよびThe Longruns Testを用いた。
The Monobit Testは、20000ビットの二値数列中に現れる“1”の個数を数える。そして、20000ビットの二値数列中に現れる“1”の個数を統計量xとして、統計量xが9725<x<10275を満たすか否かによってThe Monobit Testを行なった。
The Pocker Testは、20000ビットの二値数列を4ビットづつの5000個のセルに区切る。そうすると、セルのパターンとして24=16種類あり、各々のパターン(パターン番号をp=0〜15とする)について出現数gpをカウントする。そして、あるパターンの出現頻度が高く(低く)なると統計量xは大きくなる。統計量xは、次式によって表される。
そして、統計量xが2.16<x<46.17を満たすか否かによってThe Pocker Testを行なった。
The Runs Testは、20000ビットの二値数列内に現れた、ある長さの連(=同じビット値の続き)の個数をカウントする。この検定は、連の長さを1,2,3,4,5および6以上に関して個別に行なう。そして、ビット値“0”および“1”の各々について行なうため、計12個の検定になる。
統計量xとして、20000ビット中に現れる各長さの連の数が用いられ、統計量xの採択域は、表1に示す採択域が用いられる。
The Longruns Testは、20000ビットの二値数列中に現れる連のうち、最長の連の長さを統計量xとした場合、統計量xが採択域(=x<26)を満たすか否かを判定するテストである。
また、上述したThe Monobit Test、The Pocker Test、The Runs TestおよびThe Longruns Testの比較用のサンプルとしてn個の電波強度WI1〜WInの中央値をしきい値として作成した秘密鍵、およびn個の電波強度WI1〜WInにインターリーブ処理を施して作成した秘密鍵を用いた。
図19は、従来の秘密鍵の作成方法を示す図である。n(=128)個の電波強度RSSI1〜RSSI128が検出されると(図19の(a)参照)、n(=128)個の電波強度RSSI1〜RSSI128の全体の中央値がしきい値RSSI_TH_allとして決定される(図19の(b)参照)。即ち、1個のしきい値RSSI_TH_allがn(=128)個の電波強度RSSI1〜RSSI128の全体に対して決定される。そして、n(=128)個の電波強度RSSI1〜RSSI128のうち、しきい値RSSI_TH_all以上の電波強度を“1”に変換し、しきい値RSSI_TH_allよりも小さい電波強度を“0”に変換してn(=128)個の電波強度RSSI1〜RSSI128を多値化する。これによって、秘密鍵Ks_cvtnが生成される(図19の(c)参照)。
図20は、インターリーブ処理の概念図である。n(=128)個の電波強度WI1〜WInからなる配列を電波強度配列WIとすると、電波強度配列WIは、ブロックBLK1〜BLK3に分割される。そして、ブロックBLK1に含まれる1番目の電波強度WI1が選択され、次に、ブロックBLK2に含まれる1番目の電波強度WIL+1が選択され、次に、ブロックBLK3に含まれる1番目の電波強度WI2L+1が選択される。
3個のブロックBLK1〜BLK3の各々から1番目の電波強度WI1,WIL+1,WI2L+1が選択されると、ブロックBLK1に戻り、ブロックBLK1に含まれる2番目の電波強度WI2が選択され、次に、ブロックBLK2に含まれる2番目の電波強度WIL+2が選択され、次に、ブロックBLK3に含まれる電波強度WI2L+2が選択される。
以下、同様にして3個のブロックBLK1〜BLK3から1個の電波強度が順次選択されて配列される。
この場合、ブロックBLK3から選択する電波強度が無くなった場合、2個のブロックBLK1,BLK2から1個の電波強度が順次選択されて配列される。
即ち、図20に示す矢印のように3個のブロックBLK1〜BLK3から1個の電波強度が順次選択されて配列される。
その結果、電波強度WI1,WIL+1,WI2L+1,・・・が順次配列された並替電波強度配列WI_EXが得られる。
並替電波強度配列WI_EXが得られると、並替電波強度配列WI_EXに含まれるn個の並替電波強度WI1,WIL+1,WI2L+1,・・・の中央値をしきい値として求め、その求めたしきい値によって多値化して秘密鍵を作成する。以上がインターリーブ処理によって秘密鍵を作成する方法である。
なお、電波強度の一部を削除して秘密鍵を作成する場合、図19および図20において、最初の384個の電波強度が検出され、その検出された384個の電波強度のうち、256個の電波強度が削除され、残りの128個の電波強度に基づいて、図19または図20に示す方法によって秘密鍵が作成される。
図21は、秘密鍵Ks1,Ks2の作成方法2の変形方法を示す図である。また、図22は、秘密鍵Ks1,Ks2の作成方法2の他の変形方法を示す図である。
作成方法2の変形方法1は、最初のk(=8)個のビットBit1〜Bit8を反転し、次のk(=8)個のビットBit9〜Bit16をそのままにし、更に次のk(=8)個のビットBit17〜Bit24を反転し、更に次のk(=8)個のビットBit25〜Bit32をそのままにし、以下、同様にして、k(=8)個のビットを反転することと、k(=8)個のビットをそのままにすることを繰り返して秘密鍵Ks1,Ks2を作成する方法である(図21参照)。
即ち、作成方法2の変形方法1は、作成方法2において、k(=8)個のビットを反転することと、k(=8)個のビットをそのままにすることとの順番を逆にした秘密鍵Ks1,Ks2の作成方法である。
作成方法2の変形方法2は、最初のk(=8)個のビットBit1〜Bit8および次のk(=8)個のビットBit9〜Bit16をそのままにし、更に次のk(=8)個のビットBit17〜Bit24を反転し、更に次のk(=8)個のビットBit25〜Bit32をそのままにし、更に次のk(=8)個のビットBit33〜Bit40を反転し、以下、同様にして、k(=8)個のビットを反転することと、k(=8)個のビットをそのままにすることをランダムに繰り返して秘密鍵Ks1,Ks2を作成する方法である(図22参照)。
図23は、秘密鍵Ks1,Ks2の作成方法3の変形方法を示す図である。また、図24は、秘密鍵Ks1,Ks2の作成方法3の他の変形方法を示す図である。
作成方法3の変形方法1は、最初のk(=8)個の電波強度RSSI1〜RSSI18のうち、しきい値RSSI_TH1よりも大きい電波強度を“1”に変換し、しきい値RSSI_TH1以下の電波強度を“0”に変換し、次のk(=8)個の電波強度RSSI9〜RSSI116のうち、しきい値RSSI_TH2以上の電波強度を“1”に変換し、しきい値RSSI_TH2よりも小さい電波強度を“0”に変換し、以下、同様にして、図14の(b)に示す多値化方法と、図14の(a)に示す多値化方法とを順次繰り返して秘密鍵Ks1,Ks2を作成する方法である(図23参照)。
即ち、作成方法3の変形方法1は、作成方法3において、図14の(a)に示す多値化方法と、図14の(b)に示す多値化方法とを用いる順番を逆した秘密鍵Ks1,Ks2の作成方法である。
作成方法3の変形方法2は、最初のk(=8)個の電波強度RSSI1〜RSSI18のうち、しきい値RSSI_TH1よりも大きい電波強度を“1”に変換し、しきい値RSSI_TH1以下の電波強度を“0”に変換し、次のk(=8)個の電波強度RSSI9〜RSSI116のうち、しきい値RSSI_TH2よりも大きい電波強度を“1”に変換し、しきい値RSSI_TH2以下の電波強度を“0”に変換し、更に次のk(=8)個の電波強度RSSI17〜RSSI124のうち、しきい値RSSI_TH3以上の電波強度を“1”に変換し、しきい値RSSI_TH3よりも小さい電波強度を“0”に変換し、更に次のk(=8)個の電波強度RSSI25〜RSSI132のうち、しきい値RSSI_TH4よりも大きい電波強度を“1”に変換し、しきい値RSSI_TH4以下の電波強度を“0”に変換し、以下、同様にして、図14の(a)に示す多値化方法と、図14の(b)に示す多値化方法とをランダムに適用して秘密鍵Ks1,Ks2を作成する(図24参照)。
乱数検定の結果について説明する。表2は、上述した作成方法1によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
なお、表2において、(a)は、電波強度の削除がない場合を示し、(b)は、一部の電波強度が削除された場合を示す。
表2に示す結果から、作成方法1によって作成した秘密鍵Ks1,Ks2は、電波強度の削除がない場合、The Monobit Test、The Poker TestおよびThe Run Testには、合格できないが、The Longruns Testには、合格できる(表2の(a)参照)。また、作成方法1によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除した場合、86.3%の確率でThe Poker Testに合格でき、100%に近い確率でThe Monobit Test、The Run TestおよびThe Longruns Testに合格できる(表2の(b)参照)。
表3は、上述した作成方法2によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
表3において、(a)は、電波強度の削除がない場合を示し、(b)は、一部の電波強度を削除した場合を示す。
表3に示す結果から、作成方法2によって作成した秘密鍵Ks1,Ks2は、電波強度の削除がない場合、The Poker Testには、合格できないが、The Monobit Test、The Run TestおよびThe Longruns Testには、100%の確率で合格できる(表3の(a)参照)。また、作成方法2によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除した場合、93.3%の確率でThe Monobit Testに合格でき、85.3%の確率でThe Poker Testに合格でき、100%の確率でThe Run TestおよびThe Longruns Testに合格できる(表3の(b)参照)。
表4は、上述した作成方法2の変形方法1(図21参照)によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
表4において、(a)は、電波強度の削除がない場合を示し、(b)は、一部の電波強度を削除した場合を示す。
表4に示す結果から、作成方法2の変形方法1によって作成した秘密鍵Ks1,Ks2は、電波強度の削除がない場合、The Poker Testには、合格できないが、The Monobit Test、The Run TestおよびThe Longruns Testには、100%の確率で合格できる(表4の(a)参照)。また、作成方法2の変形方法1によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除した場合、92.9%の確率でThe Monobit Testに合格でき、84.2%の確率でThe Poker Testに合格でき、100%の確率でThe Run TestおよびThe Longruns Testに合格できる(表4の(b)参照)。
表5は、上述した作成方法2の変形方法2(図22参照)によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
表5において、(a)は、電波強度の削除がない場合を示し、(b)は、一部の電波強度を削除した場合を示す。
表5に示す結果から、作成方法2の変形方法2によって作成した秘密鍵Ks1,Ks2は、電波強度の削除がない場合、The Poker Testには、合格できないが、The Monobit Test、The Run TestおよびThe Longruns Testには、100%の確率で合格できる(表5の(a)参照)。また、作成方法2の変形方法2によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除した場合、88.3%の確率でThe Poker Testに合格でき、100%の確率でThe Monobit Test、The Run TestおよびThe Longruns Testに合格できる(表5の(b)参照)。
表6は、上述した作成方法3によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
表6において、(a)は、電波強度の削除がない場合を示し、(b)は、一部の電波強度を削除した場合を示す。
表6に示す結果から、作成方法3によって作成した秘密鍵Ks1,Ks2は、電波強度の削除がない場合、The Poker Testには、合格できないが、The Monobit Test、The Run TestおよびThe Longruns Testには、100%の確率で合格できる(表6の(a)参照)。また、作成方法3によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除した場合、87.0%の確率でThe Poker Testに合格でき、100%の確率でThe Monobit Test、The Run TestおよびThe Longruns Testに合格できる(表6の(b)参照)。
表7は、上述した作成方法3の変形方法1(図23参照)によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
表7において、(a)は、電波強度の削除がない場合を示し、(b)は、一部の電波強度を削除した場合を示す。
表7に示す結果から、作成方法3の変形方法1によって作成した秘密鍵Ks1,Ks2は、電波強度の削除がない場合、The Poker Testには、合格できないが、The Monobit Test、The Run TestおよびThe Longruns Testには、100%の確率で合格できる(表7の(a)参照)。また、作成方法3の変形方法1によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除した場合、88.1%の確率でThe Poker Testに合格でき、100%の確率でThe Monobit Test、The Run TestおよびThe Longruns Testに合格できる(表7の(b)参照)。
表8は、上述した作成方法3の変形方法2(図24参照)によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
表8において、(a)は、電波強度の削除がない場合を示し、(b)は、一部の電波強度を削除した場合を示す。
表8に示す結果から、作成方法3の変形方法2によって作成した秘密鍵Ks1,Ks2は、電波強度の削除がない場合、The Poker Testには、合格できないが、The Monobit Test、The Run TestおよびThe Longruns Testには、100%の確率で合格できる(表8の(a)参照)。また、作成方法3の変形方法2によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除した場合、86.4%の確率でThe Poker Testに合格でき、100%の確率でThe Monobit Test、The Run TestおよびThe Longruns Testに合格できる(表8の(b)参照)。
表9は、上述した従来の作成方法(図19参照)によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
表9において、(a)は、電波強度の削除がない場合を示し、(b)は、一部の電波強度を削除した場合を示す。
表9に示す結果から、従来の作成方法によって作成した秘密鍵Ks1,Ks2は、電波強度の削除がない場合、The Monobit TestおよびThe Poker Testには、合格できず、The Run Testにおける合格確率が約80%以下であり、The Longruns Testにおける合格確率は、13.5%と低い(表9の(a)参照)。また、従来の作成方法によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除した場合、The Monobit Testには、合格できるが、The Poker Testには、合格できず、The Run Testにおける合格確率が56%以下であり、The Longruns Testにおける合格確率は、0.92%と低い(表9の(b)参照)。
表10は、上述したインターリーブ方式(図20参照)によって作成した秘密鍵Ks1,Ks2の乱数検定の結果を示す。
なお、表10は、電波強度の削除がない場合において、インターリーブを1回、2回および3回、行なったときの乱数検定の結果を示す。
表10に示す結果から、インターリーブ方式によって作成した秘密鍵Ks1,Ks2は、インターリーブの回数を1回、2回および3回と増やしても、The Monobit TestおよびThe Poker Testに殆ど合格できないが、The Run TestおよびThe Longruns Testには、合格できる(表10参照)。
表11は、上述したインターリーブ方式(図20参照)によって作成した秘密鍵Ks1,Ks2の乱数検定の他の結果を示す。
なお、表11は、一部の電波強度を削除した場合において、インターリーブを1回、2回および3回、行なったときの乱数検定の結果を示す。
表11に示す結果から、インターリーブ方式によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除することによって、The Monobit TestおよびThe Poker Testに合格でき、インターリーブの回数を1回、2回および3回と増やすことによって、The Poker Testの合格確率が向上する。また、インターリーブ方式によって作成した秘密鍵Ks1,Ks2は、一部の電波強度を削除することによって、The Run TestおよびThe Longruns Testの合格確率が高くなる(表11参照)。
上述した秘密鍵の作成方法1〜作成方法3、作成方法2の変形方法1、作成方法2の変形方法2、作成方法3の変形方法1および作成方法3の変形方法2は、k個の電波強度ごとに決定されたN/k個またはn/k個のしきい値を用いてN個またはn個の電波強度を多値化して秘密鍵Ks1,Ks2を生成するため、秘密鍵Ks1,Ks2における“0”または“1”の分布が分散する。
従って、この発明によれば、N個またはn個の電波強度を1つのしきい値によって多値化して秘密鍵を生成する場合に比べ、ビット値の偏りを低減できる。
なお、上記においては、無線通信を行なう2個の無線装置10,30のうち、一方の無線装置10が全方位性のアンテナ11を搭載し、他方の無線装置30が電気的に指向性を切換え可能なアレーアンテナ20を搭載していると説明したが、この発明においては、これに限らず、無線装置10,30の両方が全方位性のアンテナを搭載していてもよく、無線装置10,30の両方が電気的に指向性を切換え可能なアレーアンテナ20を搭載していてもよい。
無線装置10,30の両方が全方位性のアンテナを搭載していても、検出したN個またはn個の電波強度のk個の電波強度ごとにしきい値を決定し多値化することにより、秘密鍵Ks1,Ks2における“0”,“1”の分布を分散させることができるからである。
また、上記においては、k個の電波ごとに周波数を変えると説明したが、この発明においては、これに限らず、N個またはn個の電波の全てを同じ周波数によって送受信してもよい。
N個またはn個の電波の全てを同じ周波数で送受信しても、N個またはn個の電波強度のk個の電波強度ごとにしきい値を決定して多値化することによって、秘密鍵ks1、Ks2における“0”,“1”の分布を分散させることができるからである。
更に、この発明においては、N個の電波強度またはn個の電波強度をk個の電波強度で除算したものは、m個のブロックを構成する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10,30 無線装置、11,51 アンテナ、20 アレーアンテナ、21〜27 アンテナ素子、40 障害物、50 盗聴装置、100 無線通信システム、110 信号発生部、120 送信処理部、130,220 アンテナ部、140 受信処理部、150 プロファイル生成部、160 鍵作成部、170 鍵一致確認部、171,194 データ発生部、172,195 データ比較部、173,196 結果処理部、180 鍵記憶部、190 鍵一致化部、191 擬似シンドローム作成部、192 不一致ビット検出部、193 鍵不一致訂正部、200 暗号部、210 復号部、230 指向性設定部、231〜236 バラクタダイオード、237 制御電圧発生回路。