JP2014029603A - 追加組込ソフト処理装置、追加組込ソフト実行制御方法 - Google Patents

追加組込ソフト処理装置、追加組込ソフト実行制御方法 Download PDF

Info

Publication number
JP2014029603A
JP2014029603A JP2012169701A JP2012169701A JP2014029603A JP 2014029603 A JP2014029603 A JP 2014029603A JP 2012169701 A JP2012169701 A JP 2012169701A JP 2012169701 A JP2012169701 A JP 2012169701A JP 2014029603 A JP2014029603 A JP 2014029603A
Authority
JP
Japan
Prior art keywords
software
additional embedded
authority
user
execution
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
JP2012169701A
Other languages
English (en)
Other versions
JP6007646B2 (ja
JP2014029603A5 (ja
Inventor
Kyoichi Ono
恭一 大野
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.)
Casio Computer Co Ltd
Casio Electronics Co Ltd
Original Assignee
Casio Computer Co Ltd
Casio Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd, Casio Electronics Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2012169701A priority Critical patent/JP6007646B2/ja
Publication of JP2014029603A publication Critical patent/JP2014029603A/ja
Publication of JP2014029603A5 publication Critical patent/JP2014029603A5/ja
Application granted granted Critical
Publication of JP6007646B2 publication Critical patent/JP6007646B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】アドオンソフトによる不適切なデータアクセスや改竄、漏洩などを防止する。
【解決手段】アドオンソフト(app20)が利用するソフト部品毎に、その実行の際に、当該アドオンソフトの登録者の権限レベルと実行者の権限レベルの両方が、このソフト部品実行に対応する危険度レベルより高位である場合のみ(ステップS52,S53の両方がYES)、その実行が許可されて実行する(ステップS54)。
【選択図】図7

Description

本発明は、追加組込ソフト処理装置に関する。
従来より、一般的な情報処理装置のソフトウェア本体に対して、機能拡張やカスタマイズ等を目的としたアドオン等(あるいはプラグイン等)と呼ばれる小規模ソフトウェアを追加可能な構成が知られており、印刷装置に於いても同様にアドオンソフトの追加が可能な制御ソフトを有するコントローラが存在している。尚、ここでは、上記アドオン等やプラグイン等をまとめて追加組込ソフト等と呼ぶものとする。
アドオンソフト等の追加組込ソフトを追加可能な制御ソフト本体は、アドオンソフト等に対して様々な部品ソフトウェアを提供する事が一般的で、アドオンソフト等は提供された部品を組み合わせる事で新たな機能を実現したり、カスタム表示や操作を実現する。従って、アドオンソフト等の作成者にとって、提供される部品の種類や処理対象が多く広いほど自由度が高まり、高機能で扱いやすいアドオン等を作る事が可能となる。
また、例えば特許文献1には、情報処理装置等で予め設定したユーザー権限情報を用いて、アドオンソフトの入出力の許可/禁止を制御する手法が開示されている。
特開2009−87283号公報
上述した従来技術では、しかしながら、追加組込ソフト処理装置における部品の扱う対象が広がり、処理内容が高機能になるほど、アドオンソフト等によるセキュリティ面の危険度が増してしまうが、これを管理し防止する方法が無いという問題があった。
追加組込ソフト処理装置の中でも、特に、印刷装置の場合、制御ソフト本体に印刷データに対するセキュリティ機能を持っている事が多いが、その機能はアドオンソフトウェア等を対象とはしておらず、有効とは言えない。
この為、アドオンソフト作成時の悪意の有無に関わらず、印刷データやユーザー情報やログなどへの不適切なアクセス/改竄/漏洩、或いは制御ソフト本体へのダメージなどの問題発生を防ぐ事ができない課題があった。
本発明の課題は、任意の追加組込ソフトの登録者と実行者の権限レベルと、その追加組込ソフトが利用する各種部品それぞれの実行に対応する危険度レベルとに基づいて、各種部品の実行許可/不許可を判定することで、追加組込ソフトによる不適切なデータアクセスや改竄、漏洩などを防止する事ができる追加組込ソフト処理装置を提供することである。
上記課題は本発明によれば、機能処理を実行するプログラムを含むソフト部品を複数記憶するソフト部品記憶部と、前記ソフト部品を少なくとも二つ以上組み合わせて実行させるプログラムを含む追加組込ソフトを外部から登録する追加組込ソフト登録部と、前記追加組込ソフトの実行権限レベルを予めユーザー毎に記憶するユーザー権限記憶部と、前記追加組込ソフト登録部により登録された追加組込ソフトが任意のユーザーによって実行される際に、該追加組込ソフトの実行者を特定して前記ユーザー権限記憶部から該実行者に応じた前記権限レベルを取得する実行者権限レベル取得部と、該追加組込ソフトの実行に応じて処理される前記ソフト部品毎に、該ソフト部品実行に対応する危険度レベルを決定する危険度レベル決定部と、前記実行される追加組込ソフトに対応して前記実行者権限レベル取得部により取得された前記権限レベルと、前記ソフト部品毎の危険度レベルとに基づいて、前記ソフト部品の実行を許可するか否かを判定するソフト部品実行制御部と、を有することを特徴とする追加組込ソフト処理装置を提供することによって達成できる。
本発明の追加組込ソフト処理装置によれば、任意の追加組込ソフトの登録者と実行者の権限レベルと、その追加組込ソフトが利用する各種部品それぞれの実行に対応する危険度レベルとに基づいて、各種部品の実行許可/不許可を判定することで、追加組込ソフトによる不適切なデータアクセスや改竄、漏洩などを防止する事ができる。
本例の印刷システムの全体構成図である。 appによって実現される処理例を示す図である。 印刷装置へのappの登録時の処理フローチャート図である。 ユーザー権限テーブルの一例を示す図である。 各種部品の具体例を示す図である。 appによって実行される処理の具体例を示すフローチャート図である。 各部品が実行される毎に実行される共通フローである。
図1は本発明の追加組込ソフト処理装置の一例を示す印刷システムの全体構成図である。
尚、図1は、印刷システムを構成する印刷装置(追加組込ソフト処理装置)の詳細構成図と見做してもよい。
本例の印刷システムは、印刷装置1とPC(パソコン)4とが通信線(不図示;LAN等)により接続された構成となっており、例えばPC4から送られてくる印刷データを印刷装置1で印刷実行するものである。
印刷装置1は、コントローラ2と印刷エンジン3とで構成される。印刷エンジン3は、特に図示しないが、例えば現像器、定着ユニット、用紙搬送機構等を有するものであり、コントローラ2の制御により用紙上に印刷する機能を有するユニットであり、従来と同じであってよいので、ここではこれ以上は説明しない。
コントローラ2は、特に図示しないが、CPUや記憶部等を有しており、記憶部には本体ソフト10(プログラム)などが格納されており、更に追加組込ソフトウェア(以下、appと表記する)20が追加格納される。不図示のCPUが、例えば本体ソフト10を実行することにより、例えば図示の各種機能部11〜17の処理機能や後述する図3の処理等が実現される。
すなわち、コントローラ2は、オペパネ制御部11、エンジン制御部12、コマンド処理/描画部13、印刷制御部14等を有する。コントローラ2は、更に、ユーザー権限管理部15、disk制御部16、app制御部17等も有する。尚、これら各種機能部は、例えば後に説明する図5に示す各種部品ソフトウェア(プログラム部品/ソフト部品;以下、単に部品と記す)を用いる。これら各種“部品”は、app20であっても、許可されれば利用できる。この許可するか否かの判定は、例えば後述する図7の処理により行うものであり、後に説明する。
オペパネ制御部11は、ユーザーに対する何らかの表示を行うと共に、ユーザーからの指示・入力を受け付ける。エンジン制御部12は、印刷エンジン3の状態監視と印刷設定などを行う。コマンド処理/描画部13は、PC4からの印刷データを受信してこれに基づいて描画を行う。印刷制御部14は、描画された画像を印刷エンジン3へ送り印刷を制御する。
また、ユーザー権限管理部15、disk制御部16は、印刷装置1のユーザー権限の管理を行う。disk制御部16は、不図示の不揮発性メモリを制御する。
また、印刷装置1においては、上記コントローラ内蔵ソフトウェア(本体ソフト10)には無い機能を追加(或いは、ユーザーが利用し易い様にカスタマイズ)する為の、アドオン或いはプラグインと呼ばれるソフトウェア(app20)の追加・組込が可能であり、app制御部17がこのapp20を制御する。
ここで、上述したアドオンやプラグイン等は、上記のように印刷装置1(その本体ソフト10等)に対して、後から任意に追加・組込を行う小規模ソフトウェアの一例であり、この様な小規模ソフトウェアを「追加組込ソフトウェア(追加組込ソフト)」と呼ぶものとする。本例の印刷装置1は、制御ソフト本体(本体ソフト10等)を有し、この制御ソフト本体で使用する各種部品を利用して任意の処理機能を実現する「追加組込ソフトウェア(追加組込ソフト)」を実行可能な印刷装置である。そして、本説明では、この様な「追加組込ソフトウェア(追加組込ソフト)」の一例であるアドオン(app20)を例にして追加組込ソフト処理装置を説明するものとする。
尚、追加組込ソフトウェアの一例であるapp20と区別する為、ここでは上記オペパネ制御部11〜app制御部17の各種機能部を実現するコントローラ内蔵ソフトウェア群を、上記の通り本体ソフト10と称する。尚、図示していないが、印刷装置1は、CPU等の演算プロセッサを有しており、このCPUが上記コントローラ内蔵ソフトウェア群を読出し実行することにより、上記各種機能部を実現することになる。また、app20もCPUによって実行される。
図2に、app20によって実現される追加機能例を示す。
この例のapp20では、ユーザーが複数の印刷データ(この例では複数のカタログA,B,C)を、PC4から印刷装置1に送り込んだ場合、この複数の印刷データを印刷装置1側でそのオペパネ(オペレーションパネル)等のユーザーインタフェースを用いて、一括、或いは選択して印刷できる様なカスタマイズ等を行うものとする。
この例では、ユーザーインタフェース(ディスプレイ及びタッチパネル等)に、まず、図示の印刷メニュー画面30を表示する。図示の例では、この印刷メニュー画面30には、「一括印刷」ボタン31、「個別印刷」ボタン32、「終了」ボタン33の3つのボタンが表示される。ユーザー操作によって、もし「一括印刷」ボタン31が押されたら、登録してある全印刷データ(例えばカタログA,B,C全て)を印刷する。一方、「個別印刷」ボタン32が押されたら、ユーザーインタフェースの表示を図示の個別選択メニュー40に変更する。
個別選択メニュー画面40には、複数の印刷データ(図示の例ではカタログA,B,Cの3つのカタログ)が表示され、ユーザー操作によって選択されたデータ(カタログ)を印刷する。
また、印刷メニューの「終了」ボタン33が押されたら、このapp20の機能を終了する。
本手法では、任意のapp20を任意のときに、印刷装置1に追加登録することができる。本手法では、新規app20を登録すること自体は、特に制限なく誰でも行うことができる。しかし、後述するように、例えば印刷実行時などに印刷装置1に登録済みの何らかのapp20の機能を実行させる場合、app登録者の権限及び実行者(例えば印刷実行者)の権限に基づいて、app20の実行の許可/不許可を判定する。よって、app20の実行が許可されない場合もある。これは、例えば、そのapp20が利用する各種部品毎に、その実行(利用)の許可/不許可が判定されるようにしてもよい。詳しくは後述する。
図3は、印刷装置1へのapp20の登録時の処理と、その後のapp実行の概要を示したフローチャート図である。尚、本処理は、例えば、コントローラ2が上記各種機能部の機能を用いて実現する。尚、後述する図6の処理も、実質的に、コントローラ2(そのCPU)がapp20を実行することで実現されるものと言える。また、後述する図7の処理も、コントローラ2(そのCPU)が(例えば各種部品を実行することで)実現するものと言える。
尚、後に説明する図6は、図3のステップS16におけるapp実行処理の具体例を示すものである。また、後に説明する図7は、図6において各部品実行毎に実行される処理であり、その部品の実行・利用が許可されない場合も有り得る。
以下、まず、図3について説明する。
まず、印刷装置1の電源を投入すると、印刷装置1が起動する(ステップS11)。その際、印刷装置1内のコントローラ2も同時に起動し、PC4からのデータ受信が可能な状態となる。
これより、その後、PC4から送信されてくる任意のデータを受信すると(ステップS12,YES)、コマンド処理/描画部13がそのデータ種別を判別する。すなわち、受信したデータが、印刷データであるかapp登録データ(appプログラム)であるか否かを判別する(ステップS20)。尚、これは、例えば、受信データには、そのデータが印刷データであるかapp登録データであるかを示す識別情報が含まれている。この識別情報は、例えばPC4でユーザーが指定操作することでPC4がデータに付与して送信している。
そして、受信データが印刷データである場合には(ステップS20,YES)、通常の処理である当該印刷データの印刷処理を実施する(ステップS23)。
一方、受信したデータがapp登録データであると判断した場合(ステップS20,NO)、このapp登録データの送信元ユーザーを特定し、ユーザー権限管理部15にこのユーザーのapp権限レベルを問い合わせて取得する。
上記送信元ユーザーの特定を含む何らかのユーザーの特定方法は、例えば、PC4から送られたデータに含まれるホスト名(あるいはIPアドレス等)や、印刷装置1に装着されたICカードリーダ等のデバイスから得られるユーザー特定情報により、ユーザー名を割り出すものである。
すなわち、例えば予め不図示のユーザー登録テーブルに、ホスト名とユーザー名とを対応付けて登録してあり、送信元のPC4のホスト名に対応するユーザー名を取得する。
あるいは、所謂“プルプリント”を行う印刷システムの場合、例えば印刷装置1にICカードリーダを設けてユーザーが自己のICカードを翳すことで、ICカードからID(ユーザー特定情報;例えばユーザー名や社員番号など)が読み出されて、このIDを用いて印刷実行することが行われている。このID自体が上記ユーザー名であってもよいし、予めIDとユーザー名とを対応付けた不図示のテーブルを設けておき、このテーブルを参照することで印刷実行者等のユーザー名を取得するようにしてもよい。
ユーザー権限管理部15は、ユーザー権限テーブル50を保持しており、これを参照することで上記送信元ユーザーのapp権限レベルを判別する(ステップS21)。
図4に、ユーザー権限テーブル50の一例を示す。
図示の例のユーザー権限テーブル50は、ユーザー名51、印刷権限52、app権限53より成る。尚、印刷権限52は、例えばカラー印刷を可能とするか否かなどの印刷に関連するユーザーレベルを指定するものであり、ここでは特に関係ないので、これ以上は説明しない。
ユーザー権限テーブル50には、各ユーザー名51に対応して、そのユーザーのapp権限53が登録されている。このapp権限レベル53は、appの登録・実行の操作に関して各ユーザーに与えられた権限レベルである。図示の例では、app権限53は、0,1,2,5等の数値であり、本例では数値が高いほど権限が大きいものとする。
ユーザー権限管理部15は、上記特定した送信元ユーザーのユーザー名を用いて、ユーザー権限テーブル50から、そのユーザーのapp権限レベル(該当するapp権限53)を読み出す。これは、ここでは上記app登録データ(appプログラム)の登録者のapp権限レベルを取得することを意味する。
これより、上記app登録者のapp権限レベル(登録者権限レベル)を、受信したapp登録データに添付してdisk制御部16へ送り、不図示の不揮発性メモリ等に記憶させる(ステップS22)。
以上で、任意のappデータの登録時の処理は終了する。この処理により、上記の通り、不図示の不揮発性メモリ等に記憶されるapp登録データ(app20)には、その登録者のapp権限レベル(登録者権限レベル)が付加されていることになる。この登録者権限レベルは、後に図7の処理の際に参照される。詳しくは後に説明する。
尚、上記図2の例の場合、上記app登録データには、印刷メニュー30、個別選択メニュー40の各画面と、これら画面上での各種操作に係るプログラム等が含まれる。尚、更に図2に示すカタログA,B,Cのデータ等が含まれていてもよい。
上述した処理は、PC4からのデータを受信するイベントがあった場合の処理であるが、コマンド処理/描画部13は、データ受信が無い場合は(ステップS12,NO)、オペパネ制御部11等にappの起動指示の有無を問い合わせる。app起動指示が無ければ(ステップS13,NO)ステップS12のデータ受信待ち状態に戻るが、app起動指示があった場合には(ステップS13,YES)、app制御部17を起動して、ステップS14以降の処理を実行制御させる。
尚、特に図示等しないが、印刷装置1は、登録済みのアドオンソフト(app20)のうちの任意のアドオンソフト実行を選択・指定させる機能も有しており、この選択・指定を以って上記ステップS13の判定がYESとなる。
app制御部17は、まず、app起動指示を行ったユーザー(app実行者)を特定する。尚、ユーザー特定方法については、既にapp登録時の説明で述べているので、ここでは省略する。そして、このapp実行者のapp権限レベル(実行者権限レベル)を取得する(ステップS14)。これは、例えば、上記ユーザー権限管理部15等により上記ユーザー権限テーブル50を参照することで、上記app実行者のユーザー名51に対応するapp権限53(実行者権限レベル)を取得する。
また、app制御部17は、disk制御部16に対して、起動指示されたapp登録データ(appプログラム)の読み出しを要求して取得する(ステップS15)。上記の通り、各appプログラム(app20)には上記登録者権限レベルが付加されている。そして、このapp20を起動・実行させる(ステップS16)。尚、その際、app制御部17は、アーギュメント(引数)として上記登録者権限レベルと実行者権限レベルをapp20に与える。
ここで、図6には、上記ステップS16のapp実行処理の具体例を示す。この具体例は、上記“部品”として図5に示す各種部品500〜511を用いる例である。これより、図6の説明の前に、図5に示す具体例について説明する。
図5は、各種部品の具体例を示す図である。
図5において、500〜511の各符号を付しているのが、本体ソフト10の上記各種機能部11〜16の為に予め用意された利用可能なライブラリ等である各種“部品”である。図示の例では、例えばオペパネ制御部11は、例えば「表示」部品500や「入力」部品501等の部品を用いて上述した処理を実行する。
他にも、例えば、図示の「ファイル印刷指示」部品502、「セキュリティ印刷設定」部品503、「権限情報取得」部品504、「権限情報変更」部品505、「ファイル書き込み」部品506、「ファイル読み出し」部品507、「エンジン状態表示」部品508、「エンジン設定変更」部品509、「印刷開始」部品510、「印刷ログ表示」部品511等の各種部品が用意されて記憶されている。
そして、図5に示す様に、外部で作られた追加ソフトウェアであるapp20は、上記本体ソフト10の各種機能の為に用意された利用可能なライブラリ等である部品500〜511を用いてコントローラ2を制御し、新たな機能を構築する。例えば図6に示すような処理を実行するが、勿論、この例に限らない。
図6は、app20によって実行される処理の具体例を示すフローチャート図である。
この具体例は、例えば上記図2の処理機能を実行するapp20を例にするものである。
以下、図6の処理例について説明する。
ここで、図6において、ステップS33、S37以外の各ステップ内に示す番号(500、501等)が、上記図5に示す各部品の符号(500、501等)を意味し、その部品を利用して処理実行することを意味している。
図6において、上記の通り、処理実行開始時には上記登録者権限レベルと実行者権限レベルが与えられている。そして、まず、「表示」部品500を用いて図2の印刷メニュー30の表示を行う様にオペパネ制御部11に要求する(ステップS31)。但し、これは「表示」部品500の利用が許可された場合の処理であり、不許可の場合、ステップS31の処理は行われない。これは、後述するステップS32、S34〜S36、S38〜S42等でも同様である。許可/不許可は、後述する図7の処理によって判定される。詳しくは後述するものとし、まず、図6の処理について説明するが、これは全てにおいて許可された場合を前提とする。
すなわち、まず、上記ステップS31の処理によって表示される上記印刷メニュー30上で、利用者が任意のボタンを操作したら、これを検出する為の処理を行う。すなわち、「入力」部品501を用いてオペパネ制御部11により選択されたボタンの読み込みを行い(ステップS32)、この選択ボタンを判別する(ステップS33)。
図2の例では、上記の通り、「一括印刷」ボタン31、「個別印刷」ボタン32、「終了」ボタン33の3つのボタンが表示されており、もし「終了」ボタン33が選択されたなら本処理は終了となる。一方、「一括印刷」ボタン31が選択されたならばステップS34〜S37の処理を実行し、「個別印刷」ボタン32が選択されたならばステップS38〜S42の処理を実行する。
一括印刷が選択された場合は、まず、disk制御部16に「ファイル読み出し」部品507で所定の登録ファイルの読み出しを要求する(ステップS34)。この登録ファイルは、本例では上記カタログA,B,Cの各ファイルであり、これら各ファイルを順次読出し要求する。次に、「ファイル印刷指示」部品502でコマンド処理/描画部13にこのファイルデータの描画を要求し(ステップS35)、「印刷開始」部品510で印刷制御部14に印刷実行を要求する(ステップS36)。
上記ステップS34〜S36の処理を、登録ファイル(上記カタログA,B,Cの各ファイル)全てが印刷されるまで繰り返し実行する(ステップS37がNOでステップS34に戻る)。そして、全ファイル印刷実行したら(ステップS37,YES)、例えばステップS31に戻る。
また、個別印刷が要求された場合は、以下の処理を行う。尚、以下の説明では逐一上記のようにオペパネ制御部11等への要求については述べずに、部品の利用についてのみ述べるものとする。
まず、「表示」部品500を用いて図2の個別メニュー40の表示を行わせる(ステップS38)。続いて、「入力」部品501を用いて選択ボタンの読み込みを行い(ステップS39)、この選択ボタンの内容(指定されたカタログ)を判別する。そして、「ファイル読み出し」部品507を用いて、上記指定されたカタログのファイルの読み出しを行う(ステップS40)。次に、「ファイル印刷指示」部品502を用いて、上記指定されたカタログのデータの描画を行わせて(ステップS41)、「印刷開始」部品510を用いて印刷実行を行わせる(ステップS42)。
ここで、既に簡単に述べた通り、上記ステップS31〜S42の各処理のうち、ステップS33とS37以外の各処理、すなわち任意の部品を利用する処理は、必ずしも実行されるとは限らない。すなわち、上記ステップS31、S32、S34〜S36、S38〜S42の各ステップの処理実行の際には、それぞれ図7の処理を実行し、後述するステップS52、S53の両方の判定がYESとならない限り、そのステップの部品の利用は許可されず、実質的にそのステップの処理は行われないことになる。
以下、図7の処理について説明する。
図7は、任意の部品利用の処理実行の際に実行される共通のフローであり、部品利用許可すると判定した場合のみ、その部品を利用した処理が実行されるものである。尚、ここでは、各部品毎に、app20から呼び出される場合のみ図7の処理を実行するように、各部品に図7の処理機能が組み込まれているものとするが、この例に限らない。例えば、app制御部17が、各部品の利用・実行毎に、ステップS51,S52,S53の処理を実行したうえで、許可されると判定した場合のみ、その部品の利用・実行(ステップS54)を行わせるようにしてもよい。
図7において、本処理を実行する部品は、まず、app実行時に渡された登録者権限レベルと実行者権限レベルを、アーギュメント(引数)として要求して取得する。
また、その部品の危険度レベルを決定する(ステップS51)。例えばステップS31の処理の際の図7の処理では、部品は「表示」部品500であるので、「表示」部品500の危険度レベルを決定することになる。危険度レベルを決定する為に必要な情報は、予め各部品毎に保持していてもよい(この例に限らないが)。例えば各部品毎に予め危険度レベルが確定しており登録されている場合には、それを参照すればよい。
但し、例えば「ファイル書き込み」部品506、「ファイル読み出し」部品507等の部品は、アクセス先のファイルに応じて危険度レベルが決まるケースもある。この様な場合も、例えば各部品に於いて扱うファイル毎(あるいは格納場所(フォルダ等)毎)に危険度のレベルを設定・登録しておけば、これを参照することで危険度レベルを決定できる。あるいは、アーギュメント(引数)で指定されたデータの種別(またはデータの格納場所(フォルダ等))を判断して、これに基づいて危険度レベル値を決定するようにしてもよい。
あるいは、各ファイル(または格納場所)と、そのファイルを呼び出し得る各部品との組み合わせ毎に、危険度レベル値を登録しておき、これを参照することで、危険度レベル値を決定するようにしてもよい。
例えば、「表示」部品500や「入力」部品501は、その部品が扱うデバイスが固定されており、また設定する表示内容や読み取る入力値はappのローカルな内容なので、危険度は少なく、例えばレベル1等とすることが出来る。しかし、「ファイル読み出し」部品507の場合、appのローカルなエリア(ディレクトリ)内のファイルであれば危険度は少なく例えばレベル1等と判断できるが、ローカル領域以外の場合には領域に応じて危険度が変化する。
上記のように、危険度レベルは、部品自体によって決定されるとは限らず、その部品自体とその部品の利用方法(アクセス先など)とによって決定される場合もあるので、従って上記ステップS51の処理は、例えば“部品実行(部品利用)に対応する危険度レベルを決定する”等と言うこともできる。
そして、上記ステップS51で決定した危険度レベルを、上記のようにアーギュメント(引数)として渡された登録者権限レベル、実行者権限レベルとそれぞれ比較する。そして、登録者権限レベル、実行者権限レベルの両方とも、上記危険度レベルより高位である場合に、その部品の処理を実行することになる(その部品を利用した処理を許可することになる)(ステップS54)。つまり、「登録者権限レベル>危険度レベル」(ステップS52,YES)、且つ、「実行者権限レベル>危険度レベル」(ステップS53,YES)である場合に、その部品を実行することができる(ステップS54)。
一方、登録者権限レベル、実行者権限レベルのどちらか一方でも、その部品の危険度レベル以下である場合には、そのapp20によるその部品の利用は許可されない。すなわち、「登録者権限レベル≦危険度レベル」(ステップS52,NO)、あるいは、「実行者権限レベル≦危険度レベル」(ステップS53,NO)である場合には、その部品の実行/利用は許可されず、例えば“権限異常”が返される。この場合、図3においてステップS17の“権限異常か否か”の判定結果はYESとなり、エラー表示等が行われることになる(ステップS19)。
例えば、登録者権限レベルと実行者権限レベルの両方が危険度レベルを上回れば、問題無しとしてapp実行を継続(許可)し、何れか一方でも危険度レベルの方が高い場合はapp実行を中断(不許可)する事で危険を回避する。
これは、app20全体の実行を中止してもよいが、“権限異常”となった部品に係わる処理だけを実行中断(不許可)として、他の部品に係る処理は継続してもよい。例えば、app実行者が図2における「一括印刷」31を指定したら、“権限異常”が返されてステップS19のエラー表示が行われたとした場合に、(図3とは異なり)ステップS16に戻って処理継続し、今度は「個別印刷」32が指定されたら、今度は正常に実行される等という制御が、行われるようにしてもよい。但し、例えばステップS52がNOの場合(特に、登録者権限レベルが著しく低い(例えば‘0’)の場合には)、そのapp20自体の信頼性が低いと考えられるので、app20全体の実行を中止することが望ましい。
上記の様に、app実行の際には、登録者権限レベルと実行者権限レベルの両方が、appで利用する部品に係わる危険度レベルより高位である場合のみ、その部品を実行することができるので、追加組込ソフトによる不適切なデータアクセスや改竄、漏洩などを防止する事ができる。
また、実行許可/不許可は、各部品毎に行うので、たとえば実行者の権限レベルが比較的低い場合、例えば重要情報のアクセスに係るような危険度レベルが高い部品の処理は使用できなくても、危険度レベルが低い部品の処理であれば利用できることになる。
ここで、例えば危険度レベルは‘0’以上の値が設定できるものとし、図4の例では「ゲスト」ユーザーのapp権限53は‘0’である。尚、「ゲスト」ユーザーとは、特定することが出来ない(例えば登録されていない)ユーザーである。尚、この例に限らないが、アドオンソフトに係わるゲストユーザーの権限レベル(app権限53)は、最も低い危険度レベル以下となるように設定することが望ましい。
この例の場合、「ゲスト」ユーザーがapp登録者、または/及び、app実行者である場合には、必ず、ステップS52、または/及び、ステップS53が、NOとなる。この様に、例えば、ユーザー登録されていない(従って特定する事が難しい)ゲストユーザーが、任意のapp20を印刷装置1に登録することはできても、このapp20を実行させることが出来ず、セキュリティを維持できる。
また、ゲストユーザーが登録したapp20を、ユーザー登録されたユーザーが不用意に起動してしまった場合でも、常にステップS52はNOとなるので、実行者権限レベルに関係なく、このapp20を実行させることが出来ず、セキュリティを維持できる。
あるいは、逆に、ユーザー登録されたユーザーが登録したapp20を、ゲストユーザーが起動して何らかの情報を得ようとする場合等も、常に、ステップS53がNOとなるので、(たとえ登録者権限レベルが高くても関係なく)このapp20を実行させることが出来ず、セキュリティを維持できる。
仮に、ステップS52とS53のどちらか一方でもYESとなったらステップS54の処理を実行させる(その部品の実行・利用を許可する)制御とした場合、登録者権限レベルが高いと(実行者権限レベルが低くても関係なく;例えば実行者がゲストユーザーであっても)、部品実行内容が重要な情報の読出し(従って危険度レベルが高い)であっても許可されてしまう可能性がある。これに対して、図7の処理によれば、この様なアドオンソフトによる不適切なデータアクセスを防止でき、以ってデータの改竄、漏洩などを防止する事ができる。
また、ユーザー登録されたユーザーに関しては、一般に、一般ユーザーはapp権限53が比較的低く、管理者等はapp権限53が比較的高く設定されるものである。これより、例えば、部品実行内容が重要な情報の読出し(従って危険度レベルが高い)等の部品実行を伴うapp20に関しては、例えば登録者と実行者の両方が管理者である場合のみ、その実行が許可されるようにすることもできる。換言すれば、例えば、実行者が一般ユーザーであっても登録者が管理者であれば実行許可されてしまう等という事態は、生じないようにでき、セキュリティ強化に役立つ。
一方、危険度が小さいapp20(危険度レベルが低い部品使用しか行わないapp)であれば、いちいち管理者を煩わせることなく一般ユーザーでも運用(登録、実行)できる。
あるいは、基本的には危険度レベルが低い部品利用を行うが、危険度レベルが高い部品利用も混在するようなapp20の実行に関しては、一般ユーザーの権限レベルを超える、危険度の高い部品処理を行う時だけ、その実行を不許可とする等、運用性の高いシステムを作る事が可能となる。
以上説明したように、本例の印刷装置1は、以下の特徴を有する。
まず、本例の印刷装置1は、制御ソフト本体である本体ソフト10と、当該印刷装置1に任意の処理機能に追加する追加組込ソフト(app20等)を実行可能な印刷装置である。換言すれば、制御ソフト本体を有し、この制御ソフト本体で使用する各種部品を利用して任意の処理機能を実現する追加組込ソフトを実行可能な追加組込ソフト処理装置である。
そして、印刷装置1は、追加組込ソフト登録時の処理機能として、任意の追加組込ソフトを登録させる機能部と、この追加組込ソフトを登録したユーザー(登録者)を特定する機能部と、権限情報(テーブル50等)から登録者の権限レベルを取得する機能部と、取得した権限レベル(登録者権限レベル)と追加組込ソフトとを関連付けて記憶する機能部とを有する。
また、印刷装置1は、上記登録された追加組込ソフト実行時の処理機能として、登録済みの追加組込ソフトのうちの任意の追加組込ソフト実行を選択・指定させる機能部と、選択・指定したユーザー(実行者)を特定する機能部と、権限情報から実行者の権限レベルを取得する機能部と、選択・指定された追加組込ソフトに関連付けられた上記登録者の権限レベルと、上記実行者の権限レベルと共に、追加組込ソフトを起動する機能部とを有する。更に、追加組込ソフトから呼び出す各種部品毎に、その部品自体や処理対象等に応じた危険度レベルを決定する機能部と、上記登録者、実行者それぞれの権限レベルと、上記決定された危険度レベルとに基づいて、上記各部品毎に、その部品実行を許可するか否かを判定する機能部とを有する。
尚、上述した各種機能部は、例えば、印刷装置1の不図示のCPUが、不図示の記憶部に予め記憶されているアプリケーションプログラムを実行することにより実現される。
上記印刷装置1によれば、例えば上述した効果が得られるが、下記の効果も得られる(一部、重複する)。
・ 権限の設定内容次第では、未登録ユーザー等であるゲストユーザーが登録者または実行者となる追加組込ソフトは、必ず、実行出来ない様にすることも可能であるので、実質的に、ユーザー名が特定される登録ユーザーのみが利用可能となる。これより、追加組込ソフトの導入(登録)時または実行時のユーザー名を特定してログに残す事が可能となる。
・ また、権限の低いユーザーが危険度の高い追加組込ソフトの導入や実行する事はできないので、不適切な情報アクセスや改竄、漏洩等の発生を防ぐ事が出来る。例えば、上記「権限情報変更」部品505は、ユーザー権限を変更し得るプログラム部品であり、これによってユーザー権限が改竄されてしまうと、重大な問題が生じることになる。よって、この様なプログラム部品に対しては高い危険度レベルを設定しておくことで、改竄等を防止することになる。
・ 更に、危険度の低いappであれば、高いレベルを有する管理者等の手を煩わせることなく、権限の低いユーザーが導入・実行する事が可能となる。
上記のように、制御ソフト本体と、その制御ソフトに追加する追加組込ソフトを実行可能な印刷装置等の追加組込ソフト処理装置に於いて、追加組込ソフトの登録や実行に係わる手間を最小限にして、追加組込ソフトによる不適切なデータアクセスや改竄、漏洩などを防止する事ができる。尚、上記実施形態の説明においては、追加組込ソフト処理装置の例として、印刷装置を例に説明を記載したが、本発明はこれに限られることなく、追加組込ソフトをユーザが任意にインストールすることが出来る、例えば、文書処理装置、複合機、情報処理装置、映像処理装置、画像形成装置などの追加組込ソフト処理装置であれば、同様に本発明を適用することが出来ることは勿論である。
(付記1)
機能処理を実行するプログラムを含む複数のソフト部品を記憶するソフト部品記憶部と、
前記ソフト部品を少なくとも二つ以上組み合わせて実行させるプログラムを含む追加組込ソフトを外部から登録する追加組込ソフト登録部と、
前記追加組込ソフトの実行権限レベルを予めユーザー毎に記憶するユーザー権限記憶部と、
前記追加組込ソフト登録部により登録された追加組込ソフトをユーザーが実行しようとした際に、該ユーザーを特定して前記ユーザー権限記憶部から該ユーザーに対する前記権限レベルを取得する実行者権限レベル取得部と、
該追加組込ソフトの実行に応じて処理される前記ソフト部品毎に、該ソフト部品実行に対応する危険度レベルを決定する危険度レベル決定部と、
前記実行される追加組込ソフトに対応して前記実行者権限レベル取得部により取得された前記権限レベルと、前記ソフト部品毎の危険度レベルとに基づいて、前記ソフト部品の実行を許可するか否かを判定するソフト部品実行制御部と、
を有することを特徴とする追加組込ソフト処理装置。
(付記2)
前記ユーザー権限記憶部には、前記追加組込ソフトを前記ソフト登録部を介して登録する登録者に対する登録者権限レベルと、前記追加組込ソフトを実行する実行者に対する実行者権限レベルとが記憶され、前記ソフト部品実行制御部が判定する前記権限レベルは、前記追加組込ソフトの前記登録者権限レベル及び、前記実行者権限レベルとを含むことを特徴とする付記1記載の追加組込ソフト処理装置。
(付記3)
前記ソフト部品実行制御部は、前記登録者権限レベルと前記実行者権限レベルの両方が、任意のソフト部品の前記危険度レベルより高位である場合に、そのソフト部品の実行を許可することを特徴とする付記2記載の追加組込ソフト処理装置。
(付記4)
前記危険度レベルは、予め各ソフト部品に対する危険度を登録する危険度登録記憶部に記憶されていることを特徴とする付記1、2又は3に記載の追加組込ソフト処理装置。
(付記5)
前記危険度レベルは、前記ソフト部品の実行によりアクセスされるファイルもしくは該ファイルの格納場所に応じて設定されることを特徴とする付記1、2又は3に記載の追加組込ソフト処理装置。
(付記6)
機能処理を実行するプログラムを含む複数のソフト部品を記憶する処理と、
前記ソフト部品を少なくとも二つ以上組み合わせて実行させるプログラムを含む追加組込ソフトを外部から登録する処理と、
前記追加組込ソフトの実行権限レベルを予めユーザー毎に記憶する処理と、
前記追加組込ソフト登録部により登録された追加組込ソフトをユーザーが実行しようとした際に、該ユーザーを特定して前記ユーザー権限記憶部から該ユーザーに対する前記権限レベルを取得する処理と、
該追加組込ソフトの実行に応じて処理される前記ソフト部品毎に、該ソフト部品実行に対応する危険度レベルを決定する処理と、
前記実行される追加組込ソフトに対応して前記実行者権限レベル取得部により取得された前記権限レベルと、前記ソフト部品毎の危険度レベルとに基づいて、前記ソフト部品の実行を許可するか否かを判定する処理と、
を実行することを特徴とする追加組込ソフト実行制御方法。
1 印刷装置(追加組込ソフト処理装置)
2 コントローラ
3 印刷エンジン
4 PC(パソコン)
10 本体ソフト
11 オペパネ制御部
12 エンジン制御部
13 コマンド処理/描画部
14 印刷制御部
15 ユーザー権限管理部
16 disk制御部
17 app制御部
20 app
30 印刷メニュー画面
31 「一括印刷」ボタン
32 「個別印刷」ボタン
33 「終了」ボタン
40 個別選択メニュー画面
50 ユーザー権限テーブル
51 ユーザー名
52 印刷権限
53 app権限

Claims (6)

  1. 機能処理を実行するプログラムを含む複数のソフト部品を記憶するソフト部品記憶部と、
    前記ソフト部品を少なくとも二つ以上組み合わせて実行させるプログラムを含む追加組込ソフトを外部から登録する追加組込ソフト登録部と、
    前記追加組込ソフトの実行権限レベルを予めユーザー毎に記憶するユーザー権限記憶部と、
    前記追加組込ソフト登録部により登録された追加組込ソフトをユーザーが実行しようとした際に、該ユーザーを特定して前記ユーザー権限記憶部から該ユーザーに対する前記権限レベルを取得する実行者権限レベル取得部と、
    該追加組込ソフトの実行に応じて処理される前記ソフト部品毎に、該ソフト部品実行に対応する危険度レベルを決定する危険度レベル決定部と、
    前記実行される追加組込ソフトに対応して前記実行者権限レベル取得部により取得された前記権限レベルと、前記ソフト部品毎の危険度レベルとに基づいて、前記ソフト部品の実行を許可するか否かを判定するソフト部品実行制御部と、
    を有することを特徴とする追加組込ソフト処理装置。
  2. 前記ユーザー権限記憶部には、前記追加組込ソフトを前記ソフト登録部を介して登録する登録者に対する登録者権限レベルと、前記追加組込ソフトを実行する実行者に対する実行者権限レベルとが記憶され、前記ソフト部品実行制御部が判定する前記権限レベルは、前記追加組込ソフトの前記登録者権限レベル及び、前記実行者権限レベルとを含むことを特徴とする請求項1記載の追加組込ソフト処理装置。
  3. 前記ソフト部品実行制御部は、前記登録者権限レベルと前記実行者権限レベルの両方が、任意のソフト部品の前記危険度レベルより高位である場合に、そのソフト部品の実行を許可することを特徴とする請求項2記載の追加組込ソフト処理装置。
  4. 前記危険度レベルは、予め各ソフト部品に対する危険度を登録する危険度登録記憶部に記憶されていることを特徴とする請求項1、2又は3に記載の追加組込ソフト処理装置。
  5. 前記危険度レベルは、前記ソフト部品の実行によりアクセスされるファイルもしくは該ファイルの格納場所に応じて設定されることを特徴とする請求項1、2又は3に記載の追加組込ソフト処理装置。
  6. 機能処理を実行するプログラムを含む複数のソフト部品を記憶する処理と、
    前記ソフト部品を少なくとも二つ以上組み合わせて実行させるプログラムを含む追加組込ソフトを外部から登録する処理と、
    前記追加組込ソフトの実行権限レベルを予めユーザー毎に記憶する処理と、
    前記追加組込ソフト登録部により登録された追加組込ソフトをユーザーが実行しようとした際に、該ユーザーを特定して前記ユーザー権限記憶部から該ユーザーに対する前記権限レベルを取得する処理と、
    該追加組込ソフトの実行に応じて処理される前記ソフト部品毎に、該ソフト部品実行に対応する危険度レベルを決定する処理と、
    前記実行される追加組込ソフトに対応して前記実行者権限レベル取得部により取得された前記権限レベルと、前記ソフト部品毎の危険度レベルとに基づいて、前記ソフト部品の実行を許可するか否かを判定する処理と、
    を実行することを特徴とする追加組込ソフト実行制御方法。
JP2012169701A 2012-07-31 2012-07-31 印刷装置、追加組込ソフト処理装置及び追加組込ソフト実行制御方法 Expired - Fee Related JP6007646B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012169701A JP6007646B2 (ja) 2012-07-31 2012-07-31 印刷装置、追加組込ソフト処理装置及び追加組込ソフト実行制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012169701A JP6007646B2 (ja) 2012-07-31 2012-07-31 印刷装置、追加組込ソフト処理装置及び追加組込ソフト実行制御方法

Publications (3)

Publication Number Publication Date
JP2014029603A true JP2014029603A (ja) 2014-02-13
JP2014029603A5 JP2014029603A5 (ja) 2015-09-10
JP6007646B2 JP6007646B2 (ja) 2016-10-12

Family

ID=50202130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012169701A Expired - Fee Related JP6007646B2 (ja) 2012-07-31 2012-07-31 印刷装置、追加組込ソフト処理装置及び追加組込ソフト実行制御方法

Country Status (1)

Country Link
JP (1) JP6007646B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019068241A (ja) * 2017-09-29 2019-04-25 ブラザー工業株式会社 複合機、複合機システム及び複合機システムにおける拡張機能追加方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110753060B (zh) * 2019-10-25 2022-06-21 深信服科技股份有限公司 一种进程操作控制方法、装置及电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196014A (ja) * 1997-09-25 1999-04-09 Nec Corp プログラム部品配信装置および方法
JP2001273181A (ja) * 2000-03-24 2001-10-05 Toshiba Corp コンピュータシステム
JP2006172398A (ja) * 2004-12-20 2006-06-29 Canon Inc データ処理装置、認証処理方法及びコンピュータプログラム
JP2008158686A (ja) * 2006-12-21 2008-07-10 Toshiba Corp プログラム検証装置及び方法、プログラム検証に基づく署名システム
JP2009087283A (ja) * 2007-10-03 2009-04-23 Obic Business Consultants Ltd 情報処理装置、情報処理方法、およびプログラム
JP2009282994A (ja) * 2009-07-13 2009-12-03 Yamaha Corp ユーザアカウント管理機能を備えた制御プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196014A (ja) * 1997-09-25 1999-04-09 Nec Corp プログラム部品配信装置および方法
JP2001273181A (ja) * 2000-03-24 2001-10-05 Toshiba Corp コンピュータシステム
JP2006172398A (ja) * 2004-12-20 2006-06-29 Canon Inc データ処理装置、認証処理方法及びコンピュータプログラム
JP2008158686A (ja) * 2006-12-21 2008-07-10 Toshiba Corp プログラム検証装置及び方法、プログラム検証に基づく署名システム
JP2009087283A (ja) * 2007-10-03 2009-04-23 Obic Business Consultants Ltd 情報処理装置、情報処理方法、およびプログラム
JP2009282994A (ja) * 2009-07-13 2009-12-03 Yamaha Corp ユーザアカウント管理機能を備えた制御プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019068241A (ja) * 2017-09-29 2019-04-25 ブラザー工業株式会社 複合機、複合機システム及び複合機システムにおける拡張機能追加方法

Also Published As

Publication number Publication date
JP6007646B2 (ja) 2016-10-12

Similar Documents

Publication Publication Date Title
US9740836B2 (en) Licensing for each of software modules of application for execution on the apparatus
JP4473256B2 (ja) アプリケーションプログラムによるリソースアクセスを制御するための情報処理装置、方法、及びプログラム
US9256749B2 (en) Method for invoking application in screen lock environment
US8997250B2 (en) Image forming apparatus, equipment system, and computer-readable storage medium
CN109583152A (zh) 用于隔离的密码强制执行能力
US10067807B2 (en) Information processing apparatus and method of controlling information processing apparatus
EP2765525B1 (en) Apparatus, non-transitory computer readable information recording medium and information recording method
US8405841B2 (en) Data processing apparatus having a printer driver for changing an output destination
US9274775B2 (en) Apparatus, control method, and storage medium to instruct a framework to stop a target application based on a usage amount of a resource and a type of the target application
US7430669B2 (en) Image forming apparatus, launching method of program in the apparatus, image forming system, and program and storage medium therefor
US10298800B2 (en) Information processing apparatus and control method thereof
JP2009217331A (ja) 情報処理装置、情報処理装置の制御方法、プログラム、及び、記録媒体
JP2011008530A (ja) プログラム及び情報処理装置
WO2014017118A1 (en) Information processing apparatus and control method
US10021264B2 (en) Information processing apparatus and method for executing and controlling sequential processing
US20150248560A1 (en) Method for specifying user access rights for a digital document using existing rights management policies with modifications
JP6007646B2 (ja) 印刷装置、追加組込ソフト処理装置及び追加組込ソフト実行制御方法
JP2007233610A (ja) 情報処理装置、ポリシー管理方法、記憶媒体、プログラム
JPH1131019A (ja) 情報処理システム及び情報処理装置及びその制御方法
US20080184365A1 (en) Information processing method, information processing apparatus, information processing program, and recording medium on which the program is recorded
US8261288B2 (en) Application platform
US20190102121A1 (en) Image forming apparatus and control method therefor
US20200252524A1 (en) Image processing apparatus, method of controlling same, and storage medium
US10970008B2 (en) Printing apparatus, control method for printing apparatus, and storage medium
US20090070856A1 (en) Image forming apparatus and utilization limiting method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160829

R150 Certificate of patent or registration of utility model

Ref document number: 6007646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees