(57)【要約】【課題】可視光に関する暗号化方法、復号化方法、通信装置及び通信システムを提供する。【解決手段】送信端から可視光信号を受信するステップと、秘密キーを取得し、その秘密キーに基づいて可視光信号を復号化するステップとを備える方法において、前記可視光信号は、送信端で秘密キーにて暗号化されたものであって、秘密キー取得の方法は、受信端のステートマシンの状態に対応する秘密キーを取得する方法、又は可視光信号により取得された、秘密キーの取得に用いる指示情報に基づいて秘密キーを取得する方法を備えるものである。本発明によって、可視光暗号化・復号化における復号化できない問題を解決でき、復号化の精度向上が図れる。【選択図】図ｃ２
2015532030.tif 000002
【特許請求の範囲】
【請求項１】
送信端から可視光信号を受信する手段であって、前記可視光信号は、前記送信端で秘密キーにて暗号化される手段と、
前記秘密キーを受信して、前記秘密キーにて前記可視光信号を復号化する手段と、を有する可視光信号の復号化処理方法であって、
前記秘密キーの受信は、受信端のステートマシン状態に対応する前記秘密キーを受信するステップ、又は、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップ、を備えたことを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップは、
受信した前記可視光信号をデジタル信号に変換するステップと、
前記デジタル信号を擬似コード列指示コードと擬似コード信号を有する信号に分解するステップと、
前記擬似コード列指示コードに対応する擬似コード列を照合するステップであって、前記擬似コード列が前記秘密キーであるステップと、
前記擬似コード列に基づいて前記擬似コード信号を復号化するステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項３】
請求項２記載の方法において、前記デジタル信号を擬似コード列指示コードと擬似コード信号を有する信号に分解し、前記擬似コード列指示コードに対応する擬似コード列を照合するステップは、
前記デジタル信号をデバイスアドレスコードと第１合成信号に分解するステップと、
前記第１合成信号を前記擬似コード列指示コードと前記擬似コード信号に分解するステップと、
前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかどうかを判定し、合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項４】
請求項２記載の方法において、前記擬似コード列指示コードに対応する擬似コード列を照合するステップは、
受信した擬似コード列指示コードに基づいて、合法であるかどうかを判定し、合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するが、非合法であると判定した場合、パスワードエラーが表示されるステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項５】
請求項４記載の方法において、前記方法は、
前記デバイスアドレスコードに基づいて、当該装置に対応するＩＤ情報を照合し、当該ＩＤ情報を復号化処理により受信されたＩＤ情報と照合し、照合の結果が同一であることを判定した場合、合法であることを判定して、当該ＩＤ情報を出力するステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項６】
請求項５記載の方法において、
前記方法は、合法であるＩＤ情報に基づいて対応する装置をコントロールするステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項７】
請求項４記載の方法において、受信した前記可視光信号をデジタル信号に変換して、さらに、前記デジタル信号を復調するステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項８】
請求項４記載の方法において、前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかどうかを判定するステップは、
前記擬似コード列指示コードが重複なしの昇順に並び替わる大きな数字である場合、前記デバイスアドレスコードに基づいて、既に受信した擬似コード列指示コードを照合して、前記擬似コード列指示コードが既に受信した擬似コード列指示コードより小さいか、又は等しい場合、無効と判定するが、そうでない場合、合法であると判定するステップ、又は、
前記擬似コード列指示コードが重複なしの降順に並び替わる大きな数字である場合、前記デバイスアドレスコードに基づいて、既に受信した擬似コード列指示コードを照合して、前記擬似コード列指示コードが既に受信した擬似コード列指示コードより大きいか、又は等しい場合、無効と判定するが、そうでない場合、合法であると判定するステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項９】
請求項２乃至８のいずれか１項に記載の方法において、前記擬似コード列に基づいて前記擬似コード信号を復号化するステップは、
前記擬似コード列と前記擬似コード信号に論理演算を行って、前記擬似コード信号を復号化するステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項１０】
請求項１記載の方法において、前記可視光信号に基づいて前記秘密キーの受信に用いる指示情報を受信するステップにて、前記指示情報は、
前記可視光信号に基づいて決定された前記送信端のクロック変動パラメータと前記受信端のクロック変動パラメータと、
前記送信端のクロック変動パラメータ及び前記受信端のクロック変動パラメータに基づいて決定された前記送信端のクロック遅れ・進み係数と、
前記送信端の前記クロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、更新された前記受信端のローカル記憶領域に記憶されている前記送信端のクロック情報であって、前記クロック情報は、前記秘密キーの受信に用いる指示情報であるクロック情報と、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項１１】
請求項１０記載の方法において、前記送信端のクロック変動パラメータは、前記送信端におけるシステムクロックの単位時間内に実際経過した時間であり、前記受信端のクロック変動パラメータは、前記受信端におけるシステムクロックの単位時間内に実際経過した時間であり、前記実際の経過時間は、両方とも前記受信端での水晶振動子の実行サイクルを単位にして計測されるものであることを特徴とする可視光信号の復号化処理方法。
【請求項１２】
請求項１１記載の方法において、前記送信端のクロック遅れ・進み係数は、前記単位時間内での前記受信端の実際の経過時間と前記単位時間内での送信端の実際の経過時間との割合であることを特徴とする可視光信号の復号化処理方法。
【請求項１３】
請求項１２記載の方法において、前記指定した時間は、前記受信端のシステムクロックの指定した時間であり、前記指定した時間間隔ごとに、前記受信端のローカル記憶領域に記憶されている前記送信端の前記クロック情報の誤差は、前記指定した時間から前記送信端のクロック遅れ・進み係数と前記指定した時間の積を引いた値であり、また、前記受信端のローカル記憶領域に記憶されている前記送信端の前記クロック情報を更新するステップは、ローカル記憶領域に記憶されている前記送信端の前記クロック情報から前記誤差を引くステップを備えるものであることを特徴とする可視光信号の復号化処理方法。
【請求項１４】
請求項１３記載の方法において、前記単位時間は、前記送信端から受信された前記可視光信号の１個の光パルスの公称持続時間であり、前記公称持続時間は、前記可視光信号の公称ボーレートの逆数であることを特徴とする可視光信号の復号化処理方法。
【請求項１５】
請求項１４記載の方法において、前記送信端のシステムクロックの単位時間内での実際の経過時間は、前記受信端の前記送信端から受信された可視光信号の１個の光パルスの持続時間を計測して得られ、また前記受信端の水晶振動子の実行サイクルを単位にして、Ｍ・Ｔ２システムと記載され、前記受信端のシステムクロックの前記単位時間内での実際の経過時間は、（Ｔ０公称・ｆ２公称）・Ｔ２システムとして計算され、また、Ｔ０公称は、前記可視光信号の１個の光パルスの公称持続時間、ｆ２公称は、前記受信端の水晶振動子の公称周波数、Ｔ２システムは、前記受信端の水晶振動子の実行サイクルであることを特徴とする可視光信号の復号化処理方法。
【請求項１６】
請求項１５記載の方法において、前記送信端から受信された前記可視光信号の１個の光パルスの持続時間を前記受信端で計測するステップは、
前記送信端から受信された前記可視光信号をデジタル信号に変換するステップと、
前記デジタル信号の１個のパルスの高レベル又は低レベルから前記高レベル又は低レベルまでの期間に、Ｔ２システムが何個行ったかカウントして、Ｍという数字が得られるステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項１７】
請求項１６記載の方法において、前記送信端から受信された前記可視光信号をデジタル信号に変換するステップは、
フォトダイオードによって前記可視光信号を電気パルスに変換するステップと、
前記フォトダイオードに流れる電流値が閾値よりも大きい場合、高い電圧レベルを出力するステップと、
前記フォトダイオードに流れる電流値が前記閾値よりも小さい場合、低い電圧レベルを出力するステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項１８】
請求項１７記載の方法において、前記閾値は、設定した数学モデルに基づいて、少なくとも前記受信端と前記送信端の間の距離により決めた値であることを特徴とする可視光信号の復号化処理方法。
【請求項１９】
請求項１０記載の方法において、さらに、それ以降、前記送信端から可視光信号を受信する都度、記憶されている前記送信端の前記クロック情報が更新されるまで、前記送信端のクロック変動パラメータと前記受信端のクロック変動パラメータの決定作業を繰り返すステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項２０】
請求項１９記載の方法において、それ以降、前記送信端から可視光信号を受信する都度、記憶されている前記送信端の前記クロック情報に基づいて、対応する擬似コード信号を選定して、受信した可視光信号を復号化処理するステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項２１】
請求項１０記載の方法において、前記受信端のローカル記憶領域に記憶されている前記送信端のクロック情報は、前記受信端が初回に前記送信端から可視光信号を受信した際に、その信号が前記送信端の識別子に関連付けられて記憶され、かつ前記受信端のその際のクロック情報として設定されるものであることを特徴とする可視光信号の復号化処理方法。
【請求項２２】
請求項１記載の方法において、受信端のステートマシン状態に対応する前記秘密キーを受信し、前記秘密キーに基づいて、前記可視光信号を復号化処理するステップは、
前記受信端のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップであって、前記可視光信号は、前記送信端のステートマシンの状態によって変化する秘密キーにて暗号化されるステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項２３】
請求項２２記載の方法において、前記受信端のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップは、
前記受信端のステートマシンの前記現在状態に対応する秘密キーを用いて前記可視光信号を復号化処理するステップと、
前記受信端のステートマシンの前記現在状態に対応する秘密キーを用いて前記可視光信号に復号化を行い、復号化に失敗した場合、続けて、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項２４】
請求項２３記載の方法において、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップは、
前記可視光信号の復号化に成功した、或いは、前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項２５】
請求項２４記載の方法において、前記可視光信号は通信データと前記送信端の識別子を含むことを特徴とする可視光信号の復号化処理方法。
【請求項２６】
請求項２５記載の方法において、前記送信端の前記識別子は暗号化されておらず、前記通信データは、前記送信端のステートマシン状態により変化する前記秘密キーで暗号化され、かつ前記受信端のローカル記憶領域に前記送信端の前記識別子と関連付けて記憶されている通信データであることを特徴とする可視光信号の復号化処理方法。
【請求項２７】
請求項２５又は請求項２６記載の方法において、さらに、
前記可視光信号から前記送信端の前記識別子を受信するステップと、
前記受信端のステートマシンの前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの前記状態に対応する秘密キーを用いて、前記可視光信号を復号化し、通信データが得られたステップであって、前記通信データは、前記受信端のローカル記憶領域に記憶されている、前記送信端の前記識別子に関連する通信データと同一であれば、前記の１つの状態に対応する秘密キーによる前記可視光信号の復号化が成功するが、そうでない場合、復号化が失敗するステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項２８】
請求項２７記載の方法において、前記通信データは利用者情報を含み、前記利用者情報はＩＤ情報、指紋、顔、虹彩、入力したパスワード、これらの２つ若しくは２つ以上の組み合わせを含む方法であって、
前記受信端のステートマシンの前記現在状態、及び前記現在状態の直前及び／又は直後の少なくとも１つの前記状態に対応する秘密キーを用いて、前記可視光信号を復号化し、復号化が１つも成功しなかった場合、前記可視光信号を非合法の信号として識別されるが、そうでない場合、前記可視光信号を合法な信号として識別されるステップをさらに備えたことを特徴とする可視光信号の復号化処理方法。
【請求項２９】
請求項２２記載の方法において、前記受信端のステートマシンの前記現在状態、及び前記現在状態の直前及び／又は直後の少なくとも１つの前記状態に対応する秘密キーを用いて、前記可視光信号を復号化するステップは、
前記可視光信号の復号化に成功した、或いは、前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応するすべての秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応する秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項３０】
請求項２２記載の方法において、前記の少なくとも１つの状態は、前記現在状態の直前に設定したＮ個の状態、及び現在状態の直後に設定したＮ個の状態を含むことを特徴とする可視光信号の復号化処理方法。
【請求項３１】
請求項２２記載の方法において、前記送信端のステートマシンの状態により変化する秘密キー、及び前記受信端のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーは経時変化する列であることを特徴とする可視光信号の復号化処理方法。
【請求項３２】
請求項２２記載の方法において、前記経時変化する列は擬似コード列であり、前記可視光信号をデジタル信号に変換するステップをさらに備え、前記復号化処理は、前記デジタル信号と擬似コード列の論理積、論理和、排他的論理和、又はこれらの２つ又は２つ以上の組み合わせを含むことを特徴とする可視光信号の復号化処理方法。
【請求項３３】
送信端から可視光信号を受信する受信装置であって、前記可視光信号は、前記送信端で秘密キーにて暗号化される受信装置と、
前記秘密キーを受信して、前記秘密キーにて前記可視光信号を復号化する復号化器とを有する通信装置であって、
前記秘密キーの受信は、受信端のステートマシン状態に対応する前記秘密キーを受信するステップ、又は、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップ、を備えたことを特徴とする通信装置。
【請求項３４】
請求項３３記載の装置において、
前記受信装置は可視光信号を受信して、デジタル信号を出力する可視光受信装置であり、
前記復号化器は、前記デジタル信号を擬似コード列指示コードと擬似コード信号に分解する擬似コード列指示コード分解ユニットと、擬似コード列指示コードに対応する擬似コード列を照合する擬似コード列照合ユニットであって、前記擬似コード列は前記秘密キーである擬似コード列照合ユニットと、前記擬似コード列と前記擬似コード信号に、論理演算を行い、論理演算結果を出力する畳み込み復号化器とを有することを特徴とする通信装置。
【請求項３５】
請求項３４記載の装置において、前記復号化器は、さらに、
前記デジタル信号をデバイスアドレスコードと第１合成信号に分解するデバイスアドレスコード分解ユニットと、
前記第１合成信号を擬似コード列指示コードと擬似コード信号に分解する前記擬似コード列指示コード分解ユニットと、
前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかを判定し、合法である場合、擬似コード列指示コードに対応する擬似コード列を照合する前記擬似コード列照合ユニットと、を備えたことを特徴とする通信装置。
【請求項３６】
請求項３４記載の装置において、
前記擬似コード列照合ユニットは、受信した擬似コード列指示コードが合法であるかを判定し、合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するが、非合法であると判定した場合、パスワードエラーが表示されることを特徴とする通信装置。
【請求項３７】
請求項３５記載の装置において、前記装置は、
前記デバイスアドレスコードに基づいて、対応するＩＤ情報を照合する照合ユニットと、前記畳み込み復号化器から出力したＩＤ情報と前記照合ユニットから出力したＩＤ情報を比較して、情報が同一である場合、合法であると判定し、合法的なＩＤ情報を出力するＩＤ判定装置と、を備えたことを特徴とする通信装置。
【請求項３８】
請求項３７記載の装置において、さらに、前記装置は、
受信したＩＤ情報に基づいて、対応する装置をコントロールする、前記ＩＤ判定装置に接続されている装置制御回路を備えたことを特徴とする通信装置。
【請求項３９】
請求項３５記載の装置において、さらに、前記装置は、
前記可視光受信端と前記デバイスアドレスコード分解ユニットの間に接続され、前記デジタル信号を復調する復調器を備えたことを特徴とする通信装置。
【請求項４０】
請求項３３記載の装置において、
送信装置から可視光信号を受信する受信装置であって、前記送信装置で、少なくとも前記送信装置のステートマシン状態により変化する前記秘密キーの少なくとも一部分を用いて、前記可視光信号が暗号化される受信装置と、
前記通信装置のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて、前記可視光信号を復号化する復号化器と、を備えたことを特徴とする通信装置。
【請求項４１】
請求項４０記載の装置において、前記復号化器は、前記通信装置のステートマシンの現在状態に対応する秘密キーを用いて前記可視光信号を復号化し、もし、復号化に失敗した場合は、続けて、前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号を復号化することを特徴とする通信装置。
【請求項４２】
請求項４１記載の装置において、前記復号化器は、前記可視光信号の復号化に成功した、或いは、前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すことを特徴とする通信装置。
【請求項４３】
請求項４０記載の装置において、前記復号化器は、前記可視光信号の復号化に成功した、或いは、前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態及び前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すことを特徴とする通信装置。
【請求項４４】
請求項３３記載の装置において、
前記受信装置は送信端から可視光信号を受信する受信装置であり、
前記復号化器は、前記送信端から受信された前記可視光信号に基づいて、前記送信端のクロック変動パラメータと前記通信装置のクロック変動パラメータを決定するクロック変動パラメータ決定モジュールと、前記送信端の前記クロック変動パラメータと前記通信装置の前記クロック変動パラメータに基づいて、前記送信端のクロック遅れ・進み係数を決定するクロック遅れ・進み係数決定モジュールと、前記送信端の前記クロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、前記通信装置のローカル記憶領域に記憶されている前記送信端のクロック情報を更新するクロック情報更新モジュールと、を備えたことを特徴とする通信装置。
【請求項４５】
請求項４４記載の装置において、前記送信端のクロック変動パラメータは、前記送信端におけるシステムクロックの単位時間内に実際経過した時間であり、前記通信装置のクロック変動パラメータは、前記通信装置におけるシステムクロックの単位時間内に実際経過した時間であり、前記実際の経過時間は、両方とも前記通信装置での水晶振動子の実行サイクルを単位にして計測されるものであることを特徴とする通信装置。
【請求項４６】
請求項４５記載の装置において、前記クロック遅れ・進み係数決定モジュールは、前記送信端のクロック遅れ・進み係数を、前記単位時間内での前記通信装置の実際の経過時間と前記単位時間内での送信端の実際の経過時間との割合に決定することを特徴とする通信装置。
【請求項４７】
請求項４６記載の装置において、前記指定した時間は、前記通信装置のシステムクロックの指定した時間であり、前記指定した時間間隔ごとに、前記通信装置のローカル記憶領域に記憶されている前記送信端の前記クロック情報の誤差は、前記指定した時間から前記送信端のクロック遅れ・進み係数と前記指定した時間の積を引いた値であり、また、前記クロック情報更新モジュールは、ローカル記憶領域に記憶されている前記送信端の前記クロック情報から前記誤差を引く手段を有することを特徴とする通信装置。
【請求項４８】
請求項４７記載の装置において、前記単位時間は、前記送信端から受信された前記可視光信号の１個の光パルスの公称持続時間であり、前記公称持続時間は、前記可視光信号の公称ボーレートの逆数であることを特徴とする通信装置。
【請求項４９】
請求項４８記載の装置において、前記送信端のシステムクロックの単位時間内での実際の経過時間は、前記クロック変動パラメータ決定モジュールが前記通信装置で前記送信端から受信された可視光信号の１個の光パルスの持続時間を計測して得られ、また前記通信装置の水晶振動子の実行サイクルを単位にして、Ｍ・Ｔ２システムと記載され、前記通信装置のシステムクロックの前記単位時間内での実際の経過時間は、（Ｔ０公称・ｆ２公称）・Ｔ２システムとして計算され、また、Ｔ０公称は、前記可視光信号の１個の光パルスの公称持続時間、ｆ２公称は、前記通信装置の水晶振動子の公称周波数、Ｔ２システムは、前記通信装置の水晶振動子の実行サイクルであることを特徴とする通信装置。
【請求項５０】
請求項４４記載の装置において、さらに、それ以降、前記送信端から可視光信号を受信する都度、記憶されている前記送信端の前記クロック情報に基づいて、対応する擬似コード信号を選定して、受信した可視光信号を復号化処理する復号化器を備えたことを特徴とする通信装置。
【請求項５１】
データを秘密キーにて暗号化するステップと、
前記暗号化したデータを可視光信号として送信するステップであって、前記秘密キーは、送信端のステートマシンの状態によって変化し、又は、前記可視光信号は前記秘密キーの受信に用いる指示情報を有するステップと、を備えたことを特徴とする可視光信号の暗号化方法。
【請求項５２】
請求項５１記載の方法において、前記可視光信号が前記指示情報を含む場合、前記データを使う前に、前記秘密キーを用いて暗号化し、前記暗号化データを前記可視光信号として発送するステップは、
生成した擬似コード列と前記データを符号化して、擬似コード信号を得るステップであって、前記擬似コード列は前記秘密キーであるステップと、
前記擬似コード列に対応する擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を得るステップと、
前記合成信号を可視光の形で発送するステップと、を備えたことを特徴とする可視光信号の暗号化方法。
【請求項５３】
請求項５２記載の方法において、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を受信して、前記合成信号を可視光の形で発送するステップは、
前記擬似コード列に対応する擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、第１合成信号を得るステップと、
前記第１合成信号のヘッダ部をデバイスアドレスコードと合成して、第２合成信号を得るステップと、
前記第２合成信号を可視光の形で発送するステップと、を備えたことを特徴とする可視光信号の暗号化方法。
【請求項５４】
請求項５３記載の方法において、前記第２合成信号を可視光の形で発送する前記ステップは、
前記第２合成信号を可視光の形で発送する前に、前記第２合成信号を変調するステップを備えたことを特徴とする可視光信号の暗号化方法。
【請求項５５】
請求項５３記載の方法において、前記擬似コード列指示コードは、信号の送信回数によって変化する、重複なしの昇順に並び替わる大きな数字であることを特徴とする可視光信号の暗号化方法。
【請求項５６】
データを秘密キーにて暗号化する暗号化装置と、
前記暗号化したデータを可視光信号として送信する送信ユニットであって、前記秘密キーは、送信端のステートマシンの状態によって変化するものであり、又は、前記可視光信号は前記秘密キーの受信に用いる指示情報を有する送信ユニットと、を備えたことを特徴とする通信装置。
【請求項５７】
請求項５６記載の装置において、
前記暗号化装置は、擬似コード列及び対応する擬似コード列指示コードを出力する擬似コード生成器と、前記擬似コード列と前記データに論理演算を行い、擬似コード信号を出力する畳み込み暗号化器と、前記擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を出力する擬似コード列指示コード合成ユニットであって、前記擬似コード列は前記秘密キーであり、前記擬似コード列指示コードは前記指示情報である擬似コード列指示コード合成ユニットと、を備え、
前記送信ユニットは、前記第２合成信号を可視光の形で発送することを特徴とする通信装置。
【請求項５８】
請求項５７記載の装置において、さらに、
前記擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、第１合成信号を出力する前記擬似コード列指示コード合成ユニットと、
前記第１合成信号のヘッダ部をデバイスアドレスコードと合成して、第２合成信号を出力するデバイスアドレスコード合成ユニットと、を備え、
前記送信ユニットは、前記第２合成信号を可視光の形で発送することを特徴とする通信装置。
【請求項５９】
請求項５８記載の装置において、さらに、前記デバイスアドレスコード処理ユニットと前記送信ユニットの間に接続され、前記第２合成信号を変調する変調器を有することを特徴とする通信装置。
【請求項６０】
請求項５６記載の装置において、前記送信ユニットは、ＬＥＤランプであることを特徴とする通信装置。
【請求項６１】
請求項５６記載の装置において、前記擬似コード列指示コードは、信号の送信回数によって変化する、重複なしの昇順に並び替わる大きな数字であることを特徴とする通信装置。
【請求項６２】
請求項５６乃至６１のいずれか１項に記載の前記通信装置及び請求項３３乃至５０のいずれか１項に記載の前記通信装置を有することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信の分野に関し、より具体的には、可視光の暗号化方法、復号化方法、通信装置及び通信システムに関する。
【背景技術】
【０００２】
従来、ＩｏＴ（Internet of Things：モノのインターネット）は、従来の通信技術を利用して、有線や無線のモノに通信機能を持たせ、インターネットへの接続や相互通信を可能にする。最近、様々な場所で可視光を利用して、近距離通信が行えるＩｏＴ技術が十分活用されている。この可視光通信技術を用いたＩｏＴは、可視光通信によるＩｏＴと呼ばれている。この可視光通信によるＩｏＴは可視光通信の通信方式を利用するほか、機能も従来のＩｏＴと同じである。
【０００３】
指向性が非常に高く、また障害物に遮られる可視光は、無線通信方式より安全性が高まっているので、可視光通信によるＩｏＴなども可視光を利用して近距離通信を行われるようになっている。現在、可視光通信によるＩｏＴは既に暗号化及び復号化を同時に行う可視光通信システムを利用している。この可視光通信システムは、可視光の送信機と受信機より同期方式で、同様にまた経時変化する擬似コード列を用いて、暗号化と復号化を行われるものである。暗号化／復号化機能を可視光通信に持たせることによりハイスピードカメラで撮影・コピーしたストロボ信号（高頻度で点滅する信号を指す）が失効することとなり、受信機に識別されなくなり、安全上の問題を適切に解決することができる。
【０００４】
これは、ハンドシェイクという同期方式で暗号化と復号化を同時に行う可視光通信システムである。ハンドシェイクという同期方式は、送信機において、光信号とベースバンドデータをそれぞれスクランブル処理し、１組の信号を合成してから変調して送信するものである。受信機において、前記信号を受信・復調した後、その中の暗号化された光信号に対して、擬似コードの判定が行われ、またトラバーサルクエリーにて暗号化処理に用いる擬似コード列を選定し、そしてベースバンドデータを復号化し、ＩＤ判定器にて復号化したＩＤ及び対応するレジスタに記憶されているＩＤ情報を判定し、信号が合法なものか違法にコピーされたものかを最終的に決定して、復号化を行い、作業を終了する。
【０００５】
送信機における暗号化処理に用いる擬似コード列は、受信機における復号化処理に用いる擬似コード列と同様にかつ経時変化するものであるので、前記の同期可視光通信システムでは、可視光の送信機と可視光の受信機の時間変化が同じでなければならない、すなわち、送信機と受信機の内部クロックの時間が、誤差が無視できるほど小さくて、まったく同じでなければならない。但し、現在使っている水晶振動子は、使用する時間が長ければ長いほど、両装置の時間差が大きくなり、同期情報もなくなり、送信機と受信機の状態変化が同一にならないような問題が起こる可能性が高い。つまり、両装置に使われている擬似コード列は、片方が変わったのに、もう片方が、変化する時間になっていないことで元の擬似コード列をそのままに使うため、復号化処理に失敗する。
【０００６】
なお、同期の暗号化処理は、送信機と受信機の時間同期が必要である。片方の電源が切れた場合、その同期情報もなくなる。再度電源を入れて同期情報を得るには、リセット信号で電源が切れていないもう片方に再同期させなければならない。こうすると、システムが複雑化するばかりでなく、使用の不便をもたらす問題がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の実施の形態は、可視光の暗号化・復号化による復号化失敗の問題を解決するもので、可視光の暗号化方法、復号化方法、通信装置及び通信システムを提供するものである。
【課題を解決するための手段】
【０００８】
本発明の実施例の一側面によれば、可視光信号の復号化方法を提供可能となる。本実施例の可視光信号の復号化方法は、送信端から可視光信号を受信する手段であって、前記可視光信号は、前記送信端で秘密キーにて暗号化される手段と、前記秘密キーを受信して、前記秘密キーにて前記可視光信号を復号化する手段と、を有する可視光信号の復号化方法であって、前記秘密キーの受信は、受信端のステートマシン状態に対応する前記秘密キーを受信するステップ、又は、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップ、を備えるものである。
【０００９】
さらに、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップは、受信した前記可視光信号をデジタル信号に変換するステップと、前記デジタル信号を擬似コード列指示コードと擬似コード信号を有する信号に分解するステップと、前記擬似コード列指示コードに対応する擬似コード列を照合するステップであって、前記擬似コード列が前記秘密キーであるステップと、前記擬似コード列に基づいて前記擬似コード信号を復号化するステップと、を備えるものである。
【００１０】
さらに、前記デジタル信号を擬似コード列指示コードと擬似コード信号を有する信号に分解し、前記擬似コード列指示コードに対応する擬似コード列を照合するステップは、前記デジタル信号をデバイスアドレスコードと第１合成信号に分解するステップと、前記第１合成信号を前記擬似コード列指示コードと前記擬似コード信号に分解するステップと、前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかどうかを判定し、合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するステップと、を備えるものである。
【００１１】
さらに、前記擬似コード列指示コードに対応する擬似コード列を照合するステップは、受信した擬似コード列指示コードに基づいて、合法であるかどうかを判定し、合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するが、非合法であると判定した場合、パスワードエラーが表示されるステップを備えるものである。
【００１２】
さらに、前記方法は、前記デバイスアドレスコードに基づいて、当該装置に対応するＩＤ情報を照合し、当該ＩＤ情報を復号化処理により受信されたＩＤ情報と照合し、照合の結果が同一であることを判定した場合、合法であることを判定して、当該ＩＤ情報を出力するステップを備えるものである。
【００１３】
さらに、前記方法は、合法であるＩＤ情報に基づいて対応する装置をコントロールするステップを備えるものである。
【００１４】
さらに、受信した前記可視光信号をデジタル信号に変換して、さらに、前記デジタル信号を復調するステップを備えるものである。
【００１５】
さらに、前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかどうかを判定するステップは、前記擬似コード列指示コードが重複なしの昇順に並び替わる大きな数字である場合、前記デバイスアドレスコードに基づいて、既に受信した擬似コード列指示コードを照合して、前記擬似コード列指示コードが既に受信した擬似コード列指示コードより小さいか、又は等しい場合、無効と判定するが、そうでない場合、合法であると判定するステップ、又は、前記擬似コード列指示コードが重複なしの降順に並び替わる大きな数字である場合、前記デバイスアドレスコードに基づいて、既に受信した擬似コード列指示コードを照合して、前記擬似コード列指示コードが既に受信した擬似コード列指示コードより大きいか、又は等しい場合、無効と判定するが、そうでない場合、合法であると判定するステップを備えるものである。
【００１６】
さらに、前記擬似コード列に基づいて前記擬似コード信号を復号化するステップは、前記擬似コード列と前記擬似コード信号に論理演算を行って、前記擬似コード信号を復号化するステップを備えるものである。
【００１７】
さらに、前記可視光信号に基づいて前記秘密キーの受信に用いる指示情報を受信するステップにて、前記指示情報は、前記可視光信号に基づいて決定された前記送信端のクロック変動パラメータと前記受信端のクロック変動パラメータと、前記送信端のクロック変動パラメータ及び前記受信端のクロック変動パラメータに基づいて決定された前記送信端のクロック遅れ・進み係数と、前記送信端の前記クロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、更新された前記受信端のローカル記憶領域に記憶されている前記送信端のクロック情報であって、前記クロック情報は、前記秘密キーの受信に用いる指示情報であるクロック情報と、を有するものである。
【００１８】
さらに、前記送信端のクロック変動パラメータは、前記送信端におけるシステムクロックの単位時間内に実際経過した時間であり、前記受信端のクロック変動パラメータは、前記受信端におけるシステムクロックの単位時間内に実際経過した時間を指す。前記実際の経過時間は、両方とも前記受信端での水晶振動子の実行サイクルを単位にして計測されるものである。
【００１９】
さらに、前記送信端のクロック遅れ・進み係数は、前記単位時間内での前記受信端の実際の経過時間と前記単位時間内での送信端の実際の経過時間との割合である。
【００２０】
さらに、前記指定した時間は、前記受信端のシステムクロックの指定した時間である。前記指定した時間間隔ごとに、前記受信端のローカル記憶領域に記憶されている前記送信端の前記クロック情報の誤差は、前記指定した時間から前記送信端のクロック遅れ・進み係数と前記指定した時間の積を引いた値となる。また、前記受信端のローカル記憶領域に記憶されている前記送信端の前記クロック情報を更新するステップは、ローカル記憶領域に記憶されている前記送信端の前記クロック情報から前記誤差を引くステップを備えるものである。
【００２１】
さらに、前記単位時間は、前記送信端から受信された前記可視光信号の１個の光パルスの公称持続時間である。前記公称持続時間は、前記可視光信号の公称ボーレートの逆数である。
【００２２】
さらに、前記送信端のシステムクロックの単位時間内での実際の経過時間は、前記受信端の前記送信端から受信された可視光信号の１個の光パルスの持続時間を計測して得られ、また前記受信端の水晶振動子の実行サイクルを単位にして、Ｍ・Ｔ２システムと記載される。また、前記受信端のシステムクロックの前記単位時間内での実際の経過時間は、（Ｔ０公称・ｆ２公称）・Ｔ２システムとして計算される。また、Ｔ０公称は、前記可視光信号の１個の光パルスの公称持続時間、ｆ２公称は、前記受信端の水晶振動子の公称周波数、Ｔ２システムは、前記受信端の水晶振動子の実行サイクルである。
【００２３】
さらに、前記送信端から受信された前記可視光信号の１個の光パルスの持続時間を前記受信端で計測するステップは、前記送信端から受信された前記可視光信号をデジタル信号に変換するステップと、前記デジタル信号の１個のパルスの高レベル又は低レベルから前記高レベル又は低レベルまでの期間に、Ｔ２システムが何個行ったかカウントして、Ｍという数字が得られるステップと、を備えるものである。
【００２４】
さらに、前記送信端から受信された前記可視光信号をデジタル信号に変換するステップは、フォトダイオードによって前記可視光信号を電気パルスに変換するステップと、前記フォトダイオードに流れる電流値が閾値よりも大きい場合、高い電圧レベルを出力するステップと、前記フォトダイオードに流れる電流値が前記閾値よりも小さい場合、低い電圧レベルを出力するステップと、を備えるものである。
【００２５】
さらに、前記閾値は、設定した数学モデルに基づいて、少なくとも前記受信端と前記送信端の間の距離により決めた値である。
【００２６】
さらに、それ以降、前記送信端から可視光信号を受信する都度、記憶されている前記送信端の前記クロック情報が更新されるまで、前記送信端のクロック変動パラメータと前記受信端のクロック変動パラメータの決定作業を繰り返すステップを備えるものである。
【００２７】
さらに、それ以降、前記送信端から可視光信号を受信する都度、記憶されている前記送信端の前記クロック情報に基づいて、対応する擬似コード信号を選定して、受信した可視光信号を復号化処理するステップを備える。
【００２８】
さらに、前記受信端のローカル記憶領域に記憶されている前記送信端のクロック情報は、前記受信端が初回に前記送信端から可視光信号を受信した際に、その信号が前記送信端の識別子に関連付けられて記憶され、かつ前記受信端のその際のクロック情報として設定されるものである。
【００２９】
さらに、受信端のステートマシン状態に対応する前記秘密キーを受信し、前記秘密キーに基づいて、前記可視光信号を復号化処理するステップは、前記受信端のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップであって、前記可視光信号は、前記送信端のステートマシンの状態によって変化する秘密キーにて暗号化されるステップを備えるものである。
【００３０】
さらに、前記受信端のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップは、前記受信端のステートマシンの前記現在状態に対応する秘密キーを用いて前記可視光信号を復号化処理するステップと、前記受信端のステートマシンの前記現在状態に対応する秘密キーを用いて前記可視光信号に復号化を行い、復号化に失敗した場合、続けて、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップと、を備えるものである。
【００３１】
さらに、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップは、前記可視光信号の復号化に成功した、或いは、前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応するすべての秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応する秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すステップを備えるものである。
【００３２】
さらに、前記可視光信号は通信データと前記送信端の識別子を含む。
【００３３】
さらに、前記送信端の前記識別子は暗号化されておらず、前記通信データは、前記送信端のステートマシン状態により変化する前記秘密キーで暗号化され、かつ前記受信端のローカル記憶領域に前記送信端の前記識別子と関連付けて記憶されてる通信データである。
【００３４】
さらに、前記可視光信号から前記送信端の前記識別子を受信するステップと、前記受信端のステートマシンの前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの前記状態に対応する秘密キーを用いて、前記可視光信号を復号化し、通信データが得られたステップであって、前記通信データは、前記受信端のローカル記憶領域に記憶されている、前記送信端の前記識別子に関連する通信データと同一であれば、前記の１つの状態に対応する秘密キーによる前記可視光信号の復号化が成功するが、そうでない場合、復号化が失敗するステップと、を備えるものである。
【００３５】
さらに、前記通信データは利用者情報を含み、前記利用者情報はＩＤ情報、指紋、顔、虹彩、入力したパスワード、これらの２つ若しくは２つ以上の組み合わせを含む方法であって、前記受信端のステートマシンの前記現在状態、及び前記現在状態の直前及び／又は直後の少なくとも１つの前記状態に対応する秘密キーを用いて、前記可視光信号を復号化し、復号化が１つも成功しなかった場合、前記可視光信号を非合法の信号として識別されるが、そうでない場合、前記可視光信号を合法な信号として識別されるステップを備えるものである。
【００３６】
さらに、前記受信端のステートマシンの前記現在状態、及び前記現在状態の直前及び／又は直後の少なくとも１つの前記状態に対応する秘密キーを用いて、前記可視光信号を復号化するステップは、前記可視光信号の復号化に成功した、或いは、前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応するすべての秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応する秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すステップを備えるものである。
【００３７】
さらに、前記の少なくとも１つの状態は、前記現在状態の直前に設定したＮ個の状態、及び現在状態の直後に設定したＮ個の状態を含む。
【００３８】
さらに、前記送信端のステートマシンの状態により変化する秘密キー、及び前記受信端のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーは経時変化する列である。
【００３９】
さらに、前記経時変化する列は擬似コード列であり、前記可視光信号をデジタル信号に変換するステップをさらに備え、前記復号化処理は、前記デジタル信号と擬似コード列の論理積、論理和、排他的論理和、又はこれらの２つ又は２つ以上の組み合わせを含む。
【００４０】
本発明の一実施例によれば、通信装置を提供可能となる。本実施例の通信装置は、送信端から可視光信号を受信する受信装置であって、前記可視光信号は、前記送信端で秘密キーにて暗号化される受信装置と、前記秘密キーを受信して、前記秘密キーにて前記可視光信号を復号化する復号化器とを有する通信装置であって、前記秘密キーの受信は、受信端のステートマシン状態に対応する前記秘密キーを受信するステップ、又は、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップ、を備えるものである。
【００４１】
さらに、前記受信装置は可視光信号を受信して、デジタル信号を出力する可視光受信装置であり、前記復号化器は、前記デジタル信号を擬似コード列指示コードと擬似コード信号に分解する擬似コード列指示コード分解ユニットと、擬似コード列指示コードに対応する擬似コード列を照合する擬似コード列照合ユニットであって、前記擬似コード列は前記秘密キーである擬似コード列照合ユニットと、前記擬似コード列と前記擬似コード信号に、論理演算を行い、論理演算結果を出力する畳み込み復号化器とを備えるものである。
【００４２】
さらに、前記復号化器は、前記デジタル信号をデバイスアドレスコードと第１合成信号に分解するデバイスアドレスコード分解ユニットと、前記第１合成信号を擬似コード列指示コードと擬似コード信号に分解する前記擬似コード列指示コード分解ユニットと、前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかを判定し、合法である場合、擬似コード列指示コードに対応する擬似コード列を照合する前記擬似コード列照合ユニットと、を備えるものである。
【００４３】
さらに、前記擬似コード列照合ユニットは、受信した擬似コード列指示コードが合法であるかを判定し、合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するが、非合法であると判定した場合、パスワードエラーが表示される。
【００４４】
さらに、前記装置は、前記デバイスアドレスコードに基づいて、対応するＩＤ情報を照合する照合ユニットと、前記畳み込み復号化器から出力したＩＤ情報と前記照合ユニットから出力したＩＤ情報を比較して、情報が同一である場合、合法であると判定し、合法的なＩＤ情報を出力するＩＤ判定装置と、を備えるものである。
【００４５】
さらに、前記装置は、受信したＩＤ情報に基づいて、対応する装置をコントロールする、前記ＩＤ判定装置に接続されている装置制御回路を備えるものである。
【００４６】
さらに、前記装置は、前記可視光受信端と前記デバイスアドレスコード分解ユニットの間に接続され、前記デジタル信号を復調する復調器を備えるものである。
【００４７】
さらに、送信装置から可視光信号を受信する受信装置であって、前記送信装置で、少なくとも前記送信装置のステートマシン状態により変化する前記秘密キーの少なくとも一部分を用いて、前記可視光信号が暗号化される受信装置と、前記通信装置のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて、前記可視光信号を復号化する復号化器と、を備える。
【００４８】
さらに、前記復号化器は、前記通信装置のステートマシンの現在状態に対応する秘密キーを用いて前記可視光信号を復号化し、もし、復号化に失敗した場合は、続けて、前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号を復号化する。
【００４９】
さらに、前記復号化器は、前記可視光信号の復号化に成功した、或いは、前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返す。
【００５０】
さらに、前記復号化器は、前記可視光信号の復号化に成功した、或いは、前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態及び前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返す。
【００５１】
さらに、前記受信装置は送信端から可視光信号を受信する受信装置である。前記復号化器は、前記送信端から受信された前記可視光信号に基づいて、前記送信端のクロック変動パラメータと前記通信装置のクロック変動パラメータを決定するクロック変動パラメータ決定モジュールと、前記送信端の前記クロック変動パラメータと前記通信装置の前記クロック変動パラメータに基づいて、前記送信端のクロック遅れ・進み係数を決定するクロック遅れ・進み係数決定モジュールと、前記送信端の前記クロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、前記通信装置のローカル記憶領域に記憶されている前記送信端のクロック情報を更新するクロック情報更新モジュールと、を備えるものである。
【００５２】
さらに、前記送信端のクロック変動パラメータは、前記送信端におけるシステムクロックの単位時間内に実際経過した時間であり、前記通信装置のクロック変動パラメータは、前記通信装置におけるシステムクロックの単位時間内に実際経過した時間を指す。前記実際の経過時間は、両方とも前記通信装置での水晶振動子の実行サイクルを単位にして計測されるものである。
【００５３】
さらに、前記クロック遅れ・進み係数決定モジュールは、前記送信端のクロック遅れ・進み係数を、前記単位時間内での前記通信装置の実際の経過時間と前記単位時間内での送信端の実際の経過時間との割合に決定するものである。
【００５４】
さらに、前記指定した時間は、前記通信装置のシステムクロックの指定した時間である。前記指定した時間間隔ごとに、前記通信装置のローカル記憶領域に記憶されている前記送信端の前記クロック情報の誤差は、前記指定した時間から前記送信端のクロック遅れ・進み係数と前記指定した時間の積を引いた値となる。また、前記クロック情報更新モジュールは、ローカル記憶領域に記憶されている前記送信端の前記クロック情報から前記誤差を引く手段を有するものである。
【００５５】
さらに、前記単位時間は、前記送信端から受信された前記可視光信号の１個の光パルスの公称持続時間である。前記公称持続時間は、前記可視光信号の公称ボーレートの逆数である。
【００５６】
さらに、前記送信端のシステムクロックの単位時間内での実際の経過時間は、前記クロック変動パラメータ決定モジュールが前記通信装置で前記送信端から受信された可視光信号の１個の光パルスの持続時間を計測して得られ、また前記通信装置の水晶振動子の実行サイクルを単位にして、Ｍ・Ｔ２システムと記載される。また、前記通信装置のシステムクロックの前記単位時間内での実際の経過時間は、（Ｔ０公称・ｆ２公称）・Ｔ２システムとして計算される。また、Ｔ０公称は、前記可視光信号の１個の光パルスの公称持続時間、ｆ２公称は、前記通信装置の水晶振動子の公称周波数、Ｔ２システムは、前記通信装置の水晶振動子の実行サイクルである。
【００５７】
さらに、それ以降、前記送信端から可視光信号を受信する都度、記憶されている前記送信端の前記クロック情報に基づいて、対応する擬似コード信号を選定して、受信した可視光信号を復号化処理する復号化器を備えるものである。
【００５８】
本発明の実施例のもう１つの観点によれば、可視光信号の暗号化方法を提供可能となる。本実施例の可視光信号の暗号化方法は、データを秘密キーにて暗号化するステップと、前記暗号化したデータを可視光信号として送信するステップであって、前記秘密キーは、送信端のステートマシンの状態によって変化し、又は、前記可視光信号は前記秘密キーの受信に用いる指示情報を有するステップと、を備えるものである。
【００５９】
さらに、前記可視光信号が前記指示情報を含む場合、前記データを使う前に、前記秘密キーを用いて暗号化し、前記暗号化データを前記可視光信号として発送するステップは、生成した擬似コード列と前記データを符号化して、擬似コード信号を得るステップであって、前記擬似コード列は前記秘密キーであるステップと、前記擬似コード列に対応する擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を得るステップと、前記合成信号を可視光の形で発送するステップと、を備えるものである。
【００６０】
さらに、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を受信して、前記合成信号を可視光の形で発送するステップは、前記擬似コード列に対応する擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、第１合成信号を得るステップと、前記第１合成信号のヘッダ部をデバイスアドレスコードと合成して、第２合成信号を得るステップと、前記第２合成信号を可視光の形で発送するステップと、を備えるものである。
【００６１】
さらに、前記第２合成信号を可視光の形で発送する前記ステップは、前記第２合成信号を可視光の形で発送する前に、前記第２合成信号を変調するステップを備えるものである。
【００６２】
さらに、前記擬似コード列指示コードは、信号の送信回数によって変化する、重複なしの昇順に並び替わる大きな数字である。
【００６３】
本発明の実施例の一側面によれば、通信装置を提供可能となる。本実施例の通信装置は、データを秘密キーにて暗号化する暗号化装置と、前記暗号化したデータを可視光信号として送信する送信ユニットであって、前記秘密キーは、送信端のステートマシンの状態によって変化するものであり、又は、前記可視光信号は前記秘密キーの受信に用いる指示情報を有する送信ユニットと、を備えるものである。
【００６４】
さらに、前記暗号化装置は、擬似コード列と対応する擬似コード列指示コードを出力する擬似コード生成器と、前記擬似コード列と前記データに論理演算を行い、擬似コード信号を出力する畳み込み暗号化器と、前記擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を出力する擬似コード列指示コード合成ユニットであって、前記擬似コード列は前記秘密キーであり、前記擬似コード列指示コードは前記指示情報である擬似コード列指示コード合成ユニットとを備え、前記送信ユニットは、前記第２合成信号を可視光の形で発送する。
【００６５】
さらに、前記擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、第１合成信号を出力する前記擬似コード列指示コード合成ユニットと、前記第１合成信号のヘッダ部をデバイスアドレスコードと合成して、第２合成信号を出力するデバイスアドレスコード合成ユニットとを備え、前記送信ユニットは、前記第２合成信号を可視光の形で発送する。
【００６６】
さらに、前記通信装置は、さらに前記デバイスアドレスコード処理ユニットと前記送信ユニットの間に接続され、前記第２合成信号を変調する変調器を有する。
【００６７】
前記送信ユニットは、ＬＥＤランプであることが望ましい。
【００６８】
さらに、前記擬似コード列指示コードは、信号の送信回数によって変化する、重複なしの昇順に並び替わる大きな数字である。
【００６９】
本発明の実施例の一側面によれば、通信システムを提供可能となる。本実施例の通信システムは、前記通信装置を備えるものである。
【発明の効果】
【００７０】
本発明によれば、可視光の暗号化・復号化における復号化できない問題を解決することが可能で、復号化精度が向上される。
【００７１】
ここに添付している図面は、発明の概要をよく理解するために出願書類の一部として提出されたものである。本発明を適用した実施例とその説明は本発明を説明するためのものであり、本発明が限定されてはならない。添付する図面は次のとおりとする。
【図面の簡単な説明】
【００７２】
【図ａ１】本発明の実施例に関する非対称暗号化による可視光通信方法の流れを説明するためのフローチャートである。
【図ａ２】本発明の実施例に関する非対称暗号化による可視光通信システム送信端の構成を説明するためのブロック図である。
【図ａ３】本発明の実施例に関する非対称暗号化による可視光通信システム受信端の構成を説明するためのブロック図である。
【図ａ４】本発明の実施例に関する送信信号の構成を説明するためのブロック図である。
【図ｂ１】本発明の実施例に関する複数ユーザによる非対称暗号化の送信装置の構成を説明するためのブロック図である。
【図ｂ２】本発明の実施例に関する複数ユーザによる非対称暗号化の受信装置の構成を説明するためのブロック図である。
【図ｂ３】本発明の実施例に関する複数ユーザによる非対称暗号化の送信方法の流れを説明するためのフローチャートである。
【図ｂ４】本発明の実施例に関する複数ユーザによる非対称暗号化の受信方法の流れを説明するためのフローチャートである。
【図ｂ５】本発明の実施例に関する第２合成データのデータ構成を説明するためのブロック図である。
【図ｃ１】本発明に関する可視光通信システムの実現方法を説明するためのブロック図である。
【図ｃ２】図ｃ１に示す可視光通信システムでの暗号化・復号化の処理の流れを示すフローチャートである。
【図ｃ３】図ｃ１に示す可視光通信システムでの送信端及び受信端の状態の経時変化を示す図である。
【図ｃ４】可視光通信システムに関する効率的な復号化方法の流れを説明するためのフローチャートである。
【図ｃ５】通信装置を説明するためのブロック図である。
【図ｃ６】通信装置を説明するためのブロック図である。
【図ｄ１】本発明に関する可視光通信システムの実現方法を説明するためのブロック図である。
【図ｄ２】図ｄ１に示す可視光通信システムでの暗号化・復号化の処理の流れを示すフローチャートである。
【図ｄ３】図ｄ１に示す可視光通信システムでの送信端及び受信端の状態の経時変化を示す図である。
【図ｄ４】本発明の一側面に関する可視光通信システムにおけるクロックの自動調節方法を説明するためのフローチャートである。
【図ｄ５】本発明の一側面に関する通信装置を説明するためのブロック図である。
【図ｄ６】本発明の一側面に関する通信装置を説明するためのブロック図である。
【発明を実施するための形態】
【００７３】
以下、図面を参照して、実施例を挙げながら本発明を適用した実施の形態について詳しく説明する。特に知っておきたいのは、食い違いが生じない限り、本出願の実施例とその技術的特徴を適宜に組み合わて、種々の発明を形成することができることである。
【００７４】
後述する実施例は、以下の可視光信号の復号化方法を提供する。すなわち、前記可視光信号が送信端で秘密キーにて暗号化される手段と、前記秘密キーを受信して、前記秘密キーにて前記可視光信号を復号化する手段と、を有する可視光信号の復号化処理方法であって、前記秘密キーの受信は、受信端のステートマシン状態に対応する前記秘密キーを受信するステップ、又は、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップ、を備えるものである。
【００７５】
上記のステップによれば、ステートマシンの状態に対応する秘密キー、又は、指示情報を用いて受信端を指定する秘密キーが利用されているので、関連技術における復号化できない問題を解決することができる。
【００７６】
さらに、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップは、受信した前記可視光信号をデジタル信号に変換するステップと、前記デジタル信号を擬似コード列指示コードと擬似コード信号を有する信号に分解するステップと、前記擬似コード列指示コードに対応する擬似コード列を照合するステップであって、前記擬似コード列が前記秘密キーであるステップと、前記擬似コード列に基づいて前記擬似コード信号を復号化するステップと、を備えるものである。
【００７７】
さらに、前記デジタル信号を擬似コード列指示コードと擬似コード信号を有する信号に分解し、前記擬似コード列指示コードに対応する擬似コード列を照合するステップは、前記デジタル信号をデバイスアドレスコードと第１合成信号に分解するステップと、前記第１合成信号を前記擬似コード列指示コードと前記擬似コード信号に分解するステップと、前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかどうかを判定し、合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するステップと、を備えるものである。
【００７８】
後述する実施例は以下の通信装置を提供する。この通信装置は、送信端から可視光信号を受信する受信装置であって、前記可視光信号は、前記送信端で秘密キーにて暗号化される受信装置と、前記秘密キーを受信して、前記秘密キーにて前記可視光信号を復号化する復号化器と、を有する通信装置であって、前記秘密キーの受信は、受信端のステートマシン状態に対応する前記秘密キーを受信するステップ、又は、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップ、を備えるものである。
【００７９】
後述する実施例は以下の可視光信号の暗号化方法を提供する。この可視光信号の暗号化方法は、秘密キーでデータを暗号化するステップと、暗号化された当該データを可視光信号として発送するステップであって、前記秘密キーは、送信端のステートマシンの状態により変化し、又は、前記可視光信号は前記秘密キーの受信に用いる指示情報を有するステップと、を備えるものである。
【００８０】
前記暗号化方法において、指示情報を有する光信号、又は、ステートマシンの状態に対応する秘密キーが利用されているので、関連技術における復号化できない問題を解決することができる。
【００８１】
さらに、前記可視光信号に前記指示情報がある場合、前記秘密キーで当該データを暗号化し、暗号化された当該データを前記可視光信号として発送するステップは、生成された擬似コード列と前記データを符号化して、擬似コード信号を得るステップであって、前記擬似コード列は前記秘密キーであるステップと、前記擬似コード列に対応する擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を得るステップと、前記合成信号を可視光の形で発送するステップと、を備えるものである。
【００８２】
さらに、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を得て、前記合成信号を可視光の形で発送するステップは、前記擬似コード列に対応する擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、第１合成信号を得るステップと、前記第１合成信号のヘッダ部をデバイスアドレスコードと合成して、第２合成信号を得るステップと、前記第２合成信号を可視光の形で発送するステップと、を備えるものである。
【００８３】
後述する実施例は以下の通信装置を提供する。この通信装置は、秘密キーでデータを暗号化する暗号化装置と、暗号化された当該データを可視光信号として発送する送信ユニットであって、前記秘密キーは、送信端のステートマシンの状態により変化するものであり、又は、前記可視光信号は前記秘密キーの受信に用いる指示情報を有する送信ユニットと、を備えるものである。
【００８４】
さらに、前記暗号化装置は、擬似コード列及び対応する擬似コード列指示コードを出力する擬似コード生成器と、前記擬似コード列と前記データに論理演算を行い、擬似コード信号を出力する畳み込み暗号化器と、前記擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、前記擬似コード列指示コードと前記擬似コード信号を含む合成信号を出力する擬似コード列指示コード合成ユニットであって、前記擬似コード列は前記秘密キーであり、前記擬似コード列指示コードは前記指示情報である擬似コード列指示コード合成ユニットとを備え、前記送信ユニットは、前記第２合成信号を可視光の形で発送するものである。
【００８５】
さらに、前記擬似コード列指示コード合成ユニットは、前記擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、第１合成信号を出力する。前記装置は、さらに、前記第１合成信号のヘッダ部をデバイスアドレスコードと合成して、第２合成信号を出力するデバイスアドレスコード合成ユニットを有するものである。この場合、前記送信ユニットは、前記第２合成信号を可視光の形で発送する。
【００８６】
以下、上記の４つの最適な実施例を説明する。また、上記に開示されている４つの構成要素の適宜な組み合わせにより、種々の発明を形成できる。
【００８７】
実施例１
図ａ１は、本発明の実施例に関する非対称暗号化による可視光通信方法の流れを説明するためのフローチャートである。図ａ１に示すように、非対称暗号化による可視光通信方法は、以下に示す複数のステップで構成される。
【００８８】
ステップＳ１において、ベースバンドデータと擬似コード生成器１０１から生成された擬似コード列が畳み込み暗号化器１０２の論理演算によって、暗号化されたデータを得られ（例えば、前記データはＩＤデータ、暗号化されたデータは擬似コード信号であってもよいが、以下、ＩＤデータを例として説明する）、前記暗号化されたＩＤデータを擬似コード列指示コード処理ユニット１０３に発送し、また擬似コード列指示コードと合成してから変調器１０４に発送して、信号の変調を行う。
【００８９】
ステップＳ２において、変調された信号が、ＬＥＤ１０５に発送される。ＬＥＤ１０５は、変調された信号を高速点滅する可視光信号の形で可視光受信器に送信する。
【００９０】
ステップＳ３において、可視光受信器２０１は高速点滅する可視光信号を二進法のデジタル信号に変換し、復調器２０２に発送して、復調する。復調器２０２は、復調された信号を擬似コード列指示コード処理ユニット２０３に発送する。
【００９１】
ステップＳ４において、擬似コード列指示コード処理ユニット２０３は、復調された信号を擬似コード列指示コードと暗号化ＩＤデータの２つに分離して、擬似コード列指示コードを擬似コード列照合ユニット２０４、暗号化ＩＤデータを畳み込み復号化器２０５に発送する。
【００９２】
ステップＳ５において、擬似コード列照合ユニット２０４は、受信した擬似コード列指示コードに基づいて、合法かどうかを判定する。判定結果が、合法である場合、対応する擬似コード列を照合して、擬似コード列を畳み込み復号化器２０５に発送する。判定結果が非合法である場合、パスワードエラーが表示される。
【００９３】
ステップＳ６において、暗号化ＩＤデータと照合により得られた擬似コード列は、畳み込み復号化器２０５のＸＯＲ演算によって、復号化されたＩＤデータが得られ、そのデータをＩＤ判定器２０６に発送する。
【００９４】
ステップＳ７において、初期データは、数字で表現されたものであり、ベースバンドデータとも称する。本実施例の最適実施形態では、初期データは、主にＩＤデータから構成される。ＩＤデータは、ユーザ毎に与えられている唯一の識別コードである。受信端の装置制御回路２０７は、復号化されたＩＤデータに基づいて、特定権限を持っているかを判定し、装置の制御が必要かどうかを決定する。
【００９５】
擬似コード列は、擬似コード生成器から生成された１組の二進数の数字であって、ＰＮコード、Ｔｕｒｂｏコード、Ｗａｌｓｈコード、Ｂａｒｋｅｒコードなどの数字列でも、利用者の設定した二進数の数字列として使ってもよい。
【００９６】
擬似コード列指示コードは、自然数であって、対応するユニットのステートマシンの状態を表し、送信端と受信端に対して、どのセットの擬似コード列を使って、暗号化及び復号化の動作指定を行うかを示すものである。例えば、擬似コード列指示コードが、二進数の０００００１００である場合、十進数で４、ユニットステートマシンが状態４となり、対応する擬似コード列は、１０１０１１０１１００１１１００であるという意味である。擬似コード列指示コードが、二進数の０００００１０１である場合、十進数で５、ユニットステートマシンが状態５となり、対応する擬似コード列は、１０１０１１０１１００１１００１であるという意味である。このために、擬似コード列指示コードによって、擬似コード列が異なっている。また、擬似コード列指示コードと擬似コード列との間に、一対一対応が存在する。擬似コード列指示コードは、重複なしの降順に並び替わる大きな数字である。昇順とは、擬似コード列指示コードが、送信端による信号送信回数によって、自動的に１ずつ増えて行くことである。降順とは、擬似コード列指示コードが、送信端による信号送信回数によって、自動的に１ずつ減って行くことである。擬似コード列指示コードは、送信端と受信端に対して、対応する擬似コード列にて暗号化と復号化の動作指定を行うものであるので、送信端が信号を送信する都度、擬似コード列指示コードが自動的に１ずつ増えて行く（或いは、自動的に１ずつ減って行く）。
【００９７】
本実施例の最適実施形態において、論理ＸＯＲの論理演算を使っているが、例えば、論理ＮＯＲ、論理ＸＮＯＲなどの論理演算でもよい。
【００９８】
本実施例に関する非対称暗号化の可視光通信方法において、送信端と受信端により伝送されているのは、初期データではなく、暗号化されたスクランブルコード信号であり、スクランブルコードは、初期データに特定の論理演算を行って新たに生成されたデータ、例えば、初期データと擬似コード列に畳み込み又はシフトなどの演算を行うことが理解されるべきである。
【００９９】
本実施例はさらに、非対称暗号化による可視光通信システムを提供する。この非対称暗号化による可視光通信システムは、送信端と受信端を有するものであって、送信端と受信端は、前記の非対称暗号化による可視光通信方法にて通信を行う。
【０１００】
図ａ２は、本発明の実施例に関する非対称暗号化による可視光通信システム送信端の構成を説明するためのブロック図である。本実施例において、送信端は、擬似コード列指示コードを生成する擬似コード生成器１０１と、符号化を行う畳み込み暗号化器１０２と、擬似コード列指示コードを扱う擬似コード列指示コード処理ユニット１０３と、可視光信号を発送信するＬＥＤ１０５とを有するものである。さらに、送信端は、信号を変調する変調器１０４を備えるものである。
【０１０１】
図ａ３は、本発明の実施例に関する非対称暗号化による可視光通信システム受信端の構成を説明するためのブロック図である。本実施例において、受信端は、可視光信号を受信する可視光受信器２０１と、擬似コード列指示コードと暗号化ＩＤデータを取得する擬似コード列指示コード処理ユニット２０３と、擬似コード列を出力する擬似コード列照合ユニット２０４と、復号化を行う畳み込み復号化器２０５と、ＩＤデータを出力するＩＤ判定器２０６と、装置制御回路２０７とを備えるものである。受信端は、さらに、信号を復調する復調器２０２を備えるものである。
【０１０２】
パスワードエラーが表示されるものとして、ブザーやシグナルランプに限らず、その他の方式を使用できるものであることは理解されるべきである。
【０１０３】
図ａ４は、本発明の実施例に関する送信信号の構成を説明するためのブロック図である。本実施例において、送信信号のデータは主に、擬似コード列指示コードと暗号化ＩＤデータの２つから構成される。送信端と受信端に設定したＩＤデータが、いずれも１６ビットの二進数の０００００００００００００１００である。擬似コード列指示コードは、８ビットの二進数の００００００１０であり、対応する擬似コード列が１６ビットの二進数の１０１０１０１１００１０００１０である。以下、詳しく説明する。
【０１０４】
ステップＳ１において、畳み込み暗号化器１０２において、ベースバンドデータと擬似コード生成器１０１から生成された擬似コード列に、ＸＯＲ演算を行って、暗号化されたＩＤデータが得られる。演算の結果は、下表のとおりである。
【０１０５】
【表ａ１】
2015532030.tif 000003
【０１０６】
この表から、暗号化されたＩＤデータは、１０１０１０１１００１００１１０となり、初期のＩＤデータと異なっているので、初期データに暗号化を行ったことがわかる。
【０１０７】
暗号化されたＩＤデータは、擬似コード列指示コード処理ユニット１０３に発送される。そして、暗号化されたＩＤデータと擬似コード列指示コード００００００１０をヘッダ部として、暗号化されたＩＤデータに擬似コード列指示コードを追加して、変調器１０４に発送、信号変調する。出力する数字が００００００１０１０１０１０１１００１００１１０となる。
【０１０８】
ステップＳ２において、変調された信号をＬＥＤ１０５に発送する。ＬＥＤ１０５は、変調された信号である００００００１０１０１０１０１１００１００１１０を高速点滅する可視光信号の形にて可視光受信器に送信する。
【０１０９】
ステップＳ３において、可視光受信器２０１は、高速点滅する可視光信号を二進数のデジタル信号に変換してから復調器２０２に発送して復調する。復調器２０２は、復調された信号を擬似コード列指示コード処理ユニット２０３に発送する。
【０１１０】
ステップＳ４において、擬似コード列指示コード処理ユニット２０３は、復調された信号である００００００１０１０１０１０１１００１００１１０を擬似コード列指示コード００００００１０と暗号化ＩＤデータ１０１０１０１１００１００１１０の２部分に分離して、擬似コード列指示コード００００００１０を擬似コード列照合ユニット２０４、暗号化されたＩＤデータ１０１０１０１１００１００１１０を畳み込み復号化器２０５に発送する。
【０１１１】
ステップＳ５において、擬似コード列照合ユニット２０４は、擬似コード列指示コードである００００００１０を入力する。そして、擬似コード列照合ユニット２０４は、記憶されている擬似コード列指示コードを現在受信した擬似コード列指示コードと比較し、受信した擬似コード列指示コードに基づいて、合法かどうかを判定する。擬似コード列指示コードは、昇順にて並び替わる場合（送信端の信号発送回数によって、擬似コード列指示コードが自動的に１ずつ増えていくこと）、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより大きければ、現在受信した信号が合法であることを判定し、受信した擬似コード列を畳み込み復号化器２０５に発送する。そうでなければ、当該信号が非合法であることを判定し、パスワードエラーが表示される。
【０１１２】
同様に、降順にて並び替わる場合（送信端の信号発送回数によって、擬似コード列指示コードが自動的に１ずつ減っていくこと）、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより小さければ、現在受信した信号が合法であることを判定し、受信した擬似コード列を畳み込み復号化器２０５に発送する。そうでなければ、当該信号が非合法であることを判定し、同様にパスワードエラーが表示される。
【０１１３】
ステップＳ６において、畳み込み復号化器２０５において、暗号化されたＩＤデータである１０１０１０１１００１００１１０と照合によって得られた擬似コード列１０１０１０１１００１０００１０に、ＸＯＲ演算を行う。演算結果は、下表の通りである。
【０１１４】
【表ａ２】
2015532030.tif 000004
【０１１５】
この表から、復号化されたＩＤデータが、０００００００００００００１００となり、また、ＩＤ判定器２０６に発送されることがわかる。
【０１１６】
ステップＳ７において、ＩＤ判定器２０６は、受信した復号化ＩＤデータと設定したＩＤデータと比較し、同じである場合、合法であると判定して、合法であるＩＤデータを装置制御回路２０７に発送するが、そうではない場合、非合法であると判定して、パスワードエラーが表示される。このために、ＩＤ判定器２０６は、０００００００００００００１００である信号を受信する。受信端に設定したＩＤデータも０００００００００００００１００であるので、今回受信した信号が合法的なものと認められ、受信端は、送信端から受信された暗号化信号について、問題なく復号化を行われる。
【０１１７】
本実施例によれば、ハイスピードカメラでの可視光信号の取得及びコピーを防止することができる。例えば、本実施例において、発送されてきた暗号化ＩＤデータが、送受信の間に、ハイスピードカメラに取得、コピーされる。コピーされた信号が、アイドルシグナルの００００００１０１０１０１０１１００１００１１０である。受信端はすでに、受信した合法的な信号の擬似コード列指示コードを００００００１０として記憶されている。受信端は、前記コピーされた信号を受信する際に、その擬似コード列指示コードの分離によって、同様に００００００１０も得られる。但し、暗号化の昇順ルールに基づいて、以降に受信する擬似コード列指示コードが、００００００１０より大きくならなければならない（降順ルールの場合、００００００１０より小さくならなければならない）とする。コピーされた信号が完全に同じなものであるので、非合法と判定されて、パスワードエラーが表示される。
【０１１８】
さらに、例えば、ハイスピードカメラによって取得、コピーされた可視光信号は、修正又は偽造により、新しい信号を得る。つまり、擬似コード列指示コードだけを００００００１１に修正し、それ以外は変更しないままにする。擬似コード列照合ユニット２０４は、昇順ルールに基づいて、合法であると判定して、擬似コード列指示コード００００００１１に対応する擬似コード列を照合する。その際は、前記擬似コード列は、暗号化された擬似コード列と異なる。例えば、擬似コード列照合ユニットに照合された、対応する擬似コード列は、１０１０１０１１００１０００１１である。当該擬似コード列を用いてＩＤデータに復号化を行う。演算手順は、下表の通りである。
【０１１９】
【表ａ３】
2015532030.tif 000005
【０１２０】
この表から、偽信号にて復号化されたＩＤデータが０００００００００００００１０１であり、受信端に設定したＩＤデータが０００００００００００００１００であり、異なっているので、ＩＤ判定器２０６は、当該信号を非合法と判定して、パスワードエラーが表示されることがわかる。
【０１２１】
送信端と受信端に設定したＩＤデータが、いずれも１６ビットの二進数の００００００００００００００１０、擬似コード列指示コードは、８ビットの二進数の００００００１０、対応する擬似コード列が１６ビットの二進数の１０１０１０１１００１０００１０であることとする。以下、詳しく説明する。
【０１２２】
ステップＳ１において、畳み込み暗号化器１０２において、ベースバンドデータと擬似コード生成器１０１から生成された擬似コード列に、ＸＯＲ演算を行って、暗号化されたＩＤデータが得られる。演算の結果は、下表のとおりである。
【０１２３】
【表ａ４】
2015532030.tif 000006
【０１２４】
この表から、暗号化されたＩＤデータは、１０１０１０１１００１０００００となり、初期のＩＤデータと異なっているので、初期データに暗号化を行ったことがわかる。
【０１２５】
暗号化されたＩＤデータは、擬似コード列指示コード処理ユニット１０３に発送される。そして、暗号化されたＩＤデータと擬似コード列指示コード００００００１０をヘッダ部として、暗号化されたＩＤデータに擬似コード列指示コードを追加して、変調器１０４に発送し、信号変調する。出力する数字が００００００１０１０１０１０１１００１０００００となる。
【０１２６】
ステップＳ２において、変調された信号をＬＥＤ１０５に発送する。ＬＥＤ１０５は、変調された信号である００００００１０１０１０１０１１００１０００００を高速点滅する可視光信号の形にて可視光受信器に送信する。
【０１２７】
ステップＳ３において、可視光受信器２０１は、高速点滅する可視光信号を二進数のデジタル信号に変換してから復調器２０２に発送して復調する。復調器２０２は、復調された信号を擬似コード列指示コード処理ユニット２０３に発送する。
【０１２８】
ステップＳ４において、擬似コード列指示コード処理ユニット２０３は、復調された信号である００００００１０１０１０１０１１００１０００００を擬似コード列指示コード００００００１０と暗号化ＩＤデータ１０１０１０１１００１０００００の２部分に分離して、擬似コード列指示コード００００００１０を擬似コード列照合ユニット２０４、暗号化されたＩＤデータ１０１０１０１１００１０００００を畳み込み復号化器２０５に発送する。
【０１２９】
ステップＳ５において、擬似コード列照合ユニット２０４は、擬似コード列指示コードである００００００１０を入力する。そして、擬似コード列照合ユニット２０４は、記憶されている擬似コード列指示コードを現在受信した擬似コード列指示コードと比較し、受信した擬似コード列指示コードに基づいて、合法かどうかを判定する。擬似コード列指示コードは、昇順にて並び替わる場合（送信端の信号発送回数によって、擬似コード列指示コードが自動的に１ずつ増えていくこと）、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより大きければ、現在受信した信号が合法であることを判定し、受信した擬似コード列を畳み込み復号化器２０５に発送する。そうでなければ、当該信号が非合法であることを判定し、パスワードエラーが表示される。
【０１３０】
同様に、降順にて並び替わる場合（送信端の信号発送回数によって、擬似コード列指示コードが自動的に１ずつ減っていくこと）、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより小さければ、現在受信した信号が合法であることを判定し、受信した擬似コード列を畳み込み復号化器２０５に発送する。そうでなければ、当該信号が非合法であることを判定し、同様にパスワードエラーが表示される。
【０１３１】
ステップＳ６において、畳み込み復号化器２０５において、暗号化されたＩＤデータである１０１０１０１１００１０００００と照合によって得られた擬似コード列１０１０１０１１００１０００１０に、ＸＯＲ演算を行う。演算結果は、下表の通りである。
【０１３２】
【表ａ５】
2015532030.tif 000007
【０１３３】
この表から、復号化されたＩＤデータが、００００００００００００００１０となり、また、ＩＤ判定器２０６に発送されることがわかる。
【０１３４】
ステップＳ７において、ＩＤ判定器２０６は、受信した復号化ＩＤデータと設定したＩＤデータと比較し、同じである場合、合法であると判定して、合法であるＩＤデータを装置制御回路２０７に発送するが、そうではない場合、非合法であると判定して、パスワードエラーが表示される。このために、ＩＤ判定器２０６は、００００００００００００００１０である信号を受信する。受信端に設定したＩＤデータも００００００００００００００１０であるので、今回受信した信号が合法的なものと認められ、受信端は、送信端から受信された暗号化信号について、問題なく復号化を行われる。
【０１３５】
送信端と受信端に設定したＩＤデータが、いずれも１６ビットの二進数の００００００００００００００１１である。擬似コード列指示コードは、８ビットの二進数の００００００１０であり、対応する擬似コード列が１６ビットの二進数の００００００００００１０００００である。以下、詳しく説明する。
【０１３６】
ステップＳ１において、畳み込み暗号化器１０２において、ベースバンドデータと擬似コード生成器１０１から生成された擬似コード列に、ＮＯＲ演算を行って、暗号化されたＩＤデータが得られる。演算の結果は、下表のとおりである。
【０１３７】
【表ａ６】
2015532030.tif 000008
【０１３８】
この表から、暗号化されたＩＤデータは、１１１１１１１１１１０１１１００となり、初期のＩＤデータと異なっているので、初期データに暗号化を行ったことがわかる。
【０１３９】
暗号化されたＩＤデータは、擬似コード列指示コード処理ユニット１０３に発送される。そして、暗号化されたＩＤデータと擬似コード列指示コード００００００１０をヘッダ部として、暗号化されたＩＤデータに擬似コード列指示コードを追加して、変調器１０４に発送、信号変調する。出力する数字が００００００１０１１１１１１１１１１０１１１００となる。
【０１４０】
ステップＳ２において、変調された信号をＬＥＤ１０５に発送する。ＬＥＤ１０５は、変調された信号である００００００１０１１１１１１１１１１０１１１００を高速点滅する可視光信号の形にて可視光受信器に送信する。
【０１４１】
ステップＳ３において、可視光受信器２０１は、高速点滅する可視光信号を二進数のデジタル信号に変換してから復調器２０２に発送して復調する。復調器２０２は、復調された信号を擬似コード列指示コード処理ユニット２０３に発送する。
【０１４２】
ステップＳ４において、擬似コード列指示コード処理ユニット２０３は、復調された信号である００００００１０１１１１１１１１１１０１１１００を擬似コード列指示コード００００００１０と暗号化ＩＤデータ１１１１１１１１１１０１１１００の２部分に分離して、擬似コード列指示コード００００００１０を擬似コード列照合ユニット２０４、暗号化されたＩＤデータ１１１１１１１１１１０１１１００を畳み込み復号化器２０５に発送する。
【０１４３】
ステップＳ５において、擬似コード列照合ユニット２０４は、擬似コード列指示コードである００００００１０を入力する。そして、擬似コード列照合ユニット２０４は、記憶されている擬似コード列指示コードを現在受信した擬似コード列指示コードと比較し、受信した擬似コード列指示コードに基づいて、合法かどうかを判定する。擬似コード列指示コードは、昇順にて並び替わる場合（送信端の信号発送回数によって、擬似コード列指示コードが自動的に１ずつ増えていくこと）、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより大きければ、現在受信した信号が合法であることを判定し、受信した擬似コード列を畳み込み復号化器２０５に発送する。そうでなければ、当該信号が非合法であることを判定し、パスワードエラーが表示される。
【０１４４】
同様に、降順にて並び替わる場合（送信端の信号発送回数によって、擬似コード列指示コードが自動的に１ずつ減っていくこと）、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより小さければ、現在受信した信号が合法であることを判定し、受信した擬似コード列を畳み込み復号化器２０５に発送する。そうでなければ、当該信号が非合法であることを判定し、同様にパスワードエラーが表示される。
【０１４５】
ステップＳ６において、畳み込み復号化器２０５において、暗号化されたＩＤデータである１１１１１１１１１１０１１１００と照合によって得られた擬似コード列００００００００００１０００００に、ＮＯＲ演算を行う。演算結果は、下表の通りである。
【０１４６】
【表ａ７】
2015532030.tif 000009
【０１４７】
この表から、復号化されたＩＤデータが、００００００００００００００１１となり、また、ＩＤ判定器２０６に発送されることがわかる。
【０１４８】
ステップＳ７において、ＩＤ判定器２０６は、受信した復号化ＩＤデータと設定したＩＤデータと比較し、同じである場合、合法であると判定して、合法であるＩＤデータを装置制御回路２０７に発送するが、そうではない場合、非合法であると判定して、パスワードエラーが表示される。このために、ＩＤ判定器２０６は、００００００００００００００１１である信号を受信する。受信端に設定したＩＤデータも００００００００００００００１１であるので、今回受信した信号が合法的なものと認められ、受信端は、送信端から受信された暗号化信号について、問題なく復号化を行われる。
【０１４９】
送信端と受信端に設定したＩＤデータが、いずれも１６ビットの二進数の０００００００００００１００００である。擬似コード列指示コードは、８ビットの二進数の１０００００００であり、対応する擬似コード列が１６ビットの二進数の００００１０００００００００００である。以下、詳しく説明する。
【０１５０】
ステップＳ１において、畳み込み暗号化器１０２において、ベースバンドデータと擬似コード生成器１０１から生成された擬似コード列に、ＸＮＯＲ演算を行って、暗号化されたＩＤデータが得られる。演算の結果は、下表のとおりである。
【０１５１】
【表ａ８】
2015532030.tif 000010
【０１５２】
この表から、暗号化されたＩＤデータは、１１１１０１１１１１１０１１１１となり、初期のＩＤデータと異なっているので、初期データに暗号化を行ったことがわかる。
【０１５３】
暗号化されたＩＤデータは、擬似コード列指示コード処理ユニット１０３に発送される。そして、暗号化されたＩＤデータと擬似コード列指示コード１０００００００をヘッダ部として、暗号化されたＩＤデータに擬似コード列指示コードを追加して、変調器１０４に発送、信号変調する。出力する数字が１０００００００１１１１０１１１１１１０１１１１となる。
【０１５４】
ステップＳ２において、変調された信号をＬＥＤ１０５に発送する。ＬＥＤ１０５は、変調された信号である１０００００００１１１１０１１１１１１０１１１１を高速点滅する可視光信号の形にて可視光受信器に送信する。
【０１５５】
ステップＳ３において、可視光受信器２０１は、高速点滅する可視光信号を二進数のデジタル信号に変換してから復調器２０２に発送して復調する。復調器２０２は、復調された信号を擬似コード列指示コード処理ユニット２０３に発送する。
【０１５６】
ステップＳ４において、擬似コード列指示コード処理ユニット２０３は、復調された信号である１０００００００１１１１０１１１１１１０１１１１を擬似コード列指示コード１０００００００と暗号化ＩＤデータ１１１１０１１１１１１０１１１１の２部分に分離して、擬似コード列指示コード１０００００００を擬似コード列照合ユニット２０４、暗号化されたＩＤデータ１１１１０１１１１１１０１１１１を畳み込み復号化器２０５に発送する。
【０１５７】
ステップＳ５において、擬似コード列照合ユニット２０４は、擬似コード列指示コードである１０００００００を入力する。そして、擬似コード列照合ユニット２０４は、記憶されている擬似コード列指示コードを現在受信した擬似コード列指示コードと比較し、受信した擬似コード列指示コードに基づいて、合法かどうかを判定する。擬似コード列指示コードは、昇順にて並び替わる場合（送信端の信号発送回数によって、擬似コード列指示コードが自動的に１ずつ増えていくこと）、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより大きければ、現在受信した信号が合法であることを判定し、受信した擬似コード列を畳み込み復号化器２０５に発送する。そうでなければ、当該信号が非合法であることを判定し、パスワードエラーが表示される。
【０１５８】
同様に、降順にて並び替わる場合（送信端の信号発送回数によって、擬似コード列指示コードが自動的に１ずつ減っていくこと）、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより小さければ、現在受信した信号が合法であることを判定し、受信した擬似コード列を畳み込み復号化器２０５に発送する。そうでなければ、当該信号が非合法であることを判定し、同様にパスワードエラーが表示される。
【０１５９】
ステップＳ６において、畳み込み復号化器２０５において、暗号化されたＩＤデータである１１１１０１１１１１１０１１１１と照合によって得られた擬似コード列００００１０００００００００００に、ＸＮＯＲ演算を行う。演算結果は、下表の通りである。
【０１６０】
【表ａ９】
2015532030.tif 000011
【０１６１】
この表から、復号化されたＩＤデータが、０００００００００００１００００となり、また、ＩＤ判定器２０６に発送されることがわかる。
【０１６２】
ステップＳ７において、ＩＤ判定器２０６は、受信した復号化ＩＤデータと設定したＩＤデータと比較し、同じである場合、合法であると判定して、合法であるＩＤデータを装置制御回路２０７に発送するが、そうではない場合、非合法であると判定して、パスワードエラーが表示される。このために、ＩＤ判定器２０６は、０００００００００００１００００である信号を受信する。受信端に設定したＩＤデータも０００００００００００１００００であるので、今回受信した信号が合法的なものと認められ、受信端は、送信端から受信された暗号化信号について、問題なく復号化を行われる。
【０１６３】
以上説明したように、本実施例に関する非対称暗号化による可視光通信方法及びシステムは、同期の暗号化方法に比べて、コスト効率がよい、オペレーティングが容易で技術的に実現可能、送信端と受信端が同じ同期クロックを持つことが必要ないという利点がある。さらに、ハイスピードカメラでの可視光信号の取得・コピーによるパスワードの漏洩が防止でき、可視光通信によるＩｏＴの安全性を大いに向上できる効果がある。本実施例は、光制御型ロック、光制御型アクセス制御システムにも適用される。
【０１６４】
実施例２
図ｂ１は、本発明の実施例２に関する送信装置の構成を説明するためのブロック図である。前記送信装置は、ベースバンドデータ記憶装置１００ｂと、擬似コード生成器１０１ｂと、畳み込み暗号化器１０２ｂと、擬似コード列指示コード合成ユニット１０３ｂと、デバイスアドレスコード合成ユニット１０４ｂと、変調器１０５ｂ及び可視光送信ユニット１０６ｂとを備えるものである。前記ベースバンドデータ記憶装置１００ｂは、ＩＤ情報を記憶するものであって、前記ＩＤ情報は利用者ＩＤを表すデータである。前記擬似コード生成器１０１ｂは、前記畳み込み暗号化器１０２ｂに擬似コード列、前記擬似コード列指示コード合成ユニット１０３ｂに擬似コード列指示コードを供給する。前記畳み込み暗号化器１０２ｂは、前記擬似コード列と前記送信端のＩＤ情報に論理演算を行い、擬似コード信号を出力する。擬似コード列指示コード合成ユニット１０３ｂは、前記畳み込み暗号化器１０２ｂから出力した擬似コード信号に擬似コード列指示コードを追加し、第１合成信号が得られて、前記第１合成信号を前記デバイスアドレスコード合成ユニット１０４ｂに出力する。前記デバイスアドレスコード合成ユニット１０４ｂは、前記畳み込み暗号化器１０２ｂから送ってきた第１合成信号のヘッダ部にデバイスアドレスコードを追加して、第２合成信号として出力する。前記変調器１０５ｂは、前記デバイスアドレスコード合成ユニット１０４ｂから出力した第２合成信号を変調し、前記可視光送信ユニット１０６ｂに発送して、第２合成信号を可視光の形で送信する。
【０１６５】
さらに、前記送信ユニット１０６ｂはＬＥＤランプである。
【０１６６】
図ｂ２は、本発明の実施例２に関する複数ユーザによる非対称暗号化の受信装置の構成を説明するためのブロック図である。前記受信装置は、可視光受信器２０１ｂと、復調器２０２ｂと、デバイスアドレスコード分解ユニット２０３ｂと、擬似コード列照合ユニット２０４ｂと、擬似コード列指示コード分解ユニット２０５ｂと、畳み込み復号化器２０６ｂと、照合ユニット２０７ｂと、ＩＤ判定装置２０８ｂと、装置制御回路２０９ｂとを備えるものである。前記可視光受信器２０１ｂは、前記送信装置から送信してきた光信号を電気信号に変換してから、電気信号をデジタル信号に変換する。前記復調器２０２ｂは、前記可視光受信器２０１ｂから出力したデジタル信号を復調する。前記デバイスアドレスコード分解ユニット２０３ｂは、復調器２０２ｂより出力した信号から、デバイスアドレスコードと第１合成信号を分離する。前記擬似コード列照合ユニット２０４ｂは、前記デバイスアドレスコードに基づいて対応する擬似コード列を出力する。前記擬似コード列指示コード分解ユニット２０５ｂは、前記デバイスアドレスコード分解ユニット２０３ｂより出力した第１合成信号を擬似コード列指示コードと擬似コード信号に分解して、擬似コード列指示コード及び擬似コード信号を前記擬似コード列照合ユニット２０４ｂ及び畳み込み復号化器２０６ｂに別々に送信する。前記照合ユニット２０７ｂは、デバイスアドレスコードに基づいて、現在信号の擬似コード列指示コードについて合法かどうかを判定する。前記畳み込み復号化器２０６ｂは、前記擬似コード列照合ユニット２０４ｂより出力した擬似コード列及び擬似コード信号に論理演算を行い、ＩＤ情報を出力する。前記ＩＤ判定装置２０８ｂは、前記畳み込み復号化器２０６ｂと前記照合ユニット２０７ｂより出力したＩＤ情報が同じかどうかを判定し、同じである場合、前記ＩＤ情報を前記装置制御回路２０９ｂに発送する。前記装置制御回路２０９ｂは、前記ＩＤ判定装置２０８ｂより出力した信号に基づいて、対応する装置に対して制御、又は、上位装置への通信を行う。
【０１６７】
上述の実施例は複数ユーザによる非対称暗号化の送信装置と受信装置について説明しているが、以下、複数ユーザによる非対称暗号化の送信方法及び受信方法について説明する。
【０１６８】
図ｂ３は、本発明の実施例２に関する複数ユーザによる非対称暗号化の送信方法の流れを説明するためのフローチャートである。送信方法は、以下に示す複数のステップで構成される。
【０１６９】
ステップＳ１１において、送信装置のＩＤ情報及び生成された擬似コード列に論理演算を行い、擬似コード信号が得られる。
【０１７０】
ステップＳ１２において、前記擬似コード列に対応する擬似コード列指示コードを前記擬似コード信号のヘッダ部に追加して、第１合成信号が得られる。
【０１７１】
前記擬似コード列指示コードは、例えば、信号を送信する都度、前記擬似コード列指示コードが１ずつ増えていく（又は、減っていく）ように、信号の送信回数によって変化する、重複なしの昇順に並び替わる大きな数字である。
【０１７２】
ステップＳ１３において、前記第１合成信号のヘッダ部にデバイスアドレスコードを追加して、第２合成信号が得られる。
【０１７３】
前記ステップＳ１１において、前記論理演算は、ＸＯＲ演算を行われている。前記ステップＳ１３において、前記デバイスアドレスコードがＩＤ情報と異なっているが、ＩＤ情報とは一対一の関係である。利用者は１人につき１つのＩＤを保有するものとする。
【０１７４】
ステップＳ１４において、前記第２合成信号を変調する。
【０１７５】
ステップＳ１５において、可視光信号の形で変調された第２合成信号を発送する。
【０１７６】
図ｂ４は、本発明の実施例２に関する複数ユーザによる非対称暗号化の受信方法の流れを説明するためのフローチャートである。受信方法は、以下に示す複数のステップから構成される。
【０１７７】
ステップＳ２１において、受信された可視光信号をデジタル信号に変換する。
【０１７８】
ステップＳ２２において、前記デジタル信号を復調する。
【０１７９】
ステップＳ２３において、復調されたデジタル信号をデバイスアドレスコードと第１合成信号に分解する。
【０１８０】
ステップＳ２４において、前記第１合成信号を擬似コード列指示コードと擬似コード信号に分解する。
【０１８１】
ステップＳ２５において、デバイスアドレスコードに基づいて、擬似コード列指示コードについて、合法であるかどうかを判定する。合法であると判定する場合、擬似コード列指示コードに対応する擬似コード列の擬似コード列を照合する。
【０１８２】
例えば、擬似コード列指示コードが、重複なしの昇順に並び替わる大きな数字である場合、前記デバイスアドレスコードに基づいて、既に受信された擬似コード列指示コードを照合して、前記擬似コード列指示コードが既に受信された擬似コード列指示コードより小さいか、又は等しい場合、無効と判定するが、そうでない場合、合法であると判定する。或いは、擬似コード列指示コードが、重複なしの降順に並び替わる大きな数字である場合、前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが既に受信された擬似コード列指示コードより大きいか、又は等しい場合、無効と判定するが、そうでない場合、合法であると判定する。
【０１８３】
ステップＳ２６において、擬似コード列と擬似コード信号に復号処理を行い、ＩＤ情報を出力する。
【０１８４】
ステップＳ２７において、前記デバイスアドレスコードに基づいて、該当装置に対応するＩＤ情報を照合して、また前記ＩＤ情報を復号によって得られた前記ＩＤ情報と比較し、同じである場合、合法であると判定して、合法であるＩＤ情報を出力する。
【０１８５】
ステップＳ２８において、合法であると判定しているＩＤ情報に基づいて、該当する装置を制御する。
【０１８６】
以下、可視光通信によるＩｏＴに本発明の実施例を適用する事例について、上述の実施例をさらに詳しく説明する。
【０１８７】
可視光通信によるＩｏＴの送信装置と受信装置の間に伝送されている可視光情報は、初期のデータではなく、暗号化されたスクランブルコード信号である。ここに記載されたスクランブルコードは、初期データに特定の論理演算を行って新たに生成されたデータ、例えば、初期データと擬似コード列に畳み込み又はシフトなどの演算を行うものである。擬似コード列は、擬似コード生成器により生成された１組の二進数の数字列である。
【０１８８】
初期データは、数字列で表現された信号であり、ベースバンドデータとも称する。本実施例では、初期データは、主にＩＤデータから構成される。前記ＩＤデータは、送信装置毎に与えられている唯一の識別コードである。可視光受信装置の装置制御回路は、復号化されたＩＤデータに基づいて、特定権限を持っているかを判定し、装置の制御が必要かどうかを決定する。擬似コード列指示コードは、重複なしの昇順（又は、降順）に並び替わる大きな数字であり、送信装置及び受信装置に対して、いずれの擬似コード列を用いて暗号化と復号化を行うかの動作を指定するものである。可視光送信装置が信号を送信する都度、擬似コード列指示コードは、自動的に１ずつ増えていく（又は、１ずつ減っていく）。デバイスアドレスコードは、送信装置毎に与えられている唯一の識別コードである。デバイスアドレスコードは、ＩＤと異なっているが、ＩＤとは一対一の関係である。前記デバイスアドレスコードは、受信装置において該当する装置が設定したＩＤ情報及び前回該当装置が受信された擬似コード列指示コードを特定するためのものである。
【０１８９】
図ｂ５は、第２合成信号のデータ構成を説明するためのブロック図である。例えば、ＩＤ情報が１６ビットの二進数の数字である０００００００００００００１００、擬似コード列指示コードが８ビットの二進数の数字である００００００１０、対応する擬似コード列が１６ビットの二進数の数字である１０１０１０１１００１０００１０、デバイスアドレスコードも８ビットの二進数の数字である１０１０１０１０の場合を考えてみよう。
【０１９０】
まず、畳み込み暗号化器１０２ｂにおいて、ＩＤ情報及び擬似コード列について、論理演算（例えば、ＸＯＲ演算）を行う。演算の結果は、下表の通りである。
【０１９１】
【表ｂ１】
2015532030.tif 000012
【０１９２】
表ｂ１から、暗号化されたＩＤ情報は、初期のＩＤ情報と異なっている１０１０１０１１００１００１１０となり、データに特定の暗号化を行われたことが分かる。
【０１９３】
暗号化された前記ＩＤ情報は、擬似コード列指示コード合成ユニット１０３ｂに発送される。同時に、擬似コード生成器１０１ｂも、擬似コード列に対応する擬似コード列指示コードを擬似コード列指示コード合成ユニット１０３ｂに発送する。そして、擬似コード列指示コード合成ユニット１０３ｂにおいて、暗号化されたＩＤ情報と擬似コード列指示コード００００００１０は、ヘッダ部として、デバイスアドレスコード合成ユニット１０４ｂに発送される。出力した数字列は００００００１０１０１０１０１１００１００１１０となる。
【０１９４】
前記デバイスアドレスコード合成ユニット１０４ｂにおいて、擬似コード列指示コード合成ユニット１０３より出力した信号とデバイスアドレスコード１０１０１０１０は、ヘッダ部として出力される。出力した結果は１０１０１０１０００００００１０１０１０１０１１００１００１１０となる。前記デバイスアドレスコード合成ユニット１０４ｂより出力した前記信号を変調器１０５ｂに発送してから信号変調を行い、ＬＥＤに出力して、高速点滅する可視光信号の形で送信される。
【０１９５】
送信装置ＬＥＤランプより発送された可視光は、空中で短距離に伝送され、受信装置にある可視光受信器２０１ｂに受信され、そしてデジタル電気信号に変換されて、復調器２０２ｂで復調を行う。復調された後、信号を出力し、またデバイスアドレスコード分解ユニット２０３ｂに発送する。
【０１９６】
前記デバイスアドレスコード分解ユニット２０３ｂは、受信した信号（復調を行われたもの）である１０１０１０１０００００００１０１０１０１０１１００１００１１０にデバイスアドレスコードのヘッダ部分離を行い、デバイスアドレスコード１０１０１０１０が得られて、前記デバイスアドレスコード１０１０１０１０を別々に擬似コード列照合ユニット２０４ｂと照合ユニット２０７ｂに発送する。前記デバイスアドレスコードのヘッダ部分離によって残されている部分は００００００１０１０１０１０１１００１００１１０となり、データとして擬似コード列指示コード分解ユニット２０５ｂに発送される。
【０１９７】
前記擬似コード列指示コード分解ユニット２０５ｂは、受信したデータにヘッダ部の分離を行い、擬似コード列指示コード００００００１０が得られ、そして前記擬似コード列指示コードを擬似コード列照合ユニット２０４ｂに発送する。擬似コード列指示コード分解ユニット２０５ｂにて擬似コード列指示コードを分離した後、残されている部分である１０１０１０１１００１００１１０が暗号化されたＩＤ情報となる。そして、前記ＩＤ情報を畳み込み復号化器２０６ｂに発送する。
【０１９８】
前記擬似コード列照合ユニット２０４ｂに入力する信号がデバイスアドレスコード１０１０１０１０と擬似コード列指示コード００００００１０である。擬似コード列照合ユニット２０４ｂにおいて、デバイスアドレスコード１０１０１０１０に対応するレジスタは、前記装置に該当する、前回受信した擬似コード列指示コードを１つ持っている。擬似コード列照合ユニット２０４ｂは、以前記憶されている擬似コード列指示コードと現在受信した擬似コード列指示コードを比較する。昇順ルール（送信装置が信号を送信する都度、擬似コード列指示コード自体が１ずつ増えていく）で判定する場合、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより大きければ、現在受信した信号が合法と認めるが、そうでなければ、非合法と認め、アラーム情報がアラームユニット（図示せず）に発送され、アラームを鳴らす。
【０１９９】
一方、降順ルール（送信装置が信号を送信する都度、擬似コード列指示コードの自体が１ずつ減っていく）で判定する場合、現在受信した擬似コード列指示コードが記憶されている擬似コード列指示コードより小さければ、現在受信した信号が合法と認めるが、そうでなければ、非合法と認め、同様にアラームを鳴らす。合法と認める場合、擬似コード列照合ユニット２０４ｂは、現在受信した擬似コード列指示コードを記憶する。すなわち、本来記憶されている擬似コード列指示コードを更新する。次に、擬似コード列照合ユニット２０４ｂは新しい擬似コード列指示コードに基づいて、擬似コード列のデータベースを照合する。擬似コード列指示コードと利用される擬似コード列は一対一の関係であるので、擬似コード列照合ユニット２０４ｂは、暗号化に該当する擬似コード列を特定でき、また、その擬似コード列を畳み込み復号化器２０６ｂに発送する。受信装置と送信装置は、同様の秘密保持手段を利用しているので、送信装置から発送した擬似コード列指示コード００００００１０に基づいて、受信装置において、送信装置の暗号化に用いる擬似コード列１０１０１０１１００１０００１０を特定できる。
【０２００】
畳み込み復号化器２０６ｂに入力する信号は、暗号化されたＩＤ情報１０１０１０１１００１００１１０と擬似コード列１０１０１０１１００１０００１０である。上記の２つのデータにＸＯＲ演算を行う手順は下記の通りである。
【０２０１】
【表ｂ２】
2015532030.tif 000013
【０２０２】
表ｂ２から、復号化によって、出力されたＩＤ情報は０００００００００００００１００であることがわかる。
【０２０３】
安全問題を完全に解決するために、受信装置には、さらにＩＤ判定装置２０８ｂと照合ユニット２０７ｂを１個ずつ設ける。ある偽信号によって、擬似コード列指示コードの設定が大きくなり、擬似コード列照合ユニット２０４ｂに合法である信号と誤判定され、対応する擬似コード列に復号化を行い、同じＩＤ情報が１個得られるケースがある。但し、当該データは真実のＩＤではなく、また、対応するデバイスアドレスコードも見つからなくなり、安全問題になってしまう危険性があると考えられる。
【０２０４】
受信装置と送信装置において、同じ秘密保持手段が設定されているので、受信装置の照合ユニット２０７ｂは、デバイスアドレスコード１０１０１０１０を受信した後、データベースとの照合を行い、０００００００００００００１００である真実のＩＤが得られて、ＩＤ判定装置２０８ｂに発送する。
【０２０５】
ＩＤ判定装置２０８ｂは、畳み込み復号化器２０６ｂと照合ユニット２０７ｂから出力されたＩＤ情報を受信した後、数値比較を行う。比較結果が同じである場合、受信された信号が合法である信号と認められ、その合法であるＩＤ情報を装置制御回路２０９ｂに発送する。比較結果が異なっている場合、受信された信号が非合法である偽信号と判定され、アラームを鳴らす。本実施例において、受信した前記の２つのＩＤ情報がいずれも０００００００００００００１００であり、合法である信号である。すなわち、受信装置は、復号化を成功裏に終了した。
【０２０６】
例えば、本発明の実施例におけるデータが、送受信端の送受信の時に、ハイスピードカメラに取得、コピーされ、またコピーされた信号がアイドルシグナルである１０１０１０１０００００００１０１０１０１０１１００１００１１０を例とする。受信装置は、合法である信号を受信している時に、その中の擬似コード列指示コードを００００００１０として記憶されている。コピーされた信号を再度受信した時、擬似コード列指示コードの分離によって、００００００１０も得られる。暗号化の昇順ルールに従って、それ以降に受信する擬似コード列指示コードが００００００１０より大きくなければならない（降順ルールの場合、００００００１０より小さくなければならない）が、コピーされた信号が同じ信号であることから、コピーされたのは、非合法である信号と判定される。
【０２０７】
例えば、信号をコピー・修正して、新たに信号を１個偽造すること、つまり、擬似コード列指示コードだけを００００００１１に修正し、それ以外は変更しないままにすることを例とする。昇順の場合、擬似コード列照合ユニット２０４ｂは、合法と認め、そして、擬似コード列指示コード００００００１１に対応する擬似コード列を特定する。もちろん、その擬似コード列は、暗号化された擬似コード列とは異なっている。そのために、擬似コード列照合ユニット２０４ｂにより特定された対応する擬似コード列、すなわち１０１０１０１１００１０００１１を用いてＩＤ情報に復号化を行う。詳細は、下記の通りである。
【０２０８】
【表ｂ３】
2015532030.tif 000014
【０２０９】
表ｂ３から、偽信号に復号化を行われて得られたＩＤ情報は、０００００００００００００１０１であることがわかる。
【０２１０】
上述の実施例から、照合ユニット２０７ｂは、デバイスアドレスコードである１０１０１０１０に基づいて、得られたＩＤ情報が０００００００００００００１００であることがわかる。復号化によって得られたＩＤ情報と照合ユニット２０７ｂがデバイスアドレスコードに基づいて得られたＩＤとは異なっているので、ＩＤ判定装置２０８ｂは、受信した信号が非合法である偽信号であると判定する。
【０２１１】
以上説明したように、本実施例に関する前記の複数ユーザによる非対称暗号化方法は、同期の暗号化方法に比べて、コスト効率がよい、オペレーティングが容易で技術的に実現可能、ハイスピードカメラによる光信号の取得・コピーの防止が可能であり、可視光通信によるＩｏＴの安全性を大いに向上できる効果がある。
【０２１２】
実施例３
図ｃ１は、本発明に関する可視光通信システムの実現方法を説明するためのブロック図である。可視光通信システム１００は送信端１１０と受信端１２０を備えるものである。送信端１１０は、符号化器１１１と、符号化器１１１と連結される擬似コード信号発生器１１２とを有する。符号化器１１１は、初期の通信データを受信し、擬似コード信号発生器１１２より生成された擬似コード信号を用いて初期の通信データに符号化を行い、スクランブルコード信号が得られる。得られたスクランブルコード信号が初期の通信データと異なっているので、暗号化の働きを果たした。例えば、本明細書における専門用語である「暗号化」と「符号化」、及び「復号化」と「デコーディング」は、置き換えて使用できる。初期の通信データは、送信端１１０に関する身元識別情報でもよい。符号化器１１１は、スクランブルコード信号を発光ユニット１１３に発送する。発光ユニット１１３は、受信したスクランブルコード信号を可視光の形にて発送する。発光ユニット１１３は、ＬＥＤ又は発光できるその他の部品でもよい。送信端１１０は、可視光通信によるＩｏＴにおける手持ち式クライアントでもよい。
【０２１３】
受信端１２０は、送信端１１０から可視光信号を受信して、可視光信号をデジタル信号に変換する受信ユニット１２３を有する。復号化器１２１は、受信ユニット１２３から出力されたデジタル信号を受信し、擬似コード信号発生器１２２により生成された擬似コード信号を用いて前記デジタル信号に復号化を行い、初期の通信データを復元させる。図ｃ１に示す可視光通信システム１００において、送信端１１０を１つしか示していない。但し、当業者であれば、１つの受信端１２０に対して、通常、複数の送信端１１０が設定されることが理解されるべきである。
【０２１４】
送信端１１０と受信端１２０の受送信の安全性をさらに向上し、ハイスピードカメラによる信号の取得・コピーの防止という効果をとられるために、送信端１１０と受信端１２０において、経時変化するシーケンス、例えば、擬似コード列、擬似ランダム・コード・シーケンス又は擬似ランダム・コードを利用して、初期の通信データに暗号化及び復号化の処理を施す。従って、図ｃ１に示すように、擬似コード信号発生器１１２は、水晶振動子１１４から供給されているクロック信号を基準として、送信端１１０のステートマシンの状態に基づいて、経時変化する擬似コード信号を出力する。一方、受信端１２０にある擬似コード信号発生器１２２も、水晶振動子１２４から供給されているクロック信号を基準として、受信端１２０のステートマシンの状態に基づいて、経時変化する擬似コード信号を出力する。
【０２１５】
図ｃ２は、図ｃ１に示す可視光通信システムでの暗号化・復号化の処理の流れを示すフローチャートである。ステップＳ２０１において、送信端１１０が、初期の通信データ及び経時変化する第１擬似コード信号に、論理演算を行い、スクランブルコード信号が得られる。初期の通信データは、発送する利用者の情報でもよい。例えば、利用者のＩＤ情報、指紋、顔、虹彩、入力したパスワード、利用者の身元が証明できる他の補充情報などのものである。もちろん、上記の２つ或いはそれ以上の組み合わせであれば、数字列のような信号であってもよい。擬似コード信号は、単位時間あたり変化する数字列でもよい。前記の単位時間は、必要に応じて、例えば、１日単位、１時間単位、１分単位、１秒単位などが設定される。初期の通信データと第１擬似コード信号に行われる論理演算は、ＡＮＤ演算、ＯＲ演算、ＸＯＲ演算などであれば、上述の演算の任意の２種類又はそれ以上の組み合わせであってもよい。
【０２１６】
例えば、初期の通信データは、送信端の利用者ＩＤであり、００００１１０１と変わらないことを例とする。５単位時間Ｔが経過した後、対応する送信端の状態がＮ＋５、第１擬似コード信号は、１０１０１０１０となる場合、初期の通信データと第１擬似コード信号に例えば、「ＸＯＲ」という論理演算を行う。詳細は下表の通りである。
【０２１７】
【表ｃ１】
2015532030.tif 000015
【０２１８】
ステップＳ２０２において、送信端１１０は、前記スクランブルコード信号を可視光信号の形にて発送する。例えば、送信端１１０は、ＬＥＤランプを通して、点滅の形にて変調信号を発送する。前記のスクランブルコード信号である１０１００１１１に対して、高速で点滅し続けているＬＥＤランプでは、１が点灯、０が消灯を表わす（又は、０が消灯、１が点灯を表わす）ので，可視光通信の実現に大いに寄与するものと考えられる。
【０２１９】
ステップＳ２０３において、受信端１２０は、送信端１１０から可視光信号を受信して、その可視光信号をデジタル信号に変換する。例えば、高速で点滅し続けているＬＥＤランプでは、１が点灯、０が消灯を表わす（又は、０が消灯、１が点灯を表わす。）ので，受信した可視光信号がデジタル信号に変換される。
【０２２０】
ステップＳ２０４において、受信端１２０は、前記デジタル信号と第２擬似コード信号に、例えば、論理演算による復号化処理が施されて、初期の通信データが得られる。具体的には、５単位時間Ｔが経過した後、対応する受信端の状態がＮ＋５となり、第２擬似コード信号も１０１０１０１０となり、第１擬似コード信号のコードタイプ、スタート／ストップ位相とは同じである。受信端１２０は、受信した信号及び第２擬似コード信号に、例えば「ＸＯＲ演算」の論理演算を行う。詳細は下表の通りである。
【０２２１】
【表ｃ２】
2015532030.tif 000016
【０２２２】
上記から、復号化によって出力された信号が００００１１０１であって、初期の通信データと同じであるので、初期通信データのデコーディングができたことが分かる。
【０２２３】
以上説明したように、受信端の正確な復号化には、受信端の擬似コード信号発生器より生成された擬似コード信号が、送信端の擬似コード信号発生器より生成された擬似コード信号と同時に変化しなければならない。具体的には、擬似コード信号の変化が、送受信両端にあるステートマシンのステートに基づいたものであって、ステートマシンのステートによって、擬似コード信号が変わることである。理想的なことは、送信端と受信端のステートマシンのステートが同時に変化して、送信端と受信端の擬似コード信号も同じく同時変化することである。例えば、所定の単位時間（例えば、１秒間、１分間、又は他の規定の時間帯）が経過した後、送受信両端に有るステートマシンのステートが、同時に直前状態のＮから次の状態のＮ＋１に変わる。同時に、送受信両端における暗号化及び復号化に用いる擬似コード信号も、直前状態のＮに対応する擬似コード信号から次の状態のＮ＋１に対応する擬似コード信号に変わる。
【０２２４】
可視光通信システムにおいて、可視光送信端１１０と受信端１２０のシステムクロックの精度はそれぞれの水晶振動子１１４、１２４によるものである。生産方法や作業環境などの影響で、水晶振動子１１４、１２４にある程度の誤差が生じるため、送信端１１０と受信端１２０の時間変化も異なっている。例えば、送受信両端は、同時に０秒からカウントダウン開始し、受信端１２０のシステムクロックの方が若干速いものとする。例えば、基準時刻から１秒経過した時刻になった際に、送信端１１０のシステムクロックが０．９９９９９９秒、受信端１２０のシステムクロックは、１．０００００１秒となり、この両者の誤差は１．０００００１−０．９９９９９９＝０．０００００２秒となる。そうすれば、基準時刻から５０００００秒経過した時刻になった際に、送受信両端のシステムクロックの表示は１秒ほどの誤差があると思われる。
【０２２５】
送信端１１０と受信端１２０のステート変化は、両方とも自身のシステムクロックによるものである。前記の送受信両端のシステムクロックは、誤差が生じるため、送信端１１０と受信端１２０のステートマシンのステートも同時に変化することができなくなってしまう。送受信両端のステートマシンが単位時間Ｔあたり変化することを例として説明する。例えば、基準時刻に比べて、送信端１１０のシステムクロックが遅れており、受信端１２０のシステムクロックが進んでいるとする。基準時刻から所定時間が経過した時刻になると、送信端１１０と受信端１２０のシステムクロック時間は単位時間Ｔほどの誤差があるとする。この場合は、送信端１１０が状態Ｎ、受信端１２０が状態Ｎ＋１となっている。すなわち、受信端１２０における復号化に用いる擬似コード信号は、送信端１１０における暗号化に用いる擬似コード信号と異なるので、受信端１２０では、正しく復号化されなくなってしまう。
【０２２６】
図ｃ３は、送信端及び受信端のステートマシン状態の経時変化を示す図である。図ｃ３に示すように、標準時間ｔ０の時刻において、送信端と受信端とのシステムクロックを合わせるように設定され、例えば、送信端と受信端は、両方とも状態Ｎとなり、そして所定の時間を経過して、標準時間ｔ１の時刻になった場合を考えてみる。その際に、送信端のシステムクロックが遅れていて、まだ状態Ｎ＋５となっているが、受信端のシステムクロックが進んでいて、もう状態Ｎ＋６となった。よって、前記受信端における復号化に用いる擬似コード信号は、送信端における暗号化に用いる擬似コード信号と異なるので、結局、復号化のエラーになってしまう。
【０２２７】
上記によって、本発明は、可視光通信システムに関する効率的な復号化方法を提供する。本発明の一側面によれば、送信端から可視光信号を受信する際に、受信端のステートマシンの現在状態に対応する秘密キーを用いて受信されていた可視光信号に復号化を行うだけでなく、復号化のエラーが発生した状態でも、当該現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて、可視光信号に復号化を行う。上記方法によれば、送信端と受信端のシステムクロック誤差による検査ミスの防止を図る。
【０２２８】
図ｃ４は、本発明の一側面に関する可視光通信システムでの効率的な復号化方法の流れを説明するためのフローチャートである。ステップＳ４０１において、受信端は、送信端から可視光信号を受信する。前記可視光信号は、少なくとも、一部分が前記送信端では、その送信端のステートマシンの状態により変化する秘密キーにて暗号化されたものである。１つの実施例においては、前記可視光信号は通信データ及び前記送信端の識別子を有する。前記通信データは、前記送信端のステートマシンの状態により変化する秘密キーにて暗号化されたが、前記送信端の前記識別子は、暗号化されていない。例えば、前記通信データは、利用者の身元識別（ＩＤ）情報、前記送信端の識別子は、前記送信端の装置番号でもよい。可視光通信システムにおいて、送信端の装置番号は、送信端にとって、唯一なものであるので、送信端を識別する唯一なものとして使われる。前記通信データ、例えば利用者ＩＤは、送信端の識別番号と関連付けて受信端に記憶されているものである。
【０２２９】
ステップＳ４０２において、前記受信端のステートマシンの現在状態及びその直前及び／又は直後の少なくとも１つの状態に対応する秘密キーにて前記可視光信号に復号化処理を施す。本発明の一側面によれば、受信端のステートマシンの現在状態のほかに、受信端は、現在状態の直前の設定したＮ個の状態、現在状態の直後の設定したＮ個の状態、又はこれらの組み合わせ状態を用いて、受信端と送信端のシステムクロックの相対スピードを決める。例えば、受信端のシステムクロックが、送信端のシステムクロックより進んでいる場合を考えてみる。受信端のステートマシンの現在状態のほかに、受信端は、現在状態の直前の設定したＮ個の状態しか使わなくてもよい。受信端のシステムクロックが、送信端のシステムクロックより遅れている場合には、受信端のステートマシンの現在状態のほかに、受信端は、現在状態の直後の設定したＮ個の状態しか使わなくてもよい。受信端と送信端のシステムクロック相対スピードがまだよく分からない場合には、受信端のステートマシンの現在状態のほかに、受信端は、現在状態の直前の設定したＮ個の状態及び現在状態の直後の設定したＮ個の状態のいずれを用いても良い。前記設定したＮ個のＮは、受信端と送信端の水晶振動子の精度、受信端と送信端の処理能力などによるものとする。
【０２３０】
１つの実施例においては、受信端は、まず、そのステートマシンの現在状態に対応する秘密キーを用いて前記可視光信号に復号化を施す。その復号化処理が成功した場合、終了する。その復号化処理が失敗した場合、引き続いてその現在状態の直前及び／又は直後の設定したＮ個の状態に対応する秘密キーを用いて復号化する。例えば、受信端は、前記可視光信号の復号化に成功した、或いは前記現在状態の直前及び／又は直後の設定したＮ個の状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の設定したＮ個の状態に対応する秘密キーを１つずつ順番に使って前記可視光信号に復号化を施す。
【０２３１】
暗号化された通信データと暗号化されていない前記送信端の識別子が含まれる可視光信号の実施例においては、受信端は、まず、可視光信号から送信端の識別子を取得し、そしてローカル記憶領域に記録されている、前記識別子に関連する通信データを検索する。受信端は、選定された状態のある状態に対応する秘密キーを用いて通信データを復元して、復元された通信データを受信端のローカル記憶領域に記憶されている通信データと比較する。比較の結果、同じである場合、復号化が成功したと認められる。例えば、復元された利用者ＩＤが受信端のローカル記憶領域に記憶されている利用者ＩＤと同一である場合、前記可視光信号が合法であると判定される。そうでなければ、前記可視光信号の復号化に成功した、或いは選定した状態に対応するすべての秘密キーを用いて可視光信号を復号化する処理を終了するまで、引き続いて、残りの状態に対応する秘密キーを用いて前記可視光信号に復号化を施す。前記現在状態及びその直前及び／又は直後の設定したＮ個の状態に対応するすべての秘密キーを用いて可視光信号に復号化を行った結果、１回でも成功しなかった場合、前記可視光信号が非合法であると判定される。
【０２３２】
上述した効率的な復号化処理においては、まず、現在状態に対応する秘密キー、そして、現在状態の直前・直後の設定したＮ個の状態に対応する秘密キーを用いて復号化する順番とする。但し、前記の順番は、例として挙げているものである。実際は、受信端は、任意に設定した順番通りに、前記可視光信号の復号化に成功した、或いは現在状態及び現在状態の直前及び／又は直後の少なくとも１つの状態に対応するすべての秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて、前記可視光信号の復号化を繰り返す。
【０２３３】
ここでは、説明を簡略化するために、上記の効率的な復号化方法を一連の動作として図により説明したが、これらの方法は動作実行の手順に限定されていないことを理解いただきたい。１つ又は複数の実施例によって、いくつかの動作が別の手順で実行され、かつ／又は本明細書に図示・記載されている、又は本明細書に図示・記載されていないが、当業者に理解される他の動作も同時に実行される。例えば、上記の現在状態の１つ以上の状態を選定して復号化するという手順について、１回に１つずつ状態を検索することが可能である。その状態に対応する秘密キーによる復号化が失敗すると、復号化が成功した、或いは設定したＮ個の状態をすべて検索するまで、引き続きその次の状態を順番に検索して、復号化を行う。或いは、現在状態とその直前・直後の設定したＮ個の状態を１回に検索してから、復号化が成功するまで、それらの状態に対応する各秘密キーを１つずつ順番に使って復号化する。
【０２３４】
以下、図ｃ３の状態図を参照して、上述の効率的な復号化方法を説明する。受信端は、標準時間ｔ１に、送信端から送信されてきた可視光信号を受信する。受信端は、受信された可視光信号をデジタル信号に変換し、また、暗号化されていない前記送信端の装置番号を優先的に取得する。この際、受信端のステートマシンの現在状態は、Ｎ＋６となる。現在状態Ｎ＋６のほかに、受信端は、現在状態の直前の設定したＮ個（例えば、Ｎ＝２個）の状態であるＮ＋４、Ｎ＋５、及び現在状態の直後の２個の状態であるＮ＋７、Ｎ＋８を使用することができる。受信端は、まず、現在状態Ｎ＋６に対応する擬似コード列を用いて前記デジタル信号を復号化する。例えば、理論ＸＯＲ演算を行って、利用者ＩＤを１つ取得する。受信端は、復号化によって得られた前記利用者ＩＤをローカル記憶領域に記憶されている、前記送信端に関連する利用者ＩＤと比較して、比較の結果が、同じではない場合、復号化が失敗したと認められる。次に、受信端は、設定した順番で、現在状態の直前・直後にある４個の状態に対応する擬似コード列を用いて前記デジタル信号に論理ＸＯＲ演算を行う。前記の設定した順番は、現在状態近くの状態から順次に行う順番であってもよい。例えば、Ｎ＋７、Ｎ＋５、Ｎ＋８、Ｎ＋４であってもよい。受信端は、状態Ｎ＋７に対応する擬似コード列を用いて復号化する。復号化によって得られた利用者ＩＤとローカル記憶領域に記憶されている利用者ＩＤとは同じではないので、受信端は引き続いて、状態Ｎ＋５に対応する擬似コード列を用いて復号化する。その際には、復号化によって得られた利用者ＩＤは、ローカル記憶領域に記憶されている利用者ＩＤと同じであるので、復号化が成功したと認められ、前記可視光信号が合法である信号と識別され、処理が終了する。上記のように、前記の設定した順番は、必要に応じて設定される。例えば、受信端は、復号化に成功するまで、Ｎ＋４、Ｎ＋５、Ｎ＋６、Ｎ＋７、Ｎ＋８の順番で、対応する擬似コード列を用いて復号化する。
【０２３５】
図ｃ５は、本発明の一側面に関する通信装置５００を説明するためのブロック図である。通信装置５００は、送信装置から可視光信号を受信する受信装置５０２を有する。前記可視光信号は、送信装置において、少なくとも一部分が送信装置のステートマシンの状態により変化する秘密キーにて暗号化されたものである。通信装置５００はさらに、復号化器５０４を有する。復号化器５０４は、通信装置５００のステートマシンの現在状態及びその現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて、前記可視光信号を復号化する。本発明の一側面によれば、通信装置５００のステートマシンの現在状態のほかに、復号化器５０４は、現在状態の直前の設定したＮ個の状態、現在状態の直後の設定したＮ個の状態、又はこれらの組み合わせ状態を用いて、通信装置５００と送信装置のシステムクロックの相対スピードを決める。１つの実施例においては、復号化器５０４は、まず、通信装置５００のステートマシンの現在状態に対応する秘密キーを用いて前記可視光信号に復号化を施す。その復号化処理が成功した場合、終了する。その復号化処理が失敗した場合、復号化器５０４は、引き続いてその現在状態の直前及び／又は直後の設定したＮ個の状態に対応する秘密キーを順次に用いて復号化する。例えば、復号化器５０４は、前記可視光信号の復号化に成功した、或いは前記現在状態の直前及び／又は直後の設定したＮ個の状態に対応する秘密キーを順次に用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の設定したＮ個の状態に対応する秘密キーを１つずつ順番に使って前記可視光信号に復号化を施す。擬似コード信号発生器５０８では、通信装置５００のステートマシンの状態により変化する秘密キー、例えば、擬似コード列信号が生成される。
【０２３６】
通信装置５００は、さらに、記憶装置５１０を有するようにしてもよい。記憶装置５１０は、例えば、通信装置５００のステートマシンのような状態情報５１２を記憶される。通信装置５００は、さらに処理装置５０６を有するようにしてもよい。前記処理装置５０６は受信装置５０２により受信される情報の解析に用いる処理装置、通信装置５００の１つ又は複数のモジュールのコントロールに用いる処理装置、及び／又はこれらの組み合わせからなる処理装置であってもよい。
【０２３７】
図ｃ６は、本発明の一側面に関する通信装置６００を示すブロック図である。通信装置６００には機能ブロックが設定されているが、これらの機能ブロックは、処理装置、ソフトウェア又はこれらの組み合わせ（例えば、ファームウェア）から構成されることは、理解されるべきである。通信装置６００は、多くの機能を実現できる電気部品を含む論理グルーピング手段６０２を有する。例えば、論理グルーピング手段６０２は、受信端で、送信端から可視光信号を受信する電気部品６０４を有するようにしてもよい。前記可視光信号は、送信端において、少なくとも一部分が送信端のステートマシンの状態により変化する秘密キーにて暗号化されるものである。また、論理グルーピング手段６０２は、受信端のステートマシンの現在状態及び現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号に復号化を行う電気部品６０６を有するようにしてもよい。なお、通信装置６００は、電気部品６０４及び６０６に関連する機能の実行に用いるコマンドを記憶する記憶装置６０８を有するようにしてもよい。記憶装置６０８の外部に図示しているが、電気部品６０４と６０６の１つ又は複数のものが記憶装置６０８に設置され得ることは、理解されるべきである。
【０２３８】
実施例４
本実施例におけるクロック調節方法は、受信端の秘密キー取得に適用されるだけでなく、他の場合にも適用される。本実施例におけるクロック調節方法は、独立の発明として提供されるものとする。
【０２３９】
図ｄ１は、本発明に関する可視光通信システム１００ｄの実現方法を説明するためのブロック図である。可視光通信システム１００ｄは、送信端１１０ｄと受信端１２０ｄを有する。送信端１１０ｄは、符号化器１１１ｄ及び符号化器１１１ｄに結合されている擬似コード信号発生器１１２ｄを有する。符号化器１１１ｄは、初期の通信データを受信し、擬似コード信号発生器１１２ｄによって生成された擬似コード信号を用いて、初期の通信データに符号化を行って、スクランブルコード信号が生成される。生成されたスクランブルコード信号は、初期の通信データと異なるので、暗号化される働きを果たす。例えば、本明細書に記載されている専門用語である「暗号化」と「符号化」、及び「復号化」と「デコーディング」は、置き換えて使用できる。初期の通信データは、送信端１１０ｄに関連するＩＤ情報でもよい。符号化器１１１ｄは、スクランブルコード信号を発光ユニット１１３ｄに発送する。発光ユニット１１３ｄは、受信されたスクランブルコード信号を可視光の形にて発送する。発光ユニット１１３ｄは、ＬＥＤ又は他の発光可能な部品でもよい。送信端１１０ｄは、可視光通信によるＩｏＴの手持ち式クライアントでもよい。
【０２４０】
受信端１２０ｄは、送信端１１０ｄから可視光信号を受信して、その可視光信号をデジタル信号に変換する受信ユニット１２３ｄを有する。復号化器１２１ｄは、受信ユニット１２３ｄから出力されたデジタル信号を受信され、また擬似コード信号発生器１２２ｄにより生成された擬似コード信号を用いて前記デジタル信号を復号化して、初期の通信データを復元させる。図ｄ１に示している可視光通信システム１００ｄにおいて、送信端１１０ｄを１つしか示していない。但し、当業者であれば、１つの受信端１２０ｄに対して、通常、複数の送信端１１０ｄが設定されることが理解されるべきである。
【０２４１】
送信端１１０ｄと受信端１２０ｄの受送信の安全性をさらに向上し、ハイスピードカメラによる信号の取得・コピーの防止という効果をとられるために、送信端１１０ｄと受信端１２０ｄにおいて、経時変化する擬似コード列を利用して、初期の通信データに暗号化及び復号化の処理を施す。従って、図ｄ１のように、擬似コード信号発生器１１２ｄは、水晶振動子１１４ｄから供給されているクロック信号を基準として、送信端１１０ｄのステートマシンの状態に基づいて、経時変化する擬似コード信号を出力する。一方、受信端１２０ｄにある擬似コード信号発生器１２２ｄも、水晶振動子１２４ｄから供給されているクロック信号を基準として、受信端１２０ｄのステートマシンの状態に基づいて、経時変化する擬似コード信号を出力する。
【０２４２】
図ｄ２は、可視光通信システム１００ｄでの暗号化・復号化の処理の流れを示すフローチャートである。ステップ２０１ｄにおいて、送信端１１０ｄは、初期の通信データと経時変化する第１擬似コード信号に、論理演算を行い、スクランブルコード信号が得られる。初期の通信データは、例えば、利用者の身元（ＩＤ）情報等のような発送する情報であれば、数字列信号であってもよい。擬似コード信号は、単位時間あたり変化する数字列であるので、その単位時間は、必要に応じて、例えば、１日単位、１時間単位、１分単位、１秒単位等などが設定される。初期の通信データと第１擬似コード信号に行われる論理演算は、論理ＡＮＤ、論理ＯＲ、論理ＸＯＲの演算などであれば、上記演算の任意の２つ又はそれ以上の組み合わせからなるものであってもよい。
【０２４３】
例えば、初期の通信データは、送信端の利用者ＩＤであり、００００１１０１と変わらない。５単位時間Ｔが経過した後、対応する送信端の状態がＮ＋５、第１擬似コード信号は、１０１０１０１０となる場合、初期の通信データと第１擬似コード信号に例えば、「ＸＯＲ」という論理演算を行う。詳細は下表の通りである。
【０２４４】
【表ｄ１】
2015532030.tif 000017
【０２４５】
ステップ２０２ｄにおいて、送信端１１０ｄは、前記スクランブルコード信号を可視光信号の形にて発送する。例えば、送信端１１０ｄは、ＬＥＤランプの点滅によって変調信号を発送する。前記のスクランブルコード信号である１０１００１１１に対して、高速で点滅し続けているＬＥＤランプでは、１が点灯、０が消灯を表わす（又は、０が消灯、１が点灯を表わす）ので，可視光通信の実現に大いに寄与するものと考えられる。
【０２４６】
ステップ２０３ｄにおいて、受信端１２０ｄは、送信端１１０ｄから可視光信号を受信して、その可視光信号をデジタル信号に変換する。例えば、高速で点滅し続けているＬＥＤランプでは、１が点灯、０が消灯を表わす（又は、０が消灯、１が点灯を表わす。）ので，受信した可視光信号がデジタル信号に変換される。光信号は、下記のようにデジタル信号に変換される。まず、フォトダイオードの電気信号と光信号の特性に応じて、電気パルス信号が生じる光電変換を行う。但し、送信端と受信端との位置が異なる。すなわち、各送信端から受信端への光信号強度が異なる。そのために、それらの電気信号の強度も異なる。よって、フォトダイオードによって生じた電流について、整流方式の比較を行う。例えば、フォトダイオードに流れる電流の大きさが規定の閾値より大きい場合、光電変換回路は、出力する電圧レベル値を高レベルに調整するが、フォトダイオードに流れる電流の大きさが規定の閾値より小さい場合、光電変換回路は、出力する電圧レベル値を低レベルに調整する。前記閾値は、数学モデルを使って環境によって設定されたものである。例えば、距離が遠ければ遠いほど、閾値が小さくなるが、距離が近ければ近いほど、閾値が大きくなる。すなわち、閾値と閾値との間の変化は、数学モデルを使って決めたものであって、リニアリティ、ノンリニヤリティのいずれか関係でもよい。上記によれば、レベルが規定範囲内に収まるので、パルス形状の安定度を維持され、サンプリングの正確性が保証され、クロックによる計算精度の保証が図れる。
【０２４７】
ステップ２０４ｄにおいて、受信端１２０ｄは、前記デジタル信号と第２擬似コード信号に例えば、論理演算による復号化処理を行い、初期の通信データが得られる。具体的には、５単位時間Ｔが経過した後、対応する受信端の状態がＮ＋５となり、第２擬似コード信号も１０１０１０１０となり、第１擬似コード信号のコードタイプ、スタート／ストップ位相とは同じである。受信端１２０ｄは、受信された信号と第２擬似コード信号に例えば、「ＸＯＲ」論理演算を行う。詳細は下表の通りである。
【０２４８】
【表ｄ２】
2015532030.tif 000018
【０２４９】
上記から、復号化によって出力された信号が００００１１０１であって、初期の通信データと同じであるので、初期通信データのデコーディングができたことが分かる。
【０２５０】
以上説明したように、受信端の正確な復号化には、受信端の擬似コード信号発生器により生成される擬似コード信号は、送信端の擬似コード信号発生器により生成される擬似コード信号と同時に変化を行わなければならない。具体的には、擬似コード信号は、送受信両端のステートマシンの状態によるものであって、例えば、所定の単位時間（例えば、１秒間、１分間、又は他の規定の時間帯）が経過した後、送受信両端に有るステートマシンのステートが、同時に直前状態のＮから次の状態のＮ＋１に変わる。同時に、送受信両端における暗号化及び復号化に用いる擬似コード信号も、同様に変化する。
【０２５１】
可視光通信システムにおいて、可視光送信端１１０ｄと受信端１２０ｄのシステムクロック精度は、それぞれの水晶振動子１１４ｄ、１２４ｄによるものである。生産方法や作業環境などの影響で、水晶振動子１１４ｄと１２４ｄには、ある程度の誤差が生じる。そのために、送信端１１０ｄと受信端１２０ｄの時間変化も異なる。送受信両端は、同時に０秒からカウントダウン開始し、受信端１２０ｄのシステムクロックの方が若干速いものとする。例えば、基準時刻から１秒経過した時刻になった際に、送信端１１０ｄのシステムクロックが０．９９９９９９秒、受信端１２０ｄのシステムクロックが１．０００００１秒となり、この両者の誤差は１．０００００１−０．９９９９９９＝０．０００００２秒となる。そうすれば、基準時刻から５０００００秒経過した時刻になった際に、送受信両端のシステムクロックの表示は１秒ほどの誤差があると思われる。
【０２５２】
システムの具体事例において、送信端と受信端のシステムクロックの時間変化量は、それぞれのシステムクロックの最小時間間隔、すなわち水晶振動子の周期（サイクル数）によって計測される。注意して頂きたいのは、ここでは、水晶振動子の周期とは、水晶振動子が実際、発振する周期（以下、水晶振動子の実行サイクルと言う）を指す。例えば、送信端１１０ｄにおける水晶振動子１１４ｄの公称周波数をｆ１公称＝１ＭＨｚとする場合、水晶振動子の公称周期は、Ｔ１公称＝１０−６ｓとなる。理想的には、水晶振動子１１４ｄは絶対に正しくて誤差がなく、つまり水晶振動子１１４ｄの実際の周波数（以下、水晶振動子の実際周波数と言う）をｆ１システム＝ｆ１公称＝１ＭＨｚとすれば、水晶振動子１１４ｄの実行サイクルは、Ｔ１システム＝Ｔ１公称＝１０−６ｓとなり、送信端１１０ｄにおける各ｆ１公称（＝１０６）個のＴ１システムを送信端のシステムクロックの時間間隔の１秒間とする場合、送信端での時間間隔１秒は、標準時間の１秒と等しいと見られる。同じく、例えば、受信端１２０ｄの水晶振動子１２４ｄの公称周波数をｆ２公称＝１ＭＨｚ、水晶振動子の公称周期をＴ２公称＝１０−６ｓとする。理想的には、水晶振動子１２４ｄは絶対に正しくて誤差がなく、つまり水晶振動子１２４ｄの実際周波数をｆ２システム＝ｆ２公称＝１ＭＨｚとすれば、水晶振動子１２４ｄの実行サイクルは、Ｔ２システム＝Ｔ２公称＝１０−６ｓとなり、受信端１２０ｄにおける各ｆ２公称（＝１０６）個のＴ２システムを受信端のシステムクロックの時間間隔の１秒間とする場合、受信端での時間間隔１秒は、標準時間の１秒と等しいと見られる。
【０２５３】
但し、生産方法や作業環境等の影響で、水晶振動子の実際周波数と公称周波数は、等しくなく、ある程度の誤差がある。例えば、ｆ１システム＜ｆ１公称＝１ＭＨｚとする場合、Ｔ１システム＞Ｔ１公称＝１０−６秒となる。送信端１１０ｄは、変わらずにｆ１公称（１０６個）のＴ１システムを時間間隔の１秒に設定される。なぜ送信端の時間が合ってない（遅れ・進み）かについて、よく理解するには、上記は一番だと思われる。この際、送信端１１０ｄのシステムクロックの１秒間に対して、実際経過した標準時間は、ｆ１公称・Ｔ１システムとなった。実際の経過時間は１秒より長く、すなわち、送信端１１０ｄの時間は標準時間より遅れる。ｆ２システム＞ｆ２公称＝１ＭＨｚとする場合、Ｔ２システム＜Ｔ２公称＝１０−６秒となるが、受信端１２０ｄは、変わらずにｆ２公称（１０６個）のＴ２システムをシステムクロック時間の１秒に設定される。この際、受信端１２０ｄのシステムクロックの１秒間に対して、実際経過した標準時間は、ｆ２公称・Ｔ２システムとなった。実際の経過時間は１秒より短く、すなわち、受信端１２０ｄの時間は標準時間より進む。上記から、標準時間に対して、送受信両端のクロック時間は、なぜ合っていない（遅れ・進み）かがよくわかる。
【０２５４】
送信端１１０ｄと受信端１２０ｄの状態変化は、両方とも自身のシステムクロックによるものである。前記送受信両端のシステムクロックの間には、誤差が生じているので、送信端１１０ｄと受信端１２０ｄのステートマシンの状態は、同時に変化することができなくなる可能性がある。送信端１１０ｄと受信端１２０ｄのステートマシンが基準とする時間Ｔにより変化する場合を考えてみる。例えば、送信端１１０ｄのクロックは標準時間より遅れているが、受信端１２０ｄのクロックは、標準時間より進んでいる。所定の標準時間が経過した後、送信端１１０ｄと受信端１２０ｄとの間には、Ｔという時間誤差が生じていた。その際は、送信端１１０ｄは状態Ｎ、受信端１２０ｄは状態Ｎ＋１となっている。すなわち、受信端１２０ｄにおける復号化に用いる擬似コード信号は、送信端１１０ｄにおける暗号化に用いる擬似コード信号と異なるので、受信端１２０ｄは、正しく復号化することができなくなってしまう。
【０２５５】
図ｄ３は、送信端及び受信端におけるステートマシンの状態の経時変化を示す図である。図ｄ３のように、標準時間ｔ０の時刻に、送信端と受信端のシステムクロックをぴったり合わせており、また、送信端と受信端の状態は、両方とも状態Ｎとなっている。ある時間が経過して、標準時間ｔ１の時刻になった際に、送信端は、クロックの遅れで、まだ状態Ｎ＋５となっているが、受信端は、クロックの進みで、もう状態Ｎ＋６となっている。よって、受信端における復号化に用いる擬似コード信号は、送信端における暗号化に用いる擬似コード信号と異なり、復号化できず、エラーとなってしまう。
【０２５６】
上記のように、システムクロックの時間は、標準時間に対して、遅れ・進みが発生する傾向性がある。送信端１１０ｄと受信端１２０ｄのシステムクロックの遅れ・進み具合を確認するために、本発明は「クロック変動パラメータ」という定義を導入する。クロック変動パラメータとは、システムクロックの単位時間内に、実際経過した時間を指す。１秒の単位で時間を指定する場合を例とする。上記のように、送信端１１０ｄの単位時間（１秒あたり）内に、実際の経過時間はｆ１公称・Ｔ１システムとなる。システムクロックの遅れ・進み具合によって、前記実際の経過時間ｆ１公称・Ｔ１システムは、１秒以上又は１秒以下となる可能性がある。受信端１２０ｄの単位時間（１秒あたり）内に、実際の経過時間はｆ２公称・Ｔ２システムとなる。前記実際の経過時間は、システムクロックの遅れ・進み具合によって、１秒以上又は１秒以下となる可能性がある。
【０２５７】
送受信両端におけるシステムクロックは同じようでも、実際の経過時間は異なることから、それらのシステムクロックの遅れ又は進みの具合がよくわかる。本明細書において、規定の単位時間内での受信端１２０ｄの実際の経過時間と前記単位時間内での送信端１１０ｄの実際の経過時間との比で表される値を送信端１１０ｄのクロック遅れ・進み係数と呼ぶ。１秒の単位で時間を指定する場合を例として説明すれば、送信端１１０ｄのクロック遅れ・進み係数ＱはＱ＝（ｆ２公称・Ｔ２システム）／（ｆ１公称・Ｔ１システム）となる。前記クロック遅れ・進み係数は、規定の単位時間内での送信端の変化の幅と前記単位時間内での受信端の変化の幅との比で表される値と等しいことが明らかになる。そのために、受信端１２０ｄにおいて、受信端１２０ｄのシステムクロックの変化によって、送信端１１０ｄのシステムクロックの変化を決定される。
【０２５８】
受信端１２０ｄでの前記クロック遅れ・進み係数を決めるために、受信端１２０ｄの水晶振動子の実行サイクルＴ２システムのサイクル数を用いて送受信両端にあるクロックの単位時間内での実際の経過時間が計測される。送信端１１０ｄから送信される可視光信号の１個の光パルスの公称持続時間Ｔ０公称を前記単位時間とする。Ｔ０公称は、信号の公称ボーレートにより決められるものであって、具体的には、ボーレートの逆数である。例えば、公称ボーレートが４８００ｂｐｓとなる場合、１個の光パルスの公称持続時間はＴ０公称＝１／４８００秒となる。可視光通信システムにおいて、通信に用いる可視光のボーレートは、通常、送受信の両端でネゴシエーションされるものであるので、受信端１２０ｄに知られる。受信端１２０ｄのシステムクロックのＴ０公称内に実際経過した時間については、計算によって得られる。詳細には、（Ｔ０公称・ｆ２公称）・Ｔ２システム、すなわち、（Ｔ０公称・ｆ２公称）個の実行サイクルが計算される。送信端１１０ｄのシステムクロックのＴ０公称内に実際経過した時間は、受信端１２０ｄにおける実測した、送信端１１０ｄから受信された可視光信号の１個の光パルスの持続時間によって得られ、そして受信端１２０の水晶振動子の実行サイクルを単位にして、Ｍ・Ｔ２システムと記載される。また、送信端１１０ｄのクロック遅れ・進み係数Ｑは、Ｑ＝（Ｔ０公称・ｆ２公称）／Ｍとなる。よって、受信端１２０ｄの経過した時間に基づいて、計算によって、送信端１１０ｄのシステムクロックの変化がわかる。
【０２５９】
通常、可視光通信システム構築の初期段階において、送受信両端のシステムクロック誤差が時間によって大きくなると思われず、びったり合っていると思われる。従って、装置試運転などの初期段階において、受信端１２０ｄと送信端１１０ｄで初回通信を行う場合、受信端１２０ｄのローカル記憶領域に記憶されている送信端１１０ｄのクロック情報について、詳細に言えば、送信端１１０ｄのクロック情報をその際の受信端１２０ｄのクロック情報と同じように設定される。クロック情報は、システムクロックのシステムクロック値でもよい。例えば、その際、送信端１１０ｄと受信端１２０ｄのシステムクロックのシステムクロック値が０である場合を考えてみる。送受信両端のシステムクロックがぴったり合っているので、その際の受信端１２０ｄのローカル記憶領域に記憶されている送信端１１０ｄのクロック情報は、送信端１１０ｄの実質的なクロック情報と同じである。
【０２６０】
注意して頂きたいのは、受信端１２０ｄに記憶されている送信端１１０ｄのクロック情報の変化が、受信端１２０ｄ自身のシステムクロックの変化と同じなので、システム構築した以後、時間経過によって、受信端１２０ｄに記憶されている送信端１１０ｄのクロック情報は、送信端１１０ｄでの実質的なクロック情報との間に、誤差が生じると考えられる。すなわち、受信端１２０ｄのシステムクロックの指定した時間は、受信端１２０ｄのローカル記憶領域に記憶されている送信端１１０ｄのクロック情報の変化幅も前記指定した時間と等しい。但し、送信端１１０ｄの実質的なクロック情報の変化幅が前記指定した時間と送信端１１０ｄの時間遅れ進み因子の積になるはずである。従って、前記指定した時間間隔ごとに生じた前記誤差は、前記指定した時間にて送信端１１０ｄのクロック遅れ・進み係数と前記指定した時間の積を引いた値である。そのために、受信端１２０ｄに記憶されている送信端１１０ｄのクロック情報から前記誤差を引くことで、更新を行う。指定した時間間隔ごとに、受信端１２０ｄでは、記憶されている送信端１１０ｄのクロック情報から前記誤差を引くことで、更新された送信端１１０ｄのクロック情報を送信端１１０ｄでの実質的なクロック情報と同じにする。
【０２６１】
例えば、前記指定した時間を５分とし、そしてＱ＝４／５とする場合を例として、もう少し具体的に説明しよう。受信端１２０ｄは、０時からシステムクロックの５分が経過した際に、受信端１２０ｄのローカル記憶領域に記憶されている送信端１１０ｄのクロック情報が０時５分となる。但し、送信端１１０ｄのクロックの真の時間が５×４／５＝４分と表示される。つまり、５−４＝１分の誤差が生じる。そして、ローカル記憶領域に記憶されている送信端１１０ｄのクロック情報である０時５分から１分の誤差を引くことで、０時４分に更新される。同様に、受信端１２０ｄでは、さらにシステムクロックの５分が経過した場合、ローカル記憶領域に記憶されている送信端１１０ｄのクロック情報は、０時９分となるが、生じた１分の誤差も含まれているので、更新された送信端１１０ｄのクロック情報は、０時８分となる。
【０２６２】
送受信両端の水晶振動子の誤差は、温度などの環境条件によって変化する可能性があるので、送信端１１０ｄのクロック遅れ・進み係数も変化する可能性があると考えられる。従って、それ以降、送信端１１０ｄから可視光信号を受信する都度、受信した新しい可視光によって前記クロック遅れ・進み係数を再計算する。そして、受信端１２０ｄは、ローカル記憶領域に記憶されている送信端１１０ｄのクロック情報に基づいて、復号化に用いる擬似コード信号を選択する。ローカル記憶領域に記憶されている送信端１１０ｄのクロック情報は、指定した時間間隔ごとに１回自動調節されるので、送信端１１０ｄの実際のクロック情報との誤差があまり大きくならないと考えられる。よって、受信端１２０ｄに記憶されている送信端１１０ｄのクロック情報に基づいて選定された擬似コード信号を、送信端１１０ｄでの送信端１１０ｄの真のクロック情報に基づいて選定された擬似コード信号と同期することができる。
【０２６３】
図ｄ４は、本発明の一側面に関する可視光通信システムにおけるクロックの自動調節方法を説明するためのフローチャートである。ここでは、説明を簡略化するために、上記の効率的な復号化方法を一連の動作として図により説明したが、これらの方法は動作実行の手順に限定されていないこと、また１つ又は複数の実施例によって、いくつかの動作が別の手順で実行されること、及び／又は本明細書に図示・記載されている他の動作も同時に実行されることは、理解されるべきである。
【０２６４】
ステップ４０１において、受信端は、少なくとも１つの送信端から発送された第１送信端の可視光信号を受信する。前記受信端は、図ｄ１における受信端１２０ｄでもよく、第１送信端は、図ｄ１における送信端１１０ｄでもよい。前記可視光信号は、例えば、１が点灯、０が消灯を表わす（又は、０が消灯、１が点灯を表わす）光パルス信号でもよい。前記可視光信号は、通常、前記第１送信端の利用者身元（ＩＤ）情報を含める。前記ＩＤ情報は、第１送信端のシステムクロックにより変化する擬似コード信号を用いて暗号化を行う。なお、前記可視光信号は、さらに、例えば、第１送信端の装置番号のような前記第１送信端を識別する識別子を有するようにしてもよい。送信端の装置番号は、システムにおいて、１つしかないものなので、ある送信端を識別する唯一独自のシリアル番号を提供する。前記識別子は暗号化されていないものであるので、受信端は直接に解読できる。
【０２６５】
ステップ４０２において、第１送信端から可視光信号を受信して、第１送信端のクロック変動パラメータと受信端のクロック変動パラメータを決定する。上記のように、第１送信端のクロック変動パラメータは、第１送信端のシステムクロックの単位時間内での実際の経過時間であって、前記の実際の経過時間は、受信端の水晶振動子の実行サイクルを単位にして計測される。１つの実施事例において、前記単位時間は、第１送信端から受信された可視光信号の１個の光パルスの公称持続時間であるが、前記公称持続時間は、可視光信号の公称ボーレートの逆数である。第１送信端のクロックの前記単位時間内での実際の経過時間は、受信端での前記可視光信号の１個の光パルス的持続時間の実測によって得られ、また、受信端の水晶振動子の実行サイクルを単位にして、Ｍ・Ｔ２システムと記載される。１つの実施事例において、受信端は、前記可視光信号をデジタル信号に変換され、また前記デジタル信号の１個のパルスの高レベル又は低レベルから前記高レベル又は低レベルまでの期間に、Ｔ２システムが何個行ったかカウントして、Ｍという数字が得られる。
【０２６６】
受信端のクロック変動パラメータは、受信端のクロックの前記単位時間内での実際の経過時間であって、前記実際の経過時間は、受信端の水晶振動子の実行サイクルを単位にして、計測される。前記単位時間が第１送信端から受信された可視光信号の１個の光パルスの公称持続時間Ｔ０公称である事例において、受信端のクロックの前記単位時間内での実際の経過時間は、（Ｔ０公称・ｆ２公称）・Ｔ２システムとして計算される。
【０２６７】
ステップ４０３において、第１送信端の前記クロック変動パラメータ及び受信端の前記クロック変動パラメータに基づいて、第１送信端のクロック遅れ・進み係数を決定する。第１送信端のクロック遅れ・進み係数は、受信端のクロックの前記単位時間あたりの実際の経過時間と第１送信端のクロックの前記単位時間あたりの実際の経過時間との比を表わしたものである。前記単位時間が第１送信端から受信された可視光信号の１個の光パルスの公称持続時間Ｔ０公称である事例において、前記送信端のクロックのクロック遅れ・進み係数Ｑは、Ｑ＝（Ｔ０公称・ｆ２公称）／Ｍとなる。Ｔ０公称とｆ２公称は、受信端にとって、既知の値であり、Ｍは実測されるものであるために、受信端は、第１送信端のクロック遅れ・進み係数の値を得ることができる。
【０２６８】
ステップ４０４において、第１送信端の前記クロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、前記受信端のローカル記憶領域に記憶されている第１送信端のクロック情報を更新する。上記のように、クロック遅れ・進み係数は、規定の単位時間内での第１送信端の変化幅と前記単位時間内での受信端の変化幅との比で表される値と等しいことが分かる。そのために、受信端は、前記指定した時間間隔ごとに、第１送信端のシステムクロックの真の変化幅は前記クロック遅れ・進み係数と前記指定した時間間隔の積であるはずであるが、受信端のローカル記憶領域に記憶されている第１送信端のシステムクロックの変化幅が前記指定した時間であるために、ローカル記憶領域に記憶されている第１送信端のクロック情報の誤差は前記指定した時間から前記の積を引いた差の値である。さらに、ローカル記憶領域に記憶されている第１送信端のクロック情報から前記誤差を引くことで更新を行われて、前記誤差を取り除くことができる。上記方法によって、前記指定した時間が経過する都度、ローカル記憶領域に記憶されている第１送信端のクロック情報が更新される。
【０２６９】
受信端のローカル記憶領域における前記第１送信端のクロック情報は、最初は、受信端と第１送信端がシステム構築の初期段階（例えば、初回）の通信を行った際に受信端の当初のクロック情報として記憶、また設定されたものでもよい。なぜかというと、可視光通信システムにおける送受信の両端が通常、システム構築の初期段階、例えば、システム構築・試作の段階に初回の通信を行うが、その際の受信端には、まだ第１送信端のクロック情報が記憶されていなかったからである。システム構築の初期段階において、送受信両端のクロック情報がほぼ同一であると思われるので、受信端の現在のクロック情報を第１送信端のクロック情報として受信端のローカル記憶領域に記憶する。クロック情報は、システムクロックのシステム時間でもよい。例えば、受信端は、初回に第１送信端から可視光信号を受信した際に、可視光信号から直接に第１送信端の識別子、例えば、装置番号を読み取り、そして、前記第１送信端の識別子と関連付けて、ローカル記憶領域に第１送信端のクロック情報を記憶する。
【０２７０】
図ｄ４には図示していないが、前記方法は、それ以降、前記第１送信端から可視光信号を受信する都度、受信された新しい可視光により前記クロック遅れ・進み係数を再計算し、また、その計算結果に基づいて、前記指定した時間間隔ごとに、ローカル記憶領域に記憶されている第１送信端のクロック情報を更新する手段を備える。上記の手段によって、受信端のローカル記憶領域に記憶されている送信端のクロック情報は、適時に更新されるので、送信端の真のクロック情報と、ほぼ同じになる。受信端は、それ以降に第１送信端から可視光を受信した際、ローカル記憶領域に記憶されている第１送信端のクロック情報に基づいて、対応する擬似コード信号を選定してそれを用いて受信された可視光信号を復号化する。上記方法で選定された擬似コード列であれば、当然に第１送信端における暗号化に用いる擬似コード列と同じであるため、正しく復号化できるようになる。
【０２７１】
図ｄ５は、本発明の一側面に関する通信装置５００ｄを説明するためのブロック図である。受信装置５０２ｄは、少なくとも１つの送信装置から第１送信装置の可視光信号を受信する。クロック変動パラメータ決定モジュール５０４ｄは、第１送信装置から受信された可視光信号に基づいて、第１送信装置のクロック変動パラメータと通信装置５００ｄ自身のクロック変動パラメータを決定する。上記のように、クロック変動パラメータは、システムクロックの単位時間内での実際の経過時間でもよい。前記単位時間が第１送信装置における可視光信号の１個の光パルスの公称持続時間である場合、第１送信装置のシステムクロックの単位時間内での実際の経過時間は、クロック変動パラメータ決定モジュール５０４ｄが前記通信装置５００ｄにおいて、第１送信装置から可視光信号を受信し、可視光信号の１個の光パルスの持続時間を計測して得られ、また通信装置５００ｄの水晶振動子の実行サイクルを単位にして、Ｍ・Ｔ２システムと記載される。また、前記通信装置５００ｄのシステムクロックの前記単位時間内での実際の経過時間は、クロック変動パラメータ決定モジュール５０４ｄより（Ｔ０公称・ｆ２公称）・Ｔ２システムとして計算される。Ｔ０公称は、前記可視光信号の１個の光パルスの公称持続時間、ｆ２公称は、前記通信装置５００ｄの水晶振動子の公称周波数、Ｔ２システムは、前記通信装置５００ｄの水晶振動子の実行サイクルである。クロック遅れ・進み係数決定モジュール５０６ｄは、第１送信装置のクロック変動パラメータ及び通信装置５００ｄ自身のクロック変動パラメータに基づいて、第１送信端のクロック遅れ・進み係数を決定する。本発明の一側面によれば、クロック遅れ・進み係数決定モジュール５０６ｄは、第１送信装置のクロック遅れ・進み係数を前記通信装置５００ｄのシステムクロックの前記単位時間内での実際の経過時間と第１送信装置のシステムクロックの前記単位時間内での実際の経過時間との割合に決定する。クロック情報更新モジュール５０８ｄは、第１送信装置のクロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、通信装置５００ｄのローカル記憶領域に記憶されている第１送信装置のクロック情報を更新する。本発明の一側面によれば、前記指定した時間は、通信装置５００ｄにおけるシステムクロックの指定した時間を指すものであり、前記指定した時間間隔ごとに、通信装置５００ｄのローカル記憶領域に記憶されている第１送信装置のクロック情報の誤差は、前記指定した時間から第１送信装置のクロック遅れ・進み係数と前記規定時間との積を引いた値であるために、クロック情報更新モジュール５０８ｄは、ローカル記憶領域に記憶されている第１送信装置のクロック情報から前記誤差を引くことで更新を行う。それ以降、第１送信装置から可視光信号を受信する都度、復号化器５１０ｄは、記憶されている第１送信装置のクロック情報に基づいて、対応する擬似コード信号を選定し、受信された可視光信号に復号化を行う。
【０２７２】
通信装置５００ｄは、さらに記憶装置５１４ｄを有するようにしてもよい。記憶装置５１４ｄには、クロック情報５１６ｄ、例えば、第１送信装置のクロック情報が記憶される。通信装置５００ｄはさらに、処理装置５１２ｄを有するようにしてもよい。前記処理装置５１２ｄは、受信装置５０２ｄが受信した情報を解析する専用の処理装置、通信装置５００ｄの１つ又は複数の部品を制御する処理装置、及び／又はこれらの２つからなる処理装置でもよい。
【０２７３】
図ｄ６は、本発明の一側面に関する通信装置６００ｄを説明するためのブロック図である。通信装置６００ｄには、機能ブロックが設定されているが、これらの機能ブロックは処理装置、ソフトウェア又はこれらの組み合わせ（例えば、ファームウェア）から構成されることは、理解されるべきである。通信装置６００ｄは、電気部品を連携できる論理グルーピング手段６０２ｄを有する。例えば、論理グルーピング手段６０２ｄは、少なくとも１つの第１送信装置の可視光信号を受信する電気部品６０４ｄを有するようにしてもよい。論理グルーピング手段６０２ｄは、前記第１送信装置から受信された前記可視光信号に基づいて、前記第１送信装置のクロック変動パラメータ及び受信装置のクロック変動パラメータを決定する電気部品６０６ｄを有するようにしてもよい。論理グルーピング手段６０２ｄはさらに、前記第１送信装置の前記クロック変動パラメータ及び前記受信装置の前記クロック変動パラメータに基づいて、前記第１送信装置のクロック遅れ・進み係数を決定する電気部品６０８ｄを有するようにしてもよい。また、論理グルーピング手段６０２ｄは、前記第１送信装置の前記クロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、ローカル記憶領域に記憶されている前記第１送信装置のクロック情報を更新する電気部品６１０ｄを有するようにしてもよい。なお、通信装置６００ｄは、電気部品６０４ｄ、６０６ｄ、６０８ｄ、及び６１０ｄに関連する機能の実行に用いるコマンドを記憶する記憶装置６１２ｄを有するようにしてもよい。記憶装置６１２ｄの外部に図示しているが、電気部品６０４ｄ、６０６ｄ、６０８ｄ、及び６１０ｄの１つ又は複数のものが記憶装置６１２ｄに設置され得ることは、理解されるべきである。
【０２７４】
なお、情報及び信号が、さまざまな異なる技術やプロセスのうちの何れかの技術・手法を用いて表され得ることは、本分野に関する当業者なら理解できることである。前述した説明を通じて参照されるデータ、命令群、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場又は磁性粒子、光学場又は光学粒子、あるいはこれらの任意の組み合わせによって表現される。
【０２７５】
本明細書で開示された実施例に関連して記載された例示的なさまざまな論理ブロック、モジュール、回路、及びアルゴリズムが、電子的なハードウェア、コンピュータのソフトウェア、あるいはこれらの組み合わせにより実現されることは、本分野に関する当業者であれば、さらに理解できることである。ハードウェアとソフトウェアの互換性をより明確に説明するために、さまざまな例示的な構成要素、ブロック、モジュール、回路、及びステップについて、これらの機能の観点から一般的に記載された。これらの機能がハードウェアとソフトウェアのどちらかで実現されるかについては、具体的な応用及びシステム全体の設計に制限されると考えられる。当業者であれば、特定の用途のおのおのに応じて変化する方式で、前述した機能を実現される。しかしながら、この適用判断は、本発明の範囲からの逸脱をもたらすものと解釈されるべきではない。
【０２７６】
本明細書で開示された態様に関連して記述されたさまざまな例示的な論理ブロック、モジュール、及び回路は、汎用処理装置、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）あるいはその他のプログラマブル論理デバイス、ディスクリート・ゲートあるいはトランジスタ・ロジック、ディスクリート・ハードウェア構成要素、又は上述された機能を実現するために設計された上記何れかの組み合わせを用いて実現又は実行される。汎用処理装置は、マイクロ・プロセッサであり得るが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであってもよい。また、処理装置は、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つ又は複数のマイクロプロセッサ、又はその他の類似の構成である計算装置の組み合わせにより実現される。
【０２７７】
本明細書で開示された実施例に関連して記述された方法やアルゴリズムに関するステップは、ハードウェアによって直接に、処理装置によって実行されるソフトウェアモジュール、又はこれらの組み合わせによって反映される。ソフトウェアモジュールは、ＲＡＭ記憶装置、フラッシュメモリ、ＲＯＭ記憶装置、ＥＰＲＯＭ記憶装置、ＥＥＰＲＯＭ記憶装置、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、又は本分野で知られているその他の型式の記憶媒体に存在し得る。典型的な記憶媒体は、この記憶媒体から情報を読み取ったり、この記憶媒体に情報を書き込むことができるプロセッサのような処理装置に接続される。代替案において、この記憶媒体は、処理装置に統合される。この処理装置と記憶媒体とは、ＡＳＩＣ内に存在し得る。ＡＳＩＣは、ユーザ端末内に存在し得る。代替案において、処理装置及び記憶媒体は、ユーザ端末内のディスクリートな構成要素として存在し得る。
【０２７８】
１つ又は複数の典型的な実施例において、記述された機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによって実現される。ソフトウェアのコンピュータプログラム製品とする場合、各機能を１つ又は複数のコマンド又はコードとしてコンピュータ可読媒体に記憶又は発送される。コンピュータ可読媒体はコンピュータ記憶媒体と通信媒体の２つを含むが、コンピュータのプログラムを移行されるいかなる媒体をも含む。記憶媒体は、コンピュータにアクセスできる使用可能ないかなる媒体であってもよい。以下に例を挙げて説明するが、もちろんそれのみに限定されるわけではない。前記コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ストレージ、ディスクストレージ又はその他のディスクストレージ、或いはコマンド又はデータで構成される適当なソースコードを書き込み可能又は記憶可能、かつコンピュータへのアクセスを許可する他のいかなる媒体であってもよい。いかなるアクセスもコンピュータ可読媒体と正式的に呼ばれる。例えば、同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、デジタル加入者線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などの無線技術を用いてウェブサイト、サーバ、あるいはその他の遠隔地からソフトウェアを伝送されてくる場合、前記同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、デジタル加入者線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などの無線技術は媒体として定義される。本明細書に記載されたディスク（英語表記には「Ｄｉｓｋ」と「Ｄｉｓｃ」の２種類のスペルがあり、磁気メディアにＤｉｓｋ、光学メディアにＤｉｓｃを使うことが多い）は、コンパクトディスク（ＣＤ）、レーザーディスク、光ディスク、デジタル多目的ディスク（ＤＶＤ）、フロッピーディスクやブルーレイディスクを含む。これらの組み合わせも、コンピュータ可読媒体として定義される。
【０２７９】
本発明について好適な実施形態を参照して説明したが、開示された実施の形態に限定されるものではなく、本発明を変更又は修正できることは、当業者であれば、理解されるべきである。これらの態様へのさまざまな変更、入れ替え、改善などは、本発明の精神又は範囲から逸脱することなく、他の態様に適用される。
【図ａ１】
2015532030.tif 000019
【図ａ２】
2015532030.tif 000020
【図ａ３】
2015532030.tif 000021
【図ａ４】
2015532030.tif 000022
【図ｂ１】
2015532030.tif 000023
【図ｂ２】
2015532030.tif 000024
【図ｂ３】
2015532030.tif 000025
【図ｂ４】
2015532030.tif 000026
【図ｂ５】
2015532030.tif 000027
【図ｃ１】
2015532030.tif 000028
【図ｃ２】
2015532030.tif 000029
【図ｃ３】
2015532030.tif 000030
【図ｃ４】
2015532030.tif 000031
【図ｃ５】
2015532030.tif 000032
【図ｃ６】
2015532030.tif 000033
【図ｄ１】
2015532030.tif 000034
【図ｄ２】
2015532030.tif 000035
【図ｄ３】
2015532030.tif 000036
【図ｄ４】
2015532030.tif 000037
【図ｄ５】
2015532030.tif 000038
【図ｄ６】
2015532030.tif 000039
【手続補正書】
【提出日】平成27年3月4日(2015.3.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
送信端から可視光信号を受信する手段であって、前記可視光信号は、前記送信端で秘密キーにて暗号化される手段と、
前記秘密キーを受信して、前記秘密キーにて前記可視光信号を復号化する手段と、を有する可視光信号の復号化処理方法であって、
前記秘密キーの受信は、受信端のステートマシン状態に対応する前記秘密キーを受信するステップ、又は、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップ、を備え、
前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップは、
受信した前記可視光信号をデジタル信号に変換するステップと、
前記デジタル信号を擬似コード列指示コードと擬似コード信号を有する信号に分解するステップと、
前記擬似コード列指示コードに対応する擬似コード列を照合するステップであって、前記擬似コード列が前記秘密キーであるステップと、
前記擬似コード列に基づいて前記擬似コード信号を復号化するステップと、を備え、
前記デジタル信号を擬似コード列指示コードと擬似コード信号を有する信号に分解し、前記擬似コード列指示コードに対応する擬似コード列を照合するステップは、
前記デジタル信号をデバイスアドレスコードと第１合成信号に分解するステップと、
前記第１合成信号を前記擬似コード列指示コードと前記擬似コード信号に分解するステップと、
前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかどうかを判定し、合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項２】
請求項１記載の方法において、前記擬似コード列指示コードに対応する擬似コード列を照合するステップは、
受信した擬似コード列指示コードに基づいて、合法であるかどうかを判定する際に、
前記擬似コード列指示コードが重複なしの昇順に並び替わる大きな数字である場合、前記デバイスアドレスコードに基づいて、既に受信した擬似コード列指示コードを照合して、前記擬似コード列指示コードが既に受信した擬似コード列指示コードより小さいか、又は等しい場合、無効と判定するが、そうでない場合、合法であると判定し、又は、
前記擬似コード列指示コードが重複なしの降順に並び替わる大きな数字である場合、前記デバイスアドレスコードに基づいて、既に受信した擬似コード列指示コードを照合して、前記擬似コード列指示コードが既に受信した擬似コード列指示コードより大きいか、又は等しい場合、無効と判定するが、そうでない場合、合法であると判定し、
合法であると判定した場合、前記擬似コード列指示コードに対応する擬似コード列を照合するが、非合法であると判定した場合、パスワードエラーが表示されるステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項３】
請求項２記載の方法において、前記方法は、
前記デバイスアドレスコードに基づいて、当該装置に対応するＩＤ情報を照合し、当該ＩＤ情報を復号化処理により受信されたＩＤ情報と照合し、照合の結果が同一であることを判定した場合、合法であることを判定して、当該ＩＤ情報を出力するステップを備えたことを特徴とする可視光信号の復号化処理方法。
【請求項４】
請求項１記載の方法において、前記可視光信号に基づいて前記秘密キーの受信に用いる指示情報を受信するステップにて、前記指示情報は、
前記可視光信号に基づいて決定された前記送信端のクロック変動パラメータと前記受信端のクロック変動パラメータと、
前記送信端のクロック変動パラメータ及び前記受信端のクロック変動パラメータに基づいて決定された前記送信端のクロック遅れ・進み係数と、
前記送信端の前記クロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、更新された前記受信端のローカル記憶領域に記憶されている前記送信端のクロック情報であって、前記クロック情報は、前記秘密キーの受信に用いる指示情報であるクロック情報と、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項５】
請求項４記載の方法において、前記送信端のクロック変動パラメータは、前記送信端におけるシステムクロックの単位時間内に実際経過した時間であり、前記受信端のクロック変動パラメータは、前記受信端におけるシステムクロックの単位時間内に実際経過した時間であり、前記実際の経過時間は、両方とも前記受信端での水晶振動子の実行サイクルを単位にして計測されるものであり、
前記送信端のクロック遅れ・進み係数は、前記単位時間内での前記受信端の実際の経過時間と前記単位時間内での送信端の実際の経過時間との割合であり、
前記指定した時間は、前記受信端のシステムクロックの指定した時間であり、前記指定した時間間隔ごとに、前記受信端のローカル記憶領域に記憶されている前記送信端の前記クロック情報の誤差は、前記指定した時間から前記送信端のクロック遅れ・進み係数と前記指定した時間の積を引いた値であり、また、前記受信端のローカル記憶領域に記憶されている前記送信端の前記クロック情報を更新するステップは、ローカル記憶領域に記憶されている前記送信端の前記クロック情報から前記誤差を引くステップを備えるものであることを特徴とする可視光信号の復号化処理方法。
【請求項６】
請求項５記載の方法において、前記送信端のシステムクロックの単位時間内での実際の経過時間は、前記受信端の前記送信端から受信された可視光信号の１個の光パルスの持続時間を計測して得られ、また前記受信端の水晶振動子の実行サイクルを単位にして、Ｍ・Ｔ２システムと記載され、前記受信端のシステムクロックの前記単位時間内での実際の経過時間は、（Ｔ０公称・ｆ２公称）・Ｔ２システムとして計算され、また、Ｔ０公称は、前記可視光信号の１個の光パルスの公称持続時間、ｆ２公称は、前記受信端の水晶振動子の公称周波数、Ｔ２システムは、前記受信端の水晶振動子の実行サイクルであることを特徴とする可視光信号の復号化処理方法。
【請求項７】
請求項１記載の方法において、受信端のステートマシン状態に対応する前記秘密キーを受信し、前記秘密キーに基づいて、前記可視光信号を復号化処理するステップは、
前記受信端のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップであって、前記可視光信号は、前記送信端のステートマシンの状態によって変化する秘密キーにて暗号化されるステップを備え、
前記受信端のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを受信し、その秘密キーを用いて前記可視光信号を復号化処理するステップは、
前記可視光信号の復号化に成功した、或いは、前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応するすべての秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応する秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すステップ、又は、
前記受信端のステートマシンの前記現在状態に対応する秘密キーを用いて前記可視光信号を復号化処理するステップと、
前記受信端のステートマシンの前記現在状態に対応する秘密キーを用いて前記可視光信号に復号化を行い、復号化に失敗した場合、続けて、前記可視光信号の復号化に成功した、或いは、前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項８】
請求項７記載の方法において、さらに、
前記送信端の前記識別子は暗号化されておらず、前記通信データは、前記送信端のステートマシン状態により変化する前記秘密キーで暗号化され、かつ前記受信端のローカル記憶領域に前記送信端の前記識別子と関連付けて記憶されている通信データであり、
前記可視光信号から前記送信端の前記識別子を受信するステップと、
前記受信端のステートマシンの前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの前記状態に対応する秘密キーを用いて、前記可視光信号を復号化し、通信データが得られたステップであって、前記通信データは、前記受信端のローカル記憶領域に記憶されている、前記送信端の前記識別子に関連する通信データと同一であれば、前記の１つの状態に対応する秘密キーによる前記可視光信号の復号化が成功するが、そうでない場合、復号化が失敗するステップと、を備えたことを特徴とする可視光信号の復号化処理方法。
【請求項９】
送信端から可視光信号を受信してデジタル信号を出力する受信装置であって、前記可視光信号は、前記送信端で秘密キーにて暗号化され、又は、送信装置で、少なくとも前記送信装置のステートマシン状態により変化する前記秘密キーの少なくとも一部分を用いて、前記可視光信号が暗号化される受信装置と、
前記秘密キーを受信して、前記秘密キーにて前記可視光信号を復号化し、又は、前記通信装置のステートマシンの現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて、前記可視光信号を復号化する復号化器とを有する通信装置であって、
前記秘密キーの受信は、受信端のステートマシン状態に対応する前記秘密キーを受信するステップ、又は、前記可視光信号に基づいて、前記秘密キーの受信に用いる指示情報を受信し、そして前記指示情報によって前記秘密キーを受信するステップ、を備え、
前記復号化器は、具体的に、前記デジタル信号を擬似コード列指示コードと擬似コード信号に分解する擬似コード列指示コード分解ユニットと、擬似コード列指示コードに対応する擬似コード列を照合する擬似コード列照合ユニットであって、前記擬似コード列は前記秘密キーである擬似コード列照合ユニットと、前記擬似コード列と前記擬似コード信号に、論理演算を行い、論理演算結果を出力する畳み込み復号化器とを有し、
前記復号化器は、さらに、
前記デジタル信号をデバイスアドレスコードと第１合成信号に分解するデバイスアドレスコード分解ユニットと、
前記第１合成信号を擬似コード列指示コードと擬似コード信号に分解する前記擬似コード列指示コード分解ユニットと、
前記デバイスアドレスコードに基づいて、前記擬似コード列指示コードが合法であるかを判定し、合法である場合、擬似コード列指示コードに対応する擬似コード列を照合する前記擬似コード列照合ユニットと、を備えたことを特徴とする通信装置。
【請求項１０】
請求項９記載の装置において、
送信装置から可視光信号を受信する受信装置であって、前記送信装置で、少なくとも前記送信装置のステートマシン状態により変化する前記秘密キーの少なくとも一部分を用いて、前記可視光信号が暗号化される受信装置を備え、
前記復号化器は、前記通信装置のステートマシンの現在状態に対応する秘密キーを用いて前記可視光信号を復号化し、もし、復号化に失敗した場合は、続けて、前記可視光信号の復号化に成功した、或いは、前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返し、又は、
前記復号化器は、前記可視光信号の復号化に成功した、或いは、前記現在状態及び前記現在状態の直前及び／又は直後の少なくとも１つの状態に対応する秘密キーを用いて前記可視光信号の復号化が全部終わるまで、前記現在状態及び前記現在状態の直前及び／又は直後の少くとも１つの状態に対応するすべての秘密キーを用いて特定の順番で、前記可視光信号の復号化を繰り返すことを特徴とする通信装置。
【請求項１１】
請求項９記載の装置において、
前記受信装置は送信端から可視光信号を受信する受信装置であり、
前記復号化器は、前記送信端から受信された前記可視光信号に基づいて、前記送信端のクロック変動パラメータと前記通信装置のクロック変動パラメータを決定するクロック変動パラメータ決定モジュールと、前記送信端の前記クロック変動パラメータと前記通信装置の前記クロック変動パラメータに基づいて、前記送信端のクロック遅れ・進み係数を決定するクロック遅れ・進み係数決定モジュールと、前記送信端の前記クロック遅れ・進み係数に基づいて、指定した時間間隔ごとに、前記通信装置のローカル記憶領域に記憶されている前記送信端のクロック情報を更新するクロック情報更新モジュールと、を備えたことを特徴とする通信装置。
【請求項１２】
請求項１１記載の装置において、前記送信端のクロック変動パラメータは、前記送信端におけるシステムクロックの単位時間内に実際経過した時間であり、前記通信装置のクロック変動パラメータは、前記通信装置におけるシステムクロックの単位時間内に実際経過した時間であり、前記実際の経過時間は、両方とも前記通信装置での水晶振動子の実行サイクルを単位にして計測されるものであることを特徴とする通信装置。
【請求項１３】
データを秘密キーにて暗号化するステップと、
前記暗号化したデータを可視光信号として送信するステップであって、前記秘密キーは、送信端のステートマシンの状態によって変化し、又は、前記可視光信号は前記秘密キーの受信に用いる指示情報を有するステップと、を備え、
前記可視光信号が前記指示情報を含む場合、前記データを使う前に、前記秘密キーを用いて暗号化し、前記暗号化データを前記可視光信号として発送するステップは、
生成した擬似コード列と前記データを符号化して、擬似コード信号を得るステップであって、前記擬似コード列は前記秘密キーであるステップと、
前記擬似コード列に対応する擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、前記擬似コード列指示コードと前記擬似コード信号を含む第１合成信号を得るステップと、
前記第１合成信号のヘッダ部をデバイスアドレスコードと合成して、第２合成信号を得るステップと、
前記第２合成信号を可視光の形で発送するステップと、を備えたことを特徴とする可視光信号の暗号化方法。
【請求項１４】
データを秘密キーにて暗号化する暗号化装置と、
前記暗号化したデータを可視光信号として送信する送信ユニットであって、前記秘密キーは、送信端のステートマシンの状態によって変化するものであり、又は、前記可視光信号は前記秘密キーの受信に用いる指示情報を有する送信ユニットと、を備え、
前記暗号化装置は、
擬似コード列及び対応する擬似コード列指示コードを出力する擬似コード生成器と、
前記擬似コード列と前記データに論理演算を行い、擬似コード信号を出力する畳み込み暗号化器と、
前記擬似コード列指示コードを前記擬似コード信号のヘッダ部と合成して、前記擬似コード列指示コードと前記擬似コード信号を含む第１合成信号を出力する擬似コード列指示コード合成ユニットであって、前記擬似コード列は前記秘密キーであり、前記擬似コード列指示コードは前記指示情報である擬似コード列指示コード合成ユニットと、
前記第１合成信号のヘッダ部をデバイスアドレスコードと合成して、第２合成信号を出力するデバイスアドレスコード合成ユニットと、を備え、
前記送信ユニットは、前記第２合成信号を可視光の形で発送することを特徴とする通信装置。
【請求項１５】
請求項１４記載の前記通信装置及び請求項９乃至１２のいずれか１項に記載の前記通信装置を有することを特徴とする通信システム。
【国際調査報告】
2015532030.tif 000040
2015532030.tif 000041
2015532030.tif 000042
2015532030.tif 000043
2015532030.tif 000044
2015532030.tif 000045
2015532030.tif 000046
2015532030.tif 000047