(57)【特許請求の範囲】
【請求項１】
相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置であって、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、無効化用の証明書である無効化用証明書を前記相手先装置に送信する送信手段とを設け、
前記無効化用証明書は、認証処理に用いる証明書自体を無効化するコンテンツを有する証明書であることを特徴とする証明書無効化装置。
【請求項２】
請求項１記載の証明書無効化装置であって、
前記無効化用証明書が、前記相手先装置が行う、証明書のフォーマットを確認するフォーマットチェック及び証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有する証明書であることを特徴とする証明書無効化装置。
【請求項３】
請求項１記載の証明書無効化装置であって、
前記無効化用証明書が、不適当な有効期間を記載した証明書であることを特徴とする証明書無効化装置。
【請求項４】
請求項１記載の証明書無効化装置であって、
前記無効化用証明書が、不適当な発行者情報を記載した証明書であることを特徴とする証明書無効化装置。
【請求項５】
相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置であって、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書と対応させる私有鍵として、無効化用の私有鍵を前記相手先装置に送信する送信手段とを設けたことを特徴とする証明書無効化装置。
【請求項６】
相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置であって、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を前記相手先装置に送信する送信手段を設けたことを特徴とする証明書無効化装置。
【請求項７】
請求項１乃至６のいずれか一項記載の証明書無効化装置であって、
前記無効化用証明書、私有鍵又は通信先情報の送信を行う場合に、送信先の相手先装置に、送信した無効化用証明書、私有鍵又は通信先情報を設定するよう要求するようにしたことを特徴とする証明書無効化装置。
【請求項８】
相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置と、その相手先装置となる通信装置とを備えた証明書無効化システムであって、
前記証明書無効化装置に、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、無効化用の証明書である無効化用証明書を前記相手先装置に送信する送信手段とを設け、
前記通信装置に、
前記証明書無効化装置から前記無効化用証明書を受信した場合に、記憶している、前記証明書無効化装置に送信した証明書を受信した無効化用証明書で上書きする手段を設けたことを特徴とする証明書無効化システム。
【請求項９】
請求項８記載の証明書無効化システムであって、
前記無効化用証明書は、認証処理に用いる証明書自体を無効化するコンテンツを有する証明書であることを特徴とする証明書無効化システム。
【請求項１０】
請求項９記載の証明書無効化システムであって、
前記無効化用証明書が、前記通信装置が行う、証明書のフォーマットを確認するフォーマットチェック及び証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有する証明書であることを特徴とする証明書無効化システム。
【請求項１１】
請求項９記載の証明書無効化システムであって、
前記無効化用証明書が、不適当な有効期間を記載した証明書であることを特徴とする証明書無効化システム。
【請求項１２】
請求項９記載の証明書無効化システムであって、
前記無効化用証明書が、不適当な発行者情報を記載した証明書であることを特徴とする証明書無効化システム。
【請求項１３】
相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置と、その相手先装置となる通信装置とを備えた証明書無効化システムであって、
前記証明書無効化装置に、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書と対応させる私有鍵として、無効化用の私有鍵を前記相手先装置に送信する送信手段とを設け、
前記通信装置に、
前記証明書無効化装置から前記無効化用の私有鍵を受信した場合に、前記証明書無効化装置に送信した証明書と対応する私有鍵を、受信した無効化用の私有鍵で上書きする手段を設けたことを特徴とする証明書無効化システム。
【請求項１４】
相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置と、その相手先装置となる通信装置とを備えた証明書無効化システムであって、
前記証明書無効化装置に、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を前記相手先装置に送信する送信手段を設け、
前記通信装置に、
前記証明書無効化装置から前記無効化用の通信先情報を受信した場合に、前記証明書無効化装置に送信した証明書を用いた通信の要求先を示す通信先情報を、受信した無効化用の通信先情報で上書きする手段を設けたことを特徴とする証明書無効化システム。
【請求項１５】
請求項８乃至１４のいずれか一項記載の証明書無効化システムであって、
前記証明書無効化装置が、前記無効化用証明書、私有鍵又は通信先情報の送信を行う場合に、送信先の通信装置に、送信した無効化用証明書、私有鍵又は通信先情報を設定するよう要求するようにしたことを特徴とする証明書無効化システム。
【請求項１６】
コンピュータを、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置として機能させるためのプログラムであって、
前記コンピュータを、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、無効化用の証明書である無効化用証明書を前記相手先装置に送信する送信手段として機能させるためのプログラムを含み、
前記無効化用証明書は、認証処理に用いる証明書自体を無効化するコンテンツを有する証明書であることを特徴とするプログラム。
【請求項１７】
請求項１６記載のプログラムであって、
前記無効化用証明書が、前記相手先装置が行う、証明書のフォーマットを確認するフォーマットチェック及び証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有する証明書であることを特徴とするプログラム。
【請求項１８】
請求項１６記載のプログラムであって、
前記無効化用証明書が、不適当な有効期間を記載した証明書であることを特徴とするプログラム。
【請求項１９】
請求項１６記載のプログラムであって、
前記無効化用証明書が、不適当な発行者情報を記載した証明書であることを特徴とするプログラム。
【請求項２０】
コンピュータを、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置として機能させるためのプログラムであって、
前記コンピュータを、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書と対応させる私有鍵として、無効化用の私有鍵を前記相手先装置に送信する送信手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項２１】
コンピュータを、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置として機能させるためのプログラムであって、
前記コンピュータを、
前記相手先装置から認証処理に用いる証明書を受信する受信手段と、
前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を前記相手先装置に送信する送信手段として機能させるためのプログラムを含むことを特徴とするプログラム。
【請求項２２】
請求項１６乃至２１のいずれか一項記載のプログラムであって、
前記コンピュータに、前記無効化用証明書、私有鍵又は通信先情報の送信を行う場合に、送信先の相手先装置に、送信した無効化用証明書、私有鍵又は通信先情報を設定するよう要求する機能を実現させるためのプログラムを含むことを特徴とするプログラム。
【請求項２３】
請求項１６乃至２２のいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、相手先装置が認証処理に使用する証明書を無効化する証明書無効化装置、このような証明書無効化装置とその相手先装置となる通信装置とを備えた証明書無効化システム、コンピュータをこのような証明書無効化装置として機能させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、それぞれ通信機能を備えた複数の通信装置をネットワークを介して通信可能に接続し、様々なシステムを構築することが行われている。その一例としては、クライアント装置として機能するＰＣ（パーソナルコンピュータ）等のコンピュータから商品の注文を送信し、これとインターネットを介して通信可能なサーバ装置においてその注文を受け付けるといった、いわゆる電子商取引システムが挙げられる。また、種々の電子装置にクライアント装置あるいはサーバ装置の機能を持たせてネットワークを介して接続し、相互間の通信によって電子装置の遠隔管理を行うシステムも提案されている。
【０００３】
このようなシステムを構築する上では、通信を行う際に、通信相手が適切か、あるいは送信されてくる情報が改竄されていないかといった確認が重要である。また、特にインターネットにおいては、情報が通信相手に到達するまでに無関係なコンピュータを経由する場合が多いことから、機密情報を送信する場合、その内容を盗み見られないようにする必要もある。そして、このような要求に応える通信プロトコルとして、例えばＳＳＬ（Secure Socket Layer）と呼ばれるプロトコルが開発されており、広く用いられている。このプロトコルを用いて通信を行うことにより、公開鍵暗号方式と共通鍵暗号方式とを組み合わせ、通信相手の認証を行うと共に、情報の暗号化により改竄及び盗聴の防止を図ることができる。また、通信相手の側でも、通信を要求してきた通信元の装置を認証することができる。
このようなＳＳＬや公開鍵暗号を用いた認証に関連する技術としては、例えば特許文献１及び特許文献２に記載のものが挙げられる。
【０００４】
ここで、このＳＳＬに従った相互認証を行う場合の通信手順について、認証処理の部分に焦点を当てて説明する。図２７は、通信装置Ａと通信装置ＢとがＳＳＬに従った相互認証を行う際に各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
図２７に示すように、ＳＳＬに従った相互認証を行う際には、まず双方の通信装置に、ルート鍵証明書及び、私有鍵と公開鍵証明書を記憶させておく必要がある。この私有鍵は、認証局（ＣＡ：certificate authority）が各装置に対して発行した私有鍵であり、公開鍵証明書は、その私有鍵と対応する公開鍵にＣＡがデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、ＣＡがデジタル署名に用いたルート私有鍵と対応するルート鍵に、デジタル署名を付してデジタル証明書としたものである。
【０００５】
図２８にこれらの関係を示す。
図２８（ａ）に示すように、公開鍵Ａは、私有鍵Ａを用いて暗号化された文書を復号化するための鍵本体と、その公開鍵の発行者（ＣＡ）や有効期間等の情報を含む書誌情報とによって構成される。そして、ＣＡは、鍵本体や書誌情報が改竄されていないことを示すため、公開鍵Ａをハッシュ処理して得たハッシュ値を、ルート私有鍵を用いて暗号化し、デジタル署名としてクライアント公開鍵に付す。またこの際に、デジタル署名に用いるルート私有鍵の識別情報を署名鍵情報として公開鍵Ａの書誌情報に加える。そして、このデジタル署名を付した公開鍵証明書が、公開鍵証明書Ａである。
【０００６】
この公開鍵証明書Ａを認証処理に用いる場合には、ここに含まれるデジタル署名を、ルート私有鍵と対応する公開鍵であるルート鍵の鍵本体を用いて復号化する。この復号化が正常に行われれば、デジタル署名が確かにＣＡによって付されたことがわかる。また、公開鍵Ａの部分をハッシュ処理して得たハッシュ値と、復号して得たハッシュ値とが一致すれば、鍵自体も損傷や改竄を受けていないことがわかる。さらに、受信したデータをこの公開鍵Ａを用いて正常に復号化できれば、そのデータは、私有鍵Ａの持ち主から送信されたものであることがわかる。
【０００７】
ここで、認証を行うためには、ルート鍵を予め記憶しておく必要があるが、このルート鍵も、図２８（ｂ）に示すように、ＣＡがデジタル署名を付したルート鍵証明書として記憶しておく。このルート鍵証明書は、自身に含まれる公開鍵でデジタル署名を復号化可能な、自己署名形式である。そして、ルート鍵を使用する際に、そのルート鍵証明書に含まれる鍵本体を用いてデジタル署名を復号化し、ルート鍵をハッシュ処理して得たハッシュ値と比較する。これが一致すれば、ルート鍵が破損等していないことを確認できるのである。
【０００８】
図２７のフローチャートの説明に入る。なお、この図において、２本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。また、各ステップの処理が正常に完了しなかった場合には、その時点で認証失敗の応答を返して処理を中断するものとする。相手から認証失敗の応答を受けた場合、処理がタイムアウトした場合等も同様である。
【０００９】
ここでは、通信装置Ａが通信装置Ｂに通信を要求するものとするが、この要求を行う場合、通信装置ＡのＣＰＵは、所要の制御プログラムを実行することにより、図２７の左側に示すフローチャートの処理を開始する。そして、ステップＳ１１で通信装置Ｂに対して接続要求を送信する。
一方通信装置ＢのＣＰＵは、この接続要求を受信すると、所要の制御プログラムを実行することにより、図２７の右側に示すフローチャートの処理を開始する。そして、ステップＳ２１で第１の乱数を生成し、これを私有鍵Ｂを用いて暗号化する。そして、ステップＳ２２でその暗号化した第１の乱数と公開鍵証明書Ｂとを通信装置Ａに送信する。
【００１０】
通信装置Ａ側では、これを受信すると、ステップＳ１２でルート鍵証明書を用いて公開鍵証明書Ｂの正当性を確認する。
そして確認ができると、ステップＳ１３で、受信した公開鍵証明書Ｂに含まれる公開鍵Ｂを用いて第１の乱数を復号化する。ここで復号化が成功すれば、第１の乱数は確かに公開鍵証明書Ｂの発行対象から受信したものだと確認できる。そして、これが確認できた場合、通信装置Ｂに対して認証成功の旨を示す情報を送信する。
また、通信装置Ｂ側では、この情報を受信すると、ステップＳ２３で通信装置Ａに対し、認証のための公開鍵証明書の送信を要求する。
すると、通信装置Ａ側ではこれに応じてステップＳ１４で第２の乱数及び共通鍵の種を生成する。共通鍵の種は、例えばそれまでの通信でやり取りしたデータに基づいて作成することができる。そして、ステップＳ１５で第２の乱数を私有鍵Ａを用いて暗号化し、共通鍵の種を公開鍵Ｂを用いて暗号化し、ステップＳ１６でこれらを公開鍵証明書Ａと共にサーバ装置に送信する。共通鍵の種の暗号化は、通信相手以外の装置に共通鍵の種を知られないようにするために行うものである。
また、次のステップＳ１７では、ステップＳ１４で生成した共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
【００１１】
通信装置Ｂ側では、これを受信すると、ステップＳ２４でルート鍵証明書を用いて公開鍵証明書Ａの正当性を確認する。そして確認ができると、ステップＳ２５で、受信した公開鍵証明書Ａに含まれる公開鍵Ａを用いて第２の乱数を復号化する。ここで復号化が成功すれば、第２の乱数は確かに公開鍵証明書Ａの発行対象から受信したものだと確認できる。
その後、ステップＳ２６で私有鍵Ｂを用いて共通鍵の種を復号化する。ここまでの処理で、通信装置Ａ側と通信装置Ｂ側に共通の共通鍵の種が共有されたことになる。そして、この共通鍵の種は、生成した通信装置Ａと、私有鍵Ｂを持つ通信装置Ｂ以外の装置が知ることはない。ここまでの処理が成功すると、通信装置Ｂ側でもステップＳ２７で復号化で得た共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
【００１２】
そして、通信装置Ａ側のステップＳ１７と通信装置Ｂ側のステップＳ２７の処理が終了すると、相互に認証の成功と以後の通信に使用する暗号化方式とを確認し、生成した共通鍵を用いてその暗号化方式で以後の通信を行うものとして認証に関する処理を終了する。なお、この確認には、通信装置Ｂからの認証が成功した旨の応答も含むものとする。以上の処理によって互いに通信を確立し、以後はステップＳ１７又はＳ２７で生成した共通鍵を用い、共通鍵暗号方式でデータを暗号化して通信を行うことができる。
【００１３】
このような処理を行うことにより、通信装置Ａと通信装置Ｂが互いに相手を認証した上で安全に共通鍵を共有することができ、通信を安全に行う経路を確立することができる。
ただし、上述した処理において、第２の乱数を私有鍵Ａで暗号化し、公開鍵証明書Ａを通信装置Ｂに送信することは必須ではない。このようにすると、通信装置Ｂが通信装置Ａを認証することはできないが、通信装置Ａが通信装置Ｂを認証するだけでよい場合にはこの処理で十分である。そしてこの場合には、通信装置Ａに記憶させるのはルート鍵証明書のみでよく、私有鍵Ａ及び公開鍵証明書Ａは不要である。また、通信装置Ｂにはルート鍵証明書を記憶させる必要はない。
【００１４】
ところで、遠隔管理等のサービスの提供対象を識別するためにこのような認証処理を利用する場合、サービスの提供対象の装置（利用者側の装置）に、認証処理に必要な証明書等を記憶させることになる。そして、サービスの提供を行う装置が、その証明書等に記載された情報を基に、通信相手がサービスの提供対象として適切な装置であるか否か判断することが行われている。また、証明書等に記載された情報で不十分であれば、通信経路を確立した後で、通信相手から機番情報を取得して、上記の判断に使用することが行われている。
【００１５】
また、ある装置が、所定の期間はサービスの提供対象であるが、契約の解消等に伴ってサービスの提供対象から外れる場合が考えられる。このような場合には、サービスの提供対象でなくなった装置の証明書を無効化する必要がある。
このような無効化に関連する技術としては、特許文献３及び特許文献４に記載のような技術が知られている。
【００１６】
そして、特許文献３には、登録局（ＲＡ）からの申請に基づいて公開鍵登録等の認証サービスを提供する発行局（ＩＡ）が、上記のＲＡからＲＡ自身の公開鍵証明書の無効化申請を受け取った場合に、そのＲＡから登録された利用者の公開鍵証明書をデータベースから検索し、その利用者の公開鍵証明書を無効化する技術が開示されている。また、特許文献４には、公開鍵認証装置が、属性認証装置から受け取った公開鍵証明書無効化申請書を解析して無効化対象の公開鍵証明書を抽出し、その公開鍵証明書をデータベース中において無効化する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、これらの特許文献３及び４に記載の方式では、利用者の公開鍵証明書の無効化は、証明書を管理する側、すなわちサービスの提供側でのみ行うようにしている。すなわち、サービスの提供側で記憶している利用者テーブルから、無効化する公開鍵証明書に係る利用者の情報や証明書の識別番号を削除する処理を行うようにしており、利用者に公開鍵証明書を無効化した旨を伝えることは行うが、利用者側の装置に記憶させた公開鍵証明書等に何か処置を施すことはせず、そのまま放置するようになっている。
【００１８】
このため、利用者側の装置には、依然として、サービスの提供を受けていた時点の公開鍵証明書が記憶されたままとなる。従って、利用者側の装置から、証明書や鍵が流出し、複製されたり悪用されたりする恐れがあるという問題があった。これらの証明書等は、サービス提供側では無効なものとして設定されている。しかし、有効期間の満了に合わせて契約を解消した等の特段の事情がなければ、証明書自体は有効期間内のものであり、形式的には有効な証明書や鍵と何ら変わらないわけであるから、これらが無制限に流出することは好ましくない。
【００１９】
また、利用者側の装置は、依然としてサービス提供側の装置にアクセスを試みることができる状態であるので、サービス提供側の装置に、このアクセスがサービスの提供対象外であることを判断し、通信を拒否する処理を行う負荷が生じるという問題があった。この種の負荷は、利用者側の装置に一定期間毎にサービス提供側に対して自動的にアクセスする機能がある場合には、より大きなものとなる。この負荷を低減する方法としては、ＣＲＬ（Certificate Revocation List：失効リスト）を登録することにより、対象外の装置との間でのＳＳＬ通信を不可とすることが考えられるが、それでも、アクセスがある限りは負荷がなくなるわけではない。
そして、サービス提供対象以外の装置に対応するために処理能力を割くことは望ましくないため、このような負荷は極力低減したいという要求があった。
【００２０】
この発明は、このような問題を解決し、証明書を用いて通信相手を認証する通信装置を備えた通信システムを構成する場合において、証明書を無効化する場合に、正規の証明書や鍵の流出を防止できるようにすることを目的とする。また、通信装置が適当でない通信相手に対応するための処理負荷を低減することも目的とする。
【課題を解決するための手段】
【００２６】
以上の目的を達成するため、この発明の証明書無効化装置は、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置において、上記相手先装置から認証処理に用いる証明書を受信する受信手段と、上記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、無効化用の証明書である無効化用証明書を上記相手先装置に送信する送信手段とを設け、上記無効化用証明書を、認証処理に用いる証明書自体を無効化するコンテンツを有する証明書としたものである。
【００２７】
このような証明書無効化装置において、上記無効化用証明書を、上記相手先装置が行う、証明書のフォーマットを確認するフォーマットチェック及び証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有する証明書とするとよい。
【００２８】
あるいは、上記無効化用証明書を、不適当な有効期間を記載した証明書とするとよい。
あるいはまた、上記無効化用証明書を、不適当な発行者情報を記載した証明書とするとよい。
【００２９】
また、この発明は、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置であって、上記相手先装置から認証処理に用いる証明書を受信する受信手段と、上記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書と対応させる私有鍵として、無効化用の私有鍵を上記相手先装置に送信する送信手段とを設けた証明書無効化装置も提供する。
【００３０】
また、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置であって、
上記相手先装置から認証処理に用いる証明書を受信する受信手段と、
上記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を上記相手先装置に送信する送信手段を設けた証明書無効化装置も提供する。
また、上記の各証明書無効化装置において、上記無効化用証明書、私有鍵又は通信先情報の送信を行う場合に、送信先の相手先装置に、送信した無効化用証明書、私有鍵又は通信先情報を設定するよう要求するようにするとよい。
【００３１】
また、この発明の証明書無効化システムは、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置と、その相手先装置となる通信装置とを備えた証明書無効化システムにおいて、上記証明書無効化装置に、上記相手先装置から認証処理に用いる証明書を受信する受信手段と、上記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、無効化用の証明書である無効化用証明書を上記相手先装置に送信する送信手段とを設け、上記通信装置に、上記証明書無効化装置から上記無効化用証明書を受信した場合に、記憶している、上記証明書無効化装置に送信した証明書を受信した無効化用証明書で上書きする手段を設けたものである。
【００３２】
このような証明書無効化システムにおいて、上記無効化用証明書を、認証処理に用いる証明書自体を無効化するコンテンツを有する証明書とするとよい。
さらに、上記無効化用証明書を、上記通信装置が行う、証明書のフォーマットを確認するフォーマットチェック及び証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有する証明書とするとよい。
【００３３】
あるいは、上記無効化用証明書を、不適当な有効期間を記載した証明書としてもよい。
あるいはまた、上記無効化用証明書が、不適当な発行者情報を記載した証明書としてもよい。
【００３４】
また、この発明は、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置と、その相手先装置となる通信装置とを備えた証明書無効化システムにおいて、上記証明書無効化装置に、上記相手先装置から認証処理に用いる証明書を受信する受信手段と、上記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書と対応させる私有鍵として、無効化用の私有鍵を上記相手先装置に送信する送信手段とを設け、上記通信装置に、上記証明書無効化装置から上記無効化用の私有鍵を受信した場合に、上記証明書無効化装置に送信した証明書と対応する私有鍵を、受信した無効化用の私有鍵で上書きする手段を設けた証明書無効化システムも提供する。
【００３５】
また、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置と、その相手先装置となる通信装置とを備えた証明書無効化システムにおいて、上記証明書無効化装置に、上記相手先装置から認証処理に用いる証明書を受信する受信手段と、上記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を上記相手先装置に送信する送信手段を設け、上記通信装置に、上記証明書無効化装置から上記無効化用の通信先情報を受信した場合に、上記証明書無効化装置に送信した証明書を用いた通信の要求先を示す通信先情報を、受信した無効化用の通信先情報で上書きする手段を設けた証明書無効化システムも提供する。
また、上記の各証明書無効化システムにおいて、上記証明書無効化装置が、上記無効化用証明書、私有鍵又は通信先情報の送信を行う場合に、送信先の通信装置に、送信した無効化用証明書、私有鍵又は通信先情報を設定するよう要求するようにするとよい。
【００３６】
また、この発明のプログラムは、コンピュータを、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置として機能させるためのプログラムにおいて、上記相手先装置から認証処理に用いる証明書を受信する受信手段と、前記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、無効化用の証明書である無効化用証明書を上記相手先装置に送信する送信手段として機能させるためのプログラムを含め、上記無効化用証明書を、認証処理に用いる証明書自体を無効化するコンテンツを有する証明書としたものである。
【００３７】
このようなプログラムにおいて、上記無効化用証明書を、上記相手先装置が行う、証明書のフォーマットを確認するフォーマットチェック及び証明書のコンテンツの整合性を確認するコンテンツチェックに合格する一方で、証明書自体を無効化するようなコンテンツを有する証明書とするとよい。
あるいは、上記無効化用証明書を、不適当な有効期間を記載した証明書とするとよい。
あるいはまた、上記無効化用証明書を、不適当な発行者情報を記載した証明書とするとよい。
【００３８】
また、この発明は、コンピュータを、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置として機能させるためのプログラムであって、上記コンピュータを、上記相手先装置から認証処理に用いる証明書を受信する受信手段と、上記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書と対応させる私有鍵として、無効化用の私有鍵を上記相手先装置に送信する送信手段として機能させるためのプログラムを含むプログラムも提供する。
【００３９】
また、コンピュータを、相手先装置が認証処理に用いる証明書を無効化する証明書無効化装置として機能させるためのプログラムであって、上記コンピュータを、上記相手先装置から認証処理に用いる証明書を受信する受信手段と、上記受信手段で受信した証明書又はその受信した証明書に基づく通信経路で受信した情報に基づいて、その受信した証明書を無効化すべきと判断した場合に、その受信した証明書を用いてアクセスすべき通信先の識別情報として、無効化用の通信先情報を上記相手先装置に送信する送信手段として機能させるためのプログラムを含むプログラムも提供する。
【００４０】
また、上記の各プログラムにおいて、上記コンピュータに、上記無効化用証明書、私有鍵又は通信先情報の送信を行う場合に、送信先の相手先装置に、送信した無効化用証明書、私有鍵又は通信先情報を設定するよう要求する機能を実現させるためのプログラムを含めるようにするとよい。
また、この発明の記録媒体は、上記のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００４１】
以上のようなこの発明のデジタル証明書無効化方法、デジタル証明書無効化装置、またはデジタル証明書無効化システムによれば、デジタル証明書を用いて通信相手を認証する通信装置を備えた通信システムを構成する場合において、デジタル証明書を無効化する場合に、正規のデジタル証明書や鍵の流出を防止できるようにすることができる。また、通信装置が適当でない通信相手に対応するための処理負荷を低減することもできる。
また、この発明のプログラムによれば、コンピュータを上記のデジタル証明書無効化装置として機能させてその特徴を実現し、同様な効果を得ることができる。この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【図面の簡単な説明】
【００４２】
【図１】この発明の証明書無効化方法を実行する通信システムの構成例を示すブロック図である。
【図２】図１に示した上位装置のハードウェア構成を示すブロック図である。
【図３】図１に示した上位装置及び下位装置について、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。
【図４】図１に示した上位装置及び下位装置が記憶する認証情報について説明するための図である。
【図５】公開鍵証明書の書式例について説明するための図である。
【図６】図５に示した書式に従った下位装置用正規公開鍵証明書の例を示す図である。
【図７】図１に示した上位装置から下位装置に転送するデータの例を示す図である。
【図８】同じく下位装置の証明書記憶部における、上位装置と通信するための公開鍵証明書とその証明書を用いて通信を行う場合の通信先との記憶状態の例を示す図である。
【図９】同じく、無効化用情報を設定した場合の記憶状態の例を示す図である。
【図１０】無効化用情報の図９とは異なる例を示す図である。
【図１１】無効化用情報のさらに別の例を示す図である。
【図１２】無効化用情報のさらに別の例を示す図である。
【図１３】無効化用情報のさらに別の例を示す図である。
【図１４】無効化用情報のさらに別の例を示す図である。
【図１５】図１に示した上位装置が正規ＵＲＬに通信要求を受けた場合に実行する処理を示すフローチャートである。
【図１６】同じく上位装置における証明書無効化フラグの設定例を示す図である。
【図１７】同じく下位装置が上位装置から証明書設定コマンドを受信した場合に実行する処理を示すフローチャートである。
【図１８】上位装置及び下位装置が図１５及び図１７に示したような認証情報の無効化を行う処理を実行する場合の処理シーケンスの例を示す図である。
【図１９】認証情報を無効にされた下位装置が上位装置に通信を要求しようとした場合の動作シーケンスの、図１８に示したものとは別の例を示す図である。
【図２０】図１に示した通信システムにおいて下位装置を複数設けた場合のシステム構成例を示す図である。
【図２１】図１及び図３に示した上位装置に記憶させる更新条件テーブルの例を示す図である。
【図２２】同じく機器情報テーブルの例を示す図である。
【図２３】非常用の認証情報を使用する場合に、図１に示した上位装置及び下位装置にが記憶する認証情報について説明するための図である。
【図２４】無効化用証明書セットと通信先情報とを一括して転送する場合に使用する証明書パッケージの例を示す図である。
【図２５】この発明の通信システムの別の構成例における上位装置及び下位装置について、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。
【図２６】図２５に示したＣＡについて、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。
【図２７】２つの通信装置がＳＳＬに従った相互認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
【図２８】図２７に示した認証処理におけるルート鍵、ルート私有鍵、および公開鍵証明書の関係について説明するための図である。
【図２９】図２７に示した認証処理の変形例を、その処理に用いる情報と共に示す図である。
【発明を実施するための形態】
【００４３】
以下、この発明の好ましい実施の形態を図面を参照して説明する。
まず、この発明によるデジタル証明書無効化方法に係る処理を実行する通信装置と、その通信装置を用いて構成したこの発明の通信システムの実施形態の構成について説明する。
【００４４】
まず、図１に、その通信システムの概略構成を示す。
この通信システムにおいては、図１に示すように、デジタル証明書無効化方法に係る処理を実行する通信装置であり、デジタル証明書無効化装置である上位装置３０及び、その通信相手となる通信装置である下位装置４０によって通信システムを構成している。
【００４５】
そして、上位装置３０は、下位装置４０と通信を行おうとする場合、公開鍵暗号とデジタル証明書を用いる認証方式であるＳＳＬプロトコルに従った認証処理によって下位装置４０を正当な通信相手として認証した場合に、下位装置４０との間で通信を確立させるようにしている。また、上位装置３０が送信した動作要求（コマンド）に対し、下位装置４０が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。
【００４６】
逆に、下位装置４０が上位装置３０と通信を行おうとする場合にも、同じくＳＳＬに従った認証処理によって上位装置３０を正当な通信相手として認証した場合に、上位装置３０との間で通信を確立させるようにしている。そして、下位装置４０が送信した動作要求（コマンド）に対し、上位装置３０が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。
どちらの場合も、通信を要求する側がクライアント、要求される側がサーバとして機能するものとする。
なお、図１において、下位装置４０は１つしか示していないが、図１７に示すように下位装置４０を複数設けることも可能である。また、上位装置３０は１つの通信システムについて１つである。
【００４７】
このような通信システムにおいて、上述の通信も含め、上位装置３０，下位装置４０の各ノードは、ＲＰＣ（remote procedure call）により、相互の実装するアプリケーションプログラムのメソッドに対する処理の依頼である「要求」を送信し、この依頼された処理の結果である「応答」を取得することができるようになっている。
この、ＲＰＣを実現するためには、ＳＯＡＰ（Simple Object
Access Protocol），ＨＴＴＰ（Hyper Text Transfer Protocol），ＦＴＰ（File Transfer Protocol）,ＣＯＭ（Component
Object Model），ＣＯＲＢＡ（Common Object Request Broker Architecture）等の既知のプロトコル（通信規格），技術，仕様などを利用することができる。
【００４８】
次に、図１に示した各装置の構成と機能についてより詳細に説明する。
図２は、上位装置３０のハードウェア構成を示すブロック図である。この図に示す通り、上位装置３０は、ＣＰＵ５１，ＲＯＭ５２，ＲＡＭ５３，ＨＤＤ５４，通信インタフェース（Ｉ／Ｆ）５５を備え、これらがシステムバス５６によって接続されている。そして、ＣＰＵ５１がＲＯＭ５２やＨＤＤ５４に記憶している各種制御プログラムを実行することによってこの上位装置３０の動作を制御し、通信、認証、デジタル証明書の無効化等の機能を実現させている。
なお、上位装置３０のハードウェアとしては、適宜公知のコンピュータを採用することができる。もちろん、必要に応じて他のハードウェアを付加してもよい。
【００４９】
また、下位装置４０も含め、より具体的なハードウェアとしては、装置の遠隔管理，電子商取引等の目的に応じて種々の構成をとることができる。例えば、遠隔管理の場合には、プリンタ，ＦＡＸ装置，コピー機，スキャナ，デジタル複合機等の画像処理装置を始め、ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，自動車，航空機等の電子装置を被管理装置である下位装置４０とし、これらの被管理装置から情報を収集したり、コマンドを送って動作させたりするための管理装置を上位装置３０とすることが考えられる。ただし、どのような構成とした場合でも、上位装置３０は、後述するように下位装置４０に無効化用のデジタル証明書又は通信先情報を転送する機能を有するものとする。
【００５０】
また、上位装置３０及び下位装置４０は、少なくともそれぞれＣＰＵ，ＲＯＭ，ＲＡＭ，ネットワークを介して外部装置と通信するための通信Ｉ／Ｆ、および認証処理に必要な情報を記憶する記憶手段を備え、ＣＰＵがＲＯＭ等に記憶した所要の制御プログラムを実行することにより、装置にこの発明に係る各機能を実現させることができるものとする。
なお、この通信には、有線，無線を問わず、ネットワークを構築可能な各種通信回線（通信経路）を採用することができる。
【００５１】
ここで、図３に、上位装置３０及び下位装置４０の、この発明の特徴に関連する部分の機能構成に係る機能ブロック図を示す。この図において、この発明の特徴と関連しない部分の図示は省略している。
まず、上位装置３０には、ＨＴＴＰＳ（Hypertext Transfer
Protocol Security）クライアント機能部３１，ＨＴＴＰＳサーバ機能部３２，認証処理部３３，証明書設定要求部３４，証明書記憶部３５，無効化用情報作成部３６を備えている。
【００５２】
ＨＴＴＰＳクライアント機能部３１は、ＳＳＬに従った認証や暗号化の処理を含むＨＴＴＰＳプロトコルを用いて、下位装置４０等のＨＴＴＰＳサーバの機能を有する装置に対して通信を要求する機能を有する。
一方、ＨＴＴＰＳサーバ機能部３２は、ＨＴＴＰＳクライアントの機能を有する装置からのＨＴＴＰＳプロトコルを用いた通信要求を受け付ける機能を有する。
そして、これらのＨＴＴＰＳクライアント機能部３１とＨＴＴＰＳサーバ機能部３２とで、通信相手に対してコマンドやデータを送信してそれに応じた動作を実行させる機能と、通信相手からコマンドやデータを受信してそれに応じた動作を装置の各部に実行させ、その結果を応答として要求元に返す機能とを実現している。この場合において、通信を要求した側がコマンドを送信することもあるし、通信要求を受け付けた側がコマンドを送信することもある。応答についても同様である。
【００５３】
認証処理部３３は、ＨＴＴＰＳクライアント機能部３１やＨＴＴＰＳサーバ機能部３２が通信相手を認証する際に、通信相手から受信したデジタル証明書や、証明書記憶部３５に記憶している各種証明書、私有鍵等を用いて認証処理を行う認証手段の機能を有する。また、通信相手に認証を要求するために証明書記憶部３５に記憶しているデジタル証明書をＨＴＴＰＳクライアント機能部３１やＨＴＴＰＳサーバ機能部３２を介して通信相手に送信する機能も有する。
【００５４】
証明書設定要求部３４は、後述するように所定の場合に下位装置４０等の通信相手に対して必要な証明書等を転送する証明書転送手段及び、その転送を行う場合に転送先の装置にこれを設定するよう要求する証明書設定手段の機能を有する。
証明書記憶部３５は、各種の証明書や私有鍵等の認証情報を記憶し、認証処理部３３における認証処理に供する機能を有する。ここに記憶させる認証情報には、後述する無効化用の認証情報や通信先情報も含む。
【００５５】
無効化用情報作成部３６は、下位装置４０が上位装置３０との通信を行う際に使用する認証情報を無効化する際に使用する、無効化用証明書や無効化用通信先情報等の無効化用情報を作成する機能を有する。この作成した無効化用情報は、その場で証明書設定要求部３４により下位装置４０に転送するようにすることも考えられるし、証明書記憶部３５に記憶させておき、必要に応じて下位装置４０に転送するようにすることも考えられる。また、無効化用情報作成部３６自身が無効化用情報を作成せず、外部のＣＡ等と通信し、そこから取得するようにすることも考えられる。
そして、これらの各部の機能は、上位装置３０のＣＰＵが所要の制御プログラムを実行して上位装置３０の各部の動作を制御することにより実現される。
【００５６】
次に、下位装置４０には、ＨＴＴＰＳクライアント機能部４１，ＨＴＴＰＳサーバ機能部４２，認証処理部４３，要求管理部４４，証明書記憶部４５，コール通知部４６，定期通知部４７，証明書設定部４８，コマンド受信部４９を備えている。
ＨＴＴＰＳクライアント機能部４１は、上位装置３０のＨＴＴＰＳクライアント機能部３１と同様に、ＨＴＴＰＳプロトコルを用いて上位装置３０等のＨＴＴＰＳサーバの機能を有する装置に対して通信を要求すると共に、コマンドやそれに対する応答を送受信する機能を有する。
【００５７】
ＨＴＴＰＳサーバ機能部４２も、上位装置３０のＨＴＴＰＳサーバ機能部３２と同様であり、ＨＴＴＰＳクライアントの機能を有する装置からの通信要求を受け付けると共に、コマンドやそれに対する応答を送受信する機能を有する。
認証処理部４３の機能も、上位装置３０の認証処理部３３と同様であるが、認証処理に使用する証明書等は、証明書記憶部４５に記憶しているものである。
要求管理部４４は、上位装置から受信したコマンドについて、そのコマンドに基づいた動作の実行可否を判断する機能を有する。そして、実行を許可する場合に、そのコマンドに基づいた動作を実行する機能部４６〜４９に対して動作要求を伝える機能も有する。
【００５８】
証明書記憶部４５は、上位装置の証明書記憶部３５と同様に各種の証明書や私有鍵等の認証情報を記憶し、認証処理部４３における認証処理に供する証明書記憶手段の機能を有する。ただし、記憶している証明書等は、後述するように証明書記憶部３５とは異なる。
コール通知部４６は、異常を検知したりユーザによる指示があったりした場合に上位装置３０に対してその旨を通知するコールを行う機能を有する。
【００５９】
定期通知部４７は、下位装置４０から上位装置３０への定期的な通知を行う機能を有する。その通知の内容としては、例えば画像形成装置であれば画像形成枚数カウンタのカウント値、計量システムであればその計量値等が考えられる。
証明書設定部４８は、上位装置３０から受信した証明書等を認証処理に使用するものとして証明書記憶部４５に設定し、証明書等を更新する機能を有する。
【００６０】
コマンド受信部４９は、上述した各機能部４６〜４８以外の機能に係る要求に対応する動作を実行する機能を有する。この動作としては、例えば下位装置４０が記憶しているデータの送信や、必要に応じて図示を省略したエンジン部の動作を制御することが挙げられる。
そして、これらの各部の機能は、下位装置４０のＣＰＵが所要の制御プログラムを実行して下位装置４０の各部の動作を制御することにより実現される。
【００６１】
次に、上述した各装置が認証処理に用いる各証明書や鍵の特性及び用途について説明する。図４は、（ａ）に下位装置４０の証明書記憶部４５に記憶している証明書及び鍵の種類を示し、（ｂ）に上位装置３０の証明書記憶部３５に記憶している証明書及び鍵の種類を示す図である。
この図に示すように、上位装置３０及び下位装置４０は、正規認証情報として、自分に関する認証情報である公開鍵証明書及び私有鍵と、通信相手に関する認証情報であるルート鍵証明書とを記憶している。
そして、各装置は、通常の通信時はこれらの認証情報を用いてＳＳＬに従った図２７を用いて説明したような手順の認証処理を行う。
【００６２】
また、通常のＳＳＬとは異なるが、第１の乱数を私有鍵Ｂで暗号化し、公開鍵証明書Ｂと共に通信装置Ａに送信する手順を省略した認証処理を行うことも考えられる。この場合の処理は図２９に示すようなものであり、図２７に示した処理と比べ、通信装置Ｂ側のステップＳ２１，Ｓ２２及び通信装置Ａ（クライアントとして機能する装置）側のステップＳ１２，Ｓ１３の処理は不要になる。このようにすると、通信装置Ａが通信装置Ｂ（サーバとして機能する装置）を認証することはできないが、通信装置Ｂが通信装置Ａを認証するだけでよい場合にはこの処理で十分である。そして、この場合には、通信装置Ａにはルート鍵証明書を記憶させる必要はない。ただし、共通鍵の種を通信装置Ａから通信装置Ｂへ安全に送信するために公開鍵Ｂと私有鍵Ｂを使用するので、認証には使用しないものの、これらの鍵を通信装置Ｂに記憶させておくようにする。
【００６３】
また、図４に示した証明書及び鍵のうち、下位装置用正規公開鍵証明書は、図示しないＣＡが下位装置４０に対して発行した正規の公開鍵に、下位装置認証用正規ルート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書であり、正規証明書に該当する。
ここで、公開鍵証明書の書式は、例えば図５に示したものを用いることができ、公開鍵そのものの他、証明書の発行者や証明書の有効期限、証明される対象（証明書の発行先の装置あるいは利用者）等の情報が記載されている。そして、この書式のうち、情報の項目に該当する部分をフォーマットと呼び、項目毎の情報の内容をコンテンツと呼ぶことにする。そして、この書式としては、具体的には例えばＸ．５０９と呼ばれる書式に従って作成することができ、この書式に従って作成された下位装置用正規公開鍵証明書は、例えば図６に示すようなものになる。
【００６４】
この例においては、ＡがＣＡの識別情報を示し、Ｃが証明書の発行先の装置の識別情報を示す。これらは、それぞれ所在地、名称、ＩＤあるいはコード等の情報を含む。ただし、発行先の装置について、ＩＤのように個々の装置を識別できるような識別情報を記載することは必須ではない。また、Ｂが有効期間を示し、その開始日時と終了日時によって有効期間を指定している。
【００６５】
また、この例において、情報の項目を示す「：」の前の内容、例えば「Serial
Number」や「Subject」がフォーマットに該当する。また、例えば「Issuer」や「Subject」の下位には、「C」，「ST」等のさらに細かい項目も用意されており、これらの項目を示す、「=」の前の内容も、フォーマットに該当する。そして、各項目の内容、例えば「Serial
Number」についての「101 (0x0)」が、コンテンツに該当する。なお、公開鍵証明書中に、注釈等、フォーマットにもコンテンツにも該当しない部分があってもよい。逆に、これら双方に同時に該当する部分があってもよい。
【００６６】
また、下位装置用正規私有鍵は、上記の正規公開鍵と対応する私有鍵、下位装置認証用正規ルート鍵証明書は、下位装置認証用正規ルート鍵に自身と対応するルート私有鍵を用いて自身で正当性を確認可能なデジタル署名を付したデジタル証明書である。
なお、下位装置４０を複数設けた場合でも、各装置の正規公開鍵に付すデジタル署名は同じルート私有鍵を用いて付し、正当性確認に必要な正規ルート鍵証明書は共通にする。しかし、正規公開鍵証明書に含まれる正規公開鍵やこれと対応する私有鍵は、装置毎に異なる。
上位装置用正規公開鍵証明書と上位装置用正規私有鍵と上位装置認証用正規ルート鍵証明書も同様な関係である。
【００６７】
そして、例えば上位装置３０と下位装置４０とが相互認証を行う場合には、下位装置４０からの通信要求に応じて、上位装置３０は上位装置用正規私有鍵を用いて暗号化した第１の乱数を上位装置用正規公開鍵証明書と共に下位装置４０に送信する。下位装置４０側では上位装置認証用正規ルート鍵証明書を用いてまずこの上位装置用正規公開鍵証明書の正当性（損傷や改竄を受けていないこと）を確認し、これが確認できた場合にここに含まれる公開鍵で第１の乱数を復号化する。この復号化が成功した場合に、下位装置４０は通信相手の上位装置３０が確かに上位装置用正規公開鍵証明書の発行先であると認識でき、その証明書に含まれる識別情報から装置を特定することができる。そして、特定した装置が通信相手としてふさわしいか否かに応じて認証の成功と失敗を決定することができる。
【００６８】
また、上位装置３０側でも、下位装置４０側で認証が成功した場合に送信されてくる下位装置用正規公開鍵証明書及び、下位装置用正規私有鍵で暗号化された乱数を受信し、記憶している下位装置認証用正規ルート鍵証明書を用いて同様な認証を行うことができる。
なお、この手順は下位装置４０がＨＴＴＰＳクライアント機能部４１によって上位装置３０のＨＴＴＰＳサーバ機能部３２に対して通信を要求する場合の処理であり、上位装置３０がＨＴＴＰＳクライアント機能部３１によって下位装置４０のＨＴＴＰＳサーバ機能部４２に対して通信を要求する場合には、使用する証明書や鍵は同じであるが、上位装置３０と下位装置４０の処理が逆になる。
【００６９】
ところで、この通信システムにおいて、下位装置４０が上位装置３０の適当な通信相手（例えば上位装置３０による遠隔管理の対象装置）である間は、下位装置４０には有効な正規認証情報を記憶させておく必要がある。しかし、下位装置４０が上位装置３０の適当な通信相手でなくなった場合には、上位装置３０がその下位装置４０の正規認証情報を無効化するようにしている。そして、この無効化の処理として、上位装置３０は、下位装置４０に対し、無効化用の証明書セットを転送して設定させるようにしている。
【００７０】
この証明書セットの転送は、図７に示すように、通信先ＵＲＬと対応付けて行うとよい。このようにすれば、下位装置４０に新たに正規認証情報を転送して設定させようとする場合と共通の形式にすることができる。また、コマンドについても、新たに正規認証情報を転送して設定させようとする場合と共通のものを用いることができる。
すなわち、転送は、公開鍵証明書と私有鍵とルート鍵証明書をセットにした証明書セットに、その証明書を用いてアクセスする通信先の識別情報であるＵＲＬ（Uniform Resource Locator）等を対応付けて行うとよい。
また、無効化用証明書セットのうちどの証明書や鍵を無効化用のものにするかについては、種々の選択肢が考えられるが、図７に示した例では、下位装置用公開鍵証明書として、無効化用公開鍵証明書を含めるようにしている。このとき、下位装置用私有鍵、上位装置認証用ルート鍵証明書及び通信先ＵＲＬについては、公開鍵証明書を無効化しようとする時点で下位装置４０に記憶させてあるものと同じでよい。そして、このような証明書セットや通信先ＵＲＬは、上位装置３０の無効化用情報作成部３６が作成することができる。
【００７１】
また、下位装置４０においては、通信の制御を単純なものにするため、上位装置３０との通信に使用する証明書セットは、常に１種類としている。従って、新たな証明書セットやＵＲＬを設定する場合には、それまでの証明書セットやＵＲＬに上書きする形式で行うようにしている。例えば、証明書記憶部４５に、上位装置３０との通信に使用するための証明書セットとして、図８に示すように正規認証情報を構成する正規証明書セット６０が記憶され、上位装置３０に通信を要求する際の通信先６５として、正規ＵＲＬの「https://www.ca1.co.jp」が登録されていた場合を考える。
なお、証明書セットを記憶させる記憶領域と、その証明書セットを認証に使用する際に通信を要求すべきＵＲＬを記憶させる記憶領域とは、証明書セットとＵＲＬとの対応関係が把握できるようにしてあれば、必ずしも隣接あるいは近接した領域でなくても構わない。
この場合に、証明書設定コマンドに応じて図７に示したような通信先ＵＲＬ及び証明書セットを設定すると、図９に示すように、正規証明書セット６０の部分を無効化用証明書セット７０で上書きすることになる。通信先６５の部分も、受信したＵＲＬに上書きしているが、元と同じＵＲＬであるので、データに変化はない。
【００７２】
ここで、無効化用証明書セット７０に含まれる無効化用公開鍵証明書７１は、符号Ｄで示すように、有効期間の開始日時と終了日時が同じであり、有効期間のない、不適当な有効期間を記載した公開鍵証明書である。このため、上位装置３０は、認証処理において下位装置４０からこの無効化用公開鍵証明書７１を受信した場合、有効期間の情報を参照するだけで、証明書が有効期間外であるものとして認証失敗と判断することができる。
なお、このような無効化用公開鍵証明書７１は、書誌情報を変更してあるため、もはや図２８（ａ）に示したように、公開鍵のハッシュ値とデジタル署名を復号化して得たハッシュ値とは一致しない。しかし。このような処理を行う必要もなく、有効期間の情報のみから、認証失敗と判断することができる。
また、有効期間の終了日時が設定時の日時よりも前であると、後述するコンテンツチェックでエラーが起こるので、有効期間の終了日時は、設定時の日時よりも数日程度後に設定するとよい。
【００７３】
ここで、無効化用証明書セット及び無効化用通信先情報の、図９に示したもの以外の例について説明する。
例えば、無効化用証明書セットは、不適当な発行者情報を記載したものであってもよい。この例を図１０に示す。この例においては、無効化用証明書セット８０に含まれる無効化用公開鍵証明書８１には、符号Ｅで示すように、発行者（ＣＡ）の情報としてダミーの情報が記載されている。また、ルート鍵証明書も、符号Ｆで示すように発行者情報としてダミーの情報が記載された無効化用ルート鍵証明書８３としている。
このような無効化用証明書セットを用いても、発行者情報を参照するだけで、証明書が適当な発行者によって発行されたものでないとして認証失敗と判断することができる。また、この例の場合には、下位装置４０から正規の公開鍵証明書やルート鍵証明書が流出して悪用されるような事態を防止できる。
【００７４】
また、無効化用証明書セットは、私有鍵が無効化用私有鍵であるものであってもよい。この例を図１１に示す。この例においては、無効化用証明書セット９０に含まれる私有鍵を、無効化用私有鍵９２とし、符号Ｇで示すように、鍵のデータをオールゼロとしている。このような私有鍵は、正規公開鍵証明書に含まれる公開鍵と対応するものではないため、下位装置４０が無効化用証明書セット９０を用いて上位装置４０にアクセスを試みた場合でも、やはり上位装置３０側での認証は失敗することになる。
そして、この例の場合には、下位装置４０から正規の私有鍵が流出して悪用されるような事態を防止できる。
【００７５】
また、通信先のＵＲＬを無効化用のＵＲＬとしてもよい。この例を図１３に示す。この例においては、上位装置３０に通信を要求する際の通信先６６として、下位装置４０自身を示すＵＲＬである「https://localhost」を記載している。このようなＵＲＬを通信要求先として登録した場合、もはや下位装置４０からの通信要求が上位装置３０に届くことはないので、上位装置３０側では、通信相手として適当でなくなった下位装置４０に対応する必要がなくなり、上位装置３０における処理負荷を低減することができる。また、無効化用のＵＲＬを、下位装置４０自身を示すものにすることにより、ネットワークに余計な通信要求を送信することがなくなるので、ネットワーク全体の通信負荷も低減することができる。
なお、この場合、証明書セットの部分は正規証明書セットのままでも構わないが、流出防止の観点からは、この部分も無効化用証明書セットとすることが好ましい。
【００７６】
また、通信先として、解約処理用サーバ等のＵＲＬを設定してもよい。この場合、その解約処理用サーバ等が下位装置４０からのアクセス有無を検知することにより、下位装置４０がネットワークに接続されたままか、撤去されたか等を検知することができる。そして、このようにした場合、リース物件が契約期間満了後にネットワークに接続されたままであれば、顧客先に連絡してその回収を図るといった対応が可能となる。
また、通信先としては、「http://127.0.0.1」のようなＩＰアドレスを設定することも考えられる。
【００７７】
さらにまた、無効化用公開鍵証明書について、完全に無効な証明書とするだけでなく、例えば、契約期間の満了等、公開鍵証明書を無効化すべきタイミングを有効期限の終期とした証明書を用いることも考えられる。このようにすれば、公開鍵証明書を無効化すべき期日よりも前に無効化用証明書セットの設定を行ってしまうことができ、無効化処理のタイミング管理を容易に行うことができる。
なお、以上の各例の特徴を、任意に組み合わせて適用できることはもちろんである。例えば、ＵＲＬ，公開鍵証明書，私有鍵，ルート鍵証明書の全てを無効化用にすれば、処理負荷の低減及び認証情報の流出防止の双方の観点から効果が大きい。このようにした場合、通信先ＵＲＬ及び証明書セットは、例えば図１３に示すようになる。
【００７８】
また、無効化用証明書セットを、ルート鍵証明書を含まないものとすることも考えられる。この例を図１４に示す。この例においては、無効化用証明書セット１００を、上位装置認証用ルート鍵証明書を含まない証明書セットとしている。上位装置３０と下位装置４０とが図２７に示したような相互認証を行う場合、下位装置４０にルート鍵証明書がなければ上位装置３０から受信した公開鍵証明書の正当性を確認できず、認証が失敗することになる。
【００７９】
なお、以上の図９から図１４までに示した例のうち、公開鍵証明書及び／又はルート鍵証明書を無効化用のものに変更したものは全て、その公開鍵証明書及び／又はルート鍵証明書を、デジタル証明書として有効なフォーマットと証明書自体を無効化するようなコンテンツを有する無効化用証明書に変更したものである。具体的には、フォーマットの部分は正規の証明書から変更せず、コンテンツの部分のみを変更して無効化用証明書を用意するようにしている。また、証明書セットにおいて、ルート鍵の数が任意であるようなフォーマットもあり、そのような場合には、図１４に示した例のようにルート鍵証明書をなくしてしまっても、フォーマットの有効性を維持できる。
【００８０】
下位装置４０においては、誤って不正な証明書を設定してしまわないよう、証明書の設定前にその証明書のフォーマットが所定の条件を満たすことを確認するフォーマットチェックを行う場合がある。そして、このような場合には、無効化用証明書がこれに合格できるものでないと、下位装置４０に設定させることができず、証明書を無効化することもできないため、上記のようにしたものである。
なお、この目的からは、フォーマットチェックに合格できるような証明書であれば、有効なフォーマットであると言える。そして、このフォーマットチェックの内容は、装置によって異なるが、最も単純には、証明書がその符号化方式であるＡＮＳフォーマットに適合しているか否かを判断するのみの場合もある。
【００８１】
また、下位装置４０は、フォーマットチェックだけでなく、コンテンツの整合性を確認するコンテンツチェックを行う場合もある。例えば、私有鍵と公開鍵が対応するものであることを暗号化／復号化処理によって確認したり、有効期限が現在の日時より後であることを確認する等である。そして、下位装置４０がこのようなコンテンツチェックを行う場合には、無効化用証明書としてコンテンツチェックにも合格できるものを用意する必要がある。
どのような条件を満たせば証明書の無効化とコンテンツチェックの合格を同時に達成できるかは、チェックの内容に応じて異なるが、図９や図１０に示したようなものであれば、通常はこの条件を満たすことができると考えられる。
【００８２】
次に、上記のように、下位装置４０に無効化用の証明書等を転送する際の処理について、より詳細に説明する。なお、以下の処理においては、無効化用証明書セットを下位装置４０に送信する場合について説明するが、これに加えて又はこれに代えて無効化用通信先情報を送信する場合も、処理の流れは同様なものである。
図１５に、上位装置３０が、正規認証情報を用いた認証処理を行うＵＲＬ（正規ＵＲＬ）に通信要求を受けた場合に実行する処理を示す。この処理が、この発明のデジタル証明書無効化方法に係る処理である。
なお、この処理のうち、ステップＳ１０１乃至Ｓ１０６及びＳ１１３の処理は、公開鍵証明書の無効化とは関係なく行う処理である。そして、ステップＳ１０７乃至Ｓ１１２の処理が、証明書の無効化のための処理である。
【００８３】
図１に示した通信システムにおいて、上位装置３０のＣＰＵは、正規ＵＲＬに通信要求を受けると、図１５のフローチャートに示す処理を開始する。
そして、まずステップＳ１０１で、通信要求の要求元の装置との間で正規公開鍵証明書と乱数及び共通鍵の種を送受信し、図２７に示したようなＳＳＬによる相互認証処理を行う。この処理には、受信した公開鍵証明書から、通信要求の要求元の識別情報を取得する処理も含まれる。
【００８４】
そして、ステップＳ１０２でこの認証が成功したか否か判断し、ここで失敗していればステップＳ１１４に進んでそのまま通信を切断し、処理を終了する。一方、ステップＳ１０２で認証が成功していれば、通信要求の送信元との間で通信を確立してステップＳ１０３に進み、ステップＳ１０１で交換した共通鍵の種から共通鍵を生成する。なお、ここで確立される通信経路が、正規公開鍵証明書に基づくＳＳＬによる通信経路である。
そして、ステップＳ１０４で、コマンド及び受信したコマンドに対する応答を、生成した共通鍵で暗号化して通信中の装置（ここでは下位装置４０）に送信し、ステップＳ１０５で、コマンド及び送信したコマンドに対する応答を、同じ共通鍵で暗号化された状態で通信中の装置から受信する。そして、ステップＳ１０６でコマンド及び応答を全て送受信したか否か判断し、まだ残っていればステップＳ１０４に戻って処理を繰り返し、全て送受信していればステップＳ１０７に進む。
【００８５】
なお、ステップＳ１０４及びＳ１０５の処理は、順不同で構わないし、送受信すべきコマンドや応答がなければ省略する。また、受信したコマンドに係る処理を実行して応答を生成する処理や、受信した応答の内容を解釈してそれに対応した動作を行う処理は、受信したコマンドや応答を記憶しておき、図１５に示したフローチャートとは別に実行するものとする。
【００８６】
次のステップＳ１０７では、通信中の装置について証明書無効化フラグがＯＮになっているか否か判断する。
ここで、証明書無効化フラグは、図１６に示すように、上位装置３０が、通信相手となり得る各下位装置４０について、そのＩＤ（識別情報）と対応させて記憶しているフラグである。そして、ＯＮである場合に、対応するＩＤを持つ装置の認証情報を無効化する必要があることを示すフラグである。また、このフラグの設定は、上位装置３０のオペレータが手動で行ってもよいし、上位装置３０において契約期限切れを検出した場合等に、上位装置３０自身が自動で行うようにしてもよい。また、フラグに代えて、認証情報を無効化する必要がある下位装置の機番を記載したテーブルを用いることもできる。
【００８７】
なお、下位装置４０のＩＤは、認証処理時に下位装置４０から受信した下位装置用正規公開鍵証明書に記載されている情報から把握できるし、正規公開鍵証明書に基づく通信経路で下位装置４０から送信させるようにしてもよい。また、無効化の要否の判断には、ＩＤ以外でも、下位装置４０から受信した公開鍵証明書に記載されていたり、正規公開鍵証明書に基づく通信経路で下位装置４０から受信したりした任意の情報を用いることができる。
【００８８】
そして、ステップＳ１０７でこの証明書無効化フラグがＯＦＦであれば、証明書セットを送信する必要はないので、そのままステップＳ１１３に進んで通信を切断し、処理を終了する。
一方、ステップＳ１０７で証明書無効化フラグがＯＮであれば、ステップＳ１０８以降の、無効化用の証明書の送信に係る処理に進む。
そしてまずステップＳ１０８で、証明書記憶部３５から無効化用証明書セットを取得する。この証明書セットは、無効化用情報作成部３６にその場で作成させて取得することも考えられる。
【００８９】
そして、ステップＳ１０９で、ステップＳ１０８で取得した無効化用証明書セットを、通信相手の装置（下位装置４０）に送信する。このとき、送信した証明書セットを上位装置３０との通信に使用する証明書セットとして設定するように要求する証明書設定コマンドを、通信相手の装置に送信する。
なお、ここで送信する証明書セット（及び／又は通信先情報）としては、図９乃至図１４を用いて説明したような、種々のものが考えられる。
また、このような送信は、証明書セットを、証明書設定コマンドの引数として送信することによって行ってもよい。また、これらの送信は、正規の証明書セットを用いて確保した、ＳＳＬによる安全な通信経路で行うものである。また、まず証明書を送信し、その送信が完了した後で証明書設定コマンドを送信するようにすることも考えられる。
【００９０】
この処理が完了すると、ステップＳ１１０で証明書設定コマンドに対する応答を待つ。そして、ステップＳ１１１で証明書セットの設定が成功したか否か判断する。そして、成功していればステップＳ１１２に進んで、証明書の設定が済んだ通信中の装置について、証明書無効化フラグをＯＦＦにし、もはや認証情報の無効化が必要ないことを示す。その後、ステップＳ１１３に進んで通信を切断し、処理を終了する。
ステップＳ１１１で成功していなければ（所定時間以内に応答がなかった場合も成功していないものとする）、そのままステップＳ１１３に進んで通信を切断し、処理を終了する。この場合には、同じ下位装置４０から次に正規ＵＲＬに通信要求があった場合に、再度無効化用証明書セットの設定を試みることになる。
【００９１】
以上の処理により、上位装置３０から下位装置４０に、無効化用証明書セットを、正規認証情報を用いて確保した安全な通信経路で送信すると共に、下位装置４０にこれらを設定するように要求することができる。
ここで、上位装置３０から証明書設定コマンドを受信した場合に下位装置４０が実行する処理を図１７に示す。
【００９２】
下位装置４０のＣＰＵは、上位装置３０から証明書設定コマンドを受信すると、図１７のフローチャートに示す処理を開始する。そして、まずステップＳ２０１で、証明書設定コマンドによって設定を要求された証明書セットのフォーマットを確認するフォーマットチェックを行う。そして、これが不適当なもの（ＮＧ）であれば、ステップＳ２０５で証明書セット及びＵＲＬの設定が失敗したことを示すエラー応答を返して処理を終了する。なお、ステップＳ２０１でコンテンツチェックも行うようにしてもよい。
一方、ステップＳ２０１で適当なもの（ＯＫ）であれば、ステップＳ２０２に進み、証明書設定コマンドによって設定を要求された証明書セットを、上位装置３０との通信に使用する証明書セットとして設定する。
【００９３】
そして、ステップＳ２０３で上位装置３０に証明書設定コマンドに対する応答を返し、ステップＳ２０４で通信を切断して自身を再起動する。この再起動は、下位装置４０において重要な設定を変更する際に必要なものであり、ここでは証明書セットの設定がこれに該当する。再起動を行う際に、ユーザに再起動の許可を求めるようにしてもよい。また、図１７にはステップＳ２０４の後もとの処理に戻るように図示しているが、実際にはステップＳ２０４での再起動時に処理は中断される。
なお、図１５に示した処理において、ステップＳ１０７乃至Ｓ１１２の証明書転送に係る処理を、ステップＳ１０４乃至Ｓ１０６のコマンド及び応答の送受信に係る処理よりも後で行うようにしているのは、証明書を設定させることになる場合でも、このステップＳ２０４での再起動によって通信が切断されないうちに、他のコマンド及び応答の送受信を済ませてしまうことができるようにするためである。
【００９４】
以上の処理により、下位装置４０は、上位装置３０から受信した証明書セットとＵＲＬとを対応させて、以後の上位装置３０との通信に使用するものとして記憶することができる。そして、証明書セットとして無効化用証明書セットを設定した場合には、再度起動された後は、上位装置３０に通信を行おうとしても、もはや正規の認証情報を有しないため、認証が失敗し、通信経路を確立することができなくなる。すなわち、下位装置４０の公開鍵証明書は無効化されたことになる。
【００９５】
なお、ステップＳ２０２における設定は、証明書セットを、上述したように証明書記憶部４５に記憶させることによって行う。
また、証明書設定コマンドによって設定を要求される証明書セットを証明書設定コマンドと別に受信する場合には、受信した証明書セットは適当な記憶領域に一時的に保存しておき、証明書設定コマンドを受信した時点で図１７に示す処理を開始し、証明書セットの設定を行うようにすればよい。
【００９６】
次に、上位装置３０及び下位装置４０が上記のような公開鍵証明書の無効化を行う処理を実行する場合の処理シーケンスの例について説明する。図１７にこの処理シーケンスを示す。
この例においては、まず下位装置４０が、上位装置３０と通信する際に、通信要求を送信すべきＵＲＬを確認し（Ｓ３０１）、ＨＴＴＰＳクライアント機能部４１を対上位装置クライアントとして機能させて、確認した正規ＵＲＬに通信要求を送信する（Ｓ３０２）。この場合、上位装置３０側ではＨＴＴＰＳサーバ機能部３２が通信要求を受け、認証処理部３３にこの要求を伝える。そして認証処理部３３は、ＳＳＬプロトコルに従い、証明書記憶部３５に記憶している上位装置用正規私有鍵で暗号化した第１の乱数と共に、同じく証明書記憶部３５に記憶している上位装置用正規公開鍵証明書を下位装置４０に返す（Ｓ３０３）。
【００９７】
下位装置４０側では、これを認証処理部４３に渡して認証処理を行うが、ここでは受信した上位装置用正規公開鍵証明書の正当性は証明書記憶部４５に記憶している上位装置認証用正規ルート鍵証明書を用いて確認できるため、認証成功と判断し、その旨の応答を返す（Ｓ３０４）。そして、上位装置３０がこれに応じて下位装置４０に証明書要求を送信すると（Ｓ３０５）、下位装置４０は、上位装置３０に対して証明書記憶部４５に記憶している下位装置用正規私有鍵で暗号化した第２の乱数と共に、同じく証明書記憶部３５に記憶している下位装置用正規公開鍵証明書を上位装置３０に返す。またここでは、相互認証を行うので、ステップＳ３０３で受信した上位装置用正規公開鍵を用いて暗号化した共通鍵の種も第２の乱数と共に返す。（Ｓ３０６）。
【００９８】
上位装置３０側では、これらを認証処理部３３に渡して認証処理を行うが、ここでは受信した下位装置用正規公開鍵証明書の正当性は証明書記憶部３５に記憶している下位装置認証用正規ルート鍵証明書を用いて確認できるため、認証成功と判断し、以降の通信に用いる暗号化方式の確認を行う（Ｓ３０７）。
以上により、上位装置３０と下位装置４０との間でＳＳＬによる安全な通信経路での通信が確立され、その後、上位装置３０と下位装置４０は、コマンド及び応答の送受信を、交換した共通鍵の種を用いて生成した共通鍵によって通信を暗号化した状態で行う（Ｓ３０８）。
【００９９】
その後、上位装置３０側で、下位装置４０の公開鍵証明書を無効化する必要があると判断すると、証明書記憶部３５から無効化用証明書セットを取得し（Ｓ３０９）、証明書更新コマンドと共に下位装置４０に転送する（Ｓ３１０）。
すると、下位装置４０は、通信の際の認証処理に使用する証明書セットとして無効化用証明書セットを設定する（Ｓ３１１）。以上で証明書セットの更新が終了し、下位装置４０は通信を切断して自身を再起動する。
【０１００】
再起動後に下位装置４０が上位装置３０に通信要求を行う場合の動作は、下位装置にどのような無効化用証明書セットを設定したかによって異なる。
以下にいくつかの例について説明する。
まず、無効化用公開鍵証明書を含む無効化用証明書セットを設定した場合には、再起動後に下位装置４０が正規ＵＲＬに通信要求を行って認証を受けようとしても、送信する証明書は無効化用公開鍵証明書であるので、上位装置３０は認証失敗と判断する。そして、このことにより、下位装置４０は上位装置３０と通信できない状態になる（Ｓ３１２〜Ｓ３１８）。
【０１０１】
ただし、下位装置４０側では、依然として、上位装置認証用正規ルート鍵証明書に含まれるルート鍵を用いて上位装置用正規公開鍵証明書の正当性を確認できる状態であるから、特に他の無効化処理を行わなければ、下位装置４０は上位装置３０を適切な通信相手であると認識する状態のままである。
また、無効化用私有鍵を含む無効化用証明書セットを設定した場合には、下位装置４０が上位装置３０に対して公開鍵証明書と共に送信した乱数がその証明書に含まれる公開鍵により復号化できないため、上位装置３０が認証失敗と判断するが、そのシーケンスは上記のステップＳ３１２〜Ｓ３１８の場合と同様である。
【０１０２】
さらに図１９にその他の例を示すが、無効化用ルート鍵証明書を含む無効化用証明書セットを設定した場合には、下位装置４０が上位装置３０から受信する上位装置用正規公開鍵証明書の正当性を確認できなくなるため、図１９（ａ）に示すように、下位装置３０の側で認証が失敗し、下位装置４０は上位装置３０と通信できない状態になる（Ｓ３３１〜Ｓ３３４）。
なお、上述したように、無効化用証明書セットの設定に加えて、またはこれに代えて、通信先ＵＲＬとして無効化用ＵＲＬを設定することも考えられる。そして、この場合には、図１９（ｂ）に示すように、そもそも通信要求が上位装置３０に届かないので、認証処理は開始されず、下位装置４０は上位装置３０と通信できない状態になる（Ｓ３４１，Ｓ３４２）。
【０１０３】
図１に示した通信システムにおいては、下位装置４０の公開鍵証明書を無効化しようとする場合、以上のような処理を行うことにより、上位装置３０から下位装置４０に無効化用証明書セット及び／又は無効化用ＵＲＬを転送するようにしている。
そして、下位装置４０の証明書セットを無効化用のものに変更させてしまえば、もはや下位装置４０は正規の証明書セットを記憶していないわけであるから、下位装置４０から正規の証明書セットが流出して悪用されるような事態を防止できる。証明書セットの中身を個別に見ても、図９乃至図１４を用いて説明した通り、公開鍵証明書、私有鍵、ルート鍵証明書をそれぞれ無効化することが可能である。
また、下位装置４０の通信先情報を無効化用ＵＲＬとすることにより、通信要求が上位装置３０に送信されることを防止し、上位装置３０の負荷低減を図ることができる。
【０１０４】
なお、下位装置４０が複数ある場合には、上位装置３０が、各下位装置４０から通信要求を受ける度に図１５に示した処理を実行することにより、認証情報の無効化が必要な各下位装置４０に順次無効化用証明書を設定させることができる。そして、例えば公開鍵証明書を無効化する場合には、最終的には、図２０に示すように、通信相手として適当な下位装置（ここではＡ，Ｂ）には正規公開鍵証明書が記憶され、通信相手として不適当な下位装置（ここではＣ，Ｄ）には無効化用証明書が記憶された状態とすることができる。
【０１０５】
また、以上説明した処理によれば、上位装置３０及び下位装置４０が通信に使用していた正規認証情報を用いてＳＳＬによる安全な通信経路を確立し、その通信経路を用いて上位装置３０から下位装置４０に無効化用証明書セットを転送している。従って、無効化用証明書セットも、安全に下位装置４０に転送することができる。
ここで、この通信システムにおいては、処理の簡略化を図るため、無効化用証明書セットの設定コマンドとして、正規認証情報の設定に用いる設定コマンドと共通のものを使用している。一方で、後者のコマンドに従って下位装置４０に証明書セットを設定させる際には、エラーを含む証明書を設定してしまわないよう、フォーマットのチェックを行わせることが好ましく、ここではそのようにしている。従って、無効化用証明書セットについても、フォーマットチェックをクリアできるような内容とする必要がある。
そこで、無効化用証明書は、図９等に示したように、証明書の各項目はそのまま残し、有効期間のように一部の内容のみを変更したものとしている。従って、大部分は正規認証情報の内容と同一である。このため、無効化用証明書といえども第３者に無制限に漏洩することは好ましくないから、上記のような安全な通信経路で転送することが好ましいのである。
【０１０６】
また、ＳＳＬによる転送経路であれば、上位装置３０が、通信相手が確かに認証情報を無効にすべき下位装置であることを確認してから転送を行うことができる。特に、公開鍵証明書に発行先装置のシリアル番号のような識別情報を記載するようにすると、なりすましを防止することができる。従って、適切な通信相手である下位装置４０の公開鍵証明書を誤って無効化してしまうことを防止できる。また、証明書無効化フラグがＯＮであった場合に転送するようにしているので、証明書無効化フラグの状態を管理することにより、無効化の不要な装置ついては、当然正規認証情報を用いた通信を継続できる。すなわち、下位装置４０からの正規公開鍵証明書の受信に基づいて無効化の要否を判断するようにしているので、容易かつ確実に無効化の必要な下位装置４０を識別し、無効化用証明書セット及び／又は無効化用ＵＲＬを転送することができる。
【０１０７】
なお、上述の処理において、下位装置用正規公開鍵証明書に、発行対象の装置の国別コード、会社名、機種情報等を記載しておけば、証明書無効化フラグに代えてこれらの情報を参照することにより、国毎、会社毎あるいは機種毎に、証明書無効化の要否を判断することができる。さらに、下位装置用正規公開鍵証明書に記載してある証明書のシリアル番号や、ユーザ情報等を参照して証明書無効化の要否を判断することも考えられる。また、正規公開鍵証明書に基づく通信経路で下位装置４０にこれらの情報を送信させ、その情報を参照して証明書無効化の要否を判断することも考えられる。
【０１０８】
そして、このような判断のための条件は、例えば図２１に示すような条件テーブルとして記憶しておくことが考えられる。図２１には、判断の基礎となりうる各パラメータについて判断条件が列挙されている。例えば、国別コードが「ＪＰ」の装置の認証情報を無効化する、機種が「１２３４」及び「４５６７」の装置の認証情報を無効化する、機種が「１４７４」の装置の認証情報を無効化する、証明書シリアル番号が１０００以下の装置の認証情報を無効化する等である。そして、これらの各条件について、実際に認証情報の無効化の要否の判断に使用するか否かの情報も記載されている。
【０１０９】
そして、図１５に示した処理を行う場合に、ステップＳ１０７の判断に代えて、公開鍵証明書に記載されている発行対象の装置の情報、あるいは正規公開鍵証明書に基づく通信経路で下位装置４０から受信した情報が、条件テーブルにおいて認証情報の無効化要否の判断に使用すると設定されている条件に当てはまるか否かを判断することにより、無効化用証明書セット及び／又は無効化用ＵＲＬの転送の要否を判断することができる。図２１に示した例では、国別コードが「ＪＰ」で、かつ機種が「１２３４」又は「４５６７」の装置について認証情報の無効化が必要と判断することになる。
もちろん、条件テーブルに記載する条件は、図２１に示したものに限られることはないし、これらの条件を組み合わせたり、優先順位を付けたり、論理演算を行ったりしたりして複雑な条件を設定してもよい。
【０１１０】
また、上位装置３０に、通信相手となる下位装置４０の情報や、そのユーザあるいは記憶している公開鍵証明書の情報を記載した図２２に示すような機器情報テーブルを記憶しておくようにすることも考えられる。このようにすれば、受信した公開鍵証明書に詳細な情報が記載されていない場合でも、ＩＤ等をキーに機器情報テーブルを検索して通信相手の下位装置４０に関する詳細な情報を取得し、条件テーブルを利用した認証情報の無効化要否の判断に用いることができる。上位装置３０が下位装置４０を遠隔管理するようなシステム構成の場合には、上位装置３０は通常は機器情報テーブルに相当する情報を記憶していると考えられるから、このテーブルを利用するようにするとよい。
なお、公開鍵証明書を受信する度に機器情報テーブルを検索したり、条件テーブルに規定された条件に基づいた判断を行ったりすると、処理負荷が大きくなる。そこで、予め機器情報テーブル中から条件テーブルに既定された条件を満たす装置を抽出し、その装置について証明書無効化フラグをＯＮにしておき、図１５を用いて説明したように、そのＯＮ／ＯＦＦに応じて認証情報の無効化要否を判断する方式も、処理負荷低減の観点から有効である。
【０１１１】
さらにまた、認証情報の無効化の必要な装置について、上位装置３０側で無効化用証明書セット及び／又は無効化用ＵＲＬを予め準備しておき、これを設定するための証明書設定コマンドを、その装置に送信すべきコマンドとして設定しておくことも考えられる。このようにした場合、対象の下位装置４０が上位装置３０に通信を要求し、認証が成功すると、図１５のステップＳ１０４の処理において、通常のコマンドの送信と共に証明書設定コマンドを下位装置４０に送信して実行させることができる。従って、ステップＳ１０７乃至Ｓ１１２の処理が不要になり、通常のコマンド送受信処理の範疇で下位装置４０の公開鍵証明書を無効化できるので、処理の簡略化を図ることができる。
【０１１２】
この場合には、下位装置４０から受信した公開鍵証明書に付されたＩＤの装置に送信すべき証明書設定コマンドが設定されていたことによって、認証情報の無効化が必要と判断していると考えることができる。なお、この場合に受信する公開鍵証明書は、無効化前のものであるから、下位装置用正規公開鍵証明書である。
なお、上記の証明書設定コマンドの登録は、上位装置３０のオペレータが手動で行っても、上位装置３０が所定の規則に基づいて自動で行ってもよい。
後者の例として、例えば、利用者情報等として登録されている契約期限を監視し、これが満了した際にコマンドを登録することが考えられる。
【０１１３】
また、この発明によれば、自動的に下位装置４０の証明書セット及び／又は通信先情報を無効化用のものに更新することができるので、この発明は、設置先の操作者による証明書の更新が行えないような装置、例えばケーブルテレビのセットトップボックスや遠隔保守の対象となる画像形成装置等、の認証情報を無効化する際に適用すると、特に効果的である。
【０１１４】
また、上位装置３０から下位装置４０に証明書セット及び／又はＵＲＬを転送する際に、下位装置４０にこれらを設定するよう要求する例について説明したが、このようにすることは必須ではない。上位装置３０側で最低限転送のみ行うようにすれば、設定については下位装置４０側の動作に任せるようにすることもできる。
さらにまた、通信先情報としてＵＲＬを用いる例について説明したが、この情報は、下位装置４０が上位装置３０と通信する際の通信要求の送信先を示すことができる情報であれば、他の形式で記載された情報であっても構わない。例えば、ＩＰ（Internet Protocol）アドレス等が考えられる。
【０１１５】
また、通信システムにおいて、上位装置３０や下位装置４０に、以上の実施形態で説明したような正規認証情報の他に、正規認証情報の更新が失敗したり、証明書の有効期間を徒過してしまったりした場合に備え、非常用の通信経路を設けるための非常用（レスキュー）認証情報を記憶するようにする構成が考えられる。この場合、上位装置３０及び下位装置４０に記憶させる認証情報は、図２３に示すようなものになる。そしてこの場合、下位装置４０の正規認証情報を無効化しても、レスキュー認証情報が残っていると、これを用いた通信経路から上位装置３０にアクセスできてしまう。
従って、下位装置４０にレスキュー認証情報を記憶させている場合には、その正規認証情報を無効化する際に、レスキュー認証情報も無効化するようにするとよい。この場合において、レスキュー認証情報についても、正規認証情報の場合と同様に、無効化用証明書セットや無効化用の通信先情報を上書きすることによって無効化することができる。
【０１１６】
また、ここでは、下位装置４０から上位装置３０に通信要求があった場合にこれに応じて上位装置３０から下位装置４０に証明書セット及びＵＲＬを転送する例について説明した。このような処理は、下位装置４０がファイアウォールの内側にある場合でも適用できる点で優れているが、上位装置３０から下位装置４０に通信を要求して、証明書セットやＵＲＬを転送する構成も取り得る。この場合でも、無効化用証明書セットや無効化用通信先情報を転送することにより、上記と同様な効果を得ることができる。
【０１１７】
また、証明書セットと通信先情報とを、図２４に示すような証明書パッケージとして一括して転送するようにしてもよい。上述した通信システムにおいて、下位装置４０の正規認証情報を有効な状態のまま更新する際には、これらを同時に転送して更新させるようにすると、下位装置４０に上位装置３０と通信するための証明書セット及び通信先情報を１つずつしか記憶させない場合でも、上位装置３０との間で通信可能な状態を維持したまま、認証に使用するルート鍵を更新できる。一方、認証情報の無効化の際の証明書設定コマンドを通常の更新の際に使用するものと兼用するようにすると、処理の簡略化を図ることができるが、このようにした場合には、無効化の場合にも証明書セットと通信先情報とを一括して送信することになる。
【０１１８】
また、上記の無効化用証明書セットや無効化用通信先情報の転送に加えて、下位装置４０を適切な通信相手のリストから削除する等の処理を行ってもよいことはもちろんである。ただし、このような処理を行ってしまうと、上位装置３０において下位装置４０の認証が失敗するようになり、下位装置４０との間でＳＳＬによる安全な通信経路を確保できなくなってしまうため、このような処理は、無効化用の証明書等を転送した後に行うようにする。
【０１１９】
また、上述した実施形態では、上位装置３０と下位装置４０が、図２７あるいは図２９を用いて説明したようなＳＳＬに従った認証を行う場合の例について説明した。しかし、この認証が必ずしもこのようなものでなくてもこの発明は効果を発揮する。
ＳＳＬを改良したＴＬＳ（Transport Layer Security）も知られているが、このプロトコルに基づく認証処理を行う場合にも当然適用可能である。
【０１２０】
また、上述した実施形態では、無効化用証明書セットを上位装置３０が作成する例について説明したが、上位装置３０がＣＡに要求してこれを発行させるようにしてもよい。そしてこの場合、無効化用証明書セットを、下位装置４０が持つ正規認証情報に係る証明書セットを発行したＣＡと同じＣＡに発行させるようにするとよい。このようなシステム構成とすれば、ＣＡ側でも自身が発行した証明書が無効化される場合にその旨を把握することができる。また、ＣＡが過去に発行した証明書を保持しているようにすれば、この情報を利用し、一部を改変して容易に無効化用証明書セットを発行することができる。
【０１２１】
図２５に、このようにする場合の、上位装置３０及び下位装置４０の、図３に示したものと対応する機能構成を示す。
この場合、無効化用情報作成部３６に代えて対ＣＡ通信機能部３７を設け、ＣＡ１０のような認証局と通信を行い、下位装置４０あるいは上位装置３０自身が認証処理に使用するための証明書セットや、下位装置４０の認証情報を無効化するための証明書セットの発行を要求し、発行された証明書セットを受信する機能を持たせるようにしている。そして、必要な場合にはこの対ＣＡ通信機能部３７により、ＣＡ１０から無効化用証明書セットを取得するようにすればよい。
【０１２２】
なお、上位装置３０とＣＡ１０との間の通信については、セキュリティ面を考慮し、専用線によるネットワークにより行うようにするとよく、ここではそのようにしている。従って、外部からの接続は不可能であるから、ここではＳＳＬを使用していない。しかし、ＳＳＬを使用する場合には、ＨＴＴＰＳクライアント機能部３１から認証局に通信を要求するようにしてもよい。
【０１２３】
また図２６に、ＣＡ１０のこの発明の特徴となる部分の機能構成を示す。
この図に示すように、ＣＡ１０は、通信機能部１１，証明書更新部１３，証明用鍵作成部１４，証明書発行部１５，証明書管理部１６，無効化用証明書発行部１７を備えている。
通信機能部１１は、上位装置３０と通信し、証明書セットの発行要求を受信したり、発行した証明書セットを送信したりといった動作を始め、受信した要求やデータに応じた動作を装置の各部に実行させ、要求元に応答を返す機能を有する。
なお、上位装置３０との間の通信にＳＳＬを用いる場合には、通信機能部１１にＨＴＴＰＳサーバ機能部やＨＴＴＰＳクライアント機能部のような機能を持たせることも考えられる。この場合には、上位装置３０や下位装置４０の場合と同様な認証処理部を設け、適当な証明書を用いた認証処理を行うようにすることになる。
【０１２４】
証明書更新部１３は、上位装置３０から証明書発行要求があった場合に、証明用鍵作成部１４や証明書発行部１５に対象の下位装置４０の新たな証明書セットを発行させ、これを証明書管理部１６から通信機能部１１を介して上位装置３０に送信させる機能を有する。
証明用鍵作成部１４は、デジタル署名の作成に用いる証明用私有鍵であるルート私有鍵と、そのデジタル証明書の正当性を確認するための、ルート私有鍵と対応する証明用公開鍵（証明鍵）であるルート鍵とを作成する証明用鍵作成手段の機能を有する。
【０１２５】
証明書発行部１５は、上位装置３０と下位装置４０とに対してＳＳＬプロトコルに従った認証処理に用いる公開鍵及びこれと対応する私有鍵を発行する機能を有する。そしてさらに、それぞれ発行した公開鍵に証明用鍵作成部１４で作成したルート私有鍵を用いてデジタル署名を付して、デジタル証明書である公開鍵証明書を発行する証明書発行手段の機能を有する。また、ルート鍵にデジタル署名を付したルート鍵証明書の発行もこの証明書発行部１５の機能である。
【０１２６】
証明書管理部１６は、証明書発行部１５が発行したデジタル証明書、その作成に用いたルート私有鍵、およびそのルート私有鍵と対応するルート鍵を管理する証明書管理手段の機能を有する。そして、これらの証明書や鍵を、その有効期限や発行先、ＩＤ、更新や無効化の有無等の情報と共に記憶する。
無効化用証明書発行部１７は、上位装置３０から無効化用証明書発行要求があった場合に、証明書管理部１６から対象装置に発行した証明書セットを取得し、その一部を改変して無効化用証明書セットを発行し、これを通信機能部１１を介して上位装置３０に送信する機能を有する。この場合、証明書管理部１６に、無効化用証明書セットを発行した旨の情報を登録するとよい。また、無効化用証明書セットの構成については、後に詳述する。
そして、これらの各部の機能は、ＣＡ１０のＣＰＵが所要の制御プログラムを実行してＣＡ１０の各部の動作を制御することにより実現される。
【０１２７】
なお、以上説明したようなＣＡを、上位装置３０と一体として設けることを妨げるものではない。この場合、ＣＡの機能を実現するためのＣＰＵ，ＲＯＭ，ＲＡＭ等の部品を独立して設けてもよいが、上位装置３０のＣＰＵ，ＲＯＭ，ＲＡＭ等を使用し、そのＣＰＵに適当なソフトウェアを実行させることにより、ＣＡとして機能させるようにしてもよい。
このような場合において、ＣＡと、これと一体になっている上位装置３０との間の通信には、ハードウェアをＣＡとして機能させるためのプロセスと、ハードウェアを上位装置３０として機能させるためのプロセスとの間のプロセス間通信を含むものとする。
【０１２８】
また、この発明によるプログラムは、上位装置３０を制御するコンピュータに、以上説明したような機能を実現させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、初めからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【０１２９】
以上説明してきた通り、この発明の証明書無効化装置、証明書無効化システム、プログラム又は記録媒体によれば、証明書を用いて相手先装置を認証する通信装置を備えた通信システムを構成する場合において、証明書を無効化する場合に、正規の証明書や鍵の流出を防止できるようにすることができる。また、通信装置が適当でない相手先装置に対応するための処理負荷を低減することもできる。
従って、この発明を、各ノードが通信に際して証明書を用いた認証処理を行うような通信システムを運用する際に利用することにより、認証処理に使用する証明書を無効化した場合でも安全性を維持することができるシステムを、比較的安価かつ容易に構成することができる。
【符号の説明】
【０１３０】
１０：ＣＡ            １１：通信機能部
１３：証明書更新部        １４：証明用鍵作成部
１５：証明書発行部        １６：証明書管理部
１７：無効化用証明書発行部
３１，４１：ＨＴＴＰＳクライアント機能部
３２，４２：ＨＴＴＰＳサーバ機能部
３３，４３：認証処理部    ３４：証明書設定要求部
３５，４５：証明書記憶部  ３６：無効化用情報作成部
３７：対ＣＡ通信機能部    ４４：要求管理部
４６：コール通知部        ４７：定期通知部
４８：証明書設定部        ４９：コマンド受信部
５１：ＣＰＵ              ５２：ＲＯＭ
５３：ＲＡＭ              ５４：ＨＤＤ
５５：通信Ｉ／Ｆ          ５６：システムバス
【先行技術文献】
【特許文献】
【０１３１】
【特許文献１】特開２００２−３５３９５９号公報
【特許文献２】特開２００２−２５１４９２号公報
【特許文献３】特開２００２−２４７０２８号公報
【特許文献４】特開２００３−５８０４９号公報
【図１】
0005434956.tif 000002
【図２】
0005434956.tif 000003
【図３】
0005434956.tif 000004
【図４】
0005434956.tif 000005
【図５】
0005434956.tif 000006
【図６】
0005434956.tif 000007
【図７】
0005434956.tif 000008
【図８】
0005434956.tif 000009
【図９】
0005434956.tif 000010
【図１０】
0005434956.tif 000011
【図１１】
0005434956.tif 000012
【図１２】
0005434956.tif 000013
【図１３】
0005434956.tif 000014
【図１４】
0005434956.tif 000015
【図１５】
0005434956.tif 000016
【図１６】
0005434956.tif 000017
【図１７】
0005434956.tif 000018
【図１８】
0005434956.tif 000019
【図１９】
0005434956.tif 000020
【図２０】
0005434956.tif 000021
【図２１】
0005434956.tif 000022
【図２２】
0005434956.tif 000023
【図２３】
0005434956.tif 000024
【図２４】
0005434956.tif 000025
【図２５】
0005434956.tif 000026
【図２６】
0005434956.tif 000027
【図２７】
0005434956.tif 000028
【図２８】
0005434956.tif 000029
【図２９】
0005434956.tif 000030