JP2008134820A - 印刷制限処理プログラムおよび情報処理装置 - Google Patents

印刷制限処理プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP2008134820A
JP2008134820A JP2006320381A JP2006320381A JP2008134820A JP 2008134820 A JP2008134820 A JP 2008134820A JP 2006320381 A JP2006320381 A JP 2006320381A JP 2006320381 A JP2006320381 A JP 2006320381A JP 2008134820 A JP2008134820 A JP 2008134820A
Authority
JP
Japan
Prior art keywords
printing
restriction
print
processing
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006320381A
Other languages
English (en)
Inventor
Kazuo Saito
和雄 齊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2006320381A priority Critical patent/JP2008134820A/ja
Publication of JP2008134820A publication Critical patent/JP2008134820A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】
印刷制限を確実に行うことで電子情報のセキュリティを向上させるようにした印刷制限処理プログラムおよび情報処理装置を提供する。
【解決手段】
印刷フックプログラム(印刷制限処理プログラム)12は、オペレーティングシステム13に設けられた印刷処理に係わるAPIに対するアプリケーションプログラム11からの呼び出し指示を検出すると、プリンタ20での印刷を許可するか否かの判定を行う。この判定では、当該プリンタが制限内容に規定された制限処理に対応していれば、当該プリンタでの印刷を許可すると判定することになる。ここで、印刷許可と判定されると、印刷制限情報に規定された制限内容に基づく印刷制限処理が行われる。
【選択図】 図1

Description

本発明は、印刷制限処理プログラムおよび情報処理装置に関する。
従来、機密文書に対する勝手な印刷を防ぐために、様々な印刷制限技術が提案されている。例えば、機密文書として判定された場合に、その文書の複製や印刷をOS(Operating System)のAPI(Application Program Interface)をフックすることによって一律に停止あるいは禁止させる技術や(特許文献1および特許文献2参照)、アクセスチケットやDRM(Digital Rights Management)を用いて印刷制限を行う技術が提案されている。
また、プリンタドライバでは、文書を印刷する際に電子透かしや、デジタルコードを埋め込んで印刷を行う技術が提案されている。
特開2002−28830号 特開2005−56137号
ところで、プリンタドライバの選択はユーザの意思に委ねられているため、電子透かしや、デジタルコードに未対応のプリンタで印刷が行われたり、別のプリンタドライバから印刷が行われたりした場合には、セキュリティ機能が働かず機密文書が印刷されてしまうことになることから、機密文書の印刷を行う際は、印刷に適したプリンタであるか否かの判定を自動的に行うことによって、セキュリティ機能を向上させることが望まれている。
本発明は、印刷制限を確実に行うことで電子情報のセキュリティを向上させるようにした印刷制限処理プログラムおよび情報処理装置を提供することを目的とする。
上記目的を達成するため、請求項1の印刷制限処理プログラムの発明は、コンピュータを、印刷処理に係わるプログラムに対する呼び出し指示を検出する検出手段、前記検出手段による検出に対応して印刷制限情報を取得する取得手段、前記取得手段で取得した印刷制限情報に規定された制限内容に基づき印刷装置における印刷を許可するか否かを判定する判定手段、前記判定手段により印刷を許可すると判定された場合に、前記取得手段で取得した印刷制限情報に規定された制限内容に基づき当該印刷装置における印刷を制限する制限処理手段として機能させる。
また、請求項2の発明は、請求項1の発明において、前記コンピュータを、前記検出手段により検出した呼び出し指示に対応する処理の実行を制御する制御手段として更に機能させる。
また、請求項3の発明は、請求項1の発明において、前記判定手段は、前記印刷装置が制限内容に規定された制限処理に対応している場合に印刷を許可すると判定する。
また、請求項4の発明は、請求項1の発明において、前記取得手段は、前記検出手段による検出に対応して記憶装置の所定の領域から印刷制限情報を取得する。
また、請求項5の発明は、請求項1の発明において、前記取得手段は、前記検出手段による検出に対応して通信手段を介して接続された外部装置から印刷制限情報を取得する。
また、請求項6の発明は、請求項1の発明において、前記検出手段は、電子情報処理に係わるプログラムに対する呼び出し指示を検出し、前記取得手段は、前記検出手段による検出に対応して前記電子情報処理に係わるプログラムの処理対象となる電子情報から印刷制限情報を取得する。
また、請求項7の発明は、請求項1の発明において、前記検出手段は、電子情報処理に係わるプログラムに対する呼び出し指示を検出し、前記取得手段は、前記検出手段による検出に対応して前記電子情報処理に係わるプログラムの処理対象となる電子情報から電子情報識別子を取得し、該電子情報識別子を含む情報に基づいて認可処理装置から印刷制限情報を取得する。
また、請求項8の情報処理装置の発明は、印刷処理に係わるプログラムに対する呼び出し指示を検出する検出手段と、前記検出手段による検出に対応して印刷制限情報を取得する取得手段と、前記取得手段で取得した印刷制限情報に規定された制限内容に基づき印刷装置における印刷を許可するか否かを判定する判定手段と、前記判定手段により印刷を許可すると判定された場合に、前記取得手段で取得した印刷制限情報に規定された制限内容に基づき当該印刷装置における印刷を制限する制限処理手段とを具備する。
請求項1の印刷制限処理プログラムによれば、制限内容に規定された制限処理が行える印刷装置で印刷が行われ、また、印刷制限が勝手に解除されることもないため、本構成を有さない場合に比較して、確実に印刷制限を行うことができるので、電子情報のセキュリティを強固にすることができる。
また、請求項2の印刷制限処理プログラムによれば、本構成を有さない場合に比較して、呼び出し指示に対応した処理の実行が制御されることになる。
また、請求項3の印刷制限処理プログラムによれば、制限内容に規定された制限処理に対応した印刷装置でのみ印刷が許可されることになるため、本構成を有さない場合に比較して、確実に印刷制限を行うことができる。
また、請求項4の印刷制限処理プログラムによれば、印刷制限情報を記憶装置から取得できるため、本構成を有さない場合に比較して、印刷制限情報の書き換え等が容易にできることになる。
また、請求項5の印刷制限処理プログラムによれば、印刷制限情報を外部装置から取得できるため、本構成を有さない場合に比較して、ユーザ毎に印刷制限を行う等の運用が容易に行えることになる。
また、請求項6の印刷制限処理プログラムによれば、印刷制限情報を電子情報から取得できるため、本構成を有さない場合に比較して、運用性が向上する。
また、請求項7の印刷制限処理プログラムによれば、印刷制限情報を電子情報から取得できるため、本構成を有さない場合に比較して、運用性の向上とともに、セキュリティを強化することができる。
また、請求項8の情報処理装置によれば、制限内容に規定された制限処理が行える印刷装置で印刷が行われ、また、印刷制限が勝手に解除されることもないため、本構成を有さない場合に比較して、確実に印刷制限を行うことができるので、電子情報のセキュリティを強固にすることができる。
以下、本発明に係わる印刷制限処理プログラムおよび情報処理装置の実施例について添付図面を参照して詳細に説明する。
図1は、実施例1に係わる印刷システムの全体構成の一例を示す図である。このコンピュータ10には、本発明に係わる印刷制限処理プログラムが適用された印刷フックプログラム12がインストールされている。なお、このプログラムは、ネットワーク等の通信手段により提供することは勿論、CD−ROM等の記録媒体に格納して提供することも可能である。
この印刷システムでは、コンピュータ10と、プリンタ20とが通信可能に接続されている。なお、コンピュータ10とプリンタ20との間の通信手段は特に問わず、LAN(Local Area Network)やWAN(Wide Area Network)等で構成されたネットワークにより接続されていてもよいし、USB(Universal Serial Bus)等により直接接続されていてもよい。
コンピュータ10は、CPU(Central Processing Unit)、ROM(Read Only Memory)やRAM(Random Access Memory)等のメモリ、ハードディスク、入出力インターフェース、通信インターフェース等から構成される。ユーザは、このコンピュータ10上からプリンタ20の指定、印刷パラメータの指定等を行って印刷を指示することになる。印刷指示には、印刷対象ファイル(電子情報)等のデータが含まれる。
プリンタ20は、コンピュータ10からの印刷指示に基づき印刷を行う機能を果たす。プリンタ20においては、印刷指示に含まれた印刷対象ファイルに基づいて用紙等の記録媒体上に画像を形成することになる。
ここで、コンピュータ10を構成する機能的な構成の一部について説明する。
コンピュータ10は、各種処理機能部として、アプリケーションプログラム11と、印刷フックプログラム12と、オペレーティングシステム13と、記憶装置14とを具備して構成される。
アプリケーションプログラム11は、文書の作成、編集などを行うための一般的なソフトウェアである。オペレーティングシステム13は、コンピュータ10を統括管理するソフトウェアである。オペレーティングシステム13には、例えば、Windows(登録商標)、Linux等が該当する。
印刷フックプログラム12は、オペレーティングシステム13上の印刷処理に係わるプログラムをフックし印刷制限を行うソフトウェアである。具体的には、オペレーティングシステム13に設けられた印刷処理に係わるAPI(Application Program Interface)をフックする。そのため、アプリケーションプログラム11によるAPIを用いた印刷処理は、この印刷フックプログラム12を経由して行われる。フックの実現方法は、従来知られている手法を用いればよい。なお、本実施例においては、印刷処理に係わるAPIとしてWindows(登録商標)に設けられた、プリンタの設定/初期化等を行う「OpenPrinter()」、「PrintDlgEx()」をフックする場合について説明する。
この印刷フックプログラム12は、アプリケーションプログラム11が起動されると自動的に起動(ロード)されるように設定されている。なお、印刷フックプログラム12は、予めコンピュータ10にインストールしておいてもよいし、アプリケーションプログラム11が初回に起動した際に、印刷フックプログラム12が自動的にダウンロードされるようにしておいてもよい。
記憶装置14は、印刷対象ファイル等を含む各種データを記憶する機能を果たす。記憶装置14は、例えば、HDD(Hard Disk Drive)等で実現される。記憶装置14には印刷制限情報が記憶される。この印刷制限情報は、ユーザが通常操作できない領域(例えば、レジストリ、システムフォルダ等)に格納しておき、改竄を防ぐために、暗号化、ハッシュ値の付与、デジタル署名の付与などを施しておくことが望ましい。なお、この印刷制限情報の詳細については後述するが、本実施例においては、コンピュータ10毎に印刷制限を行う場合について説明する。以上が、コンピュータ10を構成する各種処理機能の説明である。
ここで、図2を用いて、印刷制限情報の一例について説明する。なお、ここでは、図2(a)〜図2(d)を用いて印刷制限情報に規定された制限内容のバリエーションをいくつか列挙して説明するが、ここに列挙された印刷制限方法に限られず、従来知られている種々の技術を用いることができる。
印刷制限情報には、印刷を許可するための条件を示す「印刷許可条件」と、その詳細な内容を示す「詳細内容」とが制限内容として規定される。
この図2(a)に示す制限内容によれば、電子透かし、デジタルコード等を用いてユーザID、日時、プリンタIDを埋め込まなければ印刷が制限されることになる。ここで、プリンタが電子透かし、デジタルコード等を用いた印刷に対応していなければ、当該プリンタでの印刷は禁止されることになる。そのため、ここに規定された制限内容に反した印刷が行われることはない。
また、図2(b)に示す制限内容によれば、印刷パラメータに両面且つ、モノクロが指定されていなければ印刷が制限されることになる。この場合も上記同様に、両面、モノクロを指定した印刷に対応できないプリンタでは、印刷が禁止されることになる。
また、図2(c)に示す制限内容によれば、特定機種以外では印刷が制限されることになる。この場合も上記同様に、ここに指定された機種以外のプリンタでは、印刷が禁止されることになる。
また、図2(d)に示す制限内容によれば、プリンタの設置場所が会議室Aでなければ印刷が制限されることになる。この場合も上記同様に、会議室A以外に設置されたプリンタでは、印刷が禁止されることになる。以上が、印刷制限情報の一例についての説明であるが、これら別々に説明した印刷制限情報に規定された制限内容を組み合わせて印刷の制限を行うようにしてもよい。
次に、図3を用いて、図1に示す印刷フックプログラム12を構成する機能的な構成の一部について説明する。
印刷フックプログラム12は、各種処理機能部として、API監視部31と、印刷許可判定部32と、制限情報取得部33と、制限処理部34と、制御部35とを具備して構成される。
API監視部31は、印刷処理に係わるAPIを監視する機能を果たす。API監視部31には、API呼び出し指示検出部31aが設けられ、監視対象のAPIに対するアプリケーションプログラム11からの呼び出し指示を検出する。
印刷許可判定部32は、API呼び出し指示検出部31aによる呼び出し指示の検出に対応して、当該プリンタでの印刷を許可するか否かを判定する機能を果たす。この判定は、上述した印刷制限情報に基づき行われる。なお、ここで言う当該プリンタとは、APIの引数に設定されたプリンタ、APIの呼び出しにより取得されたプリンタ等を指す。
制限情報取得部33は、印刷制限情報を取得する機能を果たす。すなわち、レジストリ等に記憶された印刷制限情報を取得する。この取得した印刷制限情報は、印刷許可判定部32および制限処理部34に渡される。
制限処理部34は、印刷制限処理を行う機能を果たす。制限処理部34における印刷制限処理は、制限情報取得部33により取得された印刷制限情報に基づき行われる。
制御部35は、印刷フックプログラム12における処理を統括制御する機能を果たす。この印刷フックプログラム12上に構成される各種処理機能は、この制御部35からの指示に従って動作する。また、制御部35では、各処理機能間で発生するデータの入出力も制御する。以上が、印刷フックプログラム12を構成する各種処理機能の説明である。
ここで、図4および図5を用いて、印刷フックプログラム12によるAPIフック処理について、いくつか例を挙げて説明する。
まず、図4を用いて、「OpenPrinter()」をフックして印刷制限を行う場合の動作について説明する。なお、「OpenPrinter()」は、プリンタハンドルの取得を行う機能を果たす。
アプリケーションプログラム11から「OpenPrinter()」の呼び出しが指示されると、印刷フックプログラム12のAPI呼び出し指示検出部31aにおいて、その呼び出し指示が検出される(ステップS101)。なお、この「OpenPrinter()」の呼び出し指示時には、プリンタ名等が引数として設定される。
呼び出し指示が検出されると、印刷フックプログラム12の制限情報取得部33は、印刷制限情報を取得し読み込みを行う(ステップS102)。ここで、印刷制限情報の取得に失敗した場合には(ステップS103でYES)、この結果を受けた制御部35が、アプリケーションプログラム11に「OpenPrinter()」の呼び出し結果エラーを返して(ステップS107)、この処理を終了することになるが、印刷制限情報の取得に成功した場合には(ステップS103でNO)、印刷フックプログラム12は次に、印刷許可判定部32において、指定されたプリンタでの印刷を許可するか否かの判定を行う(ステップS104)。この判定では、「OpenPrinter()」の引数に設定されたプリンタが制限内容に規定された制限処理に対応していれば印刷許可と判定されることになるが、当該プリンタが規定された制限処理に未対応であれば印刷禁止と判定されることになる。例えば、図2(a)に示す制限内容が規定されていた場合には、プリンタが電子透かし、デジタルコードに対応しているか否かが判定され、プリンタがこれら機能に対応していなければ印刷禁止と判定されることになる。
判定の結果、印刷禁止(許可しない)と判定された場合には(ステップS105でNO)、この結果を受けた制御部35が、アプリケーションプログラム11に「OpenPrinter()」の呼び出し結果エラーを返して(ステップS107)、この処理を終了することになるが、印刷許可と判定された場合には(ステップS105でYES)、制限処理部34において、印刷制限情報に規定された制限内容に基づく印刷制限処理が行われた後(ステップS106)、この処理は終了する。この印刷制限処理では、例えば、制限内容に電子透かしで所定の文言を印刷しなければならない旨規定されていた場合には、当該文言を埋め込んだ電子透かしが設定されることになる。
次に、図5を用いて、「PrintDlgEx()」をフックして印刷制限を行う場合の動作について説明する。なお、「PrintDlgEx()」は、プリンタの指定と印刷パラメータの指定とをユーザに行わせるためのダイアログを表示器に表示させる機能を果たす。具体的には、ユーザにプリンタの指定と印刷パラメータの指定とを行わせ、その呼び出し結果として、ユーザがダイアログから選択したプリンタ(プリンタハンドル)と設定した印刷パラメータとを取得する。
アプリケーションプログラム11から「PrintDlgEx()」の呼び出しが指示されると、印刷フックプログラム12のAPI呼び出し指示検出部31aにおいて、その呼び出し指示が検出される(ステップS201)。
呼び出し指示が検出されると、印刷フックプログラム12は、制御部35において、「PrintDlgEx()」の呼び出しを行うとともに(ステップS202)、制限情報取得部33において、印刷制限情報を取得し読み込みを行う(ステップS203)。ここで、印刷制限情報の取得に失敗した場合には(ステップS204でYES)、この結果を受けた制御部35が、アプリケーションプログラム11に「PrintDlgEx()」の呼び出し結果エラーを返して(ステップS208)、この処理を終了することになるが、印刷制限情報の取得に成功した場合には(ステップS204でNO)、印刷フックプログラム12は次に、印刷許可判定部32において、当該APIの呼び出しにより取得したプリンタでの印刷を許可するか否かの判定を行う(ステップS205)。この判定では、「PrintDlgEx()」の呼び出しにより取得したプリンタ(実際にはプリンタハンドル)が制限内容に規定された制限処理に対応していれば印刷許可と判定されることになるが、当該プリンタが規定された制限処理に未対応であれば印刷禁止と判定されることになる。
判定の結果、印刷禁止(許可しない)と判定された場合には(ステップS206でNO)、この結果を受けた制御部35が、アプリケーションプログラム11に「PrintDlgEx()」の呼び出し結果エラーを返して(ステップS208)、この処理を終了することになるが、印刷許可と判定された場合には(ステップS206でYES)、制限処理部34において、印刷制限情報に規定された制限内容に基づく印刷制限処理が行われた後(ステップS207)、この処理は終了する。
なお、コンピュータ10にプリンタ20が複数接続されている場合、「PrintDlgEx()」は、ダイアログを表示して複数のプリンタの中から一つのプリンタをユーザに選択させるといった処理を行うので、「PrintDlgEx()」を呼び出した結果、選択されたプリンタに対して、上記の印刷許可判定を行えばよいことになる。
また、Windows(登録商標)では、複数のプリンタが選択されるようなAPIを持たないので上記のような処理で十分であるが、他のOSのAPIでは、APIの呼び出し結果として複数のプリンタハンドルを返すようなAPIが存在する可能性がある。そのような場合には、取得したプリンタ全てに対して上述した判定を行い、その結果に基づき印刷制限を行えばよい。
次に、実施例2について説明する。実施例2においては、ユーザ毎に印刷制限を行う場合について説明する。
図6は、実施例2に係わる印刷システムの全体構成の一例を示す図である。なお、上記実施例1を説明した図1と同一の符号が付してあるものは、略同様に動作するため、ここでは相違点についてのみ説明する。
この印刷システムには、上記実施例1の構成に加えて、印刷制限情報管理サーバ40が設けられる。印刷制限情報管理サーバ40は、コンピュータ10と通信可能に接続されている。なお、コンピュータ10と印刷制限情報管理サーバ40との間の通信手段は特に問わず、LAN(Local Area Network)やWAN(Wide Area Network)等で構成されたネットワークにより接続されていてもよいし、USB(Universal Serial Bus)等により直接接続されていてもよい。
印刷制限情報管理サーバ40は内部に、印刷制限情報を保持する。すなわち、実施例1においては、コンピュータ10内に印刷制限情報が保持されていたのに対して、実施例2においては、印刷制限情報管理サーバ40内において印刷制限情報が保持されることになる。印刷制限情報管理サーバ40では、コンピュータ10からの問い合わせに応じてこの印刷制限情報に規定された制限内容を応答する。
ここで、図7を用いて、印刷制限情報の一例について説明する。なお、実施例2においても、上記実施例1同様に様々なバリエーションの制限内容の規定が可能である。
実施例2に係わる印刷制限情報には、ユーザ識別子としての機能を果たす「ユーザID」に対応して、印刷を許可するための条件を示す「印刷許可条件」と、その詳細な内容を示す「詳細内容」とが制限内容として規定される。すなわち、ユーザ毎に制限内容が切り替えて規定されている。
この図7に示す制限内容によれば、ユーザA、ユーザB共に電子透かし、デジタルコード等により何らかの情報を埋め込まなければ印刷が制限されることになるが、ユーザAの場合には、ユーザID、日時、プリンタIDの埋め込みが必要となり、ユーザBの場合には、”複写禁止”文言の埋め込みが必要となる。
なお、実施例2に係わる印刷フックプログラム12によるAPIフック処理については、上記実施例1を説明した図4、図5と略同様の動作となるため、その動作についての説明は省略する。実施例1からの変更点としては、印刷制限情報の取得に際して、ユーザIDを指定して印刷制限情報管理サーバ40に制限内容の問い合わせを行い、その応答として当該ユーザに対応した制限内容を取得し、かかる制限内容に基づきユーザ毎に異なった印刷制限処理を行うところである。
以上が、実施例2についての説明である。なお、実施例2においては、印刷制限情報を印刷制限情報管理サーバ40に保持する場合について説明したが、実施例1同様にコンピュータ10内に保持するようにしてもよい。
また、印刷制限情報が付与されていないユーザが存在する場合には、そのユーザによるAPIの呼び出しをエラーとするようにしてもよいし、また、APIの呼び出しをそのまま許容するようにしてもよい。これは、当該システムにおけるポリシーに従って適宜調整すればよい。
次に、実施例3について説明する。実施例3においては、ファイルに印刷制限情報を付加し、ファイル毎に印刷制限を行う場合について説明する。
図8は、実施例3に係わる印刷システムの全体構成の一例を示す図である。なお、上記実施例1を説明した図1と同一の符号が付してあるものは、略同様に動作するため、ここでは相違点についてのみ説明する。
コンピュータ10には、上記実施例1の構成に加えて、印刷制限情報付加プログラム15が設けられる。印刷制限情報付加プログラム15は、ファイルに印刷制限情報を付加する機能を果たす。また、印刷フックプログラム12においては、ファイルに付加された印刷制限情報を読み出すために、印刷処理に係わるAPIの他、ファイル処理に係わるAPIもフックすることになる。
ここで、図9を用いて、印刷制限情報付加プログラム15の動作について説明する。なお、ここでは、「Microsoft Office」で作成されたファイルに対して、ユーザIDを埋め込んだ電子透かしを印刷制限情報として付加する場合の動作について説明する。
ユーザにより対象ファイルが指定されると(ステップS301)、この処理は開始される。この処理が開始されると、印刷制限情報付加プログラム15は、まず、ユーザに指定された印刷制限情報を当該ファイルに付加する(ステップS302)。この場合、対象ファイルが「Microsoft Office」で作成されているため、「Microsoft Office」が提供するSDK(Software Development Kit)を用いる。具体的には、SDKを用いて「FXPRINT」という属性名に対して属性値「Digitalwatermark:ユーザID」を設定し、ユーザIDを埋め込んだ電子透かしを印刷制限情報として付加する。但し、この方法では、ユーザにより改竄されてしまう可能性があるため、セキュリティを強固にしたい場合にはDRM技術などを利用する必要がある。
そして、印刷制限情報が付加されたファイルが上書き保存(あるいは別のファイルとして保存)された後(ステップS303)、この処理は終了する。
ここで、図10から図12を用いて、印刷フックプログラム12によるAPIフック処理について説明する。
まず、図10を用いて、印刷制限情報を取得する際の動作について説明する。この処理では主に、「CreateFile()」をフックする。なお、「CreateFile()」は、ファイルをオープンする機能を果たす。
アプリケーションプログラム11から「CreateFile()」の呼び出しが指示されると、印刷フックプログラム12のAPI呼び出し指示検出部31aにおいて、その呼び出し指示が検出される(ステップS401)。なお、この「CreateFile()」の呼び出し指示時には、処理対象となるファイルのファイル名等が引数として設定される。
呼び出し指示が検出されると、印刷フックプログラム12の制限情報取得部33は、処理対象となるファイルから「FXPRINT」属性の属性値を取得し読み出す(ステップS402)。この処理対象となるファイルとは、「CreateFile()」の引数に設定されたファイルのことである。
ここで、取得した属性値に値が設定されていなかった場合には(ステップS403でNO)、この結果を受けた制御部35が、「CreateFile()」を呼び出し処理対象となるファイルをオープンした後(ステップS405)、この処理は終了することになるが、取得した属性値に値が設定されていた場合には(ステップS403でYES)、この結果を受けた制御部35は、その値を印刷制限情報としてバッファ上に展開するとともに(ステップS404)、「CreateFile()」を呼び出し処理対象となるファイルをオープンする(ステップS405)。そして、この処理は終了する。
次に、図11および図12を用いて、印刷制限を行う際の処理について、いくつか例を挙げて説明する。
まず、図11を用いて、「OpenPrinter()」をフックして印刷制限を行う場合の動作について説明する。なお、「OpenPrinter()」は、プリンタハンドルの取得を行う機能を果たす。
アプリケーションプログラム11から「OpenPrinter()」の呼び出しが指示されると、印刷フックプログラム12のAPI呼び出し指示検出部31aにおいて、その呼び出し指示が検出される(ステップS501)。なお、この「OpenPrinter()」の呼び出し指示時には、プリンタ名等が引数として設定される。
呼び出し指示が検出されると、印刷フックプログラム12の制御部35は、バッファ上に印刷制限情報が展開されているか否かを確認する(ステップS503)。ここで、印刷制限情報が展開されていなかった場合には(ステップS503でNO)、この結果を受けた制御部35が、「OpenPrinter()」を呼び出し、その結果をアプリケーションプログラム11に返して(ステップS507)、この処理を終了することになるが、印刷制限情報が展開されていた場合には(ステップS503でYES)、印刷フックプログラム12は次に、印刷許可判定部32において、指定されたプリンタでの印刷を許可するか否かの判定を行う(ステップS504)。この判定では、「OpenPrinter()」の引数に設定されたプリンタが制限内容に規定された制限処理に対応していれば印刷許可と判定されることになるが、当該プリンタが規定された制限処理に未対応であれば印刷禁止と判定されることになる。例えば、図2(a)に示す制限内容が規定されていた場合には、プリンタが電子透かし、デジタルコードに対応しているか否かが判定され、プリンタがこれら機能に対応していなければ印刷禁止と判定されることになる。
判定の結果、印刷禁止(許可しない)と判定された場合には(ステップS505でNO)、この結果を受けた制御部35が、アプリケーションプログラム11に「OpenPrinter()」の呼び出し結果エラーを返して(ステップS507)、この処理を終了することになるが、印刷許可と判定された場合には(ステップS505でYES)、制限処理部34において、印刷制限情報に規定された制限内容に基づく印刷制限処理が行われた後(ステップS506)、この処理は終了する。この印刷制限処理では、例えば、制限内容に電子透かしで所定の文言を印刷しなければならない旨規定されていた場合には、当該文言を埋め込んだ電子透かしが設定されることになる。
次に、図12を用いて、「PrintDlgEx()」をフックして印刷制限を行う場合の動作について説明する。なお、「PrintDlgEx()」は、プリンタの指定と印刷パラメータの指定とをユーザに行わせるためのダイアログを表示器に表示させる機能を果たす。具体的には、ユーザにプリンタの指定と印刷パラメータの指定とを行わせ、その呼び出し結果として、ユーザがダイアログから選択したプリンタ(プリンタハンドル)と設定した印刷パラメータとを取得する。
アプリケーションプログラム11から「PrintDlgEx()」の呼び出しが指示されると、印刷フックプログラム12のAPI呼び出し指示検出部31aにおいて、その呼び出し指示が検出される(ステップS601)。
呼び出し指示が検出されると、印刷フックプログラム12の制御部35は、「PrintDlgEx()」の呼び出しを行うとともに(ステップS602)、バッファ上に印刷制限情報が展開されているか否かの確認を行う(ステップS603)。ここで、印刷制限情報が展開されていなかった場合には(ステップS604でNO)、この結果を受けた制御部35が、「PrintDlgEx()」を呼び出し、その結果をアプリケーションプログラム11に返して(ステップS610)、この処理を終了することになるが、印刷制限情報が展開されていた場合には(ステップS604でYES)、印刷フックプログラム12は次に、印刷許可判定部32において、当該APIの呼び出しにより取得したプリンタでの印刷を許可するか否かの判定を行う(ステップS605)。この判定では、「PrintDlgEx()」の呼び出しにより取得したプリンタ(実際にはプリンタハンドル)が制限内容に規定された制限処理に対応していれば印刷許可と判定されることになるが、当該プリンタが規定された制限処理に未対応であれば印刷禁止と判定されることになる。
判定の結果、印刷禁止(許可しない)と判定された場合には(ステップS606でNO)、この結果を受けた制御部35が、アプリケーションプログラム11に「PrintDlgEx()」の呼び出し結果エラーを返して(ステップS608)、この処理を終了することになるが、印刷許可と判定された場合には(ステップS606でYES)、制限処理部34において、印刷制限情報に規定された制限内容に基づく印刷制限処理が行われた後(ステップS607)、この処理は終了する。なお、複数のプリンタが接続されている場合、あるいは、APIの呼び出し結果として複数のプリンタが選択し得る場合に関しては、上記実施例1の場合と同様である。
次に、実施例4について説明する。実施例4においては、ファイルとユーザとに応じて印刷制限を行う場合について説明する。なお、上記実施例3との違いは、DRM技術と組み合わせる点にある。具体的には、ファイルを暗号化しておき、そのファイルに対するライセンスとして印刷制限情報を与えることになる。
図13は、実施例4に係わる印刷システムの全体構成の一例を示す図である。なお、上記実施例1を説明した図1と同一の符号が付してあるものは、略同様に動作するため、ここでは相違点についてのみ説明する。
この印刷システムは、上記実施例1の構成に加えて、ライセンスサーバ50が設けられる。ライセンスサーバ50は、コンピュータ10と通信可能に接続されている。なお、コンピュータ10とライセンスサーバ50との間の通信手段は特に問わず、LAN(Local Area Network)やWAN(Wide Area Network)等で構成されたネットワークにより接続されていてもよいし、USB(Universal Serial Bus)等により直接接続されていてもよい。
ライセンスサーバ50は内部に、ライセンス情報と印刷制限情報とを保持する。ライセンス情報には、コンテンツ識別子としての機能を果たす「コンテンツID」に対応して、暗号化コンテンツを開くための「コンテンツ鍵」が保持される。ライセンスサーバ50では、コンピュータ10からのコンテンツIDを指定した問い合わせに応じてコンテンツ鍵を応答する。また、印刷制限情報には、図14に示すように、ユーザ識別子としての機能を果たす「ユーザID」と、コンテンツ識別子としての機能を果たす「コンテンツID」とに対応して、印刷を許可するための条件を示す「印刷許可条件」と、その詳細な内容を示す「詳細内容」とが制限内容として規定される。
ここで、コンピュータ10は、上記実施例1の構成に加えて、カプセル化プログラム16を具備して構成される。カプセル化プログラム16は、一般的なDRM技術におけるカブセル化(暗号化)処理を行う。すなわち、ユーザにファイルが指定されると、ライセンスサーバ50からコンテンツID、コンテンツ鍵の発行を受け、当該鍵を用いて当該ファイルの暗号化を行う。この暗号化されたファイル(DRM保護ファイル)には、コンテンツIDが埋め込まれる。なお、この暗号化されたファイルの使用に際しては、ファイルに埋め込まれたコンテンツIDを取得し、当該IDに対応するコンテンツ鍵をライセンスサーバ50から取得して、当該ファイルを復号化する。
また、印刷フックプログラム12においては、DRM保護ファイルを復号しコンテンツIDを読み出すために、印刷処理に係わるAPIの他、ファイル処理に係わるAPIもフックすることになる。
ここで、図15および図16を用いて、印刷フックプログラム12によるAPIフック処理について説明する。
まず、図15を用いて、コンテンツ鍵と印刷制限情報とを取得する際の動作について説明する。この処理では主に、「CreateFile()」をフックする。なお、「CreateFile()」は、ファイルをオープンする機能を果たす。
アプリケーションプログラム11から「CreateFile()」の呼び出しが指示されると、印刷フックプログラム12のAPI呼び出し指示検出部31aにおいて、その呼び出し指示が検出される(ステップS701)。なお、この「CreateFile()」の呼び出し指示時には、処理対象となるファイルのファイル名等が引数として設定される。
呼び出し指示が検出されると、印刷フックプログラム12の制限情報取得部33は、処理対象となるファイルからコンテンツIDを取得し(ステップS702)、このコンテンツIDと、コンピュータ10を現在利用しているユーザのユーザIDとを用いてライセンスサーバ50にライセンスの問い合わせを行う(ステップS703)。
ここで、この問い合わせに対する応答がなければ(ステップS704でNO)、この結果を受けた制御部35が、アプリケーションプログラム11に「CreateFile()」の呼び出し結果エラーを返して(ステップS707)、この処理を終了することになるが、問い合わせに対する応答があれば(ステップS704でYES)、この結果を受けた制御部35は、この応答により取得したコンテンツIDと印刷制限情報とをバッファ上に展開する(ステップS705)。その後、制御部35により、「CreateFile()」が呼び出され処理対象となるファイルがオープンされると(ステップS706)、この処理は終了する。
次に、図16を用いて、暗号化されたDRM保護ファイルを読み込む際の処理について説明する。この処理では主に、「ReadFile()」をフックする。なお、「ReadFile()」は、オープンされているファイルからデータを読み出す機能を果たす。
アプリケーションプログラム11から「ReadFile()」の呼び出しが指示されると、印刷フックプログラム12のAPI呼び出し指示検出部31aにおいて、その呼び出し指示が検出される(ステップS801)。なお、この「ReadFile()」の呼び出し指示時には、処理対象となるファイルに割り当てられたファイルハンドル、読み出しバイト数等が引数として設定される。
呼び出し指示を検出すると、印刷フックプログラム12の制御部35は、バッファ上に展開されたコンテンツ鍵を取得する(ステップS802)。ここで、このコンテンツ鍵の取得に失敗した場合には(ステップS803でYES)、この結果を受けた制御部35が、「ReadFile()」の呼び出し結果をエラーとしてアプリケーションプログラム11に返した後(ステップS805)、この処理を終了することになるが、コンテンツ鍵の取得に成功した場合には(ステップS803でNO)、この結果を受けた制御部35は、取得したコンテンツ鍵を用いて処理対象ファイルを復号する。そして、その結果をアプリケーションプログラム11に返した後(ステップS804)、この処理は終了する。
なお、実施例4に係わる印刷フックプログラム12における印刷制限を行う際の処理は、上記実施例3を説明した図11、図12と略同様の動作となるため、その説明は省略する。実施例3からの変更点としては、ライセンスとして与えられた印刷制限情報を用いて、ファイル毎に印刷制限を行う点である。
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記および図面に示す実施例に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
例えば、上記実施例においては、Windows(登録商標)に設けられたAPIをフックする場合について説明したが、他のオペレーティングシステムにもこれと同等のAPIが用意されているので、他のオペレーティングシステムの場合には、それら同等のAPIをフックすれば上記同様の処理が行えることになる。
本発明の印刷制限処理プログラムおよび情報処理装置は、各種処理をコンピュータに実行させる印刷制限処理プログラム、および情報処理装置全般に適用可能である。
実施例1に係わる印刷システムの全体構成の一例を示す図である。 実施例1に係わる印刷制限情報の一例を示す図である。 図1に示す印刷フックプログラム12を構成する機能的な構成の一部を示す図である。 図1に示す印刷フックプログラム12によるAPIフック処理の動作を示す第1のフローチャートである。 図1に示す印刷フックプログラム12によるAPIフック処理の動作を示す第2のフローチャートである。 実施例2に係わる印刷システムの全体構成の一例を示す図である。 実施例2に係わる印刷制限情報の一例を示す図である。 実施例3に係わる印刷システムの全体構成の一例を示す図である。 図8に示す印刷制限情報付加プログラム15の動作を示すフローチャートである。 図8に示す印刷フックプログラム12によるAPIフック処理の動作を示す第1のフローチャートである。 図8に示す印刷フックプログラム12によるAPIフック処理の動作を示す第2のフローチャートである。 図8に示す印刷フックプログラム12によるAPIフック処理の動作を示す第3のフローチャートである。 実施例4に係わる印刷システムの全体構成の一例を示す図である。 実施例4に係わる印刷制限情報の一例を示す図である。 図13に示す印刷フックプログラム12によるAPIフック処理の動作を示す第1のフローチャートである。 図13に示す印刷フックプログラム12によるAPIフック処理の動作を示す第2のフローチャートである。
符号の説明
10 コンピュータ
11 アプリケーションプログラム
12 印刷フックプログラム
13 オペレーティングシステム
14 記憶装置
15 印刷制限情報付加プログラム
16 カプセル化プログラム
20 プリンタ
31 API監視部
31a API呼び出し指示検出部
32 印刷許可判定部
33 制限情報取得部
34 制限処理部
35 制御部

Claims (8)

  1. コンピュータを、
    印刷処理に係わるプログラムに対する呼び出し指示を検出する検出手段、
    前記検出手段による検出に対応して印刷制限情報を取得する取得手段、
    前記取得手段で取得した印刷制限情報に規定された制限内容に基づき印刷装置における印刷を許可するか否かを判定する判定手段、
    前記判定手段により印刷を許可すると判定された場合に、前記取得手段で取得した印刷制限情報に規定された制限内容に基づき当該印刷装置における印刷を制限する制限処理手段
    として機能させるための印刷制限処理プログラム。
  2. 前記コンピュータを、
    前記検出手段により検出した呼び出し指示に対応する処理の実行を制御する制御手段
    として更に機能させる請求項1記載の印刷制限処理プログラム。
  3. 前記判定手段は、
    前記印刷装置が制限内容に規定された制限処理に対応している場合に印刷を許可すると判定する
    請求項1記載の印刷制限処理プログラム。
  4. 前記取得手段は、
    前記検出手段による検出に対応して記憶装置の所定の領域から印刷制限情報を取得する
    請求項1記載の印刷制限処理プログラム。
  5. 前記取得手段は、
    前記検出手段による検出に対応して通信手段を介して接続された外部装置から印刷制限情報を取得する
    請求項1記載の印刷制限処理プログラム。
  6. 前記検出手段は、
    電子情報処理に係わるプログラムに対する呼び出し指示を検出し、
    前記取得手段は、
    前記検出手段による検出に対応して前記電子情報処理に係わるプログラムの処理対象となる電子情報から印刷制限情報を取得する
    請求項1記載の印刷制限処理プログラム。
  7. 前記検出手段は、
    電子情報処理に係わるプログラムに対する呼び出し指示を検出し、
    前記取得手段は、
    前記検出手段による検出に対応して前記電子情報処理に係わるプログラムの処理対象となる電子情報から電子情報識別子を取得し、該電子情報識別子を含む情報に基づいて認可処理装置から印刷制限情報を取得する
    請求項1記載の印刷制限処理プログラム。
  8. 印刷処理に係わるプログラムに対する呼び出し指示を検出する検出手段と、
    前記検出手段による検出に対応して印刷制限情報を取得する取得手段と、
    前記取得手段で取得した印刷制限情報に規定された制限内容に基づき印刷装置における印刷を許可するか否かを判定する判定手段と、
    前記判定手段により印刷を許可すると判定された場合に、前記取得手段で取得した印刷制限情報に規定された制限内容に基づき当該印刷装置における印刷を制限する制限処理手段と
    を具備する情報処理装置。
JP2006320381A 2006-11-28 2006-11-28 印刷制限処理プログラムおよび情報処理装置 Pending JP2008134820A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006320381A JP2008134820A (ja) 2006-11-28 2006-11-28 印刷制限処理プログラムおよび情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006320381A JP2008134820A (ja) 2006-11-28 2006-11-28 印刷制限処理プログラムおよび情報処理装置

Publications (1)

Publication Number Publication Date
JP2008134820A true JP2008134820A (ja) 2008-06-12

Family

ID=39559639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006320381A Pending JP2008134820A (ja) 2006-11-28 2006-11-28 印刷制限処理プログラムおよび情報処理装置

Country Status (1)

Country Link
JP (1) JP2008134820A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010073198A (ja) * 2008-08-20 2010-04-02 Ricoh Co Ltd 文書管理システム
JP2010097347A (ja) * 2008-10-15 2010-04-30 Fuji Xerox Co Ltd 印刷制御装置、印刷制御システム及びプログラム
JP4538838B1 (ja) * 2009-08-18 2010-09-08 システムインテリジェント株式会社 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
JP2014071789A (ja) * 2012-10-01 2014-04-21 Ricoh Co Ltd 情報処理装置およびプログラム
CN115659382A (zh) * 2022-12-28 2023-01-31 北京志翔科技股份有限公司 打印操作的控制方法、装置和电子设备
CN116483294A (zh) * 2023-06-25 2023-07-25 闪捷信息科技有限公司 基于Linux内核管控的打印机水印添加方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337687A (ja) * 2002-05-21 2003-11-28 Canon Inc セキュリティ機能を備えた画像形成装置及び方法
JP2006221612A (ja) * 2005-01-17 2006-08-24 Canon Inc 情報処理装置、情報処理方法、ならびにプログラム、記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337687A (ja) * 2002-05-21 2003-11-28 Canon Inc セキュリティ機能を備えた画像形成装置及び方法
JP2006221612A (ja) * 2005-01-17 2006-08-24 Canon Inc 情報処理装置、情報処理方法、ならびにプログラム、記憶媒体

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010073198A (ja) * 2008-08-20 2010-04-02 Ricoh Co Ltd 文書管理システム
JP2010097347A (ja) * 2008-10-15 2010-04-30 Fuji Xerox Co Ltd 印刷制御装置、印刷制御システム及びプログラム
JP4538838B1 (ja) * 2009-08-18 2010-09-08 システムインテリジェント株式会社 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
JP2011039953A (ja) * 2009-08-18 2011-02-24 System Intelligent Kk 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
JP2014071789A (ja) * 2012-10-01 2014-04-21 Ricoh Co Ltd 情報処理装置およびプログラム
CN115659382A (zh) * 2022-12-28 2023-01-31 北京志翔科技股份有限公司 打印操作的控制方法、装置和电子设备
CN116483294A (zh) * 2023-06-25 2023-07-25 闪捷信息科技有限公司 基于Linux内核管控的打印机水印添加方法和装置
CN116483294B (zh) * 2023-06-25 2023-09-01 闪捷信息科技有限公司 基于Linux内核管控的打印机水印添加方法和装置

Similar Documents

Publication Publication Date Title
JP2008134820A (ja) 印刷制限処理プログラムおよび情報処理装置
US20090138969A1 (en) Device and method for blocking autorun of malicious code
JP2011081768A (ja) 画像処理装置、情報処理方法、及びプログラム
JP4540708B2 (ja) 印刷制御プログラム及びプログラムの記録媒体
JP4620741B2 (ja) 印刷画像生成プログラムおよびその記録媒体並びに印刷画像生成方法
JP4516598B2 (ja) 文書のコピーを制御する方法
JP2005202935A (ja) 情報処理装置、画像形成装置、電子データの移動の取り消し方法
JP4185546B2 (ja) 情報漏洩抑止装置、情報漏洩抑止プログラム、情報漏洩抑止記録媒体、及び情報漏洩抑止システム
JP2023129643A (ja) 情報処理装置、情報処理方法およびプログラム
JP2013190896A (ja) 情報処理装置、ファイル暗号化判定方法、権限決定方法およびプログラム
JP4802732B2 (ja) データ通信監視プログラム、システム及び方法
JP2008134821A (ja) 電子ファイル処理プログラムおよび情報処理装置
JP2023101738A (ja) 情報処理装置、情報処理方法およびプログラム
JP2004280816A (ja) コピー防止付き文書の作成方法およびシステム
JP2009093406A (ja) 印刷情報処理装置、印刷システムおよびプログラム
JP2005174200A (ja) 情報処理装置、記録媒体生成方法及び記録媒体
JP2007293673A (ja) 印刷制御方法およびプログラム
JP2011076541A (ja) 情報漏洩防止プログラムおよび起動記録プログラム
JP5435642B2 (ja) ファイル制御プログラム、ファイル制御装置及びファイル制御方法
JP2008102678A (ja) 電子機器
JP5318077B2 (ja) コードを扱うことができる装置、及びその制御方法
JP4419772B2 (ja) 印刷システム、印刷制御プログラム、印刷方法、および電子デバイス
US20090228887A1 (en) File management apparatus, file management method, computer-readable medium and computer data signal
JP5151531B2 (ja) 画像形成装置及びデータ管理方法
JP2007007896A (ja) 画像形成装置、画像形成装置の制御方法、および画像形成装置の制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110906