(57)【要約】【課題】確実にセキュリティの低下した暗号化通信が行われることを未然に防止することができる通信装置および通信プログラムを提供する。【解決手段】複合機１０は、ネットワーク上のＰＣ３０から暗号化通信の要求を受信した場合に、自装置が利用する電子証明書が有効か否かを、電子証明書に記されている有効期限情報、および、失効情報リストに登録されている失効した電子証明書との比較により判断し、有効でない（有効期限が切れている、又は、失効している）と判断された場合には、ＰＣ３０に対して、この電子証明書を送信しないことによりＰＣ３０との通信を遮断する。【選択図】図４
2007274060.tif 000002
【特許請求の範囲】
【請求項１】
電子証明書を記憶する電子証明書記憶手段と、
前記電子証明書を利用した暗号化通信の要求を受信する暗号化通信要求受信手段と、
前記暗号化通信要求受信手段により受信した暗号化通信の要求元に対して、前記電子証明書記憶手段に記憶された電子証明書を送信する電子証明書送信手段と、
前記電子証明書記憶手段に記憶された電子証明書が有効であるか否かを判断する有効性判断手段と、
前記有効性判断手段により前記電子証明書が有効でないと判断されたことを条件として、前記電子証明書送信手段による電子証明書の送信を禁止させる送信制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記電子証明書記憶手段には、複数の電子証明書が記憶されており、
前記有効性判断手段は、前記電子証明書記憶手段に記憶された電子証明書が有効であるか否かをそれぞれ判断し、
前記送信制御手段は、前記有効性判断手段により前記電子証明書が有効であると判断された電子証明書の少なくとも一つを前記電子証明書送信手段により送信させる
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
コンピュータを、
電子証明書を利用した暗号化通信の要求を受信する暗号化通信要求受信手段と、
前記暗号化通信要求受信手段により受信した暗号化通信の要求元に対して、電子証明書記憶手段に記憶された電子証明書を送信する電子証明書送信手段と、
前記電子証明書記憶手段に記憶された電子証明書が有効であるか否かを判断する有効性判断手段と、
前記有効性判断手段により前記電子証明書が有効でないと判断されたことを条件として、前記電子証明書送信手段による電子証明書の送信を禁止させる送信制御手段として機能させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子証明書を用いて暗号化通信を行う通信装置および通信プログラムに関する。
【背景技術】
【０００２】
従来、ネットワークを介して通信装置間で通信を行う際の通信技術として、電子証明書を用いて本人性を検証し、暗号化通信に移行するＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）等の通信技術が知られている。電子証明書には、有効期限が設定されている。電子証明書に有効期限を設定するのは、現在、この暗号化通信技術を用いれば暗号解読ができない（若しくは暗号解読に非常に時間がかかる）としても、長時間同じ鍵（公開鍵暗号における秘密鍵）を使用していると、暗号解読されてしまうリスクが大きくなるためであり、とりあえず容易には暗号解読されないと思われる日時を有効期限として設定しているのである。
【０００３】
暗号化通信を行おうとするクライアント装置は、まず通信装置（サーバ装置）から、そのサーバ装置が所有する電子証明書（サーバ証明書）を受信する。クライアント装置において、受信したサーバ証明書が、自分が信頼する認証局から発行されているかどうかと同時に、有効期限は切れていないか、廃棄または一時停止状態にないかといったそのサーバ証明書が有効な状態であるかどうかの確認をする。そして、サーバ証明書をハンドリングするアプリケーションが、このサーバ証明書の有効性の確認を行い、例えば、ＳＳＬで接続する先のサーバのサーバ証明書が有効期限切れだった場合に、警告ダイアログを表示し、このサーバ証明書を使用するか否かをユーザに選択させている（非特許文献１参照）。
【０００４】
【非特許文献１】浅野  正和、“ＰＫＩ基礎講座  第５回証明書の有効性”、［ｏｎｌｉｎｅ］、２００１年２月２３日、＠ＩＴ、［２００６年３月６日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｆｓｅｃｕｒｉｔｙ／ｒｅｎｓａｉ／ｐｋｉ０５／ｐｋｉ０１．ｈｔｍｌ＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、ユーザが、この警告ダイアログから、有効期限切れのサーバ証明書を使用する旨の選択を行うと、このサーバ証明書が有効でないにもかかわらず、有効期限が切れていないサーバ証明書において検証した際と同様の処理によって暗号化通信が行われる。例えば、ＳＳＬ通信に無知なユーザが、有効期限が切れたサーバ証明書を使用すると、セキュリティが低下された暗号化通信が行なわれてしまうことを知らずに、または、ユーザが警告ダイアログのメッセージを読むことなく、この有効期限切れのサーバ証明書を使用する旨の選択をしてしまう可能性がある。このような場合には、警告ダイアログが表示されたにもかかわらず、セキュリティの保証されていない暗号化通信が行われてしまうことになる。
【０００６】
有効期限切れであれば、警告ダイアログを表示させて、ユーザにその電子証明書を用いて暗号化通信を続行するかを選択させるか否かは、暗号化通信を行うことが可能なアプリケーション毎に異なっており、管理者はセキュリティの保証されていない暗号化通信の禁止を制御できない。そして、このようにセキュリティが低下した電子証明書を使用してしまう可能性として、廃棄または一時停止状態、すなわち失効状態にある電子証明書をクライアント装置が受信した場合も考えられる。
【０００７】
そこで、このような問題点に鑑み、本発明では、確実にセキュリティの低下した暗号化通信が行われることを未然に防止することができる通信装置および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
かかる目的を達成するためになされた本発明の通信装置は、電子証明書を記憶する電子証明書記憶手段と、前記電子証明書を利用した暗号化通信の要求を受信する暗号化通信要求受信手段と、前記暗号化通信要求受信手段により受信した暗号化通信の要求元に対して、前記電子証明書記憶手段に記憶された電子証明書を送信する電子証明書送信手段と、前記電子証明書記憶手段に記憶された電子証明書が有効であるか否かを判断する有効性判断手段と、前記有効性判断手段により前記電子証明書が有効でないと判断されたことを条件として、前記電子証明書送信手段による電子証明書の送信を禁止させる送信制御手段と、備えることを特徴とする。
【０００９】
さらに、前記電子証明書記憶手段には、複数の電子証明書が記憶されており、前記有効性判断手段は、前記電子証明書記憶手段に記憶された電子証明書が有効であるか否かをそれぞれ判断し、前記送信制御手段は、前記有効性判断手段により前記電子証明書が有効であると判断された電子証明書の少なくとも一つを前記電子証明書送信手段により送信させるように構成するとよい。
【００１０】
また、本発明の通信プログラムは、コンピュータを、電子証明書を利用した暗号化通信の要求を受信する暗号化通信要求受信手段と、前記暗号化通信要求受信手段により受信した暗号化通信の要求元に対して、電子証明書記憶手段に記憶された電子証明書を送信する電子証明書送信手段と、前記電子証明書記憶手段に記憶された電子証明書が有効であるか否かを判断する有効性判断手段と、前記有効性判断手段により前記電子証明書が有効でないと判断されたことを条件として、前記電子証明書送信手段による電子証明書の送信を禁止させる送信制御手段として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明の通信装置や通信プログラムの構成によると、自装置が利用する電子証明書が有効でないときには、通信装置において、この電子証明書を暗号化通信の要求元装置に送信することを禁止するので、確実にセキュリティの低下した暗号化通信が行われることを未然に防止することができる。特に、ユーザが、電子証明書が有効でないときに、警告ダイアログを出すようなアプリケーションを使用している場合でも、管理者が、確実にセキュリティの低下した暗号化通信の禁止を制御できる。
【００１２】
さらに、通信装置が複数の電子証明書を記憶している場合には、有効でない電子証明書が存在したとしても、他の電子証明書が有効であれば、その電子証明書を使用して暗号化通信を行うため、セキュリティの低下した暗号化通信を防止しつつ、かつ、使用者の利便性も向上させることができる。
【発明を実施するための最良の形態】
【００１３】
以下に本発明の実施形態について、図面と共に説明する。
【００１４】
図１は、実施形態の通信システム１の構成を表す説明図である。図１に示すように、本実施形態の通信システム１は、ディジタル複合機（以下、単に「複合機」とする。）１０と、パーソナルコンピュータ（以下、単に「ＰＣ」とする。）３０と、ＯＣＳＰレスポンダ４０と、がＴＣＰ／ＩＰネットワークに接続された構成にされている。特に、本実施形態のネットワークにおいては、同様の構成を有する複数のＰＣ３０が接続された構成にされている。なお、複合機１０は本発明でいう通信装置に相当する。
【００１５】
各複合機１０は、ＣＰＵ１１と、作業用メモリとしてのＲＡＭ１２と、各種プログラムやデータを記憶するフラッシュメモリ１３と、ＴＣＰ／ＩＰネットワークに接続された通信インタフェース１５と、レーザ方式またはインクジェット方式にて用紙に画像を形成する印刷部１７と、原稿載置台に載置された原稿を光学的に読み取り画像データを生成する読取部１９と、ユーザが操作可能な各種キーおよび表示部を備えるユーザインタフェースとしての表示操作部２１とを備え、ＣＰＵ１１にて各種プログラムを実行し、プリンタ機能、スキャナ機能、および、コピー機能等を実現する構成にされている。
【００１６】
例えば、ＣＰＵ１１は、通信インタフェース１５を通じて外部のＰＣ３０から印刷データを受信すると、印刷部１７を制御して、この印刷データに基づく印刷画像を用紙に形成する（プリンタ機能）。また、表示操作部２１に対するユーザの操作により、表示操作部２１から読取指令が入力されると、ＣＰＵ１１は、読取部１９を制御して、原稿載置台に載置された原稿についての読取画像を表す画像データを生成し、これを通信インタフェース１５を通じて、所定のＰＣ３０に送信する（スキャナ機能）。
【００１７】
その他、複合機１０は、ウェブサーバ機能、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）通信機能、および、フラッシュメモリ１３においては、図示しない認証局により発行された複数のサーバ証明書１、２（電子証明書）、それぞれのサーバ証明書の公開鍵に対応するサーバ秘密鍵、の記憶領域を備えている。
【００１８】
また、複合機１０は、特定のポートに対するＰＣ３０からのアクセスを受け付けるに際し、サーバ証明書により、クライアント（ＰＣ３０）を認証する構成にされている。
【００１９】
ここで、図２は、複合機１０がフラッシュメモリ１３に記憶するサーバ証明書の構成を表す説明図である。
【００２０】
本実施形態の通信システム１がＳＳＬ通信で取扱うサーバ証明書は、図２に示すように、証明書のバージョンを表すバージョン情報と、証明書のシリアル番号と、アルゴリズム識別子と、ディジタル署名した証明書発行者を表す署名者情報と、証明書の有効期間を表す有効期間情報と、証明書の所有者を表す所有者情報と、所有者の公開鍵を表す公開鍵情報と、ディジタル署名値を表すディジタル署名情報と、を有する。また、このサーバ証明書が有する所有者情報は、複合機１０のＦＱＤＮ（Ｆｕｌｌ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）を有し、有効期間情報は、証明書有効期間の開始日時および終了日時（有効期限）を表す構成にされている。
【００２１】
証明書のシリアル番号は、失効情報を管理するためのものであり、サーバ証明書が失効状態にある場合、すなわち、そのサーバ証明書が廃止または一時停止にある状態であり、サーバ証明書に対応する秘密鍵が紛失・盗難された場合や、サーバ証明書の記載内容の変更などがある場合等の失効状態になった場合に、サーバ証明書の発行を受けたもの（例えば、この複合機１０の管理者等）が、発行元である認証局にサーバ証明書に記されたシリアル番号とともに、失効日時、失効理由を届け出ることにより、認証局が管理する失効情報リストに登録される。
【００２２】
なお、認証局は、失効情報リストを届け出があるごとに更新し、一定期間毎にＯＣＳＰレスポンダ４０に最新の失効情報リストを送信する。
【００２３】
その他、複合機１０が有するサーバ証明書は、ＳＳＬ通信の際に相手先のＰＣ３０に提供される。
【００２４】
なお、本実施形態のＰＣ３０は、周知のパーソナルコンピュータと同様の構成にされ、ＣＰＵ３１にて各種プログラムを実行することにより、ＳＳＬ通信等を実現する。具体的に、ＰＣ３０は、図１に示すように、ＣＰＵ３１と、作業用メモリとしてのＲＡＭ３２と、ブートプログラム等を記憶するＲＯＭ３３と、ハードディスク装置（ＨＤＤ）３４と、ＴＣＰ／ＩＰネットワークに接続された通信インタフェース３５と、キーボードやポインティングデバイス等からなる操作部３７と、液晶モニタ等からなる表示部３９と、を備える。
【００２５】
このＰＣ３０は、ＨＤＤ３４に、サーバ証明書１検証用のＣＡ証明書と、サーバ証明書２検証用のＣＡ証明書と、クライアント認証時に複合機１０に提示するパスワードと、を記憶している。ＳＳＬ通信の際には、複合機から受信したサーバ証明書をハードディスク装置３４に記憶されたＣＡ証明書を用いて検証する。また、ＰＣ３０は、ＳＳＬハンドシェイクが行われた場合、ハードディスク装置３４が記憶するパスワードを複合機１０に送信して、クライアント認証の手続きを受ける。
【００２６】
ＯＣＳＰレスポンダ４０は、ＯＣＳＰ（Ｏｎｌｉｎｅ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｔａｔｕｓ  Ｐｒｏｔｏｃｏｌ）というプロトコルを実装した周知のサーバであり、その構成は、ＰＣ３０と同様に、ＣＰＵ４１、ＲＡＭ４２、ＲＯＭ４３、ハードディスク装置（ＨＤＤ）４４、通信インターフェース４５、操作部４７、表示部４９を備える。
【００２７】
ＯＣＳＲレスポンダ４０のＨＤＤ４４には、認証局から定期的に送信される失効情報リストが記憶される。失効情報リストは、「有効期限を迎えていないにもかかわらず無効となった証明書のリスト」であり、失効したサーバ証明書を特定する証明書シリアル番号、失効日時、失効理由がそれぞれ対応付けて登録されている。この、失効情報リストは、認証局から定期的に受信し、受信した失効情報リストをＨＤＤ４４に上書きにより最新の失効情報リストのみを記憶する。
【００２８】
複合機１０から証明書シリアル番号とともにＯＣＳＰ要求があると、要求のあった証明書シリアル番号が、この失効情報リストに登録されているかを判断し、登録されていれば失効である旨（「ＮＧ」）を、登録されていなければ失効されていない旨（「ＯＫ」）を問合せ元に対して応答する。
【００２９】
次に、複合機１０における通信処理を図３〜図４を用いて説明する。図３は各複合機１０のＣＰＵ１１が実行する複合機処理を示すフローチャート、図４は複合機処理のうち暗号通信処理を示すフローチャートである。
【００３０】
各複合機１０は、図３に示す複合機処理を実行することにより、送信される印刷データを受け付けると共に、各種ウェブアクセスを受け付ける。
【００３１】
この複合機処理は、各複合機１０が起動されたときにそれぞれ処理が開始され、複合機処理を開始すると、ＣＰＵ１１は、ＨＴＴＰＳポートへのアクセス（暗号ウェブアクセス）、ＨＴＴＰポートへのアクセス（非暗号ウェブアクセス）、暗号印刷用ポートへのアクセス、非暗号印刷用ポートへのアクセス、管理ＰＣ３０ａや他の複合機１０からのパケット受信等のイベントが発生したか否かを判断する（Ｓ１１０）。
【００３２】
イベントが発生したと判断すると（Ｓ１１０でＹｅｓ）、そのイベントが、他の装置からの暗号通信要求の受信、すなわちＨＴＴＰＳポートへのアクセスまたは暗号印刷用ポートへのアクセスであるかを判定する（Ｓ１２０）。暗号通信要求の受信であれば（Ｓ１２０でＹｅｓ）、図４に示す暗号通信処理を実行し（Ｓ１３０）、暗号通信処理終了後に再度Ｓ１１０のイベント発生待ち状態となる。
【００３３】
また、Ｓ１２０にて、暗号通信要求の受信でなければ（Ｓ１２０でＮｏ）、受信したイベントに対応するその他の処理を実行し（Ｓ１４０）、この処理が終了した後にＳ１１０に戻る。
【００３４】
ところで、暗号通信処理（Ｓ１３０）は、サーバ証明書が有効か否かを、サーバ証明書の有効期限が切れているか否かおよびサーバ証明書が失効状態にあるか否かに基づいて、暗号化通信（ＳＳＬ通信）を実行するか否かを制御する処理である。
【００３５】
複合機１０は、ＰＣ３０から暗号通信要求を受信すると（図３におけるＳ１２０）、図４に示す処理を開始する。まず、フラッシュメモリ１３に記憶された全てのサーバ証明書を読み出す（Ｓ２１０）。そして、Ｓ２１０で読み出した全てのサーバ証明書の失効情報を調べるため、全てのサーバ証明書に付されているシリアル番号をＯＣＳＰレスポンダに送信することで、ＯＣＳＰ要求を行う（Ｓ２２０）。ＯＣＳＰレスポンダは、ＯＣＳＰ要求を受信すると、ＨＤＤ４４に記憶する失効情報リストの中に、受信したシリアル番号と一致するものが登録されているかを確認する。そして、受信したシリアル番号が登録されていない場合には、そのサーバ証明書は失効状態にないため「ＯＫ」を、受信したシリアル番号が登録されている場合には、そのサーバ証明書が失効状態にあるため「ＮＧ」を登録する。全てのシリアル番号について確認が終了すると、それぞれのシリアル番号と「ＯＫ」又は「ＮＧ」が対応付けられた応答パケットを送信する。
【００３６】
複合機１０は、ＯＣＳＰレスポンダから応答パケットを受信すると（Ｓ２３０）、次にそれぞれのサーバ証明書が有効か否かを判定する（Ｓ２４０）。まず、フラッシュメモリ１３に記憶されたサーバ証明書から、一のサーバ証明書を読み出し、現在日時が、そのサーバ証明書に記された有効期限内にあるか否か、すなわちそのサーバ証明書が有効期限切れ状態ではないかを判断する。その結果、有効期限切れ状態と判断された場合には（Ｓ２４０でＮｏ）、そのサーバ証明書は有効ではないため、他のサーバ証明書がある場合には、さらにそのサーバ証明書の有効性を判断する。一方、フラッシュメモリ１３に記憶された全てのサーバ証明書が有効期限切れである場合には、Ｓ２５０へ移行し、暗号化通信を中断し、暗号通信処理を終了する。
【００３７】
Ｓ２４０で、そのサーバ証明書が有効期限切れではないと判断された場合には（Ｓ２４０でＹｅｓ）、そのサーバ証明書が失効状態であるか否かを、サーバ証明書に記されたシリアル番号と同じシリアル番号が、Ｓ２３０で受信した応答パケットにおいて「ＯＫ」であるか「ＮＧ」であるかにより判断する。そのサーバ証明書が失効状態である場合には（Ｓ２４５でＹｅｓ）、他のサーバ証明書がある場合には、さらにそのサーバ証明書の有効性を判断し、全てのサーバ証明書が有効期限切れまたは失効状態にある場合には、暗号化通信を中断し（Ｓ２５０）、暗号通信処理を終了する。
【００３８】
なお、Ｓ２４０およびＳ２４５の判断処理は、逆の順番で行ってもよく、また、Ｓ２４５における失効状態の確認の度に、ＯＣＳＰレスポンダにそのシリアル番号に対応する失効状態を応答するようにしてもよい。
【００３９】
本実施形態のように、予めフラッシュメモリ１３に記憶する全てのサーバ証明書について、まとめてＯＣＳＰ要求を行うことで、その分の処理工程の省略、トラフィックの軽減が図れる。
【００４０】
Ｓ２４０、Ｓ２４５にて、一つでもサーバ証明書が有効である、すなわちサーバ証明書の有効期限が切れていない場合（Ｓ２４０でＹｅｓ）で、かつ、ＯＣＳＰ応答も有効（「ＯＫ」）である場合（Ｓ２４５でＮｏ）には、Ｓ２６０へ移行し、その有効なサーバ証明書を、暗号化通信要求元のＰＣ３０に送信し、ＳＳＬハンドシェイクを行う。このＳＳＬハンドシェイクにおいて、エラーが発生した場合には（Ｓ２７０でＹｅｓ）、暗号化通信を中断し（Ｓ２５０）、暗号通信処理を終了する。一方、エラーが発生しなかった場合は（Ｓ２７０でＮｏ）、ＳＳＬによる所定の暗号化通信を実行し（Ｓ２８０）、暗号化通信終了後に暗号通信処理を終了する。
【００４１】
有効でないサーバ証明書が、ＰＣ３０に送信されないことにより、ＰＣ３０を操作する使用者が、複合機１０が所有するサーバ証明書が有効でないことを知ることができる。これにより、使用者がこの電子証明書の更新処理を行う等により、できるだけサーバ証明書を有効な状態に保つことができる。また、サーバ証明書を所有する複合機１０側で、サーバ証明書の有効性を管理し、有効でないサーバ証明書の送信を禁止しているため、無駄な通信処理を減らすことができる。
【００４２】
なお、Ｓ２５０にて暗号化通信を中断する場合には、ＰＣ３０に、サーバ証明書が有効でないため通信できない等の通信中断の理由を通知することで、ＰＣ３０側の使用者に、通信が中断した理由をより確実に認識させることができる。
【００４３】
なお、本発明の実施の形態は、上記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００４４】
例えば、本実施形態においては、暗号化通信としてＳＳＬを採用したが、電子証明書を用いる通信方式であれば、ＳＳＬ以外の通信方式を採用してもよい。
【００４５】
また、本実施形態は、この認証局からサーバ証明書が発行されているが、複合機１０が認証局機能を備え、自己署名方式により署名されたサーバ証明書についての有効性を判断してもよい。なお、このような場合は、この複合機１０の認証局機能において失効情報リストを管理するため、ＯＣＳＰレスポンダを別途ネットワーク上に設ける必要がなく、直接認証局機能により管理する失効情報リストにサーバ証明書の有効性を問合せることで、失効の有無を知ることができる。
【００４６】
また、暗号化通信の一例として、本実施形態では、暗号ウェブアクセスの場合と、暗号印刷用ポートアクセスを例に挙げたが、これに限らず、例えば、暗号スキャンアクセスなどの場合であっても、同様に複合機１０にて、サーバ証明書の有効性を判断すればよい。
【図面の簡単な説明】
【００４７】
【図１】実施形態の通信システムの構成を表す説明図である。
【図２】実施形態の通信システムで用いられる電子証明書の構成を表す説明図である。
【図３】複合機処理を示すフローチャートである。
【図４】複合機処理のうち暗号通信処理を示すフローチャートである。
【符号の説明】
【００４８】
１  通信システム
１０  複合機（通信装置）
１１  ＣＰＵ
１２  ＲＡＭ
１３  フラッシュメモリ（電子証明書記憶手段）
１５  通信インタフェース
１７  印刷部
１９  読取部
２１  表示操作部
３０  ＰＣ
３４  ハードディスク装置（ＨＤＤ）
３５  通信インタフェース
３７  操作部
３９  表示部
４０  ＯＣＳＰレスポンダ
４４  ハードディスク装置（ＨＤＤ）
４５  通信インターフェース
【図１】
2007274060.tif 000003
【図２】
2007274060.tif 000004
【図３】
2007274060.tif 000005
【図４】
2007274060.tif 000006