JP4611680B2 - 通信装置、通信システム、通信方法及びプログラム - Google Patents

通信装置、通信システム、通信方法及びプログラム Download PDF

Info

Publication number
JP4611680B2
JP4611680B2 JP2004217723A JP2004217723A JP4611680B2 JP 4611680 B2 JP4611680 B2 JP 4611680B2 JP 2004217723 A JP2004217723 A JP 2004217723A JP 2004217723 A JP2004217723 A JP 2004217723A JP 4611680 B2 JP4611680 B2 JP 4611680B2
Authority
JP
Japan
Prior art keywords
certificate
authentication
communication
updating
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004217723A
Other languages
English (en)
Other versions
JP2005130445A (ja
Inventor
達也 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004217723A priority Critical patent/JP4611680B2/ja
Publication of JP2005130445A publication Critical patent/JP2005130445A/ja
Application granted granted Critical
Publication of JP4611680B2 publication Critical patent/JP4611680B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

この発明は、ネットワークを介して相手先装置と通信を行う通信装置、上位装置と下位装置とを備え、その上位装置と下位装置とがネットワークを介して通信を行う通信システム、ネットワークを介して相手先装置と通信を行う通信装置による通信方法、およびネットワークを介して相手先装置と通信を行う通信装置を制御するコンピュータに実行させるプログラムに関する。
従来から、それぞれ通信機能を備えた複数の通信装置をネットワークを介して通信可能に接続し、様々なシステムを構築することが行われている。その一例としては、クライアント装置として機能するPC(パーソナルコンピュータ)等のコンピュータから商品の注文を送信し、これとインターネットを介して通信可能なサーバ装置においてその注文を受け付けるといった、いわゆる電子商取引システムが挙げられる。また、種々の電子装置にクライアント装置あるいはサーバ装置の機能を持たせてネットワークを介して接続し、相互間の通信によって電子装置の遠隔管理を行うシステムも提案されている。
このようなシステムを構築する上では、通信を行う際に、通信相手が適切か、あるいは送信されてくる情報が改竄されていないかといった確認が重要である。また、特にインターネットにおいては、情報が通信相手に到達するまでに無関係なコンピュータを経由する場合が多いことから、機密情報を送信する場合、その内容を盗み見られないようにする必要もある。そして、このような要求に応える通信プロトコルとして、例えばSSL(Secure Socket Layer)と呼ばれるプロトコルが開発されており、広く用いられている。このプロトコルを用いて通信を行うことにより、公開鍵暗号方式と共通鍵暗号方式とを組み合わせ、通信相手の認証を行うと共に、情報の暗号化により改竄及び盗聴の防止を図ることができる。また、通信相手の側でも、通信を要求してきた通信元の装置を認証することができる。
このようなSSLや公開鍵暗号を用いた認証に関連する技術としては、例えば特許文献1及び特許文献2に記載のものが挙げられる。
特開2002−353959号公報 特開2002−251492号公報
ここで、このSSLに従った相互認証を行う場合の通信手順について、認証処理の部分に焦点を当てて説明する。図22は、通信装置Aと通信装置BとがSSLに従った相互認証を行う際に各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
図22に示すように、SSLに従った相互認証を行う際には、まず双方の通信装置に、ルート鍵証明書及び、私有鍵と公開鍵証明書を記憶させておく必要がある。この私有鍵は、認証局(CA:certificate authority)が各装置に対して発行した私有鍵であり、公開鍵証明書は、その私有鍵と対応する公開鍵にCAがデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、CAがデジタル署名に用いたルート私有鍵と対応するルート鍵に、デジタル署名を付してデジタル証明書としたものである。
図23にこれらの関係を示す。
図23(a)に示すように、公開鍵Aは、私有鍵Aを用いて暗号化された文書を復号化するための鍵本体と、その公開鍵の発行者(CA)や有効期間等の情報を含む書誌情報とによって構成される。そして、CAは、鍵本体や書誌情報が改竄されていないことを示すため、公開鍵Aをハッシュ処理して得たハッシュ値を、ルート私有鍵を用いて暗号化し、デジタル署名としてクライアント公開鍵に付す。またこの際に、デジタル署名に用いるルート私有鍵の識別情報を署名鍵情報として公開鍵Aの書誌情報に加える。そして、このデジタル署名を付した公開鍵証明書が、公開鍵証明書Aである。
この公開鍵証明書Aを認証処理に用いる場合には、ここに含まれるデジタル署名を、ルート私有鍵と対応する公開鍵であるルート鍵の鍵本体を用いて復号化する。この復号化が正常に行われれば、デジタル署名が確かにCAによって付されたことがわかる。また、公開鍵Aの部分をハッシュ処理して得たハッシュ値と、復号して得たハッシュ値とが一致すれば、鍵自体も損傷や改竄を受けていないことがわかる。さらに、受信したデータをこの公開鍵Aを用いて正常に復号化できれば、そのデータは、私有鍵Aの持ち主から送信されたものであることがわかる。
ここで、認証を行うためには、ルート鍵を予め記憶しておく必要があるが、このルート鍵も、図23(b)に示すように、CAがデジタル署名を付したルート鍵証明書として記憶しておく。このルート鍵証明書は、自身に含まれる公開鍵でデジタル署名を復号化可能な、自己署名形式である。そして、ルート鍵を使用する際に、そのルート鍵証明書に含まれる鍵本体を用いてデジタル署名を復号化し、ルート鍵をハッシュ処理して得たハッシュ値と比較する。これが一致すれば、ルート鍵が破損等していないことを確認できるのである。
図22のフローチャートの説明に入る。なお、この図において、2本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。また、各ステップの処理が正常に完了しなかった場合には、その時点で認証失敗の応答を返して処理を中断するものとする。相手から認証失敗の応答を受けた場合、処理がタイムアウトした場合等も同様である。
ここでは、通信装置Aが通信装置Bに通信を要求するものとするが、この要求を行う場合、通信装置AのCPUは、所要の制御プログラムを実行することにより、図22の左側に示すフローチャートの処理を開始する。そして、ステップS11で通信装置Bに対して接続要求を送信する。
一方通信装置BのCPUは、この接続要求を受信すると、所要の制御プログラムを実行することにより、図22の右側に示すフローチャートの処理を開始する。そして、ステップS21で第1の乱数を生成し、これを私有鍵Bを用いて暗号化する。そして、ステップS22でその暗号化した第1の乱数と公開鍵証明書Bとを通信装置Aに送信する。
通信装置A側では、これを受信すると、ステップS12でルート鍵証明書を用いて公開鍵証明書Bの正当性を確認する。
そして確認ができると、ステップS13で、受信した公開鍵証明書Bに含まれる公開鍵Bを用いて第1の乱数を復号化する。ここで復号化が成功すれば、第1の乱数は確かに公開鍵証明書Bの発行対象から受信したものだと確認できる。
その後、ステップS14でこれとは別に第2の乱数及び共通鍵の種を生成する。共通鍵の種は、例えばそれまでの通信でやり取りしたデータに基づいて作成することができる。そして、ステップS15で第2の乱数を私有鍵Aを用いて暗号化し、共通鍵の種を公開鍵Bを用いて暗号化し、ステップS16でこれらを公開鍵証明書Aと共にサーバ装置に送信する。共通鍵の種の暗号化は、通信相手以外の装置に共通鍵の種を知られないようにするために行うものである。
また、次のステップS17では、ステップS14で生成した共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
通信装置B側では、通信装置AがステップS16で送信してくるデータを受信すると、ステップS23でルート鍵証明書を用いて公開鍵証明書Aの正当性を確認する。そして確認ができると、ステップS24で、受信した公開鍵証明書Aに含まれる公開鍵Aを用いて第2の乱数を復号化する。ここで復号化が成功すれば、第2の乱数は確かに公開鍵証明書Aの発行対象から受信したものだと確認できる。
その後、ステップS25で私有鍵Bを用いて共通鍵の種を復号化する。ここまでの処理で、通信装置A側と通信装置B側に共通鍵の種が共有されたことになる。そして、この共通鍵の種は、生成した通信装置Aと、私有鍵Bを持つ通信装置B以外の装置が知ることはない。ここまでの処理が成功すると、通信装置B側でもステップS26で復号化で得た共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
そして、通信装置A側のステップS17と通信装置B側のステップS26の処理が終了すると、相互に認証の成功と以後の通信に使用する暗号化方式とを確認し、生成した共通鍵を用いてその暗号化方式で以後の通信を行うものとして認証に関する処理を終了する。なお、この確認には、通信装置Bからの認証が成功した旨の応答も含むものとする。以上の処理によって互いに通信を確立し、以後はステップS17又はS26で生成した共通鍵を用い、共通鍵暗号方式でデータを暗号化して通信を行うことができる。
このような処理を行うことにより、通信装置Aと通信装置Bが互いに相手を認証した上で安全に共通鍵を共有することができ、通信を安全に行う経路を確立することができる。
ただし、上述した処理において、第2の乱数を公開鍵Aで暗号化し、公開鍵証明書Aを通信装置Bに送信することは必須ではない。この場合、通信装置B側のステップS23及びS24の処理は不要になり、処理は図24に示すようになる。このようにすると、通信装置Bが通信装置Aを認証することはできないが、通信装置Aが通信装置Bを認証するだけでよい場合にはこの処理で十分である。そしてこの場合には、通信装置Aに記憶させるのはルート鍵証明書のみでよく、私有鍵A及び公開鍵証明書Aは不要である。また、通信装置Bにはルート鍵証明書を記憶させる必要はない。
ところで、以上の認証処理においては、公開鍵で暗号化された内容は対応する私有鍵を持つ装置でしか復号できず、また、私有鍵で暗号化された内容は対応する公開鍵でしか復号できないことを利用して、通信相手が公開鍵証明書にその発行先として記載されている装置である(又はその装置の利用者が公開鍵証明書にその発行先として記載されている利用者である)と認証することになる。
また、CAのルート私有鍵の秘密保全性を前提にして、公開鍵証明書はCAが認証したものであり、CA(の提供者)が公開鍵証明書の記載内容の正確性を保証していることもわかる。しかし、通信相手が確かに公開鍵証明書に記載されている装置と同一であることは、公開鍵証明書を発行したCAの保証を信頼して判断する他ない。従って、CAの信頼性は、公開鍵暗号を用いた認証による通信の安全確保の際に重要なファクターとなる。
一方、このような公開鍵証明書を発行する第3者機関として、私有鍵の保有者の確認を行い、その私有鍵に対応した公開鍵に対してデジタル署名を行い、公開鍵証明書を発行する商用サービスが、例えばベリサイン社やボルチモア社によって提供されている。そして、公開鍵発行のためのシステムが私有鍵を含めて厳重に管理されている信頼性の高い第3者機関が発行する公開鍵証明書は、広く認証に利用されている。また、デジタル証明書を用いた認証を行う場合、信頼性の高い第3者機関が発行した公開鍵証明書を使用したいという要求もある。
さらに、このような第3者機関の発行する公開鍵証明書を利用する場合、主要な第3者機関によるデジタル署名の内容を確認するためのルート鍵は、インターネットエクスプローラ(登録商標)やネットスケープ(登録商標)のような一般的なウェブブラウザには予め埋め込まれているため、ウェブブラウザの操作者は、新たにルート鍵を入手して設定する必要がないという利点がある。
また、予めルート鍵を設定されていない装置であっても、信頼性の高い第3者機関のものであればユーザがルート鍵の設定に同意しやすいし、ルート鍵を入手して設定すれば、同じ第3者機関が発行した公開鍵証明書を持つ装置は、装置自体のベンダーに関わらず認証することができるという利点もある。従って、自社製の装置を他社製の装置に接続したい場合等には、第3者機関の発行する公開鍵証明書を利用することが効果的である。また、装置のユーザ側からも、このような公開鍵証明書を利用したいという要望がある。
ところで、このような第3者機関は、安全性を高めるため、発行する公開鍵証明書に有効期間を設定している。また、この期間は通常数年単位であり、1〜3年程度と短い場合が多い。そして、上記の認証処理において、この有効期間が過ぎた公開鍵証明書は、正当な公開鍵証明書とは認めないようにしている。従って、この有効期間が過ぎる前に新しいものに更新する必要がある。
しかし、更新の際に装置の電源が落ちてしまったり、エラーが発生したりして、更新が失敗して鍵や証明書が破損しまうことも考えられる。そして、このような危険は、証明書の有効期間が短く、更新を頻繁に行う程大きくなる。
公開鍵証明書が破損してしまうと、通信相手から認証を受けられなくなってしまうが、通信相手の側から見れば、このように認証が失敗した場合の対応が問題となる。すなわち、通信しようとした相手が通信相手として不適当な装置であって適切な鍵や証明書を記憶していないような場合にも認証はもちろん失敗するが、破損等により鍵や証明書が使用不能になったりした場合と区別し難いのである。
そして、後者の場合には、速やかに鍵や証明書の復旧等の対応を行い、認証が可能な状態に戻す必要がある。しかし、認証の失敗が、通信相手が不適当な装置であって適切な鍵や証明書を初めから記憶していないためなのか、鍵や証明書が破損等した結果なくなってしまったためなのかを区別できないため、後者の場合のみ自動的に復旧作業を行うといった対応は困難であった。
そこで、認証を受けられなくなった装置のユーザから問い合わせがあったり、長期間に亘って通信を行えていない装置があることを発見したりした場合に、その装置について鍵や証明書が破損等した可能性を考慮して対処するといった対応を採ることになる。従って、証明書の破損等による認証の異常を速やかに認識できず、通信相手として適切な装置を認証できない状態を、長期間に亘って放置してしまうことになるという問題があった。
この発明は、このような問題を解決し、通信の際に通信相手を証明書を用いて認証する通信装置あるいはこのような通信装置を用いて構成した通信システムにおいて、証明書を用いる認証に異常が生じた場合でも正常な認証が行える状態に容易に回復させることができるようにすることを目的とする。
上記の目的を達成するため、この発明の通信装置は、ネットワークを介して相手先装置と通信を行う通信装置において、上記相手先装置と通信を行う場合に、その相手先装置から受信した第1の証明書を用いてその相手先装置の認証を行う第1の認証手段と、上記第1の認証手段による認証が失敗した場合に、上記相手先装置から受信した、上記第1の証明書よりも長い有効期間が設定されている第2の証明書を用いてその相手先装置の認証を行う第2の認証手段と、上記第2の認証手段による認証が成功した場合に、上記第1の証明書の更新を要求する証明書更新要求及び上記第1の証明書を更新するための証明書を上記相手先装置へ送信する送信手段とを設けたものである。
ここで、上記の第1の証明書が、上記相手先装置の製品寿命よりも有効期間が短い証明書であり、上記第2の証明書が、上記相手先装置の製品寿命よりも有効期間が長い証明書であってもよい。
さらに、上記の通信装置において、上記第2の認証手段による認証が成功した場合に、所定の証明書管理装置に対して、上記相手先装置へ送信する、上記第1の証明書を更新するための証明書の発行を要求し、その証明書管理装置からその第1の証明書を更新するための証明書を取得する手段を設けるとよい。
また、この発明の別の通信装置は、ネットワークを介して相手先装置と通信を行う通信装置において、第1の証明書と該第1の証明書より有効期間が長い第2の証明書とを記憶する記憶手段と、上記相手先装置と通信を行う場合に、上記第1の証明書を上記相手先装置へ送信する第1の送信手段と、上記第1の送信手段が送信した上記第1の証明書を用いた上記相手先装置での認証が失敗した場合に、上記第2の証明書を上記相手先装置へ送信する第2の送信手段と、上記第2の送信手段が送信した上記第2の証明書を用いた上記相手先装置での認証が成功した場合に、上記相手先装置から上記第1の証明書の更新を要求する証明書更新要求及び上記第1の証明書を更新するための証明書を受信し、上記記憶手段に記憶された上記第1の証明書を上記受信した証明書に更新する更新手段とを設けたものである。
また、上記第1の証明書が、有効期限がある証明書であり、上記第2の証明書が、有効期限がない証明書であってもよい。
さらに、上記の通信装置において、上記第2の送信手段が送信した上記第2の証明書を用いた上記相手先装置での認証が成功した場合に、上記相手先装置からの要求のうち、上記証明書更新要求のみを許可するようにするとよい。
さらに、上記更新手段が受信する上記第1の証明書を更新するための証明書を、上記証明書更新要求と共に送信されてくるものとするとよい。
また、この発明の通信システムは、上位装置と下位装置とを備え、上記上位装置と上記下位装置とがネットワークを介して通信を行う通信システムにおいて、上記下位装置に、第1の証明書と該第1の証明書より有効期間が長い第2の証明書とを記憶する記憶手段と、上記上位装置と通信を行う場合に、上記第1の証明書を上記上位装置へ送信する第1の送信手段と、上記第1の送信手段が送信した上記第1の証明書を用いた上記上位装置での認証が失敗した場合に、上記第2の証明書を上記上位装置へ送信する第2の送信手段と、上記第2の送信手段が送信した上記第2の証明書を用いた上記上位装置での認証が成功した場合に、上記上位装置から上記第1の証明書の更新を要求する証明書更新要求及び上記第1の証明書を更新するための証明書を上記上位装置から受信し、上記記憶手段に記憶された上記第1の証明書を上記受信した証明書に更新する更新手段とを設け、上記上位装置に、上記下位装置と通信を行う場合に、その下位装置から受信した上記第1の証明書を用いてその下位装置の認証を行う第1の認証手段と、上記第1の認証手段による認証が失敗した場合に、上記下位装置から受信した上記第2の証明書を用いてその下位装置の認証を行う第2の認証手段と、上記第2の認証手段による認証が成功した場合に、上記第1の証明書の更新を要求する証明書更新要求及び上記第1の証明書を更新するための証明書を上記下位装置へ送信する送信手段とを設けたものである。
また、上記第1の証明書が、有効期限がある証明書であり、上記第2の証明書が、有効期限がない証明書であってもよい。
さらに、上記の通信システムにおいて、上記上位装置に、上記第2の認証手段による認証が成功した場合に、所定の証明書管理装置に対して、上記下位装置へ送信する、上記第1の証明書を更新するための証明書の発行を要求し、その証明書管理装置からその第1の証明書を更新するための証明書を取得する手段を設けるとよい。
さらに、上記下位装置が、上記第2の送信手段が送信した上記第2の証明書を用いた上記上位装置での認証が成功した場合に、上記上位装置からの要求のうち、上記証明書更新要求のみを許可するようにするとよい。
さらに、上記上位装置の送信手段が、上記証明書更新要求と共に上記第1の証明書を更新するための証明書を上記下位装置へ送信し、上記下位装置の上記更新手段が受信する上記第1の証明書を更新するための証明書を、上記証明書更新要求と共に送信されてくるものとするとよい。
また、この発明の通信方法は、ネットワークを介して相手先装置と通信を行う通信装置に、上記相手先装置と通信を行う場合に、その相手先装置から受信した第1の証明書を用いてその相手先装置の認証を行う第1の認証手順と、上記第1の認証手順による認証が失敗した場合に、上記相手先装置から受信した、上記第1の証明書よりも長い有効期間が設定されている第2の証明書を用いてその相手先装置の認証を行う第2の認証手順と、上記第2の認証手順による認証が成功した場合に、上記第1の証明書の更新を要求する証明書更新要求及び上記第1の証明書を更新するための証明書を上記相手先装置へ送信する送信手順とを実行させるものである。
また、この発明の別の通信方法は、ネットワークを介して相手先装置と通信を行う通信装置であって、第1の証明書と該第1の証明書より有効期間が長い第2の証明書とを記憶する記憶手段を有する通信装置に、上記相手先装置と通信を行う場合に、上記第1の証明書を上記相手先装置へ送信する第1の送信手順と、上記第1の送信手順で送信した上記第1の証明書を用いた上記相手先装置での認証が失敗した場合に、上記第2の証明書を上記相手先装置へ送信する第2の送信手順と、上記第2の送信手順で送信した上記第2の証明書を用いた上記相手先装置での認証が成功した場合に、上記相手先装置から上記第1の証明書の更新を要求する証明書更新要求及び上記第1の証明書を更新するための証明書を受信し、上記記憶手段に記憶された上記第1の証明書を上記受信した証明書に更新する更新手順とを実行させるものである。
また、この発明のプログラムは、ネットワークを介して相手先装置と通信を行う通信装置を制御するコンピュータを、上記相手先装置と通信を行う場合に、その相手先装置から受信した第1の証明書を用いてその相手先装置の認証を行う第1の認証手段と、上記第1の認証手段による認証が失敗した場合に、上記相手先装置から受信した、上記第1の証明書よりも長い有効期間が設定されている第2の証明書を用いてその相手先装置の認証を行う第2の認証手段と、上記第2の認証手段による認証が成功した場合に、上記第1の証明書の更新を要求する証明書更新要求及び上記第1の証明書を更新するための証明書を上記相手先装置へ送信する送信手段として機能させるためのプログラムである。
また、この発明の別のプログラムは、ネットワークを介して相手先装置と通信を行う通信装置であって、第1の証明書と該第1の証明書より有効期間が長い第2の証明書とを記憶する記憶手段を有する通信装置を制御するコンピュータを、上記相手先装置と通信を行う場合に、上記第1の証明書を上記相手先装置へ送信する第1の送信手段と、上記第1の送信手段が送信した上記第1の証明書を用いた上記相手先装置での認証が失敗した場合に、上記第2の証明書を上記相手先装置へ送信する第2の送信手段と、上記第2の送信手段が送信した上記第2の証明書を用いた上記相手先装置での認証が成功した場合に、上記相手先装置から上記第1の証明書の更新を要求する証明書更新要求及び上記第1の証明書を更新するための証明書を受信し、上記記憶手段に記憶された上記第1の証明書を上記受信した証明書に更新する更新手段として機能させるためのプログラム。
以上のようなこの発明の通信装置、通信システムあるいは通信方法によれば、通信の際に通信相手を証明書を用いて認証する通信装置あるいはこのような通信装置を用いて構成した通信システムにおいて、証明書を用いる認証に異常が生じた場合でも正常な認証が行える状態に容易に回復させることができるようにすることができる。
また、この発明のプログラムによれば、コンピュータに通信装置を制御させることにより上記の通信装置として機能させてその特徴を実現し、同様な効果を得ることができる。
以下、この発明の好ましい実施の形態を図面を参照して説明する。
まず、この発明による通信装置と、その通信装置を用いて構成したこの発明の通信システムの第1の実施形態の構成について説明する。この実施形態においては、それぞれ通信装置である上位装置30及び下位装置40によって通信システムを構成し、上位装置30と証明書管理装置20とをネットワークを介して通信可能な状態にして、通信システムと証明書管理装置とによってデジタル証明書管理システムを構成している。図1にその上位装置及び下位装置の、図2に証明書管理装置の、それぞれこの実施形態の特徴に関連する部分の機能構成を示す機能ブロック図を示す。これらの図において、この実施形態の特徴と関連しない部分の図示は省略している。なお、この明細書において、デジタル証明書とは、偽造されないようにするための署名が付されたデジタルデータを指すものとする。
この通信システムにおいて、上位装置30は、下位装置40と通信を行おうとする場合、公開鍵暗号とデジタル証明書を用いる認証方式であるSSLプロトコルに従った認証処理によって下位装置40を正当な通信相手として認証した場合に、下位装置40との間で通信を確立させるようにしている。そして、上位装置30が送信した要求に対し、下位装置40が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。
逆に、下位装置40が上位装置30と通信を行おうとする場合にも、同じくSSLに従った認証処理によって上位装置30を正当な通信相手として認証した場合に、上位装置30との間で通信を確立させるようにしている。そして、下位装置40が送信した要求に対し、上位装置30が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。
どちらの場合も、通信を要求する側がクライアント、要求される側がサーバとして機能するものとする。
また、証明書管理装置20は、上記の相互認証に用いるデジタル証明書を発行及び管理する装置であり、CAに相当する。
なお、図1及び図2において、下位装置40は1つしか示していないが、図21に示すように下位装置40を複数設けることも可能である。また、上位装置30は1つの通信システムについて1つのみであるが、1つの証明書管理装置20を複数の通信システムと通信可能とした結果、証明書管理システム内に複数の上位装置30が存在することになっても構わない。
このような通信システムにおいて、上述の上位装置30と下位装置40との間の通信も含め、証明書管理装置20,上位装置30,下位装置40の各ノードは、RPC(remote procedure call)により、相互の実装するアプリケーションプログラムのメソッドに対する処理の依頼である「要求」を送信し、この依頼された処理の結果である「応答」を取得することができるようになっている。
この、RPCを実現するためには、SOAP(Simple Object Access Protocol),HTTP(Hyper Text Transfer Protocol),FTP(File Transfer Protocol),COM(Component Object Model),CORBA(Common Object Request Broker Architecture)等の既知のプロトコル(通信規格),技術,仕様などを利用することができる。
次に、この通信システムを構成する各装置の構成と機能についてより詳細に説明する。
図3は、図2に示した証明書管理装置20のハードウェア構成を示すブロック図である。この図に示す通り、証明書管理装置20は、CPU11,ROM12,RAM13,HDD14,通信インタフェース(I/F)15を備え、これらがシステムバス16によって接続されている。そして、CPU11がROM12やHDD14に記憶している各種制御プログラムを実行することによってこの証明書管理装置20の動作を制御し、デジタル証明書の作成や管理等の機能を実現させている。
なお、証明書管理装置20のハードウェアとしては、適宜公知のコンピュータを採用することができる。もちろん、必要に応じて他のハードウェアを付加してもよい。
上位装置30及び下位装置40については、装置の遠隔管理,電子商取引等の目的に応じて種々の構成をとることができる。例えば、遠隔管理の場合には、プリンタ,FAX装置,コピー機,スキャナ,デジタル複合機等の画像処理装置を始め、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム、自動車、航空機等の電子装置を被管理装置である下位装置40とし、これらの被管理装置から情報を収集したり、コマンドを送って動作させたりするための管理装置を上位装置30とすることが考えられる。
しかし、上位装置30及び下位装置40は、少なくともそれぞれCPU,ROM,RAM,ネットワークを介して外部装置と通信するための通信I/F、および認証処理に必要な情報を記憶する記憶手段を備え、CPUがROM等に記憶した所要の制御プログラムを実行することにより、装置にこの実施形態の特徴に係る各機能を実現させることができるものとする。
なお、この通信には、有線,無線を問わず、ネットワークを構築可能な各種通信回線(通信経路)を採用することができる。証明書管理装置20との間の通信についても同様である。
図1には、上述のように、上位装置30及び下位装置40のこの実施形態の特徴となる部分の機能構成を示している。
まず、上位装置30には、HTTPS(Hypertext Transfer Protocol Security)クライアント機能部31,HTTPSサーバ機能部32,認証処理部33,証明書更新要求部34,証明書記憶部35を備えている。
HTTPSクライアント機能部31は、SSLに従った認証や暗号化の処理を含むHTTPSプロトコルを用いて下位装置40等のHTTPSサーバの機能を有する装置に対して通信を要求すると共に、通信相手に対して要求(コマンド)やデータを送信してそれに応じた動作を実行させる機能を有する。
一方、HTTPSサーバ機能部32は、HTTPSクライアントの機能を有する装置からのHTTPSプロトコルを用いた通信要求を受け付け、その装置から要求やデータを受信してそれに応じた動作を装置の各部に実行させ、その結果を応答として要求元に返す機能を有する。
認証処理部33は、HTTPSクライアント機能部31やHTTPSサーバ機能部32が通信相手を認証する際に、通信相手から受信したデジタル証明書や、証明書記憶部35に記憶している各種証明書、私有鍵等を用いて認証処理を行う認証手段の機能を有する。また、通信相手に認証を要求するために証明書記憶部35に記憶しているデジタル証明書をHTTPSクライアント機能部31やHTTPSサーバ機能部32を介して通信相手に送信する機能も有する。さらに、後述するように所定の場合に個別証明書を用いた認証に異常があると判断する異常検知手段の機能も有する。
証明書更新要求部34は、後述するように所定の場合に下位装置40等の通信相手に対して通常公開鍵証明書を送信する証明書送信手段と、さらにこれを記憶するよう要求する証明書更新手段の機能とを有する。
証明書記憶部35は、各種の証明書や私有鍵等の認証情報を記憶し、認証処理部33における認証処理に供する機能を有する。これらの各種証明書や私有鍵の種類及びその用途や作成方法については後に詳述する。
そして、これらの各部の機能は、上位装置30のCPUが所要の制御プログラムを実行して上位装置30の各部の動作を制御することにより実現される。
次に、下位装置40には、HTTPSクライアント機能部41,HTTPSサーバ機能部42,認証処理部43,要求管理部44,証明書記憶部45,状態通知部46,ログ通知部47,証明書更新部48,コマンド受信部49を備えている。
HTTPSクライアント機能部41は、上位装置30のHTTPSクライアント機能部31と同様に、HTTPSプロトコルを用いて上位装置30等のHTTPSサーバの機能を有する装置に対して通信を要求すると共に、送信する要求やデータ等に応じた動作を実行させる機能を有する。
HTTPSサーバ機能部42も、上位装置30のHTTPSサーバ機能部32と同様であり、HTTPSクライアントの機能を有する装置からの通信要求を受け付け、受信した要求やデータに応じた動作を装置の各部に実行させ、要求元に応答を返す機能を有する。
認証処理部43の機能も、上位装置30の認証処理部33と同様であるが、認証処理に使用する証明書等は、証明書記憶部45に記憶しているものである。
要求管理部44は、上位装置から受信した要求について、その要求に基づいた動作の実行可否を判断する機能を有する。そして、実行を許可する場合に、その要求に基づいた動作を実行する機能部46〜49に対して動作要求を伝える機能も有する。
図4にこの実行可否の判断基準を示すが、その判断基準は、要求の種類及び認証処理部43において認証処理に使用したデジタル証明書の種類である。上位装置30及び下位装置40が記憶しているデジタル証明書には、詳細は後述するが、短期証明書であり長期証明書よりも短い有効期間が設定されている公開鍵証明書である通常公開鍵証明書と、長期証明書であり短期証明書よりも長い有効期間が設定されている公開鍵証明書であるレスキュー公開鍵証明書があり、要求管理部44は、図4に示すように、通常公開鍵証明書による認証を行った場合には全ての動作を許可するが、レスキュー公開鍵証明書による認証を行った場合には証明書の更新動作のみを許可するようにしている。なお、ここでは更新する証明書は通常公開鍵証明書のみとし、レスキュー公開鍵証明書は更新しないものとする。従って、レスキュー公開鍵証明書は、下位装置40に新たな通常公開鍵証明書(及びこれに付随して記憶させる私有鍵やルート鍵証明書)を記憶させる場合にのみ使用する証明書ということになる。
証明書記憶部45は、上位装置の証明書記憶部35と同様に各種の証明書や私有鍵等の認証情報を記憶し、認証処理部43における認証処理に供する証明書記憶手段の機能を有する。ただし、記憶している証明書等は、後述するように証明書記憶部35とは異なる。
状態通知部46は、異常を検知したりユーザによる指示があったりした場合に上位装置30に対して下位装置40の状態を通知するコールを行う機能を有する。この通知は、上位装置30からの問い合わせに対する応答として送信してもよいし、HTTPSクライアント機能部41から上位装置に通信を要求して送信してもよい。
ログ通知部47は、下位装置40から上位装置30へのログの通知を行う機能を有する。その通知の内容としては、下位装置40の動作ログの他、例えば画像形成装置であれば画像形成枚数カウンタのカウント値、計量システムであればその計量値等が考えられる。この通知は緊急を要さないので、上位装置30からの問い合わせに対する応答として送信するとよい。
証明書更新部48は、上位装置30から受信した証明書等によって証明書記憶部45に記憶している証明書等を更新する機能を有する。
コマンド受信部49は、上述した各機能部46〜48以外の機能に係る要求に対応する動作を実行する機能を有する。この動作としては、例えば下位装置40が記憶しているデータの送信や、必要に応じて図示を省略したエンジン部の動作を制御することが挙げられる。
そして、これらの各部の機能は、下位装置40のCPUが所要の制御プログラムを実行して下位装置40の各部の動作を制御することにより実現される。なお、状態通知部46やログ通知部47は、コマンド受信部49が提供する機能の具体例として示したものであり、これらのような機能を設けることは必須ではない。
また図2には、上述のように、証明書管理装置20のこの実施形態の特徴となる部分の機能構成を示している。
この図に示すように、証明書管理装置20は、HTTPSサーバ機能部21,認証処理部22,証明書更新部23,証明用鍵作成部24,証明書発行部25,証明書管理部26を備えている。
HTTPSサーバ機能部21は、上位装置30や下位装置40のHTTPSサーバ機能部と同様、HTTPSクライアントの機能を有する装置からの通信要求を受け付け、受信した要求やデータに応じた動作を装置の各部に実行させ、要求元に応答を返す機能を有する。
認証処理部22の機能も、上位装置30や下位装置40の認証処理部と同様であるが、認証処理に使用する証明書等は、証明書管理部26に記憶しているものであり、この種類及び用途や機能については後述する。
証明書更新部23は、上位装置30から通常証明書発行要求があった場合に、証明用鍵作成部24や証明書発行部25に対象の下位装置40の新たな通常公開鍵証明書を発行させ、これを証明書管理部26からHTTPSサーバ機能部21を介して上位装置30に送信させる機能を有する。
証明用鍵作成部24は、デジタル署名の作成に用いる証明用私有鍵であるルート私有鍵と、そのデジタル証明書の正当性を確認するための、ルート私有鍵と対応する証明用公開鍵(証明鍵)であるルート鍵とを作成する証明用鍵作成手段の機能を有する。
証明書発行部25は、証明書管理装置20自身及び上位装置30と下位装置40とに対してSSLプロトコルに従った認証処理に用いる公開鍵及びこれと対応する私有鍵を発行する機能を有する。そしてさらに、それぞれ発行した公開鍵に証明用鍵作成部24で作成したルート私有鍵を用いてデジタル署名を付して、デジタル証明書である公開鍵証明書を発行する証明書発行手段の機能を有する。また、ルート鍵にデジタル署名を付したルート鍵証明書の発行もこの証明書発行部25の機能である。
証明書管理部26は、証明書発行部25が発行したデジタル証明書、その作成に用いたルート私有鍵、およびそのルート私有鍵と対応するルート鍵を管理する証明書管理手段の機能を有する。そして、これらの証明書や鍵を、その有効期限や発行先、ID、更新の有無等の情報と共に記憶する。また、自身に対して発行した証明書や私有鍵については、認証処理部22における認証処理に供する機能も有する。
そして、これらの各部の機能は、証明書管理装置20のCPUが所要の制御プログラムを実行して証明書管理装置20の各部の動作を制御することにより実現される。
次に、上述した各装置が認証処理に用いる各証明書や鍵の特性及び用途について説明する。図5は、(a)に下位装置40の証明書記憶部45に記憶している証明書及び鍵の種類を示し、(b)に上位装置30の証明書記憶部35に記憶している証明書及び鍵の種類を示す図である。また、図6は証明書管理装置20の証明書管理部26に記憶している証明書及び鍵のうち、証明書管理装置20における認証処理に用いるものを示す図である。
上位装置30,下位装置40,証明書管理装置20は、大きく分けて正規認証情報とレスキュー認証情報を記憶している。そして、これらの正規認証情報とレスキュー認証情報は、それぞれ自分に関する認証情報である公開鍵証明書及び私有鍵と、通信相手に関する認証情報であるルート鍵証明書とによって構成される。
そして、各装置は、通常の通信時は正規認証情報を用いてSSLに従った図22に示したような手順の相互認証あるいは図24に示したような片方向認証を行う。
また、例えば下位装置用通常公開鍵証明書は、証明書管理装置20が下位装置40に対して発行した通常公開鍵に、下位装置認証用通常ルート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書であり、短期証明書に該当する。
ここで、公開鍵証明書のフォーマットは、例えば図7に示したものを用いることができ、公開鍵そのものの他、証明書の発行者や証明書の有効期限、証明される対象(証明書の発行先の装置あるいは利用者)等の情報が記載されている。具体的には、例えばX.509と呼ばれるフォーマットに従って作成することができ、このフォーマットに従って作成された公開鍵証明書は、例えば図8に示すようなものになる。
この例においては、AがCAの識別情報を示し、Cが証明書の発行先の装置の識別情報を示す。これらは、それぞれ所在地、名称、機番あるいはコード等の情報を含む。また、Bが有効期間を示し、その開始日時と終了日時によって有効期間を指定している。
また、下位装置用通常私有鍵は、上記の通常公開鍵と対応する私有鍵、下位装置認証用通常ルート鍵証明書は、下位装置認証用通常ルート鍵に自身と対応するルート私有鍵を用いて自身で正当性を確認可能なデジタル署名を付したデジタル証明書である。
そして、下位装置40を複数設けた場合でも、各装置の通常公開鍵に付すデジタル署名は同じルート私有鍵を用いて付し、正当性確認に必要な通常ルート鍵証明書は共通にする。しかし、通常公開鍵証明書に含まれる通常公開鍵やこれと対応する私有鍵は、装置毎に異なる。
上位装置用通常公開鍵証明書と上位装置用通常私有鍵と上位装置認証用通常ルート鍵証明書も同様な関係であり、CA用通常公開鍵証明書とCA用通常私有鍵とCA認証用通常ルート鍵証明書も同様な関係である。
そして、例えば上位装置30と下位装置40とが相互認証を行う場合には、上位装置30からの通信要求に応じて、下位装置40は下位装置用通常私有鍵を用いて暗号化した第1の乱数を下位装置用通常公開鍵証明書と共に上位装置30に送信する。上位装置30側では下位装置認証用通常ルート鍵証明書を用いてまずこの下位装置用通常公開鍵証明書の正当性(損傷や改竄を受けていないこと)を確認し、これが確認できた場合にここに含まれる公開鍵で第1の乱数を復号化する。この復号化が成功した場合に、上位装置30は通信相手の下位装置40が確かに下位装置用通常公開鍵証明書の発行先であると認識でき、その証明書に含まれる識別情報から装置を特定することができる。そして、特定した装置が通信相手としてふさわしいか否かに応じて認証の成功と失敗を決定することができる。
また、下位装置40側でも、上位装置30側で認証が成功した場合に送信されてくる上位装置用通常公開鍵証明書及び上位装置用通常私有鍵で暗号化された乱数を受信し、記憶している上位装置認証用ルート鍵証明書を用いて同様な認証を行うことができる。
なお、この手順は上位装置30がHTTPSクライアント機能部31によって下位装置40のHTTPSサーバ機能部42に対して通信を要求する場合の処理であり、下位装置40がHTTPSクライアント機能部41によって上位装置30のHTTPSサーバ機能部32に対して通信を要求する場合には、使用する証明書や鍵は同じであるが、上位装置30と下位装置40の処理が逆になる。
上位装置30と証明書管理装置20とが通信する場合の処理についても同様である。
ところで、既に述べたように、各装置が通信相手から通常公開鍵証明書を受信した場合、その通常公開鍵証明書に記載された有効期間内でなければ、その通常公開鍵証明書の正当性を認めないようにしている。従って、この場合には認証を行うことができないことになる。
そこで、このような事態が生じないよう、使用中の公開鍵証明書の有効期間が過ぎる前に、有効期間経過後に使用するための新たな公開鍵証明書を各装置に記憶させるようにすることが考えられる。しかしながら、装置の電源が切られていたり、そもそも装置が出荷されずに倉庫に保管されていたりした場合には、装置に外部からアクセスすることができない。従って、新たな公開鍵証明書を記憶させることができないうちに有効期間が過ぎてしまうことも考えられる。
ここで、各装置が通常公開鍵証明書を用いた認証(通常認証情報を用いた認証)しか行えないとすると、この有効期間が過ぎてしまっている状態では、新たな通常公開鍵証明書や通常私有鍵及び通常ルート鍵証明書をネットワークを介して安全に対象の装置に送信する方法はないことになる。しかし、この実施形態の通信システムを構成する各通信装置は、このような事態に対処するためにレスキュー認証情報を記憶しており、通信相手を異なる2種類のデジタル証明書を用いて認証することができるようにしている。そして、レスキュー認証情報を用いることにより、必要な装置にネットワークを介して新たな通常公開鍵証明書等を安全に送信できるようにしている。
このレスキュー認証情報は、正規認証情報と概ね同様な構成となっており、例えば下位装置用レスキュー公開鍵証明書は、証明書管理装置20が下位装置に対して発行したレスキュー公開鍵に、下位装置認証用レスキュールート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書であり、長期証明書に該当する。また、下位装置用レスキュー私有鍵はそのレスキュー公開鍵と対応する私有鍵、下位装置認証用レスキュールート鍵証明書は、下位装置認証用レスキュールート鍵に自身を用いて正当性を確認可能なデジタル署名を付したデジタル証明書である。
しかし、正規認証情報と大きく異なる点は、レスキュー公開鍵証明書の有効期間が、通常公開鍵証明書の有効期間よりも長く設定されている点である。
ここで、図9に通常公開鍵証明書の例を、図10にレスキュー公開鍵証明書の例を示す。
これらは、符号F及びIで示すように、発行先の装置の識別情報が同一であり、同じ装置に対して発行された公開鍵証明書である。しかし、通常公開鍵証明書の有効期間は、符号Eで示すように、2003年1月1日午前0時から2004年1月1日午前0時までの1年間としている一方、レスキュー公開鍵証明書の有効期間は、符号Hで示すように、2000年1月1日午前0時から2050年1月1日午前0時までの50年間としている。
また、証明書の発行者は、同じXXX社のCAであるが、通常公開鍵証明書については符号Dで示すように「RegularCA」、レスキュー公開鍵証明書については符号Gで示すように「RescueCA」というように、異なるCAとしている。
このような有効期間の長いレスキュー公開鍵証明書は、有効期間の短い通常公開鍵証明書と比べた場合には安全性が若干劣る。しかしながら、このようなレスキュー公開鍵証明書を利用することにより、通常公開鍵証明書の有効期間が過ぎてしまった場合であっても、レスキュー公開鍵証明書の有効期間内であれば、通信相手を認証することができる。そして、このような認証が成功すれば、前述のように通信相手との間で共通鍵を共有して共通鍵暗号を用いた安全な通信経路を設けることができる。従って、この通信経路を利用して、新しい通常公開鍵証明書を通信相手に送信し、設定させることが可能となる。
なお、レスキュー認証情報を用いて認証処理を行った場合に、通常公開鍵証明書を始めとする正規認証情報の更新のような限られた要求のみ実行を許可するようにすれば、有効期間を長くしたために若干安全性が低下したとしても、大きな問題にはならない。
また、この点を考慮すると、レスキュー公開鍵証明書の有効期間経過後には、通常公開鍵証明書の有効期間が過ぎてしまった場合にもはや公開鍵証明書による認証を行うことができなくなってしまうので、レスキュー公開鍵証明書の有効期間は長い方が好ましい。具体的には、例えば記憶させる装置の製品寿命よりも長い有効期間を設定するとよい。この製品寿命は、装置の想定運用期間あるいは想定動作期間であり、開発時に想定している使用期間や想定耐用年数、装置の品質保証期間等から定めることができる。
また、レスキュー公開鍵証明書の有効期間を、装置をメンテナンスしながら正常に動作させられると想定される期間よりも長く設定すれば、レスキュー公開鍵証明書は装置の動作中には有効期限が切れない証明書であるということができる。従って、装置の動作中は、常にレスキュー公開鍵証明書を用いた認証(レスキュー認証情報を用いた認証)が可能な状態を保つことができる。また、レスキュー公開鍵証明書を更新する必要がないので、更新時の破損等を防止できる。
また、上記の製品寿命や装置の動作期間よりも極めて長い有効期間を定めるようにすれば、なおよい。図10に示した例では、有効期間を50年に設定しており、通常の装置であればこの程度で十分と考えられるが、これはX.509フォーマットに従って設定できる有効期間の最大が50年であるためこのようにしただけで、さらに長い期間、例えば100年や数百年を設定してもよいことはもちろんである。このように有効期間を定めた場合、有効期間の終期は、単に公開鍵証明書のフォーマット上の要求により記載したものであり、レスキュー公開鍵証明書の有効期限は事実上ないものと考えることができる。また、対象の装置によっては、20年や30年程度あるいはそれ以下の有効期間であっても、同様に考えることができる場合もある。
さらにまた、たとえレスキュー公開鍵証明書の有効期間が製品寿命より短かったとしても、通常公開鍵証明書の有効期間よりも長ければ、通常公開鍵証明書の有効期間経過後も一定の期間レスキュー公開鍵証明書を用いた認証が可能な状態を保つことができるという効果を得ることはできる。
なお、通常公開鍵証明書の有効期間については、安全性を考慮して適当な期間を定めればよいが、この期間は、製品寿命よりも短く、また装置の動作中に有効期限が切れるような期間となることが多い。
ところで、SSLプロトコルに従った認証処理を行う場合には、サーバは、クライアントから通信要求があった時点ではクライアントの状態を知ることができないため、必然的に、特定のURL(Uniform Resource Locator)にアクセスされた場合には常に同じ公開鍵証明書を返すことになる。従って、基本的には、1つの装置が公開鍵証明書を複数持ち、通信相手が認証に使用しようとする公開鍵証明書の種類に合わせて適当なものを選択して送信するといった構成を取ることはできない。しかし、図1及び図2に示した各装置においては、特殊な構成を取ることにより、通常公開鍵証明書とレスキュー公開鍵証明書とを場合によって使い分けることができるようにしている。
そこで、次に、この使い分けのための構成を、図11を用いて説明する。図11には上位装置30と下位装置40のみを示すが、証明書管理装置20についても同様な構成が可能である。
上述した通り、サーバは基本的には通信を要求してくるクライアントに対して特定の公開鍵証明書しか返すことができない。しかし、通信要求を受け付けるアドレスが異なる場合には、アドレス毎に異なる公開鍵証明書を返すことも可能である。このアドレスは、例えばURLによって定めることができる。
従ってここでは、図11に示すように、上位装置30及び下位装置40にそれぞれ、通常公開鍵証明書による認証を行う通常URLと、レスキュー公開鍵証明書による認証を行うレスキューURLとを設け、通信を要求する側(クライアントとして機能する側)が、要求する認証の種類に応じていずれかのURLを選択的に指定して通信要求を送るようにしている。これらのURLは、IPアドレスやポート番号(いずれか一方でもよい)を変えることにより、物理的には同じ装置のURLであっても、論理的には異なる装置のURLとして取り扱うことができるようにしている。すなわち、いわゆるバーチャルサーバの機能を実現するためのものである。
このようにした場合、通信を要求される側(サーバとして機能する側)は、返す証明書を通信要求を受け付けたURLによって区別し、通常URLで受け付けた場合には通常公開鍵証明書を返し、レスキューURLで受け付けた場合にはレスキュー公開鍵証明書を返すことができる。
なお、通信を要求するクライアントの側では、どのURLに対して通信要求を送ったかがわかるので、相互認証を行う場合にはそのURLに応じた適切な公開鍵証明書を選択して送信することができる。
そして、上位装置30が下位装置40を認証しようとする場合には、まず通常公開鍵証明書を用いた認証を試みるが、この認証が通常公開鍵証明書の有効期間経過のため失敗した場合、レスキュー公開鍵証明書を用いた認証を試みるようにしている。また、下位装置40が通信相手として適当な装置であり、レスキュー公開鍵証明書の有効期間が経過していなければ、レスキュー公開鍵証明書を用いた認証は成功するので、上位装置30には、その認証が成功した場合に、下位装置40の正規認証情報を更新する機能を設けている。
すなわち、上位装置30は下位装置40に対して通信を要求する場合、まず通常URLに通信要求を送信して通常公開鍵証明書を用いた認証を行うが、これが失敗した場合に、今度はレスキューURLに通信要求を送信してレスキュー公開鍵証明書を用いた認証を行う。そして、これが成功した場合、更新用の証明書セットを証明書管理装置20から取得し、下位装置40に送信してこれを記憶するよう要求するようにしている。レスキュー公開鍵証明書を用いた認証であっても、共通鍵の共有は通常公開鍵証明書の場合と同様に可能であるから、証明書セットの送信は共有した共通鍵を用いて暗号化して安全に行うことができる。
なお、この証明書セットの構成は図12に示すものであり、下位装置40に記憶させる正規認証情報を構成するものである。そしてもちろん、更新用の証明書セットに含まれる下位装置用通常公開鍵証明書は、有効期間内のものである。
そして、下位装置用通常公開鍵証明書の作成に用いるルート私有鍵は、取得の時点で上位装置30に記憶している下位装置認証用通常ルート鍵証明書に含まれるルート鍵と対応するものであるし、上位装置認証用通常ルート鍵証明書は、同じく上位装置30に記憶している上位装置用通常公開鍵証明書に付されているデジタル署名の正当性を確認できるルート鍵証明書を含むものである。また、更新用の証明書セットを発行する際に、ルート私有鍵を新たに発行し、公開鍵証明書のバージョンアップ(公開鍵に新たなルート私有鍵を用いてデジタル署名を付して公開鍵証明書を発行するようにすること)を行うようにすることも考えられる。
一方、下位装置40は、上記の証明書を記憶する旨の要求を受けた場合に、受信した証明書セットを証明書更新部48によって証明書記憶部45に記憶させ、従前の正規認証情報を更新するようにしている。
この更新が正常に行われれば、下位装置40には再び有効期間内の通常公開鍵証明書が記憶されることになり、通常公開鍵証明書を用いた認証を行うことができる状態になる。従ってこの後は、通常公開鍵証明書を用いた認証を行って通信を実行するようにすればよい。
なお、図5及び図6に示した認証情報において、ルート鍵証明書は認証対象によらず同じものを用いるようにしてもよい(例えば上位装置認証用ルート鍵証明書と下位装置認証用ルート鍵証明書が同じものでもよい)。これは、公開鍵証明書には装置の識別情報が付されているため、ルート鍵証明書を用いてその正当性を確認できれば、あとはその識別情報を参照して装置の機種や機番を特定できるためである。
次に、このような通常公開鍵証明書とレスキュー公開鍵証明書の2種類の証明書を用いた証明書の更新に関する処理について説明する。図13のフローチャートに上位装置30側の処理を、図14のフローチャートに下位装置40側の処理を示す。これらの処理は、上位装置30及び下位装置40のCPUがそれぞれ所要の制御プログラムを実行して行うものであり、この発明の異常検知方法の実施形態に係る処理である。
なお、これらのフローチャートにおいては、上位装置30が下位装置40に対して通信を要求する場合の処理を示している。また、説明を簡単にするため、認証処理としては上位装置30が下位装置40から受信した公開鍵証明書を用いて下位装置40を認証する部分のみを示している(図24に示したような片方向認証を行う場合の処理を示している)が、上位装置30から下位装置40にも公開鍵証明書を送信し、図22に示したような双方向認証を行うようにしてもよいことはもちろんである。
上位装置30は、下位装置40に対して要求や通知を送信したり、下位装置40からの要求や通知を受け取るために通信要求を行ったりする場合、図13のフローチャートに示す処理を開始し、まずステップS101で下位装置40の通常URLに対して通信要求を送信する。なお、上位装置30は通信相手となる装置全てについて、通信要求先として通常URLとレスキューURLとを記憶しているものとする。
そして、下位装置40は、通信要求を受けると図14のフローチャートに示す処理を開始し、ステップS201で通信要求のあったURLが通常URLかレスキューURLかを判断する。
そして、通常URLへの通信要求であれば、ステップS202に進んで通常公開鍵証明書を通常私有鍵(下位装置用通常私有鍵)で暗号化した第1の乱数と共に上位装置30に送信する。この処理は、図22又は図24のステップS21及びS22の処理に相当する。
上位装置30側では、この応答を受け取るか、あるいは所定時間経過すると、ステップS102に進んで認証処理を行う。ここでの認証には、下位装置認証用通常ルート鍵証明書を使用し、この処理は、図22又は図24のステップS12及びS13の処理に相当する。また、ステップS101及びS102の処理において、上位装置30のCPUが第1の認証手段として機能する。
そして、ステップS103で認証が成功したか否か判断し、成功していればステップS112に進んで共通鍵の種を下位装置40に送信すると共に共通鍵を作成して以後の通信に使用するようにする。この処理は、図22又は図24のステップS14乃至S17の処理に相当する。
下位装置40側では、ステップS202で通常公開鍵証明書を送信した後はステップS203でこの送信を待ち、共通鍵の種を受信した場合には上位装置30に認証されたと判断し、ステップS204に進んで共通鍵を作成して以後の通信に使用するようにする。また、認証失敗の応答が帰ってくるか、所定時間内に上位装置30から応答がなかった場合には、認証失敗と判断し、処理を終了する。これらの処理は、図22のステップS23乃至S27あるいは図24のステップS25乃至S27の処理に相当する。
また、上位装置30側では、ステップS113の後、ステップS113で下位装置40に対して要求(コマンド)を必要なデータと共に送信し、ステップS114でその応答を待つ。そして、ステップS115で要求を全て送信したか否か判断し、まだ残っていればステップS113に戻って処理を繰り返し、全て送信していればステップS116に進んで通信を切断して処理を終了する。
下位装置40側では、ステップS204の後はステップS205に進んで上位装置30から要求を受信したか否か判断し、受信した場合にはステップS206で要求に応じた処理を行って上位装置30に応答を返す。また、ステップS207では上位装置30に通知すべき情報があるか否かを判断し、あればステップS208で通知を送信する。そして、ステップS209で上位装置30が通信を切断したか否か判断し、切断していなければステップS205に戻って処理を繰り返すが、切断していれば処理を終了する。
一方、上位装置30側の処理においてステップS103で認証が失敗した場合、認証失敗の原因としては、公開鍵証明書の有効期限が切れていた、公開鍵証明書のバージョンがルート鍵証明書と合わずに正当性が確認できなかった、公開鍵証明書が破損していた、公開鍵証明書が送信されてこなかった、そもそも全く関係ない装置と通信しようとしていた、公開鍵証明書に付された識別情報が通信相手として不適切な装置のものであった等が考えられる。そして、次のステップS104では、その原因が公開鍵証明書の有効期限が切れていたためか否かを判断し、この判断がNOであれば処理を終了する。
ステップS105以降の処理は、通常公開鍵証明書の有効期限が切れていた場合に通信相手に新しい通常公開鍵証明書を記憶させる処理であるためである。なお、ステップS103での認証失敗の原因が、公開鍵証明書のバージョンが合わなかったり、正常な公開鍵証明書が送信されてこなかったこと等であれば、その原因に応じた対処が考えられるが、この処理についてはこの実施形態の特徴と直接関係しないため、説明は省略する。
一方、ステップS104の判断がYESである場合には、ステップS105に進み、今度は下位装置40のレスキューURLに対して通信要求を送信する。
この場合には、下位装置40は改めて図14のフローチャートに示した処理を開始するが、ステップS201の判断はレスキューURLとなり、ステップS210に進んで、下位装置用レスキュー公開鍵証明書を、レスキュー私有鍵(下位装置用レスキュー私有鍵)で暗号化した第1の乱数と共に上位装置30に送信する。この処理も、ステップS202の場合と同様図22又は図24のステップS21及びS22の処理に相当する。また、ステップS105及びS106の処理において、上位装置30のCPUが第2の認証手段として機能する。
上位装置30側では、ステップS106で下位装置40がステップS210で送信した証明書と乱数を受信すると、これを用いて認証処理を行う。ここでの認証には、下位装置認証用レスキュールート鍵証明書を使用し、この処理は、ステップS103の場合と同様、図22又は図24のステップS12及びS13の処理に相当する。なお、ステップS105の後所定時間内に受信しない場合には認証失敗として取り扱うようにしてもよい。また、ステップS105及びS106の処理において、上位装置30のCPUが認証手段として機能する。
そして、ステップS107で認証が成功したか否か判断し、成功していればステップS108に進んで共有鍵の種を下位装置40に送信すると共に共通鍵を作成して以後の通信に使用するようにする。これらの処理は、ステップS103及びS112の場合と同様、図22又は図24のステップS14乃至S17の処理に相当する。
下位装置40側では、ステップS210の後ステップS211でこの送信を待ち、共有鍵の種を受信した場合には上位装置30に認証されたと判断し、ステップS212に進んで共通鍵を作成して以後の通信に使用するようにする。また、認証失敗の応答が帰ってくるか、所定時間内に上位装置30から応答がなかった場合には、認証失敗と判断し、処理を終了する。これらの処理は、ステップS203及びS204の場合と同様、図22のステップS23乃至S27あるいは図24のステップS25乃至S27の処理に相当する。
一方、上位装置30側では、ステップS107でレスキュー公開鍵証明書を用いた認証が成功したことにより、下位装置40が通信相手として適当な装置であると判断できるので、下位装置40の通常公開鍵証明書を更新すべく、ステップS108の次にステップS109で、証明書管理装置20に必要な情報を送信して更新用の新証明書セットを作成させ、これを取得するが、この処理の説明については後に詳述する。
上位装置30は、証明書管理装置20から新証明書セットを取得すると、ステップS110で下位装置40に証明書更新要求と共にその新証明書セットを送信し、記憶している正規認証情報を、新証明書セットの内容に更新するよう要求する。この処理において、上位装置30のCPUが証明書送信手段として機能する。
そして、ステップS111で下位装置40からの応答を待ってステップS116に進み、通信を切断して処理を終了する。始めに送信しようとしていた要求等を送信する場合には、再度処理を開始すればよいが、この時点では通常公開鍵証明書による認証が可能になっているはずであるので、ステップS103からS113に進み、以降の処理で下位装置40に要求を送信してこれに係る動作を実行させることが可能である。
一方、下位装置40側では、ステップS212の後はステップS213で要求の受信を待ち、要求を受信するとステップS214に進む。そして、図4を用いて説明したように、下位装置40の要求管理部44は、レスキュー公開鍵証明書を用いた認証を行った(レスキュー公開鍵証明書を用いて認証された)場合には、証明書更新動作のみを許可するようにしているので、ステップS213で受信した要求が証明書更新要求か否かを判断する。そして、証明書更新要求でなければその要求は無視してステップS213に戻って次の要求を待つ。ここで、要求を受け付けられない旨の応答を返すようにしてもよい。
ステップS214で証明書更新要求であれば、ステップS215に進んで証明書更新要求と共に受信した新証明書セットを証明書記憶部45に記憶させて図5(a)に示した正規認証情報をその内容に更新し、ステップS216で更新結果を応答として送信元に通知して処理を終了する。
次に、上位装置30及び下位装置40が図13及び図14に示した処理を実行する場合の処理シーケンスの例を、証明書管理装置20における処理も含めて説明する。図15及び図16にこの処理シーケンスを示す。なおここでは、下位装置40に記憶している下位装置用通常公開鍵証明書の有効期間が過ぎていた場合の処理例を示す。
この例においては、まず上位装置30が、HTTPSクライアント機能部31を対下位装置クライアントとして機能させて、下位装置40の通常URLに通信要求を送信する(S301)。この場合、下位装置40側で要求を受けるのはHTTPSサーバ機能部42であり、認証処理部43にこの要求を伝える。また、下位装置40は通常公開鍵証明書を用いた認証を要求されたことになる。そして認証処理部43は、SSLプロトコルに従い、証明書記憶部45に記憶している下位装置用通常私有鍵で暗号化した乱数と共に、同じく証明書記憶部45に記憶している下位装置用通常公開鍵証明書を上位装置30に返す(S302)。
上位装置30側では、これを認証処理部33に渡して認証処理を行うが、ここでは受信した下位装置用通常公開鍵証明書は有効期間が過ぎているため、認証失敗と判断し(S303)、下位装置40に対して認証失敗応答を返す(S304)。
そして、認証失敗の原因が公開鍵証明書の有効期間が過ぎていたことであるので、より有効期間の長い証明書での認証を試みるため、レスキューURLに通信要求を送信する(S305)。
下位装置40側では、この要求はステップS301の場合と同様に認証処理部43に伝えられるが、今度は下位装置40はレスキュー公開鍵証明書を用いた認証を要求されたことになる。そして認証処理部43は、SSLプロトコルに従い、証明書記憶部45に記憶している下位装置用レスキュー私有鍵で暗号化した乱数と共に、同じく証明書記憶部45に記憶している下位装置用レスキュー公開鍵証明書を上位装置30に返す(S306)。
上位装置30側では、これを認証処理部33に渡して認証処理を行うが、下位装置40が通信相手となりうる装置であり、かつレスキュー公開鍵証明書の有効期間が過ぎていなければ、認証成功と判断する(S307)。
そして上位装置30は、片方向認証の場合には下位装置用レスキュー公開鍵証明書に含まれる公開鍵で暗号化した共通鍵の種を下位装置40のレスキューURLに返す(S308)。相互認証を行う場合には、ここで第2の乱数を証明書記憶部35に記憶している上位装置用レスキュー私有鍵を用いて暗号化し、上位装置用レスキュー公開鍵証明書と共に返す。
下位装置40は、これを認証処理部43に渡して共通鍵の種を下位装置用レスキュー私有鍵を用いて復号化し、相互認証の場合にはさらに上位装置用レスキュー公開鍵証明書の正当性を上位装置認証用ルート鍵証明書を用いて確認した後第2の乱数をここに含まれる公開鍵を用いて復号化することによって認証処理を行う。そして、ここではこれらを正常に行うことができるので、認証成功と判断し(S309)、上位装置30に認証成功応答を返す(S310)。そしてその後、上位装置30と下位装置40はステップS308で送受信した共通鍵の種を用いて共通鍵を生成する(図示省略)。
一方、上位装置30は、ステップS310の応答を受信すると、ステップS301で通信を要求した相手は、通常公開鍵証明書の有効期間は過ぎているが、正当な通信相手でありうる装置であると判断する(S311)。
そして、図16に示す続きの処理に進み、HTTPSクライアント機能部31を対管理装置クライアントとして機能させて、証明書管理装置20に対して通常証明書発行要求と共に下位装置40の機番,IPアドレス及びMACアドレスを送信して、下位装置40用の新たな証明書セットの作成を要求する(S312)。
なお、ここで証明書管理装置20に送信する情報は、通信相手の情報として上位装置30が予め記憶しておくようにしてもよいし、レスキュー公開鍵証明書による認証が成功した後で下位装置40に送信させて取得するようにしてもよい。また、証明書セットは図12に示した各証明書及び私有鍵を含むが、片方向認証を行う場合には上位装置認証用通常ルート鍵証明書は必要ない。また、図示は省略したが、上位装置30と証明書管理装置20とが通信する場合も、上位装置30と下位装置40とが通信する場合と同様、通常公開鍵証明書を用いてSSLプロトコルに従った認証処理を行い、安全な通信経路を確立してから要求等を送信するものとする。
証明書管理装置20は、ステップS312の要求を受けると、証明書セット及びその設定要求を作成する(S313)が、ここで作成する証明書セットに含まれる公開鍵証明書は、当然有効期間内のものである。例えば、作成時点から有効期間が開始し、所定期間後に終了するように作成するようにする。
また、証明書管理装置20は上位装置30が記憶している下位装置認証用通常ルート鍵証明書のバージョンを管理しているので、このルート鍵証明書で正当性を確認可能なデジタル署名を付し、下位装置40の識別情報として機番を含む通常公開鍵証明書を作成することができる。この場合において、証明書管理装置20が、上位装置30から受信した機番とIPアドレス及びMACアドレスを、自身が管理している情報と照合し、通常公開鍵証明書の発行先が適切な装置であることを確認できるようにしてもよい。さらに、このときデジタル署名に用いるルート私有鍵を新たに生成し、ルート鍵証明書の更新も同時に行うようにしてもよいことは、上述した通りである。そして、ここで作成した新たな各証明書及び鍵も、それまでの証明書等と同様、証明書管理部26に記憶させて管理する。
上位装置30は、ステップS312の要求を送信した後、証明書の作成が完了した頃に証明書管理装置20に対して通信要求を行い、証明書管理装置20から上位装置30への要求の有無を問い合わせる(S314)。このとき、ステップS313の処理が完了していれば、証明書管理装置20は通信要求に対する応答として、証明書設定要求と共に、新証明書セット,これを記憶させる下位装置40のIPアドレス及びMACアドレスを上位装置30に返す(S315)。すなわち、上位装置30は証明書設定要求と共に、下位装置40に記憶させるべき新証明書セットを取得することができる。
上位装置30はこの要求を受けると、指定されたIPアドレスのレスキューURLに対して証明書更新要求と共に新証明書セットを送信する(S316)。このとき、まず送信先からMACアドレスを取得し、証明書設定要求に記載されていたMACアドレスと一致していることを確認してから新証明書セットを送信するようにしてもよい。
一方、下位装置40は受信した証明書更新要求をHTTPSサーバ機能部42から要求管理部44に伝え、要求管理部44が証明書更新部48に証明書更新処理を実行させて、証明書記憶部45に記憶している正規認証情報を受信した新証明書セットの内容に更新する(S317)。そして、更新処理の結果を示す証明書更新要求応答を上位装置30に返し(S318)、上位装置30はその応答を基に証明書管理装置20に証明書設定要求に対する応答を返す(S319)。そして以上で一旦処理を終了する。
なお、上位装置30と下位装置40との間の通信は、ステップS310の後で一旦切断し、ステップS316の送信を行う際に改めてレスキューURLに対して通信要求を送信して認証を行うようにするとよい。
ところで、これ以降の処理は図13及び図14のフローチャートでは図示を省略したが、以上のような証明書の更新が終了すると、下位装置40は、HTTPSクライアント機能部41を対上位装置クライアントとして機能させ、上位装置30の通常URLに対して通信要求を送信する。そして、更新処理の結果を通知する証明書更新結果通知と共に、機番,IPアドレス,更新後の証明書セットのバージョン情報を通知する(S321)。上位装置30は、この通知に対して応答を返す(S322)。この通信の際には通常公開鍵証明書を用いた認証を行うが、新証明書セットに含まれる証明書を用いれば、この認証は問題なく行うことができる。
さらに、上位装置30は、ステップS321の通知を受けると、下位装置の通常URLに対して通信要求を送信し、下位装置40の再検索を行う(S331)。これは、上位装置30側から通信を要求する際にも通常公開鍵証明書を用いた認証が成功し、通信が正常に行えることを確認するためのものである。下位装置40はこれに対して応答を返す(S332)。
この応答を受信すると、上位装置30は証明書の更新が成功し、下位装置40に再び有効期間内の通常公開鍵証明書が記憶されたことを確認でき、ステップS321で受信した証明書更新結果通知及びその付属情報を証明書管理装置20に送信して更新処理が成功したことを通知する(S333)。証明書管理装置20はこれに対して応答を返す(S334)。
図1及び図2に示した通信システムにおいては、下位装置40における正規認証情報を構成する公開鍵証明書の有効期間が過ぎてしまったことにより認証が正常に行えない場合、以上の処理により、下位装置の証明書を更新して認証が正常に行える状態に回復させるようにしている。
また、上述した構成を有する上位装置30と下位装置40が以上のような処理を実行することにより、通常の場合は通信を要求する場合に通常公開鍵証明書を用いた認証を行い、通信相手を特定して認証を行い、SSLによる安全な通信経路を確立できる一方、通常公開鍵証明書を用いた認証が正常に行えなかった場合には、より長い有効期間が設定されているレスキュー公開鍵証明書を用いた認証を行い、これが成功した場合に上位装置30が新証明書セットを取得して下位装置40に送信し、正規認証情報を更新させることにより、安全かつ自動的に、容易に有効期間内の通常公開鍵証明書を設定し、正常な認証を行うことができるようにすることができる。
このような有効期間の長いレスキュー公開鍵証明書は、有効期間の短い通常公開鍵証明書と比べた場合には安全性が若干劣るが、相当程度の安全性を確保できる。そして、このような証明書を用意しておくことにより、通常公開鍵証明書の有効期限が切れてしまった場合でも、レスキュー公開鍵証明書の有効期間内であれば、共通鍵暗号を用いた安全な通信経路を確保できるという効果がある。
さらに、レスキュー公開鍵証明書を用いた認証により、送信先が通信相手として適当な装置であることを確認してから新証明書セットを送信することができるので、証明書セットを誤って不適当な装置に記憶させてしまうことがない。相互認証を行う場合には、下位装置40側でも、新証明書セットの送信元が上位装置30であることを確認して受信することができるので、正規認証情報として不正な証明書を記憶してしまうことがない。さらにまた、通常公開鍵証明書を用いた認証が行えない場合でもレスキュー公開鍵証明書を用いた認証が可能であることから、新証明書セットをSSLを用いた安全な通信経路で送信することができるので、内容が第3者に漏れることがなく、セキュリティを維持できる。
また、下位装置40が、レスキュー公開鍵証明書を用いて認証した相手からの要求は、証明書の更新要求以外は受け付けないようにしているので、その他の情報については、通常公開鍵証明書によって認証した適当な通信相手のみにアクセスを許可することができ、万一レスキュー公開鍵証明書の有効期間内にレスキュー私有鍵が不正に取得されてしまった場合でも、重要な情報に不正にアクセスされることを防止できる。
そして、この実施形態によれば、自動的に公開鍵証明書を更新することができるので、この実施形態は、設置先の操作者による証明書の更新が行えないような装置、例えばケーブルテレビのセットトップボックスや遠隔保守の対象となる画像形成装置等、を通信相手とする通信装置や、そのような通信装置を含む通信システムに適用すると、特に効果的である。
〔実施形態の変形例:図17乃至図20〕
次に、上述した実施形態についての種々の変形例について説明する。
ここまでの説明では、通常公開鍵証明書を用いた認証が正常に行えず、レスキュー公開鍵証明書を用いた認証が成功した場合に下位装置40の正規認証情報を更新する例について説明した。ここで下位装置40の正規認証情報を更新するようにしたのは、この実施形態の通信システムにおいて上位装置30は1つであるのに対し、下位装置40は上位装置30に複数接続可能であり、着脱も可能であることから、下位装置40の方が管理を行い難く、そのため通常公開鍵証明書の有効期限切れも発生しやすいためである。
しかし、上位装置30において通常公開鍵証明書の期限切れが起こる場合も考えられることから、上位装置30は、これを認識した場合に自身の正規認証情報の更新を試みるようにしてもよい。
この場合の処理シーケンスの例を図17に示す。
この場合には、まずHTTPSクライアント機能部31を対CAクライアントとして機能させて、証明書管理装置20に対して通常証明書発行要求と共に自身の機番情報を送信して、自身用の新たな証明書セットの作成を要求する(S401)。このとき、上位装置30の通常公開鍵証明書は期限切れであるため、相互認証を行う場合にはこれを用いて認証を受けることができない。そこで、証明書管理装置20のレスキューURLにアクセスしてレスキュー公開鍵証明書を用いた認証を行うようにする。上位装置30が証明書管理装置20を認証するのみであれば、通常公開鍵証明書を用いた認証が可能である。
証明書管理装置20は、ステップS401の要求を受けると、証明書セット及びその設定要求を作成する(S402)が、ここで作成する証明書セットに含まれる公開鍵証明書は、当然有効期間内のものである。
上位装置30は、ステップS401の要求を送信した後、証明書の作成が完了した頃に証明書管理装置20に対して通信要求を行い、証明書管理装置20から上位装置30への要求の有無を問い合わせる(S403)。このとき、ステップS402の処理が完了していれば、証明書管理装置20は通信要求に対する応答として、証明書設定要求と共に新証明書セットを上位装置30に返す(S404)。
上位装置30はこの要求を受けると、証明書記憶部45に記憶している正規認証情報を受信した新証明書セットの内容に更新し(S405)、更新処理の結果を示す証明書更新要求応答を証明書管理装置20に返す(S406)。証明書管理装置20はこれに対して応答を受信した旨の通知を返す(S407)。
以上の処理によって、下位装置40の場合と同様に上位装置30の正規認証情報を更新することができる。
また、上述した実施形態においては、上位装置30が下位装置40に要求を送信しようとした場合に通常公開鍵証明書を用いた認証を行う例について説明したが、これとは無関係に、各下位装置40の通常URLに対して通信を要求し、下位装置の検索を行うようにしてもよい。そして、この認証が通常公開鍵証明書の期限切れのため正常に行えなかった下位装置40については、図15及び図16のステップS305以下と同様な処理を行って通常公開鍵証明書を含む正規認証情報を更新するようにすれば、定期的に通常公開鍵証明書の有効期限切れの有無を確認し、有効期間が過ぎていた場合には下位装置40の通常公開鍵証明書を更新して、通信システムの各装置が通常公開鍵証明書を用いて通信相手を認証可能な状態を保つことができる。
さらに、通信相手として記憶している装置のIPアドレスだけでなく、定められたIPアドレスの範囲全てに対してこの検索を行うようにすれば、新たな下位装置40が接続された場合でも、自動的に検出して通常公開鍵証明書を用いた認証が可能な状態にすることができる。製造時に下位装置40に記憶させてあった通常公開鍵証明書が、通信システムに接続される前に有効期限切れになっていた場合でも、レスキュー公開鍵証明書を用いた認証が成功すれば、証明書管理装置20にその下位装置40に対する新しい通常公開鍵証明書を発行させ、下位装置40に記憶させることができる。
なお、この検索によって通常公開鍵証明書の有効期間が過ぎている下位装置40を発見した場合には、ただちに通常公開鍵証明書の更新を行うので、このような検索は、下位装置40の通常公開鍵証明書を更新する動作の一部であると考えることができる。
また、上述した実施形態では、通信の要求を上位装置30から下位装置40に対して行う例について説明したが、このようにすることは必須ではない。すなわち、下位装置40から上位装置30に対して通信を行う場合でも、同様な処理が可能である。
図18乃至図20に、このようにする場合の、図15と対応する部分の処理シーケンスを示す。ただし、図18乃至図20においては、シーケンスを図15の場合よりも簡略化して示している。
まず、図18には、通常公開鍵証明書を用いた認証を行う場合も、レスキュー公開鍵証明書を用いた認証を行う場合も、下位装置40から上位装置30に対して通信を要求するようにする場合の例を示している。
この場合、下位装置40が上位装置30と通常の通信を行うべく、通常URLに通信を要求すると(S501)、これに応じて上位装置30と下位装置40との間で通常公開鍵証明書を用いた認証処理を行う(S502)。
この認証処理は、図22に示したような相互認証であっても、片方向認証であっても構わないが、少なくとも、上位装置30が下位装置40の公開鍵証明書を用いて下位装置40を認証するものとする。そして、この例では下位装置40がクライアントに該当するため、片方向認証を行う場合の処理は、図24に示したものとは若干異なることになるが、下位装置40が自身の私有鍵で乱数を暗号化して公開鍵証明書と共に上位装置30に送信し、上位装置30側で公開鍵証明書の正当性を確認した上で乱数を復号化して認証を行うという点では同様な処理を行えばよい。
そして、上位装置30がステップS502での認証が通常公開鍵証明書の期限切れのため失敗したと判断すると(S503)、下位装置40に認証失敗応答を返す(S504)。すると、この応答を受けた下位装置40が、次は上位装置30のレスキューURLに対して通信を要求する(S505)。そして、レスキュー公開鍵証明書を用いた認証処理を行い(S506)、上位装置30が認証成功と判断すると(S507)、図15のステップS311の場合と同様、下位装置40は通常公開鍵証明書の有効期限は過ぎているが正当な通信相手で有り得ると判断する(S508)。そして、図16に示した処理を実行して下位装置40の正規認証情報を更新する。
また、図19には、通常公開鍵証明書を用いた認証を行う場合には下位装置40から上位装置30に対して通信を要求し、レスキュー公開鍵証明書を用いた認証を行う場合には、上位装置30から下位装置40に対して通信を要求するようにする場合の例を示している。
この場合、ステップS511〜S514の処理は、図18のステップS501〜S504の場合と同様であるが、上位装置30は、下位装置40に認証失敗応答を返すと、その後下位装置40のレスキューURLに対して通信を要求する(S515)。そして、レスキュー公開鍵証明書を用いた認証処理を行い(S516)、認証成功と判断すると(S517)、図15のステップS311の場合と同様、下位装置40は通常公開鍵証明書の有効期限は過ぎているが正当な通信相手で有り得ると判断する(S518)。そして、図13に示した処理を実行して下位装置40の正規認証情報を更新する。
また、図20には、逆に通常公開鍵証明書を用いた認証を行う場合には上位装置30から下位装置40に対して通信を要求し、レスキュー公開鍵証明書を用いた認証を行う場合には、下位装置40から上位装置30に対して通信を要求するようにする場合の例を示している。
この場合、上位装置40が下位装置30と通常の通信を行うべく、通常URLに通信を要求すると(S521)、これに応じて上位装置30と下位装置40との間で通常公開鍵証明書を用いた認証処理を行う(S522)。認証処理の内容については、図22に示したような相互認証でも図24に示したような片方向認証でもよい。
そして、上位装置30がステップS522での認証が通常公開鍵証明書の期限切れのため失敗したと判断すると(S523)、下位装置40に認証失敗応答を送信する(S524)。そして、下位装置40は、この応答を受信すると、上位装置30のレスキューURLに対して通信を要求する(S525)。そして、レスキュー公開鍵証明書を用いた認証処理を行い(S526)、上位装置30が認証成功と判断すると(S527)、図15のステップS311の場合と同様、下位装置40は通常公開鍵証明書の有効期限は過ぎているが正当な通信相手で有り得ると判断する(S528)。そして、図16に示した処理を実行して下位装置40の正規認証情報を更新する。
以上のような図18乃至図20のいずれに示したシーケンスを採用した場合でも、上述した実施形態の場合と同様、通常公開鍵証明書を用いた認証が通常公開鍵証明書の期限切れのため失敗した場合にレスキュー公開鍵証明書を用いた認証を行い、これが成功した場合に下位装置40は通常公開鍵証明書の有効期限は過ぎているが正当な通信相手で有り得ると判断できる。従って、上位装置30が新証明書セットを取得して下位装置40に送信し、正規認証情報を更新させることにより、安全かつ自動的に、容易に有効期間内の通常公開鍵証明書を設定し、正常な認証を行うことができるようにすることができる。
また、どちらの装置が通信要求を行うかを、場合に応じて変えることができるようにしてもよい。例えば、通常公開鍵証明書を用いた認証が失敗した場合に上位装置30が下位装置40のレスキューURLに通信を要求するようにしたり、通常公開鍵証明書を用いた認証が失敗した旨の応答を受信した場合に下位装置40が上位装置30のレスキューURLに通信を要求したりするようにすれば、初めの通常URLへの通信をどちらの装置から行ったとしても、以後の処理を同じように進めることができる。
なお、新証明書セットの送信に係る図13のステップS316の通信も、下位装置40側から通信要求を行い、上位装置30側からその通信要求に応じて証明書更新要求を送信するようにしてもよい。
ところで、上述した実施形態においては、通常公開鍵証明書とレスキュー公開鍵証明書とを同じベンダーのCAが発行する例について説明した。しかし、従来の技術の項で説明したように、通常公開鍵証明書については、信頼性の高い第3者機関のCAに発行を依頼するようにするとよい。このようなCAの発行する通常公開鍵証明書は、有効期間が短いことが多いが、上述した実施形態によれば、通常公開鍵証明書の有効期間が過ぎた後でも通常公開鍵証明書を安全かつ自動的に容易に更新することができるので、有効期間が短いことによる問題を解消することができる。そして、信頼性の高い第3者機関のCAが発行した、対外的に信用の高い公開鍵証明書を用いた認証を利用して通信システムを運用することができる。
なお、この場合において、第3者機関のCAには、上位装置30から直接証明書の発行を依頼する他、一旦証明書管理装置20を介し、証明書管理装置20から証明書の発行を依頼する方式も考えられる。
また、レスキュー公開鍵証明書については、有効期間を自由に定められるよう、上位装置30や下位装置40のベンダーが自身でCAを設けて発行するようにするとよい。また、レスキュー公開鍵証明書は、有効期間が長いため、レスキュールート私有鍵が漏洩すると通信の安全性維持が著しく困難になるので、秘密保持を特に厳重に行う必要がある。そこで、安全性を重視し、例えば証明書を記憶させる工程を有する工場のみと専用線で通信可能なような、外部からアクセス不能な証明書管理装置を用いるとよい。
なお、下位装置用の証明書を発行する証明書管理装置,上位装置用の証明書を発行する証明書管理装置,各証明書管理装置の証明書を発行する証明書管理装置等、証明書を発行する対象の装置の種類に応じて証明書管理装置を分けるようにしてもよい。
ただし、通常公開鍵証明書とレスキュー公開鍵証明書を別々のCAが発行することは必須ではなく、共通のCAが発行するようにすることも可能である。
また、上述した実施形態では、有効期限が短い通常公開鍵証明書と、有効期限の長いレスキュー公開鍵証明書とを用いる例について説明したが、前者はセキュリティ強度が高い証明書、後者はセキュリティ強度が比較的低い証明書と捉えることもできる。
一般に、セキュリティ強度が高い証明書には、多くの情報を記載する必要があったり、輸出制限があったり特殊な認証処理プログラムが必要であったりして利用可能な環境が限られていたりするため、全ての装置に同じように記憶させて認証処理に用いることが難しい場合がある。一方で、セキュリティ強度が低い証明書であれば、このような制限が少なく、全ての装置に同じように記憶させて認証処理に用いることが比較的容易であると考えられる。
そこで、セキュリティ強度が低い証明書を記憶させた装置を製造・販売した上で、利用環境に合わせてセキュリティ強度が高い証明書を事後的に記憶させることができるようにしたいという要求がある。例えば、システムの運用者によって種々の方法に認証処理の内容を工夫してセキュリティの向上を図る場合も考えられるが、このような場合、ある装置を1つのシステムから他のシステムに移動(単に設定を変更するのみの場合も含む)させる場合、通常の認証処理に使用する証明書を入れ換える必要があることが考えられる。また、セキュリティの高い証明書に後で欠陥が発見され、認証処理の方式を変更する必要が生じることも考えられる。
このような場合に、上述した実施形態の処理を利用し、セキュリティの高い証明書を用いた認証が失敗した場合にセキュリティの低い証明書を用いた認証を行い、これが成功した場合にセキュリティの高い証明書を用いた認証の失敗は認証の異常が原因であると判断して、上位装置30がセキュリティの高い証明書を含む証明書セットを取得して下位装置40に送信し、これを記憶させることにより、ある程度の安全性を確保しながら、顧客先に設置した後の装置に利用シーンに合った証明書を記憶させることも可能となる。
また、上述した実施形態では、上位装置30と下位装置40あるいは証明書管理装置20が、図22あるいは図24を用いて説明したようなSSLに従った認証を行う場合の例について説明した。しかし、この認証が必ずしもこのようなものでなくても上述した実施形態のような効果を得ることができる。
SSLを改良したTLS(Transport Layer Security)も知られているが、このプロトコルに基づく認証処理を行う場合にも当然適用可能である。
また、上述した実施形態では、証明書管理装置20を上位装置30と別に設ける例について説明したが、これと一体として設けることを妨げるものではない。この場合、証明書管理装置20の機能を実現するためのCPU,ROM,RAM等の部品を独立して設けてもよいが、上位装置30のCPU,ROM,RAM等を使用し、そのCPUに適当なソフトウェアを実行させることにより、証明書管理装置20として機能させるようにしてもよい。
このような場合において、証明書管理装置20と、これと一体になっている上位装置30との間の通信には、ハードウェアを証明書管理装置20として機能させるためのプロセスと、ハードウェアを上位装置30として機能させるためのプロセスとの間のプロセス間通信を含むものとする。
さらに、上述した各実施形態では、証明書管理装置20がルート鍵やデジタル証明書を自ら作成する例について説明したが、図2に示した証明用鍵作成部24や証明書発行部25の機能を証明書管理装置20とは別の装置に設け、証明書管理装置20がその装置からルート鍵やデジタル証明書の供給を受けてこれらを取得するようにしてもよい。
なお、上述した実施形態では、下位装置40の通常公開鍵証明書の有効期限切れのため通常公開鍵証明書を用いた認証処理が失敗した場合に上位装置30が下位装置40のレスキューURLにアクセスして正規認証情報の更新に係る処理を行う例について説明した。しかし、それ以外の理由で認証処理が失敗した場合にも、同様な処理を行うようにしてもよい。すなわち、図13のステップS104において、他の原因でもステップS105以下の処理に進むようにしてもよい。
この場合でも、レスキュー公開鍵証明書を用いた認証処理が成功すれば、通信を要求した相手は正当な通信相手でありうる装置であることはわかる。そして、このことにより、通常公開鍵証明書を用いた認証処理が失敗したのは、下位装置40が記憶しているべき証明書の異常に起因して認証に異常が発生しているためであると判断することができる。従って、このような場合に下位装置40に新たな正規認証情報を送信して正規認証情報を更新させれば、速やかに異常の解消を図り、再び通常公開鍵証明書を用いた認証が可能な状態にすることができると考えられる。また、この場合、図13のステップS107の処理において、上位装置30のCPUが異常検知手段としても機能する。
ただし、認証処理の失敗の原因が、公開鍵証明書に付された識別情報が通信相手として不適切な装置のものであったり、通信要求に全く応答がなかったり、認証処理に対応していない旨の応答を返してきた場合等には、通信相手は上位装置30と全く関係ない装置であることが考えられるので、このような場合にはレスキューURLへのアクセスを行わないようにしてもよい。
また、通常公開鍵証明書の有効期限が切れていない場合(期限内に破損した場合等)には、証明書管理装置20において、過去に下位装置40に対して発行した公開鍵や私有鍵を管理しているのであれば、その鍵をそのまま使うようにしてもよい。
また、上述した実施形態では、レスキュー公開鍵証明書にも装置の識別情報を記載する例について説明したが、レスキュー公開鍵証明書には装置の識別情報を含めず、同じ階位の装置(図1及び図2に示した例では、証明書管理装置,上位装置,下位装置の階位が存在するものとする)には、全て同じレスキュー公開鍵証明書を記憶させるようにしてもよい。この場合、同じ階位の各装置を個別に区別する必要がないので、証明書に含まれるレスキュー公開鍵及びこれと対応するレスキュー私有鍵も含めて、全く共通のものでよい。そして、通信相手のレスキュー公開鍵証明書が全て同じであることから、ルート鍵証明書については、ある階位の装置の通信相手となる全ての装置について共通となる。すなわち、図21に示したように下位装置を複数設けた場合でも、全ての下位装置に同じレスキュー認証情報を記憶させることになる。
これは、上位装置30のレスキュー認証情報や証明書管理装置20のレスキュー認証情報についても同様である。
なお、通常公開鍵証明書とデータ形式を統一化する場合には、例えば図9に示した形式において「Subject」の項目を空白としたり、ベンダー名のみ記載して機番として0を記載してレスキュー公開鍵証明書であることを示すこと等も考えられる。
このようにすれは、レスキュー認証情報は同じ階位の装置について全て共通となるので、装置の製造時にその機種に応じて定まる階位に応じたものを記憶させてしまうことができる。すなわち、装置の識別情報を付した情報ではないため、検査工程を終了して識別番号を付した各装置に対してそれぞれ個別の証明書を用意して記憶させる必要はなく、多数の装置に対して単純作業によって記憶させることができる。例えば、制御プログラムのマスタにレスキュー認証情報を含めておき、制御プログラムを装置にコピーする際にレスキュー認証情報も共に記憶させる等である。
そして、レスキュー公開鍵証明書に十分長期の有効期間を設定しておけば、その後レスキュー認証情報を更新する必要はなく、上記のように通常公開鍵証明書の有効期間が過ぎて通常公開鍵証明書による認証が行えなくなった場合でも、レスキュー認証情報に含まれるレスキュー公開鍵証明書を用いた認証は可能な状態を保つことができる。
ここで、レスキュー公開鍵証明書には装置の識別情報を付していないため、レスキュー公開鍵証明書を用いた認証を行った場合でも、通信相手の装置を具体的に特定することはできない。しかし、通信相手についてある程度の情報は得ることができる。
すなわち、例えばあるベンダーが自社製品のうち下位装置40に該当する装置全てに下位装置用のレスキュー認証情報(下位装置用レスキュー公開鍵証明書,下位装置用レスキュー私有鍵及び上位装置認証用レスキュールート鍵証明書)を記憶させ、その通信相手となる上位装置30に該当する装置全てに上位装置用のレスキュー認証情報(上位装置用レスキュー公開鍵証明書,上位装置用レスキュー私有鍵及び下位装置認証用レスキュールート鍵証明書)を記憶させておけば、下位装置40は、認証処理が成功した場合、自己の記憶している上位装置認証用レスキュールート鍵証明書で正当性を確認できる公開鍵証明書を送信してきた相手が同じベンダーの上位装置30であることを認識できるし、逆に上位装置30も自己の記憶しているレスキュールート鍵証明書で正当性を確認できる公開鍵証明書を送信してきた相手は同じベンダーの下位装置40であることを認識できる。
そして、このような認証が成功すれば、前述のように通信相手との間で共通鍵を共有して共通鍵暗号を用いた安全な通信経路を設けることができるので、その後機種機番情報等を交換して通信相手を特定することも可能である。また、証明書管理装置20と上位装置30の間についても同様なことが可能である。
なお、通常公開鍵証明書についても、同様に装置の識別情報を含めないものとすることも考えられる。このようにしたとしても、有効期限が短い分だけレスキュー公開鍵証明書よりも安全性を高めることができる。
また、この発明によるプログラムは、コンピュータを、通信手段を備え、通信の際に通信相手をデジタル証明書を用いて認証する通信装置又はその通信相手となる通信装置である、上位装置30あるいは下位装置40のような装置として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
以上説明してきた通り、この発明の通信装置、通信システム、通信方法あるいはプログラムを用いれば、通信の際に通信相手を証明書を用いて認証する通信装置あるいはこのような通信装置を用いて構成した通信システムにおいて、証明書を用いる認証に異常が生じた場合でも正常な認証が行える状態に容易に回復させることができるようにすることができる。
従って、この発明を、このような通信システム又は、通信システムを構成する通信装置に適用することにより、セキュリティの高い通信システムを構成することができる。
この発明の実施形態である通信システムを構成する、この発明の通信装置の実施形態である上位装置及び下位装置について、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。 図1に示した上位装置と通信可能とした証明書管理装置について、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。 図1及び図2に示した証明書管理装置のハードウェア構成を示すブロック図である。 図1及び図2に示した下位装置の要求管理部における要求の許可/不許可の判断基準について説明するための図である。 図1及び図2に示した上位装置及び下位装置が記憶する認証情報について説明するための図である。 同じく証明書管理装置が記憶する認証情報について説明するための図である。 通常公開鍵証明書のフォーマット例について説明するための図である。 図7に記載したフォーマットに従って作成した一般的な公開鍵証明書の例を示す図である。 同じく、レスキュー公開鍵証明書と対比するための、通常公開鍵証明書の例を示す図である。 同じく、通常公開鍵証明書と対比するための、レスキュー公開鍵証明書の例を示す図である。
図1及び図2に示した上位装置及び下位装置が通常公開鍵証明書とレスキュー公開鍵証明書とを使い分けるための構成について説明するための図である。 図1及び図2に示した通信システムにおいて、下位装置の正規認証情報を更新する際に上位装置から下位装置に送信する証明書セットの構成例を示す図である。 その通信システムにおいて、通常公開鍵証明書とレスキュー公開鍵証明書の2種類の証明書を用いた証明書の更新に関する処理のうち上位装置が行う処理の例を示すフローチャートである。 同じく下位装置が行う処理の例を示すフローチャートである。 その通信システムにおいて図13及び図14に示す処理を実行した場合の処理シーケンスの例を示す図である。 その続きを示す図である。 その通信システムにおいて上位装置が自らの正規認証情報を更新する場合の処理シーケンスの例を示す図である。 図15に示した処理シーケンスの変形例を、簡略化して示す図である。 その更に別の変形例を示す図である。 その更に別の変形例を示す図である。 その通信システムについて、下位装置を複数設けた場合の構成について説明するための図である。 2つの通信装置がSSLに従った相互認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。 図22に示した認証処理におけるルート鍵、ルート私有鍵、および公開鍵証明書の関係について説明するための図である。 2つの通信装置がSSLに従った片方向認証を行う際の各装置において実行する処理を示す、図22と対応する図である。
符号の説明
11:CPU 12:ROM
13:RAM 14:HDD
15:通信I/F 16:システムバス
20:証明書管理装置
21,32,42:HTTPSサーバ機能部
22,33,43:認証処理部
23,48:証明書更新部 24:証明用鍵作成部
25:証明書発行部 26:証明書管理部
30:上位装置
31,41:HTTPSクライアント機能部
34:証明書更新要求部 35,45:証明書記憶部
40:下位装置 44:要求管理部
46:状態通知部 47:ログ通知部
49:コマンド受信部

Claims (16)

  1. ネットワークを介して相手先装置と通信を行う通信装置であって、
    前記相手先装置と通信を行う場合に、該相手先装置から受信した第1の証明書を用いて該相手先装置の認証を行う第1の認証手段と、
    前記第1の認証手段による認証が失敗した場合に、前記相手先装置から受信した、前記第1の証明書よりも長い有効期間が設定されている第2の証明書を用いて該相手先装置の認証を行う第2の認証手段と、
    前記第2の認証手段による認証が成功した場合に、前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を前記相手先装置へ送信する送信手段とを設けたことを特徴とする通信装置。
  2. ネットワークを介して相手先装置と通信を行う通信装置であって、
    前記相手先装置と通信を行う場合に、該相手先装置から受信した、有効期限がある証明書である第1の証明書を用いて該相手先装置の認証を行う第1の認証手段と、
    前記第1の認証手段による認証が失敗した場合に、前記相手先装置から受信した、有効期限がない証明書である第2の証明書を用いて該相手先装置の認証を行う第2の認証手段と、
    前記第2の認証手段による認証が成功した場合に、前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を前記相手先装置へ送信する送信手段とを設けたことを特徴とする通信装置。
  3. 請求項1又は2に記載の通信装置であって、
    前記第2の認証手段による認証が成功した場合に、所定の証明書管理装置に対して、前記相手先装置へ送信する、前記第1の証明書を更新するための証明書の発行を要求し、該証明書管理装置から該第1の証明書を更新するための証明書を取得する手段を設けたことを特徴とする通信装置。
  4. ネットワークを介して相手先装置と通信を行う通信装置であって、
    第1の証明書と該第1の証明書より有効期間が長い第2の証明書とを記憶する記憶手段と、
    前記相手先装置と通信を行う場合に、前記第1の証明書を前記相手先装置へ送信する第1の送信手段と、
    前記第1の送信手段が送信した前記第1の証明書を用いた前記相手先装置での認証が失敗した場合に、前記第2の証明書を前記相手先装置へ送信する第2の送信手段と、
    前記第2の送信手段が送信した前記第2の証明書を用いた前記相手先装置での認証が成功した場合に、前記相手先装置から前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を受信し、前記記憶手段に記憶された前記第1の証明書を前記受信した証明書に更新する更新手段とを設けたことを特徴とする通信装置。
  5. ネットワークを介して相手先装置と通信を行う通信装置であって、
    有効期限がある証明書である第1の証明書と有効期限がない証明書である第2の証明書とを記憶する記憶手段と、
    前記相手先装置と通信を行う場合に、前記第1の証明書を前記相手先装置へ送信する第1の送信手段と、
    前記第1の送信手段が送信した前記第1の証明書を用いた前記相手先装置での認証が失敗した場合に、前記第2の証明書を前記相手先装置へ送信する第2の送信手段と、
    前記第2の送信手段が送信した前記第2の証明書を用いた前記相手先装置での認証が成功した場合に、前記相手先装置から前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を受信し、前記記憶手段に記憶された前記第1の証明書を前記受信した証明書に更新する更新手段とを設けたことを特徴とする通信装置。
  6. 請求項4又は5に記載の通信装置であって、
    前記第2の送信手段が送信した前記第2の証明書を用いた前記相手先装置での認証が成功した場合に、前記相手先装置からの要求のうち、前記証明書更新要求のみを許可することを特徴とする通信装置。
  7. 請求項4乃至6のいずれか一項に記載の通信装置であって、
    前記更新手段が受信する前記第1の証明書を更新するための証明書は、前記証明書更新要求と共に送信されてくるものであることを特徴とする通信装置。
  8. 上位装置と下位装置とを備え、前記上位装置と前記下位装置とがネットワークを介して通信を行う通信システムであって、
    前記下位装置に、
    第1の証明書と該第1の証明書より有効期間が長い第2の証明書とを記憶する記憶手段と、
    前記上位装置と通信を行う場合に、前記第1の証明書を前記上位装置へ送信する第1の送信手段と、
    前記第1の送信手段が送信した前記第1の証明書を用いた前記上位装置での認証が失敗した場合に、前記第2の証明書を前記上位装置へ送信する第2の送信手段と、
    前記第2の送信手段が送信した前記第2の証明書を用いた前記上位装置での認証が成功した場合に、前記上位装置から前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を受信し、前記記憶手段に記憶された前記第1の証明書を前記受信した証明書に更新する更新手段とを設け、
    前記上位装置に、
    前記下位装置と通信を行う場合に、該下位装置から受信した前記第1の証明書を用いて該下位装置の認証を行う第1の認証手段と、
    前記第1の認証手段による認証が失敗した場合に、前記下位装置から受信した前記第2の証明書を用いて該下位装置の認証を行う第2の認証手段と、
    前記第2の認証手段による認証が成功した場合に、前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を前記下位装置へ送信する送信手段とを設けたことを特徴とする通信システム。
  9. 上位装置と下位装置とを備え、前記上位装置と前記下位装置とがネットワークを介して通信を行う通信システムであって、
    前記下位装置に、
    有効期限がある証明書である第1の証明書と有効期限がない証明書である第2の証明書とを記憶する記憶手段と、
    前記上位装置と通信を行う場合に、前記第1の証明書を前記上位装置へ送信する第1の送信手段と、
    前記第1の送信手段が送信した前記第1の証明書を用いた前記上位装置での認証が失敗した場合に、前記第2の証明書を前記上位装置へ送信する第2の送信手段と、
    前記第2の送信手段が送信した前記第2の証明書を用いた前記上位装置での認証が成功した場合に、前記上位装置から前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を受信し、前記記憶手段に記憶された前記第1の証明書を前記受信した証明書に更新する更新手段とを設け、
    前記上位装置に、
    前記下位装置と通信を行う場合に、該下位装置から受信した前記第1の証明書を用いて該下位装置の認証を行う第1の認証手段と、
    前記第1の認証手段による認証が失敗した場合に、前記下位装置から受信した前記第2の証明書を用いて該下位装置の認証を行う第2の認証手段と、
    前記第2の認証手段による認証が成功した場合に、前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を前記下位装置へ送信する送信手段とを設けたことを特徴とする通信システム。
  10. 請求項8又は9に記載の通信システムであって、
    前記上位装置に、前記第2の認証手段による認証が成功した場合に、所定の証明書管理装置に対して、前記下位装置へ送信する、前記第1の証明書を更新するための証明書の発行を要求し、該証明書管理装置から該第1の証明書を更新するための証明書を取得する手段を設けたことを特徴とする通信システム。
  11. 請求項8乃至10のいずれか一項に記載の通信システムであって、
    前記下位装置は、前記第2の送信手段が送信した前記第2の証明書を用いた前記上位装置での認証が成功した場合に、前記上位装置からの要求のうち、前記証明書更新要求のみを許可することを特徴とする通信システム。
  12. 請求項8乃至11のいずれか一項に記載の通信システムであって、
    前記上位装置の送信手段は、前記証明書更新要求と共に前記第1の証明書を更新するための証明書を前記下位装置へ送信し、
    前記下位装置の前記更新手段が受信する前記第1の証明書を更新するための証明書は、前記証明書更新要求と共に送信されてくるものであることを特徴とする通信システム。
  13. ネットワークを介して相手先装置と通信を行う通信装置に、
    前記相手先装置と通信を行う場合に、該相手先装置から受信した第1の証明書を用いて該相手先装置の認証を行う第1の認証手順と、
    前記第1の認証手順による認証が失敗した場合に、前記相手先装置から受信した、前記第1の証明書よりも長い有効期間が設定されている第2の証明書を用いて該相手先装置の認証を行う第2の認証手順と、
    前記第2の認証手順による認証が成功した場合に、前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を前記相手先装置へ送信する送信手順とを実行させることを特徴とする通信方法。
  14. ネットワークを介して相手先装置と通信を行う通信装置であって、第1の証明書と該第1の証明書より有効期間が長い第2の証明書とを記憶する記憶手段を有する通信装置に、
    前記相手先装置と通信を行う場合に、前記第1の証明書を前記相手先装置へ送信する第1の送信手順と、
    前記第1の送信手順で送信した前記第1の証明書を用いた前記相手先装置での認証が失敗した場合に、前記第2の証明書を前記相手先装置へ送信する第2の送信手順と、
    前記第2の送信手順で送信した前記第2の証明書を用いた前記相手先装置での認証が成功した場合に、前記相手先装置から前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を受信し、前記記憶手段に記憶された前記第1の証明書を前記受信した証明書に更新する更新手順とを実行させることを特徴とする通信方法。
  15. ネットワークを介して相手先装置と通信を行う通信装置を制御するコンピュータを、
    前記相手先装置と通信を行う場合に、該相手先装置から受信した第1の証明書を用いて該相手先装置の認証を行う第1の認証手段と、
    前記第1の認証手段による認証が失敗した場合に、前記相手先装置から受信した、前記第1の証明書よりも長い有効期間が設定されている第2の証明書を用いて該相手先装置の認証を行う第2の認証手段と、
    前記第2の認証手段による認証が成功した場合に、前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を前記相手先装置へ送信する送信手段として機能させるためのプログラム。
  16. ネットワークを介して相手先装置と通信を行う通信装置であって、第1の証明書と該第1の証明書より有効期間が長い第2の証明書とを記憶する記憶手段を有する通信装置を制御するコンピュータを、
    前記相手先装置と通信を行う場合に、前記第1の証明書を前記相手先装置へ送信する第1の送信手段と、
    前記第1の送信手段が送信した前記第1の証明書を用いた前記相手先装置での認証が失敗した場合に、前記第2の証明書を前記相手先装置へ送信する第2の送信手段と、
    前記第2の送信手段が送信した前記第2の証明書を用いた前記相手先装置での認証が成功した場合に、前記相手先装置から前記第1の証明書の更新を要求する証明書更新要求及び前記第1の証明書を更新するための証明書を受信し、前記記憶手段に記憶された前記第1の証明書を前記受信した証明書に更新する更新手段として機能させるためのプログラム。
JP2004217723A 2003-07-25 2004-07-26 通信装置、通信システム、通信方法及びプログラム Expired - Fee Related JP4611680B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004217723A JP4611680B2 (ja) 2003-07-25 2004-07-26 通信装置、通信システム、通信方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003201638 2003-07-25
JP2003201644 2003-07-25
JP2003341329 2003-09-30
JP2004217723A JP4611680B2 (ja) 2003-07-25 2004-07-26 通信装置、通信システム、通信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005130445A JP2005130445A (ja) 2005-05-19
JP4611680B2 true JP4611680B2 (ja) 2011-01-12

Family

ID=34658066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004217723A Expired - Fee Related JP4611680B2 (ja) 2003-07-25 2004-07-26 通信装置、通信システム、通信方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4611680B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4611678B2 (ja) * 2003-07-25 2011-01-12 株式会社リコー 通信装置、通信システム、通信方法及びプログラム
JP4856063B2 (ja) * 2004-06-04 2012-01-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ファーストパーティをセカンドパーティに認証する認証方法
US9432197B2 (en) * 2010-02-24 2016-08-30 Renesas Electronics Corporation Wireless communications device and authentication processing method
JP5286380B2 (ja) 2011-03-07 2013-09-11 株式会社東芝 データ送信装置および送信方法
JP5612006B2 (ja) 2012-03-13 2014-10-22 株式会社東芝 データ送信装置、データ受信装置、及びプログラム
US8539567B1 (en) * 2012-09-22 2013-09-17 Nest Labs, Inc. Multi-tiered authentication methods for facilitating communications amongst smart home devices and cloud-based servers
JP6409628B2 (ja) * 2015-03-11 2018-10-24 ブラザー工業株式会社 通信機器
JP7091911B2 (ja) * 2018-07-24 2022-06-28 株式会社リコー 情報処理装置および情報処理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229078A (ja) * 2000-01-14 2001-08-24 Hewlett Packard Co <Hp> 公開鍵暗号技術に基づいた認可インフラストラクチャ
JP2001237820A (ja) * 2000-02-25 2001-08-31 Nec Corp 認証用証明書書き換えシステム
JP2001249612A (ja) * 2000-01-14 2001-09-14 Hewlett Packard Co <Hp> 使い捨て証明書を用いる公開鍵インフラストラクチャ
JP2002501218A (ja) * 1998-01-09 2002-01-15 サイバーセイフ コーポレイシヨン 短寿命証明書によるクライアント側公開鍵認証方法とその装置
JP2003503963A (ja) * 1999-06-30 2003-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション トランスコーディング・プロキシでの複数の起点サーバへの動的接続
JP2005130444A (ja) * 2003-07-25 2005-05-19 Ricoh Co Ltd 通信装置、通信システム、証明書送信方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05336108A (ja) * 1992-06-04 1993-12-17 Toshiba Corp 無線通信システム
JPH09200194A (ja) * 1995-12-29 1997-07-31 Intel Corp 安全保護の行われた通信を行うための装置および方法
JP4307589B2 (ja) * 1997-10-31 2009-08-05 サーティコム コーポレーション 認証プロトコル
JP3905961B2 (ja) * 1997-11-11 2007-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 臨時署名認証の方法及びそのシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002501218A (ja) * 1998-01-09 2002-01-15 サイバーセイフ コーポレイシヨン 短寿命証明書によるクライアント側公開鍵認証方法とその装置
JP2003503963A (ja) * 1999-06-30 2003-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション トランスコーディング・プロキシでの複数の起点サーバへの動的接続
JP2001229078A (ja) * 2000-01-14 2001-08-24 Hewlett Packard Co <Hp> 公開鍵暗号技術に基づいた認可インフラストラクチャ
JP2001249612A (ja) * 2000-01-14 2001-09-14 Hewlett Packard Co <Hp> 使い捨て証明書を用いる公開鍵インフラストラクチャ
JP2001237820A (ja) * 2000-02-25 2001-08-31 Nec Corp 認証用証明書書き換えシステム
JP2005130444A (ja) * 2003-07-25 2005-05-19 Ricoh Co Ltd 通信装置、通信システム、証明書送信方法及びプログラム

Also Published As

Publication number Publication date
JP2005130445A (ja) 2005-05-19

Similar Documents

Publication Publication Date Title
JP4555175B2 (ja) 審査装置、通信システム、審査方法、プログラム及び記録媒体
EP1521426B1 (en) Communication apparatus, communication system, certificate transmission method and program
JP4607567B2 (ja) 証明書転送方法、証明書転送装置、証明書転送システム、プログラム及び記録媒体
JP4712325B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4576210B2 (ja) 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体
JP4758095B2 (ja) 証明書無効化装置、通信装置、証明書無効化システム、プログラム及び記録媒体
JP4611680B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4509678B2 (ja) 証明書設定方法
JP4504130B2 (ja) 通信装置、通信システム、証明書送信方法及びプログラム
JP4611679B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4611676B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4611678B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4657642B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4583833B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4657643B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4509675B2 (ja) 通信装置、通信システム及び通信方法
JP4671638B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4712330B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4778210B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4611681B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4712326B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP5434956B2 (ja) 証明書無効化装置、証明書無効化システム、プログラム及び記録媒体
JP4537797B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4570919B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4542848B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100621

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101012

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101014

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees