【解決手段】方法は、暗号化データを伝送する度に、第1キーアレイから暗号化キーを取得し、データの暗号化を行うステップと、第2キーアレイを示し且つ第1認証メッセージを含み、バイト数が伝送される暗号化データのバイト数とは異なる生成メッセージをランダムに生成するステップと、第1キーアレイから暗号化キーを取得し、生成メッセージを暗号化するステップと、暗号化された生成メッセージを送信し、第1認証メッセージが正しいと認証されれば送信される第2認証メッセージを要求するステップと、受信された第2認証メッセージを比較して、第2認証メッセージが正しいである場合、第2キーアレイで第1キーアレイを置き換えることで、暗号化データを伝送する度に、第2キーアレイから暗号化キーを取得して、データの暗号化を行うステップとを含む。
前記第1キーアレイにおける前記暗号化キーのうちの一つを用いて、受信された前記第2認証メッセージを復号するステップをさらに含む、請求項1に記載の無線通信におけるダイナミックキーの生成方法。
前記第1キーアレイから前記暗号化キーのうちの一つを取得して前記生成メッセージを暗号化するステップにおいては、取得された前記暗号化キーのバイトの少なくとも一部を用いて前記生成メッセージを暗号化するステップことを含む、請求項1に記載の無線通信におけるダイナミックキーの生成方法。
前記第1キーアレイは第1関数に係るものであり、暗号化データを伝送する度に前記第1キーアレイから前記暗号化キーのうちの一つを取得するステップにおいては、暗号化データを伝送する度に、前記第1関数を用いて、前記暗号化キーとするキー数列を生成するステップをさらに含む、請求項1に記載の無線通信におけるダイナミックキーの生成方法。
前記第2認証メッセージは前記第1認証メッセージに基づいて生成するものであり、受信された前記第2認証メッセージを比較するステップにおいては、受信された前記第2認証メッセージが前記第1認証メッセージの少なくとも一部を含む場合、前記第2認証メッセージが正しいとする、請求項1に記載の無線通信におけるダイナミックキーの生成方法。
前記応答メッセージを受信しなかった場合、暗号化された前記待機メッセージを送信し直し、前記応答メッセージを要求するステップをさらに含む、請求項8に記載の無線通信におけるダイナミックキーの生成方法。
前記第1キーアレイ又は前記第2キーアレイのうちの一つから取得された暗号化キーで前記待機メッセージを暗号化するステップにおいては、取得された前記暗号化キーのバイトの少なくとも一部を用いて前記待機メッセージを暗号化するステップを含む、請求項8に記載の無線通信におけるダイナミックキーの生成方法。
前記現行キーアレイにおける前記暗号化キーのうちの一つのバイトの一部を用いて前記認証メッセージを暗号化するステップをさらに含む、請求項15に記載の無線通信におけるダイナミックキーの生成方法。
前記データパケットが対応する前記現行キーアレイから前記暗号化キーのうちの一つを取得して前記データパケットを復号するステップにおいては、取得された前記暗号化キーのバイトの一部を用いて前記データパケットを復号するステップをさらに含む、請求項14に記載の無線通信におけるダイナミックキーの生成方法。
前記現行キーアレイは第1関数に係るものであり、暗号化されたデータパケットを受信する度に前記現行キーアレイから前記暗号化キーのうちの一つを取得して前記データパケットを復号するステップにおいては、暗号化されたデータパケットを受信する度に、前記第1関数を用いて、前記暗号化キーとするキー数列を生成するステップをさらに含む、請求項14に記載の無線通信におけるダイナミックキーの生成方法。
前記現行キーアレイは第1関数に係るものであり、前記データパケットが対応する前記現行キーアレイから前記暗号化キーのうちの一つを取得して前記データパケットを復号するステップにおいては、
暗号化データを伝送する度に、前記第1関数を用いて複数のキー数列を生成するステップと、
前記キー数列をコンカチネートするステップと、
コンカチネートされた前記キー数列のバイトの少なくとも一部を前記暗号化キーとするステップと、
をさらに含む請求項14に記載の無線通信におけるダイナミックキーの生成方法。
前記待機メッセージタイプのデータパケットから復号されたデータ内容と、前記新しいキーアレイにおける前記暗号化キーのうちの一つとを比較するステップをさらに含み、復号されたデータ内容と前記新しいキーアレイにおける前記暗号化キーのうちの一つのバイトの一部とが同じであることは、前記データパケットから復号されたデータ内容が正しいであることを意味する、請求項21に記載の無線通信におけるダイナミックキーの生成方法。
受信されたデータパケットが待機メッセージタイプである場合、前記現行キーアレイのうちの一つの暗号化キーのバイトの一部で復号を行う、請求項22に記載の無線通信におけるダイナミックキーの生成方法。
前記待機メッセージタイプのデータパケットから復号されたデータ内容と前記現行キーアレイにおける前記暗号化キーのうちの一つとを比較するステップをさらに含み、復号されたデータ内容と前記現行キーアレイにおける前記暗号化キーのうちの一つのバイトの一部とが同じであることは、前記データパケットから復号されたデータ内容が正しいであることを意味する、請求項21に記載の無線通信におけるダイナミックキーの生成方法。
受信されたデータパケットが待機メッセージタイプである場合、前記新しいキーアレイのうちの一つの暗号化キーのバイトの一部で復号を行う、請求項24に記載の無線通信におけるダイナミックキーの生成方法。
【発明を実施するための形態】
【0010】
以下、実施形態に本発明の特徴及び利点を詳しく説明する。その内容にて、関連技術の熟練者であれば誰でも本発明の技術内容を理解し、それを以て実施できる。また、本明細書に開示された内容、特許請求の範囲及び図面にて、関連技術の熟練者であれば誰でも本発明に係る目的及び利点を容易に理解できる。以下の実施例は本発明の観点を更に詳しく説明するものであるが、如何なる観点で本発明の範囲を限定するものではない。
【0011】
図1及び
図2を参照しながら説明する。
図1は本発明の一つの実施例による無線通信ネットワークシステムを模式的に示す図であり、
図2は本発明の一つの実施例による無線通信におけるダイナミックキーの生成方法のフローチャートである。図面に示すように、ダイナミックキーの生成方法は、無線通信ネットワーク環境に運用するものである。無線通信ネットワーク環境は、たとえば、無線検出装置1、基地局2、サーバ3及びデータ使用端末4を有する。無線検出装置1には無線通信機能及びセンサ機能が備えられている。無線通信機能は、たとえば、通信モジュールで実現するものであり、通信モジュールは、長距離伝送の低消費電力広域ネットワーク(Low−Power Wide−Area Network、LPWAN)、たとえばSigFox、LoRa(Long Range)、NB−IoT(狭帯域モノのインターネット)などの通信方式によって、通信方式が対応する基地局2と接続し、相互にデータやコマンドを送り合う。無線検出装置1の無線通信機能は、LPWANのほかに、たとえばLTE(Long Term Evolution)、LTE−A(LTE−Advanced)、GSM、UMTS、W−CDMA、CDMA200、WiMAX、WiMAX2、IEEE802.16又はWiFi(Wireless Fidelity)、Z−waveなどの他の通信方式によって実現でき、本実施例はそれを限定するものではない。
【0012】
無線検出装置1のセンサ機能は、無線検出装置1にセンサを設置することで実現できるが、これに限定されない。センサは、たとえば温度センサ、湿度センサ、ホールセンサ(Hall sensor)、磁気センサ(Magnetic sensor)、地磁気センサ(Geomagnetic sensor)、加速度センサ(Accelerometer sensor)、振動センサ(Vibration sensor)、赤外線センサ(IR sensor)又は他の適切なセンサである。温度センサと湿度センサを一例として説明すれば、無線検出装置1の温度センサと湿度センサが環境の温度と湿度を検出し、無線通信プロトコルの通信周波数及びデータ量の基準に従い、検出した温湿度データを送信し、基地局2に受信させる。無線検出装置1のセンサの種類や数は、当業者が実際の必要に応じて配置でき、本実施例はそれを限定するものではない。
【0013】
基地局2は、無線検出装置1に生成された検出データを受信すると、無線又は有線のインターネットを通じてサーバ3に伝送し、サーバ3によってデータの整理・保存が行われる。データ使用端末4も同様に有線又は無線のインターネットを通じてサーバ3に接続し、各データ使用端末4のそれぞれ異なるデータアクセス権限に応じて、サーバ3から検出データを取得する。データ使用端末4は、たとえば、業者又は個人ユーザのコンピュータ、モバイル装置、サーバ、クラウド・ホスティング、バーチャル・プライベート・サーバ又は他の適切な装置であり、本実施例はそれを限定するものではない。総括的に言えば、ダイナミックキーの生成方法を運用する無線通信ネットワーク環境では、無線検出装置1が無線通信方式によってその検出データを基地局2に伝送することとなるが、基地局2、サーバ3及びデータ使用端末4の間に有線で伝送するか無線で伝送するかについては限定されていない。
【0014】
なお、本願の実施例には、無線通信ネットワーク環境における無線検出装置1、基地局2、サーバ3及びデータ使用端末4それぞれの数についても限定されていない。たとえば、無線検出装置1の無線伝送の範囲内における一つ又は複数の基地局2は、いずれも無線検出装置1によって暗号化された検出データを受信できる。基地局2が収集した検出データは、まず第1層サーバ3に伝送され、そして第1層サーバ3で第2層サーバ3からアクセスされることができる。第1層サーバ3又は第2層サーバ3は、一つ又は複数のデータ使用端末4からアクセスされることができる。データ使用端末4も検出データをさらに他のデータ使用端末4に提供することができる。当業者は実際の必要に応じてアクセス権限、装置数、データのアクセスプロセスを設定することができ、本実施例はそれを限定するものではない。
【0015】
一方、ダイナミックキーの生成方法も、無線通信ネットワーク環境に応じて様々な運用形態が可能である。たとえば、無線検出装置1が生成した検出データが、暗号化キーで暗号化されてブロードキャストされ、無線検出装置1の無線伝送範囲内の一つ又は複数の基地局2によって受信されて第1層サーバ3に転送され、第1層サーバ3にて検出データの暗号化キーで復号される場合、ダイナミックキーの生成方法は無線検出装置1と第1層サーバ3によって実行される。換言すれば、第1層サーバ3が検出データを受信し、復号せずに検出データの所有者に応じて検出データを分類して第2層サーバ3に伝送し、第2層サーバ3によって検出データの暗号化キーで復号を行う場合、ダイナミックキーの生成方法は無線検出装置1と第2層サーバ3によって実行される。前述した方式以外に、ダイナミックキーの生成方法は、無線検出装置1とデータ使用端末4によって実行されてもよく、第1層サーバ3とデータ使用端末4によって実行されてもよいが、本願の実施例はそれを限定するものではない。
【0016】
説明の便宜上、以下の実施例では、無線検出装置1が検出データの暗号化を行うことと、サーバ3が検出データの復号を行うこととを例として説明するが、本発明の実施例の適用できる方式を限定するものではない。
【0017】
ダイナミックキーの生成方法では、
図2が示すように、ステップS101において、無線検出装置1は、暗号化データを伝送する度に、第1キーアレイKaから複数の暗号化キーのうちの一つを取得し、取得された暗号化キーでデータの暗号化を行う。換言すれば、無線検出装置1は、暗号化すべき検出データを伝送する度に、第1キーアレイKaから一つの暗号化キーを取得し、当該取得された暗号化キーで検出データを暗号化する。無線検出装置1は、次の検出データを伝送する際、改めて第1キーアレイKaからもう一つの暗号化キーを取得して検出データの暗号化を行う。一つの実施例では、無線検出装置1が次の検出データを伝送するときに第1キーアレイKaから取得された暗号化キーは次の順番の暗号化キーであるが、これに限定されない。なお、ステップS101において、無線検出装置1は、暗号化データを伝送するときだけに暗号化キーを取得してデータを暗号化する。換言すれば、本実施例では、無線検出装置1は必ずしも伝送する全ての検出データに対して暗号化を行うとは限らず、無線検出装置1は伝送データの重要度に応じて選択的に暗号化を行ってもよく、全ての検出データに対して暗号化を行ってもよい。説明の便宜上、以下の実施例では、検出データを暗号化する状況のみを説明するが、無線検出装置1の全ての検出データが暗号化さなければならないと限定するものではない。
【0018】
一つの実施例では、第1キーアレイKaがテーブルとして無線検出装置1で保存される。安全性を更に高める場合、第1キーアレイKaは、テーブルとして無線検出装置1に保存されることではなく、無線検出装置1にソフトウェアや他の適切な方式で実現される。ソフトウェアを例として説明すれば、第1キーアレイKaは第1関数に対応するものである。無線検出装置1が暗号化データを伝送する度に、ソフトウェアは第1関数を実行し、第1関数に暗号化キーとする一つのキー数列を生成させる。本実施例では、ソフトウェアによる実現方式でデータ安全という目的を達成することに限定されない。
【0019】
キー数列の長さは検出データの最大有効ペイロード(payload)と同じに設定でき、これにより、異なる長さを持つ検出データがキー数列で暗号化されると、暗号化された検出データの長さがいずれも同じになる。たとえば、検出データの最大有効ペイロードが12バイト(byte)である場合、第1関数が生成したキー数列の長さは12bytesである。一部の検出データの有効ペイロードが12bytes未満である場合、検出データの有効ペイロードにバイトが補足され、検出データを12bytesにしてから12bytesのキー数列で暗号化を行う。もう一例として、無線検出装置1が伝送する検出データがいずれも9bytesしかない場合、第1関数が毎回生成したキー数列を9bytesにし、又は12bytesのキー数列を生成し、その中から9bytesを暗号化キーとして抽出するように設定できる。
【0020】
他の実施例では、無線検出装置1がプロセッサの演算性能、内部レジスタサイズなどに制約され、毎回第1関数の実行によって生成されたキー数列の長さは4bytesである場合、12bytesの暗号化キーを生成するために、無線検出装置1は複数の4bytesのキー数列を生成させ、12bytesの暗号化キーとなるようにキー数列をコンカチネート(結合)する。また、たとえば、第1関数から毎回生成されたキー数列の長さが8bytesである場合、12bytesの暗号化キーを生成するために、無線検出装置1は複数の8bytesのキー数列を生成させ、キー数列をコンカチネートしてそのうちの12bytesを暗号化キーとして抽出する。説明の便宜上、第1キーアレイKaの中の第n個の暗号化キーは(Ka,n)で示し、第1キーアレイKaの中の第n+1個の暗号化キーは(Ka,n+1)で示す。換言すれば、(Ka,n)、(Ka,n+1)、…、(Ka,n+i)などの暗号化キーは、第1関数から直接生成されたキー数列であっても、キー数列から一部のバイトが抽出されたものであっても、複数のキー数列がコンカチネートされたものであっても、コンカチネートされた複数のキー数列から抽出された一部のバイトであってもよいが、実施例はそれを限定するものではない。さらに、第1キーアレイKaの中に包有する暗号化キーの数も限定されず、即ち、本実施例では無線検出装置1が第1関数を実行する回数は限定されない。このようにして、暗号化キーが順番どおりに全部使い切られた後にまた同じ順に繰り返されて使用されることによる、暗号化キーが解読される可能性の増加を回避できる。
【0021】
無線検出装置1が、暗号化される検出データを伝送するためにその度第1キーアレイKaから取得する暗号化キーは、同一のものであっても異なるものであってもよい。データ安全性をさらに向上させる場合には、毎回異なる暗号化キーを取得するようにしてもよい。無線検出装置1が生成した検出データが、その前後のいくつかの検出データと同じ又は近似する可能性があるので、各検出データをそれぞれ異なる暗号化キーで暗号化すれば、暗号化された検出データは、その前後のいくつかの暗号化された検出データとは差があり、同じデータ内容の繰り返しによる傍受・解読が容易にされるリスクが避けられる。
【0022】
サーバ3が無線検出装置1の検出データを受信した場合、サーバ3は、無線検出装置1に対応するダイナミックキー生成方式で、検出データを復号できる暗号化キーを生成し、検出データを復号する。具体的な説明は後述する。
【0023】
ステップS103において、無線検出装置1は生成メッセージをランダムに生成する。無線検出装置1が第1キーアレイKaを一定時間使用すると、無線検出装置1は第1キーアレイKaを更新するプロセスを実行し始める。無線検出装置1が第1キーアレイKaの更新をトリガーする仕組みは、たとえば、定期的に決まった時点で更新を行うことであっても、ソフトウェアの実行順に応じて更新を行うことであっても、他の仕組みでソフトウェアをトリガーして更新を行うことであってもよいが、本実施例はそれを限定するものではない。換言すれば、無線検出装置1が第1キーアレイKaを更新する場合、無線検出装置1は生成メッセージをランダムに生成し、あらかじめサーバ3に伝送し、サーバ3を、第1キーアレイKaを更新できるプロセスへ移行させる。一つの実施例では、生成メッセージの有効ペイロードのバイト数と検出データの有効ペイロードのバイト数とが異なることにより、サーバ3は、受信されたメッセージが検出データでなく、第1キーアレイKaの更新を告げるための生成メッセージであると判断できる。実例で説明すれば、無線検出装置1が毎回伝送した、暗号化された検出データが12bytesである場合、生成メッセージの有効ペイロードのバイト数は11bytes、10bytes、90bits又は他の数であってもよいが、本実施例はそれを限定するものではない。
【0024】
なお、生成メッセージには、第2キーアレイを示すメッセージseed
b及び第1認証メッセージVaを含む。第2キーアレイを示すメッセージseed
bはランダムに生成されるものであり、第1認証メッセージVaはランダムに生成されるものに限らない。ステップS105において、無線検出装置1は第1キーアレイKaからもう一つの暗号化キーを取得し、取得された暗号化キーで生成メッセージを暗号化する。一つの実施例では、無線検出装置1が生成メッセージを生成させる前に、無線検出装置1が伝送した最後の検出データが暗号化キー(Ka,n+i)で暗号化されていた場合、無線検出装置1は、第1キーアレイKaの中の次の暗号化キー(Ka,n+i+1)で生成メッセージに暗号化を行うことができる。一つの実施例では、無線検出装置1が暗号化キー(Ka,n+i+1)の一部のバイトを抽出し、生成メッセージに対して暗号化を行うが、これに限定されない。
【0025】
ステップS107においては、暗号化された生成メッセージを送信し、第2認証メッセージVbを要求する。換言すれば、生成メッセージが一つのデータパケットに包まれて送信され、且つ、生成メッセージを含むデータパケットが更にサーバ3にメッセージの応答を要求する。一つの実施例では、生成メッセージを含むデータパケットのヘッダ(Header)における一部のビット(bit)に基づいて、サーバ3は無線検出装置1にメッセージを返信すべきと判断できる。したがって、サーバ3が生成メッセージを含むデータパケットを受信すると、まず生成メッセージが正しいか否かを認証し、生成メッセージが正しいである場合、第2認証メッセージVbを含むデータパケットを無線検出装置1に返信する。
【0026】
ステップS109においては、無線検出装置1が第2認証メッセージVbを含むデータパケットを受信すると、無線検出装置1は第2認証メッセージVbを比較し、第2認証メッセージVbが正しいか否かを判断する。一つの実施例では、第1認証メッセージVaと第2認証メッセージVbは、たとえば無線検出装置1やサーバ3に保存された固定的なデータ内容である。換言すれば、無線検出装置1は第2キーアレイを示すためのランダムに生成されたメッセージseed
bと、固定的なデータ内容である第1認証メッセージVaとを生成メッセージとしてコンカチネートし、その生成メッセージを暗号化してからサーバ3に伝送し、その後、サーバ3は生成メッセージの中に固定的なデータ内容である第1認証メッセージVaが含まれているか否かに基づいて、受信されたメッセージが本当に無線検出装置1からのものであるか否か、即ち、生成メッセージが正しいか否かを判断する。同様に、無線検出装置1は、サーバ3から返信されたデータパケットを受信すると、データパケットのデータ内容にあらかじめ決められた第2認証メッセージVbが含まれているか否かに基づいて、第2認証メッセージVbが正しいか否か、即ちデータパケットが本当にサーバ3からのものであるか否かを判断する。
【0027】
なお、生成メッセージは検証メッセージを更に含むことができ、無線検出装置1は検証メッセージに基づいて生成メッセージが正しいか否かを判断する。検証メッセージについては、たとえば第2キーアレイを示すメッセージseed
bと第1認証メッセージVaのフォーマットに埋め込まれてもよく、改めて生成メッセージの一部のバイトを検証メッセージの位置として設定してもよいが、本実施例はそれを限定するものではない。
【0028】
もう一つの実施例では、第2認証メッセージVbは第1認証メッセージVaに基づいて生成される。換言すれば、第1認証メッセージVaがランダムに生成されるものである場合、サーバ3は、生成メッセージが正しいと検証すると、生成メッセージから第1認証メッセージVaを第2認証メッセージVbとして抽出し、無線検出装置1に返信する。無線検出装置1がサーバ3から第2認証メッセージVbを含むメッセージを受信し、第2認証メッセージVbと第1認証メッセージVaが同じであると検証した場合、このことは第2認証メッセージVbが正しいであることを意味する。
【0029】
他の実施例では、第2認証メッセージは第1認証メッセージVaの一部のバイトであってもよい。つまり、サーバ3は、第1認証メッセージVaから一部のバイトを第2認証メッセージVbとして抽出し、比較用に無線検出装置1に返信する。第2認証メッセージVbにより、無線検出装置1は、受信されたメッセージが安全なサーバ3から送信されてきたものであることを確認でき、また、サーバ3が既に生成メッセージを受信したことを確認できる。当業者は実際の必要に応じて、無線検出装置1の運用による、メッセージの送信元を確認する方法を設計でき、本実施例はそれを限定するものではない。
【0030】
第2認証メッセージVbが正しいである場合、ステップS111において、無線検出装置1は、第2キーアレイKbで第1キーアレイKaを置き換えることで、後の一定時間内には、暗号化データを伝送する度に、第2キーアレイKbから暗号化キーを取得してデータの暗号化を行い、即ち、第2キーアレイKbにおける暗号化キーを用いて検出データを暗号化する。当業者が前記の内容にしたがって実施でき、本実施例では繰り返しはしない。
【0031】
前記実施例では、サーバ3がランダムに生成されたメッセージseed
bによって第2キーアレイKbを導き出すようにしているが、無線検出装置1もまた、ランダムに生成されたメッセージseed
bによって第2キーアレイKbを生成する。一例として、無線検出装置1は配列生成関数を実行でき、配列生成関数はランダムに生成されたメッセージseed
bに基づいて、第2キーアレイKbに係る第2関数を生成する。つまり、無線検出装置1は、第2キーアレイKbで第1キーアレイKaを置き換えると、その後無線検出装置1が暗号化データを伝送する度に、ソフトウェアによって第2関数を実行し、第2関数から、検出データを暗号化するための暗号化キーとしてキー数列を生成する。同様に、サーバ3は、第2キーアレイを示すメッセージseed
bを受信した後、第2キーアレイを示すメッセージseed
bを利用して第2キーアレイKbを生成し、第2キーアレイKbにおける暗号化キーで、受信されたメッセージに対する復号を行う。
【0032】
実務上、無線検出装置1は、ステップS107においてサーバ3から返信されたメッセージを受信しなかった場合、暗号化された生成メッセージをもう一度送信する。一つの実施例では、無線検出装置1はステップS105を実行し直し、もう一つの暗号化キーで生成メッセージを暗号化し直す。具体的には、無線検出装置1が暗号化キー(Ka,n+i+1)で生成メッセージに対する暗号化を行い、且つ暗号化された生成メッセージを送信してもサーバ3からの返信を受信しなかった場合、無線検出装置1は再び次の順番の暗号化キー(Ka,n+i+2)で生成メッセージに対する暗号化を行い、あらためて暗号化された生成メッセージを送信し、サーバ3に応答を要求する。当業者は、生成メッセージを送信し直すために使用される暗号化キーを適宜決めることができ、本実施例では必ずしも次の順番の暗号化キーで暗号化を行うことに限定されない。
【0033】
なお、安全性を高める場合には、サーバ3は、第2認証メッセージVbを返信するとき、第2認証メッセージVbに対して暗号化を行うことができる。サーバ3が第2認証メッセージVbを暗号化する方式は、たとえば、第1キーアレイKaから一つの暗号化キーを取得し、取得された暗号化キーで第2認証メッセージVbを暗号化するものである。具体的には、サーバ3が受信した生成メッセージが暗号化キー(Ka,n+i+1)で暗号化されたものであれば、サーバ3は次の順番の暗号化キー(Ka,n+i+2)で第2認証メッセージVbを暗号化できる。サーバ3が受信した生成メッセージが暗号化キー(Ka,n+i+2)で暗号化されたものであれば、サーバ3は次の順番の暗号化キー(Ka,n+i+3)で第2認証メッセージVbを暗号化するが、これに限定されない。換言すれば、サーバ3が第2認証メッセージVbに対して暗号化を行い、且つ無線検出装置1が第2認証メッセージVbを含むデータパケットを受信した場合、無線検出装置1は第2認証メッセージVbを復号するステップをさらに有する。
【0034】
図1及び
図3を参照しながら説明する。
図3は本発明のもう一つの実施例による無線通信におけるダイナミックキーの生成方法のフローチャートである。図面に示すように、ステップS301において、無線検出装置1は、暗号化される検出データを伝送しようとする度に、第1キーアレイKaから複数の暗号化キーのうちの一つを取得し、取得された暗号化キーで検出データの暗号化を行う。検出データの暗号化に第1キーアレイKaが一定時間にわたって使用されると、無線検出装置1は第1キーアレイKaを更新するプロセスを実行し始める。よって、ステップS303において、無線検出装置1は、第2キーアレイKbを示すメッセージと第1認証メッセージVaとを含む生成メッセージをランダムに生成する。ステップS305において、無線検出装置1は第1キーアレイKaから暗号化キーを取得し、取得された暗号化キーで生成メッセージを暗号化する。ステップS307において、無線検出装置1は暗号化された生成メッセージを送信し、第2認証メッセージVbを要求する。サーバ3が生成メッセージを含むデータパケットを受信し、生成メッセージの検証が成功すると、サーバ3は、第2認証メッセージVbを含むデータパケットを無線検出装置1に返信する。ステップS309において、無線検出装置1は第2認証メッセージVbを受信し、比較を行って第2認証メッセージVbが正しいか否かを判断する。
【0035】
図3の実施例では、ステップS301からステップS309までは
図1の実施例とは大体同じであるため、当業者が
図1の実施例を参照して変化させ、ステップS301からステップS309に運用できるので、繰り返しはしない。続いて、ステップS311において、比較の結果第2認証メッセージVbが正しいである場合、無線検出装置1は待機メッセージを生成し、第1キーアレイKa又は第2キーアレイKbのうちの一つから暗号化キーを取得して、待機メッセージを暗号化する。
【0036】
待機メッセージは固定的なデータ内容であっても、第1キーアレイKaの一つの暗号化キーから取得されるものであっても、第2キーアレイKbの一つの暗号化キーから取得されるものであってもよいが、本実施例はそれを限定するものではない。具体的には、待機メッセージが固定的なデータ内容である場合、無線検出装置1は第1キーアレイKa又は第2キーアレイKbのうちの一つから暗号化キーを取得して待機メッセージを暗号化するように設定できる。待機メッセージが第1キーアレイKaの一つの暗号化キーから取得されたものである場合、無線検出装置1は、第2キーアレイKbから暗号化キーを取得して待機メッセージを暗号化できる。待機メッセージが第2キーアレイKbの一つの暗号化キーから取得されたものである場合、無線検出装置1は第1キーアレイKaから暗号化キーを取得して待機メッセージを暗号化できる。本実施例では、待機メッセージのデータ内容と、待機メッセージを暗号するために用いる暗号化キーとについて限定はしない。
【0037】
次に、ステップS313において、無線検出装置1は暗号化された待機メッセージを送信し、応答メッセージを要求する。換言すれば、待機メッセージが一つのデータパケットに包まれて送信され、且つ、待機メッセージを含むデータパケットがサーバ3にメッセージの応答を要求する。一つの実施例では、待機メッセージを含むデータパケットが、サーバ3にメッセージの返信を要求するためのビットを有するため、サーバ3はデータパケットを受信したとき、このビットに基づいて無線検出装置1に応答メッセージを返信すべきと判断できる。一つの実施例では、待機メッセージのバイト数は、生成メッセージのバイト数及び検出データ有効ペイロードのバイト数とは異なる。サーバ3は受信したデータパケットのバイト数に基づいて、受信したデータパケットが待機メッセージに係るものと判断できる。換言すれば、サーバ3はデータパケットのタイプに基づいて無線検出装置1に第2認証メッセージVb又は応答メッセージを返信すべきと判断できる。
【0038】
無線検出装置1がサーバ3から返信された応答メッセージを受信すると、ステップS315において、無線検出装置1は応答メッセージを比較する。応答メッセージが正しいである場合、ステップS317において、無線検出装置1は、第2キーアレイKbで第1キーアレイKaを置き換えることで、後の一定時間内には、暗号化データを伝送する度に、第2キーアレイKbから暗号化キーを取得してデータの暗号化を行う。
【0039】
より具体的に説明するため、実際例として、無線検出装置1がステップS305において暗号化キー(Ka,n+i+1)で生成メッセージを暗号化し、ステップS309においてサーバ3から返信された第2認証メッセージVbを受信し、且つ第2認証メッセージVbが正しいである場合、無線検出装置1はステップS311において暗号化キー(Kb,1)から一部のバイトを待機メッセージとして抽出し、第1キーアレイKaの次の順番の暗号化キー(Ka,n+i+2)で待機メッセージを暗号化し、暗号化された待機メッセージを送信して、サーバ3からの返信を待ち受ける。サーバ3が返信する応答メッセージは、待機メッセージに用いられる暗号化キーに基づいて同じまたはその次の順番の暗号化キーで暗号化することができ、すなわち、たとえば暗号化キー(Ka,n+i+2)又は暗号化キー(Ka,n+i+3)で待機メッセージを暗号化できる。暗号化キーのバイト数が、待機メッセージ及び応答メッセージのバイト数とは異なるので、無線検出装置1とサーバ3は、暗号化キーの一部のバイトのみで待機メッセージと応答メッセージとを暗号化するように設定できる。
【0040】
無線検出装置1は、待機メッセージを送信してもサーバ3からの返信を受信しなかった場合、暗号化された待機メッセージをサーバ3にもう一度送信し、あるいはステップS311を繰り返して第1キーアレイKaの次の順番の暗号化キー(Ka,n+i+3)で待機メッセージを暗号化し直し、暗号化し直された待機メッセージを送信してサーバ3の返信を要求できる。ここで、サーバ3は、暗号化キー(Ka,n+i+3)で暗号化された待機メッセージを受信すると、暗号化キー(Ka,n+i+3)又は暗号化キー(Ka,n+i+4)で応答メッセージを暗号化し、無線検出装置1に返信できる。
【0041】
もう一例として、無線検出装置1がステップS305において暗号化キー(Ka,n+i+1)で生成メッセージを暗号化し、ステップS309においてサーバ3から返信された第2認証メッセージVbを受信し、且つ第2認証メッセージVbが正しいである場合、ステップS311において、無線検出装置1は、次の順番の暗号化キー(Ka,n+i+2)から一部のバイトを待機メッセージとして抽出し、第2キーアレイKbの一番はじめの暗号化キー(Kb,1)で待機メッセージを暗号化し、暗号化された待機メッセージを送信してサーバ3からの返信を待ち受ける。ここで、サーバ3が返信する応答メッセージは、待機メッセージに用いられる暗号化キーに基づいて同じまたはその次の順番の暗号化キーで暗号化することができ、たとえば暗号化キー(Kb,1)又は暗号化キー(Kb,2)を使用して応答メッセージを暗号化できる。
【0042】
無線検出装置1は、待機メッセージを送信したがサーバ3からの返信を受信しなかった場合、暗号化された待機メッセージをサーバ3にもう一度送信し、あるいはステップS311を繰り返して第1キーアレイKaの次の順番の暗号化キー(Ka,n+i+3)から一部のバイトを待機メッセージとして抽出し、同じ暗号化キー(Kb,1)で待機メッセージを暗号化し直し、暗号化された待機メッセージを送信し直してサーバ3からの返信を要求する。
【0043】
サーバ3から返信された応答メッセージが暗号化されたものである場合、ステップS315の前に、当然応答メッセージを復号するステップを有することは、当業者であれば理解でき、ここで説明を省略する。
【0044】
サーバ3は、待機メッセージを受信したか否かに基づいて、無線検出装置1が第2認証メッセージVbを受信したことを確認してもよく、待機メッセージのデータ内容に基づいて、生成メッセージから導き出された第2キーアレイKbが正しいか否かをもう一度確認してもよい。また、サーバ3から返信された応答メッセージのデータ内容は、固定的なものであってもよく、待機メッセージから抽出されたデータ内容であってもよいが、本実施例はそれを限定するものではない。
【0045】
一つの実施例では、無線検出装置1は、応答メッセージが正しいであることを確認すると、第2キーアレイKbで第1キーアレイKaを置き換え、且つ第2キーアレイKbの中の未使用の暗号化キーで検出データを暗号化して、データの伝送を行う。具体的には、無線検出装置1がステップS311において暗号化キー(Kb,1)から一部のバイトを待機メッセージとして抽出した場合、暗号化キー(Kb,1)は使用済みの暗号化キーとする。無線検出装置1は、検出データの伝送を再開すると、未使用の暗号化キー(Kb,2)を用いて、伝送を再開するときの最初の検出データを暗号化する。なお、たとえば、無線検出装置1がステップS311において暗号化キー(Ka,n+i+2)から一部のバイトを待機メッセージとして抽出し、暗号化キー(Kb,1)を用いて待機メッセージを暗号化した場合、無線検出装置1は、検出データの伝送を再開すると、同様に、暗号化キー(Kb,2)を用いて、検出データの伝送を再開するときの最初のデータを暗号化する。
【0046】
続いて、無線通信におけるダイナミックキーの生成方法をサーバ3に運用する実施例を説明する。
図1及び
図4を参照しながら説明する。
図4は本発明のさらにもう一つの実施例による無線通信におけるダイナミックキーの生成方法のフローチャートである。図面に示すように、ステップS501において、サーバ3は、暗号化されたデータパケットを受信する度に、データパケットのバイト数に基づいてデータパケットのタイプを判断する。生成メッセージの有効ペイロードのバイト数と検出データの有効ペイロードのバイト数とは異なるので、サーバ3は、受信したデータパケットのバイト数に基づいてデータパケットのタイプを判断できる。たとえば、サーバ3は、有効ペイロードが12bytesであるデータパケットを受信すると、このデータパケットが検出データタイプであると判断し、有効ペイロードが11bytesであるデータパケットを受信すると、このデータパケットが生成メッセージタイプであると判断するが、これに限定されない。
【0047】
ステップS503において、サーバ3はデータパケットが対応する現行キーアレイから複数の暗号化キーのうちの一つを取得し、データパケットを復号する。無線検出装置1が暗号化すべきデータを伝送する度に、第1キーアレイKcから一つの暗号化キーを取得し、当該取得された暗号化キーでデータを暗号化するので、サーバ3も無線検出装置1に対応するダイナミックキーの生成方法によりデータパケットを復号する。具体的には、サーバ3は、基地局2に介して無線検出装置1からの暗号化データパケットを受信する度に、データパケットに基づいて送信元の無線検出装置1を識別し、無線検出装置1が対応する現行キーアレイから暗号化キーを取得してデータパケットを復号する。一つの実施例では、サーバ3は暗号化キーの一部のバイトを用いてデータパケットを復号できるが、本実施例はそれを限定するものではない。説明の便宜上、以降では、第1キーアレイKcをサーバ3中の現行キーアレイとする。
【0048】
一つの実施例では、サーバ3はデータパケットのシーケンス番号(Sequence Number)に基づいて、データパケットに用いられた暗号化キーを推測する。第1キーアレイKcがたとえばテーブルとしてサーバ3に保存されている場合、サーバ3はデータパケットのシーケンス番号に基づいて、第1キーアレイKcのテーブルからデータパケットの暗号化キーを調べられる。もう一つの実施例では、第1キーアレイKcは、テーブルとしてサーバ3に保存することではなく、ソフトウェアや他の適切な方式で実現される。ソフトウェアを例として説明すれば、暗号化データを受信する度に、サーバ3のソフトウェアは第1関数を実行し、第1関数から生成されたキー数列を暗号化キーとして、データパケットを復号する。この場合、サーバ3は、前回受信したデータパケットのシーケンス番号と今回受信したデータパケットのシーケンス番号とを比較して第1関数の実行回数を選択し、第1関数の実行によって最後に生成されたキー数列を暗号化キーとする。実際例として、前回サーバ3が受信したデータパケットのシーケンス番号が5であり、今回受信したデータパケットのシーケンス番号が6である場合、サーバ3は、二つのシーケンス番号を比較し、シーケンス番号の差が1であることで第1関数を一回実行して、今回のデータパケットの暗号化キーを取得する。また、たとえば、前回サーバ3が受信したデータパケットのシーケンス番号が5であり、今回受信したデータパケットのシーケンス番号が8である場合、サーバ3は二つのシーケンス番号を比較し、シーケンス番号の差が3であることで第1関数を三回実行して、三回目の第1関数の実行によって取得されたキー数列を、今回データパケットを復号するための暗号化キーとする。このソフトウェアが第1関数を実行する実現方式、シーケンス番号の値は説明用だけのものであり、具体的な実施形態、及び本発明による請求の範囲を限定するものではない。
【0049】
状況によって、サーバ3がプロセッサの演算能力、メモリサイズなどに制約されるので、第1関数を実行するときに生成するキー数列の長さは限られる。たとえば、サーバ3が第1関数を実行する度に4bytesのキー数列しか生成されない。より長い長さの、たとえば12bytesの暗号化キーを取得するために、サーバ3は第1関数を複数回実行し、キー数列を暗号化キーとしてコンカチネートし、即ち、12bytesの暗号化キーとなるように複数の4bytesのキー数列をコンカチネートする。また、たとえば第1関数が一度生成できるキー数列の長さが8bytesである場合、12bytesの暗号化キーを生成するために、サーバ3は複数の8bytesのキー数列を生成し、キー数列をコンカチネートして、そのうちの12bytesを暗号化キーとして抽出する。換言すれば、サーバ3が、前回受信したデータパケットのシーケンス番号と今回受信したデータパケットのシーケンス番号を比較して選んだ第1関数の実行回数は、第1関数が生成できる数列の長さにも依存する。サーバ3が第1関数を実行する度に4bytesのキー数列が生成され、暗号化キーが12bytesに設定される例を挙げると、前回サーバ3が受信したデータパケットのシーケンス番号が5であり、今回受信したデータパケットのシーケンス番号が6である場合、サーバ3は、シーケンス番号の差が1であることで第1関数を三回実行し、一回目から三回目まで生成されたキー数列を今回のデータパケットの暗号化キーとしてコンカチネートする。また、たとえば、前回サーバ3が受信したデータパケットのシーケンス番号が5であり、今回受信したデータパケットのシーケンス番号が8である場合、サーバ3はシーケンス番号の差が3であることで第1関数を9回実行して、7回目から9回目まで生成されたキー数列を今回のデータパケットの暗号化キーとしてコンカチネートする。
【0050】
実務上、ソフトウェアで第1キーアレイKcを実現する方式では、第1キーアレイKcの中に包有できる暗号化キーの数が限定されず、即ち、サーバ3が第1関数を実行する回数は制限がない。このことにより、暗号化キーの数に制限があって全部使い切られると暗号化キーが同じ順に繰り返されて利用されるという状況をなくすことができ、その結果、暗号化データが傍受されて解読される可能性を更に下げることができる。
【0051】
サーバ3は、このデータパケットが検出データタイプであると判断した場合、データパケットを復号した後に、復号されたデータ内容を保存し、アクセスできるように、対応のデータアクセス権限を持つデータ使用端末4に供する。このデータパケットが生成メッセージタイプである場合、サーバ3が、データパケットを復号した後に、さらに無線検出装置1に合わせて第1キーアレイKcを更新するためのプロセスを実行するので、ステップS505において、サーバ3はデータパケットから復号されたデータ内容が正しいか否かを判断する。
【0052】
一つの実施例では、サーバ3の中に決まった第1認証メッセージV1を有し、且つ、復号されたデータ内容のうちの一部のバイトを無線検出装置1が第1認証メッセージV1を配置する位置と設定したので、サーバ3は、第1認証メッセージV1の配置予定の位置である前記バイトから認証待ちメッセージVcを読み取り、認証待ちメッセージVcと、あらかじめ決められた第1認証メッセージV1とを比較することができる。認証待ちメッセージVcと第1認証メッセージV1が同じであるか否かにより、データパケットから復号されたデータ内容が正しいか否かを判断する。もう一つの実施例では、サーバ3は復号されたデータ内容の正しいフォーマットをあらかじめ決められる。サーバによって復号されたデータ内容のフォーマットが、あらかじめ決められたフォーマットと合致する場合、データパケットから復号されたデータ内容が正しいであると判断する。他の実施例では、サーバ3は、復号されたデータ内容のうちの一部のバイトを、検証メッセージが配置される位置としてあらかじめ決めてもよい。サーバ3は、検証メッセージが正しいか否かにより、復号されたデータ内容が正しいか否かを判断する。
【0053】
サーバ3が、受信されたデータパケットが正しいであると判断することは、復号されたデータ内容には無線検出装置1によって生成された生成メッセージが含まれ、即ち、新しいキーアレイを示すメッセージseed
d及び第1認証メッセージV1が含まれることを意味し、且つデータパケットはサーバ3にメッセージの返信を要求する。つまり、復号されたデータ内容が正しいである場合、ステップS507において、サーバ3は認証メッセージVdを無線検出装置1に送信し、無線検出装置1の要求を応答する。一つの実施例では、サーバ3は、抽出された認証待ちメッセージVcを、無線検出装置1に返信する認証メッセージVdとし、認証メッセージVdをデータパケットの中に包んで無線検出装置1に返信する。もう一つの実施例では、サーバ3は認証待ちメッセージVcから一部のバイトだけを抽出して、認証メッセージVdとして無線検出装置1に返信できる。サーバ3が、復号されたデータ内容の中の認証待ちメッセージVcを用いて返信することにより、無線検出装置1は、受信されたメッセージが安全なサーバ3から送信されてきたものであることと、サーバ3が既に生成メッセージを受信したこととを確認できる。当業者は実際の必要に応じて、サーバ3から無線検出装置1に返信するデータ内容を適宜決めることができ、本実施例はそれを限定するものではない。
【0054】
一つの例として、サーバ3は第1キーアレイKcから暗号化キー取得し、取得された暗号化キーで認証メッセージVdに暗号化を行い、無線検出装置1に返信できる。実際例として説明すると、サーバ3は、受信したデータパケットが暗号化キー(Kc,n+i+1)で暗号化されたものであれば、次の順番の暗号化キー(Kc,n+i+2)で認証メッセージVdを暗号化できる。サーバ3は、受信したデータパケットが暗号化キー(Kc,n+i+2)で暗号化されたものであれば、次の順番の暗号化キー(Kc,n+i+3)で認証メッセージVdを暗号化するが、これに限定されない。実務上、暗号化キーと認証メッセージVdのバイト数の違いにより、暗号化キーの一部のバイトを抽出して認証メッセージVdを暗号化することができるが、本実施例はそれを限定するものではない。
【0055】
ステップS509において、サーバ3は、生成メッセージタイプのデータパケットから復号されたデータ内容に基づいて新しいキーアレイを判断して選択し、新しいキーアレイで現行キーアレイを置き換えることで、後の一定時間に、暗号化されたデータパケットを受信する度に、新しいキーアレイから複数の暗号化キーのうちの一つを取得してデータパケットの復号を行う。具体的には、サーバ3が既に、復号されたデータ内容のうちの一部のバイトが、無線検出装置1が新しいキーアレイを示すためのメッセージseed
dであると設定したので、サーバ3は新しいキーアレイを示すメッセージseed
dに基づいて、無線検出装置1が更新によりこれから使用する新しいキーアレイを識別できる。新しいキーアレイは、無線検出装置1において第1キーアレイKcを更新するための第2キーアレイKdとは同じものである。説明の便宜上、以降では第2キーアレイKdをサーバ3によって生成された新しいキーアレイとする。
【0056】
一例として、サーバ3が配列生成関数を実行でき、配列生成関数は第2キーアレイKdを示すメッセージseed
dに基づいて、第2キーアレイKdに係る第2関数を生成する。つまり、サーバ3は、第2キーアレイKdで第1キーアレイKcを置き換えると、暗号化データを復号する度に、ソフトウェアによって第2関数を実行し、第2関数から、データを復号するための暗号化キーとしてキー数列を生成する。第2関数がキー数列を生成する方法について、前記実施例を参照できるので、繰り返しはしない。
【0057】
図1及び
図5を参照しながら説明する。
図5は本発明のさらにもう一つの実施例による無線通信におけるダイナミックキーの生成方法のフローチャートである。図面に示すように、ステップS701において、サーバ3は、暗号化されたデータパケットを受信する度に、データパケットのバイト数に基づいてデータパケットのタイプを判断する。ステップS703において、サーバ3はデータパケットが対応する現行キーアレイから複数の暗号化キーのうちの一つ取得し、データパケットを復号する。サーバ3は、このデータパケットが検出データタイプであると判断した場合、データパケットを復号した後に、復号されたデータ内容を保存し、アクセスできるように、対応のデータアクセス権限を持つデータ使用端末4に供する。このデータパケットが生成メッセージタイプである場合、サーバ3は、無線検出装置1に合わせて第1キーアレイKcを更新するためのプロセスを実行するので、ステップS705において、データパケットから復号されたデータ内容が正しいか否かを判断し、データパケットから復号されたデータ内容が正しいであると判断した場合、ステップS707において、認証メッセージVdを無線検出装置1に送信する。
【0058】
本実施例では、前記ステップS701からステップS707までの内容は前記実施例と大体同じであるため、当業者が前記実施例の内容に応じて変化を加えて実施できるので、本実施例で繰り返しはしない。
図5の実施例では、無線検出装置1は、認証メッセージVdを受信して認証メッセージVdが正しいであると確認した場合、待機メッセージを再び送信することで、第2キーアレイKdに更新するプロセスを行うことを無線検出装置1とサーバ3に再び確認させる。よって、サーバ3は、暗号化されたデータパケットを再び受信したとき、ステップS701に戻り、データパケットのバイト数に基づいてデータパケットのタイプを判断し、ステップS701においてデータパケットが対応する現行キーアレイから暗号化キーを取得してデータパケットに対する復号を行う。本実施例では、待機メッセージのバイト数と、生成メッセージのバイト数と、検出データの有効ペイロードのバイト数とが全部異なるため、サーバ3は受信されたデータパケットのバイト数に基づいてデータパケットのタイプを判断でき、これにより無線検出装置1が現時点で第1キーアレイKcを更新するプロセスにある否かをも把握できる。なお、サーバ3はまた、無線検出装置1の設定に合わせて、無線検出装置1が現時点で用いているキーアレイを使用してデータパケットを復号するように設定する。
【0059】
次に、サーバ3が、受信されたデータパケットが待機メッセージタイプであると判断した場合、ステップS709において、サーバ3はデータパケットから復号されたデータ内容が正しいか否かを判断する。一つの実施例では、無線検出装置1が生成した待機メッセージは固定的なデータ内容であり、且つ、サーバ3の中にもあらかじめ決められた正確な待機メッセージのデータ内容がある。したがって、サーバ3はデータパケットを復号した後、データパケットから復号されたデータ内容が正しいか否かを判断できる。
【0060】
もう一つの実施例では、無線検出装置1が生成した待機メッセージが、第2キーアレイKdのうちの一つの暗号化キーで生成され、且つ第1キーアレイKcの中の暗号化キーで暗号化されたものである。そのため、サーバ3が待機メッセージタイプのデータパケットを受信すると、ステップS703において、サーバ3は第1キーアレイKcから暗号化キーを取得し、取得された暗号化キーでデータパケットに復号を行う。ステップS709において、サーバ3は、復号されたデータ内容と第2キーアレイKdの中の暗号化キーとを比較して、比較の結果に基づいて待機メッセージタイプのデータパケットが正しいか否かを判断する。
【0061】
もう一つの実施例では、無線検出装置1が生成した待機メッセージは、第1キーアレイKcのうちの一つの暗号化キーで生成され、且つ第2キーアレイKdの中の暗号化キーで暗号化されたものである。したがって、サーバ3は待機メッセージタイプのデータパケットを受信すると、ステップS703において、第2キーアレイKdから暗号化キーを取得し、取得された暗号化キーでデータパケットに復号を行う。ステップS709において、サーバ3は、復号されたデータ内容と第1キーアレイKcの暗号化キーとを比較して、比較の結果に基づいて待機メッセージタイプのデータパケットが正しいか否かを判断する。待機メッセージが、暗号化キーの一部のバイトからなるものであってもよく、暗号化キーの一部のバイトのみで暗号化されてもよいことは、本実施例で繰り返して説明しない。
【0062】
ステップS711において、サーバ3は、待機メッセージが正しいであると確認すると、応答メッセージを無線検出装置1に送信する。応答メッセージは固定的なデータ内容であってもよく、待機メッセージから抽出された一部のバイトであってもよいが、本実施例はそれを限定するものではない。なお、サーバ3は応答メッセージに暗号化を行ってもよい。たとえば、受信された待機メッセージタイプのデータパケットが、第1キーアレイKcの中の暗号化キー(Kc,n+i+2)で暗号化されたものである場合、サーバ3は暗号化キー(Kc,n+i+3)で応答メッセージを暗号化できる。受信された待機メッセージタイプのデータパケットが、第2キーアレイKdの中の暗号化キー(Kd,1)で暗号化されたものである場合、サーバ3は暗号化キー(Kd,2)で応答メッセージを暗号化できる。
【0063】
ステップS713において、サーバ3は、生成メッセージタイプのデータパケットから復号されたデータ内容に基づいて、新しいキーアレイを判断して選択し、新しいキーアレイで現行キーアレイを置き換えることで、後の一定時間内に、暗号化されたデータパケットを受信する度に、新しいキーアレイから複数の暗号化キーのうちの一つを取得してデータパケットの復号を行う。無線検出装置1が暗号化キー(Kd,1)から一部のバイトを待機メッセージとして抽出する例として説明すれば、無線検出装置1は、サーバ3から送信された応答メッセージを受信すると、検出データの伝送を再開し、第2キーアレイKdの次の順番の暗号化キー(Kd,2)で検出データを暗号化する。したがって、サーバ3は、暗号化されたデータパケットを受信すると、第2キーアレイKdの次の順番の暗号化キー(Kd,2)でデータパケットを復号する。無線検出装置1が第1キーアレイKcの中の暗号化キーから一部のバイトを待機メッセージとして抽出する例では、無線検出装置1がサーバ3から送信された応答メッセージを受信して検出データの伝送を再開する場合、第2キーアレイKdのうちの一番はじめの暗号化キー(Kd,1)が待機メッセージのデータ内容とされるため、サーバ3は、暗号化されたデータパケットを受信するとき、第2キーアレイKdの次の順番の暗号化キー(Kd,2)でデータパケットを復号する。
【0064】
以上より、本発明の実施例は、データ伝送時にキーアレイから必ずしも同じではない暗号化キーを取得して、データに暗号化を行うことで、データ暗号化の安全性をより向上させる無線通信におけるダイナミックキーの生成方法を提供する。更に、ダイナミックキーの生成方法がランダムに生成されたメッセージに基づいて不定期にキーアレイを更新するため、暗号化データに用いられた暗号化キーはより難解なものとなる。本来使用されていたキーアレイが傍受で取得されても、ダイナミックキーの生成方法によってキーアレイが更新されると、傍受で取得されたキーアレイが使用できなくなるので、無線通信環境におけるデータ伝送の安全性がさらに高まり、データ所有者の重要資産が保護される。
【0065】
本発明は前記実施例により以上のように開示されているが、本発明を限定するものではない。本発明の精神と範囲を逸脱しない限りなされた変更や改良は、いずれも本発明の保護範囲に含まれる。