説明

コンピュータプログラム及び印刷指示装置及び方法

【課題】電子文書の印刷指示を行うものが暗号化等の設定をしなくても、著作権者の意思に応じてPCからプリンタまでの伝送経路で印刷データを暗号化する。
【解決手段】プリンタドライバ11は、印刷対象に指示された電子文書に電子署名が付されているか否かを判定し(S3)、付されていれば、その署名に対応する電子証明書の強度を確認する(S5)。そして、その電子証明書の強度に応じた強度の暗号方式を用いて、電子文書の印刷画像を示す印刷データを暗号化し(S13)、プリンタに送信する(S14)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク経由でプリンタに印刷データを送信して印刷させるコンピュータプログラム(たとえばプリンタドライバ)に関し、特にネットワーク上での印刷データのセキュリティに関する。
【背景技術】
【0002】
ホストコンピュータからネットワークを介してプリンタに送信する印刷データの機密漏洩を防止するための技術として、特許文献1に示されるものが知られている。この技術では、ホストコンピュータ上のプリンタドライバは、伝送経路上での暗号化の有無や暗号化の強度を指定するためのユーザインタフェース画面を提供し、この画面に対する入力に応じて必要ならば印刷データを暗号化してプリンタに送信する。また、このプリンタドライバは、送信先のプリンタまでの経路がインターネットを介するか否かなどといった、ネットワーク上でのプリンタの位置に応じ、適切な暗号化強度を判定する。
【0003】
【特許文献1】特開2002−312146号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ユーザが作成した電子文書をそのユーザ自身が印刷指示する場合には、その電子文書をどの程度強力に守りたいかはそのユーザ自身の判断である。したがって、このような場合には、上記特許文献1の方式でも適切に電子文書の内容を保護することができる。
【0005】
しかしながら、世の中では、他の人が作成した電子文書や他の人が著作権を持つ電子文書を取得して印刷する場合も少なくない。このような場合、電子文書の内容をどの程度の強度で保護したいかは電子文書の作成者や著作権者の問題であり、その文書を取得して印刷する人が適切に判断できるとは期待できないので、特許文献1の方式では、ネットワーク上での電子文書の内容の保護が十分とは言えない。
【課題を解決するための手段】
【0006】
本発明は、1つの側面では、コンピュータを、印刷対象として指定された電子文書に電子署名が付されているか否かを判定する署名有無判定手段、該コンピュータとネットワークを介して接続されたプリンタに前記電子文書を印刷させるために、前記電子文書の画像を記述する印刷データを前記ネットワークを介して前記プリンタに送信する手段であって、前記電子文書に電子署名が付されている場合には、前記印刷データを暗号化して送信する送信制御手段、として機能させるためのコンピュータプログラムを提供する。
【0007】
本発明の好適な態様では、前記コンピュータを、前記電子文書に付されている電子署名の強度を判定する強度判定手段として機能させると共に、前記送信制御手段は、前記印刷データに施す暗号化の強度を、前記電子文書に付されている電子署名の強度に応じて選択する。
【0008】
別の好適な態様では、前記送信制御手段は、前記電子文書に電子署名が付されている場合には、前記印刷データに対して親展プリントの印刷属性を付加して送信する。
【0009】
本発明の別の側面では、印刷指示装置は、印刷対象として指定された電子文書に電子署名が付されているか否かを判定する署名有無判定手段と、該印刷指示装置とネットワークを介して接続されたプリンタに前記電子文書を印刷させるために、前記電子文書の画像を記述する印刷データを前記ネットワークを介して前記プリンタに送信する手段であって、前記電子文書に電子署名が付されている場合には、前記印刷データを暗号化して送信する送信制御手段と、を備える。
【0010】
本発明の更に別の側面では、ネットワークを介して接続されたプリンタに対し印刷対象として指定された電子文書の画像を記述する印刷データを送信して印刷させる装置が実行する印刷指示方法であって、前記電子文書に電子署名が付されているか否かを判定し、前記電子文書に電子署名が付されている場合には、前記印刷データを暗号化して送信する、方法を提供する。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照して、本発明の実施の形態(以下「実施形態」と呼ぶ)について説明する。
【0012】
図1は、本発明に係るプリンタ14を備えたシステムの構成の例を示す図である。このシステムでは、PC(パーソナルコンピュータ)10及び16とプリンタ14とが、LAN(ローカルエリアネットワーク)やインターネット等のデータ通信のためのネットワーク12に接続されている。PC16は、印刷の対象となる電子文書の所有者又は著作権者など、電子文書に対して権利を持つユーザ(権利保有者と呼ぶ)のPCである。PC10はその電子文書を取得して印刷しようとするユーザのPCである。PC10には、プリンタ14に電子文書のプリントを行わせるためのプリンタドライバ11がインストールされている。なお、ここでいう電子文書は、アプリケーションソフトウエア(以下単にアプリケーションと呼ぶ)のファイル形式の文書である。プリンタドライバ11は、アプリケーションのファイル形式の電子文書から、その電子文書の印刷画像を示す印刷データを作成し、プリンタ14に送る。印刷データは、プリンタ14が解釈可能なページ記述言語(PDL)で記述される。また、プリンタドライバ11は、印刷部数や用紙サイズ、印刷を指示したユーザのユーザ名、印刷指示の時刻などの印刷属性をプリントジョブ言語(PJL)で記述した属性データを作成し、印刷データと対応づけてプリンタ14に送る機能を備える。
【0013】
なお、プリンタの中には、特定の種類のアプリケーションについて、そのアプリケーションのファイル形式の電子文書をそのまま受け取って印刷する「ダイレクトプリント」機能を備えるものもある。印刷対象の電子文書がプリンタ14でダイレクトプリント可能なファイル形式である場合、プリンタドライバ11は、その電子文書をPDLの印刷データに変更せず、その電子文書に属性データを付加してプリンタに送信することもできる。
【0014】
電子文書には、電子文書の所有者や著作権者などの秘密鍵情報を用いて電子署名を伏すことができる。例えばマイクロソフト社のワードプロセッサソフトウエア「Word」や、アドビシステムズ社の「Acrobat」などのように、作成した文書に電子署名を組み込むことができるソフトウエアが普及しており、電子文書はこのようなソフトウエアにより電子署名を付加することができる。
【0015】
電子署名は、電子文書のハッシュ値を署名者の秘密鍵で暗号化することにより生成される。XML署名などでよく知られるように、一般に電子文書に組み込まれる電子署名の情報には、電子署名の署名値(すなわちハッシュ値の暗号化結果)の他に、その署名値を検証するための検証鍵(すなわち署名者の公開鍵)を特定するための情報が含まれる。この情報は、検証鍵自身の場合もあれば、署名者の公開鍵証明書の場合もあり、それら両方の場合もある。
【0016】
電子文書の権利保有者は、電子文書を配布する場合、その電子文書が正しくその者が配布した者であることを保証するなどの目的で、その者の電子署名を付すことが多い。本実施形態のプリンタドライバ11は、この電子署名に基づき、PC10からプリンタ14までの伝送経路(すなわちネットワーク12)における電子文書の内容の機密保護のための処理を行う。
【0017】
基本的な考え方は、印刷対象に指定された電子文書に電子署名が付されていれば、プリンタドライバ11が、その電子文書の内容に機密保護が必要と判断し、伝送経路上ではその電子文書の内容を暗号化により保護するというものである。
【0018】
また、本実施形態では、電子署名の強度に応じて暗号化の強度を切り換える。電子署名の強度は、言い換えれば電子署名を検証するための電子証明書(すなわち電子署名に用いた秘密鍵に対応する公開鍵を証明する証明書)の強度である。電子証明書の強度は、例えば、電子証明書に示される公開鍵の鍵長によって規定できる。鍵長が長いほど強度が高い。本実施形態では、1つの例として、電子証明書の鍵長が長いほど、電子文書の暗号強度を上げる。
【0019】
また、電子証明書の強度は、電子証明書を発行したCA(認証局)の信頼度に応じて決めることもできる。例えば、Verisign社などのようにルート証明書を有する「信頼されたCA」が発行した電子証明書の強度は高いと言え、それに対し企業が設立した社内向けCAが発行した電子証明書は「信頼されたCA」の証明書よりも強度は低いと言える。このような観点から定めた電子証明書の強度が高いほど、暗号化の強度を高めることも考えられる。また、CAの信頼度と鍵長の組み合わせに対して強度を規定することも可能である。この場合、CAと鍵長の組み合わせに対して、強度の値を割り当てればよい。
【0020】
本実施形態では、このように規定された電子証明書の強度の各値又は順位に対し、それぞれ対応する暗号化強度を割り当てる。
【0021】
暗号強度は、例えば、暗号化に用いる鍵長を長くすれば高めることができる。したがって、プリンタドライバ11は、例えば、電子証明書の鍵長ごとに、これに対応する鍵長を持った暗号化鍵を登録したテーブルを保持し、そのテーブルから適切な強度の暗号化鍵を選択すればよい。また、暗号強度は、暗号アルゴリズムによっても変わるので、電子証明書の各鍵長に対応する暗号アルゴリズムをテーブルに登録しておき、電子証明書の鍵長に応じた暗号方式をプリンタドライバ11が選択して利用してもよい。暗号アルゴリズムと鍵長との組み合わせで暗号強度を規定してももちろんよい。プリンタ14は、プリンタドライバ11が用いる各暗号化鍵に対応する復号鍵、或いはプリンタドライバ11が用いる各暗号アルゴリズムに対応した復号アルゴリズムを備えている。
【0022】
次に、図2を参照して、プリンタドライバ11の動作を説明する。プリンタドライバ11は、例えば、編集又は閲覧用のアプリケーションで電子文書を開いた状態で、ユーザから印刷の指示が入力されると起動される。その電子文書が印刷対象となる。プリンタドライバ11は、ユーザに対し印刷先のプリンタ、印刷するページ範囲、印刷部数等と言った印刷属性を指定するユーザインタフェース画面を提供する。ユーザがその画面上で必要な印刷属性を入力すると、プリンタドライバ11は、入力された各印刷属性の値や、印刷を指示したユーザ名、現在時刻などをアプリケーション又はオペレーティングシステムから取得してPJLで記述することにより、属性データを作成する(S1)。また、プリンタドライバ11は、印刷対象の電子文書の印刷画像を印刷先のプリンタが解釈可能なPDLで記述することで、印刷データを作成する(S2)。
【0023】
そして、プリンタドライバ11は、印刷対象の電子文書に電子署名が付されているかどうかを判定する(S3)。付されていなければ、プリンタドライバ11は、属性データを暗号化して(S4)、印刷データは暗号化せずにそのまま、プリンタ14に送信する。属性データの暗号化は、プリンタ14が復号可能な所定の暗号方式で行う。ここで属性データを暗号化するのは、属性データ中に、ユーザ名等の個人情報が含まれるからである。
【0024】
印刷対象の電子文書に電子署名が付されていた場合、プリンタドライバ11は、その電子署名に対応する電子証明書の強度を確認する(S5)。XML署名等でよく知られるように、電子署名のデータ中には、その電子署名を検証するための公開鍵の証明書、又はその証明書を一意に示す識別情報が含まれている。証明書が含まれていれば、プリンタドライバは、その証明書中の公開鍵の鍵長、又はその証明書の発行者の情報、又はその両方に基づき、その証明書の強度を求めることができる。証明書が含まれていなければ、プリンタドライバ11は、電子署名のデータ中の識別情報に対応する証明書をCA又はディレクトリサーバから取得し、その証明書の強度を求めればよい。
【0025】
証明書の強度が確認できると、プリンタドライバ11は、その強度に応じて、印刷データの暗号化強度を設定する(S6)。ここでは、証明書の強度に応じた強度の暗号鍵や暗号アルゴリズムを選択する。
【0026】
また、プリンタドライバ11は、ステップS1で生成した属性データに対し、親展プリント属性を追加設定する(S7)。親展プリント属性が設定されている印刷データを受け取った場合、プリンタ14は、その印刷データをすぐに印刷出力することはせず、その印刷データを保存する。そして、ユーザがプリンタ14のコントロールパネルから正しいパスワードを入力すると、その印刷データを印刷出力する。ステップS7では、プリンタドライバ11は、パスワード入力のためのユーザインタフェース画面をPC10のディスプレイに表示させ、それに応じてユーザが入力したパスワードを親展プリントのパスワードとして属性データに追加する。
【0027】
次に、プリンタドライバ11は、プリンタ14との間の伝送経路のセキュリティ強度を確認する(S8)。伝送経路のセキュリティ強度は、例えば、SSL(Secure Socket Layer)による保護の有無により区別できる。また、同じSSLで保護されている場合でも、鍵長が40ビットの場合よりも128ビットの場合の方が強度が高い。このようなSSLの有無、及びSSLの鍵長などに基づき、伝送経路のセキュリティ強度の値を規定しておく。ステップS8では伝送経路が現在どのような保護状態を判別して、それがどのレベルのセキュリティ強度となるかを判別する。そして、電子文書の電子署名の証明書の強度レベルと伝送経路のセキュリティ強度のレベルとを比較し(S9)、証明書の強度レベルの方が高ければ、証明書の強度に応じたセキュリティ強度での伝送経路のセキュリティ確立を行う(S10)。例えば、証明書の強度に応じた鍵長でのSSLに移行する。証明書の強度レベルと伝送経路のセキュリティ強度のレベルとは、両者が比較可能なようにあらかじめ規定しておく。
【0028】
ステップS8〜S10の処理は、後述する印刷データ等の暗号化(S13)に加えて送信データの機密保護を二重化するものである。なお、ステップS13等での暗号化でデータ保護が十分な場合は、ステップS8〜S10の処理は不要である。
【0029】
またプリンタドライバ11は、ステップS6やS7で自動設定された暗号化強度や親展プリント属性の値を、印刷属性設定用のユーザインタフェース画面に反映させて表示する(S11)。ユーザは、この表示を見ることでどのような設定がなされているかを知ることができ、また必要に応じ設定内容を変更することもできる。
【0030】
ユーザが、印刷属性の設定を確認し、印刷開始を指示すると、プリンタドライバ11は、属性データをステップS4と同様、所定の暗号方式で暗号化し(S12)、印刷データをステップS6で設定された強度の暗号方式で暗号化し(S13)、それら暗号化された属性データ及び印刷データをプリンタ14に送信する(S14)。
【0031】
次に、図3を参照してプリンタ14の処理手順を説明する。プリンタ14は、PC10から属性データを受け取ると、その属性データは暗号化されているのでこれを復号し、印刷属性の情報を取得する。また、プリンタ14は、PC10から印刷データを受け取ると(S21)、その印刷データが暗号化されているかどうかを判定し(S22)、暗号化されていれば、それを復号する(S23)。この復号のためには、プリンタ14が備える暗号アルゴリズムや暗号鍵を総当たりで適用してもよいし、復号の際に用いるべき暗号アルゴリズムや暗号鍵を特定する情報をプリンタドライバ11が属性データに記述しておき、これに基づきプリンタ14が復号を行ってもよい。
【0032】
そしてプリンタ14は、復号した印刷データを属性データに従って印刷し(S24)、印刷が完了すると復号した印刷データをプリンタ14内の記憶装置上から削除する(S25)。この削除により、電子文書の内容がプリンタ14に残ることがないので、高いセキュリティを実現できる。
【0033】
以上、プリンタドライバ11が電子文書をPDLの印刷データに変換してプリンタ14に送信する場合の処理手順を説明した。これに対し、電子文書をそのままプリンタ14に送るダイレクトプリントの場合のプリンタドライバ11の手順は、電子文書をPDLのデータに変換するステップ(S2)が不要である点、及びステップS13でPDLの印刷データではなく電子文書そのものを暗号化する点、が図2の処理手順と異なるだけで、他は図2と同様の手順でよい。
【0034】
以上説明したように、本実施形態によれば、PC10からプリンタ14に送る電子文書のデータ(電子文書そのもの又はPDLの印刷データ)の暗号化による保護を、その電子文書に対する電子署名の有無や、その電子署名の強度に応じて制御する。したがって、印刷を指示するユーザは何ら操作を行わなくても、電子文書に対し署名を行った著作権者のセキュリティ保護の意図に応じた強度で、伝送経路上で電子文書の内容を保護することができる。また、本実施形態では、印刷対象の電子文書に電子署名が付されている場合に、プリンタドライバ11が親展プリント属性を自動設定するので、電子署名付きの電子文書の印刷結果がプリンタ14のトレイに出力されたまま放置され漏洩すると言ったリスクも低減できる。また、本実施形態では、自動設定した暗号強度や親展プリントの設定内容をユーザインタフェース画面に表示するので、ユーザが設定内容を確認でき、必要に応じ変更もできる。
【0035】
以上では、プリンタドライバ11を例にとったが、プリンタドライバ以外でも、プリンタに対して印刷データを送信して印刷させることができるプログラムは存在しており、そのようなプログラム一般に対して上記実施形態の方式は適用可能である。
【0036】
なお、このようなプリンタドライバ等のプログラムが実行されるコンピュータは、ハードウェアとして、CPU(中央演算装置)、メモリ(一次記憶)、各種I/O(入出力)インタフェース等がバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、ハードディスクドライブやCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのドライブが接続される。このようなドライブは、メモリに対する外部記憶装置として機能する。上述した実施の形態の処理内容が記述されたプログラムが、そのような外部記憶装置に保存され、コンピュータにインストールされている。また、このプログラムは、CPUからアクセス可能なROM(リード・オンリー・メモリ)に保持されていてもよい。外部記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されるか、又はROM上のプログラムがCPUから実行されることにより、上述の実施の形態の処理が実現される。
【図面の簡単な説明】
【0037】
【図1】実施形態のプリンタを備えたシステムの構成の例を示す図である。
【図2】プリンタドライバの処理手順を示すフローチャートである。
【図3】プリンタの処理手順を示すフローチャートである。
【符号の説明】
【0038】
10,16 PC(パーソナルコンピュータ)、11 プリンタドライバ、12 ネットワーク、14 プリンタ。

【特許請求の範囲】
【請求項1】
コンピュータを、
印刷対象として指定された電子文書に電子署名が付されているか否かを判定する署名有無判定手段、
該コンピュータとネットワークを介して接続されたプリンタに前記電子文書を印刷させるために、前記電子文書の画像を記述する印刷データを前記ネットワークを介して前記プリンタに送信する手段であって、前記電子文書に電子署名が付されている場合には、前記印刷データを暗号化して送信する送信制御手段、
として機能させるためのコンピュータプログラム。
【請求項2】
請求項1記載のコンピュータプログラムであって、
前記コンピュータを、前記電子文書に付されている電子署名の強度を判定する強度判定手段として機能させると共に、
前記送信制御手段は、前記印刷データに施す暗号化の強度を、前記電子文書に付されている電子署名の強度に応じて選択する、
ことを特徴とするコンピュータプログラム。
【請求項3】
請求項2記載のコンピュータプログラムであって、
前記送信制御手段は、前記電子文書に付されている電子署名の強度に応じて選択した暗号化の強度を印刷設定用のユーザインタフェース画面に表示させる、
ことを特徴とするコンピュータプログラム。
【請求項4】
請求項1記載のコンピュータプログラムであって、
前記送信制御手段は、前記電子文書に電子署名が付されている場合には、前記印刷データに対して親展プリントの印刷属性を付加して送信する、
ことを特徴とするコンピュータプログラム。
【請求項5】
請求項1記載のコンピュータプログラムであって、
前記送信制御手段は、前記電子文書に電子署名が付されていない場合は、前記印刷データに対応する印刷属性を記述する属性データを暗号化し、暗号化した属性データと暗号化しない印刷データとを前記プリンタに送信し、前記電子文書に電子署名が付されている場合は、暗号化した属性データと暗号化した印刷データとを前記プリンタに送信する、
ことを特徴とするコンピュータプログラム。
【請求項6】
印刷指示装置であって、
印刷対象として指定された電子文書に電子署名が付されているか否かを判定する署名有無判定手段と、
該印刷指示装置とネットワークを介して接続されたプリンタに前記電子文書を印刷させるために、前記電子文書の画像を記述する印刷データを前記ネットワークを介して前記プリンタに送信する手段であって、前記電子文書に電子署名が付されている場合には、前記印刷データを暗号化して送信する送信制御手段と、
を備える印刷指示装置。
【請求項7】
ネットワークを介して接続されたプリンタに対し印刷対象として指定された電子文書の画像を記述する印刷データを送信して印刷させる装置が実行する印刷指示方法であって、
前記電子文書に電子署名が付されているか否かを判定し、
前記電子文書に電子署名が付されている場合には、前記印刷データを暗号化して送信する、
ことを特徴とする印刷指示方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2007−140917(P2007−140917A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−334016(P2005−334016)
【出願日】平成17年11月18日(2005.11.18)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】