説明

印刷システム、印刷方法、及び印刷用プログラム

【課題】ホスト装置とプリンタからなる印刷システムであって、いわゆるセキュリティ印刷時の安全性及び利便性が高く、比較的安価に構築することが可能な印刷システム、等を提供する。
【解決手段】印刷要求を受けて印刷対象の印刷データを生成するホスト装置と、印刷データに基づいて印刷を実行する印刷装置を有する印刷システムにおいて、ホスト装置は、生成した印刷データをユーザパスワードから生成した第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記ユーザパスワードを第二復号キーで暗号化して印刷装置に送信し、印刷装置は、前記可搬性メモリに格納される前記第二復号キーで前記送信されたユーザパスワードを復号し、当該ユーザパスワードから生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホスト装置とプリンタからなる印刷システム等に関し、特に、いわゆるセキュリティ印刷時の安全性及び利便性が高く、比較的安価に構築することが可能な印刷システム等に関する。
【背景技術】
【0002】
近年、ネットワーク環境の普及等に伴い、オフィスなどにおける利便性が向上する一方で、ネットワークを介してプリンタから出力される印刷物やその印刷データについてのセキュリティ意識が高まっている。そこで、従来、離れた場所に位置するプリンタへ出力する際の印刷物の盗み見や盗難の防止、ネットワークからの印刷データの不正な取得の防止等の観点から、いくつかの提案がなされている。
【0003】
下記特許文献1では、プリンタにおいてユーザに暗証情報を入力させて印刷情報に付加されている転送暗証情報と照合した後に印刷を実行させる手法に関し、安全性向上のための提案が示されている。また、下記特許文献2では、ユーザがプリンタに認証コードを入力する同様の印刷手法に関し、プリンタで保管する印刷データを暗号化する等の提案がなされている。さらに、下記特許文献3では、ホスト装置で生成された印刷データをUSBストレージクラスデバイスを介して印刷装置で印刷する方法について記載されている。
【特許文献1】特開平9−218757号公報
【特許文献2】特開2001−306273号公報
【特許文献3】特開2006−79473号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1及び2に記載の手法では、ホスト装置から転送される印刷データをプリンタの記憶装置に保持しておくため、プリンタに比較的大きな容量の記憶領域が必要となりコスト面で課題があった。また、印刷データがネットワークを介して転送されプリンタ内に保持されるので、ネットワークやプリンタから印刷データが不正に取得されてしまう可能性もあった。さらに、印刷を実行するためにユーザは認証情報等をプリンタに入力する必要があり、また、その手間を軽くするためには更なる装置等を付加する必要があった。従って、これらの手法には、安全性、利便性、及びコスト面で課題がある。
【0005】
また、上記特許文献3に記載の手法では、印刷データがUSBストレージクラスデバイスにパスワードと共に保存され、ネットワークからのデータ取得を防止することができるが、USBストレージクラスデバイスに全ての情報が保管され、また、印刷データには特段の措置がなされないので、USBストレージクラスデバイスの盗難等を考慮すると、やはり安全面で課題があった。
【0006】
そこで、本発明の目的は、ホスト装置とプリンタからなる印刷システムであって、いわゆるセキュリティ印刷時の安全性及び利便性が高く、比較的安価に構築することが可能な印刷システム、等を提供することである。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本発明の一つの側面は、印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成するホスト装置と、前記印刷データと前記ジョブコマンドに基づいて印刷を実行する印刷装置を有する印刷システムにおいて、前記ホスト装置は、ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成手段と、前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成手段と、前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成手段と、前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納手段と、前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信手段と、を備え、前記印刷装置は、前記送信手段により送信された暗号化したユーザパスワードを前記印刷装置の記憶装置に格納する登録手段と、前記ジョブコマンドと暗号化された印刷データが格納された可搬性メモリから前記第二復号キーを取得し、当該第二復号キーで前記登録手段によって格納されたユーザパスワードを復号し、当該復号されたユーザパスワードから前記第一復号キーを生成し、当該生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する復号手段と、前記復号手段により復号された印刷データに基づいて前記要求された印刷を実行する印刷手段と、を備えることである。
【0008】
更に、上記の発明において、その好ましい態様は、前記第一復号キー及び前記第二復号キーは、ハッシュ関数を用いて生成されることを特徴とする。
【0009】
更にまた、上記の発明において、一つの態様は、前記第一復号キーは、ユーザパスワードであることを特徴とする。
【0010】
更に、上記の発明において、好ましい態様は、前記ジョブ情報に、印刷機能の制限情報が含まれることを特徴とする。
【0011】
更に、上記の発明において、その好ましい態様は、前記印刷装置の前記復号手段は、前記ユーザパスワードの復号後、当該復号したユーザパスワードと前記可搬性メモリに格納されるジョブコマンドに含まれる前記ジョブ情報とから前記第二復号キーを生成し、当該生成した第二復号キーが前記可搬性メモリから取得した第二復号キーと一致した場合に、前記印刷データの復号を行うことを特徴とする。
【0012】
更に、上記の発明において、好ましい態様は、前記印刷装置の前記印刷手段による印刷の実行後、前記印刷装置の記憶装置に格納されたユーザパスワードと前記可搬性メモリに格納されたジョブコマンドと印刷データが削除されることを特徴とする。
【0013】
上記の目的を達成するために、本発明の別の側面は、印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成するホスト装置と、前記印刷データと前記ジョブコマンドに基づいて印刷を実行する印刷装置を有する印刷システムにおける印刷方法が、前記ホスト装置によって行われる、ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成工程と、前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成工程と、前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成工程と、前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納工程と、前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信工程と、前記印刷装置によって行われる、前記送信工程送信された暗号化したユーザパスワードを前記印刷装置の記憶装置に格納する登録工程と、前記ジョブコマンドと暗号化された印刷データが格納された可搬性メモリから前記第二復号キーを取得し、当該第二復号キーで前記登録工程によって格納されたユーザパスワードを復号し、当該復号されたユーザパスワードから前記第一復号キーを生成し、当該生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する復号工程と、前記復号手段により復号された印刷データに基づいて前記要求された印刷を実行する印刷工程と、を有することである。
【0014】
上記の目的を達成するために、本発明の更に別の側面は、印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成し、当該印刷データと前記ジョブコマンドに基づく印刷を印刷装置に実施させる処理を、ホスト装置に実行させる印刷用プログラムが、ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成工程と、前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成工程と、前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成工程と、前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納工程と、前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信工程と、を前記ホスト装置に実行させることである。
【0015】
上記の目的を達成するために、本発明の別の側面は、印刷要求を受けて印刷対象の印刷データを生成するホスト装置と、前記印刷データに基づいて印刷を実行する印刷装置を有する印刷システムにおいて、前記ホスト装置は、前記生成した印刷データを第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記第一復号キーを前記第二復号キーで暗号化して前記印刷装置に送信し、前記印刷装置は、前記可搬性メモリに格納される前記第二復号キーで前記送信された前記第一復号キーを復号し、当該復号された第一復号キーで前記可搬性メモリに格納された印刷データを復号することである。
【0016】
上記の目的を達成するために、本発明の更に別の側面は、印刷要求を受けて印刷対象の印刷データを生成し、当該印刷データに基づく印刷を印刷装置に実施させる処理を、ホスト装置に実行させる印刷用プログラムが、前記生成した印刷データを第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記第一復号キーを前記第二復号キーで暗号化して前記印刷装置に送信する処理を、前記ホスト装置に実行させることである。
【0017】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【0019】
図1は、本発明を適用した印刷システムの実施の形態例に係る構成図である。図1に示す印刷システム100が、ホストコンピュータ1とプリンタ2から成る本発明を用いた印刷システムである。本印刷システム100は、セキュリティ印刷の要求時には、ホストコンピュータ1で、ユーザパスワードと印刷ジョブ情報に基づいて暗号化パスワードなるものが生成され、ユーザパスワードを基にした復号キーで印刷データが暗号化されて前記暗号化パスワードと共に可搬性メモリ3に格納される一方、前記ユーザパスワードが前記暗号化パスワードを復号キーとして暗号化されてプリンタ2に登録され、セキュリティ印刷の実行時には、プリンタ2で、可搬性メモリ3内の前記暗号化パスワードで登録されているユーザパスワードが復号され、それに基づいて可搬性メモリ3内の印刷データが復号されて印刷が実行され、従来よりも安全性及び利便性が高いセキュリティ印刷を安価に実現しようとするものである。
【0020】
ホストコンピュータ1は、本実施の形態例におけるホスト装置であり、ネットワーク4などを介して接続されるプリンタ2に対して印刷要求を行う。本ホストコンピュータ1では、通常印刷の要求のほか、機密文書等の印刷に用いられるセキュリティ印刷の要求を行うことができる。図1に示すように、ホストコンピュータ1には、アプリケーション11、プリンタドライバ12、ユーザI/F13、及びメモリI/F14等が備えられる。なお、ホストコンピュータ1は、いわゆるパーソナルコンピュータなどで構成することができる。
【0021】
アプリケーション11は、例えば、文書作成ソフトウェア等の印刷要求元であり、ユーザ操作に基づき、印刷要求時には、印刷条件、印刷対象のデータをプリンタドライバ12に渡す。
【0022】
プリンタドライバ12は、前記アプリケーション11からの印刷要求を受けて、印刷データ、印刷ジョブコマンドを生成し、これらをプリンタ2に送信する部分である。ただし、上記セキュリティ印刷の要求を受けた場合には、印刷データを暗号化して可搬性メモリ3に格納し、その復号キーの情報をプリンタ2に送信する。このセキュリティ印刷時の処理に本プリンタドライバ12の特徴があり、その具体的な内容については後述する。なお、プリンタドライバ12は、処理の手順を指示するプログラム(印刷用プログラム)と、当該プログラムに従って処理を実行する制御装置等によって構成することができる。また、そのプログラムは、CDなどに格納された状態から本ホストコンピュータ1にインストールされても良いし、ネットワーク4などを介して所定のサイトからダウンロードされても良い。
【0023】
また、ユーザI/F13は、当該ホストコンピュータ1のユーザとのインターフェースを司る部分であり、ディスプレイなどの表示装置、キーボード及びマウスなどの入力装置等から構成される。
【0024】
メモリI/F14は、外部装置とのインターフェースを司る部分であり、例えば、USB規格に則った周辺機器を接続するためのインターフェースである。そして、ここには、本印刷システムでセキュリティ印刷を行う場合に用いられる可搬性メモリ3が装着される。この可搬性メモリ3としては、例えば、USBメモリ、USBストレージと呼ばれるものが用いられる。
【0025】
次に、プリンタ2は、ホストコンピュータ1からの印刷要求を受信して印刷を実行する印刷装置である。図1に示すように、プリンタ2には、コントローラ21、印刷エンジン22、メモリI/F23、及びユーザI/F24等が備えられる。
【0026】
コントローラ21は、プリンタ2の各部を制御する部分であり、印刷実行時には、ホストコンピュータ1から発せられる印刷ジョブコマンドに従い、受信する印刷データに所定の処理を施して印刷エンジン22に渡し、印刷媒体への印刷を実行させる。また、メモリI/F23を介して可搬性メモリ3に格納されるデータにアクセスし、ユーザI/F24を介してユーザが入力する情報を受け取る。なお、コントローラ21は、図1に示すように、CPU211、RAM212、ROM213等で構成される。
【0027】
前述したセキュリティ印刷時には、ホストコンピュータ1から送信される暗号化されたユーザパスワード等がRAM212に格納され、また、暗号化された印刷データ等がメモリI/F23に装着される可搬性メモリ3から取得される。このセキュリティ印刷時のコントローラ21を中心とした処理に特徴を有し、その具体的な内容については後述する。なお、コントローラ21が行う処理は、概ねROM213に格納されるプログラムに従ったCPU211の動作によって実現される。
【0028】
印刷エンジン22は、コントローラ21から転送されるデータに基づいて印刷媒体に対して印刷処理を実行する部分である。
【0029】
メモリI/F23は、外部装置とのインターフェースを司る部分であり、例えば、USB規格に則った周辺機器を接続するためのインターフェースである。そして、ここには、セキュリティ印刷を行う場合に暗号化された印刷データ等を格納する可搬性メモリ3が装着される。
【0030】
また、ユーザI/F24は、当該プリンタ2のユーザとのインターフェースを司る部分であり、表示部、操作ボタン等の操作部から構成される。セキュリティ印刷時には、ユーザによる印刷対象の選択操作等がここからなされる。
【0031】
以上説明したような構成を有する本実施の形態例における印刷システム100では、前述のとおり、セキュリティ印刷の処理に特徴を有し、以下、その具体的な処理内容について説明する。
【0032】
図2は、セキュリティ印刷時におけるプリンタドライバ12の処理手順を例示したフローチャートである。まず、図2に基づいて、ホストコンピュータ1側の処理について説明する。
【0033】
プリンタドライバ12は、まず、アプリケーション11からセキュリティ印刷による印刷要求を受信する(ステップS1)。具体的には、印刷対象の画像データ、印刷条件に関する情報、セキュリティ印刷である旨の情報等を受信する。
【0034】
セキュリティ印刷の要求を受信すると、プリンタドライバ12は、ユーザI/F13のディスプレイにユーザパスワード及び印刷機能制限について入力すべきメッセージを表示し、これらの入力を促す。ユーザパスワードは、当セキュリティ印刷における暗号化の源となる情報でありユーザが任意に決定する。また、印刷機能制限は、印刷回数や印刷期限に係るものであり、これもユーザが指定することができる。当該メッセージに応答してユーザがユーザパスワード等をユーザI/F13から入力すると、プリンタドライバ12それらの情報を受信する(ステップS2)。例えば、ユーザパスワードとして「1234」というデータが受信され、印刷回数として「1回」という制限が受信され、印刷期限(有効期限)として「本日」とうい制限が受信される。
【0035】
次に、プリンタドライバ12は、これら入力された情報及び要求された印刷ジョブの各種情報から暗号化パスワード(第二復号キー)なるものを生成する(ステップS3)。この暗号化パスワードは、後述する印刷データの復号キーの元となる前記ユーザパスワードを暗号化するものであり、上記印刷機能制限を含む印刷条件の改ざんの防止にも用いられる。
【0036】
当該暗号化パスワードは、具体的には、ハッシュ関数を用いて生成される。ここでは、一例として、前記入力されたユーザパスワード(例えば「1234」)、当該要求された印刷ジョブのID(SubmissionID)、ユーザ名(例えば「ABC」)、作成日(例えば「2006/8/1」)、及び前記入力された印刷機能制限情報(例えば、「1回」と「2006/8/1」)を、順次、ハッシュ関数であるMD5に入力しその出力を取り出して、暗号化パスワードとする。
【0037】
ハッシュ関数は、与えられた入力値に対して一定長のハッシュ値を出力するものであり、入力値と出力値が1対1に対応し、一般に出力値から入力値を知ることは困難であるため、上述のように暗号化パスワードを生成することにより、元の情報の機密性が保たれると共に、後述するが、入力値となる印刷機能制限情報の改ざんをチェックするために用いることが可能となる。
【0038】
次に、プリンタドライバ12は、要求された印刷ジョブのジョブコマンドを生成する(ステップS4)。ジョブコマンドはプリンタ2に要求する印刷ジョブの各印刷条件など指定するコマンドであり、その中には、上述した暗号化パスワードの生成に用いられた、印刷ジョブのID(SubmissionID)、ユーザ名、作成日、及び印刷機能制限情報が含まれ、さらに、生成した暗号化パスワードも組み込まれる。
【0039】
図3は、プリンタドライバ12が生成するジョブコマンドと印刷データを例示した図である。図3のAで示す範囲がジョブコマンドに相当する部分であり、図には全てを記載していないが、図中の各コマンドにおける“SUBMISSION”、“DATE”、“USER”、“PERMIT”、“PASSWORD”、及び“LIMITDATE”は、それぞれ、印刷ジョブのID、作成日、ユーザ名、印刷許容回数、暗号化パスワード、及び有効期限に相当するコマンドであること表し、その後に、それぞれ、その値が入っている。“DATE”(作成日)は、作成日時が“2006/8/1 12:00:00”であることを示し、“USER”(ユーザ名)は、ユーザが“ABC”であることを示している。また、“PERMIT”(印刷許容回数)が“1”回であり、有効期限が“20060801”、すなわち本日中である、ことを示してる。
【0040】
これらジョブコマンドはプリンタ2に渡されてコントローラ21で解釈されることになる。
【0041】
次に、プリンタドライバ12は、要求された印刷ジョブの印刷対象となる画像の印刷データを生成し、生成した印刷データを暗号化する(ステップS5)。印刷データの生成は、通常印刷の場合と同様に行われ、例えば、オブジェクト単位で表された画像データを画素毎のデータに変換するなどの処理が実行される。暗号化は、まず、前記ユーザに入力されたユーザパスワードをハッシュ関数であるMD5に入力してその出力を取り出し、当該出力値を復号キー(第一復号キー)として、生成した印刷データを、例えば、AESを用いて暗号化する。
【0042】
図3に示す例では、Bに示す部分が当該暗号化された印刷データとなる。なお、暗号手法は一例であり、他の方法を用いることもできる。また、ここでは、ユーザパスワードをハッシュ関数に入力した出力を復号キーとしたが、ユーザパスワード自体を復号キーとしてもよい。ただし、MD5の出力を復号キーとした方が、ユーザパスワードを知られてしまった場合にもすぐに印刷データが復号されてしまうことがなく、セキュリティを高くすることができる。
【0043】
次に、プリンタドライバ12は、メモリI/F14に装着されている可搬性メモリ3の空き容量をチェックする(ステップS6)。なお、セキュリティ印刷を要求する場合には、ユーザは、可搬性メモリ3をメモリI/F14に装着しておく。当該チェックの結果、可搬性メモリ3に前記生成したジョブコマンドと暗号化された印刷データを保管できる容量があれば(ステップS6のYes)、プリンタドライバ12は、ユーザパスワードを暗号化する(ステップS8)。具体的には、前記暗号化パスワードを復号キーとしてユーザパスワードを暗号化する。
【0044】
そして、プリンタドライバ12は、当該暗号化されたパスワードと前述した印刷ジョブのID(SubmissionID)を関連付けてこれらをネットワーク4を介してプリンタ2に送信する(ステップS9)。プリンタ2側では、この暗号化されたパスワードとジョブIDをRAM212に登録(格納)する。
【0045】
また、プリンタドライバ12は、前記生成したジョブコマンドと暗号化された印刷データを可搬性メモリ3に保存する(ステップS10)。
【0046】
一方、前記ステップS6のチェックにおいて、可搬性メモリ3にジョブコマンドと暗号化された印刷データを保管できる容量がなければ(ステップS6のNo)、以下のいずれかの処理を行う。その一つは、上記コマンドとデータを保管できる容量を空けるようにユーザにメッセージを出し、その容量が確保された時点で前述したステップS8からの処理を続行する。二つ目は、セキュリティ印刷をやめ、通常印刷として当該印刷ジョブを続行する。三つ目は、印刷自体を中止する。なお、これらの処理のいずれにするかは、予め定めておいてもよいし、ユーザに選択させるようにしてもよい。
【0047】
以上説明したようにセキュリティ印刷時のホストコンピュータ1側の処理が終了する。
【0048】
次に、セキュリティ印刷時におけるプリンタ2側の処理について説明する。図4は、セキュリティ印刷時におけるコントローラ21の処理手順を例示したフローチャートである。前述したホストコンピュータ1側での印刷要求のための各操作の後、ユーザは、印刷データ等を格納した可搬性メモリ3をプリンタ2側のメモリI/F23に装着する。それを受けて、コントローラ21は、ユーザI/F24の表示部にデータが格納されているセキュリティ印刷ジョブのリストを表示する。
【0049】
それに対して、ユーザは、印刷を行いたいジョブをユーザI/F24の操作ボタンを用いて選択する。当該選択操作により、コントローラ21は、選択されたジョブのセキュリティ印刷が要求されたと判断し(ステップS21)、装着されている可搬性メモリ3から選択されたジョブのジョブコマンドに含まれている前述した印刷ジョブID(SubmissionID)を取得する(ステップS22)。なお、可搬性メモリ3内にセキュリティ印刷のデータが1ジョブ分しか保管されていない場合には、前記ユーザによる選択操作を行わせずに、可搬性メモリ3が装着されたことにより当該ジョブの印刷が要求されたと判断し、印刷ジョブIDを取得するようにしてもよい。
【0050】
続いてコントローラ21は、ホストコンピュータ1から送信されRAM212に登録(格納)されている、前述の暗号化されたパスワードと印刷ジョブID(SubmissionID)の情報を検索し(ステップS23)、上記取得した印刷ジョブIDと同一のIDがRAM212内にあるか否かをチェックする(ステップS24)。
【0051】
当該チェックの結果、同一のジョブIDがあれば(ステップS24のYes)、コントローラ21は、可搬性メモリ3内から前記選択されたジョブのジョブコマンドの中から前述した暗号化パスワードを取得する(ステップS25)。
【0052】
そして、RAM212から、前記同一であったジョブIDに関連付けられている(対応している)暗号化されたユーザパスワードを、上記取得した暗号化パスワードを復号キーとして復号化する(ステップS26)。
【0053】
その後、コントローラ21は、当該復号化されたパスワードと前記可搬性メモリ3内の選択されたジョブのジョブコマンドから、プリンタドライバ12が暗号化パスワードを生成した際と同一の方法で、暗号化パスワードを生成する(ステップS27)。具体的には、前記ユーザパスワード、印刷ジョブのID(SubmissionID)、ユーザ名、作成日、及び印刷機能制限情報を、順次、ハッシュ関数であるMD5に入力しその出力を取り出して、暗号化パスワードとする。例えば、選択されたジョブのコマンドが図3に示したものであれば、ユーザパスワード(例えば「1234」)に続いて、“(SubmissionID)”、“ABC”、“2006/8/1”、及び“1”と“20060801”がMD5に入力される。
【0054】
次に、コントローラ21は、前記取得した暗号化パスワード、すなわち、プリンタドライバ12で生成された暗号化パスワード、と今回生成した暗号化パスワードを比較し(ステップS28)、一致するか否かをチェックする(ステップS29)。
【0055】
その結果、一致していれば(ステップS29のYes)、印刷機能制限情報などの改ざん等がなされておらず正当な印刷要求であると判断し、印刷処理を実行すべく、まず、有効期限をチェックする(ステップS30)。当該チェックは、プリンタ2が有している時計によるその時点の日時が、ジョブコマンド内の前記有効期限内であるか否かをチェックする。その結果、期限内でなければ(ステップS30のNo)、印刷処理を実行せずに処理を終了する。なお、この際には、可搬性メモリ3内の対象としている印刷データ及び印刷コマンドと対応するRAM212内の情報(暗号化されたユーザパスワードとジョブID)を削除するようにしてもよい。
【0056】
一方、上記チェック結果、期限内であれば(ステップS30のYes)、前記復号化したユーザパスワードをMD5に入力し、その出力を復号キーとして可搬性メモリ3内の暗号化されている対象印刷データを復号化する(ステップS31)。そして、その印刷データを用いた印刷処理を実行する(ステップS32)。具体的には、コントローラ21は、当該印刷データに所定の処理を施して印刷エンジン22用のデータとし、当該データを印刷エンジン22に転送して印刷媒体に対する印刷処理を実行させる。
【0057】
このように印刷を実行すると、コントローラ21は、印刷回数制限についてチェックを行い(ステップS33)、すなわち、ジョブコマンドの印刷機能制限情報から上記印刷処理の後、印刷処理を行えるか否かを判断し、印刷回数制限がありこれ以上印刷できないと判断した場合には(ステップS33のYes)、可搬性メモリ3内の対象としている印刷データ及びジョブコマンドと対応するRAM212内の情報(暗号化されたユーザパスワードとジョブID)を削除する(ステップS36)。そして、当該セキュリティ印刷処理を終了する。例えば、図3に示すジョブコマンドの場合には、“PERMIT”(印刷許容回数)が“1”回であるので、印刷処理(S32)後は印刷不可となり上記削除の処理が行われることになる。一方、これ以降の印刷が可能であると判断した場合には(ステップS33のNo)、前記削除を行わずに、当該セキュリティ印刷処理を終了する。
【0058】
また、前記ステップS24において、RAM212内に同一のジョブIDがない場合には(ステップS24のNo)、コントローラ21は、ユーザI/F24の表示部にユーザパスワードの入力を促すメッセージを表示し、それに応答してユーザにより入力されるユーザパスワードを取得する(ステップS34)。そして、コントローラ21は、当該ユーザパスワードと前記可搬性メモリ3内の選択されたジョブのジョブコマンドから、前記ステップS27と同様に暗号化パスワードを生成し、前記ステップS28と同様に、前記取得した暗号化パスワード、すなわち、プリンタドライバ12で生成された暗号化パスワード、と今回生成した暗号化パスワードを比較する。そして、前記ステップS29に処理が移行する。なお、当該同一のジョブIDが存在しない場合の処理は、ホストコンピュータ1側から印刷を要求された正当なプリンタ2で、何らかの理由により、前記登録されているはずのジョブIDが登録されていない場合に、正当なユーザによる印刷処理を実行可能とするためのものであり、同一のジョブIDが存在しない場合に印刷処理を実行しないで処理を終了するようにしてもよい。
【0059】
また、前記ステップS29において、両暗号化パスワードが一致しなかった場合には(ステップS29のNo)、処理が前記ステップS34、S35に移行する。なお、当該処理は、正当な印刷の場合にも、何らかの理由で、暗号化されたユーザパスワードまたは復号化後ユーザパスワードが、暗号化パスワードの生成(S27)前に変更されてしまった場合を救済するものである。
【0060】
しかしながら、暗号化パスワードの生成(S27)には、前述したように、ユーザパスワードのほかジョブコマンドの各情報が用いられ、また、そのジョブコマンドの各情報は暗号化されずに平文で可搬性メモリ3に収められているので改ざんされる可能性があり、この改ざんが行われた場合にも、上記両暗号化パスワードの不一致がおこるため、この場合には(ステップS29のNo)、不正印刷であると判断して印刷処理を行わずに処理を終了するようにしてもよい。また、前記ステップS34、S35の処理を所定回(例えば、1回)行った後、依然として不一致であれば処理を終了するようにしてもよい。このようにすることにより、印刷機能制限の情報を改ざんして不正に印刷処理を実行することを防ぐことができる。例えば、図3に示した例において、“LIMITDATE”の値を“20060801”から“20060802”に改ざんし、本来の有効期限である本日を過ぎても印刷を可能なようにしても、生成される暗号化パスワードの値が元のものとは異なるものとなるので、印刷を実行することができない。
【0061】
以上説明したように、本実施の形態例に係る印刷システム100では、セキュリティ印刷の際に、暗号化された印刷データが可搬性メモリ3に格納されてユーザによりプリンタ2まで搬送され、一方、その復号キーは暗号化されてネットワーク4を介してプリンタ2に送信される。従って、印刷データ自体がネットワークやプリンタの記憶装置から不正に取得されてしまうことを防ぐことができると共に、可搬性メモリ3が盗難にあってもその中に格納される暗号化された印刷データを復号することは容易ではない。さらに、可搬性メモリ3をプリンタ2に装着して印刷を実行する際に、上記送信された暗号化されている復号キー等の情報がプリンタ2に登録されていないと基本的には印刷が実行できないため、盗難された可搬性メモリ3を用いて異なるプリンタで印刷を行うことはできない。また、プリンタ2において暗号化された印刷データを復号する際に、その時点でのジョブコマンドの情報を用いて再度暗号化パスワードを生成し、ジョブコマンドの印刷機能制限等の内容が改ざんされていないことをチェックしてから印刷が実行される。さらに、印刷回数制限によりそれ以降の印刷ができない場合には、可搬性メモリ3及びプリンタ2から関連情報が削除され、それ以降、不当に使用されてしまうことがない。このように、本印刷システム100では安全性の高いセキュリティ印刷を実行することが可能である。
【0062】
また、本印刷システム100では、印刷データ自体は可搬性メモリ3に格納されるので、プリンタ2の記憶容量を大きくする必要がなく、また、セキュリティ印刷のために特別な付加装置も必要ないので、安価にシステムを構築することができる。
【0063】
さらに、セキュリティ印刷を行うために、ユーザは、プリンタ2側で対象データ(ジョブ)を選択するだけでよく、安全性の高いセキュリティ印刷を利便性よく実現することができる。
【0064】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【0065】
【図1】本発明を適用した印刷システムの実施の形態例に係る構成図である。
【図2】セキュリティ印刷時におけるプリンタドライバ12の処理手順を例示したフローチャートである。
【図3】プリンタドライバ12が生成するジョブコマンドと印刷データを例示した図である。
【図4】セキュリティ印刷時におけるコントローラ21の処理手順を例示したフローチャートである。
【符号の説明】
【0066】
1 ホストコンピュータ、 2 プリンタ、 3 可搬性メモリ、 4 ネットワーク、11 アプリケーション、 12 プリンタドライバ(復号キー生成手段、コマンド生成手段、印刷データ生成手段、格納手段、送信手段)、 13 ユーザI/F、 14 メモリI/F、 21 コントローラ(登録手段、復号手段、印刷手段)、 22 印刷エンジン(印刷手段)、 23 メモリI/F、 24 ユーザI/F、 100 印刷システム、 211 CPU、 212 RAM、 213 ROM

【特許請求の範囲】
【請求項1】
印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成するホスト装置と、前記印刷データと前記ジョブコマンドに基づいて印刷を実行する印刷装置を有する印刷システムであって、
前記ホスト装置は、
ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成手段と、
前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成手段と、
前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成手段と、
前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納手段と、
前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信手段と、を備え、
前記印刷装置は、
前記送信手段により送信された暗号化したユーザパスワードを前記印刷装置の記憶装置に格納する登録手段と、
前記ジョブコマンドと暗号化された印刷データが格納された可搬性メモリから前記第二復号キーを取得し、当該第二復号キーで前記登録手段によって格納されたユーザパスワードを復号し、当該復号されたユーザパスワードから前記第一復号キーを生成し、当該生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する復号手段と、
前記復号手段により復号された印刷データに基づいて前記要求された印刷を実行する印刷手段と、を備える
ことを特徴とする印刷システム。
【請求項2】
請求項1において、
前記第一復号キー及び前記第二復号キーは、ハッシュ関数を用いて生成される
ことを特徴とする印刷システム。
【請求項3】
請求項1において、
前記第一復号キーは、ユーザパスワードである
ことを特徴とする印刷システム。
【請求項4】
請求項1乃至請求項3のいずれかにおいて、
前記ジョブ情報に、印刷機能の制限情報が含まれる
ことを特徴とする印刷システム。
【請求項5】
請求項1乃至請求項4のいずれかにおいて、
前記印刷装置の前記復号手段は、前記ユーザパスワードの復号後、当該復号したユーザパスワードと前記可搬性メモリに格納されるジョブコマンドに含まれる前記ジョブ情報とから前記第二復号キーを生成し、当該生成した第二復号キーが前記可搬性メモリから取得した第二復号キーと一致した場合に、前記印刷データの復号を行う
ことを特徴とする印刷システム。
【請求項6】
請求項1乃至請求項5のいずれかにおいて、
前記印刷装置の前記印刷手段による印刷の実行後、前記印刷装置の記憶装置に格納されたユーザパスワードと前記可搬性メモリに格納されたジョブコマンドと印刷データが削除される
ことを特徴とする印刷システム。
【請求項7】
印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成するホスト装置と、前記印刷データと前記ジョブコマンドに基づいて印刷を実行する印刷装置を有する印刷システムにおける印刷方法であって、
前記ホスト装置によって行われる、
ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成工程と、
前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成工程と、
前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成工程と、
前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納工程と、
前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信工程と、
前記印刷装置によって行われる、
前記送信工程送信された暗号化したユーザパスワードを前記印刷装置の記憶装置に格納する登録工程と、
前記ジョブコマンドと暗号化された印刷データが格納された可搬性メモリから前記第二復号キーを取得し、当該第二復号キーで前記登録工程によって格納されたユーザパスワードを復号し、当該復号されたユーザパスワードから前記第一復号キーを生成し、当該生成した第一復号キーで前記可搬性メモリに格納された印刷データを復号する復号工程と、
前記復号手段により復号された印刷データに基づいて前記要求された印刷を実行する印刷工程と、を有する
ことを特徴とする印刷方法。
【請求項8】
印刷要求を受けて印刷対象の印刷データとジョブコマンドを生成し、当該印刷データと前記ジョブコマンドに基づく印刷を印刷装置に実施させる処理を、ホスト装置に実行させる印刷用プログラムであって、
ユーザによって指定されたユーザパスワードから第一復号キーを生成し、前記ユーザパスワードと前記要求を受けた印刷のジョブ情報とから第二復号キーを生成する復号キー生成工程と、
前記ジョブ情報と前記第二復号キーを含む前記ジョブコマンドを生成するコマンド生成工程と、
前記印刷データを生成し、当該生成した印刷データを前記第一復号キーで暗号化する印刷データ生成工程と、
前記生成されたジョブコマンドと暗号化された印刷データを可搬性メモリに格納する格納工程と、
前記ユーザパスワードを前記第二復号キーで暗号化し、当該暗号化したユーザパスワードを前記印刷装置に送信する送信工程と、を前記ホスト装置に実行させる
ことを特徴とする印刷用プログラム。
【請求項9】
印刷要求を受けて印刷対象の印刷データを生成するホスト装置と、前記印刷データに基づいて印刷を実行する印刷装置を有する印刷システムであって、
前記ホスト装置は、前記生成した印刷データを第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記第一復号キーを前記第二復号キーで暗号化して前記印刷装置に送信し、
前記印刷装置は、前記可搬性メモリに格納される前記第二復号キーで前記送信された前記第一復号キーを復号し、当該復号された第一復号キーで前記可搬性メモリに格納された印刷データを復号する
ことを特徴とする印刷システム。
【請求項10】
印刷要求を受けて印刷対象の印刷データを生成し、当該印刷データに基づく印刷を印刷装置に実施させる処理を、ホスト装置に実行させる印刷用プログラムであって、
前記生成した印刷データを第一復号キーで暗号化して前記第一復号キーとは異なる第二復号キーと共に可搬性メモリに格納し、前記第一復号キーを前記第二復号キーで暗号化して前記印刷装置に送信する処理を、前記ホスト装置に実行させる
ことを特徴とする印刷用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−102851(P2008−102851A)
【公開日】平成20年5月1日(2008.5.1)
【国際特許分類】
【出願番号】特願2006−286598(P2006−286598)
【出願日】平成18年10月20日(2006.10.20)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】