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