JP2005204283A - デジタル証明書転送方法、デジタル証明書転送装置、デジタル証明書転送システム、プログラム及び記録媒体 - Google Patents

デジタル証明書転送方法、デジタル証明書転送装置、デジタル証明書転送システム、プログラム及び記録媒体 Download PDF

Info

Publication number
JP2005204283A
JP2005204283A JP2004336441A JP2004336441A JP2005204283A JP 2005204283 A JP2005204283 A JP 2005204283A JP 2004336441 A JP2004336441 A JP 2004336441A JP 2004336441 A JP2004336441 A JP 2004336441A JP 2005204283 A JP2005204283 A JP 2005204283A
Authority
JP
Japan
Prior art keywords
digital certificate
certificate
communication
transfer
digital
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.)
Granted
Application number
JP2004336441A
Other languages
English (en)
Other versions
JP4576210B2 (ja
Inventor
Hiroshi Kakii
弘 柿井
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 JP2004336441A priority Critical patent/JP4576210B2/ja
Priority to DE602004022764T priority patent/DE602004022764D1/de
Priority to EP04257772A priority patent/EP1545049B1/en
Priority to US11/011,045 priority patent/US7546455B2/en
Publication of JP2005204283A publication Critical patent/JP2005204283A/ja
Application granted granted Critical
Publication of JP4576210B2 publication Critical patent/JP4576210B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Abstract

【課題】 通信装置のデジタル証明書を更新し、新たなデジタル証明書を用いた通信に移行する動作を、容易かつ安全に行うことができるようにする。
【解決手段】 上位装置30から、第1CAが発行したデジタル証明書を記憶している下位装置40にデジタル証明書を転送する場合において、上位装置30と下位装置40とが通信する際に、第1CAが発行したデジタル証明書を用いて認証を行い(S302〜307)、SSLによる安全な通信経路を確保して、その通信経路で、上位装置30から下位装置40に第2CA20が発行したデジタル証明書と、下位装置40がそのデジタル証明書を用いてアクセスすべき通信先の識別情報とを転送するようにした(S312)。このとき、上位装置30から下位装置40に、受信したデジタル証明書及び通信先の識別情報を設定するよう要求するようにするとよい。
【選択図】 図16

Description

この発明は、証明書転送装置からその通信相手となる通信装置にデジタル証明書を転送するデジタル証明書転送方法、通信装置にデジタル証明書を転送するデジタル証明書転送装置、このようなデジタル証明書転送装置とそのデジタル証明書転送装置の通信相手となる通信装置によって構成されるデジタル証明書転送システム、デジタル証明書転送装置を制御するコンピュータにデジタル証明書の転送に関する機能を実現させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
従来から、それぞれ通信機能を備えた複数の通信装置をネットワークを介して通信可能に接続し、様々なシステムを構築することが行われている。その一例としては、クライアント装置として機能するPC(パーソナルコンピュータ)等のコンピュータから商品の注文を送信し、これとインターネットを介して通信可能なサーバ装置においてその注文を受け付けるといった、いわゆる電子商取引システムが挙げられる。また、種々の電子装置にクライアント装置あるいはサーバ装置の機能を持たせてネットワークを介して接続し、相互間の通信によって電子装置の遠隔管理を行うシステムも提案されている。
このようなシステムを構築する上では、通信を行う際に、通信相手が適切か、あるいは送信されてくる情報が改竄されていないかといった確認が重要である。また、特にインターネットにおいては、情報が通信相手に到達するまでに無関係なコンピュータを経由する場合が多いことから、機密情報を送信する場合、その内容を盗み見られないようにする必要もある。そして、このような要求に応える通信プロトコルとして、例えばSSL(Secure Socket Layer)と呼ばれるプロトコルが開発されており、広く用いられている。このプロトコルを用いて通信を行うことにより、公開鍵暗号方式と共通鍵暗号方式とを組み合わせ、通信相手の認証を行うと共に、情報の暗号化により改竄及び盗聴の防止を図ることができる。また、通信相手の側でも、通信を要求してきた通信元の装置を認証することができる。
このようなSSLや公開鍵暗号を用いた認証に関連する技術としては、例えば特許文献1及び特許文献2に記載のものが挙げられる。
特開2002−353959号公報 特開2002−251492号公報
ここで、このSSLに従った相互認証を行う場合の通信手順について、認証処理の部分に焦点を当てて説明する。図19は、通信装置Aと通信装置BとがSSLに従った相互認証を行う際に各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
図19に示すように、SSLに従った相互認証を行う際には、まず双方の通信装置に、ルート鍵証明書及び、私有鍵と公開鍵証明書を記憶させておく必要がある。この私有鍵は、認証局(CA:certificate authority)が各装置に対して発行した私有鍵であり、公開鍵証明書は、その私有鍵と対応する公開鍵にCAがデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、CAがデジタル署名に用いたルート私有鍵と対応するルート鍵に、デジタル署名を付してデジタル証明書としたものである。
図20にこれらの関係を示す。
図20(a)に示すように、公開鍵Aは、私有鍵Aを用いて暗号化された文書を復号化するための鍵本体と、その公開鍵の発行者(CA)や有効期間等の情報を含む書誌情報とによって構成される。そして、CAは、鍵本体や書誌情報が改竄されていないことを示すため、公開鍵Aをハッシュ処理して得たハッシュ値を、ルート私有鍵を用いて暗号化し、デジタル署名としてクライアント公開鍵に付す。またこの際に、デジタル署名に用いるルート私有鍵の識別情報を署名鍵情報として公開鍵Aの書誌情報に加える。そして、このデジタル署名を付した公開鍵証明書が、公開鍵証明書Aである。
この公開鍵証明書Aを認証処理に用いる場合には、ここに含まれるデジタル署名を、ルート私有鍵と対応する公開鍵であるルート鍵の鍵本体を用いて復号化する。この復号化が正常に行われれば、デジタル署名が確かにCAによって付されたことがわかる。また、公開鍵Aの部分をハッシュ処理して得たハッシュ値と、復号して得たハッシュ値とが一致すれば、鍵自体も損傷や改竄を受けていないことがわかる。さらに、受信したデータをこの公開鍵Aを用いて正常に復号化できれば、そのデータは、私有鍵Aの持ち主から送信されたものであることがわかる。
ここで、認証を行うためには、ルート鍵を予め記憶しておく必要があるが、このルート鍵も、図20(b)に示すように、CAがデジタル署名を付したルート鍵証明書として記憶しておく。このルート鍵証明書は、自身に含まれる公開鍵でデジタル署名を復号化可能な、自己署名形式である。そして、ルート鍵を使用する際に、そのルート鍵証明書に含まれる鍵本体を用いてデジタル署名を復号化し、ルート鍵をハッシュ処理して得たハッシュ値と比較する。これが一致すれば、ルート鍵が破損等していないことを確認できるのである。
図19のフローチャートの説明に入る。なお、この図において、2本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。また、各ステップの処理が正常に完了しなかった場合には、その時点で認証失敗の応答を返して処理を中断するものとする。相手から認証失敗の応答を受けた場合、処理がタイムアウトした場合等も同様である。
ここでは、通信装置Aが通信装置Bに通信を要求するものとするが、この要求を行う場合、通信装置AのCPUは、所要の制御プログラムを実行することにより、図19の左側に示すフローチャートの処理を開始する。そして、ステップS11で通信装置Bに対して接続要求を送信する。
一方通信装置BのCPUは、この接続要求を受信すると、所要の制御プログラムを実行することにより、図19の右側に示すフローチャートの処理を開始する。そして、ステップS21で第1の乱数を生成し、これを私有鍵Bを用いて暗号化する。そして、ステップS22でその暗号化した第1の乱数と公開鍵証明書Bとを通信装置Aに送信する。
通信装置A側では、これを受信すると、ステップS12でルート鍵証明書を用いて公開鍵証明書Bの正当性を確認する。
そして確認ができると、ステップS13で、受信した公開鍵証明書Bに含まれる公開鍵Bを用いて第1の乱数を復号化する。ここで復号化が成功すれば、第1の乱数は確かに公開鍵証明書Bの発行対象から受信したものだと確認できる。そして、これが確認できた場合、通信装置Bに対して認証成功の旨を示す情報を送信する。
また、通信装置B側では、この情報を受信すると、ステップS23で通信装置Aに対し、認証のための公開鍵証明書の送信を要求する。
すると、通信装置A側ではこれに応じてステップS14で第2の乱数及び共通鍵の種を生成する。共通鍵の種は、例えばそれまでの通信でやり取りしたデータに基づいて作成することができる。そして、ステップS15で第2の乱数を私有鍵Aを用いて暗号化し、共通鍵の種を公開鍵Bを用いて暗号化し、ステップS16でこれらを公開鍵証明書Aと共にサーバ装置に送信する。共通鍵の種の暗号化は、通信相手以外の装置に共通鍵の種を知られないようにするために行うものである。
また、次のステップS17では、ステップS14で生成した共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
通信装置B側では、これを受信すると、ステップS24でルート鍵証明書を用いて公開鍵証明書Aの正当性を確認する。そして確認ができると、ステップS25で、受信した公開鍵証明書Aに含まれる公開鍵Aを用いて第2の乱数を復号化する。ここで復号化が成功すれば、第2の乱数は確かに公開鍵証明書Aの発行対象から受信したものだと確認できる。
その後、ステップS26で私有鍵Bを用いて共通鍵の種を復号化する。ここまでの処理で、通信装置A側と通信装置B側に共通の共通鍵の種が共有されたことになる。そして、この共通鍵の種は、生成した通信装置Aと、私有鍵Bを持つ通信装置B以外の装置が知ることはない。ここまでの処理が成功すると、通信装置B側でもステップS27で復号化で得た共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
そして、通信装置A側のステップS17と通信装置B側のステップS27の処理が終了すると、相互に認証の成功と以後の通信に使用する暗号化方式とを確認し、生成した共通鍵を用いてその暗号化方式で以後の通信を行うものとして認証に関する処理を終了する。なお、この確認には、通信装置Bからの認証が成功した旨の応答も含むものとする。以上の処理によって互いに通信を確立し、以後はステップS17又はS27で生成した共通鍵を用い、共通鍵暗号方式でデータを暗号化して通信を行うことができる。
このような処理を行うことにより、通信装置Aと通信装置Bが互いに相手を認証した上で安全に共通鍵を共有することができ、通信を安全に行う経路を確立することができる。
ただし、上述した処理において、第2の乱数を私有鍵Aで暗号化し、公開鍵証明書Aを通信装置Bに送信することは必須ではない。このようにすると、通信装置Bが通信装置Aを認証することはできないが、通信装置Aが通信装置Bを認証するだけでよい場合にはこの処理で十分である。そしてこの場合には、通信装置Aに記憶させるのはルート鍵証明書のみでよく、私有鍵A及び公開鍵証明書Aは不要である。また、通信装置Bにはルート鍵証明書を記憶させる必要はない。
ところで、このような認証処理を行う場合でも、技術の進歩により、暗号の強度が十分でなくなってくることも考えられる。例えば、演算能力に優れたコンピュータや、適当なアルゴリズムが開発された場合に、鍵長の短い公開鍵を使用すると、その公開鍵から短期間で私有鍵を導出されてしまう危険がある等である。そこで、このような状況に対応して、公開鍵の鍵長を変更するような対応を可能にしたいという要求があった。
また、公開鍵証明書内に多くの情報を記載するため、公開鍵証明書のフォーマットを変更したいという要求もあった。
しかし、公開鍵の鍵長やフォーマットを変更する場合、新たにCAを設ける必要が生じるが、このようにしてしまうと、新たなデジタル証明書の正当性は、従来のルート鍵では確認できなくなってしまうので、認証処理を行うことができなくなってしまう。従って、認証を行う対象に、新たな鍵長やフォーマットに対応した公開鍵証明書、私有鍵、ルート鍵証明書を送信する必要がある。
新たに生産する装置にこのような新たな鍵長なアルゴリズムに対応した証明書や鍵及びアドレスを記憶させる場合には、例えば非特許文献1に記載のような技術を適用することが考えられる。
"RSA Keon(登録商標)Factory−CA ソリューション"、[online]、RSAセキュリティ株式会社、[平成15年11月26日検索]、インターネット<URL:http://www.rsasecurity.com/japan/products/keon/keon_factory-ca.html>
しかし、非特許文献1には、既に出荷され、顧客先で稼動している装置にこのような新たな鍵長やフォーマットの証明書等を配布する方式については何も記載されていない。
特に、上述した電子装置の遠隔管理システムのように、人が関与せずに自動的に動作させることを前提としたシステムにおいて上記のような認証を行おうとする場合、管理対象の装置においては、通信の要求先や、認証処理の際に使用するデジタル証明書や鍵は、当然のことながら、自動的に選択する必要がある。そして、新たな証明書の設定も、自動的に行えるようにすることが好ましい。
しかしながら、このようにする場合、適切な方法で証明書を設定するようにしなければ、処理負担の増加や、アプリケーション開発負担の増加、あるいは安全性の低下につながってしまうという問題があった。例えば、更新対象の装置に新たな鍵長やフォーマットの証明書を配布する場合に、旧証明書の場合と同じ通信先で更新対象の装置からのアクセスを受け付けるとすると、その通信先を、新旧両方の証明書による認証に対応させなければならず、処理の複雑化や処理量の増加を招くことになる。また、更新対象の装置と送信側の装置との間で常に安全な通信経路を確保できるようにしなければ、送受信する情報を盗聴される等の危険が生じ、安全性が低下してしまう。
この発明は、このような問題を解決し、通信装置のデジタル証明書を更新し、新たなデジタル証明書を用いた通信に移行する動作を、容易かつ安全に行うことができるようにすることを目的とする。
以上の目的を達成するため、この発明は、証明書転送装置から、その通信相手となる通信装置であって第1のデジタル証明書を記憶している通信装置に、上記第1のデジタル証明書と異なる第2のデジタル証明書を転送するデジタル証明書転送方法において、上記証明書転送装置から上記通信装置に、上記第2のデジタル証明書と、その通信装置がその第2のデジタル証明書を用いてアクセスすべき通信先の識別情報とを、上記第1のデジタル証明書を用いて確保した安全な通信経路で転送するようにしたものである。
このようなデジタル証明書転送方法において、上記証明書転送装置から上記通信装置に、上記第2のデジタル証明書と上記通信先の識別情報とを一括して転送するようにするとよい。
さらに、上記第1のデジタル証明書と上記第2のデジタル証明書とで、その正当性の確認に使用する証明鍵が異なるようにするとよい。
さらに、上記証明書転送装置が、上記通信装置を上記第1のデジタル証明書を用いて認証した場合に、上記第2のデジタル証明書及び通信先の識別情報の転送を行うようにするとよい。
さらにまた、上記証明書転送装置が、上記第1のデジタル証明書を用いた通信を行うためのアドレスで上記通信装置からの通信要求を受信し、かつ上記第2のデジタル証明書の転送が必要であると設定されていた場合に、上記第2のデジタル証明書及び通信先の識別情報の転送を行うようにするとよい。
さらにまた、上記証明書転送装置が、上記第2のデジタル証明書及び通信先の識別情報の転送を行う場合に、転送先の通信装置に、それらの情報を設定するよう要求するようにするとよい。
また、この発明のデジタル証明書転送装置は、第1のデジタル証明書を記憶している通信装置にその第1のデジタル証明書と異なる第2のデジタル証明書を転送するデジタル証明書転送装置において、上記通信装置に対して、上記第2のデジタル証明書と、上記通信相手がその第2のデジタル証明書を用いてアクセスすべき通信先の識別情報とを、上記第1のデジタル証明書を用いて確保した安全な通信経路で転送する証明書転送手段を設けたものである。
このようなデジタル証明書転送装置において、上記証明書転送手段に、上記通信装置に対して、上記第2のデジタル証明書と上記通信先の識別情報とを一括して転送する手段を設けるとよい。
さらに、上記第1のデジタル証明書と上記第2のデジタル証明書とで、その正当性の確認に使用する証明鍵が異なるようにするとよい。
さらに、上記通信装置を、その通信装置から受信したデジタル証明書を用いて認証する認証手段を設け、上記証明書転送手段を、上記認証手段が上記通信装置を上記第1のデジタル証明書を用いて認証した場合に、上記第2のデジタル証明書及び通信先の識別情報の転送を行う手段とするとよい。
さらにまた、上記証明書転送手段を、上記第1のデジタル証明書を用いた通信を行うためのアドレスで上記通信装置からの通信要求を受信し、かつ上記第2のデジタル証明書の転送が必要であると設定されていた場合に、上記第2のデジタル証明書及び通信先の識別情報の転送を行う手段とするとよい。
さらにまた、上記証明書転送手段に、上記第2のデジタル証明書及び通信先の識別情報の転送を行う場合に、転送先の通信装置に、それらの情報を設定するよう要求する手段を設けるとよい。
また、この発明のデジタル証明書転送システムは、予め第1のデジタル証明書を記憶させてある通信相手にデジタル証明書を転送するデジタル証明書転送装置と、そのデジタル証明書転送装置の通信相手となる通信装置とを備えるデジタル証明書転送システムにおいて、上記デジタル証明書転送装置に、上記通信装置に対して、上記第1のデジタル証明書と異なる第2のデジタル証明書と、その通信装置がその第2のデジタル証明書を用いてアクセスすべき通信先の識別情報とを、上記第1のデジタル証明書を用いて確保した安全な通信経路で転送する証明書転送手段を設け、上記通信装置に、上記証明書転送手段から上記第2のデジタル証明書と上記通信先の識別情報とを受信して記憶する手段を設けたものである。
このようなデジタル証明書転送システムにおいて、上記デジタル証明書転送装置の証明書転送手段に、上記通信装置に対して、上記第2のデジタル証明書と上記通信先の識別情報とを一括して転送する手段を設けるとよい。
さらに、上記第1のデジタル証明書と上記第2のデジタル証明書とで、その正当性の確認に使用する証明鍵が異なるようにするとよい。
さらに、上記通信装置に、上記デジタル証明書転送装置にデジタル証明書を送信して認証を要求する手段を設け、上記デジタル証明書転送装置において、上記通信相手を、その通信相手から受信したデジタル証明書を用いて認証する認証手段を設け、上記証明書転送手段を、上記認証手段が上記通信相手を上記第1のデジタル証明書を用いて認証した場合に、上記第2のデジタル証明書及び通信先の識別情報の転送を行う手段とするとよい。
さらにまた、上記デジタル証明書転送装置において、上記証明書転送手段を、上記第1のデジタル証明書を用いた通信を行うためのアドレスで上記通信装置からの通信要求を受信し、かつ上記第2のデジタル証明書の転送が必要であると設定されていた場合に、上記第2のデジタル証明書及び通信先の識別情報の転送を行う手段とするとよい。
さらにまた、上記デジタル証明書転送装置において、上記証明書転送手段に、上記第2のデジタル証明書及び通信先の識別情報の転送を行う場合に、転送先の通信装置に、それらの情報を設定するよう要求する手段を設け、上記通信装置に、その要求に応じて受信した第2のデジタル証明書及び通信先の識別情報を、通信に使用するデジタル証明書及び通信先として設定する手段を設けるとよい。
また、この発明のプログラムは、通信装置にデジタル証明書を転送するデジタル証明書転送装置を制御するコンピュータに、第1のデジタル証明書を記憶している通信装置にその第1のデジタル証明書と異なる第2のデジタル証明書を転送する機能を実現させるためのプログラムであって、上記コンピュータを、上記通信装置に対して、上記第2のデジタル証明書と、上記装置がその第2のデジタル証明書を用いてアクセスすべき通信先の識別情報とを、上記第1のデジタル証明書を用いて確保した安全な通信経路で転送する証明書転送手段として機能させるためのプログラムを含めたものである。
また、この発明の記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
以上のようなこの発明のデジタル証明書転送方法、デジタル証明書転送装置、あるいはデジタル証明書転送システムによれば、通信装置のデジタル証明書を更新し、新たなデジタル証明書を用いた通信に移行する動作を、容易かつ安全に行うことができるようにすることができる。
また、この発明のプログラムによれば、デジタル証明書転送装置を制御するコンピュータにデジタル証明書の転送に関する機能を実現させて上記の特徴を実現し、同様な効果を得ることができる。この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
以下、この発明の好ましい実施の形態を図面を参照して説明する。
まず、この発明によるデジタル証明書転送方法に係る処理を実行するデジタル証明書転送装置と、そのデジタル証明書転送装置を用いて構成したこの発明のデジタル証明書転送システムの実施形態の構成について説明する。
まず、図1にそのデジタル証明書転送システムの構成を示す。
この実施形態においては、デジタル証明書転送装置である上位装置30及びその通信相手となる通信装置である下位装置40によってデジタル証明書転送システムを構成している。また、上位装置30は、上位装置30及び下位装置40に対してデジタル証明書を発行する第1の認証局(第1CA)10とも通信可能な状態となっている。第2の認証局(第2CA)20については後述する。
このデジタル証明書転送システムにおいて、上位装置30は、下位装置40と通信を行おうとする場合、公開鍵暗号とデジタル証明書を用いる認証方式であるSSLプロトコルに従った認証処理によって下位装置40を正当な通信相手として認証した場合に、下位装置40との間で通信を確立させるようにしている。そして、上位装置30が送信した要求に対し、下位装置40が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。
逆に、下位装置40が上位装置30と通信を行おうとする場合にも、同じくSSLに従った認証処理によって上位装置30を正当な通信相手として認証した場合に、上位装置30との間で通信を確立させるようにしている。そして、下位装置40が送信した要求に対し、上位装置30が必要な処理を行って応答を返すことにより、クライアント・サーバシステムとして機能する。
どちらの場合も、通信を要求する側がクライアント、要求される側がサーバとして機能するものとする。
また、第1CA10は、上記の相互認証に用いるデジタル証明書を発行及び管理する装置である。
なお、図1において、下位装置40は1つしか示していないが、図17に示すように下位装置40を複数設けることも可能である。また、上位装置30は1つのデジタル証明書転送システムについて1つのみであるが、1つの第1CA10を複数の上位装置30と通信可能とし、複数のデジタル証明書転送システムと通信可能としても構わない。
このようなデジタル証明書転送システムにおいて、上述の上位装置30と下位装置40との間の通信も含め、第1CA10,上位装置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)等の既知のプロトコル(通信規格),技術,仕様などを利用することができる。
次に、図1に示した各装置の構成と機能についてより詳細に説明する。
図2は、第1CA10のハードウェア構成を示すブロック図である。この図に示す通り、第1CA10は、CPU51,ROM52,RAM53,HDD54,通信インタフェース(I/F)55を備え、これらがシステムバス56によって接続されている。そして、CPU51がROM52やHDD54に記憶している各種制御プログラムを実行することによってこの第1CA10の動作を制御し、デジタル証明書の発行や管理等の機能を実現させている。
なお、第1CA10のハードウェアとしては、適宜公知のコンピュータを採用することができる。もちろん、必要に応じて他のハードウェアを付加してもよい。
上位装置30及び下位装置40については、装置の遠隔管理,電子商取引等の目的に応じて種々の構成をとることができる。例えば、遠隔管理の場合には、プリンタ,FAX装置,コピー機,スキャナ,デジタル複合機等の画像処理装置を始め、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,自動車,航空機等の電子装置を被管理装置である下位装置40とし、これらの被管理装置から情報を収集したり、コマンドを送って動作させたりするための管理装置を上位装置30とすることが考えられる。ただし、どのような構成とした場合でも、上位装置30は、後述するように下位装置40にデジタル証明書及び通信先情報を転送する機能を有するものとする。
また、上位装置30及び下位装置40は、少なくともそれぞれCPU,ROM,RAM,ネットワークを介して外部装置と通信するための通信I/F、および認証処理に必要な情報を記憶する記憶手段を備え、CPUがROM等に記憶した所要の制御プログラムを実行することにより、装置にこの発明に係る各機能を実現させることができるものとする。
なお、この通信には、有線,無線を問わず、ネットワークを構築可能な各種通信回線(通信経路)を採用することができる。第1CA10との間の通信についても同様にすることができる。ただし、第1CA10との間の通信については、セキュリティ面を考慮し、専用線によるネットワークにより行うようにするとよく、ここではそのようにしている。
ここで、図3に、上位装置30及び下位装置40の、この発明の特徴に関連する部分の機能構成に係る機能ブロック図を示す。この図において、この発明の特徴と関連しない部分の図示は省略している。
まず、上位装置30には、HTTPS(Hypertext Transfer Protocol Security)クライアント機能部31,HTTPSサーバ機能部32,認証処理部33,証明書設定要求部34,証明書記憶部35,対CA通信機能部36を備えている。
HTTPSクライアント機能部31は、SSLに従った認証や暗号化の処理を含むHTTPSプロトコルを用いて、下位装置40等のHTTPSサーバの機能を有する装置に対して通信を要求する機能を有する。
一方、HTTPSサーバ機能部32は、HTTPSクライアントの機能を有する装置からのHTTPSプロトコルを用いた通信要求を受け付ける機能を有する。
そして、これらのHTTPSクライアント機能部31とHTTPSサーバ機能部32とで、通信相手に対して動作要求(コマンド)やデータを送信してそれに応じた動作を実行させる機能と、通信相手から要求やデータを受信してそれに応じた動作を装置の各部に実行させ、その結果を応答として要求元に返す機能とを実現している。この場合において、通信を要求した側が動作要求を送信することもあるし、通信要求を受け付けた側が動作要求を送信することもある。応答についても同様である。
認証処理部33は、HTTPSクライアント機能部31やHTTPSサーバ機能部32が通信相手を認証する際に、通信相手から受信したデジタル証明書や、証明書記憶部35に記憶している各種証明書、私有鍵等を用いて認証処理を行う認証手段の機能を有する。また、通信相手に認証を要求するために証明書記憶部35に記憶しているデジタル証明書をHTTPSクライアント機能部31やHTTPSサーバ機能部32を介して通信相手に送信する機能も有する。
証明書設定要求部34は、後述するように所定の場合に下位装置40等の通信相手に対して証明書セットや証明書パッケージや通信先情報を転送する証明書転送手段及びその転送を行う場合に転送先の装置にこれを設定するよう要求する証明書設定手段の機能を有する。
証明書記憶部35は、各種の証明書や私有鍵等の認証情報を記憶し、認証処理部33における認証処理に供する機能を有する。
対CA通信機能部36は、第1CA10や第2CA20のような認証局と通信を行い、下位装置40あるいは上位装置30自身が認証処理に使用するための証明書セットの発行を要求し、発行された証明書セットを受信する機能を有する。なお、ここでは、上位装置30と認証局との通信は専用線によるネットワークを介して行うものとしているので、外部からの接続は不可能であるから、SSLを使用していない。しかし、SSLを使用する場合には、HTTPSクライアント機能部31から認証局に通信を要求するようにしてもよい。
そして、これらの各部の機能は、上位装置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に対して動作要求を伝える機能も有する。
証明書記憶部45は、上位装置の証明書記憶部35と同様に各種の証明書や私有鍵等の認証情報を記憶し、認証処理部43における認証処理に供する証明書記憶手段の機能を有する。ただし、記憶している証明書等は、後述するように証明書記憶部35とは異なる。
コール通知部46は、異常を検知したりユーザによる指示があったりした場合に上位装置30に対してその旨を通知するコールを行う機能を有する。このコールは、上位装置30からのポーリングによる問い合わせに対する応答として送信してもよいし、HTTPSクライアント機能部41から上位装置に通信を要求して送信してもよい。
定期通知部47は、下位装置40から上位装置30への定期的な通知を行う機能を有する。その通知の内容としては、例えば画像形成装置であれば画像形成枚数カウンタのカウント値、計量システムであればその計量値等が考えられる。この通知は緊急を要さないので、上位装置30からのポーリングによる問い合わせに対する応答として送信するとよい。
証明書設定部48は、上位装置30から受信した証明書等を認証処理に使用するものとして証明書記憶部45に設定し、証明書等を更新する機能を有する。
コマンド受信部49は、上述した各機能部46〜48以外の機能に係る要求に対応する動作を実行する機能を有する。この動作としては、例えば下位装置40が記憶しているデータの送信や、必要に応じて図示を省略したエンジン部の動作を制御することが挙げられる。
そして、これらの各部の機能は、下位装置40のCPUが所要の制御プログラムを実行して下位装置40の各部の動作を制御することにより実現される。
また図4に、第1CA10のこの発明の特徴となる部分の機能構成を示す。
この図に示すように、第1CA10は、通信機能部11,証明書更新部13,証明用鍵作成部14,証明書発行部15,証明書管理部16を備えている。
通信機能部11は、上位装置30と通信し、証明書セットの発行要求を受信したり、発行した証明書セットを送信したりといった動作を始め、受信した要求やデータに応じた動作を装置の各部に実行させ、要求元に応答を返す機能を有する。
なお、上位装置30との間の通信にSSLを用いる場合には、通信機能部11にHTTPSサーバ機能部やHTTPSクライアント機能部のような機能を持たせることも考えられる。この場合には、上位装置30や下位装置40の場合と同様な認証処理部を設け、適当な証明書を用いた認証処理を行うようにすることになる。
証明書更新部13は、上位装置30から証明書発行要求があった場合に、証明用鍵作成部14や証明書発行部15に対象の下位装置40の新たな証明書セットを発行させ、これを証明書管理部16から通信機能部11を介して上位装置30に送信させる機能を有する。
証明用鍵作成部14は、デジタル署名の作成に用いる証明用私有鍵であるルート私有鍵と、そのデジタル証明書の正当性を確認するための、ルート私有鍵と対応する証明用公開鍵(証明鍵)であるルート鍵とを作成する証明用鍵作成手段の機能を有する。
証明書発行部15は、上位装置30と下位装置40とに対してSSLプロトコルに従った認証処理に用いる公開鍵及びこれと対応する私有鍵を発行する機能を有する。そしてさらに、それぞれ発行した公開鍵に証明用鍵作成部14で作成したルート私有鍵を用いてデジタル署名を付して、デジタル証明書である公開鍵証明書を発行する証明書発行手段の機能を有する。また、ルート鍵にデジタル署名を付したルート鍵証明書の発行もこの証明書発行部15の機能である。
証明書管理部16は、証明書発行部15が発行したデジタル証明書、その作成に用いたルート私有鍵、およびそのルート私有鍵と対応するルート鍵を管理する証明書管理手段の機能を有する。そして、これらの証明書や鍵を、その有効期限や発行先、ID、更新の有無等の情報と共に記憶する。
そして、これらの各部の機能は、第1CA10のCPUが所要の制御プログラムを実行して第1CA10の各部の動作を制御することにより実現される。
次に、上述した各装置が認証処理に用いる各証明書や鍵の特性及び用途について説明する。図5は、(a)に下位装置40の証明書記憶部45に記憶している証明書及び鍵の種類を示し、(b)に上位装置30の証明書記憶部35に記憶している証明書及び鍵の種類を示す図である。
この図に示すように、上位装置30及び下位装置40は、認証情報として、自分に関する認証情報である公開鍵証明書及び私有鍵と、通信相手に関する認証情報であるルート鍵証明書とを記憶している。
そして、各装置は、通常の通信時はこれらの認証情報を用いてSSLに従った図19を用いて説明したような手順の認証処理を行う。
また、通常のSSLとは異なるが、第1の乱数を私有鍵Bで暗号化し、公開鍵証明書Bと共に通信装置Aに送信する手順を省略した認証処理を行うことも考えられる。この場合の処理は図21に示すようなものであり、図19に示した処理と比べ、通信装置B側のステップS21,S22及び通信装置A(クライアントとして機能する装置)側のステップS12,S13の処理は不要になる。このようにすると、通信装置Aが通信装置B(サーバとして機能する装置)を認証することはできないが、通信装置Bが通信装置Aを認証するだけでよい場合にはこの処理で十分である。そして、この場合には、通信装置Aにはルート鍵証明書を記憶させる必要はない。ただし、共通鍵の種を通信装置Aから通信装置Bへ安全に送信するために公開鍵Bと私有鍵Bを使用するので、認証には使用しないものの、これらの鍵を通信装置Bに記憶させておくようにする。
また、図5に示した証明書及び鍵のうち、「第1CA」で始まる名称の証明書及び鍵は、第1CA10が発行したものである。例えば、下位装置用第1CA公開鍵証明書は、第1CA10が下位装置40に対して発行した通常公開鍵に、下位装置認証用第1CAルート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書であり、第1のデジタル証明書に該当する。
ここで、公開鍵証明書のフォーマットは、例えば図6に示したものを用いることができ、公開鍵そのものの他、証明書の発行者や証明書の有効期限、証明される対象(証明書の発行先の装置あるいは利用者)等の情報が記載されている。具体的には、例えばX.509と呼ばれるフォーマットに従って作成することができ、このフォーマットに従って作成された公開鍵証明書は、例えば図7に示すようなものになる。
この例においては、AがCAの識別情報を示し、Cが証明書の発行先の装置の識別情報を示す。これらは、それぞれ所在地、名称、機番、IDあるいはコード等の情報を含む。ただし、発行先の装置について、IDのように個々の装置を識別できるような識別情報を記載することは必須ではない。また、Bが有効期間を示し、その開始日時と終了日時によって有効期間を指定している。
また、下位装置用第1CA私有鍵は、上記の第1CA公開鍵と対応する私有鍵、下位装置認証用第1CAルート鍵証明書は、下位装置認証用第1CAルート鍵に自身と対応するルート私有鍵を用いて自身で正当性を確認可能なデジタル署名を付したデジタル証明書である。
なお、下位装置40を複数設けた場合でも、各装置の第1CA公開鍵に付すデジタル署名は同じルート私有鍵を用いて付し、正当性確認に必要な第1CAルート鍵証明書は共通にする。しかし、第1CA公開鍵証明書に含まれる第1CA公開鍵やこれと対応する私有鍵は、装置毎に異なる。
上位装置用第1CA公開鍵証明書と上位装置用第1CA私有鍵と上位装置認証用第1CAルート鍵証明書も同様な関係である。
そして、例えば上位装置30と下位装置40とが相互認証を行う場合には、下位装置40からの通信要求に応じて、上位装置30は上位装置用第1CA私有鍵を用いて暗号化した第1の乱数を上位装置用第1CA公開鍵証明書と共に下位装置40に送信する。下位装置40側では上位装置認証用第1CAルート鍵証明書を用いてまずこの上位装置用第1CA公開鍵証明書の正当性(損傷や改竄を受けていないこと)を確認し、これが確認できた場合にここに含まれる公開鍵で第1の乱数を復号化する。この復号化が成功した場合に、下位装置40は通信相手の上位装置30が確かに上位装置用第1CA公開鍵証明書の発行先であると認識でき、その証明書に含まれる識別情報から装置を特定することができる。そして、特定した装置が通信相手としてふさわしいか否かに応じて認証の成功と失敗を決定することができる。
また、上位装置30側でも、下位装置40側で認証が成功した場合に送信されてくる下位装置用第1CA公開鍵証明書及び、下位装置用第1CA私有鍵で暗号化された乱数を受信し、記憶している下位装置認証用第1CAルート鍵証明書を用いて同様な認証を行うことができる。
なお、この手順は下位装置40がHTTPSクライアント機能部41によって上位装置30のHTTPSサーバ機能部32に対して通信を要求する場合の処理であり、上位装置30がHTTPSクライアント機能部31によって下位装置40のHTTPSサーバ機能部42に対して通信を要求する場合には、使用する証明書や鍵は同じであるが、上位装置30と下位装置40の処理が逆になる。
ところで、従来の技術の項で説明したように、技術の進歩に応じて、公開鍵の鍵長やフォーマットを変更するような対応を行うことが考えられる。例えば、図7に示したような1024ビットの鍵長の公開鍵証明書に代えて、図8に示すような2048ビットの鍵長の公開鍵証明書を使用するようにする等である。そして、このような変更を行う場合、通常はそれまで使用していたCA(ここでは第1CA10)では新たな形式の公開鍵証明書を発行することができない。
そこで、図1に仮想線で示したように、新たなCA(第2CA20)を用意し、この第2CA20に新たな形式の公開鍵証明書を含む証明書セットを発行させることになる。そしてその後、各装置に第2CA20が発行した証明書セットを配布し、上位装置30と下位装置40との間の認証処理を、徐々に第2CA20が発行した証明書セットを用いた認証処理に切り換えることになる。この第2CA20が発行した証明書セットに含まれる公開鍵証明書が、第2のデジタル証明書に該当する。
なお、第2CA20のハードウェア構成及び機能構成は、発行する証明書セットに含まれる証明書や鍵の形式が異なる点以外は、第1のCA10の場合と同様なものである。
ところで、SSLプロトコルに従った認証処理を行う場合には、サーバは、クライアントから通信要求があった時点ではクライアントの状態を知ることができないため、必然的に、特定のURL(Uniform Resource Locator)にアクセスされた場合には常に同じ公開鍵証明書を返すことになる。従って、基本的には、1つの装置が公開鍵証明書を複数持ち、通信相手が認証に使用しようとする公開鍵証明書の種類に合わせて適当なものを選択して送信するといった構成を取ることはできない。
従って、上記の手順の途中で、上位装置30に第1CA認証情報と第2CA認証情報とが共存する場合、これらを使い分けるための構成を取る必要が生じる。
そこで、次に、この使い分けのための構成を、図9を用いて説明する。図9には下位装置40が上位装置30に通信を要求する場合のみを示すが、下位装置40に複数の公開鍵証明書を持たせるのであれば、上位装置30が下位装置40に通信を要求する場合についても同様な構成が可能である。
上述した通り、サーバは基本的には通信を要求してくるクライアントに対して特定の公開鍵証明書しか返すことができない。しかし、通信要求に係るURLが異なる場合には、URL毎に異なる公開鍵証明書を返すことも可能である。
従ってここでは、図9に示すように、上位装置30に、第1CA10が発行した第1CA公開鍵証明書による認証を行う第1CA用URLと、第2CA20が発行した第2CA公開鍵証明書による認証を行う第2CA用URLとを設け、通信を要求する側(クライアントとして機能する側)である下位装置40が、要求する認証の種類に応じていずれかのURLを選択的に指定して通信要求を送るようにしている。
上位装置30と下位装置40との間の通信プロトコルにSSLを採用する場合、通信に使用するポートは443と決まっていることから、第1CA用URLと第2CA用URLとではIPアドレスを変更する必要がある。従って、上位装置30は、別々のIPアドレスを設定可能な複数の部分(別々の筐体でも同一の筐体でもよい)からなる装置として構成することになる。
このようにした場合、通信を要求される側(サーバとして機能する側)である上位装置30は、通信要求を、受け付けたURLによって区別し、第1CA用URLで受け付けた場合には第1CA公開鍵証明書を返し、第2CA用URLで受け付けた場合には第2CA公開鍵証明書を返すようにすることができる。
なお、通信を要求する下位装置40の側では、どのURLに対して通信要求を送ったかがわかるので、相互認証を行う場合には、仮に第1CA公開鍵証明書と第2CA公開鍵証明書の両方を記憶していたとしても、通信要求を送ったURLに応じた適切な公開鍵証明書を選択して送信することができる。
ここで、上記のように、下位装置40が上位装置30に通信を要求して第2CA公開鍵証明書を用いた認証を受けようとする(又は認証を行おうとする)場合には、第2CA用URLを記憶している必要がある。
そこで、この証明書転送システムにおいては、上位装置30は、図10に示すような、下位装置40に第2CA20が発行した証明書セットと、そこに含まれるデジタル証明書を用いてアクセスすべき通信先の識別情報である第2CA用URLとを転送するようにしている。
このとき、例えば、第2CA20が発行した証明書セットにIDを付し、第2CA用URLに、どのIDの証明書セットを用いて通信する際に使用するURLであるかを示す情報を付す等により、これらの2つの情報をひも付け、転送先において対応関係が認識できるようにしている。なお、これら2つの情報を一括して転送することは必須ではない。
また、上位装置30と下位装置40との間の通信を、ポート番号を指定可能なプロトコルで行う場合には、第1CA用URLと第2CA用URLとで、IPアドレスを共通にし、ポート番号のみを異ならせるようにすることもできる。このようにすれば、上位装置30に設定するIPアドレスは1つでよいので、装置を複数の部分から構成する必要がない。
次に、上記のように、下位装置40の持つ認証情報を、第1CA10が発行したものから第2CA20が発行したものに更新する際の処理について、より詳細に説明する。なお、以下に説明する処理は、公開鍵証明書の鍵長やフォーマットを変更するような場合、さらに言えば、それまでの通信先では認証を受けられなくなるような公開鍵証明書を設定する場合に行う処理である。そして、単に有効期限切れの近い公開鍵証明書を新たな有効期限の公開鍵証明書に置きかえるような、それまでと同じ通信先で認証を受けられる公開鍵証明書を設定する場合の処理とは異なるものである。後者のような場合には、適宜公知の方式で証明書を更新するようにすればよい。
図11に、上位装置30が、第2CA公開鍵証明書を用いた認証処理が可能になった状態で第1CA用URLに通信要求を受けた場合に実行する処理を示す。この処理が、この発明のデジタル証明書転送方法に係る処理である。
なお、この処理のうち、ステップS101乃至S106及びS114の処理は、第2CA20とは関係なく行う処理である。そして、第2CA20を設け、第2CA用URLを用意して、さらに図5(b)に仮想線で示したように上位装置30に第2CA認証情報として第2CA20が発行した証明書セットを記憶させ、第2CA公開鍵証明書を用いた認証処理が可能になった場合に、ステップS107乃至S113の処理を追加して行うようにしている。
図1に示したデジタル証明書転送システムにおいて、上位装置30のCPUは、第2CA公開鍵証明書を用いた認証処理が可能になった状態で第1CA用URLに通信要求を受けると、図11のフローチャートに示す処理を開始する。
そして、まずステップS101で、通信要求の要求元の装置との間で第1CA公開鍵証明書と乱数及び共通鍵の種を送受信し、図19に示したようなSSLによる相互認証処理を行う。この処理には、受信した公開鍵証明書から、通信要求の要求元の識別情報を取得する処理も含まれる。
そして、ステップS102でこの認証が成功したか否か判断し、ここで失敗していればステップS114に進んでそのまま通信を切断し、処理を終了する。一方、ステップS102で認証が成功していれば、通信要求の送信元との間で通信を確立してステップS103に進み、ステップS101で交換した共通鍵の種から共通鍵を生成する。
そして、ステップS104で、コマンド及び受信したコマンドに対する応答を、生成した共通鍵で暗号化して通信中の装置(ここでは下位装置40)に送信し、ステップS105で、コマンド及び送信したコマンドに対する応答を、同じ共通鍵で暗号化された状態で通信中の装置から受信する。そして、ステップS106でコマンド及び応答を全て送受信したか否か判断し、まだ残っていればステップS104に戻って処理を繰り返し、全て送受信していればステップS107に進む。
なお、ステップS104及びS105の処理は、順不同で構わないし、送受信すべきコマンドや応答がなければ省略する。また、受信したコマンドに係る処理を実行して応答を生成する処理や、受信した応答の内容を解釈してそれに対応した動作を行う処理は、受信したコマンドや応答を記憶しておき、図11に示したフローチャートとは別に実行するものとする。
次のステップS107では、通信中の装置について第2CA証明書利用フラグがONになっているか否か判断する。
ここで、第2CA証明書利用フラグは、図12に示すように、上位装置30が、通信相手となり得る各下位装置40について、その識別情報(ここではID)と対応させて記憶しているフラグである。そして、ONである場合に、対応する識別情報を持つ装置に、第2CA20が発行した証明書セットを転送する必要があることを示すフラグである。また、このフラグの設定は、上位装置30のオペレータが手動で行ってもよいし、上位装置30において第2CA公開鍵証明書を用いた認証処理が可能になった場合等に、上位装置30自身が自動で行うようにしてもよい。
そして、ステップS107でこの第2CA証明書利用フラグがOFFであれば、証明書セットを送信する必要はないので、そのままステップS114に進んで通信を切断し、処理を終了する。
一方、ステップS107で第2CA証明書利用フラグがONであれば、ステップS108以降の、第2CA公開鍵証明書を含む証明書セットの送信に係る処理に進む。そしてまずステップS108で、第2CA20に対して、通信中の装置のIDと共に証明書発行要求を送信する。
すると、第2CA20はそのIDの装置に対して証明書セットを発行して上位装置30に送信してくるので、ステップS109でその証明書セットを第2CA20から受信して取得する。
そして、ステップS110で、ステップS109で取得した証明書セットと、その証明書セットに含まれるデジタル証明書を認証に使用する際に通信を要求すべきURL(第2CA用URL)を示す通信先情報とを、通信中の装置に送信する。このとき、送信した証明書セットを上位装置30との通信に使用する証明書セットとして、送信したURLを上位装置30に通信を要求する際に通信要求を送信するURLとして、それぞれ設定するように要求する証明書設定コマンドを、通信相手の装置(下位装置40)に送信する。
なお、このような送信は、証明書及びURLを、証明書設定コマンドの引数として送信することによって行ってもよい。また、これらの送信は、第1CA10が発行した証明書セットを用いて確保した、SSLによる安全な通信経路で行うものである。また、証明書及びURLを別々のタイミングで送信し、両方の送信が完了した時点で証明書設定コマンドを送信するようにすることも考えられる。
そして、ステップS110の処理が完了すると、ステップS111で証明書設定コマンドに対する応答を待つ。そして、ステップS112で証明書セット及びURLの設定が成功したか否か判断する。そして、成功していればステップS113に進んで、証明書の設定が済んだ通信中の装置について、第2CA証明書利用フラグをOFFにし、もはや第2CA証明書セットの転送が必要ないことを示す。その後、ステップS114に進んで通信を切断し、処理を終了する。
ステップS112で成功していなければ(所定時間以内に応答がなかった場合も成功していないものとする)、そのままステップS114に進んで通信を切断し、処理を終了する。この場合には、同じ下位装置から次に第1CA用URLに通信要求があった場合に、再度第2CA証明書セットの設定を試みることになる。
以上の処理により、上位装置30から下位装置40に、第2CA20が発行した証明書セットと、その証明書セットを用いてアクセスすべき通信先の識別情報とを、第1CAが発行した証明書セットを用いて確保した安全な通信経路で送信すると共に、下位装置40にこれらを設定するように要求することができる。
ここで、上位装置30から証明書設定コマンドを受信した場合に下位装置40が実行する処理を図13に示す。
下位装置40のCPUは、上位装置30から証明書設定コマンドを受信すると、図13のフローチャートに示す処理を開始する。そして、まずステップS201で、証明書設定コマンドによって設定を要求された証明書セットのフォーマットを確認する。そして、これが不適当なもの(NG)であれば、ステップS206で証明書セット及びURLの設定が失敗したことを示すエラー応答を返して処理を終了する。
一方、ステップS201で適当なもの(OK)であれば、ステップS202に進み、証明書設定コマンドによって設定を要求された証明書セットを、上位装置30との通信に使用する証明書セットとして設定する。次に、ステップS203で、証明書設定コマンドによって設定を要求されたURLを、上位装置30に通信を要求する際の、すなわち新たな証明書セットを用いて通信する際の通信要求先として設定する。
そして、ステップS204で上位装置30に証明書設定コマンドに対する応答を返し、ステップS205で通信を切断して自身を再起動する。この再起動は、下位装置40において重要な設定を変更する際に必要なものであり、ここでは証明書セット及び通信要求先の設定がこれに該当する。再起動を行う際に、ユーザに再起動の許可を求めるようにしてもよい。また、図13にはステップS205の後もとの処理に戻るように図示しているが、実際にはステップS205での再起動時に処理は中断される。
なお、図11に示した処理において、ステップS107乃至S113の証明書転送に係る処理を、ステップS104乃至S106のコマンド及び応答の送受信に係る処理よりも後で行うようにしているのは、証明書を設定させることになる場合でも、このステップS205での再起動によって通信が切断されないうちに、他のコマンド及び応答の送受信を済ませてしまうことができるようにするためである。
以上の処理により、下位装置40は、上位装置30から受信した証明書セットとURLとを対応させて、以後の上位装置30との通信に使用するものとして記憶することができる。そして、証明書セット及び通信要求先の設定が成功していれば、再度起動された後は、上位装置30に通信を行う際には、第2CA用URLに通信を要求し、認証処理の際には、下位装置用第2CA公開鍵証明書を上位装置30に送信するようになる。
なお、ステップS202及びS203における設定は、証明書セットやURLを証明書記憶部45に記憶させることによって行う。
また、証明書設定コマンドによって設定を要求される証明書セットやURLを証明書設定コマンドと別に受信する場合には、受信した証明書セットやURLは適当な記憶領域に一時的に保存しておき、証明書コマンドを受信した時点で図13に示す処理を開始し、証明書セット及びURLの設定を行うようにすればよい。
ところで、例えば電子装置の遠隔管理システムのように、人が関与せずに自動的に動作させることを前提としたシステムにおいて上述したような相互認証を行おうとする場合、管理対象の装置においては、通信の要求先や、認証処理の際に使用するデジタル証明書や鍵は、当然のことながら、自動的に選択する必要がある。
そして、上記のようにデジタル証明書や鍵の変更の必要が生じる場合でも、1つの用途について2つの証明書や鍵を共存させるとすると、適当な証明書や通信先を選択するための処理を装置が行うようにしなければならず、処理負担の増加や、アプリケーション開発負担の増加につながる。従って、1つの用途(例えば遠隔管理システムにおいては「遠隔管理」という用途)については、使用する証明書や鍵及び通信先は常に1種類にしておきたいという要求があった。
また、例えば上述した遠隔管理システムの管理装置の側では、セキュリティを向上させるため、受信した公開鍵証明書の正当性をルート鍵証明書を用いて確認する際に、公開鍵証明書の発行元のCAに対して、公開鍵証明書が正当なものか否か、あるいはCA側にその公開鍵証明書を発行した記録があるか否か等を問い合わせるようにすることが考えられる。
そして、このような処理を行う場合に、一つの装置から場合によって異なる公開鍵証明書が送信されてくるとすると、上記の問い合わせをどのCAに対して行ったらよいかを、対象の装置がどの装置であるかということとは別に管理し、また判断しなければならなくなってしまう。逆に、一つの装置から送信されてくる公開鍵証明書が常に一種類であれば、ある装置(であると名乗る装置)から受信した公開鍵証明書の正当性は、その装置に送信してある公開鍵証明書を発行した特定のCAに問い合わせるようにすることができ、問い合わせの処理を簡略化することができる。
このような理由からも、管理対象の装置において、1つの用途については、使用する証明書や鍵及び通信先は常に1種類にしておきたいという要求があった。
また、その他のシステムにおいて、人が証明書等の選択を行うことが可能な場合であっても、その選択の手間や選択を要求する処理をなくし、アプリケーション開発の負担を低減するという観点から、同様の要求があった。
そこで、下位装置40においては、このような要求を満たすため、上位装置30との通信に使用する証明書セットは、常に1種類としている。従って、新たな証明書セットやURLを設定する場合には、それまでの証明書セットやURLに上書きする形式で行うようにしている。
例えば、証明書記憶部45に、上位装置30との通信に使用するための証明書セットとして、図14に示すように第1CA10が発行した証明書セットS1が記憶され、上位装置30に通信を要求する際の通信先U1として、CA1用URLの「https://www.ca1.co.jp」が登録されていた場合を考える。この場合に、ステップS202及びS203を実行すると、図15に示すように、証明書セットS1の部分を第2CA20が発行した証明書セットS2で上書きし、通信先U1の部分を、CA2用URLの「https://www.ca2.co.jp」で上書きすることになる。そして、このように更新を上書きで行っても、更新の前後で、上位装置30との通信が可能な状態を保つことができる。
ここで、証明書セットを記憶させる記憶領域と、その証明書セットを認証に使用する際に通信を要求すべきURLを記憶させる記憶領域とは、証明書セットとURLとの対応関係が把握できるようにしてあれば、必ずしも隣接あるいは近接した領域でなくても構わない。
なお、上述のように受信した証明書セットやURLを一時的に記憶する領域を用意すると、その分下位装置40側の処理負担が大きくなる。そこで、このような領域を設けないようにしてもよい。
ただし、この場合、仮に第2CA20が発行した証明書セットだけ先に受信してしまったとすると、証明書セットだけ上書き更新してしまうことになる。そして、この場合には、通信先は元のままであるので、第1CA用URLでの認証処理を、第2CA20が発行した証明書セットによって要求してしまうことになる。
すると、もちろん、第2CAルート鍵証明書を用いて第1CA公開鍵証明書の正当性が確認できず、逆に第1CAルート鍵証明書を用いて第2CA公開鍵証明書の正当性もできないため、認証処理が失敗してしまう。そして、このような状況下では、上位装置30と下位装置40との間に安全な通信経路を確保することができないし、通信を常にSSLを用いて行うような設定になっていれば、通信自体が不可能になってしまう。
従って、後で第2CA用URLを上位装置30から下位装置40に送信しようとしても、これを送信できなくなってしまい、郵便等の別の経路で第2CA用URLを下位装置40のユーザに通知する必要が生じることになるので、再度上位装置30と下位装置40の間の安全な通信を可能とするために、大きな労力を要することになる。
また、このような状況は、第2CA用URLだけ先に受信してしまった場合にも同様に発生する。
しかし、上位装置30が、証明書更新コマンドと共に、第2CA20が発行した証明書セットと、その証明書セットを用いて通信を行う際の通信先のアドレスとを一括して転送するようにすれば、下位装置40は、これらを一括して受信して同時に更新することができる。従って、下位装置40が上位装置30との通信に使用する証明書セット及び通信先情報を1種類しか持たないようにし、かつ下位装置40に、設定すべき証明書セットや通信先情報を一時的に記憶する領域を設けない場合にも、上記のような問題は発生せず、図14及び図15に示したように、上位装置30との通信が可能な状態を保ったまま、安全な通信経路を用いて証明書セットを更新することができる。
また、上記のように第2CA用証明書セットと第2CA用URLとを一括して転送するようにする場合には、図18に示すように1つの証明書パッケージに含める形で送信するようにすることが考えられる。
次に、上位装置30及び下位装置40が上記のようなCAの変更を行う処理を実行する場合の処理シーケンスの例を、第2CA20における処理も含めて説明する。図16にこの処理シーケンスを示す。
この例においては、まず下位装置40が、上位装置30と通信する際に、通信要求を送信すべきURLを確認し(S301)、HTTPSクライアント機能部41を対上位装置クライアントとして機能させて、確認した第1CA用URLに通信要求を送信する(S302)。この場合、上位装置30側ではHTTPSサーバ機能部32が通信要求を受け、認証処理部33にこの要求を伝える。また、上位装置30は第1CA公開鍵証明書を用いた認証を要求されたことになる。そして認証処理部33は、SSLプロトコルに従い、証明書記憶部35に記憶している上位装置用第1CA私有鍵で暗号化した第1の乱数と共に、同じく証明書記憶部35に記憶している上位装置用第1CA公開鍵証明書を下位装置40に返す(S303)。
下位装置40側では、これを認証処理部43に渡して認証処理を行うが、ここでは受信した上位装置用第1CA公開鍵証明書の正当性は証明書記憶部45に記憶している上位装置認証用第1CAルート鍵証明書を用いて確認できるため、認証成功と判断し、その旨の応答を返す(S304)。そして、上位装置30がこれに応じて下位装置40に証明書要求を送信すると(S305)、下位装置40は、上位装置30に対して、証明書記憶部45に記憶している下位装置用第1CA私有鍵で暗号化した第2の乱数と共に、同じく証明書記憶部35に記憶している下位装置用第1CA公開鍵証明書を上位装置30に返す。またここでは、ステップS303で受信した上位装置用第1CA公開鍵を用いて暗号化した共通鍵の種も第2の乱数と共に返す。(S306)。
上位装置30側では、これらを認証処理部33に渡して認証処理を行うが、ここでは受信した下位装置用第1CA公開鍵証明書の正当性は証明書記憶部35に記憶している下位装置認証用第1CAルート鍵証明書を用いて確認できるため、認証成功と判断し、以降の通信に用いる暗号方式の確認を行う(S307)。
以上により、上位装置30と下位装置40との間でSSLによる安全な通信経路での通信が確立され、その後、上位装置30と下位装置40は、コマンド及び応答の送受信を、交換した共通鍵の種を用いて生成した共通鍵によって通信を暗号化した状態で行う(S308)。
その後、上位装置30側で、下位装置40に第2CA20が発行する証明書セットを記憶させる必要があると判断すると、すなわち、下位装置40に対して証明書を発行するCAを更新する必要があると判断すると、対CA通信機能部36によって第2CA20と通信し、第2CA20に証明書発行要求と下位装置40の識別情報を送信し、下位装置40に対する証明書セットの発行を要求する(S309)。
すると、第2CA20はこの要求に応じて下位装置40に対して証明書セット(第2CA証明書セット)を発行し(S310)、上位装置30にこれを転送する(S311)。
そして上位装置30は、この第2CA証明書セットを受信すると、この証明書セットを用いた通信を行う際の通信要求先である第2CA用URLの情報と対応付け、証明書セット更新コマンドと共に下位装置40に転送する(S312)。
すると、下位装置40は、通信先URLとして第2CA用URLを、通信の際の認証処理に使用する証明書セットとして第2CA証明書セットを、それぞれ設定する(S313)。以上で証明書セットの更新が終了し、下位装置40は通信を切断して自身を再起動する。
そして、再起動が完了した後は、下位装置40が上位装置30と通信する際に通信要求を送信するURLとしては第2CA用URLが登録されているので、ここに通信を要求し、第2CAが発行した証明書セットに含まれる公開鍵証明書、私有鍵及びルート鍵証明書を用いて認証処理を行うことができるようになる(S314〜S319)。
図1に示したデジタル証明書転送システムにおいては、上位装置30と下位装置40との間の認証に使用しようとする公開鍵証明書の鍵長やフォーマットを変更しようとする場合、以上のような処理を行うことにより、相互認証が可能な状態を保ちながら、上位装置30から下位装置40に新たな公開鍵証明書を転送することができる。
そして、下位装置40が複数ある場合には、上位装置30が、各下位装置40から第1CA用URLに通信要求を受ける度に図11に示した処理を実行することにより、順次各下位装置40の証明書セット及び通信先情報を更新することができる。そして、最終的には、図17に示すように、全ての下位装置に第2CA20が発行した証明書セットが記憶され、通信先情報として第2CA用URLが記憶されるようにすることができる。
そして、このような状態になると、上位装置30側でも、第1CA公開鍵証明書を用いた認証を行う必要がなくなるので、第2CA20が発行した公開鍵証明書のみを残すようにすればよく、通信要求の受付を第2CA用URLに一本化して処理やソフトウェア構成を簡略化することができる。
なお、以上説明した処理によれば、上位装置30及び下位装置40に予め記憶してある証明書セットを用いてSSLによる安全な通信経路を確立し、その通信経路を用いて上位装置30から下位装置40に第2CA証明書セット及び第2CA用URLを転送するようにしているので、第3者に漏洩してはならない私有鍵も、安全に転送することができる。
また、上位装置30が、下位装置40を下位装置用第1CA公開鍵証明書を用いて認証した場合に、第2CA証明書セット及び第2CA用URLを転送するようにしているので、下位装置40が確かに転送しようとする第2CA証明書セットの発行先であることを確認してから転送を行うことができる。
また、上位装置30が第1CA用URLに通信要求を受信した場合に第2CA証明書セット及び第2CA用URLを転送するようにしているので、更新すべき証明書セットを利用している装置を容易に識別して証明書セットを更新できる。一方で、第2CA証明書利用フラグがONであった場合に転送するようにしているので、第2CA証明書利用フラグの状態を管理することにより、更新の不要な装置については、第1CA公開鍵証明書を用いた通信を継続することもできる。
例えば公開鍵証明書の鍵長を長くするために第2CA20を設けた場合でも、輸出規制のため海外のユーザについては鍵長の長い公開鍵を配布できないといった状況が考えられる。このような状況であっても、国内のユーザが利用する下位装置40のみについて上記の第2CA証明書利用フラグをONするようにすれば、上位装置30により規制のない地域の下位装置40にのみ第2CA公開鍵証明書を配布するといった動作を自動で容易に行うことができる。
そして、この発明によれば、自動的に公開鍵証明書を更新することができるので、この発明は、設置先の操作者による証明書の更新が行えないような装置、例えばケーブルテレビのセットトップボックスや遠隔保守の対象となる画像形成装置等、にデジタル証明書を転送するデジタル証明書転送装置や、そのようなデジタル証明書転送装置を含むデジタル証明書転送システムに適用すると、特に効果的である。
また、以上説明した処理において、第1CA10と第2CA20が別々のハードウェアによって構成される例について説明したが、同一のハードウェアを利用し、ソフトウェア的に異なるCAを構成することも考えられる。また、以上説明した処理は、第1CA10と第2CA20とが異なるCAである場合に特に効果がある処理であるが、第1CA10と第2CA20とが同一のCAである場合に適用することを妨げるものではない。
また、以上説明した処理は、ルート鍵証明書(及びルート私有鍵)を変更する場合にも適用できる。上位装置30と下位装置40とのうち一方についてのみルート鍵を更新してしまうと、相手の公開鍵証明書の正当性が確認できなくなり、認証が失敗してしまう。しかし、上述のように、通信先を変更し、新たな証明書セットと、そこに含まれる公開鍵証明書を用いてアクセスすべき通信先の識別情報とを送信するようにすれば、認証が可能な状態を維持したまま安全に新たな証明書セットを配布することができる。
また、上位装置30から下位装置40に第2CA証明書セット及び第2CA用URLを転送する際に、下位装置40にこれらを設定するよう要求する例について説明したが、このようにすることは必須ではない。上位装置30側で最低限転送のみ行うようにすれば、設定については下位装置40側の動作に任せるようにすることもできる。
さらにまた、通信先情報としてURLを用いる例について説明したが、この情報は、下位装置40が上位装置30と通信する際の通信要求の送信先を示すことができる情報であれば、他の形式で記載された情報であっても構わない。例えば、IP(Internet Protocol)アドレス等が考えられる。
また、ここでは、下位装置40から上位装置30に通信要求があった場合にこれに応じて上位装置30から下位装置40に第2CA証明書セット及び第2CA用URLを転送する例について説明した。このような処理は、下位装置40がファイアウォールの内側にある場合でも適用できる点で優れているが、上位装置30から下位装置40に通信を要求して、証明書セットやURLを転送する構成も取り得る。この場合でも、第2CA証明書セットと第2CA用URLとを転送することにより、上記と同様な効果を得ることができる。
また、上述した実施形態では、認証処理に係るプログラムを更新しなくても第2CA証明書セットに含まれる証明書を用いた認証処理を行うことができる場合について説明した。しかし、デジタル署名のアルゴリズムが変更されたり、証明書の形式が根本的に変更されたりした場合(証明書自体のバージョンが変わるような変更がなされた場合)には、認証処理に係るプログラムを更新する必要があることも考えられる。そして、このような場合には、第2CA証明書セット及び第2CA用URLに加えて、第2CA証明書セットに含まれる証明書を用いた認証処理を行うためのプログラムも、第1CA証明書セットに含まれる証明書を用いて確立した安全な通信経路で転送し、下位装置40に設定させるようにするとよい。
また、上述した実施形態では、上位装置30と下位装置40が、図19あるいは図21を用いて説明したようなSSLに従った認証を行う場合の例について説明した。しかし、この認証が必ずしもこのようなものでなくてもこの発明は効果を発揮する。
SSLを改良したTLS(Transport Layer Security)も知られているが、このプロトコルに基づく認証処理を行う場合にも当然適用可能である。
また、上述した実施形態では、第1CA10及び第2CA20を上位装置30と別に設ける例について説明したが、これと一体として設けることを妨げるものではない。この場合、CAの機能を実現するためのCPU,ROM,RAM等の部品を独立して設けてもよいが、上位装置30のCPU,ROM,RAM等を使用し、そのCPUに適当なソフトウェアを実行させることにより、CAとして機能させるようにしてもよい。
このような場合において、CAと、これと一体になっている上位装置30との間の通信には、ハードウェアをCAとして機能させるためのプロセスと、ハードウェアを上位装置30として機能させるためのプロセスとの間のプロセス間通信を含むものとする。
また、この発明によるプログラムは、上位装置30を制御するコンピュータに、以上説明したような機能を実現させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、初めからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
以上説明してきた通り、この発明のデジタル証明書転送方法、デジタル証明書転送装置、デジタル証明書転送システム、プログラムあるいは記録媒体によれば、通信装置のデジタル証明書を更新し、新たなデジタル証明書を用いた通信に移行する動作を、容易かつ安全に行うことができるようにすることができる。
従って、この発明を、各ノードが通信に際してデジタル証明書を用いた認証処理を行うような通信システムを運用する際に利用することにより、システムの安全性を保ったままデジタル証明書のフォーマット変更や安全性向上等を容易に行えるようなシステムを、比較的安価かつ容易に構成することができる。
この発明の実施形態であるデジタル証明書転送システムの構成例を示すブロック図である。 図1に示した第1CAのハードウェア構成を示すブロック図である。 図1に示した上位装置及び下位装置について、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。 図1に示した第1CAについて、この発明の特徴に関連する部分の機能構成を示す機能ブロック図である。 図1及び図3に示した上位装置及び下位装置が記憶する認証情報について説明するための図である。 通常公開鍵証明書のフォーマット例について説明するための図である。 図6に記載したフォーマットに従って第1CAが発行する公開鍵証明書の例を示す図である。 同じく、第2CAが発行する公開鍵証明書の例を示す図である。 図1及び図3に示した上位装置において、第1CA公開鍵証明書と第2CA公開鍵証明書とを使い分けるための構成について説明するための図である。 同じく上位装置から下位装置に転送する情報の例を示す図である。 同じく上位装置が、第2CA公開鍵証明書を用いた認証処理が可能になった状態で第1CA用URLに通信要求を受けた場合に実行する処理を示すフローチャートである。
同じく上位装置における第2CA証明書利用フラグの設定例を示す図である。 同じく下位装置が上位装置から証明書設定コマンドを受信した場合に実行する処理を示すフローチャートである。 同じく下位装置の証明書記憶部における、第1CAが発行した公開鍵証明書とその証明書を用いて通信を行う場合の通信先との記憶状態の例を示す図である。 同じく、第2CAが発行した公開鍵証明書とその証明書を用いて通信を行う場合の通信先との記憶状態の例を示す図である。 上位装置及び下位装置が図11及び図13に示したようなCAの変更を行う処理を実行する場合の処理シーケンスの例を示す図である。 図1及び図3に示したデジタル証明書転送システムにおいて下位装置を複数設けた場合のシステム構成例を示す図である。 第2CA用証明書セットと第2CA用URLとを一括して転送する場合に使用する証明書パッケージの例を示す図である。 2つの通信装置がSSLに従った相互認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。 図19に示した認証処理におけるルート鍵、ルート私有鍵、および公開鍵証明書の関係について説明するための図である。 図19に示した認証処理の変形例を、その処理に用いる情報と共に示す図である。
符号の説明
10:第1CA 11:通信機能部
13:証明書更新部 14:証明用鍵作成部
15:証明書発行部 16:証明書管理部
20:第2CA
31,41:HTTPSクライアント機能部
32,42:HTTPSサーバ機能部
33,43:認証処理部 34:証明書設定要求部
35,45:証明書記憶部 36:対CA通信機能部
44:要求管理部 46:コール通知部
47:定期通知部 48:証明書設定部
49:コマンド受信部 51:CPU
52:ROM 53:RAM
54:HDD 55:通信I/F
56:システムバス

Claims (20)

  1. 証明書転送装置から、その通信相手となる通信装置であって第1のデジタル証明書を記憶している通信装置に、前記第1のデジタル証明書と異なる第2のデジタル証明書を転送するデジタル証明書転送方法であって、
    前記証明書転送装置から前記通信装置に、前記第2のデジタル証明書と、その通信装置がその第2のデジタル証明書を用いてアクセスすべき通信先の識別情報とを、前記第1のデジタル証明書を用いて確保した安全な通信経路で転送することを特徴とするデジタル証明書転送方法。
  2. 請求項1記載のデジタル証明書転送方法であって、
    前記証明書転送装置から前記通信装置に、前記第2のデジタル証明書と前記通信先の識別情報とを一括して転送することを特徴とするデジタル証明書転送方法。
  3. 請求項1又は2記載のデジタル証明書転送方法であって、
    前記第1のデジタル証明書と前記第2のデジタル証明書とで、その正当性の確認に使用する証明鍵が異なることを特徴とするデジタル証明書転送方法。
  4. 請求項1乃至3のいずれか一項記載のデジタル証明書転送方法であって、
    前記証明書転送装置が、前記通信装置を前記第1のデジタル証明書を用いて認証した場合に、前記第2のデジタル証明書及び通信先の識別情報の転送を行うようにしたことを特徴とするデジタル証明書転送方法。
  5. 請求項1乃至4のいずれか一項記載のデジタル証明書転送方法であって、
    前記証明書転送装置が、前記第1のデジタル証明書を用いた通信を行うためのアドレスで前記通信装置からの通信要求を受信し、かつ前記第2のデジタル証明書の転送が必要であると設定されていた場合に、前記第2のデジタル証明書及び通信先の識別情報の転送を行うようにしたことを特徴とするデジタル証明書転送方法。
  6. 請求項1乃至5のいずれか一項記載のデジタル証明書転送方法であって、
    前記証明書転送装置が、前記第2のデジタル証明書及び通信先の識別情報の転送を行う場合に、転送先の通信装置に、それらの情報を設定するよう要求するようにしたことを特徴とするデジタル証明書転送方法。
  7. 第1のデジタル証明書を記憶している通信装置にその第1のデジタル証明書と異なる第2のデジタル証明書を転送するデジタル証明書転送装置であって、
    前記通信装置に対して、前記第2のデジタル証明書と、前記通信相手がその第2のデジタル証明書を用いてアクセスすべき通信先の識別情報とを、前記第1のデジタル証明書を用いて確保した安全な通信経路で転送する証明書転送手段を設けたことを特徴とするデジタル証明書転送装置。
  8. 請求項7記載のデジタル証明書転送装置であって、
    前記証明書転送手段が、前記通信装置に対して、前記第2のデジタル証明書と前記通信先の識別情報とを一括して転送する手段を有することを特徴とするデジタル証明書転送装置。
  9. 請求項7又は8記載のデジタル証明書転送装置であって、
    前記第1のデジタル証明書と前記第2のデジタル証明書とで、その正当性の確認に使用する証明鍵が異なることを特徴とするデジタル証明書転送装置。
  10. 請求項7乃至9のいずれか一項記載のデジタル証明書転送装置であって、
    前記通信装置を、その通信装置から受信したデジタル証明書を用いて認証する認証手段を設け、
    前記証明書転送手段を、前記認証手段が前記通信装置を前記第1のデジタル証明書を用いて認証した場合に、前記第2のデジタル証明書及び通信先の識別情報の転送を行う手段としたことを特徴とするデジタル証明書転送装置。
  11. 請求項7乃至10のいずれか一項記載のデジタル証明書転送装置であって、
    前記証明書転送手段を、前記第1のデジタル証明書を用いた通信を行うためのアドレスで前記通信装置からの通信要求を受信し、かつ前記第2のデジタル証明書の転送が必要であると設定されていた場合に、前記第2のデジタル証明書及び通信先の識別情報の転送を行う手段としたことを特徴とするデジタル証明書転送装置。
  12. 請求項7乃至11のいずれか一項記載のデジタル証明書転送装置であって、
    前記証明書転送手段に、前記第2のデジタル証明書及び通信先の識別情報の転送を行う場合に、転送先の通信装置に、それらの情報を設定するよう要求する手段を設けたことを特徴とするデジタル証明書転送装置。
  13. 予め第1のデジタル証明書を記憶させてある通信相手にデジタル証明書を転送するデジタル証明書転送装置と、そのデジタル証明書転送装置の通信相手となる通信装置とを備えるデジタル証明書転送システムであって、
    前記デジタル証明書転送装置に、前記通信装置に対して、前記第1のデジタル証明書と異なる第2のデジタル証明書と、その通信装置がその第2のデジタル証明書を用いてアクセスすべき通信先の識別情報とを、前記第1のデジタル証明書を用いて確保した安全な通信経路で転送する証明書転送手段を設け、
    前記通信装置に、前記証明書転送手段から前記第2のデジタル証明書と前記通信先の識別情報とを受信して記憶する手段を設けたことを特徴とするデジタル証明書転送システム。
  14. 請求項13記載のデジタル証明書転送システムであって、
    前記デジタル証明書転送装置の証明書転送手段が、前記通信装置に対して、前記第2のデジタル証明書と前記通信先の識別情報とを一括して転送する手段を有することを特徴とするデジタル証明書転送システム。
  15. 請求項13又は14記載のデジタル証明書転送システムであって、
    前記第1のデジタル証明書と前記第2のデジタル証明書とで、その正当性の確認に使用する証明鍵が異なることを特徴とするデジタル証明書転送システム。
  16. 請求項13乃至15のいずれか一項記載のデジタル証明書転送システムであって、
    前記通信装置に、前記デジタル証明書転送装置にデジタル証明書を送信して認証を要求する手段を設け、
    前記デジタル証明書転送装置において、
    前記通信相手を、その通信相手から受信したデジタル証明書を用いて認証する認証手段を設け、
    前記証明書転送手段を、前記認証手段が前記通信相手を前記第1のデジタル証明書を用いて認証した場合に、前記第2のデジタル証明書及び通信先の識別情報の転送を行う手段としたことを特徴とするデジタル証明書転送システム。
  17. 請求項13乃至16のいずれか一項記載のデジタル証明書転送システムであって、
    前記デジタル証明書転送装置において、前記証明書転送手段を、前記第1のデジタル証明書を用いた通信を行うためのアドレスで前記通信装置からの通信要求を受信し、かつ前記第2のデジタル証明書の転送が必要であると設定されていた場合に、前記第2のデジタル証明書及び通信先の識別情報の転送を行う手段としたことを特徴とするデジタル証明書転送システム。
  18. 請求項13乃至17のいずれか一項記載のデジタル証明書転送システムであって、
    前記デジタル証明書転送装置において、前記証明書転送手段に、前記第2のデジタル証明書及び通信先の識別情報の転送を行う場合に、転送先の通信装置に、それらの情報を設定するよう要求する手段を設け、
    前記通信装置に、その要求に応じて受信した第2のデジタル証明書及び通信先の識別情報を、通信に使用するデジタル証明書及び通信先として設定する手段を設けたことを特徴とするデジタル証明書転送システム。
  19. 通信装置にデジタル証明書を転送するデジタル証明書転送装置を制御するコンピュータに、
    第1のデジタル証明書を記憶している通信装置にその第1のデジタル証明書と異なる第2のデジタル証明書を転送する機能を実現させるためのプログラムであって、
    前記コンピュータを、前記通信装置に対して、前記第2のデジタル証明書と、前記装置がその第2のデジタル証明書を用いてアクセスすべき通信先の識別情報とを、前記第1のデジタル証明書を用いて確保した安全な通信経路で転送する証明書転送手段として機能させるためのプログラムを含むことを特徴とするプログラム。
  20. 請求項19記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004336441A 2003-12-16 2004-11-19 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体 Active JP4576210B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004336441A JP4576210B2 (ja) 2003-12-16 2004-11-19 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体
DE602004022764T DE602004022764D1 (de) 2003-12-16 2004-12-14 Verfahren, Vorrichtung und System zur Aktualisierung eines digitalen Zertifikats
EP04257772A EP1545049B1 (en) 2003-12-16 2004-12-14 Digital Certificate Updating Method, and Apparatus and System therefor
US11/011,045 US7546455B2 (en) 2003-12-16 2004-12-15 Digital certificate transferring method, digital certificate transferring apparatus, digital certificate transferring system, program and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003418677 2003-12-16
JP2004336441A JP4576210B2 (ja) 2003-12-16 2004-11-19 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2005204283A true JP2005204283A (ja) 2005-07-28
JP4576210B2 JP4576210B2 (ja) 2010-11-04

Family

ID=34525521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004336441A Active JP4576210B2 (ja) 2003-12-16 2004-11-19 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体

Country Status (4)

Country Link
US (1) US7546455B2 (ja)
EP (1) EP1545049B1 (ja)
JP (1) JP4576210B2 (ja)
DE (1) DE602004022764D1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012521155A (ja) * 2009-03-20 2012-09-10 サンディスク テクノロジィース インコーポレイテッド 証明書および鍵を含む製品を製造する方法
JP2017175227A (ja) * 2016-03-18 2017-09-28 株式会社リコー 証明書管理システム、証明書管理方法及びプログラム
JP2019057793A (ja) * 2017-09-20 2019-04-11 富士ゼロックス株式会社 情報処理装置及びプログラム
US10623191B2 (en) 2016-03-18 2020-04-14 Ricoh Company, Ltd. Information processing apparatus, information processing system, information processing method, and recording medium

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765398B2 (en) * 2005-07-07 2010-07-27 At&T Intellectual Property I, L.P. Method of promulgating a transaction tool to a recipient
US7870383B2 (en) * 2006-02-09 2011-01-11 International Business Machines Corporation System, method and program to update certificates in a computer
CN100448239C (zh) * 2006-02-28 2008-12-31 西安西电捷通无线网络通信有限公司 鉴别服务实体的安全接入协议符合性测试的方法及其系统
US20070283161A1 (en) * 2006-06-06 2007-12-06 Kabushiki Kaisha Toshiba System and method for generating verifiable device user passwords
JP5464794B2 (ja) * 2006-07-24 2014-04-09 コニカミノルタ株式会社 ネットワーク管理方法およびネットワーク管理システム
US8010784B2 (en) * 2006-10-10 2011-08-30 Adobe Systems Incorporated Method and apparatus for achieving conformant public key infrastructures
US8458455B2 (en) * 2006-10-10 2013-06-04 International Business Machines Corporation Techniques for handling SSL certificate expiration and renewal
US10255445B1 (en) * 2006-11-03 2019-04-09 Jeffrey E. Brinskelle Identifying destinations of sensitive data
US20080167888A1 (en) * 2007-01-09 2008-07-10 I4 Commerce Inc. Method and system for identification verification between at least a pair of entities
FR2912578B1 (fr) * 2007-02-13 2009-05-22 Airbus France Sas Methode d'authentification d'un document electronique et methode de verification d'un document ainsi authentifie.
US8908870B2 (en) 2007-11-01 2014-12-09 Infineon Technologies Ag Method and system for transferring information to a device
US8065517B2 (en) * 2007-11-01 2011-11-22 Infineon Technologies Ag Method and system for transferring information to a device
US8627079B2 (en) 2007-11-01 2014-01-07 Infineon Technologies Ag Method and system for controlling a device
CN101521883B (zh) * 2009-03-23 2011-01-19 中兴通讯股份有限公司 一种数字证书的更新和使用方法及系统
US9032213B2 (en) * 2013-07-25 2015-05-12 Fujitsu Limited Data distribution path verification
US9893885B1 (en) 2015-03-13 2018-02-13 Amazon Technologies, Inc. Updating cryptographic key pair
US9674162B1 (en) 2015-03-13 2017-06-06 Amazon Technologies, Inc. Updating encrypted cryptographic key pair
US10003467B1 (en) * 2015-03-30 2018-06-19 Amazon Technologies, Inc. Controlling digital certificate use
US9479340B1 (en) 2015-03-30 2016-10-25 Amazon Technologies, Inc. Controlling use of encryption keys
US10205598B2 (en) * 2015-05-03 2019-02-12 Ronald Francis Sulpizio, JR. Temporal key generation and PKI gateway
JP6459805B2 (ja) * 2015-07-03 2019-01-30 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
CN108964917B (zh) * 2017-05-17 2021-05-07 北京安软天地科技有限公司 一种用户自助式数字证书远程安全管理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1020779A (ja) * 1996-07-08 1998-01-23 Hitachi Inf Syst Ltd 公開鍵暗号方式における鍵変更方法
JPH11317735A (ja) * 1998-02-17 1999-11-16 Seetharaman Ramasubramani デ―タネットワ―クにおける2方向インタ―ラクティブコミュニケ―ションデバイスのための集中証明書管理システム
JP2002064479A (ja) * 2000-08-15 2002-02-28 Fuji Xerox Co Ltd ネットワーク装置及びホスト装置
JP2002118546A (ja) * 2000-10-11 2002-04-19 Fuji Xerox Co Ltd 公開鍵取扱装置及び通信装置
JP2003503901A (ja) * 1999-06-29 2003-01-28 サムスン エレクトロニクス カンパニー リミテッド インターネット環境の移動通信システムにおける使用者情報セキュリティ装置及びその方法
JP2003209542A (ja) * 2002-01-10 2003-07-25 Toshiba Corp デジタル放送装置及びデジタル放送方法、デジタル放送受信装置及びデジタル放送受信方法、デジタル放送受信システム
JP2003318873A (ja) * 2002-04-22 2003-11-07 Fuji Xerox Co Ltd データ処理装置、データ処理方法およびデータ処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4888801A (en) * 1988-05-02 1989-12-19 Motorola, Inc. Hierarchical key management system
FR2800539B1 (fr) * 1999-10-27 2002-03-29 Sagem Procede de renouvellement, par une autorite de certification de cles de confidentialite detenues par un abonne
US6816900B1 (en) * 2000-01-04 2004-11-09 Microsoft Corporation Updating trusted root certificates on a client computer
JP4070413B2 (ja) 2001-02-22 2008-04-02 株式会社リコー 電子取引装置、方法及び電子取引システム
FR2823929B1 (fr) * 2001-04-19 2003-07-25 Magic Axess Procede et dispositif d'authentification
JP3724564B2 (ja) 2001-05-30 2005-12-07 日本電気株式会社 認証システム及び認証方法並びに認証用プログラム
JP2003304229A (ja) 2002-04-09 2003-10-24 Ricoh Co Ltd 暗号化データ通信装置、管理装置、暗号化データ通信装置管理プログラム、管理装置管理プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1020779A (ja) * 1996-07-08 1998-01-23 Hitachi Inf Syst Ltd 公開鍵暗号方式における鍵変更方法
JPH11317735A (ja) * 1998-02-17 1999-11-16 Seetharaman Ramasubramani デ―タネットワ―クにおける2方向インタ―ラクティブコミュニケ―ションデバイスのための集中証明書管理システム
JP2003503901A (ja) * 1999-06-29 2003-01-28 サムスン エレクトロニクス カンパニー リミテッド インターネット環境の移動通信システムにおける使用者情報セキュリティ装置及びその方法
JP2002064479A (ja) * 2000-08-15 2002-02-28 Fuji Xerox Co Ltd ネットワーク装置及びホスト装置
JP2002118546A (ja) * 2000-10-11 2002-04-19 Fuji Xerox Co Ltd 公開鍵取扱装置及び通信装置
JP2003209542A (ja) * 2002-01-10 2003-07-25 Toshiba Corp デジタル放送装置及びデジタル放送方法、デジタル放送受信装置及びデジタル放送受信方法、デジタル放送受信システム
JP2003318873A (ja) * 2002-04-22 2003-11-07 Fuji Xerox Co Ltd データ処理装置、データ処理方法およびデータ処理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012521155A (ja) * 2009-03-20 2012-09-10 サンディスク テクノロジィース インコーポレイテッド 証明書および鍵を含む製品を製造する方法
JP2017175227A (ja) * 2016-03-18 2017-09-28 株式会社リコー 証明書管理システム、証明書管理方法及びプログラム
US10623191B2 (en) 2016-03-18 2020-04-14 Ricoh Company, Ltd. Information processing apparatus, information processing system, information processing method, and recording medium
JP2019057793A (ja) * 2017-09-20 2019-04-11 富士ゼロックス株式会社 情報処理装置及びプログラム

Also Published As

Publication number Publication date
US20050160476A1 (en) 2005-07-21
EP1545049B1 (en) 2009-08-26
DE602004022764D1 (de) 2009-10-08
JP4576210B2 (ja) 2010-11-04
US7546455B2 (en) 2009-06-09
EP1545049A3 (en) 2006-04-12
EP1545049A2 (en) 2005-06-22

Similar Documents

Publication Publication Date Title
JP4576210B2 (ja) 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体
JP4607567B2 (ja) 証明書転送方法、証明書転送装置、証明書転送システム、プログラム及び記録媒体
JP4555175B2 (ja) 審査装置、通信システム、審査方法、プログラム及び記録媒体
JP4758095B2 (ja) 証明書無効化装置、通信装置、証明書無効化システム、プログラム及び記録媒体
JP4712325B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4522771B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4509678B2 (ja) 証明書設定方法
JP4611680B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4504130B2 (ja) 通信装置、通信システム、証明書送信方法及びプログラム
JP4611679B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4611676B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4657642B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4611678B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP5434956B2 (ja) 証明書無効化装置、証明書無効化システム、プログラム及び記録媒体
JP4657643B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4671638B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4509675B2 (ja) 通信装置、通信システム及び通信方法
JP4537797B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4542848B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4494827B2 (ja) デジタル証明書管理システム、デジタル証明書管理装置、デジタル証明書管理方法およびプログラム
JP4570919B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4611681B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP5418507B2 (ja) 通信装置、通信システム、通信方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100802

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100802

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: 20100817

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: 20100823

R150 Certificate of patent or registration of utility model

Ref document number: 4576210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3