秘密情報伝送方法、秘密情報伝送システム及び秘密情報送信装置
【課題】第1の装置により、マスタキーの情報を含む複数の分散情報を生成してこれらを無線通信により第2の装置へ送信し、第2の装置により、前記複数の分散情報を受信してマスタキーを復元する秘密情報伝送方法を得る。
【解決手段】第1の装置では、複数の乱数情報と、マスタキーとに対して順にEXOR演算を施すことにより求めた情報とを配列して秘密情報を生成し、前記複数の分散情報と前記秘密情報とに対して順にEXOR演算を施すことにより最後の分散情報を生成し、前記複数の分散情報を前記第2の装置へ送信し、前記第2の装置では、前記複数の分散情報に対して順にEXOR演算を行って前記秘密情報を復元し、復元された秘密情報を分割し、分割された情報に対してEXOR演算を行ってマスタキーを復元する。
【解決手段】第1の装置では、複数の乱数情報と、マスタキーとに対して順にEXOR演算を施すことにより求めた情報とを配列して秘密情報を生成し、前記複数の分散情報と前記秘密情報とに対して順にEXOR演算を施すことにより最後の分散情報を生成し、前記複数の分散情報を前記第2の装置へ送信し、前記第2の装置では、前記複数の分散情報に対して順にEXOR演算を行って前記秘密情報を復元し、復元された秘密情報を分割し、分割された情報に対してEXOR演算を行ってマスタキーを復元する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化等に利用される秘密鍵であるマスタキーを含む秘密にすべき情報(即ち、秘密情報)を複数の分散情報に分割して送信側から受信側へ送信する秘密情報伝送方法、秘密情報伝送システム及び秘密情報送信装置に関するものである。
【背景技術】
【0002】
従来、暗号鍵等の重要情報を無線通信等により伝送する場合、不正傍受の可能性を低減するために、例えば、ハッシュ関数を使用することによって長いビット列の秘密情報(Secret data)を準備する方法が知られている。しかし、ハッシュ関数を使用して秘密情報を準備する方法では、演算処理にも時間が掛かってしまい、高速通信の障害となっていた。
【0003】
そこで、その障害を解決するために、例えば、下記の特開2007−235516号公報に開示されているように、暗号鍵等の秘密情報を複数の分散情報に分割した上で送信側から受信側へ送信する秘密分散法の技術が提案されている。秘密分散法は、秘密情報を複数の分散情報に分け、これらがある決められた数だけ集まらないと元の情報を復元することができないという方法であり、分散情報を構成するビット列を短くすることにより、演算処理の高速化が可能になる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の秘密分散法の技術では、演算処理の高速化を図るために、分散情報を構成するビット列を短くすると、暗号鍵等のマスタキーを、悪意のある第三者に不正に傍受される危険性がある。これを防止するために、分散情報のビット列を長くすると、演算処理の高速化が阻害されて秘密分散法の利点を活かすことができない。又、秘密分散法では、送信された分散情報数の内のある決められた数だけ受信することにより、元の情報を復元することができる。よって、使用環境等によっては不正傍受の危険性が大きくなる。従って、未だ技術的に十分満足の得られる秘密情報伝送方法、秘密情報伝送システムあるいは秘密情報送信装置を実現することが困難であった。
【課題を解決するための手段】
【0005】
請求項1に記載の送信方法は、第1の装置から第2の装置に対して、128ビットのマスタキーを送信する送信方法であって、前記第1の装置は、640ビットの(n+1)個の情報を順に前記第2の装置に送信し、前記640ビットの(n+1)個の情報のうち、第1番目から第n番目までの情報r0からr(n−1)は、640ビットの乱数からなる情報であり、前記第(n+1)番目の情報rnは、128ビットの乱数からなる4個の情報rs1〜rs4と前記マスタキーとに対して排他的論理和演算を行って得られる情報rs5を算出し、前記情報rs1からrs5を順に連結して得られる640ビットの情報と前記情報r0からr(n−1)とに対して排他的論理和演算を行って得られる情報であり、前記第2の装置は、前記r0からrnを受信し、受信した前記情報r0からrnに対して排他的論理和演算を行って640ビットの情報を生成し、前記排他的論理和演算を行って得られる640ビットの情報を順に128ビットの情報毎に分割し、分割して得られる5つの128ビットの情報に対して排他的論理和演算を行って前記マスタキーを算出する。
【0006】
請求項2に記載の第1の装置は、640ビットのn個の情報のうち、第1番目から第n番目までの情報r0からr(n−1)のそれぞれを、640ビットの乱数からなる情報として生成する情報生成手段と、128ビットの乱数からなる4個の情報rs1〜rs4と前記マスタキーとに対して排他的論理和演算を行って得られる情報rs5を算出し、前記情報rs1からrs5を順に連結して得られる640ビットの情報と前記情報r0からr(n−1)とに対して排他的論理和演算を行って得た情報を、前記第(n+1)番目の情報rnとして算出する計算手段と、前記640ビットの(n+1)個の情報を順に第2の装置に送信する送信手段と、を有する。
【0007】
請求項3に記載されるように、請求項2における第1の装置の前記送信手段は、前記(n+1)個の情報を順に第2の装置にそれぞれ送信する際に、送信順序を表すシーケンス番号を前記(n+1)個の情報のそれぞれに付与してもよい。
【0008】
請求項4に記載されるように、請求項2における第1の装置の前記送信手段は、前記第2の装置に対して送信した前記640ビットの(n+1)個の情報のそれぞれに対し、前記第2の装置から受信確認信号をそれぞれ受信し、前記受信確認信号の受信に失敗した場合には、前記受信確認信号に対応する前記情報とは異なる新たな640ビットの情報を前記情報生成手段によって生成し、前記新たな640ビットの情報を前記第2の装置へ再送してもよい。
【0009】
請求項5に記載されるように、請求項4における第1の装置の前記送信手段は、前記新たな640ビットの情報を前記第2の装置へ再送する際、前記受信確認信号に対応する前記情報と同一のシーケンス番号を付けて再送してもよい。
【0010】
請求項6に記載の第2の装置は、640ビットの(n+1)個の情報r0からrnを第1の装置から受信する受信手段と、受信した前記情報r0からrnに対して排他的論理和演算を行って640ビットの情報を生成する情報生成手段と、前記排他的論理和演算を行って得られる640ビットの情報を順に128ビットの情報毎に分割し、分割して得られる5つの128ビットの情報に対して排他的論理和演算を行ってマスタキーを算出する計算手段と、を有する。
【0011】
請求項6に記載の第2の装置は、前記(n+1)個の情報r0からrnをそれぞれ前記第1の装置から受信したときに、受信確認信号をそれぞれ前記第1の装置へ送信する通知手段をさらに有していてもよい。
【0012】
請求項8に記載の通信システムは、請求項2〜7のいずれか一項に記載の第1の装置と、請求項6または7に記載の第2の装置と、から構成されている。
【0013】
本発明の一態様に係る秘密情報伝送方法は、第1の装置により、iビット(i;任意の整数)のマスタキーの情報を含む第1〜第n(n;任意の整数)の分散情報を生成し、前記第1〜第nの分散情報を無線通信により第2の装置へ送信し、前記第2の装置により、前記第1〜第nの分散情報を受信し、前記iビットのマスタキーを復元する秘密情報伝送方法である。
【0014】
ここで、前記第1の装置は、iビットの乱数からなる第1〜第(m−1)(m;任意の整数)の情報rs1〜rs(m−1)と、前記第1〜第(m−1)の情報rs1〜rs(m−1)と前記マスタキーとに対して順にビット値の一致/不一致に基づいた論理演算を行うことにより求めた第mの情報rsmと、を配列してiビット×mビット=jビットの秘密情報を生成し、jビットの乱数からなる第1〜第(n−1)の分散情報r1〜r(n−1)と、前記第1〜第(n−1)の分散情報と前記秘密情報とに対して順にビット値の一致/不一致に基づいた論理演算を行うことによりjビットの第nの分散情報rnと、を生成し、前記第1の装置が、前記第1〜第nの分散情報r1〜rnを前記第2の装置へ送信する。
【0015】
更に、前記第2の装置は、前記第1〜第nの分散情報r1〜rnを受信し、受信された前記第1〜第nの分散情報r1〜rnに対して順にビット値の一致/不一致に基づいた論理演算を行って前記秘密情報を復元し、前記第2の装置が、復元された秘密情報をiビット毎に分割し、m個の第1〜第mの情報rs1〜rsmを求め、分割された前記第1〜第mの情報rs1〜rsmに対してビット値の一致/不一致に基づいた論理演算を行ってiビットの前記マスタキーを復元する。
【0016】
本発明の一態様に係る他の秘密情報伝送方法は、第1の装置により、iビット(i;任意の整数)のマスタキーの情報を含む分散情報を生成し、前記分散情報を無線通信により第2の装置へ送信し、前記第2の装置は、前記分散情報が正常に受信できた場合に受信確認信号を前記第1の装置に送信し、正常に受信できた前記分散情報から前記マスタキーを復元する秘密情報伝送方法である。
【0017】
ここで、前記第1の装置は、おのおの異なるjビットの乱数からなる第1〜第(n−1)の分散情報r1〜r(n−1)を前記第2の装置に送信し、前記第1〜第(n−1)の分散情報に対応する前記受信確認信号を受信できたとき、おのおの異なるiビットの乱数からなるm−1個の情報f1〜f(m−1)を生成し、前記受信確認信号に対応する前記第1〜第(n−1)の分散情報をiビット毎に分割した情報と前記情報f1〜f(m−1)と前記マスタキーとに対して順にビット値の一致/不一致に基づいた論理演算を行い第mの情報fmを求め、前記情報f1〜fmを順に連結した情報を第nの分散情報rnとして前記第2の装置に送信する。
【0018】
更に、前記第2の装置は、前記第1〜第nの分散情報r1〜rnを受信し、受信された前記第1〜第nの分散情報r1〜rnに対して順にビット値の一致/不一致に基づいた論理演算を行って秘密情報を復元し、前記第2の装置が、復元された秘密情報をiビット毎に分割し、m個の第1〜第mの情報rs1〜rsmを求め、分割された前記第1〜第mの情報rs1〜rsmに対して順にビット値の一致/不一致に基づいた論理演算を行ってiビットの前記マスタキーを復元する。
【0019】
本発明の一態様に係る更に他の秘密情報伝送方法は、第1の装置により、iビット(i;任意の整数)のマスタキーの情報を含む分散情報を生成し、前記分散情報を無線通信により第2の装置へ送信し、前記第2の装置は、前記分散情報が正常に受信できた場合に受信確認信号を前記第1の装置に送信し、正常に受信できた前記分散情報から前記マスタキーを復元する秘密情報伝送方法である。
【0020】
ここで、前記第1の装置は、おのおの異なるjビットの乱数からなる第1〜第nの分散情報r1〜rnを前記第2の装置に送信し、前記第1〜第nの分散情報に対応する前記受信確認信号を受信できたとき、前記受信確認信号に対応する前記第1〜第nの分散情報をiビット毎に分割した情報に対して順にビット値の一致/不一致に基づいた論理演算を行うことで前記マスタキーを生成する。
【0021】
更に、前記第2の装置は、前記第1〜第nの分散情報r1〜rnを受信し、受信された前記第1〜第nの分散情報r1〜rnに対して順にビット値の一致/不一致に基づいた論理演算を行って秘密情報を復元し、復元された秘密情報をiビット毎に分割し、m個の第1〜第mの情報rs1〜rsmを求め、分割された前記第1〜第mの情報rs1〜rsmに対してビット値の一致/不一致に基づいた論理演算を行ってiビットの前記マスタキーを復元する。
【0022】
本発明の一態様に係る秘密情報伝送システムは、第1の装置により、iビット(i;任意の整数)のマスタキーを含む第1〜第n(n;任意の整数)の分散情報を生成し、前記第1〜第nの分散情報を無線通信により第2の装置へ送信し、前記第2の装置により、前記第1〜第nの分散情報を受信し、前記iビットのマスタキーを復元する秘密情報伝送システムである。
【0023】
ここで、前記第1の装置は、iビットの乱数からなる第1〜第(m−1)(m;任意の整数)の情報rs1〜rs(m−1)と、前記第1〜第(m−1)の情報rs1〜rs(m−1)と前記iビットのマスタキーとに対して順にEXOR演算を行うことにより求めた第mの情報rsmと、を配列してiビット×mビット=jビットの秘密情報を生成する秘密情報生成手段と、前記jビットの乱数からなる第1〜第(n−1)の分散情報r1〜r(n−1)と、前記第1〜第(n−1)の分散情報と前記jビットの秘密情報とを順にEXOR演算により求めた前記jビットの第nの分散情報rnとから、前記第1〜第nの分散情報r1〜rnを生成する分散情報生成手段と、前記第1〜第nの分散情報r1〜rnを前記第2の装置へ送信する第1の送受信手段とを有している。
【0024】
更に、前記第2の装置は、前記第1〜第nの分散情報r1〜rnを受信する送受信手段と、受信された前記第1〜第nの分散情報r1〜rnを順にEXOR演算を行って前記jビットの秘密情報を復元する秘密情報復元手段と、復元された前記jビットの秘密情報を前記m個に分割して前記第1〜第mの情報rs1〜rsmを求め、分割された前記第1〜第mの情報rs1〜rsmのEXOR演算を行って前記iビットのマスタキーを復元するマスタキー復元手段とを有する。
【0025】
本発明の一態様に係る秘密情報送信装置は、i(i;任意の正の整数)ビットの乱数から成る乱数情報をm(m;2以上の正の整数)個生成し、生成したm個の乱数情報と、パケットの送信順番を示すシーケンス番号と、からなる分散情報を生成する分散情報生成部と、前記分散情報を、無線通信路を介して秘密情報受信装置に送信するとともに、当該秘密情報受信装置から送信される当該分散情報に対する受信確認信号を受信する送受信部と、を備えている。
【0026】
ここで、前記分散情報生成部は、前記送受信部において分散情報を送信してから一定時間内に、送信した分散情報に対応する受信確認信号を受信しない場合、当該送信した分散情報のシーケンス番号と同じシーケンス番号と、新たに生成して得られるm個の乱数情報と、から新たな分散情報を生成し、前記送受信部において分散情報を送信してから一定時間内に、送信した分散情報に対応する受信確認信号を受信した場合、当該送信した分散情報のシーケンス番号を1増加させたシーケンス番号と、新たに生成して得られるm個の乱数情報と、から新たな分散情報を生成し、前記送受信部において第1から第(n−1)(n;2以上の正の整数)の受信確認信号を受信した場合、新たに生成して得られる(m−1)個の乱数情報と、iビットのマスタキーと、前記第1から第(n−1)の受信確認信号のそれぞれに対応する第1から第(n−1)の分散情報に含まれる(n−1)*m個の乱数情報とを論理演算して得られる値と、当該第(n−1)の分散情報のシーケンス番号に1増加させたシーケンス番号と、から第nの分散情報を生成し、前記送受信部において前記第nの分散情報を送信してから一定時間内に、当該第nの分散情報に対応する第nの受信確認信号を受信しない場合、新たに生成して得られる(m−1)個の乱数情報と、前記マスタキーと、前記第1から第(n−1)の分散情報に含まれる(n−1)*m個の乱数情報とを論理演算して得られる値と、当該第nの分散情報のシーケンス番号と同じシーケンス番号と、から新たな第nの分散情報を生成する。
【0027】
また、本発明の一態様に係る秘密情報送信装置において、前記分散情報生成部は、前記送受信部において分散情報を送信してから一定時間内に、送信した分散情報に対応する受信確認信号を受信しない場合、当該分散情報のシーケンス番号と同じシーケンス番号と、新たに生成して得られるm個の乱数情報と、から新たに分散情報を生成し、前記送受信部において分散情報を送信してから一定時間内に、送信した分散情報に対応する受信確認信号を受信した場合、当該分散情報のシーケンス番号を1増加させたシーケンス番号と、新たに生成して得られるm個の乱数情報と、から新たに分散情報を生成し、前記送受信部において第1から第n(n;2以上の正の整数)の受信確認信号を受信した場合、当該第1から第nの受信確認信号のそれぞれに対応する第1から第nの分散情報に含まれるn*m個の乱数情報の論理演算を行い、iビットのマスタキーを生成する、ことを含む。
【発明の効果】
【0028】
本発明の一態様に係る秘密情報伝送方法、秘密情報伝送システム及び秘密情報送信装置によれば、秘密情報とこれを用いた複数の分散情報とを長いビット列で構成し、その分散情報を第1の装置から第2の装置へ送信(例えば、低送信電力で送信)し、第2の装置側では複数の分散情報を全て受信できたときにマスタキーを復元可能な構成にしているので、悪意のある第三者にマスタキーを不正に傍受されにくい通信状況を確立することができる。しかも、ハッシュ関数等の複雑な演算を用いることなく、簡単なビット値の一致/不一致に基づいた論理演算を行うことによって容易に長いビット列の秘密情報とこれを用いた分散情報とを生成できるので、演算処理時間を短縮でき、高速通信を容易に実現できる。
【図面の簡単な説明】
【0029】
【図1】本発明の実施例1における秘密情報伝送システムの詳細を示す概略の要部構成図である。
【図2】は、本発明の実施例1における秘密情報伝送システムの概略を示す構成図である。
【図3】図1中の秘密情報生成手段40を示す機能ブロック図である。
【図4】図1中のマスタキー復元手段60を示す機能ブロック図である。
【図5】本発明の実施例2における秘密情報伝送システムの詳細を示す概略の要部構成図である。
【図6】本発明の実施例3における秘密情報伝送システムの概略を示す構成図である。
【図7】図6中の分散情報生成部14Aを示す機能ブロック図である。
【図8】図6中の秘密キー復元部23Aを示す機能ブロック図である。
【図9】図7の分散情報生成部14Aにおける分散情報パッケト組立部72の動作を示すフローチャートである。
【図10】図8の秘密キー復元部23Aにおける秘密キー組立部81の動作を示すフローチャートである。
【図11】本発明の実施例4における秘密情報伝送システムの概略を示す構成図である。
【図12】図11中の分散情報生成部14Bを示す機能ブロック図である。
【図13】図12の分散情報生成部14Bにおける分散情報パケット組立部72Bの動作を示すフローチャートである。
【発明を実施するための形態】
【0030】
本発明を実施するための形態は、以下の実施例の説明を添付図面と照らし合わせて読むと、明らかになるであろう。但し、図面はもっぱら解説のためのものであって、本発明の範囲を限定するものではない。
(実施例1)
【0031】
(実施例1の構成)
図2は、本発明の実施例1における秘密情報伝送システムの概略を示す構成図である。
【0032】
この秘密情報伝送システムは、家庭用電気機械器具(以下「家電製品」という。)の内のデジタル関連の技術を使用したデジタル家庭電化製品(例えば、テレビジョン受像機、以下単に「TV」という。)10と、これを遠隔制御するリモートコントローラ(以下「リモコン」という。)20との間の無線通信を行うシステムである。
【0033】
TV10は、インターネット等の通信ネットワーク11に接続されてパーソナルコンピュータ(以下「PC」という。)等の他の情報端末に対して情報の送受信が可能な構成になっている。TV10は、受像機等のTV本体12を有し、このTV本体12に通信部13が接続されている。通信部13は、通信ネットワーク11及びTV本体12間の情報の送受信を行うものである。このTV10には、更に、分散情報生成部14と送信確認部15とが設けられている。これらの通信部13、分散情報生成部14及び送信確認部15には、送受信部16が接続されている。
【0034】
分散情報生成部14は、秘密分散法とは異なる方式の分散情報r1,r2,・・・,rnを生成して第1の送受信手段(例えば、送受信部)16へ与えるものである。分散情報生成部14には送信確認部15が接続されている。送受信確認部15は、リモコン20から送られてくる受信確認通知信号ACK1,ACK2,・・・,ACKnを送受信部16を介して受信すると、送信状況を確認して分散情報生成部14へ通知する。送受信部16は、リモコン20に対して近距離無線通信(例えば、使用周波数が数GHz、通信距離が数メートル程度)を行う。
【0035】
リモコン20は、遠隔制御用のリモコン本体21を有し、このリモコン本体21に第2の通信部22が接続されている。リモコン20には、更に、秘密キー復元部23と受信確認部24とが設けられ、これらの通信部22、秘密キー復元部23及び受信確認部24に、第2の送受信手段(例えば、送受信部)25が接続されている。
【0036】
通信部22は、リモコン本体21及び送受信部25間の情報の送受信を行うものである。秘密キー復元部23は、TV10から送られてくる分散情報r1,r2,・・・,rnを送受信部25を介して受信すると、その分散情報r1,r2,・・・,rnから秘密キーを復元するものであり、これには受信確認部24が接続されている。受信確認部24は、TV10から送られてくる分散情報r1,r2,・・・,rnを送受信部25及び秘密キー復元部23を介して受信すると、受信状況を確認して受信確認通知信号ACK1,ACK2,・・・,ACKnを送受信部25へ与える。送受信部25は、TV10に対して近距離無線通信を行う。
【0037】
図1は、本発明の実施例1における秘密情報伝送システムの詳細を示す概略の構成図である。
【0038】
TV10及びリモコン20の通信エリア30の近傍には、他のリモコン20−1や受信機20−2等が存在していると仮定する。
【0039】
TV10側の分散情報生成部14は、分散情報生成手段30と、秘密情報生成手段40とにより構成されている。分散情報生成手段30は、各jビット(例えば、640ビット)の乱数からなる第1〜第nの分散情報r1〜rnを生成する。分散情報生成手段30は、各jビットの乱数からなる第1〜第(n−1)の分散情報r1〜r(n−1)を発生するランダム発生器31と、第1〜第(n−1)の分散情報r1〜r(n−1)とjビットの秘密情報rsとに対し順に排他的論理和(以下「EXOR」という。)演算を行ってjビットの第nの分散情報rnを求める演算手段32とにより構成されている。
【0040】
秘密情報生成手段40は、iビットの乱数からなる第1〜第(m−1)の情報rs1〜rs(m−1)と、前記第1〜第(m−1)の情報rs1〜rs(m−1)とiビットのマスタキーとに対し順にEXOR演算を行って求めた第mの情報rsmと、を配列してjビット(=iビット×mビット)の秘密情報rsを生成する。
【0041】
リモコン20側の秘密キー復元部23は、秘密情報復元手段50と、マスタキー復元手段60とにより構成されている。秘密情報復元手段50は、受信された第1〜第nの分散情報r1〜rnに対し順にEXOR演算を行ってjビットの秘密情報rsを復元する。秘密情報復元手段50は、縦続接続されたn個のEXORゲート51−1〜51−nにより構成されている。マスタキー復元手段60は、復元されたjビットの秘密情報rsをm個に分割して第1〜第mの情報rs1〜rsmを求め、分割された第1〜第mの情報rs1〜rsmのEXOR演算を行ってiビットのマスタキーrsmを復元するものである。
【0042】
図3は、図1中の秘密情報生成手段40を示す機能ブロック図である。
秘密情報生成手段40は、各iビット(例えば、128ビット)の乱数からなる第1〜第(m−1)の情報rs1〜rs(m−1)(例えば、m=5、rs1〜rs4)を発生するランダム発生器41と、第1〜第4の情報rs1〜rs4と128ビットのマスタキーrsmとに対し順にEXOR演算を行って第5の情報r5を求める演算手段42と、第1〜第5の情報rs1〜rs5を配列して128ビット×5ビット=640ビットの秘密情報rsを保持するデータ保持回路43とにより構成されている。
【0043】
図4は、図1中のマスタキー復元手段60を示す機能ブロック図である。
マスタキー復元手段60は、データ保持回路43に保持された640ビットの秘密情報rsを5個に分割して第1〜第5の情報rs1〜rs5を取り出す機能と、取り出された第1〜第5の情報rs1〜rs5に対しEXOR演算を行って120ビットのマスタキーrsmを復元するための縦続接続された4個のEXORゲート61−1〜61−4とにより構成されている。
【0044】
(実施例1の秘密情報伝送方法)
例えば、TV10から通信ネットワーク11を介して商品の購入等を可能にするために、TV10にカード決済機能を設け、このTV10からリモコン20へ暗号鍵であるマスタキーrsmを送信する場合について説明する。
【0045】
TV10側の分散情報生成部14において、図3の秘密情報生成手段40では、ランダム発生器41により、各128ビットの乱数からなる第1〜第4の情報rs1〜rs4を発生し、演算手段42により、次式(1)のEXOR演算を行い、128ビットの第5の情報rs5を求める。
【0046】
【数1】
【0047】
そして、各128ビットの第1〜第5の情報rs1〜rs5を順にデータ保持回路43に保持し、640ビットの秘密情報rsを生成して図1の分散情報生成手段30内の演算手段32に与える。分散情報生成手段30において、ランダム発生器41から各640ビットの乱数からなる第1〜第4の分散情報r1〜r4を発生し、演算手段32に与える。演算手段32により、次式(2)のEXOR演算を行い、640ビットの第5の分散情報r5を求める。
【0048】
【数2】
【0049】
そして、各640ビットの第1〜第5の分散情報r1〜r5には、図2に示すように、先頭にシーケンス番号(1),(2),(3),(4),(5)が付加されて送受信部16により高周波電波に変換され、シーケンス番号順にリモコン20へ送信される。
【0050】
リモコン20側では、シーケンス番号(1),(2),(3),(4),(5)順に送られてきた第1〜第5の分散情報r1〜r5を送受信部25により順に受信すると、この受信信号を秘密キー復元部23を介して受信確認部24へ送る。受信確認部24では、第1〜第5の分散情報r1〜r5をそれぞれ受信したときには、送受信部25を介して各受信確認通知信号ACK1〜ACK5をそれぞれTV10へ返信する。
【0051】
TV10側の送受信部16は、その受信確認通知信号ACK1〜ACK5を受信すると、これを送信確認部15へ送る。送信確認部15では、各受信確認通知信号ACK1〜ACK5を受信すると、送信が成功したと判断して分散情報生成部14及び送受信部16を介して次の分散情報r2〜r5を順に送信させる。即ち、第1の分散情報r1の送信が成功したときには第2の分散情報r2を送信し、第2の分散情報r2の送信が成功したときには第3の分散情報r3を送信し、以下同様に、第5の分散情報r5まで送信する。
【0052】
この際、送信確認部15は、分散情報(例えば、第2の分散情報r2)の送信後、これに対する受信確認通知信号ACK2を受信できない場合、つまり受信確認通知信号ACK2の受信失敗となってしまった場合には、再度同じ分散情報r2を分散情報生成部14及び送受信部16を介して送信させる。送信確認部15は、その後、リモコン20から返信される受信確認通知信号ACK2を受信できた場合には、送信が成功したと判断して次の第3の分散情報r3を分散情報生成部14及び送受信部16を介して送信させる。以下同様の分散情報及び受信確認通知信号の送受信が行われる。
【0053】
リモコン20側の秘密キー復元部23では、TV10側から送られてくる第1〜第5の分散情報r1〜r5を送受信部25を介して全て受信すると、図1の秘密情報復元手段50内のEXORゲート51−1〜51−5により、受信された第1〜第5の分散情報r1〜rnに対し、次式(3)のEXOR演算を行い、640ビットの秘密情報rsを復元し、マスタキー復元手段60へ送る。
【0054】
【数3】
【0055】
図4のマスタキー復元手段60では、復元された640ビットの秘密情報rsを5個に分割して第1〜第5の情報rs1〜rs5を求め、EXORゲート61−1〜61−4により、分割された第1〜第5の情報rs1〜rs5に対し、次式(4)のEXOR演算を行い、128ビットのマスタキーrsmを復元する。
【0056】
【数4】
【0057】
その後、TV10とリモコン20との間では、マスタキーrsmを共通鍵にした情報の暗号化等を行って送受信を行い、リモコン20の遠隔制御により、TV10によるカード決済等が行われる。
【0058】
(実施例1の効果)
本実施例1によれば、次の(a)、(b)のような効果がある。
【0059】
(a) 秘密情報rsとこれを用いた第1〜第5の分散情報r1〜r5とを長いビット列(例えば、640ビット)で構成し、その第1〜第5の分散情報r1〜r5をTV10からリモコン20へ送信し、リモコン20側では第1〜第5の分散情報r1〜r5を全て受信できたときにマスタキーrsmを復元可能な構成にしている。従って、悪意のある第三者にマスタキーrsmを不正に傍受されにくい通信状況を確立することができる。しかも、ハッシュ関数等の複雑な演算を用いることなく、簡単なEXOR演算によって容易に長いビット列の秘密情報rsとこれを用いた第5の分散情報r5とを生成できる。従って、演算処理時間を短縮でき、高速通信を容易に実現できる。
【0060】
(b) 図1に示すTV10及びリモコン20において、この通信エリア30の近傍の他のリモコン20−1や送受信機20−2等から妨害電波を受け、TV10からリモコン20への分散情報r1〜r5の送信が完了したことをリモコン20からTV10に通知するための受信確認通知信号ACKが、TV10によって受信失敗となってしまう場合がある。このような場合でも、再度同じ分散情報の送信を実行する構成にしている。従って、リモコン20側において分散情報r1〜r5を確実に受け取ることができ、秘密情報伝送の信頼性を向上できる。
(実施例2)
【0061】
図5は、本発明の実施例2における秘密情報伝送システムの概略を示す構成図であり、実施例1を示す図2中の要素と共通の要素には共通の符号が付されている。
【0062】
本実施例2の秘密情報伝送システムでは、TV10側の送信確認部15において、リモコン20からの受信確認通知信号(例えば、ACK2)の受信失敗が発生した場合、実施例1のように再度同じ分散情報(例えば、r2)を送信しない。本実施例2によればこの場合、乱数生成によって異なる分散情報r2’を送信する。この際、先頭のシリアルナンバは同一の(2)を付すことにより、リモコン20側では分散信号r2,r2’が再送されたことを容易に認識できる。その他の構成は、実施例1と同様である。
【0063】
本実施例2によれば、受信確認通知信号ACK2の受信失敗が発生した場合には、前回の分散情報r2とは異なる分散情報r2’を送信する。従って、マスタキーrsmを復元するために必要な分散情報r1〜r5が第三者へ漏れてしまう可能性をより低減でき、秘密情報伝送の信頼性をより向上できる。
(実施例3)
【0064】
(実施例3の構成)
図6は、本発明の実施例3における秘密情報伝送システムの概略を示す構成図であり、実施例1を示す図2中の要素と共通の要素には共通の符号が付されている。
【0065】
本実施例3の秘密情報伝送システムでは、実施例1のTV10及びリモコン20に代え
て、これとは構成の異なるTV10A及びリモコン20Aが設けられている。
【0066】
TV10Aは、実施例1と同様のTV本体12と、実施例1とは構成の異なる通信部13A、分散情報生成部14A、及び送受信部16Aとを有している。更に、リモコン20Aは、実施例1と同様のリモコン本体21と、実施例1とは構成の異なる送受信部25A、通信部22A、及び秘密キー復元部23Aとを有している。
【0067】
ここで、TV10Aにおいて、通信部13Aは、秘密キーを生成し、分散情報生成部14Aへ出力する。通信部13Aは、リモコン20Aと通信する際に秘密キーを用いた暗号化通信を行う。通信部13Aのその他の機能は実施例1の通信部13と同様である。分散情報生成部14Aは、通信部13Aから秘密キーを受け取り、秘密キーの情報を含む分散情報を生成し、これを分散情報パケットに組み立て送受信部16Aへ送信を依頼する。送受信部16Aは、依頼された分散情報パケットを通常のパケットの送信電力よりも低い送信電力で送信し、更に分散情報パケットを送信した際、リモコン20Aからの受信確認信号を受信できたときは通信成功を、一定時間内に受信確認通知信号を受信できなかったときは通信失敗を分散情報生成部14Aへ出力する。送受信部16Aのその他の機能は実施例1の送受信部16と同様である。
【0068】
リモコン20Aにおいて、送受信部25Aは、分散情報パケットを受信した際、分散情報パケットが正当なパケットであれば秘密キー復元部23Aへ送信し、TV10Aへ受信確認通知信号を送信する。送受信部25Aのその他の機能は実施例1の送受信部20と同様である。秘密キー復元部23Aは、受け取った分散情報パケットから秘密キーを復元して通信部22Aへ出力する。通信部22Aは、秘密キー復元部23Aから秘密キーを受け取り、TV10Aとの通信の際に暗号化通信を行う。通信部22Aのその他の機能は実施例1の通信部22と同様である。
【0069】
図7は、図6中の分散情報生成部14Aを示す機能ブロック図である。
この分散情報生成部14Aは、乱数発生部71、分散情報パケット組立部72、及びキーバッファ73を有している。乱数発生部71は、乱数を発生して分散情報パケット組立部72へ出力する。キーバッファ73は、jビットの情報を蓄積できるバッファである。
【0070】
図8は、図6中の秘密キー復元部23Aを示す機能ブロック図である。
この秘密キー復元部23Aは、秘密キー組立部81、一時バッファ82、及びキーバッファ83を有している。一時バッファ82は、受信した分散情報パケットを蓄積するバッファ、及び、キーバッファ83は、jビットの情報を蓄積するバッファである。
【0071】
(実施例3の秘密情報伝送方法)
本実施例3の秘密情報伝送方法において、以下、図7の分散情報生成部14A中の分散情報パケット組立部72の動作(1)、及び、図8の秘密キー復元部23A中の秘密キー組立部81の動作(2)を説明する。
【0072】
(1) 分散情報生成部14A中の分散情報パケット組立部72の動作
図9は、図7の分散情報生成部14Aにおける分散情報パケット組立部72の動作を示すフローチャートである。
【0073】
分散情報パケット組立部72は、通信部13Aから秘密キーを受信すると(ステップS1)、シーケンス番号を1にセットしてキーバッファ73をクリアする(ステップS2)。更にjビットの乱数を乱数発生部71から取り出し分散情報とし(ステップS3)、シーケンス番号を付加し分散情報パケットに組み立て送信部16Aに送信を依頼する(ステップS4)。そして、送受信部16Aから送信成功あるいは送信失敗の信号待ちを行う(ステップS5)。送信成功を受信した場合、送信に成功した分散情報とキーバッファ73の情報をEXOR演算した情報をキーバッファ73に蓄積する。即ち、送信に成功した分散情報Rと、キーバッファ73に蓄積された情報k1をEXOR演算し、k2=R xor k1となるk2を得、k2をキーバッファ73に蓄積するのである。更にシーケンス番号を1増加させる(ステップS6)。
【0074】
シーケンス番号がn未満の場合、ステップS3に戻り分散情報パケットの生成と送信を繰り返し行う(ステップS7)。又、ステップS5で送受信部16Aから送信失敗を受信した場合、ステップS3に戻り分散情報パケットの生成と送信を繰り返し行う。この場合、シーケンス番号は維持される。ステップS7でシーケンス番号がnの場合、最後の分散パケットの送信処理を行う(ステップS8〜S13)。
【0075】
先ず、分散情報パケット組立部72は、iビットの乱数を(m−1)個、乱数発生部71から取り出しそれぞれ情報f1〜f(m−1)とする(ステップS8)。又、キーバッファ73から蓄積された情報を取り出し、これを先頭からiビット毎にg1〜gmの情報に分割する(ステップS9)。更に、f1〜f(m−1)、g1〜gm及び秘密キーを順次EXOR演算し、iビットの情報fmを生成する(ステップS10)。そして、f1〜fmを順次連結(EXOR演算)して最後の分散情報を作成する(ステップS11)。
【0076】
この最後の分散情報にシーケンス番号nを付与して分散情報パケットとし、送受信部16Aへ送信を依頼する(ステップS12)。そして、送受信部16Aから送信成功あるいは送信失敗の信号待ちを行う(ステップS13)。この分散情報パケットに対して送受信部16Aが送信成功を通知した場合は、処理を終了し、送信失敗を通知した場合は、ステップS8に戻り再度最後の分散情報を作成して送信する。
【0077】
(2) 秘密キー復元部23A中の秘密キー組立部81の動作
図10は、図8の秘密キー復元部23Aにおける秘密キー組立部81の動作を示すフローチャートである。
【0078】
秘密キー組立部81は、分散情報パケットの受信待ちを行う(ステップS21)。分散情報パケットを受信した場合、シーケンス番号をチェックする(ステップS22)。シーケンス番号が1の場合、受信した分散情報パケットを一時バッファ82に蓄積する(ステップS23)。更に、キーバッファ83をクリアする(ステップS24)。そしてステップS21、即ち分散情報パケットの受信待ちに戻る。
【0079】
受信した分散情報パケットのシーケンス番号が1以外の場合、キーバッファ83に蓄積されている分散情報パケットのシーケンス番号と、受信した分散情報パケットのシーケンス番号を比較する(ステップS25)。不一致の場合、一時バッファ82に蓄積された分散情報パケットの分散情報と、キーバッファ83に蓄積されている情報とをEXOR演算して、キーバッファ83に蓄積する(ステップS26)。そして、一時バッファ82に、受信した分散情報パケットを蓄積する(ステップS27)。
【0080】
ステップS25において、一致した場合はステップS27を実行する。ステップS27の実行後、再度シーケンス番号をチェックする(ステップS28)。シーケンス番号がn以外の場合は、ステップS21に戻り分散情報パケットの受信待ちを行う。ステップS28で、シーケンス番号がnの場合は、キーバッファ83に蓄積されている情報を、先頭からiビット毎にm個の情報h1〜hmに分割する(ステップS29)。更に、情報h1〜hmを順にEXOR演算し、iビットの秘密キーとする(ステップS30)。この秘密キーを通信部22Aへ出力して処理を終了する(ステップS31)。
【0081】
なお、ステップS28において、シーケンス番号がnの場合、ステップS29以下を実施した。しかし、ステップS28においてシーケンス番号がnの場合、分散情報パケットの再送に想定される時間の間更に分散情報パケットの受信待ちを行い、その間に分散情報パケットを受信した場合はステップS22以下を実施し、その間に分散情報パケットを受信しない場合にステップS29以下を実施しても良い。これにより、シーケンス番号nを持つ分散情報パケットの再送処理を行うことができる。
【0082】
(実施例3の効果)
本実施例3では、実施例1とほぼ同様の効果がある。
(実施例4)
【0083】
(実施例4の構成)
図11は、本発明の実施例4における秘密情報伝送システムの概略を示す構成図であり、実施例3を示す図6中の要素と共通の要素には共通の符号が付されている。
【0084】
本実施例4の秘密情報伝送システムでは、実施例3のTV10A及びリモコン20Aに代えて、これとは構成の異なるTV10B及びリモコン20Bが設けられている。
【0085】
TV10Bは、実施例3と同様のTV本体12と、実施例3とは構成の異なる通信部13B、分散情報生成部14B、及び送受信部16Bとを有している。更に、リモコン20Bは、実施例3同様のリモコン本体21と、実施例3とは構成の異なる送受信部25B、通信部22B、及び秘密キー復元部23Bとを有している。
【0086】
ここで、TV10Bにおいて、通信部13Bは、分散情報生成部14Bから秘密キーを取得し、リモコン20Bと通信する際に秘密キーを用いた暗号化通信を行う。通信部13Bのその他の機能は実施例1の通信部13と同様である。分散情報生成部14Bは、通信部13Bから秘密キーの取得を要求されたとき、乱数からなる分散情報を生成する。そして、分散情報生成部14Bは、これを分散情報パケットに組み立て送受信部16Bにリモコン20Bへの送信を依頼し、更に生成した分散情報から秘密キーを生成し、通信部13Bへ出力する。
【0087】
図12は、図11中の分散情報生成部14Bを示す機能ブロック図である。
この分散情報生成部14Bは、実施例3と同様の乱数発生部71及びキーバッファ73と、実施例3とは異なる分散情報パケット組立部72Bとを有している。その他の構成は、実施例3と同様である。
【0088】
(実施例4の秘密情報伝送方法)
図13は、図12の分散情報生成部14Bにおける分散情報パケット組立部72Bの動作を示すフローチャートであり、実施例3を示す図9中の要素と共通の要素には共通の符号が付されている。
【0089】
分散情報パケット組立部72Bは、通信部13Bから秘密キーを要求されると(ステップS41)、シーケンス番号を1にセットしキーバッファ73をクリアする(ステップS2)。更に、jビットの乱数を乱数発生部71から取り出し分散情報とし(ステップS3)、シーケンス番号を付加し、分散情報パケットに組み立て送受信部16Bへ送信を依頼する(ステップS4)。そして、送受信部16Bから送信成功あるいは送信失敗の信号待ちを行う(ステップS5)。
【0090】
送信成功を受信した場合、送信に成功した分散情報とキーバッファ73の情報とをEXOR演算した情報を、キーバッファ73に蓄積する。即ち、送信に成功した分散情報Rと、キーバッファ73に蓄積された情報k1とをEXOR演算し、k2=R xor k1となるk2を得、k2をキーバッファ73に蓄積するのである。更に、シーケンス番号を1増加させる。(ステップS6)
【0091】
次いで、シーケンス番号をチェックする(ステップS42)。シーケンス番号がn以下の場合は、ステップS3に戻り更に分散情報パケットを作成して送信する。ステップS42で、シーケンス番号がnより大きい場合には、キーバッファ73から蓄積された情報を取り出し、これを先頭からiビット毎にg1〜gmの情報に分割する(ステップS43)。そしてg1〜gmを順次EXOR演算し、iビットの秘密キーを生成する(ステップS44)。最後に、秘密キーを通信部13Bへ送信して処理を終了する。
【0092】
(実施例4の効果)
本実施例4では、実施例1とほぼ同様の効果がある。
【0093】
(変形例)
本発明は、上記実施例に限定されず、種々の利用形態や変形が可能である。この利用形態や変形例としては、例えば、次の(a)〜(c)のようなものがある。
【0094】
(a) マスタキーrsm等の情報rs1〜rsmを128ビット以外のビット数に変更したり、分散情報r1〜rnを640ビット以外のビット数に変更しても良い。
【0095】
(b) 実施例では、秘密情報rs及び第5の分散情報r5等をEXOR演算により求めているが、このEXOR演算に代えて、排他的否定論理和(EXNOR)演算を用いても、ほぼ同様の作用効果が期待できる。
【0096】
(c) 実施例では、TV10,10A,10Bを利用したカード決済機能について説明した。しかし、本発明は、その他の機能等にも適用できる。又、実施例では、送信側としてTV10,10A,10B、及び受信側としてマイコン20,20A,20Bを例にして説明した。しかし、送信側としてTV10,10A,10B以外の他のデジタル家電やその他の装置等にも適用でき、これに対応する受信側としてマイコン20,20A,20B以外の端末機器等にも適用できる。
【技術分野】
【0001】
本発明は、暗号化等に利用される秘密鍵であるマスタキーを含む秘密にすべき情報(即ち、秘密情報)を複数の分散情報に分割して送信側から受信側へ送信する秘密情報伝送方法、秘密情報伝送システム及び秘密情報送信装置に関するものである。
【背景技術】
【0002】
従来、暗号鍵等の重要情報を無線通信等により伝送する場合、不正傍受の可能性を低減するために、例えば、ハッシュ関数を使用することによって長いビット列の秘密情報(Secret data)を準備する方法が知られている。しかし、ハッシュ関数を使用して秘密情報を準備する方法では、演算処理にも時間が掛かってしまい、高速通信の障害となっていた。
【0003】
そこで、その障害を解決するために、例えば、下記の特開2007−235516号公報に開示されているように、暗号鍵等の秘密情報を複数の分散情報に分割した上で送信側から受信側へ送信する秘密分散法の技術が提案されている。秘密分散法は、秘密情報を複数の分散情報に分け、これらがある決められた数だけ集まらないと元の情報を復元することができないという方法であり、分散情報を構成するビット列を短くすることにより、演算処理の高速化が可能になる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の秘密分散法の技術では、演算処理の高速化を図るために、分散情報を構成するビット列を短くすると、暗号鍵等のマスタキーを、悪意のある第三者に不正に傍受される危険性がある。これを防止するために、分散情報のビット列を長くすると、演算処理の高速化が阻害されて秘密分散法の利点を活かすことができない。又、秘密分散法では、送信された分散情報数の内のある決められた数だけ受信することにより、元の情報を復元することができる。よって、使用環境等によっては不正傍受の危険性が大きくなる。従って、未だ技術的に十分満足の得られる秘密情報伝送方法、秘密情報伝送システムあるいは秘密情報送信装置を実現することが困難であった。
【課題を解決するための手段】
【0005】
請求項1に記載の送信方法は、第1の装置から第2の装置に対して、128ビットのマスタキーを送信する送信方法であって、前記第1の装置は、640ビットの(n+1)個の情報を順に前記第2の装置に送信し、前記640ビットの(n+1)個の情報のうち、第1番目から第n番目までの情報r0からr(n−1)は、640ビットの乱数からなる情報であり、前記第(n+1)番目の情報rnは、128ビットの乱数からなる4個の情報rs1〜rs4と前記マスタキーとに対して排他的論理和演算を行って得られる情報rs5を算出し、前記情報rs1からrs5を順に連結して得られる640ビットの情報と前記情報r0からr(n−1)とに対して排他的論理和演算を行って得られる情報であり、前記第2の装置は、前記r0からrnを受信し、受信した前記情報r0からrnに対して排他的論理和演算を行って640ビットの情報を生成し、前記排他的論理和演算を行って得られる640ビットの情報を順に128ビットの情報毎に分割し、分割して得られる5つの128ビットの情報に対して排他的論理和演算を行って前記マスタキーを算出する。
【0006】
請求項2に記載の第1の装置は、640ビットのn個の情報のうち、第1番目から第n番目までの情報r0からr(n−1)のそれぞれを、640ビットの乱数からなる情報として生成する情報生成手段と、128ビットの乱数からなる4個の情報rs1〜rs4と前記マスタキーとに対して排他的論理和演算を行って得られる情報rs5を算出し、前記情報rs1からrs5を順に連結して得られる640ビットの情報と前記情報r0からr(n−1)とに対して排他的論理和演算を行って得た情報を、前記第(n+1)番目の情報rnとして算出する計算手段と、前記640ビットの(n+1)個の情報を順に第2の装置に送信する送信手段と、を有する。
【0007】
請求項3に記載されるように、請求項2における第1の装置の前記送信手段は、前記(n+1)個の情報を順に第2の装置にそれぞれ送信する際に、送信順序を表すシーケンス番号を前記(n+1)個の情報のそれぞれに付与してもよい。
【0008】
請求項4に記載されるように、請求項2における第1の装置の前記送信手段は、前記第2の装置に対して送信した前記640ビットの(n+1)個の情報のそれぞれに対し、前記第2の装置から受信確認信号をそれぞれ受信し、前記受信確認信号の受信に失敗した場合には、前記受信確認信号に対応する前記情報とは異なる新たな640ビットの情報を前記情報生成手段によって生成し、前記新たな640ビットの情報を前記第2の装置へ再送してもよい。
【0009】
請求項5に記載されるように、請求項4における第1の装置の前記送信手段は、前記新たな640ビットの情報を前記第2の装置へ再送する際、前記受信確認信号に対応する前記情報と同一のシーケンス番号を付けて再送してもよい。
【0010】
請求項6に記載の第2の装置は、640ビットの(n+1)個の情報r0からrnを第1の装置から受信する受信手段と、受信した前記情報r0からrnに対して排他的論理和演算を行って640ビットの情報を生成する情報生成手段と、前記排他的論理和演算を行って得られる640ビットの情報を順に128ビットの情報毎に分割し、分割して得られる5つの128ビットの情報に対して排他的論理和演算を行ってマスタキーを算出する計算手段と、を有する。
【0011】
請求項6に記載の第2の装置は、前記(n+1)個の情報r0からrnをそれぞれ前記第1の装置から受信したときに、受信確認信号をそれぞれ前記第1の装置へ送信する通知手段をさらに有していてもよい。
【0012】
請求項8に記載の通信システムは、請求項2〜7のいずれか一項に記載の第1の装置と、請求項6または7に記載の第2の装置と、から構成されている。
【0013】
本発明の一態様に係る秘密情報伝送方法は、第1の装置により、iビット(i;任意の整数)のマスタキーの情報を含む第1〜第n(n;任意の整数)の分散情報を生成し、前記第1〜第nの分散情報を無線通信により第2の装置へ送信し、前記第2の装置により、前記第1〜第nの分散情報を受信し、前記iビットのマスタキーを復元する秘密情報伝送方法である。
【0014】
ここで、前記第1の装置は、iビットの乱数からなる第1〜第(m−1)(m;任意の整数)の情報rs1〜rs(m−1)と、前記第1〜第(m−1)の情報rs1〜rs(m−1)と前記マスタキーとに対して順にビット値の一致/不一致に基づいた論理演算を行うことにより求めた第mの情報rsmと、を配列してiビット×mビット=jビットの秘密情報を生成し、jビットの乱数からなる第1〜第(n−1)の分散情報r1〜r(n−1)と、前記第1〜第(n−1)の分散情報と前記秘密情報とに対して順にビット値の一致/不一致に基づいた論理演算を行うことによりjビットの第nの分散情報rnと、を生成し、前記第1の装置が、前記第1〜第nの分散情報r1〜rnを前記第2の装置へ送信する。
【0015】
更に、前記第2の装置は、前記第1〜第nの分散情報r1〜rnを受信し、受信された前記第1〜第nの分散情報r1〜rnに対して順にビット値の一致/不一致に基づいた論理演算を行って前記秘密情報を復元し、前記第2の装置が、復元された秘密情報をiビット毎に分割し、m個の第1〜第mの情報rs1〜rsmを求め、分割された前記第1〜第mの情報rs1〜rsmに対してビット値の一致/不一致に基づいた論理演算を行ってiビットの前記マスタキーを復元する。
【0016】
本発明の一態様に係る他の秘密情報伝送方法は、第1の装置により、iビット(i;任意の整数)のマスタキーの情報を含む分散情報を生成し、前記分散情報を無線通信により第2の装置へ送信し、前記第2の装置は、前記分散情報が正常に受信できた場合に受信確認信号を前記第1の装置に送信し、正常に受信できた前記分散情報から前記マスタキーを復元する秘密情報伝送方法である。
【0017】
ここで、前記第1の装置は、おのおの異なるjビットの乱数からなる第1〜第(n−1)の分散情報r1〜r(n−1)を前記第2の装置に送信し、前記第1〜第(n−1)の分散情報に対応する前記受信確認信号を受信できたとき、おのおの異なるiビットの乱数からなるm−1個の情報f1〜f(m−1)を生成し、前記受信確認信号に対応する前記第1〜第(n−1)の分散情報をiビット毎に分割した情報と前記情報f1〜f(m−1)と前記マスタキーとに対して順にビット値の一致/不一致に基づいた論理演算を行い第mの情報fmを求め、前記情報f1〜fmを順に連結した情報を第nの分散情報rnとして前記第2の装置に送信する。
【0018】
更に、前記第2の装置は、前記第1〜第nの分散情報r1〜rnを受信し、受信された前記第1〜第nの分散情報r1〜rnに対して順にビット値の一致/不一致に基づいた論理演算を行って秘密情報を復元し、前記第2の装置が、復元された秘密情報をiビット毎に分割し、m個の第1〜第mの情報rs1〜rsmを求め、分割された前記第1〜第mの情報rs1〜rsmに対して順にビット値の一致/不一致に基づいた論理演算を行ってiビットの前記マスタキーを復元する。
【0019】
本発明の一態様に係る更に他の秘密情報伝送方法は、第1の装置により、iビット(i;任意の整数)のマスタキーの情報を含む分散情報を生成し、前記分散情報を無線通信により第2の装置へ送信し、前記第2の装置は、前記分散情報が正常に受信できた場合に受信確認信号を前記第1の装置に送信し、正常に受信できた前記分散情報から前記マスタキーを復元する秘密情報伝送方法である。
【0020】
ここで、前記第1の装置は、おのおの異なるjビットの乱数からなる第1〜第nの分散情報r1〜rnを前記第2の装置に送信し、前記第1〜第nの分散情報に対応する前記受信確認信号を受信できたとき、前記受信確認信号に対応する前記第1〜第nの分散情報をiビット毎に分割した情報に対して順にビット値の一致/不一致に基づいた論理演算を行うことで前記マスタキーを生成する。
【0021】
更に、前記第2の装置は、前記第1〜第nの分散情報r1〜rnを受信し、受信された前記第1〜第nの分散情報r1〜rnに対して順にビット値の一致/不一致に基づいた論理演算を行って秘密情報を復元し、復元された秘密情報をiビット毎に分割し、m個の第1〜第mの情報rs1〜rsmを求め、分割された前記第1〜第mの情報rs1〜rsmに対してビット値の一致/不一致に基づいた論理演算を行ってiビットの前記マスタキーを復元する。
【0022】
本発明の一態様に係る秘密情報伝送システムは、第1の装置により、iビット(i;任意の整数)のマスタキーを含む第1〜第n(n;任意の整数)の分散情報を生成し、前記第1〜第nの分散情報を無線通信により第2の装置へ送信し、前記第2の装置により、前記第1〜第nの分散情報を受信し、前記iビットのマスタキーを復元する秘密情報伝送システムである。
【0023】
ここで、前記第1の装置は、iビットの乱数からなる第1〜第(m−1)(m;任意の整数)の情報rs1〜rs(m−1)と、前記第1〜第(m−1)の情報rs1〜rs(m−1)と前記iビットのマスタキーとに対して順にEXOR演算を行うことにより求めた第mの情報rsmと、を配列してiビット×mビット=jビットの秘密情報を生成する秘密情報生成手段と、前記jビットの乱数からなる第1〜第(n−1)の分散情報r1〜r(n−1)と、前記第1〜第(n−1)の分散情報と前記jビットの秘密情報とを順にEXOR演算により求めた前記jビットの第nの分散情報rnとから、前記第1〜第nの分散情報r1〜rnを生成する分散情報生成手段と、前記第1〜第nの分散情報r1〜rnを前記第2の装置へ送信する第1の送受信手段とを有している。
【0024】
更に、前記第2の装置は、前記第1〜第nの分散情報r1〜rnを受信する送受信手段と、受信された前記第1〜第nの分散情報r1〜rnを順にEXOR演算を行って前記jビットの秘密情報を復元する秘密情報復元手段と、復元された前記jビットの秘密情報を前記m個に分割して前記第1〜第mの情報rs1〜rsmを求め、分割された前記第1〜第mの情報rs1〜rsmのEXOR演算を行って前記iビットのマスタキーを復元するマスタキー復元手段とを有する。
【0025】
本発明の一態様に係る秘密情報送信装置は、i(i;任意の正の整数)ビットの乱数から成る乱数情報をm(m;2以上の正の整数)個生成し、生成したm個の乱数情報と、パケットの送信順番を示すシーケンス番号と、からなる分散情報を生成する分散情報生成部と、前記分散情報を、無線通信路を介して秘密情報受信装置に送信するとともに、当該秘密情報受信装置から送信される当該分散情報に対する受信確認信号を受信する送受信部と、を備えている。
【0026】
ここで、前記分散情報生成部は、前記送受信部において分散情報を送信してから一定時間内に、送信した分散情報に対応する受信確認信号を受信しない場合、当該送信した分散情報のシーケンス番号と同じシーケンス番号と、新たに生成して得られるm個の乱数情報と、から新たな分散情報を生成し、前記送受信部において分散情報を送信してから一定時間内に、送信した分散情報に対応する受信確認信号を受信した場合、当該送信した分散情報のシーケンス番号を1増加させたシーケンス番号と、新たに生成して得られるm個の乱数情報と、から新たな分散情報を生成し、前記送受信部において第1から第(n−1)(n;2以上の正の整数)の受信確認信号を受信した場合、新たに生成して得られる(m−1)個の乱数情報と、iビットのマスタキーと、前記第1から第(n−1)の受信確認信号のそれぞれに対応する第1から第(n−1)の分散情報に含まれる(n−1)*m個の乱数情報とを論理演算して得られる値と、当該第(n−1)の分散情報のシーケンス番号に1増加させたシーケンス番号と、から第nの分散情報を生成し、前記送受信部において前記第nの分散情報を送信してから一定時間内に、当該第nの分散情報に対応する第nの受信確認信号を受信しない場合、新たに生成して得られる(m−1)個の乱数情報と、前記マスタキーと、前記第1から第(n−1)の分散情報に含まれる(n−1)*m個の乱数情報とを論理演算して得られる値と、当該第nの分散情報のシーケンス番号と同じシーケンス番号と、から新たな第nの分散情報を生成する。
【0027】
また、本発明の一態様に係る秘密情報送信装置において、前記分散情報生成部は、前記送受信部において分散情報を送信してから一定時間内に、送信した分散情報に対応する受信確認信号を受信しない場合、当該分散情報のシーケンス番号と同じシーケンス番号と、新たに生成して得られるm個の乱数情報と、から新たに分散情報を生成し、前記送受信部において分散情報を送信してから一定時間内に、送信した分散情報に対応する受信確認信号を受信した場合、当該分散情報のシーケンス番号を1増加させたシーケンス番号と、新たに生成して得られるm個の乱数情報と、から新たに分散情報を生成し、前記送受信部において第1から第n(n;2以上の正の整数)の受信確認信号を受信した場合、当該第1から第nの受信確認信号のそれぞれに対応する第1から第nの分散情報に含まれるn*m個の乱数情報の論理演算を行い、iビットのマスタキーを生成する、ことを含む。
【発明の効果】
【0028】
本発明の一態様に係る秘密情報伝送方法、秘密情報伝送システム及び秘密情報送信装置によれば、秘密情報とこれを用いた複数の分散情報とを長いビット列で構成し、その分散情報を第1の装置から第2の装置へ送信(例えば、低送信電力で送信)し、第2の装置側では複数の分散情報を全て受信できたときにマスタキーを復元可能な構成にしているので、悪意のある第三者にマスタキーを不正に傍受されにくい通信状況を確立することができる。しかも、ハッシュ関数等の複雑な演算を用いることなく、簡単なビット値の一致/不一致に基づいた論理演算を行うことによって容易に長いビット列の秘密情報とこれを用いた分散情報とを生成できるので、演算処理時間を短縮でき、高速通信を容易に実現できる。
【図面の簡単な説明】
【0029】
【図1】本発明の実施例1における秘密情報伝送システムの詳細を示す概略の要部構成図である。
【図2】は、本発明の実施例1における秘密情報伝送システムの概略を示す構成図である。
【図3】図1中の秘密情報生成手段40を示す機能ブロック図である。
【図4】図1中のマスタキー復元手段60を示す機能ブロック図である。
【図5】本発明の実施例2における秘密情報伝送システムの詳細を示す概略の要部構成図である。
【図6】本発明の実施例3における秘密情報伝送システムの概略を示す構成図である。
【図7】図6中の分散情報生成部14Aを示す機能ブロック図である。
【図8】図6中の秘密キー復元部23Aを示す機能ブロック図である。
【図9】図7の分散情報生成部14Aにおける分散情報パッケト組立部72の動作を示すフローチャートである。
【図10】図8の秘密キー復元部23Aにおける秘密キー組立部81の動作を示すフローチャートである。
【図11】本発明の実施例4における秘密情報伝送システムの概略を示す構成図である。
【図12】図11中の分散情報生成部14Bを示す機能ブロック図である。
【図13】図12の分散情報生成部14Bにおける分散情報パケット組立部72Bの動作を示すフローチャートである。
【発明を実施するための形態】
【0030】
本発明を実施するための形態は、以下の実施例の説明を添付図面と照らし合わせて読むと、明らかになるであろう。但し、図面はもっぱら解説のためのものであって、本発明の範囲を限定するものではない。
(実施例1)
【0031】
(実施例1の構成)
図2は、本発明の実施例1における秘密情報伝送システムの概略を示す構成図である。
【0032】
この秘密情報伝送システムは、家庭用電気機械器具(以下「家電製品」という。)の内のデジタル関連の技術を使用したデジタル家庭電化製品(例えば、テレビジョン受像機、以下単に「TV」という。)10と、これを遠隔制御するリモートコントローラ(以下「リモコン」という。)20との間の無線通信を行うシステムである。
【0033】
TV10は、インターネット等の通信ネットワーク11に接続されてパーソナルコンピュータ(以下「PC」という。)等の他の情報端末に対して情報の送受信が可能な構成になっている。TV10は、受像機等のTV本体12を有し、このTV本体12に通信部13が接続されている。通信部13は、通信ネットワーク11及びTV本体12間の情報の送受信を行うものである。このTV10には、更に、分散情報生成部14と送信確認部15とが設けられている。これらの通信部13、分散情報生成部14及び送信確認部15には、送受信部16が接続されている。
【0034】
分散情報生成部14は、秘密分散法とは異なる方式の分散情報r1,r2,・・・,rnを生成して第1の送受信手段(例えば、送受信部)16へ与えるものである。分散情報生成部14には送信確認部15が接続されている。送受信確認部15は、リモコン20から送られてくる受信確認通知信号ACK1,ACK2,・・・,ACKnを送受信部16を介して受信すると、送信状況を確認して分散情報生成部14へ通知する。送受信部16は、リモコン20に対して近距離無線通信(例えば、使用周波数が数GHz、通信距離が数メートル程度)を行う。
【0035】
リモコン20は、遠隔制御用のリモコン本体21を有し、このリモコン本体21に第2の通信部22が接続されている。リモコン20には、更に、秘密キー復元部23と受信確認部24とが設けられ、これらの通信部22、秘密キー復元部23及び受信確認部24に、第2の送受信手段(例えば、送受信部)25が接続されている。
【0036】
通信部22は、リモコン本体21及び送受信部25間の情報の送受信を行うものである。秘密キー復元部23は、TV10から送られてくる分散情報r1,r2,・・・,rnを送受信部25を介して受信すると、その分散情報r1,r2,・・・,rnから秘密キーを復元するものであり、これには受信確認部24が接続されている。受信確認部24は、TV10から送られてくる分散情報r1,r2,・・・,rnを送受信部25及び秘密キー復元部23を介して受信すると、受信状況を確認して受信確認通知信号ACK1,ACK2,・・・,ACKnを送受信部25へ与える。送受信部25は、TV10に対して近距離無線通信を行う。
【0037】
図1は、本発明の実施例1における秘密情報伝送システムの詳細を示す概略の構成図である。
【0038】
TV10及びリモコン20の通信エリア30の近傍には、他のリモコン20−1や受信機20−2等が存在していると仮定する。
【0039】
TV10側の分散情報生成部14は、分散情報生成手段30と、秘密情報生成手段40とにより構成されている。分散情報生成手段30は、各jビット(例えば、640ビット)の乱数からなる第1〜第nの分散情報r1〜rnを生成する。分散情報生成手段30は、各jビットの乱数からなる第1〜第(n−1)の分散情報r1〜r(n−1)を発生するランダム発生器31と、第1〜第(n−1)の分散情報r1〜r(n−1)とjビットの秘密情報rsとに対し順に排他的論理和(以下「EXOR」という。)演算を行ってjビットの第nの分散情報rnを求める演算手段32とにより構成されている。
【0040】
秘密情報生成手段40は、iビットの乱数からなる第1〜第(m−1)の情報rs1〜rs(m−1)と、前記第1〜第(m−1)の情報rs1〜rs(m−1)とiビットのマスタキーとに対し順にEXOR演算を行って求めた第mの情報rsmと、を配列してjビット(=iビット×mビット)の秘密情報rsを生成する。
【0041】
リモコン20側の秘密キー復元部23は、秘密情報復元手段50と、マスタキー復元手段60とにより構成されている。秘密情報復元手段50は、受信された第1〜第nの分散情報r1〜rnに対し順にEXOR演算を行ってjビットの秘密情報rsを復元する。秘密情報復元手段50は、縦続接続されたn個のEXORゲート51−1〜51−nにより構成されている。マスタキー復元手段60は、復元されたjビットの秘密情報rsをm個に分割して第1〜第mの情報rs1〜rsmを求め、分割された第1〜第mの情報rs1〜rsmのEXOR演算を行ってiビットのマスタキーrsmを復元するものである。
【0042】
図3は、図1中の秘密情報生成手段40を示す機能ブロック図である。
秘密情報生成手段40は、各iビット(例えば、128ビット)の乱数からなる第1〜第(m−1)の情報rs1〜rs(m−1)(例えば、m=5、rs1〜rs4)を発生するランダム発生器41と、第1〜第4の情報rs1〜rs4と128ビットのマスタキーrsmとに対し順にEXOR演算を行って第5の情報r5を求める演算手段42と、第1〜第5の情報rs1〜rs5を配列して128ビット×5ビット=640ビットの秘密情報rsを保持するデータ保持回路43とにより構成されている。
【0043】
図4は、図1中のマスタキー復元手段60を示す機能ブロック図である。
マスタキー復元手段60は、データ保持回路43に保持された640ビットの秘密情報rsを5個に分割して第1〜第5の情報rs1〜rs5を取り出す機能と、取り出された第1〜第5の情報rs1〜rs5に対しEXOR演算を行って120ビットのマスタキーrsmを復元するための縦続接続された4個のEXORゲート61−1〜61−4とにより構成されている。
【0044】
(実施例1の秘密情報伝送方法)
例えば、TV10から通信ネットワーク11を介して商品の購入等を可能にするために、TV10にカード決済機能を設け、このTV10からリモコン20へ暗号鍵であるマスタキーrsmを送信する場合について説明する。
【0045】
TV10側の分散情報生成部14において、図3の秘密情報生成手段40では、ランダム発生器41により、各128ビットの乱数からなる第1〜第4の情報rs1〜rs4を発生し、演算手段42により、次式(1)のEXOR演算を行い、128ビットの第5の情報rs5を求める。
【0046】
【数1】
【0047】
そして、各128ビットの第1〜第5の情報rs1〜rs5を順にデータ保持回路43に保持し、640ビットの秘密情報rsを生成して図1の分散情報生成手段30内の演算手段32に与える。分散情報生成手段30において、ランダム発生器41から各640ビットの乱数からなる第1〜第4の分散情報r1〜r4を発生し、演算手段32に与える。演算手段32により、次式(2)のEXOR演算を行い、640ビットの第5の分散情報r5を求める。
【0048】
【数2】
【0049】
そして、各640ビットの第1〜第5の分散情報r1〜r5には、図2に示すように、先頭にシーケンス番号(1),(2),(3),(4),(5)が付加されて送受信部16により高周波電波に変換され、シーケンス番号順にリモコン20へ送信される。
【0050】
リモコン20側では、シーケンス番号(1),(2),(3),(4),(5)順に送られてきた第1〜第5の分散情報r1〜r5を送受信部25により順に受信すると、この受信信号を秘密キー復元部23を介して受信確認部24へ送る。受信確認部24では、第1〜第5の分散情報r1〜r5をそれぞれ受信したときには、送受信部25を介して各受信確認通知信号ACK1〜ACK5をそれぞれTV10へ返信する。
【0051】
TV10側の送受信部16は、その受信確認通知信号ACK1〜ACK5を受信すると、これを送信確認部15へ送る。送信確認部15では、各受信確認通知信号ACK1〜ACK5を受信すると、送信が成功したと判断して分散情報生成部14及び送受信部16を介して次の分散情報r2〜r5を順に送信させる。即ち、第1の分散情報r1の送信が成功したときには第2の分散情報r2を送信し、第2の分散情報r2の送信が成功したときには第3の分散情報r3を送信し、以下同様に、第5の分散情報r5まで送信する。
【0052】
この際、送信確認部15は、分散情報(例えば、第2の分散情報r2)の送信後、これに対する受信確認通知信号ACK2を受信できない場合、つまり受信確認通知信号ACK2の受信失敗となってしまった場合には、再度同じ分散情報r2を分散情報生成部14及び送受信部16を介して送信させる。送信確認部15は、その後、リモコン20から返信される受信確認通知信号ACK2を受信できた場合には、送信が成功したと判断して次の第3の分散情報r3を分散情報生成部14及び送受信部16を介して送信させる。以下同様の分散情報及び受信確認通知信号の送受信が行われる。
【0053】
リモコン20側の秘密キー復元部23では、TV10側から送られてくる第1〜第5の分散情報r1〜r5を送受信部25を介して全て受信すると、図1の秘密情報復元手段50内のEXORゲート51−1〜51−5により、受信された第1〜第5の分散情報r1〜rnに対し、次式(3)のEXOR演算を行い、640ビットの秘密情報rsを復元し、マスタキー復元手段60へ送る。
【0054】
【数3】
【0055】
図4のマスタキー復元手段60では、復元された640ビットの秘密情報rsを5個に分割して第1〜第5の情報rs1〜rs5を求め、EXORゲート61−1〜61−4により、分割された第1〜第5の情報rs1〜rs5に対し、次式(4)のEXOR演算を行い、128ビットのマスタキーrsmを復元する。
【0056】
【数4】
【0057】
その後、TV10とリモコン20との間では、マスタキーrsmを共通鍵にした情報の暗号化等を行って送受信を行い、リモコン20の遠隔制御により、TV10によるカード決済等が行われる。
【0058】
(実施例1の効果)
本実施例1によれば、次の(a)、(b)のような効果がある。
【0059】
(a) 秘密情報rsとこれを用いた第1〜第5の分散情報r1〜r5とを長いビット列(例えば、640ビット)で構成し、その第1〜第5の分散情報r1〜r5をTV10からリモコン20へ送信し、リモコン20側では第1〜第5の分散情報r1〜r5を全て受信できたときにマスタキーrsmを復元可能な構成にしている。従って、悪意のある第三者にマスタキーrsmを不正に傍受されにくい通信状況を確立することができる。しかも、ハッシュ関数等の複雑な演算を用いることなく、簡単なEXOR演算によって容易に長いビット列の秘密情報rsとこれを用いた第5の分散情報r5とを生成できる。従って、演算処理時間を短縮でき、高速通信を容易に実現できる。
【0060】
(b) 図1に示すTV10及びリモコン20において、この通信エリア30の近傍の他のリモコン20−1や送受信機20−2等から妨害電波を受け、TV10からリモコン20への分散情報r1〜r5の送信が完了したことをリモコン20からTV10に通知するための受信確認通知信号ACKが、TV10によって受信失敗となってしまう場合がある。このような場合でも、再度同じ分散情報の送信を実行する構成にしている。従って、リモコン20側において分散情報r1〜r5を確実に受け取ることができ、秘密情報伝送の信頼性を向上できる。
(実施例2)
【0061】
図5は、本発明の実施例2における秘密情報伝送システムの概略を示す構成図であり、実施例1を示す図2中の要素と共通の要素には共通の符号が付されている。
【0062】
本実施例2の秘密情報伝送システムでは、TV10側の送信確認部15において、リモコン20からの受信確認通知信号(例えば、ACK2)の受信失敗が発生した場合、実施例1のように再度同じ分散情報(例えば、r2)を送信しない。本実施例2によればこの場合、乱数生成によって異なる分散情報r2’を送信する。この際、先頭のシリアルナンバは同一の(2)を付すことにより、リモコン20側では分散信号r2,r2’が再送されたことを容易に認識できる。その他の構成は、実施例1と同様である。
【0063】
本実施例2によれば、受信確認通知信号ACK2の受信失敗が発生した場合には、前回の分散情報r2とは異なる分散情報r2’を送信する。従って、マスタキーrsmを復元するために必要な分散情報r1〜r5が第三者へ漏れてしまう可能性をより低減でき、秘密情報伝送の信頼性をより向上できる。
(実施例3)
【0064】
(実施例3の構成)
図6は、本発明の実施例3における秘密情報伝送システムの概略を示す構成図であり、実施例1を示す図2中の要素と共通の要素には共通の符号が付されている。
【0065】
本実施例3の秘密情報伝送システムでは、実施例1のTV10及びリモコン20に代え
て、これとは構成の異なるTV10A及びリモコン20Aが設けられている。
【0066】
TV10Aは、実施例1と同様のTV本体12と、実施例1とは構成の異なる通信部13A、分散情報生成部14A、及び送受信部16Aとを有している。更に、リモコン20Aは、実施例1と同様のリモコン本体21と、実施例1とは構成の異なる送受信部25A、通信部22A、及び秘密キー復元部23Aとを有している。
【0067】
ここで、TV10Aにおいて、通信部13Aは、秘密キーを生成し、分散情報生成部14Aへ出力する。通信部13Aは、リモコン20Aと通信する際に秘密キーを用いた暗号化通信を行う。通信部13Aのその他の機能は実施例1の通信部13と同様である。分散情報生成部14Aは、通信部13Aから秘密キーを受け取り、秘密キーの情報を含む分散情報を生成し、これを分散情報パケットに組み立て送受信部16Aへ送信を依頼する。送受信部16Aは、依頼された分散情報パケットを通常のパケットの送信電力よりも低い送信電力で送信し、更に分散情報パケットを送信した際、リモコン20Aからの受信確認信号を受信できたときは通信成功を、一定時間内に受信確認通知信号を受信できなかったときは通信失敗を分散情報生成部14Aへ出力する。送受信部16Aのその他の機能は実施例1の送受信部16と同様である。
【0068】
リモコン20Aにおいて、送受信部25Aは、分散情報パケットを受信した際、分散情報パケットが正当なパケットであれば秘密キー復元部23Aへ送信し、TV10Aへ受信確認通知信号を送信する。送受信部25Aのその他の機能は実施例1の送受信部20と同様である。秘密キー復元部23Aは、受け取った分散情報パケットから秘密キーを復元して通信部22Aへ出力する。通信部22Aは、秘密キー復元部23Aから秘密キーを受け取り、TV10Aとの通信の際に暗号化通信を行う。通信部22Aのその他の機能は実施例1の通信部22と同様である。
【0069】
図7は、図6中の分散情報生成部14Aを示す機能ブロック図である。
この分散情報生成部14Aは、乱数発生部71、分散情報パケット組立部72、及びキーバッファ73を有している。乱数発生部71は、乱数を発生して分散情報パケット組立部72へ出力する。キーバッファ73は、jビットの情報を蓄積できるバッファである。
【0070】
図8は、図6中の秘密キー復元部23Aを示す機能ブロック図である。
この秘密キー復元部23Aは、秘密キー組立部81、一時バッファ82、及びキーバッファ83を有している。一時バッファ82は、受信した分散情報パケットを蓄積するバッファ、及び、キーバッファ83は、jビットの情報を蓄積するバッファである。
【0071】
(実施例3の秘密情報伝送方法)
本実施例3の秘密情報伝送方法において、以下、図7の分散情報生成部14A中の分散情報パケット組立部72の動作(1)、及び、図8の秘密キー復元部23A中の秘密キー組立部81の動作(2)を説明する。
【0072】
(1) 分散情報生成部14A中の分散情報パケット組立部72の動作
図9は、図7の分散情報生成部14Aにおける分散情報パケット組立部72の動作を示すフローチャートである。
【0073】
分散情報パケット組立部72は、通信部13Aから秘密キーを受信すると(ステップS1)、シーケンス番号を1にセットしてキーバッファ73をクリアする(ステップS2)。更にjビットの乱数を乱数発生部71から取り出し分散情報とし(ステップS3)、シーケンス番号を付加し分散情報パケットに組み立て送信部16Aに送信を依頼する(ステップS4)。そして、送受信部16Aから送信成功あるいは送信失敗の信号待ちを行う(ステップS5)。送信成功を受信した場合、送信に成功した分散情報とキーバッファ73の情報をEXOR演算した情報をキーバッファ73に蓄積する。即ち、送信に成功した分散情報Rと、キーバッファ73に蓄積された情報k1をEXOR演算し、k2=R xor k1となるk2を得、k2をキーバッファ73に蓄積するのである。更にシーケンス番号を1増加させる(ステップS6)。
【0074】
シーケンス番号がn未満の場合、ステップS3に戻り分散情報パケットの生成と送信を繰り返し行う(ステップS7)。又、ステップS5で送受信部16Aから送信失敗を受信した場合、ステップS3に戻り分散情報パケットの生成と送信を繰り返し行う。この場合、シーケンス番号は維持される。ステップS7でシーケンス番号がnの場合、最後の分散パケットの送信処理を行う(ステップS8〜S13)。
【0075】
先ず、分散情報パケット組立部72は、iビットの乱数を(m−1)個、乱数発生部71から取り出しそれぞれ情報f1〜f(m−1)とする(ステップS8)。又、キーバッファ73から蓄積された情報を取り出し、これを先頭からiビット毎にg1〜gmの情報に分割する(ステップS9)。更に、f1〜f(m−1)、g1〜gm及び秘密キーを順次EXOR演算し、iビットの情報fmを生成する(ステップS10)。そして、f1〜fmを順次連結(EXOR演算)して最後の分散情報を作成する(ステップS11)。
【0076】
この最後の分散情報にシーケンス番号nを付与して分散情報パケットとし、送受信部16Aへ送信を依頼する(ステップS12)。そして、送受信部16Aから送信成功あるいは送信失敗の信号待ちを行う(ステップS13)。この分散情報パケットに対して送受信部16Aが送信成功を通知した場合は、処理を終了し、送信失敗を通知した場合は、ステップS8に戻り再度最後の分散情報を作成して送信する。
【0077】
(2) 秘密キー復元部23A中の秘密キー組立部81の動作
図10は、図8の秘密キー復元部23Aにおける秘密キー組立部81の動作を示すフローチャートである。
【0078】
秘密キー組立部81は、分散情報パケットの受信待ちを行う(ステップS21)。分散情報パケットを受信した場合、シーケンス番号をチェックする(ステップS22)。シーケンス番号が1の場合、受信した分散情報パケットを一時バッファ82に蓄積する(ステップS23)。更に、キーバッファ83をクリアする(ステップS24)。そしてステップS21、即ち分散情報パケットの受信待ちに戻る。
【0079】
受信した分散情報パケットのシーケンス番号が1以外の場合、キーバッファ83に蓄積されている分散情報パケットのシーケンス番号と、受信した分散情報パケットのシーケンス番号を比較する(ステップS25)。不一致の場合、一時バッファ82に蓄積された分散情報パケットの分散情報と、キーバッファ83に蓄積されている情報とをEXOR演算して、キーバッファ83に蓄積する(ステップS26)。そして、一時バッファ82に、受信した分散情報パケットを蓄積する(ステップS27)。
【0080】
ステップS25において、一致した場合はステップS27を実行する。ステップS27の実行後、再度シーケンス番号をチェックする(ステップS28)。シーケンス番号がn以外の場合は、ステップS21に戻り分散情報パケットの受信待ちを行う。ステップS28で、シーケンス番号がnの場合は、キーバッファ83に蓄積されている情報を、先頭からiビット毎にm個の情報h1〜hmに分割する(ステップS29)。更に、情報h1〜hmを順にEXOR演算し、iビットの秘密キーとする(ステップS30)。この秘密キーを通信部22Aへ出力して処理を終了する(ステップS31)。
【0081】
なお、ステップS28において、シーケンス番号がnの場合、ステップS29以下を実施した。しかし、ステップS28においてシーケンス番号がnの場合、分散情報パケットの再送に想定される時間の間更に分散情報パケットの受信待ちを行い、その間に分散情報パケットを受信した場合はステップS22以下を実施し、その間に分散情報パケットを受信しない場合にステップS29以下を実施しても良い。これにより、シーケンス番号nを持つ分散情報パケットの再送処理を行うことができる。
【0082】
(実施例3の効果)
本実施例3では、実施例1とほぼ同様の効果がある。
(実施例4)
【0083】
(実施例4の構成)
図11は、本発明の実施例4における秘密情報伝送システムの概略を示す構成図であり、実施例3を示す図6中の要素と共通の要素には共通の符号が付されている。
【0084】
本実施例4の秘密情報伝送システムでは、実施例3のTV10A及びリモコン20Aに代えて、これとは構成の異なるTV10B及びリモコン20Bが設けられている。
【0085】
TV10Bは、実施例3と同様のTV本体12と、実施例3とは構成の異なる通信部13B、分散情報生成部14B、及び送受信部16Bとを有している。更に、リモコン20Bは、実施例3同様のリモコン本体21と、実施例3とは構成の異なる送受信部25B、通信部22B、及び秘密キー復元部23Bとを有している。
【0086】
ここで、TV10Bにおいて、通信部13Bは、分散情報生成部14Bから秘密キーを取得し、リモコン20Bと通信する際に秘密キーを用いた暗号化通信を行う。通信部13Bのその他の機能は実施例1の通信部13と同様である。分散情報生成部14Bは、通信部13Bから秘密キーの取得を要求されたとき、乱数からなる分散情報を生成する。そして、分散情報生成部14Bは、これを分散情報パケットに組み立て送受信部16Bにリモコン20Bへの送信を依頼し、更に生成した分散情報から秘密キーを生成し、通信部13Bへ出力する。
【0087】
図12は、図11中の分散情報生成部14Bを示す機能ブロック図である。
この分散情報生成部14Bは、実施例3と同様の乱数発生部71及びキーバッファ73と、実施例3とは異なる分散情報パケット組立部72Bとを有している。その他の構成は、実施例3と同様である。
【0088】
(実施例4の秘密情報伝送方法)
図13は、図12の分散情報生成部14Bにおける分散情報パケット組立部72Bの動作を示すフローチャートであり、実施例3を示す図9中の要素と共通の要素には共通の符号が付されている。
【0089】
分散情報パケット組立部72Bは、通信部13Bから秘密キーを要求されると(ステップS41)、シーケンス番号を1にセットしキーバッファ73をクリアする(ステップS2)。更に、jビットの乱数を乱数発生部71から取り出し分散情報とし(ステップS3)、シーケンス番号を付加し、分散情報パケットに組み立て送受信部16Bへ送信を依頼する(ステップS4)。そして、送受信部16Bから送信成功あるいは送信失敗の信号待ちを行う(ステップS5)。
【0090】
送信成功を受信した場合、送信に成功した分散情報とキーバッファ73の情報とをEXOR演算した情報を、キーバッファ73に蓄積する。即ち、送信に成功した分散情報Rと、キーバッファ73に蓄積された情報k1とをEXOR演算し、k2=R xor k1となるk2を得、k2をキーバッファ73に蓄積するのである。更に、シーケンス番号を1増加させる。(ステップS6)
【0091】
次いで、シーケンス番号をチェックする(ステップS42)。シーケンス番号がn以下の場合は、ステップS3に戻り更に分散情報パケットを作成して送信する。ステップS42で、シーケンス番号がnより大きい場合には、キーバッファ73から蓄積された情報を取り出し、これを先頭からiビット毎にg1〜gmの情報に分割する(ステップS43)。そしてg1〜gmを順次EXOR演算し、iビットの秘密キーを生成する(ステップS44)。最後に、秘密キーを通信部13Bへ送信して処理を終了する。
【0092】
(実施例4の効果)
本実施例4では、実施例1とほぼ同様の効果がある。
【0093】
(変形例)
本発明は、上記実施例に限定されず、種々の利用形態や変形が可能である。この利用形態や変形例としては、例えば、次の(a)〜(c)のようなものがある。
【0094】
(a) マスタキーrsm等の情報rs1〜rsmを128ビット以外のビット数に変更したり、分散情報r1〜rnを640ビット以外のビット数に変更しても良い。
【0095】
(b) 実施例では、秘密情報rs及び第5の分散情報r5等をEXOR演算により求めているが、このEXOR演算に代えて、排他的否定論理和(EXNOR)演算を用いても、ほぼ同様の作用効果が期待できる。
【0096】
(c) 実施例では、TV10,10A,10Bを利用したカード決済機能について説明した。しかし、本発明は、その他の機能等にも適用できる。又、実施例では、送信側としてTV10,10A,10B、及び受信側としてマイコン20,20A,20Bを例にして説明した。しかし、送信側としてTV10,10A,10B以外の他のデジタル家電やその他の装置等にも適用でき、これに対応する受信側としてマイコン20,20A,20B以外の端末機器等にも適用できる。
【特許請求の範囲】
【請求項1】
第1の装置から第2の装置に対して、128ビットのマスタキーを送信する送信方法であって、
前記第1の装置は、
640ビットの(n+1)個の情報を順に前記第2の装置に送信し、
前記640ビットの(n+1)個の情報のうち、第1番目から第n番目までの情報r0からr(n−1)は、640ビットの乱数からなる情報であり、
前記第(n+1)番目の情報rnは、128ビットの乱数からなる4個の情報rs1〜rs4と前記マスタキーとに対して排他的論理和演算を行って得られる情報rs5を算出し、前記情報rs1からrs5を順に連結して得られる640ビットの情報と前記情報r0からr(n−1)とに対して排他的論理和演算を行って得られる情報であり、
前記第2の装置は、
前記r0からrnを受信し、
受信した前記情報r0からrnに対して排他的論理和演算を行って640ビットの情報を生成し、
前記排他的論理和演算を行って得られる640ビットの情報を順に128ビットの情報毎に分割し、
分割して得られる5つの128ビットの情報に対して排他的論理和演算を行って前記マスタキーを算出する、
送信方法。
【請求項2】
640ビットのn個の情報のうち、第1番目から第n番目までの情報r0からr(n−1)のそれぞれを、640ビットの乱数からなる情報として生成する情報生成手段と、
128ビットの乱数からなる4個の情報rs1〜rs4と前記マスタキーとに対して排他的論理和演算を行って得られる情報rs5を算出し、前記情報rs1からrs5を順に連結して得られる640ビットの情報と前記情報r0からr(n−1)とに対して排他的論理和演算を行って得た情報を、前記第(n+1)番目の情報rnとして算出する計算手段と、
前記640ビットの(n+1)個の情報を順に第2の装置に送信する送信手段と、
を有する第1の装置。
【請求項3】
前記送信手段は、
前記(n+1)個の情報を順に第2の装置にそれぞれ送信する際に、送信順序を表すシーケンス番号を前記(n+1)個の情報のそれぞれに付与する、
請求項2記載の第1の装置。
【請求項4】
前記送信手段は、
前記第2の装置に対して送信した前記640ビットの(n+1)個の情報のそれぞれに対し、前記第2の装置から受信確認信号をそれぞれ受信し、
前記受信確認信号の受信に失敗した場合には、前記受信確認信号に対応する前記情報とは異なる新たな640ビットの情報を前記情報生成手段によって生成し、前記新たな640ビットの情報を前記第2の装置へ再送する、
請求項2記載の第1の装置。
【請求項5】
前記送信手段は、
前記新たな640ビットの情報を前記第2の装置へ再送する際、前記受信確認信号に対応する前記情報と同一のシーケンス番号を付けて再送する、
請求項4記載の第1の装置。
【請求項6】
640ビットの(n+1)個の情報r0からrnを第1の装置から受信する受信手段と、
受信した前記情報r0からrnに対して排他的論理和演算を行って640ビットの情報を生成する情報生成手段と、
前記排他的論理和演算を行って得られる640ビットの情報を順に128ビットの情報毎に分割し、分割して得られる5つの128ビットの情報に対して排他的論理和演算を行ってマスタキーを算出する計算手段と、
を有する第2の装置。
【請求項7】
前記(n+1)個の情報r0からrnをそれぞれ前記第1の装置から受信したときに、受信確認信号をそれぞれ前記第1の装置へ送信する通知手段をさらに有する請求項6記載の第2の装置。
【請求項8】
請求項2〜7のいずれか一項に記載の第1の装置と、
請求項6または7に記載の第2の装置と、
から構成された通信システム。
【請求項1】
第1の装置から第2の装置に対して、128ビットのマスタキーを送信する送信方法であって、
前記第1の装置は、
640ビットの(n+1)個の情報を順に前記第2の装置に送信し、
前記640ビットの(n+1)個の情報のうち、第1番目から第n番目までの情報r0からr(n−1)は、640ビットの乱数からなる情報であり、
前記第(n+1)番目の情報rnは、128ビットの乱数からなる4個の情報rs1〜rs4と前記マスタキーとに対して排他的論理和演算を行って得られる情報rs5を算出し、前記情報rs1からrs5を順に連結して得られる640ビットの情報と前記情報r0からr(n−1)とに対して排他的論理和演算を行って得られる情報であり、
前記第2の装置は、
前記r0からrnを受信し、
受信した前記情報r0からrnに対して排他的論理和演算を行って640ビットの情報を生成し、
前記排他的論理和演算を行って得られる640ビットの情報を順に128ビットの情報毎に分割し、
分割して得られる5つの128ビットの情報に対して排他的論理和演算を行って前記マスタキーを算出する、
送信方法。
【請求項2】
640ビットのn個の情報のうち、第1番目から第n番目までの情報r0からr(n−1)のそれぞれを、640ビットの乱数からなる情報として生成する情報生成手段と、
128ビットの乱数からなる4個の情報rs1〜rs4と前記マスタキーとに対して排他的論理和演算を行って得られる情報rs5を算出し、前記情報rs1からrs5を順に連結して得られる640ビットの情報と前記情報r0からr(n−1)とに対して排他的論理和演算を行って得た情報を、前記第(n+1)番目の情報rnとして算出する計算手段と、
前記640ビットの(n+1)個の情報を順に第2の装置に送信する送信手段と、
を有する第1の装置。
【請求項3】
前記送信手段は、
前記(n+1)個の情報を順に第2の装置にそれぞれ送信する際に、送信順序を表すシーケンス番号を前記(n+1)個の情報のそれぞれに付与する、
請求項2記載の第1の装置。
【請求項4】
前記送信手段は、
前記第2の装置に対して送信した前記640ビットの(n+1)個の情報のそれぞれに対し、前記第2の装置から受信確認信号をそれぞれ受信し、
前記受信確認信号の受信に失敗した場合には、前記受信確認信号に対応する前記情報とは異なる新たな640ビットの情報を前記情報生成手段によって生成し、前記新たな640ビットの情報を前記第2の装置へ再送する、
請求項2記載の第1の装置。
【請求項5】
前記送信手段は、
前記新たな640ビットの情報を前記第2の装置へ再送する際、前記受信確認信号に対応する前記情報と同一のシーケンス番号を付けて再送する、
請求項4記載の第1の装置。
【請求項6】
640ビットの(n+1)個の情報r0からrnを第1の装置から受信する受信手段と、
受信した前記情報r0からrnに対して排他的論理和演算を行って640ビットの情報を生成する情報生成手段と、
前記排他的論理和演算を行って得られる640ビットの情報を順に128ビットの情報毎に分割し、分割して得られる5つの128ビットの情報に対して排他的論理和演算を行ってマスタキーを算出する計算手段と、
を有する第2の装置。
【請求項7】
前記(n+1)個の情報r0からrnをそれぞれ前記第1の装置から受信したときに、受信確認信号をそれぞれ前記第1の装置へ送信する通知手段をさらに有する請求項6記載の第2の装置。
【請求項8】
請求項2〜7のいずれか一項に記載の第1の装置と、
請求項6または7に記載の第2の装置と、
から構成された通信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2011−4428(P2011−4428A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2010−211004(P2010−211004)
【出願日】平成22年9月21日(2010.9.21)
【分割の表示】特願2010−512430(P2010−512430)の分割
【原出願日】平成21年11月13日(2009.11.13)
【出願人】(308033711)OKIセミコンダクタ株式会社 (898)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願日】平成22年9月21日(2010.9.21)
【分割の表示】特願2010−512430(P2010−512430)の分割
【原出願日】平成21年11月13日(2009.11.13)
【出願人】(308033711)OKIセミコンダクタ株式会社 (898)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
[ Back to top ]