JP2019071524A - Program, print control device, printer - Google Patents
Program, print control device, printer Download PDFInfo
- Publication number
- JP2019071524A JP2019071524A JP2017195976A JP2017195976A JP2019071524A JP 2019071524 A JP2019071524 A JP 2019071524A JP 2017195976 A JP2017195976 A JP 2017195976A JP 2017195976 A JP2017195976 A JP 2017195976A JP 2019071524 A JP2019071524 A JP 2019071524A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- dictionary
- execution
- unit
- name
- 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.)
- Granted
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
Description
本発明は、印刷データをラスタイメージデータに展開する印刷制御装置のプログラム、印刷制御装置、およびこれを含むプリンタに関する。 The present invention relates to a program of a print control apparatus for developing print data into raster image data, a print control apparatus, and a printer including the same.
PDL(Page Description Language)の1つであるPostScript(登録商標)には、標準オペレータの動作を定義する標準辞書があり、ユーザからPostScriptジョブを受けたインタプリタはジョブ内に記載されているオペレータに対して標準辞書を参照しながら処理を実行していく。たとえば、図12の場合、「Stroke」というオペレータの内容を標準辞書を参照することで「線を引く」と認識する。図12の場合、線とテキストを描画したページをプリント出力する、という動作が実行される。なお、PostScriptでは実行可能オブジェクトをオペレータ(最初から定義されているもの)と手続き(プログラムによって作成されるもの)に区別しているが、これらを区別しない場合はこれを、命令、と呼ぶものとする。 PostScript (registered trademark), which is one of the Page Description Language (PDL), has a standard dictionary that defines the operation of a standard operator, and the interpreter that receives the PostScript job from the user is for the operator described in the job. The process is executed while referring to the standard dictionary. For example, in the case of FIG. 12, the contents of the operator "Stroke" are recognized as "draw a line" by referring to the standard dictionary. In the case of FIG. 12, an operation of printing out the page on which the line and the text are drawn is executed. Although PostScript distinguishes an executable object into an operator (defined from the beginning) and a procedure (created by a program), when these are not distinguished, they are called instructions. .
また、PostScriptには上記標準辞書の他にユーザが動作を定義できる辞書が存在する。その1つはジョブで定義される辞書である。ジョブで定義された命令は標準辞書に定義された命令よりも優先して実行される。ジョブの辞書の定義の更新は標準辞書で定義されている命令(オペレータ)に対しても実行可能という仕様になっており、各PostScriptジョブは標準オペレータの内容を任意に変更して実行することができる。たとえば、図13の場合、ジョブの拡張辞書で「stroke」というオペレータを「点線を引く」と定義してあり、ジョブの拡張辞書は標準辞書より優先されるため、「Stroke」という標準オペレータの内容は「点線を引く」と認識される。そのため、図13の場合、点線とテキストを描画したページをプリント出力する、という動作が実行される。 In addition to PostScript, there is also a dictionary that allows the user to define the operation. One of them is a dictionary defined by a job. Instructions defined in the job are executed prior to instructions defined in the standard dictionary. It is specified that updating of the job dictionary definition can also be executed for the instructions (operators) defined in the standard dictionary, and each PostScript job can be executed by arbitrarily changing the contents of the standard operator. it can. For example, in the case of FIG. 13, the operator of "stroke" is defined as "draw a dotted line" in the extended dictionary of the job, and the extended dictionary of the job is prioritized over the standard dictionary. Is recognized as "drawing a dotted line". Therefore, in the case of FIG. 13, an operation of printing out a page on which the dotted line and the text are drawn is executed.
ジョブで定義された拡張辞書は、そのジョブを抜けた時点でリセットされ次のジョブの実行時には、各辞書は、装置起動時の状態(初期VM(仮想メモリ)と呼ばれる)に戻る。PostScriptでは、初期VMにおいても拡張辞書を定義できる。すなわち、PostScriptでは、ジョブで定義された辞書(拡張辞書)、初期VMの拡張辞書、初期VMの標準辞書、の優先順でこれら3つの辞書が参照される。 The extended dictionary defined in the job is reset when the job is left, and upon execution of the next job, each dictionary returns to the state at the device startup (referred to as an initial VM (virtual memory)). In PostScript, an extended dictionary can be defined even in the initial VM. That is, in PostScript, these three dictionaries are referred to in the order of priority of the dictionary defined in the job (extended dictionary), the extended dictionary of the initial VM, and the standard dictionary of the initial VM.
初期VMの拡張辞書の内容は、startjob命令及びexitserver命令を用いて更新を指示することができる。更新の指示を受けたプリンタのインタプリタはdefオペレータを介して拡張辞書の定義を更新する。 The contents of the extension dictionary of the initial VM can be instructed to update using a startjob instruction and an exit server instruction. The printer interpreter that has received the update instruction updates the definition of the extended dictionary via the def operator.
初期VMの変更は特定のジョブだけでなく、受信した全てのPostScriptジョブに影響を与える。そのため、悪意ある攻撃者が初期VMの拡張辞書を変更することで、標準辞書に定義されている標準オペレータの内容を意図的に変更することができてしまう、という問題がある。 Initial VM changes affect all received PostScript jobs, not just specific jobs. Therefore, there is a problem that a malicious attacker can intentionally change the contents of the standard operator defined in the standard dictionary by changing the extension dictionary of the initial VM.
たとえば、図14に示すような攻撃を受けた場合、初期VMの拡張辞書に、「showPage」は「何もしない」、と定義される。この状態で図15のようにshowPageを含むジョブを受信しても、ユーザの意に反して、ページのプリント出力は行われない。具体的には、ユーザは、点線とテキストを描画したページをプリント出力する、というジョブを意図していたにもかかわらず、プリント出力が行われなくなる。 For example, when an attack as shown in FIG. 14 is received, “showPage” is defined as “do nothing” in the extension dictionary of the initial VM. In this state, even if a job including showPage is received as shown in FIG. 15, the page is not printed out contrary to the user's will. Specifically, although the user intended the job of printing out the page on which the dotted line and the text are drawn, the printing is not performed.
各命令には名前があり、ジョブにより生成される辞書、拡張辞書、標準辞書の順で名前を検索するため、標準命令(標準オペレータ)と同じ名前の命令(手続)がstartjobにて拡張辞書に追加されると、その名前の命令に対応する処理は標準辞書より先に参照される拡張辞書で定義された内容で実行されるため、想定外の動作となる。 Each instruction has a name, and an instruction (procedure) with the same name as a standard instruction (standard operator) is added to the expanded dictionary at startjob to search the name in order of the dictionary generated by the job, the extended dictionary, and the standard dictionary. If it is added, the processing corresponding to the instruction of that name is executed with the contents defined in the extension dictionary which is referred to earlier than the standard dictionary, and thus the operation is unexpected.
想定外の動作を回避する技術として、下記特許文献1には、ページ毎に異なる印刷設定が可能な場合に、各ページの印刷処理開始前に1ページ目の印刷設定と現在のページの印刷設定を比較し、印刷設定が異なる場合には表示部に警告を表示する印刷装置が開示されている。また、下記特許文献2には、印刷条件に名前を付けてプリンタに登録しておき、その名前で印刷条件を呼び出して実行できるようにした印刷システムが開示されている。 As a technology for avoiding an unexpected operation, according to Patent Document 1 below, when different print settings are possible for each page, the print settings for the first page and the print settings for the current page before the start of print processing for each page And a printing apparatus that displays a warning on the display unit if the print settings are different. Further, Patent Document 2 below discloses a printing system in which printing conditions are given names and registered in a printer, and the printing conditions can be called out and executed using the names.
近年、プリンタや複合機のセキュリティが重要視され、認証機関においてもセキュリティに関する評価基準が追加導入され、認証条件が厳しくなってきている。こうした中、前述した標準オペレータの内容が悪意ある攻撃者によって変更されることがセキュリティ上、問題視されている。 In recent years, security of printers and multifunction devices is regarded as important, and evaluation criteria related to security have been additionally introduced even in a certification organization, and certification conditions have become severe. Under these circumstances, it is considered as a security issue that the contents of the standard operator described above are modified by a malicious attacker.
これに対して、初期VMの拡張辞書を書き換えるstartjob/exitserver命令を一律に使用不可とする(インタプリタ側で受け入れない)対応を取った場合、セキュリティ上の問題は回避されるが、今度はその命令を使用したいというユーザの利便性を損なうことになってしまう。 On the other hand, if the startjob / exitserver instruction to rewrite the initial VM's extended dictionary is uniformly disabled (not accepted by the interpreter), the security problem is avoided, but this instruction It would impair the convenience of the user to want to use
本発明は、上記の問題を解決しようとするものであり、拡張辞書の書き換えに関するユーザの利便性を損なうことなくセキュリティを確保することのできる印刷制御装置のプログラム、印刷制御装置、およびこれを含むプリンタを提供することを目的としている。 The present invention is intended to solve the above problems, and includes a print control device program, a print control device, and a print control device that can ensure security without impairing the user's convenience regarding rewriting of the extended dictionary. The purpose is to provide a printer.
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。 The subject matter of the present invention for achieving such an object resides in the inventions of the following items.
[1]情報処理装置で実行される、印刷データをラスタイメージデータに展開するプログラムであって、
印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する命令認識ステップと、
前記命令認識ステップで認識した命令の内容を実行する命令実行ステップと、
を備え、
前記命令実行ステップでは、前記命令認識ステップで認識した第1の命令の内容が、前記拡張辞書の書き換えである場合は、書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致するか否かに応じて、前記第1の命令の実行を拒否するか否かを切り替える
ことを特徴とするプログラム。
[1] A program that is executed by an information processing apparatus and develops print data into raster image data,
An instruction recognition step of referring to contents of an instruction contained in print data and referring to them in the priority order of a dictionary for each job, an extended dictionary, and a standard dictionary;
An instruction execution step of executing the contents of the instruction recognized in the instruction recognition step;
Equipped with
In the instruction execution step, when the content of the first instruction recognized in the instruction recognition step is rewriting of the extended dictionary, any instruction whose name of the instruction to be rewritten is registered in the standard dictionary And switching whether or not to refuse execution of the first instruction according to whether or not it matches the name of the program.
上記発明および下記[7]に記載の発明では、拡張辞書を書き換える第1の命令が書き換え対象とする命令の名称が標準辞書に登録されている命令と同一名称か否かに応じて、第1の命令を拒否するか否かを切り替える。 In the above invention and the invention described in the following [7], the first instruction for rewriting the extended dictionary is the same as the first instruction according to whether the name of the instruction to be rewritten is the same as the instruction registered in the standard dictionary. Switch whether or not to reject the command.
[2]前記命令実行ステップでは、前記第1の命令の内容が前記拡張辞書の書き換えであって書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致する場合は、前記第1の命令の実行を拒否する
ことを特徴とする[1]に記載のプログラム。
[2] In the instruction execution step, when the content of the first instruction is the rewriting of the extended dictionary and the name of the instruction to be rewritten matches the name of any instruction registered in the standard dictionary The program according to [1], which refuses the execution of the first instruction.
上記発明および下記[8]に記載の発明では、拡張辞書を書き換える第1の命令が書き換え対象とする命令の名称が標準辞書に登録されている命令と同一名称の場合は、第1の命令を拒否する。 In the above invention and the invention described in the following [8], when the first instruction to rewrite the extended dictionary has the same name as the instruction whose name to be rewritten is the same as the instruction registered in the standard dictionary, the first instruction is Reject
[3]前記拒否される命令の入力をプリンタの操作パネルで管理者から受け付ける入力ステップと、
前記入力ステップで受け付けた命令を実行する強制実行ステップと
をさらに有する
ことを特徴とする[1]または[2]に記載のプログラム。
[3] an input step of receiving an input of the rejected command from the administrator on the operation panel of the printer;
The program according to [1] or [2], further comprising: a forced execution step of executing an instruction received in the input step.
上記発明および下記[9]に記載の発明では、標準辞書に登録されている命令の名称と同一か否かに基づく判断で実行が拒否される命令については、プリンタの操作パネルで管理者が入力することによって実行が確保される。 In the above invention and the invention described in the following [9], the administrator inputs an instruction from the operation panel of the printer for an instruction whose execution is rejected based on the determination based on whether or not it is the same as the name of the instruction registered in the standard dictionary. Execution is secured by doing.
[4]前記命令実行ステップで実行を拒否した命令を保持する保持ステップと、
前記保持された命令の実行承認をプリンタの操作パネルで管理者から受け付ける承認受領ステップと、
前記承認受領ステップで実行承認を受けた命令を実行する第2強制実行ステップと、
をさらに有する
ことを特徴とする[1]乃至[3]のいずれか1つに記載のプログラム。
[4] a holding step for holding an instruction rejected in the instruction execution step;
An approval receiving step of receiving from the administrator on the operation panel of the printer an execution approval of the held instruction;
A second forced execution step of executing an instruction that has received execution approval in the approval reception step;
The program according to any one of [1] to [3], further comprising:
上記発明および下記[10]に記載の発明では、標準辞書に登録されている命令の名称と同一か否かに基づく判断で実行を拒否した命令については一時保持しておき、後に、プリンタの操作パネルで管理者から実行の承諾を受けた場合に実行する。 In the invention described above and the invention described in the following [10], the instruction refusing the execution based on the determination based on whether or not it is identical to the name of the instruction registered in the standard dictionary is temporarily stored, and the printer operation is performed later. Execute when the administrator accepts the execution on the panel.
[5]前記命令実行ステップでは、前記第1の命令の内容が、前記拡張辞書の書き換えであり、かつ書き換え対象の命令の名称が前記標準辞書に登録されているいずれの命令の名称とも一致しない場合であっても、前記書き換え対象の命令が過去にジョブで定義されたことのない命令の場合は、前記第1の命令の実行を拒否する
ことを特徴とする[2]に記載のプログラム。
[5] In the instruction execution step, the content of the first instruction is the rewriting of the extended dictionary, and the name of the instruction to be rewritten does not match the names of any of the instructions registered in the standard dictionary Even in this case, if the instruction to be rewritten is an instruction that has not been defined in the job in the past, the program according to [2], which refuses the execution of the first instruction.
上記発明および下記[11]に記載の発明では、拡張辞書を書き換える第1の命令が書き換え対象とする命令の名称が標準辞書に登録されている命令と同一名称の場合は第1の命令を拒否する場合において、標準辞書に登録されている命令と同一名称でない場合であっても、書き換え対象の命令が過去に定義されたことのない命令の場合は第1の命令の実行を拒否する。 In the above invention and the invention described in the following [11], the first instruction is rewritten if the first instruction to rewrite the extended dictionary has the same name as the instruction whose name to be rewritten is the same as the instruction registered in the standard dictionary. In this case, even if the instruction has not been assigned the same name as the instruction registered in the standard dictionary, execution of the first instruction is rejected if the instruction to be rewritten has not been defined in the past.
[6]前記拡張辞書を書き換える命令を有効とするか否かの設定を受け付ける設定ステップをさらに有し、
前記命令実行ステップでは、前記拡張辞書を書き換える命令を有効とする設定を前記設定ステップで受けている場合は、前記拒否を行わない
ことを特徴とする[1]乃至[5]のいずれか1つに記載のプログラム。
[6] The method further includes a setting step for receiving a setting as to whether or not to make the instruction to rewrite the extended dictionary effective.
In the instruction execution step, when the setting step receives a setting for making the instruction to rewrite the extended dictionary effective, the rejection is not performed. [1] any one of [1] to [5] The program described in.
上記発明および下記[12]に記載の発明では、設定部で拡張辞書を書き換える命令を有効とする設定を受けている場合は、拡張辞書を書き換える命令を拒否しない。 In the above invention and the invention described in the following [12], when the setting unit receives a setting for making the instruction to rewrite the extended dictionary effective, the instruction to rewrite the extended dictionary is not rejected.
[7]印刷データをラスタイメージデータに展開する印刷制御装置であって、
印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する命令認識部と、
前記命令認識部で認識した命令の内容を実行する命令実行部と、
を備え、
前記命令実行部は、前記命令認識部で認識した第1の命令の内容が、前記拡張辞書の書き換えである場合は、書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致するか否かに応じて、前記第1の命令の実行を拒否するか否かを切り替える
ことを特徴とする印刷制御装置。
[7] A print control apparatus for expanding print data into raster image data, comprising:
An instruction recognition unit that refers to and recognizes the contents of an instruction included in print data in the order of priority of a dictionary for each job, an extended dictionary, and a standard dictionary;
An instruction execution unit that executes the contents of the instruction recognized by the instruction recognition unit;
Equipped with
If the content of the first command recognized by the command recognition unit is a rewrite of the extended dictionary, the command execution unit is any command whose name of the command to be rewritten is registered in the standard dictionary. The printing control apparatus switches whether to refuse the execution of the first instruction according to whether or not the name matches the name of the document.
[8]前記命令実行部は、前記第1の命令の内容が前記拡張辞書の書き換えであって書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致する場合は、前記第1の命令の実行を拒否する
ことを特徴とする[7]に記載の印刷制御装置。
[8] When the content of the first instruction is a rewrite of the extended dictionary and the name of the instruction to be rewritten matches the name of any of the instructions registered in the standard dictionary The printing control device according to [7], which refuses the execution of the first command.
[9]前記拒否される命令の入力をプリンタの操作パネルで管理者から受け付ける入力部をさらに有し、
前記命令実行部は、前記入力部で受け付けた命令を実行する
ことを特徴とする[7]または[8]に記載の印刷制御装置。
[9] The printer further includes an input unit that receives an input of the rejected command from the administrator on the operation panel of the printer,
The print control apparatus according to [7] or [8], wherein the command execution unit executes the command received by the input unit.
[10]前記命令実行部で実行を拒否された命令を保持する保持部と、
前記保持部に保持された命令の実行承認をプリンタの操作パネルで管理者から受け付ける承認受領部と、
をさらに有し、
前記命令実行部は、前記承認受領部で実行承認を受けた命令を実行する
ことを特徴とする[7]乃至[9]のいずれか1つに記載の印刷制御装置。
[10] A holding unit for holding an instruction rejected for execution by the instruction execution unit;
An approval receiving unit that receives from the administrator on the operation panel of the printer an execution approval of the instruction held in the holding unit;
And have
The print control apparatus according to any one of [7] to [9], wherein the command execution unit executes the command whose execution has been approved by the approval reception unit.
[11]前記命令実行部は、前記第1の命令の内容が、前記拡張辞書の書き換えであり、かつ書き換え対象の命令の名称が前記標準辞書に登録されているいずれの命令の名称とも一致しない場合であっても、前記書き換え対象の命令が過去にジョブで定義されたことのない命令の場合は、前記第1の命令の実行を拒否する
ことを特徴とする[8]に記載の印刷制御装置。
[11] The instruction execution unit determines that the content of the first instruction is a rewrite of the extended dictionary, and the name of the instruction to be rewritten does not match the names of any instructions registered in the standard dictionary Even in the case where the instruction to be rewritten is an instruction that has not been defined in the job in the past, the execution of the first instruction is rejected. [8] apparatus.
[12]前記拡張辞書を書き換える命令を有効とするか否かの設定を受け付ける設定部をさらに有し、
前記命令実行部は、前記拡張辞書を書き換える命令を有効とする設定を前記設定部で受けている場合は、前記拒否を行わない
ことを特徴とする[7]乃至[11]のいずれか1つに記載の印刷制御装置。
[12] The information processing apparatus further includes a setting unit that receives a setting as to whether or not an instruction to rewrite the extended dictionary is valid,
The instruction execution unit does not perform the rejection when the setting unit receives a setting for making the instruction to rewrite the extended dictionary valid, any one of [7] to [11]. The printing control device according to.
[13][7]乃至[12]のいずれか1つに記載の印刷制御装置を有するプリンタ。 [13] A printer comprising the print control device according to any one of [7] to [12].
本発明に係るプログラム、印刷制御装置およびこれを含むプリンタによれば、拡張辞書の書き換えに関するユーザの利便性を損なうことなくセキュリティを確保することができる。 According to the program, the print control apparatus, and the printer including the program according to the present invention, security can be ensured without impairing the convenience of the user regarding rewriting of the extended dictionary.
以下、図面に基づき本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described based on the drawings.
図1は、本発明の実施の形態に係るプリンタの機能を備えた複合機8の一例を示している。複合機8は、LAN(Local Area Network)などのネットワーク2に接続されており、該ネットワーク2には複合機8に印刷データを送信する情報処理端末であるPC5等が接続されている。 FIG. 1 shows an example of a multifunction peripheral 8 provided with the function of a printer according to an embodiment of the present invention. The multifunction device 8 is connected to a network 2 such as a LAN (Local Area Network), and the network 2 is connected to a PC 5 or the like which is an information processing terminal for transmitting print data to the multifunction device 8.
複合機8は、原稿を光学的に読み取ってその複製画像を記録紙に印刷するコピー機能、読み取った原稿の画像データを一時保存したり外部端末へネットワークを通じて送信したりするスキャン機能、ユーザの情報処理端末から受信した印刷データに基づいて印刷する印刷機能などを備えている。以後、複合機8をMFPとも記す。 The multifunction device 8 has a copy function of optically reading an original and printing a duplicate image on a recording sheet, a scan function of temporarily storing image data of the read original, and transmitting it to an external terminal through a network, user information It has a print function and the like for printing based on print data received from the processing terminal. Hereinafter, the MFP 8 is also referred to as an MFP.
複合機8は、本体部10に、印刷制御装置20(所謂、プリンタコントローラ)を接続して構成されている。PC5は、PostScriptなどのPDLで記述された印刷データを生成して複合機8に送信し、複合機8の印刷制御装置20は受信した印刷データの各ページをラスタライズしてラスタイメージデータを生成する機能を果たす。本体部10は印刷制御装置20が生成したラスタイメージデータを受け取り、これに基づいて印刷する機能を果たす。なお、本実施の形態では、印刷データはPostScriptで記述されているものとする。 The multifunction device 8 is configured by connecting a print control device 20 (so-called printer controller) to the main body unit 10. The PC 5 generates print data described in PDL such as PostScript and transmits the print data to the multi-function device 8, and the print control device 20 of the multi-function device 8 rasterizes each page of the received print data to generate raster image data Perform a function. The main unit 10 receives the raster image data generated by the print control device 20 and performs the function of printing based on the raster image data. In the present embodiment, print data is described in PostScript.
複合機8の本体部10は、当該本体部10の動作を統括的に制御する制御部11を有している。制御部11はCPU(Central Processing Unit)を有する。制御部11には、記憶部12、読取部13、プリンタエンジン部14、操作パネル15、ネットワーク通信部16、メモリ制御部17などが接続されている。 The main body unit 10 of the multifunction peripheral 8 has a control unit 11 that controls the operation of the main body unit 10 in a centralized manner. The control unit 11 has a CPU (Central Processing Unit). A storage unit 12, a reading unit 13, a printer engine unit 14, an operation panel 15, a network communication unit 16, a memory control unit 17 and the like are connected to the control unit 11.
印刷制御装置20は、制御部21、記憶部22、画像記憶部23等を備えている。画像記憶部23にはラスタライズしたイメージデータが一時保存される。 The print control device 20 includes a control unit 21, a storage unit 22, an image storage unit 23, and the like. The image storage unit 23 temporarily stores rasterized image data.
本体部10の記憶部12は、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発メモリ、ハードディスク装置などで構成される。記憶部12には、各種のプログラムが格納されており、これらのプログラムに従って制御部11が処理を実行することで複合機8の本体部10としての機能が実現される。記憶部12は、ワークメモリ、通信バッファ、ファイルや画像データの一時記憶部として使用される。 The storage unit 12 of the main body unit 10 is configured by a read only memory (ROM), a random access memory (RAM), a non-volatile memory, a hard disk drive, and the like. The storage unit 12 stores various programs, and the control unit 11 executes processing in accordance with these programs, whereby the function as the main unit 10 of the multifunction machine 8 is realized. The storage unit 12 is used as a work memory, a communication buffer, and a temporary storage unit for files and image data.
読取部13は、原稿を光学的に読み取って画像データを取得する機能を果たす。読取部13は、たとえば、プラテンガラス上に載置された原稿に光を照射する光源と、その反射光を受けて原稿を幅方向に1ライン分読み取るラインイメージセンサと、光源が光を照射する位置およびラインイメージセンサによるライン単位の読取位置を原稿の長さ方向に順次移動させる移動ユニットと、原稿からの反射光をラインイメージセンサに導いて結像させるレンズやミラーなどからなる光学経路と、ラインイメージセンサの出力するアナログ画像信号をデジタルの画像データに変換する変換部などを備えて構成される。 The reading unit 13 has a function of optically reading an original and acquiring image data. For example, the reading unit 13 emits a light source that emits light to a document placed on a platen glass, a line image sensor that receives the reflected light and reads the document by one line in the width direction, and the light source emits a light A moving unit for sequentially moving the position and the reading position of the line unit by the line image sensor in the longitudinal direction of the document, and an optical path including a lens and a mirror for guiding reflected light from the document to the line image sensor; It is configured to include a conversion unit that converts an analog image signal output from the line image sensor into digital image data.
プリンタエンジン部14は、画像データに応じた画像を記録紙上に画像形成する機能を果たす。ここでは、記録紙の搬送装置と、感光体ドラムと、帯電装置と、レーザーユニットと、現像装置と、転写分離装置と、クリーニング装置と、定着装置とを有し、電子写真プロセスによって画像形成を行う、所謂、レーザープリンタのエンジン部として構成されている。画像形成は他の方式でもかまわない。 The printer engine unit 14 has a function of forming an image according to image data on a recording sheet. Here, a recording paper conveyance device, a photosensitive drum, a charging device, a laser unit, a developing device, a transfer separation device, a cleaning device, and a fixing device are included, and image formation is performed by an electrophotographic process. It is configured as an engine unit of a so-called laser printer. Other methods may be used for image formation.
操作パネル15は、表示部と、操作部を備えたユーザインターフェイス装置である。表示部は、液晶ディスプレイ(LCD…Liquid Crystal Display)などで構成され、各種の操作画面、設定画面などを表示する機能を果たす。操作部は、テンキーやスタートボタンなどのハードキーと、表示部の物理的画面上に設けられたタッチパネルなどで構成される。タッチパネルはタッチペンや指などで接触操作された座標位置を検出する。操作パネル15は、ジョブの設定を受け付けるジョブ設定部としての機能を果たす。 The operation panel 15 is a user interface device including a display unit and an operation unit. The display unit is configured of a liquid crystal display (LCD) or the like, and has a function of displaying various operation screens, setting screens, and the like. The operation unit includes hard keys such as a ten key and a start button, and a touch panel provided on the physical screen of the display unit. The touch panel detects a coordinate position touched by a touch pen or a finger. The operation panel 15 functions as a job setting unit that receives setting of a job.
ネットワーク通信部16は、ネットワーク2を通じてユーザや管理者のPC5、その他の外部装置との間で通信する機能を果たす。 The network communication unit 16 performs the function of communicating with the user or the administrator's PC 5 and other external devices through the network 2.
メモリ制御部17は、制御部11からの指示に従って、記憶部12への画像データの書込み、記憶部12からの画像データの読み出しを制御する。またメモリ制御部17は、本体部10と印刷制御装置20との間で画像データ(ラスタイメージデータ)を転送する機能を果たす。たとえば、メモリ制御部17は、原稿の読み取り中に読取部13から次々と出力される画像データを順次、記憶部12に格納して保存する。また、記憶部12に格納されている画像データをプリンタエンジン部14による印刷動作のタイミングを合わせて順次読み出してプリンタエンジン部14に出力する。また、印刷制御装置20の画像記憶部232に一時記憶されているラスタイメージデータを本体部10の記憶部12に転送する機能を果たす。 The memory control unit 17 controls writing of image data to the storage unit 12 and reading of image data from the storage unit 12 in accordance with an instruction from the control unit 11. The memory control unit 17 also has a function of transferring image data (raster image data) between the main unit 10 and the print control apparatus 20. For example, the memory control unit 17 sequentially stores and stores image data sequentially output from the reading unit 13 during reading of a document in the storage unit 12. Further, the image data stored in the storage unit 12 is sequentially read at the timing of the printing operation by the printer engine unit 14 and output to the printer engine unit 14. Further, it has a function of transferring raster image data temporarily stored in the image storage unit 232 of the print control device 20 to the storage unit 12 of the main body unit 10.
印刷制御装置20の制御部21はCPUで構成され、記憶部22はRAM、ROM、不揮発メモリなどで構成される。制御部21は記憶部22に格納されたプログラムに従って動作することで印刷制御装置20としての各種機能を実現する。画像記憶部23は、ハードディスク装置等の不揮発記憶装置であり、印刷データやこれをラスタライズして得たラスタイメージデータなどの記憶に使用される。 The control unit 21 of the print control device 20 is configured by a CPU, and the storage unit 22 is configured by a RAM, a ROM, a non-volatile memory, and the like. The control unit 21 operates in accordance with the program stored in the storage unit 22 to realize various functions as the print control device 20. The image storage unit 23 is a non-volatile storage device such as a hard disk drive, and is used to store print data and raster image data obtained by rasterizing the print data.
印刷制御装置20の制御部11はプログラムを実行することで、命令認識部24、命令実行部25の機能を果たす。また、記憶部22には、ジョブで定義された一時的な辞書であるジョブ辞書26、すべてのジョブに共通の拡張辞書27および標準辞書28が記憶される。標準辞書27には予め設定された標準の命令(オペレータ)が登録される。拡張辞書26にはプログラムで定義した追加の命令(手続き)が登録される。拡張辞書27および標準辞書28は初期VM(仮想メモリ)と呼ばれる領域に保存される。 The control unit 11 of the print control device 20 executes the program to perform the functions of the instruction recognition unit 24 and the instruction execution unit 25. Further, the storage unit 22 stores a job dictionary 26 which is a temporary dictionary defined in the job, an extended dictionary 27 common to all jobs, and a standard dictionary 28. Standard instructions (operators) set in advance are registered in the standard dictionary 27. In the extended dictionary 26, additional instructions (procedures) defined by the program are registered. The extended dictionary 27 and the standard dictionary 28 are stored in an area called an initial VM (virtual memory).
命令認識部24は、印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する。命令実行部25は、命令認識部で認識した命令の内容を実行する。命令実行部25が各種の命令を実行することで画像記憶部23にラスタイメージデータが生成される。命令がプリント出力の場合、印刷制御装置20から本体部10の制御部11へプリント出力の指示が送出され、これを受けた本体部10がプリント処理を実行する。 The instruction recognition unit 24 recognizes the contents of the instruction included in the print data by referring to them in the order of priority of the dictionary for each job, the extended dictionary, and the standard dictionary. The instruction execution unit 25 executes the contents of the instruction recognized by the instruction recognition unit. The instruction execution unit 25 executes various instructions to generate raster image data in the image storage unit 23. When the command is print output, a print output instruction is sent from the print control device 20 to the control unit 11 of the main body unit 10, and the main body unit 10 that received the instruction executes the print processing.
PostScriptでは、startjob/exitserver命令を用いることで初期VMの拡張辞書27を書き換えて命令の追加等を行うことができる。しかし、これらの命令を自由に使えるようにした場合、背景技術で示したようなセキュリティ上の問題が生じる。そこで、本実施の形態に係る印刷制御装置20では、startjob/exitserver命令に関して以下のような対応を行う。 In PostScript, the expansion dictionary 27 of the initial VM can be rewritten to add an instruction by using the startjob / exitserver instruction. However, when these instructions are made freely available, security problems as described in the background art occur. Therefore, in the print control apparatus 20 according to the present embodiment, the following measures are taken regarding the startjob / exitserver instruction.
<対応策1>
startjob/exitserver命令を通して、defオペレータで初期VMの拡張辞書27に命令(手続き)を定義(更新)する際、定義する命令の名称が、標準辞書28に登録されている命令(オペレータ)と同名称か否かを判断し、同名称であれば拡張辞書27へ追加しないように制御する。すなわち、startjob/exitserver命令の実行を拒否する。これにより、少なくとも標準辞書28に登録されている命令(オペレータ)については標準辞書28で定義されている内容の動作を確保することができる。
<Measure 1>
When defining (updating) an instruction (procedure) in the extended dictionary 27 of the initial VM with the def operator through the startjob / exitserver instruction, the name of the instruction to be defined is the same as the instruction (operator) registered in the standard dictionary 28 If it has the same name, control is performed so as not to add to the extended dictionary 27. That is, it refuses to execute the startjob / exitserver instruction. Thereby, it is possible to secure the operation of the content defined in the standard dictionary 28 at least for the instruction (operator) registered in the standard dictionary 28.
たとえば、図2に示すように、攻撃者から、拡張辞書にshowpageという名称の命令を定義しようとするstartjob命令を受信した場合、印刷制御装置20の制御部21(命令実行部25)は、showpageと同名称の命令(オペレータ)が標準辞書28に登録されているか否かを確認する。この場合showpageという名称の命令は標準辞書28に登録されているので、命令実行部25はこのstartjob命令を実行しない(拒否する)。すなわち、拡張辞書27にshowpageという名称の命令は登録されない。 For example, as shown in FIG. 2, when a startjob instruction to define an instruction named showpage in the extended dictionary is received from an attacker, the control unit 21 (instruction execution unit 25) of the print control apparatus 20 performs showpage Whether or not an instruction (operator) of the same name is registered in the standard dictionary 28 is checked. In this case, since the command named showpage is registered in the standard dictionary 28, the command execution unit 25 does not execute (rejects) the startjob command. That is, an instruction named showpage is not registered in the extended dictionary 27.
一方、図3に示すように、拡張辞書にabcdという名称の命令を定義しようとするstartjob命令を受けた場合は、abcdという名称の命令は標準辞書28に登録されていないので、命令実行部25はこのstartjob命令を実行する。すなわち、拡張辞書27にabcdという名称の命令が追加して定義される。 On the other hand, as shown in FIG. 3, when a startjob instruction to define an instruction named abcd in the extended dictionary is received, the instruction named abcd is not registered in the standard dictionary 28, so the instruction execution unit 25 Executes this startjob instruction. That is, an instruction named abcd is additionally defined in the extended dictionary 27.
図4は、印刷制御装置20の制御部21が行う<対応策1>に係る処理の流れを示している。初期VM上の拡張辞書27の更新命令を受信すると(ステップS101)、該更新命令が更新対象とする命令(手続き)の名称を取得し(ステップS102)、更新対象の命令と、標準辞書28の全ての命令(オペレータ)の名称とを比較する(ステップS103)。更新対象命令(手続き)の名称と同名称の命令(オペレータ)が標準辞書28に登録されている場合は(ステップS104;Yes)、ステップS101で受けた更新命令を破棄して(ステップS105)本処理を終了する。 FIG. 4 shows a flow of processing relating to <Correction 1> performed by the control unit 21 of the print control apparatus 20. When an update instruction of the extended dictionary 27 on the initial VM is received (step S101), the name of an instruction (procedure) to be updated by the update instruction is acquired (step S102), and the instruction to be updated is The names of all the instructions (operators) are compared (step S103). If an instruction (operator) having the same name as the name of the instruction to be updated (procedure) is registered in the standard dictionary 28 (step S104; Yes), the update instruction received in step S101 is discarded (step S105). End the process.
更新対象命令の名称と同名称の命令が標準辞書28に登録されていない場合は(ステップS104;No)、ステップS101で受けた更新命令を実行して拡張辞書27を書き換えて(ステップS106)、本処理を終了する。 If an instruction having the same name as the name of the instruction to be updated is not registered in the standard dictionary 28 (step S104; No), the update instruction received in step S101 is executed to rewrite the extended dictionary 27 (step S106), This process ends.
対応策1では、PostScriptで標準実装されているオペレータの定義を更新することはできない一方、それ以外の名称の手続きについてはstartjob/exitserverといった拡張辞書更新用オペレータの使用を制限しないので、ユーザの利便性を損なわずにセキュリティを維持することができる。 In the first measure, the definition of the operator standard-implemented by PostScript can not be updated, but the procedure with other names does not restrict the use of the extended dictionary update operator such as startjob / exitserver. Security can be maintained without loss of quality.
しかし、対応策1では、以下の課題が残る。
(課題1)初期VM上の拡張辞書に標準オペレータと同名称の手続きを定義できなくなる。
(課題2)標準オペレータ以外の手続き定義は攻撃者も自由に書き換え可能になる。
これらの課題については以下のように対応する。
However, in the countermeasure 1, the following problems remain.
(Problem 1) A procedure with the same name as a standard operator can not be defined in the extended dictionary on the initial VM.
(Problem 2) The procedure definition other than the standard operator can be freely rewritten by an attacker.
These issues are addressed as follows.
<対応策2>
管理者権限が確認された管理者が複合機8の操作パネル15から入力する場合は、初期VM上の拡張辞書に標準オペレータと同名称の手続きを定義することを可能にする。
<Action 2>
When an administrator whose administrator authority is confirmed inputs from the operation panel 15 of the multifunction machine 8, it is possible to define a procedure having the same name as that of the standard operator in the extended dictionary on the initial VM.
すなわち、図5に示すように、ネットワークを通じて受信する命令については、初期VM上の拡張辞書に標準オペレータと同名称の手続きを定義する命令については拒否する。しかし、管理者権限の確認された管理者が初期VM上の拡張辞書に標準オペレータと同名称の手続きを定義する設定を印刷制御装置20の操作パネル15から行い得るようにユーザI/Fを用意する。 That is, as shown in FIG. 5, regarding the instruction received through the network, the instruction that defines the procedure having the same name as the standard operator in the extended dictionary on the initial VM is rejected. However, the user I / F is prepared so that the administrator whose administrator authority is confirmed can perform the setting of defining the procedure having the same name as the standard operator in the extended dictionary on the initial VM from the operation panel 15 of the print control apparatus 20 Do.
図5は、strokeという命令が実線の描画ではなく点線の描画となるように操作パネル上から初期VMの拡張辞書27を設定する例を示している。拡張辞書設定画面40において、手続き指定の欄に標準辞書で登録されているオペレータと同名称の手続き名を入力し、設定入力の欄に処理内容を入力した後、設定変更ボタンを押下することで、初期VMの拡張辞書27にstrokeという手続きが設定登録される。 FIG. 5 shows an example in which the extended dictionary 27 of the initial VM is set on the operation panel so that the instruction "stroke" is drawn not in solid line but in dotted line. In the extended dictionary setting screen 40, enter the procedure name with the same name as the operator registered in the standard dictionary in the procedure designation field, enter the processing content in the setting entry field, and then press the setting change button. The procedure called stroke is set and registered in the extended dictionary 27 of the initial VM.
<対応策3>
startjob/extiserver命令の対象が標準オペレータと同一名称であっても該命令を即破棄せずに一時保存領域に保持し、管理者が操作パネル15で承認操作を行った場合に、初期VMの拡張辞書27に対象の命令(手続き)が定義されるようにする。
<Action 3>
Even if the target of the startjob / extiserver instruction has the same name as a standard operator, the instruction is retained in the temporary storage area without immediately discarding it, and when the administrator performs the approval operation on the operation panel 15, the extension of the initial VM The target instruction (procedure) is defined in the dictionary 27.
図6の例では、showpageを対象とするstartjob命令や、strokeを対象とするstartjob命令は、いずれも定義対象の命令(手続き)の名称が標準辞書28に登録されているオペレータと同一名称なので、印刷制御装置20の制御部11はこの命令を即実行せずに一時保存領域に保持する。その後、管理者権限の確認された管理者が所定の操作を行うことで、複合機8の操作パネル15に、保持命令承諾画面50が表示される。保持命令承諾画面50には、一時保存領域に保持されている各命令(対象とする手続き)がその命令の実行を承認するか否かの選択欄と共に表示される。管理者が実行を承諾する命令の選択欄にチェックマークを入力した後、設定変更釦を押下すると、チェックマークの付された命令(対象とする手続き)が拡張辞書27に定義される。 In the example of FIG. 6, the startjob instruction for showpage and the startjob instruction for stroke have the same names as the operator whose definition target instruction (procedure) is registered in the standard dictionary 28. The control unit 11 of the print control device 20 holds the command in the temporary storage area without immediately executing the command. Thereafter, the administrator who has been confirmed the administrator authority performs a predetermined operation, whereby the holding instruction acceptance screen 50 is displayed on the operation panel 15 of the multifunction machine 8. In the holding command acceptance screen 50, each command (targeted procedure) held in the temporary storage area is displayed together with a selection field of whether to approve the execution of the command. After the administrator inputs a check mark in the selection field of the instruction for accepting execution, when the setting change button is pressed, the instruction with the check mark (targeted procedure) is defined in the extended dictionary 27.
対応策2、3はいずれもネットワーク経由によるアクセスリスク、一般ユーザによる不特定多数操作のリスクに対し、操作を操作パネル15からに限定することや管理者のみのアクセスに限定することでリスクを回避している。対応策2、3は課題1に対応するものである。 Measures 2 and 3 both avoid the risk of access via the network and the risk of unspecified many operations by general users, by limiting the operation to the operation panel 15 or restricting the access only to the administrator doing. Measures 2 and 3 correspond to Problem 1.
<対応策4>
対応策4は前述の課題2に対応するものであり、過去にジョブとして受信したことのあるオリジナル手続きのみを更新対象として許可し、過去にジョブとして受信したことのないオリジナル手続きを拡張辞書に登録する命令は拒否する。
<Action 4>
The countermeasure 4 corresponds to the above-mentioned problem 2, and permits only the original procedure that has been received as a job in the past as the update target, and registers the original procedure that has not been received as a job in the past in the extended dictionary Reject orders that
対応策1では、標準辞書28に存在する命令と同一名称以外の命令を対象とするstartjob/extiserver命令については無防備となってしまう。そのため、オリジナル手続きについては、過去に受信したPostScriptジョブから手続き名(このジョブで定義された手続き名)を蓄積しておき、受信履歴のあるものだけを更新対象とするように制御する。 In the countermeasure 1, the startjob / extiserver instruction which targets instructions other than the same name as the instruction existing in the standard dictionary 28 is unprotected. Therefore, as for the original procedure, the procedure name (procedure name defined in this job) is accumulated from the PostScript job received in the past, and control is performed so that only the one having the reception history is to be updated.
複合機8の印刷制御装置20は、受信したPostScriptジョブの中に手続きが定義されている(ジョブの辞書に手続きを定義する命令が存在する)場合、その手続きを履歴情報として保存する。図7の例では、abcという名称の手続きを定義したPostScriptジョブ1と、defという名称の手続きを定義したPostScriptジョブ2を過去に受信しており、履歴情報にそれらが登録されている。 If the procedure is defined in the received PostScript job (if there is an instruction for defining the procedure in the job dictionary), the print control device 20 of the multifunction machine 8 stores the procedure as history information. In the example of FIG. 7, a PostScript job 1 defining a procedure named abc and a PostScript job 2 defining a procedure named def are received in the past, and they are registered in history information.
この状態で、startjob命令を受信すると、印刷制御装置20の制御部21は、該startjob命令が対象とする命令(手続き)の名称と同一名称の命令(手続き)が履歴情報に登録されているか否かを確認し、履歴情報に登録があれば、該startjob命令を実行し、履歴情報に登録がなければ、該startjob命令を実行しない。 In this state, when the startjob instruction is received, the control unit 21 of the print control device 20 determines whether an instruction (procedure) having the same name as the instruction (procedure) targeted by the startjob instruction is registered in the history information. If there is a registration in the history information, the start job instruction is executed. If there is no registration in the history information, the start job instruction is not executed.
図7の例では、abcとい名称の命令(手続き)を対象とするstartjob命令は、abcという命令(手続き)が履歴情報に存在するので、実行され、その結果として初期VMの拡張辞書27にabcという名称の手続きが定義されている。一方、ghiとい名称の命令(手続き)を対象とするstartjob命令は、ghiという命令(手続き)が履歴情報に存在しないので、実行されず、その結果として初期VMの拡張辞書27にdefという名称の手続きは定義されていない。 In the example of FIG. 7, the startjob instruction for the instruction (procedure) named abc is executed because the instruction (procedure) named abc exists in the history information, and is executed as a result to the expanded dictionary 27 of the initial VM. The procedure named is defined. On the other hand, the startjob instruction for the instruction (procedure) named ghi is not executed because the instruction (procedure) ghi does not exist in the history information, and as a result, the extended dictionary 27 of the initial VM is named def Procedures are not defined.
図8は、対応策1、対応策3、対応策4を採用した場合の印刷制御装置20の制御部21が行う処理を示す流れ図である。初期VM上の拡張辞書27の更新命令を受信すると(ステップS201)、該更新命令が更新対象とする命令(手続き)の名称を取得し(ステップS202)、更新対象の命令(手続き)と、標準辞書28の全ての命令(オペレータ)の名称とを比較する(ステップS203)。更新対象命令の名称と同名称の命令が標準辞書28に登録されている場合は(ステップS204;Yes)、その更新命令を一時保持する(ステップS206)。 FIG. 8 is a flow chart showing processing performed by the control unit 21 of the print control apparatus 20 in the case where the measures 1, 3, and 4 are adopted. When an update instruction of the extended dictionary 27 on the initial VM is received (step S201), the name of the instruction (procedure) to be updated by the update instruction is acquired (step S202), and the instruction (procedure) to be updated is The names of all the instructions (operators) in the dictionary 28 are compared (step S203). If an instruction having the same name as the name of the instruction to be updated is registered in the standard dictionary 28 (step S204; Yes), the update instruction is temporarily held (step S206).
更新対象命令の名称と同名称の命令が標準辞書28に登録されていない場合は(ステップS204;No)、更新対象命令(手続き)の名称と同名称の命令(手続き)が履歴に存在するか否かを確認する(ステップS205)。履歴に同一名称の命令(手続き)が存在しなければ(ステップS205;No)、その更新命令を一時保持する(ステップS206)。 If an instruction having the same name as the name of the instruction to be updated is not registered in the standard dictionary 28 (step S204; No), does the instruction (procedure) having the same name as the name of the instruction to be updated (procedure) exist in the history? It is confirmed whether or not it is (step S205). If an instruction (procedure) of the same name does not exist in the history (step S205; No), the update instruction is temporarily held (step S206).
履歴に同一名称の命令(手続き)が存在する場合は(ステップS205;Yes)、ステップS201で受けた更新命令を実行して拡張辞書27を書き換えて(ステップS209)、本処理を終了する。 If there is an instruction (procedure) of the same name in the history (step S205; Yes), the update instruction received in step S201 is executed to rewrite the extended dictionary 27 (step S209), and this processing is ended.
ステップS206で更新命令を一時保持した場合は、その後、管理者が操作パネルから承諾操作を行うのを待機する。一定時間が経過しても操作パネルで管理者から実行の承諾を受けない更新命令については(ステップS207;No)、その更新命令を破棄して(ステップS208)、本処理を終了する。操作パネルを通じて管理者から実行の承諾を受けた更新命令については(ステップS207;Yes)、その更新命令を実行して拡張辞書27を書き換えて(ステップS209)、本処理を終了する。 If the update instruction is temporarily held in step S206, then the system waits for the administrator to perform an acceptance operation from the operation panel. With regard to an update command not accepted from the administrator on the operation panel even after a predetermined time has elapsed (step S207; No), the update command is discarded (step S208), and the present process is terminated. With regard to the update command that has received an approval for execution from the administrator through the operation panel (step S207; Yes), the update command is executed to rewrite the extended dictionary 27 (step S209), and the present process is ended.
<変形例1>
前述の対応策1では、標準辞書28に登録されている命令(オペレータ)と同一名称の命令(手続き)の拡張辞書27への登録を拒否するようにしたが、変形例1では、標準辞書28に登録されている命令(オペレータ)と同一名称の命令(手続き)の拡張辞書27への登録は許可し、標準辞書28に登録されている命令(オペレータ)と同一名称でない命令(手続き)の拡張辞書27への登録を拒否する。
<Modification 1>
In the above-mentioned countermeasure 1, the registration of the instruction (procedure) having the same name as the instruction (operator) registered in the standard dictionary 28 is rejected, but in the modification 1, the standard dictionary 28 Allows the registration of the instruction (procedure) with the same name as the instruction (operator) registered in the extension dictionary 27 and extends the instruction (procedure) not having the same name as the instruction (operator) registered in the standard dictionary 28 Reject registration to Dictionary 27.
たとえば、ユーザから、拡張辞書にshowpageという名称の命令(手続き)を定義しようとするstartjob命令を受信している場合、印刷制御装置20の制御部21(命令実行部25)は、showpageと同名称の命令(オペレータ)が標準辞書28に登録されているか否かを確認する。Showpageは標準辞書28に登録されている命令(オペレータ)なので、図9に示すように、命令実行部25はこのstartjob命令を実行して拡張辞書27にshowpageという名称の命令(手続き)を定義する。 For example, when a startjob instruction to define an instruction (procedure) named showpage in the extended dictionary is received from the user, the control unit 21 (instruction execution unit 25) of the print control apparatus 20 has the same name as showpage. It is confirmed whether or not the instruction (operator) is registered in the standard dictionary 28. Since Showpage is an instruction (operator) registered in the standard dictionary 28, as shown in FIG. 9, the instruction execution unit 25 executes this startjob instruction to define an instruction (procedure) named showpage in the extended dictionary 27. .
一方、図10に示すように、拡張辞書にabcdという名称の命令(手続き)を定義しようとするstartjob命令を受けた場合は、abcdという名称の命令(オペレータ)は標準辞書28に登録されていないので、命令実行部25はこのstartjob命令を実行しない。 On the other hand, as shown in FIG. 10, when a startjob instruction to define an instruction (procedure) named abcd in the extended dictionary is received, the instruction (operator) named abcd is not registered in the standard dictionary 28. Therefore, the instruction execution unit 25 does not execute this startjob instruction.
<変形例2>
拡張辞書27を書き換える命令(startjob/extiserver)を有効とするか否かの設定を設定部(操作パネル15の設定画面)から受け付け、命令実行部25は、拡張辞書27を書き換える命令を有効とする設定を設定部で受けている場合は、拡張辞書27を書き換える命令を拒否しない。
<Modification 2>
The setting of whether to make the instruction (startjob / extiserver) for rewriting the extended dictionary 27 effective is accepted from the setting unit (setting screen of the operation panel 15), and the instruction executing unit 25 makes the instruction for rewriting the extended dictionary 27 effective. If the setting is received by the setting unit, the instruction to rewrite the extended dictionary 27 is not rejected.
たとえば、図11に示すような設定画面60を操作パネル15に表示して、拡張辞書27を書き換える命令(startjob/extiserver)を有効とするか無効とするかの設定を管理者等から受け付ける。有効の設定を受けた場合は、対応策1等の処理は行わずに、拡張辞書27を書き換える命令(startjob/extiserver)を受けた場合に無条件でそれを実行する。無効の設定を受けている場合は、拡張辞書27を書き換える命令(startjob/extiserver)の実行をすべて拒否する。なお、設定画面60に「判定」の項目をさらに設け、判定が設定された場合は前述したいずれかの対応策を実施するようにしてもよい。 For example, the setting screen 60 as shown in FIG. 11 is displayed on the operation panel 15, and the setting as to whether the command (startjob / extiserver) for rewriting the extended dictionary 27 is valid or invalid is accepted from the administrator or the like. When the setting of "valid" is received, the process of countermeasure 1 or the like is not performed, and when an instruction (startjob / extiserver) for rewriting the extended dictionary 27 is received, the processing is unconditionally executed. If an invalid setting has been received, execution of an instruction (startjob / extiserver) for rewriting the extended dictionary 27 is rejected. It should be noted that the item “decision” may be further provided on the setting screen 60, and any of the measures described above may be implemented when the determination is set.
このように本発明によれば、startjob/extiserver命令による拡張辞書の書き換えに関して、ユーザの利便性を損なうことなくセキュリティを確保することができる。 As described above, according to the present invention, security can be ensured without compromising the convenience of the user with regard to the rewriting of the extended dictionary by the startjob / extiserver instruction.
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。 The embodiment of the present invention has been described above with reference to the drawings, but the specific configuration is not limited to that shown in the embodiment, and changes and additions may be made without departing from the scope of the present invention. Also included in the present invention.
実施の形態では、対象のPDLがPostScriptの場合を例に説明したが、本発明の対象はPostScriptに限定されるものではなく、初期VMの拡張辞書27と標準辞書28のような辞書を有し、拡張辞書27を更新する命令を有するPDLであれば他の種類のPDLであっても構わない。 In the embodiment, the case where the target PDL is PostScript is described as an example, but the object of the present invention is not limited to PostScript, and includes dictionaries such as the extended dictionary 27 of the initial VM and the standard dictionary 28. Other types of PDL may be used as long as the PDL includes an instruction to update the extended dictionary 27.
実施の形態では複合機8を例に説明したが、これに限定されずプリンタ機能を有する装置であればよく、プリンタ機能のみを有する印刷装置であってもよい。 In the embodiment, the multifunction machine 8 is described as an example, but the invention is not limited thereto, and any device having a printer function may be used, and a printing device having only a printer function may be used.
本発明は、印刷制御装置20で実行されるプログラムとされてもよいし、印刷制御装置20とされてもよい。また印刷制御装置20を含む複合機8等のプリンタであってもよい。 The present invention may be a program executed by the print control device 20 or may be a print control device 20. Alternatively, the printer may be a multifunction device 8 including the print control device 20.
2…ネットワーク
5…PC
8…複合機
10…本体部
11…制御部
12…記憶部
13…読取部
14…プリンタエンジン部
15…操作パネル
16…ネットワーク通信部
17…メモリ制御部
20…印刷制御装置(プリンタコントローラ)
21…制御部
22…記憶部
23…画像記憶部
24…命令認識部
25…命令実行部
26…ジョブ辞書
27…拡張辞書
28…標準辞書
40…拡張辞書設定画面
50…保持命令承諾画面
60…設定画面
2 ... Network 5 ... PC
DESCRIPTION OF SYMBOLS 8 ... Multi-function machine 10 ... Body part 11 ... Control part 12 ... Storage part 13 ... Reading part 14 ... Printer engine part 15 ... Operation panel 16 ... Network communication part 17 ... Memory control part 20 ... Print control device (printer controller)
21: Control unit 22: Storage unit 23: Image storage unit 24: Instruction recognition unit 25: Instruction execution unit 26: Job dictionary 27: Extended dictionary 28: Standard dictionary 40: Extended dictionary setting screen 50: Holding instruction acceptance screen 60: Setting screen
Claims (13)
印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する命令認識ステップと、
前記命令認識ステップで認識した命令の内容を実行する命令実行ステップと、
を備え、
前記命令実行ステップでは、前記命令認識ステップで認識した第1の命令の内容が、前記拡張辞書の書き換えである場合は、書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致するか否かに応じて、前記第1の命令の実行を拒否するか否かを切り替える
ことを特徴とするプログラム。 A program for developing print data into raster image data, which is executed by an information processing apparatus, comprising:
An instruction recognition step of referring to contents of an instruction contained in print data and referring to them in the priority order of a dictionary for each job, an extended dictionary, and a standard dictionary;
An instruction execution step of executing the contents of the instruction recognized in the instruction recognition step;
Equipped with
In the instruction execution step, when the content of the first instruction recognized in the instruction recognition step is rewriting of the extended dictionary, any instruction whose name of the instruction to be rewritten is registered in the standard dictionary And switching whether or not to refuse execution of the first instruction according to whether or not it matches the name of the program.
ことを特徴とする請求項1に記載のプログラム。 In the instruction execution step, when the content of the first instruction is the rewriting of the extended dictionary and the name of the instruction to be rewritten matches the name of any instruction registered in the standard dictionary, The program according to claim 1, wherein execution of the first instruction is rejected.
前記入力ステップで受け付けた命令を実行する強制実行ステップと
をさらに有する
ことを特徴とする請求項1または2に記載のプログラム。 An input step of receiving an input of the rejected instruction from the administrator on the printer operation panel;
The program according to claim 1, further comprising: a forced execution step of executing the instruction received in the input step.
前記保持された命令の実行承認をプリンタの操作パネルで管理者から受け付ける承認受領ステップと、
前記承認受領ステップで実行承認を受けた命令を実行する第2強制実行ステップと、
をさらに有する
ことを特徴とする請求項1乃至3のいずれか1つに記載のプログラム。 A holding step for holding an instruction rejected in the instruction execution step;
An approval receiving step of receiving from the administrator on the operation panel of the printer an execution approval of the held instruction;
A second forced execution step of executing an instruction that has received execution approval in the approval reception step;
The program according to any one of claims 1 to 3, further comprising:
ことを特徴とする請求項2に記載のプログラム。 In the instruction execution step, the content of the first instruction is the rewriting of the extended dictionary, and the name of the instruction to be rewritten does not match the names of any of the instructions registered in the standard dictionary. 3. The program according to claim 2, wherein even if the instruction to be rewritten is an instruction that has not been defined in the job in the past, execution of the first instruction is refused.
前記命令実行ステップでは、前記拡張辞書を書き換える命令を有効とする設定を前記設定ステップで受けている場合は、前記拒否を行わない
ことを特徴とする請求項1乃至5のいずれか1つに記載のプログラム。 The method further includes a setting step for receiving a setting as to whether or not to make the instruction to rewrite the extended dictionary effective.
The method according to any one of claims 1 to 5, wherein, in the instruction execution step, when the setting step receives a setting for making the instruction to rewrite the extended dictionary effective, the rejection is not performed. Programs.
印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する命令認識部と、
前記命令認識部で認識した命令の内容を実行する命令実行部と、
を備え、
前記命令実行部は、前記命令認識部で認識した第1の命令の内容が、前記拡張辞書の書き換えである場合は、書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致するか否かに応じて、前記第1の命令の実行を拒否するか否かを切り替える
ことを特徴とする印刷制御装置。 A print control apparatus for expanding print data into raster image data, comprising:
An instruction recognition unit that refers to and recognizes the contents of an instruction included in print data in the order of priority of a dictionary for each job, an extended dictionary, and a standard dictionary;
An instruction execution unit that executes the contents of the instruction recognized by the instruction recognition unit;
Equipped with
If the content of the first command recognized by the command recognition unit is a rewrite of the extended dictionary, the command execution unit is any command whose name of the command to be rewritten is registered in the standard dictionary. The printing control apparatus switches whether to refuse the execution of the first instruction according to whether or not the name matches the name of the document.
ことを特徴とする請求項7に記載の印刷制御装置。 If the content of the first instruction is a rewrite of the extended dictionary and the name of the instruction to be rewritten matches the name of any instruction registered in the standard dictionary, the instruction execution unit may The print control apparatus according to claim 7, wherein execution of the first instruction is rejected.
前記命令実行部は、前記入力部で受け付けた命令を実行する
ことを特徴とする請求項7または8に記載の印刷制御装置。 The printer further includes an input unit that receives an input of the rejected command from the administrator on the operation panel of the printer,
The print control apparatus according to claim 7, wherein the command execution unit executes the command received by the input unit.
前記保持部に保持された命令の実行承認をプリンタの操作パネルで管理者から受け付ける承認受領部と、
をさらに有し、
前記命令実行部は、前記承認受領部で実行承認を受けた命令を実行する
ことを特徴とする請求項7乃至9のいずれか1つに記載の印刷制御装置。 A holding unit for holding an instruction rejected for execution by the instruction execution unit;
An approval receiving unit that receives from the administrator on the operation panel of the printer an execution approval of the instruction held in the holding unit;
And have
The print control apparatus according to any one of claims 7 to 9, wherein the instruction execution unit executes an instruction that has been approved for execution by the approval reception unit.
ことを特徴とする請求項8に記載の印刷制御装置。 In the instruction execution unit, the content of the first instruction is the rewriting of the extended dictionary, and the name of the instruction to be rewritten does not match the names of any of the instructions registered in the standard dictionary. 9. The print control apparatus according to claim 8, wherein, if the instruction to be rewritten is an instruction that has not been defined in the job in the past, execution of the first instruction is rejected.
前記命令実行部は、前記拡張辞書を書き換える命令を有効とする設定を前記設定部で受けている場合は、前記拒否を行わない
ことを特徴とする請求項7乃至11のいずれか1つに記載の印刷制御装置。 The apparatus further includes a setting unit that receives a setting as to whether or not an instruction to rewrite the extended dictionary is enabled.
12. The instruction execution unit according to any one of claims 7 to 11, wherein the rejection is not performed when the setting unit receives a setting for making an instruction to rewrite the extended dictionary valid. Print control device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017195976A JP6919810B2 (en) | 2017-10-06 | 2017-10-06 | Programs, print controls, printers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017195976A JP6919810B2 (en) | 2017-10-06 | 2017-10-06 | Programs, print controls, printers |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019071524A true JP2019071524A (en) | 2019-05-09 |
JP6919810B2 JP6919810B2 (en) | 2021-08-18 |
Family
ID=66441328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017195976A Active JP6919810B2 (en) | 2017-10-06 | 2017-10-06 | Programs, print controls, printers |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6919810B2 (en) |
-
2017
- 2017-10-06 JP JP2017195976A patent/JP6919810B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP6919810B2 (en) | 2021-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10298790B2 (en) | Image-forming apparatus, system, information processing method and storage medium for causing an operation screen to be displayed based on display language information | |
US10705769B2 (en) | Print system with a printer driver storing personal panel setting information and non-transitory recording medium storing a computer readable program | |
JP2013018209A (en) | Printing apparatus, method for controlling printing apparatus, and program | |
JP4941463B2 (en) | Information processing apparatus and printing apparatus | |
JP7225737B2 (en) | Support program, information processing device, and printing method | |
JP7434403B2 (en) | Printing device, printing device control method, and program | |
JP2019005969A (en) | Printing system and program | |
US10664212B2 (en) | Image forming apparatus, control method for image forming apparatus, and storage medium for controlling storage of a print job | |
KR20130031208A (en) | Printing control apparatus and control method therefor | |
JP6344368B2 (en) | Job processing system, job processing device, program | |
JP4775456B2 (en) | Display management system | |
JP2014075658A (en) | Printer and log writing method | |
US10120627B2 (en) | Processing device, non-transitory recording medium storing a computer readable program and substitute process setting method | |
JP6834675B2 (en) | Job processing device, server, server program | |
JP6641952B2 (en) | Printing system | |
US9538026B2 (en) | Display apparatus, image processing apparatus, display method, and computer readable medium for controlling an operation of a display process | |
JP6919810B2 (en) | Programs, print controls, printers | |
JP2017030312A (en) | Image output device and control method thereof, and program | |
US20180084122A1 (en) | Processing device, image forming apparatus, and non-transitory computer readable medium | |
JP2019001040A (en) | Image formation apparatus and program | |
JP2018161761A (en) | Image forming device and image formation program | |
JP6579083B2 (en) | Image processing device | |
US9131074B2 (en) | Information processing apparatus, printing apparatus, printing system, and computer-readable non-transitory storage medium | |
US11816381B2 (en) | Image forming apparatus approves display of a remote screen based on a condition indicating a communication address of a requesting apparatus prior to display a remote screen on the requesting apparatus | |
US20240397012A1 (en) | Image processing apparatus and image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200819 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210528 |
|
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: 20210624 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210707 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6919810 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |