[go: up one dir, main page]

JP2019071524A - プログラム、印刷制御装置、プリンタ - Google Patents

プログラム、印刷制御装置、プリンタ Download PDF

Info

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
Application number
JP2017195976A
Other languages
English (en)
Other versions
JP6919810B2 (ja
Inventor
貴久 松永
Takahisa Matsunaga
貴久 松永
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2017195976A priority Critical patent/JP6919810B2/ja
Publication of JP2019071524A publication Critical patent/JP2019071524A/ja
Application granted granted Critical
Publication of JP6919810B2 publication Critical patent/JP6919810B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】拡張辞書の書き換えに関するユーザの利便性を損なうことなくセキュリティを確保することのできる印刷制御装置、そのプログラムを提供する。【解決手段】印刷データをラスタイメージデータに展開する印刷制御装置であって、印刷データに含まれる命令の内容を、ジョブ毎の辞書26、拡張辞書27、標準辞書28の優先順でこれらを参照して認識する命令認識部24と、命令認識部24で認識した命令の内容を実行する命令実行部25と、を備え、命令実行部25は、命令認識部24で認識した第1の命令の内容が、拡張辞書27の書き換えである場合は、書き換え対象の命令の名称が標準辞書28に登録されているいずれかの命令の名称と一致するか否かを確認し、書き換え対象の命令の名称が標準辞書28に登録されているいずれかの命令の名称と一致する場合は第1の命令の実行を拒否する。【選択図】図1

Description

本発明は、印刷データをラスタイメージデータに展開する印刷制御装置のプログラム、印刷制御装置、およびこれを含むプリンタに関する。
PDL(Page Description Language)の1つであるPostScript(登録商標)には、標準オペレータの動作を定義する標準辞書があり、ユーザからPostScriptジョブを受けたインタプリタはジョブ内に記載されているオペレータに対して標準辞書を参照しながら処理を実行していく。たとえば、図12の場合、「Stroke」というオペレータの内容を標準辞書を参照することで「線を引く」と認識する。図12の場合、線とテキストを描画したページをプリント出力する、という動作が実行される。なお、PostScriptでは実行可能オブジェクトをオペレータ(最初から定義されているもの)と手続き(プログラムによって作成されるもの)に区別しているが、これらを区別しない場合はこれを、命令、と呼ぶものとする。
また、PostScriptには上記標準辞書の他にユーザが動作を定義できる辞書が存在する。その1つはジョブで定義される辞書である。ジョブで定義された命令は標準辞書に定義された命令よりも優先して実行される。ジョブの辞書の定義の更新は標準辞書で定義されている命令(オペレータ)に対しても実行可能という仕様になっており、各PostScriptジョブは標準オペレータの内容を任意に変更して実行することができる。たとえば、図13の場合、ジョブの拡張辞書で「stroke」というオペレータを「点線を引く」と定義してあり、ジョブの拡張辞書は標準辞書より優先されるため、「Stroke」という標準オペレータの内容は「点線を引く」と認識される。そのため、図13の場合、点線とテキストを描画したページをプリント出力する、という動作が実行される。
ジョブで定義された拡張辞書は、そのジョブを抜けた時点でリセットされ次のジョブの実行時には、各辞書は、装置起動時の状態(初期VM(仮想メモリ)と呼ばれる)に戻る。PostScriptでは、初期VMにおいても拡張辞書を定義できる。すなわち、PostScriptでは、ジョブで定義された辞書(拡張辞書)、初期VMの拡張辞書、初期VMの標準辞書、の優先順でこれら3つの辞書が参照される。
初期VMの拡張辞書の内容は、startjob命令及びexitserver命令を用いて更新を指示することができる。更新の指示を受けたプリンタのインタプリタはdefオペレータを介して拡張辞書の定義を更新する。
初期VMの変更は特定のジョブだけでなく、受信した全てのPostScriptジョブに影響を与える。そのため、悪意ある攻撃者が初期VMの拡張辞書を変更することで、標準辞書に定義されている標準オペレータの内容を意図的に変更することができてしまう、という問題がある。
たとえば、図14に示すような攻撃を受けた場合、初期VMの拡張辞書に、「showPage」は「何もしない」、と定義される。この状態で図15のようにshowPageを含むジョブを受信しても、ユーザの意に反して、ページのプリント出力は行われない。具体的には、ユーザは、点線とテキストを描画したページをプリント出力する、というジョブを意図していたにもかかわらず、プリント出力が行われなくなる。
各命令には名前があり、ジョブにより生成される辞書、拡張辞書、標準辞書の順で名前を検索するため、標準命令(標準オペレータ)と同じ名前の命令(手続)がstartjobにて拡張辞書に追加されると、その名前の命令に対応する処理は標準辞書より先に参照される拡張辞書で定義された内容で実行されるため、想定外の動作となる。
想定外の動作を回避する技術として、下記特許文献1には、ページ毎に異なる印刷設定が可能な場合に、各ページの印刷処理開始前に1ページ目の印刷設定と現在のページの印刷設定を比較し、印刷設定が異なる場合には表示部に警告を表示する印刷装置が開示されている。また、下記特許文献2には、印刷条件に名前を付けてプリンタに登録しておき、その名前で印刷条件を呼び出して実行できるようにした印刷システムが開示されている。
特開2015−79326号公報 特開2013−149085号公報
近年、プリンタや複合機のセキュリティが重要視され、認証機関においてもセキュリティに関する評価基準が追加導入され、認証条件が厳しくなってきている。こうした中、前述した標準オペレータの内容が悪意ある攻撃者によって変更されることがセキュリティ上、問題視されている。
これに対して、初期VMの拡張辞書を書き換えるstartjob/exitserver命令を一律に使用不可とする(インタプリタ側で受け入れない)対応を取った場合、セキュリティ上の問題は回避されるが、今度はその命令を使用したいというユーザの利便性を損なうことになってしまう。
本発明は、上記の問題を解決しようとするものであり、拡張辞書の書き換えに関するユーザの利便性を損なうことなくセキュリティを確保することのできる印刷制御装置のプログラム、印刷制御装置、およびこれを含むプリンタを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
[1]情報処理装置で実行される、印刷データをラスタイメージデータに展開するプログラムであって、
印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する命令認識ステップと、
前記命令認識ステップで認識した命令の内容を実行する命令実行ステップと、
を備え、
前記命令実行ステップでは、前記命令認識ステップで認識した第1の命令の内容が、前記拡張辞書の書き換えである場合は、書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致するか否かに応じて、前記第1の命令の実行を拒否するか否かを切り替える
ことを特徴とするプログラム。
上記発明および下記[7]に記載の発明では、拡張辞書を書き換える第1の命令が書き換え対象とする命令の名称が標準辞書に登録されている命令と同一名称か否かに応じて、第1の命令を拒否するか否かを切り替える。
[2]前記命令実行ステップでは、前記第1の命令の内容が前記拡張辞書の書き換えであって書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致する場合は、前記第1の命令の実行を拒否する
ことを特徴とする[1]に記載のプログラム。
上記発明および下記[8]に記載の発明では、拡張辞書を書き換える第1の命令が書き換え対象とする命令の名称が標準辞書に登録されている命令と同一名称の場合は、第1の命令を拒否する。
[3]前記拒否される命令の入力をプリンタの操作パネルで管理者から受け付ける入力ステップと、
前記入力ステップで受け付けた命令を実行する強制実行ステップと
をさらに有する
ことを特徴とする[1]または[2]に記載のプログラム。
上記発明および下記[9]に記載の発明では、標準辞書に登録されている命令の名称と同一か否かに基づく判断で実行が拒否される命令については、プリンタの操作パネルで管理者が入力することによって実行が確保される。
[4]前記命令実行ステップで実行を拒否した命令を保持する保持ステップと、
前記保持された命令の実行承認をプリンタの操作パネルで管理者から受け付ける承認受領ステップと、
前記承認受領ステップで実行承認を受けた命令を実行する第2強制実行ステップと、
をさらに有する
ことを特徴とする[1]乃至[3]のいずれか1つに記載のプログラム。
上記発明および下記[10]に記載の発明では、標準辞書に登録されている命令の名称と同一か否かに基づく判断で実行を拒否した命令については一時保持しておき、後に、プリンタの操作パネルで管理者から実行の承諾を受けた場合に実行する。
[5]前記命令実行ステップでは、前記第1の命令の内容が、前記拡張辞書の書き換えであり、かつ書き換え対象の命令の名称が前記標準辞書に登録されているいずれの命令の名称とも一致しない場合であっても、前記書き換え対象の命令が過去にジョブで定義されたことのない命令の場合は、前記第1の命令の実行を拒否する
ことを特徴とする[2]に記載のプログラム。
上記発明および下記[11]に記載の発明では、拡張辞書を書き換える第1の命令が書き換え対象とする命令の名称が標準辞書に登録されている命令と同一名称の場合は第1の命令を拒否する場合において、標準辞書に登録されている命令と同一名称でない場合であっても、書き換え対象の命令が過去に定義されたことのない命令の場合は第1の命令の実行を拒否する。
[6]前記拡張辞書を書き換える命令を有効とするか否かの設定を受け付ける設定ステップをさらに有し、
前記命令実行ステップでは、前記拡張辞書を書き換える命令を有効とする設定を前記設定ステップで受けている場合は、前記拒否を行わない
ことを特徴とする[1]乃至[5]のいずれか1つに記載のプログラム。
上記発明および下記[12]に記載の発明では、設定部で拡張辞書を書き換える命令を有効とする設定を受けている場合は、拡張辞書を書き換える命令を拒否しない。
[7]印刷データをラスタイメージデータに展開する印刷制御装置であって、
印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する命令認識部と、
前記命令認識部で認識した命令の内容を実行する命令実行部と、
を備え、
前記命令実行部は、前記命令認識部で認識した第1の命令の内容が、前記拡張辞書の書き換えである場合は、書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致するか否かに応じて、前記第1の命令の実行を拒否するか否かを切り替える
ことを特徴とする印刷制御装置。
[8]前記命令実行部は、前記第1の命令の内容が前記拡張辞書の書き換えであって書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致する場合は、前記第1の命令の実行を拒否する
ことを特徴とする[7]に記載の印刷制御装置。
[9]前記拒否される命令の入力をプリンタの操作パネルで管理者から受け付ける入力部をさらに有し、
前記命令実行部は、前記入力部で受け付けた命令を実行する
ことを特徴とする[7]または[8]に記載の印刷制御装置。
[10]前記命令実行部で実行を拒否された命令を保持する保持部と、
前記保持部に保持された命令の実行承認をプリンタの操作パネルで管理者から受け付ける承認受領部と、
をさらに有し、
前記命令実行部は、前記承認受領部で実行承認を受けた命令を実行する
ことを特徴とする[7]乃至[9]のいずれか1つに記載の印刷制御装置。
[11]前記命令実行部は、前記第1の命令の内容が、前記拡張辞書の書き換えであり、かつ書き換え対象の命令の名称が前記標準辞書に登録されているいずれの命令の名称とも一致しない場合であっても、前記書き換え対象の命令が過去にジョブで定義されたことのない命令の場合は、前記第1の命令の実行を拒否する
ことを特徴とする[8]に記載の印刷制御装置。
[12]前記拡張辞書を書き換える命令を有効とするか否かの設定を受け付ける設定部をさらに有し、
前記命令実行部は、前記拡張辞書を書き換える命令を有効とする設定を前記設定部で受けている場合は、前記拒否を行わない
ことを特徴とする[7]乃至[11]のいずれか1つに記載の印刷制御装置。
[13][7]乃至[12]のいずれか1つに記載の印刷制御装置を有するプリンタ。
本発明に係るプログラム、印刷制御装置およびこれを含むプリンタによれば、拡張辞書の書き換えに関するユーザの利便性を損なうことなくセキュリティを確保することができる。
本発明の実施の形態に係るプリンタの機能を備えた複合機の概略構成を示すブロック図である。 拡張辞書にshowpageという名称の命令(標準命令と同一名称の命令)を定義するstartjob命令を受信した場合に印刷制御装置が行う動作を示す説明図である。 拡張辞書にabcdという名称の命令(標準命令と異なる名称の命令)を定義しようとするstartjob命令を受けた場合に印刷制御装置が行う動作を示す説明図である。 印刷制御装置の制御部が行う対応策1に係る処理を示す流れ図である。 印刷制御装置の制御部が行う対応策2に係る動作を示す説明図である。 印刷制御装置の制御部が行う対応策3に係る動作を示す説明図である。 印刷制御装置の制御部が行う対応策4に係る動作を示す説明図である。 対応策1、対応策3、対応策4を採用した場合に印刷制御装置が行う動作を示す流れ図である。 変形例1で、拡張辞書にshowpageという名称の命令(標準命令と同一名称の命令)を定義しようとするstartjob命令を受けた場合に印刷制御装置が行う動作を示す説明図である。 変形例1で、拡張辞書にabcdという名称の命令(標準命令と異なる名称の命令)を定義しようとするstartjob命令を受けた場合に印刷制御装置が行う動作を示す説明図である。 設定画面の一例を示す図である。 従来の装置において、標準オペレータのジョブを受信した場合の動作を示す図である。 従来の装置において、ジョブで辞書を定義した場合の動作を示す図である。 従来の装置において、攻撃者が初期VMの拡張辞書に標準オペレータと同一名称の手続きを定義した例を示す図である。 従来の装置において、図14の攻撃を受けた後、図12と同じジョブを受信した場合の動作を示す図である。
以下、図面に基づき本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るプリンタの機能を備えた複合機8の一例を示している。複合機8は、LAN(Local Area Network)などのネットワーク2に接続されており、該ネットワーク2には複合機8に印刷データを送信する情報処理端末であるPC5等が接続されている。
複合機8は、原稿を光学的に読み取ってその複製画像を記録紙に印刷するコピー機能、読み取った原稿の画像データを一時保存したり外部端末へネットワークを通じて送信したりするスキャン機能、ユーザの情報処理端末から受信した印刷データに基づいて印刷する印刷機能などを備えている。以後、複合機8をMFPとも記す。
複合機8は、本体部10に、印刷制御装置20(所謂、プリンタコントローラ)を接続して構成されている。PC5は、PostScriptなどのPDLで記述された印刷データを生成して複合機8に送信し、複合機8の印刷制御装置20は受信した印刷データの各ページをラスタライズしてラスタイメージデータを生成する機能を果たす。本体部10は印刷制御装置20が生成したラスタイメージデータを受け取り、これに基づいて印刷する機能を果たす。なお、本実施の形態では、印刷データはPostScriptで記述されているものとする。
複合機8の本体部10は、当該本体部10の動作を統括的に制御する制御部11を有している。制御部11はCPU(Central Processing Unit)を有する。制御部11には、記憶部12、読取部13、プリンタエンジン部14、操作パネル15、ネットワーク通信部16、メモリ制御部17などが接続されている。
印刷制御装置20は、制御部21、記憶部22、画像記憶部23等を備えている。画像記憶部23にはラスタライズしたイメージデータが一時保存される。
本体部10の記憶部12は、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発メモリ、ハードディスク装置などで構成される。記憶部12には、各種のプログラムが格納されており、これらのプログラムに従って制御部11が処理を実行することで複合機8の本体部10としての機能が実現される。記憶部12は、ワークメモリ、通信バッファ、ファイルや画像データの一時記憶部として使用される。
読取部13は、原稿を光学的に読み取って画像データを取得する機能を果たす。読取部13は、たとえば、プラテンガラス上に載置された原稿に光を照射する光源と、その反射光を受けて原稿を幅方向に1ライン分読み取るラインイメージセンサと、光源が光を照射する位置およびラインイメージセンサによるライン単位の読取位置を原稿の長さ方向に順次移動させる移動ユニットと、原稿からの反射光をラインイメージセンサに導いて結像させるレンズやミラーなどからなる光学経路と、ラインイメージセンサの出力するアナログ画像信号をデジタルの画像データに変換する変換部などを備えて構成される。
プリンタエンジン部14は、画像データに応じた画像を記録紙上に画像形成する機能を果たす。ここでは、記録紙の搬送装置と、感光体ドラムと、帯電装置と、レーザーユニットと、現像装置と、転写分離装置と、クリーニング装置と、定着装置とを有し、電子写真プロセスによって画像形成を行う、所謂、レーザープリンタのエンジン部として構成されている。画像形成は他の方式でもかまわない。
操作パネル15は、表示部と、操作部を備えたユーザインターフェイス装置である。表示部は、液晶ディスプレイ(LCD…Liquid Crystal Display)などで構成され、各種の操作画面、設定画面などを表示する機能を果たす。操作部は、テンキーやスタートボタンなどのハードキーと、表示部の物理的画面上に設けられたタッチパネルなどで構成される。タッチパネルはタッチペンや指などで接触操作された座標位置を検出する。操作パネル15は、ジョブの設定を受け付けるジョブ設定部としての機能を果たす。
ネットワーク通信部16は、ネットワーク2を通じてユーザや管理者のPC5、その他の外部装置との間で通信する機能を果たす。
メモリ制御部17は、制御部11からの指示に従って、記憶部12への画像データの書込み、記憶部12からの画像データの読み出しを制御する。またメモリ制御部17は、本体部10と印刷制御装置20との間で画像データ(ラスタイメージデータ)を転送する機能を果たす。たとえば、メモリ制御部17は、原稿の読み取り中に読取部13から次々と出力される画像データを順次、記憶部12に格納して保存する。また、記憶部12に格納されている画像データをプリンタエンジン部14による印刷動作のタイミングを合わせて順次読み出してプリンタエンジン部14に出力する。また、印刷制御装置20の画像記憶部232に一時記憶されているラスタイメージデータを本体部10の記憶部12に転送する機能を果たす。
印刷制御装置20の制御部21はCPUで構成され、記憶部22はRAM、ROM、不揮発メモリなどで構成される。制御部21は記憶部22に格納されたプログラムに従って動作することで印刷制御装置20としての各種機能を実現する。画像記憶部23は、ハードディスク装置等の不揮発記憶装置であり、印刷データやこれをラスタライズして得たラスタイメージデータなどの記憶に使用される。
印刷制御装置20の制御部11はプログラムを実行することで、命令認識部24、命令実行部25の機能を果たす。また、記憶部22には、ジョブで定義された一時的な辞書であるジョブ辞書26、すべてのジョブに共通の拡張辞書27および標準辞書28が記憶される。標準辞書27には予め設定された標準の命令(オペレータ)が登録される。拡張辞書26にはプログラムで定義した追加の命令(手続き)が登録される。拡張辞書27および標準辞書28は初期VM(仮想メモリ)と呼ばれる領域に保存される。
命令認識部24は、印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する。命令実行部25は、命令認識部で認識した命令の内容を実行する。命令実行部25が各種の命令を実行することで画像記憶部23にラスタイメージデータが生成される。命令がプリント出力の場合、印刷制御装置20から本体部10の制御部11へプリント出力の指示が送出され、これを受けた本体部10がプリント処理を実行する。
PostScriptでは、startjob/exitserver命令を用いることで初期VMの拡張辞書27を書き換えて命令の追加等を行うことができる。しかし、これらの命令を自由に使えるようにした場合、背景技術で示したようなセキュリティ上の問題が生じる。そこで、本実施の形態に係る印刷制御装置20では、startjob/exitserver命令に関して以下のような対応を行う。
<対応策1>
startjob/exitserver命令を通して、defオペレータで初期VMの拡張辞書27に命令(手続き)を定義(更新)する際、定義する命令の名称が、標準辞書28に登録されている命令(オペレータ)と同名称か否かを判断し、同名称であれば拡張辞書27へ追加しないように制御する。すなわち、startjob/exitserver命令の実行を拒否する。これにより、少なくとも標準辞書28に登録されている命令(オペレータ)については標準辞書28で定義されている内容の動作を確保することができる。
たとえば、図2に示すように、攻撃者から、拡張辞書にshowpageという名称の命令を定義しようとするstartjob命令を受信した場合、印刷制御装置20の制御部21(命令実行部25)は、showpageと同名称の命令(オペレータ)が標準辞書28に登録されているか否かを確認する。この場合showpageという名称の命令は標準辞書28に登録されているので、命令実行部25はこのstartjob命令を実行しない(拒否する)。すなわち、拡張辞書27にshowpageという名称の命令は登録されない。
一方、図3に示すように、拡張辞書にabcdという名称の命令を定義しようとするstartjob命令を受けた場合は、abcdという名称の命令は標準辞書28に登録されていないので、命令実行部25はこのstartjob命令を実行する。すなわち、拡張辞書27にabcdという名称の命令が追加して定義される。
図4は、印刷制御装置20の制御部21が行う<対応策1>に係る処理の流れを示している。初期VM上の拡張辞書27の更新命令を受信すると(ステップS101)、該更新命令が更新対象とする命令(手続き)の名称を取得し(ステップS102)、更新対象の命令と、標準辞書28の全ての命令(オペレータ)の名称とを比較する(ステップS103)。更新対象命令(手続き)の名称と同名称の命令(オペレータ)が標準辞書28に登録されている場合は(ステップS104;Yes)、ステップS101で受けた更新命令を破棄して(ステップS105)本処理を終了する。
更新対象命令の名称と同名称の命令が標準辞書28に登録されていない場合は(ステップS104;No)、ステップS101で受けた更新命令を実行して拡張辞書27を書き換えて(ステップS106)、本処理を終了する。
対応策1では、PostScriptで標準実装されているオペレータの定義を更新することはできない一方、それ以外の名称の手続きについてはstartjob/exitserverといった拡張辞書更新用オペレータの使用を制限しないので、ユーザの利便性を損なわずにセキュリティを維持することができる。
しかし、対応策1では、以下の課題が残る。
(課題1)初期VM上の拡張辞書に標準オペレータと同名称の手続きを定義できなくなる。
(課題2)標準オペレータ以外の手続き定義は攻撃者も自由に書き換え可能になる。
これらの課題については以下のように対応する。
<対応策2>
管理者権限が確認された管理者が複合機8の操作パネル15から入力する場合は、初期VM上の拡張辞書に標準オペレータと同名称の手続きを定義することを可能にする。
すなわち、図5に示すように、ネットワークを通じて受信する命令については、初期VM上の拡張辞書に標準オペレータと同名称の手続きを定義する命令については拒否する。しかし、管理者権限の確認された管理者が初期VM上の拡張辞書に標準オペレータと同名称の手続きを定義する設定を印刷制御装置20の操作パネル15から行い得るようにユーザI/Fを用意する。
図5は、strokeという命令が実線の描画ではなく点線の描画となるように操作パネル上から初期VMの拡張辞書27を設定する例を示している。拡張辞書設定画面40において、手続き指定の欄に標準辞書で登録されているオペレータと同名称の手続き名を入力し、設定入力の欄に処理内容を入力した後、設定変更ボタンを押下することで、初期VMの拡張辞書27にstrokeという手続きが設定登録される。
<対応策3>
startjob/extiserver命令の対象が標準オペレータと同一名称であっても該命令を即破棄せずに一時保存領域に保持し、管理者が操作パネル15で承認操作を行った場合に、初期VMの拡張辞書27に対象の命令(手続き)が定義されるようにする。
図6の例では、showpageを対象とするstartjob命令や、strokeを対象とするstartjob命令は、いずれも定義対象の命令(手続き)の名称が標準辞書28に登録されているオペレータと同一名称なので、印刷制御装置20の制御部11はこの命令を即実行せずに一時保存領域に保持する。その後、管理者権限の確認された管理者が所定の操作を行うことで、複合機8の操作パネル15に、保持命令承諾画面50が表示される。保持命令承諾画面50には、一時保存領域に保持されている各命令(対象とする手続き)がその命令の実行を承認するか否かの選択欄と共に表示される。管理者が実行を承諾する命令の選択欄にチェックマークを入力した後、設定変更釦を押下すると、チェックマークの付された命令(対象とする手続き)が拡張辞書27に定義される。
対応策2、3はいずれもネットワーク経由によるアクセスリスク、一般ユーザによる不特定多数操作のリスクに対し、操作を操作パネル15からに限定することや管理者のみのアクセスに限定することでリスクを回避している。対応策2、3は課題1に対応するものである。
<対応策4>
対応策4は前述の課題2に対応するものであり、過去にジョブとして受信したことのあるオリジナル手続きのみを更新対象として許可し、過去にジョブとして受信したことのないオリジナル手続きを拡張辞書に登録する命令は拒否する。
対応策1では、標準辞書28に存在する命令と同一名称以外の命令を対象とするstartjob/extiserver命令については無防備となってしまう。そのため、オリジナル手続きについては、過去に受信したPostScriptジョブから手続き名(このジョブで定義された手続き名)を蓄積しておき、受信履歴のあるものだけを更新対象とするように制御する。
複合機8の印刷制御装置20は、受信したPostScriptジョブの中に手続きが定義されている(ジョブの辞書に手続きを定義する命令が存在する)場合、その手続きを履歴情報として保存する。図7の例では、abcという名称の手続きを定義したPostScriptジョブ1と、defという名称の手続きを定義したPostScriptジョブ2を過去に受信しており、履歴情報にそれらが登録されている。
この状態で、startjob命令を受信すると、印刷制御装置20の制御部21は、該startjob命令が対象とする命令(手続き)の名称と同一名称の命令(手続き)が履歴情報に登録されているか否かを確認し、履歴情報に登録があれば、該startjob命令を実行し、履歴情報に登録がなければ、該startjob命令を実行しない。
図7の例では、abcとい名称の命令(手続き)を対象とするstartjob命令は、abcという命令(手続き)が履歴情報に存在するので、実行され、その結果として初期VMの拡張辞書27にabcという名称の手続きが定義されている。一方、ghiとい名称の命令(手続き)を対象とするstartjob命令は、ghiという命令(手続き)が履歴情報に存在しないので、実行されず、その結果として初期VMの拡張辞書27にdefという名称の手続きは定義されていない。
図8は、対応策1、対応策3、対応策4を採用した場合の印刷制御装置20の制御部21が行う処理を示す流れ図である。初期VM上の拡張辞書27の更新命令を受信すると(ステップS201)、該更新命令が更新対象とする命令(手続き)の名称を取得し(ステップS202)、更新対象の命令(手続き)と、標準辞書28の全ての命令(オペレータ)の名称とを比較する(ステップS203)。更新対象命令の名称と同名称の命令が標準辞書28に登録されている場合は(ステップS204;Yes)、その更新命令を一時保持する(ステップS206)。
更新対象命令の名称と同名称の命令が標準辞書28に登録されていない場合は(ステップS204;No)、更新対象命令(手続き)の名称と同名称の命令(手続き)が履歴に存在するか否かを確認する(ステップS205)。履歴に同一名称の命令(手続き)が存在しなければ(ステップS205;No)、その更新命令を一時保持する(ステップS206)。
履歴に同一名称の命令(手続き)が存在する場合は(ステップS205;Yes)、ステップS201で受けた更新命令を実行して拡張辞書27を書き換えて(ステップS209)、本処理を終了する。
ステップS206で更新命令を一時保持した場合は、その後、管理者が操作パネルから承諾操作を行うのを待機する。一定時間が経過しても操作パネルで管理者から実行の承諾を受けない更新命令については(ステップS207;No)、その更新命令を破棄して(ステップS208)、本処理を終了する。操作パネルを通じて管理者から実行の承諾を受けた更新命令については(ステップS207;Yes)、その更新命令を実行して拡張辞書27を書き換えて(ステップS209)、本処理を終了する。
<変形例1>
前述の対応策1では、標準辞書28に登録されている命令(オペレータ)と同一名称の命令(手続き)の拡張辞書27への登録を拒否するようにしたが、変形例1では、標準辞書28に登録されている命令(オペレータ)と同一名称の命令(手続き)の拡張辞書27への登録は許可し、標準辞書28に登録されている命令(オペレータ)と同一名称でない命令(手続き)の拡張辞書27への登録を拒否する。
たとえば、ユーザから、拡張辞書にshowpageという名称の命令(手続き)を定義しようとするstartjob命令を受信している場合、印刷制御装置20の制御部21(命令実行部25)は、showpageと同名称の命令(オペレータ)が標準辞書28に登録されているか否かを確認する。Showpageは標準辞書28に登録されている命令(オペレータ)なので、図9に示すように、命令実行部25はこのstartjob命令を実行して拡張辞書27にshowpageという名称の命令(手続き)を定義する。
一方、図10に示すように、拡張辞書にabcdという名称の命令(手続き)を定義しようとするstartjob命令を受けた場合は、abcdという名称の命令(オペレータ)は標準辞書28に登録されていないので、命令実行部25はこのstartjob命令を実行しない。
<変形例2>
拡張辞書27を書き換える命令(startjob/extiserver)を有効とするか否かの設定を設定部(操作パネル15の設定画面)から受け付け、命令実行部25は、拡張辞書27を書き換える命令を有効とする設定を設定部で受けている場合は、拡張辞書27を書き換える命令を拒否しない。
たとえば、図11に示すような設定画面60を操作パネル15に表示して、拡張辞書27を書き換える命令(startjob/extiserver)を有効とするか無効とするかの設定を管理者等から受け付ける。有効の設定を受けた場合は、対応策1等の処理は行わずに、拡張辞書27を書き換える命令(startjob/extiserver)を受けた場合に無条件でそれを実行する。無効の設定を受けている場合は、拡張辞書27を書き換える命令(startjob/extiserver)の実行をすべて拒否する。なお、設定画面60に「判定」の項目をさらに設け、判定が設定された場合は前述したいずれかの対応策を実施するようにしてもよい。
このように本発明によれば、startjob/extiserver命令による拡張辞書の書き換えに関して、ユーザの利便性を損なうことなくセキュリティを確保することができる。
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
実施の形態では、対象のPDLがPostScriptの場合を例に説明したが、本発明の対象はPostScriptに限定されるものではなく、初期VMの拡張辞書27と標準辞書28のような辞書を有し、拡張辞書27を更新する命令を有するPDLであれば他の種類のPDLであっても構わない。
実施の形態では複合機8を例に説明したが、これに限定されずプリンタ機能を有する装置であればよく、プリンタ機能のみを有する印刷装置であってもよい。
本発明は、印刷制御装置20で実行されるプログラムとされてもよいし、印刷制御装置20とされてもよい。また印刷制御装置20を含む複合機8等のプリンタであってもよい。
2…ネットワーク
5…PC
8…複合機
10…本体部
11…制御部
12…記憶部
13…読取部
14…プリンタエンジン部
15…操作パネル
16…ネットワーク通信部
17…メモリ制御部
20…印刷制御装置(プリンタコントローラ)
21…制御部
22…記憶部
23…画像記憶部
24…命令認識部
25…命令実行部
26…ジョブ辞書
27…拡張辞書
28…標準辞書
40…拡張辞書設定画面
50…保持命令承諾画面
60…設定画面

Claims (13)

  1. 情報処理装置で実行される、印刷データをラスタイメージデータに展開するプログラムであって、
    印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する命令認識ステップと、
    前記命令認識ステップで認識した命令の内容を実行する命令実行ステップと、
    を備え、
    前記命令実行ステップでは、前記命令認識ステップで認識した第1の命令の内容が、前記拡張辞書の書き換えである場合は、書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致するか否かに応じて、前記第1の命令の実行を拒否するか否かを切り替える
    ことを特徴とするプログラム。
  2. 前記命令実行ステップでは、前記第1の命令の内容が前記拡張辞書の書き換えであって書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致する場合は、前記第1の命令の実行を拒否する
    ことを特徴とする請求項1に記載のプログラム。
  3. 前記拒否される命令の入力をプリンタの操作パネルで管理者から受け付ける入力ステップと、
    前記入力ステップで受け付けた命令を実行する強制実行ステップと
    をさらに有する
    ことを特徴とする請求項1または2に記載のプログラム。
  4. 前記命令実行ステップで実行を拒否した命令を保持する保持ステップと、
    前記保持された命令の実行承認をプリンタの操作パネルで管理者から受け付ける承認受領ステップと、
    前記承認受領ステップで実行承認を受けた命令を実行する第2強制実行ステップと、
    をさらに有する
    ことを特徴とする請求項1乃至3のいずれか1つに記載のプログラム。
  5. 前記命令実行ステップでは、前記第1の命令の内容が、前記拡張辞書の書き換えであり、かつ書き換え対象の命令の名称が前記標準辞書に登録されているいずれの命令の名称とも一致しない場合であっても、前記書き換え対象の命令が過去にジョブで定義されたことのない命令の場合は、前記第1の命令の実行を拒否する
    ことを特徴とする請求項2に記載のプログラム。
  6. 前記拡張辞書を書き換える命令を有効とするか否かの設定を受け付ける設定ステップをさらに有し、
    前記命令実行ステップでは、前記拡張辞書を書き換える命令を有効とする設定を前記設定ステップで受けている場合は、前記拒否を行わない
    ことを特徴とする請求項1乃至5のいずれか1つに記載のプログラム。
  7. 印刷データをラスタイメージデータに展開する印刷制御装置であって、
    印刷データに含まれる命令の内容を、ジョブ毎の辞書、拡張辞書、標準辞書の優先順でこれらを参照して認識する命令認識部と、
    前記命令認識部で認識した命令の内容を実行する命令実行部と、
    を備え、
    前記命令実行部は、前記命令認識部で認識した第1の命令の内容が、前記拡張辞書の書き換えである場合は、書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致するか否かに応じて、前記第1の命令の実行を拒否するか否かを切り替える
    ことを特徴とする印刷制御装置。
  8. 前記命令実行部は、前記第1の命令の内容が前記拡張辞書の書き換えであって書き換え対象の命令の名称が前記標準辞書に登録されているいずれかの命令の名称と一致する場合は、前記第1の命令の実行を拒否する
    ことを特徴とする請求項7に記載の印刷制御装置。
  9. 前記拒否される命令の入力をプリンタの操作パネルで管理者から受け付ける入力部をさらに有し、
    前記命令実行部は、前記入力部で受け付けた命令を実行する
    ことを特徴とする請求項7または8に記載の印刷制御装置。
  10. 前記命令実行部で実行を拒否された命令を保持する保持部と、
    前記保持部に保持された命令の実行承認をプリンタの操作パネルで管理者から受け付ける承認受領部と、
    をさらに有し、
    前記命令実行部は、前記承認受領部で実行承認を受けた命令を実行する
    ことを特徴とする請求項7乃至9のいずれか1つに記載の印刷制御装置。
  11. 前記命令実行部は、前記第1の命令の内容が、前記拡張辞書の書き換えであり、かつ書き換え対象の命令の名称が前記標準辞書に登録されているいずれの命令の名称とも一致しない場合であっても、前記書き換え対象の命令が過去にジョブで定義されたことのない命令の場合は、前記第1の命令の実行を拒否する
    ことを特徴とする請求項8に記載の印刷制御装置。
  12. 前記拡張辞書を書き換える命令を有効とするか否かの設定を受け付ける設定部をさらに有し、
    前記命令実行部は、前記拡張辞書を書き換える命令を有効とする設定を前記設定部で受けている場合は、前記拒否を行わない
    ことを特徴とする請求項7乃至11のいずれか1つに記載の印刷制御装置。
  13. 請求項7乃至12のいずれか1つに記載の印刷制御装置を有するプリンタ。
JP2017195976A 2017-10-06 2017-10-06 プログラム、印刷制御装置、プリンタ Active JP6919810B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017195976A JP6919810B2 (ja) 2017-10-06 2017-10-06 プログラム、印刷制御装置、プリンタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017195976A JP6919810B2 (ja) 2017-10-06 2017-10-06 プログラム、印刷制御装置、プリンタ

Publications (2)

Publication Number Publication Date
JP2019071524A true JP2019071524A (ja) 2019-05-09
JP6919810B2 JP6919810B2 (ja) 2021-08-18

Family

ID=66441328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017195976A Active JP6919810B2 (ja) 2017-10-06 2017-10-06 プログラム、印刷制御装置、プリンタ

Country Status (1)

Country Link
JP (1) JP6919810B2 (ja)

Also Published As

Publication number Publication date
JP6919810B2 (ja) 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
US9288347B2 (en) Job setting registration device, image processing apparatus, tangible computer-readable recording medium and method for registering job setting
JP2013018209A (ja) 印刷装置、印刷装置の制御方法、及びプログラム
JP4941463B2 (ja) 情報処理装置および印刷装置
JP7225737B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7434403B2 (ja) 印刷装置、印刷装置の制御方法、並びにプログラム
JP2019005969A (ja) 印刷システムおよびプログラム
US10664212B2 (en) Image forming apparatus, control method for image forming apparatus, and storage medium for controlling storage of a print job
KR20130031208A (ko) 인쇄 제어 장치 및 그 제어 방법
JP6344368B2 (ja) ジョブ処理システム、ジョブ処理装置、プログラム
JP4775456B2 (ja) 表示管理システム
JP2014075658A (ja) 印刷装置およびログ書き込み方法
US10120627B2 (en) Processing device, non-transitory recording medium storing a computer readable program and substitute process setting method
JP6834675B2 (ja) ジョブ処理装置、サーバ、サーバプログラム
JP6641952B2 (ja) 印刷システム
JP2019001040A (ja) 画像形成装置およびプログラム
US9538026B2 (en) Display apparatus, image processing apparatus, display method, and computer readable medium for controlling an operation of a display process
JP6919810B2 (ja) プログラム、印刷制御装置、プリンタ
JP2017030312A (ja) 画像出力装置とその制御方法、及びプログラム
US20180084122A1 (en) Processing device, image forming apparatus, and non-transitory computer readable medium
JP2018161761A (ja) 画像形成装置及び画像形成プログラム
JP6579083B2 (ja) 画像処理装置
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

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