JP4760150B2 - アプリケーション開発用プログラムおよび画像処理装置 - Google Patents

アプリケーション開発用プログラムおよび画像処理装置 Download PDF

Info

Publication number
JP4760150B2
JP4760150B2 JP2005171199A JP2005171199A JP4760150B2 JP 4760150 B2 JP4760150 B2 JP 4760150B2 JP 2005171199 A JP2005171199 A JP 2005171199A JP 2005171199 A JP2005171199 A JP 2005171199A JP 4760150 B2 JP4760150 B2 JP 4760150B2
Authority
JP
Japan
Prior art keywords
command
level
program
application development
image processing
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.)
Active
Application number
JP2005171199A
Other languages
English (en)
Other versions
JP2006344146A (ja
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies 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 Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2005171199A priority Critical patent/JP4760150B2/ja
Publication of JP2006344146A publication Critical patent/JP2006344146A/ja
Application granted granted Critical
Publication of JP4760150B2 publication Critical patent/JP4760150B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明はアプリケーション開発用プログラムおよび画像処理装置に関し、特にアプリケーションプログラムインターフェース(API)を有する画像処理装置およびその画像処理装置に実行させるためのアプリケーションプログラムを開発するためのアプリケーション開発プロラムに関する。
複合機に代表される画像処理装置は、アプリケーションプログラムを読み込ませることによりそれの開発時に搭載された機能を拡張または変更することが可能となっている。これは、画像処理装置が、それが有するオペレーティングシステムとアプリケーションプログラムとのインターフェイスとなるAPIを備えていることにより可能となる。
近年このAPIは、画像処理装置のアプリケーション開発者に公開されている。しかしながら、全てのAPIを公開してしまうと、画像処理装置の有する機能を意図的に阻害するアプリケーションプログラムが出現する恐れがある。たとえば、画像処理装置は、複写枚数に応じて課金する機能を有している場合には複写枚数をカウントする機能を有しているが、このカウントされた複写枚数を変更するアプリケーションプログラムを作成可能となってしまう。このため、画像処理装置の製造業者は、信頼される者にのみAPIを公開するのが通常である。したがって、画像処理装置の一般的なユーザにはAPIが公開されないため、一般ユーザは自らアプリケーションプログラムを作成して機能を拡張または変更することができなかった。
一方、アプリケーションプログラムが不正に作成されることに備えて、アプリケーションプログラムの作成者を認証して不正に作成されたアプリケーションプログラムであるか否かを判定することにより、不正に作成されたアプリケーションプログラムが実行されるのを防止する技術が特開2005−92275号公報(特許文献1)に記載されている。
特開2005−92275号公報に記載の技術によれば、認証されない不正な作成者、換言すれば、予め定められた作成者以外の物によって作成されたアプリケーションプログラムが実行されないようにすることができる。しかしながら、APIを秘密にしておく度合い(以下「秘密性レベル」という)は、APIによって違いがある。たとえば、課金処理に関するAPIの秘密性レベルは高く、パネル表示に関するAPIの秘密性レベルは低い。このため、特開2005−92275号公報に記載の技術では、APIを公開するかまたは公開しないかのいずれかを選択することはできるが、公開する者によって公開するAPIを異ならせることはできない。
特開2005−92275号公報
この発明は上述した問題点を解決するためになされたものでこの発明の目的の一つは、アプリケーションプログラムが不正に作成されるのを防止することが可能なアプリケーション開発用プログラムを提供することである。
この発明の他の目的は、開発プログラムごとに使用できるコマンドを異ならせたアプリケーション開発用プログラムを提供することである。
この発明のさらに他の目的は、不正に作成されたアプリケーションプログラムの実行を制限することが可能な画像形成装置を提供することである。
この発明のさらに他の目的は、実行されるアプリケーションプログラムごとに実行可能なコマンドを異ならせることが可能な画像処理装置を提供することができる。
上述した目的を達成するためにこの発明のある局面によれば、アプリケーション開発用プログラムは、画像処理装置に実行させるアプリケーションプログラムを作成するためにコンピュータにより実行されるアプリケーション開発用プログラムである。そして、画像処理装置に予め準備されている複数のコマンドごとに許可レベルを対応付けたコマンドレベルリストを含んでいる。使用可能な許可レベルが予め与えられたレベルキーであって、アプリケーション開発用プログラムに書き込まれているレベルキーを取得するステップと、コマンドの入力を受付けるステップと、入力されたコマンドに対応付けられた許可レベルをコマンドレベルリストから取得するステップと、取得された許可レベルとレベルキーとから入力されたコマンドが有効か否かを判定するステップとをコンピュータに実行させる。
この発明に従えば、使用可能な許可レベルが予め与えられたレベルキーであって、アプリケーション開発用プログラムに書き込まれているレベルキーが取得され、入力されたコマンドに対応付けられた許可レベルとレベルキーとから、入力されたコマンドの有効性が判定される。このため、アプリケーションプログラムの作成時において、アプリケーション開発用プログラムから取得されるレベルキーによって、使用可能なコマンドが制限される。その結果、アプリケーションプログラムが不正に作成されるのを防止することが可能なアプリケーション開発用プログラムを提供することができる。また、レベルキーによって、使用可能なコマンドが制限されるので、レベルキーごとに使用を許可するコマンドを異ならせることができる。このため、アプリケーション開発用プログラムごとに使用できるコマンドを異ならせたアプリケーション開発用プログラムを提供することができる。
好ましくは、取得されたレベルキーを作成されたアプリケーションプログラムに埋め込むステップをさらに実行させる。
この発明の他の局面によれば、アプリケーション開発用プログラムは、画像処理装置に実行させるためのアプリケーションプログラムを作成するためにコンピュータにより実行されるアプリケーション開発用プログラムであって、画像処理装置に予め準備されている複数のコマンドごとに許可レベルを対応付けたコマンドレベルリストを含み、使用可能な許可レベルが予め与えられたレベルキーを取得するステップと、コマンドの入力を受付けるステップと、入力されたコマンドに対応付けられた許可レベルをコマンドレベルリストから取得するステップと、取得された許可レベルとレベルキーとから入力されたコマンドが有効か否かを判定するステップと、取得されたレベルキーを作成されたアプリケーションプログラムに埋め込むステップと、をコンピュータに実行させる。
好ましくは、判定ステップは、取得された許可レベルと予め与えられたレベルキーとから有効と判定されなかったコマンドが、所定の他のコマンドとの組合せであることを条件に有効と判定するステップを含む。
好ましくは、所定の他のコマンドは、データを暗号化するためのコマンドである。
好ましくは、所定の他のコマンドは、データを表示するためのコマンドである。
好ましくは、判定ステップは、取得された許可レベルと予め与えられたレベルキーとから有効と判定されなかったコマンドがデータへアクセスするコマンドの場合、認証されている使用者に関連するデータにアクセスすることを条件に有効と判定する。
この発明の他の局面によれば、画像処理装置は、予め準備されている複数のコマンドごとに許可レベルを対応付けたコマンドレベルリストを記憶する記憶手段と、アプリケーションプログラムが入力される入力手段と、使用可能な許可レベルが予め与えられたレベルキーを取得するレベルキー取得手段と、入力されたアプリケーションプログラムに含まれるコマンドを抽出して、コマンドレベルリストから該コマンドに対応付けられている許可レベルを取得する許可レベル取得手段と、取得されたコマンドレベルと取得されたレベルキーとから抽出されたコマンドが有効か否かを判定する判定手段とを備える。
この発明に従えば、使用可能な許可レベルが予め与えられたレベルキーが取得され、入力されたアプリケーションプログラムに含まれるコマンドに対応付けられた許可レベルとレベルキーとから、コマンドの有効性が判定される。このため、アプリケーションプログラムの実行時において、アプリケーションプログラムの有効性が判定される。その結果、不正に作成されたアプリケーションプログラムの実行を制限することが可能な画像形成装置を提供することができる。また、レベルキーによって、実行を制限するコマンドを異ならせることができる。このため、実行されるアプリケーションプログラムごとに実行可能なコマンドを異ならせることが可能な画像処理装置を提供することができる。
好ましくは、レベルキー取得手段は、入力されるアプリケーションプログラムからレベルキーを取得する。
好ましくは、判定手段は、取得された許可レベルと予め与えられたレベルキーとから有効と判定されなかったコマンドが、所定の他のコマンドとの組合せであることを条件に有効と判定する組合判定手段を含む。
好ましくは、所定の他のコマンドは、暗号化するためのコマンドである。
好ましくは、所定の他のコマンドは、データを表示するためのコマンドである。
好ましくは、判定手段は、取得された許可レベルと予め与えられたレベルキーとから有効と判定されなかったコマンドがデータへアクセスするコマンドの場合、認証されている使用者に関連するデータにアクセスすることを条件に有効と判定する。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
<アプリケーション開発装置>
図1は、本発明の実施の形態の一つにおけるアプリケーション開発装置のハード構成を示すブロック図である。アプリケーション開発装置100は、一般的なコンピュータである。図1を参照して、アプリケーション開発装置100は、それぞれがバス120に接続された中央演算装置(CPU)101と、CPU101が実行するためのブートアッププログラムなどを記録したROM(Read
Only Memory)103と、実行されるプログラムをロードするための、およびプログラム実行中のデータを記憶するためのRAM(Random Access Memory)105と、データを不揮発的に記憶するためのハードディスクドライブ(HDD)107と、ICカード108が装着されるカードインターフェース(I/F)109と、ユーザとのインターフェイスとなる入力部111および表示部113と、アプリケーション開発装置100をネットワーク2に接続するための通信I/F115とを含む。
CPU101は、HDD107に記憶されたアプリケーション開発用プログラムをRAM105にロードして実行する。なお、CPU101は、カードI/F109に装着されたICカード108に記録されたアプリケーション開発用プログラムをRAM105にロードして実行するようにしてもよい。さらに、ネットワークに接続された他のコンピュータからアプリケーション開発用プログラムをダウンロードしてHDD107に記憶し、そのアプリケーション開発用プログラムをRAM105にロードして実行するようにしてもよい。ここでいうアプリケーション開発用プログラムは、CPU101により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、アプリケーション開発用プログラムを記憶する記録媒体としてはICカード108に限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic
Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electronically
Erasable and Programmable ROM)などの半導体メモリ等の固定的にプログラムを担持する媒体であってもよい。
入力部111は、キーボードまたはマウス等の入力装置である。表示部113は、液晶表示装置または陰極線管(CRT)である。通信I/F115は、アプリケーション開発装置100をネットワーク2接続するための通信インターフェイスである。これにより、アプリケーション開発装置100は、他のコンピュータとの間で通信することが可能となる。アプリケーション開発装置100と、他のコンピュータとは、ネットワークを介して接続される例を示しているが、シリアルインターフェイスまたはパラレルインターフェイスを用いて直接接続されてもよい。通信I/F115は、アプリケーション開発装置100と他のコンピュータとの接続形態に応じたインターフェイスが用いられる。
本実施の形態におけるアプリケーション開発装置100は、画像処理装置で実行されるアプリケーションプログラムを開発するための装置である。画像処理装置は、複写機、プリンタ、スキャナ、ファクシミリ、これらを複合した複合機等を含む。このアプリケーション開発装置100は、コンピュータでアプリケーション開発用プログラムが実行されることにより実現される。なお、アプリケーション開発装置100は、アプリケーション開発用プログラムをROM等に予め記憶した専用機であてもよい。アプリケーション開発用プログラムは、秘密性レベルに応じて複数が存在する。アプリケーション開発用プログラムを提供する者によって、秘密性が異なるアプリケーション開発用プログラムが提供される。たとえば、画像処置装置の製造者にあっては、秘密性レベルが最も高いレベル3のプリケーション開発用プログラムが提供される。その製造者に信頼された者には、秘密性レベルが次に高いレベル2のアプリケーション開発用プログラムが提供される。画像処理装置の管理者には、秘密性レベルが次に高いレベル1のアプリケーション開発用プログラムが提供される。一般ユーザには、秘密性レベルが最も低いレベル0のアプリケーション開発用プログラムが提供される。
図2は、アプリケーション開発用プログラムの構成の一例を示す図である。アプリケーション開発用プログラム150は、レベルキー151と、コマンドレベルリスト153と、編集部155と、コンパイラ部157とを含む。レベルキーは、アプリケーション開発用プログラム150に与えられた秘密性レベルである。コマンドレベルリスト153は、APIが有する複数のコマンド(関数)ごとに許可レベルを対応付けたデータである。編集部155は、コンピュータに実行される部分であり、ソースプログラムを作成するための処理が記述された編集プログラムである。コンパイラ部157は、コンピュータに実行される部分であり、生成されソースプログラムをコンパイルして実行プログラムを生成するための処理が記述されたコンパイルプログラムである。
図3は、コマンドレベルリストを説明するための図である。コマンドレベルリストは、コマンドごとに許可レベルを対応付ける。許可レベルは、秘密性レベルで定められる。図3を参照して、パネルGUI(Graphical User Interface)変更に関するコマンドと、宛先情報の取得、登録または変更に関するコマンドとには、秘密性レベルが最も低いレベル0の許可レベルが対応付けられる。ユーザ情報の取得、登録または変更に関するコマンドと、ユーザカウンタ情報の取得または変更に関するコマンドとには、秘密性レベルがレベル0より高いレベル1の許可レベルが対応付けられる。仕向変更に関するコマンド、またはオプションの変更または画質調整に関するコマンドとには、秘密性レベルがレベル1より高いレベル2の許可レベルが対応付けられる。トータルカウンタ情報の書換えに関するコマンドには、秘密性レベルがレベル2より高い最高のレベル3の許可レベルが対応付けられる。
ここで、レベルキーと許可レベルとの関係について説明する。レベルキーと許可レベルとは共に秘密性レベルで定められる。許可レベルは、コマンドごとに付される秘密性レベルを示す。レベルキーは、アプリケーション開発用プログラムごとに付される秘密性レベルを示す。本実施の形態におけるアプリケーション開発装置100では、アプリケーション開発用プログラムに付されたレベルキーにより定まる秘密性レベル以下の秘密性レベルが許可レベルによって付されたコマンドの使用を許可する。
図4は、アプリケーション開発装置で実行されるアプリケーションプログラム作成処理の流れを示すフローチャートである。このアプリケーションプログラム作成処理は、アプリケーション開発用プログラムがRAM105にロードされてCPU101で実行される処理である。ここでは、アプリケーションプログラムのソースプログラムが作成された後の処理を示している。まず、コンパイル指示の入力が受付けられたか否かが判断される(ステップS01)。コンパイル指示が入力されるまで待機状態となり(ステップS01でNO)、コンパイル指示が入力されればステップS02に進む。ステップS02では、ソースプログラムが読み出される(ステップS02)。
そして、コマンドレベルリストが取得される(ステップS03)。コマンドレベルリストは、上述したようにアプリケーション開発用プログラムに書き込まれているため、アプリケーション開発用プログラムからコマンドレベルリストが取得される。さらに、レベルキーが取得される(ステップS04)。レベルキーは、上述したようにアプリケーション開発用プログラムに書き込まれているため、アプリケーション開発用プログラムからレベルキーが取得される。
次のステップS05では、ステップS02で読み出されたソースプログラムに記述されているコマンドを抽出する。抽出されたコマンドを処理対象コマンドという。そして、コマンドレベルリストによって、抽出したコマンドに対応付けられている許可レベルが取得される(ステップS06)。取得された許可レベルがステップS04でアプリケーション開発用プログラムから取得されたレベルキーと比較される(ステップS07)。許可レベルがレベルキー以下であれば処理対象コマンドを有効と判断してステップS10に進み、そうでなければステップS18に進む。
ステップS08では、コマンドの使用態様がチェックされ、次のステップS09でチェック結果が判定される。チェック結果が有効であればステップS10に進むが、無効の場合にはステップS14に進む。ステップS10では次に処理対象とするコマンドがソースプログラムに記述されているか否かが判断され、記述されていれば上述した処理を繰り返すためにステップS05に戻り、記述されていなければステップS11に進む。ステップS14ではエラー処理を実行した後、処理を終了する。エラー処理は、アプリケーション開発装置100のユーザにコンパイルできないことを知らせる処理であり、たとえば、許可されていないコマンドが記述されているためにコンパイルできないことを示すメッセージを表示する。
ステップS11では、ソースプログラムをコンパイルして実行プログラムを生成する。次のステップS12では、生成された実行プログラムにステップS04で取得されたレベルキーを付加する。これによりレベルキーは、実行プログラムの一部に含まれる。次のステップS13では、レベルキーが付加された実行プログラムがアプリケーションプログラムとして出力される。これにより、アプリケーションプログラムが、HDD107またはICカード108に記憶される。アプリケーションプログラムをICカード108に記憶すれば、そのICカード108を、画像処理装置で読み取ることにより画像処理装置でアプリケーションプログラムを実行することが可能となる。また、通信I/F115を介してネットワークに接続された画像処理装置に送信するようにしてもよい。
なお、アプリケーションプログラムを記憶する記録媒体としてはICカード108に限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic
Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリ等の固定的にプログラムを担持する媒体であってもよい。
図5は、図4のステップS08で実行される使用態様チェック処理の流れを示すフローチャートである。図5を参照して、まず、処理対象とされているコマンドが、他のコマンドと有効な組合せで記述されているか否かが判断される(ステップS21)。有効な組合せの判断は、予めコマンドレベルリストに記述してある組合せ一覧を参照して、その組合せ一覧に定義された組合せであれば処理対象コマンドを有効と判断する。有効と判断した場合にはステップS22に進み、そうでなければステップS23に進む。ステップS22では、処理対象コマンドを有効としてリターンする。すなわち、レベルキーが処理対象コマンドに付された許可レベルより小さい場合であっても、組合せ一覧で定義されている組合せコマンドと組み合わせて記述されていることを条件に、処理対象コマンドを有効とする。
図6は、組合せ一覧の一例を示す図である。図6を参照して、組合せ一覧は、処理対象コマンドと組合せコマンドとを定義する。図6では、処理対象コマンドである情報取得コマンドに対して、暗号化コマンドが組合せコマンドとして定義される。このため、情報取得コマンドの許可レベルがレベルキーより小さくても、暗号化コマンドと組み合わせて記述されていれば、情報取得コマンドが有効とされる。また、処理対象コマンドであるカウンタ情報取得コマンドに対して、パネル表示コマンドが組合せコマンドとして定義される。このため、カウンタ情報取得コマンドの許可レベルがレベルキーより小さくても、パネル表示コマンドと組み合わせて記述されていれば、カウンタ情報取得コマンドが有効とされる。
図5に戻って、ステップS23では、処理対象コマンドが情報取得コマンドか否かが判断される。真の場合にはステップS24に進み、偽の場合にはステップS25に進む。本実施の形態において、情報取得コマンドには、ユーザの情報を取得するユーザ情報取得コマンドと、ユーザのパスワードを取得するパスワード取得コマンドとを含む。ステップS23では、処理対象コマンドがユーザ情報取得コマンドまたはパスワード取得コマンドの場合にはステップS24に進み、いずれでもない場合にステップS26に進む。
ステップS24では、ユーザ情報取得コマンドが認証ユーザの情報を取得するように記述されているか、または、パスワード取得コマンドが認証ユーザのパスワードを取得するように記述されているかが判断される。ユーザ情報取得コマンドまたはパスワード取得コマンドが、認証されたユーザに関連するユーザ情報またはパスワードにアクセスするように記述されていれば、真と判断し、そのように記述されていなければ偽と判断する。真と判断した場合にはステップS22に進むが、偽と判断した場合にはステップS25に進む。ステップS22では、処理対象コマンドを有効としてリターンし、ステップS25では処理対象コマンドを無効としてリターンする。すなわち、情報取得コマンドが取得の対象とする情報が、認証されているユーザに関連する情報にアクセスするように記述されていることを条件に、処理対象コマンドを有効とする。
以上説明したように本実施の形態におけるアプリケーション開発装置100で実行されるアプリケーション開発用プログラム150は、アプリケーション開発装置100で実行されると、アプリケーションプログラムの作成時において、アプリケーション開発用プログラム150に含まれるレベルキーによって、使用可能なコマンドを制限させる。その結果、アプリケーションプログラムが不正に作成されるのを防止することができる。
また、アプリケーション開発用プログラム150に含まれるレベルキーごとに使用を許可するコマンドを異ならせることができるので、アプリケーション開発用プログラムごとに使用できるコマンドを異ならせることができる。
<画像処理装置>
次に、上述したアプリケーションプログラムが実行される画像処理装置について説明する。ここでは、画像処理装置の一例としてMFP(Multi
Function Peripheral)を例に説明する。
図7は、本実施の形態におけるMFPのハード構成を示すブロック図である。図7を参照して、MFP200は、スキャナ部203と、用紙などの記録媒体に画像を形成する画像形成部206と、それぞれがバス211に接続されたCPU(Central Processing Unit)201と、記憶部202と、スキャナ部203が出力する画像データを処理する入力画像処理部204と、画像データに出力するのに適した処理を行う出力画像処理部205と、ネットワークインターフェイス(I/F)207と、モデム208と、操作パネル209と、カードI/F210とを含む。
CPU201は、MFP200の全体を制御する。記憶部202は、ROM(Read
Only Memory)、RAM(Random Access Memory)およびEEPROM〔Electrically Erasable/Programable ROM)などの半導体メモリおよびハードディスクドライブ(HDD)等の磁気記憶装置を含む。CPU201は、ROMまたはEEPROMに記憶されたアプリケーションプログラムをRAMにロードして実行する。
スキャナ部203は、CCD(Charge Coupled Device)等の光電変換素子を含み、原稿を光学的に読取って電子データとしての画像データを入力画像処理部204に出力する。入力画像処理部204は、入力された画像データに対して、色変換処理、色補正処理、解像度変換処理、領域判別処理などを実行して、処理した画像データを記憶部202に記憶する。
出力画像処理部205は、記憶部202から画像データを読み出して、スクリーン制御処理、スムージング処理、パルス幅変調(PWM)を行い、処理後の画像データを画像形成部206に出力する。画像形成部206は、レーザプリンタであり、出力画像処理部205から入力される画像データを紙などの記録媒体に可視化する。画像形成部206は、カラープリントの場合には、イエロー、マゼンタ、シアン、ブラックの4色のトナーで画像を形成する。画像形成部206は、インクジェットプリンタであってもよい。
カードI/F210には、ICカード108が装着される。CPU201は、カードI/F210を介してICカード108にアクセスが可能である。ネットワークI/F207は、MFP200をネットワークと接続する。
ネットワークI/F207は、データを所定の通信プロトコルに従ってネットワークに出力し、ネットワークから所定の通信プロトコルに従ってデータを受信する。CPU201は、ネットワークI/F207を介してネットワークに接続された他のコンピュータと通信することが可能となる。このため、ネットワークを介して上述したアプリケーション開発装置100と接続した場合には、アプリケーション開発装置100から送信されるアプリケーションプログラムがネットワークI/F207で受信される。
モデム208は、MFP200を電話回線と接続する。モデム208は、データをファクシミリの通信プロトコルに従ってファクシミリ通信を可能とする。モデム208は、ファクシミリ受信されたデータを記憶部202のHDDに記憶する。また、モデム208は、電話回線に接続されたコンピュータとの通信を可能とするためNCU(Network Control Unit)を含む。このため、電話回線を介して上述したアプリケーション開発装置100と接続した場合には、アプリケーション開発装置100から送信されるアプリケーションプログラムがモデム208で受信される。
操作パネル209は、入力部209Aと表示部209Bとを含む。入力部209Aは、MFP200のユーザによる操作の入力を受付けるためのタッチパネル、キーボードまたはマウス等の入力装置である。表示部209Bは、液晶表示装置または有機EL(electro−luminescence)ディスプレイパネルである。入力部209Aに透明な部材からなるタッチパネルを用いる場合には、表示部209B上にタッチパネルを重ねて設置することで、表示部209Bに表示されたボタンの指示を検出することができる。これにより、種々の操作の入力が可能となる。
なお、CPU201で実行するアプリケーションプログラムは、EEPROMに記憶されたものに限られず、HDDまたはICカード108に記憶されたアプリケーションプログラムをRAMにロードして実行するようにしてもよい。EEPROMまたはHDDに記憶されるアプリケーションプログラムは、ネットワークに接続された他のコンピュータが、アプリケーションプログラムを書換える、または、新たなアプリケーションプログラムを追加して書き込むようにしてもよいし、MFP200が、ネットワークまたは電話回線に接続された他のコンピュータからアプリケーションプログラムをダウンロードして、そのアプリケーションプログラムを記憶するようにしてもよい。
さらに、ICカード108に記憶されたアプリケーションプログラムをRAMにロードして実行するようにしてもよい。なお、アプリケーションプログラムが、ICカード108ではなく、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic
Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリ等の固定的にプログラムを担持する媒体に記憶される場合には、MFP100は、その記憶媒体に記憶されたアプリケーションプログラムをRAMにロードして実行する。
ここでいうプログラムは、CPU201により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
本実施の形態におけるMFP200は、図3に示したコマンドレベルリストを予め記憶部202に記憶している。このコマンドレベルリストは、通常は、記憶部202のROMに記憶されており、MFP100のユーザが書き換えることができないようになっている。
図8は、本実施の形態におけるMFPで実行されるアプリケーションプログラム実行処理の流れを示すフローチャートである。このアプリケーションプログラム実行処理は、CPU201で実行される処理である。図8を参照して、まず、アプリケーションプログラムが読み出される(ステップS31)。そして、コマンドレベルリストが取得される(ステップS32)。コマンドレベルリストは、上述したように記憶部202のROMに記憶されているため、ROMからコマンドレベルリストが読み出されることにより取得される。さらに、レベルキーが取得される(ステップS33)。レベルキーは、上述したようにアプリケーションプログラムに書き込まれているため、アプリケーションプログラムからレベルキーが取得される。なお、アプリケーションプログラムにレベルキーが書き込まれていない場合には、レベルキーを秘密性レベル0とする。
次のステップS34では、ステップS33で読み出されたアプリケーションプログラムに記述されているコマンドを抽出する。抽出されたコマンドを処理対象コマンドという。そして、コマンドレベルリストによって、抽出したコマンドに対応付けられている許可レベルが取得される(ステップS35)。取得された許可レベルがステップS33でアプリケーションプログラムから取得されたレベルキーと比較される(ステップS36)。許可レベルがレベルキー以下であれば処理対象コマンドを有効と判断してステップS39に進み、そうでなければステップS37に進む。
ステップS37では、コマンドの使用態様がチェックされる。ここで実行される使用態様チェック処理は、図5に示した処理と同じであるので、ここでは説明を繰り返さない。次のステップS38でチェック結果が判定される。チェック結果が有効であればステップS39に進むが、無効の場合にはステップS41に進む。ステップS39では処理対象コマンドが実行されてステップS40に進む。ステップS40では、次に処理対象とするコマンドがアプリケーションプログラムに記述されているか否かが判断され、記述されていれば上述した処理を繰り返すためにステップS34に戻り、記述されていなければ処理を終了する。
ステップS41ではエラー処理を実行したのち処理を終了する。エラー処理は、MFP200のユーザに実行できないアプリケーションであることを知らせる処理であり、たとえば、不正なアプリケーションプログラムで実行できないことを示すメッセージを表示する。
以上説明したように本実施の形態におけるMFP200は、APIの複数のコマンドごとに許可レベルを対応付けたコマンドレベルリストを記憶部202のROMに記憶している。そして、アプリケーションプログラムから取得されたレベルキーと、アプリケーションプログラムに含まれるコマンドに対応付けられた許可レベルとから、コマンドの有効性を判定する。このため、アプリケーションプログラムの実行時において、アプリケーションプログラムの有効性を判定して、不正に作成されたアプリケーションプログラムの実行を制限することができる。
また、アプリケーションプログラムに含まれるレベルキーによって、実行を制限するコマンドを異ならせるので、実行されるアプリケーションプログラムによって実行可能なコマンドを異ならせることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1)前記コマンドは、作成されたアプリケーションプログラムのコンパイル時に入力される、請求項1に記載のアプリケーション開発用プログラム。
(2)前記コマンドレベルリストは、操作設定画面をカスタマイズするために用いられるコマンドには最低の許可レベルが対応付けられる。
(3)前記コマンドレベルリストは、宛先情報の取得、登録または変更するためのコマンドには最低の許可レベルが対応付けられる。
(4)前記コマンドレベルリストは、使用者の情報にアクセスするためのコマンドには、最低の許可レベルよりも高い許可レベルが対応付けられる。
(5)前記コマンドレベルリストは、課金に係わる情報にアクセスするためのコマンドには最高の許可レベルが対応付けられる。
(6)前記コマンドレベルリストは、画像処理装置の仕向地設定またはオプション設定に関するコマンドには、最高の許可レベルより低い許可レベルが対応付けられる。
本発明の実施の形態の一つにおけるアプリケーション開発装置のハード構成を示すブロック図である。 アプリケーション開発用プログラムの構成の一例を示す図である。 コマンドレベルリストを説明するための図である。 アプリケーション開発装置で実行されるアプリケーションプログラム作成処理の流れを示すフローチャートである。 図4のステップS08で実行される使用態様チェック処理の流れを示すフローチャートである。 組合せ一覧の一例を示す図である。 本実施の形態におけるMFPのハード構成を示すブロック図である。 本実施の形態におけるMFPで実行されるアプリケーションプログラム実行処理の流れを示すフローチャートである。
符号の説明
100 アプリケーション開発装置、101,201 CPU、103 ROM、105 RAM、107 HDD、108 カードIC、109,210 カードI/F、111 入力部、113 表示部、115 通信I/F、120 バス、150 アプリケーション開発用プログラム、151 レベルキー、153 コマンドレベルリスト、155 編集部、157 コンパイラ部、202 記憶部、203 スキャナ部、204 入力画像処理部、205 出力画像処理部、206 画像形成部、207 ネットワークI/F、208 モデム、209 操作パネル、209A 入力部、209B 表示部、211 バス。

Claims (13)

  1. 画像処理装置に実行させるためのアプリケーションプログラムを作成するためにコンピュータにより実行されるアプリケーション開発用プログラムであって、
    前記画像処理装置に予め準備されている複数のコマンドごとに許可レベルを対応付けたコマンドレベルリストを含み、
    使用可能な許可レベルが予め与えられたレベルキーであって、前記アプリケーション開発用プログラムに書き込まれているレベルキーを取得するステップと、
    コマンドの入力を受付けるステップと、
    前記入力されたコマンドに対応付けられた許可レベルを前記コマンドレベルリストから取得するステップと、
    前記取得された許可レベルと前記レベルキーとから前記入力されたコマンドが有効か否かを判定するステップとをコンピュータに実行させる、アプリケーション開発用プログラム。
  2. 前記取得されたレベルキーを作成されたアプリケーションプログラムに埋め込むステップをさらに実行させる、請求項1に記載のアプリケーション開発用プログラム。
  3. 画像処理装置に実行させるためのアプリケーションプログラムを作成するためにコンピュータにより実行されるアプリケーション開発用プログラムであって、
    前記画像処理装置に予め準備されている複数のコマンドごとに許可レベルを対応付けたコマンドレベルリストを含み、
    使用可能な許可レベルが予め与えられたレベルキーを取得するステップと、
    コマンドの入力を受付けるステップと、
    前記入力されたコマンドに対応付けられた許可レベルを前記コマンドレベルリストから取得するステップと、
    前記取得された許可レベルと前記レベルキーとから前記入力されたコマンドが有効か否かを判定するステップと、
    前記取得されたレベルキーを作成されたアプリケーションプログラムに埋め込むステップと、をコンピュータに実行させる、アプリケーション開発用プログラム。
  4. 前記判定ステップは、前記取得された許可レベルと前記予め与えられたレベルキーとから有効と判定されなかったコマンドが、所定の他のコマンドとの組み合わせであることを条件に有効と判定するステップを含む、請求項1〜3のいずれかに記載のアプリケーション開発用プログラム。
  5. 前記所定の他のコマンドは、データを暗号化するためのコマンドである、請求項4に記載のアプリケーション開発用プログラム。
  6. 前記所定の他のコマンドは、データを表示するためのコマンドである、請求項4に記載のアプリケーション開発用プログラム。
  7. 前記判定ステップは、前記取得された許可レベルと前記予め与えられたレベルキーとから有効と判定されなかったコマンドがデータへアクセスするコマンドの場合、認証されている使用者に関連するデータにアクセスすることを条件に有効と判定する、請求項1〜3のいずれかに記載のアプリケーション開発用プログラム。
  8. 予め準備されている複数のコマンドごとに許可レベルを対応付けたコマンドレベルリストを記憶する記憶手段と、
    アプリケーションプログラムが入力される入力手段と、
    使用可能な許可レベルが予め与えられたレベルキーを取得するレベルキー取得手段と、
    前記入力されたアプリケーションプログラムに含まれるコマンドを抽出して、前記コマンドレベルリストから該コマンドに対応付けられている許可レベルを取得する許可レベル取得手段と、
    前記取得された許可レベルと前記レベルキーとから前記抽出されたコマンドが有効か否かを判定する判定手段とを備えた、画像処理装置。
  9. 前記レベルキー取得手段は、前記入力されるアプリケーションプログラムから前記レベルキーを取得する、請求項8に記載の画像処理装置。
  10. 前記判定手段は、前記取得された許可レベルと前記予め与えられたレベルキーとから有効と判定されなかったコマンドが、所定の他のコマンドとの組み合わせであることを条件に有効と判定する組合判定手段を含む、請求項8または9に記載の画像処理装置。
  11. 前記所定の他のコマンドは、暗号化するためのコマンドである、請求項10に記載の画像処理装置。
  12. 前記所定の他のコマンドは、データを表示するためのコマンドである、請求項10に記載の画像処理装置。
  13. 前記判定手段は、前記取得された許可レベルと前記予め与えられたレベルキーとから有効と判定されなかったコマンドがデータへアクセスするコマンドの場合、認証されている使用者に関連するデータにアクセスすることを条件に有効と判定する、請求項8または9に記載の画像処理装置。
JP2005171199A 2005-06-10 2005-06-10 アプリケーション開発用プログラムおよび画像処理装置 Active JP4760150B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005171199A JP4760150B2 (ja) 2005-06-10 2005-06-10 アプリケーション開発用プログラムおよび画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005171199A JP4760150B2 (ja) 2005-06-10 2005-06-10 アプリケーション開発用プログラムおよび画像処理装置

Publications (2)

Publication Number Publication Date
JP2006344146A JP2006344146A (ja) 2006-12-21
JP4760150B2 true JP4760150B2 (ja) 2011-08-31

Family

ID=37641046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005171199A Active JP4760150B2 (ja) 2005-06-10 2005-06-10 アプリケーション開発用プログラムおよび画像処理装置

Country Status (1)

Country Link
JP (1) JP4760150B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080566A (ja) * 2007-09-25 2009-04-16 Hitachi Ltd 車両制御用プログラムおよびプログラム生成方法、プログラム生成装置、及び自動車用制御装置
JP5081668B2 (ja) * 2008-02-28 2012-11-28 株式会社リコー 画像処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0743692B2 (ja) * 1986-09-05 1995-05-15 富士通株式会社 コマンド資格チェック装置
JP2001117769A (ja) * 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd プログラム実行装置
JP4136325B2 (ja) * 2000-08-31 2008-08-20 株式会社リコー 画像形成システム、ソフトウエア取得方法、画像形成装置およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4393733B2 (ja) * 2001-11-27 2010-01-06 大日本印刷株式会社 携帯可能情報記録媒体

Also Published As

Publication number Publication date
JP2006344146A (ja) 2006-12-21

Similar Documents

Publication Publication Date Title
US8112814B2 (en) Information processing apparatus, access control method, access control program product, recording medium, and image forming apparatus
KR101888712B1 (ko) 운영 체제 구성 값 보호 기법
JP5190800B2 (ja) プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
US9529982B2 (en) Method and apparatus to manage user account of device
US8353051B2 (en) Image forming apparatus, access control method, access control program and computer readable information recording medium
JP5090834B2 (ja) 情報処理装置及び認証制御プログラム
KR20140073384A (ko) 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 보안 부팅 방법
JP4013985B1 (ja) 画像処理システム、画像処理装置および機能実行権限付与方法
JP2007213246A (ja) アプリケーション実行装置、アプリケーション実行方法及びアプリケーション実行プログラム
JP4760150B2 (ja) アプリケーション開発用プログラムおよび画像処理装置
JP2006094054A (ja) 画像形成装置、画像形成システム、及び中継装置
JP5052367B2 (ja) 画像処理装置、認証パッケージインストール方法、認証パッケージインストールプログラム、及び記録媒体
JP4787594B2 (ja) 装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体
JP4922744B2 (ja) 画像読取装置及びその制御方法、並びにプログラム
JP2007026081A (ja) プログラム
US20070174455A1 (en) Image processing apparatus which executes operations by receiving control information from external devices such as personal computers, interface information disclosing program embodied in a computer readable recording medium, and interface information disclosing method
JP2006041688A (ja) 画像処理装置、画像処理装置の機能管理方法、機能管理プログラム、及び媒体
US20090217053A1 (en) Image forming apparatus, data processing method, and computer readable recording medium
US10484564B2 (en) Image forming apparatus and method for controlling the same comprising a storage medium that indicates whether the image forming apparatus is in a setting of checking a signature when an application is installed
JP2006350775A (ja) 画像処理装置、データ管理プログラムおよびデータ管理方法
JP2013152743A (ja) 装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体
US20220253521A1 (en) Image forming apparatus capable of executing application programs, control method therefor, and storage medium
JP6991837B2 (ja) 画像形成装置及びその制御方法
JP7081120B2 (ja) 情報処理装置、画像制御方法および画像制御プログラム
JP2006262415A (ja) 情報端末装置、情報処理システム、情報処理プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110413

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: 20110510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110523

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

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4760150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350