(57)【要約】【課題】階層型認証システムの最下位認証局にて発行された電子証明書をサーバ装置に組み込む場合でも、認証局のシステムダウンに強い通信システムを構築可能とする。【解決手段】本発明が適用された通信システムでは、複合機１０が、クライアント装置（ＰＣ３０）と通信する際、正当性検証時に必要なＣＡ証明書の組が異なる複数種類のサーバ証明書を、クライアント装置に送信する。一方、クライアント装置では、ＣＡ証明書の不足により、複合機１０から送信されてきた複数種類のサーバ証明書の全てについての正当性を検証することができない場合であっても、正当なサーバ証明書であると認められるサーバ証明書が閾値Ｚｔｈ以上ある場合には、複合機１０から提示されたサーバ証明書を信頼して、通信の継続し、この公開鍵を用いて、複合機１０と暗号通信をする。【選択図】図４
2007274435.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡ証明書の正当性が上位認証局によって証明される階層型の認証システム、の最下位認証局でディジタル署名された電子証明書をクライアント装置に提示し、クライアント装置と通信を行うサーバ装置であって、
自装置に対し発行された電子証明書であって、前記認証システムの最下位認証局でディジタル署名された電子証明書を記憶する証明書記憶手段と、
クライアント装置との通信にあたり、前記証明書記憶手段が記憶する電子証明書を、クライアント装置に提示するために、前記クライアント装置に送信する証明書送信手段と、
を備え、
前記証明書記憶手段は、前記電子証明書として、電子証明書の正当性検証時にクライアント装置側で必要なＣＡ証明書の組が異なる複数種類の電子証明書を記憶し、
前記証明書送信手段は、前記証明書記憶手段が記憶する複数種類の電子証明書を、クライアント装置に提示するために、前記クライアント装置に送信することを特徴とするサーバ装置。
【請求項２】
サーバ装置及びクライアント装置を備え、サーバ装置とクライアント装置との間で通信を行うにあたっては、ＣＡ証明書の正当性が上位認証局によって証明される階層型の認証システムの最下位認証局でディジタル署名されたサーバ装置の電子証明書を、前記サーバ装置がクライアント装置に提示する通信システムであって、
前記サーバ装置は、
自装置に対し発行された電子証明書であって、前記認証システムの最下位認証局でディジタル署名された電子証明書を記憶する証明書記憶手段と、
クライアント装置との通信にあたり、前記証明書記憶手段が記憶する電子証明書を、クライアント装置に提示するために、前記クライアント装置に送信する証明書送信手段と、
を備え、
前記証明書記憶手段は、前記電子証明書として、電子証明書の正当性検証時にクライアント装置側で必要なＣＡ証明書の組が異なる複数種類の電子証明書を記憶し、
前記証明書送信手段は、前記証明書記憶手段が記憶する複数種類の電子証明書を、クライアント装置に提示するために、前記クライアント装置に送信する構成にされ、
前記クライアント装置は、
前記サーバ装置から受信した複数種類の電子証明書の夫々についての正当性を、電子証明書を発行した最下位認証局から最上位認証局までの一連の認証局の各ＣＡ証明書を用いて検証する検証手段
を備え、
当該通信システムは、更に、
前記検証手段による検証結果が、予め定められた条件を満足する場合、サーバ装置とクライアント装置との間の通信を許可し、前記検証手段による検証結果が前記条件を満足しない場合、サーバ装置とクライアント装置との間の通信を禁止する許可禁止手段
を備えることを特徴とする通信システム。
【請求項３】
前記許可禁止手段は、前記クライアント装置が前記サーバ装置から受信した複数種類の電子証明書の内、前記検証手段で正当性が肯定された電子証明書の数が、所定数以上である場合、サーバ装置とクライアント装置との間の通信を許可し、前記検証手段で正当性が肯定された電子証明書の数が、所定数未満である場合、サーバ装置とクライアント装置との間の通信を禁止することを特徴とする請求項２記載の通信システム。
【請求項４】
前記許可禁止手段は、前記クライアント装置が前記サーバ装置から受信した複数種類の電子証明書の夫々についての前記検証手段による検証結果を点数化し、各電子証明書に対応する点数の合算が予め定められた基準を満たす場合、サーバ装置とクライアント装置と
の間の通信を許可し、前記各電子証明書に対応する点数の合算が前記基準を満たさない場合、サーバ装置とクライアント装置との間の通信を禁止することを特徴とする請求項２記載の通信システム。
【請求項５】
クライアント装置との通信に際して前記クライアント装置に電子証明書を提示するために、自装置に対して発行された電子証明書を記憶する記憶媒体を備えたサーバ装置のコンピュータに、
クライアント装置との通信にあたり、ＣＡ証明書の正当性が上位認証局によって証明される階層型の認証システムの最下位認証局でディジタル署名された電子証明書であって、電子証明書の正当性検証時にクライアント装置側で必要なＣＡ証明書の組が異なる複数種類の電子証明書を、前記記憶媒体から読み出し、読み出した前記複数種類の電子証明書を、クライアント装置に提示するために、前記クライアント装置に送信する機能
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置との通信に際し、サーバ装置が、認証局にてディジタル署名された自己の電子証明書を、クライアント装置に送信する通信システム、及び、この通信システムを構成するサーバ装置、及び、サーバ装置に用いられるプログラムに関する。
【背景技術】
【０００２】
従来より、ＳＳＬ通信に用いられる電子証明書の認証に関しては、多くの信頼（信用）モデルが考えられ、その一つとして、階層型の認証システムが採用されている（例えば、特許文献１参照）。
【０００３】
ここで、階層型の認証システムとは、下位認証局がディジタル署名に用いる秘密鍵に対応する公開鍵の電子証明書であるＣＡ証明書を、上位認証局が自己の秘密鍵にてディジタル署名して生成するシステムをいい、サーバ装置の電子証明書の正当性を、最下位認証局から最上位認証局までの一連の認証局が階層的に証明するものである。
【特許文献１】特開２００５−３１１８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来、階層型の認証システムで発行された電子証明書を、サーバ装置に組み込む場合には、次のような問題があった。即ち、サーバ装置がクライアント装置に対して提示する電子証明書の検証には、複数のＣＡ証明書が必要となるため、サーバ装置の電子証明書を発行した最下位認証局から最上位認証局までの一連のＣＡ証明書がクライアント装置にないと、サーバ装置−クライアント装置間の通信が行えないといった問題があった。
【０００５】
尚、ＣＡ証明書は、通常、ネットワークを通じて認証局から取得することができ、認証局がシステムダウンしていなければ、クライアント装置は、ＳＳＬ通信時に、認証局から検証に必要なＣＡ証明書を取得することができる。しかしながら、認証局がシステムダウン等をしている場合、クライアント装置は、必要なＣＡ証明書を取得することができず、サーバ装置から提示された電子証明書を検証することができない可能性があった。そして、この場合には、サーバ装置と通信を行うことが、セキュリティ上できないため、従来では、階層型認証システムを利用するほど、認証局のシステムダウン等に弱い通信システムが構築されてしまうといった問題があった。
【０００６】
本発明は、こうした問題に鑑みなされたものであり、階層型認証システムの最下位認証局にて発行された電子証明書をサーバ装置に組み込む場合でも、認証局のシステムダウンに強い通信システムを構築できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するためになされた請求項１記載の発明は、ＣＡ証明書の正当性が上位認証局によって証明される階層型の認証システム、の最下位認証局でディジタル署名された電子証明書をクライアント装置に提示し、クライアント装置と通信を行うサーバ装置であって、次の証明書記憶手段及び証明書送信手段を備えるものである。
【０００８】
証明書記憶手段は、自装置に対し発行された電子証明書であって、上記認証システムの最下位認証局でディジタル署名された電子証明書を記憶するものであるが、本発明において、証明書記憶手段は、上記電子証明書として、電子証明書の正当性検証時にクライアン
ト装置側で必要なＣＡ証明書の組が異なる複数種類の電子証明書を記憶する。
【０００９】
一方、証明書送信手段は、クライアント装置との通信にあたり、証明書記憶手段が記憶する電子証明書を、クライアント装置に提示するために、クライアント装置に送信するものであるが、本発明において、証明書送信手段は、証明書記憶手段が記憶する上記複数種類の電子証明書を、クライアント装置に送信し、これら複数種類の電子証明書を、クライアント装置に提示する。
【００１０】
このように、本発明では、クライアント装置と通信する際に、正当性検証時に必要なＣＡ証明書の組が異なる複数種類の電子証明書を、クライアント装置に送信する。従って、クライアント装置では、サーバ装置から受信した電子証明書を検証する際、上記複数種類の電子証明書の内、ある電子証明書の正当性を検証するために必要なＣＡ証明書を、認証局から入手することができなくても、他の電子証明書の正当性を検証するために必要なＣＡ証明書があれば、それらのＣＡ証明書によって、サーバ装置から提示された電子証明書の正当性を検証することができる。そして、この電子証明書が正当なものであれば、この電子証明書の公開鍵を用いて、サーバ装置と暗号通信することができる。
【００１１】
従って、上記のようにサーバ装置を構成すれば、階層型認証システムの最下位認証局で発行された電子証明書をサーバ装置に組み込んでも、認証局のシステムダウンに強い通信システムを構築することができる。
【００１２】
尚、上述した「正当性検証時に必要なＣＡ証明書の組が異なる電子証明書」としては、証明書チェインの最上位のＣＡ証明書（ルートＣＡ証明書）は同一であるが、下位のＣＡ証明書が異なる電子証明書を挙げることができる。即ち、ＣＡ証明書の正当性を証明する最上位の認証局は同一であるが、下位の認証局については異なる電子証明書を挙げることができる。
【００１３】
また、請求項２記載の発明は、サーバ装置及びクライアント装置を備え、サーバ装置とクライアント装置との間で通信を行うにあたっては、階層型の認証システムの最下位認証局でディジタル署名されたサーバ装置の電子証明書を、サーバ装置がクライアント装置に提示する通信システムであって、サーバ装置が、上述の証明書記憶手段及び証明書送信手段を備える構成にされたものである。
【００１４】
この通信システムにおいて、クライアント装置は、サーバ装置から受信した複数種類の電子証明書の夫々についての正当性を、電子証明書を発行した最下位認証局から最上位認証局までの一連の認証局の各ＣＡ証明書を用いて、検証手段で検証する。また、この通信システムは、検証手段による検証結果が、予め定められた条件を満足する場合、許可禁止手段によって、サーバ装置とクライアント装置との間の通信を許可し、検証手段による検証結果が上記条件を満足しない場合、サーバ装置とクライアント装置との間の通信を禁止する。
【００１５】
このように、本発明では、サーバ装置が、検証に必要なＣＡ証明書の組の異なる複数種類の電子証明書を、クライアント装置に提示するが、クライアント装置が、ＣＡ証明書の不足により、サーバ装置から送信されてきた複数種類の電子証明書の全てを検証することができない場合であっても、検証手段による検証結果が、予め定められた条件を満足する場合、サーバ装置−クライアント装置間の通信を許可する。従って、本発明のように通信システムを構成すれば、階層型認証システムの最下位認証局にて発行された電子証明書をサーバ装置に組み込んでも、認証局のシステムダウンに強い通信システムを構築することができる。
【００１６】
尚、上述の許可禁止手段は、クライアント装置に設けることができる。また、許可禁止手段は、具体的に、請求項３記載のように構成することができる。即ち、許可禁止手段は、クライアント装置がサーバ装置から受信した複数種類の電子証明書の内、検証手段で正当性が肯定された電子証明書の数が、所定数以上である場合、サーバ装置とクライアント装置との間の通信を許可し、検証手段で正当性が肯定された電子証明書の数が、所定数未満である場合、サーバ装置とクライアント装置との間の通信を禁止する構成にすることができる。
【００１７】
このように構成された通信システム（請求項３）によれば、クライアント装置で、ＣＡ証明書の不足により、サーバ装置から送信されてきた複数種類の電子証明書の全てを検証することができない場合であっても、所定数の電子証明書の正当性を検証するだけのＣＡ証明書があれば、通信を継続して、サーバ装置−クライアント装置間で暗号通信（ＳＳＬ通信）を行うことができる。
【００１８】
また、許可禁止手段は、請求項４記載のように構成することができる。即ち、許可禁止手段は、クライアント装置がサーバ装置から受信した複数種類の電子証明書の夫々についての検証手段による検証結果を点数化し、各電子証明書に対応する点数の合算が予め定められた基準を満たす場合、サーバ装置とクライアント装置との間の通信を許可し、各電子証明書に対応する点数の合算が基準を満たさない場合、サーバ装置とクライアント装置との間の通信を禁止する構成にすることができる。
【００１９】
このように構成された通信システム（請求項４）によれば、各電子証明書の確度を数値化することができる。従って、各電子証明書に対応する点数の合算に従って、通信の許可／禁止を切り替えるようにすれば、適切に、通信を許可／禁止することができ、認証局のシステムダウンに強く、且つ、セキュリティ性の高い通信システムを構築することができる。
【００２０】
また、本発明の通信システムにおけるサーバ装置及びクライアント装置の各手段は、プログラムにより、コンピュータに実現させることができる。
請求項５記載のプログラムは、クライアント装置との通信に際してクライアント装置に電子証明書を提示するために、自装置に対して発行された電子証明書を記憶する記憶媒体を備えたサーバ装置のコンピュータに、クライアント装置との通信にあたり、ＣＡ証明書の正当性が上位認証局によって証明される階層型の認証システムの最下位認証局でディジタル署名された電子証明書であって、電子証明書の正当性検証時にクライアント装置側で必要なＣＡ証明書の組が異なる複数種類の電子証明書を、上記記憶媒体から読み出し、読み出した上記複数種類の電子証明書を、クライアント装置に提示するために、クライアント装置に送信する機能を実現させるためのプログラムである。このプログラムによれば、上述した請求項１記載のサーバ装置の処理動作を、コンピュータに実現させることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施例について、図面と共に説明する。
図１は、本実施例の通信システム１の構成を表すブロック図である。本実施例の通信システム１は、ディジタル複合機１０と、パーソナルコンピュータ（以下、単に「ＰＣ」とする。）３０と、電子証明書を発行する認証局５０と、がＴＣＰ／ＩＰネットワークＮＴに接続されてなるものである。
【００２２】
複合機１０は、ＣＰＵ１１と、作業用メモリとしてのＲＡＭ１２と、各種プログラムや
データを記憶するフラッシュメモリ１３と、ネットワークＮＴに接続された通信インタフェース１５と、レーザ方式又はインクジェット方式にて用紙に画像を形成する印刷部１７と、原稿載置台に載置された原稿を光学的に読み取り画像データを生成する読取部１９と、ユーザが操作可能な各種キー及び表示部を備える表示操作部２１と、ＵＳＢデバイス接続用のインタフェースであるＵＳＢコネクタ２３と、を備える。この複合機１０は、ＣＰＵ１１にて各種プログラムを実行し、ＴＣＰ／ＩＰ通信機能、プリンタ機能、スキャナ機能、コピー機能等を実現する。
【００２３】
詳述すると、本実施例の複合機１０は、フラッシュメモリ１３に記録された通信プログラムをＣＰＵ１１にて実行することにより、ネットワークＮＴ内の他の装置と通信を行う。また、複合機１０は、表示操作部２１に対するユーザの操作により、読取指令が入力されると、読取部１９を制御して、原稿載置台に載置された原稿についての読取画像を表す画像データを生成し、これを一時記憶する（スキャナ機能）。そして、ＰＣ３０からの要求に応じ、通信インタフェース１５を介して、要求元のＰＣ３０に、上記生成した画像データを、送信する。
【００２４】
また、複合機１０は、プリントサーバ機能を有し、ネットワークＮＴを通じて、ＰＣ３０からのアクセスがあると、ハンドシェイクの後、ＰＣ３０から送信されてくる印刷データを受信し、これを印刷部１７により印刷出力して、用紙に、印刷データに基づく画像を形成する。
【００２５】
特に、この複合機１０は、暗号通信機能を有し、暗号通信用のポートへのアクセスがあると、暗号通信に係るハンドシェイクを実行し、暗号化用の公開鍵を記した自装置のサーバ証明書（電子証明書）を、アクセス元のＰＣ３０に提示する。そして、この後、アクセス元のＰＣ３０と暗号通信を行い、この暗号通信により、印刷データを機密にＰＣ３０から受信して、これを印刷出力する。
【００２６】
尚、本実施例においては、管理者の作業により、予め、上記サーバ証明書が、複合機１０のフラッシュメモリ１３にインストールされる。
例えば、管理者は、認証局を運営する団体に、サーバ証明書及びこれに対応する秘密鍵の発行を、事務的な手続きにより要求する。そして、上記団体から、自己の複合機１０に対して発行された秘密鍵及びサーバ証明書のペアを、例えばＵＳＢメモリを媒体として取得する。そして、このサーバ証明書及び秘密鍵のペアが記録されたＵＳＢメモリを、ＵＳＢコネクタ２３に接続し、この状態で、表示操作部２１を操作して、インストール指令を入力することにより、複合機１０に、ＵＳＢメモリに記録されたサーバ証明書及び秘密鍵のペアを、フラッシュメモリ１３にインストールさせる。
【００２７】
また、別の方法として、管理者は、表示操作部２１の操作により、複合機１０を通じて認証局５０にネットワークＮＴ経由でアクセスし、認証局５０に、サーバ証明書及びこれに対応する秘密鍵の発行を要求することにより、認証局５０から、複合機１０に対して発行されたサーバ証明書及び秘密鍵のペアを、ＳＳＬ通信等にて、ネットワークＮＴ経由で取得する。そして、これを、複合機１０のフラッシュメモリ１３にインストールする。
【００２８】
尚、このような手法により、複合機１０にインストールされる電子証明書は、図２に示す構成されている。図２は、本実施例の通信システム１で用いられる電子証明書の構成を表す説明図である。
【００２９】
本実施例で用いられる電子証明書は、周知の電子証明書と同様の構成にされており、証明書のバージョンを表すバージョン情報と、証明書のシリアル番号と、アルゴリズム識別
子と、ディジタル署名した証明書発行者（認証局）を表す署名者情報と、証明書の有効期間を表す有効期間情報と、証明書の所有者（証明書発行先装置）を表す所有者情報と、公開鍵を表す公開鍵情報と、ディジタル署名値を表すディジタル署名情報と、を有する。
【００３０】
この電子証明書に記される公開鍵は、電子証明書とペアの秘密鍵に対応する公開鍵であり、ディジタル署名情報は、電子証明書内の他の情報から算出されたハッシュ値が、証明書発行者（認証局５０）の秘密鍵にて暗号化されてなるものである。また、電子証明書には、所有者情報として、証明書発行先（複合機１０）のノードＩＤ（ＩＰアドレスやドメインネーム）等が記載される。
【００３１】
ところで、本実施例では、複合機１０に、予め、当該複合機１０に対し発行されたサーバ証明書及び秘密鍵として、複数種類のサーバ証明書及び秘密鍵のペアをインストールするようにしている。図３は、複合機１０にインストールされるサーバ証明書の証明書チェインに関する説明図であり、認証システムの構成を示した図である。
【００３２】
図３に示すように、本実施例では、ＣＡ証明書の正当性が上位認証局によって証明される階層型の認証システムの最下位認証局で、複合機１０のサーバ証明書及び秘密鍵を発行してもらい、この最下位認証局でディジタル署名されたサーバ証明書であって、証明書チェインの異なる複数種類のサーバ証明書を、複合機１０にインストールする。
【００３３】
具体的に、本実施例では、証明書の正当性検証時にクライアント装置（ＰＣ３０）側で必要なＣＡ証明書の組として、最上位認証局ＡのＣＡ証明書と、中間認証局ＢのＣＡ証明書と、最下位認証局ＤのＣＡ証明書と、が必要な認証局Ｄで発行された認証局Ｄのディジタル署名付きのサーバ証明書を、第一に複合機１０にインストールする。
【００３４】
また、この複合機１０には、証明書の正当性検証時にクライアント装置（ＰＣ３０）側で必要なＣＡ証明書の組として、最上位認証局ＡのＣＡ証明書と、中間認証局ＢのＣＡ証明書と、中間認証局ＥのＣＡ証明書と、最下位認証局ＦのＣＡ証明書と、が必要な認証局Ｆで発行された認証局Ｆのディジタル署名付きのサーバ証明書を、第二にインストールする。
【００３５】
その他、この複合機１０には、証明書の正当性検証時にクライアント装置（ＰＣ３０）側で必要なＣＡ証明書の組として、最上位認証局ＡのＣＡ証明書と、最下位認証局ＣのＣＡ証明書と、が必要な認証局Ｃで発行された認証局Ｃのディジタル署名付きのサーバ証明書を、第三にインストールする。
【００３６】
また、本実施例では、独自の通信プログラムにより、ＰＣ３０から、暗号通信のハンドシェイクに係る初期信号が送信されてきた場合、複合機１０にて、これら証明書チェインの異なる複数種類のサーバ証明書を、初期信号送信元のＰＣ３０に送信するようにしている。
【００３７】
即ち、ＰＣ３０から、暗号通信のハンドシェイクに係る初期信号が送信されてきた場合、複合機１０は、上記通信プログラムに従って、認証局Ｃで発行された認証局Ｃのディジタル署名付きのサーバ証明書と、認証局Ｄで発行された認証局Ｄのディジタル署名付きのサーバ証明書と、認証局Ｆで発行された認証局Ｆのディジタル署名付きのサーバ証明書と、を初期信号送信元のＰＣ３０に送信する。
【００３８】
尚、図４は、ＰＣ３０から、暗号通信のハンドシェイクに係る初期信号が送信されてきた場合の複合機１０の処理動作を概念的に示した図であり、図５は、複合機１０のＣＰＵ１１が、通信インタフェース１５を通じて、クライアント装置（ＰＣ３０）から暗号通信
のハンドシェイクに係る初期信号を受信すると、実行するサーバ側通信処理を表すフローチャートである。
【００３９】
サーバ側通信処理を開始すると、複合機１０のＣＰＵ１１は、まずＳ１１０にて、フラッシュメモリ１３に記録されたクライアント装置提示用のサーバ証明書の数を、初期信号の送信元クライアント装置（ＰＣ３０）に通知する。即ち、フラッシュメモリ１３に記録された送信対象のサーバ証明書の数を記したサーバ証明書数の通知信号を、サーバ証明書の送信に先駆けて、クライアント装置（ＰＣ３０）に、通信インタフェース１５を介して送信する。
【００４０】
また、この処理を終えると、ＣＰＵ１１は、Ｓ１２０に移行し、フラッシュメモリ１３に記録されたクライアント装置提示用のサーバ証明書（上記複数種類のサーバ証明書）の全てを、初期信号送信元のクライアント装置（ＰＣ３０）に、通信インタフェース１５を介して送信する（Ｓ１２０）。そして、Ｓ１２０での処理を終えると、ＣＰＵ１１は、Ｓ１３０に移行し、上記初期信号送信元のクライアント装置からサーバ証明書の検証結果に基づき送信される通信許可又は通信拒否を表す通知信号を受信するまで待機し、この通知信号を、通信インタフェース１５を介して受信すると、Ｓ１４０に移行する。
【００４１】
また、Ｓ１４０に移行すると、ＣＰＵ１１は、受信した上記通知信号が、通信許可を表す通信許可通知信号であるか否かを判断し、受信した通知信号が、通信許可通知信号であると判断すると（Ｓ１４０でＹｅｓ）、Ｓ１５０に移行する。尚、通信許可通知信号には、クライアント装置側で選択されたサーバ証明書の識別情報が記されており、Ｓ１５０に移行すると、ＣＰＵ１１は、暗号通信モードに移行し、選択されたサーバ証明書に対応する秘密鍵を用いて、クライアント装置（ＰＣ３０）と暗号通信する。その後、当該サーバ側通信処理を終了する。
【００４２】
これに対し、ＣＰＵ１１は、受信した上記通知信号が、通信拒否を表す通信拒否通知信号であると判断すると（Ｓ１４０でＮｏ）、Ｓ１６０に移行し、通信中断に必要な所定の処理（終了処理）を実行した後、当該サーバ側通信処理を終了する。
【００４３】
続いて、ＰＣ３０の構成及び処理動作について説明する。
図１に示すように、本実施例の通信システム１を構成するＰＣ３０は、周知のパーソナルコンピュータと同様、ＣＰＵ３１と、作業用メモリとしてのＲＡＭ３２と、ブートプログラム等を記憶するＲＯＭ３３と、ハードディスク装置（ＨＤＤ）３４と、ネットワークＮＴに接続された通信インタフェース３５と、キーボードやポインティングデバイス等からなる操作部３７と、液晶モニタ等からなる表示部３９と、を備える。
【００４４】
これら各ＰＣ３０には、複合機１０と通信するための通信プログラムがインストールされており、ＰＣ３０は、操作部３７を通じてユーザから通信先を指定した暗号通信指令が入力されると、この通信プログラムに従い、ＣＰＵ３１にてクライアント側通信処理を実行し、ネットワークＮＴを通じて、通信先の複合機１０と暗号通信する。尚、図６及び図７は、ＣＰＵ３１が実行するクライアント側通信処理を表すフローチャートである。
【００４５】
クライアント側通信処理を開始すると、ＣＰＵ３１は、指定された通信先の複合機１０に、暗号通信に係るハンドシェイクの初期信号を、通信インタフェース３５を介して送信する（Ｓ２１０）。また、この処理を終えると、通信先の複合機１０から送信される上述したサーバ証明書数の通知信号を受信し（Ｓ２２０）、これに続いて複合機１０から送信されてくる複数種類のサーバ証明書を、通知された数、全て受信する（Ｓ２３０）。また、Ｓ２３０での処理を終えると、受信したサーバ証明書の数を、パラメータＮに設定する
と共に（Ｓ２４０）、パラメータｋを値１に設定し（Ｓ２５０）、パラメータＺを値０に設定する（Ｓ２６０）。
【００４６】
また、この処理を終えると、ＣＰＵ３１は、Ｓ２７０に移行し、今回、複合機１０から受信した複数種類のサーバ証明書の中から、サーバ証明書を一つ選択し、Ｓ２８０に移行する。Ｓ２８０に移行すると、ＣＰＵ３１は、Ｓ２７０で選択したサーバ証明書が示す証明書発行者（最下位認証局）から、この証明書発行者の正当性を階層的に証明する最上位認証局まで、の一連のＣＡ証明書を、ハードディスク装置３４内で検索し、ハードディスク装置３４内に、一連のＣＡ証明書の全てがインストールされているか否かを判断する（Ｓ２９０）。そして、一連のＣＡ証明書が全てインストールされていないと判断すると（Ｓ２９０でＮｏ）、ネットワークＮＴを通じて、上記インストールされていないＣＡ証明書を、取得する動作を試みる（Ｓ３００）。
【００４７】
そして、ネットワークＮＴ経由で上記インストールされていないＣＡ証明書を全て取得することができた場合には（Ｓ３１０でＹｅｓ）、Ｓ３２０に移行し、ネットワークＮＴ経由で上記インストールされていないＣＡ証明書を全て取得することができなかった場合には（Ｓ３１０でＮｏ）、上記選択したサーバ証明書が正当なサーバ証明書ではないとして、Ｓ３５０に移行する。
【００４８】
一方、ＣＰＵ３１は、Ｓ２９０において、ハードディスク装置３４内に、上記選択したサーバ証明書が示す証明書発行者（最下位認証局）から、この証明書発行者の正当性を階層的に証明する最上位認証局までの一連のＣＡ証明書がインストールされていると判断すると（Ｓ２９０でＹｅｓ）、Ｓ３００からＳ３１０までの処理を実行することなく、Ｓ３２０に移行する。
【００４９】
また、Ｓ３２０に移行すると、ＣＰＵ３１は、上記選択したサーバ証明書についての正当性を、サーバ証明書を発行した最下位認証局から最上位認証局までの一連の認証局５０の各ＣＡ証明書を用いて、判断する。
【００５０】
具体的には、まず、サーバ証明書が示す証明書発行者（最下位認証局）のＣＡ証明書の正当性を、上位認証局の各ＣＡ証明書を用いて判断する。また、最下位認証局のＣＡ証明書を用いて、サーバ証明書のディジタル署名を解読し、ディジタル署名が示すハッシュ値と、サーバ証明書の他の情報から得られたハッシュ値とが一致するか否かを判断する。また、サーバ証明書の所有者が、通信先の複合機１０であるか否かを判断し、更に、サーバ証明書の有効期限が切れていないか否かを判断する。そして、これらの判断結果に基づき、サーバ証明書が正当なサーバ証明書であるか否かを総合的に判断する（Ｓ３２０）。
【００５１】
尚、最下位認証局のＣＡ証明書が正当なものであり、このＣＡ証明書を用いて解読したディジタル署名が示すハッシュ値が、サーバ証明書の他の情報から得たハッシュ値と一致し、更に、サーバ証明書の所有者が、通信先の複合機１０であり、サーバ証明書の有効期限が切れていない場合、ＣＰＵ３１は、上記選択したサーバ証明書が正当なサーバ証明書であると判断し、それ以外の場合には、上記選択したサーバ証明書が正当なサーバ証明書ではないと判断する。
【００５２】
また、ここで、上記選択したサーバ証明書が正当なものであると判断すると（Ｓ３２０でＹｅｓ）、ＣＰＵ３１は、Ｓ３３０に移行し、パラメータＺの値を、１カウントアップする（Ｚ←Ｚ＋１）。その後、Ｓ３５０に移行する。一方、Ｓ３２０で、上記選択したサーバ証明書が正当なものではないと判断すると（Ｓ３２０でＮｏ）、Ｓ３３０の処理を実行せずに、Ｓ３５０に移行する。即ち、本実施例では、サーバ証明書が正当なものである場合に限り、パラメータＺの値を、１カウントアップすることにより、正当なサーバ証明
書であると判断されたサーバ証明書の数をカウントする。
【００５３】
また、Ｓ３５０に移行すると、ＣＰＵ３１は、パラメータｋの値が、受信したサーバ証明書の数Ｎ以上であるか否かを判断し、パラメータｋの値がＮ未満であると判断すると（Ｓ３５０でＮｏ）、Ｓ３６０に移行して、パラメータｋの値を、１カウントアップする（ｋ←ｋ＋１）。また、この処理を終えると、ＣＰＵ３１は、Ｓ２７０に移行し、複合機１０から受信したサーバ証明書の中から、今回の通信処理にて未選択のサーバ証明書を一つ選択し、選択したサーバ証明書について、Ｓ２８０以降の処理を実行する。
【００５４】
そして、Ｓ３５０で、パラメータｋが値Ｎ以上であると判断すると（Ｓ３５０でＹｅｓ）、ＣＰＵ３１は、Ｓ３７０に移行し、パラメータＺが、予め定められた閾値Ｚｔｈ以上であるか否かを判断する。尚、本実施例では、閾値Ｚｔｈとして、例えば、値２（Ｚｔｈ＝２）が設定されるものとする。
【００５５】
そして、パラメータＺが閾値Ｚｔｈ以上であると判断すると（Ｓ３７０でＹｅｓ）、ＣＰＵ３１は、通信先の複合機１０に対し、通信を許可する旨の通知信号である通信許可通知信号を、通信インタフェース３５を介して送信する（Ｓ３８０）。
【００５６】
尚、通信許可通知信号は、暗号通信に使用する公開鍵の識別情報（例えば、サーバ証明書のシリアル番号）を記載してなるものである。即ち、本実施例では、複合機１０からサーバ証明書を複数種類受信するため、この中から確度の高いサーバ証明書を一つ選択して、この公開鍵を、暗号通信に使用する公開鍵に選択し、この公開鍵の識別情報を記した通信許可通知信号を送信する。具体的に、上記暗号通信に使用する公開鍵は、正当であると判断されたサーバ証明書の公開鍵の中から、ランダムに選択されてもよいが、好ましくは、正当性検証時に使用したＣＡ証明書の数の最も多かったサーバ証明書（例えば、図３に示す認証局Ｆにて発行されたサーバ証明書）の公開鍵を、暗号通信に使用する公開鍵に選択されるとよい。
【００５７】
また、Ｓ３８０での処理を終えると、ＣＰＵ３１は、暗号通信モードに移行し、上記選択した公開鍵を用いて、複合機１０と暗号通信する（Ｓ３９０）。その後、当該クライアント側通信処理を終了する。Ｓ３９０では、例えば、公開鍵を用いて、印刷データを暗号化し、これを複合機１０に送信する処理を実行する。その他、別例として、Ｓ３９０では、公開鍵を用いて、セッション鍵を取り決めるための暗号通信を複合機１０と行い、その後に、セッション鍵を用いて、印刷データを暗号化し、これを複合機１０に送信する処理を実行する。
【００５８】
これに対し、Ｓ３７０で、パラメータＺが閾値Ｚｔｈ未満であると判断すると、ＣＰＵ３１は、Ｓ４００に移行し、通信先の複合機１０に、通信を拒否する旨の通知信号である通信拒否通知信号を送信し、その後、通信中断に必要な所定の処理（終了処理）を実行した後（Ｓ４１０）、当該クライアント側通知処理を終了する。
【００５９】
以上、本実施例の通信システム１について説明したが、この通信システム１では、複合機１０が、クライアント装置（ＰＣ３０）と通信する際、正当性検証時に必要なＣＡ証明書の組が異なる複数種類のサーバ証明書を、クライアント装置に送信する。一方、クライアント装置（ＰＣ３０）では、ＣＡ証明書の不足により、複合機１０から送信されてきた複数種類のサーバ証明書の全てについての正当性を検証することができない場合であっても、正当なサーバ証明書であると認められるサーバ証明書が閾値Ｚｔｈ以上ある場合、複合機１０から提示されたサーバ証明書を信頼して、通信を継続し、この公開鍵を用いて、複合機１０と暗号通信をする。
【００６０】
従来のＳＳＬ通信では、ハンドシェイク時、サーバ証明書を一つしかクライアント装置に提示しないため、クライアント装置では、このサーバ証明書の正当性の検証に必要なＣＡ証明書が手元にない場合、通信を継続することができなかった。
【００６１】
しかしながら、本実施例では、上述したように、複合機１０が、正当性の検証に必要なＣＡ証明書の組が異なるサーバ証明書の複数を、クライアント装置に送信するため、クライアント装置（ＰＣ３０）において一部ＣＡ証明書が不足していても、クライアント装置（ＰＣ３Ｏ）に、不足しているＣＡ証明書が不要なサーバ証明書を提示することができ、これによりクライアント装置（ＰＣ３０）と暗号通信することができる。
【００６２】
従って、本実施例のように通信システム１を構築すれば、認証局５０のシステムダウンに強い通信システムを構築することができる。
例えば、本実施例において、Ｚｔｈ＝２に設定されていることを前提とすれば、認証局Ｃ、認証局Ｄ、認証局Ｅ、認証局Ｆのいずれか一つがシステムダウンしていても、ＰＣ３０は、認証局Ｄで発行されたサーバ証明書、認証局Ｆで発行されたサーバ証明書、及び、認証局Ｃで発行されたサーバ証明書の少なくとも２つについて、必要なＣＡ証明書を、サーバ証明書の検証時に、自己のハードディスク装置３４から、又は、ネットワークＮＴ経由で取得することができる。従って、これらの認証局がシステムダウンしていても、本実施例の通信システム１では、安全に暗号通信を行うのに十分に、サーバ証明書を検証することができて、安全に、暗号通信を行うことができる。
【００６３】
ところで、上記の通信システム１では、正当なものであると認められたサーバ証明書の数Ｚが閾値Ｚｔｈ以上である場合、通信継続を許可し、正当なものであると認められたサーバ証明書の数Ｚが閾値Ｚｔｈ未満である場合には、通信継続を禁止するようにしたが、このように通信の許可／禁止を切り替える場合には、サーバ証明書を証明する認証局５０の階層を考慮して、これを切り替えることができない。
【００６４】
従って、上記通信システム１においては、クライアント側通信処理の内容を、図８に示すように変更すると、一層好ましい（変形例）。
図８は、変形例の通信システム１におけるＰＣ３０がＣＰＵ３１にて実行するクライアント側通信処理を表すフローチャートである。以下には、変形例の通信システム１について説明するが、変形例の通信システム１は、ＰＣ３０のＣＰＵ３１が実行するクライアント側通信処理におけるＳ３３０の処理内容を、上記実施例に対し、変更した程度のものである。従って、以下では、変形例の説明として、クライアント側通信処理の内容についてのみ説明する。
【００６５】
変形例におけるＰＣ３０のＣＰＵ３１は、クライアント側通信処理を開始すると、Ｓ３３０の処理を除いて、基本的に上記実施例と同内容の処理を実行する。但し、Ｓ３２０にて、Ｓ２７０で選択したサーバ証明書が正当なサーバ証明書であると判断すると（Ｓ３２０でＹｅｓ）、ＣＰＵ３１は、Ｓ４３０に移行し、上記サーバ証明書の判断結果の確度を評価して、これを点数化する。点数化の手法としては、様々なものが考えられるが、本実施例では、正当なものと判断した上記サーバ証明書に対し、検証に用いたＣＡ証明書の数に対応した評価点Ｚ０を付与する。
【００６６】
例えば、図９に示すように、検証に用いたＣＡ証明書の数が１つであるならば、対応するサーバ証明書に対し、評価点０を付与する。また、検証に用いたＣＡ証明書の数が２つであるならば、対応するサーバ証明書に対し、評価点１を付与する。その他、検証に用いたＣＡ証明書の数が３つであるならば、サーバ証明書に対して評価点２を付与し、検証に
用いたＣＡ証明書の数が４つであるならば、サーバ証明書に対して評価点３を付与する。このような評価点の付与に係る処理は、図９に示すような構成の基準テーブルを、ハードディスク装置３４にインストールしておき、ＣＰＵ３１がこれを参照することにより実現することができる。
【００６７】
Ｓ４３０において、上述の手法で評価点Ｚ０を決定すると、ＣＰＵ３１は、Ｓ４４０に移行し、決定した評価点Ｚ０を、パラメータＺに加算して、各サーバ証明書についての評価点Ｚ０の合算値を求める（Ｚ←Ｚ＋Ｚ０）。また、この処理を終えると、ＣＰＵ３１は、Ｓ３５０に移行して、パラメータｋが値Ｎ以上であるか否かを判断し、パラメータｋが値Ｎ未満であると判断すると（Ｓ３５０でＮｏ）、パラメータｋを１カウントアップした後（Ｓ３６０）、Ｓ２７０に移行する。
【００６８】
この他、パラメータｋが値Ｎ以上であると判断すると（Ｓ３５０でＹｅｓ）、ＣＰＵ３１は、Ｓ３７０（図７参照）に移行し、評価点の合算値を表すパラメータＺが、閾値Ｚｔｈ以上であるか否かを判断する。そして、パラメータＺが、閾値Ｚｔｈ以上である場合には、Ｓ３８０〜Ｓ３９０の処理を実行して、後続の通信を継続し、パラメータＺが閾値Ｚｔｈ未満である場合には、Ｓ４００〜Ｓ４１０の処理を実行して、通信を中断する。
【００６９】
以上、変形例の通信システム１について説明したが、この通信システム１によれば、ＰＣ３０が、複合機１０から提示された各サーバ証明書に対して、サーバ証明書の正当性検証結果に対応する評価点を付与する。具体的に、検証結果が、サーバ証明書が正当なものであるとの検証結果である場合、即ち、Ｓ３２０でＹｅｓと判断した場合には、このサーバ証明書に対して、検証に用いたＣＡ証明書の数に対応する評価点を付与する。一方、検証結果が、サーバ証明書が正当なものではないとの検証結果である場合、即ち、Ｓ３２０でＮｏ又はＳ３１０でＮｏと判断した場合には、このサーバ証明書に対して評価点ゼロを付与する。
【００７０】
従って、この通信システム１によれば、サーバ証明書の検証結果についての確度を、総合的に数値化することができて、合算Ｚが所定の基準Ｚｔｈを満たしているか否かにより、適切に、通信を許可／禁止することができる。よって、この変形例によれば、認証局５０のシステムダウンに強く、且つ、セキュリティ性の高い通信システムを構築することができる。
【００７１】
尚、「特許請求の範囲」に記載の証明書記憶手段は、上記実施例において、フラッシュメモリ１３に相当する。また、証明書送信手段は、Ｓ１２０の処理にて実現され、検証手段は、Ｓ２８０からＳ３２０までの処理にて実現され、許可禁止手段は、Ｓ３７０の処理、又は、Ｓ４３０，Ｓ４４０及びＳ３７０の処理により実現されている。
【００７２】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、図３に示す構成の認証システムにて発行された各サーバ証明書が、複合機１０にインストールされた通信システム１について説明したが、図３に示す認証システムの構成は一具体例であり、本発明は、このような認証システムの構成に限定されるものではない。
【図面の簡単な説明】
【００７３】
【図１】本実施例の通信システム１の構成を表すブロック図である。
【図２】通信システム１で用いられる電子証明書の構成を表す説明図である。
【図３】複合機１０のサーバ証明書を発行する認証システムに関する説明図である。
【図４】複合機１０の処理動作を概念的に示した説明図である。
【図５】複合機１０のＣＰＵ１１が実行するサーバ側通信処理を表すフローチャートである。
【図６】ＰＣ３０のＣＰＵ３１が実行するクライアント側通信処理を表すフローチャートである。
【図７】ＰＣ３０のＣＰＵ３１が実行するクライアント側通信処理を表すフローチャートである。
【図８】ＰＣ３０のＣＰＵ３１が実行する変形例のクライアント側通信処理を表すフローチャートである。
【図９】評価点を規定する基準テーブルの構成を表す説明図である。
【符号の説明】
【００７４】
１…通信システム、１０…ディジタル複合機、１１，３１…ＣＰＵ、１２，３２…ＲＡＭ、１３…フラッシュメモリ、１５，３５…通信インタフェース、１７…印刷部、１９…読取部、２１…表示操作部、２３…ＵＳＢコネクタ、３０…ＰＣ、３３…ＲＯＭ、３４…ハードディスク装置、３７…操作部、３９…表示部、５０…認証局、ＮＴ…ネットワーク
【図１】
2007274435.tif 000003
【図２】
2007274435.tif 000004
【図３】
2007274435.tif 000005
【図４】
2007274435.tif 000006
【図５】
2007274435.tif 000007
【図６】
2007274435.tif 000008
【図７】
2007274435.tif 000009
【図８】
2007274435.tif 000010
【図９】
2007274435.tif 000011