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

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

Info

Publication number
JP4522771B2
JP4522771B2 JP2004211394A JP2004211394A JP4522771B2 JP 4522771 B2 JP4522771 B2 JP 4522771B2 JP 2004211394 A JP2004211394 A JP 2004211394A JP 2004211394 A JP2004211394 A JP 2004211394A JP 4522771 B2 JP4522771 B2 JP 4522771B2
Authority
JP
Japan
Prior art keywords
communication
request
certificate
authentication
individual
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
JP2004211394A
Other languages
English (en)
Other versions
JP2005124142A (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 JP2004211394A priority Critical patent/JP4522771B2/ja
Priority to US10/938,563 priority patent/US7451307B2/en
Priority to EP04255769A priority patent/EP1517514B1/en
Priority to DE602004029973T priority patent/DE602004029973D1/de
Publication of JP2005124142A publication Critical patent/JP2005124142A/ja
Application granted granted Critical
Publication of JP4522771B2 publication Critical patent/JP4522771B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

この発明は、通信手段を備え、通信の際に通信相手に認証を受けるためにデジタル証明書を提供する通信装置、このような通信装置である下位装置とその通信相手となる上位装置によって構成される通信システム、通信の際に通信相手に認証を受けるためにデジタル証明書を提供させるための通信装置の制御方法、およびコンピュータを上記の通信装置として機能させるためのプログラムに関する。
従来から、それぞれ通信機能を備えた複数の通信装置をネットワークを介して通信可能に接続し、様々なシステムを構築することが行われている。その一例としては、クライアント装置として機能するPC等のコンピュータから商品の注文を送信し、これとインターネットを介して通信可能なサーバ装置においてその注文を受け付けるといった、いわゆる電子商取引システムが挙げられる。また、種々の電子装置にクライアント装置あるいはサーバ装置の機能を持たせてネットワークを介して接続し、相互間の通信によって電子装置の遠隔管理を行うシステムも提案されている。
このようなシステムを構築する上では、通信を行う際に、通信相手が適切か、あるいは送信されてくる情報が改竄されていないかといった確認が重要である。また、特にインターネットにおいては、情報が通信相手に到達するまでに無関係なコンピュータを経由する場合が多いことから、機密情報を送信する場合、その内容を盗み見られないようにする必要もある。そして、このような要求に応える通信プロトコルとして、例えばSSL(Secure Socket Layer)と呼ばれるプロトコルが開発されており、広く用いられている。このプロトコルを用いて通信を行うことにより、公開鍵暗号方式と共通鍵暗号方式とを組み合わせ、通信相手の認証を行うと共に、情報の暗号化により改竄及び盗聴の防止を図ることができる。また、通信相手の側でも、通信を要求してきた通信元の装置を認証することができる。
このようなSSLや公開鍵暗号を用いた認証に関連する技術としては、例えば特許文献1及び特許文献2に記載のものが挙げられる。
特開2002−353959号公報 特開2002−251492号公報
ここで、このSSLに従った相互認証を行う場合の通信手順について、認証処理の部分に焦点を当てて説明する。図21は、通信装置Aと通信装置BとがSSLに従った相互認証を行う際に各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
図21に示すように、SSLに従った相互認証を行う際には、まず双方の通信装置にルート鍵証明書及び、私有鍵と公開鍵証明書(これらをまとめて「証明書セット」と呼ぶ)を記憶させておく必要がある。この私有鍵は、認証局(CA:certificate authority)が各装置に対して発行した私有鍵であり、公開鍵証明書は、その私有鍵と対応する公開鍵にCAがデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、CAがデジタル署名に用いたルート私有鍵と対応するルート鍵に、デジタル署名を付してデジタル証明書としたものである。
図22にこれらの関係を示す。
図22(a)に示すように、公開鍵Aは、私有鍵Aを用いて暗号化された文書を復号化するための鍵本体と、その公開鍵の発行者(CA)や有効期限等の情報を含む書誌情報とによって構成される。そして、CAは、鍵本体や書誌情報が改竄されていないことを示すため、公開鍵Aをハッシュ処理して得たハッシュ値を、ルート私有鍵を用いて暗号化し、デジタル署名として公開鍵Aに付す。またこの際に、デジタル署名に用いるルート私有鍵の識別情報を署名鍵情報として公開鍵Aの書誌情報に加える。そして、このデジタル署名を付した公開鍵証明書が、公開鍵証明書Aである。
この公開鍵証明書Aを認証処理に用いる場合には、ここに含まれるデジタル署名を、ルート私有鍵と対応する公開鍵であるルート鍵の鍵本体を用いて復号化する。この復号化が正常に行われれば、デジタル署名が確かにCAによって付されたことがわかる。また、公開鍵Aの部分をハッシュ処理して得たハッシュ値と、復号して得たハッシュ値とが一致すれば、鍵自体も損傷や改竄を受けていないことがわかる。さらに、受信したデータをこの公開鍵Aを用いて正常に復号化できれば、そのデータは、私有鍵Aの持ち主から送信されたものであることがわかる。
ここで、認証を行うためには、ルート鍵を予め記憶しておく必要があるが、このルート鍵も、図22(b)に示すように、CAがデジタル署名を付したルート鍵証明書として記憶しておく。このルート鍵証明書は、自身に含まれる公開鍵でデジタル署名を復号化可能な、自己署名形式である。そして、ルート鍵を使用する際に、そのルート鍵証明書に含まれる鍵本体を用いてデジタル署名を復号化し、ルート鍵をハッシュ処理して得たハッシュ値と比較する。これが一致すれば、ルート鍵が破損等していないことを確認できるのである。
図21のフローチャートの説明に入る。なお、この図において、2本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。また、各ステップの処理が正常に完了しなかった場合には、その時点で認証失敗の応答を返して処理を中断するものとする。相手から認証失敗の応答を受けた場合、処理がタイムアウトした場合等も同様である。
ここでは、通信装置Aが通信装置Bに通信を要求するものとするが、この要求を行う場合、通信装置AのCPUは、所要の制御プログラムを実行することにより、図21の左側に示すフローチャートの処理を開始する。そして、ステップS11で通信装置Bに対して接続要求を送信する。
一方通信装置BのCPUは、この接続要求を受信すると、所要の制御プログラムを実行することにより、図21の右側に示すフローチャートの処理を開始する。そして、ステップ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の処理は不要になり、処理は図23に示すようになる。このようにすると、通信装置Bが通信装置Aを認証することはできないが、通信装置Aが通信装置Bを認証するだけでよい場合にはこの処理で十分である。そしてこの場合には、通信装置Aに記憶させるのはルート鍵証明書のみでよく、私有鍵A及び公開鍵証明書Aは不要である。また、通信装置Bにはルート鍵証明書を記憶させる必要はない。
ところで、上述したような認証処理に用いる公開鍵証明書には、通常有効期限が設定されており、定期的に更新するものである。また、私有鍵の漏洩が明らかになったり、ルート鍵を更新したりする場合にも更新するものである。
このような更新の手段としては、更新用の公開鍵証明書等を記録媒体等に記録して書留郵便等で装置のユーザに送付し、ユーザに更新作業を行ってもらうことも考えられる。
しかしながら、このような手段を採る場合には、ユーザが装置の機能にある程度精通している必要があるし、またユーザが更新作業を怠った場合には更新がなされないことになる。
そこで、確実かつ容易に更新を行うため、更新対象の通信装置と通信可能な装置から公開鍵証明書を送信し、通信装置に自動で更新処理を行わせることができるようにしたいという要求があった。この場合、公開鍵証明書と共に私有鍵も更新することが多いため、更新用の証明書や鍵は、盗聴や改竄がなされないような安全な経路で送信する必要がある。そして、この経路としては、更新前の鍵を使用したSSLによる通信経路を用いることが考えられる。
しかし、このような自動更新を行う場合、更新処理中にユーザが通信装置の電源を落としてしまう等して更新処理に失敗することも考えられる。そしてこの場合、更新処理中の証明書や鍵が破損してしまうことが考えられる。このような事態が発生すると、もはやその証明書や鍵を用いて認証を行うことができなくなってしまうため、管理装置側で通信装置を確実に特定することができなくなるし、証明書や鍵を安全に送信することもできなくなる。従って、証明書の自動更新には、更新処理が失敗した場合、再度自動で更新処理を試みることができなくなる場合があるという問題があった。
そして、このような状態では、もちろん証明書の更新以外の通信を行う場合であっても認証を行うことができないので、他の装置との間で安全に通信を行うことができなくなってしまう。従って、装置をこのような状態で放置せざるを得なくなると、装置の通常の動作にも大きな影響を及ぼすことになる。
この発明は、このような問題を解決し、通信手段を備え、通信の際に通信相手に認証を受けるためにデジタル証明書を提供する通信装置あるいはこのような通信装置を用いて構成した通信システムにおいて、セキュリティを維持しながら、正常な認証を受けられる状態を容易に維持できるようにすることを目的とする。
上記の目的を達成するため、この発明の通信装置は、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、上記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、その通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段とを有する通信装置でにおいて、上記通信手段を、上記複数のアドレスのうち第1のアドレスでは装置の識別情報が付されたデジタル証明書である個別証明書を提供し、第2のアドレスでは装置の識別情報が付されていないデジタル証明書である共通証明書を提供する手段とし、上記第2のアドレスで通信を行う場合には上記個別証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段を設けたものである。
このような通信装置において、上記デジタル証明書を提供した通信相手からその通信相手のデジタル証明書を受信して認証を行い、その認証が成功した場合のみその後の通信を許可する認証手段を設け、上記要求実行手段に、その通信相手から上記個別証明書の設定要求を受信した場合に上記個別証明書を更新する手段を設けるとよい。
さらに、上記個別証明書の設定に関する要求を、その通信装置の個別情報の取得要求と上記個別証明書の設定要求とするとよい。
さらに、上記要求実行手段に、上記要求に対応する所定の処理を行う複数の要求処理手段を設け、受信したアドレスと要求の種類とに従って要求を上記各要求処理手段に振り分ける振り分け手段を設け、上記禁止手段を、上記振り分け手段が上記通信を行っているアドレスによっては所定の要求以外の要求を上記要求処理手段に振り分けないようにすることにより、上記処理の禁止を行う手段とするとよい。
さらに、上記振り分け手段に、上記複数のアドレスの各々と対応させて、上記要求のメッセージあるいは上記受信した要求のメッセージをそのメッセージの構成を示す構成データ形式のデータに変換するメッセージ変換手段と、上記構成データ形式のデータから要求の種類のデータを取り出し、そのデータに応じて、上記メッセージ変換手段の生成した上記構成データ形式のデータを上記各要求処理手段に振り分ける第2の振り分け手段とを設け、さらに、上記振り分け手段に、受信したアドレスに従って要求を上記各メッセージ変換手段に振り分ける手段を設け、上記第2のアドレスと対応する上記第2の振り分け手段を、上記所定の要求以外の要求を上記要求処理手段に振り分けない手段とするとよい。
また、上記の各通信装置において、上記要求をSOAPメッセージとして記載するようにするとよい。
さらに、上記認証を、SSL又はTLSのプロトコルに従った認証処理によって行い、上記デジタル証明書をその認証処理に使用する公開鍵証明書とするとよい。
また、この発明の通信システムは、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、上記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、その通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段とを有する下位装置と、その下位装置の通信相手となる上位装置とによって構成される通信システムにおいて、上記下位装置の上記通信手段を、上記複数のアドレスのうち第1のアドレスでは装置の識別情報が付されたデジタル証明書である個別証明書を提供し、第2のアドレスでは装置の識別情報が付されていないデジタル証明書である共通証明書を提供する手段とし、上記下位装置に、上記第2のアドレスで通信を行う場合には上記個別証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段を設け、上記上位装置に、通信相手から受信したデジタル証明書を用いてその通信相手を認証する認証手段を設けたものである。
このような通信システムにおいて、上記下位装置に、上記デジタル証明書を提供した通信相手からその通信相手のデジタル証明書を受信して認証を行い、その認証が成功した場合のみその後の通信を許可する認証手段を設け、上記下位装置の上記要求実行手段に、通信相手から上記個別証明書の設定要求を受信した場合に上記個別証明書を更新する手段を設けるとよい。
さらに、上記個別証明書の設定に関する要求を、上記下位装置の個別情報の取得要求と上記個別証明書の設定要求とするとよい。
さらに、上記要求をSOAPメッセージとして記載するようにするとよい。
さらにまた、上記認証を、SSL又はTLSのプロトコルに従った認証処理によって行い、上記デジタル証明書をその認証処理に使用する公開鍵証明書とするとよい。
また、この発明の通信装置の制御方法は、通信装置に、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供させ、上記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行わせ、その通信において通信相手から受信した要求に応じた処理を行わせる通信装置の制御方法において、上記複数のアドレスのうち第1のアドレスでは装置の識別情報が付されたデジタル証明書である個別証明書を提供させ、第2のアドレスでは装置の識別情報が付されていないデジタル証明書である共通証明書を提供させ、上記第2のアドレスで通信を行う場合には上記個別証明書の設定に関する要求以外の要求に係る処理を禁止させるようにしたものである。
このような通信装置の制御方法において、さらに、上記通信装置に、上記デジタル証明書を提供した通信相手からその通信相手のデジタル証明書を受信させて認証を行わせ、その認証が成功した場合のみその後の通信を許可させるようにし、通信相手から上記個別証明書の設定要求を受信した場合に上記個別証明書を更新させるようにするとよい。
さらに、上記個別証明書の設定に関する要求を、上記通信装置の個別情報の取得要求と上記個別証明書の設定要求とするとよい。
さらに、上記要求をSOAPメッセージとして記載するようにするとよい。
さらにまた、上記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、上記デジタル証明書をその認証処理に使用する公開鍵証明書とするとよい。
また、この発明のプログラムは、コンピュータを、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、上記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、その通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段として機能させるためのプログラムにおいて、上記通信手段を、上記複数のアドレスのうち第1のアドレスでは装置の識別情報が付されたデジタル証明書である個別証明書を提供し、第2のアドレスでは装置の識別情報が付されていないデジタル証明書である共通証明書を提供する手段とし、さらに、上記コンピュータを、上記第2のアドレスで通信を行う場合には上記個別証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段として機能させるためのプログラムを含めるようにしたものである。
このようなプログラムにおいて、さらに、上記コンピュータを、上記デジタル証明書を提供した通信相手からその通信相手のデジタル証明書を受信して認証を行い、その認証が成功した場合のみその後の通信を許可する認証手段として機能させるためのプログラムを含み、上記要求実行手段に、その通信相手から上記個別証明書の設定要求を受信した場合に上記個別証明書を更新する機能を設けるとよい。
さらに、上記個別証明書の設定に関する要求を、上記コンピュータを備える装置の個別情報の取得要求と上記個別証明書の設定要求とするとよい。
さらに、上記要求をSOAPメッセージとして記載するようにするとよい。
さらにまた、上記認証を、SSL又はTLSのプロトコルに従った認証処理によって行い、上記デジタル証明書をその認証処理に使用する公開鍵証明書とするとよい。
以上のようなこの発明の通信装置,通信システムあるいは通信装置の制御方法によれば、通信手段を備え、通信の際に通信相手に認証を受けるためにデジタル証明書を提供する通信装置あるいはこのような通信装置を用いて構成した通信システムにおいて、セキュリティを維持しながら、正常な認証を受けられる状態を容易に維持できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記の通信装置として機能させてその特徴を実現し、同様な効果を得ることができる。
以下、この発明の好ましい実施の形態を図面を参照して説明する。
まず、この発明による通信装置と、その通信装置を用いて構成したこの発明の通信システムの実施形態の構成について説明する。
図1はその通信システムの構成を示すブロック図である。
この通信システムは、図1に示すように、それぞれ通信装置である上位装置10及び下位装置20をネットワーク30によって接続して構成されている。そして、下位装置20がこの発明の通信装置の実施形態である。また、上位装置10も通信機能を備えた通信装置である。
ネットワーク30としては、有線,無線を問わず、ネットワークを構築可能な各種通信回線(通信経路)を採用することができる。また、ここでは下位装置20を1つしか示していないが、図20に示すように通信システム内に下位装置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に対して通信を要求する。そして、従来の技術の項で図21又は図23を用いて説明したようなSSLプロトコルに従った認証処理によって下位装置20を正当な通信相手として認証した場合に、下位装置20との間で通信を確立させるようにしている。この認証処理は、SSLハンドシェイクと呼ばれる。ただし、図21に示したような相互認証は必須ではなく、図23に示したような片方向認証でもよい。
この処理において、下位装置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に示すように、大きく分けて正規認証情報とレスキュー認証情報を記憶している。そして、これらの正規認証情報とレスキュー認証情報は、それぞれ自分に関する認証情報である公開鍵証明書及び私有鍵と、通信相手に関する認証情報であるルート鍵証明書とによって構成される。
また、例えば下位装置用個別公開鍵証明書は、個別証明書であり、図示しない認証局(CA)が下位装置20に対して発行した個別公開鍵に、下位装置認証用個別ルート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書である。
ここで、図5に下位装置用個別公開鍵証明書に含まれる情報の例を示すが、この証明書は、書誌情報に発行対象である下位装置20の識別情報として下位装置20の機番情報を含むものである。この他に、下位装置20の機種番号や登録ユーザ等の情報も含めるようにしてもよい。また、機番情報以外の情報で下位装置20を識別できるのであれば、その情報を含めるようにしてもよい。
図4の説明に戻ると、下位装置用個別私有鍵はその個別公開鍵と対応する私有鍵、下位装置認証用個別ルート鍵証明書は、下位装置認証用個別ルート鍵に自身と対応するルート私有鍵を用いて自身で正当性を確認可能なデジタル署名を付したデジタル証明書である。下位装置20を複数設けた場合でも、各装置の個別公開鍵は同じルート私有鍵を用いてデジタル署名を付し、正当性確認に必要な個別ルート鍵証明書は共通にする。しかし、個別公開鍵証明書に含まれる個別公開鍵やこれと対応する私有鍵は、装置毎に異なる。
上位装置用個別公開鍵証明書と上位装置用個別私有鍵と上位装置認証用個別ルート鍵証明書も、これらと同様な関係を有する。
そして、例えば上位装置10と下位装置20とが正規認証情報を用いて相互認証を行う場合には、上位装置10からの通信要求に応じて、下位装置20は下位装置用個別私有鍵を用いて暗号化した第1の乱数を下位装置用個別公開鍵証明書と共に上位装置10に送信する。上位装置10側では下位装置認証用個別ルート鍵証明書を用いてまずこの下位装置用個別公開鍵証明書の正当性(損傷や改竄を受けていないこと)を確認し、これが確認できた場合にここに含まれる公開鍵で第1の乱数を復号化する。この復号化が成功した場合に、上位装置10は通信相手の下位装置20が確かに下位装置用個別公開鍵証明書の発行先であると認識でき、その証明書に含まれる識別情報から装置を特定することができる。そして、特定した装置が通信相手としてふさわしいか否かに応じて認証の成功と失敗を決定することができる。
また、下位装置20側でも、上位装置10側で認証が成功した場合に送信されてくる上位装置用個別公開鍵証明書及び、上位装置用個別私有鍵で暗号化された乱数を受信し、記憶している上位装置認証用ルート鍵証明書を用いて同様な認証を行うことができる。
ところで、これらの公開鍵証明書や私有鍵は、定期的に更新するものであるが、発明の開示の項で述べたように、更新に失敗して証明書や鍵が破損したり、装置の電源が入れられていなかったため更新できないうちに公開鍵証明書の有効期限が切れてしまったり等して、個別公開鍵証明書を用いた認証が行えなくなってしまう場合がある。また、公開鍵証明書を記憶させた部品の交換等により、公開鍵証明書や私有鍵が滅失してしまう場合もある。このような場合、再度個別公開鍵証明書を用いた認証を可能にするためには、破損等した証明書や鍵を再度記憶させる必要がある。
ここで、各装置が個別公開鍵証明書を用いた認証しか行えないとすると、この認証が行えなくなっている状態では、新たな個別公開鍵証明書等をネットワーク30を介して安全に対象の装置に送信する方法はないことになる。しかし、この実施形態の通信システムを構成する各通信装置は、このような事態に対処するためにレスキュー認証情報を記憶しており、これを用いることにより、ネットワーク30を介して必要な装置に個別公開鍵証明書等を安全に送信できるようにしている。
このレスキュー認証情報は、正規認証情報と概ね同様な構成となっており、例えば下位装置用共通公開鍵証明書は、共通証明書であり、CAが下位装置に対して発行した共通公開鍵に、下位装置認証用共通ルート鍵を用いて正当性を確認可能なデジタル署名を付したデジタル証明書であり、下位装置用共通私有鍵はその共通公開鍵と対応する私有鍵、下位装置認証用共通ルート鍵証明書は、下位装置認証用共通ルート鍵に自身を用いて正当性を確認可能なデジタル署名を付したデジタル証明書である。
しかし、正規認証情報と大きく異なる点は、共通公開鍵証明書の書誌情報には装置の識別情報が含まれておらず、同じ階位の装置(図1あるいは図20に示した例では、上位装置と下位装置の階位が存在するものとする)には、全て同じ共通公開鍵証明書を記憶させることができる点である。この場合、同じ階位の各装置を個別に区別する必要がないので、証明書に含まれる共通公開鍵及びこれと対応する共通私有鍵も含めて、全く共通のものでよい。そして、通信相手の共通公開鍵証明書が全て同じであることから、ルート鍵証明書については、ある階位の装置の通信相手となる全ての装置について共通となる。すなわち、下位装置20を複数設けた場合でも、全ての下位装置20に同じレスキュー認証情報を記憶させることになる。
これは、上位装置10のレスキュー認証情報についても同様である。
なお、個別公開鍵証明書とデータ形式を統一化する場合には、例えば図5に示した形式において機番として0を記載して共通公開鍵証明書であることを示すこと等も考えられる。
このようなレスキュー認証情報は、同じ階位の装置について全て共通にできるという特性から、装置の製造時に、その機種に応じて定まる階位に応じたものを画一的に記憶させてしまうことができる。そして、その後レスキュー認証情報を更新しないようにすれば、上記のように正規認証情報の更新が行えなかったり破損してしまったりして個別公開鍵証明書による認証が行えなくなった場合でも、レスキュー認証情報に含まれる共通公開鍵証明書を用いた認証は可能な状態を保つことができる。
ここで、共通公開鍵証明書には装置の識別情報を付していないため、共通公開鍵証明書を用いた認証を行った場合でも、通信相手の装置を具体的に特定することはできない。しかし、通信相手についてある程度の情報は得ることができる。
すなわち、例えばあるベンダーが自社製品のうち下位装置20に該当する装置全てに下位装置用のレスキュー認証情報を記憶させ、その通信相手となる上位装置10に該当する装置全てに上位装置用のレスキュー認証情報を記憶させておけば、認証が成功した場合、下位装置20は、自己の記憶している上位装置認証用共通ルート鍵証明書で正当性を確認できる公開鍵証明書を送信してきた相手が同じベンダーの上位装置10であることを認識できるし、逆に上位装置10も自己の記憶している下位装置認証用共通ルート鍵証明書で正当性を確認できる公開鍵証明書を送信してきた相手は同じベンダーの下位装置20であることを認識できる。
従って、通信を要求した装置あるいは要求してきた装置が、通信相手として適当な装置か否かについて、識別情報を参照できなくてもある程度の判断を行うことができる。
そして、このような認証が成功すれば、前述のように通信相手との間で共通鍵を共有して共通鍵暗号を用いた安全な通信経路を設けることができるので、その後機種機番情報等を交換して通信相手を特定することも可能である。
なお、図4に示した認証情報において、個別ルート鍵証明書は認証対象によらず同じものを用いるようにしてもよい(例えば上位装置認証用個別ルート鍵証明書と下位装置認証用個別ルート鍵証明書が同じものでもよい)。これは、個別公開鍵証明書には装置の識別情報が付されているため、ルート鍵証明書を用いてその正当性を確認できれば、あとはその識別情報を参照して装置の機種や階位を特定できるためである。一方、共通証明書には装置の識別情報が付されていないため、その種類を区別したい場合には、特定のルート鍵証明書で正当性を確認できるか否かによって行うことになる。従って、この場合には共通ルート鍵証明書は区別すべき認証対象のグループ毎に異なるようにするとよい。
ところで、サーバとして機能する下位装置20は、SSLハンドシェイクの際に、通信を要求してきた相手を識別できないため、基本的には全ての相手に同一の公開鍵証明書を送信することになる。しかし、この通信システムにおいては状況に応じて個別公開鍵証明書と共通公開鍵証明書とを使い分ける必要がある。そこで、次にこの使い分けのための構成について図6を用いて説明する。図6は、クライアントがサーバに通信を要求する際に通信先アドレスの指定に用いる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のどのアドレスに対して通信要求を送ったかは当然わかるので、相互認証を行う場合にはアドレスに応じた適切な公開鍵証明書を選択して送信することができる。
なお、図6に示すように、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において個別公開鍵証明書の設定に関する処理以外の処理を禁止するようにすることにより、共通公開鍵証明書を使用することによる効果を十分維持しながら、高いセキュリティを実現することができるようにしている。この点がこの実施形態の特徴である。
次に、このような特徴を実現するためのこの通信システムの構成及び運用方式の概略について図7を用いて説明する。図7は、その構成及び運用方式について説明するための図である。
この通信システムにおいては、通常時には、(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を管理する場合においては、個別証明書に含まれる識別情報によって管理対象の装置を識別して管理動作を行うことができるので、別途識別情報を取得する場合に比べ、管理動作を単純な処理で円滑に行うことができる。
ところが、(b)に示すように下位装置20に記憶している個別証明書が破損等しており、正常な証明書を送信できない場合には認証処理が失敗する。そして、この場合にはこのままでは上位装置10は下位装置20の機能を利用することができない。そこで、レスキューURLに通信要求を行い、共通証明書を用いた認証を行う。そして、これが成功した場合には、下位装置20に個別証明書設定要求を行い、証明書設定用機能を利用して個別証明書を更新させる。
なお、要求をレスキューURLで受信した場合には、要求は第1振り分け部410からレスキューURL用第2振り分け部422に振り分けられる。そして、レスキューURL用第2振り分け部422が要求の種類と対応する機能に要求に係る処理を振り分けてこれを実行させるのであるが、このとき、個別証明書の設定に関する要求のみを振り分け、それ以外の要求は振り分けないようにしている。従ってこの場合には、個別証明書の設定に関する要求以外の要求に係る処理は禁止するようにしていることになる。
そして、このような処理を行い、正常な個別証明書を下位装置20に設定することができれば、再度(a)に示したように通常処理URLでの通信が可能になる。
従って、個別証明書が破損等した場合でも速やかに正常な状態に復帰させ、常に個別証明書を用いた認証が可能な状態を維持することができる。これは、下位装置20の側から見れば、常に正常な認証を受けられる状態を維持することができるということになる。そして、これらの処理に人手を介す必要はなく、容易にこのような効果を得ることができる。
なお実際には、上位装置10は、この上記の個別証明書の更新の際に、下位装置20から識別情報を取得し、これを図示しないCAに送信し、この識別情報の装置の証明書を発行させてこれを取得し、これを証明書設定要求と共に下位装置20に送信して記憶させるという処理手順を踏むことになる。あるいは、上位装置10にCAの機能を持たせ、自身で証明書の発行を行うようにすることも考えられる。
また、下位装置20に記憶させる個別公開鍵証明書を発行する場合において、その中の公開鍵本体や対応する私有鍵については、新たに生成してもよいが、CAが過去に下位装置20に対して発行した鍵を管理しているのであれば、その鍵をそのまま使うようにしてもよい。また、更新用の証明書を発行する際に、ルート私有鍵を新たに発行し、公開鍵証明書のバージョンアップを行うようにすることも考えられる。
次に、下位装置20において上記の処理を実現するための機能構成について図8を用いて説明する。図8は、上位装置10から受信した要求の内容に応じた動作を実行して応答を返すための、下位装置20における機能構成を示す機能ブロック図である。なお、以下の説明に登場する各部や各機能は、CPUが適当なソフトウェアを実行することによって実現されるものである。
図8に示すように、下位装置20は、HTTPデーモン331,第1振り分け部410、通常処理URL用第2振り分け部421,レスキューURL用第2振り分け部422,および各種機能380を有する。そして、各種機能380は、固有情報取得機能381や証明書設定機能387を含む。これらの各部や各機能は、図7に示した各部や各機能と対応するものである。
これらの各部のうち、まず、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は図9に示すように第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は、図8に太線で示したように、個別公開鍵証明書の設定に関する要求のみしか機能に振り分けない。そして、その他の要求を受け付けた場合には、対応する機能がないものとして応答を返す。
そしてここでは、個別公開鍵証明書の設定に関する要求は、個別公開鍵証明書の作成(情報の記載も含む)に必要な個別情報の取得要求と、個別公開鍵証明書の設定要求としており、これらに対応する機能は、固有情報取得機能381のうちID,モデル名及び証明書のバージョン情報の取得に係る機能と、証明書設定機能387としている。しかし、さらに他の要求も個別公開鍵証明書の設定に関する要求として取り扱ったり、逆に個別情報の取得要求を公開鍵証明書の設定に関する要求として取り扱わないようにすることも考えられる。具体的にどのような要求を個別公開鍵証明書の設定に関する要求として取り扱うかは、最終的にはシステムの設計者が適宜定めればよい。
このような振り分けは、図10に示したように、第2振り分け部毎に要求の種類と振り分け先とのテーブルを設け、各第2振り分け部が自己と対応するテーブルを参照して振り分けを行うようにすることにより、実現することができる。テーブルに記載されていない要求については、対応する機能がないものとして取り扱うようにすればよい。
このようにしたことにより、下位装置20が通常処理URLから要求を受信した場合には全ての要求に係る処理が許可される一方、レスキューURLから要求を受信した場合には、その要求は第1振り分け部410からレスキューURL用第2振り分け部422に届くものの、個別公開鍵証明書の設定に関する要求以外の処理は機能に振り分けられず、結果的に処理が禁止されることになる。そして、第1振り分け部410とレスキューURL用第2振り分け部422とで禁止手段の機能が実現される。
なお、他のアプリへの要求に係る処理も禁止するためには、レスキューURLで要求を受信した場合にHTTPデーモン331がその要求を個別公開鍵証明書の設定を行うアプリ以外には渡さないようにすればよい。また、アプリ毎に通常処理URL用第2振り分け部とレスキューURL用第2振り分け部とを設け、後者が各機能への振り分けを全く行わないようにしてもよい。
以上のような禁止手段により、共通公開鍵証明書を用いてSSLハンドシェイクを行うレスキューURLで通信を行った場合に、個別公開鍵証明書の設定に関する処理以外の処理を禁止するようにすることができる。そして、このことにより、共通公開鍵証明書を使用することによる効果を十分維持しながら、共通証明書や対応する私有鍵等が万一漏洩した場合の影響を最低限に抑え、高いセキュリティを実現することができる。
次に、図8に示した構成を有する下位装置20において実行される処理について、図11及び図12を用いて説明する。図11は、下位装置20が通信要求を受け付けた場合に行う処理を示すフローチャート、図12はその続きの処理を示すフローチャートである。これらの処理は、この発明の通信装置の制御方法に係る処理である。そしてここでは、説明を簡単にするため、通信相手が下位装置20を認証するのみの、図23に示したような片方向認証を行う場合の処理を示している。しかし、図21に示したような双方向認証を行うようにしてもよいことはもちろんである。
下位装置20のCPUは、HTTPデーモン331を常に実行しており、これが他の装置からの通信要求を受け付けると、図11のフローチャートに示す処理を開始する。
この処理においては、まずステップS101で、通信要求を受け付けたURLが通常処理URLであるか否か判断する。そして通常処理URLであれば、ステップS102に進んで、下位装置用個別公開鍵証明書を下位装置用個別私有鍵で暗号化した第1の乱数と共に通信相手(通信要求の要求元)に送信して認証を要求する。すなわち、この場合には通信相手に対して個別証明書を提供する。この処理は、図23のステップS21及びS22の処理に相当する。
その後、ステップS106に進んで通信相手からの応答を待ち、認証されなかった場合には以後の通信を許可せずにそのまま終了するが、通信相手に認証された場合には、ステップS107に進み、認証処理において受信した共通鍵の種から共通鍵を作成する。これらの処理は、図23のステップS25及びS26の処理に相当する。
そして、ステップS108で通信相手からのHTTPリクエストによる要求の受信を待ち、受信するとステップS109に進んで、その要求を、受信したURLの情報と共に第1振り分け部410に渡す。ここまでの処理が、HTTPデーモン331による処理である。
また、ステップS101で通常処理URLでなかった場合には、ステップS103に進んで通信要求を受け付けたURLがレスキューURLであるか否か判断する。そしてレスキューURLであれば、ステップS104に進んで、下位装置用共通公開鍵証明書を下位装置用共通私有鍵で暗号化した第1の乱数と共に通信相手に送信して認証を要求する。すなわち、この場合には通信相手に対して共通証明書を提供する。この処理も、図23のステップS21及びS22の処理に相当する。
そして、ステップS106以下に進み、ステップS109までは個別証明書を提供した場合と同様な処理を行う。また、ステップS103でレスキューURLでない場合には、通信を受け付けていないURLへの通信要求であるので、ステップS105でエラー処理を行って処理を終了する。
次にステップS110以降の処理について説明する。
ステップS109で要求を渡された第1振り分け部410は、図9に示したようなテーブルを参照し、受信したURLに応じて振り分け先を決定する。そしてここでは、通常処理URLで受信した要求はステップS111で通常処理URL用第2振り分け部421に渡し、レスキューURLで受信した要求はステップS112でレスキューURL用第2振り分け部422に渡す。
ステップS111及びS112の後は、それぞれ図12のステップS113及びS116に進み、第2振り分け部が、HTTPリクエストとして受信した要求のHTMLボディーに当たるSOAPエンベロープを解析し、その構成を示すDOMツリー形式のデータを作成する。この処理は、どちらの第2振り分け部でも同様に行う。
そしてその後、それぞれステップS114及びS117に進み、第2振り分け部が各種機能380中の要求の種類に応じた機能に要求を振り分けてその要求に係る処理を依頼する。このとき、要求はHTTPヘッダ情報及びDOMツリー形式のデータとして機能に渡す。また、通常処理URL用第2振り分け部421は、各種機能380のどの機能に対しても振り分けを行うが、レスキューURL用第2振り分け部422は、個別証明書の設定に関する要求のみを振り分ける。この振り分けは、図10に示したように、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以降ではこれらを区別せずに示している。
次に、図11及び図12のフローチャートに示した処理による処理シーケンスの例について、図13を用いて説明する。図13は、この処理シーケンスを示すシーケンス図であり、下位装置20が通常処理URLで要求を受け付けた場合の処理を示している。
この例においては、SSLハンドシェイクの処理は図示を省略しているが、その後上位装置10が下位装置20の通常処理URLに要求をHTTPリクエストとして送信すると、HTTPデーモン331がこれを受け付ける(S201)。この要求はSOAPメッセージとして記載されており、HTTPデーモン331は受信した要求を受信したURLを示す情報(例えばIPアドレスとポート番号)と共に第1振り分け部410に渡して振り分け処理を依頼する(S202)。
そして第1振り分け部410は、その情報を基に図9に示したようなテーブルを参照し、要求を受信した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レスポンスの例について図14乃至図17を用いて説明する。
まず、図14に上位装置10から下位装置20のレスキューURLに送信する証明書設定要求のHTTPリクエストの例を示す。
このHTTPリクエストは、上述したように、SOAPに従ったSOAPメッセージであり、HTTPヘッダの最後にSOAPActionヘッダ61を付してある。そして、それ以後の内容がSOAPエンベロープであり、ここに含まれるSOAPボディ中に要求の内容を記載している。ここでは、Bodyのすぐ下位の符号62で示す要素に、要求が証明書設定要求であることを示す情報を記載している。そして、その下位に、証明書のバージョンを示すパラメータ63、証明書の暗号化パスワードを示すパラメータ64、設定すべき証明書を暗号化してBase64エンコードしたデータを示すパラメータ65を記載している。そして、要求の種類は、要素62あるいはSOAPActionヘッダ61の末尾を参照すればわかり、第2振り分け部は、この情報に従って機能への振り分け処理を行う。
図15にこのようなHTTPリクエストに対する応答のHTTPレスポンスの例を示す。
このHTTPレスポンスも、SOAPメッセージであり、HTTPヘッダとSOAPエンベロープとからなる。そして、SOAPボディー中に、実行した要求の種類を要素71として、その実行結果が「成功」である旨を要素72として示している。更新を試みることはできたものの失敗した場合には、要素72の内容が「NG」になる。
また、図16に、上位装置10から下位装置20のレスキューURLに送信する別のHTTPリクエストの例を示す。
このHTTPリクエストも、SOAPメッセージであり、状態取得要求を行うものである。そして、図14の場合とは要求の種類が異なることに伴い、SOAPActionヘッダ81の末尾と、SOAPボディーの内容が図14に示した例と異なる。ここでは、SOAPボディーの下位には要求が状態取得要求であることを示す要素82のみを記載し、その他のパラメータは記載していない。
図17にこのようなHTTPリクエストに対する応答のHTTPレスポンスの例を示すが、状態取得要求は、レスキューURLで受信した場合には機能に振り分けない要求であるので、このようなコマンドは存在しない旨の応答が、SOAP Faultとして返されることになる。そして、SOAPボディー中に要素91としてその旨を示す情報を記載している。
以上説明してきたような通信システムによれば、個別証明書が破損等した場合でも共通証明書を用いた認証が成功した場合にネットワークを介してこれを設定できるようにしているので、下位装置20が常に正常な認証を受けられる状態を維持できる。そして、この処理に人手を介す必要はなく、容易にこのような効果を得ることができる。また、共通公開鍵証明書を用いてSSLハンドシェイクを行うレスキューURLで通信を行った場合に、個別証明書の設定に関する処理以外の処理を禁止するようにしているので、共通証明書を使用することによる効果を十分維持しながら、共通証明書や対応する私有鍵等が万一漏洩した場合の影響を最低限に抑え、高いセキュリティを実現することができる。
なお、個別証明書の設定の際には下位装置20と上位装置10との間で相互認証を行うようにすれば、下位装置20が不適当な装置から個別証明書を受信して記憶してしまうことを防止でき、さらに通信の安全性を向上させることができる。
〔変形例:図18,図19〕
次に、上述した実施形態の変形例について説明する。
まず、図18に下位装置20の機能構成の変形例を示す。
上述した実施形態においては、上位装置10から受信した要求の内容に応じた動作を実行して応答を返すための下位装置20の機能構成が図8に示すものである例について説明したが、これを図18に示すものにしてもよい。すなわち、仲介デーモン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と要求の種類との両方に従って各機能に要求を振り分けるようにすることも可能である。この場合には、例えば図19に示すような、受信したURLと要求の種類の組み合わせ毎に要求の振り分け先を定めたテーブルを記憶しておき、これを参照して振り分け先の機能にHTTPヘッダ情報及びDOMツリー形式のデータを振り分けるようにすればよい。
このようにすれば、プログラムモジュールの点数を削減することができる。ただし、図8に示した実施形態の構成であれば、URLの情報を第2振り分け部から先に渡す必要がないため、モジュール間インタフェースの簡略化という点では図8に示した構成の方が優れていると言える。
また、ここでは各機能にDOMツリーを構造体データに変換したり構造体データをDOMツリーに変換したりする機能を設ける例について説明したが、各機能とは別に、このような変換を行うハンドラを設けるようにしてもよい。このようなすれば、各機能には、その機能のプログラムが直接処理できる形式でデータを渡すことができるので、各機能のプログラムを、SOAPやXMLの知識がなくても開発できるようにすることができる。
また、ここでは第2振り分け部にXMLで記載されたSOAPメッセージをDOMツリーに変換したりDOMツリーをSOAPメッセージに変換したりする機能を設ける例について説明したが、このようにすることも必須ではない。SOAPメッセージを直接取り扱うことができるように各機能のプログラムを作成すれば、第1振り分け部410が図19に示したようなテーブルを参照して要求に係るSOAPリクエストを直接各機能に振り分けるようにすることも可能である。
また、上述した実施形態では、装置の識別情報が付された個別証明書と、装置の識別情報が付されていない共通証明書とを用いる例について説明したが、前者はセキュリティ強度が高い証明書、後者はセキュリティ強度が低い証明書と捉えることもできる。
一般に、セキュリティ強度が高い証明書には、多くの情報を記載する必要があったり、輸出制限があったり特殊な認証処理プログラムが必要であったりして利用可能な環境が限られていたりするため、全ての装置に同じように記憶させて認証処理に用いることが難しい場合がある。一方で、セキュリティ強度が低い証明書であれば、このような制限が少なく、全ての装置に同じように記憶させて認証処理に用いることが比較的容易であると考えられる。
そこで、セキュリティ強度が低い証明書を記憶させた装置を製造・販売した上で、利用環境に合わせてセキュリティ強度が高い証明書を事後的に記憶させることができるようにしたいという要求がある。このような場合に、上述した実施形態の処理を利用し、セキュリティの低い証明書を用いる認証を行うアドレスで通信を行った場合に、セキュリティの高い証明書の設定に関する処理以外の処理を禁止するようにすれば、セキュリティの低い証明書を使用することによる効果を十分維持しながら、セキュリティの低い証明書や対応する私有鍵等が万一漏洩した場合の影響を最低限に抑え、全体として高いセキュリティを実現することができる。
また、上述した実施形態では、上位装置10と下位装置20が、図21あるいは図23を用いて説明したような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に示した上位装置及び下位装置が認証情報として記憶している証明書及び鍵の種類を示す図である。 図4に示した下位装置用個別公開鍵証明書に含まれる情報の例を示す図である。 クライアントがサーバに通信を要求する際に通信先の指定に用いるURLの例を示す図である。 図1に示した通信システムの構成及び運用方式について説明するための図である。 上位装置から受信した要求の内容に応じた動作を実行して応答を返すための、下位装置における機能構成を示す図である。 第1振り分け部による要求の振り分け先をURL毎に規定したテーブルの例を示す図である。 各第2振り分け部についての要求の種類と振り分け先との関係を規定したテーブルの例を示す図である。
図1に示した下位装置が通信要求を受け付けた場合に行う処理を示すフローチャートである。 その続きの処理を示すフローチャートである。 図1に示した下位装置が通常処理URLで要求を受け付けた場合の処理シーケンスの例を示すシーケンス図である。 図1に示した通信システムにおいて上位装置から下位装置のレスキューURLに送信する証明書設定要求のHTTPリクエストの例を示す図である。 図14に示したHTTPリクエストに対する応答のHTTPレスポンスの例を示す図である。 上位装置から下位装置のレスキューURLに送信する図14とは別のHTTPリクエストの例を示す図である。 図16に示したHTTPリクエストに対する応答のHTTPレスポンスの例を示す図である。 図1に示した下位装置の機能構成の変形例を示す図である。 この発明の実施形態の変形例において、第2振り分け部が参照するテーブルの例を示す図である。 図1に示した通信システムについて、下位装置を複数設けた場合の構成について説明するための図である。 2つの通信装置がSSLに従った相互認証を行う際の各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。 図21に示した認証処理におけるルート鍵、ルート私有鍵、および公開鍵証明書の関係について説明するための図である。 2つの通信装置がSSLに従った片方向認証を行う際の各装置において実行する処理を示す、図21と対応する図である。
符号の説明
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. 通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、前記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、該通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段とを有する通信装置であって、
    前記通信手段は、前記複数のアドレスのうち第1のアドレスでは装置の識別情報が付されたデジタル証明書である個別証明書を提供し、第2のアドレスでは装置の識別情報が付されていないデジタル証明書である共通証明書を提供する手段であり、
    前記第2のアドレスで通信を行う場合には前記個別証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段を設けたことを特徴とする通信装置。
  2. 請求項1記載の通信装置であって、
    前記デジタル証明書を提供した通信相手から該通信相手のデジタル証明書を受信して認証を行い、該認証が成功した場合のみその後の通信を許可する認証手段を設け、
    前記要求実行手段に、その通信相手から前記個別証明書の設定要求を受信した場合に前記個別証明書を更新する手段を設けたことを特徴とする通信装置。
  3. 請求項1又は2記載の通信装置であって、
    前記個別証明書の設定に関する要求は、当該通信装置の個別情報の取得要求と前記個別証明書の設定要求であることを特徴とする通信装置。
  4. 請求項1乃至3のいずれか一項記載の通信装置であって、
    前記要求実行手段は、前記要求に対応する所定の処理を行う複数の要求処理手段を有し、
    受信したアドレスと要求の種類とに従って要求を前記各要求処理手段に振り分ける振り分け手段を設け、
    前記禁止手段は、前記振り分け手段が前記通信を行っているアドレスによっては所定の要求以外の要求を前記要求処理手段に振り分けないようにすることにより、前記処理の禁止を行う手段であることを特徴とする通信装置。
  5. 請求項1乃至4のいずれか一項記載の通信装置であって、
    前記要求はSOAPメッセージとして記載されていることを特徴とする通信装置。
  6. 請求項1乃至5のいずれか一項記載の通信装置であって、
    前記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、
    前記デジタル証明書はその認証処理に使用する公開鍵証明書であることを特徴とする通信装置。
  7. 通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、前記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、該通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段とを有する下位装置と、該下位装置の通信相手となる上位装置とによって構成される通信システムであって、
    前記下位装置の前記通信手段は、前記複数のアドレスのうち第1のアドレスでは装置の識別情報が付されたデジタル証明書である個別証明書を提供し、第2のアドレスでは装置の識別情報が付されていないデジタル証明書である共通証明書を提供する手段であり、
    前記下位装置に、前記第2のアドレスで通信を行う場合には前記個別証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段を設け、
    前記上位装置に、通信相手から受信したデジタル証明書を用いてその通信相手を認証する認証手段を設けたことを特徴とする通信システム。
  8. 請求項7記載の通信システムであって、
    前記下位装置に、前記デジタル証明書を提供した通信相手から該通信相手のデジタル証明書を受信して認証を行い、該認証が成功した場合のみその後の通信を許可する認証手段を設け、
    前記下位装置の前記要求実行手段に、通信相手から前記個別証明書の設定要求を受信した場合に前記個別証明書を更新する手段を設けたことを特徴とする通信システム。
  9. 請求項7又は8記載の通信システムであって、
    前記個別証明書の設定に関する要求は、前記下位装置の個別情報の取得要求と前記個別証明書の設定要求であることを特徴とする通信システム。
  10. 請求項7乃至9のいずれか一項記載の通信システムであって、
    前記要求はSOAPメッセージとして記載されていることを特徴とする通信システム。
  11. 請求項7乃至10のいずれか一項記載の通信システムであって、
    前記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、
    前記デジタル証明書はその認証処理に使用する公開鍵証明書であることを特徴とする通信システム。
  12. 通信装置に、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供させ、前記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行わせ、該通信において通信相手から受信した要求に応じた処理を行わせる通信装置の制御方法であって、
    前記複数のアドレスのうち第1のアドレスでは装置の識別情報が付されたデジタル証明書である個別証明書を提供させ、第2のアドレスでは装置の識別情報が付されていないデジタル証明書である共通証明書を提供させ、
    前記第2のアドレスで通信を行う場合には前記個別証明書の設定に関する要求以外の要求に係る処理を禁止させることを特徴とする通信装置の制御方法。
  13. 請求項12記載の通信装置の制御方法であって、
    さらに、前記通信装置に、前記デジタル証明書を提供した通信相手から該通信相手のデジタル証明書を受信させて認証を行わせ、該認証が成功した場合のみその後の通信を許可させるようにし、
    通信相手から前記個別証明書の設定要求を受信した場合に前記個別証明書を更新させることを特徴とする通信装置の制御方法。
  14. 請求項12又は13記載の通信装置の制御方法であって、
    前記個別証明書の設定に関する要求は、前記通信装置の個別情報の取得要求と前記個別証明書の設定要求であることを特徴とする通信装置の制御方法。
  15. 請求項12乃至14のいずれか一項記載の通信装置の制御方法であって、
    前記要求はSOAPメッセージとして記載されていることを特徴とする通信装置の制御方法。
  16. 請求項12乃至15のいずれか一項記載の通信装置の制御方法であって、
    前記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、
    前記デジタル証明書はその認証処理に使用する公開鍵証明書であることを特徴とする通信装置の制御方法。
  17. コンピュータを、通信相手に認証を受けるために複数のアドレスでデジタル証明書を提供し、前記通信相手に認証されたデジタル証明書を提供したアドレスで通信を行う通信手段と、該通信手段によって通信相手から受信した要求に応じた処理を行う要求実行手段として機能させるためのプログラムであって、
    前記通信手段は、前記複数のアドレスのうち第1のアドレスでは装置の識別情報が付されたデジタル証明書である個別証明書を提供し、第2のアドレスでは装置の識別情報が付されていないデジタル証明書である共通証明書を提供する手段であり、
    さらに、前記コンピュータを、前記第2のアドレスで通信を行う場合には前記個別証明書の設定に関する要求以外の要求に係る処理を禁止する禁止手段として機能させるためのプログラムを含むことを特徴とするプログラム。
  18. 請求項17記載のプログラムであって、
    さらに、前記コンピュータを、前記デジタル証明書を提供した通信相手から該通信相手のデジタル証明書を受信して認証を行い、該認証が成功した場合のみその後の通信を許可する認証手段として機能させるためのプログラムを含み、
    前記要求実行手段に、その通信相手から前記個別証明書の設定要求を受信した場合に前記個別証明書を更新する機能を設けたことを特徴とするプログラム。
  19. 請求項17又は18記載のプログラムであって、
    前記個別証明書の設定に関する要求は、前記コンピュータを備える装置の個別情報の取得要求と前記個別証明書の設定要求であることを特徴とするプログラム。
  20. 請求項17乃至19のいずれか一項記載のプログラムであって、
    前記要求はSOAPメッセージとして記載されていることを特徴とするプログラム。
  21. 請求項17乃至20のいずれか一項記載のプログラムであって、
    前記認証は、SSL又はTLSのプロトコルに従った認証処理によって行い、
    前記デジタル証明書はその認証処理に使用する公開鍵証明書であることを特徴とするプログラム。
JP2004211394A 2003-09-22 2004-07-20 通信装置、通信システム、通信装置の制御方法及びプログラム Expired - Fee Related JP4522771B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004211394A JP4522771B2 (ja) 2003-09-22 2004-07-20 通信装置、通信システム、通信装置の制御方法及びプログラム
US10/938,563 US7451307B2 (en) 2003-09-22 2004-09-13 Communication apparatus, communication system, communication apparatus control method and implementation program thereof
EP04255769A EP1517514B1 (en) 2003-09-22 2004-09-22 Method for installing and updating certificates used for device authentication.
DE602004029973T DE602004029973D1 (de) 2003-09-22 2004-09-22 Verfahren zur Installation und Aktualisierung von Zertifikaten für die Authentifikation von Geräten.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003329219 2003-09-22
JP2004211394A JP4522771B2 (ja) 2003-09-22 2004-07-20 通信装置、通信システム、通信装置の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005124142A JP2005124142A (ja) 2005-05-12
JP4522771B2 true JP4522771B2 (ja) 2010-08-11

Family

ID=34197225

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US7451307B2 (ja)
EP (1) EP1517514B1 (ja)
JP (1) JP4522771B2 (ja)
DE (1) DE602004029973D1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4522771B2 (ja) 2003-09-22 2010-08-11 株式会社リコー 通信装置、通信システム、通信装置の制御方法及びプログラム
US8015399B2 (en) * 2003-09-30 2011-09-06 Ricoh Company, Ltd. Communication apparatus, communication system, certificate transmission method and program
JP4555175B2 (ja) * 2004-07-20 2010-09-29 株式会社リコー 審査装置、通信システム、審査方法、プログラム及び記録媒体
JP3910611B2 (ja) * 2004-12-28 2007-04-25 株式会社日立製作所 通信支援サーバ、通信支援方法、および通信支援システム
DE102006060760A1 (de) * 2006-09-29 2008-04-10 Siemens Ag Authentifikationsverfahren und Kommunikationssystem zur Authentifikation
US8023654B2 (en) * 2006-12-18 2011-09-20 Palo Alto Research Center Incorporated Securing multimedia network communication
US8218165B2 (en) * 2007-03-26 2012-07-10 Ricoh Company, Ltd. Interruption management method for an image forming apparatus
US8165303B1 (en) 2007-05-03 2012-04-24 Adobe Systems Incorporated Method and apparatus for public key cryptography
US8438567B2 (en) * 2007-11-07 2013-05-07 Ricoh Company, Ltd. Information processing device and image processing apparatus
JP4535119B2 (ja) * 2007-11-20 2010-09-01 沖電気工業株式会社 共通鍵生成システム、共通鍵生成方法及びそれを用いるノード
JP4666240B2 (ja) * 2008-07-14 2011-04-06 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および情報処理システム
US8499154B2 (en) * 2009-01-27 2013-07-30 GM Global Technology Operations LLC System and method for establishing a secure connection with a mobile device
GB201016672D0 (en) * 2010-10-04 2010-11-17 Electronic Shipping Solutions Ltd Secure exchange/authentication of electronic documents
US9065854B2 (en) * 2013-10-28 2015-06-23 Citrix Systems, Inc. Systems and methods for managing a guest virtual machine executing within a virtualized environment
CN105451222B (zh) 2014-07-31 2019-10-22 华为技术有限公司 一种终端建立连接的方法、装置及系统
JP6459805B2 (ja) * 2015-07-03 2019-01-30 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
CN105515768B (zh) * 2016-01-08 2017-07-21 腾讯科技(深圳)有限公司 一种更新密钥的方法、装置和系统
US10942708B2 (en) * 2017-01-10 2021-03-09 International Business Machines Corporation Generating web API specification from online documentation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781723A (en) * 1996-06-03 1998-07-14 Microsoft Corporation System and method for self-identifying a portable information device to a computing unit
JP2000332754A (ja) * 1999-05-14 2000-11-30 Casio Comput Co Ltd メール通信システム、情報処理装置、及び記憶媒体
US6314521B1 (en) * 1997-11-26 2001-11-06 International Business Machines Corporation Secure configuration of a digital certificate for a printer or other network device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212280B1 (en) * 1998-10-23 2001-04-03 L3-Communications Corporation Apparatus and methods for managing key material in heterogeneous cryptographic assets
JP4070413B2 (ja) 2001-02-22 2008-04-02 株式会社リコー 電子取引装置、方法及び電子取引システム
JP3724564B2 (ja) 2001-05-30 2005-12-07 日本電気株式会社 認証システム及び認証方法並びに認証用プログラム
JP3831352B2 (ja) 2002-03-25 2006-10-11 株式会社リコー プログラム生成処理をコンピュータに行わせるためのコンピュータ読み取り可能なプログラム
US20040255113A1 (en) * 2003-03-31 2004-12-16 Masaaki Ogura Digital certificate management system, apparatus and software program
EP1501239B8 (en) * 2003-07-25 2007-03-14 Ricoh Company, Ltd. Authentication system and method using individualized and non-individualized certificates
JP4712325B2 (ja) * 2003-09-12 2011-06-29 株式会社リコー 通信装置、通信システム、通信方法及びプログラム
JP4509678B2 (ja) * 2003-09-12 2010-07-21 株式会社リコー 証明書設定方法
JP4522771B2 (ja) 2003-09-22 2010-08-11 株式会社リコー 通信装置、通信システム、通信装置の制御方法及びプログラム
US8145898B2 (en) * 2003-12-23 2012-03-27 Hewlett-Packard Development Company, L.P. Encryption/decryption pay per use web service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781723A (en) * 1996-06-03 1998-07-14 Microsoft Corporation System and method for self-identifying a portable information device to a computing unit
US6314521B1 (en) * 1997-11-26 2001-11-06 International Business Machines Corporation Secure configuration of a digital certificate for a printer or other network device
JP2000332754A (ja) * 1999-05-14 2000-11-30 Casio Comput Co Ltd メール通信システム、情報処理装置、及び記憶媒体

Also Published As

Publication number Publication date
JP2005124142A (ja) 2005-05-12
US7451307B2 (en) 2008-11-11
DE602004029973D1 (de) 2010-12-23
EP1517514A3 (en) 2009-02-25
EP1517514B1 (en) 2010-11-10
US20050097314A1 (en) 2005-05-05
EP1517514A2 (en) 2005-03-23

Similar Documents

Publication Publication Date Title
JP4522771B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4555175B2 (ja) 審査装置、通信システム、審査方法、プログラム及び記録媒体
JP4576210B2 (ja) 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体
US7584351B2 (en) Method of transferring digital certificate,apparatus for transferring digital certificate, and system, program, and recording medium for transferring digital certificate
JP4712325B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4758095B2 (ja) 証明書無効化装置、通信装置、証明書無効化システム、プログラム及び記録媒体
JP4509678B2 (ja) 証明書設定方法
JP4611680B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4504130B2 (ja) 通信装置、通信システム、証明書送信方法及びプログラム
JP4611676B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4537797B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4657642B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4542848B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4570919B2 (ja) 通信装置、通信システム、通信装置の制御方法及びプログラム
JP4611678B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4657643B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP4509675B2 (ja) 通信装置、通信システム及び通信方法
JP4611681B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP5418507B2 (ja) 通信装置、通信システム、通信方法及びプログラム
JP2011160475A (ja) デジタル証明書無効化方法、デジタル証明書無効化装置、デジタル証明書無効化システム、プログラム及び記録媒体
JP2004320727A (ja) デジタル証明書管理システム、デジタル証明書管理装置、デジタル証明書管理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070309

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4522771

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees