以下本発明の実施の形態について、図面を参照しながら説明する。
図1は、本発明の実施の形態による通信システムの全体構成図を示している。本通信システムは、共通鍵制御装置11、及び複数の一般通信装置12を備えている。共通鍵制御装置11及び一般通信装置12は、ネットワーク13を介して種々のデータが相互に送受信可能に接続されている。
共通鍵制御装置11は、CPU、ROM、RAM、及び通信装置等を備え、一般通信装置12へ共通鍵を送信すると共に、各一般通信装置12に対して送信した共通鍵、各一般通信装置12に対して送信した共通鍵の履歴、及び一般通信装置12のステータス等を管理している。
ここで、共通鍵とは、通信システムを構成する一般通信装置12及び共通鍵制御装置11が処理するデータを暗号化・復号化する際に用いられるデータである。一般通信装置12のステータスとして、「未設定」、「配信完了」、「移行中」、及び「更新完了」が存在する。
「未設定」は共通鍵が共通鍵制御装置11より送信されていない状態を示すステータスである。「配信完了」は、更新対象となる共通鍵である新共通鍵を共通鍵制御装置11から受信したときに遷移するステータスである。「移行中」は共通鍵制御装置11から後述する第1の状態遷移要求を受信したときに遷移するステータスを示す。「更新完了」は共通鍵制御装置11から後述する第2の状態遷移要求を受信したときに遷移するステータスを示す。
ネットワーク13としては、エコーネット規格に準じたネットワーク、或いはIEEE802.11b(無線LANの一種)の規格に準じたネットワーク、或いはイーサネット(登録商標)の規格に準じたネットワーク等が採用される。
図2は、図1に示す共通鍵制御装置11のブロック構成図を示している。共通鍵制御装置11は、通信媒体処理部23、データ受信処理部24、データ送信処理部25、配信共通鍵保持部26、及び共通鍵更新部27を備えている。
通信媒体処理部23は、ネットワーク13へ送信データを送信し、ネットワーク13から受信データを受信する。
データ受信処理部24は、通信媒体処理部23から受信データを受け取った際、配信共通鍵保持部26から当該受信データを暗号化した共通鍵を受け取り、当該受信データを復号化する。
データ送信処理部25は、配信共通鍵保持部26から送信データの送信先となる一般通信装置12に送信している共通鍵を受け取り、当該送信データを暗号化して通信媒体処理部23へ渡す。但し、データ送信処理部25は、送信先を特定しない、例えばブロードキャストやマルチキャストで送信データを送信する場合、配信共通鍵保持部26から一般通信装置12に対して送信した共通鍵のうち、最新の共通鍵を受け取り、送信データを暗号化して通信媒体処理部23へ渡す。
配信共通鍵保持部26は、各一般通信装置12に対して送信した共通鍵の種類を記憶する管理テーブル51を保持する。この管理テーブル51の詳細については後述する。また、配信共通鍵保持部26は、各一般通信装置12に対して送信した全ての共通鍵を保持している。そして、配信共通鍵保持部26は、データ受信処理部24が受信データを受信する際、送信元の一般通信装置12が保持している共通鍵を、管理テーブル51を参照して特定し、特定した共通鍵をデータ受信処理部24へ渡す。
また、配信共通鍵保持部26は、データ送信処理部25が送信データを送信する際、送信先の一般通信装置12が保持している共通鍵をデータ送信処理部25へ渡す。更に、配信共通鍵保持部26は、通信媒体処理部23が一般通信装置12から共通鍵の更新を要求するデータを受信したとき、送信元の一般通信装置12へ最新の共通鍵が送信されるようにデータ送信処理部25及び通信媒体処理部23を制御する。共通鍵更新部27は、各一般通信装置12が保持する共通鍵を新共通鍵に更新する際、新共通鍵を生成し、各一般通信装置12に送信されるように、データ送信処理部25及び通信媒体処理部23を制御する。
ここで、共通鍵更新部27は、例えば乱数により共通鍵を生成する。共通鍵を更新するタイミングとしては、例えば以下のタイミングが挙げられる。1)システム使用者が、共通鍵制御装置11の画面や本体から手動で更新を指定したとき、2)前共通鍵による送信データの暗号化回数が一定回数に達したとき、3)前共通鍵による受信データの復号化回数が一定回数に達したとき、4)前共通鍵による送信データの暗号化回数と前共通鍵による送信データの復号化回数との和が一定回数に達したとき、5)前共通鍵を送信してから一定の時間が経過したとき、6)配信共通鍵保持部26により管理されていない一般通信装置12からデータを受信したとき等が挙げられる。
図3は、一般通信装置12のブロック構成図を示している。一般通信装置12は、通信媒体処理部33、データ受信処理部34、データ送信処理部35、共通鍵保持部36、及び共通鍵要求部37を備えている。
通信媒体処理部33は、ネットワーク13へ送信データを送信し、受信データをネットワーク13から受信する。データ受信処理部34は、通信媒体処理部33から受信データを受け取ると、共通鍵保持部36から自己のステータスにより定められる共通鍵を受け取り、受信データを復号化する。データ送信処理部35は、共通鍵保持部36から自己のステータスにより定められる共通鍵を受け取り、送信データを暗号化して通信媒体処理部33へ渡す。共通鍵保持部36は、自己のステータスと共通鍵とを保持し、ステータスにより定められる共通鍵をデータ受信処理部34及びデータ送信処理部35へ渡す。
具体的には、共通鍵保持部36は、自己のステータスが更新完了である場合、最新の共通鍵のみ保持し、自己のステータスが配信完了及び移行中である場合、新共通鍵と前共通鍵とを保持する。
共通鍵要求部37は、電源OFF等によりネットワーク13から離脱していた一般通信装置12がネットワーク13へ参入した際、共通鍵制御装置11に新共通鍵の送信を要求する。これにより、新共通鍵の更新漏れが回避される。
本実施の形態では、共通鍵制御装置11のデータ送信処理部25がデータ送信処理手段に相当し、共通鍵更新部27が共通鍵更新手段に相当する。また、一般通信装置12の共通鍵保持部36が遷移手段、及び共通鍵保持手段に相当し、データ送信処理部35が暗号化手段に相当する。
図1に示すように、通信システムが複数の一般通信装置12により構成される場合、共通鍵制御装置11が新共通鍵を送信すると、通信システム内には前共通鍵を保持する一般通信装置12と、新共通鍵を保持する一般通信装置12とが混在する。そこで、新共通鍵を保持する一般通信装置12と新共通鍵を保持していない一般通信装置12と間の通信を可能とするための共通鍵更新シーケンスを図4に示す。
図4は、共通鍵更新シーケンスを示す図面であり、(a)は共通鍵更新シーケンスを示し、(b)は一般通信装置のステータスを示し、(c)は一般通信装置が送信データを暗号化する際に使用する共通鍵を示し、(d)は一般通信装置が受信データを復号化する際に使用する共通鍵を示している。
このシーケンス図の初期状態において、一般通信装置12のステータスは更新完了を示しているものとする。このステータスにおいて、一般通信装置12は、(c)に示すように前共通鍵を用いて送信データを暗号化し、(d)に示すように前共通鍵を用いて受信データを復号化する。
ステップS1において、共通鍵制御装置11は、全ての一般通信装置12に対して共通鍵更新要求Rを送信する。この共通鍵更新要求Rには新共通鍵が含まれている。ステップS2において、一般通信装置12は、共通鍵更新要求Rを受信し、共通鍵制御装置11に共通鍵更新要求Rに対する応答A1を送信する。このとき、一般通信装置12は、(b)に示すようにステータスを更新完了から配信完了に遷移させる。ここで、ネットワーク13上に存在する全ての一般通信装置12は、共通鍵更新要求Rを同時に受信することができない。そのため、ネットワーク13は、ステータスが更新完了である一般通信装置12と、ステータスが配信完了である一般通信装置12とが混在した状態になる。このネットワークの状態を第1のネットワーク状態J1と呼ぶことにする。
この第1のネットワーク状態J1において、ステータスが配信完了である一般通信装置12は、(c)に示すように前共通鍵を用いて送信データを暗号化している。そのため、ステータスが更新完了である一般通信装置12は、ステータスが配信完了である一般通信装置12から前共通鍵を用いて暗号化された送信データを復号化することができる。
従って、第1のネットワーク状態J1において、ステータスが更新完了である一般通信装置12とステータスが配信完了である一般通信装置12との間で暗号化したデータを送受信することが可能となる。
ステップS3において、共通鍵制御装置11は一般通信装置12から送信された応答A1を受信する。ステップS4において、共通鍵制御装置11は、全ての一般通信装置12に共通鍵更新要求Rを送信した後に、応答A1を送信した全ての一般通信装置12に第1の状態遷移要求R1を送信する。
ステップS5において、一般通信装置12は、第1の状態遷移要求R1を受信すると、(b)に示すようにステータスを配信完了から移行中に遷移させ、第1の状態遷移要求R1に対する応答A2を共通鍵制御装置11に送信する。ここで、ネットワーク13上に存在する全ての一般通信装置12は、第1の状態遷移要求R1を同時に受信することができない。そのため、ネットワーク13は、ステータスが移行中である一般通信装置12とステータスが配信完了である一般通信装置12とが混在した状態となる。このネットワークの状態を第2のネットワーク状態J2と呼ぶことにする。
この第2のネットワーク状態J2において、ステータスが移行中である一般通信装置12は(c)に示すように新共通鍵を用いて送信データを暗号化しているが、ステータスが配信完了である一般通信装置12は(d)に示すように新共通鍵を保持しているため、当該送信データを復号化することができる。
また、第2のネットワーク状態J2において、ステータスが配信完了である一般通信装置12は、(c)に示すように前共通鍵を用いて送信データを暗号化しているが、ステータスが移行中である一般通信装置12は、(d)に示すように前共通鍵を保持しているため、当該送信データを復号化することができる。
そのため、第2のネットワーク状態J2において、ステータスが移行中である一般通信装置12とステータスが配信完了である一般通信装置12とは暗号化されたデータを相互に送受信することができる。
ステップS6において、共通鍵制御装置11は、一般通信装置12から送信される応答A2を受信する。ステップS7において、共通鍵制御装置11は、全ての一般通信装置12に新共通鍵を配信した場合、第2の状態遷移要求R2を一般通信装置12に送信する。
ステップS8において、一般通信装置12は、第2の状態遷移要求R2を受信すると、自己のステータスを移行中から更新完了に戻し、共通鍵制御装置11に第2の状態遷移要求R2に対する応答A3を送信する。
ここで、ネットワーク13上に存在する全ての一般通信装置12は、第2の状態遷移要求R2を同時に受信することができない。そのため、ネットワーク13上には、ステータスが更新完了である一般通信装置12と、ステータスが移行中である一般通信装置12とが混在している。このネットワークの状態を第3のネットワーク状態J3と呼ぶことにする。
この第3のネットワーク状態J3において、ステータスが更新完了である一般通信装置12は、(c)に示すように新共通鍵を用いて送信データを暗号化している。そのため、ステータスが更新完了である一般通信装置12は、(d)に示すようにステータスが移行中である一般通信装置12から新共通鍵を用いて暗号化された送信データを復号化することができる。
また、第3のネットワーク状態J3において、ステータスが移行中である一般通信装置12は、(c)に示すように新共通鍵を用いて送信データを暗号化しているが、ステータスが更新完了である一般通信装置12は、(d)に示すように新共通鍵を保持しているため、当該送信データを復号化することができる。
そのため、第3のネットワーク状態J3において、ステータスが移行中である一般通信装置12とステータスが配信完了である一般通信装置12とは暗号化されたデータを相互に送受信することができる。
ステップS9において、共通鍵制御装置11は応答A3を受信する。そして、共通鍵制御装置11が全ての一般通信装置12からの応答A3を受信した場合、ネットワーク13上の全ての一般通信装置12のステータスが更新完了となり、共通鍵の更新処理が終了する。
なお、一般通信装置が家電機器やセンサ類である場合、共通鍵更新時にネットワークに種々のデータが送受信可能な状態で接続されていない可能性が高い。その場合、共通鍵制御装置11は、一般通信装置12のステータスを更新完了に設定しなくてもよい。
このように一般通信装置12が保持するステータスに応じて更新シーケンスを実行することによって、共通鍵更新中に新共通鍵に更新された一般通信装置12と新共通鍵に更新されていない一般通信装置12とがシステム内に混在している場合においても、一般通信装置12同士で共通鍵を使用した通信を可能にすることができる。また、一般通信装置12は、共通鍵配信状態が配信完了状態及び移行中状態のときのみ新共通鍵と前共通鍵とを共に保持し、更新完了状態の場合は最新の共通鍵のみを保持しているため、一般通信装置12がメモリ容量の小さい家電機器やセンサ類であるとしても、対応が可能である。
図5は、図2に示す管理テーブル51のデータ構造を示した図面である。図5に示すように、管理テーブル51は、共通鍵の配信履歴を記憶している。管理テーブル51は、共通鍵の種類を示すデータを記憶する共通鍵のフィールドと、各共通鍵を送信した一般通信装置のアドレスを記憶する配信先アドレスのフィールドとを備えている。
共通鍵のフィールドには、最新共通鍵、及び共通鍵1〜共通鍵nが記憶されている。共通鍵の後に付される1〜nの符号は、最新共通鍵に対して何世代前の共通鍵であるかを示す数字であり、例えば共通鍵nは、最新共通鍵に対してn世代前の共通鍵を示している。
図5では、アドレスA、アドレスB、アドレスCの一般通信装置12は最新の共通鍵を保持している。アドレスDの一般通信装置12は共通鍵1を保持している。アドレスE、アドレスFの一般通信装置12は、共通鍵2を保持している。共通鍵3を保持する一般通信装置12はシステム内には存在していない。アドレスGの一般通信装置12は共通鍵4を保持している。このように共通鍵制御装置11は管理テーブル51を保持しているため、電源がオフされる等して共通鍵の更新処理が行われていない一般通信装置12に対しても、当該一般通信装置12が保持する共通鍵を用いて暗号化したデータを送信することができる。
また、管理テーブル51は、各共通鍵と一般通信装置12のアドレスとを対応付けて記憶し、このアドレスは一般通信装置12に対して一意に与えられている。そのため、いずれの一般通信装置12も保持していない共通鍵を格納するためのレコードを保持する必要がなくなる。その結果、この管理テーブル51を不揮発性のメモリに保持させる、或いは揮発性のメモリに登録する保持させる場合であっても、メモリ消費量を低減させることができる。
図6は、図2に示す共通鍵制御装置11のブロック図に対して、更に初期共通鍵入力部68を追加した場合のブロック構成図を示している。初期共通鍵入力部68は、管理テーブル51にアドレスが登録されていない一般通信装置12が保持する共通鍵である初期共通鍵を入力するものである。これにより共通鍵制御装置11は、入力された初期共通鍵を用いて最新の共通鍵を暗号化し、初期共通鍵を保持する一般通信装置12に送信することができる。その結果、最新の共通鍵が第三者によって盗まれることを防止しつつ、最新の共通鍵を一般通信装置12に送信することができる。
ここで、初期共通鍵入力部68としては、キーボード、タッチパネル、及びマウスが採用される。ただし、これらに限定されず、例えば初期共通鍵を保持する一般通信装置12が家電機器などである場合は、その家電機器のリモコンから送信される信号を受信できる受光部を採用してもよい。この場合、ユーザは家電機器のリモコンを操作して初期共通鍵を入力することができる。
また、初期共通鍵を保持する一般通信装置12の筐体に製造番号等の符号及びバーコード等がプリントされている場合、或いは一般通信装置12を梱包する箱に製造番号等の符号及びバーコード等がプリントされ、かつこれらの符号及びバーコード等から所定の計算式により初期共通鍵が生成されている場合は、初期共通鍵入力部68として、バーコードリーダー、OCR等の符号を認識する装置を採用し、この装置を用いて符号及びバーコードを読取り、読取った符号及びバーコードを基に、初期共通鍵を生成してもよい。この場合、初期共通鍵入力部68は、上記所定の計算式を予め記憶する必要がある。
更に、初期共通鍵入力部68は、例えばSDカード、フレキシブルディスク、CD−R等の記録媒体からデータを読み出す記憶媒体駆動装置を採用してもよい。この場合、記録媒体に初期共通鍵を記憶させておけば、この記録媒体から初期共通鍵を取得することができる。
次に本通信システムの具体例を図7に示す。図7に示す通信システムでは、センタサーバ71は、家72の外部に設置されている。共通鍵制御装置11及び一般通信装置12は家72の内部に設置されている。センタサーバ71は共通鍵制御装置11とインターネットを介して接続されている。
センタサーバ71は、共通鍵制御装置11及び一般通信装置12に関する種々の情報を保持している。まず、初期共通鍵入力部68は、共通鍵の配信先の一般通信装置12からその一般通信装置12の情報、例えばメーカコード、商品コード、製造番号、製造年月日を取得する。共通鍵制御装置11は、取得したこれらの情報をセンタサーバ71へ送信する。センタサーバ71は、送信されたこれらの情報から予め定められた計算式による演算を実行して初期共通鍵を生成し、共通鍵制御装置11に送信する。これにより、共通鍵制御装置11は、初期共通鍵を取得する。
但し、初期共通鍵を取得するためのセンタサーバ71と家72の間で送受信されるデータは、第三者が通信内容を傍受しても判断できないように、暗号化されている必要がある。
次に、本通信システムを実際のホームネットワークに適用した場合について図8を用いて説明する。図8に示す通信システムはコントローラ81、エアコン82、及びセンサ83を備えている。コントローラ81は、図1に示す共通鍵制御装置11に相当し、エアコン82及びセンサ83は図1に示す一般通信装置12に相当する。
センサ83は検知対象物を検知した場合、検知ステータスを有に設定し、エアコン82に対して動作開始要求データを送信する。一方、センサ83は、検知対象物を検知していない場合、検知ステータスを無に設定し、エアコン82に動作停止要求データを送信する。
まず、エアコン82及びセンサ83の順に共通鍵が更新される場合について説明する。初期状態において、センサ83のステータスは更新完了であり、エアコン82のステータスは配信完了であるものとする。
この初期状態において、センサ83の検知ステータスが無から有に変化した場合、センサ83は新共通鍵を保持していないため、前共通鍵で動作開始要求データを暗号化して、エアコン82に送信する。このとき、エアコン82のステータスは配信完了であるため、エアコン82は受信した動作開始要求データを新共通鍵で復号化し、暗号化した共通鍵と異なっていることを判断すると、前共通鍵で動作開始要求データを復号化する。その結果、エアコン82はセンサ83から動作開始要求データを受信することができる。
次に、センサ83は、コントローラ81から送信される新共通鍵を受信すると、ステータスを更新完了から配信完了に遷移させる。次に、コントローラ81は、エアコン82及びセンサ83に第1の状態遷移要求R1を送信するが、エアコン82が第1の状態遷移要求R1を受信した後であって、センサ83が第1の状態遷移要求R1を受信する前、すなわち、エアコン82のステータスが移行中であり、センサ83のステータスが配信完了である場合、センサ83の検知ステータスが無に変化したとする。このとき、センサ83は、ステータスが配信完了であるため、前共通鍵を使用して動作停止要求データを暗号化してエアコン82に送信する。
動作停止要求データを受信したエアコン82は、ステータスが「移行中」であるため、受信した動作停止要求データを新共通鍵で復号化し、暗号化した共通鍵と異なっていることを判断すると、前共通鍵で受信データを復号化する。この結果、エアコン82はセンサ83から動作停止要求データを受信することができる。
次に、センサ83は、コントローラ81から第1の状態遷移要求R1を受信してステータスを移行中に遷移させる。次に、コントローラ81は、第2の状態遷移要求R2をエアコン82及びセンサ83に送信し、エアコン82及びセンサ83はこの順で第2の状態遷移要求R2を受信したものとする。そして、エアコン82が第2の状態遷移要求R2を受信した後であって、センサ83が第2の状態遷移要求R2を受信する前、すなわち、エアコン82のステータスが更新完了であり、センサ83のステータスが移行中である場合に、センサ83の検知ステータスが有へ変化したとする。このとき、センサ83は、ステータスが移行中であるため、新共通鍵を使用してエアコン82に動作開始要求データを暗号化して送信する。受信したエアコン82は、ステータスが更新完了であるため、受信した動作開始要求データを新共通鍵で復号化する。この結果、エアコン82はセンサ83から動作開始要求データを受信することができる。
次に、センサ83及びエアコン82の順に共通鍵が更新される場合について説明する。初期状態において、エアコン82のステータスは更新完了であり、センサ83のステータスは配信完了であるものとする。
この初期状態において、センサ83の検知ステータスが有に変化した場合、センサ83はステータスが配信完了であるため、前共通鍵で動作開始要求データを暗号化してエアコン82に送信する。
エアコン82は受信した動作開始要求データを、保持している前共通鍵で復号化する。その結果、エアコン82はセンサ83から動作開始要求データを受信することができる。次に、エアコン82は、コントローラ81から送信される新共通鍵を受信すると、ステータスを配信完了に遷移させる。
次に、コントローラ81は、エアコン82及びセンサ83に第1の状態遷移要求R1を送信するが、センサ83が第1の状態遷移要求R1を受信した後であって、エアコン82が第1の状態遷移要求R1を受信する前、すなわち、センサ83のステータスが移行中であり、エアコン82のステータスが配信完了である場合に、センサ83の検知ステータスが無に変化したとする。
このとき、センサ83はステータスが移行中であるため、新共通鍵を使用して動作停止要求データを暗号化してエアコン82に送信する。受信したエアコン82は、ステータスが配信完了であるため、受信した動作停止要求データを、新共通鍵で復号化し、暗号化した共通鍵と同一であることを確認する。この場合、前共通鍵で受信データを復号化する必要はない。その結果、エアコン82はセンサ83から動作停止要求データを受信することができる。次に、エアコン82は、コントローラ81から第1の状態遷移要求R1を受信して、ステータスを移行中に遷移させる。
次に、コントローラ81は、エアコン82及びセンサ83に第2の状態遷移要求R2を送信するが、センサ83が第2の状態遷移要求R2を受信した後であって、エアコン82が第2の状態遷移要求R2を受信する前、すなわち、センサ83のステータスが更新完了であり、エアコン82のステータスが移行中である場合に、センサ83の検知ステータスが無に変化したとする。このとき、センサ83は、ステータスが移行中であるため、新共通鍵を使用して動作停止要求データを暗号化してエアコン82に送信する。
動作停止要求データを受信したエアコン82は、ステータスが更新完了であるため、新共通鍵で復号化し、暗号化した共通鍵と同一であることを確認する。この場合、エアコン82は、新共通鍵で受信データを復号化することなく、センサ83から動作開始要求データを受信することができる。
このような現象は、ホームネットワークのようにM:Nの通信システムにおいて、発生する可能性は十分高い。また、ネットワークが低速の場合においては、共通鍵の更新には、さらに時間も要することとなるが、その場合も常に一般通信装置間において、通信を行うことが可能である。
なお、図2に示す各種ブロックは、コンピュータを共通鍵制御装置として機能させるプログラムをCPUに実行させることで実現してもよい。また、図3に示す各種ブロックは、コンピュータを一般通信装置として機能させるプログラムをCPUに実行させることで実現させてもよい。
(本発明の纏め)
(1)本発明による通信システムは、更新前の前共通鍵を保持する複数の一般通信装置と、前記一般通信装置に対して所定のネットワークを介して接続され、前記前共通鍵を新共通鍵に更新する共通鍵制御装置とを備え、前記共通鍵制御装置は、ステータスが配信完了になった全ての一般通信装置に第1の状態遷移要求を送信し、全ての一般通信装置に新共通鍵を配信することができたとき、全ての一般通信装置に第2の状態遷移要求を送信するデータ送信処理手段を備え、前記一般通信装置は、前記共通鍵制御装置から新共通鍵を受信したとき、ステータスを更新完了から前記配信完了に遷移させ、前記第1の状態遷移要求を受信したとき、ステータスを前記配信完了から前記移行中に遷移させ、前記第2の状態遷移要求を受信したとき、ステータスを前記移行中から更新完了に戻す遷移手段と、ステータスが前記更新完了にあるとき、最新の共通鍵のみを保持し、ステータスが前記配信完了及び前記移行中にあるとき、前記前共通鍵と前記新共通鍵とを共に保持する共通鍵保持手段と、ステータスが前記更新完了にあるとき、最新の共通鍵によりデータを暗号化し、ステータスが前記配信完了にあるとき、前記前共通鍵により送信データを暗号化し、ステータスが前記移行中にあるとき、前記新共通鍵を用いて送信データを暗号化する暗号化手段とを備えることを特徴とする。
この構成によれば、第1〜第3のネットワーク状態において、全ての一般通信装置は暗号化されたデータを復号化することが可能となり、しかも、全ての一般通信装置のステータスが更新完了に戻されると、前共通鍵が削除されるため、メモリ消費量を抑制しつつ、全ての一般通信装置が暗号化されたデータを用いて相互に通信することができなくなる期間が発生することを防止することができる。
(2)上記構成において、前記共通鍵制御装置は、前記新共通鍵を乱数により生成する共通鍵更新手段を更に備えることが好ましい。
この構成によれば、新共通鍵は乱数により決定されるため、解読困難な共通鍵を生成することができる。
(3)上記構成において、前記共通鍵更新手段は、前記前共通鍵による送信データの暗号化回数又は受信データの復号化回数がある一定回数を越えた場合、前記新共通鍵を生成することが好ましい。
この構成によれば、前共通鍵は使用回数に応じて更新されるため、システムの安全性をより高めることができる。
(4)上記構成において、前記共通鍵更新手段は、前記共通鍵による送信データの暗号化回数と受信データの復号化回数との和がある一定回数越えた場合、前記新共通鍵を生成することが好ましい。
この構成によれば、前共通鍵は暗号化回数と復号化回数との和が一定回数を超えた場合に更新されるため、システムの安全性をより高めることができる。
(5)上記構成において、前記共通鍵更新手段は、前記前共通鍵を更新してからある一定時間経過した場合、前記新共通鍵を生成することが好ましい。
この構成によれば、前共通鍵は一定期間経過後に更新されるため、システムの安全性をより高めることができる。
(6)上記構成において、前記共通鍵保持手段は、前記一般通信装置へ送信した共通鍵の履歴を保持し、送信した各共通鍵と、送信した前記一般通信装置のアドレスを含む一般通信装置情報とを対応づけて記憶する管理テーブルを保持することが好ましい。
この構成によれば、共通鍵保持手段は、各一般通信装置がどの世代の共通鍵を保持しているかを管理しているため、長期間電源がオフされる等して、前共通鍵よりも前の世代の共通鍵を保持する一般通信装置が再び電源がオンされた場合であっても、共通鍵制御装置は当該一般通信装置と送信することができる。
(7)上記構成において、前記共通鍵更新手段は、前記管理テーブルにより一般通信装置情報が記憶されていない一般通信装置からデータを受信した場合、新共通鍵を生成し、前記管理テーブルにより一般通信情報が記憶されている一般通信装置が保持する共通鍵を前記新共通鍵に更新することが好ましい。
この構成によれば、管理テーブルに一般通信情報が記憶されていない一般通信装置がネットワークに接続された場合、全ての一般通信装置に対して最新の共通鍵が送信されるため、各一般通信装置が保持する共通鍵を共通化させることができる。
(8)上記構成において、前記共通鍵制御装置は、前記一般通信装置がネットワーク接続時において保持する初期共通鍵を入力するための初期共通鍵入力手段を更に備えることが好ましい。
この構成によれば、一般通信装置がネットワークに組み込まれるときに保持している初期共通鍵を入力する初期共通鍵入力手段を備えているため、共通鍵制御装置がこの初期共通鍵を知らない場合であっても、共通鍵制御装置は当該一般通信装置と通信することができる。
(9)前記初期共通鍵入力手段は、キーボード、タッチパネル、及びマウスのうちの少なくともいずれか1つを含むことが好ましい。
この構成によれば、初期共通鍵入力手段は、キーボード、タッチパネル、及びマウス等から構成されるため、ユーザは初期共通鍵を容易に入力することができる。
(10)上記構成において、前記初期共通鍵入力手段は、初期共通鍵を保持する一般通信装置のリモコンと、前記リモコンからの信号を受け取る受光部とを含むことが好ましい。
この構成によれば、初期共通鍵の配信先である初期共通鍵を保持する一般通信装置のリモコンを用いて、初期共通鍵を入力することができる。
(11)上記構成において、前記初期共通鍵入力手段は、符号読取り装置であることが好ましい。
この構成によれば、一般通信装置の筐体等に記されている、或いは一般通信装置を梱包する袋や箱に記されている初期共通鍵を示す符号を符号読取り装置により読取らせるだけで、初期共通鍵を入力することができる。
(12)上記構成において、前記初期共通鍵入力手段は、記憶媒体駆動装置でることが好ましい。
この構成によれば、記録媒体に初期共通鍵が記録されている場合、この記録媒体を記録媒体駆動装置に装填するだけで、初期共通鍵を入力することができる。
(13)上記構成において、前記一般通信装置は、通信不可能状態から通信可能状態になったとき、前記共通鍵制御装置に対して新共通鍵の配信を要求するデータを作成し、前記共通鍵制御装置に送信する共通鍵要求手段を更に備えることが好ましい。
この構成によれば、長期間電源がオフされる等して通信不可能状態にあった一般通信装置が通信可能状態になった場合、共通鍵制御装置に対して新共通鍵の送信を要求するデータが生成され、共通制御装置に送信されるため、一般通信装置は新共通鍵を得ることが可能となり、新共通鍵の更新漏れを回避することができる。
(14)上記構成において、前記一般通信装置は、自機のステータスが前記配信完了である場合、前記前共通鍵と前記新共通鍵とにより受信データを復号化し、どちらの共通鍵で前記受信データが暗号化されたかを特定する復号化手段を更に備えることが好ましい。
この構成によれば、ステータスが配信完了である一般通信装置と、ステータスが移行中である一般通信装置とが混在する上記第2のネットワーク状態下において、ステータスが移行中である一般通信装置は、新共通鍵、或いは前共通鍵により暗号化された送信データを正確に復号化することができる。
(15)上記構成において、前記復号化手段は、自機のステータスが前記移行中である場合、前記前共通鍵と前記新共通鍵とを使用して前記受信データを復号化し、どちらの共通鍵で前記受信データが暗号化されたかを特定することが好ましい。
この構成によれば、ステータスが配信完了である一般通信装置と、ステータスが移行中である一般通信装置とが混在する上記第2のネットワーク状態下において、ステータスが移行中である一般通信装置は、新共通鍵、或いは前共通鍵を用いて暗号化された送信データを正確に復号化することができる。
(16)上記構成において、前記復号化手段は、自機のステータスが前記第2の更新完了である場合、前記新共通鍵を使用して受信データを復号化することが好ましい。
この構成によれば、上記第3のネットワーク状態下のステータスが更新完了である一般通信装置は、新共通鍵により新共通鍵を用いて暗号化された送信データを正確に復号化することができる。
(17)本発明による一般通信装置は、ステータスが配信完了になった全ての一般通信装置に第1の状態遷移要求を送信し、全ての一般通信装置に新共通鍵を配信することができたとき、全ての一般通信装置に第2の状態遷移要求を送信する共通鍵制御装置に対して通信ネットワークを介して接続され、前記共通鍵制御装置から新共通鍵を受信したとき、ステータスを更新完了から前記配信完了に遷移させ、前記第1の状態遷移要求を受信したとき、ステータスを前記配信完了から前記移行中に遷移させ、前記第2の状態遷移要求を受信したとき、ステータスを前記移行中から前記更新完了に戻す遷移手段と、ステータスが前記更新完了にあるとき、最新の共通鍵のみを保持し、ステータスが前記配信完了及び前記移行中にあるとき、前記前共通鍵と前記新共通鍵とを共に保持する共通鍵保持手段と、ステータスが前記更新完了にあるとき最新の共通鍵により送信データを暗号化し、ステータスが前記配信完了にあるとき、前記前共通鍵により送信データを暗号化し、ステータスが前記移行中にあるとき、前記新共通鍵を用いて送信データを暗号化する暗号化手段とを備えることを特徴とする。
(18)本発明による共通鍵制御装置は、複数の一般通信装置に対して通信ネットワークを介して接続された共通鍵制御装置であって、前記一般通信装置は、前記共通鍵制御装置から新共通鍵を受信したとき、ステータスを更新完了から配信完了に遷移させ、前記共通鍵制御装置から第1の状態遷移要求を受信したとき、ステータスを前記配信完了から移行中に遷移させ、前記共通鍵制御装置から第2の状態遷移要求を受信したとき、ステータスを移行中から更新完了に戻す遷移手段と、ステータスが前記更新完了にあるとき、最新の共通鍵のみを保持し、ステータスが前記配信完了及び前記移行中にあるとき、前記前共通鍵と前記新共通鍵とを共に保持する共通鍵保持手段と、ステータスが前記更新完了にあるとき最新の共通鍵により送信データを暗号化し、ステータスが前記配信完了にあるとき、前記前共通鍵により送信データを暗号化し、ステータスが前記移行中にあるとき、前記新共通鍵により送信データを暗号化する暗号化手段とを備え、全ての一般通信装置へ新共通鍵の更新要求を送信後に、新共通鍵更新応答を送信した全ての一般通信装置に第1の状態遷移要求を送信し、全ての一般通信装置に新共通鍵を配信することができたとき、全ての一般通信装置に第2の状態遷移要求を送信することを特徴とする。
しかしながら、特許文献1記載の機器認証管理システムでは、機器は、過去に配信された共通鍵の履歴を保持する必要があった。そのため、上記機器がメモリ容量の小さい白物家電、或いはセンサ等である場合、かかる履歴を保持することは困難であるという問題があった。
更に、メモリ容量が小さいため共通鍵の履歴管理を行うことができないという理由で、配信された共通鍵を一つしか持つことができないような機器でネットワークを構成した場合、新たな課題が発生する。
すなわち、ネットワークに接続される機器が複数存在している場合、全ての機器が保持する共通鍵を更新すると、共通鍵を更新する順番によって、更新後の共通鍵である新共通鍵を保持している機器と更新前の共通鍵である前共通鍵を保持する機器とが混在する期間が発生する。そして、この期間において、新共通鍵を保持する機器と、前共通鍵を保持する機器との間で暗号化したデータによる通信ができなくなるという問題が発生する。
本発明の目的は、共通鍵を新しい共通鍵で更新する際に、一般通信装置のメモリ消費量を抑制しつつ、全ての一般通信装置間で暗号化したデータを用いて相互に通信することができなくなる期間の発生を防止し得る通信システム、一般通信装置、及び共通鍵制御装置を提供することである。
本発明による通信システムは、更新前の前共通鍵を保持する複数の一般通信装置と、前記一般通信装置に対して所定のネットワークを介して接続され、前記前共通鍵を新共通鍵に更新する共通鍵制御装置とを備え、前記共通鍵制御装置は、ステータスが配信完了になった全ての一般通信装置に第1の状態遷移要求を送信し、全ての一般通信装置に新共通鍵を配信することができたとき、全ての一般通信装置に第2の状態遷移要求を送信するデータ送信処理手段を備え、前記一般通信装置は、前記共通鍵制御装置から新共通鍵を受信したとき、ステータスを更新完了から前記配信完了に遷移させ、前記第1の状態遷移要求を受信したとき、ステータスを前記配信完了から前記移行中に遷移させ、前記第2の状態遷移要求を受信したとき、ステータスを前記移行中から前記更新完了に戻す遷移手段と、ステータスが前記更新完了にあるとき、最新の共通鍵のみを保持し、ステータスが前記配信完了及び前記移行中にあるとき、前記前共通鍵と前記新共通鍵とを共に保持する共通鍵保持手段と、ステータスが前記更新完了にあるとき、最新の共通鍵によりデータを暗号化し、ステータスが前記配信完了にあるとき、前記前共通鍵により送信データを暗号化し、ステータスが前記移行中にあるとき、前記新共通鍵を用いて送信データを暗号化する暗号化手段とを備えることを特徴とする。
本発明による通信システムにおいては、一般通信装置は、共通鍵制御装置から新共通鍵を受信するとステータスを更新完了から配信完了へと遷移させる。ここで、全ての一般通信装置は、新共通鍵を同時に受信することができない。そのため、ネットワークは、ステータスが更新完了である一般通信装置と、ステータスが配信完了である一般通信装置とが混在する状態となる。ここで、説明の便宜上、このネットワークの状態を第1のネットワーク状態と呼ぶことにする。
この第1のネットワーク状態において、ステータスが配信完了である一般通信装置は、前共通鍵を用いて送信データを暗号化するが、ステータスが更新完了である一般通信装置は、前共通鍵を保持しているため、当該送信データを復号化することができる。
また、第1のネットワーク状態において、ステータスが更新完了である一般通信装置は、前共通鍵を用いて送信データを暗号化するが、ステータスが配信完了である一般通信装置は、前共通鍵を保持しているため、前記送信データを復号化することができる。
従って、第1のネットワーク状態において、全ての一般通信装置同士は相互に暗号化されたデータを送受信することができる。
共通鍵制御装置は、ステータスが配信完了になった全ての一般通信装置に対して第1の状態遷移要求を送信する。第1の状態遷移要求を受信した一般通信装置は、ステータスを配信完了から移行中に遷移させる。ここで、全ての一般通信装置は、第1の状態遷移要求を同時に受信することはできない。そのため、ネットワークは、ステータスが配信完了である一般通信装置とステータスが移行中である一般通信装置とが混在する状態となる。この状態を説明の便宜上、第2のネットワーク状態と呼ぶことにする。
この第2のネットワーク状態において、ステータスが移行中である一般通信装置は、新共通鍵を用いて送信データを暗号化するが、ステータスが配信完了である一般通信装置は、新共通鍵と前共通鍵とを保持しているため、当該送信データを復号化することができる。
一方、ステータスが配信完了である一般通信装置は前共通鍵を用いて送信データを暗号化するが、ステータスが移行中である一般通信装置も新共通鍵と前共通鍵とを保持しているため、当該送信データを復号化することができる。従って、第2のネットワーク状態においても、全ての一般通信装置は相互に通信することができる。
共通鍵制御装置は、全ての一般通信装置のステータスが移行中になると、ネットワーク上の全ての一般通信装置に対して第2の状態遷移要求を送信する。第2の状態遷移要求を受信した一般通信装置は、自己のステータスを移行中から更新完了に戻し、前共通鍵を削除する。
ここで、全ての一般通信装置は、第2の状態遷移要求を同時に受信することができない。そのため、ネットワークは、ステータスが移行中である一般通信装置と、ステータスが更新完了である一般通信装置とが混在している状態となる。ここで、このネットワークの状態を説明の便宜上、第3のネットワーク状態と呼ぶことにする。
この第3のネットワーク状態において、ステータスが移行中である一般通信装置と、ステータスが更新完了である一般通信装置とは、共に新共通鍵を用いて送信データを暗号化しているため、当該送信データを受信した一般通信装置は、当該送信データを復号化することができる。従って、第3のネットワーク状態においても、全ての一般通信装置は暗号化されたデータを受信することができる。
その結果、第1〜第3のネットワーク状態において、全ての一般通信装置は暗号化されたデータを復号化することが可能となり、しかも、全ての一般通信装置のステータスが更新完了に戻されると、前共通鍵が削除されるため、メモリ消費量を抑制しつつ、全ての一般通信装置が暗号化したデータを用いて相互に通信することができなくなる期間の発生を防止することができる。
また、上記構成において、前記共通鍵制御装置は、前記新共通鍵を乱数により生成する共通鍵更新手段を更に備えることが好ましい(請求項2)。
この構成によれば、新共通鍵は乱数により決定されるため、解読困難な共通鍵を生成することができる。
また、上記構成において、前記共通鍵更新手段は、前記前共通鍵による送信データの暗号化回数又は受信データの復号化回数がある一定回数を越えた場合、前記新共通鍵を生成することが好ましい(請求項3)。
この構成によれば、前共通鍵は使用回数に応じて更新されるため、システムの安全性をより高めることができる。
また、上記構成において、前記共通鍵更新手段は、前記共通鍵による送信データの暗号化回数と受信データの復号化回数との和がある一定回数越えた場合、前記新共通鍵を生成することが好ましい(請求項4)。
この構成によれば、前共通鍵は暗号化回数と復号化回数との和が一定回数を超えた場合に更新されるため、システムの安全性をより高めることができる。
また、上記構成において、前記共通鍵更新手段は、前記前共通鍵を更新してからある一定時間経過した場合、前記新共通鍵を生成することが好ましい(請求項5)。
この構成によれば、前共通鍵は一定期間経過後に更新されるため、システムの安全性をより高めることができる。
また、上記構成において、前記共通鍵保持手段は、前記一般通信装置へ送信した共通鍵の履歴を保持し、送信した各共通鍵と、送信した前記一般通信装置のアドレスを含む一般通信装置情報とを対応づけて記憶する管理テーブルを保持することが好ましい(請求項6)。
この構成によれば、共通鍵保持手段は、各一般通信装置がどの世代の共通鍵を保持しているかを管理しているため、長期間電源がオフされる等して、前共通鍵よりも前の世代の共通鍵を保持する一般通信装置が再び電源がオンされた場合であっても、共通鍵制御装置は当該一般通信装置と送信することができる。
また、上記構成において、前記共通鍵更新手段は、前記管理テーブルにより一般通信装置情報が記憶されていない一般通信装置からデータを受信した場合、新共通鍵を生成し、前記管理テーブルにより一般通信情報が記憶されている一般通信装置が保持する共通鍵を前記新共通鍵に更新することが好ましい(請求項7)。
この構成によれば、管理テーブルに一般通信情報が記憶されていない一般通信装置がネットワークに接続された場合、全ての一般通信装置に対して最新の共通鍵が送信されるため、各一般通信装置が保持する共通鍵を共通化させることができる。
また、上記構成において、前記共通鍵制御装置は、前記一般通信装置がネットワーク接続時において保持する初期共通鍵を入力するための初期共通鍵入力手段を更に備えることが好ましい(請求項8)。
この構成によれば、一般通信装置がネットワークに組み込まれるときに保持している初期共通鍵を入力する初期共通鍵入力手段を備えているため、共通鍵制御装置がこの初期共通鍵を知らない場合であっても、共通鍵制御装置は当該一般通信装置と通信することができる。
また、前記初期共通鍵入力手段は、キーボード、タッチパネル、及びマウスのうちの少なくともいずれか1つを含むことが好ましい(請求項9)。
この構成によれば、初期共通鍵入力手段は、キーボード、タッチパネル、及びマウス等から構成されるため、ユーザは初期共通鍵を容易に入力することができる。
また、上記構成において、前記初期共通鍵入力手段は、初期共通鍵を保持する一般通信装置のリモコンと、前記リモコンからの信号を受け取る受光部とを含むことが好ましい(請求項10)。
この構成によれば、初期共通鍵の配信先である初期共通鍵を保持する一般通信装置のリモコンを用いて、初期共通鍵を入力することができる。
また、上記構成において、前記初期共通鍵入力手段は、符号読取り装置であることが好ましい(請求項11)。
この構成によれば、一般通信装置の筐体等に記されている、或いは一般通信装置を梱包する袋や箱に記されている初期共通鍵を示す符号を符号読取り装置により読取らせるだけで、初期共通鍵を入力することができる。
また、上記構成において、前記初期共通鍵入力手段は、記憶媒体駆動装置でることが好ましい(請求項12)。
この構成によれば、記録媒体に初期共通鍵が記録されている場合、この記録媒体を記録媒体駆動装置に装填するだけで、初期共通鍵を入力することができる。
また、上記構成において、前記一般通信装置は、通信不可能状態から通信可能状態になったとき、前記共通鍵制御装置に対して新共通鍵の配信を要求するデータを作成し、前記共通鍵制御装置に送信する共通鍵要求手段を更に備えることが好ましい(請求項13)。
この構成によれば、長期間電源がオフされる等して通信不可能状態にあった一般通信装置が通信可能状態になった場合、共通鍵制御装置に対して新共通鍵の送信を要求するデータが生成され、共通制御装置に送信されるため、一般通信装置は新共通鍵を得ることが可能となり、新共通鍵の更新漏れを回避することができる。
また、上記構成において、前記一般通信装置は、自機のステータスが前記配信完了である場合、前記前共通鍵と前記新共通鍵とにより受信データを復号化し、どちらの共通鍵で前記受信データが暗号化されたかを特定する復号化手段を更に備えることが好ましい(請求項14)。
この構成によれば、ステータスが配信完了である一般通信装置と、ステータスが移行中である一般通信装置とが混在する上記第2のネットワーク状態下において、ステータスが移行中である一般通信装置は、新共通鍵、或いは前共通鍵により暗号化された送信データを正確に復号化することができる。
また、上記構成において、前記復号化手段は、自機のステータスが前記移行中である場合、前記前共通鍵と前記新共通鍵とを使用して前記受信データを復号化し、どちらの共通鍵で前記受信データが暗号化されたかを特定することが好ましい(請求項15)。
この構成によれば、ステータスが配信完了である一般通信装置と、ステータスが移行中である一般通信装置とが混在する上記第2のネットワーク状態下において、ステータスが移行中である一般通信装置は、新共通鍵、或いは前共通鍵を用いて暗号化された送信データを正確に復号化することができる。
また、上記構成において、前記復号化手段は、自機のステータスが前記第2の更新完了である場合、前記新共通鍵を使用して受信データを復号化することが好ましい(請求項16)。
この構成によれば、上記第3のネットワーク状態下のステータスが更新完了である一般通信装置は、新共通鍵により新共通鍵を用いて暗号化された送信データを正確に復号化することができる。
本発明による一般通信装置は、ステータスが配信完了になった全ての一般通信装置に第1の状態遷移要求を送信し、全ての一般通信装置に新共通鍵を配信することができたとき、全ての一般通信装置に第2の状態遷移要求を送信する共通鍵制御装置に対して通信ネットワークを介して接続され、前記共通鍵制御装置から新共通鍵を受信したとき、ステータスを更新完了から前記配信完了に遷移させ、前記第1の状態遷移要求を受信したとき、ステータスを前記配信完了から前記移行中に遷移させ、前記第2の状態遷移要求を受信したとき、ステータスを前記移行中から前記更新完了に戻す遷移手段と、ステータスが前記更新完了にあるとき、最新の共通鍵のみを保持し、ステータスが前記配信完了及び前記移行中にあるとき、前記前共通鍵と前記新共通鍵とを共に保持する共通鍵保持手段と、ステータスが前記更新完了にあるとき最新の共通鍵により送信データを暗号化し、ステータスが前記配信完了にあるとき、前記前共通鍵により送信データを暗号化し、ステータスが前記移行中にあるとき、前記新共通鍵を用いて送信データを暗号化する暗号化手段とを備えることを特徴とする(請求項17)。
本発明による共通鍵制御装置は、複数の一般通信装置に対して通信ネットワークを介して接続された共通鍵制御装置であって、前記一般通信装置は、前記共通鍵制御装置から新共通鍵を受信したとき、ステータスを更新完了から配信完了に遷移させ、前記共通鍵制御装置から第1の状態遷移要求を受信したとき、ステータスを前記配信完了から移行中に遷移させ、前記共通鍵制御装置から第2の状態遷移要求を受信したとき、ステータスを移行中から更新完了に戻す遷移手段と、ステータスが前記更新完了にあるとき、最新の共通鍵のみを保持し、ステータスが前記配信完了及び前記移行中にあるとき、前記前共通鍵と前記新共通鍵とを共に保持する共通鍵保持手段と、ステータスが前記更新完了にあるとき最新の共通鍵により送信データを暗号化し、ステータスが前記配信完了にあるとき、前記前共通鍵により送信データを暗号化し、ステータスが前記移行中にあるとき、前記新共通鍵により送信データを暗号化する暗号化手段とを備え、全ての一般通信装置へ新共通鍵の更新要求を送信後に、新共通鍵更新応答を送信した全ての一般通信装置に第1の状態遷移要求を送信し、全ての一般通信装置に新共通鍵を配信することができたとき、全ての一般通信装置に第2の状態遷移要求を送信することを特徴とする(請求項18)。
本発明によれば、メモリ消費量を抑制しつつ、全ての一般通信装置が暗号化したデータを用いて相互に通信することができなくなる期間の発生を防止することができる。
以下本発明の実施の形態について、図面を参照しながら説明する。
図1は、本発明の実施の形態による通信システムの全体構成図を示している。本通信システムは、共通鍵制御装置11、及び複数の一般通信装置12を備えている。共通鍵制御装置11及び一般通信装置12は、ネットワーク13を介して種々のデータが相互に送受信可能に接続されている。
共通鍵制御装置11は、CPU、ROM、RAM、及び通信装置等を備え、一般通信装置12へ共通鍵を送信すると共に、各一般通信装置12に対して送信した共通鍵、各一般通信装置12に対して送信した共通鍵の履歴、及び一般通信装置12のステータス等を管理している。
ここで、共通鍵とは、通信システムを構成する一般通信装置12及び共通鍵制御装置11が処理するデータを暗号化・復号化する際に用いられるデータである。一般通信装置12のステータスとして、「未設定」、「配信完了」、「移行中」、及び「更新完了」が存在する。
「未設定」は共通鍵が共通鍵制御装置11より送信されていない状態を示すステータスである。「配信完了」は、更新対象となる共通鍵である新共通鍵を共通鍵制御装置11から受信したときに遷移するステータスである。「移行中」は共通鍵制御装置11から後述する第1の状態遷移要求を受信したときに遷移するステータスを示す。「更新完了」は共通鍵制御装置11から後述する第2の状態遷移要求を受信したときに遷移するステータスを示す。
ネットワーク13としては、エコーネット規格に準じたネットワーク、或いはIEEE802.11b(無線LANの一種)の規格に準じたネットワーク、或いはイーサネットの規格に準じたネットワーク等が採用される。
図2は、図1に示す共通鍵制御装置11のブロック構成図を示している。共通鍵制御装置11は、通信媒体処理部23、データ受信処理部24、データ送信処理部25、配信共通鍵保持部26、及び共通鍵更新部27を備えている。
通信媒体処理部23は、ネットワーク13へ送信データを送信し、ネットワーク13から受信データを受信する。
データ受信処理部24は、通信媒体処理部23から受信データを受け取った際、配信共通鍵保持部26から当該受信データを暗号化した共通鍵を受け取り、当該受信データを復号化する。
データ送信処理部25は、配信共通鍵保持部26から送信データの送信先となる一般通信装置12に送信している共通鍵を受け取り、当該送信データを暗号化して通信媒体処理部23へ渡す。但し、データ送信処理部25は、送信先を特定しない、例えばブロードキャストやマルチキャストで送信データを送信する場合、配信共通鍵保持部26から一般通信装置12に対して送信した共通鍵のうち、最新の共通鍵を受け取り、送信データを暗号化して通信媒体処理部23へ渡す。
配信共通鍵保持部26は、各一般通信装置12に対して送信した共通鍵の種類を記憶する管理テーブル51を保持する。この管理テーブル51の詳細については後述する。また、配信共通鍵保持部26は、各一般通信装置12に対して送信した全ての共通鍵を保持している。そして、配信共通鍵保持部26は、データ受信処理部24が受信データを受信する際、送信元の一般通信装置12が保持している共通鍵を、管理テーブル51を参照して特定し、特定した共通鍵をデータ受信処理部24へ渡す。
また、配信共通鍵保持部26は、データ送信処理部25が送信データを送信する際、送信先の一般通信装置12が保持している共通鍵をデータ送信処理部25へ渡す。更に、配信共通鍵保持部26は、通信媒体処理部23が一般通信装置12から共通鍵の更新を要求するデータを受信したとき、送信元の一般通信装置12へ最新の共通鍵が送信されるようにデータ送信処理部25及び通信媒体処理部23を制御する。共通鍵更新部27は、各一般通信装置12が保持する共通鍵を新共通鍵に更新する際、新共通鍵を生成し、各一般通信装置12に送信されるように、データ送信処理部25及び通信媒体処理部23を制御する。
ここで、共通鍵更新部27は、例えば乱数により共通鍵を生成する。共通鍵を更新するタイミングとしては、例えば以下のタイミングが挙げられる。1)システム使用者が、共通鍵制御装置11の画面や本体から手動で更新を指定したとき、2)前共通鍵による送信データの暗号化回数が一定回数に達したとき、3)前共通鍵による受信データの復号化回数が一定回数に達したとき、4)前共通鍵による送信データの暗号化回数と前共通鍵による送信データの復号化回数との和が一定回数に達したとき、5)前共通鍵を送信してから一定の時間が経過したとき、6)配信共通鍵保持部26により管理されていない一般通信装置12からデータを受信したとき等が挙げられる。
図3は、一般通信装置12のブロック構成図を示している。一般通信装置12は、通信媒体処理部33、データ受信処理部34、データ送信処理部35、共通鍵保持部36、及び共通鍵要求部37を備えている。
通信媒体処理部33は、ネットワーク13へ送信データを送信し、受信データをネットワーク13から受信する。データ受信処理部34は、通信媒体処理部33から受信データを受け取ると、共通鍵保持部36から自己のステータスにより定められる共通鍵を受け取り、受信データを復号化する。データ送信処理部35は、共通鍵保持部36から自己のステータスにより定められる共通鍵を受け取り、送信データを暗号化して通信媒体処理部33へ渡す。共通鍵保持部36は、自己のステータスと共通鍵とを保持し、ステータスにより定められる共通鍵をデータ受信処理部34及びデータ送信処理部35へ渡す。
具体的には、共通鍵保持部36は、自己のステータスが更新完了である場合、最新の共通鍵のみ保持し、自己のステータスが配信完了及び移行中である場合、新共通鍵と前共通鍵とを保持する。
共通鍵要求部37は、電源OFF等によりネットワーク13から離脱していた一般通信装置12がネットワーク13へ参入した際、共通鍵制御装置11に新共通鍵の送信を要求する。これにより、新共通鍵の更新漏れが回避される。
本実施の形態では、共通鍵制御装置11のデータ送信処理部25がデータ送信処理手段に相当し、共通鍵更新部27が共通鍵更新手段に相当する。また、一般通信装置12の共通鍵保持部36が遷移手段、及び共通鍵保持手段に相当し、データ送信処理部35が暗号化手段に相当する。
図1に示すように、通信システムが複数の一般通信装置12により構成される場合、共通鍵制御装置11が新共通鍵を送信すると、通信システム内には前共通鍵を保持する一般通信装置12と、新共通鍵を保持する一般通信装置12とが混在する。そこで、新共通鍵を保持する一般通信装置12と新共通鍵を保持していない一般通信装置12と間の通信を可能とするための共通鍵更新シーケンスを図4に示す。
図4は、共通鍵更新シーケンスを示す図面であり、(a)は共通鍵更新シーケンスを示し、(b)は一般通信装置のステータスを示し、(c)は一般通信装置が送信データを暗号化する際に使用する共通鍵を示し、(d)は一般通信装置が受信データを復号化する際に使用する共通鍵を示している。
このシーケンス図の初期状態において、一般通信装置12のステータスは更新完了を示しているものとする。このステータスにおいて、一般通信装置12は、(c)に示すように前共通鍵を用いて送信データを暗号化し、(d)に示すように前共通鍵を用いて受信データを復号化する。
ステップS1において、共通鍵制御装置11は、全ての一般通信装置12に対して共通鍵更新要求Rを送信する。この共通鍵更新要求Rには新共通鍵が含まれている。ステップS2において、一般通信装置12は、共通鍵更新要求Rを受信し、共通鍵制御装置11に共通鍵更新要求Rに対する応答A1を送信する。このとき、一般通信装置12は、(b)に示すようにステータスを更新完了から配信完了に遷移させる。ここで、ネットワーク13上に存在する全ての一般通信装置12は、共通鍵更新要求Rを同時に受信することができない。そのため、ネットワーク13は、ステータスが更新完了である一般通信装置12と、ステータスが配信完了である一般通信装置12とが混在した状態になる。このネットワークの状態を第1のネットワーク状態J1と呼ぶことにする。
この第1のネットワーク状態J1において、ステータスが配信完了である一般通信装置12は、(c)に示すように前共通鍵を用いて送信データを暗号化している。そのため、ステータスが更新完了である一般通信装置12は、ステータスが配信完了である一般通信装置12から前共通鍵を用いて暗号化された送信データを復号化することができる。
従って、第1のネットワーク状態J1において、ステータスが更新完了である一般通信装置12とステータスが配信完了である一般通信装置12との間で暗号化したデータを送受信することが可能となる。
ステップS3において、共通鍵制御装置11は一般通信装置12から送信された応答A1を受信する。ステップS4において、共通鍵制御装置11は、全ての一般通信装置12に共通鍵更新要求Rを送信した後に、応答A1を送信した全ての一般通信装置12に第1の状態遷移要求R1を送信する。
ステップS5において、一般通信装置12は、第1の状態遷移要求R1を受信すると、(b)に示すようにステータスを配信完了から移行中に遷移させ、第1の状態遷移要求R1に対する応答A2を共通鍵制御装置11に送信する。ここで、ネットワーク13上に存在する全ての一般通信装置12は、第1の状態遷移要求R1を同時に受信することができない。そのため、ネットワーク13は、ステータスが移行中である一般通信装置12とステータスが配信完了である一般通信装置12とが混在した状態となる。このネットワークの状態を第2のネットワーク状態J2と呼ぶことにする。
この第2のネットワーク状態J2において、ステータスが移行中である一般通信装置12は(c)に示すように新共通鍵を用いて送信データを暗号化しているが、ステータスが配信完了である一般通信装置12は(d)に示すように新共通鍵を保持しているため、当該送信データを復号化することができる。
また、第2のネットワーク状態J2において、ステータスが配信完了である一般通信装置12は、(c)に示すように前共通鍵を用いて送信データを暗号化しているが、ステータスが移行中である一般通信装置12は、(d)に示すように前共通鍵を保持しているため、当該送信データを復号化することができる。
そのため、第2のネットワーク状態J2において、ステータスが移行中である一般通信装置12とステータスが配信完了である一般通信装置12とは暗号化されたデータを相互に送受信することができる。
ステップS6において、共通鍵制御装置11は、一般通信装置12から送信される応答A2を受信する。ステップS7において、共通鍵制御装置11は、全ての一般通信装置12に新共通鍵を配信した場合、第2の状態遷移要求R2を一般通信装置12に送信する。
ステップS8において、一般通信装置12は、第2の状態遷移要求R2を受信すると、自己のステータスを移行中から更新完了に戻し、共通鍵制御装置11に第2の状態遷移要求R2に対する応答A3を送信する。
ここで、ネットワーク13上に存在する全ての一般通信装置12は、第2の状態遷移要求R2を同時に受信することができない。そのため、ネットワーク13上には、ステータスが更新完了である一般通信装置12と、ステータスが移行中である一般通信装置12とが混在している。このネットワークの状態を第3のネットワーク状態J3と呼ぶことにする。
この第3のネットワーク状態J3において、ステータスが更新完了である一般通信装置12は、(c)に示すように新共通鍵を用いて送信データを暗号化している。そのため、ステータスが更新完了である一般通信装置12は、(d)に示すようにステータスが移行中である一般通信装置12から新共通鍵を用いて暗号化された送信データを復号化することができる。
また、第3のネットワーク状態J3において、ステータスが移行中である一般通信装置12は、(c)に示すように新共通鍵を用いて送信データを暗号化しているが、ステータスが更新完了である一般通信装置12は、(d)に示すように新共通鍵を保持しているため、当該送信データを復号化することができる。
そのため、第3のネットワーク状態J3において、ステータスが移行中である一般通信装置12とステータスが配信完了である一般通信装置12とは暗号化されたデータを相互に送受信することができる。
ステップS9において、共通鍵制御装置11は応答A3を受信する。そして、共通鍵制御装置11が全ての一般通信装置12からの応答A3を受信した場合、ネットワーク13上の全ての一般通信装置12のステータスが更新完了となり、共通鍵の更新処理が終了する。
なお、一般通信装置が家電機器やセンサ類である場合、共通鍵更新時にネットワークに種々のデータが送受信可能な状態で接続されていない可能性が高い。その場合、共通鍵制御装置11は、一般通信装置12のステータスを更新完了に設定しなくてもよい。
このように一般通信装置12が保持するステータスに応じて更新シーケンスを実行することによって、共通鍵更新中に新共通鍵に更新された一般通信装置12と新共通鍵に更新されていない一般通信装置12とがシステム内に混在している場合においても、一般通信装置12同士で共通鍵を使用した通信を可能にすることができる。また、一般通信装置12は、共通鍵配信状態が配信完了状態及び移行中状態のときのみ新共通鍵と前共通鍵とを共に保持し、更新完了状態の場合は最新の共通鍵のみを保持しているため、一般通信装置12がメモリ容量の小さい家電機器やセンサ類であるとしても、対応が可能である。
図5は、図2に示す管理テーブル51のデータ構造を示した図面である。図5に示すように、管理テーブル51は、共通鍵の配信履歴を記憶している。管理テーブル51は、共通鍵の種類を示すデータを記憶する共通鍵のフィールドと、各共通鍵を送信した一般通信装置のアドレスを記憶する配信先アドレスのフィールドとを備えている。
共通鍵のフィールドには、最新共通鍵、及び共通鍵1〜共通鍵nが記憶されている。共通鍵の後に付される1〜nの符号は、最新共通鍵に対して何世代前の共通鍵であるかを示す数字であり、例えば共通鍵nは、最新共通鍵に対してn世代前の共通鍵を示している。
図5では、アドレスA、アドレスB、アドレスCの一般通信装置12は最新の共通鍵を保持している。アドレスDの一般通信装置12は共通鍵1を保持している。アドレスE、アドレスFの一般通信装置12は、共通鍵2を保持している。共通鍵3を保持する一般通信装置12はシステム内には存在していない。アドレスGの一般通信装置12は共通鍵4を保持している。このように共通鍵制御装置11は管理テーブル51を保持しているため、電源がオフされる等して共通鍵の更新処理が行われていない一般通信装置12に対しても、当該一般通信装置12が保持する共通鍵を用いて暗号化したデータを送信することができる。
また、管理テーブル51は、各共通鍵と一般通信装置12のアドレスとを対応付けて記憶し、このアドレスは一般通信装置12に対して一意に与えられている。そのため、いずれの一般通信装置12も保持していない共通鍵を格納するためのレコードを保持する必要がなくなる。その結果、この管理テーブル51を不揮発性のメモリに保持させる、或いは揮発性のメモリに登録する保持させる場合であっても、メモリ消費量を低減させることができる。
図6は、図2に示す共通鍵制御装置11のブロック図に対して、更に初期共通鍵入力部68を追加した場合のブロック構成図を示している。初期共通鍵入力部68は、管理テーブル51にアドレスが登録されていない一般通信装置12が保持する共通鍵である初期共通鍵を入力するものである。これにより共通鍵制御装置11は、入力された初期共通鍵を用いて最新の共通鍵を暗号化し、初期共通鍵を保持する一般通信装置12に送信することができる。その結果、最新の共通鍵が第三者によって盗まれることを防止しつつ、最新の共通鍵を一般通信装置12に送信することができる。
ここで、初期共通鍵入力部68としては、キーボード、タッチパネル、及びマウスが採用される。ただし、これらに限定されず、例えば初期共通鍵を保持する一般通信装置12が家電機器などである場合は、その家電機器のリモコンから送信される信号を受信できる受光部を採用してもよい。この場合、ユーザは家電機器のリモコンを操作して初期共通鍵を入力することができる。
また、初期共通鍵を保持する一般通信装置12の筐体に製造番号番号等の符号及びバーコード等がプリントされている場合、或いは一般通信装置12を梱包する箱に製造番号等の符号及びバーコード等がプリントされ、かつこれらの符号及びバーコード等から所定の計算式により初期共通鍵が生成されている場合は、初期共通鍵入力部68として、バーコードリーダー、OCR等の符号を認識する装置を採用し、この装置を用いて符号及びバーコードを読取り、読取った符号及びバーコードを基に、初期共通鍵を生成してもよい。この場合、初期共通鍵入力部68は、上記所定の計算式を予め記憶する必要がある。
更に、初期共通鍵入力部68は、例えばSDカード、フレキシブルディスク、CD−R等の記録媒体からデータを読み出す記憶媒体駆動装置を採用してもよい。この場合、記録媒体に初期共通鍵を記憶させておけば、この記録媒体から初期共通鍵を取得することができる。
次に本通信システムの具体例を図7に示す。図7に示す通信システムでは、センタサーバ71は、家72の外部に設置されている。共通鍵制御装置11及び一般通信装置12は家72の内部に設置されている。センタサーバ71は共通鍵制御装置11とインターネットを介して接続されている。
センタサーバ71は、共通鍵制御装置11及び一般通信装置12に関する種々の情報を保持している。まず、初期共通鍵入力部68は、共通鍵の配信先の一般通信装置12からその一般通信装置12の情報、例えばメーカコード、商品コード、製造番号、製造年月日を取得する。共通鍵制御装置11は、取得したこれらの情報をセンタサーバ71へ送信する。センタサーバ71は、送信されたこれらの情報から予め定められた計算式による演算を実行して初期共通鍵を生成し、共通鍵制御装置11に送信する。これにより、共通鍵制御装置11は、初期共通鍵を取得する。
但し、初期共通鍵を取得するためのセンタサーバ71と家72の間で送受信されるデータは、第三者が通信内容を傍受しても判断できないように、暗号化されている必要がある。
次に、本通信システムを実際のホームネットワークに適用した場合について図8を用いて説明する。図8に示す通信システムはコントローラ81、エアコン82、及びセンサ83を備えている。コントローラ81は、図1に示す共通鍵制御装置11に相当し、エアコン82及びセンサ83は図1に示す一般通信装置12に相当する。
センサ83は検知対象物を検知した場合、検知ステータスを有に設定し、エアコン82に対して動作開始要求データを送信する。一方、センサ83は、検知対象物を検知していない場合、検知ステータスを無に設定し、エアコン82に動作停止要求データを送信する。
まず、エアコン82及びセンサ83の順に共通鍵が更新される場合について説明する。初期状態において、センサ83のステータスは更新完了であり、エアコン82のステータスは配信完了であるものとする。
この初期状態において、センサ83の検知ステータスが無から有に変化した場合、センサ83は新共通鍵を保持していないため、前共通鍵で動作開始要求データを暗号化して、エアコン82に送信する。このとき、エアコン82のステータスは配信完了であるため、エアコン82は受信した動作開始要求データを新共通鍵で復号化し、暗号化した共通鍵と異なっていることを判断すると、前共通鍵で動作開始要求データを復号化する。その結果、エアコン82はセンサ83から動作開始要求データを受信することができる。
次に、センサ83は、コントローラ81から送信される新共通鍵を受信すると、ステータスを更新完了から配信完了に遷移させる。次に、コントローラ81は、エアコン82及びセンサ83に第1の状態遷移要求R1を送信するが、エアコン82が第1の状態遷移要求R1を受信した後であって、センサ83が第1の状態遷移要求R1を受信する前、すなわち、エアコン82のステータスが移行中であり、センサ83のステータスが配信完了である場合、センサ83の検知ステータスが無に変化したとする。このとき、センサ83は、ステータスが配信完了であるため、前共通鍵を使用して動作停止要求データを暗号化してエアコン82に送信する。
動作停止要求データを受信したエアコン82は、ステータスが「移行中」であるため、受信した動作停止要求データを新共通鍵で復号化し、暗号化した共通鍵と異なっていることを判断すると、前共通鍵で受信データを復号化する。この結果、エアコン82はセンサ83から動作停止要求データを受信することができる。
次に、センサ83は、コントローラ81から第1の状態遷移要求R1を受信してステータスを移行中に遷移させる。次に、コントローラ81は、第2の状態遷移要求R2をエアコン82及びセンサ83に送信し、エアコン82及びセンサ83はこの順で第2の状態遷移要求R2を受信したものとする。そして、エアコン82が第2の状態遷移要求R2を受信した後であって、センサ83が第2の状態遷移要求R2を受信する前、すなわち、エアコン82のステータスが更新完了であり、センサ83のステータスが移行中である場合に、センサ83の検知ステータスが有へ変化したとする。このとき、センサ83は、ステータスが移行中であるため、新共通鍵を使用してエアコン82に動作開始要求データを暗号化して送信する。受信したエアコン82は、ステータスが更新完了であるため、受信した動作開始要求データを新共通鍵で復号化する。この結果、エアコン82はセンサ83から動作開始要求データを受信することができる。
次に、センサ83及びエアコン82の順に共通鍵が更新される場合について説明する。初期状態において、エアコン82のステータスは更新完了であり、センサ83のステータスは配信完了であるものとする。
この初期状態において、センサ83の検知ステータスが有に変化した場合、センサ83はステータスが配信完了であるため、前共通鍵で動作開始要求データを暗号化してエアコン82に送信する。
エアコン82は受信した動作開始要求データを、保持している前共通鍵で復号化する。その結果、エアコン82はセンサ83から動作開始要求データを受信することができる。次に、エアコン82は、コントローラ81から送信される新共通鍵を受信すると、ステータスを配信完了に遷移させる。
次に、コントローラ81は、エアコン82及びセンサ83に第1の状態遷移要求R1を送信するが、センサ83が第1の状態遷移要求R1を受信した後であって、エアコン82が第1の状態遷移要求R1を受信する前、すなわち、センサ83のステータスが移行中であり、エアコン82のステータスが配信完了である場合に、センサ83の検知ステータスが無に変化したとする。
このとき、センサ83はステータスが移行中であるため、新共通鍵を使用して動作停止要求データを暗号化してエアコン82に送信する。受信したエアコン82は、ステータスが配信完了であるため、受信した動作停止要求データを、新共通鍵で復号化し、暗号化した共通鍵と同一であることを確認する。この場合、前共通鍵で受信データを復号化する必要はない。その結果、エアコン82はセンサ83から動作停止要求データを受信することができる。次に、エアコン82は、コントローラ81から第1の状態遷移要求R1を受信して、ステータスを移行中に遷移させる。
次に、コントローラ81は、エアコン82及びセンサ83に第2の状態遷移要求R2を送信するが、センサ83が第2の状態遷移要求R2を受信した後であって、エアコン82が第2の状態遷移要求R2を受信する前、すなわち、センサ83のステータスが更新完了であり、エアコン82のステータスが移行中である場合に、センサ83の検知ステータスが無に変化したとする。このとき、センサ83は、ステータスが移行中であるため、新共通鍵を使用して動作停止要求データを暗号化してエアコン82に送信する。
動作停止要求データを受信したエアコン82は、ステータスが更新完了であるため、新共通鍵で復号化し、暗号化した共通鍵と同一であることを確認する。この場合、エアコン82は、新共通鍵で受信データを復号化することなく、センサ83から動作開始要求データを受信することができる。
このような現象は、ホームネットワークのようにM:Nの通信システムにおいて、発生する可能性は十分高い。また、ネットワークが低速の場合においては、共通鍵の更新には、さらに時間も要することとなるが、その場合も常に一般通信装置間において、通信を行うことが可能である。
なお、図2に示す各種ブロックは、コンピュータを共通鍵制御装置として機能させるプログラムをCPUに実行させることで実現してもよい。また、図3に示す各種ブロックは、コンピュータを一般通信装置として機能させるプログラムをCPUに実行させることで実現させてもよい。