(57)【要約】【課題】ホスト装置とプリンタからなる印刷システムであって、いわゆるセキュリティ印刷時の安全性及び利便性が高く、比較的安価に構築することが可能な印刷システム、等を提供する。【解決手段】印刷要求を受けて印刷対象の印刷データを生成するホスト装置と、印刷データに基づいて印刷を実行する印刷装置を有する印刷システムにおいて、ホスト装置は、生成した印刷データをユーザパスワードから生成した第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記ユーザパスワードを第二復号キーで暗号化して印刷装置に送信し、印刷装置は、前記可搬性メモリに格納される前記第二復号キーで前記送信されたユーザパスワードを復号し、当該ユーザパスワードから生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する。【選択図】  図１
2008102851.tif 000002
【特許請求の範囲】
【請求項１】
印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成するホスト装置と、前記印刷データと前記ジョブコマンドに基づいて印刷を実行する印刷装置を有する印刷システムであって、
前記ホスト装置は、
ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成手段と、
前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成手段と、
前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成手段と、
前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納手段と、
前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信手段と、を備え、
前記印刷装置は、
前記送信手段により送信された暗号化したユーザパスワードを前記印刷装置の記憶装置に格納する登録手段と、
前記ジョブコマンドと暗号化された印刷データが格納された可搬性メモリから前記第二復号キーを取得し、当該第二復号キーで前記登録手段によって格納されたユーザパスワードを復号し、当該復号されたユーザパスワードから前記第一復号キーを生成し、当該生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する復号手段と、
前記復号手段により復号された印刷データに基づいて前記要求された印刷を実行する印刷手段と、を備える
ことを特徴とする印刷システム。
【請求項２】
請求項１において、
前記第一復号キー及び前記第二復号キーは、ハッシュ関数を用いて生成される
ことを特徴とする印刷システム。
【請求項３】
請求項１において、
前記第一復号キーは、ユーザパスワードである
ことを特徴とする印刷システム。
【請求項４】
請求項１乃至請求項３のいずれかにおいて、
前記ジョブ情報に、印刷機能の制限情報が含まれる
ことを特徴とする印刷システム。
【請求項５】
請求項１乃至請求項４のいずれかにおいて、
前記印刷装置の前記復号手段は、前記ユーザパスワードの復号後、当該復号したユーザパスワードと前記可搬性メモリに格納されるジョブコマンドに含まれる前記ジョブ情報とから前記第二復号キーを生成し、当該生成した第二復号キーが前記可搬性メモリから取得した第二復号キーと一致した場合に、前記印刷データの復号を行う
ことを特徴とする印刷システム。
【請求項６】
請求項１乃至請求項５のいずれかにおいて、
前記印刷装置の前記印刷手段による印刷の実行後、前記印刷装置の記憶装置に格納されたユーザパスワードと前記可搬性メモリに格納されたジョブコマンドと印刷データが削除される
ことを特徴とする印刷システム。
【請求項７】
印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成するホスト装置と、前記印刷データと前記ジョブコマンドに基づいて印刷を実行する印刷装置を有する印刷システムにおける印刷方法であって、
前記ホスト装置によって行われる、
ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成工程と、
前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成工程と、
前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成工程と、
前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納工程と、
前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信工程と、
前記印刷装置によって行われる、
前記送信工程送信された暗号化したユーザパスワードを前記印刷装置の記憶装置に格納する登録工程と、
前記ジョブコマンドと暗号化された印刷データが格納された可搬性メモリから前記第二復号キーを取得し、当該第二復号キーで前記登録工程によって格納されたユーザパスワードを復号し、当該復号されたユーザパスワードから前記第一復号キーを生成し、当該生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する復号工程と、
前記復号手段により復号された印刷データに基づいて前記要求された印刷を実行する印刷工程と、を有する
ことを特徴とする印刷方法。
【請求項８】
印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成し、当該印刷データと前記ジョブコマンドに基づく印刷を印刷装置に実施させる処理を、ホスト装置に実行させる印刷用プログラムであって、
ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成工程と、
前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成工程と、
前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成工程と、
前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納工程と、
前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信工程と、を前記ホスト装置に実行させる
ことを特徴とする印刷用プログラム。
【請求項９】
印刷要求を受けて印刷対象の印刷データを生成するホスト装置と、前記印刷データに基づいて印刷を実行する印刷装置を有する印刷システムであって、
前記ホスト装置は、前記生成した印刷データを第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記第一復号キーを前記第二復号キーで暗号化して前記印刷装置に送信し、
前記印刷装置は、前記可搬性メモリに格納される前記第二復号キーで前記送信された前記第一復号キーを復号し、当該復号された第一復号キーで前記可搬性メモリに格納された印刷データを復号する
ことを特徴とする印刷システム。
【請求項１０】
印刷要求を受けて印刷対象の印刷データを生成し、当該印刷データに基づく印刷を印刷装置に実施させる処理を、ホスト装置に実行させる印刷用プログラムであって、
前記生成した印刷データを第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記第一復号キーを前記第二復号キーで暗号化して前記印刷装置に送信する処理を、前記ホスト装置に実行させる
ことを特徴とする印刷用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置とプリンタからなる印刷システム等に関し、特に、いわゆるセキュリティ印刷時の安全性及び利便性が高く、比較的安価に構築することが可能な印刷システム等に関する。
【背景技術】
【０００２】
近年、ネットワーク環境の普及等に伴い、オフィスなどにおける利便性が向上する一方で、ネットワークを介してプリンタから出力される印刷物やその印刷データについてのセキュリティ意識が高まっている。そこで、従来、離れた場所に位置するプリンタへ出力する際の印刷物の盗み見や盗難の防止、ネットワークからの印刷データの不正な取得の防止等の観点から、いくつかの提案がなされている。
【０００３】
下記特許文献１では、プリンタにおいてユーザに暗証情報を入力させて印刷情報に付加されている転送暗証情報と照合した後に印刷を実行させる手法に関し、安全性向上のための提案が示されている。また、下記特許文献２では、ユーザがプリンタに認証コードを入力する同様の印刷手法に関し、プリンタで保管する印刷データを暗号化する等の提案がなされている。さらに、下記特許文献３では、ホスト装置で生成された印刷データをＵＳＢストレージクラスデバイスを介して印刷装置で印刷する方法について記載されている。
【特許文献１】特開平９−２１８７５７号公報
【特許文献２】特開２００１−３０６２７３号公報
【特許文献３】特開２００６−７９４７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１及び２に記載の手法では、ホスト装置から転送される印刷データをプリンタの記憶装置に保持しておくため、プリンタに比較的大きな容量の記憶領域が必要となりコスト面で課題があった。また、印刷データがネットワークを介して転送されプリンタ内に保持されるので、ネットワークやプリンタから印刷データが不正に取得されてしまう可能性もあった。さらに、印刷を実行するためにユーザは認証情報等をプリンタに入力する必要があり、また、その手間を軽くするためには更なる装置等を付加する必要があった。従って、これらの手法には、安全性、利便性、及びコスト面で課題がある。
【０００５】
また、上記特許文献３に記載の手法では、印刷データがＵＳＢストレージクラスデバイスにパスワードと共に保存され、ネットワークからのデータ取得を防止することができるが、ＵＳＢストレージクラスデバイスに全ての情報が保管され、また、印刷データには特段の措置がなされないので、ＵＳＢストレージクラスデバイスの盗難等を考慮すると、やはり安全面で課題があった。
【０００６】
そこで、本発明の目的は、ホスト装置とプリンタからなる印刷システムであって、いわゆるセキュリティ印刷時の安全性及び利便性が高く、比較的安価に構築することが可能な印刷システム、等を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の一つの側面は、印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成するホスト装置と、前記印刷データと前記ジョブコマンドに基づいて印刷を実行する印刷装置を有する印刷システムにおいて、前記ホスト装置は、ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成手段と、前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成手段と、前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成手段と、前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納手段と、前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信手段と、を備え、前記印刷装置は、前記送信手段により送信された暗号化したユーザパスワードを前記印刷装置の記憶装置に格納する登録手段と、前記ジョブコマンドと暗号化された印刷データが格納された可搬性メモリから前記第二復号キーを取得し、当該第二復号キーで前記登録手段によって格納されたユーザパスワードを復号し、当該復号されたユーザパスワードから前記第一復号キーを生成し、当該生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する復号手段と、前記復号手段により復号された印刷データに基づいて前記要求された印刷を実行する印刷手段と、を備えることである。
【０００８】
更に、上記の発明において、その好ましい態様は、前記第一復号キー及び前記第二復号キーは、ハッシュ関数を用いて生成されることを特徴とする。
【０００９】
更にまた、上記の発明において、一つの態様は、前記第一復号キーは、ユーザパスワードであることを特徴とする。
【００１０】
更に、上記の発明において、好ましい態様は、前記ジョブ情報に、印刷機能の制限情報が含まれることを特徴とする。
【００１１】
更に、上記の発明において、その好ましい態様は、前記印刷装置の前記復号手段は、前記ユーザパスワードの復号後、当該復号したユーザパスワードと前記可搬性メモリに格納されるジョブコマンドに含まれる前記ジョブ情報とから前記第二復号キーを生成し、当該生成した第二復号キーが前記可搬性メモリから取得した第二復号キーと一致した場合に、前記印刷データの復号を行うことを特徴とする。
【００１２】
更に、上記の発明において、好ましい態様は、前記印刷装置の前記印刷手段による印刷の実行後、前記印刷装置の記憶装置に格納されたユーザパスワードと前記可搬性メモリに格納されたジョブコマンドと印刷データが削除されることを特徴とする。
【００１３】
上記の目的を達成するために、本発明の別の側面は、印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成するホスト装置と、前記印刷データと前記ジョブコマンドに基づいて印刷を実行する印刷装置を有する印刷システムにおける印刷方法が、前記ホスト装置によって行われる、ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成工程と、前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成工程と、前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成工程と、前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納工程と、前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信工程と、前記印刷装置によって行われる、前記送信工程送信された暗号化したユーザパスワードを前記印刷装置の記憶装置に格納する登録工程と、前記ジョブコマンドと暗号化された印刷データが格納された可搬性メモリから前記第二復号キーを取得し、当該第二復号キーで前記登録工程によって格納されたユーザパスワードを復号し、当該復号されたユーザパスワードから前記第一復号キーを生成し、当該生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する復号工程と、前記復号手段により復号された印刷データに基づいて前記要求された印刷を実行する印刷工程と、を有することである。
【００１４】
上記の目的を達成するために、本発明の更に別の側面は、印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成し、当該印刷データと前記ジョブコマンドに基づく印刷を印刷装置に実施させる処理を、ホスト装置に実行させる印刷用プログラムが、ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成工程と、前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成工程と、前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成工程と、前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納工程と、前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信工程と、を前記ホスト装置に実行させることである。
【００１５】
上記の目的を達成するために、本発明の別の側面は、印刷要求を受けて印刷対象の印刷データを生成するホスト装置と、前記印刷データに基づいて印刷を実行する印刷装置を有する印刷システムにおいて、前記ホスト装置は、前記生成した印刷データを第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記第一復号キーを前記第二復号キーで暗号化して前記印刷装置に送信し、前記印刷装置は、前記可搬性メモリに格納される前記第二復号キーで前記送信された前記第一復号キーを復号し、当該復号された第一復号キーで前記可搬性メモリに格納された印刷データを復号することである。
【００１６】
上記の目的を達成するために、本発明の更に別の側面は、印刷要求を受けて印刷対象の印刷データを生成し、当該印刷データに基づく印刷を印刷装置に実施させる処理を、ホスト装置に実行させる印刷用プログラムが、前記生成した印刷データを第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記第一復号キーを前記第二復号キーで暗号化して前記印刷装置に送信する処理を、前記ホスト装置に実行させることである。
【００１７】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００１９】
図１は、本発明を適用した印刷システムの実施の形態例に係る構成図である。図１に示す印刷システム１００が、ホストコンピュータ１とプリンタ２から成る本発明を用いた印刷システムである。本印刷システム１００は、セキュリティ印刷の要求時には、ホストコンピュータ１で、ユーザパスワードと印刷ジョブ情報に基づいて暗号化パスワードなるものが生成され、ユーザパスワードを基にした復号キーで印刷データが暗号化されて前記暗号化パスワードと共に可搬性メモリ３に格納される一方、前記ユーザパスワードが前記暗号化パスワードを復号キーとして暗号化されてプリンタ２に登録され、セキュリティ印刷の実行時には、プリンタ２で、可搬性メモリ３内の前記暗号化パスワードで登録されているユーザパスワードが復号され、それに基づいて可搬性メモリ３内の印刷データが復号されて印刷が実行され、従来よりも安全性及び利便性が高いセキュリティ印刷を安価に実現しようとするものである。
【００２０】
ホストコンピュータ１は、本実施の形態例におけるホスト装置であり、ネットワーク４などを介して接続されるプリンタ２に対して印刷要求を行う。本ホストコンピュータ１では、通常印刷の要求のほか、機密文書等の印刷に用いられるセキュリティ印刷の要求を行うことができる。図１に示すように、ホストコンピュータ１には、アプリケーション１１、プリンタドライバ１２、ユーザＩ／Ｆ１３、及びメモリＩ／Ｆ１４等が備えられる。なお、ホストコンピュータ１は、いわゆるパーソナルコンピュータなどで構成することができる。
【００２１】
アプリケーション１１は、例えば、文書作成ソフトウェア等の印刷要求元であり、ユーザ操作に基づき、印刷要求時には、印刷条件、印刷対象のデータをプリンタドライバ１２に渡す。
【００２２】
プリンタドライバ１２は、前記アプリケーション１１からの印刷要求を受けて、印刷データ、印刷ジョブコマンドを生成し、これらをプリンタ２に送信する部分である。ただし、上記セキュリティ印刷の要求を受けた場合には、印刷データを暗号化して可搬性メモリ３に格納し、その復号キーの情報をプリンタ２に送信する。このセキュリティ印刷時の処理に本プリンタドライバ１２の特徴があり、その具体的な内容については後述する。なお、プリンタドライバ１２は、処理の手順を指示するプログラム（印刷用プログラム）と、当該プログラムに従って処理を実行する制御装置等によって構成することができる。また、そのプログラムは、ＣＤなどに格納された状態から本ホストコンピュータ１にインストールされても良いし、ネットワーク４などを介して所定のサイトからダウンロードされても良い。
【００２３】
また、ユーザＩ／Ｆ１３は、当該ホストコンピュータ１のユーザとのインターフェースを司る部分であり、ディスプレイなどの表示装置、キーボード及びマウスなどの入力装置等から構成される。
【００２４】
メモリＩ／Ｆ１４は、外部装置とのインターフェースを司る部分であり、例えば、ＵＳＢ規格に則った周辺機器を接続するためのインターフェースである。そして、ここには、本印刷システムでセキュリティ印刷を行う場合に用いられる可搬性メモリ３が装着される。この可搬性メモリ３としては、例えば、ＵＳＢメモリ、ＵＳＢストレージと呼ばれるものが用いられる。
【００２５】
次に、プリンタ２は、ホストコンピュータ１からの印刷要求を受信して印刷を実行する印刷装置である。図１に示すように、プリンタ２には、コントローラ２１、印刷エンジン２２、メモリＩ／Ｆ２３、及びユーザＩ／Ｆ２４等が備えられる。
【００２６】
コントローラ２１は、プリンタ２の各部を制御する部分であり、印刷実行時には、ホストコンピュータ１から発せられる印刷ジョブコマンドに従い、受信する印刷データに所定の処理を施して印刷エンジン２２に渡し、印刷媒体への印刷を実行させる。また、メモリＩ／Ｆ２３を介して可搬性メモリ３に格納されるデータにアクセスし、ユーザＩ／Ｆ２４を介してユーザが入力する情報を受け取る。なお、コントローラ２１は、図１に示すように、ＣＰＵ２１１、ＲＡＭ２１２、ＲＯＭ２１３等で構成される。
【００２７】
前述したセキュリティ印刷時には、ホストコンピュータ１から送信される暗号化されたユーザパスワード等がＲＡＭ２１２に格納され、また、暗号化された印刷データ等がメモリＩ／Ｆ２３に装着される可搬性メモリ３から取得される。このセキュリティ印刷時のコントローラ２１を中心とした処理に特徴を有し、その具体的な内容については後述する。なお、コントローラ２１が行う処理は、概ねＲＯＭ２１３に格納されるプログラムに従ったＣＰＵ２１１の動作によって実現される。
【００２８】
印刷エンジン２２は、コントローラ２１から転送されるデータに基づいて印刷媒体に対して印刷処理を実行する部分である。
【００２９】
メモリＩ／Ｆ２３は、外部装置とのインターフェースを司る部分であり、例えば、ＵＳＢ規格に則った周辺機器を接続するためのインターフェースである。そして、ここには、セキュリティ印刷を行う場合に暗号化された印刷データ等を格納する可搬性メモリ３が装着される。
【００３０】
また、ユーザＩ／Ｆ２４は、当該プリンタ２のユーザとのインターフェースを司る部分であり、表示部、操作ボタン等の操作部から構成される。セキュリティ印刷時には、ユーザによる印刷対象の選択操作等がここからなされる。
【００３１】
以上説明したような構成を有する本実施の形態例における印刷システム１００では、前述のとおり、セキュリティ印刷の処理に特徴を有し、以下、その具体的な処理内容について説明する。
【００３２】
図２は、セキュリティ印刷時におけるプリンタドライバ１２の処理手順を例示したフローチャートである。まず、図２に基づいて、ホストコンピュータ１側の処理について説明する。
【００３３】
プリンタドライバ１２は、まず、アプリケーション１１からセキュリティ印刷による印刷要求を受信する（ステップＳ１）。具体的には、印刷対象の画像データ、印刷条件に関する情報、セキュリティ印刷である旨の情報等を受信する。
【００３４】
セキュリティ印刷の要求を受信すると、プリンタドライバ１２は、ユーザＩ／Ｆ１３のディスプレイにユーザパスワード及び印刷機能制限について入力すべきメッセージを表示し、これらの入力を促す。ユーザパスワードは、当セキュリティ印刷における暗号化の源となる情報でありユーザが任意に決定する。また、印刷機能制限は、印刷回数や印刷期限に係るものであり、これもユーザが指定することができる。当該メッセージに応答してユーザがユーザパスワード等をユーザＩ／Ｆ１３から入力すると、プリンタドライバ１２それらの情報を受信する（ステップＳ２）。例えば、ユーザパスワードとして「１２３４」というデータが受信され、印刷回数として「１回」という制限が受信され、印刷期限（有効期限）として「本日」とうい制限が受信される。
【００３５】
次に、プリンタドライバ１２は、これら入力された情報及び要求された印刷ジョブの各種情報から暗号化パスワード（第二復号キー）なるものを生成する（ステップＳ３）。この暗号化パスワードは、後述する印刷データの復号キーの元となる前記ユーザパスワードを暗号化するものであり、上記印刷機能制限を含む印刷条件の改ざんの防止にも用いられる。
【００３６】
当該暗号化パスワードは、具体的には、ハッシュ関数を用いて生成される。ここでは、一例として、前記入力されたユーザパスワード（例えば「１２３４」）、当該要求された印刷ジョブのＩＤ（ＳｕｂｍｉｓｓｉｏｎＩＤ）、ユーザ名（例えば「ＡＢＣ」）、作成日（例えば「２００６／８／１」）、及び前記入力された印刷機能制限情報（例えば、「１回」と「２００６／８／１」）を、順次、ハッシュ関数であるＭＤ５に入力しその出力を取り出して、暗号化パスワードとする。
【００３７】
ハッシュ関数は、与えられた入力値に対して一定長のハッシュ値を出力するものであり、入力値と出力値が１対１に対応し、一般に出力値から入力値を知ることは困難であるため、上述のように暗号化パスワードを生成することにより、元の情報の機密性が保たれると共に、後述するが、入力値となる印刷機能制限情報の改ざんをチェックするために用いることが可能となる。
【００３８】
次に、プリンタドライバ１２は、要求された印刷ジョブのジョブコマンドを生成する（ステップＳ４）。ジョブコマンドはプリンタ２に要求する印刷ジョブの各印刷条件など指定するコマンドであり、その中には、上述した暗号化パスワードの生成に用いられた、印刷ジョブのＩＤ（ＳｕｂｍｉｓｓｉｏｎＩＤ）、ユーザ名、作成日、及び印刷機能制限情報が含まれ、さらに、生成した暗号化パスワードも組み込まれる。
【００３９】
図３は、プリンタドライバ１２が生成するジョブコマンドと印刷データを例示した図である。図３のＡで示す範囲がジョブコマンドに相当する部分であり、図には全てを記載していないが、図中の各コマンドにおける“ＳＵＢＭＩＳＳＩＯＮ”、“ＤＡＴＥ”、“ＵＳＥＲ”、“ＰＥＲＭＩＴ”、“ＰＡＳＳＷＯＲＤ”、及び“ＬＩＭＩＴＤＡＴＥ”は、それぞれ、印刷ジョブのＩＤ、作成日、ユーザ名、印刷許容回数、暗号化パスワード、及び有効期限に相当するコマンドであること表し、その後に、それぞれ、その値が入っている。“ＤＡＴＥ”（作成日）は、作成日時が“２００６／８／１  １２：００：００”であることを示し、“ＵＳＥＲ”（ユーザ名）は、ユーザが“ＡＢＣ”であることを示している。また、“ＰＥＲＭＩＴ”（印刷許容回数）が“１”回であり、有効期限が“２００６０８０１”、すなわち本日中である、ことを示してる。
【００４０】
これらジョブコマンドはプリンタ２に渡されてコントローラ２１で解釈されることになる。
【００４１】
次に、プリンタドライバ１２は、要求された印刷ジョブの印刷対象となる画像の印刷データを生成し、生成した印刷データを暗号化する（ステップＳ５）。印刷データの生成は、通常印刷の場合と同様に行われ、例えば、オブジェクト単位で表された画像データを画素毎のデータに変換するなどの処理が実行される。暗号化は、まず、前記ユーザに入力されたユーザパスワードをハッシュ関数であるＭＤ５に入力してその出力を取り出し、当該出力値を復号キー（第一復号キー）として、生成した印刷データを、例えば、ＡＥＳを用いて暗号化する。
【００４２】
図３に示す例では、Ｂに示す部分が当該暗号化された印刷データとなる。なお、暗号手法は一例であり、他の方法を用いることもできる。また、ここでは、ユーザパスワードをハッシュ関数に入力した出力を復号キーとしたが、ユーザパスワード自体を復号キーとしてもよい。ただし、ＭＤ５の出力を復号キーとした方が、ユーザパスワードを知られてしまった場合にもすぐに印刷データが復号されてしまうことがなく、セキュリティを高くすることができる。
【００４３】
次に、プリンタドライバ１２は、メモリＩ／Ｆ１４に装着されている可搬性メモリ３の空き容量をチェックする（ステップＳ６）。なお、セキュリティ印刷を要求する場合には、ユーザは、可搬性メモリ３をメモリＩ／Ｆ１４に装着しておく。当該チェックの結果、可搬性メモリ３に前記生成したジョブコマンドと暗号化された印刷データを保管できる容量があれば（ステップＳ６のＹｅｓ）、プリンタドライバ１２は、ユーザパスワードを暗号化する（ステップＳ８）。具体的には、前記暗号化パスワードを復号キーとしてユーザパスワードを暗号化する。
【００４４】
そして、プリンタドライバ１２は、当該暗号化されたパスワードと前述した印刷ジョブのＩＤ（ＳｕｂｍｉｓｓｉｏｎＩＤ）を関連付けてこれらをネットワーク４を介してプリンタ２に送信する（ステップＳ９）。プリンタ２側では、この暗号化されたパスワードとジョブＩＤをＲＡＭ２１２に登録（格納）する。
【００４５】
また、プリンタドライバ１２は、前記生成したジョブコマンドと暗号化された印刷データを可搬性メモリ３に保存する（ステップＳ１０）。
【００４６】
一方、前記ステップＳ６のチェックにおいて、可搬性メモリ３にジョブコマンドと暗号化された印刷データを保管できる容量がなければ（ステップＳ６のＮｏ）、以下のいずれかの処理を行う。その一つは、上記コマンドとデータを保管できる容量を空けるようにユーザにメッセージを出し、その容量が確保された時点で前述したステップＳ８からの処理を続行する。二つ目は、セキュリティ印刷をやめ、通常印刷として当該印刷ジョブを続行する。三つ目は、印刷自体を中止する。なお、これらの処理のいずれにするかは、予め定めておいてもよいし、ユーザに選択させるようにしてもよい。
【００４７】
以上説明したようにセキュリティ印刷時のホストコンピュータ１側の処理が終了する。
【００４８】
次に、セキュリティ印刷時におけるプリンタ２側の処理について説明する。図４は、セキュリティ印刷時におけるコントローラ２１の処理手順を例示したフローチャートである。前述したホストコンピュータ１側での印刷要求のための各操作の後、ユーザは、印刷データ等を格納した可搬性メモリ３をプリンタ２側のメモリＩ／Ｆ２３に装着する。それを受けて、コントローラ２１は、ユーザＩ／Ｆ２４の表示部にデータが格納されているセキュリティ印刷ジョブのリストを表示する。
【００４９】
それに対して、ユーザは、印刷を行いたいジョブをユーザＩ／Ｆ２４の操作ボタンを用いて選択する。当該選択操作により、コントローラ２１は、選択されたジョブのセキュリティ印刷が要求されたと判断し（ステップＳ２１）、装着されている可搬性メモリ３から選択されたジョブのジョブコマンドに含まれている前述した印刷ジョブＩＤ（ＳｕｂｍｉｓｓｉｏｎＩＤ）を取得する（ステップＳ２２）。なお、可搬性メモリ３内にセキュリティ印刷のデータが１ジョブ分しか保管されていない場合には、前記ユーザによる選択操作を行わせずに、可搬性メモリ３が装着されたことにより当該ジョブの印刷が要求されたと判断し、印刷ジョブＩＤを取得するようにしてもよい。
【００５０】
続いてコントローラ２１は、ホストコンピュータ１から送信されＲＡＭ２１２に登録（格納）されている、前述の暗号化されたパスワードと印刷ジョブＩＤ（ＳｕｂｍｉｓｓｉｏｎＩＤ）の情報を検索し（ステップＳ２３）、上記取得した印刷ジョブＩＤと同一のＩＤがＲＡＭ２１２内にあるか否かをチェックする（ステップＳ２４）。
【００５１】
当該チェックの結果、同一のジョブＩＤがあれば（ステップＳ２４のＹｅｓ）、コントローラ２１は、可搬性メモリ３内から前記選択されたジョブのジョブコマンドの中から前述した暗号化パスワードを取得する（ステップＳ２５）。
【００５２】
そして、ＲＡＭ２１２から、前記同一であったジョブＩＤに関連付けられている（対応している）暗号化されたユーザパスワードを、上記取得した暗号化パスワードを復号キーとして復号化する（ステップＳ２６）。
【００５３】
その後、コントローラ２１は、当該復号化されたパスワードと前記可搬性メモリ３内の選択されたジョブのジョブコマンドから、プリンタドライバ１２が暗号化パスワードを生成した際と同一の方法で、暗号化パスワードを生成する（ステップＳ２７）。具体的には、前記ユーザパスワード、印刷ジョブのＩＤ（ＳｕｂｍｉｓｓｉｏｎＩＤ）、ユーザ名、作成日、及び印刷機能制限情報を、順次、ハッシュ関数であるＭＤ５に入力しその出力を取り出して、暗号化パスワードとする。例えば、選択されたジョブのコマンドが図３に示したものであれば、ユーザパスワード（例えば「１２３４」）に続いて、“（ＳｕｂｍｉｓｓｉｏｎＩＤ）”、“ＡＢＣ”、“２００６／８／１”、及び“１”と“２００６０８０１”がＭＤ５に入力される。
【００５４】
次に、コントローラ２１は、前記取得した暗号化パスワード、すなわち、プリンタドライバ１２で生成された暗号化パスワード、と今回生成した暗号化パスワードを比較し（ステップＳ２８）、一致するか否かをチェックする（ステップＳ２９）。
【００５５】
その結果、一致していれば（ステップＳ２９のＹｅｓ）、印刷機能制限情報などの改ざん等がなされておらず正当な印刷要求であると判断し、印刷処理を実行すべく、まず、有効期限をチェックする（ステップＳ３０）。当該チェックは、プリンタ２が有している時計によるその時点の日時が、ジョブコマンド内の前記有効期限内であるか否かをチェックする。その結果、期限内でなければ（ステップＳ３０のＮｏ）、印刷処理を実行せずに処理を終了する。なお、この際には、可搬性メモリ３内の対象としている印刷データ及び印刷コマンドと対応するＲＡＭ２１２内の情報（暗号化されたユーザパスワードとジョブＩＤ）を削除するようにしてもよい。
【００５６】
一方、上記チェック結果、期限内であれば（ステップＳ３０のＹｅｓ）、前記復号化したユーザパスワードをＭＤ５に入力し、その出力を復号キーとして可搬性メモリ３内の暗号化されている対象印刷データを復号化する（ステップＳ３１）。そして、その印刷データを用いた印刷処理を実行する（ステップＳ３２）。具体的には、コントローラ２１は、当該印刷データに所定の処理を施して印刷エンジン２２用のデータとし、当該データを印刷エンジン２２に転送して印刷媒体に対する印刷処理を実行させる。
【００５７】
このように印刷を実行すると、コントローラ２１は、印刷回数制限についてチェックを行い（ステップＳ３３）、すなわち、ジョブコマンドの印刷機能制限情報から上記印刷処理の後、印刷処理を行えるか否かを判断し、印刷回数制限がありこれ以上印刷できないと判断した場合には（ステップＳ３３のＹｅｓ）、可搬性メモリ３内の対象としている印刷データ及びジョブコマンドと対応するＲＡＭ２１２内の情報（暗号化されたユーザパスワードとジョブＩＤ）を削除する（ステップＳ３６）。そして、当該セキュリティ印刷処理を終了する。例えば、図３に示すジョブコマンドの場合には、“ＰＥＲＭＩＴ”（印刷許容回数）が“１”回であるので、印刷処理（Ｓ３２）後は印刷不可となり上記削除の処理が行われることになる。一方、これ以降の印刷が可能であると判断した場合には（ステップＳ３３のＮｏ）、前記削除を行わずに、当該セキュリティ印刷処理を終了する。
【００５８】
また、前記ステップＳ２４において、ＲＡＭ２１２内に同一のジョブＩＤがない場合には（ステップＳ２４のＮｏ）、コントローラ２１は、ユーザＩ／Ｆ２４の表示部にユーザパスワードの入力を促すメッセージを表示し、それに応答してユーザにより入力されるユーザパスワードを取得する（ステップＳ３４）。そして、コントローラ２１は、当該ユーザパスワードと前記可搬性メモリ３内の選択されたジョブのジョブコマンドから、前記ステップＳ２７と同様に暗号化パスワードを生成し、前記ステップＳ２８と同様に、前記取得した暗号化パスワード、すなわち、プリンタドライバ１２で生成された暗号化パスワード、と今回生成した暗号化パスワードを比較する。そして、前記ステップＳ２９に処理が移行する。なお、当該同一のジョブＩＤが存在しない場合の処理は、ホストコンピュータ１側から印刷を要求された正当なプリンタ２で、何らかの理由により、前記登録されているはずのジョブＩＤが登録されていない場合に、正当なユーザによる印刷処理を実行可能とするためのものであり、同一のジョブＩＤが存在しない場合に印刷処理を実行しないで処理を終了するようにしてもよい。
【００５９】
また、前記ステップＳ２９において、両暗号化パスワードが一致しなかった場合には（ステップＳ２９のＮｏ）、処理が前記ステップＳ３４、Ｓ３５に移行する。なお、当該処理は、正当な印刷の場合にも、何らかの理由で、暗号化されたユーザパスワードまたは復号化後ユーザパスワードが、暗号化パスワードの生成（Ｓ２７）前に変更されてしまった場合を救済するものである。
【００６０】
しかしながら、暗号化パスワードの生成（Ｓ２７）には、前述したように、ユーザパスワードのほかジョブコマンドの各情報が用いられ、また、そのジョブコマンドの各情報は暗号化されずに平文で可搬性メモリ３に収められているので改ざんされる可能性があり、この改ざんが行われた場合にも、上記両暗号化パスワードの不一致がおこるため、この場合には（ステップＳ２９のＮｏ）、不正印刷であると判断して印刷処理を行わずに処理を終了するようにしてもよい。また、前記ステップＳ３４、Ｓ３５の処理を所定回（例えば、１回）行った後、依然として不一致であれば処理を終了するようにしてもよい。このようにすることにより、印刷機能制限の情報を改ざんして不正に印刷処理を実行することを防ぐことができる。例えば、図３に示した例において、“ＬＩＭＩＴＤＡＴＥ”の値を“２００６０８０１”から“２００６０８０２”に改ざんし、本来の有効期限である本日を過ぎても印刷を可能なようにしても、生成される暗号化パスワードの値が元のものとは異なるものとなるので、印刷を実行することができない。
【００６１】
以上説明したように、本実施の形態例に係る印刷システム１００では、セキュリティ印刷の際に、暗号化された印刷データが可搬性メモリ３に格納されてユーザによりプリンタ２まで搬送され、一方、その復号キーは暗号化されてネットワーク４を介してプリンタ２に送信される。従って、印刷データ自体がネットワークやプリンタの記憶装置から不正に取得されてしまうことを防ぐことができると共に、可搬性メモリ３が盗難にあってもその中に格納される暗号化された印刷データを復号することは容易ではない。さらに、可搬性メモリ３をプリンタ２に装着して印刷を実行する際に、上記送信された暗号化されている復号キー等の情報がプリンタ２に登録されていないと基本的には印刷が実行できないため、盗難された可搬性メモリ３を用いて異なるプリンタで印刷を行うことはできない。また、プリンタ２において暗号化された印刷データを復号する際に、その時点でのジョブコマンドの情報を用いて再度暗号化パスワードを生成し、ジョブコマンドの印刷機能制限等の内容が改ざんされていないことをチェックしてから印刷が実行される。さらに、印刷回数制限によりそれ以降の印刷ができない場合には、可搬性メモリ３及びプリンタ２から関連情報が削除され、それ以降、不当に使用されてしまうことがない。このように、本印刷システム１００では安全性の高いセキュリティ印刷を実行することが可能である。
【００６２】
また、本印刷システム１００では、印刷データ自体は可搬性メモリ３に格納されるので、プリンタ２の記憶容量を大きくする必要がなく、また、セキュリティ印刷のために特別な付加装置も必要ないので、安価にシステムを構築することができる。
【００６３】
さらに、セキュリティ印刷を行うために、ユーザは、プリンタ２側で対象データ（ジョブ）を選択するだけでよく、安全性の高いセキュリティ印刷を利便性よく実現することができる。
【００６４】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【００６５】
【図１】本発明を適用した印刷システムの実施の形態例に係る構成図である。
【図２】セキュリティ印刷時におけるプリンタドライバ１２の処理手順を例示したフローチャートである。
【図３】プリンタドライバ１２が生成するジョブコマンドと印刷データを例示した図である。
【図４】セキュリティ印刷時におけるコントローラ２１の処理手順を例示したフローチャートである。
【符号の説明】
【００６６】
１  ホストコンピュータ、  ２  プリンタ、  ３  可搬性メモリ、  ４  ネットワーク、１１  アプリケーション、  １２  プリンタドライバ（復号キー生成手段、コマンド生成手段、印刷データ生成手段、格納手段、送信手段）、  １３  ユーザＩ／Ｆ、  １４  メモリＩ／Ｆ、  ２１  コントローラ（登録手段、復号手段、印刷手段）、  ２２  印刷エンジン（印刷手段）、  ２３  メモリＩ／Ｆ、  ２４  ユーザＩ／Ｆ、  １００  印刷システム、  ２１１  ＣＰＵ、  ２１２  ＲＡＭ、  ２１３  ＲＯＭ
【図１】
2008102851.tif 000003
【図２】
2008102851.tif 000004
【図３】
2008102851.tif 000005
【図４】
2008102851.tif 000006