JP4018645B2 - Printing apparatus, data processing method, storage medium, program - Google Patents

Printing apparatus, data processing method, storage medium, program Download PDF

Info

Publication number
JP4018645B2
JP4018645B2 JP2004022494A JP2004022494A JP4018645B2 JP 4018645 B2 JP4018645 B2 JP 4018645B2 JP 2004022494 A JP2004022494 A JP 2004022494A JP 2004022494 A JP2004022494 A JP 2004022494A JP 4018645 B2 JP4018645 B2 JP 4018645B2
Authority
JP
Japan
Prior art keywords
job
attribute
print job
pdl
public key
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.)
Expired - Fee Related
Application number
JP2004022494A
Other languages
Japanese (ja)
Other versions
JP2005216029A (en
JP2005216029A5 (en
Inventor
直基 土樋
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004022494A priority Critical patent/JP4018645B2/en
Publication of JP2005216029A publication Critical patent/JP2005216029A/en
Publication of JP2005216029A5 publication Critical patent/JP2005216029A5/ja
Application granted granted Critical
Publication of JP4018645B2 publication Critical patent/JP4018645B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、情報処理装置のプリンタドライバにより生成される印刷ジョブを受信処理可能な印刷装置のデータ処理に関するものである。   The present invention relates to data processing of a printing apparatus capable of receiving and processing a print job generated by a printer driver of an information processing apparatus.

従来、この種の印刷システムにおいては、プライバシ情報の印刷結果を他の人に見られないようにするために、印刷ジョブの生成時に特定な指示を行うことによって、ユーザがホストコンピュータから印刷指示を行っても印刷装置では直ちに印刷を行わず、ホールド状態となり、ユーザが印刷装置に赴き印刷装置の操作パネルを操作することによって当該印刷ジョブを認識、選択し、解除するPINコード(数字によるパスワード)を操作パネルから与えることによってホールド状態が解除されて実際の印刷処理を開始する方式が多数実装されている。   Conventionally, in this type of printing system, in order to prevent others from seeing the printing result of privacy information, the user gives a printing instruction from the host computer by giving a specific instruction when generating the print job. Even if the printing is performed, the printing apparatus does not immediately perform printing, but is in a hold state, and the user visits the printing apparatus and operates the operation panel of the printing apparatus to recognize, select, and cancel the print job (a numeric password). Many methods have been implemented in which the hold state is released by giving the command from the operation panel and the actual printing process is started.

このような印刷方法は一般的に、セキュア印刷、セキュリティ印刷、あるいは機密印刷などと呼ばれる。以下、本提案において、当該印刷方法をセキュア印刷として用語を統一する。また、セキュア印刷される印刷ジョブを特別にセキュアジョブと呼ぶことにする。   Such a printing method is generally called secure printing, security printing, confidential printing, or the like. Hereinafter, in this proposal, the terminology is unified as the printing method is secure printing. A print job to be securely printed is specifically called a secure job.

セキュア印刷が使われるユースケースとしては、病院の診断情報や給料明細、住民情報など当事者以外に参照されてはいけないプライバシデータの印刷が想定される。   As a use case in which secure printing is used, it is assumed that privacy data such as hospital diagnosis information, salary details, and resident information should be referred to only by the parties concerned.

そして、セキュア印刷においては、ホールド(解除待ち)状態になった場合にも、他のジョブの印刷制御を妨げないことが望まれるために、一時的にHDDのような2次記憶装置に格納される。また、セキュア印刷時の印刷ジョブへの特殊な指示とは、セキュア印刷指示属性と解除を行うPINコード属性である。   In secure printing, it is desired that the print control of other jobs not be hindered even when the hold (waiting for release) state is entered. Therefore, the secure print is temporarily stored in a secondary storage device such as an HDD. The The special instruction for the print job at the time of secure printing is a secure print instruction attribute and a PIN code attribute for canceling.

さらに、一般的にセキュア印刷の機能と、通常の印刷ジョブを送ったらすぐに印刷を開始する通常ジョブ印刷の機能は並存している。   Further, generally, a secure printing function and a normal job printing function for starting printing immediately after sending a normal print job coexist.

また、従来のセキュア印刷においては、ホストコンピュータで作成される印刷ジョブは平文(暗号化されない、の意味)で生成され、解除に使用されるPINコードも同様に平文で印刷ジョブに添付される。   In conventional secure printing, a print job created by a host computer is generated in plain text (meaning that it is not encrypted), and a PIN code used for cancellation is similarly attached to the print job in plain text.

LANなどのネットワークを介して印刷ジョブをホストコンピュータから印刷装置に送る場合、専用の機器あるいはソフトウエアによって、経路の盗聴、改ざんは比較的容易であり、ネットワーク上に脅威を与える悪意をもった攻撃者がいると想定した場合には、機密情報を印刷するシステムとしては脆弱であるといえる。あるいはIEEE802.11bに代表される無線LANをネットワークインフラとして使用する場合、十分なセキュリティ対策を行わなければ、屋外でも盗聴を行うことが技術的にはより容易である。   When sending a print job from a host computer to a printing device via a network such as a LAN, it is relatively easy to eavesdrop and tamper with the route by dedicated equipment or software, and a malicious attack that poses a threat on the network Assuming that there is a person, it can be said that the system for printing confidential information is vulnerable. Alternatively, when a wireless LAN represented by IEEE802.11b is used as a network infrastructure, it is technically easier to eavesdrop outdoors even if sufficient security measures are not taken.

さらに、セキュアジョブは印刷装置に蓄えられ、ホールド解除されるまでHDDなどに代表される2次記憶装置に格納されるが、悪意を持った攻撃者が印刷装置に物理的に作用できると想定した場合、印刷装置の電源を切られて、2次記憶装置を抜き取られ持ち出されて内部を解析することにより、技術的に印刷ジョブに含まれる機密情報を取得可能であり、印刷システムとして脆弱であるといえる。   Furthermore, secure jobs are stored in the printing device and stored in a secondary storage device such as an HDD until the hold is released, but it is assumed that a malicious attacker can physically act on the printing device. If the printer is turned off, the secondary storage device is taken out and taken out and the inside is analyzed, the confidential information contained in the print job can be technically acquired, and the printing system is vulnerable. It can be said.

これらの問題に対処するために、印刷ジョブを暗号化し、経路を盗聴したり2次記憶装置を抜き取られて格納された印刷ジョブを解析されたとしても、復号鍵を持っていないために実質的に機密情報が漏洩しないようにする、という対応が考えられる。周辺機器とクライアントPC間でデータを暗号化するシステムとして、特許文献1のシステムが開示されている。
特開2003−169053号公報
In order to cope with these problems, even if the print job is encrypted and the path is eavesdropped or the print job stored by extracting the secondary storage device is analyzed, it does not have a decryption key. It may be possible to prevent confidential information from leaking. As a system for encrypting data between a peripheral device and a client PC, a system disclosed in Patent Document 1 is disclosed.
JP 2003-169053 A

そして、上記セキュアジョブを暗号化する場合に、論点としてどこで復号化するか、という問題と誰の鍵で復号化を行うか、という2つの観点から発生する問題が存在する。   Then, when encrypting the secure job, there are problems that arise from two viewpoints: the problem of where to decrypt and the key to decrypt.

例えば復号に使う鍵を、セキュアジョブを発行したユーザが個別に所有するスマートカードのような物理的な媒体に含まれる電気情報として格納された鍵によって提供される第1の方式を想定する。   For example, a first method is assumed in which a key used for decryption is provided by a key stored as electrical information included in a physical medium such as a smart card individually owned by a user who issued a secure job.

その場合、印刷装置に入ったセキュアジョブは暗号化されており、鍵の提供がされない場合はまったく中身を解釈することができない。   In this case, the secure job that has entered the printing apparatus is encrypted, and if the key is not provided, the contents cannot be interpreted at all.

一方、解除したいセキュアジョブの解除には、印刷ジョブのオーナ名やジョブ名称といった付加情報によって解除対象となるセキュアジョブを選択させるヒントが必要となる。   On the other hand, in order to release a secure job to be released, a hint is required for selecting a secure job to be released based on additional information such as the owner name and job name of the print job.

しかし、セキュアジョブのすべてのデータが暗号化されているとすると、上記のスマートカードが挿入されて復号処理が行われるまで付加情報の読み出しができず、セキュアジョブを選択することができない、という第1の問題点があった。   However, if all the data of the secure job is encrypted, the additional information cannot be read out until the above smart card is inserted and the decryption process is performed, and the secure job cannot be selected. There was one problem.

あるいは、暗号に使う鍵をユーザが所有するスマートカードのような物理的な鍵ではなく、印刷装置が自身の2次記憶装置、あるいは不揮発性メモリ上に静的に電気情報として保有する鍵、例えば公開鍵方式の鍵ペアを想定し、この方式を第2の方式とする。   Alternatively, the key used for encryption is not a physical key such as a smart card owned by the user, but a key that the printing device statically holds as its electrical information on its secondary storage device or nonvolatile memory, for example, Assuming a public key key pair, this method is the second method.

この場合、予め鍵ペアの一方である公開鍵はホストコンピュータに提供され、公開鍵を元にセキュアジョブは暗号化され、印刷装置に送られることが考えられる。印刷装置に送られたセキュアジョブは印刷装置内部で直ちに印刷装置に含まれた公開鍵方式の鍵ペアのもう一方の秘密鍵(これは印刷装置によって外部に漏れないように管理される)を元に復号され、復号結果がHDDなどの2次記憶装置に保存される。この場合は、予めホストコンピュータがセキュアジョブの生成を行う際に、付加情報として解除用のPINコードが属性として割り当てられ、操作パネルを通して入力されたPINコードが一致した場合に印刷処理を行う、といった動作が想定される。   In this case, it is conceivable that the public key that is one of the key pairs is provided to the host computer in advance, and the secure job is encrypted based on the public key and sent to the printing apparatus. The secure job sent to the printing device is based on the other private key of the public key type key pair included in the printing device immediately inside the printing device (this is managed by the printing device so as not to leak outside). The decryption result is stored in a secondary storage device such as an HDD. In this case, when the host computer generates a secure job in advance, a release PIN code is assigned as additional information as an attribute, and printing processing is performed when the PIN code input through the operation panel matches. Operation is expected.

この方式の場合、セキュアジョブは印刷装置に投入されるとただちに復号化され、2次記憶装置には平文でセキュアジョブのデータが保管されることとなり、攻撃者が印刷装置に物理的に作用できると想定した場合に、印刷装置の電源を切られて、2次記憶装置を抜き取られて内部を解析され、機密情報が暴露されるという脅威に対抗できない、という第2の問題点があった。   In this method, the secure job is decrypted as soon as it is input to the printing apparatus, and the secure job data is stored in the secondary storage device in plain text, so that an attacker can physically act on the printing apparatus. As a result, there is a second problem that the printing apparatus is turned off, the secondary storage device is removed, the inside is analyzed, and the threat of exposing confidential information cannot be countered.

本発明は、前記の課題を解決するためになされたもので、本発明の目的は、情報処理装置から受信する印刷ジョブの属性部分を復号鍵で復号し、PDLデータについては暗号化した状態で印刷ジョブを記憶し、PDLデータについては印刷指示されるまで暗号化した状態で記憶できる仕組みを提供することである。   The present invention has been made to solve the above-described problems, and an object of the present invention is to decrypt an attribute part of a print job received from an information processing apparatus with a decryption key and encrypt PDL data. A mechanism for storing a print job and storing PDL data in an encrypted state until a print instruction is issued is provided.

本発明に係る印刷装置は、以下の特徴的構成を備える。
情報処理装置のプリンタドライバにより生成される印刷ジョブを受信処理可能な印刷装置であって、受信する印刷ジョブの個々の属性情報を管理する属性データベース手段と、前記印刷ジョブのPDLデータ部分を一時的に記憶するPDL記憶手段と前記印刷ジョブを受信し、当該印刷ジョブに含まれる属性部分を第1の復号鍵情報に基づいて復号し、当該復号により取り出された属性部分を前記属性データベース手段に登録し、さらに、当該印刷ジョブに含まれる前記PDLデータ部分を暗号化したまま前記PDL記憶手段に記憶する印刷ジョブ解釈手段と、ユーザ操作によって前記PDL記憶手段に記憶された印刷ジョブから選択された印刷ジョブの印刷指示を行う印刷指示手段と、前記印刷指示手段によって印刷指示された印刷ジョブの暗号化されているPDLデータを第2の復号鍵情報に基づいて復号化するPDLデータ復号化手段とを有することを特徴とする。
The printing apparatus according to the present invention has the following characteristic configuration.
A printing apparatus capable of receiving and processing a print job generated by a printer driver of an information processing apparatus, and managing attribute database means for managing individual attribute information of the received print job, and temporarily storing a PDL data portion of the print job Receiving the PDL storage means and the print job, decrypting the attribute part included in the print job based on the first decryption key information, and registering the attribute part extracted by the decryption in the attribute database means Furthermore, the print job interpretation unit that stores the PDL data portion included in the print job in an encrypted state in the PDL storage unit, and the print selected from the print job stored in the PDL storage unit by a user operation Print instruction means for instructing printing of a job, and a print job instructed to print by the print instruction means And having a PDL data decoding means for decoding on the basis of the PDL data that has been encrypted second decryption key information.

本発明によれば、情報処理装置から受信する印刷ジョブの属性部分を復号鍵で復号し、PDLデータについては暗号化した状態で印刷ジョブを記憶し、PDLデータについては印刷指示されるまで暗号化した状態で記憶できる。   According to the present invention, the attribute part of the print job received from the information processing apparatus is decrypted with the decryption key, the print job is stored in a state where the PDL data is encrypted, and the PDL data is encrypted until a print instruction is given. It can be memorized.

次に本発明を実施するための最良の形態について図面を参照して説明する。   Next, the best mode for carrying out the present invention will be described with reference to the drawings.

〔第1実施形態〕
図1は、本発明の第1実施形態を示すデータ処理装置(ホストコンピュータ)および印刷装置を含む印刷システムの構成を示すブロック図である。
[First Embodiment]
FIG. 1 is a block diagram showing a configuration of a printing system including a data processing apparatus (host computer) and a printing apparatus according to the first embodiment of the present invention.

図1において、本印刷システムは印刷ジョブを生成し、印刷装置におくるホストコンピュータ100と、前記印刷ジョブを受信し、電子写真やインクジェットなどの既知の印刷技術により実際の用紙に印刷を行う印刷装置(プリンタ)150と、ホストコンピュータ100と印刷装置150を接続するための既知のインタフェース技術を利用したインタフェース手段170から構成される。   In FIG. 1, the printing system generates a print job, receives a print job from a host computer 100 that comes to the printing apparatus, and prints on an actual sheet by a known printing technique such as electrophotography or inkjet. (Printer) 150 and interface means 170 using a known interface technology for connecting the host computer 100 and the printing apparatus 150.

インタフェース手段170はUSB(Universal Serial Bus)や IEEE1284準拠のローカルインタフェースやEthernet(登録商標)やToken−Ringのような有線LANのインタフェース、あるいはIEEE802.11b,Bluetooth(登録商標)のような無線LANのインタフェースであっても構わず、途中経路にルータやスイッチングハブ、あるいはインターネットを介していてもよい。   The interface unit 170 is a USB (Universal Serial Bus) or IEEE1284 compliant local interface, a wired LAN interface such as Ethernet (registered trademark) or Token-Ring, or a wireless LAN such as IEEE802.11b or Bluetooth (registered trademark). It may be an interface, and may be routed via a router, a switching hub, or the Internet.

ホストコンピュータ100は、アプリケーション部101によってGUIを介してユーザが所望する画像データの生成を行う。ドライバ部102は、ホストコンピュータ独自の画像形式から印刷装置150で解釈可能な印刷ジョブへの変換作業を行う。   The host computer 100 generates image data desired by the user via the GUI by the application unit 101. The driver unit 102 converts the image format unique to the host computer into a print job that can be interpreted by the printing apparatus 150.

セキュアジョブ生成部103は、ドライバ部102で生成された印刷ジョブを受け取り、所有者しか解析できないセキュアジョブ(印刷ジョブをセキュリティ対応したもの)への変換作業を行う。この際、前記印刷ジョブを属性部分とPDLデータ部分とに分割して、属性部分を印刷装置が持つ公開鍵を元に暗号化し、PDLデータ部分はユーザが持つ公開鍵を元に暗号化する。   The secure job generation unit 103 receives the print job generated by the driver unit 102, and performs a conversion operation into a secure job (a print job corresponding to security) that can be analyzed only by the owner. At this time, the print job is divided into an attribute part and a PDL data part, and the attribute part is encrypted based on the public key of the printing apparatus, and the PDL data part is encrypted based on the public key of the user.

そして、セキュアジョブ生成部103により生成されたセキュアジョブは既存のスプール部104に格納され、I/F105を介して印刷装置150に送られる。   The secure job generated by the secure job generation unit 103 is stored in the existing spool unit 104 and sent to the printing apparatus 150 via the I / F 105.

なお、上記セキュアジョブ生成時に必要となるユーザが持つ公開鍵は、印刷処理の前段階でスマートカードなどの公開鍵を電気的に保持し、提供するメディアに保持され、既存のカードリーダ部108によって読み取られ、ユーザ公開鍵記憶部109によって保管され、セキュアジョブ生成部103に提供される。   The public key possessed by the user that is required when generating the secure job is electrically held in a public key such as a smart card in the previous stage of the printing process and held in the provided medium. It is read, stored by the user public key storage unit 109, and provided to the secure job generation unit 103.

一方、セキュアジョブ生成時に必要となる印刷装置が持つ公開鍵はインタフェース手段170を介して印刷装置150から供給され、デバイス公開鍵受信部106を介してデバイス公開鍵記憶部107に保管され、セキュアジョブ生成部103に提供される。   On the other hand, the public key possessed by the printing apparatus required when generating the secure job is supplied from the printing apparatus 150 via the interface unit 170, stored in the device public key storage unit 107 via the device public key receiving unit 106, and secured by the secure job. Provided to the generation unit 103.

セキュアジョブはI/F151を介して印刷装置150に投入される。パケット判断部153は、セキュアジョブの各パケットを監視し、属性部分なら属性復号部155へ、PDLデータ部分ならPDLスプール部154へ転送する。   The secure job is input to the printing apparatus 150 via the I / F 151. The packet determination unit 153 monitors each packet of the secure job, and transfers it to the attribute decryption unit 155 if it is an attribute part and to the PDL spool unit 154 if it is a PDL data part.

また、セキュアジョブの送信に先立って、ホストコンピュータ100のデバイス公開鍵受信部106は印刷装置150に対して印刷装置の公開鍵の要求を行うと、その要求に応じて印刷装置150の内部にあるデバイス公開鍵管理部161から印刷装置150に固有の公開鍵をデバイス公開鍵送信部162,インタフェース手段170を介してホストコンピュータ100へ提供を行っている。   Prior to the transmission of the secure job, when the device public key receiving unit 106 of the host computer 100 requests the printing device 150 for the public key of the printing device, the device public key reception unit 106 is in the printing device 150 in response to the request. A public key unique to the printing apparatus 150 is provided from the device public key management unit 161 to the host computer 100 via the device public key transmission unit 162 and the interface unit 170.

属性復号部155において、デバイス公開鍵管理部161よりセキュアジョブの属性部分が送られると、デバイス公開鍵管理部161が保持している公開鍵ペアのもう一方である秘密鍵を使って公開鍵方式によって属性部分を復号化し、属性データを属性DB156に書き込む。   When the attribute part of the secure job is sent from the device public key management unit 161 in the attribute decryption unit 155, the public key scheme is performed using the secret key that is the other of the public key pairs held by the device public key management unit 161. The attribute part is decrypted by and the attribute data is written in the attribute DB 156.

属性DB156は、例えば揮発性メモリであるRAMで構成され、描画処理に関するコピー数や、カラー情報などの印刷情報やジョブ名称やオーナ名などのモニタリング情報を一時的に保持し、描画部159に提供する一方、不図示の操作パネルからの表示要求に合わせてUI部163へセキュアジョブのモニタリングに必要な属性情報の提供を行う。   The attribute DB 156 is composed of, for example, a RAM which is a volatile memory, and temporarily stores the number of copies related to the drawing process, printing information such as color information, and monitoring information such as a job name and an owner name, and provides the drawing unit 159 with it. On the other hand, attribute information necessary for secure job monitoring is provided to the UI unit 163 in accordance with a display request from an operation panel (not shown).

さて、セキュアジョブは印刷装置150内に入るとホールド(解除待ち)状態となり、データ処理が停止する。ユーザは、カードリーダ部158に、PDLデータ暗号化に使用したものと同じスマートカードなどの公開鍵を提供するメディアが挿入されると、後述の手順によってPDLデータ部分を復号化する復号鍵が提供され、その復号鍵を使って復号化されたPDLデータ部分が描画部159に渡され、印刷データの描画処理が行われ、描画されたイメージデータは電子写真やインクジェット技術などの既知の印刷技術を使うプリンタエンジン部160において実際の用紙に印刷される。   When the secure job enters the printing apparatus 150, the secure job enters a hold (waiting for release) state, and data processing stops. When a medium providing a public key such as the same smart card as that used for PDL data encryption is inserted into the card reader unit 158, the user is provided with a decryption key for decrypting the PDL data part according to the procedure described later. Then, the PDL data portion decrypted using the decryption key is transferred to the drawing unit 159, and the drawing processing of the print data is performed. The drawn image data is subjected to a known printing technology such as electrophotography or an inkjet technology. Printing is performed on actual paper in the printer engine unit 160 to be used.

より詳細に説明するために、セキュアジョブの内部情報について説明する。   In order to explain in more detail, internal information of the secure job will be described.

1つのセキュアジョブは複数のジョブパケットから構成される。セキュアジョブを構成する一連のジョブパケットの集まりをジョブスクリプトと呼ぶ。   One secure job is composed of a plurality of job packets. A series of job packets constituting a secure job is called a job script.

ジョブパケットはOSI7階層で言うところのアプリケーション層のプロトコルに相当し、ヘッダ部、パラメータ部から構成されるパケット構造になっている。   The job packet corresponds to an application layer protocol in the OSI 7 hierarchy, and has a packet structure including a header part and a parameter part.

図2は、図1に示したホストコンピュータ100から印刷装置150に転送されるジョブパケットの構造を示す説明図である。   FIG. 2 is an explanatory diagram showing the structure of a job packet transferred from the host computer 100 shown in FIG. 1 to the printing apparatus 150.

図2において、縦軸はバイトを示し、横軸は各バイトのビットを示している。図中において0〜1バイト目のオペレーションコードは、パケットの機能を示す長さ2バイトのIDである。ジョブパケットにおいては以下の値を取ることができる。0x0201はジョブ開始命令を示し、0x0202はジョブ属性設定命令(属性部分)を示し、0x0204はPDLデータ送信命令(PDLデータ部分)を示し、0x0205はジョブ終了命令を示す。   In FIG. 2, the vertical axis represents bytes, and the horizontal axis represents bits of each byte. In the figure, the operation code of 0th to 1st bytes is a 2-byte ID indicating the function of the packet. The job packet can take the following values: 0x0201 indicates a job start command, 0x0202 indicates a job attribute setting command (attribute portion), 0x0204 indicates a PDL data transmission command (PDL data portion), and 0x0205 indicates a job end command.

2〜3バイト目のブロック番号は、ジョブパケットを送信した側が、返答を要求する場合に、受信側からの返答が送信側のどの返答要求に対するものであるか、その対応を取るために使用する番号である。   The block number in the 2nd to 3rd bytes is used to take a response to the response request from the receiving side to which the response from the receiving side corresponds when the side sending the job packet requests a response. Number.

例えばそれぞれブロック番号=1,2,3というジョブパケットを立て続けに送信した時にブロック番号=2というエラーパケットが帰ってきた場合、返答が帰ってきたとき、送信側は、2番目に送ったジョブパケットにエラーが発生したことを特定することが可能である。   For example, when an error packet of block number = 2 is returned when job packets of block numbers = 1, 2, and 3 are transmitted in succession, when a reply is returned, the transmitting side sends the second job packet sent It is possible to specify that an error has occurred.

4〜5バイト目のパラメータ長はデータ部のバイト長さを示す領域で、0〜64Kバイトまでを示すことが可能である。   The parameter length of the 4th to 5th bytes is an area indicating the byte length of the data portion, and can indicate 0 to 64K bytes.

6〜7バイト目はジョブパケットの各種フラグを示す領域でそれぞれ以下の値を示す。   The 6th to 7th bytes are areas indicating various flags of the job packet, and indicate the following values, respectively.

エラーフラグの値が「1」の場合、印刷装置で何らかのエラーが発生したことを示す。このフラグは印刷装置からホストコンピュータに送られる返信パケットに付加される。   When the value of the error flag is “1”, it indicates that some error has occurred in the printing apparatus. This flag is added to a reply packet sent from the printing apparatus to the host computer.

また、通知フラグの値が「1」の時は、ホストコンピュータからの要求パケットに対する返答ではなく、印刷装置がなんらかの通知事項があることをホストコンピュータに通知することを示している。   Further, when the value of the notification flag is “1”, it indicates that the printing apparatus notifies the host computer that there is some notification matter, not a response to the request packet from the host computer.

さらに、継続フラグの値が「1」の場合は、データ部にすべてのデータが入らなかったため、次のジョブパケットで残りのデータが送られることを示す。次のジョブパケットは前のパケットと同じオペレーションコード、ブロック番号を設定しなくてはならない。   Further, when the value of the continuation flag is “1”, it means that not all data has been entered in the data portion, and therefore the remaining data is sent in the next job packet. The next job packet must have the same operation code and block number as the previous packet.

返答要求は、ホストコンピュータから印刷装置に対して返答パケットが必要な場合に1をセットする。0のときは要求パケットは正常に処理された場合には返答は返さない。印刷装置でエラーが発生した場合には返答要求の0/1に関わらす、つねにエラーフラグを1にした返答パケットを送出する。   The response request is set to 1 when a response packet is required from the host computer to the printing apparatus. When 0, the request packet is not returned when it is processed normally. When an error occurs in the printing apparatus, a reply packet with the error flag set to 1 is always sent, regardless of the reply request 0/1.

8〜9バイト目のユーザIDおよび10〜11バイト目のパスワードは、要求パケットでできる操作にセキュリティ的制限を設ける際に認証に使われる領域である。本実施形態には影響しない。   The user IDs in the 8th to 9th bytes and the password in the 10th to 11th bytes are areas used for authentication when setting a security restriction on operations that can be performed with the request packet. This embodiment is not affected.

12バイト目以降はオペレーションコードに対応した追加データが格納される。   From the 12th byte onward, additional data corresponding to the operation code is stored.

なお、ジョブ開始オペレーションの場合、追加データとして、ジョブの実行モードが記述される。指定可能な実行モードを以下にあげる。   In the case of a job start operation, the job execution mode is described as additional data. The execution modes that can be specified are listed below.

0x01はジョブの通常実行モードで、当該ジョブは通常ジョブとして印刷装置のキューの最後に追加され、スケジューリングが回ってきたら印刷処理を行う。   0x01 is a normal execution mode of a job, and the job is added as a normal job at the end of the queue of the printing apparatus, and print processing is performed when scheduling has arrived.

0x04はジョブのセキュリティ印刷実行モードで、当該ジョブはセキュアジョブとして扱い、印刷を行わずに鍵が与えられるまでホールド(解除待ち)状態として扱う。   0x04 is a secure print execution mode of the job. The job is handled as a secure job, and is handled as a hold (waiting for release) state until a key is given without printing.

ホストコンピュータ100内部のドライバ部102は暗号化される前の通常と同じ形式のジョブスクリプトを生成する。これはドライバ部102とセキュアジョブ生成部103の処理を分離することによってドライバ部102に負担を与えないようにするためである。   The driver unit 102 inside the host computer 100 generates a job script in the same format as that before encryption. This is to prevent the driver unit 102 from being burdened by separating the processing of the driver unit 102 and the secure job generation unit 103.

図3は、本発明に係る印刷システムにおける第1のジョブスクリプトが暗号化される仕組みを説明するための模式図である。   FIG. 3 is a schematic diagram for explaining a mechanism for encrypting the first job script in the printing system according to the present invention.

図3の(a)は、はドライバ部102が生成したジョブスクリプトで、上部から下部へ順番にジョブパケットが生成される。中の四角いマス一つがジョブパケットである。図3の(a)によれば、ジョブスクリプトは印刷ジョブの開始を告げるジョブ開始命令と、複数個の属性設定命令、複数個のPDLデータ送信命令、ジョブ終了命令によって構成される。セキュアジョブ生成部103は図3の(a)のジョブスクリプトを解析し、図3の(b)のセキュアジョブを生成する。このとき、ジョブパケットのオペレーションコードを判定し、属性設定命令の場合は印刷装置150から提供されたデバイスの公開鍵を用いてジョブパケットのデータ部の暗号化を行い(図3の濃い網掛け部分)、PDLデータ送信命令の場合は、スマートカードなどの公開鍵を提供するメディアから提供されたユーザの公開鍵を用いて暗号化を行う(図3の薄い網掛け部分)。ここでいう暗号化とは、共通鍵方式と公開鍵方式を組み合わせた方法で行われる。   FIG. 3A shows a job script generated by the driver unit 102. Job packets are generated in order from the top to the bottom. One square box in the middle is a job packet. According to FIG. 3A, the job script is composed of a job start command for informing the start of a print job, a plurality of attribute setting commands, a plurality of PDL data transmission commands, and a job end command. The secure job generation unit 103 analyzes the job script shown in FIG. 3A and generates a secure job shown in FIG. At this time, the operation code of the job packet is determined, and in the case of the attribute setting command, the data part of the job packet is encrypted using the device public key provided from the printing apparatus 150 (the dark shaded portion in FIG. 3). In the case of a PDL data transmission command, encryption is performed using a user's public key provided from a medium that provides a public key such as a smart card (the thin shaded portion in FIG. 3). The encryption here is performed by a method combining a common key method and a public key method.

図4は、図1に示したセキュアジョブ生成部103により生成される印刷ジョブを属性設定部分の暗号化属性の構造を示すデータ構造図である。   FIG. 4 is a data structure diagram showing the structure of the encryption attribute of the attribute setting portion of the print job generated by the secure job generation unit 103 shown in FIG.

図4に示すデータ構造は、図2に示したジョブパケットのうち、12バイト目からのデータ部を示しており、オペレーションコードなどの説明は割愛している。   The data structure shown in FIG. 4 shows the data part from the 12th byte in the job packet shown in FIG. 2, and the description of the operation code and the like is omitted.

まず、セキュアジョブ生成部103は発生周期が長く、信用できる十分な大きさの乱数を2つ(乱数A,乱数B)生成する。この乱数はそれぞれ属性部分、およびPDLデータ部分の共通鍵暗号方式による暗号鍵として使用される。さらに、属性部分の暗号鍵となる乱数Aはプリンタ150がデバイス公開鍵記憶部107に所有しているプリンタ150の公開鍵によって公開鍵暗号方式による暗号化がなされ、図4に示すデバイス公開鍵で暗号化された属性復号鍵401として添付される。   First, the secure job generation unit 103 generates two random numbers (random number A and random number B) that have a long generation cycle and are sufficiently large to be trusted. This random number is used as an encryption key by the common key encryption method of the attribute part and the PDL data part, respectively. Further, the random number A that is the encryption key of the attribute part is encrypted by the public key encryption method with the public key of the printer 150 owned by the printer 150 in the device public key storage unit 107, and the device public key shown in FIG. It is attached as an encrypted attribute decryption key 401.

さらに、乱数Aは後に暗号鍵の正当性を確認するためにハッシュ処理されたハッシュ値である属性復号鍵のハッシュ値402として添付される。   Further, the random number A is attached as a hash value 402 of the attribute decryption key, which is a hash value hashed to confirm the validity of the encryption key later.

ハッシュ処理は後に鍵の同一性を比較するために使用されるものであり、SHA−1(Secure Hash Algorithm 1)などの公開技術を使用することを想定している。   The hash process is used later to compare the key identities, and it is assumed that a public technique such as SHA-1 (Secure Hash Algorithm 1) is used.

さらに、PDLデータ部分の暗号鍵となる乱数Bは、ユーザがスマートカードに保持しカードリーダ108を介して一時的にユーザ公開鍵記憶部109に所有しているユーザの公開鍵によって公開鍵方式による暗号化がなされ、図4に示すデバイス公開鍵で暗号化されたPDLデータ復号鍵403として添付される。   Further, the random number B, which is the encryption key of the PDL data portion, is based on the public key method by the user's public key held in the smart card and temporarily held in the user public key storage unit 109 via the card reader 108. Encrypted and attached as a PDL data decryption key 403 encrypted with the device public key shown in FIG.

さらに乱数Bは後に暗号鍵の正当性を確認するためにハッシュ処理されたハッシュ値であるPDLデータ復号鍵のハッシュ値404として添付される。   Further, the random number B is attached as a hash value 404 of a PDL data decryption key, which is a hash value hashed to confirm the validity of the encryption key later.

同様にハッシュ処理は後に鍵の同一性を比較するために使用されるものであり、SHA−1(Secure Hash Algorithm 1)などの公開技術を使用することを想定している。   Similarly, hash processing is used later to compare key identities, and it is assumed that a public technique such as SHA-1 (Secure Hash Algorithm 1) is used.

PDLデータ送信命令は、PDLデータ部分をジョブパケットに分割して送信する命令であり、通常の印刷ジョブの場合はPDLデータ部分は平文で格納されるが、セキュアジョブの場合は、PDLデータ部分は乱数Bによって共通鍵暗号方式による暗号化を行った結果が添付される。これは後にホールド解除されたときにユーザ公開鍵で暗号化されたPDLデータ復号鍵403の公開鍵方式を用いた復号化によって乱数Bが取り出され、PDLデータが復号可能となる。   The PDL data transmission instruction is an instruction to divide the PDL data part into job packets and transmit it. In the case of a normal print job, the PDL data part is stored in plain text, but in the case of a secure job, the PDL data part is The result of encryption by the common key cryptosystem with the random number B is attached. In this case, when the hold is later released, the random number B is extracted by decrypting the PDL data decryption key 403 encrypted with the user public key, and the PDL data can be decrypted.

ここでいう共通鍵方式の暗号化とは、DES(Data Encryption Standard)や3DES(Triple−DES)),あるいはAES(Advanced Encryption Standard)暗号化方式に代表される共通鍵暗号方式を用いており、ここで与えられる共通鍵は暗号と復号で共通に使用される鍵であり、秘密に保持されなくてはならない。   Here, the common key encryption method uses a common key encryption method represented by DES (Data Encryption Standard), 3DES (Triple-DES)), or AES (Advanced Encryption Standard) encryption method. The common key given here is a key used in common for encryption and decryption and must be kept secret.

ホストコンピュータ100はセキュアジョブを生成する毎に異なる乱数を生成してこれを共通鍵として利用し、送信した後は破棄されるため、共通鍵はホストコンピュータには保持されない。   The host computer 100 generates a different random number every time a secure job is generated, uses this as a common key, and is discarded after transmission. Therefore, the common key is not held in the host computer.

共通鍵はセキュアジョブに添付されるが、共通鍵は後述の公開鍵暗号方式によって暗号化されるため、共通鍵のセキュリティ強度は公開鍵暗号方式に拠っている。   Although the common key is attached to the secure job, since the common key is encrypted by a public key cryptosystem described later, the security strength of the common key depends on the public key cryptosystem.

さらに、ここでいう公開鍵の暗号化とは、RSA(Rivest,Shamir,Adelman)暗号化方式に代表される公開鍵方式を用いており、ここで与えられる公開鍵は広く公開できるものである。   Furthermore, the public key encryption here uses a public key system represented by RSA (Rivest, Shamir, Adelman) encryption system, and the public key given here can be widely disclosed.

公開鍵方式においては対照となる秘密鍵なしに復号化するのは、数学的に素因数分解レベルの難易度があり、十分な鍵長を用いれば高速なコンピュータ環境でも実時間で復号化することが難しいことが証明されている。デバイスの秘密鍵、ユーザの秘密鍵ともセキュアジョブには添付されないために、悪意を持った攻撃者がセキュアジョブの属性、及びPDLデータの中身を解釈するためには、RSA公開鍵暗号を解読しなくてはならず、非常に多くのモチベーションが必要となる。   In the public key method, decryption without a secret key, which is a contrast, is mathematically difficult at the factorization level, and if a sufficient key length is used, it can be decrypted in real time even in a high-speed computer environment. Proven to be difficult. Since neither the device private key nor the user private key is attached to the secure job, a malicious attacker must decrypt the RSA public key encryption to interpret the secure job attributes and the contents of the PDL data. It must be very motivated.

なお、暗号化属性は属性部分の一部であるが、暗号化そのものに関わる属性であるので、属性そのものは平文(暗号化されない、の意味)で添付されるものである。   Although the encryption attribute is a part of the attribute part, it is an attribute related to the encryption itself, so the attribute itself is attached in plain text (meaning that it is not encrypted).

次にセキュアジョブがプリンタ150に投入されたときの処理を説明する。   Next, processing when a secure job is input to the printer 150 will be described.

図5は、本発明に係る印刷装置における第1のデータ処理手順の一例を示すフローチャートであり、図1に示したパケット判断部153のデータ処理手順に対応する。なお、(501)〜(512)は各ステップを示す。   FIG. 5 is a flowchart showing an example of a first data processing procedure in the printing apparatus according to the present invention, and corresponds to the data processing procedure of the packet determining unit 153 shown in FIG. In addition, (501)-(512) shows each step.

パケット判断部153は、プリンタ150の起動とともに動作を開始し、プリンタ150の電源遮断まで処理を継続する。   The packet determination unit 153 starts the operation when the printer 150 is activated, and continues the process until the printer 150 is turned off.

先ず、ステップ(501)において、初期処理としてSecureFlagをNoに初期化する。そして、ステップ(502)において、ジョブパケットの受信を行う。ジョブパケットを受信すると、ジョブパケットのオペレーションコードを取得し、オペレーションによって処理を分ける。   First, in step (501), SecureFlag is initialized to No as an initial process. In step (502), a job packet is received. When a job packet is received, an operation code of the job packet is acquired, and processing is divided according to the operation.

次に、ステップ(503)において、オペレーションコードがジョブ開始命令かどうか判定し、ジョブ開始命令であると判断した場合は、ステップ(504)において、ジョブ開始命令の実行モードを調査し、そのコードによって通常ジョブかセキュアジョブかを判断して、セキュアジョブであると判断された場合は、ステップ(505)で、SecureFlagをYesに設定する。   Next, in step (503), it is determined whether or not the operation code is a job start instruction. If it is determined that the operation code is a job start instruction, the execution mode of the job start instruction is checked in step (504). If it is determined whether the job is a normal job or a secure job, and it is determined that the job is a secure job, in step (505), the Secure Flag is set to Yes.

そして、ステップ(506)において、属性DBに新規印刷ジョブをエントリして、ステップ(502)へ戻る。   In step (506), a new print job is entered in the attribute DB, and the process returns to step (502).

一方、ステップ(503)で、オペレーションコードがジョブ開始命令でないと判断された場合、ステップ(507)において、オペレーションコードが属性設定命令であるか否かを判断して、属性設定命令であると判断された場合、ステップ(508)において属性復号部155に処理が渡され、ステップ(502)へ戻る。   On the other hand, if it is determined in step (503) that the operation code is not a job start instruction, it is determined in step (507) whether or not the operation code is an attribute setting instruction. If so, the process is passed to the attribute decryption unit 155 in step (508), and the process returns to step (502).

一方、ステップ(507)で、オペレーションコードが属性設定命令でないと判断した場合は、ステップ(509)で、オペレーションコードがPDLデータ送信命令であるか否かを判断して、PDLデータ送信命令であると判断された場合、ステップ(510)において、PDLスプール部154にPDLデータ部分が書き込まれた後、ステップ(502)へ戻る。この場合のPDLデータ部分はユーザの秘密鍵によって暗号化された共通鍵すなわち乱数Bによって共通暗号化されたPDLデータ部分であり、この段階ではまだ復号化はされていない。   On the other hand, if it is determined in step (507) that the operation code is not an attribute setting command, it is determined in step (509) whether or not the operation code is a PDL data transmission command. If it is determined that the PDL data portion is written in the PDL spool unit 154 in step (510), the process returns to step (502). The PDL data portion in this case is a common key encrypted with the user's private key, that is, a PDL data portion that is commonly encrypted with the random number B, and has not been decrypted at this stage.

一方、ステップ(509)で、PDLデータ送信命令でないと判断した場合は、ステップ(511)で、オペレーションコードがジョブの終了命令であるか否かを判断して、ジョブの終了命令でないと判断された場合は、そのままステップ(502)へ戻り、ジョブの終了命令であると判断された場合、ステップ(512)においてSecureFlagをNoにして初期化され、ステップ(502)に戻る。   On the other hand, if it is determined in step (509) that it is not a PDL data transmission command, it is determined in step (511) whether or not the operation code is a job end command, and is not a job end command. If YES in step (502), the flow returns to step (502). If it is determined that the instruction is a job end command, the secure flag is initialized to No in step (512), and the flow returns to step (502).

次に、図1に示した属性復号部155のデータ処理について説明する。   Next, data processing of the attribute decoding unit 155 shown in FIG. 1 will be described.

属性復号部155はパケット判断部153に対する図5に示すステップ(508)で呼ばれて、属性の解釈処理を行う。   The attribute decoding unit 155 is called at step (508) shown in FIG. 5 for the packet determining unit 153, and performs attribute interpretation processing.

図6は、本発明に係る印刷装置における第2のデータ処理手順の一例を示すフローチャートであり、図1に示した属性復号部155のデータ処理手順に対応する。なお、(601)〜(610)は各ステップを示す。   FIG. 6 is a flowchart showing an example of a second data processing procedure in the printing apparatus according to the present invention, and corresponds to the data processing procedure of the attribute decryption unit 155 shown in FIG. In addition, (601)-(610) shows each step.

先ず、ステップ(609)において、SecureFlagがYesに設定されているか否かをチェックする。なお、SecureFlagがYesに設定されていると判断した場合は、当該ジョブがセキュアジョブであることを示す。   First, in Step (609), it is checked whether or not SecureFlag is set to Yes. When it is determined that SecureFlag is set to Yes, it indicates that the job is a secure job.

ここで、セキュアジョブでないと判断した場合は、ステップ(610)で属性値を属性DBに記録して処理を終了する。   If it is determined that the job is not a secure job, the attribute value is recorded in the attribute DB in step (610), and the process is terminated.

一方、ステップ(609)で、SecureFlagがYesに設定されていると判断した場合は、ステップ(601)で属性IDを調査し、暗号化属性の属性IDと一致するかどうかを判断して、暗号化属性の属性IDであると判断した場合は、当該属性は平文で送信されるため特殊パスに入り、ステップ(602)において属性復号鍵をデバイス公開鍵管理部161に保存されているデバイス公開鍵で公開鍵暗号方式で復号化する。   On the other hand, if it is determined in step (609) that SecureFlag is set to Yes, the attribute ID is checked in step (601) to determine whether it matches the attribute ID of the encrypted attribute. If the attribute ID is determined to be the attribute ID of the generalized attribute, the attribute is transmitted in plain text, so a special path is entered, and the attribute public key stored in the device public key management unit 161 in step (602) Decrypt with public key cryptography.

さらに、デバイス公開鍵が一致していないと正しい復号化処理が行えないため、ステップ(603)で、そのチェックのためにハッシュ処理を行う。これはホストコンピュータ100で行われるハッシュ処理と同じアルゴリズムによって行われる。   Further, since correct decryption processing cannot be performed if the device public keys do not match, hash processing is performed for the check in step (603). This is performed by the same algorithm as the hash processing performed by the host computer 100.

次に、ステップ(604)において、ハッシュ結果と暗号化属性に添付された属性復号鍵(乱数A)のハッシュ値402と一致するかどうかを判断して、ハッシュが一致すると判断した場合には、ステップ(605)において、属性復号鍵が属性DBに登録され、本処理を終了する。これにより、属性復号化の鍵として利用可能である。   Next, in step (604), it is determined whether or not the hash result matches the hash value 402 of the attribute decryption key (random number A) attached to the encrypted attribute. In step (605), the attribute decryption key is registered in the attribute DB, and this process ends. Thereby, it can be used as a key for attribute decryption.

一方、ステップ(604)で、ハッシュが一致しないと判断した場合には、ステップ(606)において、当該セキュアジョブは本機で受信可能ではないとして、キャンセルを行って、本処理を終了する。   On the other hand, if it is determined in step (604) that the hashes do not match, in step (606), the secure job is not receivable by the apparatus, and the process is terminated.

このことからセキュアジョブはターゲットとなる印刷装置が一致しないと印刷できないことになる。   For this reason, the secure job cannot be printed unless the target printing apparatuses match.

一方、ステップ(601)において、暗号化属性でないと判断した場合には、ステップ(607)において、属性データを属性復号鍵で共通鍵方式で復号化する。なお、属性復号鍵はステップ(605)で設定されるため、属性の設定順番としては、最初に暗号化属性であることが求められる。復号処理が完了したら、ステップ(608)において、共通鍵方式で復号化した属性値を属性DBに記録する。この情報は後にセキュアジョブのモニタリングやトランスレート処理に使用されることになる。   On the other hand, if it is determined in step (601) that the attribute is not an encryption attribute, in step (607), the attribute data is decrypted by the common key method using the attribute decryption key. Since the attribute decryption key is set in step (605), the attribute setting order is first determined to be the encrypted attribute. When the decryption process is completed, in step (608), the attribute value decrypted by the common key method is recorded in the attribute DB. This information will later be used for secure job monitoring and translation processing.

次に、ホールド解除処理について説明する。   Next, the hold release process will be described.

プリンタ150において、セキュアジョブがPDLスプール部154に格納された時点で、ユーザからのホールド解除待ちを行う。   In the printer 150, when the secure job is stored in the PDL spool unit 154, the printer 150 waits for a hold release from the user.

図7は、本発明に係る印刷装置における第3のデータ処理手順の一例を示すフローチャートであり、図1に示したPDLデータ復号部157のデータ復号処理手順に対応する。なお、(701)〜(708)は各ステップを示す。   FIG. 7 is a flowchart showing an example of a third data processing procedure in the printing apparatus according to the present invention, and corresponds to the data decoding processing procedure of the PDL data decoding unit 157 shown in FIG. In addition, (701)-(708) show each step.

また、本処理は、PDLデータ復号部は印刷装置150の起動とともに起動し、以降電源遮断まで処理を継続するものとする。   In this process, the PDL data decoding unit is activated when the printing apparatus 150 is activated, and continues thereafter until the power is turned off.

先ず、ステップ(701)において、操作パネル上に表示されるUIを介して、ユーザに印刷したいセキュアジョブの選択を行わせる。ここで、いずれかのジョブが選択されると、ステップ(702)において、例えばスマートカードをカードリーダ部158に挿入することを操作パネル上の表示によりユーザに催促指示する。   First, in step (701), the user selects a secure job to be printed via the UI displayed on the operation panel. Here, when any job is selected, in step (702), for example, the user is prompted to insert a smart card into the card reader unit 158 by displaying on the operation panel.

次に、ステップ(703)において、上記スマートカードがプリンタ150に挿入されたとプリンタCPUにより判断されると、ステップ(704)において、スマートカードに復号鍵の公開鍵方式による復号を依頼する。スマートカードから復号鍵、すなわち乱数Bの候補を取得すると、ステップ(705)においてハッシュ処理を行う。これはホストコンピュータ100で行われるハッシュ処理と同じアルゴリズムによって行われる。   Next, when the printer CPU determines in step (703) that the smart card has been inserted into the printer 150, in step (704), the smart card is requested to decrypt the decryption key using the public key method. When a decryption key, that is, a candidate for random number B is acquired from the smart card, hash processing is performed in step (705). This is performed by the same algorithm as the hash processing performed by the host computer 100.

次に、ステップ(706)において、ハッシュ結果を暗号化属性の中のPDLデータ復号鍵(乱数B)のハッシュ値404と比較し、両値が一致したかどうかを判断して、乱数Bの候補と暗号化属性の中のPDLデータ復号鍵に対応する乱数Bと一致したと判断した場合は、ステップ(707)において、復号鍵(=乱数B)を用いてPDLデータ部分の復号処理を行い、結果を描画部159に渡して描画、描画結果をプリンタエンジン160に渡し、既知の電子写真技術やインクジェット技術によって実際の用紙に印刷を行い、ステップ(701)に戻る。   Next, in step (706), the hash result is compared with the hash value 404 of the PDL data decryption key (random number B) in the encryption attribute, and it is determined whether or not both values match. And the random number B corresponding to the PDL data decryption key in the encryption attribute, in step (707), the decryption key (= random number B) is used to decrypt the PDL data portion, The result is passed to the rendering unit 159 for rendering, the rendering result is handed to the printer engine 160, and printing is performed on an actual sheet by a known electrophotographic technique or inkjet technique, and the process returns to step (701).

一方、ステップ(706)で、一致しないと判断した場合は、ステップ(708)で、復号不可の表示を操作パネル部に行い、ステップ(701)に戻る。   On the other hand, if it is determined in step (706) that they do not match, in step (708), a display indicating that decoding is impossible is performed on the operation panel unit, and the process returns to step (701).

これにより、セキュアジョブはユーザからホールド解除されるまで保管される印刷ジョブである。あるいは一定時間経過後に不図示の従来技術である破棄処理によって破棄が行われる。   Thus, the secure job is a print job that is stored until the hold is released from the user. Alternatively, the destruction is performed by a discarding process, which is a conventional technique (not shown) after a predetermined time has elapsed.

本実施形態によれば、セキュアジョブは暗号化属性以外の属性情報、PDLデータ部分ともに配送経路では2種類の鍵を使って暗号化されるため、PDLデータ部分に含まれる機密情報もセキュアジョブに付加された属性も暗号化されるため、通信経路の盗聴に対してセキュアジョブの情報を漏らさず送信可能である。   According to the present embodiment, since the secure job is encrypted with the attribute information other than the encrypted attribute and the PDL data part using two types of keys in the delivery route, the confidential information included in the PDL data part is also included in the secure job. Since the added attribute is also encrypted, the secure job information can be transmitted without eavesdropping on eavesdropping on the communication path.

また、保管されて状態においては、属性DBに属性情報を保持し、よって属性情報は印刷装置に入ってからは平文で格納され、必要な属性値を公開することによりセキュアジョブのモニタリングや追跡が可能である。一方、PDLデータ部分は乱数Bによって共通鍵方式で暗号化され、共通鍵を復号するための公開鍵方式の秘密鍵はユーザ毎に配布されるスマートカードに保持され、印刷装置には復号を行う手がかりは存在しない。喩え印刷装置から2次記憶装置を抜き出したとしても、属性情報は揮発性のRAMから構成される属性DBに格納されており、2次記憶装置に入っていないので解析および改竄することは非常に困難である。   Also, in the stored state, the attribute information is held in the attribute DB, so that the attribute information is stored in plain text after entering the printing apparatus, and secure job monitoring and tracking can be performed by disclosing necessary attribute values. Is possible. On the other hand, the PDL data portion is encrypted by a common key method using a random number B, a public key private key for decrypting the common key is held in a smart card distributed to each user, and is decrypted by the printing apparatus. There is no clue. Even if the secondary storage device is extracted from the metaphor printing device, the attribute information is stored in the attribute DB composed of the volatile RAM and is not stored in the secondary storage device. Have difficulty.

さらに、PDLデータ部分は共通鍵方式で暗号化されており、共通鍵を公開鍵方式によって復号する鍵が印刷装置に保持されていないため、セキュアジョブの解析は非常に困難であり、攻撃者からの高度な攻撃に対してもセキュアジョブ含まれている機密情報の保護が可能である。   Furthermore, since the PDL data part is encrypted by the common key method, and the key for decrypting the common key by the public key method is not held in the printing apparatus, it is very difficult to analyze the secure job. It is possible to protect confidential information included in secure jobs even against advanced attacks.

〔第2実施形態〕
上記第1実施形態によれば、ジョブスクリプトのPDLデータ部分と属性部分はそれぞれ暗号化されるが、オペレーションコードを解釈するためにジョブパケットの構造は暗号化処理によって隠蔽化されていない。
[Second Embodiment]
According to the first embodiment, the PDL data part and the attribute part of the job script are each encrypted, but the structure of the job packet is not concealed by the encryption process in order to interpret the operation code.

言い換えると、いくつかのジョブパケットがあり、それぞれいくつの属性設定命令やPDLデータ送信命令があるか特定可能な状態でパケットがネットワーク上を転送されることとなる。   In other words, there are several job packets, and the packets are transferred on the network in a state where it is possible to specify how many attribute setting commands and PDL data transmission commands are present.

この場合、ある程度ジョブパケットの平文を想定して暗号化した情報を類推することが可能であり、比較的機能強度が弱くなる恐れがある。   In this case, it is possible to analogize the encrypted information by assuming the plain text of the job packet to some extent, and there is a risk that the function strength is relatively weak.

そこで、第2実施形態として平文の属性部分と、暗号化されたPDLデータ部分をまとめて印刷装置の共通暗号方式の鍵によって暗号化する方式について説明する。説明は上述した第1実施形態の構成を踏襲するものとし、差分部分についてのみ詳細を述べる。   Therefore, as a second embodiment, a method of encrypting a plaintext attribute portion and an encrypted PDL data portion together with a common encryption method key of the printing apparatus will be described. The description follows the configuration of the first embodiment described above, and only the differences are described in detail.

図8は、本発明に係る印刷システムにおける第2のジョブスクリプトが暗号化される仕組みを説明するための模式図であり、図3に示したジョブスクリプトの構造を改良したセキュアプリントのジョブスクリプトの構造に対応する。   FIG. 8 is a schematic diagram for explaining a mechanism in which the second job script is encrypted in the printing system according to the present invention. The secure print job script improved in the structure of the job script shown in FIG. Corresponds to the structure.

図8の(a)はドライバ部102が生成した通常の印刷ジョブのジョブスクリプトを示しており、図3の(a)と同等である。図8の(b)はセキュアジョブ生成部103がPDLデータ部分だけを暗号化し、ユーザの暗号化属性を添付したジョブスクリプトの中間イメージである。   FIG. 8A shows a job script of a normal print job generated by the driver unit 102, which is equivalent to FIG. FIG. 8B is an intermediate image of a job script in which the secure job generation unit 103 encrypts only the PDL data portion and is attached with the encryption attribute of the user.

ここでのPDLデータ部分は、第1実施形態と同等で、乱数Bを用いた共通鍵暗号方式による暗号化を行った結果が添付される(網掛け部分)。一方、属性部分は平文のまま添付される。   The PDL data part here is equivalent to the first embodiment, and the result of encryption by the common key cryptosystem using the random number B is attached (shaded part). On the other hand, the attribute part is attached in plain text.

図8の(c)はセキュアジョブ生成部103が生成するジョブスクリプトであり、網掛けの部分すなわちデバイス暗号データは、図8の(b)のジョブスクリプト全てを乱数Aで共通鍵暗号化されたものである。ここではジョブパケットのデータ部だけではなく、パケットヘッダも含めてすべてを暗号化される。   FIG. 8C shows a job script generated by the secure job generation unit 103, and the shaded portion, that is, the device encryption data, is obtained by encrypting the job script shown in FIG. Is. Here, not only the data portion of the job packet but also the entire packet header is encrypted.

言い換えると、図8の(b)に示すジョブスクリプトを1つのデータストリームと見なし、その全てを暗号化しているということができる。PDLデータ部分はすでに暗号鍵Bによって一度暗号化されており、ここでは2重に暗号化さることになる。また、ジョブスクリプトには、暗号化の方法を識別するために先頭にデバイス暗号命令と、暗号化の情報を示すデバイス鍵暗号化属性設定の2つのジョブパケットが付加されている。この二つは平文で添付される。   In other words, it can be said that the job script shown in FIG. 8B is regarded as one data stream, and all of them are encrypted. The PDL data portion has already been encrypted once with the encryption key B, and here it is encrypted twice. In addition, in order to identify the encryption method, two job packets of a device encryption command and a device key encryption attribute setting indicating encryption information are added to the job script. The two are attached in clear text.

図9は、図8に示したユーザ鍵暗号化属性のうち、ジョブパケットのヘッダ部分を省略したデータ部を記述を説明する図である。   FIG. 9 is a diagram illustrating the description of the data part in which the header part of the job packet is omitted from the user key encryption attribute shown in FIG.

図9において、901は属性の役割を示す属性IDで、指定属性がユーザ鍵暗号化属性であることを示す。902はユーザがスマートカードなどの鍵メディアに所有する公開鍵で暗号化されたPDLデータ復号鍵(乱数B)を示し、これは図4に示したPDLデータ復号鍵403に相当する。   In FIG. 9, reference numeral 901 denotes an attribute ID indicating the role of the attribute, and indicates that the designated attribute is a user key encryption attribute. Reference numeral 902 denotes a PDL data decryption key (random number B) encrypted with a public key owned by a user in a key medium such as a smart card, which corresponds to the PDL data decryption key 403 shown in FIG.

903はPDLデータ復号鍵(乱数B)のハッシュ値を示し、これは図4に示したPDLデータ復号鍵のハッシュ404に相当する。PDLデータ部分は乱数Bを用いて共通鍵暗号方式によって暗号化され、ジョブパケットとして添付される(図の網掛け部分)。一方、属性部分はこの段階では平文のままである。   Reference numeral 903 denotes a hash value of the PDL data decryption key (random number B), which corresponds to the hash 404 of the PDL data decryption key shown in FIG. The PDL data portion is encrypted by a common key encryption method using a random number B and attached as a job packet (shaded portion in the figure). On the other hand, the attribute part remains plain at this stage.

なお、図8の(b)に示したジョブスクリプトは内部的に一時的に生成されるジョブスクリプトであり、実際に通信経路上には流れることはない。   Note that the job script shown in FIG. 8B is a job script that is temporarily generated internally, and does not actually flow on the communication path.

図10は、図8に示したデバイス鍵暗号化属性のうち、ジョブパケットのヘッダ部分を省略したデータ部分を記述を説明する図である。   FIG. 10 is a diagram for explaining the description of the data part in which the header part of the job packet is omitted from the device key encryption attribute shown in FIG.

図10において、1001は属性の役割を示す属性IDで、指定属性がデバイス鍵暗号化属性であることを示す。1002はデバイス公開鍵で暗号化されたジョブスクリプト復号鍵(乱数A)を示し、これは図4に示すデバイス公開鍵で暗号化された属性復号鍵401に相当する。1003はジョブスクリプト復号鍵(乱数A)のハッシュ値を示し、これは図4に示したPDLデータ復号鍵のハッシュ値404に相当する。   In FIG. 10, reference numeral 1001 denotes an attribute ID indicating the role of the attribute, and indicates that the designated attribute is a device key encryption attribute. Reference numeral 1002 denotes a job script decryption key (random number A) encrypted with the device public key, which corresponds to the attribute decryption key 401 encrypted with the device public key shown in FIG. Reference numeral 1003 denotes a hash value of the job script decryption key (random number A), which corresponds to the hash value 404 of the PDL data decryption key shown in FIG.

そして、本実施形態では、上記のジョブスクリプトを処理するために、印刷システムの構成を変更する。   In this embodiment, the configuration of the printing system is changed to process the job script.

図11は、本発明の第2実施形態を示すデータ処理装置(ホストコンピュータ)および印刷装置を含む印刷システムの構成を示すブロック図である。   FIG. 11 is a block diagram showing a configuration of a printing system including a data processing apparatus (host computer) and a printing apparatus according to the second embodiment of the present invention.

図11において、印刷システムは印刷ジョブを生成し、印刷装置におくるホストコンピュータ1100と、前記印刷ジョブを受信し、電子写真やインクジェットなどの既知の印刷技術により実際の用紙に印刷を行う印刷装置1150と、ホストコンピュータ1100と印刷装置1150を接続するための既知のインタフェース技術を利用したインタフェース手段1170から構成される。インタフェース手段1170はUSB(Universal Serial Bus)やIEEE1284準拠のローカルインタフェースやEther−Net(登録商標)やToken−Ringのような有線LANのインタフェース、あるいはIEEE802.11b,Bluetooth(登録商標)のような無線LANのインタフェースであっても構わず、途中経路にルータやスイッチングハブ、あるいはインターネットを介していてもよい。   In FIG. 11, the printing system generates a print job, receives the print job from a host computer 1100 that comes to the printing apparatus, and prints on an actual sheet by a known printing technique such as electrophotography or inkjet. And interface means 1170 using a known interface technology for connecting the host computer 1100 and the printing apparatus 1150. The interface unit 1170 is a USB (Universal Serial Bus) or IEEE1284 compliant local interface, a wired LAN interface such as Ether-Net (registered trademark) or Token-Ring, or a wireless device such as IEEE802.11b or Bluetooth (registered trademark). It may be a LAN interface, or may be routed via a router, a switching hub, or the Internet.

ホストコンピュータ1100はアプリケーション部1101によってGUIを駆使してユーザが所望する画像データの生成を行う。ドライバ部1102は、ホストコンピュータ独自の画像形式から印刷装置1150で解釈可能な印刷ジョブへの変換作業を行う。セキュアジョブ生成部1103はドライバ部1102で生成された印刷ジョブを受け取り、所有者しか解析できないセキュアジョブ(印刷ジョブをセキュリティ対応したもの)への変換作業を行う。この作業は、図8の(a)〜(c)を生成する作業である。   The host computer 1100 uses the GUI by the application unit 1101 to generate image data desired by the user. The driver unit 1102 performs conversion work from an image format unique to the host computer into a print job that can be interpreted by the printing apparatus 1150. The secure job generation unit 1103 receives the print job generated by the driver unit 1102 and converts it into a secure job (a print job corresponding to security) that can be analyzed only by the owner. This operation is an operation for generating (a) to (c) of FIG.

そして、生成されたセキュアジョブは既存のスプール部1104に格納され、I/F1105を介して印刷装置1150に送られる。セキュアジョブ生成時に必要となるユーザが持つ公開鍵は、印刷処理の前段階でスマートカードなどの公開鍵を電気的に保持し、提供するメディアに保持され、既存のカードリーダ部1108によって読み取られ、ユーザ公開鍵記憶部1109によって保管され、セキュアジョブ生成部1103に提供される。   The generated secure job is stored in the existing spool unit 1104 and sent to the printing apparatus 1150 via the I / F 1105. The public key possessed by the user that is required when generating the secure job is electrically held in a public key such as a smart card in the previous stage of the printing process, held in the provided medium, read by the existing card reader unit 1108, It is stored by the user public key storage unit 1109 and provided to the secure job generation unit 1103.

一方、セキュアジョブ生成時に必要となる印刷装置が持つ公開鍵はインタフェース手段1170を介して印刷装置1150から供給され、デバイス公開鍵受信部1106を介してデバイス公開鍵記憶部1107に保管され、セキュアジョブ生成部1103に提供される。セキュアジョブはI/F1151を介して印刷装置1150に投入される。   On the other hand, the public key possessed by the printing apparatus required when generating the secure job is supplied from the printing apparatus 1150 via the interface unit 1170 and is stored in the device public key storage unit 1107 via the device public key receiving unit 1106, so that the secure job Provided to the generation unit 1103. The secure job is input to the printing apparatus 1150 via the I / F 1151.

1155はジョブスクリプト復号部で、I/F1151に投入されたセキュアジョブを印刷装置の持つ秘密鍵情報を使って公開鍵方式で復号化する。この段階ではジョブスクリプトは図8の(c)から図8の(b)に変換され後段に渡す。このとき属性部分は平文になる。   A job script decrypting unit 1155 decrypts the secure job input to the I / F 1151 using the public key method using the secret key information of the printing apparatus. At this stage, the job script is converted from (c) of FIG. 8 to (b) of FIG. At this time, the attribute part becomes plain text.

パケット判断部1153は受信したジョブスクリプトの個々のジョブパケットを調査し、属性設定命令に関してはデータ部に含まれている属性部分を属性DB1156、PDLデータ送信命令に関してはPDLスプール部1154に送る。この時、PDLデータ部分は図8の(b)の状態で示してあるように乱数Bで暗号化されている状態である。   The packet determination unit 1153 examines each job packet of the received job script, and sends the attribute part included in the data part to the attribute DB 1156 with respect to the attribute setting command and the PDL spool unit 1154 with respect to the PDL data transmission command. At this time, the PDL data portion is encrypted with the random number B as shown in the state of FIG.

また、セキュアジョブの送信に先立って、ホストコンピュータ1100はデバイス公開鍵受信部1106は印刷装置1150に対して印刷装置の公開鍵の要求を行うと、その要求に応じて印刷装置1150の内部にあるデバイス公開鍵管理部から印刷装置1150に固有の公開鍵をデバイス公開鍵送信部1162,インタフェース部1710を介してホストコンピュータ1100へ提供を行っている。   Prior to the transmission of the secure job, when the device public key receiving unit 1106 requests the printing apparatus 1150 for the public key of the printing apparatus prior to transmission of the secure job, the host computer 1100 is in the printing apparatus 1150 in response to the request. A public key unique to the printing apparatus 1150 is provided from the device public key management unit to the host computer 1100 via the device public key transmission unit 1162 and the interface unit 1710.

属性DB1156は揮発性メモリであるRAMで構成され、描画処理に関するコピー数や、カラー情報などの情報を一時的に保持し、描画部1159に提供する一方、不図示の操作パネルからの表示要求に合わせてUI部1163へセキュアジョブの属性情報の提供を行う。   The attribute DB 1156 is composed of a RAM, which is a volatile memory, and temporarily stores information such as the number of copies related to drawing processing and color information, and provides the drawing unit 1159 with a display request from an operation panel (not shown). At the same time, the attribute information of the secure job is provided to the UI unit 1163.

さて、セキュアジョブは印刷装置1150内に入るとホールド(解除待ち)状態となり、処理が停止する。ユーザはカードリーダ部1158に、PDLデータ暗号化に使用したものと同じスマートカードなどの公開鍵を提供するメディア(所定のデバイスとして機能する)が挿入されると、後述の手順によってPDLデータ部分を復号化する復号鍵情報が提供され、その鍵情報を使ってPDLデータ復号部1157は暗号化されたPDLデータ部分の公開鍵方式による復号化を行い、PDLデータ部分が描画部1159に渡され、印刷データの描画処理が行われ、描画されたイメージデータは電子写真やインクジェット技術などの既知の印刷技術を使うプリンタエンジン部160において実際の用紙に印刷される。   When the secure job enters the printing apparatus 1150, the secure job enters a hold (waiting for release) state, and the process stops. When a user provides a public key such as a smart card used for PDL data encryption (which functions as a predetermined device) to the card reader unit 1158, the user reads the PDL data portion by a procedure described later. Decryption key information to be decrypted is provided, and using the key information, the PDL data decryption unit 1157 decrypts the encrypted PDL data part by the public key method, and the PDL data part is passed to the drawing unit 1159, The print data drawing process is performed, and the drawn image data is printed on an actual sheet in the printer engine unit 160 using a known printing technique such as electrophotography or an inkjet technique.

これにより、セキュアジョブはユーザからホールド解除されるまで保管される印刷ジョブとなる。なお、保管される印刷ジョブは、一定時間経過後に不図示の従来技術である破棄処理によって破棄処理が行われる。   As a result, the secure job becomes a print job stored until the hold is released from the user. Note that the stored print job is subjected to a discard process by a discard process, which is a conventional technique (not shown) after a predetermined time has elapsed.

上記第2実施形態によれば、セキュアジョブは暗号化属性以外の属性情報、PDLデータ部分ともに配送経路では2種類の鍵情報を使って暗号化されるため、PDLデータ部分に含まれる機密情報もセキュアジョブに付加された属性も暗号化されるため、通信経路の盗聴に対してセキュアジョブの情報を漏らさず送信可能である。   According to the second embodiment, since the secure job is encrypted using the two types of key information in the delivery route, both the attribute information other than the encrypted attribute and the PDL data portion are confidential information included in the PDL data portion. Since the attribute added to the secure job is also encrypted, the secure job information can be transmitted without eavesdropping on wiretapping of the communication path.

さらに、第1実施形態と比較して、セキュアジョブのジョブスクリプトそのものが完全に暗号化されることによって、通信経路上ではジョブスクリプトの構成さえも判断できないため、さらにセキュリティ強度が向上されている。   Furthermore, as compared with the first embodiment, since the job script itself of the secure job is completely encrypted, even the configuration of the job script cannot be determined on the communication path, so that the security strength is further improved.

また、保管されて状態においては、属性DBに属性情報を保持し、よって属性情報は印刷装置に入ってからは平文で格納され、必要な属性値を公開することによりセキュアジョブのモニタリングや追跡が可能である。   Also, in the stored state, the attribute information is held in the attribute DB, so that the attribute information is stored in plain text after entering the printing apparatus, and secure job monitoring and tracking can be performed by disclosing necessary attribute values. Is possible.

一方、PDLデータ部分は乱数Bによって共通鍵方式で暗号化され、共通鍵を復号するための公開鍵方式の秘密鍵はユーザ毎に配布されるスマートカードに保持され、印刷装置には復号を行う手がかりは存在しない。喩え印刷装置から2次記憶装置を抜き出したとしても、属性情報はRAMから構成される属性DBに格納されており、2次記憶装置に入っていないので解析および改ざんすることは非常に困難である。   On the other hand, the PDL data portion is encrypted by a common key method using a random number B, a public key private key for decrypting the common key is held in a smart card distributed to each user, and is decrypted by the printing apparatus. There is no clue. Even if the secondary storage device is extracted from the metaphor printing device, the attribute information is stored in the attribute DB composed of the RAM and is not stored in the secondary storage device, so it is very difficult to analyze and tamper. .

さらに、PDLデータ部分は共通鍵方式で暗号化されており、共通鍵を復号する鍵が印刷装置に保持されていないため、セキュアジョブの解析は非常に困難であり、攻撃者からの高度な攻撃に対してもセキュアジョブに含まれている機密情報の保護が可能である。   Furthermore, since the PDL data part is encrypted by the common key method and the key for decrypting the common key is not held in the printing apparatus, it is very difficult to analyze a secure job, and an advanced attack from an attacker. The confidential information included in the secure job can be protected.

〔第3実施形態〕
上記第1或いは第2実施形態に示した構成において、暗号化の前段にLZW方式に代表される可逆圧縮方式による圧縮処理と、復号処理の後段による伸張処理を適応することが可能である。
[Third Embodiment]
In the configuration shown in the first or second embodiment, it is possible to apply compression processing by a lossless compression method typified by the LZW method and decompression processing at the latter stage of the decryption process before encryption.

これにより、圧縮処理によって暗号化対象となるデータサイズが小さくなる可能性が高いため、暗号化処理の負荷を軽くする効果がある。   As a result, there is a high possibility that the data size to be encrypted will be reduced by the compression process, so that there is an effect of reducing the load of the encryption process.

また、セキュアジョブのサイズが小さくなるため、比較的遅い通信経路においてはパフォーマンスを向上させることができる。   Further, since the size of the secure job is reduced, the performance can be improved in a relatively slow communication path.

さらに、圧縮処理によって暗号化前のデータの冗長性を取り除くことができるため、暗号の解読がより困難になるという効果もある。   Furthermore, since the redundancy of the data before encryption can be removed by the compression process, there is an effect that the decryption of the encryption becomes more difficult.

以下、図12に示すメモリマップを参照して本発明に係る印刷システムで読み取り可能なデータ処理プログラムの構成について説明する。   The configuration of the data processing program that can be read by the printing system according to the present invention will be described below with reference to the memory map shown in FIG.

図12は、本発明に係る印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。   FIG. 12 is a diagram illustrating a memory map of a storage medium that stores various data processing programs readable by the printing system according to the present invention.

なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。   Although not particularly illustrated, information for managing a program group stored in the storage medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.

さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。   Further, data depending on various programs is also managed in the directory. In addition, a program for installing various programs in a computer, and a program for decompressing when the program to be installed is compressed may be stored.

本実施形態における図5〜図7に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。   The functions shown in FIGS. 5 to 7 in the present embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Is.

以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。   As described above, a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium in the storage medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the programmed program code.

この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。   In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.

従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。   Therefore, as long as it has the function of the program, the form of the program such as an object code, a program executed by an interpreter, or script data supplied to the OS is not limited.

プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。   As a storage medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD, etc. Can be used.

この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。   In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。   As another program supply method, a client computer browser is used to connect to a homepage on the Internet, and the computer program itself of the present invention or a compressed file including an automatic installation function is stored on the recording medium such as a hard disk from the homepage. It can also be supplied by downloading. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server, an ftp server, and the like that allow a plurality of users to download a program file for realizing the functional processing of the present invention on a computer are also included in the claims of the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。   The present invention is not limited to the above embodiments, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and these are excluded from the scope of the present invention. is not.

本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。   Although various examples and embodiments of the present invention have been shown and described, the spirit and scope of the present invention are not limited to the specific descriptions in the present specification by those skilled in the art.

なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。   Note that the present invention is not limited to the above-described embodiment, and it is needless to say that various modifications can be made without departing from the gist of the present invention.

本発明の第1実施形態を示すデータ処理装置(ホストコンピュータ)および印刷装置を含む印刷システムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a printing system including a data processing apparatus (host computer) and a printing apparatus according to a first embodiment of the present invention. 図1に示したホストコンピュータからプリンタに転送されるジョブパケットの構造を示す説明図である。FIG. 2 is an explanatory diagram showing a structure of a job packet transferred from the host computer shown in FIG. 1 to a printer. 本発明に係る印刷システムにおける第1のジョブスクリプトが暗号化される仕組みを説明するための模式図である。It is a schematic diagram for demonstrating the mechanism in which the 1st job script is encrypted in the printing system which concerns on this invention. 図1に示したセキュアジョブ生成部により生成される印刷ジョブの属性部分の暗号化属性の構造を示すデータ構造図である。FIG. 3 is a data structure diagram illustrating a structure of an encryption attribute of an attribute part of a print job generated by a secure job generation unit illustrated in FIG. 1. 本発明に係る印刷装置における第1のデータ処理手順の一例を示すフローチャートである。6 is a flowchart illustrating an example of a first data processing procedure in the printing apparatus according to the present invention. 本発明に係る印刷装置における第2のデータ処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 2nd data processing procedure in the printing apparatus which concerns on this invention. 本発明に係る印刷装置における第3のデータ処理手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a third data processing procedure in the printing apparatus according to the present invention. 本発明に係る印刷システムにおける第2のジョブスクリプトが暗号化される仕組みを説明するための模式図である。It is a schematic diagram for demonstrating the mechanism by which the 2nd job script in the printing system which concerns on this invention is encrypted. 図8に示したユーザ鍵暗号化属性のうち、ジョブパケットのヘッダ部分を省略したデータ部の記述を説明する図である。FIG. 9 is a diagram illustrating a description of a data part in which a header part of a job packet is omitted from the user key encryption attribute shown in FIG. 8. 図8に示したデバイス鍵暗号化属性のうち、ジョブパケットのヘッダ部分を省略したデータ部の記述を説明する図である。FIG. 9 is a diagram for describing the description of the data part in which the header part of the job packet is omitted from the device key encryption attribute shown in FIG. 8. 本発明の第2実施形態を示すデータ処理装置(ホストコンピュータ)および印刷装置を含む印刷システムの構成を示すブロック図である。It is a block diagram which shows the structure of the printing system containing the data processing apparatus (host computer) and printing apparatus which show 2nd Embodiment of this invention. 本発明に係る印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。It is a figure explaining the memory map of the storage medium which stores the various data processing program which can be read by the printing system which concerns on this invention.

符号の説明Explanation of symbols

100 ホストコンピュータ
101 アプリケーション部
102 ドライバ部
103 セキュアジョブ生成部
104 スプール部
106 デバイス公開鍵受信部
107 デバイス公開鍵記憶部
108 カードリーダ部
109 ユーザ公開鍵記憶部
150 プリンタ
153 パケット判断部
154 PDLスプール部
155 属性復号部
156 属性DB
157 PDLデータ復号部
161 デバイス公開鍵管理部
162 デバイス公開鍵送信部
DESCRIPTION OF SYMBOLS 100 Host computer 101 Application part 102 Driver part 103 Secure job generation part 104 Spool part 106 Device public key reception part 107 Device public key storage part 108 Card reader part 109 User public key storage part 150 Printer 153 Packet judgment part 154 PDL spool part 155 Attribute decryption unit 156 Attribute DB
157 PDL data decryption unit 161 device public key management unit 162 device public key transmission unit

Claims (10)

情報処理装置のプリンタドライバにより生成される印刷ジョブを受信処理可能な印刷装置であって、
受信する印刷ジョブの個々の属性情報を管理する属性データベース手段と、
前記印刷ジョブのPDLデータ部分を一時的に記憶するPDL記憶手段と、
前記印刷ジョブを受信し、当該印刷ジョブに含まれる属性部分を第1の復号鍵情報に基づいて復号し、当該復号により取り出された属性部分を前記属性データベース手段に登録し、さらに、当該印刷ジョブに含まれる前記PDLデータ部分を暗号化したまま前記PDL記憶手段に記憶する印刷ジョブ解釈手段と、
ユーザ操作によって前記PDL記憶手段に記憶された印刷ジョブから選択された印刷ジョブの印刷指示を行う印刷指示手段と、
前記印刷指示手段によって印刷指示された印刷ジョブの暗号化されているPDLデータを第2の復号鍵情報に基づいて復号化するPDLデータ復号化手段と、
を有することを特徴とする印刷装置。
A printing apparatus capable of receiving and processing a print job generated by a printer driver of an information processing apparatus,
Attribute database means for managing individual attribute information of the received print job;
PDL storage means for temporarily storing the PDL data portion of the print job;
The print job is received, the attribute part included in the print job is decrypted based on the first decryption key information, the attribute part extracted by the decryption is registered in the attribute database means, and the print job A print job interpreting means for storing the PDL data part included in the PDL storage means in an encrypted state;
A print instruction means for giving a print instruction for a print job selected from print jobs stored in the PDL storage means by a user operation;
PDL data decrypting means for decrypting encrypted PDL data of a print job instructed to be printed by the print instructing means based on second decryption key information;
A printing apparatus comprising:
印刷装置が所有する秘密鍵情報と公開鍵情報とを鍵ペア情報として管理する公開鍵管理手段と、
前記公開鍵管理手段によって管理された鍵ペア情報のうち、前記公開鍵情報を前記情報処理装置に通知する公開鍵通知手段とを有することを特徴とする請求項1記載の印刷装置。
Public key management means for managing private key information and public key information owned by the printing apparatus as key pair information;
The printing apparatus according to claim 1, further comprising: a public key notifying unit that notifies the information processing apparatus of the public key information out of the key pair information managed by the public key managing unit.
前記印刷ジョブ解釈手段は、属性部分の復号化の際に、復号化対象となるデータに対して復号化の後段で、可逆圧縮方式による伸張処理を行うことを特徴とする請求項1又は2に記載の印刷装置。   3. The print job interpreting means, when decrypting an attribute part, performs a decompression process by a lossless compression method on the data to be decrypted after the decryption. The printing apparatus as described. 前記PDLデータ復号化手段は、PDLデータ部分の復号化の際に、復号化対象となるデータに対して復号化の後段で、可逆圧縮方式による伸張処理を行うことを特徴とする請求項1乃至3のいずれか1項に記載の印刷装置。   2. The PDL data decoding unit according to claim 1, wherein the PDL data decoding unit performs a decompression process by a lossless compression method on the data to be decoded after the decoding, when decoding the PDL data portion. 4. The printing apparatus according to any one of items 3. 受信する印刷ジョブの個々の属性情報を管理する属性データベース手段を備え、情報処理装置のプリンタドライバにより生成される印刷ジョブを受信処理可能な印刷装置におけるデータ処理方法であって、
前記印刷ジョブのPDLデータ部分を一時的にPDL記憶手段に記憶するPDL記憶ステップと、
前記印刷ジョブを受信し、当該印刷ジョブに含まれる属性部分を第1の復号鍵情報に基づいて復号し、当該復号により取り出された属性部分を前記属性データベース手段に登録し、さらに、当該印刷ジョブに含まれる前記PDLデータ部分を暗号化したまま前記PDL記憶手段に記憶する印刷ジョブ解釈ステップと、
ユーザ操作によって前記PDL記憶手段に記憶された印刷ジョブから選択された印刷ジョブの印刷指示を行う印刷指示ステップと、
前記印刷指示ステップによって印刷指示された印刷ジョブの暗号化されているPDLデータを第2の復号鍵情報に基づいて復号化するPDLデータ復号化ステップと、
を有することを特徴とするデータ処理方法。
A data processing method in a printing apparatus comprising attribute database means for managing individual attribute information of a print job to be received and capable of receiving and processing a print job generated by a printer driver of the information processing apparatus,
A PDL storage step of temporarily storing a PDL data portion of the print job in a PDL storage means;
The print job is received, the attribute part included in the print job is decrypted based on the first decryption key information, the attribute part extracted by the decryption is registered in the attribute database means, and the print job A print job interpretation step of storing the PDL data portion included in the PDL storage means in an encrypted state;
A print instruction step for giving a print instruction for a print job selected from print jobs stored in the PDL storage means by a user operation;
A PDL data decrypting step of decrypting the encrypted PDL data of the print job instructed by the print instructing step based on second decryption key information;
A data processing method characterized by comprising:
印刷装置が所有する秘密鍵情報と公開鍵情報とを鍵ペア情報として管理する公開鍵管理ステップと、
前記公開鍵管理ステップによって管理された鍵ペア情報のうち、前記公開鍵情報を前記情報処理装置に通知する公開鍵通知ステップとを有することを特徴とする請求項5記載のデータ処理方法。
A public key management step for managing private key information and public key information owned by the printing apparatus as key pair information;
6. The data processing method according to claim 5, further comprising: a public key notifying step of notifying the information processing apparatus of the public key information among the key pair information managed by the public key managing step.
前記印刷ジョブ解釈ステップは、属性部分の復号化の際に、復号化対象となるデータに対して復号化の後段で、可逆圧縮方式による伸張処理を行うことを特徴とする請求項5又は6に記載のデータ処理方法。   7. The print job interpretation step according to claim 5 or 6, wherein when the attribute part is decrypted, decompression processing is performed on the data to be decrypted by a lossless compression method after the decryption. The data processing method described. 前記PDLデータ復号化ステップは、PDLデータ部分の復号化の際に、復号化対象となるデータに対して復号化の後段で、可逆圧縮方式による伸張処理を行うことを特徴とする請求項5乃至7のいずれか1項に記載のデータ処理方法。   6. The PDL data decoding step according to claim 5, wherein when the PDL data portion is decoded, the data to be decoded is decompressed by a lossless compression method after the decoding. 8. The data processing method according to any one of 7 above. 請求項5乃至8のいずれか1項に記載のデータ処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。   A computer-readable storage medium storing a program for causing a computer to execute the data processing method according to any one of claims 5 to 8. 請求項5乃至8のいずれか1項に記載のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。   A program for causing a computer to execute the data processing method according to any one of claims 5 to 8.
JP2004022494A 2004-01-30 2004-01-30 Printing apparatus, data processing method, storage medium, program Expired - Fee Related JP4018645B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004022494A JP4018645B2 (en) 2004-01-30 2004-01-30 Printing apparatus, data processing method, storage medium, program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004022494A JP4018645B2 (en) 2004-01-30 2004-01-30 Printing apparatus, data processing method, storage medium, program

Publications (3)

Publication Number Publication Date
JP2005216029A JP2005216029A (en) 2005-08-11
JP2005216029A5 JP2005216029A5 (en) 2007-08-09
JP4018645B2 true JP4018645B2 (en) 2007-12-05

Family

ID=34905817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004022494A Expired - Fee Related JP4018645B2 (en) 2004-01-30 2004-01-30 Printing apparatus, data processing method, storage medium, program

Country Status (1)

Country Link
JP (1) JP4018645B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4543427B2 (en) * 2005-09-21 2010-09-15 セイコーエプソン株式会社 Authentication printing system and authentication printing method
JP5025519B2 (en) * 2008-02-12 2012-09-12 キヤノン株式会社 Information processing apparatus and printing system
JPWO2011040023A1 (en) * 2009-09-29 2013-02-21 パナソニック株式会社 Encryption device, decryption device, encryption method, decryption method, and encryption / decryption system
JP6555157B2 (en) 2016-03-08 2019-08-07 株式会社リコー Information processing system, job processing method, data storage device, and information device

Also Published As

Publication number Publication date
JP2005216029A (en) 2005-08-11

Similar Documents

Publication Publication Date Title
US8081327B2 (en) Information processing apparatus that controls transmission of print job data based on a processing designation, and control method and program therefor
US7913296B2 (en) Encrypted communication method and system
JP4235520B2 (en) Information processing apparatus, printing apparatus, print data transmission method, printing method, print data transmission program, and recording medium
KR100613156B1 (en) Data security in an information processing device
US20060269053A1 (en) Network Communication System and Communication Device
JP4973300B2 (en) Printing program and printing apparatus
US20090063860A1 (en) Printer driver that encrypts print data
US8239328B2 (en) Information processing apparatus, print control apparatus, printed control system
JP2005217905A (en) Secure communication method, terminal device, authentication service device, computer program, and computer readable recording medium
US20050197967A1 (en) Secure printing
JP2007257527A (en) Printing system and control method
JP2004287912A (en) Processing service provision device
JP4018645B2 (en) Printing apparatus, data processing method, storage medium, program
JP4442313B2 (en) Print management system, apparatus used therefor, program, and printing method
JP2004252888A (en) Security printing program, security printing system and storage medium storing security printing program
JP4789432B2 (en) Data processing apparatus, data processing apparatus control method, computer program, and storage medium
JP3885882B2 (en) Image forming apparatus and image forming system
JP2004185566A (en) Printer, print server device, print client device, print system, print server program, print client program, and recording medium
JP2008219368A (en) Image forming apparatus
JP2005258558A (en) Printing control apparatus, and printing device, method and program
JP3799298B2 (en) Image processing apparatus, control method therefor, and image processing system
JP2004062498A (en) Information processing system and file communication method
JP2005122561A (en) Application protect system
JP2006252340A (en) Print device, server device and user terminal equipment
JP2003223305A (en) Printing system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050613

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070920

R150 Certificate of patent or registration of utility model

Ref document number: 4018645

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110928

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110928

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120928

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120928

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130928

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees