以下、図面を参照しながら、実施の形態の通信装置としての機器D1、及び、それを管理する相手方通信装置としての管理装置C1を説明する。相手方通信装置は、ある通信装置にとって通信相手の通信装置を意味する。例えば、本実施の形態の管理装置C1は相手方通信装置として機能し、また、通信装置としても機能することが可能である。また、例えば、本実施の形態の機器D1は通信装置として機能し、また、相手方通信装置としても機能することができる。
(実施の形態1)
実施の形態1の通信システムを図1〜図9を用いて説明する。
図1に示されるように、本実施の形態の通信システムAは、機器D1と、機器D1と通信して機器D1を管理する管理装置C1と、を備えている。機器D1及び管理装置C1は、それぞれ、コンピュータに後述する通信プログラムを実行させることで、相互に暗号通信することができる通信装置及び相手方通信装置である。暗号通信の前提として、機器D1及び管理装置C1は、相互に認証及び登録を行う必要がある。なお、登録は、例えば、暗号通信に必要な情報(事前共有鍵等)の生成に係る処理を含む。
機器D1は、管理装置C1の公開鍵電子証明書CertC1と自身の秘密鍵PriD1とから生成された事前共有鍵PSK(C1−D1)を用いて管理装置C1と暗号通信する通信装置である。管理装置C1は、機器D1の公開鍵電子証明書CertD1と自身の秘密鍵PriC1とから生成された事前共有鍵PSK(C1−D1)を用いて機器D1と暗号通信する相手方通信装置である。
本実施の形態の管理装置C1と機器D1とは、いずれも、同一ユーザによって使用されることが前提とされている装置であるとして説明する。しかし、管理装置C1と機器D1とのユーザが異なっていてもよい。
本実施の形態の通信システムAは、個人の住宅10内のホームオートメーションシステムにおいて用いられるものとする。ここで機器D1は、空気調和機等の生活用の電気機器であるものとして説明するが、パーソナルコンピュータ等のオフィス用の電気機器等でもよい。
通常、通信システムAにおいては、機器D1と同一の機能を有している複数の機器が管理装置C1によって管理(例えば制御等)される。本実施の形態においては、管理装置C1と機器D1とは、同一の住宅10内に設置され、互いに無線通信又は有線通信を行う。
通信システムAを構成する機器D1及び管理装置C1のそれぞれは、ブロードバンドルータ2を経由してインターネット1に接続されている。認証局サーバ3もインターネット1に接続されている。
なお、ここでは、通信システムAは、図1において実線の矩形で示される管理装置C1を備えるものとして説明する。しかし、通信システムAは、例えば、図1において破線の矩形で示されるように管理装置C1が住宅10の外部に設置され、機器D1が住宅10の内部に設置されており、管理装置C1と機器D1とがインターネット1を経由して通信する形態であってもよい。
住宅10内に設置される管理装置C1の代わりに、携帯端末のような携帯型の管理装置C1が用いられてもよい。これによっても、住宅10の外部から機器D1のような複数の機器を管理することができる。
管理装置C1は、公開鍵電子証明書CertC1、及び、公開鍵電子証明書CertC1に対応する秘密鍵PriC1を有している。公開鍵電子証明書CertC1及び秘密鍵PriC1は、認証局サーバ3によって発行されたものであり、管理装置C1の製造者の工場で管理装置C1に予め組み込まれている。
機器D1は、自身の公開鍵電子証明書CertD1、及び、その公開鍵電子証明書CertD1に対応する秘密鍵PriD1を有している。公開鍵電子証明書CertD1及び秘密鍵PriD1は、認証局サーバ3によって発行されたものであり、機器D1の製造者の工場にて機器D1に予め組み込まれている。
管理装置C1の公開鍵電子証明書CertC1が失効する場合がある。この場合、例えばユーザの操作を受ける等により、管理装置C1は、認証局サーバ3へ公開鍵電子証明書の更新のための要求信号を送信する。それにより、管理装置C1からの更新の要求が認証局サーバ3によって認められれば、公開鍵電子証明書CertC1及び秘密鍵PriC1は、それぞれ、新たな公開鍵電子証明書CertC2及び新たな秘密鍵PriC2に更新される。公開鍵電子証明書CertC2及び秘密鍵PriC2は、認証局サーバ3によって発行され、認証局サーバ3からインターネット1を経由して管理装置C1へ送信される。なお、管理装置C1における公開鍵電子証明書CertC1の更新は、管理装置C1の公開鍵について証明する公開鍵電子証明書CertC1の代わりとなる、有効期限が到来していない公開鍵電子証明書CertC2を認証局サーバ3から取得することで実現される。
一方、機器D1の公開鍵電子証明書CertD1も失効する場合がある。この場合も、ユーザは、認証局サーバ3へ公開鍵電子証明書の更新のための要求信号を送信する。それにより、ユーザの更新の要求が認証局サーバ3によって認められれば、公開鍵電子証明書CertD1及び秘密鍵PriD1も、それぞれ、新たな公開鍵電子証明書(図示せず)、及び、新たな秘密鍵(図示せず)に更新される。機器D1の新たな公開鍵電子証明書、及び、新たな秘密鍵も、認証局サーバ3によって発行され、認証局サーバ3からインターネット1を経由して機器D1へ送信される。
一般に、公開鍵電子証明書が失効する場合には、次の2つの場合がある。
(1)公開鍵電子証明書に対応する秘密鍵が盗まれたり、公開鍵電子証明書に対してなりすまし等の不正利用がなされた事実が発覚したりするなどの理由で、認証局サーバ3が公開鍵電子証明書を強制的に失効させる場合
(2)予め設定された公開鍵電子証明書の有効期限が満了した(つまり有効期間の終期が過ぎた)ことに起因して公開鍵電子証明書が自動的に失効する場合
また、一般に、公開鍵電子証明書が失効したか否かを判定する方法には、次の3種類の方法が用いられるものとする。
(A)認証局サーバ3に公開鍵電子証明書の情報を送付し、その公開鍵電子証明書が失効しているか否かの判定結果を受け取る方法が用いられる。なお、認証局サーバ3は、有効期限が満了していない間に失効させるべき事由が生じた公開鍵電子証明書について列挙した失効リスト(CRL:Certificate Revocation List)を保持している。認証局サーバ3は、この失効リスト、及び、公開鍵電子証明書の有効期限の情報(例えば公開鍵電子証明書に通常含まれる有効期限の情報)に基づいて、失効しているか否かを判定し得る。
(B)認証局サーバ3の公開鍵電子証明書の失効リスト(CRL)ファイルを通信装置の内部へ読み込むことにより、通信装置自身において特定の公開鍵電子証明書が失効しているか否かを判定する方法が用いられる。
(C)通信装置自身が公開鍵電子証明書の有効期限を特定可能な情報(公開鍵電子証明書に通常含まれる有効期限の情報等)を有しており、通信装置自身のタイマの計時に基づいて現在の日時を特定可能である場合がある。この場合には、有効期限(つまり有効期間の終期)の日時と現在の日時とを比較することにより、公開鍵電子証明書が失効しているか否かを通信装置が判定する方法が用いられる。この方法は、有効期限が満了したことに起因して失効したか否かを判定する場合にのみ適用される。
一般に、公開鍵電子証明書が失効しているか否かを判定する方法としては、上記の(1)の場合においては、上記の(A)の方法又は上記の(B)の方法のみが使用される。また、上記(2)の場合においては、上記(A)及び(C)の方法のそれぞれが使用される。
本実施の形態の公開鍵電子証明書が失効しているか否かを判定する方法は、上記(1)及び(2)の場合における上記(A)の方法であるものとする。しかし、本実施の形態の公開鍵電子証明書が失効しているか否かを判定する方法として、上記(1)及び(2)のそれぞれの場合において、上記(B)又は(C)の方法が使用されてもよい。
本実施の形態においては、失効した公開鍵電子証明書によって認証されていた管理装置C1又は機器D1は、信用が失われているため、相手方通信装置との通信において、その失効した公開鍵電子証明書によっては認証されない。つまり、相手方通信装置は、管理装置C1又は機器D1からの通信要求を拒絶する。但し、失効による拒絶の例外として、以下のように拒絶の猶予に係る猶予期間内では、拒絶しない。
管理装置C1及び機器D1のいずれも、定期的に上記の方法(A)の方法によって相手方通信装置(管理装置C1又は機器D1)の公開鍵電子証明書が失効しているか否かを判定する処理を繰り返している。その判定結果が失効であった場合においても、管理装置C1及び機器D1は、いずれも、自身の内部で初期設定されている猶予期間内においては、相手方通信装置との事前共有鍵PSK(C1−D1)を用いた暗号通信を拒絶しない。なお、管理装置C1及び機器D1は、いずれも、上記(A)の方法を採用する場合、猶予期間の決定を認証局サーバ3に行わせることとしてもよい。この場合には、管理装置C1及び機器D1は、認証局サーバ3によって決定された猶予期間内において、相手方通信装置との事前共有鍵PSK(C1−D1)を用いた暗号通信を拒絶しないこととなる。
通信装置は、相手方通信装置から通信要求を拒絶しない猶予期間が経過するまでに相手方通信装置から更新済の公開鍵電子証明書が送信されてこなければ、猶予期間の経過後においては、相手方通信装置からの通信要求を拒絶する。
ただし、相手方通信装置からの通信要求を拒絶する状態になった後であっても、相手方通信装置から更新済の公開鍵電子証明書が送信されてくる場合がある。この場合、通信装置は、あらためて相手方通信装置の認証及び登録を行った後、相手方通信装置との通信を再開することができる。
本実施の形態においては、管理装置C1と機器D1とは、対をなす同一値の事前共有鍵を用いて、暗号通信を行う。そのために、管理装置C1と機器D1とは、互いに相手方の公開鍵電子証明書と自身の秘密鍵とを用いて、相手方の事前共有鍵と同一の事前共有鍵を生成する。この事前共有鍵の生成に関する技術の詳細は、例えばECC CDH(The Elliptic Curve Cryptography. Cofactor Diffie-Hellman)に関する非特許文献1に記載されている。
具体的には、管理装置C1は、機器D1の認証及び登録に際して、事前共有鍵PSK(C1−D1)を生成する。管理装置C1の事前共有鍵PSK(C1−D1)は、機器D1から送信されてきた機器D1の公開鍵電子証明書CertD1と管理装置C1の秘密鍵PriC1とを用いて生成されたものである。また、機器D1は、管理装置C1の認証及び登録に際して、事前共有鍵PSK(C1−D1)を生成する。機器D1の事前共有鍵PSK(C1−D1)は、管理装置C1から送信されてきた管理装置C1の公開鍵電子証明書CertC1と機器D1の秘密鍵PriD1とを用いて生成されたものである。
また、管理装置C1は、既存の公開鍵電子証明書CertC1の有効期限が満了したとき、認証局サーバ3に所定の要求を行う。それにより、管理装置C1は、認証局サーバ3から新たな公開鍵電子証明書CertC2、及び、新たな秘密鍵PriC2を受け取ることができる。機器D1も、既存の公開鍵電子証明書CertD1の有効期限が満了したとき、認証局サーバ3に所定の要求を行う。それにより、機器D1は、認証局サーバ3から新たな公開鍵電子証明書(図示せず)、及び、新たな秘密鍵(図示せず)を受け取ることができる。
管理装置C1の既存の公開鍵電子証明書CertC1の有効期限が満了した場合に、上述のように管理装置C1は、新たな公開鍵電子証明書CertC2と新たな秘密鍵PriC2とを得て、新たな公開鍵電子証明書CertC2を機器D1へ送信する。それにより、機器D1は、既存の自身の秘密鍵PriD1と管理装置C1の新たな公開鍵電子証明書CertC2とを用いて、新たな事前共有鍵PSK(C2−D1)を生成する。その後、機器D1は、既存の事前共有鍵PSK(C1−D1)を新たな事前共有鍵PSK(C2−D1)に置き換えることができる。また、管理装置C1は、新たな秘密鍵PriC2と機器D1の公開鍵電子証明書CertD1とを用いて、新たな事前共有鍵PSK(C2−D1)を生成する。その後、管理装置C1と機器D1とは、新たな事前共有鍵PSK(C2−D1)を用いて暗号通信を行う。
管理装置C1は、メモリ、プロセッサ(マイクロプロセッサ)、入力装置、表示装置、通信回路等を有するコンピュータを備える。なお、管理装置C1は、コンピュータそのものであってもよい。表示装置は例えばLCD(Liquid Crystal Display)等のディスプレイであり、入力装置は例えばスイッチ、ボタン、キーボード等の操作部或いはタッチパッド等である。ここでは、表示装置及び入力装置は、ディスプレイ(表示装置)の表示面にタッチパッドが重ねられて一体となったタッチパネルDPであるものとして説明する。メモリは、プログラム及びデータを予め保持しているROM(Read Only Memory)、プログラムの実行に際してデータ等の記憶に利用するためのRAM(Random Access Memory)等であり、例えば不揮発性メモリを含んでいてもよい。プロセッサは、メモリに格納されたプログラムを実行することにより通信回路等を制御し、各種機能を実現する。また、管理装置C1は、メモリの他に、ハードディスク等の記憶媒体を含んでいてもよい。
図2及び図3に示されるように、管理装置C1は、個人の住宅10内において、ユーザが指で触れることにより操作することができるタッチパネルDPを有する。管理装置C1は、無線もしくは有線回線によって、又はインターネット等のネットワークを経由して、機器D1と通信できるものであればよく、例えば、卓上式、壁掛け式等でもよい。例えば、管理装置C1は、機器D1の一例としての空気調和機の運転、停止、設定温度、タイマ等を管理(例えば制御)することができる。また、管理装置C1は、空気調和機以外に、テレビ、ドアフォン、冷蔵庫、洗濯機、電力メータ等を管理するものであってもよい。
図4に示されるように、管理装置C1は、タッチパネルDPを有するスマートフォン(携帯端末)又はタブレット端末のような可搬性を有するコンピュータであってもよい。管理装置C1が携帯端末又はタブレット端末であれば、機器D1の一例としての空気調和機を住宅10の外部から管理することができる。
次に、図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は、相手方通信装置である機器D1から送信されてきた公開鍵電子証明書CertD1、自身の秘密鍵PriC1、及び、事前共有鍵PSK(C1−D1)を記憶している。証明書記憶部C12は、機器D1等の全ての相手方通信装置から送信されてきた公開鍵電子証明書を記憶している。
認証処理部C13は、プログラムを実行するプロセッサ等により実現される。認証処理部C13は、機器D1から送信されてきた暗号化された情報を、事前共有鍵PSK(C1−D1)又は秘密鍵PriC1を用いて復号することによって、機器D1を認証及び登録する。
情報判定部C14は、プログラムを実行するプロセッサ等により実現される。情報判定部C14は、証明書記憶部C12に記憶された事前共有鍵PSK(C1−D1)を用いて、管理装置C1の受信情報(つまり外部から送信され管理装置C1が受信した情報)が、信用関係が既に形成された機器D1から送信されてきた通信情報であるか否かを判定する。具体的には、情報判定部C14は、事前共有鍵を用いて暗号化された情報を復号できれば、その暗号化された情報を送信した相手方通信装置は既に信用関係が形成されている装置であると判定する。復号できたか否かについては、送信されてきた暗号化された情報が検証可能に構成されており、受信した装置で検証を行うことで、検証に成功すれば復号できたと判定し、検証に失敗すれば復号できなかったと判定する。例えば、送信元の装置が、送信する暗号化された情報に、予め定められた方式で検証可能な冗長なコードを含ませると、受信した装置ではそのコードを用いてその予め定められた方式により検証が可能となる。また例えば、送信元の装置が送信する情報に認証局サーバ3による署名等の情報が含まれる場合には、受信した装置ではその情報を用いて検証が可能となる。情報判定部C14は、事前共有鍵PSK(C1−D1)を用いて、暗号化された受信情報が復号された場合に、その受信情報は信用関係が既に形成された機器D1から送信されてきた通信情報であると判定する。
暗号処理部C15は、プログラムを実行するプロセッサ等により実現される。暗号処理部C15は、情報を暗号化して送信する処理、及び、暗号化されて送信されてきた情報を復号する処理を実行する。暗号処理部C15は、管理装置C1の秘密鍵PriC1と機器D1から送信されてきた公開鍵電子証明書CertD1とを用いて事前共有鍵PSK(C1−D1)を生成する。暗号処理部C15は、事前共有鍵PSK(C1−D1)を用いて暗号化或いは復号を行うことにより、機器D1と暗号通信をする。ただし、暗号処理部C15は、機器D1の公開鍵電子証明書CertD1が失効している場合には、事前共有鍵PSK(C1−D1)を用いた機器D1からの通信要求を拒絶する。ここで、通信要求の拒絶は、例えば暗号処理部C15が機器D1との間での暗号通信を継続しない処理であり、例えば、エラーを示す情報(拒絶応答)を送信すること、或いは、受信に対して返信をしないこと等であってもよい。機器D1の公開鍵電子証明書CertD1が失効している場合における暗号処理部C15による機器D1からの通信要求の拒絶には、次の例外がある。即ち、暗号処理部C15は、機器D1の公開鍵電子証明書CertD1が失効していても、情報判定部C14によって、受信情報が機器D1から送信されてきた情報であると判定された場合には、拒絶しない。なお、情報判定部C14は、公開鍵電子証明書CertD1の失効後においても猶予期間内であれば、失効しているか否かに拘わらず、事前共有鍵PSK(C1−D1)を用いて管理装置C1の外部から送信されてきた受信情報を復号できるか否かによって、受信情報が機器D1から送信されてきた情報であるか否かを判定する。この結果として、猶予期間内においては、暗号処理部C15は、機器D1と事前共有鍵PSK(C1−D1)を用いた暗号通信を行い得る。
既存の公開鍵電子証明書CertC1が、その失効に起因して、新たな公開鍵電子証明書CertC2に置き換えられる場合がある。この場合、暗号処理部C15は、失効通知を送信してきた機器D1へ事前共有鍵PSK(C1−D1)で暗号化された更新済の(つまり新たな)公開鍵電子証明書CertC2を送信する。それにより、機器D1は、受信した管理装置C1の新たな公開鍵電子証明書CertC2と自身の秘密鍵PriD1とを用いて、事前共有鍵PSK(C2−D1)を生成する。そのため、管理装置C1は、更新済の公開鍵電子証明書CertC2に対応する秘密鍵PriC2と機器D1の公開鍵電子証明書CertD1とを用いて事前共有鍵PSK(C2−D1)を生成し、その事前共有鍵PSK(C2−D1)を用いて、機器D1と暗号通信を行うことができる。
暗号処理部C15は、管理装置C1自身の公開鍵電子証明書CertC1が未更新である場合に、失効通知を送信してきた機器D1へ公開鍵電子証明書CertC1が未更新であることを特定可能な情報を送信する。そのため、機器D1は、管理装置C1の公開鍵電子証明書CertC1が未更新の状態であることを自動的に把握することができる。
失効判定部C16は、プログラムを実行するプロセッサ等により実現され、機器D1から送信されてきた公開鍵電子証明書CertD1が失効しているか否かを判定する。また、失効通知部C17は、プログラムを実行するプロセッサ等により実現される。失効通知部C17は、証明書記憶部C12に記憶されている機器D1の公開鍵電子証明書CertD1が失効している場合に、機器D1に公開鍵電子証明書CertD1が失効している旨の失効通知を行うための処理を実行する。
次に、管理装置C1と通信する機器D1について説明する。例えば空気調和機である機器D1は、空気調和用の機構が付加されたコンピュータである。即ち、機器D1が備えるコンピュータは、メモリ、プロセッサ、入力装置、表示装置、通信回路等を備える。表示装置は例えばLCD等のディスプレイであり、入力装置は例えばスイッチ、ボタン、キーボード等の操作部或いはタッチパッド等である。例えば、表示装置及び入力装置は、ディスプレイ(表示装置)の表示面にタッチパッドが重ねられて一体となったタッチパネルである。メモリは、プログラム及びデータを予め保持しているROM、プログラムの実行に際してデータ等の記憶に利用するためのRAM等であり、例えば不揮発性メモリを含んでいてもよい。プロセッサは、メモリに格納されたプログラムを実行することにより通信回路等を制御し、各種機能を実現する。また、機器D1は、メモリの他に、ハードディスク等の記憶媒体を含んでいてもよい。
次に、図6を用いて、機器D1の機能ブロックを説明する。図6に示されるように、機器D1は、通信部D10、制御部D11、証明書記憶部D12、認証処理部D13、情報判定部D14、暗号処理部D15、失効判定部D16、失効通知部C17、及び、入力部/表示部D18を備える。機器D1には、記録媒体DDD内に格納された通信プログラムDDが、インストールされている。即ち機器D1における記憶媒体(メモリ、ハードディスク等)に通信プログラムDDが記憶されており、通信プログラムDDは、メモリに格納されてプロセッサに実行され得る。
通信プログラムDDは、機器D1のプロセッサに実行されることにより、機器D1におけるコンピュータを、通信部D10、制御部D11、証明書記憶部D12、認証処理部D13、情報判定部D14、暗号処理部D15、失効判定部D16、失効通知部D17及び入力部/表示部D18として機能させる。
入力部/表示部D18は、タッチパネル等により実現され、ユーザの操作に応じた信号を制御部D11へ送信機能と制御部D11の指示に応じて情報を表示する機能とを有する。
制御部D11は、プログラムを実行するプロセッサ等により実現される。制御部D11は、入力部/表示部D18から送信されてきた信号に基づいて、証明書記憶部D12、認証処理部D13、情報判定部D14、暗号処理部D15、失効判定部D16及び失効通知部D17を制御する。また、制御部D11は、通信部D10を経由して外部へ情報を送信する。また、制御部D11は、通信部D10を経由して送信されてきた情報等を入力部/表示部D18に表示させる。また、制御部D11は、機器D1の本来の機能、例えば空気調和機としての空調機能を発揮させるための制御を行う。
証明書記憶部D12は、メモリ、ハードディスクといった記憶媒体の一領域等で実現される。機器D1自身の公開鍵電子証明書CertD1、及び、公開鍵電子証明書CertD1と対をなす秘密鍵PriD1を記憶している。証明書記憶部D12は、機器D1にとっての相手方通信装置である管理装置C1から送信されてきた公開鍵電子証明書CertC1を記憶する。
認証処理部D13は、プログラムを実行するプロセッサ等により実現される。認証処理部D13は、管理装置C1から送信されてきた暗号化された情報を事前共有鍵PSK(C1−D1)又は秘密鍵PriD1を用いて復号することによって、管理装置C1を認証及び登録する。
情報判定部D14は、プログラムを実行するプロセッサ等により実現される。情報判定部D14は、証明書記憶部D12に記憶された事前共有鍵PSK(C1−D1)を用いて、機器D1の受信情報(つまり外部から送信され機器D1が受信した情報)が、信用関係が既に形成された管理装置C1から送信されてきた通信情報であるか否かを判定する。情報判定部D14は、事前共有鍵PSK(C1−D1)を用いて暗号化された受信情報が復号された場合に、その受信情報は信用関係が既に形成された管理装置C1から送信されてきた通信情報であると判定する。
暗号処理部D15は、プログラムを実行するプロセッサ等により実現される。暗号処理部D15は、情報を暗号化して送信する処理、及び、暗号化されて送信されてきた情報を復号する処理を実行する。暗号処理部D15は、機器D1の秘密鍵PriD1と管理装置C1から送信されてきた公開鍵電子証明書CertC1とを用いて事前共有鍵PSK(C1−D1)を生成する。暗号処理部D15は、事前共有鍵PSK(C1−D1)を用いて、暗号化或いは復号を行うことにより、管理装置C1と暗号通信をする。ただし、暗号処理部D15は、管理装置C1の公開鍵電子証明書CertC1が失効している場合には、事前共有鍵PSK(C1−D1)を用いた管理装置C1からの通信要求を拒絶する。ここで、通信要求の拒絶は、例えば暗号処理部D15が管理装置C1との間での暗号通信を継続しない処理であり、例えば、エラーを示す情報(拒絶応答)を送信すること、或いは、受信に対して返信をしないこと等であってもよい。管理装置C1の公開鍵電子証明書CertC1が失効している場合における暗号処理部D15による管理装置C1からの通信要求の拒絶には、次の例外がある。即ち、暗号処理部D15は、管理装置C1の公開鍵電子証明書CertC1が失効していても、情報判定部D14によって、受信情報が管理装置C1から送信されてきた情報であると判定された場合には、拒絶しない。なお、情報判定部D14は、後述するように、公開鍵電子証明書CertC1の失効後においても猶予期間内であれば、失効しているか否かに拘わらず、事前共有鍵PSK(C1−D1)を用いて機器D1の外部から送信されてきた受信情報を復号できるか否かによって、受信情報が管理装置C1から送信されてきた情報であるか否かを判定する。この結果として、猶予期間内においては、暗号処理部D15は、管理装置C1と事前共有鍵PSK(C1−D1)を用いた暗号通信を行い得る。
失効判定部D16は、プログラムを実行するプロセッサ等により実現され、管理装置C1から送信されてきた管理装置C1の公開鍵電子証明書CertC1が失効しているか否かを判定する。また、失効通知部D17は、プログラムを実行するプロセッサ等により実現される。失効通知部D17は、証明書記憶部D12に記憶された管理装置C1の公開鍵電子証明書CertC1が失効している場合に、管理装置C1に公開鍵電子証明書CertC1が失効している旨の失効通知を行うための処理を実行する。
本実施の形態においては、失効判定部D16は、通信部C10を介して、公開鍵電子証明書CertC1を発行した認証局サーバ3へ公開鍵電子証明書CertC1が失効しているか否かを確認する(失効確認要求の送信を行う)ものとする。失効確認要求は、公開鍵電子証明書CertC1を特定する情報を含む。失効判定部D16は、認証局サーバ3から公開鍵電子証明書CertC1が失効している旨の失効確認結果を受信した場合に、公開鍵電子証明書CertC1が失効していると判定する。この場合、機器D1の失効通知部D17は、公開鍵電子証明書CertC1が失効している旨の情報(失効通知)を管理装置C1へ送信する。これによれば、管理装置C1の公開鍵電子証明書CertC1が失効していること(有効期限が満了していること或いは失効リストに記載されていること)を管理装置C1に知らせることができる。なお、公開鍵電子証明書CertC1が失効リストに記載されている場合としては、管理装置C1の秘密鍵PriC1が盗まれたことが発覚した場合、又は、管理装置C1が不正な製品であることが発覚した場合等が考えられる。
なお、失効判定部D16は、認証局サーバ3から、公開鍵電子証明書CertC1が失効している旨の失効確認結果を受信する場合において、例えば、失効原因が有効期限の満了か、失効リストへの記載かを区別する情報を取得してもよい。また、失効判定部D16は、認証局サーバ3に公開鍵電子証明書CertC1が失効リストに記載されているか否かのみを問い合わせることとして、認証局サーバ3からの失効リストに記載されているか否かの失効確認結果を受信し、公開鍵電子証明書CertC1の有効期限が満了しているか否かは自ら判定してもよい。この場合にも失効原因が有効期限の満了か、失効リストへの記載かを区別し得る。例えば、失効通知部D17を、失効原因を示す情報を含む失効通知を送信するように変形してもよい。また例えば、失効通知部D17は、失効原因がいずれかの場合(例えば失効リストへの記載であった場合)に限って失効通知を送信するように変形してもよい。
暗号処理部D15は、相手方通信装置としての管理装置C1の公開鍵電子証明書CertC1が失効している場合には、事前共有鍵PSK(C1−D1)を用いた管理装置C1からの通信要求を拒絶する。証明書記憶部D12は、管理装置C1の公開鍵電子証明書CertC1を記憶している。失効判定部D16は、公開鍵電子証明書CertC1が失効しているか否かを判定する。失効通知部D17は、失効判定部D16によって公開鍵電子証明書CertC1が失効していると判定された場合に、公開鍵電子証明書CertC1が失効していることを特定可能な失効通知を管理装置C1へ送信する。したがって、管理装置C1の公開鍵電子証明書CertC1が失効していることを管理装置C1に知らせることができる。
証明書記憶部D12は、管理装置C1の公開鍵電子証明書CertC1と通信装置自身の秘密鍵PriD1とを用いて生成された事前共有鍵PSK(C1−D1)を記憶している。管理装置C1の公開鍵電子証明書CertC1が失効していない場合がある。この場合に、情報判定部D14は、事前共有鍵PSK(C1−D1)を用いて機器D1の外部から送信されてきた受信情報を復号できるか否かによって、その受信情報が管理装置C1から送信されてきた情報であるか否かを判定する。
情報判定部D14においては、公開鍵電子証明書CertC1の失効が猶予される猶予期間が予め記憶されている。情報判定部D14は、猶予期間においては、公開鍵電子証明書CertC1が失効していても、管理装置C1の公開鍵電子証明書CertC1が失効していないものとみなす。それにより、情報判定部D14は、公開鍵電子証明書CertC1が失効していないとみなした状態で、事前共有鍵PSK(C1−D1)を用いて受信情報が相手方通信装置から送信されてきた情報であるか否かを判定する。受信情報が管理装置C1から送信されてきた情報であると情報判定部D14が判定した場合に、暗号処理部D15は、管理装置C1と事前共有鍵PSK(C1−D1)を用いた暗号通信を行う。したがって、公開鍵電子証明書CertC1が失効した直後(つまり失効後の猶予期間内)に、機器D1と管理装置C1との間での事前共有鍵PSK(C1−D1)を用いた暗号通信ができなくなることが防止される。その結果、ユーザが不便に感じることが抑制される。
なお、情報判定部D14は、失効判定部D16が、失効原因が有効期限の満了か失効リストへの記載かを区別し得るものである場合において、例えば、失効原因が有効期限の満了による場合においてのみ、判定において、猶予期間を用いることとしてもよい。これにより、公開鍵電子証明書CertC1が有効期限の経過により失効した場合に猶予期間内では、機器D1と管理装置C1との間での事前共有鍵PSK(C1−D1)を用いた暗号通信ができなくなることが防止され得る。
失効通知部D17は、失効通知を管理装置C1へ送信した後、管理装置C1から公開鍵電子証明書CertC1が更新されていないことを特定可能な情報(未更新を示す電子証明書状態応答)を受信した場合に、猶予期間の終期を特定可能な情報を管理装置C1へ送信する。そのため、管理装置C1へ現在の猶予期間を通知することができる。この現在の猶予期間の通知は、少なくとも猶予期間の終期が経過するまで繰り返される。
図7に示されるように、本実施の形態においては、管理装置C1と機器D1とは、それぞれの公開鍵電子証明書の有効期限内においては、互いに暗号通信をすることができる。また、管理装置C1と機器D1とは、いずれかの公開鍵電子証明書の有効期限外においても、猶予期間内であれば、互いに暗号通信することができる。また、機器D1は、猶予期間においては、管理装置C1から公開鍵電子証明書が未更新である旨の情報を受信すると、猶予期間の終期を特定可能な情報を管理装置C1へ送信する。それにより、機器D1は、管理装置C1の公開鍵電子証明書が更新されたことを特定可能な応答(更新済を示す電子証明書状態応答)を受信するまで、管理装置C1へ猶予期間の終期を、繰り返して知らせ続ける。なお、管理装置C1の公開鍵電子証明書CertC1の失効の猶予期間が経過した後においては、機器D1は、管理装置C1から送信されてきた通信要求を拒絶する。
次に、図8を用いて、本実施の形態の通信システムにおける管理装置C1、機器D1及び認証局サーバ3の間での通信関係を説明する。
図8に示されるように、ユーザによる管理装置C1の操作(例えばボタン押下)により、ステップS1において、管理装置C1は、公開鍵電子証明書CertC1を機器D1へ送信する。また、ユーザによる機器D1の操作(例えばボタン押下)により、ステップS2おいて、機器D1は、公開鍵電子証明書CertD1を管理装置C1へ送信する。ステップS3においては、管理装置C1は、機器D1を認証、登録し、機器D1は、管理装置C1を認証、登録する。具体的には、管理装置C1は、機器D1の公開鍵電子証明書CertD1と管理装置C1の秘密鍵PriC1とを用いて、事前共有鍵PSK(C1−D1)を生成する。機器D1は、管理装置C1の公開鍵電子証明書CertC1と機器D1の秘密鍵PriD1とを用いて、事前共有鍵PSK(C1−D1)を生成する。
ステップS4においては、管理装置C1は、事前共有鍵PSK(C1−D1)を用いて暗号化された情報を機器D1へ送信する。機器D1は、事前共有鍵PSK(C1−D1)を用いて暗号化された情報(暗号情報)を管理装置C1へ送信する。管理装置C1は、機器D1から送信されてきた暗号情報を、事前共有鍵PSK(C1−D1)を用いて復号する。機器D1は、管理装置C1から送信されてきた暗号情報を、事前共有鍵PSK(C1−D1)を用いて復号する。
機器D1と管理装置C1との間で相互に暗号通信が行われ得る状態において、定期的に、機器D1は、管理装置C1の公開鍵電子証明書CertC1が失効したか否かの確認を行う。この確認の具体例が、ステップS5、ステップS8での処理である。
ステップS5において、機器D1は、管理装置C1の公開鍵電子証明書CertC1が失効したか否かの確認を認証局サーバ3に要求する。ステップS6においては、管理装置C1の公開鍵電子証明書CertC1が有効である場合には、認証局サーバ3は、有効を示す失効確認結果(Result=有効)を機器D1へ送信する。ステップS5及びステップS6においては、例えば、失効リストの照合の負担を軽減するためのOCSP(Online Certificate Status Protocol)が用いられてもよい。但し、本実施の形態では、公開鍵電子証明書CertC1の有効期限の満了に係る失効についても認証局サーバ3(或いは機器D1)において判定するものとする。
本実施の形態においては、機器D1の失効判定部D16は、認証局サーバ3の公開鍵電子証明書の失効リストに管理装置C1の公開鍵電子証明書CertC1が記載されているか否かと有効期限が満了していないかを問い合わせている。これによれば、機器D1は、公開鍵電子証明書CertC1の有効期限の経過に起因した失効のみならず、公開鍵電子証明書CertC1の漏えいや公開鍵電子証明書CertC1が不正なものであることの発覚等に起因する失効も知ることができる。しかしながら、公開鍵電子証明書CertC1の有効期限の経過に起因した失効のみを知ればよい場合がある。この場合には、機器D1は、例えば、機器D1内に記憶された公開鍵電子証明書CertC1の有効期限を確認することにより、公開鍵電子証明書CertC1の有効期限切れか否かを判定することができる。
ステップS7においては、管理装置C1と機器D1とは、事前共有鍵PSK(C1−D1)を用いた相互暗号通信を継続する。
ステップS8においては、機器D1は、管理装置C1の公開鍵電子証明書CertC1が失効したか否かの確認を認証局サーバ3に再度要求する。この公開鍵電子証明書CertC1の失効確認の要求(つまり失効確認要求の送信)は、定期的に実行されている。ステップS9においては、管理装置C1の公開鍵電子証明書CertC1が失効しているため、認証局サーバ3は、失効を示す失効確認結果(Result=失効)を機器D1へ送信する。ステップS8及びステップS9においては、デジタル証明書の有効性をリアルタイムで確認するOCSPが用いられている。
機器D1の失効判定部D16は、認証局サーバ3から失効を示す失効確認結果(Result=失効)が送信されてくると、失効判定部D16が管理装置C1の公開鍵電子証明書CertC1が失効していると判定する。失効判定部D16が失効していると判定すると、ステップS10において、機器D1の失効通知部D17が失効通知を管理装置C1へ送信する。管理装置C1は、失効通知を受信すると、タッチパネルDPに公開鍵電子証明書CertC1が失効していることを表示する。
ステップS11において、管理装置C1は、公開鍵電子証明書が更新済か又は未更新かを知らせる電子証明書状態応答を機器D1へ送信する。これにより、機器D1は、管理装置C1の公開鍵電子証明書が更新されたか否かを把握することができる。なお、管理装置C1は、失効通知に基づいてタッチパネルDPに公開鍵電子証明書CertC1が失効していることを表示した後に、例えばユーザ操作を受けてユーザ操作に応じて電子証明書状態応答を機器D1へ送信するものであってもよい。管理装置C1が機器D1へ送信する電子証明書状態応答は、管理装置C1が認証局サーバ3から新たな公開鍵電子証明書CertC2を取得していれば更新済を示し、取得していなければ未更新を示すものとなる。
ステップS12においては、機器D1は、管理装置C1の公開鍵電子証明書が更新されたことを示す更新通知としての、管理装置C1の事前共有鍵PSK(C1−D1)で暗号化された新たな公開鍵電子証明書CertC2を、受信する。それにより、機器D1は、機器D1の事前共有鍵PSK(C1−D1)で暗号化された新たな公開鍵電子証明書CertC2を復号する。暗号化された新たな公開鍵電子証明書CertC2が事前共有鍵PSK(C1−D1)によって復号された場合には、機器D1は、以前の公開鍵電子証明書CertC1を新たな公開鍵電子証明書CertC2に更新する。このとき、機器D1は、新たな公開鍵電子証明書CertC2と自身の秘密鍵PriD1とを用いて、事前共有鍵PSK(C2−D1)を生成する。つまり、機器D1は、事前共有鍵PSK(C1−D1)に基づく以前に形成された信用を利用することによって、管理装置C1について認証及び登録(新たな事前共有鍵の生成等)をしている。
ステップS13において、機器D1は、更新通知応答を管理装置C1へ送信する。これにより、管理装置C1は、新たな公開鍵電子証明書CertC2が機器D1に受け入れられたことを知ることができる。なお、更新通知応答は、例えば、機器D1の公開鍵電子証明書CertD1を、事前共有鍵PSK(C1−D1)で暗号化した情報等である。このため、管理装置C1は、新たな公開鍵電子証明書CertC2に対応する秘密鍵PriC2と機器D1の公開鍵電子証明書CertD1とを用いて事前共有鍵PSK(C2−D1)を生成し、その事前共有鍵PSK(C2−D1)を用いて、機器D1と暗号通信を行うことができる。
なお、ステップS11において、管理装置C1から受信した電子証明書状態応答が、管理装置C1の公開鍵電子証明書が未更新であることを示す場合、機器D1は、失効の猶予期間の終期を特定可能な情報を管理装置C1へ送信する。つまり、機器D1は、管理装置C1の公開鍵電子証明書が更新されたことを特定可能な電子証明書状態応答(更新済を示す電子証明書状態応答)を受信する(ステップS12)まで、機器D1へ猶予期間の終期を繰り返し知らせ続ける。
次に、図9を用いて、実施の形態の機器D1において実行される失効確認及び失効通知処理を説明する。失効確認及び失効通知処理は、図8のステップS5,S6,S8〜S13と関連して機器D1で行われる処理である。
失効通知処理においては、まず、ステップSD1において、機器D1は、前回の失効の確認がなされた日時を取得する。次に、ステップSD2において、機器D1の失効判定部D16は、タイマが計時する現在の日時を取得する。その後、失効判定部D16は、ステップSD3において、前回の失効の確認がなされた日時と現在の日時とに基づいて、前回の失効の確認がなされてから所定日(x日)が経過したか否かを判定する。
ステップSD3において、失効判定部D16は、前回の失効の確認がなされてから所定日(x日)が経過していなければ、ステップSD1〜ステップSD3の処理を繰り返す。
一方、ステップSD3において、失効判定部D16は、前回の失効の確認がなされてから所定日(x日)が経過していれば、ステップSD4において、機器D1から認証局サーバ3へ失効確認要求を送信する。それにより、ステップSD5において、機器D1は、認証局サーバ3から失効確認結果を受信する。
その後、ステップSD6において、機器D1の失効判定部D16は、失効確認結果に基づいて、管理装置C1の公開鍵電子証明書CertC1が失効したか否かを判定する。ステップSD6において、失効判定部D16は、管理装置C1の公開鍵電子証明書CertC1が失効していなければ、ステップSD7以後の処理を行わない。繰り返し失効確認及び失効通知処理が実行されるので、管理装置C1の公開鍵電子証明書CertC1が失効していない限り、ステップSD1〜ステップSD6の処理が繰り返されることになる。ステップSD6において、管理装置C1の公開鍵電子証明書CertC1が失効していれば、ステップSD7において、機器D1の失効通知部D17は、管理装置C1へ失効通知を送信する。ステップSD8において、機器D1の失効通知部D17は、管理装置C1から電子証明書状態応答を受信する。
ステップSD9において、機器D1の失効通知部D17は、管理装置C1の公開鍵電子証明書CertC1の更新がなされているか否かを判定する。ステップSD9において、管理装置C1の公開鍵電子証明書CertC1の更新がなされていないと判定される場合がある。この場合、ステップSD12において、機器D1の失効通知部D17は、機器D1の状態を更新通知の受信待ち状態に設定し、管理装置C1に公開鍵電子証明書CertC1の更新を待っていることを示す情報を送信する。また、ステップSD12において、機器D1の失効通知部D17は、猶予期間の終期を特定可能な情報を管理装置C1へ送信する。それにより、管理装置C1の公開鍵電子証明書が更新されたことを特定可能な電子証明書の状態応答を受信するまで、機器D1は、管理装置C1へ猶予期間の終期を知らせ続ける。つまり、繰り返し失効確認及び失効通知処理が実行されるので、管理装置C1の公開鍵電子証明書CertC1の更新がなされていないと、機器D1において、ステップSD1〜ステップSD9の処理が繰り返されることになる。
機器D1の失効通知部D17は、ステップSD9で、管理装置C1の公開鍵電子証明書CertC1の更新がなされていると判定した場合、管理装置C1から送信されてきた公開鍵電子証明書の更新通知を受信する(ステップSD10)。その後、ステップSD11において、事前共有鍵PSK(C1−D1)を用いて更新通知を復号する。
次に、ステップSD13において、暗号処理部D15により、機器D1が既に証明書記憶部D12に記憶している事前共有鍵PSK(C1−D1)を用いて公開鍵電子証明書の更新通知(暗号化された新たな公開鍵電子証明書)が正しく復号されたか否かを判定する。なお、この判定に関連して、情報判定部D14は、猶予期間内においては公開鍵電子証明書CertC1が失効していないとみなした状態で、事前共有鍵PSK(C1−D1)を用いて受信情報が相手方通信装置から送信されてきた情報であるか否かを判定する。そして、受信情報が管理装置C1から送信されてきた情報であると情報判定部D14が判定した場合に、暗号処理部D15は、管理装置C1と事前共有鍵PSK(C1−D1)を用いた暗号通信(例えば復号等)を行い得る。
ステップSD13において、事前共有鍵PSK(C1−D1)を用いて更新通知が正しく復号できない場合がある。この場合、暗号処理部D15は、管理装置C1へ機器エラーを特定可能な情報(例えば機器D1でエラーが発生した旨を示す情報)を送信し(ステップSD17)、ステップSD14〜ステップSD16の処理を行わない。管理装置C1は、機器エラーを受信すると、タッチパネルDPにエラーを表示する。それにより、管理装置C1のタッチパネルDPにより、ユーザに更新通知が正しく復号されなかったことを知らせることができる。
一方、ステップSD13において、暗号処理部D15は、事前共有鍵PSK(C1−D1)を用いて公開鍵電子証明書の更新通知が正しく復号できる場合がある。この場合、復号により管理装置C1の新たな公開鍵電子証明書CertC2が取得される。そのため、ステップSD14において、機器D1は、復号された新たな公開鍵電子証明書CertC2を証明書記憶部D12に記憶させる。
次に、ステップSD15において、機器D1は、管理装置C1から送信されてきた新たな公開鍵電子証明書CertC2と機器D1自身の秘密鍵PriD1とを用いて、新たな事前共有鍵PSK(C2−D1)を生成することで、管理装置C1を認証及び登録する。次に、ステップSD16において、機器D1は、更新通知応答を管理装置C1に送信して、失効確認及び失効通知処理を終える。この後においては、機器D1は、事前共有鍵PSK(C2−D1)を用いて、管理装置C1へ送信したい情報を暗号化し、暗号化された情報を管理装置C1へ送信することになる。
なお、図5及び図6に例示するように、管理装置C1も機器D1と同様の機能構成を有し得るため、例えば、上述した機器D1における失効確認及び失効通知処理と同様のことを、管理装置C1が行うようにしてもよい。
(実施の形態2)
実施の形態2の通信システムを図10〜図14を用いて説明する。
本実施の形態の通信システムは、実施の形態1の通信システムと概ね同様であるため、以下、本実施の形態の通信システムと実施の形態1の通信システムとの相違点を主に説明する。
図10を用いて、本実施の形態の管理装置C1の機能ブロックを説明する。図10に示されるように、管理装置C1は、実施の形態1の管理装置C1の失効判定部C16及び失効通知部C17に加えて、失効予告判定部C116及び失効時期予告部C117を備えている。
管理装置C1の証明書記憶部C12は、認証局サーバ3によって発行された機器D1の公開鍵電子証明書CertD1を記憶する。本実施の形態においても、実施の形態1と同様に、管理装置C1の暗号処理部C15は、証明書記憶部C12に記憶した機器D1の公開鍵電子証明書CertD1が失効している場合には、事前共有鍵PSK(C1−D1)を用いた機器D1からの通信要求を拒絶する。
失効予告判定部C116は、タイマ等の計時機構、プログラムを実行するプロセッサ等で実現される。失効予告判定部C116は、機器D1の公開鍵電子証明書CertD1の有効期限が近付いたときに失効予告通知を機器D1に送信するために、その送信の時期であるか否かを判定する機能を有する。
失効時期予告部C117は、プログラムを実行するプロセッサ等で実現され、失効予告判定部C116により失効予告通知の送信の時期が到来したと判定された場合に、通信部C10を介して、機器D1に失効予告通知を送信する機能を有する。
図11を用いて、本実施の形態の機器D1の機能ブロックを説明する。図11に示されるように、機器D1は、実施の形態1の機器D1の失効判定部D16及び失効通知部D17に加えて、失効予告判定部D116及び失効時期予告部D117を備えている。
失効判定部D16は、証明書記憶部D12に記憶されている公開鍵電子証明書CertC1が失効しているか否かを判定する。失効判定部D16は、証明書記憶部D12に記憶されている公開鍵電子証明書CertC1の有効期限が経過しているか否か等を判定する。失効判定部D16が、公開鍵電子証明書CertC1の有効期限が経過していると判定した場合には、失効通知部D17は、失効通知として、例えば、公開鍵電子証明書CertC1の有効期限が経過してしまっていることを特定可能な有効期限切れ情報を、管理装置C1へ送信する。これによれば、管理装置C1の公開鍵電子証明書CertC1の有効期限が切れていることを管理装置C1に知らせることができる。
機器D1の証明書記憶部D12は、認証局サーバ3によって発行された管理装置C1の公開鍵電子証明書CertC1を記憶する。本実施の形態においても、実施の形態1と同様に、機器D1の暗号処理部D15は、管理装置C1の公開鍵電子証明書CertC1が失効している場合には、事前共有鍵PSK(C1−D1)を用いた管理装置C1からの通信要求を拒絶する。
失効予告判定部D116は、タイマ等の計時機構、プログラムを実行するプロセッサ等で実現される。失効予告判定部D116は、管理装置C1の公開鍵電子証明書CertC1の有効期限が近付いたときに失効予告通知を管理装置C1に送信するために、その送信の時期であるか否かを判定する機能を有する。
失効時期予告部D117は、プログラムを実行するプロセッサ等で実現され、失効予告判定部D116により失効予告通知の送信の時期が到来したと判定された場合に、通信部D10を介して、管理装置C1に失効予告通知を送信する機能を有する。
図12に示されるように、本実施の形態においては、機器D1は、管理装置C1の公開鍵電子証明書が失効する日時の所定時間(X日)前から失効する日時まで、管理装置C1へ、失効時期を特定可能な情報を含む失効予告通知を繰り返し送信する。失効予告判定部D116は、公開鍵電子証明書CertC1の有効期限(有効期間の終期)と機器D1内のタイマの計時時刻とを比較することによって公開鍵電子証明書CertC1が失効する時刻の所定時間前(X日)を経過しているか否かを判定する。なお、機器D1は、実施の形態1と同様に、管理装置C1の公開鍵電子証明書が失効する日時以降において管理装置C1に失効通知を送信し、その後、猶予期間が経過すると、暗号通信の拒絶を行う。
次に、図13を用いて、本実施の形態の通信システムにおける管理装置C1及び機器D1の間での通信関係を説明する。
図13に示されるように、本実施の形態の機器D1において実行されるステップS1〜ステップS4までの処理は、図8に示される実施の形態1のステップS1〜ステップS4までの処理と同一である。
なお、本実施の形態においても実施の形態1と同様に、機器D1は定期的に、認証局サーバ3に対して、管理装置C1の公開鍵電子証明書CertC1が失効しているか否かの確認(失効確認要求)を行っているが、図13では失効確認要求を省略している。
その後、ステップS4A〜ステップS4Cにおいて、機器D1の失効時期予告部D117は、管理装置C1の公開鍵電子証明書CertC1が失効する日時のX日前の日時から失効する日時まで、管理装置C1へ失効予告通知を繰り返して送信する。失効予告通知は、失効時期を特定可能な情報を含んでいる。したがって、管理装置C1は、失効予告通知を受信すると、公開鍵電子証明書を更新する必要があることを知る。
また、管理装置C1は、失効予告通知を受信した場合に、タッチパネルDPに失効時期を特定可能な情報を表示する。それにより、管理装置C1のユーザは、管理装置C1の公開鍵電子証明書CertC1の失効時期が近付いていることに気付くことができる。
一方、機器D1は、管理装置C1から新たな公開鍵電子証明書CertC2を取得した旨の通知を受信すると、失効予告通知を送信しない。
ステップS4Aでの失効予告通知を行うために、機器D1の失効予告判定部D116は、現時点が公開鍵電子証明書CertC1の失効予告通知を送信すべき時期であるか否かを判定する。失効予告判定部D116は、現時点が公開鍵電子証明書CertC1の有効期限(有効期間の終期)のX日前の日時を経過していれば、公開鍵電子証明書CertC1の失効予告通知を送信すべき時期であると判定する。この場合に、失効時期予告部D117は、公開鍵電子証明書CertC1が失効する時期を特定可能な情報を、管理装置C1が公開鍵電子証明書CertC1を更新しない限り(つまり管理装置C1から更新通知等の更新済を示す情報を受信しない限り)、失効時期まで繰り返して管理装置C1へ送信する。
したがって、管理装置C1は、自身の公開鍵電子証明書CertC1が失効する時期を、自ら管理していなくても、失効予告通知により失効の前に知ることができる。それにより、管理装置C1の公開鍵電子証明書が失効してしまうことに起因して、管理装置C1と機器D1との間での通信ができなくなってしまうことが抑制される。
また、ステップS4Dにおいて、公開鍵電子証明書CertC1が更新されていなければ、ステップS4Eにおいて、管理装置C1は、機器D1へ未更新であることを特定可能な情報を送信する。それにより、機器D1は、管理装置C1から公開鍵電子証明書CertC1が更新されていないことを特定可能な情報を受信する。この場合に、ステップS4Fにおいて、機器D1の失効時期予告部D117は、失効時期を特定可能な情報を管理装置C1へ再送信する。したがって、機器D1は、失効予告の時期から公開鍵電子証明書の失効の時期までの間、継続して管理装置C1に失効時期を知らせることができる。
ステップS4Gにおいて、管理装置C1の公開鍵電子証明書が更新される。それにより、ステップS4Hにおいて、管理装置C1は、機器D1へ更新済であることを特定可能な情報を送信する。その結果、機器D1は、管理装置C1から公開鍵電子証明書が更新されたことを特定可能な情報(更新通知)を受信する。本実施の形態においては実施の形態1と同様に、機器D1が受信した更新通知に新たな公開鍵電子証明書CertC2が含まれている。そのため、機器D1は、ステップS4Iにおいて、認証及び登録を行う(即ち、既存の公開鍵電子証明書CertC1を新たな公開鍵電子証明書CertC2に置き換え、証明書記憶部D12に記憶させる)。
この場合に、機器D1の失効予告判定部D116は、公開鍵電子証明書CertC1の失効予告通知を送信すべき時期が終了したと判定し、失効時期予告部D117は、公開鍵電子証明書CertC1に係る失効予告通知の送信を終える。
次に、図14を用いて、実施の形態2の機器D1において実行される失効予告通知処理を説明する。失効予告通知処理は、図13のステップS4A〜S4Iと関連して機器D1で行われる処理である。
失効予告通知処理においては、まず、ステップSE1において、機器D1の失効予告判定部D116は、公開鍵電子証明書CertC1の有効期限(有効期間の終期)の日時を取得する。次に、ステップSE2において、機器D1の失効予告判定部D116は、タイマが計時する現在の日時を取得する。その後、ステップSE3において、失効予告判定部D116は、有効期限の日時と現在の日時とに基づいて、現時点が失効予告通知を管理装置C1へ送信すべき時期か否かを判定する。つまり、失効予告判定部D116は、有効期限のX日前を経過しているか否かを判定する。
ステップSE3において、現時点が失効予告通知を管理装置C1へ送信すべき時期でなければ、ステップSE1〜ステップSE3の処理が繰り返される。一方、ステップSE3において、失効予告判定部D116が、現時点が失効予告通知を管理装置C1へ送信すべき時期であると判定すれば、ステップSE4において、機器D1の失効時期予告部D117は、失効予告通知を管理装置C1へ送信する。失効予告通知は、失効時期を特定可能な情報を含んでいる。そのため、管理装置C1は、自身の公開鍵電子証明書CertC1の失効時期を、自ら管理していなくても、失効予告通知を受信することで実際の失効よりも前に把握することができる。
その後、ステップSE5において、機器D1の失効判定部D16は、管理装置C1が既存の公開鍵電子証明書CertC1に代えて、新たな公開鍵電子証明書CertC2を取得したか否かを判定する。これは、管理装置C1から送信された、新たな公開鍵電子証明書CertC2を含む情報(更新通知)を事前共有鍵PSK(C1−D1)で復号できたか否かに基づいて判定される。ステップSE5において、管理装置C1が公開鍵電子証明書を更新していなければ、ステップSE4及びステップSE5の処理が繰り返される。ステップSE5において、管理装置C1が公開鍵電子証明書を更新していれば、機器D1の証明書記憶部D12は、ステップSE6において、新たな公開鍵電子証明書CertC2を記憶する。その後、ステップSE7において、機器D1の認証処理部D13は、管理装置C1を認証及び登録する。この登録として、機器D1は、管理装置C1から送信されてきた新たな公開鍵電子証明書CertC2と機器D1自身の秘密鍵PriD1とを用いて、新たな事前共有鍵PSK(C2−D1)を生成する。
図14の失効予告通知処理が実行されている間に、すなわち、公開鍵電子証明書CertC1の有効期限までに、管理装置C1から新たな公開鍵電子証明書が送信されてこない場合がある。この場合、機器D1は、実施の形態1で示した図9の失効確認及び失効通知処理を行う。
なお、図10及び図11に例示するように、本実施の形態における管理装置C1も機器D1と同様の機能構成を有し得るため、例えば、上述した機器D1における失効予告通知処理と同様のことを、管理装置C1が行うようにしてもよい。
(他の実施の形態等)
以上、実施の形態に係る通信装置、相手方通信装置等について説明したが、上述した実施の形態は一例にすぎず、各種の変更、付加、省略等が可能であることは言うまでもない。
また、上述の管理装置C1、機器D1等の動作手順(図8、図9、図13及び図14に示した手順等)の実行順序は、必ずしも、上述した通りの順序に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えたりその一部を省略したりすることができる。また、上述の動作手順の全部又は一部は、管理装置C1、機器D1等のハードウェア(電子回路等)だけにより実現されても、ソフトウェアを用いて実現されてもよい。なお、ソフトウェアによる処理は、管理装置C1、機器D1のそれぞれに含まれるプロセッサがメモリに記憶された制御プログラム(例えば上述の通信プログラムCC、通信プログラムDD等)を実行することにより実現されるものである。また、その制御プログラムを記録媒体に記録して頒布や流通させてもよい。例えば、頒布された制御プログラムを装置にインストールして、装置のプロセッサに実行させることで、その装置に、上述した動作手順の全部又は一部を行わせることが可能となる。
また、上述した各実施の形態で示した構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
なお、本発明の包括的又は具体的な各種態様には、装置、システム、方法、集積回路、コンピュータプログラム、コンピュータで読み取り可能な記録媒体等の1つ又は複数の組み合わせが含まれる。
以下、実施の形態の通信装置としての機器D1、及び、相手方通信装置としての管理装置C1の特徴的構成の例、及び、それにより得られる効果を説明する。
(1)実施の形態の通信装置(機器D1)は、相手方通信装置(管理装置C1)の公開鍵電子証明書CertC1と自身の秘密鍵PriD1とを用いて生成された事前共有鍵PSK(C1−D1)を利用して相手方通信装置と暗号通信する通信装置である。通信装置は、暗号処理部D15、証明書記憶部D12及び失効通知部D17を備えている。
暗号処理部D15は、相手方通信装置の公開鍵電子証明書CertC1が失効している場合には、事前共有鍵PSK(C1−D1)を用いた相手方通信装置からの暗号通信要求を拒絶する(図7)。証明書記憶部D12は、認証局サーバ3によって発行された相手方通信装置の公開鍵電子証明書CertC1を記憶する(ステップS1)。失効判定部D16は、相手方通信装置の公開鍵電子証明書CertC1が失効しているか否かを判定する(ステップS5,S6,S8,S9,SD6)。失効通知部D17は、失効判定部D16によって公開鍵電子証明書CertC1が失効していると判定された場合に、公開鍵電子証明書CertC1が失効していることを特定可能な失効通知を相手方通信装置へ送信する(ステップS10,SD7)。
上記の構成によれば、当該通信装置の公開鍵電子証明書CertC1が失効していることを相手方通信装置に知らせることができる。したがって、相手方通信装置に公開鍵電子証明書の更新を促すことができる。また、相手方通信装置が自身の公開鍵電子証明書が失効していることをユーザに報知する機能を有していれば、相手方通信装置のユーザに公開鍵電子証明書CertC1を更新する必要があることを気付かせることができる。
(2)証明書記憶部D12は、事前共有鍵PSK(C1−D1)を記憶していてもよい。相手方通信装置の公開鍵電子証明書CertC1が有効である場合がある。この場合に、情報判定部D14は、事前共有鍵PSK(C1−D1)を用いて通信装置が外部から送信されてきた受信情報を復号できるか否かによって、受信情報が相手方通信装置から送信されてきた情報であるか否かを判定する(SD13)。情報判定部D14においては、公開鍵電子証明書CertC1の失効が猶予される猶予期間が予め記憶されている(図7)。情報判定部D14は、猶予期間においては、相手方通信装置の公開鍵電子証明書CertC1が失効していても、相手方通信装置の公開鍵電子証明書CertC1が有効であるものとみなす(図7)。それにより、情報判定部D14は、事前共有鍵PSK(C1−D1)を用いて受信情報が相手方通信装置から送信されてきた情報であるか否かを判定する。暗号処理部D15は、情報判定部D14によって受信情報が相手方通信装置から送信されてきた情報であると判定された場合に、相手方通信装置と事前共有鍵PSK(C1−D1)を用いて暗号通信を行う(例えばステップSD11〜SD16等)。
上記の構成によれば、公開鍵電子証明書CertC1が失効した直後に、当該通信機器と相手方通信機器との間での暗号通信ができなくなることが防止される。その結果、ユーザが不便に感じることが抑制される。
(3)失効通知部D17は、失効通知を相手方通信装置へ送信した後、相手方通信装置の公開鍵電子証明書CertC1が更新されていないことを特定可能な情報を相手方通信装置から受信する場合がある(ステップSD8)。この場合に、失効通知部D17は、猶予期間の終期を特定可能な情報を相手方通信装置へ送信し得る(SD12)。これによれば、相手方通信装置へ現在の猶予期間を通知することができる。
(4)実施の形態の相手方通信装置は、上記(1)〜(3)のいずれかに記載の通信装置(機器D1)と通信する相手方通信装置(管理装置C1)である。
公開鍵電子証明書CertC1が更新される場合がある(ステップS11)。この場合に、相手方通信装置の暗号処理部C15は、失効通知を送信してきた上記(1)〜(3)のいずれかに記載の通信装置へ事前共有鍵PSK(C1−D1)で暗号化された新たな公開鍵電子証明書CertC2を送信する(ステップS12)。
上記の構成によれば、通信装置と相手方通信装置との間で、更新済の公開鍵電子証明書CertC2を用いて生成された事前共有鍵PSK(C2−D1)による暗号通信を行うことができる。
(5)実施の形態の相手方通信装置は、上記(1)〜(3)のいずれかに記載の通信装置(機器D1)と通信する相手方通信装置(管理装置C1)である。
公開鍵電子証明書CertC1が未更新である場合がある。この場合に、相手方通信装置は、失効通知を送信してきた上記(1)〜(3)のいずれかに記載の通信装置へ、相手方通信装置の公開鍵電子証明書CertC1が未更新であることを特定可能な情報を送信する(ステップS11)。
上記の構成によれば、(1)〜(3)に記載の通信装置は、相手方通信装置の公開鍵電子証明書CertC1が未更新の状態であることを自動的に把握することができる。
(6)実施の形態の通信装置(機器D1)は、相手方通信装置(管理装置C1)の公開鍵電子証明書CertC1と自身の秘密鍵PriD1とを用いて生成された事前共有鍵PSK(C1−D1)を利用して相手方通信装置と暗号通信する通信装置である。
通信装置は、暗号処理部D15、証明書記憶部D12、失効予告判定部D116及び失効時期予告部D117を備えている。
暗号処理部D15は、相手方通信装置の公開鍵電子証明書CertC1が失効している場合には、事前共有鍵PSK(C1−D1)を用いた相手方通信装置からの暗号通信要求を拒絶する(図12)。証明書記憶部D12は、認証局サーバ3によって発行された相手方通信装置の公開鍵電子証明書CertC1を記憶する(ステップS1)。失効予告判定部D116は、現時点が公開鍵電子証明書CertC1の失効予告通知を相手方通信装置へ送信する時期であるか否かを判定する(ステップSE3)。失効予告判定部D116によって現時点が公開鍵電子証明書CertC1の失効予告通知を相手方通信装置へ送信する時期であると判定される場合がある。この場合に、失効時期予告部D117は、公開鍵電子証明書CertC1が失効する時期を特定可能な情報を失効予告通知として相手方通信装置へ送信する(ステップSE4)。
上記の構成によれば、相手方通信装置(管理装置C1)の公開鍵電子証明書CertC1が失効する時期を事前に相手方通信装置に知らせることにより、相手方通信装置の公開鍵電子証明書CertC1が失効してしまうことを未然に防ぐことができる。
(7)失効予告判定部D116は、失効する時期を特定可能な情報を相手方通信装置へ送信した後、相手方通信装置の公開鍵電子証明書CertC1が更新されていないこと(未更新であること)を特定可能な情報を相手方通信装置から受信する場合がある(ステップS4E)。この場合に、失効予告判定部D116は、失効する時期を特定可能な情報を相手方通信装置へ再送信し得る(ステップS4F)。
上記の構成によれば、失効予告の時期から公開鍵電子証明書の失効の時期までの間、継続して、相手方通信装置に失効時期を知らせ続けることができる。
(8)実施の形態の相手方通信装置は、上記(6)又は(7)に記載の通信装置(機器D1)と通信する相手方通信装置(管理装置C1)である。
相手方通信装置の公開鍵電子証明書CertC1が更新された場合に、相手方通信装置は、失効予告通知を送信してきた上記(6)又は(7)に記載の通信装置へ事前共有鍵PSK(C1−D1)で暗号化された新たな公開鍵電子証明書CertC2を送信する(ステップS4H)。
上記の構成によれば、通信装置と相手方通信装置との間で、更新済の公開鍵電子証明書CertC2を用いて生成された事前共有鍵PSK(C2−D1)による暗号通信を行うことができる。
(9)実施の形態の相手方通信装置は、上記(6)又は(7)に記載の通信装置(機器D1)と通信する相手方通信装置(管理装置C1)である。
相手方通信装置の公開鍵電子証明書CertC1が未更新である場合がある。この場合に、相手方通信装置は、失効予告通知を送信してきた上記(6)又は(7)に記載の通信装置へ公開鍵電子証明書CertC1が未更新であることを特定可能な情報を送信する(ステップS4E)。
上記の構成によれば、前述の通信装置は、相手方通信装置の公開鍵電子証明書CertC1が未更新の状態であることを自動的に把握することができる。
(10)実施の形態の通信プログラムは、通信装置に設けられたコンピュータを、上記(1)〜(9)の通信装置又は相手方通信装置の各部として機能させるものである。具体的には、通信プログラムは、上記の管理装置C1、及び、機器D1に設けられたコンピュータを、前述の各部として、機能させるためのものである。
(11)本実施の形態の通信プログラムは、通信装置(コンピュータ)で読み取り可能な記録媒体に記録されており、通信装置の外部の独立した記録媒体に記録され得るものである。なお、その記録媒体等は、本実施の形態の通信プログラムが記録されたプログラムプロダクトの一例である。
通信プログラムCC又はDDは、クラウドコンピューティングのサーバ上において動作してもよい。また、通信プログラムCC又はDDは、インターネット上のホームページから通信装置としての管理装置又は機器の一例の携帯端末へダウンロードされてもよい。