(57)【特許請求の範囲】
【請求項１】
親展印刷のパスワードを暗号化する暗号化手段と、
前記暗号化手段を用いて暗号化された前記パスワードを印刷設定に記載する印刷設定生成手段と、
前記印刷設定に記載の暗号化された前記パスワードを読み取る読み取り手段と、
前記読み取り手段で読み取った暗号化された前記パスワードを復号化する復号化手段と、
復号化された前記パスワードを用いて、前記親展印刷の印刷コマンドを生成する印刷コマンド生成手段と、
を備え、
前記復号化手段による前記パスワードの復号化はプリンタードライバーのフィルターによって行われる
ことを特徴とする印刷処理装置。
【請求項２】
前記印刷設定生成手段は、暗号化された前記パスワードが取得できない場合、前記暗号化手段により前記パスワードを暗号化することなく、前記暗号化されていないパスワードを通常パスワードとして前記印刷設定に記載する
ことを特徴とする請求項１に記載の印刷処理装置。
【請求項３】
前記印刷コマンド生成手段は、前記印刷設定に暗号化されたパスワードが記載されていない場合、前記通常パスワードを用いて前記印刷コマンドを生成する
ことを特徴とする請求項２に記載の印刷処理装置。
【請求項４】
前記印刷コマンド生成手段は、前記復号化手段により暗号化された前記パスワードが復号化できなかった場合、エラー処理を行う
ことを特徴とする請求項１〜３のいずれか１項に記載の印刷処理装置。
【請求項５】
前記印刷コマンド生成手段は、前記エラー処理として、パスワード無しの前記印刷コマンドを生成する、または前記印刷コマンドの生成を行わない
ことを特徴とする請求項４に記載の印刷処理装置。
【請求項６】
印刷処理装置の制御方法であって、
親展印刷のパスワードを暗号化する暗号化工程と、
前記暗号化工程において暗号化された前記パスワードを印刷設定に記載する印刷設定生成工程と、
前記印刷設定に記載の暗号化された前記パスワードを読み取る読み取り工程と、
前記読み取り工程において読み取った暗号化された前記パスワードを復号化する復号化工程と、
復号化された前記パスワードを用いて、前記親展印刷の印刷コマンドを生成する印刷コマンド生成工程と、
を有し、
前記復号化工程による前記パスワードの復号化はプリンタードライバーのフィルターによって行われる
ことを特徴とする印刷処理装置の制御方法。
【請求項７】
クライアント装置から印刷指示を受けて印刷コマンドを生成するサーバ装置と、前記サーバ装置からネットワークを介して前記印刷コマンドを受信し印刷を実行する印刷処理装置と、を備える印刷システムであって、
前記クライアント装置は、
親展印刷のパスワードを暗号化する暗号化手段と、
前記暗号化手段を用いて暗号化された前記パスワードを印刷設定に記載する印刷設定生成手段と、
を備え、
前記サーバ装置は、
前記印刷設定に記載の暗号化された前記パスワードを読み取る読み取り手段と、
前記読み取り手段で読み取った暗号化された前記パスワードを復号化する復号化手段と、
復号化された前記パスワードを用いて、前記親展印刷の印刷コマンドを生成する印刷コマンド生成手段と、
を備える
ことを特徴とする印刷システム。
【請求項８】
請求項１〜５のいずれか１項に記載の印刷処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理装置、印刷処理装置の制御方法、印刷システム、及びプログラムに関する。特に、クライアントコンピュータで入力されたパスワードから生成した情報を付与した印刷データをもとに、親展印刷を実現するセキュア印刷システムに関する。
【背景技術】
【０００２】
従来、クライアントコンピュータで入力されたパスワードを付加した印刷データを印刷処理装置（プリンタ）に送信すると一旦プリンタで溜め置かれる。そして、プリンタで同じパスワードを入力した場合にのみ、印刷データが印刷可能となるセキュア印刷機能が存在する（特許文献１参照）。例えば、特許文献１に記載のプリンタが、複数人で共用しているネットワークに接続されたプリンタであり、印刷物を他人に見られたくない場合や、機密事項を含む文書を印刷する際に有効である。また、セキュア印刷システムのクライアントコンピュータ側のパスワード入力および印刷データの生成をプリンタドライバで実現する場合がある。この場合、印刷の度にパスワードを設定したいという要求があるため、通常パスワードは、プリンタドライバの印刷設定中に保存される。さらに、印刷設定をアプリケーションの保存文書の一部として保存するアプリケーションが存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８４８０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、印刷設定をアプリケーションの保存文書の一部として保存するアプリケーションを使用する場合、印刷パスワードが第三者に参照される恐れがあった。すなわち、印刷設定中のパスワードが文字列で保存された状態で、該保存文書がクライアントコンピュータの外部に送付されると、送付された保存文書中の印刷設定を解析することにより、印刷パスワードが第三者に参照される。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、公開鍵により印刷設定のパスワードを暗号化することにより、セキュア印刷システムの外部環境で、印刷設定内のパスワード情報の参照を困難にする印刷処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の印刷処理装置は、親展印刷のパスワードを暗号化する暗号化手段と、前記暗号化手段を用いて暗号化された前記パスワードを印刷設定に記載する印刷設定生成手段と、前記印刷設定に記載の暗号化された前記パスワードを読み取る読み取り手段と、前記読み取り手段で読み取った暗号化された前記パスワードを復号化する復号化手段と、復号化された前記パスワードを用いて、前記親展印刷の印刷コマンドを生成する印刷コマンド生成手段と、を備え、前記復号化手段による前記パスワードの復号化はプリンタードライバーのフィルターによって行われることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、公開鍵により印刷設定のパスワードを暗号化することにより、セキュア印刷システムの外部環境で、印刷設定内のパスワード情報の参照を困難にする印刷処理装置を提供することができる。また、公開鍵により印刷設定のパスワードを暗号化することにより、セキュア印刷システムの外部環境で、印刷設定内のパスワード情報の参照を困難にすることができる。
【図面の簡単な説明】
【０００８】
【図１】システム構成を示す図である。
【図２】クライアントコンピュータのハードウェア構成を示す図である。
【図３】クライアントコンピュータのソフトウェア構成を示す図である。
【図４】インストールおよび印刷設定の処理を示すフローチャート群である。
【図５】インストールおよび印刷設定の処理を示すフローチャート群である。
【図６】設定一覧と印刷設定の一例を示す図である。
【図７】印刷設定モジュールのユーザインターフェース（ＵＩ）を示す図である。
【図８】第１実施形態に係る印刷処理のフローチャートである。
【図９】第１実施形態に係る印刷処理のフローチャートである。
【図１０】共有プリンタの場合のソフトウェア構成を示す図である。
【図１１】共有プリンタの場合のソフトウェア構成を示す図である。
【図１２】第２実施形態に係る共有プリンタの設置処理のフローチャートである。
【図１３】第３実施形態に係る印刷設定ＵＩを示す図である。
【図１４】第３実施形態に係る設定一覧の一例を示す図である。
【図１５】第３実施形態に係る公開鍵の登録処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１０】
（第１実施形態）
図１は、本実施形態に係る印刷システムの概略構成を示すブロック図である。印刷システムは、クライアントコンピュータ１００と、プリントサーバ１００ａと、ページ記述言語（ＰＤＬ）形式の印刷データを受信し通常印刷およびセキュア印刷（セキュアプリント）を行うことが可能なプリンタ２００を備える。これらはローカル・エリア・ネットワーク（ＬＡＮ）に代表されるネットワーク３００を介して接続され通信可能である。クライアントコンピュータ（クライアント装置）１００は、パソコンやモバイル端末等を含む情報処理装置であってよい。プリンタ２００は、印刷処理装置であり、印刷機能のみを備えるシングルファンクションプリンタ（ＳＦＰ）でも、印刷機能、スキャン機能、複写機能等を備えるマルチファンクションプリンタ（ＭＦＰ）であってもよい。プリントサーバ（サーバ装置）１００ａは、ローカルプリンタのインストール処理が実行され、既にプリンタドライバ等の各種モジュールが配置されており、クライアントコンピュータ１００から印刷指示を受けて印刷コマンドを生成する。なお、プリントサーバ１００ａの詳細については、後述する。
【００１１】
図２は、クライアントコンピュータ１００のハードウェア構成を示すブロック図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、主記憶装置１０２または補助記憶装置１０５に格納されたプログラムに従って装置全体の制御を行う。主記憶装置１０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２２を備える。ＲＡＭ１０２２は、ＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５は、アプリケーション（アプリ）１０５１と、プリンタドライバ１０５２と、オペレーティングシステム（ＯＳ）１０５３等を記憶する。アプリケーション１０５１やプリンタドライバ１０５２は、不図示のＣＤ−ＲＯＭやＵＳＢメモリ、あるいはネットワーク３００を経由して補助記憶装置１０５に追加することが可能である。キーボード１０８やマウス・タッチパネルなどに代表されるポインティングデバイス１０９などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザがコンピュータに対して各種指示を与えるための入力装置である。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインターフェースであり、モニタ１１０などの出力機器に対してデータを出力する。プリンタ２００とは、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク３００を通して接続されている。また、１０７は共通データシステムバスで、モジュール間でそれぞれのデータのやりとりを行う。
【００１２】
図３は、クライアントコンピュータ１００上で動作するソフトウェアモジュールの構成図である。一般に、クライアントコンピュータ１００には、さまざまなソフトウェアモジュールが配置されているが、本実施形態では、本発明と関連するソフトウェアモジュールのみを図示する。
【００１３】
図３（Ａ）は、プリンタドライバ１０５２がクライアントコンピュータ１００に設定されていない状態を示す図である。アプリケーション１０５１として、ワードプロセッサソフトに代表される一般アプリケーション１０５１１と、プリンタドライバをＯＳ上に設置するプリンタドライバインストーラ１０５１２が配置されている。さらに、ＯＳ１０５３のサブシステムとして、印刷システム１０５３１とセキュリティシステム１０５３２が存在する。印刷システム１０５３１は、プリンタドライバ１０５２の配置管理と印刷関連処理を行う。セキュリティシステム１０５３２は、暗号化関連のサービスを提供する。また、図３（Ｂ）は、インストール後（プリンタドライバ１０５２がクライアントコンピュータ１００に設定された後）のモジュール配置の構成図を示す。なお、詳細は、後述の図４（Ａ）に示すフローチャートと共に説明する。
【００１４】
次に、図４（Ａ）は、ローカルプリンタのインストール処理のフローチャートを示す。図３（Ｂ）と図４（Ａ）を参照して、プリンタドライバの一般的なインストール処理を説明する。なお、特に断らない限り、このフローチャートの処理の主体は、プリンタドライバインストーラ１０５１２である。
【００１５】
まず、ユーザによる起動要求をうけて、ＯＳ１０５３がプリンタドライバインストーラ１０５１２を補助記憶装置１０５からＲＡＭ１０２２にロードし、ＣＰＵ１０１に実行を依頼することにより、インストール処理の実行を開始する（ステップＳ４００）。次に、プリンタドライバインストーラ１０５１２は、印刷先のプリンタのＩＰアドレス情報などプリンタドライバの設置に関する情報を収集するために前処理を実行する（ステップＳ４０１）。具体的には、ユーザーインターフェース（ＵＩ）をモニタ１１０に表示し、キーボード１０８やポインティングデバイス１０９からの入力を受け付け、設置に関する情報を収集する。次に、入力されたＩＰアドレス情報を元に、印刷システム１０５３１に依頼して、印刷ポート３０１を作成する（ステップＳ４０２）。そして、プリンタドライバに付属するプリンタドライバモジュールの設置を、印刷システム１０５３１に依頼する。
【００１６】
次に、その依頼を受けて印刷システム１０５３１は、プリンタドライバを構成する印刷設定モジュール（印刷設定処理手段）１０５２１と、グラフィックスフィルタ１０５２２を配置する（ステップＳ４０３）。そして、印刷システム１０５３１に、印刷キューの作成を依頼し、印刷システム１０５３１は、印刷キュー３０２を作成する。次に、印刷キュー３０２と、印刷ポート３０１と、プリンタドライバの構成ファイルである印刷設定モジュール１０５２１とグラフィックスフィルタ１０５２２を関連付ける（ステップＳ４０４）。次に、プリンタドライバインストーラ１０５１２は、現在の印刷設定を印刷システム１０５３１へ登録するという後処理を行い（ステップＳ４０５）、その後、処理を終了する（ステップＳ４０６）。
【００１７】
なお、本実施形態では、ステップＳ４０５の後処理で、セキュア印刷用の非対称鍵配置処理を行う。図４（Ｂ）は、セキュア印刷用の非対称鍵配置処理を示すフローチャートである。まず、プリンタドライバインストーラ１０５１２は、セキュリティシステム１０５３２へ非対称鍵の生成を依頼する（ステップＳ４１０）。セキュリティシステム１０５３２は、ＲＳＡ暗号に代表される非対称鍵を生成する（ステップＳ４１１）。本実施形態では、非対称鍵は、公開鍵３１０と秘密鍵３１１で構成される。そして、これらの鍵は、セキュリティシステム１０５３２内で生成され保存される。次に、プリンタドライバインストーラ１０５１２は、セキュリティシステム１０５３２に公開鍵３１０の提供を依頼し、公開鍵３１０を取得する（ステップＳ４１２）。そして、取得した公開鍵３１０を印刷キュー情報として登録することを、印刷システム１０５３１に依頼する。印刷システム１０５３１は、印刷キュー情報として公開鍵を登録する（ステップＳ４１３）。その後、処理を終了する（ステップＳ４１４）。
【００１８】
次に、図５（Ａ）は、印刷設定処理のフローチャートを示す。この処理は、ユーザによる印刷設定ＵＩの起動要求をうけて、ＯＳ１０５３が印刷設定モジュール１０５２１を補助記憶装置１０５からＲＡＭ１０２２にロードし、ＣＰＵ１０１に実行を依頼することにより開始される（ステップＳ４００）。なお、特に断らない限り、このフローチャートの処理の主体は、印刷設定モジュール１０５２１である。
【００１９】
まず、印刷設定モジュール１０５２１は、定義している設定一覧を取得する（ステップＳ４２１）。次に、印刷システム１０５３１に登録されている現在の印刷設定を入手する（ステップＳ４２２）。なお、本実施形態において、設定一覧には、プリンタドライバ１０５２がサポートしている印刷機能の設定一覧が記載されている。そして、設定一覧に基づいて、現在設定中の印刷機能が記載されている。
【００２０】
ここで、図６（Ａ）に設定一覧５００の一例を示す。設定一覧５００において、Ｆｅａｔｕｒｅ５０１は、両面機能を示し、選択可能なオプションとしてＯｎとＯｆｆのＯｐｔｉｏｎを有する。Ｆｅａｔｕｒｅ５０２は、セキュア印刷の設定であり、ＯｎとＯｆｆのＯｐｔｉｏｎを有する。ＰａｒａｍＤｅｆ５０３は、従来のパスワードの数値を格納するパラメータの定義を示す。本実施形態では、文字列で最小０文字、最大で２４文字の数値パスワードを登録可能なことが定義されている。ＰａｒａｍＤｅｆ５０４は、本実施形態に関連する暗号化されたパスワードを格納するパラメータの定義である。ＢＡＳＥ６４というバイナリコードを文字コードで表す形式で、０〜２５６文字のＢＡＳＥ６４形式の文字列を指定可能なパラメータである。
【００２１】
図６（Ｂ）は、印刷設定５１０が、従来の文字列のパスワードを使った場合の印刷設定の一例を示す。Ｆｅａｔｕｒｅ５１１は、両面機能を表しており、両面印刷を表すＯｎが指定されている。Ｆｅａｔｕｒｅ５１２は、セキュア印刷Ｏｎであることを示しており、セキュア印刷のパスワードをＰａｒａｍＩｎｉｔ５１３で設定している。本実施形態では、“５５５５”とい文字列がパスワードとして指定されている。
【００２２】
図６（Ｃ）の印刷設定５２０は、本実施形態の暗号化されたパスワードを使用した場合の印刷設定の一例を示す。Ｆｅａｔｕｒｅ５２１は、両面機能を表しており、両面印刷Ｏｎが指定されている。Ｆｅａｔｕｒｅ５２２は、セキュア印刷Ｏｎであることを示しており、ＰａｒａｍＩｎｉｔ５２３で暗号化されたパスワードがＢＡＳＥ６４の形式で記載されている。図５（Ｂ）と図５（Ｃ）に示すように、セキュア印刷のパスワードは、ＰａｒａｍＩｎｉｔ５１３またはＰａｒａｍＩｎｉｔ５２３を用いることにより記載される。
【００２３】
図５（Ａ）のフローチャートに戻って、印刷設定モジュール１０５２１は、設定一覧と現在の印刷設定を元にモニタ１１０に印刷設定ＵＩを表示する（ステップＳ４２３）。そして、ユーザによる印刷設定ＵＩへの入力を待つ（受け付ける）（ステップＳ４２４）。
【００２４】
ここで、図７に印刷設定ＵＩの一例である印刷設定ＵＩ６００を示す。ドロップダウン６０１は、両面印刷設定を受け付けるＵＩコントロールである。Ｆｅａｔｕｒｅ５０１の定義に従い、ドロップダウン６０１で設定可能な選択子は、片面印刷（Ｏｆｆに相当）と両面印刷（Ｏｎに相当）である。また、本実施形態では、現在の印刷設定を受けて、両面印刷が設定されている。チェックボックス６０２は、セキュア印刷の設定を受け付けるＵＩコントロールであり、Ｆｅａｔｕｒｅ５０２の定義に従いＯｎとＯｆｆの選択子を有する。なお、両面設定と同様に、現在の印刷設定を受けてＯｎまたはＯｆｆが設定される。エディットボックス６０３は、セキュア印刷のパスワードの入力を受け付けるＵＩコントロールである。本実施形態では、現在の印刷設定のＰａｒａｍＩｎｉｔ５１３または５２３のパスワード設定を受けて、伏せ字でパスワードの入力状態を示している。ＰａｒａｍＤｅｆ５０３の定義を元に、エディットボックス６０３は、入力されたパスワードの文字種と、文字列長の最小、最大値をチェックしている。ＰａｒａｍＤｅｆ５０３の定義に合致しないパスワードが入力された場合、メッセージ領域６０４に警告メッセージを表示し、パスワードの再入力を促す。ボタン６０５は、印刷設定適用のボタンである。
【００２５】
図５（Ａ）のフローチャートに戻って、印刷設定モジュール１０５２１は、印刷設定ＵＩ６００への入力を受けた後、印刷設定適用のボタン６０５が押下されたか否かを判定する（ステップＳ４２５）。印刷設定適用ボタン６０５以外が操作された（ボタン６０５が押下されなかった）場合（ＮＯ）、印刷設定の一部が変更設定された場合であると判定され、ステップＳ４２６に進む。次に、印刷設定モジュール１０５２１に依頼し、複数の設定間で同時に設定不可な選択子が設定されていないかを確かめる禁則処理を行う。そして、複数の設定間で同時設定不可な選択子が設定されている場合は、加えて優先順位が低い方の設定の選択子を他の選択子に変更する丸め処理を行う（ステップＳ４２６）。その後、ステップＳ４２３に戻って、印刷設定を元に印刷設定ＵＩ６００の表示を更新し、印刷設定ＵＩ６００の入力を待つ。
【００２６】
一方、ステップＳ４２５で、印刷設定適用ボタン６０５が押下された場合（ＹＥＳ）、印刷設定ＵＩ６００で設定されている情報に基づいて、印刷設定項目の一覧を生成する（ステップＳ４２７：一覧生成処理）。次に、現在の印刷設定として、印刷システム１０５３１へ印刷設定を登録する（ステップＳ４２８）。そして、処理を終了する（ステップＳ４２９）。
【００２７】
図５（Ｂ）は、本実施形態に係るパスワードの印刷設定の生成処理のフローチャートを示す。この処理は、図５（Ａ）の印刷設定の生成処理（ステップＳ４２７）の一部として開始される（ステップＳ４３０）。まず、印刷システム１０５３１は、印刷設定ＵＩ６００のエディットボックス６０３に入力されたパスワードを取得する（ステップＳ４３１）。次に、印刷キュー情報より公開鍵３１０の取得する（ステップＳ４３２）。そして、公開鍵３１０が取得できたか否かを判定する（ステップＳ４３３）。公開鍵３１０が取得できた場合（ＹＥＳ）、公開鍵３１０でパスワードを暗号化する（ステップＳ４３４：暗号化手段）。そして、暗号化されたパスワードをＢＡＳＥ６４で文字コード化し、図６（Ｃ）に示すＰａｒａｍＩｎｉｔ５２３の要素として記載する（ステップＳ４３５：印刷設定生成手段）。一方、公開鍵３１０が取得できない場合（ＮＯ）、図６（Ｂ）に示す通常パスワードとしてＰａｒａｍＩｎｉｔ５１３の要素へパスワード文字列を記載し、印刷設定を生成する（ステップＳ４３６）。ステップＳ４３５またはステップＳ４３６の後、処理を終了する（ステップＳ４３７）。
【００２８】
次に、図８は、印刷処理のフローチャートを示す。この処理は、一般アプリケーション１０５１１からのＯＳ１０５３への印刷要求を受けて、印刷設定を含む印刷対象の標準データが印刷キュー３０２に投入されることにより実行される。ＯＳ１０５３は、グラフィックスフィルタ１０５２２を補助記憶装置１０５からＲＡＭ１０２２にロードし、ＣＰＵ１０１に実行を依頼することにより処理が開始される（ステップＳ７００）。なお、特に断らない限り、このフローチャートの処理の主体は、グラフィックスフィルタ１０５２２である。
【００２９】
まず、グラフィックスフィルタ１０５２２は、印刷キュー３０２に投入された、印刷設定を含む印刷対象の標準データを印刷システム１０５３１より取得する（ステップＳ７０１）。次に、標準データに含まれる印刷設定を解析する（ステップＳ７０２）。そして、ＰＤＬの印刷設定コマンドに変換して、印刷システム１０５３１に渡す（ステップＳ７０３）。次に、印刷システム１０５３１は、印刷ポート３０１経由でプリンタ２００へ印刷設定コマンドを送付する。そして、セキュア印刷がオフか否かを判定する（ステップＳ７０４）。セキュア印刷がオフの場合（ＹＥＳ）、通常印刷のＰＤＬ描画コマンド（印刷コマンド）を生成する（ステップＳ７０９：印刷コマンド生成手段）。具体的には、標準データで表現されるページ内の描画を、ＰＤＬの描画コマンドに変換し、印刷システム１０５３１に渡す。そして、印刷システム１０５３１は、印刷ポート３０１経由でプリンタ２００へ印刷設定コマンドを送付して、印刷処理を終了する（ステップＳ７１０）。
【００３０】
一方、セキュア印刷がオンの場合（ＮＯ）、印刷設定に記載されているパスワードの取得処理を行う（ステップＳ７０５）。この処理の詳細については、図９を用いて後述する。印刷設定に記載されているパスワードを入手後、グラフィックスフィルタ１０５２２は、ランダムな文字列を生成する（ステップＳ７０６）。ランダムな文字列とパスワードを文字列連結し、そのハッシュ値を生成する（ステップＳ７０７）。次に、ランダムな文字列とハッシュ値を含むＰＤＬの機能設定コマンドを生成し、印刷システム１０５３１へ渡す（ステップＳ７０８）。そして、印刷システム１０５３１は、印刷ポート３０１経由でプリンタ２００へ印刷設定コマンドを送付する。そして、通常印刷と同様に、標準データで表現されるページ内の描画を、ＰＤＬの描画コマンドに変換し、印刷システム１０５３１に渡し（ステップＳ７０９）、印刷処理を終了する（ステップＳ７１０）。
【００３１】
なお、本実施形態では、ランダムな文字列を生成しパスワードと連結することにより、毎回異なるパスワードのハッシュ値を生成することで、セキュア印刷のセキュリティを強化する。プリンタ２００がサポートしている形式であれば、セキュア印刷のＰＤＬに付与するパスワードから生成した情報としては他の形式でもよい。例えば、パスワードでＰＤＬの描画コマンド全体を暗号化してもよい。なお、印刷処理で生成するＰＤＬコマンドは、プリンタ２００でサポートしているセキュア印刷の方式に必ず合致させる必要がある。
【００３２】
ところで、将来的には、暗号化技術の研究が進み、現在サポートしている暗号方式の安全性のレベルが低下した状況となる可能性がある。その状況に対応するために、システムがサポートするセキュア印刷の方式を別の方式に変更する必要が出てくることが考えられる。印刷設定にパスワードを記載する場合、印刷設定ＵＩで入力されたパスワードに復元できない状態に変換し記載すると、将来的に採用される暗号化方式が、その変換に対する制約を受ける可能性がある。この場合、印刷設定ＵＩで入力されたパスワードの文字列を復元可能な情報として、印刷設定に記載することが望ましい。
【００３３】
次に、図９は、図８のステップＳ７０５における、印刷設定からのパスワードの取得処理を示す。まず、グラフィックスフィルタ１０５２２は、印刷設定から暗号化済パスワードを取得する（ステップＳ７２１）。次に、グラフィックスフィルタ１０５２２は、暗号化済パスワードが取得できたか否かを判定する（ステップＳ７２２）。すなわち、印刷設定に暗号化済パスワードが記載されているか否かを確認する。具体的には、ＰａｒａｍＩｎｉｔ５２３の形式の要素が含まれた場合に、暗号化済パスワードが印刷設定に記載されていると判定する。暗号化済パスワードが記載されていた（暗号化済パスワードが取得できた）場合（ＹＥＳ）、セキュリティシステム１０５３２が保持する秘密鍵３１１を用いて、暗号化済パスワードを復号化する（ステップＳ７２３：復号化手段）。次に、暗号化済パスワードの復号化に成功したか否かを判定する（ステップＳ７２４）。暗号化済パスワードの復号化に成功した場合（ＹＥＳ）、復号化したパスワードをセキュア印刷のパスワードとして使用する（ステップＳ７２５）。一方、暗号化済パスワードの復号化に失敗した場合（ＮＯ）、エラー処理としてパスワード無と設定する（ステップＳ７２６）。
【００３４】
また、ステップＳ７２２で、暗号化済パスワードが記載されていない（暗号化済パスワードが取得できなかった）場合（ＮＯ）、印刷設定より通常パスワードの記載を取得する（ステップＳ７２７）。具体的には、ＰａｒａｍＩｎｉｔ５１３の形式の要素の値をセキュア印刷のパスワードとして取得する。上記によるセキュア印刷のパスワードの決定後、処理を終了する（ステップＳ７２８）。なお、本実施形態では、暗号化済パスワードの復号化に失敗した場合、パスワード無のセキュア印刷としたが、これに限定することなく、例えば、印刷処理を中止してもよい。また、予めユーザにデフォルトパスワードを設定させておき、復号失敗時にそのパスワードを仮に入力する処理としてもよい。
【００３５】
以上、本実施形態では、公開鍵を印刷キューの情報として登録し、その公開鍵でセキュア印刷のパスワードを暗号化し印刷設定に記載するセキュア印刷システムについて説明した。本実施形態により、パスワードを公開鍵で暗号化し印刷設定に記載することより、秘密鍵を持たない外部のコンピュータ環境での、印刷設定内のパスワードの参照を困難な状態にすることが可能になる。
【００３６】
なお、本実施形態では、セキュア印刷用非対称鍵配置処理をプリンタドライバインストーラ１０５１２で実現したが、これに限定することなく、プリンタドライバインストーラ１０５１２以外の設定ツールなどで実現してもよい。
【００３７】
（第２実施形態）
第２実施形態では、共有プリンタ環境での、セキュア印刷システムについて説明する。共有プリンタのシステム構成については、図１のシステム構成図を用いて説明する。第１実施形態との違いは、クライアントコンピュータ１００には、ローカルプリンタのインストール処理が実行されていない状態であり、プリントサーバ１００ａには、プリンタドライバ１０５２などの各種モジュールが既に配置されている状態であることである。加えて、印刷キュー３０２がネットワーク上に共有プリンタとして公開され、外部より検索可能な状態となっている。
【００３８】
図１０は、共有プリンタのインストール前のソフトウェアのモジュール構成を示し、図１１は、共有プリンタのインストール後のソフトウェアのモジュール構成を示す。クラインアントコンピュータ１００より、ＯＳ１０５３の機能を用いてネットワーク上を検索し、発見した共有プリンタの印刷キューの使用を、プリントサーバ１００ａのＯＳ１０５３に依頼することにより、共有プリンタのインストール処理が実行される。図１２は、共有プリンタのインストール処理のフローチャートを示す。共有プリンタのインストール処理は、クライアントコンピュータ１００から共有プリンタの印刷キューの使用依頼を受けて動作する。ＯＳ１０５３が印刷システム１０５３１を補助記憶装置１０５からＲＡＭ１０２２にロードし、ＣＰＵ１０１に実行を依頼することにより、印刷システム１０５３１が処理を開始する（ステップＳ９００）。なお、特に断らない限り、このフローチャートの処理の主体は、クライアントコンピュータ１００の印刷システム１０５３１である。
【００３９】
まず、印刷システム１０５３１は、プリントサーバ１００ａより印刷設定モジュール１０５２１をダウンロードし、プリンタドライバ１０５２として、クライアントコンピュータ１００に配置する（ステップＳ９０１）。次に、クライアントコンピュータ１００上に印刷キュー３０２を作成する（ステップＳ９０２）。そして、プリントサーバ１００ａとクライアントコンピュータ１００の印刷キュー３０２を関連付ける処理を行う（ステップＳ９０３）。この関連付けによりプリントサーバ１００ａの印刷キュー３０２とクライアントコンピュータ１００の印刷キュー３０２が通信可能となる。このとき、公開鍵３１０を含むプリントサーバ１００ａの印刷キューに関連付けられた情報もクライアントコンピュータ１００へダウンロードされる。そして、共有プリンタのインストール処理を終了する（ステップＳ９０４）。
【００４０】
クライアントコンピュータ１００で共有プリンタに対して印刷設定を行う場合、印刷設定処理は、クライアントコンピュータ１００の印刷設定モジュール１０５２１が主体となり動作する。この印刷設定モジュール１０５２１の印刷設定処理の動作は、第１実施形態で説明した図５のフローチャートで示した処理と同じであるため、本実施形態では、動作の説明を省略する。従って、本実施形態でも第１実施形態と同様に、印刷キュー３０２の関連情報として公開鍵３１０がクライアントコンピュータ１００に存在するので、公開鍵３１０で暗号化された暗号化済パスワードが記載された印刷設定５２０が生成される。
【００４１】
クライアントコンピュータ１００からの共有プリンタに対する印刷処理は、クライアントコンピュータ１００上の一般アプリケーション１０５１１からＯＳ１０５３への印刷要求を受けて開始される。具体的には、クライアントコンピュータ１００の印刷キュー３０２に印刷設定を含む印刷対象の標準データが投入されることにより開始される。クライアントコンピュータ１００の印刷システム１０５３１は、印刷キュー３０２に投入された標準データをプリントサーバ１００ａの印刷キュー３０２に転送する。その後、プリントサーバ１００ａの印刷システム１０５３１が反応し、グラフィックスフィルタ１０５２２を使って印刷処理を実行する。グラフィックスフィルタ１０５２２を用いた印刷処理は、第１実施形態で説明した図８および図９のフローチャートで示した処理と同じであるため、ここでは動作の説明を省略する。
【００４２】
以上、本実施形態では、第１実施形態のセキュア印刷システムを共有プリンタ環境に適用した動作を説明した。これにより、プリントサーバ１００ａで公開鍵３１０を印刷キュー３０２の関連付けることにより、共有プリンタのインストール処理時に、クライアントコンピュータ１００の印刷キュー３０２にも、公開鍵３１０が登録される。従って、共有プリンタ環境のクライアントコンピュータ１００でも、パスワードを公開鍵３１０で暗号化し、印刷設定に記載することができる。なお、秘密鍵３１１は、印刷処理が実行されるプリントサーバにのみ存在する。そのため、秘密鍵を持たないセキュア印刷システム外のコンピュータ環境に、印刷設定が持ち出された場合でも、印刷設定内のパスワードの参照を困難な状態とすることができる。
【００４３】
（第３実施形態）
従来の印刷設定モジュールで提供される印刷設定は、バイナリデータによって表現されていた。そのため、一般アプリからの指定可能な印刷設定は、公開共通設定項目である一部の印刷機能に限定されていた。近年、印刷設定モジュールが提供する設定一覧と印刷設定がテキスト形式のＸＭＬとなり、一般アプリから設定一覧と印刷設定の参照および設定が、従来と比べ容易にできるようになってきた。そのため、一般アプリケーションに中には、設定一覧と現在の印刷設定を元に、独自の印刷設定ＵＩを表示するものが存在する。
【００４４】
図１３に一般アプリケーション１０５１１の印刷設定ＵＩの一例を示す。この印刷設定ＵＩ１０００は、一般アプリケーション１０５１１がユーザからの印刷設定ＵＩの表示要求をうけて、モニタ１１０に表示され、キーボード１０８およびポインティングデバイス１０９からの入力を受け付ける。なお、印刷設定ＵＩ１０００の各コントロールは、図７に示した印刷設定モジュール１０５２１の印刷設定ＵＩ６００の下一桁が同じものと対応している。印刷設定ＵＩ１０００では加えて、印刷出力先のプリンタ指定が可能なドロップダウン１００６が追加されている。
【００４５】
印刷設定ＵＩ１０００による印刷設定処理は、図５（Ａ）のフローチャートと同様の処理であるが、第１実施形態と異なるのは、処理主体が一般アプリケーション１０５１１であるということである。また、ステップＳ４２６の禁則処理と丸め処理は、一般アプリケーション１０５１１が現在の印刷設定ＵＩ６００の設定内容で印刷設定を生成し、印刷設定モジュール１０５２１に依頼することで実現する。同様に、図５（Ｂ）で示したパスワードの印刷設定の生成処理も、一般アプリケーション１０５１１が主体となって実行する。一般アプリケーション１０５１１に公開されている情報は、設定一覧と印刷設定のみであり、印刷キュー情報より公開鍵３１０を取得することができない。そのため、本実施形態では、設定一覧の情報として公開鍵３１０を記載し、一般アプリケーション１０５１１は、ステップＳ４３２で、その情報を取得する。ここで、図１４は、本実施形態における設定一覧１１００を示す。図６（Ａ）に示す第１実施形態の設定一覧５００に加えて、公開鍵情報１１０１が設定一覧１１００の要素として追加されている。
【００４６】
本実施形態では、図５（Ａ）のステップＳ４２１で、印刷設定モジュール１０５２１から設定一覧を取得する際に、図１５のフローチャートの処理を実行する。設定一覧への公開鍵３１０の登録処理が印刷設定モジュール１０５２１により実行され、処理が開始する（ステップＳ１２００）。まず、印刷キュー情報にアクセスして公開鍵３１０を取得する（ステップＳ１２０１）。次に、公開鍵３１０を取得できたか否かを判定する（ステップＳ１２０２）。公開鍵３１０を取得できた場合（ＹＥＳ）、公開鍵３１０の値を文字列に変換し、設定一覧に公開鍵情報１１０１として記載して（ステップＳ１２０３）、処理を終了する（ステップ１２０４）。一方、公開鍵３１０を取得できなかった場合（ＮＯ）、そのまま処理を終了する（ステップＳ１２０４）。
【００４７】
以上、本実施形態では、設定一覧と現在の印刷設定を元に、独自の印刷設定ＵＩを表示する一般アプリケーションに対して、公開鍵の情報を、設置一覧の一部として提供する方法について説明した。本実施形態によれば、一般アプリケーションの印刷設定ＵＩに入力されたセキュア印刷のパスワードを、一般アプリケーションが主体となり、セキュア印刷に関連する公開鍵で暗号化可能になる。これにより、通常パスワードとして印刷設定にパスワードを記載する必要がなくなり、印刷設定記載のパスワードのセキュリティレベルが向上する。
【００４８】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【００４９】
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
0006415172.tif 000002
【図２】
0006415172.tif 000003
【図３】
0006415172.tif 000004
【図４】
0006415172.tif 000005
【図５】
0006415172.tif 000006
【図６】
0006415172.tif 000007
【図７】
0006415172.tif 000008
【図８】
0006415172.tif 000009
【図９】
0006415172.tif 000010
【図１０】
0006415172.tif 000011
【図１１】
0006415172.tif 000012
【図１２】
0006415172.tif 000013
【図１３】
0006415172.tif 000014
【図１４】
0006415172.tif 000015
【図１５】
0006415172.tif 000016