以下、図面を参照しながら、本実施の形態の通信装置としての管理装置及びその管理装置により管理される相手方通信装置としての機器を説明する。相手方通信装置は、ある通信装置にとって通信相手の通信装置を意味する。例えば、本実施の形態の機器D1,E1,F1のそれぞれは相手方通信装置として機能し、また、通信装置としても機能することが可能である。また、例えば、本実施の形態の管理装置C1は通信装置として機能し、また、相手方通信装置としても機能することができる。なお、説明の便宜上、複数の機器D1,E1,F1のうち、適宜、機器D1を例に挙げて説明を行い、機器E1,F1の説明を省略する場合がある。
図1に示されるように、本実施の形態の通信システムは、複数の機器D1,E1,F1を備えている。また、通信システムは、複数の機器D1,E1,F1のそれぞれと通信し、複数の機器D1,E1,F1のそれぞれを管理する管理装置C1を備えている。複数の機器D1,E1,F1及び管理装置C1は、いずれも、相互に認証及び登録することで、暗号通信を行うことができる通信装置である。なお、登録は、例えば、暗号通信に必要な情報(事前共有鍵等)の生成に係る処理を含む。
本実施の形態の通信システムは、個人の住宅10内のホームオートメーションシステムにおいて用いられるものとする。ここでは機器D1は、空気調和機等の生活用の電気機器であるものとして説明するが、パーソナルコンピュータ等のオフィス用の電気機器等でもよい。
本実施の形態では、管理装置C1と機器D1,E1,F1とは、いずれも、同一ユーザによって使用されることが前提とされている装置であるとして説明する。しかし、管理装置C1と機器D1,E1,F1とのユーザが異なっていてもよい。
本実施の形態の通信システムにおいては、複数の機器D1,E1,F1が管理装置C1によって管理(例えば制御等)される。本実施の形態においては、管理装置C1と機器D1,E1,F1とは、同一の住宅10内に設置され、互いに無線通信又は有線通信を行う。
通信システムを構成する機器D1,E1,F1及び管理装置C1のそれぞれは、ブロードバンドルータ2を経由してインターネット1に接続されている。認証局サーバ3もインターネット1に接続されている。
なお、ここでは、本実施の形態の通信システムは、図1において実線の矩形で示される管理装置C1を備えるものとして説明する。しかし、例えば、図1において破線の矩形で示されるように管理装置C1が住宅10の外部に設置され、機器D1が住宅10の内部に設置されており、管理装置C1と機器D1とがインターネット1を経由して通信する形態であってもよい。
本実施の形態においては、外部記憶装置の一例のバックアップサーバ4も、インターネット1に接続されている。通信システムを構成する機器D1及び管理装置C1のそれぞれは、インターネット1を経由して、バックアップサーバ4にアクセスすることができる。本実施の形態の通信システムのユーザは、バックアップサーバ4に、管理装置C1の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)をバックアップすることができる。ただし、ユーザは、バックアップサーバ4の代わりに、USB(Universal Serial Bus)メモリ5に、管理装置C1の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)をバックアップしてもよい。USBメモリ5は、携帯型の外部記憶装置の一例である。
管理装置C1は、公開鍵電子証明書CertC1と、公開鍵電子証明書CertC1に対応する秘密鍵PriC1とを有している。公開鍵電子証明書CertC1及び秘密鍵PriC1は、認証局サーバ3によって発行されたものであり、管理装置C1の製造者の工場で管理装置C1に予め組み込まれている。管理装置C1は、事前共有鍵PSK(C1−D1)、事前共有鍵PSK(C1−E1)及び事前共有鍵PSK(C1−F1)を有している。
管理装置C1の事前共有鍵PSK(C1−D1)は、管理装置C1の秘密鍵PriC1と機器D1から送信されてきた公開鍵電子証明書CertD1とを用いて生成されたものである。管理装置C1の事前共有鍵PSK(C1−E1)は、管理装置C1の秘密鍵PriC1と機器E1から送信されてきた公開鍵電子証明書CertE1とを用いて生成されたものである。管理装置C1の事前共有鍵PSK(C1−F1)は、管理装置C1の秘密鍵PriC1と機器F1から送信されてきた公開鍵電子証明書CertF1とを用いて生成されたものである。
機器D1は、公開鍵電子証明書CertD1と、公開鍵電子証明書CertD1に対応する秘密鍵PriD1とを有している。公開鍵電子証明書CertD1及び秘密鍵PriD1は、認証局サーバ3によって発行されたものであり、機器D1の製造者の工場で機器D1に予め組み込まれている。機器D1は、事前共有鍵PSK(C1−D1)を生成し、保持している。機器D1の事前共有鍵PSK(C1−D1)は、機器D1の秘密鍵PriD1と管理装置C1から送信されてきた公開鍵電子証明書CertC1とを用いて生成されたものである。
同様に、機器E1は、公開鍵電子証明書CertE1とそれに対応する秘密鍵PriE1とを有している。さらに、機器F1も、公開鍵電子証明書CertF1とそれに対応する秘密鍵PriF1とを有している。公開鍵電子証明書CertE1、及び、公開鍵電子証明書CertE1に対応する秘密鍵PriE1は、認証局サーバ3によって発行され、製造者によって工場で予め機器E1に組み込まれている。公開鍵電子証明書CertF1、及び、公開鍵電子証明書CertF1に対応する秘密鍵PriF1も、認証局サーバ3によって発行され、製造者によって工場で予め機器F1に組み込まれている。
機器E1は事前共有鍵PSK(C1−E1)を、機器F1は事前共有鍵PSK(C1−F1)を、それぞれ生成し、保持している。機器E1の事前共有鍵PSK(C1−E1)は、機器E1の秘密鍵PriE1と管理装置C1から送信されてきた公開鍵電子証明書CertC1とを用いて生成されたものである。機器F1の事前共有鍵PSK(C1−F1)は、機器F1の秘密鍵PriF1と管理装置C1から送信されてきた公開鍵電子証明書CertC1とを用いて生成されたものである。
本実施の形態においては、管理装置C1と複数の機器D1,E1,F1のそれぞれとは、対をなす同一値の事前共有鍵を用いて、暗号通信を行う。そのために、上述したように、管理装置C1と機器D1,E1,F1のそれぞれとは、互いに相手方の公開鍵電子証明書と自身の秘密鍵とを用いて、相手方の事前共有鍵と同一の事前共有鍵を生成する。この事前共有鍵の生成に関する技術の詳細は、例えばECC CDH(The Elliptic Curve Cryptography. Cofactor Diffie-Hellman)に関する非特許文献1に記載されている。
本実施の形態の通信システムにおいて、既存の管理装置C1は、故障する前に、自身の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれをバックアップサーバ4にバックアップしておくことができる。既存の管理装置C1は、機器D1,E1,F1のそれぞれに固有の情報もバックアップサーバ4にバックアップしておくことができる。固有の情報は、機器D1,E1,F1のそれぞれを識別可能な情報(アドレス等)、及び、管理装置C1と機器D1,E1,F1のそれぞれとの通信履歴(機器の管理データ)等を含んでいる。
また、本実施の形態の通信システムにおいて、管理装置C1の故障のために既存の管理装置C1を新たな管理装置C2に交換せざるを得ない場合がある。この場合、管理装置C1と同一の構成及び機能を有する新たな管理装置C2が代替用の管理装置として用いられる。代替用の新たな管理装置C2は、故障した管理装置C1と同様に、公開鍵電子証明書CertC2とそれと対をなす秘密鍵PriC2を備えている。
本実施の形態の新たな管理装置C2は、バックアップサーバ4から事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)をリストアすることができる。そのため、新たな管理装置C2は、機器D1,E1,F1との最初の暗号通信において、リストアされた事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を用いることができる。つまり、新たな管理装置C2は、故障した管理装置C1と機器D1,E1,F1のそれぞれとの間で既に形成されていた信用を利用して、機器D1,E1,F1のそれぞれとの最初の暗号通信を行うことができる。
具体的には、新たな管理装置C2は、自身の公開鍵電子証明書CertC2を、リストアされた事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれで暗号化することができる。その後、新たな管理装置C2は、事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれで暗号化された公開鍵電子証明書CertC2を機器D1,E1,F1のそれぞれに送信することができる。機器D1,E1,F1は、それぞれの事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を用いて、暗号化された公開鍵電子証明書CertC2を復号することができる。その結果、機器D1,E1,F1は、それぞれ、既存の公開鍵電子証明書CertC1の代わりに、公開鍵電子証明書CertC2を保存する。この場合、機器D1,E1,F1は、それぞれ、自身の公開鍵電子証明書CertD1,CertE1,CertF1を新たな管理装置C2へ自動的に送信する。この管理装置C2による機器D1,E1,F1への公開鍵電子証明書CertC2の変更通知(後述)としての送信と、機器D1,E1,F1による管理装置C2への公開鍵電子証明書CertD1,CertE1,CertF1の変更受入通知(後述)としての送信とにより、管理装置C2と機器D1,E1,F1との間で相互に認証及び登録がなされ、暗号通信が可能になる。
つまり、ユーザは、機器D1,E1,F1のそれぞれを操作することなく、新たな管理装置C2は、機器D1,E1,F1のそれぞれとの暗号通信を再開することができる。言い換えると、ユーザは、管理装置C2を用いた事前共有鍵のリストアのための操作だけで、複数の機器D1,E1,F1のそれぞれとの暗号通信を始めることができる。
なお、新たな管理装置C2は、複数の機器D1,E1,F1のそれぞれに固有の情報もバックアップサーバ4からリストアすることができる。この複数の機器D1,E1,F1のそれぞれに固有の情報は、複数の機器D1,E1,F1のそれぞれを識別可能な情報(アドレス、識別子)を含んでいる。そのため、新たな管理装置C2は、以前に事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を用いて暗号通信していた機器D1,E1,F1を容易に把握することができる。さらに、新たな管理装置C2は、リストアにより、機器D1,E1,F1のそれぞれについて、故障した管理装置C1が所有していた機器D1,E1,F1のそれぞれとの通信履歴と同じ通信履歴を有する。そのため、新たな管理装置C2は、機器D1,E1,F1のそれぞれとの通信を、故障した管理装置C1と機器D1,E1,F1のそれぞれとの間の通信の履歴と同様の通信履歴(管理データ)を有している状態から始めることができる。
管理装置C1は、メモリ、プロセッサ(マイクロプロセッサ)、入力装置、表示装置、通信回路等を有するコンピュータを備える。なお、管理装置C1は、コンピュータそのものであってもよい。表示装置は例えばLCD(Liquid Crystal Display)等のディスプレイであり、入力装置は例えばスイッチ、ボタン、キーボード等の操作部或いはタッチパッド等である。ここでは、表示装置及び入力装置は、ディスプレイ(表示装置)の表示面にタッチパッドが重ねられて一体となったタッチパネルDPであるものとして説明する。メモリは、プログラム及びデータを予め保持しているROM(Read Only Memory)、プログラムの実行に際してデータ等の記憶に利用するためのRAM(Random Access Memory)等であり、例えば不揮発性メモリを含んでいてもよい。プロセッサは、メモリに格納されたプログラムを実行することにより通信回路等を制御し、各種機能を実現する。また、管理装置C1は、メモリの他に、ハードディスク等の記憶媒体を含んでいてもよい。また、管理装置C1は、USBメモリ5との間でデータの入出力を行う入出力インタフェースを備えることとしてもよい。
図2及び図3に示されるように、管理装置C1は、個人の住宅10内において、ユーザが指で触れることにより操作することができるタッチパネルDPを有する。管理装置C1は、無線もしくは有線回線によって、又はインターネット等のネットワークを経由して、機器D1と通信できるものであればよく、例えば、卓上式、壁掛け式等でもよい。例えば、管理装置C1は、機器D1の一例としての空気調和機の運転、停止、設定温度、タイマ等を管理(例えば制御)することができる。また、管理装置C1は、空気調和機以外に、テレビ、ドアフォン、冷蔵庫、洗濯機、電力メータ等を管理するものであってもよい。
図4に示されるように、通信装置としての管理装置C1は、タッチパネルDPを有するスマートフォン(携帯端末)のような可搬性を有するコンピュータであってもよい。管理装置C1が携帯端末であれば、機器D1の一例としての空気調和機を住宅10の外部から管理することができる。
次に、図5を用いて、管理装置C1の機能ブロックを説明する。なお、後述する代替用の管理装置C2は、図5に示される管理装置C1の構成と同一の構成及び機能を有している。
図5に示されるように、管理装置C1は、通信部C10、制御部C11、証明書記憶部C12、認証処理部C13、鍵バックアップ部/鍵リストア部C14、暗号処理部C15、機器情報記憶部C16、登録情報記憶部C17及び入力部/表示部C18を備える。管理装置C1には、記録媒体CCC内に格納された通信プログラムCCが、インストールされている。即ちインストールにより管理装置C1における記憶媒体(メモリ、ハードディスク等)に通信プログラムCCが記憶されており、通信プログラムCCは、メモリに格納されてプロセッサに実行され得る。
通信プログラムCCは、管理装置C1のプロセッサに実行されることにより、管理装置C1におけるコンピュータを、通信部C10、制御部C11、証明書記憶部C12、認証処理部C13、鍵バックアップ部/鍵リストア部C14、暗号処理部C15、機器情報記憶部C16、登録情報記憶部C17及び入力部/表示部C18として、機能させ得る。
入力部/表示部C18は、タッチパネルDP等により実現され、ユーザの操作に応じた信号を制御部C11へ送信する機能と制御部C11の指示に応じて情報を表示する機能とを有する。
制御部C11は、プログラムを実行するプロセッサ等により実現される。制御部C11は、入力部/表示部C18から送信されてきた信号に基づいて、証明書記憶部C12、認証処理部C13、鍵バックアップ部/鍵リストア部C14、暗号処理部C15、機器情報記憶部C16及び登録情報記憶部C17を制御する。また、制御部C11は、通信部C10を経由して外部へ情報を送信する。また、制御部C11は、通信部C10を経由して送信されてきた情報等を入力部/表示部C18に表示させる。
証明書記憶部C12は、メモリ、ハードディスクといった記憶媒体の一領域等で実現される。証明書記憶部C12は、管理装置C1自身の公開鍵電子証明書CertC1、及び、公開鍵電子証明書CertC1と対をなす秘密鍵PriC1を記憶している。また、証明書記憶部C12は、相手方通信装置である機器D1から送信されてきた公開鍵電子証明書CertD1を記憶する。証明書記憶部C12は、相手方通信装置である機器E1から送信されてきた公開鍵電子証明書CertE1を記憶する。証明書記憶部C12は、相手方通信装置である機器F1から送信されてきた公開鍵電子証明書CertF1を記憶する。
証明書記憶部C12は、複数の機器D1,E1,F1のそれぞれとの通信で用いられる事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)の全てを記憶する。いずれの事前共有鍵も、通信装置としての管理装置C1の秘密鍵PriC1と、相手方通信装置としての機器の公開鍵電子証明書とを用いて暗号処理部C15により生成されるものである。
認証処理部C13は、プログラムを実行するプロセッサ等により実現される。認証処理部C13は、事前共有鍵を用いて相手方通信装置から送信されてきた暗号化された情報を復号することによって、相手方通信装置を認証及び登録する。具体的には、認証処理部C13は、事前共有鍵を用いて暗号化された情報を復号できれば、その暗号化された情報を送信した相手方通信装置は既に信用関係が形成されている装置であると判定する。復号できたか否かについては、送信されてきた暗号化された情報が検証可能に構成されており、受信した装置で検証を行うことで、検証に成功すれば復号できたと判定し、検証に失敗すれば復号できなかったと判定する。例えば、送信元の装置が、送信する暗号化された情報に、予め定められた方式で検証可能な冗長なコードを含ませると、受信した装置ではそのコードを用いてその予め定められた方式により検証が可能となる。また例えば、送信元の装置が送信する情報に認証局サーバ3による署名等の情報が含まれる場合には、受信した装置ではその情報を用いて検証が可能となる。認証処理部C13は、事前共有鍵PSK(C1−D1)を用いて、機器D1から送信されてきた暗号化された情報が復号できた場合に、機器D1を信用関係が既に形成された機器であると判定する。
鍵バックアップ部/鍵リストア部C14は、プログラムを実行するプロセッサ、通信回路或いは入出力インタフェース等により実現される。鍵バックアップ部/鍵リストア部C14は、証明書記憶部C12に記憶されている事前共有鍵PSK(C1−D1),PSK,(C1−E1),PSK(C1−F1)のそれぞれを、外部記憶装置であるバックアップサーバ4へ送る。即ち、鍵バックアップ部/鍵リストア部C14は、事前共有鍵PSK(C1−D1),PSK,(C1−E1),PSK(C1−F1)のそれぞれを、バックアップサーバ4の記憶媒体に格納(保持)させる処理(バックアップ)を実行する。また、鍵バックアップ部/鍵リストア部C14は、事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれを保持しているバックアップサーバ4から、その事前共有鍵を受信する。即ち、鍵バックアップ部/鍵リストア部C14は、事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれをバックアップサーバ4から取り出して管理装置C1の記憶媒体(証明書記憶部C12)に格納する処理(リストア)を実行する。バックアップサーバ4の代わりに、外部記憶装置として、USBメモリ5が用いられてもよい。この場合には、鍵バックアップ部/鍵リストア部C14は、バックアップとしてUSBメモリ5に事前共有鍵を格納し、リストアとしてUSBメモリ5から事前共有鍵を読み出して管理装置C1の記憶媒体に格納する。
通信装置としての管理装置C1が故障する場合がある。この場合に、管理装置C1と同一機能を有する新たな管理装置C2は、故障した管理装置C1の事前共有鍵PSK(C1−D1),PSK,(C1−E1),PSK(C1−F1)のそれぞれをバックアップサーバ4からリストア(つまり受信することで取り出して管理装置C2の内部の記憶媒体に格納する)ことができる。
鍵バックアップ部/鍵リストア部C14は、バックアップの際に、バックアップ用の事前共有鍵に加えて、相手方通信装置として機器D1,E1,F1のそれぞれに固有の情報を、外部記憶装置としてのバックアップサーバ4へ送信する。また、鍵バックアップ部/鍵リストア部C14は、リストアの際に、バックアップ用の事前共有鍵に加えて、バックアップサーバ4から機器D1,E1,F1のそれぞれに固有の情報を受信する。これにより、管理装置C1が故障した場合に、新たな管理装置C2は、管理装置C1が所有していた機器D1,E1,F1のそれぞれに固有の情報と同一の情報を利用して、機器D1,E1,F1のそれぞれと通信することができる。
暗号処理部C15は、プログラムを実行するプロセッサ等により実現される。暗号処理部C15は、情報を暗号化して送信する処理、及び、送信されてきた暗号化された情報を復号する処理を実行する。暗号処理部C15は、管理装置C1と複数の機器D1,E1,F1のそれぞれとの間の通信における暗号処理に利用される複数種類の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を生成する。
即ち、暗号処理部C15は、管理装置C1の秘密鍵PriC1と機器D1から送信されてきた公開鍵電子証明書CertD1とを用いて事前共有鍵PSK(C1−D1)を生成する。暗号処理部C15は、管理装置C1の秘密鍵PriC1と機器E1から送信されてきた公開鍵電子証明書CertE1とを用いて事前共有鍵PSK(C1−E1)を生成する。暗号処理部C15は、管理装置C1の秘密鍵PriC1と機器F1から送信されてきた公開鍵電子証明書CertF1とを用いて事前共有鍵PSK(C1−F1)を生成する。
機器情報記憶部C16は、メモリ、ハードディスクといった記憶媒体の一領域等により実現される。機器情報記憶部C16は、管理装置C1が管理する機器D1、機器E1、機器F1等のそれぞれの機器情報を記憶している。機器情報は、機器D1、機器E1及び機器F1のそれぞれに固有の情報である。機器D1、機器E1及び機器F1のそれぞれに固有の情報は、例えば、機器のアドレス、機器の識別子(機器ID)、管理装置C1と機器との通信履歴等である。登録情報記憶部C17は、メモリ、ハードディスクといった記憶媒体の一領域等により実現され、管理装置C1自身に固有の情報を記憶している。
本実施の形態の管理装置C1及び代替用の管理装置C2は、同一の構成及び機能を有している(図5参照)。そのため、故障した管理装置C1のバックアップ処理、及び、代替用の管理装置C2のリストア処理により、次の効果がある。その効果は、管理装置C1を代替用の新たな管理装置C2に交換したときに、複数の機器D1,E1,F1のそれぞれごとのボタン操作による新たな管理装置C2の認証及び登録の手間を省略できることである。
次に、管理装置C1と通信する機器D1について説明する。例えば空気調和機である機器D1は、空気調和用の機構が付加されたコンピュータである。即ち、機器D1が備えるコンピュータは、メモリ、プロセッサ、入力装置、表示装置、通信回路等を備える。表示装置は例えばLCD等のディスプレイであり、入力装置は例えばスイッチ、ボタン、キーボード等の操作部或いはタッチパッド等である。例えば、表示装置及び入力装置は、ディスプレイ(表示装置)の表示面にタッチパッドが重ねられて一体となったタッチパネルである。メモリは、プログラム及びデータを予め保持しているROM、プログラムの実行に際してデータ等の記憶に利用するためのRAM等であり、例えば不揮発性メモリを含んでいてもよい。プロセッサは、メモリに格納されたプログラムを実行することにより通信回路等を制御し、各種機能を実現する。また、機器D1は、メモリの他に、ハードディスク等の記憶媒体を含んでいてもよい。
次に、図6を用いて、機器D1の機能ブロックを説明する。図6に示されるように、機器D1は、通信部D10、制御部D11、証明書記憶部D12、認証処理部D13、鍵バックアップ部/鍵リストア部D14、暗号処理部D15、管理装置情報記憶部D16、登録情報記憶部D17及び入力部/表示部D18を備える。機器D1には、記録媒体DDD内に格納された通信プログラムDDが、インストールされている。即ち機器D1における記憶媒体(メモリ、ハードディスク等)に通信プログラムDDが記憶されており、通信プログラムDDは、メモリに格納されてプロセッサに実行され得る。
通信プログラムDDは、機器D1のプロセッサに実行されることにより、機器D1におけるコンピュータを、通信部D10、制御部D11、証明書記憶部D12、認証処理部D13、鍵バックアップ部/鍵リストア部C14、暗号処理部D15、管理装置情報記憶部D16、登録情報記憶部D17及び入力部/表示部D18として機能させ得る。
入力部/表示部D18は、タッチパネル等により実現され、ユーザの操作に応じた信号を制御部D11へ送信する機能と制御部D11の指示に応じて情報を表示する機能とを有する。
制御部D11は、プログラムを実行するプロセッサ等により実現される。制御部D11は、入力部/表示部D18から送信されてきた信号に基づいて、証明書記憶部D12、認証処理部D13、鍵バックアップ部/鍵リストア部D14、暗号処理部D15、管理装置情報記憶部D16及び登録情報記憶部D17を制御する。また、制御部D11は、通信部D10を経由して外部へ情報を送信する。また、制御部D11は、通信部D10を経由して送信されてきた情報等を入力部/表示部D18に表示させる。また、制御部D11は、機器D1の本来の機能、例えば空気調和機としての空調機能を発揮させるための制御を行う。
証明書記憶部D12は、メモリ、ハードディスクといった記憶媒体の一領域等で実現される。証明書記憶部D12は、機器D1自身の公開鍵電子証明書CertD1、及び、公開鍵電子証明書CertD1と対をなす秘密鍵PriD1を記憶している。証明書記憶部D12は、機器D1にとっての相手方通信装置である管理装置C1から送信されてきた公開鍵電子証明書CertC1を記憶する。また、証明書記憶部D12は、暗号処理部D15により生成された事前共有鍵PSK(C1−D1)を記憶する。
認証処理部D13は、プログラムを実行するプロセッサ等により実現される。認証処理部D13は、管理装置C1から送信されてきた暗号化された公開鍵電子証明書CertC1が事前共有鍵PSK(C1−D1)で復号できた場合に、管理装置C1を認証及び登録する。このとき、認証処理部D13は、公開鍵電子証明書CertC1を証明書記憶部D12に記憶させる。
鍵バックアップ部/鍵リストア部D14は、プログラムを実行するプロセッサ、通信回路等により実現される。鍵バックアップ部/鍵リストア部D14は、証明書記憶部D12に記憶されている事前共有鍵PSK(C1−D1)を外部記憶装置としてのバックアップサーバ4へ送ることで、バックアップサーバ4の記憶媒体に格納(保持)させる処理(バックアップ)を実行する。また、鍵バックアップ部/鍵リストア部D14は、事前共有鍵PSK(C1−D1)を保持しているバックアップサーバ4からその事前共有鍵を受信することで取り出して機器D1の記憶媒体(証明書記憶部D12)に格納する処理(リストア)を実行する。
暗号処理部D15は、プログラムを実行するプロセッサ等により実現される。暗号処理部D15は、情報を暗号化して送信する処理、及び、暗号化され送信された情報を復号する処理を実行する。暗号処理部D15は、機器D1の秘密鍵PriD1と管理装置C1から送信されてきた公開鍵電子証明書CertC1とを用いて機器D1の事前共有鍵PSK(C1−D1)を生成する。
管理装置情報記憶部D16は、メモリ、ハードディスクといった記憶媒体の一領域等により実現される。管理装置情報記憶部D16は、機器D1を管理する管理装置C1に固有の情報を記憶している。この場合も、固有の情報は、例えば、管理装置C1のアドレス、管理装置C1の識別子、管理装置C1と機器D1との通信履歴等である。登録情報記憶部D17は、メモリ、ハードディスクといった記憶媒体の一領域等により実現され、機器D1自身に固有の情報を記憶している。
本実施の形態においては、機器E1及び機器F1は、いずれも、機器D1と同様の構成を有しているものとする。また、機器D1,E1,F1のそれぞれの通信に関する機能は、基本的に、管理装置C1の通信に関する機能と同様である。そのため、それらの同様の構成及び機能の説明は繰り返さない。
次に、管理装置C1及び新たな管理装置C2のそれぞれと機器D1との間で実行される暗号通信のシーケンスについて、そのシーケンスの一例を示す図7を用いて説明する。なお、管理装置C1と機器E1との間の通信、及び、管理装置C1と機器F1との間の暗号通信は、管理装置C1と機器D1との間の暗号通信と同様であるため、それらの説明は繰り返さない。
図7に示されるように、ユーザによる管理装置C1のタッチパネルDPの操作(又はボタン押下)により、ステップS1において、管理装置C1は、公開鍵電子証明書CertC1を機器D1へ送信する。また、ユーザによる機器D1のタッチパネルの操作(又はボタン押下)により、ステップS2おいて、機器D1は、公開鍵電子証明書CertD1を管理装置C1へ送信する。
その後、ステップS3においては、ユーザの管理装置C1のタッチパネルDPの操作(又はボタン押下)に基づいて、管理装置C1は、機器D1を認証及び登録する。また、ステップS3においては、ユーザの機器D1のタッチパネルの操作(又はボタン押下)に基づいて、機器D1は、管理装置C1を認証及び登録する。具体的には、管理装置C1は、機器D1の公開鍵電子証明書CertD1と管理装置C1の秘密鍵PriC1とを用いて、事前共有鍵PSK(C1−D1)を生成する。機器D1は、管理装置C1の公開鍵電子証明書CertC1と機器D1の秘密鍵PriD1とを用いて、事前共有鍵PSK(C1−D1)を生成する。これにより、管理装置C1と機器D1との暗号通信に用いられる事前共有鍵PSK(C1−D1)が、管理装置C1及び機器D1のそれぞれで生成される。
ステップS4においては、管理装置C1は、自身の事前共有鍵PSK(C1−D1)を用いて暗号化された情報を機器D1へ送信する。機器D1は、自身の事前共有鍵PSK(C1−D1)を用いて暗号化された情報を管理装置C1へ送信する。管理装置C1は、機器D1から送信されてきた暗号情報を、自身の事前共有鍵PSK(C1−D1)を用いて復号する。機器D1は、管理装置C1から送信されてきた暗号情報を、自身の事前共有鍵PSK(C1−D1)を用いて復号する。ステップS4の暗号通信において、管理装置C1に固有の情報が機器D1へ送信され、機器D1に固有の情報が管理装置C1へ送信される。そのため、管理装置C1は、機器D1に固有の情報を記憶し、機器D1は、管理装置C1に固有の情報を記憶する。例えば、暗号通信に係る処理の便宜上、管理装置C1は、機器D1に固有の情報と事前共有鍵PSK(C1−D1)とを対応付けて記憶し、機器D1は、管理装置C1に固有の情報と事前共有鍵PSK(C1−D1)とを対応付けて記憶することが有用である。
ステップS5において、管理装置C1は、事前共有鍵PSK(C1−D1)からバックアップ用の事前共有鍵PSK(C1−D1)を生成し、生成されたバックアップ用の事前共有鍵PSK(C1−D1)をバックアップサーバ4へ送信する。それにより、バックアップ用の事前共有鍵PSK(C1−D1)がバックアップサーバ4に保存される。ステップS5においては、管理装置C1は、機器D1に固有の情報もバックアップサーバ4へ送信する。ただし、バックアップ用の事前共有鍵PSK(C1−D1)は、USBメモリ5等の携帯型の外部記憶装置に保存されてもよい。
その後、何等かの原因で、管理装置C1が故障したため、管理装置C1が使用できなくなる。この場合、新たな管理装置C2が故障した管理装置C1の代替用の管理装置として用いられる。管理装置C2は、公開鍵電子証明書CertC2と、公開鍵電子証明書CertC2に対応する秘密鍵PriC2とを有している。公開鍵電子証明書CertC2及び秘密鍵PriC2は、認証局サーバ3によって発行されたものであり、管理装置C2の製造者の工場にて管理装置C2に予め組み込まれている。
ただし、管理装置C2は、機器D1と暗号通信を行うために必要な事前共有鍵PSK(C1−D1)を有していない。そのため、ステップS6において、管理装置C2は、バックアップ用の事前共有鍵PSK(C1−D1)をバックアップサーバ4から受信し、リストアする。
ステップS7において、管理装置C2は、事前共有鍵PSK(C1−D1)を用いて暗号化された公開鍵電子証明書CertC2を、変更通知として機器D1へ送信する。なお、変更通知は、暗号化された公開鍵電子証明書等に、例えば変更通知であることを識別するための情報を付加することで構成され得る。また、例えば、暗号化された公開鍵電子証明書の内容等(例えば認証局サーバ3による署名等)が、受信側の機器において変更通知であることを識別するための情報として利用可能であれば、変更通知はその暗号化された公開鍵電子証明書等で構成され得る。
なお、図7では、Encで暗号化の関数を表している。機器D1は、受信した暗号化された公開鍵電子証明書CertC2を事前共有鍵PSK(C1−D1)によって復号する。そして、機器D1は、変更通知に対応して、故障した管理装置C1の公開鍵電子証明書CertC1を消去し、新たな管理装置C2の公開鍵電子証明書CertC2を記憶する。次に、ステップS8おいて、機器D1は、自身の公開鍵電子証明書CertD1を、新たな公開鍵電子証明書CertC2を受け入れたことを示す変更受入通知として、管理装置C2へ送信する。
ステップS9においては、管理装置C2は、変更受入通知に対応して、機器D1を認証及び登録し、機器D1は、変更通知に対応して、管理装置C2を認証及び登録する。具体的には、管理装置C2は、機器D1の公開鍵電子証明書CertD1と自身の秘密鍵PriC2とを用いて、新たな事前共有鍵PSK(C2−D1)を生成する。機器D1は、管理装置C2の公開鍵電子証明書CertC2と自身の秘密鍵PriD1とを用いて、新たな事前共有鍵PSK(C2−D1)を生成する。
また、ステップS10においては、管理装置C2は、自身の新たな事前共有鍵PSK(C2−D1)を用いて暗号化された情報を機器D1へ送信する。機器D1は、自身の新たな事前共有鍵PSK(C2−D1)を用いて暗号化された情報を管理装置C2へ送信する。管理装置C2は、機器D1から送信されてきた暗号化された情報を、管理装置C2の新たな事前共有鍵PSK(C2−D1)を用いて復号する。機器D1は、管理装置C2から送信されてきた暗号化された情報を、機器D1の新たな事前共有鍵PSK(C2−D1)を用いて復号する。
以後、ステップS10と同様に、生成された新たな事前共有鍵PSK(C2−D1)を用いて、管理装置C1と機器D1との間で暗号通信が実行される。
次に、図8を用いて、管理装置C1において、通信プログラムCCによって実行される事前共有鍵のバックアップ処理を説明する。図8に示されるバックアップ処理(ステップSA1〜SA9)は、主として管理装置C1の鍵バックアップ/鍵リストア部C14によって実行される。
図8に示されるように、管理装置C1は、ステップSA1において、ユーザによる管理装置C1のタッチパネルDPの操作を受け付ける。この入力操作に応じて、バックアップサーバ4へのアクセス用のユーザID及びパスワードが、入力部/表示部C18から管理装置C1の鍵バックアップ/鍵リストア部C14に伝達される。ステップSA2において、管理装置C1の鍵バックアップ/鍵リストア部C14は、バックアップサーバ4へのアクセス用のユーザID及びパスワードをバックアップサーバ4へ送信する。このユーザID及びパスワードは、バックアップサーバ4に管理装置C1を認証させるためのものである。
なお、管理装置C1の鍵バックアップ/鍵リストア部C14は、バックアップサーバ4の代わりに、USBメモリ5にバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を保存させてもよい。この場合には、USBメモリ5を管理装置C1に電気的かつ物理的に接続する。それにより、鍵バックアップ/鍵リストア部C14は、USBメモリ5へのアクセス用のユーザID及びパスワードをUSBメモリ5へ送信する。
ステップSA2でのユーザID及びパスワードの送信に呼応して、バックアップサーバ4は、送信されてきたユーザID及びパスワードと、予め登録されたユーザID及びパスワードとを比較し、管理装置C1が適正な通信対象であるか否かを判定する。バックアップサーバ4が管理装置C1を適正な通信対象であると判定すると、認証は成功である。一方、バックアップサーバ4が管理装置C1を適正な通信対象であると判定しなければ、認証は失敗となる。バックアップサーバ4は、管理装置C1の認証が成功したか又は失敗したかを示す信号を管理装置C1へ送信する。
それにより、ステップSA3においては、管理装置C1の鍵バックアップ/鍵リストア部C14は、バックアップサーバ4から送信されてきた信号に基づいて、バックアップサーバ4による管理装置C1の認証が成功したか否かを判定する。ステップSA3において、バックアップサーバ4よる管理装置C1の認証が失敗であった場合には、管理装置C1の鍵バックアップ/鍵リストア部C14は、認証が失敗したことを特定可能な情報を入力部/表示部C18(タッチパネルDP)に表示させる(ステップSA4)。
一方、ステップSA3において、バックアップサーバ4よる管理装置C1の認証が成功であった場合には、管理装置C1の鍵バックアップ/鍵リストア部C14は、認証が成功したことを特定可能な情報を入力部/表示部C18(タッチパネルDP)に表示させる。また、管理装置C1の鍵バックアップ/鍵リストア部C14は、タッチパネルDPにおいて、バックアップ保護用のパスワードの入力を促す画面を表示させる。
その後、ステップSA5において、管理装置C1は、管理装置C1のタッチパネルDPへのユーザの操作によるバックアップ保護用のパスワードの入力を受け付ける。バックアップ保護用のパスワードの入力を受け付けるとステップSA6において、管理装置C1の鍵バックアップ/鍵リストア部C14は、既に証明書記憶部C12に保持されていた(オリジナルの)事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれを用いて、同一内容のバックアップ用の各事前共有鍵を生成する。
このとき、管理装置C1の鍵バックアップ/鍵リストア部C14は、機器情報記憶部C16に記憶されている機器D1,E1,F1のそれぞれに固有の情報と同一のバックアップ用の機器D1,E1,F1のそれぞれに固有の情報を生成する。固有の情報は、上述したように、機器D1,E1,F1のそれぞれを特定可能な情報及び管理装置C1と機器D1,E1,F1のそれぞれとの通信履歴等を含む情報である。
ステップSA7において、バックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれが暗号化される。それにより、暗号化されたバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)が生成される。このとき、バックアップ用の機器D1,E1,F1のそれぞれに固有の情報も暗号化される。なお、この暗号化は、例えば、ステップSA5で入力されたバックアップ保護用のパスワードを鍵として用いる暗号処理(暗号化処理)により実行される。
ステップSA8において、管理装置C1の鍵バックアップ/鍵リストア部C14は、暗号化されたバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)と暗号化されたバックアップ用の機器D1,E1,F1のそれぞれに固有の情報とをバックアップサーバ4へ送信する。暗号化されたバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)が適切にバックアップサーバ4に保存された場合には、バックアップサーバ4は、そのことを示す信号を管理装置C1へ送信する。それにより、管理装置C1は、暗号化されたバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)が適切に保存されたことを示す信号を受信する。それにより、管理装置C1は、タッチパネルDPにバックアップの結果として事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)が適正にバックアップサーバ4にバックアップされたことを表示する(ステップSA9)。
一方、バックアップサーバ4が、バックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)が適切にバックアップサーバ4に保存されなかったことを示す信号を管理装置C1へ送信する場合もある。この場合には、ステップSA9において、管理装置C1は、タッチパネルDPに事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)が適正にバックアップサーバ4にバックアップされなかったことを表示する。
次に、図9を用いて、管理装置C1が故障した場合に用いられる代替用の新たな管理装置C2において、通信プログラムCCによって実行される事前共有鍵のリストア処理を説明する。図9に示されるリストア処理(ステップSB1〜SB13)は、主として新たな管理装置C2の鍵バックアップ/鍵リストア部C14によって実行される。
図9に示されるように、管理装置C2は、ステップSB1において、ユーザによる管理装置C2のタッチパネルDPの操作を受け付ける。この入力操作に応じて、バックアップサーバ4へのアクセス用のユーザID及びパスワードが、入力部/表示部C18から管理装置C2の鍵バックアップ/鍵リストア部C14に伝達される。ステップSB2において、管理装置C2の鍵バックアップ/鍵リストア部C14は、バックアップサーバ4へのアクセス用のユーザID及びパスワードをバックアップサーバ4へ送信する。このユーザID及びパスワードは、バックアップサーバ4に代替用の管理装置C2を認証させるためのものである。
なお、管理装置C1が、バックアップサーバ4の代わりに、USBメモリ5等の携帯型のメモリにバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を保存する場合がある。この場合には、USBメモリ5を管理装置C2に物理的かつ電気的に接続する。それにより、管理装置C2の鍵バックアップ/鍵リストア部C14は、USBメモリ5へのアクセス用のユーザID及びパスワードをUSBメモリ5へ送信する。
ステップSB2でのユーザID及びパスワードの送信に呼応して、バックアップサーバ4は、送信されてきたユーザID及びパスワードと、予め登録されたユーザID及びパスワードとを比較し、管理装置C2が適正な通信対象であるか否かを判定する。バックアップサーバ4が管理装置C2を適正な通信対象であると判定すると、認証は成功である。一方、バックアップサーバ4が管理装置C2を適正な通信対象であると判定しなければ、認証は失敗となる。バックアップサーバ4は、管理装置C2の認証が成功したか又は失敗したかを示す信号を管理装置C2へ送信する。
それにより、ステップSB3においては、管理装置C2の鍵バックアップ/鍵リストア部C14は、バックアップサーバ4から送信されてきた信号に基づいて、バックアップサーバ4による管理装置C2の認証が成功したか否かを判定する。
ステップSB3において、バックアップサーバ4よる管理装置C2の認証が失敗であった場合には、管理装置C2の鍵バックアップ/鍵リストア部C14は、認証が失敗したことを特定可能な情報を入力部/表示部C18(タッチパネルDP)に表示させる(ステップSB4)。
一方、ステップSB3において、バックアップサーバ4よる管理装置C2の認証が成功であった場合には、管理装置C2の鍵バックアップ/鍵リストア部C14は、認証が成功したことを特定可能な情報を入力部/表示部C18(タッチパネルDP)に表示させる。また、管理装置C2の鍵バックアップ/鍵リストア部C14は、タッチパネルDPにおいて、バックアップ保護用のパスワードの入力を促す画面を表示させる。その後、ステップSB5において、管理装置C2は、管理装置C2のタッチパネルDPへのユーザの操作によるバックアップ保護用のパスワードの入力を受け付ける。
バックアップ保護用のパスワードの入力を受け付けるとステップSB6において、代替用の管理装置C2の鍵バックアップ/鍵リストア部C14は、暗号化されたバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を受信する。
ステップSB7において、代替用の管理装置C2の鍵バックアップ/鍵リストア部C14は、暗号化されたバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を復号する。このとき、バックアップ用の機器D1,E1,F1のそれぞれに固有の情報も復号される。なお、この復号は、ステップSA7での暗号化に呼応した暗号処理(復号処理)により実行され、例えば、ステップSB5で入力されたバックアップ保護用のパスワードを鍵として用いる暗号処理(復号処理)により実行される。例えば、管理装置C1においてステップSA5で入力されたバックアップ保護用のパスワードと管理装置C2においてステップSB5で入力されたバックアップ保護用のパスワードが一致する場合において、ステップSB7で正しく復号されるように暗号処理方式が定められている。
次にステップSB8において、鍵バックアップ/鍵リストア部C14は、復号したバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を、リストアする(つまり証明書記憶部C12に格納する)。また、このとき管理装置C2の鍵バックアップ/鍵リストア部C14は、復号したバックアップ用の機器D1,E1,F1のそれぞれに固有の情報を、リストアする(つまり機器情報記憶部C16に格納する)。なお、バックアップ及びリストアに際して、例えば、各機器についてその機器の固有の情報とその機器との通信に用いる事前共有鍵とを対応付けておくことが有用である。そして、ステップSB9において、管理装置C2は、入力部/表示部C18(タッチパネルDP)に、事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)がリストアされたことを表示する。
ステップSB10において、管理装置C2は、リストアされた複数の機器D1,E1,F1に固有の情報に基づいて、機器リストを作成し、機器リストから公開鍵電子証明書の変更通知を送信する通知先の機器を選択する。具体的には、管理装置C2の鍵バックアップ部/鍵リストア部C14は、管理装置C1が事前共有鍵を用いて暗号通信を行っていた機器を機器リストから選択する。管理装置C2は、選択した機器毎に対して、対応する事前共有鍵を用いて公開鍵電子証明書CertC2を暗号化して送信する(ステップSB11)。
即ち、ステップSB11において、管理装置C2は、リストアされた事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれを用いて、公開鍵電子証明書CertC2を暗号化し、暗号化された公開鍵電子証明書CertC2を含む変更通知を作成する。そして、管理装置C2は、通知先の機器リストから読み出された複数の機器D1,E1,F1のそれぞれに対応する事前共有鍵を用いて暗号化した公開鍵電子証明書CertC2を含む変更通知を、その機器D1,E1,F1のそれぞれに送信する。
ステップSB12において、管理装置C2は、変更通知を受信した複数の機器D1,E1,F1のそれぞれが公開鍵電子証明書の変更の受け入れを完了したことを示す信号(変更受入通知)を受信する。その後、ステップSB13において、複数の機器D1,E1,F1のそれぞれが、変更通知を受信した後、公開鍵電子証明書の変更を受け入れたか否かを判定する。ステップSB13において、複数の機器D1,E1,F1のうち公開鍵電子証明書の変更の受け入れを完了していない機器があれば、管理装置C2は、ステップSB10〜SB13の処理を繰り返す。
ステップSB13において、複数の機器D1,E1,F1が公開鍵電子証明書の変更の受け入れを完了した場合には、管理装置C2はリストア処理を終える。なお、ステップSB12で受信した各機器(機器D1,E1,F1のそれぞれ)からの変更受入通知には、その機器の暗号化された公開鍵電子証明書が含まれている。管理装置C2では、機器D1,E1,F1のそれぞれからの変更受入通知に含まれるその機器の暗号化された公開鍵電子証明書を、対応する事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれを用いて復号する。そして管理装置C2は、復号した公開鍵電子証明書CertD1,CertE1,CertF1を証明書記憶部C12に記憶する。更に管理装置C2の暗号処理部C15は、管理装置C2の秘密鍵PriC2と機器D1から送信されてきた公開鍵電子証明書CertD1とを用いて事前共有鍵PSK(C2−D1)を生成する。暗号処理部C15は、管理装置C2の秘密鍵PriC2と機器E1から送信されてきた公開鍵電子証明書CertE1とを用いて事前共有鍵PSK(C2−E1)を生成する。暗号処理部C15は、管理装置C2の秘密鍵PriC2と機器F1から送信されてきた公開鍵電子証明書CertF1とを用いて事前共有鍵PSK(C2−F1)を生成する。そして、管理装置C2は、事前共有鍵PSK(C2−D1),PSK(C2−E1),PSK(C2−F1)の全てを証明書記憶部C12に格納する。
次に、図10を用いて、機器D1,E1,F1のそれぞれにおいて通信プログラムDDによって実行される、管理装置C2の認証及び登録処理を説明する。この認証及び登録処理は、図7のステップS9において機器D1で実行される処理である。図10に示される認証及び登録処理(ステップSC1〜SC7)は、主として機器D1の認証処理部D13によって実行される。なお、以下、機器D1において実行される認証及び登録処理のみを説明するが、機器E1及び機器F1の認証及び登録処理は、機器D1の認証及び登録処理と同様である。
ステップSC1においては、機器D1は、管理装置C2から送信されてきた暗号化された公開鍵電子証明書CertC2を含む公開鍵電子証明書の変更通知を受信する。その後、ステップSC2において、機器D1は、暗号処理部D15に既に記憶されている事前共有鍵PSK(C1−D1)を用いて暗号化された公開鍵電子証明書CertC2を復号する。
次に、ステップSC3において、機器D1は、暗号化された公開鍵電子証明書CertC2が事前共有鍵PSK(C1−D1)を用いて正しく復号されたか否かを判定する。ステップSC3において、事前共有鍵PSK(C1−D1)を用いて公開鍵電子証明書CertC2が正しく復号できない場合がある。この場合、ステップSC4において、機器D1は、管理装置C2へ機器D1で復号できないエラーが発生したことを示す機器エラーを特定可能な情報を管理装置C2へ送信する。その結果、管理装置C2は、暗号化された公開鍵電子証明書CertC2が復号されないこと示す機器エラーをタッチパネルDPに表示させる。それにより、暗号化された公開鍵電子証明書CertC2が復号されないことをユーザに知らせることができる。
一方、ステップSC3において、機器D1の事前共有鍵PSK(C1−D1)を用いて、暗号化された公開鍵電子証明書CertC2が正しく復号できる場合がある。この場合、ステップSC5において、既存の公開鍵電子証明書CertC1に代えて復号された新たな公開鍵電子証明書CertC2を証明書記憶部D12に記憶させる。
次に、ステップSC6において、機器D1は、公開鍵電子証明書CertC2についての変更受入通知として、公開鍵電子証明書CertD1を既存の事前共有鍵PSK(C1−D1)を用いて暗号化し、暗号化された公開鍵電子証明書CertD1を管理装置C2に送信する。これに対応して、管理装置C2は、暗号化された公開鍵電子証明書CertD1を復号して、秘密鍵PriC2と公開鍵電子証明書CertD1とに基づき事前共有鍵PSK(C2−D1)を生成し、公開鍵電子証明書CertD1及び事前共有鍵PSK(C2−D1)を証明書記憶部C12に格納する。また、変更受入通知を受信したことで管理装置C2は、機器D1に対して再接続の処理を行っている旨を入力部/表示部C18(タッチパネルDP)に表示してもよい。それにより、管理装置C2と機器D1とが再接続のための処理を行っていることをユーザに知らせることができる。
ステップSC7において、機器D1は、管理装置C2から受信して復号することで取得した公開鍵電子証明書CertC2と機器D1自身の秘密鍵PriD1とを用いて、事前共有鍵PSK(C1−D1)とは異なる新たな事前共有鍵PSK(C2−D1)を生成する。これにより、機器D1は、管理装置C2の認証及び登録処理を終える。
管理装置C2の認証及び登録処理を終えた後においては、機器D1は、新たな事前共有鍵PSK(C2−D1)を用いて、管理装置C2へ送信したい情報を暗号化し、暗号化された情報を管理装置C2へ送信する。これにより、管理装置C2と機器D1との間で、事前共有鍵PSK(C2−D1)を用いた暗号通信が実現される(図7に示すステップS10参照)。
(管理装置及び機器の効果)
本実施の形態の通信システムの管理装置C1と機器D1との組においては、ユーザによる操作を前提として、管理装置C1は、機器D1の公開鍵電子証明書CertD1を受け入れて認証及び登録を行い、機器D1は、管理装置C1の公開鍵電子証明書CertC1を受け入れて認証及び登録を行った(図7に示すステップS3参照)。つまり、機器D1及び管理装置C1のそれぞれにおいて、相互通信に用いる暗号処理用(つまり暗号化用及び復号用)の事前共有鍵PSK(C1−D1)を生成して保持した。そして、管理装置C1ではバックアップ処理(図8参照)を行い、その後に、管理装置C1が故障等した場合に代替用の管理装置C2でリストア処理(図9参照)が行われる。この管理装置C2によるリストア処理と、機器D1による認証及び登録処理(図10参照)とによって、ユーザが操作を行わなくても、機器D1が既存の事前共有鍵PSK(C1−D1)を利用して管理装置C2の公開鍵電子証明書CertC2を受け入れて認証及び登録を行う。また、管理装置C2は、機器D1の公開鍵電子証明書CertD1を取得できる。このため、機器D1及び管理装置C2のそれぞれにおいて、事前共有鍵PSK(C2−D1)を生成して保持することができる。
即ち、本実施の形態の通信システムによれば、管理装置C1でのバックアップに係る操作及び新たな管理装置C2でのリストアに係る操作だけで、新たな管理装置C2を機器D1に認証及び登録させることができる。そのため、機器D1が新たな管理装置C2から離れた場所又は危険な場所に設置されている場合に、ユーザは、機器D1の操作のために、管理装置C2から離れた場所又は危険な場所まで行く必要がない。また、管理装置C1が複数の機器D1,E1,F1を管理している状況の下で、新たな管理装置C2を複数の機器D1,E1,F1のそれぞれに認証及び登録させるという面倒な複数の操作を必要としない。
(管理装置の通信プログラム及び機器の相手方通信プログラム)
本実施の形態の管理装置C1の通信プログラムCC、及び、機器の相手方通信プログラムDDは、次のようなものである。
本実施の形態の通信プログラムCC、又は、相手方通信プログラムDDは、通信装置(管理装置C1,C2及び複数の機器D1,E1,F1のそれぞれ)が備えるコンピュータを、上述した各部(図5、図6の各機能ブロック参照)として、機能させるためのものである。本実施の形態の通信プログラムCC又は相手方通信プログラムDDは、通信装置におけるメモリ、ハードディスクその他の記憶媒体(記録媒体)に記録されてプロセッサに実行される。また、本実施の形態の通信プログラムCC又は相手方通信プログラムDDは、通信装置から分離された、コンピュータで読み取り可能な記録媒体CCC又は記録媒体DDDに記録され得る。
通信プログラムCC又は相手方通信プログラムDDは、クラウドコンピューティングを実現するコンピュータ資源としての記録媒体CCC又は記録媒体DDDに格納されてサーバ上において動作してもよい。また、通信プログラムCC又は相手方通信プログラムDDは、それぞれ、インターネット上のウェブサイト等から通信装置としての管理装置C1及び相手方通信装置としての機器D1へダウンロードされてもよい。
(特徴的構成とアルゴリズムとの関係)
以下、本実施の形態の通信装置の特徴的構成とそれに対応するアルゴリズムとの関係を記載する。また、実施の形態の通信装置等の特徴的構成の例とそれにより得られる効果とを記載する。
(1)本実施の形態の通信装置(例えば管理装置C1)は、相手方通信装置(例えば機器D1)と通信する通信装置である。通信装置は、証明書記憶部C12、暗号処理部C15及び鍵バックアップ部(鍵バックアップ部/鍵リストア部C14)を備える。
証明書記憶部C12は、相手方通信装置から送信されてきた相手方通信装置の公開鍵電子証明書CertD1を記憶可能である(ステップS2)。また、証明書記憶部C12は、通信装置の公開鍵電子証明書CertC1に対応する秘密鍵PriC1を記憶する。暗号処理部C15は、通信装置の秘密鍵PriC1と相手方通信装置の公開鍵電子証明書CertD1とに基づいて、通信装置と相手方通信装置との間の通信における暗号処理に利用される事前共有鍵PSK(C1−D1)を生成する(ステップS3)。前述の鍵バックアップ部は、事前共有鍵PSK(C1−D1)と同一のバックアップ用の事前共有鍵PSK(C1−D1)を生成する(ステップS5,SA6)。前述の鍵バックアップ部は、通信装置から物理的に分離された外部記憶装置(バックアップサーバ4,USBメモリ5)へ、バックアップ用の事前共有鍵PSK(C1−D1)を送信する(ステップS5,SA8)。通信装置から物理的に分離された外部記憶装置は、例えば、通信装置と離れた外部記憶装置、通信装置に対して着脱自在な外部記憶装置等である。
上記の構成によれば、下記(4)に係る通信装置(例えば管理装置C1が故障した場合等における代替用の管理装置C2)は、バックアップサーバ4等の外部記憶装置からバックアップ用の事前共有鍵PSK(C1−D1)のリストアを行うことができる。そのため、相手方通信装置のボタン操作なしに、新たな通信装置(管理装置C2)と相手方通信装置との間で事前共有鍵PSK(C1−D1)を用いた暗号通信を行うことができる。
(2)上記(1)に示した通信装置において鍵バックアップ部は、バックアップ用の事前共有鍵PSK(C1−D1)に加えて、相手方通信装置(機器D1)に固有の情報と同一の、バックアップ用の、相手方通信装置に固有の情報を生成してもよい(ステップSA6)。この鍵バックアップ部は、外部記憶装置へバックアップ用の相手方通信装置に固有の情報を送信してもよい(ステップS5,SA8)。
上記の構成によれば、下記(5)に係る通信装置(例えば管理装置C2)は、相手方通信装置(機器D1)に固有の情報のバックアップも行うことができる。したがって、バックアップされた相手方通信装置に固有の情報をリストアすることにより、バックアップ用の事前共有鍵を用いて暗号通信を行うべき相手方通信装置を容易に特定することができる。
(3)通信装置は、それぞれが上記(1)又は(2)の通信装置に対する相手方通信装置である複数の機器D1,E1,F1を、管理する管理装置C1であってもよい。この場合、証明書記憶部C12は、複数の機器D1,E1,F1からそれぞれ送信されてきた複数種類の公開鍵電子証明書CertD1,CertE1,CertF1を記憶可能である(ステップS2)。暗号処理部C15は、管理装置C1の秘密鍵PriC1と複数種類の公開鍵電子証明書CertD1,CertE1,CertF1とに基づいて、事前共有鍵を生成する。暗号処理部C15は、管理装置C1と複数の機器D1,E1,F1のそれぞれとの間の通信における暗号処理に利用される複数種類の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を生成する(ステップS3)。前述の鍵バックアップ部は、複数種類の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)とそれぞれ同一の複数種類の前記バックアップ用の事前共有鍵を生成する(ステップS5,SA6)。この鍵バックアップ部は、外部記憶装置へ複数種類のバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれを送信する(ステップS5,SA8)。
上記の構成によれば、下記(6)に係る管理装置C2と複数の機器D1,E1,F1のそれぞれとの間で、リストアされた事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を用いた暗号通信を行うことができる。この場合、暗号処理に用いられる事前共有鍵の共有のために複数の機器D1,E1,F1のそれぞれの操作をすることが必要ないので、大きな負担軽減を図ることができる。
(4)本実施の形態の通信装置(例えば新たな管理装置C2)は、相手方通信装置(例えば機器D1)と通信する通信装置である。通信装置は、鍵リストア部(鍵バックアップ部/鍵リストア部C14)、証明書記憶部C12及び暗号処理部C15を備える。前述の鍵リストア部は、通信装置から物理的に分離された外部記憶装置(バックアップサーバ4,USBメモリ5)からバックアップ用の事前共有鍵PSK(C1−D1)を受信する(ステップS6,SB6)。証明書記憶部C12は、通信装置の公開鍵電子証明書CertC2を記憶する。暗号処理部C15は、バックアップ用の事前共有鍵PSK(C1−D1)を用いて通信装置の公開鍵電子証明書CertC2を暗号化し、暗号化された通信装置の公開鍵電子証明書CertC2を相手方通信装置へ送信する(ステップS7,SB11)。
上記の構成によれば、通信装置(例えば新たな管理装置C2)が、上記(1)に係る通信装置(例えば管理装置C2が代替することとなった管理装置C1)によってバックアップされたバックアップ用の事前共有鍵PSK(C1−D1)のリストアを行うことができる。そのため、相手方通信装置の操作なしに、上記(4)の通信装置(例えば管理装置C2)と相手方通信装置との間で事前共有鍵を用いた暗号通信を行うことができる。なお、事前共有鍵PSK(C1−D1)を用いた暗号通信により公開鍵電子証明書CertC2を相手方通信装置(例えば機器D1)に伝達すると、その後において相手方通信装置では例えば事前共有鍵PSK(C2−D1)を生成して暗号通信に利用し得る。
(5)上記(4)に示した鍵リストア部は、バックアップ用の事前共有鍵PSK(C1−D1)に加えて、外部記憶装置から相手方通信装置に固有の情報を受信してもよい(ステップSB6)。
上記の構成によれば、上記(2)に係る通信装置によってバックアップされた機器D1に固有の情報のリストアも行うことができる。したがって、リストアされた相手方通信装置に固有の情報を用いて、バックアップ用の事前共有鍵を用いて暗号通信すべき相手方通信装置を容易に特定することができる。
(6)通信装置は、それぞれが相手方通信装置である複数の機器D1,E1,F1を管理する管理装置C2であってもよい。この場合、前述の鍵リストア部は、前述の外部記憶装置から複数の機器D1,E1,F1にそれぞれ対応した複数種類のバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を受信する。暗号処理部C15は、複数種類のバックアップ用の事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のそれぞれを用いて、管理装置C2の公開鍵電子証明書CertC2を暗号化する。それによって、暗号処理部C15は、複数種類の暗号化された公開鍵電子証明書CertC2を生成する。複数種類の暗号化された公開鍵電子証明書CertC2をそれぞれ複数の機器D1,E1,F1へ送信する。なお、管理装置C2が受信する複数種類のバックアップ用の事前共有鍵のそれぞれと複数の機器D1,E1,F1が記憶する複数の事前共有鍵のそれぞれとが互いに対をなす。管理装置C2は、公開鍵電子証明書CertC2の暗号化に用いた、バックアップ用の事前共有鍵と対をなす事前共有鍵を保持している機器に対して、その事前共有鍵を用いて暗号化した公開鍵電子証明書CertC2を送信する。これにより、管理装置C2と機器D1との間では、対をなす事前共有鍵PSK(C1−D1)を用いて暗号通信が行われる。管理装置C2と機器E1との間では、対をなす事前共有鍵PSK(C1−E1)を用いて暗号通信が行われる。管理装置C2と機器F1との間では、対をなす事前共有鍵PSK(C1−F1)を用いて暗号通信が行われる。
上記の構成によれば、管理装置C2は、上記(3)で示した管理装置C1がバックアップした事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)をリストアすることができる。そのため、新たな管理装置C2は、事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)を用いて、複数の機器D1,E1,F1のそれぞれと暗号通信を行うことができる。この場合、複数の機器D1,E1,F1のそれぞれの操作をする必要がないため、ユーザの操作負担を大幅に軽減することができる。なお、事前共有鍵PSK(C1−D1),PSK(C1−E1),PSK(C1−F1)のいずれかを用いた暗号通信で、例えば、管理装置C2からその事前共有鍵に対応する機器へは、公開鍵電子証明書CertC2を送信でき、その機器から管理装置C2へは、その機器の公開鍵電子証明書(公開鍵電子証明書CertD1,CertE1,CertF1のいずれか)を送信できる。この結果として、管理装置C2とその機器とでは、対となる事前共有鍵(事前共有鍵PSK(C2−D1),PSK(C2−E1),PSK(C2−F1)のいずれか)の共有が可能になる。
(7)実施の形態の相手方通信装置(例えば機器D1)は、通信装置(例えば管理装置C1)と通信する。相手方通信装置は、証明書記憶部D12及び暗号処理部D15を備えている。証明書記憶部D12は、通信装置から送信されてきた通信装置の既存の公開鍵電子証明書CertC1を記憶可能である(ステップS1)。また、証明書記憶部D12は、相手方通信装置の公開鍵電子証明書CertD1及び通信装置の事前共有鍵PSK(C1−D1)と対をなす相手方通信装置の事前共有鍵PSK(C1−D1)を記憶する。暗号処理部D15は、通信装置の事前共有鍵PSK(C1−D1)を用いて暗号化された状態で通信装置から送信された、新たな公開鍵電子証明書CertC2を受信する(ステップS7,SC1)。相手方通信装置の事前共有鍵PSK(C1−D1)を用いて暗号化された新たな公開鍵電子証明書CertC2が、復号される場合がある。この場合、暗号処理部D15は、新たな公開鍵電子証明書CertC2を既存の公開鍵電子証明書CertC1に代えて証明書記憶部D12に記憶させる(ステップSC5)。また、暗号処理部D15は、相手方通信装置の公開鍵電子証明書CertD1を相手方通信装置の事前共有鍵PSK(C1−D1)で暗号化する。暗号処理部D15は、暗号化された相手方通信装置の公開鍵電子証明書CertD1を通信装置へ送信する(ステップS8,SC6)。
上記の構成によれば、相手方通信装置のボタン操作なしに、新たな通信装置と相手方通信装置との間で事前共有鍵PSK(C1−D1)を用いた暗号通信を行うことができる。また、事前共有鍵PSK(C1−D1)を用いた暗号通信により公開鍵電子証明書CertD1を新たな通信装置(管理装置C2)に伝達すると、その後において新たな通信装置(管理装置C2)では例えば事前共有鍵PSK(C2−D1)を生成して暗号通信に利用し得る。
以上、実施の形態に係る通信装置、相手方通信装置等について説明したが、上述した実施の形態は一例にすぎず、各種の変更、付加、省略等が可能であることは言うまでもない。
また、上述の管理装置C1、管理装置C2、機器D1等の動作手順(図7〜図10に示した手順等)の実行順序は、必ずしも、上述した通りの順序に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えたりその一部を省略したりすることができる。また、上述の動作手順の全部又は一部は、管理装置C1、管理装置C2、機器D1等のハードウェア(電子回路等)だけにより実現されても、ソフトウェアを用いて実現されてもよい。なお、ソフトウェアによる処理は、管理装置C1、管理装置C2、機器D1のそれぞれに含まれるプロセッサがメモリに記憶された制御プログラム(例えば上述の通信プログラムCC、通信プログラムDD等)を実行することにより実現されるものである。また、その制御プログラムを記録媒体に記録して頒布や流通させてもよい。例えば、頒布された制御プログラムを装置にインストールして、装置のプロセッサに実行させることで、その装置に、上述した動作手順の全部又は一部を行わせることが可能となる。
また、上述した各実施の形態で示した構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
なお、本発明の包括的又は具体的な各種態様には、装置、システム、方法、集積回路、コンピュータプログラム、コンピュータで読み取り可能な記録媒体等の1つ又は複数の組み合わせが含まれる。