(57)【要約】【課題】  ＳＳＬでＷＳＤを実現する環境において、認証サーバがプリンタ作成や印刷を許可する証明書群を有することでなりすましのリスクを回避するシステムに、公的な証明書機関が発行した証明書を有するプリンタを用いる。この場合、どのようなプリンタでも認証サーバの証明書群に当該プリンタの証明書が含まれているかを検証するとプリンタによっては、印刷ができない場合や検証の処理時間が無駄になることがある。【解決手段】  プリンタの作成時にプリンタ種別を設定し、プリンタが公的な証明書機関が発行した証明書を有している場合はプリンタサーバが当該証明書をＣＡ検証する。【選択図】  図１０
2013061709.tif 000002
【特許請求の範囲】
【請求項１】
プリンタがいずれの種別のプリンタであるかを判断する判断手段と、
プリンタから証明書を受信する受信手段と、
前記受信手段が受信する証明書が認証局の発行する証明書であるか否かを検証するＣＡ検証手段と、
前記受信手段が受信する証明書が証明書の一群である証明書群に含まれているか否かを検証する証明書群検証部の検証結果を取得する取得手段と、
前記判断手段がプリンタを自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記取得手段が取得する前記証明書の検証の結果が前記証明書は前記証明書群に含まれている証明書であることを示す場合に前記プリンタに前記印刷データを送信し、前記プリンタの証明書が前記証明書群に含まれていない証明書であり、かつ前記判断手段がプリンタを認証局の発行する証明書を有するプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記ＣＡ検証手段による前記証明書の検証の結果が前記証明書は認証局の発行する証明書であることを示す場合に前記プリンタに前記印刷データを送信する送信手段と、を有することを特徴とするプリンタサーバ。
【請求項２】
外部の認証サーバと通信するプリンタサーバであって、
プリンタがいずれの種別のプリンタであるかを判断する判断手段と、
プリンタから証明書を受信する受信手段と、
前記受信手段が受信する証明書が認証局の発行する証明書であるか否かを検証するＣＡ検証手段と、
証明書の一群である証明書群を管理する前記認証サーバと通信して、前記受信手段が受信する証明書が前記証明書群に含まれているか否かを検証する証明書群検証部の検証結果を取得する取得手段と、
前記判断手段がプリンタを自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記取得手段が取得する前記証明書の検証の結果が前記証明書は前記証明書群に含まれている証明書であることを示す場合に前記プリンタに前記印刷データを送信し、かつ前記判断手段がプリンタを認証局の発行する証明書を有するプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記ＣＡ検証手段による前記証明書の検証の結果が前記証明書は認証局の発行する証明書であることを示す場合に前記取得手段から前記証明書の検証の結果を取得せずに前記プリンタに前記印刷データを送信する送信手段と、を有することを特徴とするプリンタサーバ。
【請求項３】
前記証明書群検証部は前記プリンタサーバ又は前記プリンタサーバと通信する認証サーバが有することを特徴とする請求項１に記載のプリンタサーバ。
【請求項４】
前記証明書群検証部は前記プリンタサーバ又は前記認証サーバが有することを特徴とする請求項２に記載のプリンタサーバ。
【請求項５】
前記証明書群検証部は前記受信手段が受信する前記証明書と前記証明書群の証明書が同一であるか、又は、前記受信手段が受信する前記証明書から一意に証明書を特定する情報と前記証明書群の証明書から一意に証明書を特定する情報が同一であるかを検証することを特徴とする請求項１乃至４のいずれか１項に記載のプリンタサーバ。
【請求項６】
プリンタを一意に特定するプリンタ固有情報と前記プリンタの種別であるプリンタ種別とを関連付けて保存可能な記憶部とを有し、
前記判断手段は前記記憶部に、前記受信手段が受信した前記プリンタの証明書が認証局の発行する証明書である場合は前記プリンタのプリンタ固有情報と前記プリンタのプリンタ種別を認証局の発行する証明書を有するプリンタとして関連付けて保存し、前記受信手段が受信した証明書が認証局の証明書でなく、かつ前記証明書群検証部が前記証明書を検証し、かつ前記取得手段の取得する検証結果が前記プリンタの前記証明書は前記証明書群に含まれていることを示す場合は前記プリンタのプリンタ固有情報と前記プリンタのプリンタ種別を自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタとして関連付けて保存することを特徴とする請求項１乃至５のいずれか１項に記載のプリンタサーバ。
【請求項７】
前記送信手段はさらに、前記判断手段がプリンタは自己署名の証明書を有し前記証明書が前記証明書群に含まれていないプリンタであると判断する場合に前記プリンタに前記印刷データを送信し、前記判断手段がプリンタは証明書を有していないプリンタであると判断する場合に前記プリンタに前記印刷データを送信することを特徴とする請求項６に記載のプリンタサーバ。
【請求項８】
前記判断手段はさらに前記記憶部に、前記受信手段が受信した証明書が認証局の証明書ではなく、かつ前記証明書群検証部が前記証明書を検証し、かつ前記取得手段の取得する検証結果が前記プリンタの前記証明書は前記証明書群に含まれていないことを示す場合は前記プリンタのプリンタ固有情報と前記プリンタのプリンタ種別を自己署名の証明書を有し前記証明書が前記証明書群に含まれていないプリンタとして関連付けて保存し、プリンタと通信を行い、かつＳＳＬによるセッションが確立出来ない場合は前記プリンタのプリンタ固有情報と前記プリンタのプリンタ種別を証明書を有していないプリンタとして関連付けて保存することを特徴とする請求項７に記載のプリンタサーバ。
【請求項９】
ユーザからプリンタに関する操作を受け付ける操作部を前記プリンタの前記プリンタ種別に応じて表示するための情報を送る表示情報送り手段と、を有することを特徴とする請求項６乃至８のいずれか１項に記載のプリンタサーバ。
【請求項１０】
前記表示情報送り手段は前記操作部に前記プリンタの前記プリンタ種別を表示するため、又は前記プリンタの前記プリンタ種別に応じて、アイコンを表示するため、又はセキュア度を表示するための情報を送る請求項９に記載のプリンタサーバ。
【請求項１１】
前記判断手段がプリンタは自己署名の証明書を有し前記証明書が前記証明書群に含まれていないプリンタであると判断する場合、又は前記判断手段が前記プリンタは証明書を有していないプリンタであると判断する場合にユーザに警告するための情報を送る警告情報送り手段とを有することを特徴とする請求項７乃至１０のいずれか１項に記載のプリンタサーバ。
【請求項１２】
プリンタがいずれの種別のプリンタであるかを判断する判断工程と、
プリンタから証明書を受信する受信工程と、
前記受信工程が受信する証明書が認証局の発行する証明書であるか否かを検証するＣＡ検証工程と、
前記受信工程が受信する証明書が証明書の一群である証明書群に含まれているか否かを検証する証明書群検証部の検証結果を取得する取得工程と、
前記判断工程がプリンタを自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタであると判断して、かつ前記受信工程が前記証明書をプリンタから受信して、かつ前記取得工程が取得する前記証明書の検証の結果が前記証明書は前記証明書群に含まれている証明書であることを示す場合に前記プリンタに前記印刷データを送信し、前記プリンタの証明書が前記証明書群に含まれていない証明書であり、かつ前記判断工程がプリンタを認証局の発行する証明書を有するプリンタであると判断して、かつ前記受信工程が前記証明書をプリンタから受信して、かつ前記ＣＡ検証工程による前記証明書の検証の結果が前記証明書は認証局の発行する証明書であることを示す場合に前記プリンタに前記印刷データを送信する送信工程と、を有することを特徴とするプリンタ制御方法。
【請求項１３】
外部の認証サーバと通信するプリンタ制御方法であって、
プリンタがいずれの種別のプリンタであるかを判断する判断工程と、
プリンタから証明書を受信する受信工程と、
前記受信工程が受信する証明書が認証局の発行する証明書であるか否かを検証するＣＡ検証工程と、
証明書の一群である証明書群を管理する前記認証サーバと通信して、前記受信工程が受信する証明書が前記証明書群に含まれているか否かを検証する証明書群検証部の検証結果を取得する取得工程と、
前記判断工程がプリンタを自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタであると判断して、かつ前記受信工程が前記証明書をプリンタから受信して、かつ前記取得工程が取得する前記証明書の検証の結果が前記証明書は前記証明書群に含まれている証明書であることを示す場合に前記プリンタに前記印刷データを送信し、かつ前記判断工程がプリンタを認証局の発行する証明書を有するプリンタであると判断して、かつ前記受信工程が前記証明書をプリンタから受信して、かつ前記ＣＡ検証工程による前記証明書の検証の結果が前記証明書は認証局の発行する証明書であることを示す場合に前記取得工程から前記証明書の検証の結果を取得せずに前記プリンタに前記印刷データを送信する送信工程と、を有することを特徴とするプリンタ制御方法。
【請求項１４】
コンピュータを、
プリンタがいずれの種別のプリンタであるかを判断する判断手段、
プリンタから証明書を受信する受信手段、
前記受信手段が受信する証明書が認証局の発行する証明書であるか否かを検証するＣＡ検証手段、
前記受信手段が受信する証明書が証明書の一群である証明書群に含まれているか否かを検証する証明書群検証部の検証結果を取得する取得手段、
前記判断手段がプリンタを自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記取得手段が取得する前記証明書の検証の結果が前記証明書は前記証明書群に含まれている証明書であることを示す場合に前記プリンタに前記印刷データを送信し、前記プリンタの証明書が前記証明書群に含まれていない証明書であり、かつ前記判断手段がプリンタを認証局の発行する証明書を有するプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記ＣＡ検証手段による前記証明書の検証の結果が前記証明書は認証局の発行する証明書であることを示す場合に前記プリンタに前記印刷データを送信する送信手段、として機能させることを特徴とするプログラム。
【請求項１５】
外部の認証サーバと通信するコンピュータであって、
プリンタがいずれの種別のプリンタであるかを判断する判断手段、
プリンタから証明書を受信する受信手段、
前記受信手段が受信する証明書が認証局の発行する証明書であるか否かを検証するＣＡ検証手段、
証明書の一群である証明書群を管理する前記認証サーバと通信して、前記受信手段が受信する証明書が前記証明書群に含まれているか否かを検証する証明書群検証部の検証結果を取得する取得手段、
前記判断手段がプリンタを自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記取得手段が取得する前記証明書の検証の結果が前記証明書は前記証明書群に含まれている証明書であることを示す場合に前記プリンタに前記印刷データを送信し、かつ前記判断手段がプリンタを認証局の発行する証明書を有するプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記ＣＡ検証手段による前記証明書の検証の結果が前記証明書は認証局の発行する証明書であることを示す場合に前記取得手段から前記証明書の検証の結果を取得せずに前記プリンタに前記印刷データを送信する送信手段、として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してセキュアにプリンタに印刷するネットワークシステムに関する。
【背景技術】
【０００２】
従来、プリンタがネットワークに接続され、クライアントＰＣからネットワークを介して印刷することが可能になっている。その際、クライアントＰＣはまずネットワーク上のプリンタを発見し、発見したプリンタを利用するためのドライバソフトウェアをインストールする必要がある。この一連の処理を簡易に行うための仕様として、すでにマイクロソフト社が提唱しているＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｏｎ  Ｄｅｖｉｃｅｓ）といった標準技術が存在している。
【０００３】
また、ＷＳＤで通信するネットワークデータを暗号化したものとして、セキュアＷＳＤという技術がある。セキュアＷＳＤは、ＲＦＣ２２４６で規定されているＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）を使用している。
【０００４】
ＳＳＬは、ネットワークデータの暗号化を行いネットワークデータの改ざんや漏洩を防止し、証明書検証を実施することでなりすましの防止を実現している。プリンタの証明書検証には公的な証明書機関が証明書に署名をすることで、証明書の正当性を保証する。クライアントにはＣＡ証明書を格納し、プリンタに公的な証明書機関が署名した証明書を格納する。そして、プリンタがクライアントに対してプリンタの証明書を送信し、クライアントが証明書の正当性を検証する。
【０００５】
しかし、これらの運用を実現するためには、公的な認証局に証明書の署名を実施してもらう必要がある。そのため、運用のコストと手間がかかっていた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３２３３２７
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、特許文献１ではＳＳＬに自己署名の証明書を使用することで前記環境の構築負荷を軽減させる運用をしている。この運用方法の場合、プリンタには自己署名の証明書を格納しておく。
【０００８】
しかしクライアント側にはサーバから送信された証明書の正当性を検証できるＳＳＬ証明書が存在しないので、正当性を検証できない。そのため、クライアント側では検証ができなくても処理を継続するかどうかを予め決定しておく、あるいは証明書受信時に処理を継続するかどうかをユーザに選択させる。いずれにせよ処理を継続する場合、サーバの認証ができていないことを意味するので、なりすましのリスクが発生する課題があった。
【０００９】
つまり、自己署名の証明書を使用したＳＳＬの場合、運用のコストと手間を軽減できるが、なりすましのリスクが発生するという課題がある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するための本発明に係るプリンタサーバは、
プリンタがいずれの種別のプリンタであるかを判断する判断手段と、
プリンタから証明書を受信する受信手段と、
前記受信手段が受信する証明書が認証局の発行する証明書であるか否かを検証するＣＡ検証手段と、
前記受信手段が受信する証明書が証明書の一群である証明書群に含まれているか否かを検証する証明書群検証部の検証結果を取得する取得手段と、
前記判断手段がプリンタを自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記取得手段が取得する前記証明書の検証の結果が前記証明書は前記証明書群に含まれている証明書であることを示す場合に前記プリンタに前記印刷データを送信し、前記プリンタの証明書が前記証明書群に含まれていない証明書であり、かつ前記判断手段がプリンタを認証局の発行する証明書を有するプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記ＣＡ検証手段による前記証明書の検証の結果が前記証明書は認証局の発行する証明書であることを示す場合に前記プリンタに前記印刷データを送信する送信手段と、を有することを特徴とする。
【００１１】
上記の目的を達成するための本発明に係る他のプリンタサーバは、
外部の認証サーバと通信するプリンタサーバであって、
プリンタがいずれの種別のプリンタであるかを判断する判断手段と、
プリンタから証明書を受信する受信手段と、
前記受信手段が受信する証明書が認証局の発行する証明書であるか否かを検証するＣＡ検証手段と、
証明書の一群である証明書群を管理する前記認証サーバと通信して、前記受信手段が受信する証明書が前記証明書群に含まれているか否かを検証する証明書群検証部の検証結果を取得する取得手段と、
前記判断手段がプリンタを自己署名の証明書を有し前記証明書が前記証明書群に含まれているプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記取得手段が取得する前記証明書の検証の結果が前記証明書は前記証明書群に含まれている証明書であることを示す場合に前記プリンタに前記印刷データを送信し、かつ前記判断手段がプリンタを認証局の発行する証明書を有するプリンタであると判断して、かつ前記受信手段が前記証明書をプリンタから受信して、かつ前記ＣＡ検証手段による前記証明書の検証の結果が前記証明書は認証局の発行する証明書であることを示す場合に前記取得手段から前記証明書の検証の結果を取得せずに前記プリンタに前記印刷データを送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば証明書群に含まれないが認証局が発行した証明書を有するプリンタであっても印刷できるようになる、あるいは証明書群に含まれているが認証局が発行した証明書を有するプリンタではより高速に印刷の処理を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例および従来技術におけるネットワーク印刷システムの構成図である。
【図２】従来技術におけるネットワーク印刷システムのフロー図である。
【図３】証明書の属性情報の一例である。
【図４】本発明におけるプリンタサーバのハードウェア構成図である。
【図５】本発明におけるプリンタサーバのソフトウェア構成図である。
【図６】本発明におけるプリント種別の分類を表した図である。
【図７】実施例１及び３におけるプリンタ作成時のフロー図である。
【図８】実施例１及び３におけるプリンタ作成時のフローチャートである。
【図９】ディスプレイ上のプリンタの表示例である。
【図１０】実施例１における証明書検証システム対応自己署名プリンタの印刷実行時のフロー図である。
【図１１】実施例１及び３における印刷実行時のフローチャートである。
【図１２】本発明における公的証明機関発行証明書所有プリンタ及びＳＳＬ−ＷＳＤ対応プリンタの印刷実行時のフロー図である。
【図１３】本発明のＳＳＬ非対応プリンタの印刷実行時のフロー図である。
【図１４】実施例２におけるプリンタ作成時のフロー図である。
【図１５】実施例２におけるプリンタ作成時のフローチャートである。
【図１６】実施例２における証明書検証システム対応自己署名プリンタの印刷実行時のフロー図である。
【図１７】実施例２における印刷実行時のフローチャートである。
【図１８】実施例３における証明書検証システムに対応する公的証明機関発行証明書所有プリンタの印刷実行時のフロー図である。
【図１９】プリンタサーバにおけるプリンタ種別の管理テーブルである。
【図２０】ＳＳＬ−ＷＳＤ対応プリンタ又はＳＳＬ非対応プリンタで印刷を実行した場合に表示される警告である。
【図２１】ＳＳＬ−ＷＳＤ対応プリンタで警告を表示する場合のフロー図とフローチャートである。
【発明を実施するための形態】
【００１４】
［課題の詳細］
ここでは自己署名を使用した場合のなりすましリスクを回避するためのネットワーク印刷システムと、このネットワーク印刷システムで生じる課題について説明する。
【００１５】
このネットワーク印刷システムは図１のようなクライアント１０１、１０２、プリンタサーバ１０３、認証サーバ１０４、プリンタ１０５、１０６、１０７、１０８から構成される。
【００１６】
なお、クライアントおよびプリンタは図示したよりも多く存在してもよい。なお以降はクライアントを代表して１０１、プリンタを代表して１０５の符号を使用する。ここでプリンタサーバおよび認証サーバは図示したように物理的に別の装置であるか、同じ装置にプリンタサーバと認証サーバの機能が搭載されているものとする。
【００１７】
認証サーバは図１のネットワーク印刷システムを管理する。また、このネットワーク印刷システム下ではネットワーク環境に接続を試みた際に、認証サーバの許可がなければ各デバイスがネットワーク環境に接続できないものとする。
【００１８】
図２は、この印刷システムにおいて自己署名の証明書の正当性を検証して印刷を行うフローである。
【００１９】
まず、前提としてクライアント１０１はプリンタサーバ１０３を介してプリンタ１０５を作成済みであるとする。作成済みであるとはプリンタ１０５のドライバソフトウェアがインストールされていて、かつプリンタ１０５を用いて印刷できる状態にあることを意味する。
【００２０】
Ｓ２０１においてプリンタサーバ１０３はネットワーク認証プロトコルを使用して、認証サーバ１０４が管理するネットワーク環境に接続要求を行う。認証サーバ１０４から接続許可の応答があれば、プリンタサーバ１０３はネットワーク環境に接続可能となる。
【００２１】
Ｓ２０２においてクライアント１０１も同一の認証手段を用いてネットワーク環境に接続する。
【００２２】
Ｓ２０３においてプリンタ１０５も同一の認証手段を用いてネットワーク環境に接続する。
【００２３】
プリンタ１０５はネットワーク環境に接続した後、Ｓ２０４において認証サーバ１０４に対してセキュアＷＳＤで使用する証明書情報を登録する。認証サーバ１０４は登録された証明書情報をＨＤＤ４１２に保存する。証明書の証明書情報が複数登録されることで、実質的に認証を許可された証明書の一群である証明書群が構成される。
【００２４】
証明書情報は証明書に関する情報であり、図３の属性情報から構成されている。
【００２５】
Ｓ２０５においてユーザが印刷を指示することにより、クライアント１０１が既に作成してあるプリンタ１０５に対して印刷を実行する。印刷を実行した場合、クライアント１０１はプリンタ１０５に対して直接印刷要求を送信せずに、プリンタサーバ１０３に印刷要求を送信する。なお、クライアント１０１とプリンタサーバ１０３の通信プロトコルはＷＳＤでなくても、ＢｏｎｊｏｕｒやＵＰｎＰ等のプロトコルを使用する場合もある。以降、通信プロトコルがＷＳＤである場合について説明する。
【００２６】
なお、本明細書では印刷要求にはどのプリンタで印刷するのかを示す情報・印刷データ・印刷設定情報が全て含まれているものとする。
【００２７】
本実施例ではクライアント１０１がレンダリングを行って作成した印刷データをプリンタサーバ１０３に送信する場合について説明する。しかし、その他にクライアント１０１がレンダリングに必要な情報をプリンタサーバ１０３に送信して、プリンタサーバ１０３がレンダリングしてもよい。
【００２８】
クライアント１０１から印刷要求を受信したら、Ｓ２０６においてプリンタサーバ１０３はプリンタ１０５に対して接続処理を行う。なおここで接続処理とはＳＳＬセッションを確立して接続するための処理である。
【００２９】
Ｓ２０７において、プリンタ１０５はＳＳＬで使用する自己署名の証明書をプリンタサーバ１０３に送信する。
【００３０】
Ｓ２０８において、プリンタサーバ１０３は、受信した証明書が信頼できるかどうかの証明書検証処理として、証明書から証明書情報を求めて、認証サーバ１０４に対して求めた証明書情報の送信を行う。
【００３１】
Ｓ２０９において認証サーバ１０４は、受信した証明書情報が認証サーバ１０４に登録されている証明書情報と一致するかどうかを検証し、その検証結果をプリンタサーバ１０３に応答する。
【００３２】
検証は属性情報であれば属性情報同士が一致しているか、ハッシュ情報であればハッシュ情報同士が一致しているかを判断することによって行う。
【００３３】
Ｓ２１０において、プリンタサーバ３０１は検証結果が成功であれば、プリンタ１０５は信頼できる端末だと判断して通信処理を継続し、印刷データをプリンタ１０５に送信する。検証結果が失敗であれば信頼できない端末だと判断して通信処理を切断する。
【００３４】
本印刷システムでは、ＳＳＬを使用することで通信路を暗号化して漏洩や改ざんに対応し、認証サーバを使用して証明書検証をすることでなりすましのリスクに対応できる。
【００３５】
以降、図２の手順によって証明書を検証して印刷するシステムを証明書検証システムと記載する。本証明書検証システムにおいて、プリンタ１０５はセキュアＷＳＤ機能に加えて、認証サーバ１０４に証明書情報を登録する機能を備える。本証明書検証システムにおいて、プリンタサーバ１０３はプリンタ１０５から証明書情報を受信した後に、認証サーバ１０４に証明書検証処理を実行する機能を備える。本証明書検証システムにおいて、認証サーバ１０４は証明書情報の登録を受け付け、証明書情報を保持し、要求に応じて証明書の正当性を検証する機能を備える。
【００３６】
前述の証明書検証システムではＳ２０８において、プリンタサーバ１０３が受信した証明書が信頼できるかどうかの証明書検証処理として、プリンタサーバ１０３が認証サーバ１０４に対して証明書情報を送信する。しかし、プリンタサーバ１０３が受信した証明書が公的な証明書機関が発行した証明書である場合、プリンタサーバ内のＣＡ証明書で検証が可能なため、わざわざ認証サーバ１０４が検証を行う必要がない。
【００３７】
仮に認証サーバ１０４が受信した証明書情報を検証すると、認証サーバ１０４の証明書情報の検証は１つ１つ順番に検証を行っていくため、検証する証明書情報の数が多いほど処理に時間がかかってしまうという課題が生じる。これは証明書情報が証明書の属性情報であっても証明書のハッシュであっても同じである。
【００３８】
また、ＳＳＬに対応していないプリンタや証明書検証システムに未対応であり、公的な証明書機関が発行した又は自己署名の証明書を持つプリンタは、本ネットワーク印刷システムでは認証サーバの許可を得られずネットワーク環境に接続できない。仮にネットワーク環境に接続できたとしても、これらのプリンタは証明書を持っていないか又は認証サーバ１０４に証明書情報を登録できない。すなわちＳＳＬに対応していないプリンタであれば認証サーバが証明書を検証することができない。そのためこれらのプリンタを本ネットワーク印刷システムと同一の手順で処理しようとすると、証明書を検証することができず印刷ができないという課題がある。
【００３９】
［実施例１］
本実施例では認証サーバ１０４に本発明を適用することで上記の課題を解決する。
【００４０】
図１を用いてネットワーク印刷システムの構成を説明する。
【００４１】
また、認証サーバ１０４としてＡｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒを、ネットワーク環境としてＡｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ環境（以下、ＡＤ環境とする）をそれぞれ使用するものとして説明する。さらに本実施例のネットワーク印刷システムでは認証サーバ１０４による認証が行われなくても、各デバイスがネットワーク環境に接続できるものとする。
【００４２】
なお、本実施例では認証サーバ１０４としてＡｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒを想定しているが、認証サーバ１０４はＲａｄｉｕｓ認証サーバであってもよい。
【００４３】
本発明のネットワーク印刷システムはクライアント１０１、１０２、プリンタサーバ１０３、認証サーバ１０４、プリンタ１０５、１０６、１０７、１０８から構成される。クライアントおよびプリンタは図示したよりも多く存在してもよい。なお以降はクライアントを代表して１０１、プリンタを代表して１０５の符号を使用する。プリンタサーバ１０３および認証サーバ１０４は図示したように物理的に別の装置でもよいし、同じ装置に機能を搭載してもよい。
【００４４】
図４はプリンタサーバ１０３のハードウェア構成を示すブロック図である。
【００４５】
図４において、４０１はＣＰＵであり、システムバス４０４に接続された各種デバイスの制御を行う。４０２はＢＩＯＳやブートプログラムを記憶するＲＯＭ、４０３はＣＰＵ４０１の主記憶装置として使用されるＲＡＭである。４０５はキーボードコントローラ（ＫＢＣ）であり、マウス等のポインティングデバイス４０９、キーボード４１０からの情報などの入力に係る処理を行う。４０６は表示制御部（ＣＲＴＣ）であり、内部にビデオメモリを有し、ＣＰＵ４０１からの指示に従ってそのビデオメモリに描画すると共に、ビデオメモリに描画されたイメージデータをビデオ信号としてＣＲＴ表示装置４１１に出力する。
【００４６】
なお、図４において表示装置としてＣＲＴを例示しているが、液晶表示装置等、その表示装置の種類は問わない。
【００４７】
４０７はディスクコントローラ（ＤＫＣ）であり、ハードディスク（ＨＤＤ）４１２、フロッピー（登録商標）ディスク４１３へのアクセスを行う。４０８はネットワークインタフェースカード（ＮＩＣ）であって、ネットワークに接続し、ネットワークを介しての情報通信を行うものである。なお、ＨＤＤ４１２には、ＯＳやＯＳ上で動作する各種アプリケーションプログラム等が格納される。
【００４８】
上記構成において、本装置の電源がＯＮになると、ＣＰＵ４０１はＲＯＭ４０２に格納されたブートプログラムに従って、ＨＤＤ４１２からＯＳをＲＡＭ４０３に読み込み、情報処理装置として機能するようになる。
【００４９】
加えて、ＣＰＵ４０１がＨＤＤ４１２に記憶されているプログラムに基づき処理を実行することによって、図５に示されるようなプリンタサーバ１０３のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００５０】
図５はプリンタサーバ１０３のソフトウェア構成を示すブロック図である。
【００５１】
プリンタ作成要求受信手段５０１はクライアントから新規にプリンタの作成要求を受けた場合の受信制御を行う。通信要求手段５０２はプリンタに対して通信の開始要求を行う。通信応答受信手段５０３はプリンタから証明書が送られてきた場合の受信制御を行う。セッション確認手段５０４はプリンタサーバ１０３とプリンタ１０５との間にＳＳＬのセッションが確立されたかを確認する。プリンタ種別判断手段５０５はプリンタの機能からプリンタの種別（以降、プリンタ種別とする）を判断し、プリンタ種別記憶部５２０に保存する。証明書検証手段５０６はプリンタから受け取った証明書が信頼できる証明書かどうかを検証する。
【００５２】
認証サーバ送信手段５０７は認証サーバ１０４で証明書を検証するために証明書の送信を行う。認証サーバ受信手段５０８は認証サーバ１０４からの検証結果を受信制御する。認証サーバ検証手段５０９は受信した検証結果が検証に成功したものか失敗したものかを判断する。印刷要求受信手段５１０はクライアントからの印刷要求の受信制御を行う。印刷手段５１１はプリンタ１０５に対して印刷を実行する。
【００５３】
（プリンタ種別）
次に本ネットワークシステムにおけるプリンタ作成時の流れを説明する。本発明ではプリンタの作成時にプリンタの機能に応じてプリンタ種別を分けている。プリンタ種別は図６にある４つに分類する。
【００５４】
公的証明機関発行証明書所有プリンタは公的な証明書機関が発行した証明書でＳＳＬ通信を行うプリンタのことを表す。公的な証明書機関が発行した証明書を持つ場合、クライアントは自身のＣＡ証明書で検証が可能であるため、認証サーバで証明書を検証する必要がない。そのため証明書検証システムの対応・非対応に関わらずこの名称で呼ぶこととする。また、公的証明機関発行証明書所有プリンタの証明書は、ネットワーク環境に独自の認証局を構築して、その認証局が発行する証明書であってもよい。公的であるにせよ私的であるにせよ公的証明機関発行証明書所有プリンタは認証局が発行した証明書を持っているものとする。
【００５５】
証明書検証システム対応自己署名プリンタは自己署名の証明書でＳＳＬ通信を行うが、証明書検証システムに対応しており、認証サーバに証明書情報を登録する機能を持ったプリンタを表す。なお、この機能は後述するように証明書情報ではなく証明書そのものを登録する機能であってもよい。
【００５６】
なお、自己署名の証明書とは公的な証明書機関が発行した証明書ではない証明書である。
【００５７】
ＳＳＬ−ＷＳＤ対応プリンタは、自己署名の証明書でＳＳＬ通信を行い、証明書検証システムには対応しないプリンタを表す。
【００５８】
ＳＳＬ非対応プリンタは、ＳＳＬにも対応せず平文で通信を行うプリンタを表す。
【００５９】
なお、プリンタ種別判断手段５０５はどのプリンタがいずれのプリンタ種別であるかを関連付けて図１９に示すテーブルによって管理する。
【００６０】
ここでは、プリンタを一意に特定できる情報（以下、プリンタ固有情報と称す）としてプリンタ名称とＭＡＣアドレスを例に挙げる。他にプリンタ固有情報としては、プリンタ名称・ＭＡＣアドレスの他に固定ＩＰアドレスや、プリンタに固有の情報を記載したファイルを持たせる等が挙げられる。
【００６１】
これらのプリンタ固有情報はプリンタサーバ１０３とプリンタ１０５が最初に通信した際に、プリンタサーバ１０３がプリンタ１０５から取得するものとする。
【００６２】
（プリンタ作成時のフロー）
図７はプリンタ作成時のネットワークシステム全体のフローであり、図８はプリンタ作成時のプリンタサーバ１０３の内部処理フローである。またこの例ではクライアント１０１とプリンタサーバ１０３は本証明書検証システムに対応しており、ＡＤ環境へのログインが可能であるものとする。
【００６３】
Ｓ７０１においてプリンタサーバ１０３はＡＤ環境にログインする。ログインはＫｅｒｂｅｒｏｓなどネットワーク認証プロトコルを使用する。同様にＳ７０２においてクライアント１０１もＡＤ環境にログインする。同様にＳ７０３においてプリンタ１０５もＡＤ環境にログインする。但し、ここでプリンタ１０５が本証明書検証システムに対応していない場合は、ＡＤ環境にログインできない。
【００６４】
ここでログインできない場合であってもＳ７０５以降の処理も継続して行う。プリンタ１０５はＡＤ環境にログインした後、Ｓ７０４において認証サーバ１０４に対してセキュアＷＳＤで使用する証明書情報を登録する。
【００６５】
証明書情報は図３のような属性情報から構成されてもよいし、証明書のハッシュ情報でもよいし、証明書のファイルそのものであってもよい。すなわち証明書を一意に特定して検証を行うことができれば、どのような形式で保存されていても良い。
【００６６】
なお、証明書情報は図示している属性以外の機関キー識別子やＣＲＬ配布ポイントなどの属性から構成されている場合もある。また、属性情報を多く含むとファイルデータサイズが大きくなるので、証明書情報は証明書のハッシュ情報など、証明書を一意に特定できる情報を用いてもよい。
【００６７】
なお、プリンタ１０５が証明書情報ではなく証明書を認証サーバ１０４に登録し、認証サーバ１０４が証明書同士を比較することによって検証を行うように構成してもよい。以降、証明書情報で検証を行う例を用いて説明する。
【００６８】
Ｓ７０５においてユーザがプリンタ作成を要求した場合、プリンタサーバ１０３にプリンタ作成要求を送信する。ここでプリンタ作成要求にはいずれのプリンタを作成するかの情報が含まれている。
【００６９】
クライアント１０１からプリンタ作成要求を受信したら、Ｓ７０６においてプリンタサーバ１０３はプリンタ１０５に対して接続処理を行う。
【００７０】
Ｓ７０６における図８のプリンタサーバ１０３内の処理としては、Ｓ８０１でプリンタ作成要求受信手段５０１がクライアント１０１からプリンタ作成要求を受信する。Ｓ８０２で通信要求手段５０２がプリンタ１０５に対してセキュアＷＳＤによるプリンタ作成要求を送信する。なお、ＳＳＬ非対応プリンタはＳＳＬ接続に対応していないため接続処理に失敗する。
【００７１】
Ｓ７０７において、プリンタ１０５はＳ７０６の接続処理に応答する。ここでＳＳＬ非対応プリンタ以外の３種類のプリンタはセキュアＷＳＤで使用する証明書をプリンタサーバ１０３に送信し、プリンタサーバ１０３はこれを受信する。
【００７２】
Ｓ７０７における図８のプリンタサーバ１０３内の処理としては、Ｓ８０３で通信応答受信手段５０３がプリンタ１０５からの応答を受信する。
【００７３】
プリンタ１０５からの応答を受信時、Ｓ８０４でセッション確認手段５０４がＳＳＬセッションを確立しているか否かを判断する。
【００７４】
プリンタサーバ１０３とプリンタ１０５との間にＳＳＬセッションが確立できていない場合は、Ｓ８０５でプリンタ種別判断手段５０５が当該プリンタのプリンタ種別がＳＳＬ非対応プリンタであることをＨＤＤ４１２内のプリンタ種別記憶部５２０に記憶する。
【００７５】
Ｓ８０４でＳＳＬセッションが確立できている場合は、通信応答受信手段５０３の受信結果に証明書が含まれている。よって、Ｓ８０６で証明書検証手段５０６がＨＤＤ４１２内のＣＡ証明書記憶部５２１に保存されている自身が保有するＣＡ証明書を順番に読み出し、ＣＡ証明書でプリンタ１０５から受信した証明書を復号できるかを確認する。
【００７６】
プリンタ１０５から受信した証明書を復号できる場合は、Ｓ８０７でプリンタ種別判断手段５０５が当該プリンタのプリンタ種別が公的証明機関発行証明書所有プリンタであることをＨＤＤ４１２内のプリンタ種別記憶部５２０に記憶する。
【００７７】
プリンタ１０５から受信した証明書を復号できない場合は、Ｓ７０８においてプリンタサーバ１０３は受信した証明書が信頼できるかどうかの証明書検証処理として、証明書情報の参照を行うため、認証サーバ１０４に前記証明書情報を送信する。
【００７８】
Ｓ７０９において認証サーバ１０４は受信した証明書情報が認証サーバ１０４に登録されているいずれかの証明書情報と一致するかどうかを検証し、検証結果を応答する。具体的には認証サーバ１０４が登録されている全ての証明書情報について順番に、受信した証明書情報と一致しているかを判断することによって検証を行う。これにより受信した証明書が証明書群に含まれている否かが検証される。
【００７９】
Ｓ７０７、Ｓ７０８時の図８のプリンタサーバ１０３内の処理としては受信した証明書が信頼できるかどうかの証明書検証処理として、Ｓ８０８で認証サーバ送信手段５０７が認証サーバ１０４に前記証明書情報を送信する。
【００８０】
Ｓ８０９で認証サーバ受信手段５０８は認証サーバ１０４の受信した証明書情報が認証サーバ１０４に登録されている証明書情報と一致するかどうかを検証した結果を受信する。
【００８１】
Ｓ８１０で認証サーバ検証手段５０９がこの結果を確認する。検証結果が成功であれば、Ｓ８１１でプリンタ種別判断手段５０５が当該プリンタのプリンタ種別が証明書検証システム対応自己署名プリンタであることをＨＤＤ４１２内のプリンタ種別記憶部５２０に記憶する。検証結果が失敗であれば、Ｓ８１２でプリンタ種別判断手段５０５が当該プリンタのプリンタ種別をＳＳＬ−ＷＳＤ対応プリンタとし、ＨＤＤ４１２内のプリンタ種別記憶部５２０に記憶する。
【００８２】
（プリンタ種別の表示）
次に作成したプリンタを表示装置上で確認する場合について説明する。
【００８３】
まず、プリンタサーバ１０３で表示する場合には表示送り手段５１２がプリンタ種別をＨＤＤ４１２内のプリンタ種別記憶部５２０に保存されたデータから取得して図９を表示するために必要な情報をＲＡＭ４０３に送る。これに基づいてプリンタサーバ１０３がＣＲＴ表示装置４１１上に表示を行う。
【００８４】
クライアント１０１で表示する場合にはＳ７１０で作成したプリンタ作成完了の通知を受けてクライアント１０１がプリンタ種別をプリンタサーバ１０３の表示送り手段５１２に問い合わせる。そして、プリンタサーバ１０３がＨＤＤ４１２内のプリンタ種別記憶部５２０に保存されたデータを取得してその結果を応答することでクライアント１０１は作成されたプリンタを図９に示すように表示するための情報を取得する。
【００８５】
ここでは作成したプリンタをＣＲＴ表示装置４１１又はクライアント１０１のディスプレイで見た時に図９のように作成したプリンタ種別によって操作部の表示が異なる。操作部とはユーザがポインティングデバイス等により、該当プリンタの印刷設定や印刷ジョブの表示を行う操作ができる場所を意味する。
【００８６】
ここではプリンタ９０１が公的証明機関発行証明書所有プリンタ、プリンタ９０２が証明書検証システム対応自己署名プリンタ、プリンタ９０３がＳＳＬ−ＷＳＤ対応プリンタ、プリンタ９０４がＳＳＬ非対応プリンタとする。
【００８７】
図９−Ａではそれぞれ異なる種別のプリンタであることが分かるようにアイコンで表示を分けている。ここで使用しているアイコンは一例であり、ここに表示した限りではない。
【００８８】
図９−Ｂではそれぞれ異なる種別のプリンタであることが分かるようにプリンタ名称と共にプリンタ種別を表示している。ここでのプリンタ種別の表示は一例であり、プロパティ表示等で表示できるようにしてもよい。
【００８９】
図９−Ｃではそれぞれ異なる種別のプリンタにセキュア度を設けてプリンタ名称と共にセキュア度を表示している。ここでのセキュア度の表示は一例であり、プロパティ表示等で表示できるようにしてもよい。またセキュア度の基準はＳＳＬによる暗号化等セキュリティ対策を何も行っていないＳＳＬ非対応プリンタを低。ＳＳＬによる暗号化を行い、改ざんや漏洩を防止しているＳＳＬ−ＷＳＤ対応プリンタを中。上記に加えさらに証明書の検証によりなりすましの防止を行っている証明書検証システム対応自己署名プリンタ、公的証明機関発行証明書所有プリンタを高としている。
【００９０】
（印刷時のフロー）
次に本ネットワークシステムにおける印刷時の流れを説明する。印刷時にはプリンタ作成時に識別したプリンタ種別に従って動作を行う。プリンタ種別はＨＤＤ４１２内のプリンタ種別記憶部５２０に保存されたデータの取得を行う。
【００９１】
（印刷時のフロー  −  証明書検証システム対応自己署名プリンタ）
図１０を用いてクライアント１０１でユーザが印刷を指示したプリンタのプリンタ種別が「証明書検証システム対応自己署名プリンタ」の場合の処理を説明する。また、図１１は印刷時のプリンタサーバ１０３の内部処理フローである。
【００９２】
プリンタ作成時と同様にＳ１００１、Ｓ１００２、Ｓ１００３、Ｓ１００４でプリンタサーバ１０３、クライアント１０１、プリンタ１０５がＡＤ環境にログインする。
【００９３】
Ｓ１００５においてユーザが印刷を要求した場合、クライアント１０１はプリンタ１０５に対して直接印刷要求を送信せずに、プリンタサーバ１０３に印刷処理要求を送信する。Ｓ１００５時の図１１のプリンタサーバ１０３内の処理としてはＳ１１０１で印刷要求受信手段５１０がこの要求を受信する。
【００９４】
この印刷要求を受信した際にプリンタ種別判断手段５０５はＨＤＤ４１２内のプリンタ種別記憶部５２０に保存されたデータの取得を行うことで、Ｓ１１０２でプリンタ作成時に設定したプリンタ種別を確認する。
【００９５】
クライアント１０１から印刷要求を受信したら、Ｓ１００６においてプリンタサーバ１０３は印刷要求の情報により特定されるプリンタ１０５に対して接続処理を行う。
【００９６】
Ｓ１００６時の図１１のプリンタサーバ１０３内の処理としては、Ｓ１１０３で通信要求手段５０２がプリンタ１０５に対して接続処理を行う。
【００９７】
Ｓ１００７において、プリンタ１０５はセキュアＷＳＤで使用する証明書をプリンタサーバ１０３に送信し、プリンタサーバ１０３がこれを受信する。
【００９８】
Ｓ１００７時の図１１のプリンタサーバ１０３内の処理としては、Ｓ１１０４で通信応答受信手段５０３がプリンタ１０５から送信された証明書を受信する。
【００９９】
証明書を受け取るとＳ１００８においてプリンタサーバ１０３は受信した証明書が信頼できるかどうかの証明書検証処理として、証明書情報の参照を行うため、認証サーバ１０４に前記証明書情報を送信する。
【０１００】
Ｓ１００９において認証サーバ１０４は受信した証明書情報が認証サーバ１０４に登録されている証明書情報と一致するかどうかを検証し、検証結果を応答する。
【０１０１】
Ｓ１００８、Ｓ１００９時の図１１のプリンタサーバ１０３内の処理としては受信した証明書が信頼できるかどうかの証明書検証処理として、Ｓ１１０５で認証サーバ送信手段５０７が認証サーバ１０４に前記証明書情報を送信する。
【０１０２】
Ｓ１１０６で認証サーバ受信手段５０８が受信した証明書情報が認証サーバ１０４に登録されている証明書情報と一致するかどうかを検証した結果を受信する。プリンタサーバ１０３は認証サーバ検証手段５０９でこの結果を確認する。検証結果が成功であれば、Ｓ１０１０において、プリンタサーバ１０３が印刷データをプリンタに送信し、プリンタ１０５で印刷が実施される。検証に失敗する場合は処理を中止する。Ｓ１０１０時の図１１のプリンタサーバ１０３内の処理としては、印刷手段５１１が印刷データをプリンタに送信し、プリンタ１０５で印刷が実施される。
【０１０３】
（印刷時のフロー  −  公的証明機関発行証明書所有プリンタ）
次にＳ１１０２のプリンタ種別の確認の結果、プリンタ種別が「公的証明機関発行証明書所有プリンタ」の場合の処理を図１２で説明していく。なお、本実施例では公的証明機関発行証明書所有プリンタが証明書検証システムに非対応である場合について説明する。
【０１０４】
Ｓ１００１、Ｓ１００２、Ｓ１００５については「証明書検証システム対応自己署名プリンタ」の場合と同一のため詳細は割愛する。また図１０のＳ１００３・Ｓ１００４の認証サーバへのログインと証明書情報の登録処理については、証明書検証システムに非対応であるため実施することはできない。
【０１０５】
クライアント１０１から印刷要求を受信したら、Ｓ１２０１においてプリンタサーバ１０３はプリンタ１０５に対して接続処理を行う。このＳ１２０１の処理は図１１のプリンタサーバ１０３内のＳ１１０８の処理と対応している。
【０１０６】
Ｓ１２０２において、プリンタ１０５はセキュアＷＳＤで使用する証明書をプリンタサーバ１０３に送信する。Ｓ１２０２時の図１１のプリンタサーバ１０３内の処理としては、Ｓ１１０９で通信応答受信手段５０３がプリンタ１０５から送信された証明書を受信する。
【０１０７】
ここで公的証明機関発行証明書所有プリンタが証明書検証システムに非対応の場合は認証サーバ１０４にプリンタ１０５の証明書情報が登録されていない。よって仮に前述の証明書検証システム対応自己署名プリンタのように認証サーバ検証手段５０９で証明書の検証結果を確認したとしても、常に認証サーバ１０４からプリンタ１０５の証明書が登録されていないという結果を得る。よって、代わりにＳ１１１０で証明書検証手段５０６がＳ１２０２で受信した証明書はＨＤＤ４１２内のＣＡ証明書記憶部５２１に保存されている自身が保有するＣＡ証明書で復号できるか判断する。
【０１０８】
証明書の検証に成功する場合、Ｓ１０１０で印刷データをプリンタ１０５に送信し、プリンタ１０５で印刷が実施される。
【０１０９】
これによりプリンタ１０５が証明書検証システムに非対応の場合であっても、公的証明機関発行の証明書を用いて印刷を行うことができる。証明書検証システムに対応する場合については後述する。
【０１１０】
（印刷時のフロー  −  ＳＳＬ−ＷＳＤ対応プリンタ）
次にＳ１１０２のプリンタ種別の確認の結果、プリンタ種別が「ＳＳＬ−ＷＳＤ対応プリンタ」の場合の処理を説明していく。処理の流れが「公的証明機関発行証明書所有プリンタ」の場合と同一のため、同じ図１２を使って説明する。
【０１１１】
プリンタサーバ１０３はクライアント１０１から印刷要求を受信したら、Ｓ１２０１においてプリンタ１０５に対して接続処理を行う。Ｓ１２０１における図１１のプリンタサーバ１０３内の処理としては、Ｓ１１１１で通信要求手段５０２がプリンタ１０５に対して接続処理を行う。
【０１１２】
Ｓ１２０２において、プリンタ１０５はセキュアＷＳＤで使用する証明書をプリンタサーバ１０３に送信する。Ｓ１２０２における図１１のプリンタサーバ１０３内の処理としては、Ｓ１１１２で通信応答受信手段５０３がプリンタ１０５から送信された証明書を受信する。ＳＳＬ−ＷＳＤ対応プリンタの場合、Ｓ８０６の処理において証明書の検証の処理をプリンタサーバ１０３自身が持つ、ＣＡ証明書では検証ができず、認証サーバ１０４にも証明書情報が登録されていないことが分かっている。そのため公的証明機関発行証明書所有プリンタの場合と同様に認証サーバ１０４での証明書検証の処理を省き、Ｓ１０１０で印刷データをプリンタに送信し、プリンタ１０５で印刷が実施される。
【０１１３】
（印刷時のフロー  −  ＳＳＬ非対応プリンタ）
図１３を用いてＳ１１０２のプリンタ種別の確認の結果、プリンタ種別が「ＳＳＬ非対応プリンタ」の場合の処理を説明する。
【０１１４】
Ｓ１００１、Ｓ１００２については「証明書検証システム対応自己署名プリンタ」の場合と同一のため詳細は割愛する。
【０１１５】
ＳＳＬ非対応プリンタはＳＳＬ証明書検証システムに非対応であるため、Ｓ１００３、Ｓ１００４の認証サーバへのログイン、Ｓ１００４の証明書情報の登録処理はない。またプリンタが証明書をそもそも有していないため、Ｓ１００８のプリンタサーバ１０３による証明書の送信はできず、Ｓ１００９の認証サーバ１０４による検証結果の送信もできない。Ｓ１０１０で印刷データをプリンタに送信し、プリンタ１０５で印刷が行われる。Ｓ１００６については「証明書検証システム対応自己署名プリンタ」の場合と同一である。
【０１１６】
以上で説明したように、本実施例の構成によれば、プリンタに対してプリンタ種別を設定し、プリンタ種別に応じて印刷処理を変えている。これにより前述のように公的証明機関発行証明書所有プリンタが証明書検証システムに対応していなくても印刷を行うことができる。また、ＳＳＬ−ＷＳＤ対応プリンタやＳＳＬ非対応プリンタといった証明書検証システムに対応していないプリンタであっても同じく印刷を行うことができる。
【０１１７】
また、プリンタサーバ１０３と認証サーバ１０４が別の装置である環境について検討する。この環境でプリンタ１０５が公的証明機関発行の証明書又は自己署名の証明書を有するが証明書検証システムに対応しないプリンタである場合、プリンタサーバ１０３と認証サーバ１０４が通信を行ってプリンタ１０５の証明書を検証しても証明書の検証に失敗する。本実施例ではこうしたプリンタは認証サーバ１０４による証明書の検証を行わない。よって証明書検証システム対応自己署名プリンタに比べて、これらのプリンタは印刷処理においてプリンタサーバ１０３と認証サーバ１０４の通信時間と検証時間分を省略して高速化を行うことができる。
【０１１８】
さらにＳＳＬ非対応プリンタでは上述のメリットに加えて、プリンタ種別に応じて印刷処理を行うことにより、ＳＳＬに対応していなくても印刷を行うことができる。ゆえにＳＳＬに対応するプリンタと比較すると、プリンタサーバ１０３とのＳＳＬ接続処理がないためＳＳＬ通信の処理時間分の高速化を行うことができる。
【０１１９】
［実施例２］
次に実施例２について説明を行う。
【０１２０】
実施例１ではプリンタサーバ１０３が認証サーバ１０４にプリンタ１０５から受信した証明書を送信して、認証サーバ１０４が検証を行い、その結果を返していた。
【０１２１】
実施例２ではプリンタサーバ１０３が認証サーバ１０４に対して認証サーバ１０４が持つ証明書情報を送信する要求を送り、認証サーバ１０４は証明書情報をプリンタサーバ１０３に送信する。プリンタサーバ１０３は受信した証明書情報とプリンタ１０５から受信した証明書を比較して検証を行う点が実施例１とは異なる。
【０１２２】
本発明を適用したネットワーク印刷システムの構成について図１を用いて説明する。ネットワークシステムの詳細については実施例１と同一のため割愛する。
【０１２３】
次に本ネットワークシステムにおけるプリンタ作成時の流れを説明する。
【０１２４】
図１４はプリンタ作成時のネットワークシステム全体のフローであり、図１５はプリンタ作成時のプリンタサーバ１０３の内部処理フローである。なお、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
【０１２５】
プリンタ１０５から受信した証明書がＨＤＤ４１２内のＣＡ証明書記憶部５２１に保存されているプリンタサーバ１０３の保有するいずれのＣＡ証明書でも復号できない場合はＳ１４０１を実行する。Ｓ１４０１においてプリンタサーバ１０３は受信した証明書が信頼できるかどうかの証明書検証処理として、認証サーバ送信手段５０７が証明書情報の参照を行うため、認証サーバ１０４に証明書情報の送信要求を送信する。
【０１２６】
Ｓ１４０２において認証サーバ１０４は認証サーバ１０４に登録されている全ての証明書情報をプリンタサーバ１０３に送信する。
【０１２７】
Ｓ１４０１の図１５のプリンタサーバ１０３内の処理としては、Ｓ１５０１で認証サーバ送信手段５０７が認証サーバ１０４に証明書情報の送信要求を送信する。Ｓ１４０２の図１５のプリンタサーバ１０３内の処理としては、Ｓ１５０２で認証サーバ受信手段５０８が送信された証明書情報を受信する。
【０１２８】
Ｓ１５０３で認証サーバ検証手段５０９がプリンタ１０５から受信した証明書が認証サーバ１０４から受信した証明書情報に含まれているかどうかを検証する。検証は実施例１と同じく、順番に証明書情報同士を比較することによって行う。その後の処理については実施例１と同一である。
【０１２９】
次に本ネットワークシステムにおける印刷時の流れを説明する。
【０１３０】
本実施例では証明書検証システム対応自己署名プリンタの場合について説明する。
【０１３１】
図１６は印刷時のネットワークシステム全体のフローであり、図１７は印刷時のプリンタサーバ１０３の内部処理フローである。なお、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
【０１３２】
なお、繰り返しになるが本実施例でもＳ１００５の印刷要求を受信した際にプリンタ種別判断手段５０５はＨＤＤ４１２内のプリンタ種別記憶部５２０に保存されたデータの取得を行うことで、Ｓ１１０２でプリンタ作成時に設定したプリンタ種別を確認する。
【０１３３】
Ｓ１１０２でプリンタ種別判断手段５０５がプリンタ１０５は証明書検証システム対応自己署名プリンタであると判断した場合は、Ｓ１６０１を実行する。プリンタサーバ１０３は受信した証明書が信頼できるかどうかの証明書検証処理として認証サーバ送信手段５０７が証明書情報の参照を行うため、Ｓ１６０１において認証サーバ１０４に証明書情報の送信要求を送信する。
【０１３４】
Ｓ１６０２において認証サーバ１０４は受信した証明書情報が認証サーバ１０４に登録されている全ての証明書情報をプリンタサーバ１０３に送信する。
【０１３５】
Ｓ１６０１、Ｓ１６０２時の図１７のプリンタサーバ１０３内の処理としては受信した証明書が信頼できるかどうかの証明書検証処理として、Ｓ１７０１で認証サーバ送信手段５０７が認証サーバ１０４に証明書情報の送信要求を送信する。Ｓ１７０２で認証サーバ受信手段５０８が証明書情報を受信する。
【０１３６】
Ｓ１７０３で認証サーバ検証手段５０９がプリンタ１０５から受信した証明書が認証サーバ１０４から受信した証明書情報に含まれているかどうかを検証する。その後の処理については実施例１と同一である。
【０１３７】
またその他のプリンタ種別のプリンタの場合の印刷時の流れは認証サーバを利用して証明書情報を検証することがないため実施例１と同一である。
【０１３８】
以上で説明したように、本実施例の構成によれば、プリンタに対してプリンタ種別を設定し、プリンタ種別に応じて印刷処理を変えている。これにより前述のように公的証明機関発行証明書所有プリンタが証明書検証システムに対応していなくても印刷を行うことができる。また、ＳＳＬ−ＷＳＤ対応プリンタやＳＳＬ非対応プリンタといった証明書検証システムに対応していないプリンタであっても同じく印刷を行うことができる。
【０１３９】
また、プリンタサーバ１０３と認証サーバ１０４が別の装置である環境について検討する。この環境でプリンタ１０５が証明書を有するが証明書検証システムに対応しないプリンタである場合は、プリンタサーバ１０３と認証サーバ１０４が通信を行ってプリンタ１０５の証明書を検証しても必ず証明書の検証に失敗する。本実施例ではこうしたプリンタは認証サーバ１０４による証明書の検証を行わない。よって証明書検証システム対応自己署名プリンタに比べて、これらのプリンタは印刷処理においてプリンタサーバ１０３と認証サーバ１０４の通信時間と検証時間分の高速化を行うことができる。
【０１４０】
さらにＳＳＬ非対応プリンタでは上述のメリットに加えて、プリンタ種別に応じて印刷処理を行うことにより、ＳＳＬに対応していなくても印刷を行うことができる。ゆえにＳＳＬに対応するプリンタと比較すると、プリンタサーバ１０３とのＳＳＬ接続処理がないためＳＳＬ通信の処理時間分の高速化を行うことができる。
【０１４１】
［実施例３］
本実施例では公的証明機関発行証明書所有プリンタが証明書検証システムに対応する場合について説明する。
【０１４２】
本実施例の構成は図１と同一であり、プリンタサーバ１０３と認証サーバ１０４はＬＡＮ等の通信経路で接続されている。［課題の詳細］でプリンタサーバおよび認証サーバは同じ装置に機能を搭載してもよいとしたが、本実施例では外部にある別の装置であるものとする。
【０１４３】
プリンタ作成時のフローは図７と同一である。また、プリンタ作成時のフローチャートは図８と同一である。
【０１４４】
図１８を用いて印刷実行時のフローを説明する。
【０１４５】
なお、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
【０１４６】
実施例１と異なり、本実施例ではプリンタ１０５が証明書検証システムに対応しているためＳ１００３、Ｓ１００４の認証サーバへのログイン、証明書情報の登録処理を行う。
【０１４７】
Ｓ１２０１において、プリンタサーバ１０３は、クライアント１０１から印刷要求を受信したら、プリンタ１０５に対して接続処理を行う。
【０１４８】
Ｓ１２０１の図１１のプリンタサーバ１０３内の処理としては、Ｓ１１０８で通信要求手段５０２がプリンタ１０５に対して接続処理を行う。
【０１４９】
Ｓ１２０２において、プリンタ１０５はセキュアＷＳＤで使用する証明書をプリンタサーバ１０３に送信し、プリンタサーバ１０３がこれを受信する。
【０１５０】
Ｓ１２０２の図１１のプリンタサーバ１０３内の処理としては、Ｓ１１０９で通信応答受信手段５０３がプリンタ１０５から送信された証明書を受信する。
【０１５１】
ここで、プリンタ１０５が証明書検証システムに対応しているため認証サーバ１０４にプリンタ１０５の証明書情報が登録されている。よって、プリンタサーバ１０３と認証サーバ１０４が通信を行って証明書情報のやりとりを行うことで、前述の証明書検証システム対応自己署名プリンタのように認証サーバ検証手段５０９で証明書の検証結果を確認することができる。
【０１５２】
しかし実施例１と実施例２の公的証明機関発行証明書所有プリンタと同じく、証明書検証手段５０６がＳ１２０２で受信した証明書はＨＤＤ４１２内のＣＡ証明書記憶部５２１に保存されているＣＡ証明書で復号できるか判断することができる。これによりプリンタサーバ１０３と認証サーバ１０４が通信を行って証明書情報のやりとりを行わなくても、さらに証明書検証システムに必要な処理である認証サーバ１０４での証明書検証の処理を行わなくても証明書を検証することが可能である。よって、プリンタサーバ１０３と認証サーバ１０４の通信と認証サーバ１０４の検証時間分を省くことができる。
【０１５３】
その後のＳ１０１０の処理については実施例１と同一のため割愛する。
【０１５４】
［請求項４］
本実施例ではＳＳＬ−ＷＳＤ対応プリンタ又はＳＳＬ非対応プリンタでユーザが印刷を指示した際にユーザにセキュリティ上の警告を行う例について説明する。
【０１５５】
具体的にはユーザがＳＳＬ−ＷＳＤ対応プリンタ又はＳＳＬ非対応プリンタで印刷を指示すると図２０の警告が表示される。図２０（Ａ）はＳＳＬ−ＷＳＤ対応プリンタの場合に表示される警告であり、図２０（Ｂ）はＳＳＬ非対応プリンタの場合に表示される警告である。
【０１５６】
まず、プリンタサーバ１０３で警告を表示する場合には警告送り手段５１３がプリンタ種別をＨＤＤ４１２内のプリンタ種別記憶部５２０に保存されたデータから取得して、ＣＲＴ表示装置４１１上に警告を表示するために必要な情報をＲＡＭ４０３に送る。プリンタサーバ１０３はこの必要な情報に基づいて警告を行う。
【０１５７】
次にＳＳＬ−ＷＳＤ対応プリンタを例にクライアント１０１で警告を表示する場合について説明する。
【０１５８】
図２１（Ａ）に警告を表示する場合の印刷の流れを示す。
【０１５９】
なお、既に説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。また、Ｓ１１０２とＳ１１０７の間の処理についても既に説明したため、図２１では省略している。
【０１６０】
Ｓ１２０１でプリンタサーバ１０３は警告に必要な情報をクライアント１０１に送る。
【０１６１】
Ｓ１２０２でクライアント１０１はユーザが警告を把握した上で印刷を継続する指示をプリンタサーバ１０３に送信する。
【０１６２】
図２１（Ｂ）に警告を表示する場合のプリンタサーバ１０３の処理の流れを示す。
【０１６３】
プリンタサーバ１０３はＳ１００５の印刷要求に含まれるいずれのプリンタで印刷をするかを示す情報からユーザが印刷をしようとしているプリンタのプリンタ種別を取得する。そして、Ｓ２１１１でプリンタサーバ１０３は取得したプリンタ種別がＳＳＬ−ＷＳＤ対応プリンタであるか否かを判断する。判断の結果、ＳＳＬ−ＷＳＤ対応プリンタであればＳ２１１２を実行し、ＳＳＬ−ＷＳＤ対応プリンタでなければ終了する。
【０１６４】
Ｓ２１１２で警告送り手段５１３がクライアント１０１にユーザへ警告するために必要な情報を送る。
【０１６５】
警告するために必要な情報とは、警告文であるか、もしくはクライアント１０１に予め用意された警告文を表示するためのＡＰＩを呼ぶための情報が考えられる。
【０１６６】
Ｓ２１１３はＳ１２０２に対応する。Ｓ２１１３でクライアント１０１が印刷継続を指示する場合はＳ１１０２を実行する。クライアント１０１が印刷継続を指示しない場合はタイムアウトで終了する。
【０１６７】
以上ＳＳＬ−ＷＳＤ対応プリンタを例にクライアント１０１で警告を表示する場合について説明を行った。ＳＳＬ非対応プリンタにおいても同じく図１３の印刷のフローでＳ２１０１とＳ２１０２を実行することで実現することができる。その際のプリンタサーバ１０３のフローは図２１（Ｂ）と同様であり、異なる点はＳ２１１１がＳＳＬ非対応デバイスであるか否かを判断する点である。
【０１６８】
また、本発明は、以下の処理を実行することによっても実現される。
【０１６９】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１７０】
１０１  クライアント
１０４  認証サーバ
１０５  プリンタ
５０５  プリンタ種別判断手段
５０２  通信要求手段
５０３  通信応答受信手段
５０７  認証サーバ送信手段
５０９  認証サーバ受信手段
５１０  印刷要求受信手段
５１１  印刷手段
【図１】
2013061709.tif 000003
【図２】
2013061709.tif 000004
【図３】
2013061709.tif 000005
【図４】
2013061709.tif 000006
【図５】
2013061709.tif 000007
【図６】
2013061709.tif 000008
【図７】
2013061709.tif 000009
【図８】
2013061709.tif 000010
【図９】
2013061709.tif 000011
【図１０】
2013061709.tif 000012
【図１１】
2013061709.tif 000013
【図１２】
2013061709.tif 000014
【図１３】
2013061709.tif 000015
【図１４】
2013061709.tif 000016
【図１５】
2013061709.tif 000017
【図１６】
2013061709.tif 000018
【図１７】
2013061709.tif 000019
【図１８】
2013061709.tif 000020
【図１９】
2013061709.tif 000021
【図２０】
2013061709.tif 000022
【図２１】
2013061709.tif 000023