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

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

Info

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

Links

Images

Description

この発明は、通信手段を備え、通信の際に通信相手に認証を受けるためにデジタル証明書を提供する通信装置、このような通信装置である下位装置とその通信相手となる上位装置によって構成される通信システム、通信の際に通信相手に認証を受けるためにデジタル証明書を提供させるための通信装置の制御方法、およびコンピュータを上記の通信装置として機能させるためのプログラムに関する。
従来から、それぞれ通信機能を備えた複数の通信装置をネットワークを介して通信可能に接続し、様々なシステムを構築することが行われている。その一例としては、クライアント装置として機能するPC等のコンピュータから商品の注文を送信し、これとインターネットを介して通信可能なサーバ装置においてその注文を受け付けるといった、いわゆる電子商取引システムが挙げられる。また、種々の電子装置にクライアント装置あるいはサーバ装置の機能を持たせてネットワークを介して接続し、相互間の通信によって電子装置の遠隔管理を行うシステムも提案されている。
このようなシステムを構築する上では、通信を行う際に、通信相手が適切か、あるいは送信されてくる情報が改竄されていないかといった確認が重要である。また、特にインターネットにおいては、情報が通信相手に到達するまでに無関係なコンピュータを経由する場合が多いことから、機密情報を送信する場合、その内容を盗み見られないようにする必要もある。そして、このような要求に応える通信プロトコルとして、例えばSSL(Secure Socket Layer)と呼ばれるプロトコルが開発されており、広く用いられている。このプロトコルを用いて通信を行うことにより、公開鍵暗号方式と共通鍵暗号方式とを組み合わせ、通信相手の認証を行うと共に、情報の暗号化により改竄及び盗聴の防止を図ることができる。また、通信相手の側でも、通信を要求してきた通信元の装置を認証することができる。
このようなSSLや公開鍵暗号を用いた認証に関連する技術としては、例えば特許文献1及び特許文献2に記載のものが挙げられる。
特開2002−353959号公報 特開2002−251492号公報
ここで、このSSLに従った相互認証を行う場合の通信手順について、認証処理の部分に焦点を当てて説明する。図24は、通信装置Aと通信装置BとがSSLに従った相互認証を行う際に各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
図24に示すように、SSLに従った相互認証を行う際には、まず双方の通信装置にルート鍵証明書及び、私有鍵と公開鍵証明書(これらをまとめて「証明書セット」と呼ぶ)を記憶させておく必要がある。この私有鍵は、認証局(CA:certificate authority)が各装置に対して発行した私有鍵であり、公開鍵証明書は、その私有鍵と対応する公開鍵にCAがデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、CAがデジタル署名に用いたルート私有鍵と対応するルート鍵に、デジタル署名を付してデジタル証明書としたものである。
図25にこれらの関係を示す。
図25(a)に示すように、公開鍵Aは、私有鍵Aを用いて暗号化された文書を復号化するための鍵本体と、その公開鍵の発行者(CA)や有効期限等の情報を含む書誌情報とによって構成される。そして、CAは、鍵本体や書誌情報が改竄されていないことを示すため、公開鍵Aをハッシュ処理して得たハッシュ値を、ルート私有鍵を用いて暗号化し、デジタル署名として公開鍵Aに付す。またこの際に、デジタル署名に用いるルート私有鍵の識別情報を署名鍵情報として公開鍵Aの書誌情報に加える。そして、このデジタル署名を付した公開鍵証明書が、公開鍵証明書Aである。
この公開鍵証明書Aを認証処理に用いる場合には、ここに含まれるデジタル署名を、ルート私有鍵と対応する公開鍵であるルート鍵の鍵本体を用いて復号化する。この復号化が正常に行われれば、デジタル署名が確かにCAによって付されたことがわかる。また、公開鍵Aの部分をハッシュ処理して得たハッシュ値と、復号して得たハッシュ値とが一致すれば、鍵自体も損傷や改竄を受けていないことがわかる。さらに、受信したデータをこの公開鍵Aを用いて正常に復号化できれば、そのデータは、私有鍵Aの持ち主から送信されたものであることがわかる。
ここで、認証を行うためには、ルート鍵を予め記憶しておく必要があるが、このルート鍵も、図25(b)に示すように、CAがデジタル署名を付したルート鍵証明書として記憶しておく。このルート鍵証明書は、自身に含まれる公開鍵でデジタル署名を復号化可能な、自己署名形式である。そして、ルート鍵を使用する際に、そのルート鍵証明書に含まれる鍵本体を用いてデジタル署名を復号化し、ルート鍵をハッシュ処理して得たハッシュ値と比較する。これが一致すれば、ルート鍵が破損等していないことを確認できるのである。
図24のフローチャートの説明に入る。なお、この図において、2本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。また、各ステップの処理が正常に完了しなかった場合には、その時点で認証失敗の応答を返して処理を中断するものとする。相手から認証失敗の応答を受けた場合、処理がタイムアウトした場合等も同様である。
ここでは、通信装置Aが通信装置Bに通信を要求するものとするが、この要求を行う場合、通信装置AのCPUは、所要の制御プログラムを実行することにより、図24の左側に示すフローチャートの処理を開始する。そして、ステップS11で通信装置Bに対して接続要求を送信する。
一方通信装置BのCPUは、この接続要求を受信すると、所要の制御プログラムを実行することにより、図24の右側に示すフローチャートの処理を開始する。そして、ステップS21で第1の乱数を生成し、これを私有鍵Bを用いて暗号化する。そして、ステップS22でその暗号化した第1の乱数と公開鍵証明書Bとを通信装置Aに送信する。
通信装置A側では、これを受信すると、ステップS12でルート鍵証明書を用いて公開鍵証明書Bの正当性を確認する。
そして確認ができると、ステップS13で、受信した公開鍵証明書Bに含まれる公開鍵Bを用いて第1の乱数を復号化する。ここで復号化が成功すれば、第1の乱数は確かに公開鍵証明書Bの発行対象から受信したものだと確認できる。
その後、ステップS14でこれとは別に第2の乱数及び共通鍵の種を生成する。共通鍵の種は、例えばそれまでの通信でやり取りしたデータに基づいて作成することができる。そして、ステップS15で第2の乱数を私有鍵Aを用いて暗号化し、共通鍵の種を公開鍵Bを用いて暗号化し、ステップS16でこれらを公開鍵証明書Aと共にサーバ装置に送信する。共通鍵の種の暗号化は、通信相手以外の装置に共通鍵の種を知られないようにするために行うものである。
また、次のステップS17では、ステップS14で生成した共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
通信装置B側では、通信装置AがステップS16で送信してくるデータを受信すると、ステップS23でルート鍵証明書を用いて公開鍵証明書Aの正当性を確認する。そして確認ができると、ステップS24で、受信した公開鍵証明書Aに含まれる公開鍵Aを用いて第2の乱数を復号化する。ここで復号化が成功すれば、第2の乱数は確かに公開鍵証明書Aの発行対象から受信したものだと確認できる。
その後、ステップS25で私有鍵Bを用いて共通鍵の種を復号化する。ここまでの処理で、通信装置A側と通信装置B側に共通鍵の種が共有されたことになる。そして、この共通鍵の種は、生成した通信装置Aと、私有鍵Bを持つ通信装置B以外の装置が知ることはない。ここまでの処理が成功すると、通信装置B側でもステップS26で復号化で得た共通鍵の種から以後の通信の暗号化に用いる共通鍵を生成する。
そして、通信装置A側のステップS17と通信装置B側のステップS26の処理が終了すると、相互に認証の成功と以後の通信に使用する暗号化方式とを確認し、生成した共通鍵を用いてその暗号化方式で以後の通信を行うものとして認証に関する処理を終了する。なお、この確認には、通信装置Bからの認証が成功した旨の応答も含むものとする。以上の処理によって互いに通信を確立し、以後はステップS17又はS26で生成した共通鍵を用い、共通鍵暗号方式でデータを暗号化して通信を行うことができる。
このような処理を行うことにより、通信装置Aと通信装置Bが安全に共通鍵を共有することができ、通信を安全に行う経路を確立することができる。
ただし、上述した処理において、第2の乱数を公開鍵Aで暗号化し、公開鍵証明書Aを通信装置Bに送信することは必須ではない。この場合、通信装置B側のステップS23及びS24の処理は不要になり、処理は図26に示すようになる。このようにすると、通信装置Bが通信装置Aを認証することはできないが、通信装置Aが通信装置Bを認証するだけでよい場合にはこの処理で十分である。そしてこの場合には、通信装置Aに記憶させるのはルート鍵証明書のみでよく、私有鍵A及び公開鍵証明書Aは不要である。また、通信装置Bにはルート鍵証明書を記憶させる必要はない。
ところで、以上の認証処理においては、公開鍵で暗号化された内容は対応する私有鍵を持つ装置でしか復号できず、また、私有鍵で暗号化された内容は対応する公開鍵でしか復号できないことを利用して、通信相手が公開鍵証明書にその発行先として記載されている装置である(又はその装置の利用者が公開鍵証明書にその発行先として記載されている利用者である)と認証することになる。
また、CAのルート私有鍵の秘密保全性を前提にして、公開鍵証明書はCAが認証したものであり、CA(の提供者)が公開鍵証明書の記載内容の正確性を保証していることもわかる。しかし、通信相手が確かに公開鍵証明書に記載されている装置と同一であることは、公開鍵証明書を発行したCAの保証を信頼して判断する他ない。従って、CAの信頼性は、公開鍵暗号を用いた認証による通信の安全確保の際に重要なファクターとなる。
一方で、暗号化や認証の技術は日々進歩しており、より強度の高い暗号やその暗号を利用した認証の技術が提案され、実用化されている。このような強度の高い暗号は、上記の公開鍵暗号の場合には、鍵長を長くする、より強度の高い暗号方式を採用するなどによって実現される。そして、このように暗号強度が強い方式が実用化された場合、セキュリティレベルを考慮してそれらの方式を採用することが考えられる。
このようなとき、通信システム上で暗号強度の高いデジタル証明書が発行され運用され始めた場合、通信装置が従来から記憶しているデジタル証明書では通信相手から認証を受けられない状態となってしまう場合があるという問題があった。
このような問題は、操作者が認証を受けられない状態となった時点で装置を操作し新たなデジタル証明書を容易に設定できるような場合は、操作者を認証する等してセキュリティを保持できるため、さほど深刻にはならない。しかし、ユーザの習熟度や利用環境から操作者による設定が困難であったり、装置の運用上、操作者に自由に証明書を設定させることが好ましくなかったりする等の理由で通信システム上の他の通信装置からリモートで証明書を設定するようにする場合には、認証が行えない状態ではセキュリティを保持するための手段がなく、この点が深刻な問題となる。
この発明は、このような問題を解決し、通信手段を備え、通信の際に通信相手に認証を受けるためにデジタル証明書を提供する通信装置あるいはこのような通信装置を用いて構成した通信システムにおいて、セキュリティを維持しながら、正常な認証を受けられる状態を容易に維持できるようにすることを目的とする。
上記の目的を達成するため、この発明の通信装置は、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、上記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、その通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段とを有する通信装置において、上記通信手段を、異なる暗号強度での認証処理に対応した2種類のデジタル証明書の提供を行い、上記複数のアドレスのうち第1のアドレスでは上記2種類のデジタル証明書のうち暗号強度が高い方の認証処理に対応した第1の証明書を提供し、第2のアドレスでは上記2種類のデジタル証明書のうち暗号強度が低い方の認証処理に対応した第2の証明書を提供する手段とし、上記第2のアドレスで通信を行う場合には上記第1の証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段を設けたものである。
このような通信装置において、上記デジタル証明書を提供した通信相手からその通信相手のデジタル証明書を受信して認証を行い、その認証が成功した場合のみその後の通信を許可する認証手段を設け、上記要求実行手段に、その通信相手から上記第1の証明書の設定要求を受信した場合に上記第1の証明書を更新する手段を設けるとよい。
さらに、上記第1の証明書の設定に関する要求を、上記第1の証明書の作成に必要な情報の取得要求と上記第1の証明書の設定要求とするとよい。
さらに、上記要求実行手段に、上記要求に対応する所定の処理を行う複数の要求処理手段を設け、受信したアドレスと要求の種類とに従って要求を上記各要求処理手段に振り分ける振り分け手段を設け、上記禁止手段を、上記振り分け手段が上記通信を行っているアドレスによっては所定の要求以外の要求を上記要求処理手段に振り分けないようにすることにより、上記処理の禁止を行う手段とするとよい。
さらにまた、上記要求をSOAPメッセージとして記載するようにするとよい。
さらにまた、上記認証を、SSL又はTLSのプロトコルに従った認証処理によって行い、上記デジタル証明書をその認証処理に使用する公開鍵証明書とするとよい。
また、この発明の通信システムは、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、上記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、その通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段とを有する下位装置と、その下位装置の通信相手となる上位装置とによって構成される通信システムにおいて、上記下位装置の上記通信手段を、異なる暗号強度での認証処理に対応した2種類のデジタル証明書の提供を行い、上記複数のアドレスのうち第1のアドレスでは上記2種類のデジタル証明書のうち暗号強度が高い方の認証処理に対応した第1の証明書を提供し、第2のアドレスでは上記2種類のデジタル証明書のうち暗号強度が低い方の認証処理に対応した第2の証明書を提供する手段とし、上記下位装置に、上記第2のアドレスで通信を行う場合には上記第1の証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段を設け、上記上位装置に、通信相手から受信したデジタル証明書を用いてその通信相手を認証する認証手段を設けたものである。
このような通信システムにおいて、上記下位装置に、上記デジタル証明書を提供した通信相手からその通信相手のデジタル証明書を受信して認証を行い、その認証が成功した場合のみその後の通信を許可する認証手段を設け、上記下位装置の上記要求実行手段に、通信相手から上記第1の証明書の設定要求を受信した場合に上記第1の証明書を更新する手段を設けるとよい。
さらに、上記第1の証明書の設定に関する要求を、上記第1の証明書の作成に必要な情報の取得要求と上記第1の証明書の設定要求とするとよい。
さらに、上記要求をSOAPメッセージとして記載するようにするとよい。
さらにまた、上記認証を、SSL又はTLSのプロトコルに従った認証処理によって行い、上記デジタル証明書をその認証処理に使用する公開鍵証明書とするとよい。
また、この発明の通信装置の制御方法は、通信装置に、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供させ、上記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行わせ、その通信において通信相手から受信した要求に応じた処理を行わせる通信装置の制御方法において、上記通信装置に、異なる暗号強度での認証処理に対応した2種類のデジタル証明書の提供を行わせ、上記複数のアドレスのうち第1のアドレスでは上記2種類のデジタル証明書のうち暗号強度が高い方の認証処理に対応した第1の証明書を提供させ、第2のアドレスでは上記2種類のデジタル証明書のうち暗号強度が低い方の認証処理に対応した第2の証明書を提供させ、上記第2のアドレスで通信を行う場合には上記第1の証明書の設定に関する要求以外の要求に係る処理を禁止させるようにしたものである。
このような通信装置の制御方法において、さらに、上記通信装置に、上記デジタル証明書を提供した通信相手からその通信相手のデジタル証明書を受信させて認証を行わせ、その認証が成功した場合のみその後の通信を許可させるようにし、通信相手から上記第1の証明書の設定要求を受信した場合に上記第1の証明書を更新させるようにするとよい。
さらに、上記第1の証明書の設定に関する要求を、上記第1の証明書の作成に必要な情報の取得要求と上記第1の証明書の設定要求とするとよい。
さらに、上記要求をSOAPメッセージとして記載するようにするとよい。
さらにまた、上記認証を、SSL又はTLSのプロトコルに従った認証処理によって行い、上記デジタル証明書をその認証処理に使用する公開鍵証明書とするとよい。
また、この発明のプログラムは、コンピュータを、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、上記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、その通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段として機能させるためのプログラムにおいて、上記通信手段を、異なる暗号強度での認証処理に対応した2種類のデジタル証明書の提供を行い、上記複数のアドレスのうち第1のアドレスでは上記2種類のデジタル証明書のうち暗号強度が高い方の認証処理に対応した第1の証明書を提供し、第2のアドレスでは上記2種類のデジタル証明書のうち暗号強度が低い方の認証処理に対応した第2の証明書を提供する手段とし、さらに、上記コンピュータを、上記第2のアドレスで通信を行う場合には上記第1の証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段として機能させるためのプログラムを含めたものである。
このようなプログラムにおいて、上記コンピュータを、上記デジタル証明書を提供した通信相手からその通信相手のデジタル証明書を受信して認証を行い、その認証が成功した場合のみその後の通信を許可する認証手段として機能させるためのプログラムを含め、上記要求実行手段に、その通信相手から上記第1の証明書の設定要求を受信した場合に上記第1の証明書を更新する機能を設けるとよい。
さらに、上記第1の証明書の設定に関する要求を、上記第1の証明書の作成に必要な情報の取得要求と上記第1の証明書の設定要求とするとよい。
さらに、上記要求をSOAPメッセージとして記載するようにするとよい。
さらにまた、上記認証を、SSL又はTLSのプロトコルに従った認証処理によって行い、上記デジタル証明書をその認証処理に使用する公開鍵証明書とするとよい。
以上のようなこの発明の通信装置、通信システムあるいは通信装置の制御方法によれば、通信手段を備え、通信の際に通信相手に認証を受けるためにデジタル証明書を提供する通信装置あるいはこのような通信装置を用いて構成した通信システムにおいて、セキュリティを維持しながら、正常な認証を受けられる状態を容易に維持できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記の通信装置として機能させてその特徴を実現し、同様な効果を得ることができる。
以下、この発明の好ましい実施の形態を図面を参照して説明する。
まず、この発明による通信装置と、その通信装置を用いて構成したこの発明の通信システムの実施形態の構成について説明する。
図1はその通信システムの構成を示すブロック図である。
この通信システムは、図1に示すように、それぞれ通信装置である上位装置10及び下位装置20をネットワーク30によって接続して構成されている。そして、下位装置20がこの発明の通信装置の実施形態である。また、上位装置10も通信機能を備えた通信装置である。
ネットワーク30としては、有線,無線を問わず、ネットワークを構築可能な各種通信回線(通信経路)を採用することができる。また、ここでは下位装置20を1つしか示していないが、図23に示すように通信システム内に下位装置20を複数設けることも可能である。
このような通信システムについて、まず上位装置10及び下位装置20のハードウェア構成から説明する。上位装置10及び下位装置20のハードウェア構成は、単純化して示すと、図2に示すようなものである。
この図に示す通り、上位装置10は、CPU11,ROM12,RAM13,HDD14,通信インタフェース(I/F)15を備え、これらがシステムバス16によって接続されている。そして、CPU11がROM12やHDD14に記憶している各種制御プログラムを実行することによってこの上位装置10の動作を制御し、通信相手の認証や下位装置20のデジタル証明書更新等の機能を実現している。なお、この明細書において、デジタル証明書とは、偽造されないようにするための署名が付されたデジタルデータを指すものとする。
下位装置20も、上位装置10の場合と同様にCPU21,ROM22,RAM23,HDD24,通信インタフェース(I/F)25を備え、これらがシステムバス26によって接続されている。CPU21が、ROM22やHDD24に記憶している各種制御プログラムを必要に応じて実行し、装置の制御を行うことにより、通信手段、禁止手段、認証手段、要求実行手段、振り分け手段等の種々の手段としての機能を実現できるようにしている。
なお、この通信システムにおいて、上位装置10及び下位装置20が、遠隔管理,電子商取引等の目的に応じて種々の構成をとることができることは、もちろんである。そして、上位装置10や下位装置20のハードウェアとしては、適宜公知のコンピュータを採用することもできる。もちろん、必要に応じて他のハードウェアを付加してもよいし、上位装置10と下位装置20が同一の構成である必要もない。
次に、この通信システムにおける通信方式について説明する。図3はその通信方式の概要を示す説明図である。
この通信システムにおいて、上位装置10は、下位装置20と通信を行おうとする場合、まず下位装置20に対して通信を要求する。そして、従来の技術の項で図24又は図26を用いて説明したようなSSLプロトコルに従った認証処理によって下位装置20を正当な通信相手として認証した場合に、下位装置20との間で通信を確立させるようにしている。この認証処理は、SSLハンドシェイクと呼ばれる。ただし、図24に示したような相互認証は必須ではなく、図26に示したような片方向認証でもよい。
この処理において、下位装置20は自身の公開鍵証明書を上位装置10に送信して、認証を受ける。そして、相互認証を行う場合には上位装置10も下位装置20に自身の公開鍵証明書を送信して認証を受けるが、片方向認証の場合にはこちらの認証は行わない。そして、相互認証の場合には、上位装置10から受信した公開鍵証明書により認証を行う際に、下位装置20のCPUが認証手段として機能する。
以上の認証が成功すると、上位装置10は、下位装置20が実装するアプリケーションプログラムのメソッドに対する処理の依頼である要求を、構造化言語形式であるXML形式で記載したSOAPメッセージとして生成し、HTTP(Hyper Text Transfer Protocol)に従ってHTTPリクエスト40として下位装置20に送信する。このような要求は、RPC(Remote Procedure Call)と呼ばれる。
そして、下位装置20はこの要求の内容に応じた処理を実行し、その結果を応答のSOAPメッセージとして生成し、HTTPレスポンス50として上位装置10に送信する。ここで、これらの要求と応答は、SSLハンドシェイクの処理において共有された共通鍵を用いて暗号化して送信し、通信の安全性を確保している。
また、これらの要求と応答とによって、この通信システムは、上位装置10をクライアント、下位装置20をサーバとするクライアント・サーバシステムとして機能している。
なお、RPCを実現するためには、上記の技術の他、FTP(File Transfer Protocol),COM(Component Object Model),CORBA(Common Object Request Broker Architecture)等の既知のプロトコル(通信規格),技術,仕様などを利用することができる。
次に、上述した上位装置10及び下位装置20が上述した認証処理に用いる認証情報である各証明書や鍵の特性及び用途について説明する。図4は、(a)に上位装置10が認証情報として記憶している証明書及び鍵の種類を示し、(b)に下位装置20が認証情報として記憶している証明書及び鍵の種類を示す図である。
図1に示した上位装置10及び下位装置20は、図4に示すように、大きく分けて正規認証情報とレスキュー認証情報を記憶している。そして、これらの正規認証情報とレスキュー認証情報は、それぞれ自分に関する認証情報である公開鍵証明書及び私有鍵と、通信相手に関する認証情報であるルート鍵証明書とによって構成される。
また、例えば下位装置用通常公開鍵証明書は、証明書管理装置が下位装置20に対して発行した通常公開鍵に、下位装置認証用通常ルート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書であり、第1の証明書に該当する。
ここで、公開鍵証明書のフォーマットは、例えば図5に示したものを用いることができ、公開鍵そのものの他、証明書の発行者や証明書の有効期限、証明される対象(証明書の発行先の装置あるいは利用者)等の情報が記載されている。具体的には、例えばX.509と呼ばれるフォーマットに従って作成することができ、このフォーマットに従って作成された公開鍵証明書は、例えば図6に示すようなものになる。
この例においては、AがCAの識別情報を示し、Cが証明書の発行先の装置の識別情報を示す。これらは、それぞれ所在地、名称、機番あるいはコード等の情報を含む。また、Bが有効期間を示し、その開始日時と終了日時によって有効期間を指定している。また、Dが公開鍵証明書に含まれる公開鍵の長さ(ここでは1024ビット)を、EがCAがデジタル署名に用いたアルゴリズム(ここでは「md5WithRSAEncryption」)をそれぞれ示している。
また、下位装置用通常私有鍵は、上記の通常公開鍵と対応する私有鍵、下位装置認証用通常ルート鍵証明書は、下位装置認証用通常ルート鍵に自身と対応するルート私有鍵を用いて自身で正当性を確認可能なデジタル署名を付したデジタル証明書である。
そして、下位装置20を複数設けた場合でも、各装置の通常公開鍵に付すデジタル署名は同じルート私有鍵を用いて付し、正当性確認に必要な通常ルート鍵証明書は共通にする。しかし、通常公開鍵証明書に含まれる通常公開鍵やこれと対応する私有鍵は、装置毎に異なる。
上位装置用通常公開鍵証明書と上位装置用通常私有鍵と上位装置認証用通常ルート鍵証明書も同様な関係である。
なお、各装置に、複数の認証局が発行した公開鍵証明書の正当性を確認できるようにするため、それらの各認証局と対応したルート鍵証明書を記憶させるようにすることも考えられる。
そして、例えば上位装置10と下位装置20とが正規認証情報を用いて相互認証を行う場合には、上位装置10からの通信要求に応じて、下位装置20は下位装置用通常私有鍵を用いて暗号化した第1の乱数を下位装置用通常公開鍵証明書と共に上位装置10に送信する。上位装置10側では下位装置認証用通常ルート鍵証明書を用いてまずこの下位装置用通常公開鍵証明書の正当性(損傷や改竄を受けていないこと)を確認し、これが確認できた場合にここに含まれる公開鍵で第1の乱数を復号化する。この復号化が成功した場合に、上位装置10は通信相手の下位装置20が確かに下位装置用通常公開鍵証明書の発行先であると認識でき、その証明書に含まれる識別情報から装置を特定することができる。そして、特定した装置が通信相手としてふさわしいか否かに応じて認証の成功と失敗を決定することができる。
また、下位装置20側でも、上位装置10側で認証が成功した場合に送信されてくる上位装置用通常公開鍵証明書及び、上位装置用通常私有鍵で暗号化された乱数を受信し、記憶している上位装置認証用ルート鍵証明書を用いて同様な認証を行うことができる。
ところで、既に述べたように、各装置が通信相手から通常公開鍵証明書を受信した場合、その発行元の認証局が発行した公開鍵証明書の正当性を確認するためのルート鍵(証明書)を記憶していなければ、受信した通常公開鍵証明書の正当性を確認することができない。従って、この場合には認証を行うことができないことになる。
また、各装置が通信相手から受信した通常公開鍵証明書による認証を行うための機能(暗号化/復号化を実現するためのモジュール等)を備えていなければ、当然のことながらその通常公開鍵証明書による認証を行うことはできない。上位装置10において認証処理に使用する証明書を切り替えたり、下位装置20が以前と異なる認証局の証明書を使用する上位装置10を含む通信システムに接続される等した場合には、このような事態が発生することも考えられる。
どの認証方式に対応した証明書を採用するか、あるいはどの認証局が発行する証明書を採用するかは、通信システムの運用者が種々の条件を考慮して適宜定めるものだからである。そして、暗合強度の高い新しい方式が実用化された場合には、運用者の裁量でこのような方式を適宜採用することが考えられる。
ここで、各装置が通常公開鍵証明書を用いた認証(通常認証情報を用いた認証)しか行えないとすると、このように認証処理に対応していなかったり、証明書の正当性が確認できなかったりする状態では、使用可能な通常公開鍵証明書や通常私有鍵及び通常ルート鍵証明書等を設定しようとしても、これらをネットワークを介して安全に対象の装置に送信する方法はないことになる。
また、装置の電源がOFFされていたことにより自動更新が行えずに証明書の有効期限が切れてしまったり、更新処理中に電源がOFFされる等により証明書が破損してしまったりした場合にも、認証が行えない状態になってしまうが、このような場合にも同様な問題が発生する。
しかし、この実施形態の通信システムを構成する各通信装置は、このような事態に対処するためにレスキュー認証情報を記憶しており、通信相手を異なる2種類のデジタル証明書を用いて認証することができるようにしている。そして、レスキュー認証情報を用いることにより、必要な装置にネットワークを介して新たな通常公開鍵証明書等を安全に送受信できるようにしている。
このレスキュー認証情報は、正規認証情報と概ね同様な構成となっており、例えば下位装置用レスキュー公開鍵証明書は、長期証明書であり、CAが下位装置に対して発行したレスキュー公開鍵に、下位装置認証用レスキュールート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書であり、第2の証明書に該当する。また、下位装置用レスキュー私有鍵はそのレスキュー公開鍵と対応する私有鍵、下位装置認証用レスキュールート鍵証明書は、下位装置認証用レスキュールート鍵に自身を用いて正当性を確認可能なデジタル署名を付したデジタル証明書である。
ここで、図7に通常公開鍵証明書の例を、図8にレスキュー公開鍵証明書の例を示す。
これらは、符号H及びMで示すように、発行先の装置の識別情報が同一であり、同じ装置に対して発行された公開鍵証明書である。しかし、通常公開鍵証明書では符号Iで示すように公開鍵の鍵長を2048ビットとしているのに対し、レスキュー公開鍵証明書では公開鍵の鍵長は符号Nで示すように1024ビットとしている。
すなわち、通常公開鍵証明書では、より暗号強度の高い認証処理(ここでは2048ビットの公開鍵や私有鍵を用いた認証処理)に対応させてセキュリティの強化を図る一方、レスキュー公開鍵証明書では、より暗号強度の低い認証処理(ここでは1024ビットの公開鍵や私有鍵を用いた認証処理)に対応させるようにしている。このようにすることにより、通信システムが暗号強度の高い認証処理に対応していない場合であっても、適当なルート鍵証明書を通信システムを構成し得る各装置に記憶させておけば、レスキュー公開鍵証明書を用いた認証処理を行うことができる。
そして、このような認証が成功すれば、前述のように通信相手との間で共通鍵を共有して共通鍵暗号を用いた安全な通信経路を設けることができる。従って、この通信経路を利用して、通信時点の環境に適合した新しい通常公開鍵証明書を通信相手に送信し、設定させることが可能となる。
なお、レスキュー公開鍵証明書における暗号強度や認証処理の内容は、輸出規制や、各地域で普及している認証処理の内容等を考慮しても、下位装置20が使用されると想定される種々の環境で共通に使用できるような認証処理により認証を行うことができるようなものにする。このようにすることにより、レスキュー公開鍵証明書(を含むレスキュー認証情報)を、通常公開鍵証明書を用いた認証処理が行えなかった場合に非常用の通信経路を確保するための認証情報として使用することができる。
また、ここではデジタル署名に用いるアルゴリズムは通常公開鍵証明書とレスキュー公開鍵証明書とで共通としているが、これらを別々のものにしてもよい。
また、暗号強度の低い認証処理に対応したレスキュー公開鍵証明書は、暗号強度の高い認証処理に対応した通常公開鍵証明書と比べた場合に、安全性や信頼性が劣ることも考えられる。しかし、レスキュー認証情報を用いて認証処理を行った場合に、通常公開鍵証明書を始めとする正規認証情報の更新のような限られた要求のみ実行を許可するようにすれば、この点は大きな問題にはならない。
ここで、図7及び図8の説明に戻ると、これらの2つの公開鍵証明書において、通常公開鍵証明書では証明書の発行者を符号Fで示すようにYYY社の「PublicCA」とする一方、レスキュー公開鍵証明書では符号Kで示すようにXXX社の「PrivateCA」としており、発行者を異なるCAとしている。「PublicCA」はパブリック認証局、「PrivateCA」はプライベート認証局に該当するものとする。
そして、パブリック認証局とは、広く世間で信頼性が認められた認証局、あるいは公的に信頼性が認められた認証局、法的に証明書の効力が認められるような認証局等、一般的に通用するような証明書を発行できる認証局を指すものとする。このようなパブリック認証局により公開鍵証明書を発行する商用サービスは、例えばベリサイン社やボルチモア社のような第3者機関によって提供されている。また、パブリック認証局は、証明書の利用者と異なる運営者が運営する認証局である。
一方、プライベート認証局とは、特に世間に広く信頼性が認められているわけではなく、発行する証明書が一般的に通用するわけではない認証局を指すものとする。また、証明書の利用者が運営する認証局であり、例えば、自社内で利用する証明書を管理するためにその企業が運営する認証局である。ここでは、プライベート認証局は、発行先装置のメーカーであるXXX社が設けている。
パブリック認証局の発行する公開鍵証明書は、厳格な管理がなされ、安全性や信頼性が広く一般に認められていることから、通常公開鍵証明書としては、このような証明書を採用するとよい。しかし、パブリック認証局の発行する公開鍵証明書は、厳格な管理や安全性が要求されるため、レスキュー公開鍵証明書のように種々の環境で共通に使用できるような証明書を発行することが難しい場合もあるし、費用もかかる。
一方、プライベート認証局であれば、証明書の仕様を比較的自由に定められるので、暗号強度を低くしたり、最新であまり普及していない認証処理アルゴリズムを避けたりして、種々の環境で共通に使用できるような証明書を発行することも可能である。また、装置のメーカー自身がプライベート認証局を提供すれば、安価に証明書を発行することも可能である。
さらに、例えば下位装置20と上位装置10でメーカーが異なったり、通信システムの運用者が種々にカスタマイズを行ったりするような場合でも、レスキュー公開鍵証明書を無償で提供する等して、これらのメーカーや運用者に、レスキュー公開鍵証明書を用いた認証に対応できるようにするよう働きかけることも容易となる。そこで、レスキュー公開鍵証明書にはプライベート認証局が発行した証明書を採用している。
なお、プライベート認証局が発行するレスキュー公開鍵証明書は、パブリック認証局が発行する通常公開鍵証明書と比べた場合に、安全性や信頼性が劣ることも考えられるが、上述のように、レスキュー認証情報を用いて認証処理を行った場合に許可する機能を制限するようにすれば、この点は大きな問題にはならない。
また、再度図7及び図8の説明に戻ると、これらの2つの公開鍵証明書において、通常公開鍵証明書では、符号Gで示すように有効期間を2003年1月1日午前0時から2004年1月1日午前0時までの1年間としている一方、レスキュー公開鍵証明書では、符号Lで示すように2000年1月1日午前0時から2050年1月1日午前0時までの50年間としている。
すなわち、通常公開鍵証明書はパブリック認証局が発行するものとしているので、装置の製造者や使用者が有効期間を自由に定めることができず、また安全性を考慮して有効期間が短く設定されているのが通常である。従って、有効期間内に証明書を更新する必要がある。そして、証明書の更新を自動で行う必要があるような装置においては、更新期限の徒過や更新時の異常による証明書の破損の危険がある。
一方で、レスキュー認証情報を、通常公開鍵証明書による認証が行えなくなった場合に非常用の通信経路を確保するための認証情報であると位置付けるならば、レスキュー公開鍵証明書の有効期間経過後にはレスキュー公開鍵証明書を更新する必要が生じてしまうので、レスキュー公開鍵証明書の有効期間は長い方が好ましい。具体的には、例えば記憶させる装置の製品寿命よりも長い有効期間を設定するとよい。この製品寿命は、装置の想定運用期間あるいは想定動作期間であり、開発時に想定している使用期間や想定耐用年数、装置の品質保証期間等から定めることができる。
また、レスキュー公開鍵証明書の有効期間を、装置をメンテナンスしながら正常に動作させられると想定される期間よりも長く設定すれば、レスキュー公開鍵証明書は装置の動作中には有効期限が切れない証明書であるということができる。従って、装置の動作中は、常にレスキュー公開鍵証明書を用いた認証(レスキュー証明書セットを用いた認証)が可能な状態を保つことができる。また、レスキュー公開鍵証明書を更新する必要がないので、更新時の破損等を防止できる。
また、上記の製品寿命や装置の動作期間よりも極めて長い有効期間を定めるようにすれば、なおよい。図8示した例では、有効期間を50年に設定しており、通常の装置であればこの程度で十分と考えられるが、これはX.509フォーマットに従って設定できる有効期間の最大が50年であるためこのようにしただけで、さらに長い期間、例えば100年や数百年を設定してもよいことはもちろんである。このように有効期間を定めた場合、有効期間の終期は、単に公開鍵証明書のフォーマット上の要求により記載したものであり、レスキュー公開鍵証明書の有効期限は事実上ないものと考えることができる。また、対象の装置によっては、20年や30年程度あるいはそれ以下の有効期間であっても、同様に考えることができる場合もある。
さらにまた、たとえレスキュー公開鍵証明書の有効期間が製品寿命より短かったとしても、通常公開鍵証明書の有効期間よりも長ければ、通常公開鍵証明書の有効期間経過後も一定の期間レスキュー公開鍵証明書を用いた認証が可能な状態を保つことができると共に、証明書の破損の危険性が低い安定した通信経路を用意できるという効果を得ることはできる。
なお、通常公開鍵証明書の有効期間については、安全性を考慮して適当な期間を定めればよいが、この期間は、製品寿命よりも短く、また装置の動作中に有効期限が切れるような期間となることが多い。
そして、レスキュー公開鍵証明書をプライベート認証局が発行するようにすれば、有効期間は発行者が適宜定めればよいので、これらの要求に応えるような有効期間を定めることも可能である。また、有効期間の長い公開鍵証明書は、有効期間の短い公開鍵証明書と比べた場合には安全性が若干劣るものの、上述のように、レスキュー公開鍵証明書を用いて認証を行った場合に実行を許可する動作を制限することにより、この点は大きな問題にはならないようにすることができる。
また、このようなレスキュー公開鍵証明書により非常用の通信経路を確保できるようにしておけば、暗号強度が高く有効期間の短い通常証明書を使用する場合であっても、認証方式の不対応及び期限切れや更新時の破損等による不都合を最小限に留めることができ、人手での証明書更新が困難であり自動更新に頼らざるを得ないような装置であっても、暗号強度が強く有効期間が短いような信頼性の高い証明書を有効に活用することができる。
ところで、サーバとして機能する下位装置20は、SSLハンドシェイクの際に、通信を要求してきた相手を識別できないため、基本的には全ての相手に同一の公開鍵証明書を送信することになる。しかし、この通信システムにおいては状況に応じて通常公開鍵証明書とレスキュー公開鍵証明書とを使い分ける必要がある。そこで、次にこの使い分けのための構成について図9を用いて説明する。図9は、クライアントがサーバに通信を要求する際に通信先アドレスの指定に用いるURL(Uniform Resource Locator)の例を示す図である。
この通信システムにおいては、下位装置20が複数のアドレスで通信要求を受け付けるようにし、通信要求を受け付けたアドレスに応じた公開鍵証明書を提供するようにしている。例えば、「https://123.45.67.89:10000」なるURL(通常処理URLとする)が示す第1のアドレスで通信要求を受け付けた場合には下位装置用通常公開鍵証明書を要求元に送信し、「https://123.45.67.90:10001」なるURL(レスキューURLとする)が示す第2のアドレスで通信要求を受け付けた場合には下位装置用レスキュー公開鍵証明書を送信する等である。
このようにしたことにより、1つの下位装置20が通信要求を区別し、必要に応じた公開鍵証明書をSSLハンドシェイクの処理に供することができる。
クライアントとして機能する上位装置10の側では、下位装置20のどのアドレスに対して通信要求を送ったかは当然わかるので、相互認証を行う場合にはアドレスに応じた適切な公開鍵証明書を選択して送信することができる。
なお、図9に示すように、URLには、ホストを示す情報,そのホストのポートを示す情報,URLパスを示す情報が含まれる。そして、URLパスを示す情報は、図3に符号41で示したように、SSLハンドシェイクが成功した場合に送信する、SOAPメッセージ含むHTTPリクエストに含まれるものであるから、SSLハンドシェイクの処理では参照することができない。従って、通信要求の受け口を区別するためのアドレスをURLで表現する場合には、ホストを示す情報であるIP(Internet Protocol)アドレスと、そのホストのポートを示すポート番号との組み合わせによって区別することになる。もちろん、IPアドレスとポート番号のうち一方のみによって区別するようにすることも考えられる。このようにする場合、他方については共通の情報を使用することができる。
このように、この通信システムにおいては、上位装置10と下位装置20との間で基本的には通常公開鍵証明書を用いた認証を行いながら、これが破損等して使用不能になった場合にも、レスキュー公開鍵証明書を用いた認証を行い、安全な通信経路を確保することができる。レスキュー公開鍵証明書を用いた認証であっても、共通鍵の交換は通常公開鍵証明書の場合と同様に可能であるためである。そして、この通信経路を用いて上位装置10から下位装置20に更新用の正規認証情報を送信して記憶させることにより、再度正規認証情報を用いた認証が可能な状態に復帰させることができる。
以上のように、この通信システムにおいては、正規認証情報に加えてレスキュー認証情報も使用することにより、正常な認証を受けられる状態を容易に維持できるようにすることができる。しかしながら、上述したように、レスキュー公開鍵証明書を始めとするレスキュー認証情報を、種々の環境で共通に使用できるような認証処理により認証を行うことができるような条件で発行するものとすると、正規認証情報と比べて安全性が若干劣ることが考えられる。
そこで、この影響を最低限に抑えるため、この通信システムにおいては、レスキュー公開鍵証明書を用いてSSLハンドシェイクを行った場合に実行できる機能をできるだけ制限するようにしている。そして、新たな通常公開鍵証明書を下位装置20に記憶させれば、再度通常公開鍵証明書を用いたSSLハンドシェイクが可能になることから、レスキュー公開鍵証明書を用いた場合には、新たな通常公開鍵証明書を下位装置20に記憶させるための処理のみを許可すれば足りる。
従って、この通信システムにおいては、レスキュー公開鍵証明書を用いてSSLハンドシェイクを行うレスキューURLで通信を行った場合に、下位装置20において通常公開鍵証明書の設定に関する処理以外の処理を禁止するようにすることにより、レスキュー公開鍵証明書を使用することによる効果を十分維持しながら、高いセキュリティを実現することができるようにしている。この点がこの実施形態の特徴である。
次に、このような特徴を実現するためのこの通信システムの構成及び運用方式の概略について図10を用いて説明する。図10は、その構成及び運用方式について説明するための図である。
この通信システムにおいては、通常時には、(a)に示すように上位装置10が下位装置20の通常処理URLに通信要求を行い、通常公開鍵証明書を用いた認証が成功した場合に下位装置20に対して要求を送信して各種機能を利用する。
詳細は後述するが、このとき下位装置20において、HTTPによる通信を制御するHTTPデーモンが要求のHTTPリクエストを受け付け、第1振り分け部410がそのHTTPリクエストを受信したURLに応じて要求を第2振り分け部421,422のいずれかに振り分ける。ここでは、通常処理URLで受信しているので、通常処理URL用第2振り分け部421に振り分ける。
そして、通常処理URL用第2振り分け部421が要求の種類と対応する機能に要求に係る処理を振り分けてこれを実行させ、以後逆の経路で上位装置10に対して応答のHTTPレスポンスを返す。このような処理によって、下位装置20は上位装置10からの要求に応じた動作を行う。そして要求を通常処理URLで受信した場合には、要求に応じた動作に特に制限は設けない。
なお、通常処理URLで通信を行う場合の認証に用いる通常公開鍵証明書は、下位装置20の識別情報を含むため、この証明書を用いてSSLハンドシェイクを行えば、この処理内で通信相手を特定できる。
従って、SSLハンドシェイク後に別のコマンドによって識別情報を取得する場合に比べ、通信相手の「なりすまし」を効果的に防止することができる。また、万一私有鍵が漏洩したとしても、これを不正に取得した第3者は、私有鍵の発行対象の装置にしかなりすますことができず、またその装置の鍵を更新してしまえばこのような「なりすまし」も防止できるため、通信の高い安全性を得ることができる。
また、上位装置10が下位装置20を管理する場合においては、通常公開鍵証明書に含まれる識別情報によって管理対象の装置を識別して管理動作を行うことができるので、別途識別情報を取得する場合に比べ、管理動作を単純な処理で円滑に行うことができる。
ところが、下位装置20が設定されている通常公開鍵証明書による認証で対応できない環境下に置かれたり、通常公開鍵証明書が破損や有効期限切れ等により使用できなくなってしまった場合には、上位装置10が正当性を確認できる通常公開鍵証明書を送信できないため、(b)に示すように認証処理が失敗する。そして、この場合にはこのままでは上位装置10は下位装置20の機能を利用することができない。そこで、レスキューURLに通信要求を行い、レスキュー公開鍵証明書を用いた認証を行う。そして、これが成功した場合には、下位装置20に通常証明書設定要求を行い、証明書設定用機能を利用して通常公開鍵証明書を更新させる。
なお、要求をレスキューURLで受信した場合には、要求は第1振り分け部410からレスキューURL用第2振り分け部422に振り分けられる。そして、レスキューURL用第2振り分け部422が要求の種類と対応する機能に要求に係る処理を振り分けてこれを実行させるのであるが、このとき、通常公開鍵証明書の設定に関する要求のみを振り分け、それ以外の要求は振り分けないようにしている。従ってこの場合には、通常公開鍵証明書の設定に関する要求以外の要求に係る処理は禁止するようにしていることになる。
そして、このような処理を行い、正常な通常公開鍵証明書を下位装置20に設定することができれば、再度(a)に示したように通常処理URLでの通信が可能になる。
従って、下位装置20が設定されている通常公開鍵証明書による認証で対応できない環境下に置かれたり、通常公開鍵証明書が破損や有効期限切れ等により使用できなくなってしまった場合でも、レスキュー公開鍵証明書が利用可能な環境下であれば、速やかに正常な状態に復帰させ、通常公開鍵証明書を用いた認証が可能な状態を維持することができる。つまり、下位装置20が正常な認証を受けられる状態を維持することができる。そして、これらの処理に人手を介す必要はなく、容易にこのような効果を得ることができる。
なお実際には、上位装置10は、この上記の通常公開鍵証明書の更新の際に、下位装置20から識別情報を取得し、これを図示しないCAに送信し、この識別情報の装置の証明書を発行させてこれを取得し、これを証明書設定要求と共に下位装置20に送信して記憶させるという処理手順を踏むことになる。なお、このCAは、上位装置10が対応している暗号方式による認証処理で使用可能な証明書を発行するCAであり、下位装置20がそれまでに記憶していた通常公開鍵証明書を発行したCAとは異なるものであってもよい。
また、下位装置20に記憶させる通常公開鍵証明書を発行する場合において、その中の公開鍵本体や対応する私有鍵については、新たに生成してもよいが、CAが過去に下位装置20に対して発行した鍵を管理しているのであれば、その鍵をそのまま使うようにしてもよい。また、更新用の証明書を発行する際に、ルート私有鍵を新たに発行し、公開鍵証明書のバージョンアップを行うようにすることも考えられる。
また、パブリックCAが発行する公開鍵証明書を利用する場合には、上位装置10からパブリックCAに対して直接証明書の発行を依頼し、証明書の管理もそのCAに任せてしまうよりは、発行された証明書を管理する機能を上位装置10に設けたり、上位装置10が間に発行された証明書を管理する装置を介してCAに証明書の発行を依頼するような構成が好ましい。
次に、下位装置20において上記の処理を実現するための機能構成について図11を用いて説明する。図11は、上位装置10から受信した要求の内容に応じた動作を実行して応答を返すための、下位装置20における機能構成を示す機能ブロック図である。なお、以下の説明に登場する各部や各機能は、CPUが適当なソフトウェアを実行することによって実現されるものである。
図11に示すように、下位装置20は、HTTPデーモン331,第1振り分け部410、通常処理URL用第2振り分け部421,レスキューURL用第2振り分け部422,および各種機能380を有する。そして、各種機能380は、固有情報取得機能381や証明書設定機能387を含む。これらの各部や各機能は、図10に示した各部や各機能と対応するものである。
これらの各部のうち、まず、HTTPデーモン331は、HTTPによる通信を制御すると共に、SSLハンドシェイクの処理を実行する。そして、SSLハンドシェイクが成功した後で受信したHTTPリクエストを、受信したURLの情報と共に第1振り分け部410に渡す機能を有する。なお、このURLは、HTTPリクエストを受信する際のTCP(Transmission Control Protocol)接続要求によって認識することができる。そして、このHTTPデーモン331が通信手段の機能を実現する。
なお、ここでは第1振り分け部410は1つしか図示していないが、下位装置20において、複数のアプリケーション(アプリ)が各種機能を提供するようにし、アプリ毎にそのアプリが提供する機能に対する要求の振り分けを行うための第1振り分け部を設けてもよい。この場合、HTTPデーモン331がHTTPリクエストを各リクエストに含まれるURLパスに応じて各第1振り分け部に振り分けることになる。
第1振り分け部410は、HTTPデーモン331がHTTPリクエストとして受信したSOAPメッセージによる要求(コマンド)を、その要求を受信したURLに応じて、各第2振り分け部421,422に振り分ける機能を有する。ここでは、下位装置20は図12に示すように第1振り分け部410による要求の振り分け先をURL毎に示したテーブルを記憶しており、第1振り分け部410はこれを参照して振り分け先を決定する。従って、ここでは通常処理URLで受け付けた要求は通常処理URL用第2振り分け部421に、レスキューURLで受け付けた要求はレスキューURL用第2振り分け部422に振り分けることになる。
そして、これらの各第2振り分け部421,422は、XMLプロセッサを備え、要求に係るHTTPリクエストのうちのHTMLボディのXMLの構文を解析し、XMLで記述されるタグ間の関連をツリー構造で示すDOM(Document Object Model)ツリー形式のデータに変換する機能を有する。このDOMツリー形式のデータは、要求のメッセージの構成を示す構成データ形式のデータであり、この場合下位装置20の各第2振り分け部421,422がメッセージ変換手段としての機能を有する。
また、各第2振り分け部421,422は、XMLシリアライザも備え、逆にDOMツリー形式のデータをXML形式のデータに変換する機能も有する。
さらに、各第2振り分け部421,422は、生成したDOMツリー形式のデータを解析して要求の種類のデータを取り出し、各種機能380のうちそのデータに応じた機能に、HTTPリクエストのヘッダ情報をまとめたHTTPヘッダ情報と共に、上記のDOM形式のデータを振り分けて、要求に関する処理を依頼する第2の振り分け手段として機能を有する。
ここで、この振り分けの規則は、通常処理URL用第2振り分け部421とレスキューURL用第2振り分け部422とで異なるが、この点については後述する。
また要求の種類のデータとしては、例えば、DOMツリーのうち、SOAPボディーを示す「Body」ノードの子ノードの名称が考えられる。また、要求に係るHTTPリクエストのSOAPActionヘッダに含まれるURI(Uniform Resource Identifiers)を用いるようにしてもよい。この情報は、上述のHTTPヘッダ情報に含まれるものである。
また、各種機能380は要求実行手段に該当し、ここに含まれる各機能は、各々が要求処理手段であり、受信した要求に応じた処理を行うためのソフトウェアによって提供される機能である。そして、通常処理URL用第2振り分け部421又はレスキューURL用第2振り分け部422によって起動され、受け取ったデータに従ってロジックを実行し、その結果を処理の依頼元の第2振り分け部に返す処理を行う。
また、各第2振り分け部421,422から渡されたDOMツリー形式のデータを解析し、これを、各種機能380に含まれる各機能のロジックを記述したプログラム言語で処理可能なデータ形式に変換する機能や、プログラムの実行結果である結果データを、DOMツリー形式のデータに変換する機能も有する。なお、ここでは各種機能380に含まれる各機能のロジックはC言語で記載されているものとし、このデータ形式はC言語の構造体データであるものとする。
このような各種機能380について、図では固有情報取得機能381と証明書設定機能387以外は具体的な内容を示していないが、各機能は要求の種類に対応して設けられる。
例えば、固有情報取得機能381に分類される機能としては、ID(機番),モデル名,ファームウェアのバージョン,オプション構成,証明書のバージョン等の下位装置20に固有な情報(識別情報を含む)の取得のようなものが挙げられるが、これらの機能の実行を指示するために別々の要求を用意するのであれば、これらの要求の実行に係るソフトウェアは、別々にコールされるプログラムとして設けるようにしている。
なお、証明書設定機能の提供する機能は、通常公開鍵証明書の設定である。ただし、この設定は、この下位装置20では正規認証情報を構成する証明書セット全体を設定して行われる。
また、各種機能380に含まれる他の機能としては、例えば要求元に下位装置20の状態の情報を取得させる状態取得機能、同じくログ情報を取得させるログ情報取得機能、同じく設定値の情報を取得させる設定値情報取得機能、下位装置20の設定値を変更させる設定値変更機能、下位装置20の調整動作を行わせる調整実行機能等が考えられるが、どのような機能を設けるかは、下位装置20の構成や、上位装置10との関係に応じて適宜に定めればよい。
また、図示はしていないが、下位装置20が実行する複数のアプリが、それぞれアプリの機能に応じて各種機能380のような機能セットを提供するようにしてもよい。
ところで、この下位装置20においては、通常処理URL用第2振り分け部421は、対応する機能がある全ての要求をその機能に振り分ける。しかし、レスキューURL用第2振り分け部422は、図11に太線で示したように、通常公開鍵証明書の設定に関する要求のみしか機能に振り分けない。そして、その他の要求を受け付けた場合には、対応する機能がないものとして応答を返す。
そしてここでは、通常公開鍵証明書の設定に関する要求は、通常公開鍵証明書の作成(情報の記載も含む)に必要な情報の取得要求と、通常公開鍵証明書の設定要求としており、これらに対応する機能は、固有情報取得機能381のうちID,モデル名及び証明書のバージョン情報の取得に係る機能と、証明書設定機能387としている。しかし、さらに他の要求も通常公開鍵証明書の設定に関する要求として取り扱ったり、逆にこれらの情報の取得要求を公開鍵証明書の設定に関する要求として取り扱わないようにすることも考えられる。具体的にどのような要求を通常公開鍵証明書の設定に関する要求として取り扱うかは、最終的にはシステムの設計者が適宜定めればよい。
このような振り分けは、図13に示したように、第2振り分け部毎に要求の種類と振り分け先とのテーブルを設け、各第2振り分け部が自己と対応するテーブルを参照して振り分けを行うようにすることにより、実現することができる。テーブルに記載されていない要求については、対応する機能がないものとして取り扱うようにすればよい。
このようにしたことにより、下位装置20が通常処理URLから要求を受信した場合には全ての要求に係る処理が許可される一方、レスキューURLから要求を受信した場合には、その要求は第1振り分け部410からレスキューURL用第2振り分け部422に届くものの、通常公開鍵証明書の設定に関する要求以外の処理は機能に振り分けられず、結果的に処理が禁止されることになる。そして、第1振り分け部410とレスキューURL用第2振り分け部422とで禁止手段の機能が実現される。
なお、他のアプリへの要求に係る処理も禁止するためには、レスキューURLで要求を受信した場合にHTTPデーモン331がその要求を通常公開鍵証明書の設定を行うアプリ以外には渡さないようにすればよい。また、アプリ毎に通常処理URL用第2振り分け部とレスキューURL用第2振り分け部とを設け、後者が各機能への振り分けを全く行わないようにしてもよい。
以上のような禁止手段により、レスキュー公開鍵証明書を用いてSSLハンドシェイクを行うレスキューURLで通信を行った場合に、通常公開鍵証明書の設定に関する処理以外の処理を禁止するようにすることができる。そして、このことにより、レスキュー公開鍵証明書を使用することによる効果を十分維持しながら、レスキュー公開鍵証明書や対応する私有鍵等が万一漏洩した場合の影響を最低限に抑え、高いセキュリティを実現することができる。
次に、図11に示した構成を有する下位装置20において実行される処理について、図14及び図15を用いて説明する。図14は、下位装置20が通信要求を受け付けた場合に行う処理を示すフローチャート、図15はその続きの処理を示すフローチャートである。これらの処理は、この発明の通信装置の制御方法に係る処理である。そしてここでは、説明を簡単にするため、通信相手が下位装置20を認証するのみの、図26に示したような片方向認証を行う場合の処理を示している。しかし、図24に示したような双方向認証を行うようにしてもよいことはもちろんである。
下位装置20のCPUは、HTTPデーモン331を常に実行しており、これが他の装置からの通信要求を受け付けると、図14のフローチャートに示す処理を開始する。
この処理においては、まずステップS101で、通信要求を受け付けたURLが通常処理URLであるか否か判断する。そして通常処理URLであれば、ステップS102に進んで、下位装置用通常公開鍵証明書を下位装置用通常私有鍵で暗号化した第1の乱数と共に通信相手(通信要求の要求元)に送信して認証を要求する。すなわち、この場合には通信相手に対して通常公開鍵証明書を提供する。この処理は、図26のステップS21及びS22の処理に相当する。
その後、ステップS106に進んで通信相手からの応答を待ち、認証されなかった場合には以後の通信を許可せずにそのまま終了するが、通信相手に認証された場合には、ステップS107に進み、認証処理において受信した共通鍵の種から共通鍵を作成する。これらの処理は、図26のステップS25及びS26の処理に相当する。
そして、ステップS108で通信相手からのHTTPリクエストによる要求の受信を待ち、受信するとステップS109に進んで、その要求を、受信したURLの情報と共に第1振り分け部410に渡す。ここまでの処理が、HTTPデーモン331による処理である。
また、ステップS101で通常処理URLでなかった場合には、ステップS103に進んで通信要求を受け付けたURLがレスキューURLであるか否か判断する。そしてレスキューURLであれば、ステップS104に進んで、下位装置用レスキュー公開鍵証明書を下位装置用レスキュー私有鍵で暗号化した第1の乱数と共に通信相手に送信して認証を要求する。すなわち、この場合には通信相手に対してレスキュー公開鍵証明書を提供する。この処理も、図26のステップS21及びS22の処理に相当する。
そして、ステップS106以下に進み、ステップS109までは通常公開鍵証明書を提供した場合と同様な処理を行う。また、ステップS103でレスキューURLでない場合には、通信を受け付けていないURLへの通信要求であるので、ステップS105でエラー処理を行って処理を終了する。
次にステップS110以降の処理について説明する。
ステップS109で要求を渡された第1振り分け部410は、図12に示したようなテーブルを参照し、受信したURLに応じて振り分け先を決定する。そしてここでは、通常処理URLで受信した要求はステップS111で通常処理URL用第2振り分け部421に渡し、レスキューURLで受信した要求はステップS112でレスキューURL用第2振り分け部422に渡す。
ステップS111及びS112の後は、それぞれ図15のステップS113及びS116に進み、第2振り分け部が、HTTPリクエストとして受信した要求のHTMLボディーに当たるSOAPエンベロープを解析し、その構成を示すDOMツリー形式のデータを作成する。この処理は、どちらの第2振り分け部でも同様に行う。
そしてその後、それぞれステップS114及びS117に進み、第2振り分け部が各種機能380中の要求の種類に応じた機能に要求を振り分けてその要求に係る処理を依頼する。このとき、要求はHTTPヘッダ情報及びDOMツリー形式のデータとして機能に渡す。また、通常処理URL用第2振り分け部421は、各種機能380のどの機能に対しても振り分けを行うが、レスキューURL用第2振り分け部422は、通常公開鍵証明書の設定に関する要求のみを振り分ける。この振り分けは、図13に示したように、2つの第2振り分け部で、要求の種類と振り分け先の機能との対応関係を示したテーブルについて異なるものを使用すれば、処理の手順自体は同じものにすることができる。
この振り分けの後、それぞれステップS115及びS118に進み、振り分けが成功したか否か、すなわちテーブルに要求の種類と対応する振り分け先が存在したか否か判断する。そして、成功していれば、どちらのステップの場合もステップS119に進む。
次のステップS119では、要求を振り分けられた機能が、要求のDOMツリーを解析して、そこに含まれるパラメータをC言語の構造体データに変換する。そして、ステップS120で機能のロジックを実行し、結果を構造体データとして生成する。その後、ステップS121でその構造体データをDOMツリーに変換して、レスポンスとして第2振り分け部に返す。このとき、結果は機能に対して要求を振り分けた第2振り分け部に返す。
そして、これを受け取った第2振り分け部は、ステップS122でそのDOMツリーを図示しないXMLシリアライザによってXML形式のSOAPメッセージによるレスポンスデータに変換し、HTTPデーモン331によってHTTPレスポンスとして要求の送信元に返して処理を終了する。
一方、ステップS115又はS118で振り分けが失敗していた場合には、振り分けを試みた第2振り分け部は、ステップS123でその種類の要求をサポートしていない旨のエラー情報(SOAP Fault)のDOMツリーを生成し、ステップS124でXML形式のレスポンスデータに変換して、これをHTTPデーモン331によってHTTPレスポンスとして要求の送信元に返して処理を終了する。
なお、第2振り分け部を通常処理URL用とレスキューURL用で区別する必要があるのは、要求を機能に振り分ける手順までであり、応答を返す処理においては通常処理URL用とレスキューURL用の機能は全く同じである。従って、ステップS119以降ではこれらを区別せずに示している。
次に、図14及び図15のフローチャートに示した処理による処理シーケンスの例について、図16を用いて説明する。図16は、この処理シーケンスを示すシーケンス図であり、下位装置20が通常処理URLで要求を受け付けた場合の処理を示している。
この例においては、SSLハンドシェイクの処理は図示を省略しているが、その後上位装置10が下位装置20の通常処理URLに要求をHTTPリクエストとして送信すると、HTTPデーモン331がこれを受け付ける(S201)。この要求はSOAPメッセージとして記載されており、HTTPデーモン331は受信した要求を受信したURLを示す情報(例えばIPアドレスとポート番号)と共に第1振り分け部410に渡して振り分け処理を依頼する(S202)。
そして第1振り分け部410は、その情報を基に図12に示したようなテーブルを参照し、要求を受信したURLに応じて要求の振り分け先を決定する(S203)。そして、ここではURLは通常処理URLであり、振り分け先は通常処理URL用第2振り分け部421であるので、ここに要求を振り分けてその後の処理を依頼する(S204)。これを受けた通常処理URL用第2振り分け部421は、要求のSOAPメッセージをDOMツリー形式のデータに変換し(S205)、要求の種類に応じて振り分け先を決定し(S206)、振り分け先となる機能38xにDOMツリー形式のデータを渡して処理を依頼する(S207)。
そして、その機能38xがDOMツリー形式のデータをロジックにより処理できる構造体データに変換し(S208)、これを引数としてロジックを実行して要求に係る処理を行い(S209)、処理結果の構造体データをDOMツリー形式のデータに変換し(S210)、処理を依頼してきた通常処理URL用第2振り分け部421にそのデータを渡す(S211)。
そして、このデータを受け取った通常処理URL用第2振り分け部421は、これを応答のSOAPメッセージに変換し(S212)、HTTPデーモン331を介して上位装置10にHTTPレスポンスとして送信する(S213,S214)。
以上が通常処理URLで要求を受け付けた場合の処理である。
そして、レスキューURLで要求を受け付けた場合にも、ほぼ同様な処理が行われるが、第1振り分け部410による振り分け先がレスキューURL用第2振り分け部422となる。そして、レスキューURL用第2振り分け部422は通常公開鍵証明書の設定に関する要求のみを機能38xに振り分け、それ以外の要求は振り分け先がないものとして処理する。従って、通常処理URLで要求を受け付けた場合とレスキューURLで要求を受け付けた場合とでほぼ同様な手順の処理を行いながら、結果的に、レスキューURLで要求を受け付けた場合には通常公開鍵証明書の設定に関する要求以外の要求に係る処理を禁止することができる。
次に、上位装置10から下位装置20へ送信する要求のHTTPリクエスト及び下位装置20から上位装置10へ返す応答のHTTPレスポンスの例について図17乃至図20を用いて説明する。
まず、図17に上位装置10から下位装置20のレスキューURLに送信する証明書設定要求のHTTPリクエストの例を示す。
このHTTPリクエストは、上述したように、SOAPに従ったSOAPメッセージであり、HTTPヘッダの最後にSOAPActionヘッダ61を付してある。そして、それ以後の内容がSOAPエンベロープであり、ここに含まれるSOAPボディ中に要求の内容を記載している。ここでは、Bodyのすぐ下位の符号62で示す要素に、要求が証明書設定要求であることを示す情報を記載している。そして、その下位に、証明書のバージョンを示すパラメータ63、証明書の暗号化パスワードを示すパラメータ64、設定すべき証明書を暗号化してBase64エンコードしたデータを示すパラメータ65を記載している。そして、要求の種類は、要素62あるいはSOAPActionヘッダ61の末尾を参照すればわかり、第2振り分け部は、この情報に従って機能への振り分け処理を行う。
図18にこのようなHTTPリクエストに対する応答のHTTPレスポンスの例を示す。
このHTTPレスポンスも、SOAPメッセージであり、HTTPヘッダとSOAPエンベロープとからなる。そして、SOAPボディー中に、実行した要求の種類を要素71として、その実行結果が「成功」である旨を要素72として示している。更新を試みることはできたものの失敗した場合には、要素72の内容が「NG」になる。
また、図19に、上位装置10から下位装置20のレスキューURLに送信する別のHTTPリクエストの例を示す。
このHTTPリクエストも、SOAPメッセージであり、状態取得要求を行うものである。そして、図17の場合とは要求の種類が異なることに伴い、SOAPActionヘッダ81の末尾と、SOAPボディーの内容が図17に示した例と異なる。ここでは、SOAPボディーの下位には要求が状態取得要求であることを示す要素82のみを記載し、その他のパラメータは記載していない。
図20にこのようなHTTPリクエストに対する応答のHTTPレスポンスの例を示すが、状態取得要求は、レスキューURLで受信した場合には機能に振り分けない要求であるので、このようなコマンドは存在しない旨の応答が、SOAP Faultとして返されることになる。そして、SOAPボディー中に要素91としてその旨を示す情報を記載している。
以上説明してきたような通信システムによれば、通常公開鍵証明書が破損や有効期限切れ等により使用できなくなった場合でも、レスキュー公開鍵証明書を用いた認証が成功した場合にネットワークを介してこれを設定できるようにしているので、下位装置20が常に正常な認証を受けられる状態を維持できる。そして、この処理に人手を介す必要はなく、容易にこのような効果を得ることができる。また、レスキュー公開鍵証明書を用いてSSLハンドシェイクを行うレスキューURLで通信を行った場合に、通常公開鍵証明書の設定に関する処理以外の処理を禁止するようにしているので、レスキュー公開鍵証明書を使用することによる効果を十分維持しながら、レスキュー公開鍵証明書や対応する私有鍵等が万一漏洩した場合の影響を最低限に抑え、高いセキュリティを実現することができる。
また、暗号強度が比較的低い認証処理に対応したレスキュー公開鍵証明書は、暗号強度が高い認証処理に対応した通常公開鍵証明書と比べた場合には安全性が若干劣るが、相当程度の安全性は確保できる。そして、このような証明書を用意しておくことにより、設定されている通常公開鍵証明書による認証で対応できない環境下に置かれたり、通常公開鍵証明書が破損や有効期限切れ等により使用できなくなってしまった場合でも、レスキュー公開鍵証明書が利用可能な環境下であれば、共通鍵暗号を用いた安全な通信経路を確保できるという効果がある。そして、プライベート認証局であれば、広汎な環境下で利用可能であり、かつ有効期限が長く期限切れが起こらず、更新を不要として更新時の破損を防止できるようなレスキュー公開鍵証明書を発行することができる。
なお、通常公開鍵証明書の設定の際には下位装置20と上位装置10との間で相互認証を行うようにすれば、下位装置20が不適当な装置から通常公開鍵証明書を受信して記憶してしまうことを防止でき、さらに通信の安全性を向上させることができる。
〔変形例:図21,図22〕
次に、上述した実施形態の変形例について説明する。
まず、図21に下位装置20の機能構成の変形例を示す。
上述した実施形態においては、上位装置10から受信した要求の内容に応じた動作を実行して応答を返すための下位装置20の機能構成が図11に示すものである例について説明したが、これを図21に示すものにしてもよい。すなわち、仲介デーモン332とHTTP接続管理部342とHTTPサービス実行部343とを設けるようにしてもよい。
この場合、第1振り分け部410とHTTPデーモン331との間のデータの受け渡しをHTTPサービス実行部343を介して行い、さらにHTTPサービス実行部343は、各種機能380が提供する機能に関する動作要求を含むと考えられるPOSTメソッドのみを第1振り分け部410に渡すようにする。また、仲介デーモン332はHTTPデーモン331から通信の接続、切断に関する通知を受けてHTTP接続管理部342にこれを伝え、HTTP接続管理部342はこの通知に応じてHTTPサービス実行部343にHTTPデーモン331からHTTPリクエストを取得させる。
このような構成とし、HTTPサービス実行部343に対応するスレッドを複数備えることによって、上位装置10からの複数の要求を単一のアプリ(プロセス)で平行処理することが可能になり、上位装置10に対する応答性能を向上させることができる。本件の出願人は、このような技術に関し、過去に特許出願を行っている(特願2003−81246)。
またここでは、第2振り分け部を複数設け、第1振り分け部410が受信したURLに従って要求を適当な第2振り分け部に振り分ける例について説明した。
しかしながら、例えば第2振り分け部を1つだけ設け、第2振り分け部に第1振り分け部410の機能を併せ持たせ、1つの第2振り分け部が、受信したURLと要求の種類との両方に従って各機能に要求を振り分けるようにすることも可能である。この場合には、例えば図22に示すような、受信したURLと要求の種類の組み合わせ毎に要求の振り分け先を定めたテーブルを記憶しておき、これを参照して振り分け先の機能にHTTPヘッダ情報及びDOMツリー形式のデータを振り分けるようにすればよい。
このようにすれば、プログラムモジュールの点数を削減することができる。ただし、図11に示した実施形態の構成であれば、URLの情報を第2振り分け部から先に渡す必要がないため、モジュール間インタフェースの簡略化という点では図11に示した構成の方が優れていると言える。
また、ここでは各機能にDOMツリーを構造体データに変換したり構造体データをDOMツリーに変換したりする機能を設ける例について説明したが、各機能とは別に、このような変換を行うハンドラを設けるようにしてもよい。このようなすれば、各機能には、その機能のプログラムが直接処理できる形式でデータを渡すことができるので、各機能のプログラムを、SOAPやXMLの知識がなくても開発できるようにすることができる。
また、ここでは第2振り分け部にXMLで記載されたSOAPメッセージをDOMツリーに変換したりDOMツリーをSOAPメッセージに変換したりする機能を設ける例について説明したが、このようにすることも必須ではない。SOAPメッセージを直接取り扱うことができるように各機能のプログラムを作成すれば、第1振り分け部410が図22に示したようなテーブルを参照して要求に係るSOAPリクエストを直接各機能に振り分けるようにすることも可能である。
また、上述した実施形態では、より暗号強度が高い認証処理に対応した通常公開鍵証明書と、より暗号強度が低い認証処理に対応したレスキュー公開鍵証明書とを用いる例について説明したが、前者はセキュリティ強度が高い証明書、後者はセキュリティ強度が比較的低い証明書と捉えることもできる。
一般に、セキュリティ強度が高い証明書には、多くの情報を記載する必要があったり、輸出制限があったり特殊な認証処理プログラムが必要であったりして利用可能な環境が限られていたりするため、全ての装置に同じように記憶させて認証処理に用いることが難しい場合がある。一方で、セキュリティ強度が低い証明書であれば、このような制限が少なく、全ての装置に同じように記憶させて認証処理に用いることが比較的容易であると考えられる。
そこで、セキュリティ強度が低い証明書を記憶させた装置を製造・販売した上で、利用環境に合わせてセキュリティ強度が高い証明書を事後的に記憶させることができるようにしたいという要求がある。例えば、システムの運用者によって種々に認証処理の内容を工夫したり信頼性の高いCAを選択したりしてセキュリティの向上を図る場合も考えられるが、このような場合、ある装置を1つのシステムから他のシステムに移動(単に設定を変更するのみの場合も含む)させる場合、通常の認証処理に使用する証明書を入れ換える必要があることが考えられる。また、セキュリティの高い証明書に後で欠陥が発見され、認証処理の方式を変更する必要が生じることも考えられる。
このような場合に、上述した実施形態の処理を利用し、種々の環境で共通に利用できるようなセキュリティの比較的低い証明書による通信経路を確保できるようにしておき、セキュリティの低い証明書を用いる認証を行うアドレスで通信を行った場合に、セキュリティの高い証明書の設定に関する処理以外の処理を禁止するようにすれば、セキュリティの低い証明書を使用することによる効果を十分維持しながら、セキュリティの低い証明書や対応する私有鍵等が万一漏洩した場合の影響を最低限に抑え、全体として高いセキュリティを実現することができる。
また、上述した実施形態では、レスキュー公開鍵証明書にも装置の識別情報を記載する例について説明したが、レスキュー公開鍵証明書には装置の識別情報を含めず、同じ階位の装置(図1及び図2に示した例では、上位装置と下位装置の階位が存在するものとする)には、全て同じレスキュー公開鍵証明書を記憶させるようにしてもよい。この場合、同じ階位の各装置を個別に区別する必要がないので、証明書に含まれるレスキュー公開鍵及びこれと対応するレスキュー私有鍵も含めて、全く共通のものでよい。そして、通信相手のレスキュー公開鍵証明書が全て同じであることから、ルート鍵証明書については、ある階位の装置の通信相手となる全ての装置について共通となる。すなわち、図23に示したように下位装置を複数設けた場合でも、全ての下位装置に同じレスキュー認証情報を記憶させることになる。
これは、上位装置10のレスキュー認証情報のレスキュー認証情報についても同様である。
なお、通常公開鍵証明書とデータ形式を統一化する場合には、例えば図6に示した形式において「Subject」の項目を空白としたり、ベンダー名のみ記載して機番として0を記載してレスキュー公開鍵証明書であることを示すこと等も考えられる。
このようにすれは、レスキュー認証情報は同じ階位の装置について全て共通となるので、装置の製造時にその機種に応じて定まる階位に応じたものを記憶させてしまうことができる。すなわち、装置の識別情報を付した情報ではないため、検査工程を終了して識別番号を付した各装置に対してそれぞれ個別の証明書を用意して記憶させる必要はなく、多数の装置に対して単純作業によって記憶させることができる。例えば、制御プログラムのマスタにレスキュー認証情報を含めておき、制御プログラムを装置にコピーする際にレスキュー認証情報も共に記憶させる等である。
そして、レスキュー公開鍵証明書に十分長期の有効期間を設定しておけば、その後レスキュー認証情報を更新する必要はないため破損しづらく、また上記のように通常公開鍵証明書の有効期間が過ぎて通常公開鍵証明書による認証が行えなくなった場合でも、レスキュー認証情報に含まれるレスキュー公開鍵証明書を用いた認証は可能な状態を保つことができる。
なおこの場合、レスキュー公開鍵証明書には装置の識別情報を付していないため、レスキュー公開鍵証明書を用いた認証を行った場合でも、通信相手の装置を具体的に特定することはできない。しかし、通信相手についてある程度の情報は得ることができる。
すなわち、例えばあるベンダーが自社製品のうち下位装置20に該当する装置全てに下位装置用のレスキュー認証情報(下位装置用レスキュー公開鍵証明書,下位装置用レスキュー私有鍵及び上位装置認証用レスキュールート鍵証明書)を記憶させ、その通信相手となる上位装置10に該当する装置全てに上位装置用のレスキュー認証情報(上位装置用レスキュー公開鍵証明書,上位装置用レスキュー私有鍵及び下位装置認証用レスキュールート鍵証明書)を記憶させておけば、下位装置20は、認証処理が成功した場合、自己の記憶している上位装置認証用レスキュールート鍵証明書で正当性を確認できる公開鍵証明書を送信してきた相手が同じベンダーの上位装置10であることを認識できるし、逆に上位装置10も自己の記憶しているレスキュールート鍵証明書で正当性を確認できる公開鍵証明書を送信してきた相手は同じベンダーの下位装置20であることを認識できる。
そして、このような認証が成功すれば、前述のように通信相手との間で共通鍵を共有して共通鍵暗号を用いた安全な通信経路を設けることができるので、その後機種機番情報等を交換して通信相手を特定することも可能である。
なお、通常公開鍵証明書についても、同様に装置の識別情報を含めないものとすることも考えられる。このようにしたとしても、対応している認証処理の暗号強度が高い分だけ安全性が高いと考えられる。また、レスキュー公開鍵証明書よりも有効期間が短ければ、その分だけレスキュー公開鍵証明書よりも安全性を高めることができる。
また、通常公開鍵証明書とレスキュー公開鍵証明書の有効期間や、これらを発行する認証局についても、特に上述した関係に限定されることはない。逆に、暗号強度についても、セキュリティ高低の1つの要素と捉え、認証局や有効期間、装置の識別情報の有無等により、通常公開鍵証明書とレスキュー公開鍵証明書の差を出すようにすることも考えられる。
また、上述した実施形態では、上位装置10と下位装置20が、図24あるいは図26を用いて説明したようなSSLに従った認証を行う場合の例について説明した。しかし、この認証が必ずしもこのようなものでなくてもこの実施形態は効果を発揮する。
SSLを改良したTLS(Transport Layer Security)も知られているが、このプロトコルに基づく認証処理を行う場合にも当然適用可能である。
また、要求の記載形式も、SOAPメッセージに限られるものではない。要求をこのような構造化言語形式で記載された情報として受け付けるようにすれば、データの汎用性を高め、データ形式の設計や改変を容易に行うことができるが、他の形式で記載することも可能である。
また、上述した実施形態では、CAを上位装置10と別に設ける例について説明したが、これと一体として設けることを妨げるものではない。この場合、CAの機能を実現するためのCPU,ROM,RAM等の部品を独立して設けてもよいが、上位装置10のCPU,ROM,RAM等を使用し、そのCPUに適当なソフトウェアを実行させることにより、CAとして機能させるようにしてもよい。
さらにまた、上位装置10と下位装置20が、目的に応じて種々の構成をとることができることは既に述べたが、このような場合も、各種機能380に含まれる機能の種類は装置の種類や構成に応じて適宜定めることができ、レスキュー公開鍵証明書によって通信相手に認証された場合に通常公開鍵証明書の設定に関する要求以外の要求に係る処理を禁止するようにすれば、上述した実施形態の場合のような効果を得ることができる。また、禁止から除外する要求を、通常公開鍵証明書の設定に関する要求に限らず適宜定め、セキュリティの比較的低いレスキュー公開鍵証明書を用いて認証処理を行った場合に一部の機能の使用を制限するような機能制限を行うようにすることも考えられる。
上位装置10と下位装置20の具体例としては、例えば、遠隔管理システムにおいて、プリンタ,FAX装置,コピー機,スキャナ,デジタル複合機等の画像処理装置を始め、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム、自動車、航空機等に通信機能を設けた通信装置を被管理装置である下位装置20とし、これらの被管理装置から情報を収集したり、コマンドを送って動作させたりするための管理装置を上位装置10とすることが考えられる。
また、この発明によるプログラムは、コンピュータを、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、その通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信装置である下位装置20のような装置として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
以上説明してきた通り、この発明の通信装置、通信システム、通信装置の制御方法あるいはプログラムによれば、通信手段を備え、通信の際に通信相手に認証を受けるためにデジタル証明書を提供する通信装置を用いて通信システムを構成する場合において、セキュリティを維持しながら、正常な認証を受けられる状態を容易に維持できるようにすることができる。従って、通信システムの運用を高い信頼性で行うことができる。
この発明の実施形態の通信装置を用いて構成したこの発明の通信システムの実施形態の構成を示すブロック図である。 図1に示した上位装置のハードウェア構成を示すブロック図である。 図1に示した通信システムにおける通信方式の概要を示す説明図である。 図1に示した上位装置及び下位装置が認証情報として記憶している証明書及び鍵の種類を示す図である。 通常公開鍵証明書のフォーマット例について説明するための図である。 図5に記載したフォーマットに従って作成した一般的な公開鍵証明書の例を示す図である。 同じく、レスキュー公開鍵証明書と対比するための、通常公開鍵証明書の例を示す図である。 同じく、通常公開鍵証明書と対比するための、レスキュー公開鍵証明書の例を示す図である。 クライアントがサーバに通信を要求する際に通信先の指定に用いるURLの例を示す図である。 図1に示した通信システムの構成及び運用方式について説明するための図である。
上位装置から受信した要求の内容に応じた動作を実行して応答を返すための、下位装置における機能構成を示す図である。 第1振り分け部による要求の振り分け先をURL毎に規定したテーブルの例を示す図である。 各第2振り分け部についての要求の種類と振り分け先との関係を規定したテーブルの例を示す図である。 図1に示した下位装置が通信要求を受け付けた場合に行う処理を示すフローチャートである。 その続きの処理を示すフローチャートである。 図1に示した下位装置が通常処理URLで要求を受け付けた場合の処理シーケンスの例を示すシーケンス図である。 図1に示した通信システムにおいて上位装置から下位装置のレスキューURLに送信する証明書設定要求のHTTPリクエストの例を示す図である。 図17に示したHTTPリクエストに対する応答のHTTPレスポンスの例を示す図である。 上位装置から下位装置のレスキューURLに送信する図17とは別のHTTPリクエストの例を示す図である。 図19に示したHTTPリクエストに対する応答のHTTPレスポンスの例を示す図である。
図1に示した下位装置の機能構成の変形例を示す図である。 この発明の実施形態の変形例において、第2振り分け部が参照するテーブルの例を示す図である。 図1に示した通信システムについて、下位装置を複数設けた場合の構成について説明するための図である。 2つの通信装置がSSLに従った相互認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。 図24に示した認証処理におけるルート鍵、ルート私有鍵、および公開鍵証明書の関係について説明するための図である。 2つの通信装置がSSLに従った片方向認証を行う際の各装置において実行する処理を示す、図24と対応する図である。
符号の説明
10…上位装置、11…CPU、12…ROM、13…RAM、14…HDD、
15…通信I/F、16…システムバス、20…下位装置、30…ネットワーク、
40…HTTPリクエスト、50…HTTPレスポンス、
331…HTTPデーモン、380…各種機能、410…第1振り分け部、
421…通常処理URL用第2振り分け部、422…レスキューURL用第2振り分け部

Claims (21)

  1. 通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、前記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、該通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段とを有する通信装置であって、
    前記通信手段は、異なる暗号強度での認証処理に対応した2種類のデジタル証明書の提供を行い、前記複数のアドレスのうち第1のアドレスでは前記2種類のデジタル証明書のうち暗号強度が高い方の認証処理に対応した第1の証明書を提供し、第2のアドレスでは前記2種類のデジタル証明書のうち暗号強度が低い方の認証処理に対応した第2の証明書を提供する手段であり、
    前記第2のアドレスで通信を行う場合には前記第1の証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段を設けたことを特徴とする通信装置。
  2. 請求項1記載の通信装置であって、
    前記デジタル証明書を提供した通信相手から該通信相手のデジタル証明書を受信して認証を行い、該認証が成功した場合のみその後の通信を許可する認証手段を設け、
    前記要求実行手段に、その通信相手から前記第1の証明書の設定要求を受信した場合に前記第1の証明書を更新する手段を設けたことを特徴とする通信装置。
  3. 請求項1又は2記載の通信装置であって、
    前記第1の証明書の設定に関する要求は、前記第1の証明書の作成に必要な情報の取得要求と前記第1の証明書の設定要求であることを特徴とする通信装置。
  4. 請求項1乃至3のいずれか一項記載の通信装置であって、
    前記要求実行手段は、前記要求に対応する所定の処理を行う複数の要求処理手段を有し、
    受信したアドレスと要求の種類とに従って要求を前記各要求処理手段に振り分ける振り分け手段を設け、
    前記禁止手段は、前記振り分け手段が前記通信を行っているアドレスによっては所定の要求以外の要求を前記要求処理手段に振り分けないようにすることにより、前記処理の禁止を行う手段であることを特徴とする通信装置。
  5. 請求項1乃至4のいずれか一項記載の通信装置であって、
    前記要求はSOAPメッセージとして記載されていることを特徴とする通信装置。
  6. 請求項1乃至5のいずれか一項記載の通信装置であって、
    前記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、
    前記デジタル証明書はその認証処理に使用する公開鍵証明書であることを特徴とする通信装置。
  7. 通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、前記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、該通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段とを有する下位装置と、該下位装置の通信相手となる上位装置とによって構成される通信システムであって、
    前記下位装置の前記通信手段は、異なる暗号強度での認証処理に対応した2種類のデジタル証明書の提供を行い、前記複数のアドレスのうち第1のアドレスでは前記2種類のデジタル証明書のうち暗号強度が高い方の認証処理に対応した第1の証明書を提供し、第2のアドレスでは前記2種類のデジタル証明書のうち暗号強度が低い方の認証処理に対応した第2の証明書を提供する手段であり、
    前記下位装置に、前記第2のアドレスで通信を行う場合には前記第1の証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段を設け、
    前記上位装置に、通信相手から受信したデジタル証明書を用いてその通信相手を認証する認証手段を設けたことを特徴とする通信システム。
  8. 請求項7記載の通信システムであって、
    前記下位装置に、前記デジタル証明書を提供した通信相手から該通信相手のデジタル証明書を受信して認証を行い、該認証が成功した場合のみその後の通信を許可する認証手段を設け、
    前記下位装置の前記要求実行手段に、通信相手から前記第1の証明書の設定要求を受信した場合に前記第1の証明書を更新する手段を設けたことを特徴とする通信システム。
  9. 請求項7又は8記載の通信システムであって、
    前記第1の証明書の設定に関する要求は、前記第1の証明書の作成に必要な情報の取得要求と前記第1の証明書の設定要求であることを特徴とする通信システム。
  10. 請求項7乃至9のいずれか一項記載の通信システムであって、
    前記要求はSOAPメッセージとして記載されていることを特徴とする通信システム。
  11. 請求項7乃至10のいずれか一項記載の通信システムであって、
    前記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、
    前記デジタル証明書はその認証処理に使用する公開鍵証明書であることを特徴とする通信システム。
  12. 通信装置に、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供させ、前記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行わせ、該通信において通信相手から受信した要求に応じた処理を行わせる通信装置の制御方法であって、
    前記通信装置に、異なる暗号強度での認証処理に対応した2種類のデジタル証明書の提供を行わせ、前記複数のアドレスのうち第1のアドレスでは前記2種類のデジタル証明書のうち暗号強度が高い方の認証処理に対応した第1の証明書を提供させ、第2のアドレスでは前記2種類のデジタル証明書のうち暗号強度が低い方の認証処理に対応した第2の証明書を提供させ、
    前記第2のアドレスで通信を行う場合には前記第1の証明書の設定に関する要求以外の要求に係る処理を禁止させることを特徴とする通信装置の制御方法。
  13. 請求項12記載の通信装置の制御方法であって、
    さらに、前記通信装置に、前記デジタル証明書を提供した通信相手から該通信相手のデジタル証明書を受信させて認証を行わせ、該認証が成功した場合のみその後の通信を許可させるようにし、
    通信相手から前記第1の証明書の設定要求を受信した場合に前記第1の証明書を更新させることを特徴とする通信装置の制御方法。
  14. 請求項12又は13記載の通信装置の制御方法であって、
    前記第1の証明書の設定に関する要求は、前記第1の証明書の作成に必要な情報の取得要求と前記第1の証明書の設定要求であることを特徴とする通信装置の制御方法。
  15. 請求項12乃至14のいずれか一項記載の通信装置の制御方法であって、
    前記要求はSOAPメッセージとして記載されていることを特徴とする通信装置の制御方法。
  16. 請求項12乃至15のいずれか一項記載の通信装置の制御方法であって、
    前記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、
    前記デジタル証明書はその認証処理に使用する公開鍵証明書であることを特徴とする通信装置の制御方法。
  17. コンピュータを、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、前記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、該通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段として機能させるためのプログラムであって、
    前記通信手段は、異なる暗号強度での認証処理に対応した2種類のデジタル証明書の提供を行い、前記複数のアドレスのうち第1のアドレスでは前記2種類のデジタル証明書のうち暗号強度が高い方の認証処理に対応した第1の証明書を提供し、第2のアドレスでは前記2種類のデジタル証明書のうち暗号強度が低い方の認証処理に対応した第2の証明書を提供する手段であり、
    さらに、前記コンピュータを、前記第2のアドレスで通信を行う場合には前記第1の証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段として機能させるためのプログラムを含むことを特徴とするプログラム。
  18. 請求項17記載のプログラムであって、
    さらに、前記コンピュータを、前記デジタル証明書を提供した通信相手から該通信相手のデジタル証明書を受信して認証を行い、該認証が成功した場合のみその後の通信を許可する認証手段として機能させるためのプログラムを含み、
    前記要求実行手段に、その通信相手から前記第1の証明書の設定要求を受信した場合に前記第1の証明書を更新する機能を設けたことを特徴とするプログラム。
  19. 請求項17又は18記載のプログラムであって、
    前記第1の証明書の設定に関する要求は、前記第1の証明書の作成に必要な情報の取得要求と前記第1の証明書の設定要求であることを特徴とするプログラム。
  20. 請求項17乃至19のいずれか一項記載のプログラムであって、
    前記要求はSOAPメッセージとして記載されていることを特徴とするプログラム。
  21. 請求項17乃至20のいずれか一項記載のプログラムであって、
    前記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、
    前記デジタル証明書はその認証処理に使用する公開鍵証明書であることを特徴とするプログラム。
JP2004228590A 2003-09-22 2004-08-04 通信装置、通信システム、通信装置の制御方法及びプログラム Expired - Fee Related JP4537797B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004228590A JP4537797B2 (ja) 2003-09-22 2004-08-04 通信装置、通信システム、通信装置の制御方法及びプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003329219 2003-09-22
JP2003341329 2003-09-30
JP2004228590A JP4537797B2 (ja) 2003-09-22 2004-08-04 通信装置、通信システム、通信装置の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005130455A JP2005130455A (ja) 2005-05-19
JP4537797B2 true JP4537797B2 (ja) 2010-09-08

Family

ID=34657717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004228590A Expired - Fee Related JP4537797B2 (ja) 2003-09-22 2004-08-04 通信装置、通信システム、通信装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4537797B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329731A (ja) * 2006-06-08 2007-12-20 Hitachi Ltd 証明書更新方法、システム及びプログラム
JP2011081762A (ja) 2009-03-10 2011-04-21 Ricoh Co Ltd 機器設定装置及び機器設定装置における機器再設定方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001507528A (ja) * 1995-11-14 2001-06-05 マイクロソフト コーポレーション ルート・キーが危機にさらされた時の回復
JP2002287629A (ja) * 2001-03-26 2002-10-04 Toppan Printing Co Ltd 電子デバイス、電子デバイス内の情報更新システム、情報更新方法およびそのプログラム
JP2003006161A (ja) * 2001-06-20 2003-01-10 Mitsubishi Electric Corp クライアントコンピュータにサービスを提供するサーバ、サービスを提供する方法およびサービスを提供するためのプログラム
JP2003196160A (ja) * 2001-12-28 2003-07-11 Mitsubishi Electric Corp Icカードおよびicカードの記録情報管理方法
JP2005130452A (ja) * 2003-07-25 2005-05-19 Ricoh Co Ltd 通信装置、通信システム、証明書送信方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05336108A (ja) * 1992-06-04 1993-12-17 Toshiba Corp 無線通信システム
JPH06268638A (ja) * 1993-03-10 1994-09-22 Nippon Telegr & Teleph Corp <Ntt> 端末認証制御法
JPH118619A (ja) * 1997-06-18 1999-01-12 Hitachi Ltd 電子証明書発行方法及びシステム
JP3905961B2 (ja) * 1997-11-11 2007-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 臨時署名認証の方法及びそのシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001507528A (ja) * 1995-11-14 2001-06-05 マイクロソフト コーポレーション ルート・キーが危機にさらされた時の回復
JP2002287629A (ja) * 2001-03-26 2002-10-04 Toppan Printing Co Ltd 電子デバイス、電子デバイス内の情報更新システム、情報更新方法およびそのプログラム
JP2003006161A (ja) * 2001-06-20 2003-01-10 Mitsubishi Electric Corp クライアントコンピュータにサービスを提供するサーバ、サービスを提供する方法およびサービスを提供するためのプログラム
JP2003196160A (ja) * 2001-12-28 2003-07-11 Mitsubishi Electric Corp Icカードおよびicカードの記録情報管理方法
JP2005130452A (ja) * 2003-07-25 2005-05-19 Ricoh Co Ltd 通信装置、通信システム、証明書送信方法及びプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4555175B2 (ja) 審査装置、通信システム、審査方法、プログラム及び記録媒体
JP4712325B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4576210B2 (ja) 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体
JP4522771B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4509678B2 (ja) 証明書設定方法
JP4611680B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4504130B2 (ja) 通信装置、通信システム、証明書送信方法及びプログラム
JP4583833B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4537797B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4657642B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4611676B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4542848B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4570919B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4611678B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP2005065247A (ja) 通信装置、通信装置の制御方法、通信システム、プログラム及び記録媒体
JP4671638B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4778210B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4712330B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4657643B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4712326B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4509675B2 (ja) 通信装置、通信システム及び通信方法
JP4611681B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP2011072046A (ja) 証明書設定方法
JP2011097635A (ja) 通信装置、通信システム及び証明書設定方法
JP2011097636A (ja) 通信装置、通信システム及び証明書設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070326

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

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

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees