説明

デジタル証明書無効化方法、デジタル証明書無効化装置、デジタル証明書無効化システム、プログラム及び記録媒体

【課題】 デジタル証明書を無効化する場合に、正規のデジタル証明書や鍵の流出を防止できるようにする。また、通信装置が適当でない通信相手に対応するための処理負荷を低減する。
【解決手段】 上位装置30に、下位装置40から有効な下位装置用正規公開鍵証明書を受信し(S305)、その受信した下位装置用正規公開鍵証明書又は、その証明書に基づく通信経路で受信した情報に基づいて、その公開鍵証明書を無効化すべきと判断した場合に、無効化用の公開鍵証明書である無効化用公開鍵証明書を含む無効化用証明書セットを、下位装置40に転送させる(S308〜S311)。このとき、無効化用公開鍵証明書としては、例えば有効期限のないもの、不適当な発行者情報を記載したものが考えられる。また、無効化用の私有鍵や、無効化用の通信先情報を転送するようにしてもよい。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、通信装置によって該通信装置の通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化方法、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置、このようなデジタル証明書無効化装置とその通信相手となる通信装置とを備えたデジタル証明書無効化システム、コンピュータをこのようなデジタル証明書無効化装置として機能させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
従来から、それぞれ通信機能を備えた複数の通信装置をネットワークを介して通信可能に接続し、様々なシステムを構築することが行われている。その一例としては、クライアント装置として機能するPC(パーソナルコンピュータ)等のコンピュータから商品の注文を送信し、これとインターネットを介して通信可能なサーバ装置においてその注文を受け付けるといった、いわゆる電子商取引システムが挙げられる。また、種々の電子装置にクライアント装置あるいはサーバ装置の機能を持たせてネットワークを介して接続し、相互間の通信によって電子装置の遠隔管理を行うシステムも提案されている。
【0003】
このようなシステムを構築する上では、通信を行う際に、通信相手が適切か、あるいは送信されてくる情報が改竄されていないかといった確認が重要である。また、特にインターネットにおいては、情報が通信相手に到達するまでに無関係なコンピュータを経由する場合が多いことから、機密情報を送信する場合、その内容を盗み見られないようにする必要もある。そして、このような要求に応える通信プロトコルとして、例えばSSL(Secure Socket Layer)と呼ばれるプロトコルが開発されており、広く用いられている。このプロトコルを用いて通信を行うことにより、公開鍵暗号方式と共通鍵暗号方式とを組み合わせ、通信相手の認証を行うと共に、情報の暗号化により改竄及び盗聴の防止を図ることができる。また、通信相手の側でも、通信を要求してきた通信元の装置を認証することができる。
このようなSSLや公開鍵暗号を用いた認証に関連する技術としては、例えば特許文献1及び特許文献2に記載のものが挙げられる。
【0004】
ここで、このSSLに従った相互認証を行う場合の通信手順について、認証処理の部分に焦点を当てて説明する。図27は、通信装置Aと通信装置BとがSSLに従った相互認証を行う際に各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
図27に示すように、SSLに従った相互認証を行う際には、まず双方の通信装置に、ルート鍵証明書及び、私有鍵と公開鍵証明書を記憶させておく必要がある。この私有鍵は、認証局(CA:certificate authority)が各装置に対して発行した私有鍵であり、公開鍵証明書は、その私有鍵と対応する公開鍵にCAがデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、CAがデジタル署名に用いたルート私有鍵と対応するルート鍵に、デジタル署名を付してデジタル証明書としたものである。
【0005】
図28にこれらの関係を示す。
図28(a)に示すように、公開鍵Aは、私有鍵Aを用いて暗号化された文書を復号化するための鍵本体と、その公開鍵の発行者(CA)や有効期間等の情報を含む書誌情報とによって構成される。そして、CAは、鍵本体や書誌情報が改竄されていないことを示すため、公開鍵Aをハッシュ処理して得たハッシュ値を、ルート私有鍵を用いて暗号化し、デジタル署名としてクライアント公開鍵に付す。またこの際に、デジタル署名に用いるルート私有鍵の識別情報を署名鍵情報として公開鍵Aの書誌情報に加える。そして、このデジタル署名を付した公開鍵証明書が、公開鍵証明書Aである。
【0006】
この公開鍵証明書Aを認証処理に用いる場合には、ここに含まれるデジタル署名を、ルート私有鍵と対応する公開鍵であるルート鍵の鍵本体を用いて復号化する。この復号化が正常に行われれば、デジタル署名が確かにCAによって付されたことがわかる。また、公開鍵Aの部分をハッシュ処理して得たハッシュ値と、復号して得たハッシュ値とが一致すれば、鍵自体も損傷や改竄を受けていないことがわかる。さらに、受信したデータをこの公開鍵Aを用いて正常に復号化できれば、そのデータは、私有鍵Aの持ち主から送信されたものであることがわかる。
【0007】
ここで、認証を行うためには、ルート鍵を予め記憶しておく必要があるが、このルート鍵も、図28(b)に示すように、CAがデジタル署名を付したルート鍵証明書として記憶しておく。このルート鍵証明書は、自身に含まれる公開鍵でデジタル署名を復号化可能な、自己署名形式である。そして、ルート鍵を使用する際に、そのルート鍵証明書に含まれる鍵本体を用いてデジタル署名を復号化し、ルート鍵をハッシュ処理して得たハッシュ値と比較する。これが一致すれば、ルート鍵が破損等していないことを確認できるのである。
【0008】
図27のフローチャートの説明に入る。なお、この図において、2本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。また、各ステップの処理が正常に完了しなかった場合には、その時点で認証失敗の応答を返して処理を中断するものとする。相手から認証失敗の応答を受けた場合、処理がタイムアウトした場合等も同様である。
【0009】
ここでは、通信装置Aが通信装置Bに通信を要求するものとするが、この要求を行う場合、通信装置AのCPUは、所要の制御プログラムを実行することにより、図27の左側に示すフローチャートの処理を開始する。そして、ステップS11で通信装置Bに対して接続要求を送信する。
一方通信装置BのCPUは、この接続要求を受信すると、所要の制御プログラムを実行することにより、図27の右側に示すフローチャートの処理を開始する。そして、ステップS21で第1の乱数を生成し、これを私有鍵Bを用いて暗号化する。そして、ステップS22でその暗号化した第1の乱数と公開鍵証明書Bとを通信装置Aに送信する。
【0010】
通信装置A側では、これを受信すると、ステップS12でルート鍵証明書を用いて公開鍵証明書Bの正当性を確認する。
そして確認ができると、ステップS13で、受信した公開鍵証明書Bに含まれる公開鍵Bを用いて第1の乱数を復号化する。ここで復号化が成功すれば、第1の乱数は確かに公開鍵証明書Bの発行対象から受信したものだと確認できる。そして、これが確認できた場合、通信装置Bに対して認証成功の旨を示す情報を送信する。
また、通信装置B側では、この情報を受信すると、ステップS23で通信装置Aに対し、認証のための公開鍵証明書の送信を要求する。
すると、通信装置A側ではこれに応じてステップS14で第2の乱数及び共通鍵の種を生成する。共通鍵の種は、例えばそれまでの通信でやり取りしたデータに基づいて作成することができる。そして、ステップS15で第2の乱数を私有鍵Aを用いて暗号化し、共通鍵の種を公開鍵Bを用いて暗号化し、ステップS16でこれらを公開鍵証明書Aと共にサーバ装置に送信する。共通鍵の種の暗号化は、通信相手以外の装置に共通鍵の種を知られないようにするために行うものである。
また、次のステップS17では、ステップS14で生成した共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
【0011】
通信装置B側では、これを受信すると、ステップS24でルート鍵証明書を用いて公開鍵証明書Aの正当性を確認する。そして確認ができると、ステップS25で、受信した公開鍵証明書Aに含まれる公開鍵Aを用いて第2の乱数を復号化する。ここで復号化が成功すれば、第2の乱数は確かに公開鍵証明書Aの発行対象から受信したものだと確認できる。
その後、ステップS26で私有鍵Bを用いて共通鍵の種を復号化する。ここまでの処理で、通信装置A側と通信装置B側に共通の共通鍵の種が共有されたことになる。そして、この共通鍵の種は、生成した通信装置Aと、私有鍵Bを持つ通信装置B以外の装置が知ることはない。ここまでの処理が成功すると、通信装置B側でもステップS27で復号化で得た共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
【0012】
そして、通信装置A側のステップS17と通信装置B側のステップS27の処理が終了すると、相互に認証の成功と以後の通信に使用する暗号化方式とを確認し、生成した共通鍵を用いてその暗号化方式で以後の通信を行うものとして認証に関する処理を終了する。なお、この確認には、通信装置Bからの認証が成功した旨の応答も含むものとする。以上の処理によって互いに通信を確立し、以後はステップS17又はS27で生成した共通鍵を用い、共通鍵暗号方式でデータを暗号化して通信を行うことができる。
【0013】
このような処理を行うことにより、通信装置Aと通信装置Bが互いに相手を認証した上で安全に共通鍵を共有することができ、通信を安全に行う経路を確立することができる。
ただし、上述した処理において、第2の乱数を私有鍵Aで暗号化し、公開鍵証明書Aを通信装置Bに送信することは必須ではない。このようにすると、通信装置Bが通信装置Aを認証することはできないが、通信装置Aが通信装置Bを認証するだけでよい場合にはこの処理で十分である。そしてこの場合には、通信装置Aに記憶させるのはルート鍵証明書のみでよく、私有鍵A及び公開鍵証明書Aは不要である。また、通信装置Bにはルート鍵証明書を記憶させる必要はない。
【0014】
ところで、遠隔管理等のサービスの提供対象を識別するためにこのような認証処理を利用する場合、サービスの提供対象の装置(利用者側の装置)に、認証処理に必要な証明書等を記憶させることになる。そして、サービスの提供を行う装置が、その証明書等に記載された情報を基に、通信相手がサービスの提供対象として適切な装置であるか否か判断することが行われている。また、証明書等に記載された情報で不十分であれば、通信経路を確立した後で、通信相手から機番情報を取得して、上記の判断に使用することが行われている。
【0015】
また、ある装置が、所定の期間はサービスの提供対象であるが、契約の解消等に伴ってサービスの提供対象から外れる場合が考えられる。このような場合には、サービスの提供対象でなくなった装置の証明書を無効化する必要がある。
このような無効化に関連する技術としては、特許文献3及び特許文献4に記載のような技術が知られている。
【0016】
そして、特許文献3には、登録局(RA)からの申請に基づいて公開鍵登録等の認証サービスを提供する発行局(IA)が、上記のRAからRA自身の公開鍵証明書の無効化申請を受け取った場合に、そのRAから登録された利用者の公開鍵証明書をデータベースから検索し、その利用者の公開鍵証明書を無効化する技術が開示されている。また、特許文献4には、公開鍵認証装置が、属性認証装置から受け取った公開鍵証明書無効化申請書を解析して無効化対象の公開鍵証明書を抽出し、その公開鍵証明書をデータベース中において無効化する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0017】
しかしながら、これらの特許文献3及び4に記載の方式では、利用者の公開鍵証明書の無効化は、証明書を管理する側、すなわちサービスの提供側でのみ行うようにしている。すなわち、サービスの提供側で記憶している利用者テーブルから、無効化する公開鍵証明書に係る利用者の情報や証明書の識別番号を削除する処理を行うようにしており、利用者に公開鍵証明書を無効化した旨を伝えることは行うが、利用者側の装置に記憶させた公開鍵証明書等に何か処置を施すことはせず、そのまま放置するようになっている。
【0018】
このため、利用者側の装置には、依然として、サービスの提供を受けていた時点の公開鍵証明書が記憶されたままとなる。従って、利用者側の装置から、証明書や鍵が流出し、複製されたり悪用されたりする恐れがあるという問題があった。これらの証明書等は、サービス提供側では無効なものとして設定されている。しかし、有効期間の満了に合わせて契約を解消した等の特段の事情がなければ、証明書自体は有効期間内のものであり、形式的には有効な証明書や鍵と何ら変わらないわけであるから、これらが無制限に流出することは好ましくない。
【0019】
また、利用者側の装置は、依然としてサービス提供側の装置にアクセスを試みることができる状態であるので、サービス提供側の装置に、このアクセスがサービスの提供対象外であることを判断し、通信を拒否する処理を行う負荷が生じるという問題があった。この種の負荷は、利用者側の装置に一定期間毎にサービス提供側に対して自動的にアクセスする機能がある場合には、より大きなものとなる。この負荷を低減する方法としては、CRL(Certificate Revocation List:失効リスト)を登録することにより、対象外の装置との間でのSSL通信を不可とすることが考えられるが、それでも、アクセスがある限りは負荷がなくなるわけではない。
そして、サービス提供対象以外の装置に対応するために処理能力を割くことは望ましくないため、このような負荷は極力低減したいという要求があった。
【0020】
この発明は、このような問題を解決し、デジタル証明書を用いて通信相手を認証する通信装置を備えた通信システムを構成する場合において、デジタル証明書を無効化する場合に、正規のデジタル証明書や鍵の流出を防止できるようにすることを目的とする。また、通信装置が適当でない通信相手に対応するための処理負荷を低減することも目的とする。
【課題を解決するための手段】
【0021】
以上の目的を達成するため、この発明のデジタル証明書無効化方法は、通信装置によってその通信装置の通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化方法において、上記通信装置に、上記通信相手から受信した有効なデジタル証明書である正規証明書又は、その正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、無効化用のデジタル証明書である無効化用証明書を上記通信相手に転送させるようにしたものである。
【0022】
このようなデジタル証明書無効化方法において、上記無効化用証明書を、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有するデジタル証明書とするとよい。
さらに、上記無効化用証明書を、上記通信相手が行う、デジタル証明書のフォーマットを確認するフォーマットチェック及びデジタル証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有するデジタル証明書とするとよい。
【0023】
あるいは、上記無効化用証明書を、不適当な有効期間を記載したデジタル証明書としてもよい。
あるいはまた、上記無効化用証明書を、不適当な発行者情報を記載したデジタル証明書としてもよい。
【0024】
また、この発明は、通信装置によってその通信装置の通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化方法であって、上記通信装置に、上記通信相手から受信した有効なデジタル証明書である正規証明書又は、その正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、上記正規証明書と対応させる私有鍵として、無効化用の私有鍵を上記通信相手に転送させるデジタル証明書無効化方法も提供する。
【0025】
また、通信装置によってその通信装置の通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化方法であって、上記通信装置に、上記通信相手から受信した有効なデジタル証明書である正規証明書又は、その正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、上記正規証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を上記通信相手に転送させるデジタル証明書無効化方法も提供する。
また、上記の各デジタル証明書無効化方法において、上記通信装置に、上記無効化用証明書、私有鍵又は通信先情報の転送を行う場合に、転送先の通信相手に、転送した無効化用証明書、私有鍵又は通信先情報を設定するよう要求させるようにするとよい。
【0026】
また、この発明のデジタル証明書無効化装置は、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置において、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、無効化用のデジタル証明書である無効化用証明書を上記通信相手に転送する手段とを設けたものである。
【0027】
このようなデジタル証明書無効化装置において、上記無効化用証明書を、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有するデジタル証明書とするとよい。
さらに、上記無効化用証明書を、上記通信相手が行う、デジタル証明書のフォーマットを確認するフォーマットチェック及びデジタル証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有するデジタル証明書とするとよい。
【0028】
あるいは、上記無効化用証明書を、不適当な有効期間を記載したデジタル証明書とするとよい。
あるいはまた、上記無効化用証明書を、不適当な発行者情報を記載したデジタル証明書とするとよい。
【0029】
また、この発明は、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置であって、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、上記正規証明書と対応させる私有鍵として、無効化用の私有鍵を上記通信相手に転送する手段とを設けたデジタル証明書無効化装置も提供する。
【0030】
また、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置であって、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、上記正規証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を上記通信相手に転送する手段を設けたデジタル証明書無効化装置も提供する。
また、上記の各デジタル証明書無効化装置において、上記無効化用証明書、私有鍵又は通信先情報の転送を行う場合に、転送先の通信相手に、転送した無効化用証明書、私有鍵又は通信先情報を設定するよう要求するようにするとよい。
【0031】
また、この発明のデジタル証明書無効化システムは、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置と、その通信相手となる通信装置とを備えたデジタル証明書無効化システムにおいて、上記デジタル証明書無効化装置に、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、無効化用のデジタル証明書である無効化用証明書を上記通信相手に転送する手段とを設け、上記通信装置に、上記デジタル証明書無効化装置から上記無効化用証明書を受信した場合に、記憶している正規証明書を受信した無効化用証明書で上書きする手段を設けたものである。
【0032】
このようなデジタル証明書無効化システムにおいて、上記無効化用証明書を、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有するデジタル証明書とするとよい。
さらに、上記無効化用証明書を、上記通信装置が行う、デジタル証明書のフォーマットを確認するフォーマットチェック及びデジタル証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有するデジタル証明書とするとよい。
【0033】
あるいは、上記無効化用証明書を、不適当な有効期間を記載したデジタル証明書としてもよい。
あるいはまた、上記無効化用証明書が、不適当な発行者情報を記載したデジタル証明書としてもよい。
【0034】
また、この発明は、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置と、その通信相手となる通信装置とを備えたデジタル証明書無効化システムであって、上記デジタル証明書無効化装置に、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、上記正規証明書と対応させる私有鍵として、無効化用の私有鍵を上記通信相手に転送する手段とを設け、上記通信装置に、上記デジタル証明書無効化装置から上記無効化用の私有鍵を受信した場合に、上記正規証明書と対応する私有鍵を、受信した無効化用の私有鍵で上書きする手段を設けたデジタル証明書無効化システムも提供する。
【0035】
また、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置と、その通信相手となる通信装置とを備えたデジタル証明書無効化システムであって、上記デジタル証明書無効化装置に、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、上記正規証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を上記通信相手に転送する手段を設け、上記通信装置に、上記デジタル証明書無効化装置から上記無効化用の通信先情報を受信した場合に、上記正規証明書を用いた通信の要求先を示す通信先情報を、受信した無効化用の通信先情報で上書きする手段を設けたデジタル証明書無効化システムも提供する。
また、上記の各デジタル証明書無効化システムにおいて、上記デジタル証明書無効化装置が、上記無効化用証明書、私有鍵又は通信先情報の転送を行う場合に、転送先の通信装置に、転送した無効化用証明書、私有鍵又は通信先情報を設定するよう要求するようにするとよい。
【0036】
また、この発明のプログラムは、コンピュータを、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置として機能させるためのプログラムにおいて、上記コンピュータを、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、無効化用のデジタル証明書である無効化用証明書を上記通信相手に転送する手段として機能させるためのプログラムを含めたものである。
【0037】
このようなプログラムにおいて、上記無効化用証明書を、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有するデジタル証明書とするとよい。
さらに、上記無効化用証明書を、上記通信相手が行う、デジタル証明書のフォーマットを確認するフォーマットチェック及びデジタル証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有するデジタル証明書とするとよい。
あるいは、上記無効化用証明書を、不適当な有効期間を記載したデジタル証明書とするとよい。
あるいはまた、上記無効化用証明書を、不適当な発行者情報を記載したデジタル証明書とするとよい。
【0038】
また、この発明は、コンピュータを、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置として機能させるためのプログラムであって、上記コンピュータを、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、上記正規証明書と対応させる私有鍵として、無効化用の私有鍵を上記通信相手に転送する手段として機能させるためのプログラムを含むプログラムも提供する。
【0039】
また、コンピュータを、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置として機能させるためのプログラムであって、上記コンピュータを、上記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、上記正規証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を上記通信相手に転送する手段として機能させるためのプログラムを含むプログラムも提供する。
【0040】
また、上記の各プログラムにおいて、上記コンピュータに、上記無効化用証明書、私有鍵又は通信先情報の転送を行う場合に、転送先の通信相手に、転送した無効化用証明書、私有鍵又は通信先情報を設定するよう要求する機能を実現させるためのプログラムを含めるようにするとよい。
また、この発明の記録媒体は、上記のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0041】
以上のようなこの発明のデジタル証明書無効化方法、デジタル証明書無効化装置、またはデジタル証明書無効化システムによれば、デジタル証明書を用いて通信相手を認証する通信装置を備えた通信システムを構成する場合において、デジタル証明書を無効化する場合に、正規のデジタル証明書や鍵の流出を防止できるようにすることができる。また、通信装置が適当でない通信相手に対応するための処理負荷を低減することもできる。
また、この発明のプログラムによれば、コンピュータを上記のデジタル証明書無効化装置として機能させてその特徴を実現し、同様な効果を得ることができる。この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【図面の簡単な説明】
【0042】
【図1】この発明の証明書無効化方法を実行する通信システムの構成例を示すブロック図である。
【図2】図1に示した上位装置のハードウェア構成を示すブロック図である。
【図3】図1に示した上位装置及び下位装置について、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。
【図4】図1に示した上位装置及び下位装置が記憶する認証情報について説明するための図である。
【図5】公開鍵証明書の書式例について説明するための図である。
【図6】図5に示した書式に従った下位装置用正規公開鍵証明書の例を示す図である。
【図7】図1に示した上位装置から下位装置に転送するデータの例を示す図である。
【図8】同じく下位装置の証明書記憶部における、上位装置と通信するための公開鍵証明書とその証明書を用いて通信を行う場合の通信先との記憶状態の例を示す図である。
【図9】同じく、無効化用情報を設定した場合の記憶状態の例を示す図である。
【図10】無効化用情報の図9とは異なる例を示す図である。
【図11】無効化用情報のさらに別の例を示す図である。
【図12】無効化用情報のさらに別の例を示す図である。
【図13】無効化用情報のさらに別の例を示す図である。
【図14】無効化用情報のさらに別の例を示す図である。
【図15】図1に示した上位装置が正規URLに通信要求を受けた場合に実行する処理を示すフローチャートである。
【図16】同じく上位装置における証明書無効化フラグの設定例を示す図である。
【図17】同じく下位装置が上位装置から証明書設定コマンドを受信した場合に実行する処理を示すフローチャートである。
【図18】上位装置及び下位装置が図15及び図17に示したような認証情報の無効化を行う処理を実行する場合の処理シーケンスの例を示す図である。
【図19】認証情報を無効にされた下位装置が上位装置に通信を要求しようとした場合の動作シーケンスの、図18に示したものとは別の例を示す図である。
【図20】図1に示した通信システムにおいて下位装置を複数設けた場合のシステム構成例を示す図である。
【図21】図1及び図3に示した上位装置に記憶させる更新条件テーブルの例を示す図である。
【図22】同じく機器情報テーブルの例を示す図である。
【図23】非常用の認証情報を使用する場合に、図1に示した上位装置及び下位装置にが記憶する認証情報について説明するための図である。
【図24】無効化用証明書セットと通信先情報とを一括して転送する場合に使用する証明書パッケージの例を示す図である。
【図25】この発明の通信システムの別の構成例における上位装置及び下位装置について、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。
【図26】図25に示したCAについて、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。
【図27】2つの通信装置がSSLに従った相互認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
【図28】図27に示した認証処理におけるルート鍵、ルート私有鍵、および公開鍵証明書の関係について説明するための図である。
【図29】図27に示した認証処理の変形例を、その処理に用いる情報と共に示す図である。
【発明を実施するための形態】
【0043】
以下、この発明の好ましい実施の形態を図面を参照して説明する。
まず、この発明によるデジタル証明書無効化方法に係る処理を実行する通信装置と、その通信装置を用いて構成したこの発明の通信システムの実施形態の構成について説明する。
【0044】
まず、図1に、その通信システムの概略構成を示す。
この通信システムにおいては、図1に示すように、デジタル証明書無効化方法に係る処理を実行する通信装置であり、デジタル証明書無効化装置である上位装置30及び、その通信相手となる通信装置である下位装置40によって通信システムを構成している。
【0045】
そして、上位装置30は、下位装置40と通信を行おうとする場合、公開鍵暗号とデジタル証明書を用いる認証方式であるSSLプロトコルに従った認証処理によって下位装置40を正当な通信相手として認証した場合に、下位装置40との間で通信を確立させるようにしている。また、上位装置30が送信した動作要求(コマンド)に対し、下位装置40が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。
【0046】
逆に、下位装置40が上位装置30と通信を行おうとする場合にも、同じくSSLに従った認証処理によって上位装置30を正当な通信相手として認証した場合に、上位装置30との間で通信を確立させるようにしている。そして、下位装置40が送信した動作要求(コマンド)に対し、上位装置30が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。
どちらの場合も、通信を要求する側がクライアント、要求される側がサーバとして機能するものとする。
なお、図1において、下位装置40は1つしか示していないが、図17に示すように下位装置40を複数設けることも可能である。また、上位装置30は1つの通信システムについて1つである。
【0047】
このような通信システムにおいて、上述の通信も含め、上位装置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)等の既知のプロトコル(通信規格),技術,仕様などを利用することができる。
【0048】
次に、図1に示した各装置の構成と機能についてより詳細に説明する。
図2は、上位装置30のハードウェア構成を示すブロック図である。この図に示す通り、上位装置30は、CPU51,ROM52,RAM53,HDD54,通信インタフェース(I/F)55を備え、これらがシステムバス56によって接続されている。そして、CPU51がROM52やHDD54に記憶している各種制御プログラムを実行することによってこの上位装置30の動作を制御し、通信、認証、デジタル証明書の無効化等の機能を実現させている。
なお、上位装置30のハードウェアとしては、適宜公知のコンピュータを採用することができる。もちろん、必要に応じて他のハードウェアを付加してもよい。
【0049】
また、下位装置40も含め、より具体的なハードウェアとしては、装置の遠隔管理,電子商取引等の目的に応じて種々の構成をとることができる。例えば、遠隔管理の場合には、プリンタ,FAX装置,コピー機,スキャナ,デジタル複合機等の画像処理装置を始め、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,自動車,航空機等の電子装置を被管理装置である下位装置40とし、これらの被管理装置から情報を収集したり、コマンドを送って動作させたりするための管理装置を上位装置30とすることが考えられる。ただし、どのような構成とした場合でも、上位装置30は、後述するように下位装置40に無効化用のデジタル証明書又は通信先情報を転送する機能を有するものとする。
【0050】
また、上位装置30及び下位装置40は、少なくともそれぞれCPU,ROM,RAM,ネットワークを介して外部装置と通信するための通信I/F、および認証処理に必要な情報を記憶する記憶手段を備え、CPUがROM等に記憶した所要の制御プログラムを実行することにより、装置にこの発明に係る各機能を実現させることができるものとする。
なお、この通信には、有線,無線を問わず、ネットワークを構築可能な各種通信回線(通信経路)を採用することができる。
【0051】
ここで、図3に、上位装置30及び下位装置40の、この発明の特徴に関連する部分の機能構成に係る機能ブロック図を示す。この図において、この発明の特徴と関連しない部分の図示は省略している。
まず、上位装置30には、HTTPS(Hypertext Transfer
Protocol Security)クライアント機能部31,HTTPSサーバ機能部32,認証処理部33,証明書設定要求部34,証明書記憶部35,無効化用情報作成部36を備えている。
【0052】
HTTPSクライアント機能部31は、SSLに従った認証や暗号化の処理を含むHTTPSプロトコルを用いて、下位装置40等のHTTPSサーバの機能を有する装置に対して通信を要求する機能を有する。
一方、HTTPSサーバ機能部32は、HTTPSクライアントの機能を有する装置からのHTTPSプロトコルを用いた通信要求を受け付ける機能を有する。
そして、これらのHTTPSクライアント機能部31とHTTPSサーバ機能部32とで、通信相手に対してコマンドやデータを送信してそれに応じた動作を実行させる機能と、通信相手からコマンドやデータを受信してそれに応じた動作を装置の各部に実行させ、その結果を応答として要求元に返す機能とを実現している。この場合において、通信を要求した側がコマンドを送信することもあるし、通信要求を受け付けた側がコマンドを送信することもある。応答についても同様である。
【0053】
認証処理部33は、HTTPSクライアント機能部31やHTTPSサーバ機能部32が通信相手を認証する際に、通信相手から受信したデジタル証明書や、証明書記憶部35に記憶している各種証明書、私有鍵等を用いて認証処理を行う認証手段の機能を有する。また、通信相手に認証を要求するために証明書記憶部35に記憶しているデジタル証明書をHTTPSクライアント機能部31やHTTPSサーバ機能部32を介して通信相手に送信する機能も有する。
【0054】
証明書設定要求部34は、後述するように所定の場合に下位装置40等の通信相手に対して必要な証明書等を転送する証明書転送手段及び、その転送を行う場合に転送先の装置にこれを設定するよう要求する証明書設定手段の機能を有する。
証明書記憶部35は、各種の証明書や私有鍵等の認証情報を記憶し、認証処理部33における認証処理に供する機能を有する。ここに記憶させる認証情報には、後述する無効化用の認証情報や通信先情報も含む。
【0055】
無効化用情報作成部36は、下位装置40が上位装置30との通信を行う際に使用する認証情報を無効化する際に使用する、無効化用証明書や無効化用通信先情報等の無効化用情報を作成する機能を有する。この作成した無効化用情報は、その場で証明書設定要求部34により下位装置40に転送するようにすることも考えられるし、証明書記憶部35に記憶させておき、必要に応じて下位装置40に転送するようにすることも考えられる。また、無効化用情報作成部36自身が無効化用情報を作成せず、外部のCA等と通信し、そこから取得するようにすることも考えられる。
そして、これらの各部の機能は、上位装置30のCPUが所要の制御プログラムを実行して上位装置30の各部の動作を制御することにより実現される。
【0056】
次に、下位装置40には、HTTPSクライアント機能部41,HTTPSサーバ機能部42,認証処理部43,要求管理部44,証明書記憶部45,コール通知部46,定期通知部47,証明書設定部48,コマンド受信部49を備えている。
HTTPSクライアント機能部41は、上位装置30のHTTPSクライアント機能部31と同様に、HTTPSプロトコルを用いて上位装置30等のHTTPSサーバの機能を有する装置に対して通信を要求すると共に、コマンドやそれに対する応答を送受信する機能を有する。
【0057】
HTTPSサーバ機能部42も、上位装置30のHTTPSサーバ機能部32と同様であり、HTTPSクライアントの機能を有する装置からの通信要求を受け付けると共に、コマンドやそれに対する応答を送受信する機能を有する。
認証処理部43の機能も、上位装置30の認証処理部33と同様であるが、認証処理に使用する証明書等は、証明書記憶部45に記憶しているものである。
要求管理部44は、上位装置から受信したコマンドについて、そのコマンドに基づいた動作の実行可否を判断する機能を有する。そして、実行を許可する場合に、そのコマンドに基づいた動作を実行する機能部46〜49に対して動作要求を伝える機能も有する。
【0058】
証明書記憶部45は、上位装置の証明書記憶部35と同様に各種の証明書や私有鍵等の認証情報を記憶し、認証処理部43における認証処理に供する証明書記憶手段の機能を有する。ただし、記憶している証明書等は、後述するように証明書記憶部35とは異なる。
コール通知部46は、異常を検知したりユーザによる指示があったりした場合に上位装置30に対してその旨を通知するコールを行う機能を有する。
【0059】
定期通知部47は、下位装置40から上位装置30への定期的な通知を行う機能を有する。その通知の内容としては、例えば画像形成装置であれば画像形成枚数カウンタのカウント値、計量システムであればその計量値等が考えられる。
証明書設定部48は、上位装置30から受信した証明書等を認証処理に使用するものとして証明書記憶部45に設定し、証明書等を更新する機能を有する。
【0060】
コマンド受信部49は、上述した各機能部46〜48以外の機能に係る要求に対応する動作を実行する機能を有する。この動作としては、例えば下位装置40が記憶しているデータの送信や、必要に応じて図示を省略したエンジン部の動作を制御することが挙げられる。
そして、これらの各部の機能は、下位装置40のCPUが所要の制御プログラムを実行して下位装置40の各部の動作を制御することにより実現される。
【0061】
次に、上述した各装置が認証処理に用いる各証明書や鍵の特性及び用途について説明する。図4は、(a)に下位装置40の証明書記憶部45に記憶している証明書及び鍵の種類を示し、(b)に上位装置30の証明書記憶部35に記憶している証明書及び鍵の種類を示す図である。
この図に示すように、上位装置30及び下位装置40は、正規認証情報として、自分に関する認証情報である公開鍵証明書及び私有鍵と、通信相手に関する認証情報であるルート鍵証明書とを記憶している。
そして、各装置は、通常の通信時はこれらの認証情報を用いてSSLに従った図27を用いて説明したような手順の認証処理を行う。
【0062】
また、通常のSSLとは異なるが、第1の乱数を私有鍵Bで暗号化し、公開鍵証明書Bと共に通信装置Aに送信する手順を省略した認証処理を行うことも考えられる。この場合の処理は図29に示すようなものであり、図27に示した処理と比べ、通信装置B側のステップS21,S22及び通信装置A(クライアントとして機能する装置)側のステップS12,S13の処理は不要になる。このようにすると、通信装置Aが通信装置B(サーバとして機能する装置)を認証することはできないが、通信装置Bが通信装置Aを認証するだけでよい場合にはこの処理で十分である。そして、この場合には、通信装置Aにはルート鍵証明書を記憶させる必要はない。ただし、共通鍵の種を通信装置Aから通信装置Bへ安全に送信するために公開鍵Bと私有鍵Bを使用するので、認証には使用しないものの、これらの鍵を通信装置Bに記憶させておくようにする。
【0063】
また、図4に示した証明書及び鍵のうち、下位装置用正規公開鍵証明書は、図示しないCAが下位装置40に対して発行した正規の公開鍵に、下位装置認証用正規ルート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書であり、正規証明書に該当する。
ここで、公開鍵証明書の書式は、例えば図5に示したものを用いることができ、公開鍵そのものの他、証明書の発行者や証明書の有効期限、証明される対象(証明書の発行先の装置あるいは利用者)等の情報が記載されている。そして、この書式のうち、情報の項目に該当する部分をフォーマットと呼び、項目毎の情報の内容をコンテンツと呼ぶことにする。そして、この書式としては、具体的には例えばX.509と呼ばれる書式に従って作成することができ、この書式に従って作成された下位装置用正規公開鍵証明書は、例えば図6に示すようなものになる。
【0064】
この例においては、AがCAの識別情報を示し、Cが証明書の発行先の装置の識別情報を示す。これらは、それぞれ所在地、名称、IDあるいはコード等の情報を含む。ただし、発行先の装置について、IDのように個々の装置を識別できるような識別情報を記載することは必須ではない。また、Bが有効期間を示し、その開始日時と終了日時によって有効期間を指定している。
【0065】
また、この例において、情報の項目を示す「:」の前の内容、例えば「Serial
Number」や「Subject」がフォーマットに該当する。また、例えば「Issuer」や「Subject」の下位には、「C」,「ST」等のさらに細かい項目も用意されており、これらの項目を示す、「=」の前の内容も、フォーマットに該当する。そして、各項目の内容、例えば「Serial
Number」についての「101 (0x0)」が、コンテンツに該当する。なお、公開鍵証明書中に、注釈等、フォーマットにもコンテンツにも該当しない部分があってもよい。逆に、これら双方に同時に該当する部分があってもよい。
【0066】
また、下位装置用正規私有鍵は、上記の正規公開鍵と対応する私有鍵、下位装置認証用正規ルート鍵証明書は、下位装置認証用正規ルート鍵に自身と対応するルート私有鍵を用いて自身で正当性を確認可能なデジタル署名を付したデジタル証明書である。
なお、下位装置40を複数設けた場合でも、各装置の正規公開鍵に付すデジタル署名は同じルート私有鍵を用いて付し、正当性確認に必要な正規ルート鍵証明書は共通にする。しかし、正規公開鍵証明書に含まれる正規公開鍵やこれと対応する私有鍵は、装置毎に異なる。
上位装置用正規公開鍵証明書と上位装置用正規私有鍵と上位装置認証用正規ルート鍵証明書も同様な関係である。
【0067】
そして、例えば上位装置30と下位装置40とが相互認証を行う場合には、下位装置40からの通信要求に応じて、上位装置30は上位装置用正規私有鍵を用いて暗号化した第1の乱数を上位装置用正規公開鍵証明書と共に下位装置40に送信する。下位装置40側では上位装置認証用正規ルート鍵証明書を用いてまずこの上位装置用正規公開鍵証明書の正当性(損傷や改竄を受けていないこと)を確認し、これが確認できた場合にここに含まれる公開鍵で第1の乱数を復号化する。この復号化が成功した場合に、下位装置40は通信相手の上位装置30が確かに上位装置用正規公開鍵証明書の発行先であると認識でき、その証明書に含まれる識別情報から装置を特定することができる。そして、特定した装置が通信相手としてふさわしいか否かに応じて認証の成功と失敗を決定することができる。
【0068】
また、上位装置30側でも、下位装置40側で認証が成功した場合に送信されてくる下位装置用正規公開鍵証明書及び、下位装置用正規私有鍵で暗号化された乱数を受信し、記憶している下位装置認証用正規ルート鍵証明書を用いて同様な認証を行うことができる。
なお、この手順は下位装置40がHTTPSクライアント機能部41によって上位装置30のHTTPSサーバ機能部32に対して通信を要求する場合の処理であり、上位装置30がHTTPSクライアント機能部31によって下位装置40のHTTPSサーバ機能部42に対して通信を要求する場合には、使用する証明書や鍵は同じであるが、上位装置30と下位装置40の処理が逆になる。
【0069】
ところで、この通信システムにおいて、下位装置40が上位装置30の適当な通信相手(例えば上位装置30による遠隔管理の対象装置)である間は、下位装置40には有効な正規認証情報を記憶させておく必要がある。しかし、下位装置40が上位装置30の適当な通信相手でなくなった場合には、上位装置30がその下位装置40の正規認証情報を無効化するようにしている。そして、この無効化の処理として、上位装置30は、下位装置40に対し、無効化用の証明書セットを転送して設定させるようにしている。
【0070】
この証明書セットの転送は、図7に示すように、通信先URLと対応付けて行うとよい。このようにすれば、下位装置40に新たに正規認証情報を転送して設定させようとする場合と共通の形式にすることができる。また、コマンドについても、新たに正規認証情報を転送して設定させようとする場合と共通のものを用いることができる。
すなわち、転送は、公開鍵証明書と私有鍵とルート鍵証明書をセットにした証明書セットに、その証明書を用いてアクセスする通信先の識別情報であるURL(Uniform Resource Locator)等を対応付けて行うとよい。
また、無効化用証明書セットのうちどの証明書や鍵を無効化用のものにするかについては、種々の選択肢が考えられるが、図7に示した例では、下位装置用公開鍵証明書として、無効化用公開鍵証明書を含めるようにしている。このとき、下位装置用私有鍵、上位装置認証用ルート鍵証明書及び通信先URLについては、公開鍵証明書を無効化しようとする時点で下位装置40に記憶させてあるものと同じでよい。そして、このような証明書セットや通信先URLは、上位装置30の無効化用情報作成部36が作成することができる。
【0071】
また、下位装置40においては、通信の制御を単純なものにするため、上位装置30との通信に使用する証明書セットは、常に1種類としている。従って、新たな証明書セットやURLを設定する場合には、それまでの証明書セットやURLに上書きする形式で行うようにしている。例えば、証明書記憶部45に、上位装置30との通信に使用するための証明書セットとして、図8に示すように正規認証情報を構成する正規証明書セット60が記憶され、上位装置30に通信を要求する際の通信先65として、正規URLの「https://www.ca1.co.jp」が登録されていた場合を考える。
なお、証明書セットを記憶させる記憶領域と、その証明書セットを認証に使用する際に通信を要求すべきURLを記憶させる記憶領域とは、証明書セットとURLとの対応関係が把握できるようにしてあれば、必ずしも隣接あるいは近接した領域でなくても構わない。
この場合に、証明書設定コマンドに応じて図7に示したような通信先URL及び証明書セットを設定すると、図9に示すように、正規証明書セット60の部分を無効化用証明書セット70で上書きすることになる。通信先65の部分も、受信したURLに上書きしているが、元と同じURLであるので、データに変化はない。
【0072】
ここで、無効化用証明書セット70に含まれる無効化用公開鍵証明書71は、符号Dで示すように、有効期間の開始日時と終了日時が同じであり、有効期間のない、不適当な有効期間を記載した公開鍵証明書である。このため、上位装置30は、認証処理において下位装置40からこの無効化用公開鍵証明書71を受信した場合、有効期間の情報を参照するだけで、証明書が有効期間外であるものとして認証失敗と判断することができる。
なお、このような無効化用公開鍵証明書71は、書誌情報を変更してあるため、もはや図28(a)に示したように、公開鍵のハッシュ値とデジタル署名を復号化して得たハッシュ値とは一致しない。しかし。このような処理を行う必要もなく、有効期間の情報のみから、認証失敗と判断することができる。
また、有効期間の終了日時が設定時の日時よりも前であると、後述するコンテンツチェックでエラーが起こるので、有効期間の終了日時は、設定時の日時よりも数日程度後に設定するとよい。
【0073】
ここで、無効化用証明書セット及び無効化用通信先情報の、図9に示したもの以外の例について説明する。
例えば、無効化用証明書セットは、不適当な発行者情報を記載したものであってもよい。この例を図10に示す。この例においては、無効化用証明書セット80に含まれる無効化用公開鍵証明書81には、符号Eで示すように、発行者(CA)の情報としてダミーの情報が記載されている。また、ルート鍵証明書も、符号Fで示すように発行者情報としてダミーの情報が記載された無効化用ルート鍵証明書83としている。
このような無効化用証明書セットを用いても、発行者情報を参照するだけで、証明書が適当な発行者によって発行されたものでないとして認証失敗と判断することができる。また、この例の場合には、下位装置40から正規の公開鍵証明書やルート鍵証明書が流出して悪用されるような事態を防止できる。
【0074】
また、無効化用証明書セットは、私有鍵が無効化用私有鍵であるものであってもよい。この例を図11に示す。この例においては、無効化用証明書セット90に含まれる私有鍵を、無効化用私有鍵92とし、符号Gで示すように、鍵のデータをオールゼロとしている。このような私有鍵は、正規公開鍵証明書に含まれる公開鍵と対応するものではないため、下位装置40が無効化用証明書セット90を用いて上位装置40にアクセスを試みた場合でも、やはり上位装置30側での認証は失敗することになる。
そして、この例の場合には、下位装置40から正規の私有鍵が流出して悪用されるような事態を防止できる。
【0075】
また、通信先のURLを無効化用のURLとしてもよい。この例を図13に示す。この例においては、上位装置30に通信を要求する際の通信先66として、下位装置40自身を示すURLである「https://localhost」を記載している。このようなURLを通信要求先として登録した場合、もはや下位装置40からの通信要求が上位装置30に届くことはないので、上位装置30側では、通信相手として適当でなくなった下位装置40に対応する必要がなくなり、上位装置30における処理負荷を低減することができる。また、無効化用のURLを、下位装置40自身を示すものにすることにより、ネットワークに余計な通信要求を送信することがなくなるので、ネットワーク全体の通信負荷も低減することができる。
なお、この場合、証明書セットの部分は正規証明書セットのままでも構わないが、流出防止の観点からは、この部分も無効化用証明書セットとすることが好ましい。
【0076】
また、通信先として、解約処理用サーバ等のURLを設定してもよい。この場合、その解約処理用サーバ等が下位装置40からのアクセス有無を検知することにより、下位装置40がネットワークに接続されたままか、撤去されたか等を検知することができる。そして、このようにした場合、リース物件が契約期間満了後にネットワークに接続されたままであれば、顧客先に連絡してその回収を図るといった対応が可能となる。
また、通信先としては、「http://127.0.0.1」のようなIPアドレスを設定することも考えられる。
【0077】
さらにまた、無効化用公開鍵証明書について、完全に無効な証明書とするだけでなく、例えば、契約期間の満了等、公開鍵証明書を無効化すべきタイミングを有効期限の終期とした証明書を用いることも考えられる。このようにすれば、公開鍵証明書を無効化すべき期日よりも前に無効化用証明書セットの設定を行ってしまうことができ、無効化処理のタイミング管理を容易に行うことができる。
なお、以上の各例の特徴を、任意に組み合わせて適用できることはもちろんである。例えば、URL,公開鍵証明書,私有鍵,ルート鍵証明書の全てを無効化用にすれば、処理負荷の低減及び認証情報の流出防止の双方の観点から効果が大きい。このようにした場合、通信先URL及び証明書セットは、例えば図13に示すようになる。
【0078】
また、無効化用証明書セットを、ルート鍵証明書を含まないものとすることも考えられる。この例を図14に示す。この例においては、無効化用証明書セット100を、上位装置認証用ルート鍵証明書を含まない証明書セットとしている。上位装置30と下位装置40とが図27に示したような相互認証を行う場合、下位装置40にルート鍵証明書がなければ上位装置30から受信した公開鍵証明書の正当性を確認できず、認証が失敗することになる。
【0079】
なお、以上の図9から図14までに示した例のうち、公開鍵証明書及び/又はルート鍵証明書を無効化用のものに変更したものは全て、その公開鍵証明書及び/又はルート鍵証明書を、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有する無効化用証明書に変更したものである。具体的には、フォーマットの部分は正規の証明書から変更せず、コンテンツの部分のみを変更して無効化用証明書を用意するようにしている。また、証明書セットにおいて、ルート鍵の数が任意であるようなフォーマットもあり、そのような場合には、図14に示した例のようにルート鍵証明書をなくしてしまっても、フォーマットの有効性を維持できる。
【0080】
下位装置40においては、誤って不正な証明書を設定してしまわないよう、証明書の設定前にその証明書のフォーマットが所定の条件を満たすことを確認するフォーマットチェックを行う場合がある。そして、このような場合には、無効化用証明書がこれに合格できるものでないと、下位装置40に設定させることができず、証明書を無効化することもできないため、上記のようにしたものである。
なお、この目的からは、フォーマットチェックに合格できるような証明書であれば、有効なフォーマットであると言える。そして、このフォーマットチェックの内容は、装置によって異なるが、最も単純には、証明書がその符号化方式であるANSフォーマットに適合しているか否かを判断するのみの場合もある。
【0081】
また、下位装置40は、フォーマットチェックだけでなく、コンテンツの整合性を確認するコンテンツチェックを行う場合もある。例えば、私有鍵と公開鍵が対応するものであることを暗号化/復号化処理によって確認したり、有効期限が現在の日時より後であることを確認する等である。そして、下位装置40がこのようなコンテンツチェックを行う場合には、無効化用証明書としてコンテンツチェックにも合格できるものを用意する必要がある。
どのような条件を満たせば証明書の無効化とコンテンツチェックの合格を同時に達成できるかは、チェックの内容に応じて異なるが、図9や図10に示したようなものであれば、通常はこの条件を満たすことができると考えられる。
【0082】
次に、上記のように、下位装置40に無効化用の証明書等を転送する際の処理について、より詳細に説明する。なお、以下の処理においては、無効化用証明書セットを下位装置40に送信する場合について説明するが、これに加えて又はこれに代えて無効化用通信先情報を送信する場合も、処理の流れは同様なものである。
図15に、上位装置30が、正規認証情報を用いた認証処理を行うURL(正規URL)に通信要求を受けた場合に実行する処理を示す。この処理が、この発明のデジタル証明書無効化方法に係る処理である。
なお、この処理のうち、ステップS101乃至S106及びS113の処理は、公開鍵証明書の無効化とは関係なく行う処理である。そして、ステップS107乃至S112の処理が、証明書の無効化のための処理である。
【0083】
図1に示した通信システムにおいて、上位装置30のCPUは、正規URLに通信要求を受けると、図15のフローチャートに示す処理を開始する。
そして、まずステップS101で、通信要求の要求元の装置との間で正規公開鍵証明書と乱数及び共通鍵の種を送受信し、図27に示したようなSSLによる相互認証処理を行う。この処理には、受信した公開鍵証明書から、通信要求の要求元の識別情報を取得する処理も含まれる。
【0084】
そして、ステップS102でこの認証が成功したか否か判断し、ここで失敗していればステップS114に進んでそのまま通信を切断し、処理を終了する。一方、ステップS102で認証が成功していれば、通信要求の送信元との間で通信を確立してステップS103に進み、ステップS101で交換した共通鍵の種から共通鍵を生成する。なお、ここで確立される通信経路が、正規公開鍵証明書に基づくSSLによる通信経路である。
そして、ステップS104で、コマンド及び受信したコマンドに対する応答を、生成した共通鍵で暗号化して通信中の装置(ここでは下位装置40)に送信し、ステップS105で、コマンド及び送信したコマンドに対する応答を、同じ共通鍵で暗号化された状態で通信中の装置から受信する。そして、ステップS106でコマンド及び応答を全て送受信したか否か判断し、まだ残っていればステップS104に戻って処理を繰り返し、全て送受信していればステップS107に進む。
【0085】
なお、ステップS104及びS105の処理は、順不同で構わないし、送受信すべきコマンドや応答がなければ省略する。また、受信したコマンドに係る処理を実行して応答を生成する処理や、受信した応答の内容を解釈してそれに対応した動作を行う処理は、受信したコマンドや応答を記憶しておき、図15に示したフローチャートとは別に実行するものとする。
【0086】
次のステップS107では、通信中の装置について証明書無効化フラグがONになっているか否か判断する。
ここで、証明書無効化フラグは、図16に示すように、上位装置30が、通信相手となり得る各下位装置40について、そのID(識別情報)と対応させて記憶しているフラグである。そして、ONである場合に、対応するIDを持つ装置の認証情報を無効化する必要があることを示すフラグである。また、このフラグの設定は、上位装置30のオペレータが手動で行ってもよいし、上位装置30において契約期限切れを検出した場合等に、上位装置30自身が自動で行うようにしてもよい。また、フラグに代えて、認証情報を無効化する必要がある下位装置の機番を記載したテーブルを用いることもできる。
【0087】
なお、下位装置40のIDは、認証処理時に下位装置40から受信した下位装置用正規公開鍵証明書に記載されている情報から把握できるし、正規公開鍵証明書に基づく通信経路で下位装置40から送信させるようにしてもよい。また、無効化の要否の判断には、ID以外でも、下位装置40から受信した公開鍵証明書に記載されていたり、正規公開鍵証明書に基づく通信経路で下位装置40から受信したりした任意の情報を用いることができる。
【0088】
そして、ステップS107でこの証明書無効化フラグがOFFであれば、証明書セットを送信する必要はないので、そのままステップS113に進んで通信を切断し、処理を終了する。
一方、ステップS107で証明書無効化フラグがONであれば、ステップS108以降の、無効化用の証明書の送信に係る処理に進む。
そしてまずステップS108で、証明書記憶部35から無効化用証明書セットを取得する。この証明書セットは、無効化用情報作成部36にその場で作成させて取得することも考えられる。
【0089】
そして、ステップS109で、ステップS108で取得した無効化用証明書セットを、通信相手の装置(下位装置40)に送信する。このとき、送信した証明書セットを上位装置30との通信に使用する証明書セットとして設定するように要求する証明書設定コマンドを、通信相手の装置に送信する。
なお、ここで送信する証明書セット(及び/又は通信先情報)としては、図9乃至図14を用いて説明したような、種々のものが考えられる。
また、このような送信は、証明書セットを、証明書設定コマンドの引数として送信することによって行ってもよい。また、これらの送信は、正規の証明書セットを用いて確保した、SSLによる安全な通信経路で行うものである。また、まず証明書を送信し、その送信が完了した後で証明書設定コマンドを送信するようにすることも考えられる。
【0090】
この処理が完了すると、ステップS110で証明書設定コマンドに対する応答を待つ。そして、ステップS111で証明書セットの設定が成功したか否か判断する。そして、成功していればステップS112に進んで、証明書の設定が済んだ通信中の装置について、証明書無効化フラグをOFFにし、もはや認証情報の無効化が必要ないことを示す。その後、ステップS113に進んで通信を切断し、処理を終了する。
ステップS111で成功していなければ(所定時間以内に応答がなかった場合も成功していないものとする)、そのままステップS113に進んで通信を切断し、処理を終了する。この場合には、同じ下位装置40から次に正規URLに通信要求があった場合に、再度無効化用証明書セットの設定を試みることになる。
【0091】
以上の処理により、上位装置30から下位装置40に、無効化用証明書セットを、正規認証情報を用いて確保した安全な通信経路で送信すると共に、下位装置40にこれらを設定するように要求することができる。
ここで、上位装置30から証明書設定コマンドを受信した場合に下位装置40が実行する処理を図17に示す。
【0092】
下位装置40のCPUは、上位装置30から証明書設定コマンドを受信すると、図17のフローチャートに示す処理を開始する。そして、まずステップS201で、証明書設定コマンドによって設定を要求された証明書セットのフォーマットを確認するフォーマットチェックを行う。そして、これが不適当なもの(NG)であれば、ステップS205で証明書セット及びURLの設定が失敗したことを示すエラー応答を返して処理を終了する。なお、ステップS201でコンテンツチェックも行うようにしてもよい。
一方、ステップS201で適当なもの(OK)であれば、ステップS202に進み、証明書設定コマンドによって設定を要求された証明書セットを、上位装置30との通信に使用する証明書セットとして設定する。
【0093】
そして、ステップS203で上位装置30に証明書設定コマンドに対する応答を返し、ステップS204で通信を切断して自身を再起動する。この再起動は、下位装置40において重要な設定を変更する際に必要なものであり、ここでは証明書セットの設定がこれに該当する。再起動を行う際に、ユーザに再起動の許可を求めるようにしてもよい。また、図17にはステップS204の後もとの処理に戻るように図示しているが、実際にはステップS204での再起動時に処理は中断される。
なお、図15に示した処理において、ステップS107乃至S112の証明書転送に係る処理を、ステップS104乃至S106のコマンド及び応答の送受信に係る処理よりも後で行うようにしているのは、証明書を設定させることになる場合でも、このステップS204での再起動によって通信が切断されないうちに、他のコマンド及び応答の送受信を済ませてしまうことができるようにするためである。
【0094】
以上の処理により、下位装置40は、上位装置30から受信した証明書セットとURLとを対応させて、以後の上位装置30との通信に使用するものとして記憶することができる。そして、証明書セットとして無効化用証明書セットを設定した場合には、再度起動された後は、上位装置30に通信を行おうとしても、もはや正規の認証情報を有しないため、認証が失敗し、通信経路を確立することができなくなる。すなわち、下位装置40の公開鍵証明書は無効化されたことになる。
【0095】
なお、ステップS202における設定は、証明書セットを、上述したように証明書記憶部45に記憶させることによって行う。
また、証明書設定コマンドによって設定を要求される証明書セットを証明書設定コマンドと別に受信する場合には、受信した証明書セットは適当な記憶領域に一時的に保存しておき、証明書設定コマンドを受信した時点で図17に示す処理を開始し、証明書セットの設定を行うようにすればよい。
【0096】
次に、上位装置30及び下位装置40が上記のような公開鍵証明書の無効化を行う処理を実行する場合の処理シーケンスの例について説明する。図17にこの処理シーケンスを示す。
この例においては、まず下位装置40が、上位装置30と通信する際に、通信要求を送信すべきURLを確認し(S301)、HTTPSクライアント機能部41を対上位装置クライアントとして機能させて、確認した正規URLに通信要求を送信する(S302)。この場合、上位装置30側ではHTTPSサーバ機能部32が通信要求を受け、認証処理部33にこの要求を伝える。そして認証処理部33は、SSLプロトコルに従い、証明書記憶部35に記憶している上位装置用正規私有鍵で暗号化した第1の乱数と共に、同じく証明書記憶部35に記憶している上位装置用正規公開鍵証明書を下位装置40に返す(S303)。
【0097】
下位装置40側では、これを認証処理部43に渡して認証処理を行うが、ここでは受信した上位装置用正規公開鍵証明書の正当性は証明書記憶部45に記憶している上位装置認証用正規ルート鍵証明書を用いて確認できるため、認証成功と判断し、その旨の応答を返す(S304)。そして、上位装置30がこれに応じて下位装置40に証明書要求を送信すると(S305)、下位装置40は、上位装置30に対して証明書記憶部45に記憶している下位装置用正規私有鍵で暗号化した第2の乱数と共に、同じく証明書記憶部35に記憶している下位装置用正規公開鍵証明書を上位装置30に返す。またここでは、相互認証を行うので、ステップS303で受信した上位装置用正規公開鍵を用いて暗号化した共通鍵の種も第2の乱数と共に返す。(S306)。
【0098】
上位装置30側では、これらを認証処理部33に渡して認証処理を行うが、ここでは受信した下位装置用正規公開鍵証明書の正当性は証明書記憶部35に記憶している下位装置認証用正規ルート鍵証明書を用いて確認できるため、認証成功と判断し、以降の通信に用いる暗号化方式の確認を行う(S307)。
以上により、上位装置30と下位装置40との間でSSLによる安全な通信経路での通信が確立され、その後、上位装置30と下位装置40は、コマンド及び応答の送受信を、交換した共通鍵の種を用いて生成した共通鍵によって通信を暗号化した状態で行う(S308)。
【0099】
その後、上位装置30側で、下位装置40の公開鍵証明書を無効化する必要があると判断すると、証明書記憶部35から無効化用証明書セットを取得し(S309)、証明書更新コマンドと共に下位装置40に転送する(S310)。
すると、下位装置40は、通信の際の認証処理に使用する証明書セットとして無効化用証明書セットを設定する(S311)。以上で証明書セットの更新が終了し、下位装置40は通信を切断して自身を再起動する。
【0100】
再起動後に下位装置40が上位装置30に通信要求を行う場合の動作は、下位装置にどのような無効化用証明書セットを設定したかによって異なる。
以下にいくつかの例について説明する。
まず、無効化用公開鍵証明書を含む無効化用証明書セットを設定した場合には、再起動後に下位装置40が正規URLに通信要求を行って認証を受けようとしても、送信する証明書は無効化用公開鍵証明書であるので、上位装置30は認証失敗と判断する。そして、このことにより、下位装置40は上位装置30と通信できない状態になる(S312〜S318)。
【0101】
ただし、下位装置40側では、依然として、上位装置認証用正規ルート鍵証明書に含まれるルート鍵を用いて上位装置用正規公開鍵証明書の正当性を確認できる状態であるから、特に他の無効化処理を行わなければ、下位装置40は上位装置30を適切な通信相手であると認識する状態のままである。
また、無効化用私有鍵を含む無効化用証明書セットを設定した場合には、下位装置40が上位装置30に対して公開鍵証明書と共に送信した乱数がその証明書に含まれる公開鍵により復号化できないため、上位装置30が認証失敗と判断するが、そのシーケンスは上記のステップS312〜S318の場合と同様である。
【0102】
さらに図19にその他の例を示すが、無効化用ルート鍵証明書を含む無効化用証明書セットを設定した場合には、下位装置40が上位装置30から受信する上位装置用正規公開鍵証明書の正当性を確認できなくなるため、図19(a)に示すように、下位装置30の側で認証が失敗し、下位装置40は上位装置30と通信できない状態になる(S331〜S334)。
なお、上述したように、無効化用証明書セットの設定に加えて、またはこれに代えて、通信先URLとして無効化用URLを設定することも考えられる。そして、この場合には、図19(b)に示すように、そもそも通信要求が上位装置30に届かないので、認証処理は開始されず、下位装置40は上位装置30と通信できない状態になる(S341,S342)。
【0103】
図1に示した通信システムにおいては、下位装置40の公開鍵証明書を無効化しようとする場合、以上のような処理を行うことにより、上位装置30から下位装置40に無効化用証明書セット及び/又は無効化用URLを転送するようにしている。
そして、下位装置40の証明書セットを無効化用のものに変更させてしまえば、もはや下位装置40は正規の証明書セットを記憶していないわけであるから、下位装置40から正規の証明書セットが流出して悪用されるような事態を防止できる。証明書セットの中身を個別に見ても、図9乃至図14を用いて説明した通り、公開鍵証明書、私有鍵、ルート鍵証明書をそれぞれ無効化することが可能である。
また、下位装置40の通信先情報を無効化用URLとすることにより、通信要求が上位装置30に送信されることを防止し、上位装置30の負荷低減を図ることができる。
【0104】
なお、下位装置40が複数ある場合には、上位装置30が、各下位装置40から通信要求を受ける度に図15に示した処理を実行することにより、認証情報の無効化が必要な各下位装置40に順次無効化用証明書を設定させることができる。そして、例えば公開鍵証明書を無効化する場合には、最終的には、図20に示すように、通信相手として適当な下位装置(ここではA,B)には正規公開鍵証明書が記憶され、通信相手として不適当な下位装置(ここではC,D)には無効化用証明書が記憶された状態とすることができる。
【0105】
また、以上説明した処理によれば、上位装置30及び下位装置40が通信に使用していた正規認証情報を用いてSSLによる安全な通信経路を確立し、その通信経路を用いて上位装置30から下位装置40に無効化用証明書セットを転送している。従って、無効化用証明書セットも、安全に下位装置40に転送することができる。
ここで、この通信システムにおいては、処理の簡略化を図るため、無効化用証明書セットの設定コマンドとして、正規認証情報の設定に用いる設定コマンドと共通のものを使用している。一方で、後者のコマンドに従って下位装置40に証明書セットを設定させる際には、エラーを含む証明書を設定してしまわないよう、フォーマットのチェックを行わせることが好ましく、ここではそのようにしている。従って、無効化用証明書セットについても、フォーマットチェックをクリアできるような内容とする必要がある。
そこで、無効化用証明書は、図9等に示したように、証明書の各項目はそのまま残し、有効期間のように一部の内容のみを変更したものとしている。従って、大部分は正規認証情報の内容と同一である。このため、無効化用証明書といえども第3者に無制限に漏洩することは好ましくないから、上記のような安全な通信経路で転送することが好ましいのである。
【0106】
また、SSLによる転送経路であれば、上位装置30が、通信相手が確かに認証情報を無効にすべき下位装置であることを確認してから転送を行うことができる。特に、公開鍵証明書に発行先装置のシリアル番号のような識別情報を記載するようにすると、なりすましを防止することができる。従って、適切な通信相手である下位装置40の公開鍵証明書を誤って無効化してしまうことを防止できる。また、証明書無効化フラグがONであった場合に転送するようにしているので、証明書無効化フラグの状態を管理することにより、無効化の不要な装置ついては、当然正規認証情報を用いた通信を継続できる。すなわち、下位装置40からの正規公開鍵証明書の受信に基づいて無効化の要否を判断するようにしているので、容易かつ確実に無効化の必要な下位装置40を識別し、無効化用証明書セット及び/又は無効化用URLを転送することができる。
【0107】
なお、上述の処理において、下位装置用正規公開鍵証明書に、発行対象の装置の国別コード、会社名、機種情報等を記載しておけば、証明書無効化フラグに代えてこれらの情報を参照することにより、国毎、会社毎あるいは機種毎に、証明書無効化の要否を判断することができる。さらに、下位装置用正規公開鍵証明書に記載してある証明書のシリアル番号や、ユーザ情報等を参照して証明書無効化の要否を判断することも考えられる。また、正規公開鍵証明書に基づく通信経路で下位装置40にこれらの情報を送信させ、その情報を参照して証明書無効化の要否を判断することも考えられる。
【0108】
そして、このような判断のための条件は、例えば図21に示すような条件テーブルとして記憶しておくことが考えられる。図21には、判断の基礎となりうる各パラメータについて判断条件が列挙されている。例えば、国別コードが「JP」の装置の認証情報を無効化する、機種が「1234」及び「4567」の装置の認証情報を無効化する、機種が「1474」の装置の認証情報を無効化する、証明書シリアル番号が1000以下の装置の認証情報を無効化する等である。そして、これらの各条件について、実際に認証情報の無効化の要否の判断に使用するか否かの情報も記載されている。
【0109】
そして、図15に示した処理を行う場合に、ステップS107の判断に代えて、公開鍵証明書に記載されている発行対象の装置の情報、あるいは正規公開鍵証明書に基づく通信経路で下位装置40から受信した情報が、条件テーブルにおいて認証情報の無効化要否の判断に使用すると設定されている条件に当てはまるか否かを判断することにより、無効化用証明書セット及び/又は無効化用URLの転送の要否を判断することができる。図21に示した例では、国別コードが「JP」で、かつ機種が「1234」又は「4567」の装置について認証情報の無効化が必要と判断することになる。
もちろん、条件テーブルに記載する条件は、図21に示したものに限られることはないし、これらの条件を組み合わせたり、優先順位を付けたり、論理演算を行ったりしたりして複雑な条件を設定してもよい。
【0110】
また、上位装置30に、通信相手となる下位装置40の情報や、そのユーザあるいは記憶している公開鍵証明書の情報を記載した図22に示すような機器情報テーブルを記憶しておくようにすることも考えられる。このようにすれば、受信した公開鍵証明書に詳細な情報が記載されていない場合でも、ID等をキーに機器情報テーブルを検索して通信相手の下位装置40に関する詳細な情報を取得し、条件テーブルを利用した認証情報の無効化要否の判断に用いることができる。上位装置30が下位装置40を遠隔管理するようなシステム構成の場合には、上位装置30は通常は機器情報テーブルに相当する情報を記憶していると考えられるから、このテーブルを利用するようにするとよい。
なお、公開鍵証明書を受信する度に機器情報テーブルを検索したり、条件テーブルに規定された条件に基づいた判断を行ったりすると、処理負荷が大きくなる。そこで、予め機器情報テーブル中から条件テーブルに既定された条件を満たす装置を抽出し、その装置について証明書無効化フラグをONにしておき、図15を用いて説明したように、そのON/OFFに応じて認証情報の無効化要否を判断する方式も、処理負荷低減の観点から有効である。
【0111】
さらにまた、認証情報の無効化の必要な装置について、上位装置30側で無効化用証明書セット及び/又は無効化用URLを予め準備しておき、これを設定するための証明書設定コマンドを、その装置に送信すべきコマンドとして設定しておくことも考えられる。このようにした場合、対象の下位装置40が上位装置30に通信を要求し、認証が成功すると、図15のステップS104の処理において、通常のコマンドの送信と共に証明書設定コマンドを下位装置40に送信して実行させることができる。従って、ステップS107乃至S112の処理が不要になり、通常のコマンド送受信処理の範疇で下位装置40の公開鍵証明書を無効化できるので、処理の簡略化を図ることができる。
【0112】
この場合には、下位装置40から受信した公開鍵証明書に付されたIDの装置に送信すべき証明書設定コマンドが設定されていたことによって、認証情報の無効化が必要と判断していると考えることができる。なお、この場合に受信する公開鍵証明書は、無効化前のものであるから、下位装置用正規公開鍵証明書である。
なお、上記の証明書設定コマンドの登録は、上位装置30のオペレータが手動で行っても、上位装置30が所定の規則に基づいて自動で行ってもよい。
後者の例として、例えば、利用者情報等として登録されている契約期限を監視し、これが満了した際にコマンドを登録することが考えられる。
【0113】
また、この発明によれば、自動的に下位装置40の証明書セット及び/又は通信先情報を無効化用のものに更新することができるので、この発明は、設置先の操作者による証明書の更新が行えないような装置、例えばケーブルテレビのセットトップボックスや遠隔保守の対象となる画像形成装置等、の認証情報を無効化する際に適用すると、特に効果的である。
【0114】
また、上位装置30から下位装置40に証明書セット及び/又はURLを転送する際に、下位装置40にこれらを設定するよう要求する例について説明したが、このようにすることは必須ではない。上位装置30側で最低限転送のみ行うようにすれば、設定については下位装置40側の動作に任せるようにすることもできる。
さらにまた、通信先情報としてURLを用いる例について説明したが、この情報は、下位装置40が上位装置30と通信する際の通信要求の送信先を示すことができる情報であれば、他の形式で記載された情報であっても構わない。例えば、IP(Internet Protocol)アドレス等が考えられる。
【0115】
また、通信システムにおいて、上位装置30や下位装置40に、以上の実施形態で説明したような正規認証情報の他に、正規認証情報の更新が失敗したり、証明書の有効期間を徒過してしまったりした場合に備え、非常用の通信経路を設けるための非常用(レスキュー)認証情報を記憶するようにする構成が考えられる。この場合、上位装置30及び下位装置40に記憶させる認証情報は、図23に示すようなものになる。そしてこの場合、下位装置40の正規認証情報を無効化しても、レスキュー認証情報が残っていると、これを用いた通信経路から上位装置30にアクセスできてしまう。
従って、下位装置40にレスキュー認証情報を記憶させている場合には、その正規認証情報を無効化する際に、レスキュー認証情報も無効化するようにするとよい。この場合において、レスキュー認証情報についても、正規認証情報の場合と同様に、無効化用証明書セットや無効化用の通信先情報を上書きすることによって無効化することができる。
【0116】
また、ここでは、下位装置40から上位装置30に通信要求があった場合にこれに応じて上位装置30から下位装置40に証明書セット及びURLを転送する例について説明した。このような処理は、下位装置40がファイアウォールの内側にある場合でも適用できる点で優れているが、上位装置30から下位装置40に通信を要求して、証明書セットやURLを転送する構成も取り得る。この場合でも、無効化用証明書セットや無効化用通信先情報を転送することにより、上記と同様な効果を得ることができる。
【0117】
また、証明書セットと通信先情報とを、図24に示すような証明書パッケージとして一括して転送するようにしてもよい。上述した通信システムにおいて、下位装置40の正規認証情報を有効な状態のまま更新する際には、これらを同時に転送して更新させるようにすると、下位装置40に上位装置30と通信するための証明書セット及び通信先情報を1つずつしか記憶させない場合でも、上位装置30との間で通信可能な状態を維持したまま、認証に使用するルート鍵を更新できる。一方、認証情報の無効化の際の証明書設定コマンドを通常の更新の際に使用するものと兼用するようにすると、処理の簡略化を図ることができるが、このようにした場合には、無効化の場合にも証明書セットと通信先情報とを一括して送信することになる。
【0118】
また、上記の無効化用証明書セットや無効化用通信先情報の転送に加えて、下位装置40を適切な通信相手のリストから削除する等の処理を行ってもよいことはもちろんである。ただし、このような処理を行ってしまうと、上位装置30において下位装置40の認証が失敗するようになり、下位装置40との間でSSLによる安全な通信経路を確保できなくなってしまうため、このような処理は、無効化用の証明書等を転送した後に行うようにする。
【0119】
また、上述した実施形態では、上位装置30と下位装置40が、図27あるいは図29を用いて説明したようなSSLに従った認証を行う場合の例について説明した。しかし、この認証が必ずしもこのようなものでなくてもこの発明は効果を発揮する。
SSLを改良したTLS(Transport Layer Security)も知られているが、このプロトコルに基づく認証処理を行う場合にも当然適用可能である。
【0120】
また、上述した実施形態では、無効化用証明書セットを上位装置30が作成する例について説明したが、上位装置30がCAに要求してこれを発行させるようにしてもよい。そしてこの場合、無効化用証明書セットを、下位装置40が持つ正規認証情報に係る証明書セットを発行したCAと同じCAに発行させるようにするとよい。このようなシステム構成とすれば、CA側でも自身が発行した証明書が無効化される場合にその旨を把握することができる。また、CAが過去に発行した証明書を保持しているようにすれば、この情報を利用し、一部を改変して容易に無効化用証明書セットを発行することができる。
【0121】
図25に、このようにする場合の、上位装置30及び下位装置40の、図3に示したものと対応する機能構成を示す。
この場合、無効化用情報作成部36に代えて対CA通信機能部37を設け、CA10のような認証局と通信を行い、下位装置40あるいは上位装置30自身が認証処理に使用するための証明書セットや、下位装置40の認証情報を無効化するための証明書セットの発行を要求し、発行された証明書セットを受信する機能を持たせるようにしている。そして、必要な場合にはこの対CA通信機能部37により、CA10から無効化用証明書セットを取得するようにすればよい。
【0122】
なお、上位装置30とCA10との間の通信については、セキュリティ面を考慮し、専用線によるネットワークにより行うようにするとよく、ここではそのようにしている。従って、外部からの接続は不可能であるから、ここではSSLを使用していない。しかし、SSLを使用する場合には、HTTPSクライアント機能部31から認証局に通信を要求するようにしてもよい。
【0123】
また図26に、CA10のこの発明の特徴となる部分の機能構成を示す。
この図に示すように、CA10は、通信機能部11,証明書更新部13,証明用鍵作成部14,証明書発行部15,証明書管理部16,無効化用証明書発行部17を備えている。
通信機能部11は、上位装置30と通信し、証明書セットの発行要求を受信したり、発行した証明書セットを送信したりといった動作を始め、受信した要求やデータに応じた動作を装置の各部に実行させ、要求元に応答を返す機能を有する。
なお、上位装置30との間の通信にSSLを用いる場合には、通信機能部11にHTTPSサーバ機能部やHTTPSクライアント機能部のような機能を持たせることも考えられる。この場合には、上位装置30や下位装置40の場合と同様な認証処理部を設け、適当な証明書を用いた認証処理を行うようにすることになる。
【0124】
証明書更新部13は、上位装置30から証明書発行要求があった場合に、証明用鍵作成部14や証明書発行部15に対象の下位装置40の新たな証明書セットを発行させ、これを証明書管理部16から通信機能部11を介して上位装置30に送信させる機能を有する。
証明用鍵作成部14は、デジタル署名の作成に用いる証明用私有鍵であるルート私有鍵と、そのデジタル証明書の正当性を確認するための、ルート私有鍵と対応する証明用公開鍵(証明鍵)であるルート鍵とを作成する証明用鍵作成手段の機能を有する。
【0125】
証明書発行部15は、上位装置30と下位装置40とに対してSSLプロトコルに従った認証処理に用いる公開鍵及びこれと対応する私有鍵を発行する機能を有する。そしてさらに、それぞれ発行した公開鍵に証明用鍵作成部14で作成したルート私有鍵を用いてデジタル署名を付して、デジタル証明書である公開鍵証明書を発行する証明書発行手段の機能を有する。また、ルート鍵にデジタル署名を付したルート鍵証明書の発行もこの証明書発行部15の機能である。
【0126】
証明書管理部16は、証明書発行部15が発行したデジタル証明書、その作成に用いたルート私有鍵、およびそのルート私有鍵と対応するルート鍵を管理する証明書管理手段の機能を有する。そして、これらの証明書や鍵を、その有効期限や発行先、ID、更新や無効化の有無等の情報と共に記憶する。
無効化用証明書発行部17は、上位装置30から無効化用証明書発行要求があった場合に、証明書管理部16から対象装置に発行した証明書セットを取得し、その一部を改変して無効化用証明書セットを発行し、これを通信機能部11を介して上位装置30に送信する機能を有する。この場合、証明書管理部16に、無効化用証明書セットを発行した旨の情報を登録するとよい。また、無効化用証明書セットの構成については、後に詳述する。
そして、これらの各部の機能は、CA10のCPUが所要の制御プログラムを実行してCA10の各部の動作を制御することにより実現される。
【0127】
なお、以上説明したようなCAを、上位装置30と一体として設けることを妨げるものではない。この場合、CAの機能を実現するためのCPU,ROM,RAM等の部品を独立して設けてもよいが、上位装置30のCPU,ROM,RAM等を使用し、そのCPUに適当なソフトウェアを実行させることにより、CAとして機能させるようにしてもよい。
このような場合において、CAと、これと一体になっている上位装置30との間の通信には、ハードウェアをCAとして機能させるためのプロセスと、ハードウェアを上位装置30として機能させるためのプロセスとの間のプロセス間通信を含むものとする。
【0128】
また、この発明によるプログラムは、上位装置30を制御するコンピュータに、以上説明したような機能を実現させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、初めからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【0129】
以上説明してきた通り、この発明のデジタル証明書無効化方法、デジタル証明書無効化装置、デジタル証明書無効化システム、プログラム又は記録媒体によれば、デジタル証明書を用いて通信相手を認証する通信装置を備えた通信システムを構成する場合において、デジタル証明書を無効化する場合に、正規のデジタル証明書や鍵の流出を防止できるようにすることができる。また、通信装置が適当でない通信相手に対応するための処理負荷を低減することもできる。
従って、この発明を、各ノードが通信に際してデジタル証明書を用いた認証処理を行うような通信システムを運用する際に利用することにより、認証処理に使用するデジタル証明書を無効化した場合でも安全性を維持することができるシステムを、比較的安価かつ容易に構成することができる。
【符号の説明】
【0130】
10:CA 11:通信機能部
13:証明書更新部 14:証明用鍵作成部
15:証明書発行部 16:証明書管理部
17:無効化用証明書発行部
31,41:HTTPSクライアント機能部
32,42:HTTPSサーバ機能部
33,43:認証処理部 34:証明書設定要求部
35,45:証明書記憶部 36:無効化用情報作成部
37:対CA通信機能部 44:要求管理部
46:コール通知部 47:定期通知部
48:証明書設定部 49:コマンド受信部
51:CPU 52:ROM
53:RAM 54:HDD
55:通信I/F 56:システムバス
【先行技術文献】
【特許文献】
【0131】
【特許文献1】特開2002−353959号公報
【特許文献2】特開2002−251492号公報
【特許文献3】特開2002−247028号公報
【特許文献4】特開2003−58049号公報

【特許請求の範囲】
【請求項1】
通信装置によって該通信装置の通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化方法であって、
前記通信装置に、前記通信相手から受信した有効なデジタル証明書である正規証明書又は、その正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、無効化用のデジタル証明書である無効化用証明書を前記通信相手に転送させることを特徴とするデジタル証明書無効化方法。
【請求項2】
請求項1記載のデジタル証明書無効化方法であって、
前記無効化用証明書が、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有するデジタル証明書であることを特徴とするデジタル証明書無効化方法。
【請求項3】
請求項2記載のデジタル証明書無効化方法であって、
前記無効化用証明書が、前記通信相手が行う、デジタル証明書のフォーマットを確認するフォーマットチェック及びデジタル証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有するデジタル証明書であることを特徴とするデジタル証明書無効化方法。
【請求項4】
請求項2記載のデジタル証明書無効化方法であって、
前記無効化用証明書が、不適当な有効期間を記載したデジタル証明書であることを特徴とするデジタル証明書無効化方法。
【請求項5】
請求項2記載のデジタル証明書無効化方法であって、
前記無効化用証明書が、不適当な発行者情報を記載したデジタル証明書であることを特徴とするデジタル証明書無効化方法。
【請求項6】
通信装置によって該通信装置の通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化方法であって、
前記通信装置に、前記通信相手から受信した有効なデジタル証明書である正規証明書又は、その正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、前記正規証明書と対応させる私有鍵として、無効化用の私有鍵を前記通信相手に転送させることを特徴とするデジタル証明書無効化方法。
【請求項7】
通信装置によって該通信装置の通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化方法であって、
前記通信装置に、前記通信相手から受信した有効なデジタル証明書である正規証明書又は、その正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、前記正規証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を前記通信相手に転送させることを特徴とするデジタル証明書無効化方法。
【請求項8】
請求項1乃至7のいずれか一項記載のデジタル証明書無効化方法であって、
前記通信装置に、前記無効化用証明書、私有鍵又は通信先情報の転送を行う場合に、転送先の通信相手に、転送した無効化用証明書、私有鍵又は通信先情報を設定するよう要求させるようにしたことを特徴とするデジタル証明書無効化方法。
【請求項9】
通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置であって、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、無効化用のデジタル証明書である無効化用証明書を前記通信相手に転送する手段とを設けたことを特徴とするデジタル証明書無効化装置。
【請求項10】
請求項9記載のデジタル証明書無効化装置であって、
前記無効化用証明書が、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有するデジタル証明書であることを特徴とするデジタル証明書無効化装置。
【請求項11】
請求項10記載のデジタル証明書無効化装置であって、
前記無効化用証明書が、前記通信相手が行う、デジタル証明書のフォーマットを確認するフォーマットチェック及びデジタル証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有するデジタル証明書であることを特徴とするデジタル証明書無効化装置。
【請求項12】
請求項10記載のデジタル証明書無効化装置であって、
前記無効化用証明書が、不適当な有効期間を記載したデジタル証明書であることを特徴とするデジタル証明書無効化装置。
【請求項13】
請求項10記載のデジタル証明書無効化装置であって、
前記無効化用証明書が、不適当な発行者情報を記載したデジタル証明書であることを特徴とするデジタル証明書無効化装置。
【請求項14】
通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置であって、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、前記正規証明書と対応させる私有鍵として、無効化用の私有鍵を前記通信相手に転送する手段とを設けたことを特徴とするデジタル証明書無効化装置。
【請求項15】
通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置であって、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、前記正規証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を前記通信相手に転送する手段を設けたことを特徴とするデジタル証明書無効化装置。
【請求項16】
請求項9乃至15のいずれか一項記載のデジタル証明書無効化装置であって、
前記無効化用証明書、私有鍵又は通信先情報の転送を行う場合に、転送先の通信相手に、転送した無効化用証明書、私有鍵又は通信先情報を設定するよう要求するようにしたことを特徴とするデジタル証明書無効化装置。
【請求項17】
通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置と、その通信相手となる通信装置とを備えたデジタル証明書無効化システムであって、
前記デジタル証明書無効化装置に、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、無効化用のデジタル証明書である無効化用証明書を前記通信相手に転送する手段とを設け、
前記通信装置に、
前記デジタル証明書無効化装置から前記無効化用証明書を受信した場合に、記憶している正規証明書を受信した無効化用証明書で上書きする手段を設けたことを特徴とするデジタル証明書無効化システム。
【請求項18】
請求項17記載のデジタル証明書無効化システムであって、
前記無効化用証明書が、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有するデジタル証明書であることを特徴とするデジタル証明書無効化システム。
【請求項19】
請求項18記載のデジタル証明書無効化システムであって、
前記無効化用証明書が、前記通信装置が行う、デジタル証明書のフォーマットを確認するフォーマットチェック及びデジタル証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有するデジタル証明書であることを特徴とするデジタル証明書無効化システム。
【請求項20】
請求項18記載のデジタル証明書無効化システムであって、
前記無効化用証明書が、不適当な有効期間を記載したデジタル証明書であることを特徴とするデジタル証明書無効化システム。
【請求項21】
請求項18記載のデジタル証明書無効化システムであって、
前記無効化用証明書が、不適当な発行者情報を記載したデジタル証明書であることを特徴とするデジタル証明書無効化システム。
【請求項22】
通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置と、その通信相手となる通信装置とを備えたデジタル証明書無効化システムであって、
前記デジタル証明書無効化装置に、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、前記正規証明書と対応させる私有鍵として、無効化用の私有鍵を前記通信相手に転送する手段とを設け、
前記通信装置に、
前記デジタル証明書無効化装置から前記無効化用の私有鍵を受信した場合に、前記正規証明書と対応する私有鍵を、受信した無効化用の私有鍵で上書きする手段を設けたことを特徴とするデジタル証明書無効化システム。
【請求項23】
通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置と、その通信相手となる通信装置とを備えたデジタル証明書無効化システムであって、
前記デジタル証明書無効化装置に、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、前記正規証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を前記通信相手に転送する手段を設け、
前記通信装置に、
前記デジタル証明書無効化装置から前記無効化用の通信先情報を受信した場合に、前記正規証明書を用いた通信の要求先を示す通信先情報を、受信した無効化用の通信先情報で上書きする手段を設けたことを特徴とするデジタル証明書無効化システム。
【請求項24】
請求項17乃至23のいずれか一項記載のデジタル証明書無効化システムであって、
前記デジタル証明書無効化装置が、前記無効化用証明書、私有鍵又は通信先情報の転送を行う場合に、転送先の通信装置に、転送した無効化用証明書、私有鍵又は通信先情報を設定するよう要求するようにしたことを特徴とするデジタル証明書無効化システム。
【請求項25】
コンピュータを、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置として機能させるためのプログラムであって、
前記コンピュータを、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、無効化用のデジタル証明書である無効化用証明書を前記通信相手に転送する手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項26】
請求項25記載のプログラムであって、
前記無効化用証明書が、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有するデジタル証明書であることを特徴とするプログラム。
【請求項27】
請求項26記載のプログラムであって、
前記無効化用証明書が、前記通信相手が行う、デジタル証明書のフォーマットを確認するフォーマットチェック及びデジタル証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有するデジタル証明書であることを特徴とするプログラム。
【請求項28】
請求項26記載のプログラムであって、
前記無効化用証明書が、不適当な有効期間を記載したデジタル証明書であることを特徴とするプログラム。
【請求項29】
請求項26記載のプログラムであって、
前記無効化用証明書が、不適当な発行者情報を記載したデジタル証明書であることを特徴とするプログラム。
【請求項30】
コンピュータを、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置として機能させるためのプログラムであって、
前記コンピュータを、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、前記正規証明書と対応させる私有鍵として、無効化用の私有鍵を前記通信相手に転送する手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項31】
コンピュータを、通信相手が認証処理に使用するデジタル証明書を無効化するデジタル証明書無効化装置として機能させるためのプログラムであって、
前記コンピュータを、
前記通信相手から有効なデジタル証明書である正規証明書を受信する手段と、
その受信した正規証明書又はその正規証明書に基づく通信経路で受信した情報に基づいて、その正規証明書を無効化すべきと判断した場合に、前記正規証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を前記通信相手に転送する手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項32】
請求項25乃至31のいずれか一項記載のプログラムであって、
前記コンピュータに、前記無効化用証明書、私有鍵又は通信先情報の転送を行う場合に、転送先の通信相手に、転送した無効化用証明書、私有鍵又は通信先情報を設定するよう要求する機能を実現させるためのプログラムを含むことを特徴とするプログラム。
【請求項33】
請求項25乃至32のいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate


【公開番号】特開2011−160475(P2011−160475A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2011−104080(P2011−104080)
【出願日】平成23年5月9日(2011.5.9)
【分割の表示】特願2004−360616(P2004−360616)の分割
【原出願日】平成16年12月13日(2004.12.13)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】