JP6991837B2 - Image forming device and its control method - Google Patents

Image forming device and its control method Download PDF

Info

Publication number
JP6991837B2
JP6991837B2 JP2017221286A JP2017221286A JP6991837B2 JP 6991837 B2 JP6991837 B2 JP 6991837B2 JP 2017221286 A JP2017221286 A JP 2017221286A JP 2017221286 A JP2017221286 A JP 2017221286A JP 6991837 B2 JP6991837 B2 JP 6991837B2
Authority
JP
Japan
Prior art keywords
bundle
permission
image forming
prohibited
application
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
JP2017221286A
Other languages
Japanese (ja)
Other versions
JP2018136920A (en
Inventor
祥和 速水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US15/901,283 priority Critical patent/US10484564B2/en
Publication of JP2018136920A publication Critical patent/JP2018136920A/en
Application granted granted Critical
Publication of JP6991837B2 publication Critical patent/JP6991837B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、アプリケーションプログラムのインストールに関するものである。 The present invention relates to the installation of an application program.

近年、画像形成装置においては、JAVA(登録商標)環境に代表されるようなアプリ動作環境が提供されている。JAVA(登録商標)の持つプログラムの可搬性を利用して、拡張可能なアプリを提供する技術が提案されている。 In recent years, in an image forming apparatus, an application operating environment represented by a JAVA (registered trademark) environment has been provided. A technology for providing an expandable application by utilizing the portability of a program possessed by JAVA (registered trademark) has been proposed.

画像形成装置の機能やユーザビィリティの向上を図るために、上記JAVA(登録商標)環境などの環境下で動作するアプリを作成し、画像形成装置にインストールすることで、当該アプリにより所望の機能を実現できる。 In order to improve the functions and usability of the image forming device, by creating an application that operates in an environment such as the above JAVA (registered trademark) environment and installing it in the image forming device, the desired function by the application is achieved. Can be realized.

アプリプラットフォームとしては、OSGi(Open Services Gateway Initiative)Service Platform(以下、OSGi)がある(非特許文献1)。OSGiは、組み込み機器向けのJAVA(登録商標)アプリプラットフォームである。OSGiでは、ソフトウェアモジュールの管理単位としてバンドルを定義しており、インストール/開始/停止/更新/アンインストールからなるライフサイクルを管理するための仕様を定義している。ここで、バンドルとは、JAVA(登録商標)モジュールのことを指し、本発明においては、アプリケーションプログラム(以下「アプリ」と略称する)と同義である。そのため、以後アプリのことをバンドルと表記する。 As an application platform, there is OSGi (Open Services Gateway Initiative) Service Platform (hereinafter, OSGi) (Non-Patent Document 1). OSGi is a JAVA® app platform for embedded devices. In OSGi, a bundle is defined as a management unit of a software module, and a specification for managing a life cycle consisting of installation / start / stop / update / uninstallation is defined. Here, the bundle refers to a JAVA (registered trademark) module, and is synonymous with an application program (hereinafter abbreviated as “application”) in the present invention. Therefore, the application will be referred to as a bundle hereafter.

このようなアプリプラットフォームでは、コピー、スキャン、プリント等の組み込み機能をバンドルが提供することができる。 On such app platforms, bundles can provide built-in features such as copy, scan, and print.

各バンドルは、JAVA(登録商標)の標準仕様で設けられたパーミッションと呼ばれるセキュリティアクセス権限の仕組みを持つ。このパーミッションは、各バンドル個別に定義することが可能である。 Each bundle has a security access authority mechanism called permission provided in the standard specification of JAVA (registered trademark). This permission can be defined individually for each bundle.

「OSGi Service Platform,Release4」, http://www.osgi.org/Download/Release4V40, 2005年10月"OSGi Service Platform, Release4", http: // www. osgi. org / Download / Release4V40, October 2005

しかしながら、バンドルが管理者権限のような強いパーミッションをもつことで、画像形成装置内に悪影響を与えるバンドルを作ることが可能である。例えば、開発中のバンドルとして、(java.security.AllPermission)を保持するバンドルを作成する。それを開発時のテスト用の画像形成装置にインストールすることで、画像形成装置内のシステムバンドルへアクセスしてシステムバンドルの内部情報を抜き出すことも考えられる。 However, if the bundle has strong permissions such as administrator permissions, it is possible to create a bundle that adversely affects the image forming apparatus. For example, as a bundle under development, a bundle that holds (Java. security. AllPermission) is created. By installing it in the image forming device for testing at the time of development, it is conceivable to access the system bundle in the image forming device and extract the internal information of the system bundle.

本発明は、開発中のアプリも含めて、画像形成装置の安全性を担保しながら、アプリのインストールを行う技術を提供することを目的とする。 An object of the present invention is to provide a technique for installing an application while ensuring the safety of an image forming apparatus, including an application under development.

本発明の画像形成装置は、アプリケーションのインストール時に、署名をチェックする設定になっているかを判定する第1の判定手段と、前記第1の判定手段で、署名をチェックする設定になっていない場合、アプリケーションに含まれるパーミッションが、禁止されたパーミッションでないかを判定する第2の判定手段と、前記第2の判定手段で、アプリケーションに含まれるパーミッションが、禁止されたパーミッションでないと判定された場合、前記アプリケーションのインストールを許可する手段を有することを特徴とする。 When the image forming apparatus of the present invention is set to check the signature at the time of installing the application, the first determination means and the first determination means are not set to check the signature. When the second determination means for determining whether the permission included in the application is not a prohibited permission and the second determination means determine that the permission included in the application is not a prohibited permission, It is characterized by having a means for permitting the installation of the application.

本発明によれば、開発中のアプリも含めて、画像形成装置の安全性を担保しながら、アプリのインストールを行うことができるという効果がある。 According to the present invention, there is an effect that the application can be installed while ensuring the safety of the image forming apparatus including the application under development.

画像形成装置のハードウェア構成図Hardware configuration diagram of image forming device 画像形成装置のソフトウェアモジュール階層図Software module hierarchy diagram of image forming equipment バンドルのインストールする流れを示したブロック図Block diagram showing the flow of installing the bundle バンドル管理画面、インストール画面のUIを示した図Figure showing UI of bundle management screen and installation screen バンドルのリリースまでの状態と対応する画像形成装置の状態を説明したブロック図Block diagram explaining the state until the release of the bundle and the state of the corresponding image forming apparatus バンドル管理サービスによる、署名チェック状態切り替えライセンスをインストールするフローチャートFlowchart to install signature check state switching license by bundle management service バンドルの内部構成について説明した図Diagram explaining the internal configuration of the bundle 禁止パーミッションリストの例を説明した図A diagram illustrating an example of a forbidden permission list 画像形成装置にバンドルをインストールするときのインストール制御サービスのフローチャートFlowchart of installation control service when installing a bundle in an image forming device バンドルインストール時のOSGi拡張部のフローチャートFlowchart of OSGi extension at the time of bundle installation OSGi拡張部が禁止パーミッション判定を行うときのフローチャートFlowchart when OSGi extension determines prohibited permission バンドルが保持するパーミッションが、禁止パーミッションに含まれるかどうかの判定方法について説明した図A diagram explaining how to determine whether the permissions held by the bundle are included in the prohibited permissions. ホワイトリスト形式の禁止パーミッションについて説明したブロック図Block diagram explaining whitelist-style prohibited permissions OSGi拡張部がホワイトリスト形式で定義された禁止パーミッションの禁止パーミッション保持判定を行うときのフローチャートFlowchart when the OSGi extension determines the prohibition permission retention judgment of the prohibited permission defined in the whitelist format. バンドルが保持するパーミッションが、ホワイトリスト形式の禁止パーミッションに含まれるかどうかの判定方法について説明した図A diagram explaining how to determine whether the permissions held by the bundle are included in the whitelist-style prohibited permissions. OSGi拡張部がブラックリスト形式とホワイトリスト形式の両方で定義された禁止パーミッションの禁止パーミッション保持判定を行うときのフローチャートFlowchart when the OSGi extension determines the prohibition permission retention judgment of the prohibited permission defined in both the blacklist format and the whitelist format.

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

(実施形態1)
図1は、プリント機能やスキャン機能、ネットワーク通信機能などを備える画像形成装置130のハードウェア構成図である。
(Embodiment 1)
FIG. 1 is a hardware configuration diagram of an image forming apparatus 130 having a print function, a scan function, a network communication function, and the like.

画像形成装置130は、スキャナ部113やプリンタ部114と電気的に接続され、一方でLAN116を介して外部デバイスと接続される。 The image forming apparatus 130 is electrically connected to the scanner unit 113 and the printer unit 114, while being connected to an external device via the LAN 116.

CPU101は、ROM102に記憶された制御プログラム等に基づいて接続中の各種ハードウェアとのアクセスを統括的に制御し、またコントローラ内部で行われる各種処理についても統括的に制御する。 The CPU 101 comprehensively controls access to various hardware being connected based on a control program or the like stored in the ROM 102, and also comprehensively controls various processes performed inside the controller.

ROM102は読み出し専用の不揮発記憶領域であり、画像形成装置130のブートプログラム、ファームウェアなどが格納されている。 The ROM 102 is a read-only non-volatile storage area, and stores the boot program, firmware, and the like of the image forming apparatus 130.

RAM103は、CPU101が動作するためのシステムワークメモリであり、各種データを一時記憶するためのメモリである。このRAM103は、記憶した内容を電源off後も保持可能なFRAM(登録商標)およびSRAM、電源off後に記憶内容が消去されるDRAMなどにより構成される。 The RAM 103 is a system work memory for operating the CPU 101, and is a memory for temporarily storing various data. The RAM 103 is composed of an FRAM (registered trademark) and SRAM that can retain the stored contents even after the power is turned off, a DRAM whose stored contents are erased after the power is turned off, and the like.

HDD104は不揮発記憶領域であり、システムバンドルなどを格納する。図3で説明するインストールするバンドルを含むファームウェアは、HDD104に格納される。 The HDD 104 is a non-volatile storage area and stores a system bundle and the like. The firmware including the bundle to be installed described with reference to FIG. 3 is stored in the HDD 104.

操作部I/F105は、システムバス119と操作部118を接続するインタフェース部である。具体的には操作部118に表示するデータをシステムバス119から受取り表示すると共に、操作部118からの入力情報をシステムバス119へ出力する。画像形成装置130に対するユーザの指示や情報提示は、操作部118を介して行う。 The operation unit I / F 105 is an interface unit that connects the system bus 119 and the operation unit 118. Specifically, the data to be displayed on the operation unit 118 is received and displayed from the system bus 119, and the input information from the operation unit 118 is output to the system bus 119. The user's instruction and information presentation to the image forming apparatus 130 are performed via the operation unit 118.

ネットワークI/F106はLAN116、WAN117及びシステムバス119に接続し、外部との情報の入出力を行う。 The network I / F 106 connects to LAN 116, WAN 117 and the system bus 119, and inputs / outputs information to / from the outside.

スキャナI/F108は、スキャナ部113から受取った画像データに対して、補正、加工、及び編集を行う。 The scanner I / F 108 corrects, processes, and edits the image data received from the scanner unit 113.

画像形成部109は、画像データの方向変換、画像圧縮、伸張部などを行う。 The image forming unit 109 performs direction change of image data, image compression, decompression unit, and the like.

プリンタI/F110は、画像形成部109から送られた画像データを受取り、画像形成後にプリンタ部114にて印刷する。 The printer I / F 110 receives the image data sent from the image forming unit 109, and prints the image data in the printer unit 114 after forming the image.

図2は、本発明に関係する画像形成装置130のソフトウェアモジュール階層図である。なお図2以降に示す各ソフトウェアはROM102、もしくは、HDD104に保存され、CPU101にて実行される。また、実行時に使用する各種情報はRAM103もしくはHDD104に保持してソフトウェア機能間での各種情報のやりとりを行う。さらに外部機器との通信は、ネットワークI/F106を用いて通信を行う。 FIG. 2 is a software module hierarchy diagram of the image forming apparatus 130 according to the present invention. Each software shown in FIGS. 2 and 2 is stored in the ROM 102 or the HDD 104, and is executed by the CPU 101. Further, various information used at the time of execution is held in the RAM 103 or the HDD 104, and various information is exchanged between the software functions. Further, for communication with an external device, communication is performed using the network I / F 106.

次に各ソフトウェアの説明をする。ソフトウェアは、まずオペレーティングシステム(OS)プラットフォーム201を有する。 Next, each software will be described. The software first has an operating system (OS) platform 201.

UI202はユーザインタフェースモジュールであり、オペレータが画像形成装置130に対する各種操作・設定を行う際に、装置とユーザ操作との仲介を行うモジュールである。このモジュールは、オペレータの操作に従い、後述の各種モジュールに入力情報を転送して処理の依頼、或いはデータの設定変更等を行う。 The UI 202 is a user interface module, which is a module that mediates between the device and the user operation when the operator performs various operations and settings on the image forming device 130. This module transfers input information to various modules described later to request processing or change data settings according to the operation of the operator.

次に、JAVA(登録商標)側の構成について述べる。 Next, the configuration on the JAVA (registered trademark) side will be described.

JAVA(登録商標)側のソフトウェアプラットフォームは、JavaVM207のランタイム環境として構成されており、インタプリタとしてのJavaVM207、ライブラリ208、フレームワーク群209で構成される。ライブラリ208は、標準のAPIライブラリを含んで構成される。フレームワーク群209は、OSGi210を含んで構成され、このOSGi210は、単一のJavaVM207に複数のバンドルを動作させる。更に、OSGi拡張部211は、インターフェース仕様であるOSGi210に対する実装部分を担うモジュールである。OSGi拡張部211は、OSGi210の仕様を満たす範囲で必要に応じて機能を拡張可能であることを示す。このOSGi210、及びOSGi拡張部211は、バンドルのライフサイクルの管理やバンドル間通信機能などを提供する。 The software platform on the JAVA® side is configured as the runtime environment of JavaVM207, and is composed of JavaVM207 as an interpreter, the library 208, and the framework group 209. Library 208 is configured to include a standard API library. Framework group 209 is configured to include OSGi210, which operates multiple bundles on a single JavaVM207. Further, the OSGi extension unit 211 is a module that bears a mounting portion for the OSGi 210, which is an interface specification. The OSGi expansion unit 211 indicates that the functions can be expanded as needed within the range satisfying the specifications of the OSGi 210. The OSGi 210 and the OSGi extension unit 211 provide bundle life cycle management, bundle-to-bundle communication functions, and the like.

このOSGi210上には、複数のシステムバンドル群212がある。システムバンドル群212としては、複数のバンドルを管理し、新たなバンドルの追加、更新、削除をするためのバンドル管理サービス214がある。バンドル管理サービス214は、PCからのインストール指示を受信する受け口でもある。インストール指示を受診したバンドル管理サービス214は、インストール制御サービス213を利用して、バンドルの追加、更新を行う。 On this OSGi210, there are a plurality of system bundle groups 212. The system bundle group 212 includes a bundle management service 214 for managing a plurality of bundles and adding, updating, and deleting new bundles. The bundle management service 214 is also a receiving port for receiving an installation instruction from a PC. The bundle management service 214 that has received the installation instruction uses the installation control service 213 to add or update the bundle.

更に、システムバンドル群212の中には、画像形成装置130の認証機能を担う認証バンドル215がある。認証バンドル215は、ユーザが画像形成装置に認証中に任意のバンドルから任意のタイミングで認証情報の問い合わせがあるため、停止できない特性を持つバンドルである。 Further, in the system bundle group 212, there is an authentication bundle 215 that has an authentication function of the image forming apparatus 130. The authentication bundle 215 is a bundle having a characteristic that it cannot be stopped because the user receives an inquiry for authentication information from an arbitrary bundle at an arbitrary timing during authentication to the image forming apparatus.

一方で、後からインストールするタイプの後入れバンドル群217がある。バンドルのインストールについては、図3で示す。後入れバンドル群217として、後入れバンドル219は、画像形成装置130において各種処理をユーザに提供する。例えば、画像の加工や圧縮バンドル、印刷制限などの部門管理を行うバンドルなどがある。 On the other hand, there is a post-installed bundle group 217 of the type to be installed later. The installation of the bundle is shown in FIG. As the post-insertion bundle group 217, the post-insertion bundle 219 provides the user with various processes in the image forming apparatus 130. For example, there are image processing, compression bundles, and bundles that manage departments such as print restrictions.

各種機能を実現する後入れバンドル219は、バンドル管理サービス214の管理下で動作する。バンドル管理サービス214は、管理下に追加されたバンドルのバージョンを含むバンドル情報、ライセンス情報などを保持している。 The post-insertion bundle 219 that realizes various functions operates under the control of the bundle management service 214. The bundle management service 214 holds bundle information, license information, and the like, including the version of the bundle added under control.

図3は、PC300から画像形成装置130へ、後入れバンドル219をインストールする流れを示したブロック図である。 FIG. 3 is a block diagram showing a flow of installing the post-insertion bundle 219 from the PC 300 to the image forming apparatus 130.

市販された後入れバンドル219は、図5で示すように改ざん防止の為、デジタル署名が付与され、そのうえで暗号化されている。また、後入れバンドル219は、パーミッション定義ファイル301が含まれる。このパーミッション定義ファイル301は、後入れバンドル219がインストール後に様々な機能を使用する上で利用可能なパーミッションを示す。ここで、パーミッションとは、JAVA(登録商標)の標準仕様で設けられたセキュリティアクセス権限の仕組みである。パーミッション定義ファイル301は、必要がなければ、保持しなくても構わない。このパーミッションは、通常以下のように、パーミッション名とnameとactionという形式で定義される。nameとactionに取りうる値は、パーミッションの種類によって異なる。また、*指定による、ワイルドカード指定が可能である。
(XXXPermission,“name”,“action”)
As shown in FIG. 5, the commercially available post-insertion bundle 219 is digitally signed and then encrypted to prevent tampering. In addition, the post-insertion bundle 219 includes the permission definition file 301. This permission definition file 301 indicates the permissions that can be used by the post-installed bundle 219 to use various functions after installation. Here, the permission is a mechanism of security access authority provided in the standard specification of JAVA (registered trademark). The permission definition file 301 does not have to be retained if it is not necessary. This permission is usually defined in the form of permission name, name and action as follows. The possible values for name and action depend on the type of permission. In addition, wildcards can be specified by specifying *.
(XXXPermission, "name", "action")

PC300のWEBブラウザにバンドルインストールUI303を表示し、このバンドルインストールUI303からインストールしたいバンドル219を指定し、インストールを行う。バンドルインストールUI303で指定されたバンドルを受信したバンドル管理サービス214は、それをインストール制御サービス213に渡す。バンドルファイルを受信したインストール制御サービス213は、受信したバンドル219の復号化処理や正当性を示すデジタル署名をもつかの確認処理を行った上で、確認に問題がない場合は、最終的にOSGi拡張部211にインストールを依頼する。図7で示す禁止パーミッションリスト302は、HDD104に格納されている。OSGi拡張部211は、後述する画像形成装置130がデジタル署名チェックオフ状態の場合、この禁止パーミッションリスト302を参照し、バンドル219がもつパーミッションに禁止パーミッションを含むかどうかを確認した上でインストールを行う。ここで、パーミッションの管理は、OSGi210の規定に含まれ、また、最終的なバンドルのインストール処理を担っていることからも、禁止パーミッションのチェックは、OSGi拡張部211で実行することが最適と考えられる。インストールされたバンドルは、バンドル管理サービス214によって管理される。 The bundle installation UI 303 is displayed on the WEB browser of the PC 300, the bundle 219 to be installed is specified from this bundle installation UI 303, and the installation is performed. Upon receiving the bundle specified by the bundle installation UI 303, the bundle management service 214 passes it to the installation control service 213. The installation control service 213 that received the bundle file performs decryption processing of the received bundle 219 and confirmation processing of whether or not it has a digital signature indicating the validity, and if there is no problem in the confirmation, finally OSGi. Ask the extension unit 211 to install it. The prohibited permission list 302 shown in FIG. 7 is stored in the HDD 104. When the image forming apparatus 130 described later is in the digital signature check-off state, the OSGi extension unit 211 refers to the prohibited permission list 302, confirms whether the permission of the bundle 219 includes the prohibited permission, and then installs the OSGi extension unit 211. .. Here, since permission management is included in the rules of OSGi 210 and is responsible for the final bundle installation process, it is considered optimal to execute the check of prohibited permissions in the OSGi extension unit 211. Be done. The installed bundle is managed by the bundle management service 214.

図4は、バンドルインストールUI303における、バンドル管理画面400とインストール画面430を示した図である。 FIG. 4 is a diagram showing a bundle management screen 400 and an installation screen 430 in the bundle installation UI 303.

バンドル名401は、管理されているバンドル名を表示する。この例の場合、バンドルA405とバンドルB406の2つが管理されている。インストール日402は、各バンドルがインストールされた日付である。バンドルID403は、各バンドルに一意に割り振られたバンドルIDを表示している。状態404は、各バンドルの状態を示している。バンドルが開始であれば開始409、停止であれば停止412と表示される。開始ボタン416/停止ボタン413は、バンドルの開始停止を切り替える指示ボタンである。開始状態のバンドルの場合、停止ボタンとなり、停止状態のバンドルの場合、開始ボタンと表示される。開始状態のバンドル(本例では、「バンドルA405」)の停止ボタン413を押下すると、その状態404は停止に変更される。一方、停止状態のバンドル(本例では、「バンドルB406」)の開始ボタン416を押下すると、その状態404は開始に変更される。アンインストールボタン417、420は、各バンドルのアンインストール指示ボタンである。 The bundle name 401 displays the managed bundle name. In the case of this example, two bundles, bundle A405 and bundle B406, are managed. The installation date 402 is the date on which each bundle was installed. The bundle ID 403 displays the bundle ID uniquely assigned to each bundle. The state 404 indicates the state of each bundle. If the bundle is started, it is displayed as start 409, and if it is stopped, it is displayed as stop 412. The start button 416 / stop button 413 is an instruction button for switching the start / stop of the bundle. In the case of a bundle in the started state, it becomes a stop button, and in the case of a bundle in a stopped state, it is displayed as a start button. When the stop button 413 of the bundle in the started state (in this example, "bundle A405") is pressed, the state 404 is changed to stop. On the other hand, when the start button 416 of the bundle in the stopped state (in this example, "bundle B406") is pressed, the state 404 is changed to start. The uninstall buttons 417 and 420 are uninstall instruction buttons for each bundle.

次に、インストール画面430について説明する。参照ボタン433は、ファイルパスを選択する画面を表示する。その画面でバンドルファイルを指定すると、バンドルファイルのパス431にバンドルファイルへのパスが入力される。バンドルは、セキュリティやビジネス上の観点からインストール処理において、バンドルを復号するためのライセンスファイルが必要となる場合がある。その場合、参照ボタン434を押下すると、ファイルパスを選択する画面を表示する。そこでバンドル指定と同様にライセンスファイルを指定すると、ライセンスファイルのパス432にライセンスファイルへのパスが入力される。インストールボタン435が押下されると、バンドルファイルのパス431で指定したバンドルのインストールが開始される。 Next, the installation screen 430 will be described. The reference button 433 displays a screen for selecting a file path. When the bundle file is specified on the screen, the path to the bundle file is input to the path 431 of the bundle file. From a security or business point of view, the bundle may require a license file to decrypt the bundle during the installation process. In that case, when the reference button 434 is pressed, a screen for selecting a file path is displayed. Therefore, if the license file is specified in the same way as the bundle specification, the path to the license file is input to the path 432 of the license file. When the install button 435 is pressed, the installation of the bundle specified by the bundle file path 431 is started.

図5は、バンドルのリリースまでの状態と対応する画像形成装置の状態を説明したブロック図である。 FIG. 5 is a block diagram illustrating a state up to the release of the bundle and a state of the image forming apparatus corresponding to the state.

開発環境500は、開発中のバンドル501と画像形成装置510の状態について説明したものである。開発環境500では、後述する市場環境とは異なり、ベリフィケーションを通す前の開発中であり、開発者は、自由にパーミッションを付与することができる。 The development environment 500 describes the state of the bundle 501 under development and the image forming apparatus 510. In the development environment 500, unlike the market environment described later, development is underway before passing through verification, and the developer can freely grant permissions.

バンドル501は、開発中であるため、バンドルの正当性を示すデジタル署名が付与されていない。そのため、バンドル501を画像形成装置510にインストール531を実行して動作確認を行う場合、画像形成装置510の署名チェック状態をオフ511にしておく必要がある。ここで署名チェックとは、バンドルインストール時に、バンドルに正規の署名が付与されているかをチェックするものであり、チェックした結果、正規の署名をもたない場合は、バンドルのインストールに失敗する。署名チェック状態511がオフ512とは、署名チェックを行わない状態を示す。 Since the bundle 501 is under development, it is not given a digital signature to justify the bundle. Therefore, when the bundle 501 is installed in the image forming apparatus 510 and the operation is confirmed, it is necessary to set the signature check state of the image forming apparatus 510 to off 511. Here, the signature check is to check whether the bundle has a legitimate signature at the time of bundle installation, and as a result of the check, if the bundle does not have a legitimate signature, the bundle installation fails. When the signature check state 511 is off 512, it means that the signature check is not performed.

一方、市場環境502は、市場でリリースされた暗号化されたバンドル504と画像形成装置520の状態について説明したものである。市場環境502では、開発されたバンドルの市場リリース前には、バンドルの正当性の確認(ベリフィケーション)を行う。ベリフィケーションを行ったバンドルには、その正当性を証明する為のデジタル署名を付与する。バンドルを、画像形成装置にインストールする際に、必ずこの署名のチェックを行うことで、正当性が証明されたバンドルしかインストールすることができない。 On the other hand, the market environment 502 describes the state of the encrypted bundle 504 and the image forming apparatus 520 released in the market. In the market environment 502, the validity of the developed bundle is confirmed (verification) before the developed bundle is released to the market. The verified bundle will be given a digital signature to prove its validity. By always checking this signature when installing the bundle on the image forming device, only the bundle whose validity has been proved can be installed.

開発したバンドル501を市場にリリースする為には、バンドルの正当性確認530が必要となる。このバンドルの正当性確認530とは、バンドルが利用するリソースが正常範囲内に収まるかなどの確認だけでなく、バンドルに適正なパーミッションが付与されているかどうかも確認される。その正当性が確認されたバンドル501には、デジタル署名503が付与される。その上で、セキュリティ確保の為に暗号化504が実施される。この暗号化を復号するめの鍵の情報を保持するために対応するライセンス505が必要となる。 In order to release the developed bundle 501 to the market, it is necessary to confirm the validity of the bundle 530. The validity confirmation 530 of this bundle is not only confirmation of whether the resources used by the bundle are within the normal range, but also confirmation of whether or not appropriate permissions are given to the bundle. A digital signature 503 is given to the bundle 501 whose validity has been confirmed. Then, encryption 504 is performed to ensure security. A corresponding license 505 is required to retain the key information for decrypting this encryption.

また、市場環境502での画像形成装置520の状態は、署名チェック状態511をオン521にしておく必要がある。こうすることで、署名がない開発中のバンドル501は、市場の画像形成装置520にはインストールできなくなる。一方、署名503をもつリリースされた暗号化バンドル504は、ライセンス505と共にインストール532を実行することで画像形成装置520にインストール可能である。 Further, in the state of the image forming apparatus 520 in the market environment 502, it is necessary to turn on the signature check state 511. This makes it impossible to install the unsigned bundle 501 under development on the image forming apparatus 520 on the market. On the other hand, the released encryption bundle 504 with the signature 503 can be installed on the image forming apparatus 520 by executing the installation 532 together with the license 505.

このように、画像形成装置の署名チェック状態は重要な設定であるため、市場において簡単に切り替えることはできない仕組みが必要である。そこで、533で示すように、画像形成装置の署名チェック状態は、署名チェック状態を変更する専用の署名チェック状態切替ライセンス534を利用してのみ切り替えることを可能とする。また、この署名チェック状態511のオンオフの情報は、HDD104に保持されている。 As described above, since the signature check state of the image forming apparatus is an important setting, a mechanism that cannot be easily switched in the market is required. Therefore, as shown by 533, the signature check state of the image forming apparatus can be switched only by using the dedicated signature check state switching license 534 that changes the signature check state. Further, the on / off information of the signature check state 511 is held in the HDD 104.

図6は、署名チェック状態切り替えライセンス534をインストールするフローチャートである。PC300からライセンスインストールUI(不図示)からバンドル管理サービス214に対して署名チェック状態切り替えライセンス534をインストールする。 FIG. 6 is a flowchart for installing the signature check state switching license 534. Install the signature check status switching license 534 from the PC300 to the bundle management service 214 from the license installation UI (not shown).

S600において、バンドル管理サービス214は、受信した署名チェック状態切り替えライセンス534のインストール処理を開始する。 In S600, the bundle management service 214 starts the installation process of the received signature check state switching license 534.

S601において、受信した署名チェック状態切り替えライセンス534がオン指定であるかを判断する。オン指定である場合、S602に進む。オフ指定である場合、S603に進む。または、指定されたライセンスが不正な状態である場合、S604に進む。ここで、不正な状態とは、正しいフォオーマットでないなどの状態を指す。 In S601, it is determined whether or not the received signature check state switching license 534 is designated as ON. If it is on, the process proceeds to S602. If it is specified to be off, the process proceeds to S603. Alternatively, if the specified license is in an invalid state, the process proceeds to S604. Here, the illegal state refers to a state such as not being a correct format.

S602において、コードチェック状態511をオンに設定する。S603において、コードチェック状態511をオフに設定する。S604において、署名チェック状態切り替えライセンス534のインストール処理を終了する。 In S602, the code check state 511 is set to ON. In S603, the code check state 511 is set to off. In S604, the installation process of the signature check state switching license 534 is terminated.

図7(a)は、バンドルの内部構成について説明した図である。バンドルjarファイル700は、マニフェストファイル701やバンドルの実体であるクラスファイル703だけでなく、パーミッション定義ファイル702を保持している。このパーミッション定義ファイル702の例を図7(b)に示す。ここに記載されたパーミッションが、バンドルjarファイル700が利用することができるパーミッションということになる。 FIG. 7A is a diagram illustrating the internal configuration of the bundle. The bundle jar file 700 holds not only the manifest file 701 and the class file 703 that is the substance of the bundle, but also the permission definition file 702. An example of this permission definition file 702 is shown in FIG. 7 (b). The permissions described here are the permissions that can be used by the bundle jar 700.

図8は、禁止パーミッションリスト302の例を説明した図である。禁止パーミッションリスト302とは、バンドルがこれらのパーミッションを保持し、適宜プログラムを作成することで、例えば画像形成装置のシステムバンドルの情報を取得できる不正利用につながるパーミッション801の一覧である。これらをブラックリスト形式で列挙することで、バンドルが保持することを禁止するパーミッションであることを定義している。 FIG. 8 is a diagram illustrating an example of the prohibited permission list 302. The prohibited permission list 302 is a list of permissions 801 that can lead to unauthorized use, for example, by allowing the bundle to retain these permissions and appropriately creating a program to acquire information on the system bundle of the image forming apparatus. By enumerating these in blacklist format, it is defined that the permissions are prohibited from being held by the bundle.

図9は、画像形成装置にバンドルをインストールするときのインストール制御サービス213のフローチャートである。 FIG. 9 is a flowchart of the installation control service 213 when the bundle is installed in the image forming apparatus.

S900において、バンドル管理サービス214から指定されたバンドルを受信したインストール制御サービス213は、バンドルインストール処理を開始する。 In S900, the installation control service 213 that has received the bundle specified from the bundle management service 214 starts the bundle installation process.

S901において、指定されたバンドルが暗号化されているかを判断する。暗号化されている場合は、S902に進む。暗号化されていないと判断した場合は、S904に進む。ここで、暗号化されているのは市販のバンドル504の状態であり、暗号化されていないのは開発中のバンドル501の状態が想定される。 In S901, it is determined whether the specified bundle is encrypted. If it is encrypted, proceed to S902. If it is determined that the encryption is not performed, the process proceeds to S904. Here, it is assumed that the state of the bundle 504 on the market is encrypted, and the state of the bundle 501 under development is not encrypted.

S902においては、暗号化されたバンドルの場合は、一緒に指定されたライセンスに付与されたバンドル復号の為の鍵を使用して、暗号化されたバンドルを復号化する。 In S902, in the case of an encrypted bundle, the encrypted bundle is decrypted by using the key for decrypting the bundle given to the license specified together with the encrypted bundle.

S903において、バンドルの復号化に成功したかどうかを判断する。失敗した場合は、S907に進んでインストールの実行は失敗する。失敗する原因としては、バンドルとライセンスの組み合わせが正しくないことが想定される。S903において、バンドルの復号化が成功した場合は、S904に進む。S904において、デバイスの署名チェック状態を判断する。S904において、署名チェックオンの場合は、S905に進む。一方、署名チェックオフの場合は、S906に進む。 In S903, it is determined whether or not the bundle has been successfully decrypted. If it fails, the process proceeds to S907 and the installation fails. The reason for the failure is assumed to be an incorrect combination of bundle and license. If the decryption of the bundle is successful in S903, the process proceeds to S904. In S904, the signature check status of the device is determined. In S904, if the signature check-on is performed, the process proceeds to S905. On the other hand, in the case of signature check-off, the process proceeds to S906.

S905において、バンドルに付与されている署名503が正しいかどうかを判断する。S905において、正規の署名と判断された場合は、S906に進む。正規の署名と判断されなかった場合は、S907に進んでインストールの実行は失敗する。つまり、正規の署名が付与されているかどうかで、インストールの可否を判断する。S906において、図9で示すOSGi拡張部211のインストール処理にバンドルを渡す。S908において、インストール制御サービス213のインストール処理が終了する。 In S905, it is determined whether the signature 503 attached to the bundle is correct. If it is determined in S905 that the signature is legitimate, the process proceeds to S906. If it is not determined to be a legitimate signature, the process proceeds to S907 and the installation fails. In other words, whether or not the installation is possible is determined based on whether or not a legitimate signature is given. In S906, the bundle is passed to the installation process of the OSGi extension unit 211 shown in FIG. In S908, the installation process of the installation control service 213 is completed.

図10は、S906においてインストール制御サービス213からjarを受信したバンドルインストール時のOSGi拡張部211のフローチャートである。 FIG. 10 is a flowchart of the OSGi extension unit 211 at the time of bundle installation in which the jar is received from the installation control service 213 in S906.

S1000において、OSGi拡張部211は、バンドルインストール処理を開始する。S1001において、デバイスの署名チェック状態を判断する。S1001において、署名チェックオンの場合は、S1005に進む。一方、署名チェックオフの場合は、S1002に進む。 In S1000, the OSGi extension unit 211 starts the bundle installation process. In S1001, the signature check state of the device is determined. In S1001, if the signature check-on is performed, the process proceeds to S1005. On the other hand, in the case of signature check-off, the process proceeds to S1002.

S1002において、インストールするjarが、図3で示したように後入れのバンドルかどうかを判断する。ここで、後入れでないバンドルというのは、画像形成装置130に最初から同梱されているシステムバンドル群212である。S1002において、後入れでないと判断された場合は、S1005に進み、禁止パーミッションのチェックは省略する。これは、システムバンドル群212は、禁止パーミッションのような強いパーミッションを必要とする機能があるということと、同梱されているということで安全性は確保されているということから、省略可能とする。一方、後入れであると判断された場合は、S1003に進む。S1003において、バンドルがパーミッション定義ファイルを保持しているかを判断する。保持していない場合は、S1005に進む。一方、保持している場合は、S1004に進む。 In S1002, it is determined whether the jar to be installed is a post-installed bundle as shown in FIG. Here, the bundle that is not post-inserted is the system bundle group 212 that is included in the image forming apparatus 130 from the beginning. If it is determined in S1002 that it is not a post-insertion, the process proceeds to S1005 and the prohibition permission check is omitted. This can be omitted because the system bundle group 212 has a function that requires strong permissions such as prohibited permissions, and because it is bundled, safety is ensured. .. On the other hand, if it is determined that the post-insertion is performed, the process proceeds to S1003. In S1003, it is determined whether the bundle holds the permission definition file. If it is not held, the process proceeds to S1005. On the other hand, if it is held, the process proceeds to S1004.

S1004において、バンドルが保持しているパーミッションが禁止パーミッションを含むかどうかを判断する。この判断方法については、図11で示す。S1004において、禁止パーミッションを判断していないと判断した場合は、S1005に進む。一方、禁止パーミッションを保持していると判断した場合は、S1006に進んでインストールの実行は失敗する。S1005において、jarをインストール先フォルダにコピーし、バンドルのインストール実行を完了する。S1007において、OSGi拡張部211のバンドルインストール処理が終了する。 In S1004, it is determined whether the permission held by the bundle includes the prohibited permission. This determination method is shown in FIG. If it is determined in S1004 that the prohibited permission has not been determined, the process proceeds to S1005. On the other hand, if it is determined that the prohibited permission is retained, the process proceeds to S1006 and the installation fails. In S1005, copy the jar to the installation destination folder and complete the bundle installation execution. In S1007, the bundle installation process of the OSGi extension unit 211 ends.

図11は、OSGi拡張部211が禁止パーミッション判定処理のフローチャートである。 FIG. 11 is a flowchart of the prohibition permission determination process by the OSGi extension unit 211.

S1100において、バンドルが保持するパーミッションが禁止パーミッションに含まれるかの判定処理が開始される。 In S1100, the determination process of whether or not the permission held by the bundle is included in the prohibited permission is started.

S1101において、バンドルが保持するパーミッション全てに対するチェックが開始される。そのため、バンドルが保持するパーミッション全てのパーミッションに対して次のチェックを行う。 In S1101, the check for all the permissions held by the bundle is started. Therefore, the following checks are performed for all permissions held by the bundle.

S1102において、禁止パーミッションリスト302に記載されたパーミッション全てに対するループが開始される。 In S1102, a loop for all the permissions listed in the prohibited permission list 302 is started.

S1103において、禁止パーミッションリスト302に記載された最初のパーミッションと、バンドルが保持する最初のパーミッションが一致するかを判断する。この一致するかどうかの具体的な判断方法については、図11で示す。一致したと判断した場合は、S1104に進み、禁止パーミッションを保持していると判定し、S1108において判定処理を終了する。この場合は、S1004の判定結果として、YESが返ることになる。一方、S1103において、一致していないと判断した場合は、S1105に進む。 In S1103, it is determined whether the first permission listed in the prohibited permission list 302 and the first permission held by the bundle match. A specific method for determining whether or not there is a match is shown in FIG. If it is determined that they match, the process proceeds to S1104, it is determined that the prohibited permission is held, and the determination process ends in S1108. In this case, YES is returned as the determination result of S1004. On the other hand, if it is determined in S1103 that they do not match, the process proceeds to S1105.

S1105において、最後の禁止パーミッションかどうかを判定する。残っている場合は、S1103に戻り、引き続き次の禁止パーミッションとの判定処理を繰り返す。こうして、全ての禁止パーミッションのチェックが完了した後、S1106に進む。 In S1105, it is determined whether or not it is the last prohibited permission. If it remains, the process returns to S1103 and the determination process of the next prohibited permission is repeated. In this way, after the check of all prohibited permissions is completed, the process proceeds to S1106.

S1106において、バンドルが保持する最後のパーミッションかどうかを判定し、残っている場合は、S1103に戻り、引き続きバンドルが保持する次のパーミッションで判定処理を繰り返す。こうして、全てのバンドルが保持するパーミッションのチェックが完了した後、S1107に進む。 In S1106, it is determined whether or not it is the last permission held by the bundle, and if it remains, the process returns to S1103, and the determination process is repeated with the next permission held by the bundle. In this way, after the permission check held by all the bundles is completed, the process proceeds to S1107.

S1107においては、禁止パーミッションを保持していないと判定し、S1108において判定処理を終了する。この場合は、S1004の判定結果として、NOが返ることになる。 In S1107, it is determined that the prohibited permission is not held, and in S1108, the determination process is terminated. In this case, NO is returned as the determination result of S1004.

図12は、バンドルが保持するパーミッションが、禁止パーミッションに含まれるかどうかの判定方法について説明した図である。 FIG. 12 is a diagram illustrating a method of determining whether or not the permission held by the bundle is included in the prohibited permission.

例1として、禁止パーミッションが(1200)の場合を説明する。この禁止パーミッション(1200)は、パーミッションとしては、(java.lang.RuntimePermission)であり、nameとして、“loadLibrary.*”が指定されている。ここで*は、ワイルドカードを示している。 As an example 1, the case where the prohibited permission is (1200) will be described. The prohibited permission (1200) is (Java.lang.RuntimePermission) as the permission, and "loadLibry. *" Is specified as the name. Here, * indicates a wild card.

バンドルが保持するパーミッションが(java.lang.RuntimePermission“loadLibrary.xxx.jar”)(1201)であった場合、パーミッションとnameが一致している。そのため、禁止パーミッションを保持していると判定される。一方、(java.lang.RuntimePermission“createClassLoader”)(1202)であった場合、パーミッションは一致しているが、nameは一致していないため、禁止パーミッションを保持していないと判定される。 If the permission held by the bundle is (Java.lang.RuntimePermission "loadLibry.xxx.jar") (1201), the permission and the name match. Therefore, it is determined that the prohibited permission is held. On the other hand, in the case of (Java.lang.RuntimePermission "createClassRoder") (1202), it is determined that the prohibited permission is not held because the permissions match but the names do not match.

例2として、禁止パーミッションが(1203)の場合を説明する。 As an example 2, the case where the prohibited permission is (1203) will be described.

この禁止パーミッション(1203)は、パーミッションとしては、(org.osgi.framework.AdminPermission)であり、nameとして“*”、actionとして“resource”が指定されている。ここで*は、ワイルドカードを示している。 In this prohibited permission (1203), the permission is (org.osgi.framework.AdominPermission), “*” is specified as the name, and “resource” is specified as the action. Here, * indicates a wild card.

バンドルが保持するパーミッションが(org.osgi.framework.AdminPermission“xxx”“resource”)(1204)であった場合、パーミッションとname、action全てが一致している。そのため、禁止パーミッションを保持していると判定される。一方、(org.osgi.framework,AdminPermission“*”“metadata”)(1205)であった場合、パーミッションとnameは一致しているが、actionは一致していな。そのため、禁止パーミッションを保持していないと判定される。 If the permission held by the bundle is (org.osgi.framework.AdominPermission "xxx" "resource") (1204), the permission, name, and action all match. Therefore, it is determined that the prohibited permission is held. On the other hand, in the case of (org.osgi.framework, AdaminPermission "*" "metadatta") (1205), the permission and the name match, but the action does not match. Therefore, it is determined that the prohibited permission is not held.

尚、図11は、インストールしようとしているバンドルが、禁止パーミッションを保持するかを判定するためのフローチャートであるが、判定の仕方は一例である。つまり、図11のフローチャート通りでなくてもよく、インストールしようとしているバンドルのパーミッション定義ファイルのパーミッションに、図8に記載の禁止パーミッションリストにあるパーミッションが含まれているか、いないかを判定すればよい。インストールしようとしているバンドルのパーミッション定義ファイルのパーミッションに、図8に記載の禁止パーミッションリストにあるパーミッションが含まれていない場合、禁止パーミッションが保持されていないと判定される。そして、禁止パーミッションが保持されていないと判定された場合に、インストールが実行される。 Note that FIG. 11 is a flowchart for determining whether the bundle to be installed retains the prohibited permission, but the determination method is an example. That is, it is not necessary to follow the flowchart of FIG. 11, and it is sufficient to determine whether or not the permissions of the permission definition file of the bundle to be installed include the permissions in the prohibited permission list shown in FIG. .. If the permissions of the permission definition file of the bundle to be installed do not include the permissions in the prohibited permission list shown in FIG. 8, it is determined that the prohibited permissions are not held. Then, if it is determined that the prohibited permission is not retained, the installation is executed.

(実施形態1の変形例1)
変形例1では、実施形態1の図8で示したブラックリスト形式の禁止パーミッションではなく、ホワイトリスト形式の定義方法について述べる。
(Modification 1 of Embodiment 1)
In the first modification, the definition method of the whitelist format is described instead of the blacklist format prohibited permission shown in FIG. 8 of the first embodiment.

図13は、ホワイトリスト形式の禁止パーミッションについて説明したブロック図である。1300は、図8で示したブラックリスト形式の禁止パーミッション定義である。つまり、網掛けで示したここに記載されたパーミッションは、全て禁止パーミッションとなる。 FIG. 13 is a block diagram illustrating a whitelist-style prohibited permission. Reference numeral 1300 is a blacklist-style prohibited permission definition shown in FIG. In other words, all the permissions shown here shaded are prohibited permissions.

一方、こうしたブラックリスト形式だと禁止パーミッションの指定が難しい(java.io.FilePermission)の定義について説明する。 On the other hand, the definition of (Java.io.FilePermission), which is difficult to specify prohibited permissions in such a blacklist format, will be described.

1301は、(java.io.FilePermission)の禁止パーミッションを示している。FilePermissionは、nameとして対象ファイルのパス、actionとして対象ファイルに対する操作の形式の指定となっている。 1301 indicates the prohibited permission of (Java.io.FilePermission). In FilePermission, the path of the target file is specified as the name, and the operation format for the target file is specified as the action.

一部のFilePermissionを許容して、それ以外全てを禁止したいケースを考える。禁止したい対象ファイルのパスは無限にあるため、ブラックリスト形式では、禁止パーミッションの定義ができない。そこで、1302に示すように、許容したい対象ファイルを定義し、この許容した対象ファイル以外のFilePermissionを禁止パーミッションとした定義とする。このように、FilePermissionは、ホワイトリスト形式の禁止パーミッション定義となる。 Consider a case where you want to allow some FilePermissions and prohibit everything else. Since the path of the target file to be prohibited is infinite, the prohibited permission cannot be defined in the blacklist format. Therefore, as shown in 1302, the target file to be allowed is defined, and the File Permission other than the allowed target file is defined as the prohibited permission. In this way, FilePermission is a whitelist-style prohibited permission definition.

図14は、OSGi拡張部がホワイトリスト形式で定義された禁止パーミッションの禁止パーミッション保持判定を行うときのフローチャートである。このフローチャートは、S1004で示した禁止パーミッションが保持するかどうかの判定処理方法の一つであり、図11で示したブラックリスト形式の禁止パーミッション保持判定処理に引き続いて行われると考えてよい。 FIG. 14 is a flowchart when the OSGi extension unit performs a prohibition permission holding determination of a prohibited permission defined in a whitelist format. This flowchart is one of the methods for determining whether or not the prohibited permission shown in S1004 is retained, and may be considered to be performed following the blacklist-style prohibited permission retention determination process shown in FIG.

S1400において、バンドルが保持するパーミッションが、ホワイトリスト形式の禁止パーミッションに含まれるかの判定処理が開始される。 In S1400, the process of determining whether the permission held by the bundle is included in the whitelist-style prohibited permission is started.

S1401において、バンドルが保持するパーミッション全てに対するチェックが開始される。そのため、バンドルが保持するパーミッション全てのパーミッションに対して次のチェックを行う。 In S1401, the check for all the permissions held by the bundle is started. Therefore, the following checks are performed for all permissions held by the bundle.

S1402において、パーミッションがホワイトリスト形式で定義されたFilePermissionであるかどうかを判断する。FilePermissionでない場合、S1408に進む。FilePermissionである場合、S1403に進む。 In S1402, it is determined whether or not the permission is a FilePermission defined in the whitelist format. If it is not FilePermission, proceed to S1408. If it is FilePermission, the process proceeds to S1403.

S1403において、ホワイトリスト形式で定義された禁止パーミッションリスト1302に記載されたパーミッション全てに対するループが開始される。 In S1403, a loop for all the permissions listed in the prohibited permission list 1302 defined in the whitelist format is started.

S1404において、ホワイトリスト形式で定義された禁止パーミッションリスト1302に記載されたパーミッション全てと、バンドルが保持するFilePermissionが一致するかを判断する。この一致するかどうかの具体的な判断方法については、図15で示す。一致したと判断した場合は、S1405に進み、S1405において、許容されたパーミッションを保持していると判定され、S1408に進む。 In S1404, it is determined whether all the permissions described in the prohibited permission list 1302 defined in the whitelist format match the FilePermission held by the bundle. A specific method for determining whether or not there is a match is shown in FIG. If it is determined that they match, the process proceeds to S1405, and in S1405, it is determined that the permission is permitted, and the process proceeds to S1408.

一方、S1404において、一致していないと判断した場合は、S1406に進む。 On the other hand, if it is determined in S1404 that they do not match, the process proceeds to S1406.

S1406において、最後のホワイトリスト形式で定義された禁止パーミッションリスト1302かどうかを判定する。残っている場合は、S1404に戻り、引き続き次のホワイトリスト形式で定義された禁止パーミッションとの判定処理を繰り返す。こうして、全ての禁止パーミッションのチェックが完了し、許容されたFilePermissionを持っていない場合は、S1407に進む。 In S1406, it is determined whether or not it is the prohibited permission list 1302 defined in the last whitelist format. If it remains, the process returns to S1404, and the determination process of the prohibited permission defined in the next whitelist format is repeated. In this way, if the check of all prohibited permissions is completed and the file Permission is not allowed, the process proceeds to S1407.

S1407においては、禁止パーミッションを保持していると判定され、S1410において判定処理を終了する。この場合は、S1004の判定結果として、YESが返ることになる。 In S1407, it is determined that the prohibited permission is held, and in S1410, the determination process is terminated. In this case, YES is returned as the determination result of S1004.

S1408において、バンドルが保持する最後のパーミッションかどうかを判定し、残っている場合は、S1402に戻り、引き続きバンドルが保持する次のパーミッションで判定処理を繰り返す。こうして、全てのバンドルが保持するパーミッションのチェックが完了した後、S1409に進む。 In S1408, it is determined whether or not it is the last permission held by the bundle, and if it remains, the process returns to S1402, and the determination process is repeated with the next permission held by the bundle. In this way, after the permission check held by all the bundles is completed, the process proceeds to S1409.

S1409においては、禁止パーミッションを保持していないと判定し、S1410において判定処理を終了する。この場合は、S1004の判定結果として、NOが返ることになる。 In S1409, it is determined that the prohibited permission is not held, and in S1410, the determination process is terminated. In this case, NO is returned as the determination result of S1004.

図15は、バンドルが保持するパーミッションが、ホワイトリスト形式の禁止パーミッションに含まれるかどうかの判定方法について説明した図である。 FIG. 15 is a diagram illustrating a method of determining whether or not the permissions held by the bundle are included in the whitelist-style prohibited permissions.

例1として、禁止パーミッション(1500)の場合を説明する。この禁止パーミッション(1500)は、パーミッションとしては、(java.io.FilePermission)である。nameとして、“/xxx/yyy/zzz/-”、actionとして“read,write,delete”が指定されている。ここで“-”は/xxx/yyy/zzz/以下の全てのディレクトリ、ファイルを示している。 As an example 1, the case of prohibited permission (1500) will be described. This prohibited permission (1500) is (Java.io.FilePermission) as a permission. “/ Xxx / yyy / zzz / −” is specified as the name, and “read, write, delete” is specified as the action. Here, "-" indicates all directories and files under / xxx / yyy / zzz /.

これに対して、バンドルが保持するパーミッションが(java.io.FilePermission“<<ALL FILES>>”“read,write,delete”)(1501)であった場合を考える。ここで、nameにおける<<ALL FILES>>は、全てのファイルが対象であることを意味する。そのため、許容されているファイルパス以外を含むとみなされ、禁止パーミッションを保持していると判定される。 On the other hand, consider the case where the permission held by the bundle is (Java.io.FilePermission "<< ALL FILES >>" "read, write, delete") (1501). Here, << ALL FILES >> in name means that all files are targeted. Therefore, it is considered that the file path other than the permitted file path is included, and it is determined that the prohibited permission is held.

また、バンドルが保持するパーミッションが(java.io.FilePermission“/xxx/yyy/zzz/-”“read,write,delete,execute”)(1502)であった場合を考える。この場合、パーミッションとnameは一致しているが、actionとしてexcuteは許容外とみなされて、禁止パーミッションを保持していると判定される。 Further, consider the case where the permission held by the bundle is (Java.io.FilePermission "/ xxx / yyy / zzz /-" "read, write, detail, execute") (1502). In this case, the permission and the name match, but the cut is regarded as unacceptable as an action, and it is determined that the prohibited permission is held.

バンドルが保持するパーミッションが(java.io.FilePermission“/xxx/yyy/zzz/aaa.log”“write”)(1503)であった場合、パーミッションとname、action全てが許容範囲内とみなされる。そのため、禁止パーミッションを保持していないと判定される。 If the permission held by the bundle is (Java.io.FilePermission "/xxx/yy/zzz/aaa.log" "write") (1503), the permission, name, and action are all considered to be within the allowable range. Therefore, it is determined that the prohibited permission is not held.

バンドルが保持するパーミッションが(java.io.FilePermission“/xxx/yyy/zzz/www”“read,write”)(1504)であった場合でも、パーミッションとname、action全てが許容範囲内とみなされる。そのため、禁止パーミッションを保持していないと判定される。 Even if the permission held by the bundle is (Java.io.FilePermission "/ xxx / yyy / zzz / www" "read, write") (1504), all the permissions, names, and actions are considered to be within the allowable range. .. Therefore, it is determined that the prohibited permission is not held.

尚、図14は、インストールしようとしているバンドルが、禁止パーミッションを保持するかを判定するためのフローチャートであるが、判定の仕方は一例である。つまり、図14のフローチャート通りでなくてもよく、インストールしようとしているバンドルのパーミッション定義ファイルのパーミッションに、図13に記載の禁止パーミッションリストにあるパーミッションが含まれているか、いないかを判定すればよい。そして、禁止パーミッションが保持されていないと判定された場合に、インストールが実行される。 Note that FIG. 14 is a flowchart for determining whether the bundle to be installed retains the prohibited permission, but the determination method is an example. That is, it is not necessary to follow the flowchart of FIG. 14, and it may be determined whether or not the permissions of the permission definition file of the bundle to be installed include the permissions in the prohibited permission list shown in FIG. .. Then, if it is determined that the prohibited permission is not retained, the installation is executed.

以上、説明した実施形態で示した方法により、具体的には以下に示すような効果を得ることができる。 Specifically, the following effects can be obtained by the methods shown in the embodiments described above.

(実施形態1の変形例2)
変形例2では、実施形態1の図8の801で示したブラックリスト形式と実施形態1の変形例1の図13の1301で示したホワイトリスト形式の両方を合わせもつ禁止パーミッションの判定処理について述べる。
(Modification 2 of Embodiment 1)
In the second modification, the forbidden permission determination process having both the blacklist format shown in 801 of FIG. 8 of the first embodiment and the whitelist format shown in 1301 of FIG. 13 of the first modification of the first embodiment will be described. ..

図16は、OSGi拡張部211による、ブラックリスト形式とホワイトリスト形式の両方を合わせもつ禁止パーミッション判定処理のフローチャートである。 FIG. 16 is a flowchart of the prohibition permission determination process having both the blacklist format and the whitelist format by the OSGi extension unit 211.

この判定処理は、インストール全体のフローを示す図10のS1004の判断に相当する。 This determination process corresponds to the determination in S1004 of FIG. 10, which shows the flow of the entire installation.

S1600において、バンドルが保持するパーミッションが禁止パーミッションに含まれるかの判定処理が開始される。 In S1600, the determination process of whether or not the permission held by the bundle is included in the prohibited permission is started.

S1601において、バンドルが保持するパーミッション全てに対するブラックリスト形式の禁止パーミッションチェックが開始される。このフローの詳細は、図11で示したとおりである。図11のS1104で禁止パーミッション保持している判定をした場合、一致が返ってくるため、S1604に進む。一方、図11のS1107で禁止パーミッション保持していない判定をした場合、一致しないが返ってくるため、S1602に進む。 In S1601, a blacklist-style prohibited permission check is started for all the permissions held by the bundle. The details of this flow are as shown in FIG. If it is determined in S1104 of FIG. 11 that the prohibited permission is held, a match is returned, so the process proceeds to S1604. On the other hand, if it is determined in S1107 of FIG. 11 that the prohibited permission is not held, it does not match, but it returns, so the process proceeds to S1602.

続いて、S1602において、バンドルが保持するパーミッション全てに対するホワイトクリスト形式の禁止パーミッションチェックが開始される。このフローの詳細は、図14で示したとおりである。図14のS1407で禁止パーミッション保持している判定の場合、一致が返ってくるため、S1604に進む。一方、図14のS1409で禁止パーミッション保持していない判定の場合、一致しないが返ってくるため、S1603に進む。 Subsequently, in S1602, a whitelist-style prohibited permission check is started for all the permissions held by the bundle. The details of this flow are as shown in FIG. In the case of the determination that the prohibited permission is held in S1407 of FIG. 14, since a match is returned, the process proceeds to S1604. On the other hand, in the case of the determination that the prohibited permission is not held in S1409 of FIG. 14, since they do not match but are returned, the process proceeds to S1603.

S1603においては、ブラックリスト形式、ホワイト形式ともに、禁止パーミッションを保持していない判定となり、S1004に対して、NOが返却される。 In S1603, it is determined that the prohibited permission is not held in both the blacklist format and the white format, and NO is returned to S1004.

一方、S1604においては、ブラックリスト形式、または、ホワイト形式のどちらかで禁止パーミッションを保持している判定となり、S1004に対して、YESが返却される。 On the other hand, in S1604, it is determined that the prohibited permission is held in either the blacklist format or the white format, and YES is returned to S1004.

S1605において、ブラックリスト形式とホワイトリスト形式の両方を合わせもつ禁止パーミッション判定処理のフローが終了する。 In S1605, the flow of the prohibited permission determination process having both the blacklist format and the whitelist format ends.

バンドルの作成方法をソフトウェア開発キット(SDK)として公開することで、画像形成装置を開発している自社だけでなく、外部のソフトウェアベンダー(以下、3rdベンダー)が画像形成装置のカスタマイズした機能を開発することができる。カスタマイズしたバンドルを開発することができるということは、画像形成装置に悪影響のあるバンドルが開発できる可能性がある。 By disclosing the bundle creation method as a software development kit (SDK), not only the company that develops the image forming device but also an external software vendor (hereinafter, 3rd vendor) develops the customized function of the image forming device. can do. Being able to develop a customized bundle has the potential to develop a bundle that has a negative impact on the image forming apparatus.

デバイスの署名チェック状態からバンドルの開発中という判断を行った場合、予め悪影響を及ぼす可能性のあるパーミッションとして定義した禁止パーミッションを保持するバンドルのインストールを不許可とする。そのため、結果として、SDKビジネスにおける画像形成装置の安全性が担保される。 If it is determined from the signature check status of the device that the bundle is under development, the installation of the bundle that holds the prohibited permission defined in advance as the permission that may have an adverse effect is disallowed. Therefore, as a result, the safety of the image forming apparatus in the SDK business is guaranteed.

以上、説明した実施形態によれば、開発中においても画像形成装置内の情報を抜く可能性があるパーミッションをもつアプリをインストールすることができなくなり、画像形成装置の安全性が担保される。 According to the above-described embodiment, it becomes impossible to install an application having a permission that may extract information in the image forming apparatus even during development, and the safety of the image forming apparatus is guaranteed.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention is also realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiment is supplied to the system or device via a network or various storage media, and the computer (or CPU, MPU, etc.) of the system or device reads the program. This is the process to be executed.

Claims (14)

アプリケーションのインストール時に、署名をチェックする設定になっているかを判定する第1の判定手段と、
前記第1の判定手段で、署名をチェックする設定になっていない場合、アプリケーションに含まれるパーミッションが、禁止されたパーミッションでないかを判定する第2の判定手段と、
前記第2の判定手段で、アプリケーションに含まれるパーミッションが、禁止されたパーミッションでないと判定された場合、前記アプリケーションのインストールを許可する手段を有することを特徴とする画像形成装置。
The first determination means to determine whether the signature is set to be checked when the application is installed,
If the first determination means is not set to check the signature, the second determination means for determining whether the permission included in the application is a prohibited permission and the second determination means.
An image forming apparatus comprising a means for permitting installation of the application when it is determined by the second determination means that the permission included in the application is not a prohibited permission.
アプリケーションのインストール時に、署名をチェックする設定に関する情報を保持する保持手段を有することを特徴とする請求項1に記載の画像形成装置。 The image forming apparatus according to claim 1, wherein the image forming apparatus has a holding means for holding information about a setting for checking a signature when an application is installed. 前記第2の判定手段で、アプリケーションに含まれるパーミッションが、禁止されたパーミッションであると判定された場合、前記アプリケーションのインストールを許可しないことを特徴とする請求項1又は請求項2に記載の画像形成装置。 The image according to claim 1 or 2, wherein if the second determination means determines that the permission included in the application is a prohibited permission, the installation of the application is not permitted. Forming device. 前記アプリケーションは、パーミッションを定義するファイルを含むことを特徴とする請求項1乃至3の何れか1項に記載の画像形成装置。 The image forming apparatus according to any one of claims 1 to 3, wherein the application includes a file that defines permissions. 前記第1の判定手段で、署名をチェックする設定になっている場合、アプリケーションに含まれる署名を用いて、前記アプリケーションのインストールの可否を判断することを特徴とする請求項1乃至4の何れか1項に記載の画像形成装置。 Any of claims 1 to 4, wherein when the first determination means is set to check the signature, the signature included in the application is used to determine whether or not the application can be installed. The image forming apparatus according to item 1. 前記第1の判定手段で、署名をチェックする設定になっている場合、アプリケーションに含まれるパーミッションは用いず、アプリケーションに含まれる署名を用いて、前記アプリケーションのインストールの可否を判断することを特徴とする請求項5に記載の画像形成装置。 When the first determination means is set to check the signature, the feature is that the permission included in the application is not used and the signature included in the application is used to determine whether or not the application can be installed. The image forming apparatus according to claim 5. 前記署名はデジタル署名であることを特徴とする請求項1乃至6のいずれか一項に記載の画像形成装置。The image forming apparatus according to any one of claims 1 to 6, wherein the signature is a digital signature. 画像形成装置の制御方法であって、
前記画像形成装置が、アプリケーションのインストール時に、署名をチェックする設定になっているかを判定する第1の判定工程と、
前記画像形成装置が、前記第1の判定工程で、署名をチェックする設定になっていない場合、アプリケーションに含まれるパーミッションが、禁止されたパーミッションでないかを判定する第2の判定工程と、
前記画像形成装置が、前記第2の判定工程で、アプリケーションに含まれるパーミッションが、禁止されたパーミッションでないと判定された場合、前記アプリケーションのインストールを許可する工程を有することを特徴とする画像形成装置の制御方法。
It is a control method of the image forming apparatus.
The first determination step of determining whether the image forming apparatus is set to check the signature when the application is installed, and
When the image forming apparatus is not set to check the signature in the first determination step, the second determination step of determining whether the permission included in the application is a prohibited permission, and the second determination step.
The image forming apparatus is characterized by having a step of permitting installation of the application when it is determined in the second determination step that the permission included in the application is not a prohibited permission. Control method.
前記第2の判定工程で、アプリケーションに含まれるパーミッションが、禁止されたパーミッションであると判定された場合、前記アプリケーションのインストールを許可しないことを特徴とする請求項に記載の画像形成装置の制御方法。 The control of the image forming apparatus according to claim 8 , wherein if the permission included in the application is determined to be a prohibited permission in the second determination step, the installation of the application is not permitted. Method. 前記アプリケーションは、パーミッションを定義するファイルを含むことを特徴とする請求項又は請求項に記載の画像形成装置の制御方法。 The control method for an image forming apparatus according to claim 8 or 9 , wherein the application includes a file that defines permissions. 前記第1の判定工程で、署名をチェックする設定になっている場合、アプリケーションに含まれる署名を用いて、前記アプリケーションのインストールの可否を判断することを特徴とする請求項乃至10の何れか1項に記載の画像形成装置の制御方法。 Any of claims 8 to 10 , wherein when the signature is set to be checked in the first determination step, it is determined whether or not the application can be installed by using the signature included in the application. The method for controlling an image forming apparatus according to item 1. 前記第1の判定工程で、署名をチェックする設定になっている場合、アプリケーションに含まれるパーミッションは用いず、アプリケーションに含まれる署名を用いて、前記アプリケーションのインストールの可否を判断することを特徴とする請求項11に記載の画像形成装置の制御方法。 When the signature is set to be checked in the first determination step, the permission included in the application is not used, and the signature included in the application is used to determine whether or not the application can be installed. 11. The control method for an image forming apparatus according to claim 11 . 前記署名はデジタル署名であることを特徴とする請求項8乃至12のいずれか一項に記載の画像形成装置の制御方法。The control method for an image forming apparatus according to any one of claims 8 to 12, wherein the signature is a digital signature. 請求項1乃至の何れか1項に記載の画像形成装置としてコンピュータを機能させるための該コンピュータで読み取り可能なプログラム。 A computer-readable program for operating a computer as the image forming apparatus according to any one of claims 1 to 7 .
JP2017221286A 2017-02-23 2017-11-16 Image forming device and its control method Active JP6991837B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/901,283 US10484564B2 (en) 2017-02-23 2018-02-21 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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017032444 2017-02-23
JP2017032444 2017-02-23

Publications (2)

Publication Number Publication Date
JP2018136920A JP2018136920A (en) 2018-08-30
JP6991837B2 true JP6991837B2 (en) 2022-01-13

Family

ID=63365619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017221286A Active JP6991837B2 (en) 2017-02-23 2017-11-16 Image forming device and its control method

Country Status (1)

Country Link
JP (1) JP6991837B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021081763A (en) * 2019-11-14 2021-05-27 京セラドキュメントソリューションズ株式会社 Information processing apparatus and information processing program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171258A (en) 2002-11-20 2004-06-17 Nec Corp Permission token management system and program
JP2007183969A (en) 2006-01-09 2007-07-19 Sun Microsyst Inc Method and apparatus for security based on protection domain
JP2009104618A (en) 2008-12-02 2009-05-14 Ntt Docomo Inc Terminal device and program
JP2011044065A (en) 2009-08-24 2011-03-03 Kddi Corp Program inspection device, and program for making computer operate as the same
JP2011233081A (en) 2010-04-30 2011-11-17 Kddi Corp Application determination system and program
US20140282490A1 (en) 2013-03-15 2014-09-18 Ricoh Company, Ltd. Information processing system, information processing apparatus, and recording medium storing information processing program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171258A (en) 2002-11-20 2004-06-17 Nec Corp Permission token management system and program
JP2007183969A (en) 2006-01-09 2007-07-19 Sun Microsyst Inc Method and apparatus for security based on protection domain
JP2009104618A (en) 2008-12-02 2009-05-14 Ntt Docomo Inc Terminal device and program
JP2011044065A (en) 2009-08-24 2011-03-03 Kddi Corp Program inspection device, and program for making computer operate as the same
JP2011233081A (en) 2010-04-30 2011-11-17 Kddi Corp Application determination system and program
US20140282490A1 (en) 2013-03-15 2014-09-18 Ricoh Company, Ltd. Information processing system, information processing apparatus, and recording medium storing information processing program

Also Published As

Publication number Publication date
JP2018136920A (en) 2018-08-30

Similar Documents

Publication Publication Date Title
US9854131B2 (en) Image forming apparatus with personal setting synchronization and method for controlling same
JP5190800B2 (en) Program execution control system, execution control method, and computer program for execution control
JP6236816B2 (en) Image processing system, information processing apparatus, and program
JP2007213246A (en) Application execution device, application execution method and application execution program
JP2007200102A (en) System, program, and method for checking illegal code and illegal data
JP4938869B2 (en) SDK use restriction adding device and use restricted software development system
JP4961288B2 (en) Information processing apparatus, information processing program, recording medium, printing apparatus, and network system
US20120233712A1 (en) Method and Device for Accessing Control Data According to Provided Permission Information
JP6147139B2 (en) Information processing apparatus, control method therefor, and computer program
KR102125816B1 (en) Information processing apparatus, computer program, and control method of information processing apparatus
US9547487B2 (en) Image forming apparatus, control method therefor, and control program therefor
JP6991837B2 (en) Image forming device and its control method
JP5052367B2 (en) Image processing apparatus, authentication package installation method, authentication package installation program, and recording medium
EP3462363A1 (en) Image forming apparatus and control method therefor
US9940334B2 (en) Image forming apparatus and control method thereof
JP4655613B2 (en) Program execution apparatus and program execution method
JP2010211818A (en) Storage medium, storage unit, information processing apparatus, information processing method, system, and information processing program
JP2008171041A (en) Image forming device, start up method of image forming device, control device, and start up method of extension unit
JP2014219736A (en) Management system, management system control method, and program
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
KR101028149B1 (en) File managing device of client apparatus, method thereof and recorded medium recorded with program thereof
KR101028150B1 (en) File managing device of client apparatus, method thereof and recorded medium recorded with program thereof
JP2012058803A (en) Thin client system and method for updating operating system
JP2010049643A (en) Information processing system, information processing method, and program
JP4760150B2 (en) Application development program and image processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211208

R151 Written notification of patent or utility model registration

Ref document number: 6991837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151