(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の印刷装置を管理し、複数の印刷制御装置と通信するデバイス管理システムであって、
前記ネットワークに新規に接続された印刷装置を識別する識別手段と、
前記識別手段により識別された印刷装置の印刷ジョブに係る暗号情報を取得する暗号情報取得手段と、
前記識別手段により識別された印刷装置を特定する情報と、前記印刷装置に対応するプリンタドライバと、前記暗号情報取得手段により取得された暗号情報と、前記識別手段により識別された印刷装置の所属情報とを関連付けて記憶媒体に記憶させる記憶制御手段と、
前記記憶制御手段により記憶媒体に記憶された所属情報を用いて、前記識別手段により識別された印刷装置を制御することが可能な印刷制御装置を特定する印刷制御装置特定手段と、
前記識別手段により識別された印刷装置に関連する前記プリンタドライバと前記暗号情報とを前記記憶媒体から読み出し、前記印刷制御装置特定手段により特定された印刷制御装置に出力する出力手段とを有することを特徴とするデバイス管理システム。
【請求項２】
前記識別手段により、前記ネットワークに新規に接続された印刷装置が識別されると、該ネットワークに新規に接続された印刷装置に暗号化能力が備わっているか否かを判定する暗号化能力判定手段を有し、
前記記憶制御手段は、前記暗号化能力判定手段により暗号化能力が備わっていると判定された印刷装置を特定する情報と、前記暗号化能力判定手段により暗号化能力が備わっていると判定された印刷装置に対応するプリンタドライバと、前記暗号情報取得手段により取得された暗号情報と、前記暗号化能力判定手段により暗号化能力が備わっていると判定された印刷装置の所属情報とを関連付けて記憶媒体に記憶させることを特徴とする請求項１に記載のデバイス管理システム。
【請求項３】
前記暗号化能力判定手段により暗号化能力が備わっていると判定された印刷装置が、公開鍵を有しているか否かを判定する暗号情報所有判定手段を有し、
前記暗号情報取得手段は、前記暗号情報所有判定手段により公開鍵を有していると判定された場合には、その公開鍵を前記暗号情報として取得し、公開鍵を有していないと判定された場合には、その公開鍵を有していないと判定された印刷装置に公開鍵の作成を指示し、その公開鍵の作成を指示した印刷装置で作成された公開鍵を前記暗号情報として取得することを特徴とする請求項２に記載のデバイス管理システム。
【請求項４】
前記暗号化能力判定手段により暗号化能力が備わっていると判定された印刷装置が公開鍵を有しているか否かを判定する暗号情報所有判定手段を有し、
前記暗号情報取得手段は、前記暗号情報所有判定手段により公開鍵を有していると判定された場合には、その公開鍵を前記暗号情報として取得し、公開鍵を有していないと判定された場合には、秘密鍵を生成し、生成した秘密鍵を、前記公開鍵を有していないと判定された印刷装置に送信することを特徴とする請求項２に記載のデバイス管理システム。
【請求項５】
前記出力手段は、前記印刷制御装置特定手段により特定された印刷制御装置からの要求に応じて、前記暗号情報取得手段により取得された暗号情報を出力することを特徴とする請求項１〜４の何れか１項に記載のデバイス管理システム。
【請求項６】
前記印刷制御装置特定手段により特定された印刷制御装置が、前記識別手段により識別された印刷装置への印刷ジョブを生成する際に用いる暗号情報を、前記印刷制御装置特定手段により特定された印刷制御装置に出力することを特徴とする請求項５に記載のデバイス管理システム。
【請求項７】
前記印刷制御装置特定手段は、前記識別手段により識別された印刷装置のネットワークアドレスに基づくサブネットに属する印刷制御装置を、前記識別手段により識別された印刷装置に対応する印刷制御装置として特定することを特徴とする請求項１〜６の何れか１項に記載のデバイス管理システム。
【請求項８】
前記識別手段により識別された印刷装置の識別情報と、前記識別手段により識別された印刷装置の印刷ジョブに係る暗号情報であって前記暗号情報取得手段により取得された暗号情報とを、前記ネットワークに接続されたディレクトリ装置に出力する出力手段を有することを特徴とする請求項１〜４の何れか１項に記載のデバイス管理システム。
【請求項９】
前記印刷制御装置特定手段により特定された印刷制御装置が、前記識別手段により識別された印刷装置を制御するための情報を、前記印刷制御装置特定手段により特定された印刷制御装置に出力する第２の出力手段とを有することを特徴とする請求項８に記載のデバイス管理システム。
【請求項１０】
前記印刷制御装置特定手段は、前記記憶制御手段により記憶された所属情報に基づく所属単位を判別し、判別した所属単位に属する印刷制御装置を、前記識別手段により識別された印刷装置を制御することが可能な印刷制御装置として特定することを特徴とする請求項９に記載のデバイス管理システム。
【請求項１１】
前記所属情報には、サブネット、或は、仮想サブネット、或は、ユーザＩＤが含まれることを特徴とする請求項１〜１０の何れか１項に記載のデバイス管理システム。
【請求項１２】
ネットワークに接続された複数の印刷装置を管理し、複数の印刷制御装置と通信するデバイス管理方法であって、
前記ネットワークに新規に接続された印刷装置を識別する識別ステップと、
前記識別ステップにより識別された印刷装置の印刷ジョブに係る暗号情報を取得する暗号情報取得ステップと、
前記識別ステップにより識別された印刷装置を特定する情報と、前記印刷装置に対応するプリンタドライバと、前記暗号情報取得ステップにより取得された暗号情報と、前記識別ステップにより識別された印刷装置の所属情報とを関連付けて記憶媒体に記憶させる記憶制御ステップと、
前記記憶制御ステップにより記憶媒体に記憶された所属情報を用いて、前記識別ステップにより識別された印刷装置を制御することが可能な印刷制御装置を特定する印刷制御装置特定ステップと、
前記識別ステップにより識別された印刷装置に関連する前記プリンタドライバと前記暗号情報とを前記記憶媒体から読み出し、前記印刷制御装置特定ステップにより特定された印刷制御装置に出力する出力ステップとを有することを特徴とするデバイス管理方法。
【請求項１３】
前記識別ステップにより、前記ネットワークに新規に接続された印刷装置が識別されると、該ネットワークに新規に接続された印刷装置に暗号化能力が備わっているか否かを判定する暗号化能力判定ステップを有し、
前記記憶制御ステップは、前記暗号化能力判定ステップにより暗号化能力が備わっていると判定された印刷装置を特定する情報と、前記暗号化能力判定ステップにより暗号化能力が備わっていると判定された印刷装置に対応するプリンタドライバと、前記暗号情報取得ステップにより取得された暗号情報と、前記暗号化能力判定ステップにより暗号化能力が備わっていると判定された印刷装置の所属情報とを関連付けて記憶媒体に記憶させることを特徴とする請求項１２に記載のデバイス管理方法。
【請求項１４】
前記暗号化能力判定ステップにより暗号化能力が備わっていると判定された印刷装置が公開鍵を有しているか否かを判定する暗号情報所有判定ステップを有し、
前記暗号情報取得ステップは、前記暗号情報所有判定ステップにより公開鍵を有していると判定された場合には、その公開鍵を前記暗号情報として取得し、公開鍵を有していないと判定された場合には、その公開鍵を有していないと判定された印刷装置に公開鍵の作成を指示し、その公開鍵の作成を指示した印刷装置で作成された公開鍵を前記暗号情報として取得することを特徴とする請求項１３に記載のデバイス管理方法。
【請求項１５】
前記暗号化能力判定ステップにより暗号化能力が備わっていると判定された印刷装置が公開鍵を有しているか否かを判定する暗号情報所有判定ステップを有し、
前記暗号情報取得ステップは、前記暗号情報所有判定ステップにより公開鍵を有していると判定された場合には、その公開鍵を前記暗号情報として取得し、公開鍵を有していないと判定された場合には、秘密鍵を生成し、生成した秘密鍵を、前記公開鍵を有していないと判定された印刷装置に送信することを特徴とする請求項１３に記載のデバイス管理方法。
【請求項１６】
前記出力ステップは、前記印刷制御装置特定ステップにより特定された印刷制御装置からの要求に応じて、前記暗号情報取得ステップにより取得された暗号情報を出力することを特徴とする請求項１２〜１５の何れか１項に記載のデバイス管理方法。
【請求項１７】
前記印刷制御装置特定ステップにより特定された印刷制御装置が、前記識別ステップにより識別された印刷装置への印刷ジョブを生成する際に用いる暗号情報を、前記印刷制御装置特定ステップにより特定された印刷制御装置に出力することを特徴とする請求項１６に記載のデバイス管理方法。
【請求項１８】
前記印刷制御装置特定ステップは、前記識別ステップにより識別された印刷装置のネットワークアドレスに基づくサブネットに属する印刷制御装置を、前記識別ステップにより識別された印刷装置に対応する印刷制御装置として特定することを特徴とする請求項１２〜１７の何れか１項に記載のデバイス管理方法。
【請求項１９】
前記識別ステップにより識別された印刷装置の識別情報と、前記識別ステップにより識別された印刷装置の印刷ジョブに係る暗号情報であって前記暗号情報取得ステップにより取得された暗号情報とを、前記ネットワークに接続されたディレクトリ装置に出力する出力ステップを有することを特徴とする請求項１２〜１５の何れか１項に記載のデバイス管理方法。
【請求項２０】
前記印刷制御装置特定ステップにより特定された印刷制御装置が、前記識別ステップにより識別された印刷装置を制御するための情報を、前記印刷制御装置特定ステップにより特定された印刷制御装置に出力する第２の出力ステップとを有することを特徴とする請求項１９に記載のデバイス管理方法。
【請求項２１】
前記印刷制御装置特定ステップは、前記記憶制御ステップにより記憶された所属情報に基づく所属単位を判別し、判別した所属単位に属する印刷制御装置を、前記識別ステップにより識別された印刷装置を制御することが可能な印刷制御装置として特定することを特徴とする請求項２０に記載のデバイス管理方法。
【請求項２２】
前記所属情報には、サブネット、或は、仮想サブネット、或は、ユーザＩＤが含まれることを特徴とする請求項１２〜２１の何れか１項に記載のデバイス管理方法。
【請求項２３】
請求項１２〜２２の何れか１項に記載のデバイス管理方法における各ステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２４】
請求項１２〜２２の何れか１項に記載のデバイス管理方法における各ステップをコンピュータに実行させるためのコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス管理システム、デバイス管理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体に関し、特に、印刷ジョブに係る暗号情報を効率的に管理するために用いて好適なものである。
【背景技術】
【０００２】
近年、コンピュータを相互に接続したコンピュータネットワーク（以下、単にネットワークと称する）が普及している。このようなネットワークは、ビルのフロア、ビル全体、ビル群（構内）、又は地域といった狭いエリアだけでなく、より大きいエリアに構築することができる。このようなネットワークは更に相互に接続され、相互に接続されたネットワークにより世界的規模のネットワーク、いわゆる"インターネット"を形成している。
【０００３】
また、ネットワークには、コンピュータの他に、プリンタ、ファクシミリ、及びコピー機といったコンピュータ周辺機器も接続されていることが多く、ユーザは、このコンピュータ周辺機器を、コンピュータからネットワーク経由で利用することが可能である。ネットワーク経由での印刷（以下、ネットワーク印刷と称する）は、大型の高速プリンタや高価なカラープリンタを複数のコンピュータで共有したり、離れた場所から印刷を行ったりすることが可能となる利点があり、昨今では一般的に利用されるようになってきている。
【０００４】
一方、セキュリティや費用管理の観点から、印刷ジョブの投入を正確に管理しようという動きがあり、その為に、例えば、印刷要求に証明書を付加し、正当な印刷ジョブであることを確認して、印刷を許可するシステムが考案されている。
また、ネットワークやインターネットは、不特定多数の人間が利用している。その為、印刷ジョブがネットワーク上を流れるネットワーク印刷では、印刷ジョブが第三者に改ざんされるといった危険（脅威）が発生する。
例えば、顧客情報や社外秘情報などの守秘データをネットワーク経由で印刷するようなケースでは、印刷ジョブの改ざんが行われたり、なりすましにより不正に印刷ジョブが印刷されたりした場合に、非常に大きな問題となる。
【０００５】
このようなネットワーク印刷時の印刷ジョブの改ざん（なりすまし）を防止する手段として、印刷ジョブの全て、或は一部或は付属データを暗号化するといった方法が提案され、実施されつつある。
例えば、公開鍵暗号化方式を利用し、秘密鍵を保有するプリンタに対して印刷を行う場合に、前記秘密鍵と対になる公開鍵で印刷ジョブを暗号化してからプリンタに送信するようなシステムが、特許文献１において提案されている。
【０００６】
この特許文献１で提案されているシステムでは、印刷ジョブを、通信媒体を介して指定のプリンタに送信して、前記指定のプリンタにより前記印刷ジョブを印刷するように制御するに際して、前記印刷ジョブの印刷が指定されたプリンタでのみ復号化することが可能な暗号化方法で前記印刷ジョブを暗号化するようにしている。したがって、印刷ジョブが盗み取られたとしても、前記印刷ジョブが他のプリンタで印刷されることを防止することができ、盗み取られた印刷ジョブが第三者に利用されることを防止することができる。
【０００７】
【特許文献１】特開２００４−８６８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述したように、ネットワーク印刷時の印刷ジョブを保護する為など、印刷ジョブに係わる暗号処理が重要となる。しかしながら、そのためには暗号化に使用する暗号情報を管理する必要がある。
例えば、暗号化の方式として公開鍵暗号化方式を使用する場合において、プリンタドライバを備えた印刷制御装置が、印刷装置の公開鍵で印刷ジョブに係わる暗号化を行うためには、前記印刷制御装置が前記公開鍵を入手することが必要となるケースがある。この場合、何らかの手段によって前記印刷装置から前記公開鍵を取り出し、前記印刷制御装置に前記公開鍵を配布する必要がある。
【０００９】
前記印刷制御装置及び前記印刷装置の数が、少数の場合は、前記印刷制御装置一台ずつに前記公開鍵を手動で配布するといった方法で解決できる。しかしながら、ネットワークの利用を想定した場合、前記印刷制御装置及び前記印刷装置の数はそれぞれ相当数にのぼるケースも多いことと、遠隔地から前記印刷装置を使用することも考えられることとから、前記公開鍵を人間の手によって配布することは困難になる。
【００１０】
また、システムを運用する都合上、どの印刷装置の公開鍵がどれで、どの印刷制御装置にどの公開鍵を配布すべきかといった管理も必要となる。しかしながら、前記印刷制御装置及び前記印刷装置の数が数十台〜数千台規模のネットワークでは、そのような公開鍵の管理が非常に煩雑になっていく。このため、システムを適切に維持することができなくなってしまうという問題がある。
本発明は、かかる問題点に鑑みてなされたものであり、印刷ジョブに係る暗号処理を行うための暗号情報を効率的に管理することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のデバイス管理システムは、ネットワークに接続された複数の印刷装置を管理し、複数の印刷制御装置と通信するデバイス管理システムであって、前記ネットワークに新規に接続された印刷装置を識別する識別手段と、前記識別手段により識別された印刷装置の印刷ジョブに係る暗号情報を取得する暗号情報取得手段と、前記識別手段により識別された印刷装置を特定する情報と、前記印刷装置に対応するプリンタドライバと、前記暗号情報取得手段により取得された暗号情報と、前記識別手段により識別された印刷装置の所属情報とを関連付けて記憶媒体に記憶させる記憶制御手段と、前記記憶制御手段により記憶媒体に記憶された所属情報を用いて、前記識別手段により識別された印刷装置を制御することが可能な印刷制御装置を特定する印刷制御装置特定手段と、前記識別手段により識別された印刷装置に関連する前記プリンタドライバと前記暗号情報とを前記記憶媒体から読み出し、前記印刷制御装置特定手段により特定された印刷制御装置に出力する出力手段とを有することを特徴とする。
【００１２】
本発明のデバイス管理方法は、ネットワークに接続された複数の印刷装置を管理し、複数の印刷制御装置と通信するデバイス管理方法であって、前記ネットワークに新規に接続された印刷装置を識別する識別ステップと、前記識別ステップにより識別された印刷装置の印刷ジョブに係る暗号情報を取得する暗号情報取得ステップと、前記識別ステップにより識別された印刷装置を特定する情報と、前記印刷装置に対応するプリンタドライバと、前記暗号情報取得ステップにより取得された暗号情報と、前記識別ステップにより識別された印刷装置の所属情報とを関連付けて記憶媒体に記憶させる記憶制御ステップと、前記記憶制御ステップにより記憶媒体に記憶された所属情報を用いて、前記識別ステップにより識別された印刷装置を制御することが可能な印刷制御装置を特定する印刷制御装置特定ステップと、前記識別ステップにより識別された印刷装置に関連する前記プリンタドライバと前記暗号情報とを前記記憶媒体から読み出し、前記印刷制御装置特定ステップにより特定された印刷制御装置に出力する出力ステップとを有することを特徴とする。
【００１３】
本発明のコンピュータプログラムは、前記デバイス管理方法における各ステップをコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記憶媒体は、前記デバイス管理方法における各ステップをコンピュータに実行させるためのコンピュータプログラムを記憶したことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、印刷ジョブに係る暗号情報を効率的に管理できる。
【発明を実施するための最良の形態】
【００１５】
次に、図面を参照しながら、本発明の実施形態について説明する。
（第１の実施形態）
まず、本発明の第１の実施形態を説明する。
図１は、本実施形態の印刷処理システムの構成の一例を示す図である。
図１において、１は、後述する各端末装置が接続されるネットワークである。図１に示す印刷処理システムでは、イーサネット（登録商標）等を用いて、一つの建物内の一つの階のユーザ、又は連続した複数の階のユーザからなるユーザグループ等、ローカルなユーザグループにサービスを提供する。
【００１６】
また、例えば、ユーザが他の建物や他県に居る場合など、ユーザとユーザとの間の距離が離れている場合には、ワイドエリアネットワーク（ＷＡＮ）を用いてネットワークを構成してもよい。ここで、前記ＷＡＮは、基本的には、いくつかのＬＡＮを、広域イーサネット（登録商標）やＩＳＤＮ電話線等の高速度デジタルラインで接続して形成されたものであり、前記ＬＡＮの集合体である。これらＬＡＮの接続は、数本のバスによる単純な電気的接続である。
【００１７】
２は、ネットワーク１に接続された印刷装置１４〜１６、２４〜２６、及び印刷制御装置１１〜１３、２１〜２３を管理する機能を有する印刷管理システムである。印刷管理システム２においては、Microsoft Windows（登録商標）や、UNIX（登録商標）などのオペレーティングシステム（ＯＳ）に対応したコンピュータが稼動する。また、前記ＯＳと、印刷装置１４〜１６、２４〜２６及び印刷制御装置１１〜１３、２１〜２３を管理する機能を実現するためのアプリケーションプログラム等が稼動する。詳細な構成は図２を用いて後述する。
【００１８】
点線枠３は、ネットワーク１内で論理的に形成される、クライアントのある所属単位を示す。図１の場合は、クライアントのサブネットグループを示している。ネットワーク１に接続される各端末装置には、ネットワークアドレスが割り当てられている。これらのネットワークアドレスは、論理的に"サブネット"と呼ばれるグループを構成する。例えば、IP v4仕様においては、サブネットマスクにより、各ネットワークアドレスがどのサブネットに属するか規定され、サブネットに属する端末装置を運用することが可能となっている。サブネットグループ３は、印刷制御装置１１〜１３、印刷装置１４〜１６、及び図示されていないファイルサーバやデータベースサーバ等によって構成される。
【００１９】
点線枠４は、ネットワーク１内で論理的に形成される所属単位であって、サブネットグループ３とは別のクライアントの所属単位を示す。図１の所属単位４も図１のサブネットグループ３と同様に、クライアントのサブネットグループを示しており、前記サブネットグループ３とは別のサブネットグループである。サブネットグループ４は、印刷制御装置２１〜２３、印刷装置２４〜２６、及び図示されていないファイルサーバやデータベースサーバ等によって構成される。
【００２０】
１１は、印刷制御装置である。印刷制御装置１１は、Microsoft Windows（登録商標）や、UNIX（登録商標）などのＯＳをインストールしたコンピュータ（情報処理装置）を適用できる。印刷制御装置１１は、印刷ジョブを生成して印刷装置１４〜１６に出力する印刷制御プログラム（印刷ドライバ）等を備えて構成される。また、印刷制御装置１１は、印刷ジョブを生成する際に暗号情報を用いて印刷ジョブに係わる暗号処理を行う機能も有している。ここでの印刷ジョブに係わる暗号処理とは、例えば、印刷ジョブそのものの暗号化や、印刷ジョブの正当性を証明する証明書の改竄防止の為の暗号化の処理を指す。印刷装置は、自装置に対応した暗号処理が施された印刷ジョブのみを正常に復号化でき、結果、正当な暗号処理が施されていない印刷ジョブの印刷出力を防ぐことが出来る。
【００２１】
印刷ジョブにこのような暗号処理を行うための、例えば暗号鍵のような情報（又は、この暗号処理が行われた印刷ジョブに対して復号処理を行うための、例えば復号鍵のような情報）を、本実施形態では暗号情報と称する。なお、この暗号情報は、印刷ジョブを秘密化するための秘密化情報（又は、印刷ジョブの全部或は一部或は付属データの秘密化を解除するための秘密化解除情報）ということもできる。また、この暗号情報は、印刷ジョブの改竄を禁止するための改竄禁止情報（又は、印刷ジョブの改竄禁止状態を解除する改竄禁止解除情報）ということもできる。
【００２２】
図１に示すように、印刷制御装置１１は、ネットワーク１に接続され、所属単位としてサブネットグループ３に属している。
１２及び１３も、印刷制御装置１１と同様の構成を有する印刷制御装置である。本実施形態においては、印刷制御装置１１〜１３は、同一の所属単位のサブネットグループ３の印刷装置１１〜１３に対し、印刷を実行するものとする。なお、以下の説明では、所属単位としてサブネットグループを例に説明するが、これには限定されない。例えば所属単位を、各クラインとに対応付けられた部門ＩＤ（ユーザを識別する意味でユーザＩＤと呼ぶこともある）、権限としても良い。また、スイッチ／ハブにおいて、スイッチの分割をスイッチ内部で仮想的に実現することで、ネットワーク分割の作業と物理的な接続状況とを分離する仮想サブネットとしても良い。そして、各装置（印刷制御装置や、印刷装置）や各ユーザは、何れかの所属単位に属することとなる。
【００２３】
１４は、印刷装置であり、受信した印刷ジョブに基づいて画像を形成し、画像を紙に出力する機能を有する。プリンタ、コピー機、あるいはファクシミリ機能を有するような複合機などが、この印刷装置１４に該当するものとする。また、印刷装置１４は、暗号処理を行う機能も有している場合がある。図１に示すように、印刷装置１４は、ネットワーク１に接続され、所属単位としてサブネットグループ３に属している。１５及び１６も、印刷装置１４と同様の構成を有する印刷装置である。
【００２４】
２１〜２３は、印刷制御装置である。内部構成や能力は、印刷制御装置１１と同様である。ただし、図１に示すように、印刷制御装置２１〜２３は、所属単位としてサブネットグループ４に属している。図１においては、印刷制御装置２１〜２３は、サブネットグループ４に接続されている印刷装置２４〜２６に対し、印刷を実行するものとする。２４〜２６は、印刷装置である。内部構成や能力は、印刷装置１４と同様である。ただし、図１に示すように、印刷装置２４〜２６は、サブネットグループ４の所属単位に属している。
【００２５】
図２は、印刷管理システム２に設けられたコンピュータの構成の一例を示すブロック図である。なお、印刷制御装置１１も同様の構成を備えるものとする。
図２において、印刷管理システム２は、ＲＯＭ５０２もしくはハードディスク（ＨＤ）５１１に記憶された、あるいはフレキシブルディスクドライブ（ＦＤ）５１２より供給される印刷装置管理プログラムを実行するＣＰＵ５０１を備えている。ＣＰＵ５０１は、システムバス５０４に接続される各デバイスを総括的に制御する。
【００２６】
５０３はＲＡＭであり、ＣＰＵ５０１の主メモリや、ワークエリア等として機能する。５０５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）５０９や不図示のポインティングデバイス等からの指示入力を制御する。５０６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）５１０の表示を制御する。
【００２７】
５０７はディスクコントローラ（ＤＫＣ）である。ＤＫＣ５０７は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、及び印刷装置管理プログラム等を記憶するハードディスク（ＨＤ）５１１やフレキシブルディスクコントローラ（ＦＤ）５１２とのアクセスを制御する。５０８はネットワークインタフェースカード（ＮＩＣ）であり、ネットワーク１を介して、各印刷装置１４〜１６、２４〜２６や各印刷制御装置と双方向にデータをやりとりする。
【００２８】
また、本実施形態の印刷管理システム２のユーザインタフェースは、ＫＢ５０９及びＣＲＴ５１０といった、印刷管理システム２に物理的に接続されているデバイスの他に、ＨＴＴＰ／ＨＴＭＬ等を利用したＷｅｂインタフェースも含む。よって、ネットワーク１の管理者用コンピュータから、ネットワーク１を介して印刷管理システム２を操作することも可能である。この場合には、管理者用コンピュータも印刷管理システム２の一部とすることができる。
また、ＲＯＭ５０２もしくはハードディスク（ＨＤ）５１１には、印刷装置管理プログラムの他に、管理対象となる装置の情報を保持する装置管理テーブル６０や、各印刷装置用の印刷制御プログラム（印刷ドライバ）を保持するプログラム管理テーブル８０が存在する。
【００２９】
次に、本実施形態の印刷処理システムの動作について、詳細に説明する。
本実施形態では、暗号化方式として、公開鍵暗号化方式（Public Key Infrastructure）を使用する。
この公開鍵暗号化方式では、暗号情報として、秘密鍵と公開鍵が存在し、どちらか一方の鍵で暗号化したデータは、もう一方の鍵でのみ復号が可能となっている。通常は、公開鍵は公開し、秘密鍵は内部で保持して使用する。この方式では、通信相手ごとに暗号情報（公開鍵）を用意する必要がなく、公開鍵は基本的に任意に公開可能である。このため、通信相手に暗号鍵を渡すことが容易であり、かつ論理的には自分だけが復号できるといった利点がある。
【００３０】
本実施形態の印刷処理システムでは、公開鍵暗号化方式を用いて、印刷ジョブに係る暗号化処理を行う。
【００３１】
では、図３のフローチャートを参照しながら、本実施形態の印刷管理システム２により実行される印刷装置管理プログラムが提供する管理機能の一例について詳細に説明する。
まず、ステップＳ１０１において、ネットワーク１に接続された印刷装置１４〜１６、２４〜２６を識別すべく探索要求パケットをネットワーク１に出力して、印刷装置１４〜１６、２４〜２６の探索を開始する。本実施形態では探索パケットとして、複数の探索方法がサポートされている。例えば、ＳＬＰ（Service Location Protocol）マルチキャストパケット、及びＳＮＭＰ（Simple Network Management Protocol）ブロードキャストパケットが例として挙げられる。
【００３２】
前記ＳＬＰは、ＩＥＴＦ ＲＦＣ２１６５で規定されているネットワークプロトコルである。このプロトコルを使用することでネットワーク１上のサービス（サービスを提供しているノードのネットワークアドレス）を検索することが可能になる。ここでは、印刷管理システム２は、サービスタイプとしてプリンタが指定されたＳＬＰマルチキャストパケットを送信することにより、サブネットグループ３、４を含むネットワーク１上に接続されたプリンタ（印刷装置１４〜１６、２４〜２６）を検索する。
【００３３】
また、前記ＳＬＰに対応していない装置を探索するため、印刷管理システム２は、前述したように、ＳＮＭＰブロードキャストパケットをサブネットグループ３、４へ送信する。前記ＳＮＭＰは、ＩＥＴＦ ＲＦＣ１１５７等で規定されているネットワークプロトコルである。このプロトコルとＭＩＢと呼ばれる構造化データを使用することでネットワーク１上のノードの情報を取得することが可能である。ここでは、印刷管理システム２は、ＰｒｉｎｔｅｒＭＩＢ（ＩＥＴＦ ＲＦＣ１７５９）をブロードキャストパケットで送信することにより、サブネットグループ３、４を含むネットワーク１上に接続されたプリンタ（印刷装置１４〜１６、２４〜２６）を検索する。
【００３４】
次に、ステップＳ１０２において、前記探索要求パケットに対する印刷装置１４〜１６、２４〜２６からの探索応答パケットを受信する。前記探索要求パケットが、マルチキャストもしくはブロードキャストであるのに対し、前記探索応答パケットは、一台一台の装置から返され、前記ＳＬＰ及び前記ＳＮＭＰでそれぞれ異なるパケットフォーマットになっている。ここでは、全ての探索応答パケットを受信するのではなく、一台分の探索応答パケットを受信したら、次のステップＳ１０３を実行する。
なお、本実施形態の探索要求パケット及び探索応答パケットの通信状況の一例を、図５に示す。
【００３５】
次に、ステップＳ１０３において、前記受信した探索応答パケットから、応答のあった印刷装置のネットワークアドレス（所属情報）を取り出して、図６に示すような装置管理テーブル６０に登録する。ここで取り出される所属情報としては、所属単位を特定する為の情報であり、図中では所属情報としてネットワークアドレスを取り出すこととなる。ここで、装置管理テーブル６０は、印刷装置管理プログラムが保持するデータテーブルであり、図６に示すように、印刷装置１４〜１６、２４〜２６及び印刷制御装置１１〜１３、２１〜２３のネットワークアドレス、ネットワーク１上での識別子（例えばＭＡＣアドレス）などの印刷装置情報を保持するための構造を持つ。本実施形態では、特に、印刷装置１４〜１６、２４〜２６の公開鍵を一時的に保持するための構造を持つ。なお、装置管理テーブル６０に登録されるネットワークアドレスは、ＩＰアドレスであってもよい。またネットワークアドレスの代わりに、ＦＱＤＮ（Fully Qualified Domain Name）等を登録してもよい。
【００３６】
次に、ステップＳ１０４において、あらかじめ定められた探索応答待ちの待ち時間が満了（タイムアウト）したかどうかを判別する。前記探索応答待ち時間としては、印刷装置管理アプログラムの設定、もしくはユーザの指定により任意の値が与えられる。この判別の結果、探索応答待ちの待ち時間が満了した場合にはステップＳ１０５を実行する。一方、探索応答待ちの待ち時間が満了していない場合には、満了するまでステップＳ１０２〜Ｓ１０４を繰り返し実行する。
【００３７】
ステップＳ１０５において、装置管理テーブル６０を参照し、今回の探索処理で新規の印刷装置が発見されたかどうかを検索する。新規の印刷装置（デバイス）を調べるには例えば印刷装置名や、印刷装置のＭＡＣアドレスなどの印刷装置識別情報をキーに、新たな印刷装置識別情報が検索されるか否かを調べれば良い。本実施形態では、図５に示すように、印刷装置１６が新たにネットワーク１に接続され、新規の印刷装置として発見されたものとする。なお、上の説明では、印刷管理システム２が新規な印刷装置（デバイス）を探索するよう説明したが、別の形態でも、新規な印刷装置を識別することができる。例えば、新規にネットワーク１に接続された印刷装置自ら、印刷管理システム２に対し、印刷装置を識別する情報（例えばＭＡＣアドレス）を通知し、その通知を受信した印刷管理システム２が、後述のステップＳ１０６以降の処理を行うようにしても良い。
次に、ステップＳ１０６において、新規の印刷装置が発見されたかどうかを判別する。新規の印刷装置の検索が終了し、装置管理テーブル６０内に新規の印刷装置がなかった場合には、図４のフローチャートのステップＳ２０１へ移行する。
一方、装置管理テーブル６０内に新規の印刷装置があった場合には、ステップＳ１０７を実行する。本実施形態では、新規の印刷装置として印刷装置１６が発見されたとしているので、以降において、新規の印刷装置が対象となる処理は印刷装置１６に対して実行される。
【００３８】
次に、ステップＳ１０７において、新規の印刷装置（ここでは印刷装置１６）から、暗号化の能力や、公開鍵暗号化方式の機能などを含む印刷装置の能力情報を取得する。能力情報の取得においては、ＳＬＰやＳＮＭＰのユニキャストパケットを使用する。
次に、ステップＳ１０８において、新規の印刷装置が公開鍵暗号化方式をサポートしているかどうかを、ステップＳ１０７で取得した能力情報に基づいて判別する。この判別の結果、新規の印刷装置が公開鍵暗号化方式をサポートしている場合には、ステップＳ１０９を実行する。一方、新規の印刷装置が公開鍵暗号化方式をサポートしていない場合は、ステップＳ１０５を再度実行する。
【００３９】
ステップＳ１０９において、新規の印刷装置（ここでは印刷装置１６）とＳＳＬによる通信接続を行う。ＳＳＬ（Secure Socket Layer）は、Netscape Communications社が提案したセキュリティプロトコルであり、暗号化、認証、及び改ざん防止といった機能を提供する。昨今主に使用されているのは、ＳＳＬ3.0であり、このＳＳＬ3.0をベースにＩＥＴＦで標準化が進められ、現在 ＲＦＣ２２４６として、ＴＬＳ1.0が公開されている。ＴＬＳ1.0ではバージョン番号に3.1が使用されているため、事実上のＳＳＬ 3.1という位置づけになる。
【００４０】
ＳＳＬ 3.0のSSL Handshake Protocolでは、Certificateメッセージでサーバの公開鍵証明書がクライアントに送信される。ＳＳＬで使用される公開鍵証明書は、X.509 v3で規定されている。本実施形態では、ＳＳＬのサーバが印刷装置１６、クライアントが印刷管理システム２となる。このため、図７に示すように、印刷装置１６の公開鍵証明書が印刷管理システム２へ送信される。
【００４１】
次に、ステップＳ１１０において、新規の印刷装置とのＳＳＬによる通信接続が成功したかどうかを判別する。この判別の結果、暗号情報としての公開鍵が未生成であり、ＳＳＬによる通信接続に失敗した場合は、ステップＳ１１１を実行してからステップＳ１１２を実行する。一方、ＳＳＬによる通信接続に成功した場合は、ステップＳ１１１を省略してステップＳ１１２を実行する。なお、暗号情報が未生成であるか否かは、例えば、暗号情報を生成済みかのステータスを、印刷管理システム２が印刷装置から取得するようにし、取得したステータスに基づき判別しても良い。
【００４２】
ステップＳ１１１において、新規の印刷装置（ここでは印刷装置１６）に対し、公開鍵の生成を指示する。公開鍵の生成指示は、ＳＬＰやＳＮＭＰのユニキャストパケットを使用する。
ステップＳ１１２において、前記公開鍵証明書から公開鍵を取得する。取得した公開鍵を、ネットワークアドレスなどの所属情報と関連付けて、図６に示した装置管理テーブル６０に登録する。これで一台分の新規の印刷装置の公開鍵を取得する処理が完了したため、再びステップＳ１０５に戻る。
【００４３】
ステップＳ１０６において、装置管理テーブル６０内に新規の印刷装置がなかった場合には、図４のステップＳ２０１に進み、装置管理テーブル６０を参照し、新規の暗号情報を検索する。図４の場合には、新規の暗号情報として、新規の公開鍵を検索する。
次に、ステップＳ２０２において、新規の公開鍵が発見されたかどうかを判別する。この判別の結果、新規の公開鍵が発見された場合はステップＳ２０３を実行する。一方、新規の公開鍵が発見されなかった場合には、本フローチャートの処理を終了する。
【００４４】
ステップＳ２０３において、装置管理テーブル６０を参照し、公開鍵の生成元の印刷装置に割り当てられているネットワークアドレスを検索して取得する。本実施形態では印刷装置１６のネットワークアドレスを取得する。
次に、ステップＳ２０４において、装置管理テーブル６０を再度参照し、ステップＳ２０３で取得したネットワークアドレス（印刷装置１６のネットワークアドレス）と同一のサブネットグループ（所属単位）に属する印刷制御装置を検索する。前述したように、IP v4仕様においては、サブネットマスクにより、各ネットワークアドレスがどのサブネットに属するかを判別し、判別したサブネットに属する印刷制御装置を検索することになる。なお、図６に示したように、装置管理テーブル６０には、あらかじめ印刷制御装置、及びその印刷制御装置のネットワークアドレス（所属情報）が登録されているものとする。
【００４５】
次に、ステップＳ２０５において、該当する印刷制御装置が存在するかどうかを判別する。この判別の結果、該当する印刷制御装置が存在する場合にはステップＳ２０６を実行する。一方、該当する印刷制御装置が存在しない場合には本フローチャートの処理を終了する。本実施形態では、印刷装置１６はサブネットグループ３に属するため、印刷制御装置１１〜１３が該当することとなる。
ステップＳ２０６において、印刷装置用の印刷制御プログラム（印刷ドライバ（プリンタドライバ））を、図８に示すようなプログラム管理テーブル８０から取得する。プログラム管理テーブル８０には、あらかじめ各印刷装置用の印刷ドライバが登録されているものとする。
【００４６】
次に、ステップＳ２０７において、ステップＳ２０６で取得した印刷ドライバに、暗号情報である公開鍵を組み込む。
次に、ステップＳ２０８において、公開鍵が組み込まれた印刷ドライバを、該当する印刷制御装置へ送付し、インストールを行わせる。本実施形態では、図９に示すように、印刷制御装置１１〜１３に、公開鍵が組み込まれた印刷ドライバを送信して、各印刷制御装置に暗号情報を含む印刷ドライバをインストールさせることになる。
【００４７】
以上のような図３及び図４のフローチャートの処理の結果、図１０に示すように、印刷制御装置１１は、新規に接続された印刷装置１６の公開鍵を取得し、その公開鍵で暗号化した印刷ジョブを印刷装置１６へ送信することが可能となる。
【００４８】
以上のように本実施形態では、印刷管理システム２が、ネットワーク１上の印刷装置１４〜１６、２４〜２６を、定期的もしくは任意のタイミングで探索し、探索した結果を装置管理テーブル６０に反映させる。そして、装置管理テーブル６０を参照して、新規の印刷装置１６がネットワーク１に接続されたと判断すると、印刷管理システム２は、その新規の印刷装置１６の能力情報を取得する。その後、印刷管理システム２は、取得した能力情報に基づいてその新規の印刷装置１６に暗号化能力が備わっているか否かを判断する。この判断の結果、その新規の印刷装置１６に暗号化能力が備わっている場合に、その新規の印刷装置１６の暗号情報（公開鍵）を取得し、取得した暗号情報をその新規の印刷装置１６のネットワークアドレスと共に装置管理テーブル６０に登録する。これにより、新規にネットワーク１に接続された印刷装置１６の暗号情報を自動的に収集し、暗号情報を容易に一元的に管理することが可能となる。したがって、ネットワーク１に数百台〜数千台規模のデバイス（例えば印刷装置及び印刷制御装置）が接続されるような場合であっても、各印刷装置の暗号情報を効率的に管理し、配布することができる。こうすることによって、各印刷制御装置１１〜１３、２１〜２３は、印刷装置１４〜１６、２４〜２６の暗号情報を速やかに入手できるようになる。このため、ネットワーク印刷における暗号化印刷を快適に実現することが可能となる。
【００４９】
また、印刷管理システム２は、新規にネットワーク１に接続された印刷装置１６の暗号情報（公開鍵）を取得する場合に、その新規の印刷装置１６内に暗号情報が存在しなかった場合は、その新規の印刷装置１６に対して暗号情報を自己生成することを指示するようにしたので、印刷管理システム２が、新規の印刷装置１６の暗号情報をあらかじめ用意しておく必要がなくなる。なお、新規の印刷装置１６内に暗号情報が存在しなかった場合に、印刷管理システム２が鍵ペア（秘密鍵）を作成し、作成した秘密鍵をその新規の印刷装置１６に配布しインストールさせるようにしても良い。
【００５０】
さらに、印刷管理システム２は、新規の印刷装置１６のネットワークアドレス（所属情報）により、その新規の印刷装置１６を利用可能な印刷制御装置１１〜１３を特定し、特定した各印刷制御装置１１〜１３に対して、暗号情報を組み込んだ印刷制御プログラムを配布するようにしたので、各印刷制御装置１１〜１３は、新規の印刷装置１６の印刷制御用プログラムおよび暗号情報を容易に入手することが可能となる。
また、以上のような処理を行うことにより、ネットワーク１における印刷ジョブのセキュリティ強度を向上させることが出来るという効果もある。
【００５１】
なお、本実施形態では、装置のネットワークアドレス（所属情報）により、どのサブネット（所属単位）に属するか自動的に判別している。つまり、例えばＩＰｖ４のサブネットでサブネットグループ３、４を決定しているが、ユーザがネットワークアドレスの範囲を指定して、サブネットグループ３、４を指定・編集してもよい。その場合、新規の印刷装置が発見されたら、その新規の印刷装置が、ユーザにより指定されたネットワークアドレスの範囲に該当するかどうかで、その新規の印刷装置が、どのサブネットグループ（所属単位）に属することになるかが決定される。
【００５２】
また、本実施形態では、図４のステップＳ２０８において、新規にネットワークに接続された印刷装置の印刷ドライバを、印刷管理システム２から印刷制御装置１１〜１３に自動的に送信して、インストールするようにしたが、印刷制御装置からの要求に応じて、新規の印刷装置の印刷ドライバを印刷管理サーバから印刷制御装置に送信して、インストールするようにしてもよい。つまり、印刷ドライバは、プッシュインストールであっても、プルインストールであってもよい。
さらに、印刷制御装置にインストールするのは、印刷ドライバに限定されず、印刷ドライバを構築するために必要な情報（例えば、新規の印刷装置のＩＰアドレスなどのプリンタセットアップ情報）であってもよい。また、図４のステップＳ２０８では、印刷制御装置で印刷ジョブを生成する際に用いる暗号情報を、印刷ドライバに組み込み配布するよう説明した。しかしこれには限定されず、例えば、暗号情報を印刷ドライバへのプラグイン形式にし、印刷ドライバを除く暗号情報を印刷制御装置に配布しても良い。この場合には、印刷制御装置は暗号情報を印刷管理システム２から受信し、受信した暗号情報を事前にインストールした印刷ドライバに組み込む。これによっても、ネットワーク１における印刷ジョブのセキュリティ強化を向上させることができる。
【００５３】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。前述した第１の実施形態では、印刷管理システム２が、新規に接続された印刷装置（デバイス）の暗号情報（公開鍵）を印刷制御装置に送信するようにした。これに対し、本実施形態では、印刷管理システム２が、後述するディレクトリ（directory）装置へ暗号情報（公開）鍵を登録し、登録した公開鍵を印刷制御装置が取得するようにしている。このように本実施形態と前述した第１の実施形態とは、印刷処理システムにおける処理の一部が異なるだけである。したがって、以下の説明において、第１の実施形態と同一の部分については、図１〜図１０に付した符号と同一の符号を付すなどして詳細な説明を省略する。
【００５４】
図１１は、本実施形態の印刷処理システムの構成の一例を示す図である。図１に示した第１の実施形態における印刷処理システムに対し、ディレクトリ装置５が追加されている。このディレクトリ装置はハードウェアとしては追加されても良いし、印刷管理システム２内に論理的に構築し追加しても良い。
ディレクトリ装置５は、ネットワーク１のノード情報などの構成情報を保持するディレクトリであり、適切な権限を有するノードに対し、情報の登録や検索を行うことが可能である。図１１に示す印刷処理システムのそれ以外の構成は、図１に示した印刷処理システムと同様である。印刷装置管理サーバ２の内部構成は、図２に示したものと同様である。また、印刷で使用する暗号化方式も前述した第１の実施形態と同様とする。
【００５５】
では、図１２のフローチャートを参照しながら、本実施形態の印刷管理システム２により実行される印刷装置管理プログラムが提供する管理機能の一例について詳細に説明する。
まず、ステップＳ３０１において、ＳＬＰマルチキャストパケット、もしくはＳＮＭＰブロードキャストパケットを、ネットワーク１に接続された印刷装置１４〜１６、２４〜２６の探索要求パケットとしてネットワーク１に送信して、印刷装置１４〜１６、２４〜２６の探索を開始する。
【００５６】
第１の実施形態で説明したように、前記ＳＬＰを使用することでネットワーク１上のサービスを検索することが可能である。ここでは、印刷管理システム２は、サービスタイプとしてプリンタが指定されたＳＬＰマルチキャストパケットを送信することにより、サブネットグループ３、４を含むネットワーク１上に接続されたプリンタ（印刷装置１４〜１６、２４〜２６）を検索する。
【００５７】
また、前記ＳＬＰに対応していない装置を探索するため、印刷管理システム２は、第１の実施形態で説明したように、ＳＮＭＰブロードキャストパケットをサブネットグループ３、４へ送信する。前記ＳＮＭＰと前記ＭＩＢを使用することでネットワーク１上のノードの情報を取得することが可能である。ここでは、印刷管理システム２は、ＰｒｉｎｔｅｒＭＩＢ（ＩＥＴＦ ＲＦＣ１７５９）をブロードキャストパケットで送信することにより、サブネットグループ３、４を含むネットワーク１上に接続されたプリンタ（印刷装置１４〜１６、２４〜２６）を検索する。
【００５８】
次に、ステップＳ３０２において、前記探索要求パケットに対する印刷装置１４〜１６、２４〜２６からの探索応答パケットを受信する。前記探索要求パケットは、マルチキャストもしくはブロードキャストであるのに対し、前記探索応答パケットは、一台一台の装置から返され、前記ＳＬＰ及び前記ＳＮＭＰでそれぞれ異なるパケットフォーマットになっている。ここでは、第１の実施形態と同様に、一台分の応答パケットを受信したら、次のステップＳ３０３を実行する。
【００５９】
次に、ステップＳ３０３において、前記受信した探索応答パケットから、応答のあった印刷装置のネットワークアドレス（所属情報）を取り出し、図６に示したような装置管理テーブル６０に登録する。
次に、ステップＳ３０４において、あらかじめ定められた探索応答待ちの待ち時間が満了（タイムアウト）したかどうかを判別する。前記探索応答待ち時間は、印刷装置管理プログラムの設定、もしくはユーザの指定により任意の値が与えられる。この判別の結果、探索応答待ちの待ち時間が満了した場合にはステップＳ３０５を実行する。一方、探索応答待ちの待ち時間が満了していない場合には、満了するまでステップＳ３０２〜Ｓ３０４を繰り返し実行する。
【００６０】
ステップＳ３０５において、装置管理テーブル６０を参照し、今回の探索処理で新規の印刷装置が発見されたかどうかを検索する。本実施形態でも、第１の実施形態で説明したように（図５を参照）、印刷装置１６が新たにネットワーク１に接続され、新規の印刷装置として発見されたものとする。
次に、ステップＳ３０６において、新規の印刷装置が発見されたかどうかを判別する。新規の印刷装置の検索が終了し、装置管理テーブル６０内に新規の印刷装置がなかった場合には、本フローチャートの処理を終了する。一方、装置管理テーブル６０内に新規の印刷装置があった場合には、ステップＳ３０７を実行する。本実施形態では、新規の印刷装置として印刷装置１６が発見されたとしているので、以降において、新規の印刷装置が対象となる処理は印刷装置１６に対して実行される。
【００６１】
次に、ステップＳ３０７において、新規の印刷装置（ここでは印刷装置１６）から、暗号化の能力や、公開鍵暗号化方式の機能などを含む印刷装置の能力情報を取得する。能力情報の取得においては、ＳＬＰやＳＮＭＰのユニキャストパケットを使用する。
次に、ステップＳ３０８において、新規の印刷装置が公開鍵暗号化方式をサポートしているかどうかを、ステップＳ３０７で取得した能力情報に基づいて判別する。この判別の結果、新規の印刷装置が公開鍵暗号化方式をサポートしている場合には、ステップＳ３０９を実行する。一方、新規の印刷装置が公開鍵暗号化方式をサポートしていない場合はステップＳ３０５を再度実行する。
【００６２】
ステップＳ３０９において、新規の印刷装置（ここでは印刷装置１６）とＳＳＬによる通信接続を行う。ＳＳＬは、前述した第１の実施形態と同様である。本実施形態では、ＳＳＬのサーバが印刷装置１６、クライアントが印刷管理システム２となる。このため、図７に示したように、印刷装置１６の公開鍵証明書が印刷管理システム２へ送信される。
【００６３】
次に、ステップＳ３１０において、新規の印刷装置とのＳＳＬによる通信接続が成功したかどうかを判別する。この判別の結果、暗号情報としての公開鍵が未生成であり、ＳＳＬによる通信接続に失敗した場合は、ステップＳ３１１を実行してからステップＳ３１２を実行する。一方、ＳＳＬによる通信接続に成功した場合は、ステップＳ３１１を省略してステップＳ３１２を実行する。
【００６４】
ステップＳ３１１において、新規印刷装置（ここでは印刷装置１６）に対し、公開鍵の生成を指示する。公開鍵の生成指示は、ＳＬＰやＳＮＭＰのユニキャストパケットを使用する。
ステップＳ３１２において、前記公開鍵証明書から公開鍵を取得し、取得した公開鍵を、ディレクトリ装置５に登録する。ディレクトリ装置５では、公開鍵と印刷装置の情報とが関連付けられて登録される。これで一台分の新規の印刷装置の公開鍵を取得する処理が完了したため、再びステップＳ３０５に戻る。
【００６５】
次に、図１３のフローチャートを参照しながら、ディレクトリ装置５に登録された公開鍵を取得する際の印刷制御装置１１〜１３、２１〜２３の動作の一例を詳細に説明する。なお、図１３に示すフローチャートは、図１２に示したフローチャートによる処理が実行された後に実行されるものとする。
【００６６】
まず、ステップＳ４０１において、ユーザによる印刷制御装置のユーザインタフェースの操作に基づき、特定の印刷装置に対しての暗号化印刷の開始指示を受け付けるまで待機する。
特定の印刷装置に対しての暗号化印刷の開始指示を受け付けると、ステップＳ４０２において、その特定の印刷装置の暗号情報（公開鍵）を内部に持っているかどうかを判別する。この判別の結果、前記特定の印刷装置の暗号情報（公開鍵）を内部に持っている場合は、ステップＳ４０３〜Ｓ４０５を省略してステップＳ４０６を実行する。一方、前記特定の印刷装置の暗号情報（公開鍵）を内部に持っていない場合は、ステップＳ４０３を実行する。
【００６７】
ステップＳ４０３において、ネットワーク１における前記特定の印刷装置の識別子（印刷装置名、ホスト名、ネットワークアドレス、ＭＡＣアドレス等）を取得する。この識別子は、一般的にはコンピュータ上のＯＳが保持している。
次に、ステップＳ４０４において、ステップＳ４０３で前記識別子に基づいて、前記特定の印刷装置の暗号情報（公開鍵）をディレクトリ装置５に問合せする。ディレクトリ装置３は、問合せに含まれる識別子を元に、ユーザが印刷ジョブを投入しようとしている印刷装置に対応する公開鍵を検索し取得する。
【００６８】
次に、ステップＳ４０５において、ステップＳ４０４でディレクトリ装置５により検索された暗号情報（公開鍵）を取得する。図１４に、印刷管理システム２がディレクトリ装置５へ暗号情報（公開鍵）を登録し、印刷制御装置１１がその暗号情報（公開鍵）を取得する様子の一例を概念的に示す。
次に、ステップＳ４０６において、ステップＳ４０５で取得した暗号情報（公開鍵）を利用して、印刷ジョブの全て或は一部或は付属データの暗号化を行い、全て或は一部或は付属データが暗号化された印刷ジョブを、前記特定の印刷装置に送信する。
【００６９】
以上のように本実施形態では、印刷管理システム２が、ネットワーク１上のディレクトリ装置５に、印刷装置１４〜１６、２４〜２６の暗号情報（公開鍵）を登録し、各印刷制御装置１１〜１３、２１〜２３が、登録された暗号鍵をディレクトリ装置５から取得するようにしたので、前述した第１の実施形態に加え、各印刷制御装置１１〜１３、２１〜２３は、任意のタイミングで、且つ一般的なプロトコルで暗号鍵を取得することが可能となる。これにより、印刷装置１４〜１６よりも後に印刷制御装置１１〜１３、２１〜２３がネットワーク１に接続された場合でも、暗号鍵を印刷制御装置１１〜１３、２１〜２３に配布することが可能となる。
【００７０】
なお、本実施形態では、印刷制御装置１１〜１３、２１〜２３がディレクトリ装置５に対して、暗号情報（公開鍵）の検索を行い、暗号情報（公開鍵）を取得するようにしたが、印刷制御装置１１〜１３、２１〜２３が印刷管理システム２へ、暗号情報（公開鍵）の検索及び取得を要求し、印刷管理システム２が暗号情報（公開鍵）を、該当する印刷制御装置に返信してもよい。
また、印刷制御装置を検索し、その印刷制御装置に、ネットワーク１に新規に接続された印刷装置１６の印刷制御プログラムをインストールする処理は、図４のステップＳ２０１〜Ｓ２０８と同様の処理を行うことにより実現できる。ただし、本実施形態では、ディレクトリ装置５に公開鍵を登録するようにしているので、ステップＳ２０７の処理を行わなくてもよい。すなわち、公開鍵を組み込まずに印刷制御プログラム（印刷ドライバ）を印刷制御装置に送信しインストールさせてもよい。
【００７１】
（第３の実施形態）
次に、本発明の第３の実施形態を説明する。前述した第１、２の実施形態では、印刷管理システム２又はディレクトリ装置５が、印刷制御装置に暗号情報（公開鍵）を出力し、印刷制御装置に暗号化処理を行わせるよう説明した。しかし、印刷ジョブに係る暗号情報を効率的に管理するという意味では、暗号化処理は他の形態でも良い。
例えば、ステップＳ４０４に相当する印刷制御装置からの問合せに応じて、印刷管理システム２又はディレクトリ装置５が、該当する印刷装置の暗号情報（公開鍵）を検索し、該検索された暗号情報を用い印刷ジョブに係る暗号化処理を行わせても良い。この時、印刷制御装置に暗号情報（公開鍵）をインストールさせずに済む。
また、印刷制御装置は、ステップＳ４０４に相当する問合せ時に、印刷管理システム２又はディレクトリ装置に対して暗号化処理を施すべきデータを送信する。そして、印刷管理システム２又はディレクトリ装置から、送信したデータに対して暗号化処理を施した暗号化後データを返信してもらい、印刷ジョブ又は印刷ジョブの一部として印刷装置に送信する。
【００７２】
なお、前述した各実施形態では、印刷管理システム２が単体のコンピュータ（１つのサーバ装置）にて実現される場合を例に挙げて説明した。しかしながら、印刷管理システム２が有する各手段の機能を複数のコンピュータ（例えば複数のサーバ装置）に分散させて構築するようにし、複数のコンピュータが連携して本実施形態で説明した処理を行ってもよい。また、印刷管理システム２が、印刷装置１４〜１６、２４〜２６、及び印刷制御装置１１〜１３、２１〜２３が有する各手段の機能の一部又は全部を有していてもよい。
【００７３】
（本発明の他の実施形態）
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００７４】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００７５】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００７６】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるＣＰＵが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００７７】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１の実施形態を示し、印刷処理システムの構成の一例を示す図である。
【図２】本発明の第１の実施形態を示し、印刷管理サーバに設けられたコンピュータの構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態を示し、印刷管理サーバにより実行される印刷装置管理プログラムが提供する管理機能の一例を説明するフローチャートである。
【図４】本発明の第１の実施形態を示し、図３に続くフローチャートである。
【図５】本発明の第１の実施形態を示し、探索要求パケット及び探索応答パケットが通信される様子の一例を概念的に示した図である。
【図６】本発明の第１の実施形態を示し、装置管理テーブルの構成の一例を概念的に示した図である。
【図７】本発明の第１の実施形態を示し、印刷装置の公開鍵証明書が印刷管理サーバへ送信される様子の一例を概念的に示した図である。
【図８】本発明の第１の実施形態を示し、プログラム管理テーブルの構成の一例を概念的に示した図である。
【図９】本発明の第１の実施形態を示し、印刷制御装置に、公開鍵が組み込まれた印刷ドライバを送信して、インストールする様子の一例を概念的に示した図である。
【図１０】本発明の第１の実施形態を示し、新規に接続された印刷装置の公開鍵で暗号化した印刷ジョブを印刷装置へ送信する様子の一例を概念的に示した図である。
【図１１】本発明の第２の実施形態を示し、印刷処理システムの構成の一例を示す図である。
【図１２】本発明の第２の実施形態を示し、印刷管理サーバにより実行される印刷装置管理プログラムが提供する管理機能の一例を説明するフローチャートである。
【図１３】本発明の第２の実施形態を示し、ディレクトリ装置に登録された公開鍵を取得する際の印刷制御装置の動作の一例を説明するフローチャートである。
【図１４】本発明の第２の実施形態を示し、印刷管理サーバがディレクトリ装置へ公開鍵を登録し、印刷制御装置がその公開鍵を取得する様子の一例を概念的に示した図である。
【符号の説明】
【００７９】
１  ネットワーク
２  印刷管理サーバ
３、４  サブネットワークグループ
５  ディレクトリ装置
１１〜１３、２１〜２３  印刷制御装置
１４〜１６、２４〜２６  印刷装置
６０  装置管理テーブル
８０  プログラム管理テーブル
【図１】
0004769550.tif 000002
【図２】
0004769550.tif 000003
【図３】
0004769550.tif 000004
【図４】
0004769550.tif 000005
【図５】
0004769550.tif 000006
【図６】
0004769550.tif 000007
【図７】
0004769550.tif 000008
【図８】
0004769550.tif 000009
【図９】
0004769550.tif 000010
【図１０】
0004769550.tif 000011
【図１１】
0004769550.tif 000012
【図１２】
0004769550.tif 000013
【図１３】
0004769550.tif 000014
【図１４】
0004769550.tif 000015