(57)【特許請求の範囲】
【請求項１】
ユーザからの文書データに対する印刷指示が可能なアプリケーションを実現するためのプログラムと、前記アプリケーションを介した印刷指示に基づく印刷命令を管理するためのスプーラを実現するためのプログラムと、印刷装置に対して前記文書データを印刷するための印刷データを送信するプリンタドライバを実現するためのプログラムとを記憶する記憶手段と、
前記アプリケーションと前記スプーラと前記プリンタドライバとを前記記憶手段に記憶されたプログラムに基づき実行する制御手段とを備え、
前記アプリケーションの機能として、ユーザの文書データに対する印刷指示を受けて、前記スプーラからスプーラの公開鍵を取得し、当該取得したスプーラの公開鍵を用いて前記文書データを暗号化し、前記記憶手段がアプリケーションを介して前記暗号化された文書データを取得し、当該取得した暗号化された文書データを一時的に記憶し、
前記プリンタドライバの機能として、前記スプーラからスプーラの秘密鍵を取得し、当該取得したスプーラの秘密鍵を用いて、前記記憶手段に記憶された暗号化された文書データを復号化して、復号化された文書データに基づき印刷データを生成することを特徴とする情報処理装置。
【請求項２】
前記プリンタドライバの機能として、前記印刷装置から印刷装置の公開鍵を取得し、当該取得した公開鍵を用いて、前記生成した印刷データを暗号化し、当該暗号化した印刷データを前記印刷装置に送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記スプーラの機能として前記プリンタドライバの起動を指示し、前記スプーラの秘密鍵は前記プリンタドライバからのみ参照が可能であることを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記プリンタドライバの機能として、復号化した文書データに対してラスター生成処理またはＰＤＬ生成処理を行うことで印刷データを生成することを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記アプリケーションを介してスプーラの公開鍵が取得できなかった場合、ユーザに対して印刷中止を通知するための画面を表示する表示手段を備えることを特徴とする請求項１乃至請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
ユーザからのアプリケーションを介した文書データに対する印刷指示に基づく印刷命令を管理するためのスプーラを実現するプログラムと、印刷装置に対して前記文書データを印刷するための印刷データを送信するプリンタドライバを実現するプログラムとを記憶する記憶手段を備える情報処理装置における情報処理方法であって、
前記アプリケーションにおいて、ユーザの文書データに対する印刷指示を受けて、前記スプーラからスプーラの公開鍵を取得し、当該取得したスプーラの公開鍵を用いて前記文書データを暗号化し、
前記アプリケーションを介して前記暗号化された文書データを取得し、当該取得した暗号化された文書データを一時的に記憶する記憶工程を備え、
前記プリンタドライバは、前記スプーラからスプーラの秘密鍵を取得し、当該取得したスプーラの秘密鍵を用いて、前記記憶工程において記憶された暗号化された文書データを復号化して、復号化された文書データに基づき印刷データを生成することを特徴とする情報処理方法。
【請求項７】
前記プリンタドライバが前記印刷装置から印刷装置の公開鍵を取得し、当該取得した公開鍵を用いて、前記生成した印刷データを暗号化し、当該暗号化した印刷データを前記印刷装置に送信することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記スプーラが前記プリンタドライバの起動を指示し、前記スプーラの秘密鍵は前記プリンタドライバからのみ参照が可能であることを特徴とする請求項６または請求項７に記載の情報処理方法。
【請求項９】
前記プリンタドライバが復号化した文書データに対してラスター生成処理またはＰＤＬ生成処理を行うことで印刷データを生成することを特徴とする請求項６乃至請求項８のいずれか１項に記載の情報処理方法。
【請求項１０】
印刷装置と、前記印刷装置と通信可能な情報処理装置とを含む印刷システムであって、
前記情報処理装置は、
ユーザからの文書データに対する印刷指示が可能なアプリケーションを実現するためのプログラムと、前記アプリケーションを介した印刷指示に基づく印刷命令を管理するためのスプーラを実現するためのプログラムと、印刷装置に対して前記文書データを印刷するための印刷データを送信するプリンタドライバを実現するためのプログラムとを記憶する記憶手段と、
前記アプリケーションと前記スプーラと前記プリンタドライバとを前記記憶手段に記憶されたプログラムに基づき実行する制御手段とを備え、
前記アプリケーションの機能として、ユーザの文書データに対する印刷指示を受けて、前記スプーラからスプーラの公開鍵を取得し、当該取得したスプーラの公開鍵を用いて前記文書データを暗号化し、前記記憶手段がアプリケーションを介して前記暗号化された文書データを取得し、当該取得した暗号化された文書データを一時的に記憶し、
前記プリンタドライバの機能として、前記スプーラからスプーラの秘密鍵を取得し、当該取得したスプーラの秘密鍵を用いて、前記記憶手段に記憶された暗号化された文書データを復号化して、復号化された文書データに基づき印刷データを生成して、前記印刷装置から印刷装置の公開鍵を取得し、当該取得した公開鍵を用いて、前記生成した印刷データを暗号化し、当該暗号化した印刷データを前記印刷装置に送信し、
前記印刷装置は、
前記情報処理装置より受信した暗号化された印刷データを、当該印刷装置の秘密鍵を用いて復号化し、復号された印刷データを印刷する印刷手段を備えることを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュアな印刷を目的とした印刷システム及び情報処理装置に関する。
【背景技術】
【０００２】
ユーザがアプリケーションで生成した文書を印刷装置に印刷する過程において、不正に第３者に文書内容を閲覧・印刷されるといった機密漏洩の防止を実現することは重要である。このような印刷技術はセキュアプリントと呼ばれる。
【０００３】
例えばＰＤＦを生成するアプリケーションであるＡｄｏｂｅ  Ａｃｒｏｂａｔでは文書を暗号化し、印刷許可用のパスワードがなければ印刷できないような仕組みを取っている。このようなアプリケーションではユーザからの印刷実行指示を受けると、アプリケーションがユーザにパスワードを要求し、アプリケーションで復号化した後に、印刷のためにスプーラに文書が渡される。
【０００４】
また印刷システム内のプリンタドライバにおいて、アプリケーション・スプーラを経由して受け取った文書を、プリンタドライバ内で暗号化し、パスワード情報等を付加して、プリンタに送信する。これにより、プリンタドライバとプリンタ間の情報漏洩を防ぐ手段も取られている（例えば、特許文献１参照）。
【０００５】
もしくはプリンタドライバにおいて、アプリケーションで暗号化された文書と認証情報を受け取る。その後、暗号化された文書にパスワード情報等の認証情報を付加して印刷データとしてプリンタに送信し、プリンタ側で復号化した後に印刷処理を行うことが提案されている。（例えば、特許文献２参照）。
【特許文献１】特開２００２−３４２０６１号公報
【特許文献２】特開２００４−２８７８２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ネットワークによってアプリケーションと印刷システムが接続されている環境においては、アプリケーションからスプーラにデータが渡される際に機密漏洩が起こる可能性が高い。これに対して例えば特開２００４−２８７８２４号公報にあるように、アプリケーションで暗号化したデータに認証情報を付加して印刷装置に送信する手段が提案されている。
【０００７】
しかしながら、これはホスト側でラスター化処理を要するホストレンダリングプリンタへの印刷においては実現することができない。ホストレンダリングプリンタはプリンタドライバでラスター化する為に、ラスター化する以前に復号化する必要がある。この時、スプーラにおいて文書データの復号化を行うことも考えられるが、スプールファイル生成前に復号化すると、印刷システム内のスプールファイルを抽出することで文書内容の閲覧されることが可能となってしまう。
【０００８】
またスプーラがプリンタドライバに文書データを渡す直前に復号化を行う際に、プリンタドライバがフィルタ構造を持つ印刷システムの場合を想定する。そうした場合、プリンタドライバに復号化したデータを渡す際に、文書データが漏洩する恐れがあるという問題があった。
【０００９】
この発明は上記課題を鑑み、印刷処理に関して、アプリケーションから暗号化された文書データを、少なくともスプーラとプリンタドライバを通して機密漏洩のないセキュアな印刷手法を提供することを目的とする。
【００１０】
また、アプリケーションから暗号化された文書データを、スプーラ、プリンタドライバ、印刷装置全体の処理を通して機密漏洩のないセキュアな印刷手法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成する為に本発明において提供する方法は、ユーザからのアプリケーションを介した文書データに対する印刷指示に基づく印刷命令を管理するためのスプーラを実現するプログラムと、印刷装置に対して前記文書データを印刷するための印刷データを送信するプリンタドライバを実現するプログラムとを記憶する記憶手段を備える情報処理装置において実現され、前記アプリケーションにおいて、ユーザの文書データに対する印刷指示を受けて、前記スプーラからスプーラの公開鍵を取得し、当該取得したスプーラの公開鍵を用いて前記文書データを暗号化し、前記アプリケーションを介して前記暗号化された文書データを取得し、当該取得した暗号化された文書データを一時的に記憶する記憶工程を備え、前記プリンタドライバは、前記スプーラからスプーラの秘密鍵を取得し、当該取得したスプーラの秘密鍵を用いて、前記記憶工程において記憶された暗号化された文書データを復号化して、復号化された文書データに基づき印刷データを生成することを特徴とする。
【発明の効果】
【００１２】
本発明により、印刷処理に関して、アプリケーションから暗号化された文書データを、少なくともスプーラとプリンタドライバを通して機密漏洩のないセキュアな印刷手法を提供することができる。
【発明を実施するための最良の形態】
【００１３】
本実施形態は、印刷システムに関するものである。以下、図面に基づいて、本発明の実施例を詳細に、かつ具体的に説明する。
【００１４】
図７は、本発明に適用可能な情報処理装置と印刷装置とがネットワークなどを介して通信可能に接続されている様子を示す。
【００１５】
まず、情報処理装置のハードウェアの構成について説明する。
【００１６】
図７において、ＣＰＵ１２０１は、ＲＯＭ１２０３のプログラム用ＲＯＭに記憶された、或いはハードディスク１２１１からＲＡＭ１２０２にロードされたＯＳやアプリケーション等のプログラムを実行する。ここでＯＳとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをＯＳと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。ＲＡＭ１２０２は、ＣＰＵ１２０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）１２０５は、キーボード１２０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）１２０６は、ＣＲＴディスプレイ１２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）１２０７は各種データを記憶するハードディスク（ＨＤ）１２１１やフロッピー（登録商標）ディスク（ＦＤ）等におけるデータアクセスを制御する。ＰＲＴＣ１２０８は、接続された印刷装置との間の信号の交換を制御する。接続のための回線１３１０は、ＬＡＮやＵＳＢなど種々の接続形態を適用可能である。ＮＣ１２１２はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。ここでは、ネットワークを介して、更に他の印刷装置、周辺機器と接続する形態であってもよい。
【００１７】
次に、印刷装置のハードウェアの構成について説明する。
【００１８】
図示するように、印刷装置において、１３０１は印刷装置のＣＰＵであり、ＲＯＭ１３０２や、外部メモリ１３０３に記憶された制御プログラムに基づいてシステムバス１３０４に接続される各ブロックを制御する。ＣＰＵ１３０１の処理により生成された画像信号が、印刷部Ｉ／Ｆ１３０５を介して、印刷部（印刷エンジン）１３０６に出力情報として出力される。また、ＣＰＵ１３０１は、入力部１３０７を介して情報処理装置との通信処理が可能となっており、印刷装置内の情報等を情報処理装置に通知できる。
【００１９】
ＲＯＭ１３０２内のプログラムＲＯＭには、ＣＰＵ１３０１の制御プログラム等を記憶している。ＲＯＭ１３０２内のフォント用ＲＯＭには、出力情報を生成する際に使用するフォントデータ等を記憶している。ＲＯＭ１３０２内のデータ用ＲＯＭには、ハードディスク等の外部メモリ１３０３がない印刷装置の場合、情報処理装置上で利用される情報等を記憶している。
【００２０】
ＲＡＭ１３０８は、ＣＰＵ１３０１の主メモリや、ワークエリア等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。また、ＲＡＭ１３０８は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００２１】
外部メモリ１３０３は、メモリコントローラ（ＭＣ）１３０９によりアクセスを制御される。外部メモリ１３０３は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル１３１１は操作のためのスイッチ及びＬＥＤ表示器等で構成されている。
【００２２】
スキャナＩ／Ｆ１３１２は、スキャナ部１３１３から受取った画像データに対して、補正、加工、及び編集を行う。スキャナ部１３１３は、原稿上の画像を露光走査して得られた反射光をＣＣＤに入力することで画像の情報を電気信号に変換する。さらに電気信号をＲ，Ｇ，Ｂ各色からなる輝度信号に変換し、当該輝度信号を画像データとして読み込む。ユーザが操作部１３１１から読み取り開始を指示すると、スキャナＩ／Ｆを介してスキャナ部１３１３に原稿読み取り指示が与えられる。スキャナ部１３１３は、この指示を受けると原稿の読み取り動作を行う。尚、原稿の読み取り方法は原稿フィーダ（不図示）にセットされる自動送り方式の形態であってもよい。また、原稿を不図示のガラス面上に載せ、露光部を移動させることで原稿の走査を行う方法であってもよい。
【００２３】
図７においては、印刷装置としてスキャナ部を備えるような装置を用いて説明を行ったが、少なくとも印刷部を備えるようなものであれば本発明には適用可能である。
【００２４】
図１は本発明の実施形態の示す印刷システムの全体構成を示す概略図である。図１においてアプリケーション１０１は、情報処理装置１００上で動作するプログラムであり、文書や画像といった文書データ１０２を表示・編集する等に利用される。暗号化処理部１０３はアプリケーション１０１において、文書データ１０２を暗号化するための機能である。
【００２５】
スプーラ１０４は情報処理装置１００で発生する印刷命令を管理する為のものである。複数の印刷命令が同時に発行された場合にも文書データをスプールファイル１０７として一時保存し、印刷命令を順次処理できるような仕組みを持つものである。スプーラ１０４は、暗号化に用いる暗号鍵の公開鍵１０５と公開鍵１０５で暗号化したデータを復号化する為の秘密鍵１０６をもっている。
【００２６】
プリンタドライバ１０８はいわゆるプリンタベンダが提供するプリンタドライバセットであり、情報処理装置１００内の記憶装置内に格納されている。そして、プリンタドライバ１０８は、印刷装置１１３に送信する為の印刷データを生成し、印刷装置１０３への送信処理を行う為に実行される。
【００２７】
復号化処理部１０９は、スプーラ１０４から受け取ったスプールファイル１０７を復号処理するためのモジュールである。ラスター生成処理部１１０はＰＤＬデータ生成の為にベクタ形式やアウトラインフォント等の情報を画像化するためのモジュールである。ＰＤＬ生成機能１１１は、印刷装置が解釈できるデータ形式に変換する為のモジュールで画像データを圧縮したものにフィニッシャ等のプリンタ制御コマンド等を付加したものである。暗号化処理部１１２は、ＰＤＬデータを再度暗号化しデータを送信するためのモジュールである。
【００２８】
印刷装置１１３は、印刷データを受信し印刷出力を実行する為の装置（プリンタ）である。復号化処理部１１６は、プリンタドライバ１０８から受け取った暗号化されたデータを復号化するためのモジュールである。公開鍵１１４と秘密鍵１１５はプリンタドライバ１０８での暗号化処理と印刷装置１１３での復号化処理に用いる為のもので、印刷装置１１３内に保持している。
【００２９】
また図２は、図１で示したシステム構成の具体例を示す図である。
【００３０】
２００はオフィスにおける社内ＬＡＮ等のネットワークであり、ネットワーク２００を介して、クライアント装置２０１やサーバ装置２０２が複数接続されている。
【００３１】
アプリケーション１０１は、クライアント装置２０１もしくはサーバ装置２０２のいずれにあってもよい。
【００３２】
本実施例においては、スプーラ１０４、プリンタドライバ１０８はサーバ装置２０２にある。ネットワーク２００で接続されたクライアント装置２０１にあるアプリケーション１０１及びサーバ装置２０２にあるアプリケーション１０１のどちらの場合も対象となる。
【００３３】
印刷装置２０３は、印刷装置１１３を指しており、サーバ装置２０２とネットワークもしくはＵＳＢ等のＩＦで接続されているか、もしくはネットワーク２００上に直接接続されていても良い。
【００３４】
アプリケーション１０１での処理の流れを図３のフローチャートを用いて説明する。
【００３５】
アプリケーション１０１は、Ｓ３０１においてユーザからの印刷指示を受けるとシステムのグラフィック機能を使うなどして印刷する文書データ１０２を生成する。ここでの文書データ１０２生成処理の詳細はアプリケーション１０１およびＯＳに依存する処理である。例えばＭａｃ  ＯＳの場合生成される文書はＰＤＦであり、Ｌｉｎｕｘの場合は主にＰｏｓｔＳｃｒｉｐｔが生成される。
【００３６】
Ｓ３０２において、情報処理装置１００内のスプーラ１０４に対して公開鍵１０５を要求する。
【００３７】
Ｓ３０３でＳ３０２の公開鍵１０５の取得が行えた場合には、暗号化処理部１０３がＳ３０４で公開鍵１０５を用いて文書データ１０２の暗号化を行う。この時の暗号化の方法は公開鍵を用いた暗号化の公知な方法を使用するとし、ここでは暗号化処理の詳細は記載しない。Ｓ３０４において暗号化された文書データはＳ３０５でアプリケーション１０１からスプーラ１０４への送信が行われる。
【００３８】
Ｓ３０３においてエラー等の発生により公開鍵１０５の取得が行われなかった場合には、アプリケーション１０１が、Ｓ３０６でユーザに対して印刷中止の旨を通知するための画面の表示をして印刷処理を終了する。Ｓ３０６での表示処理はアプリケーション内でのメッセージダイアログ等で表示するものとする。
【００３９】
スプーラ１０４の処理について図４に示したフローチャートを用いて順番に説明する。スプーラ１０４はアプリケーション１０１での暗号化用の公開鍵１０５とプリンタドライバ１０８での復号化用の秘密鍵１０６を保持している。
【００４０】
スプーラ１０４が、Ｓ４０１においてアプリケーション１０１からの印刷する文書データを受け取る。この受信処理はスプーラ１０４により異なり、単に文書データのローカルパスで受け取るものやＩＰＰに従いネットワーク経由で受信する場合もある。
【００４１】
スプーラ１０４がＳ４０２でスプールファイル１０７を生成し、文書データを一時的に情報処理装置１００内の記憶装置に格納する。
【００４２】
スプーラ１０４はＳ４０３において保持する秘密鍵１０６の情報取得を行い、スプーラ１０４のみがアクセス可能なメモリ上に秘密鍵１０６情報を記憶する。
【００４３】
次にスプーラ１０４が、Ｓ４０４において印刷対象の印刷装置１１３の印刷データを生成する為のプリンタドライバ１０８の起動を行う。Ｓ４０４におけるプリンタドライバ起動では、スプーラ１０４がプリンタドライバ１０８をひとつのプロセスとして、さらにスプーラ１０４の子プロセスとして起動する。この際、スプーラ１０４はスプールファイル１０７のパスを起動引数として与える。起動引数としてスプールファイル１０７のパスを与えると、他のユーザが情報処理装置１００のプロセスの状態をシステムコマンド等でスプールファイル１０７のパスは容易に確認できる。それにより、スプールファイル１０７を参照することが可能である。しかしながら、スプールファイル１０７は暗号化されており、秘密鍵１０６の情報がない限りスプールファイル１０７の復号化は出来ない為に文書を閲覧することは出来ない。
【００４４】
Ｓ４０４におけるプリンタドライバ１０８起動時に、スプーラ１０４が秘密鍵１０６をプリンタドライバ１０８に渡す為、パイプを生成してスプーラ１０４のプロセスとプリンタドライバ１０８のプロセスとを接続する。
【００４５】
Ｓ４０５において、スプーラ１０４が起動の指示をしたプリンタドライバ１０８に対して、スプーラ１０４のみがアクセスできるメモリ空間上に展開してある秘密鍵１０６の情報を参照する。そして、プリンタドライバ１０８と接続されているパイプに内容を書き込む。スプーラ１０４とプリンタドライバ１０８のみがパイプを通して、秘密鍵１０６の受け渡しをする為、他のユーザ、もしくはプロセスが秘密鍵１０６の情報を取得することはできない。そのため、仮に暗号化されたデータが漏洩した場合もプリンタドライバ１０８以外が復号化することができずに機密漏洩が起こることはなくなる。
【００４６】
プリンタドライバ１０８での印刷データ生成の処理の詳細を図５のフローチャートを用いて詳細に説明する。
【００４７】
スプーラ１０４により子プロセスとして起動されたプリンタドライバ１０８が、Ｓ５０１においてスプーラ１０４が起動引数として与えたスプールファイル１０７のパス情報からスプールファイル１０７のオープン処理を行う。
【００４８】
さらにプリンタドライバ１０８の復号化処理部１０９が、Ｓ５０２において復号化処理を実行する。Ｓ５０２における復号化処理は、スプーラ１０４とプリンタドライバ１０８間で接続されたパイプから秘密鍵１０６をプリンタドライバ１０８のみがアクセス可能なメモリ空間に読み込み展開する。さらにＳ５０１でオープンしたスプールファイル１０７を同じくプリンタドライバ１０８がアクセス可能なメモリ空間に読み込んでから行う。この復号化処理部１０９での復号化処理は秘密鍵情報を用いた公知の復号化方法により行うものとする。復号化処理部１０９は、Ｓ５０２で復号化したデータをプリンタドライバ１０８のみアクセス可能なメモリ空間上に格納する。  プリンタドライバ１０８内のラスター生成処理部１１０が、Ｓ５０２で復号化されメモリ空間上に格納された文書データを参照し、Ｓ５０３においてビットマップ形式のデータに変換する為のラスター生成処理を行う。ラスター生成処理は、一般的にレンダリングと呼ばれ、ラスター生成処理を行うモジュールをレンダラと呼ぶ。しかしながら、Ｓ５０３におけるラスター生成処理はプリンタベンダが提供する独自のレンダラを使用しても、システムのレンダラを呼び出しても良いとする。但しシステムのレンダラを利用する場合は、ラスター生成処理部１１０が直接システムレンダラのＡＰＩを呼び出すなどして外部から文書データを参照されないようにするものとする。ラスター生成処理部１１０は生成したラスターデータをプリンタドライバ１０８のみがアクセス可能なメモリ空間上に格納する。
【００４９】
プリンタドライバ１０８内のＰＤＬ生成処理部１１１が、Ｓ５０３においてラスター化されメモリ空間上に格納されたデータを参照して、Ｓ５０４で印刷装置１１３に適したＰＤＬに変換する為のＰＤＬ化処理を行う。ＰＤＬ生成処理部１１１は、ＰＤＬ化したデータをプリンタドライバ１０８のみがアクセスできるメモリ空間上にＰＤＬデータを格納する。
【００５０】
プリンタドライバ１０８内の暗号化処理部１１２が、Ｓ５０４においてＰＤＬ化されたデータを再度暗号化するためＳ５０５で公開鍵１１４の取得の問い合わせを行う。
【００５１】
Ｓ５０６においては、Ｓ５０５の処理で公開鍵１１４の取得ができたなら、Ｓ５０７に処理を移し、Ｓ５０４においてＰＤＬ化されメモリ空間上に格納されたＰＤＬデータを参照し、公開鍵１１４を使用した暗号化処理を行う。Ｓ５０７における暗号化方法については、これまで同様に公開鍵を用いた公知な暗号化方式でよいとする。Ｓ５０７で暗号化したデータは、Ｓ５０８において、暗号化処理部１１２が、印刷装置１１３に対してデータの送信を行う。Ｓ５０８におけるデータ送信時には、暗号化処理部１１２が、送信データのヘッダ部に暗号化データであることを示すフラグをセットするなど、データが暗号化されていることが判別出来るようにする。また送信の方式については、情報処理装置１００と印刷装置１１３の接続の形態により異なる。例えばネットワークで接続されている場合は、ＬＰＤ等のプロトコルを介して送信され、ＵＳＢで接続されている場合はそのＩＦ仕様に従うとする。
【００５２】
Ｓ５０６において、印刷装置１１３が暗号化データの受信に対応していない等の理由により、公開鍵１１４の取得が行えない場合には、暗号化処理部１１２が、Ｓ５０７での暗号化処理は行わずＳ５０８に移る。
【００５３】
Ｓ５０８では、非暗号化データのまま印刷装置１１３への送信を行いプリンタドライバ１０８での処理を終了する。この時送信データのヘッダにおける暗号化データであることを示すフラグはセットしない。
【００５４】
尚、Ｓ５０６において公開鍵１１４の取得が行えない場合には、ユーザに対して印刷中止の表示をして印刷処理を終了するとしてもよい。表示処理はアプリケーションを備える情報処理装置上で、メッセージダイアログ等で表示するものとする。
【００５５】
印刷装置１１３は、プリンタドライバ１０８で暗号化するための公開鍵１１４と印刷装置１１３で復号化するための秘密鍵１１５を保持している。図６の印刷装置での処理に関するフローチャートを使い、印刷装置１１３での処理の流れを具体的に説明する。
【００５６】
印刷装置１１３が、Ｓ６０１においてプリンタドライバ１０８から送信された印刷データの受信を行う。
【００５７】
Ｓ６０２においては印刷装置１１３の復号化処理部１１６がＳ６０１で受信した印刷データが暗号化データかの判別を行う。Ｓ６０２における印刷データの判別は、受信印刷データのヘッダ部分にある暗号化データであるかを示すフラグを見ることによりなされる。
【００５８】
Ｓ６０２において受信印刷データのヘッダに暗号化を示すフラグがセットされていたならば、受信印刷データが暗号化されていると判別する。そして復号化処理部１１６が、Ｓ６０３において印刷装置１１３自身がもつ秘密鍵１１５を使って復号化処理を行う。Ｓ６０３における復号化処理は秘密鍵を使った公知の復号方法に復号化処理である。復号化処理部１１６で復号化されたデータを印刷装置１１３の印刷処理部１１７が、Ｓ６０４において印刷処理を実行する。
【００５９】
Ｓ６０２の受信印刷データの判別において印刷データが暗号化データではなかった場合には、Ｓ６０３における復号処理は行われることなくＳ６０４に処理を移す。
【００６０】
Ｓ６０４では、印刷処理部１１７による印刷処理が行われ印刷装置１１３での印刷処理を終了する。
【００６１】
上記実施形態によれば、アプリケーション１０１でスプーラ１０４から取得した公開鍵１０５を用いて暗号化する。そして、スプーラ１０４によって起動されたプリンタドライバ１０８で、暗号化文書データをスプーラ１０４の保持する秘密鍵１０６を使って復号化する。さらにプリンタドライバ１０８でＰＤＬ生成したデータを印刷装置１１３から取得した公開鍵１１４を使い暗号化し、印刷装置１１３内で秘密鍵１１５を使用しての復号化処理を行ってから印刷する。
【００６２】
上記構成により、アプリケーションから印刷装置への印刷過程において文書データの不正に閲覧されることのないセキュアな印刷システムを構築することができる。
【図面の簡単な説明】
【００６３】
【図１】本発明のシステムの全体構成を表す概略図。
【図２】本発明のシステムの構成を示すブロック図。
【図３】アプリケーションでの処理を表すフローチャート。
【図４】スプーラでの処理を表すフローチャート。
【図５】プリンタドライバでの処理を表すフローチャート。
【図６】印刷装置での処理を表すフローチャート。
【図７】本発明のシステムを実現する情報処理装置及び印刷装置のハードウェア構成を示した図。
【符号の説明】
【００６４】
１００  情報処理装置
１０１  アプリケーション
１０２  文書データ
１０４  スプーラ
１０７  スプールファイル
１０８  プリンタドライバ
１１３  印刷装置
【図１】
0005025519.tif 000002
【図２】
0005025519.tif 000003
【図３】
0005025519.tif 000004
【図４】
0005025519.tif 000005
【図５】
0005025519.tif 000006
【図６】
0005025519.tif 000007
【図７】
0005025519.tif 000008