JP2012226765A - Information processor, access control method, access control program, and recording medium - Google Patents

Information processor, access control method, access control program, and recording medium Download PDF

Info

Publication number
JP2012226765A
JP2012226765A JP2012150773A JP2012150773A JP2012226765A JP 2012226765 A JP2012226765 A JP 2012226765A JP 2012150773 A JP2012150773 A JP 2012150773A JP 2012150773 A JP2012150773 A JP 2012150773A JP 2012226765 A JP2012226765 A JP 2012226765A
Authority
JP
Japan
Prior art keywords
access authority
application
access
program
information
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
JP2012150773A
Other languages
Japanese (ja)
Other versions
JP5477425B2 (en
Inventor
Mitsuo Ando
光男 安藤
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2012150773A priority Critical patent/JP5477425B2/en
Publication of JP2012226765A publication Critical patent/JP2012226765A/en
Application granted granted Critical
Publication of JP5477425B2 publication Critical patent/JP5477425B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processor, an access control method, an access control program, and a recording medium that can improve flexibility of access control to a program.SOLUTION: An information processor with a program comprises: access authority information management means for managing access authority information to the program; setting screen display means for displaying a setting screen to execute setting pertaining to an access authority to the program; and access authority change means for changing a range of the access authority permitted by the access authority information, on the basis of access authority change information corresponding to set contents received through the setting screen.

Description

本発明は、情報処理装置、アクセス制御方法、アクセス制御プログラム、及び記録媒体に関する。   The present invention relates to an information processing apparatus, an access control method, an access control program, and a recording medium.

近年では、主に複合機又は融合機と呼ばれる画像形成装置において、その出荷後に、公開されたAPI(Application Program Interface)を利用してC言語又はJava(登録商標)言語等の汎用的なプログラミング言語による新たなアプリケーションの開発及びインストールが可能とされているものがある(例えば、特許文献1)。斯かる画像形成装置では、当該画像形成装置のベンダによって開発されたアプリケーションのみならず、他のソフトウェアベンダによって開発されたアプリケーションもインストールされ、利用されるといった状況が生じ得る。このような状況の中で、各アプリケーションに対して無条件に画像形成装置のリソース(プログラムやデータ等)に対するアクセスを許可してしまっては機密情報の漏洩や画像形成装置の不正動作等、不測の事態を招きかねない。したがって、各アプリケーションについて適切なセキュリティ管理(アクセス制御)が必要とされる。   In recent years, general-purpose programming languages such as C language or Java (registered trademark) language using an API (Application Program Interface) that has been made public in image forming apparatuses mainly called multifunction peripherals or multifunction peripherals after shipment. In some cases, development and installation of new applications can be performed (for example, Patent Document 1). In such an image forming apparatus, not only an application developed by a vendor of the image forming apparatus but also an application developed by another software vendor may be installed and used. Under such circumstances, if each application is unconditionally allowed access to the resources (programs, data, etc.) of the image forming apparatus, it is unforeseen such as leakage of confidential information or unauthorized operation of the image forming apparatus. May invite the situation. Therefore, appropriate security management (access control) is required for each application.

Java(登録商標)アプリケーションについては、Java(登録商標)の実行環境が標準で備えるセキュリティ機構によってコードベースのアクセス制御を行うことができる。具体的には、ポリシーと呼ばれるデータ内において、プログラムの所在又はプログラムに対する署名者に応じてアクセス権限を設定することが可能である。但し、アプリケーションごと(プログラムごと)に、それぞれポリシーを定義するのは管理者による作業を煩雑化すると同時にポリシーの情報量を肥大化させ性能の劣化を招きかねない。   For a Java (registered trademark) application, code-based access control can be performed by a security mechanism provided as a standard in the execution environment of Java (registered trademark). Specifically, access authority can be set in data called a policy according to the location of the program or the signer of the program. However, defining policies for each application (for each program) complicates the work of the administrator and at the same time enlarges the amount of policy information, which may lead to performance degradation.

そこで、例えば、アプリケーションをその信頼度に応じてグループに分類し(レベル分けし)、ポリシー内ではグループ単位で(レベルごとに)アクセス権限を設定することが行われている。この場合、グループの粒度(レベルの段階)が細かすぎるとグループ分けの意味が没却されてしまう。したがって、或る程度大きなくくりによってグループ分けすること(レベルの段階を少なくすること)が効果的である。   Therefore, for example, applications are classified into groups (leveled) according to their reliability, and access authority is set in groups (for each level) within a policy. In this case, if the group granularity (level level) is too fine, the meaning of grouping is lost. Therefore, it is effective to perform grouping (reducing the level steps) by a certain amount of rounding.

しかしながら、或るアプリケーションがその機能を実現するために必要なアクセス権限の範囲の一部が、当該アプリケーションが属するグループに対して許可されるアクセス権限の範囲を超えてしまう場合がある(すなわち、当該一部の権限が認められないと当該アプリケーションの機能を実現できない場合がある。)。但し、当該アプリケーションが属するグループをより大きな範囲でアクセス権限が許可されるグループに変更してしまうと、当該アプリケーションに対する信頼度に対して、与えられる権限が大きすぎてしまうという問題がある。したがって、或る特定のアプリケーションに限って、当該アプリケーションが属するグループには許可されていないアクセス権限を例外的に認めることができる仕組みが必要とされる。   However, a part of the range of access authority necessary for a certain application to realize its function may exceed the range of access authority permitted for the group to which the application belongs (that is, If some authority is not granted, the function of the application may not be realized.) However, if the group to which the application belongs is changed to a group in which access authority is permitted in a larger range, there is a problem that the authority given is too large for the reliability of the application. Therefore, there is a need for a mechanism capable of exceptionally granting an access right that is not permitted to a group to which the application belongs only for a specific application.

本発明は、上記の点に鑑みてなされたものであって、プログラムに対するアクセス制御の柔軟性を向上させることのできる情報処理装置、アクセス制御方法、アクセス制御プログラム、及び記録媒体の提供を目的とする。   The present invention has been made in view of the above points, and an object thereof is to provide an information processing apparatus, an access control method, an access control program, and a recording medium that can improve the flexibility of access control for a program. To do.

そこで上記課題を解決するため、本発明は、プログラムを有する情報処理装置であってプログラムのアクセス権限情報を管理するアクセス権限情報管理手段とプログラムのアクセス権限に関する設定を行うための設定画面を表示させる設定画面表示手段と前記設定画面を介して受け付けた設定内容に対応したアクセス権限の変更情報に基づいて、前記アクセス権限情報で許可されているアクセス権限の範囲を変更するアクセス権限変更手段とを有する。   Accordingly, in order to solve the above-described problems, the present invention displays an information processing apparatus having a program, an access authority information management means for managing the access authority information of the program, and a setting screen for performing settings relating to the access authority of the program A setting screen display unit and an access authority changing unit that changes a range of access authority permitted by the access authority information based on the access authority change information corresponding to the setting content received via the setting screen. .

本発明によれば、プログラムに対するアクセス制御の柔軟性を向上させることのできる情報処理装置、アクセス制御方法、アクセス制御プログラム、及び記録媒体を提供することができる。   According to the present invention, it is possible to provide an information processing apparatus, an access control method, an access control program, and a recording medium that can improve the flexibility of access control for a program.

本発明の実施の形態における複合機のハードウェア構成例を示す図である。FIG. 2 is a diagram illustrating an example of a hardware configuration of a multifunction machine according to an embodiment of the present invention. 本発明の実施の形態における複合機のソフトウェア構成例を示す図である。2 is a diagram illustrating a software configuration example of a multifunction peripheral according to an embodiment of the present invention. 本実施の形態におけるJSDKアプリの構成例を示す図である。It is a figure which shows the structural example of the JSDK application in this Embodiment. 本実施の形態におけるポリシー設定ファイルの定義例を示す図である。It is a figure which shows the example of a definition of the policy setting file in this Embodiment. 保護ドメインを説明するための図である。It is a figure for demonstrating a protection domain. セキュリティパッチの書式の例を示す図である。It is a figure which shows the example of a format of a security patch. CalledByフィールドの記述例を示す図である。It is a figure which shows the example of a description of a CalledBy field. Stateフィールドの第一の記述例を示す図である。It is a figure which shows the 1st description example of a State field. Stateフィールドの第二の記述例を示す図である。It is a figure which shows the 2nd description example of a State field. JSDKアプリ実行時の処理手順を説明するための図である。It is a figure for demonstrating the process sequence at the time of JSDK application execution. アプリケーション管理ファイルの定義例を示す図である。It is a figure which shows the example of a definition of an application management file. アプリ設定画面の表示例を示す図である。It is a figure which shows the example of a display of an application setting screen. JSDKアプリの起動処理を説明するための図である。It is a figure for demonstrating the starting process of a JSDK application. オブジェクトとしてロードされたポリシーの例を示す図である。It is a figure which shows the example of the policy loaded as an object. ポリシーの動的な変更をProtectionDomainの状態遷移として示す図である。It is a figure which shows the dynamic change of a policy as a state transition of ProtectionDomain. ポリシーが動的に変更される際の処理手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the process sequence when a policy is changed dynamically. JSDKアプリの開発から運用までの手順の一例を説明するための図である。It is a figure for demonstrating an example of the procedure from development of a JSDK application to operation | use. アプリ開発申請書の一例を示す図である。It is a figure which shows an example of an application development application.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における複合機のハードウェア構成例を示す図である。図1において複合機10は、コントローラ201、オペレーションパネル202、ファクシミリコントロールユニット(FCU)203、撮像部204、及び印刷部205等を備える。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a hardware configuration example of a multifunction machine according to an embodiment of the present invention. In FIG. 1, the multifunction machine 10 includes a controller 201, an operation panel 202, a facsimile control unit (FCU) 203, an imaging unit 204, a printing unit 205, and the like.

コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。   The controller 201 includes a CPU 211, ASIC 212, NB221, SB222, MEM-P231, MEM-C232, HDD (hard disk drive) 233, memory card slot 234, NIC (network interface controller) 241, USB device 242, IEEE 1394 device 243, and Centronics device. 244.

CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、複合機10のシステムメモリである。MEM−C232は、複合機10のローカルメモリである。HDD233は、複合機10のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。   The CPU 211 is an IC for various information processing. The ASIC 212 is an IC for various image processing. The NB 221 is a north bridge of the controller 201. The SB 222 is a south bridge of the controller 201. The MEM-P 231 is a system memory of the multifunction machine 10. The MEM-C 232 is a local memory of the multifunction machine 10. The HDD 233 is a storage of the multifunction machine 10. The memory card slot 234 is a slot for setting the memory card 235. The NIC 241 is a controller for network communication using a MAC address. The USB device 242 is a device for providing a USB standard connection terminal. The IEEE 1394 device 243 is a device for providing a connection terminal of the IEEE 1394 standard. The Centronics device 244 is a device for providing a Centronics specification connection terminal.

オペレーションパネル202は、オペレータが複合機10に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機10から出力を得るためのハードウェア(表示部)である。   The operation panel 202 is hardware (operation unit) for an operator to input to the multifunction device 10 and hardware (display unit) for an operator to obtain an output from the multifunction device 10.

図2は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。図2において、複合機10のソウトウェアは、JSDKアプリ30、JSDKプラットフォーム40、及びネイティブサービスレイヤ50等より構成されている。これらの各ソフトウェアは、それぞれに実装された処理手順をCPU211に実行させることによりその機能を実現する。   FIG. 2 is a diagram illustrating a software configuration example of the multifunction peripheral according to the embodiment of the present invention. In FIG. 2, the software of the multifunction machine 10 includes a JSDK application 30, a JSDK platform 40, a native service layer 50, and the like. Each of these software implements its function by causing the CPU 211 to execute the processing procedure implemented in each software.

ネイティブサービスレイヤ50は、複合機10のハードウェアやソフトウェアに基づく機能を利用させるためのインタフェースを上位モジュールに対して提供し、当該インタフェースの呼び出し(機能の利用要求)に応じて、当該機能を実現するための制御を行う。例えば、ネイティブサービスレイヤ50には、ネットワーク通信の制御に関するインタフェースを提供するモジュール、ファクシミリの制御に関するインタフェースを提供するモジュール、蓄積文書(HDD233に保存されている文書(画像)データ)の配信処理の制御に関するインタフェースを提供するモジュール、撮像部204や印刷部205の制御に関するインタフェースを提供するモジュール。メモリやHDD233等の制御に関するインタフェースを提供するモジュール、オペレーションパネル202の制御に関するインタフェースを提供するモジュール、認証処理や課金処理の制御に関するインタフェースを提供するモジュール、ユーザ情報の管理に関するインタフェースを提供するモジュール等が含まれる。   The native service layer 50 provides an interface for using functions based on the hardware and software of the multifunction machine 10 to the upper module, and implements the function in response to the interface call (function use request). To control. For example, the native service layer 50 includes a module that provides an interface related to network communication control, a module that provides an interface related to facsimile control, and control of distribution processing of stored documents (document (image) data stored in the HDD 233). A module that provides an interface relating to the image, and a module that provides an interface relating to control of the imaging unit 204 and the printing unit 205. A module that provides an interface related to control of the memory, HDD 233, etc., a module that provides an interface related to control of the operation panel 202, a module that provides an interface related to control of authentication processing and accounting processing, a module that provides an interface related to user information management Is included.

JSDKプラットフォーム40は、JSDKアプリ30の実行環境を提供するソフトウェアプラットフォームであり、ネイティブサービスレイヤ50に対するJava(登録商標)インタフェースを上位モジュールに対して提供する。JSDKプラットフォーム40は、Java(登録商標)の標準のクラスや、複合機10用に拡張されたクラスに関するクラスライブラリ、及びJava(登録商標)仮想マシン(VM41)等を含む。   The JSDK platform 40 is a software platform that provides an execution environment for the JSDK application 30 and provides a Java (registered trademark) interface for the native service layer 50 to an upper module. The JSDK platform 40 includes a Java (registered trademark) standard class, a class library related to a class extended for the multifunction peripheral 10, a Java (registered trademark) virtual machine (VM41), and the like.

VM41は、Java(登録商標)バイトコードを逐次解釈しながらJSDKアプリ30の実行を制御する。当該制御の一部として、VM41は、ポリシー設定ファイル(policy configuration file)70に予め定義されたポリシーに基づいて、JSDKアプリ30による、ファイル、ネットワークソケット、及びプリンタ等のリソースへのアクセスを制限する。すなわち、VM41は、Java(登録商標)標準の仕組みとして、リソースへのアクセスが発生する際に、SecurityManagerクラスのインスタンス(SecurityManagerオブジェクト)に対する通知が行われるように構成されている。SecurityManagerオブジェクトは、その呼び出しに応じてポリシー設定ファイル70に基づいてリソースへのアクセスの可否を判断する。   The VM 41 controls the execution of the JSDK application 30 while sequentially interpreting the Java (registered trademark) bytecode. As a part of the control, the VM 41 restricts access to resources such as files, network sockets, and printers by the JSDK application 30 based on a policy defined in a policy configuration file 70 (policy configuration file). . That is, as a Java (registered trademark) standard mechanism, the VM 41 is configured to notify an instance (SecurityManager object) of the SecurityManager class when an access to a resource occurs. The SecurityManager object determines whether or not the resource can be accessed based on the policy setting file 70 in response to the call.

ところで、JSDKプラットフォーム40は、OSGi(Open Service Gateway initiative)プラットフォームとして実装されている。OSGi(Open Service Gateway initiative)プラットフォームとは、OSGiアライアンスによる標準化技術であり、Java(登録商標)言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品の実行環境を提供するソフトウェアプラットフォームである。OSGiプラットフォーム上において、Java(登録商標)言語のソフトウェアは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、一つのJAR(Java ARchive)ファイルによって構成され、それぞれ独立して動的に(装置の再起動を要することなく)インストール可能である。   By the way, the JSDK platform 40 is implemented as an OSGi (Open Service Gateway initiative) platform. The OSGi (Open Service Gateway initiative) platform is a standardized technology by the OSGi Alliance, and a software platform that provides an execution environment for software components created based on open software componentization technology based on the Java (registered trademark) language. It is. On the OSGi platform, Java (registered trademark) language software is implemented in the form of software components called “bundles”. One bundle is composed of one JAR (Java ARchive) file, and can be installed independently and dynamically (without restarting the apparatus).

JSDKアプリ30は、JSDKプラットフォーム40において公開されている専用のSDK(ソフトウェア開発キット)を使用して作成されたアプリケーション(以下「SDKアプリ」という。)である。SDKアプリのうち、特にJava(登録商標)言語を使用して開発されたアプリケーションをJSDKアプリという。   The JSDK application 30 is an application (hereinafter referred to as “SDK application”) created using a dedicated SDK (software development kit) published on the JSDK platform 40. Among SDK applications, an application developed using the Java (registered trademark) language is called a JSDK application.

図中では、JSDKアプリ30の例として、SAS(SDK Application Service)マネージャ31、アプリケーションバンドル320、及びサービスバンドル330等が存在する。SASマネージャ310は、他のJSDKアプリ30(アプリケーションバンドル320やサービスバンドル330等)のインストール(追加)、アンインストール(削除)、起動、及び起動解除等の制御を行う。   In the figure, as an example of the JSDK application 30, there are a SAS (SDK Application Service) manager 31, an application bundle 320, a service bundle 330, and the like. The SAS manager 310 performs control such as installation (addition), uninstallation (deletion), activation, and activation cancellation of other JSDK applications 30 (such as the application bundle 320 and the service bundle 330).

アプリケーションバンドル320は、オペレーションパネル202に操作画面を表示させ、当該操作画面を介してエンドユーザから直接利用(操作)されるJSDKアプリ30としてのバンドルである。図中では、アプリケーションバンドル320の一例としてスキャンアプリ321が示されている。スキャンアプリ321は、撮像部204による原稿からの画像の読み取りを実現するアプリケーションである。   The application bundle 320 is a bundle as the JSDK application 30 that displays an operation screen on the operation panel 202 and is directly used (operated) by an end user via the operation screen. In the drawing, a scan application 321 is shown as an example of the application bundle 320. The scan application 321 is an application that realizes reading of an image from a document by the imaging unit 204.

サービスバンドル330は、アプリケーションバンドル320等に対してサービスを提供するためのJSDKアプリ30としてのバンドルである。すなわち、サービスバンドル330は、アプリケーションバンドル320等からの呼び出しに応じて各サービスバンドル330に応じた処理を実行し、その処理結果をアプリケーションバンドル320等に返却する。図中では、サービスバンドル330の一例として、スキャンサービス331、及びパネルサービス332等が示されている。   The service bundle 330 is a bundle as the JSDK application 30 for providing a service to the application bundle 320 or the like. That is, the service bundle 330 executes processing corresponding to each service bundle 330 in response to a call from the application bundle 320 or the like, and returns the processing result to the application bundle 320 or the like. In the drawing, as an example of the service bundle 330, a scan service 331, a panel service 332, and the like are shown.

スキャンサービス331は、画像の読み取り機能に関するサービスを提供する。パネルサービス332は、オペレーションパネル202の表示制御に関するサービスを提供する。   The scan service 331 provides a service related to an image reading function. The panel service 332 provides a service related to display control of the operation panel 202.

次に、複合機10における、JSDKアプリ30に関するセキュリティの管理について説明する。上記したように、JSDKアプリ30は、JSDKプラットフォーム40において効果されているSDKを用いて開発されるJava(登録商標)アプリケーションである。したがって、複合機1の出荷後にサードベンダ等によって作成されるアプリケーション等もJSDKアプリ30として複合機1にインストールされうる。   Next, security management related to the JSDK application 30 in the multifunction machine 10 will be described. As described above, the JSDK application 30 is a Java (registered trademark) application developed using the SDK that is effective in the JSDK platform 40. Therefore, an application created by a third vendor or the like after the multifunction device 1 is shipped can be installed in the multifunction device 1 as the JSDK application 30.

そこで、複合機1では、複合機1のリソースに対するアクセス権限の範囲をレベル分け(グループに分類)し(当該レベルを以下「セキュリティレベル」という。)、JSDKアプリ30ごとに、その信頼度に応じたセキュリティレベルを付与することによりコードベースのアクセス制御を実現している。セキュリティレベルは、各JSDKアプリ30に付された署名(電子署名)によって識別可能とされている。   Therefore, the multifunction device 1 classifies the range of access authority to the resources of the multifunction device 1 (categorized into groups) (this level is hereinafter referred to as “security level”), and each JSDK application 30 corresponds to its reliability. The code base access control is realized by giving the security level. The security level can be identified by a signature (electronic signature) attached to each JSDK application 30.

図3は、本実施の形態におけるJSDKアプリの構成例を示す図である。同図に示されるように、各JSDKアプリ30は、JARファイル31及びアプリケーション管理ファイル51等のファイルを含む。ここで、JARファイル31に付されている(関連付けられている)署名33が、セキュリティレベルを識別するための署名に相当する。署名33は、例えば、JARファイル31のハッシュ値を暗号化したものであり、当該暗号化に用いられた暗号鍵によってセキュリティレベルが識別される。署名33は、セキュリティレベルの識別の他、JSDKアプリ30の改ざんの有無のチェックにも用いられる。なお、本実施の形態において、セキュリティレベルは、レベル1(Lv1)、レベル2(Lv2)、及びレベル3(Lv3)の3段階の値を有することとする。Lv1が最もアクセス権限が大きく、Lv3が最もアクセス権限が小さい。   FIG. 3 is a diagram illustrating a configuration example of the JSDK application according to the present embodiment. As shown in the figure, each JSDK application 30 includes files such as a JAR file 31 and an application management file 51. Here, the signature 33 attached (associated) to the JAR file 31 corresponds to a signature for identifying the security level. For example, the signature 33 is obtained by encrypting the hash value of the JAR file 31, and the security level is identified by the encryption key used for the encryption. The signature 33 is used not only for identifying the security level but also for checking whether the JSDK application 30 has been tampered with. In the present embodiment, the security level has three levels of level 1 (Lv1), level 2 (Lv2), and level 3 (Lv3). Lv1 has the highest access authority, and Lv3 has the lowest access authority.

セキュリティレベルごとのアクセス権限については、Java(登録商標)標準の仕様に基づいてポリシー設定ファイル70において定義されている。   The access authority for each security level is defined in the policy setting file 70 based on the specifications of the Java (registered trademark) standard.

図4は、本実施の形態におけるポリシー設定ファイルの定義例を示す図である。同図においてポリシー設定ファイル70の書式は、Java(登録商標)標準の仕様に従っているため、書式に関する詳細な説明については省略する。   FIG. 4 is a diagram showing a definition example of the policy setting file in the present embodiment. In the figure, since the format of the policy setting file 70 conforms to the specifications of the Java (registered trademark) standard, a detailed description of the format is omitted.

同図では、3つのgrantエントリが示されている。grantエントリ71のsinedByフィールドには、Lv1が指定されている。したがって、grantエントリ71の定義は、セキュリティレベルの値がLv1の署名33が付されたJSDKアプリ30に適用される。同様に、grantエントリ72はLv2の署名33が付されたJSDKアプリ30に、grantエントリ73はLv3の署名33が付されatJSDKアプリ30に適用される。   In the figure, three grant entries are shown. In the signedBy field of the grant entry 71, Lv1 is specified. Therefore, the definition of the grant entry 71 is applied to the JSDK application 30 to which the signature 33 having the security level value Lv1 is attached. Similarly, the grant entry 72 is applied to the JSDK application 30 to which the Lv2 signature 33 is attached, and the grant entry 73 is applied to the atJSDK application 30 to which the Lv3 signature 33 is attached.

なお、grantエントリ71において、(a)では、実行時(Lv1のJSDKアプリ30の実行時)には(RuntimePermission)、全てのパッケージ(accessClassInPackage.*)にアクセス可能であることが設定されている。また、(b)では、全てのライブラリへの動的リンクが可能であることが設定されている。また、(c)では、ファイルシステム上の全てのファイルに対して、読み取り(read)及び書き込み(write)が可能であることが設定されている。   In the grant entry 71, in (a), it is set that all packages (accessClassInPackage. *) Can be accessed at the time of execution (when the JSDK application 30 of Lv1 is executed) (RuntimePermission). In (b), it is set that dynamic linking to all libraries is possible. In (c), it is set that all files on the file system can be read and written.

このように、ポリシー設定ファイル70内では、セキュリティレベルに対応させてアクセス権限が定義されている。したがって、複合機1では、各JSDKアプリ30に付与された署名33に対応するセキュリティレベルに応じて、当該JSDKアプリ30のアクセス権限が決定される。   Thus, in the policy setting file 70, access authority is defined in correspondence with the security level. Therefore, in the multifunction device 1, the access authority of the JSDK application 30 is determined according to the security level corresponding to the signature 33 assigned to each JSDK application 30.

ところで、各セキュリティレベル(Lv1、Lv2、Lv3)は、それぞれJava(登録商標)でいうところの保護ドメイン(ProtectionDomain)を形成する。 図5は、保護ドメインを説明するための図である。保護ドメインとは、ある主体(ここでは、JSDKアプリ30又はJSDKアプリ30に含まれるクラスのインスタンス)が現在直接にアクセスできるオブジェクトのセット(すなわち、アクセス権限の集合)であると考えることができる。同図では、a.class及びb.b.lassに対しては、保護ドメインXが適用され、c.class及びd.classに対しては保護ドメインYが適用される例が示されている。すなわち、a.class及びb.classには保護ドメインXに属する同じアクセス権限が与えられる。また、c.class及びd.classには保護ドメインYに属する同じアクセス権限が与えられる。なお、同図において、一つの「アクセス権限」は、ポリシー設定ファイル70における一つのPermissionエントリと考えればよい。また、一つの「保護ドメイン」は、一つのgrantエントリに対応するものと考えればよい。したがって、本実施の形態における複合機10では、Lv1に対応する保護ドメイン、Lv2に対応する保護ドメイン、及びLv3に対応する保護ドメインが形成される。   By the way, each security level (Lv1, Lv2, Lv3) forms a protection domain (ProtectionDomain) in Java (registered trademark). FIG. 5 is a diagram for explaining the protection domain. A protection domain can be considered as a set of objects (that is, a set of access privileges) that a subject (here, JSDK application 30 or an instance of a class included in JSDK application 30) can directly access. In FIG. class and b. b. For lass, protection domain X is applied, c. class and d. An example in which the protection domain Y is applied to the class is shown. That is, a. class and b. The same access authority belonging to the protection domain X is given to the class. C. class and d. The same access authority belonging to the protection domain Y is given to the class. In the figure, one “access authority” may be considered as one permission entry in the policy setting file 70. One “protection domain” may be considered to correspond to one grant entry. Therefore, in the MFP 10 according to the present embodiment, a protection domain corresponding to Lv1, a protection domain corresponding to Lv2, and a protection domain corresponding to Lv3 are formed.

図3に戻る、アプリケーション管理ファイル51は、当該JSDKアプリ30の構成要素やインストール、起動等に必要な情報、及びその他の管理情報等が定義されているファイルであり、例えば、ファイル名によってJarファイル31に関連付けられている。本実施の形態において、アプリケーション管理ファイル51は、セキュリティパッチ523を含む。セキュリティパッチ523は、ポリシー設定ファイル70内において、静的に設定されているポリシーの定義に対するパッチ(変更情報又は差分情報)である。複合機10は、JSDKアプリ30の実行に際し、当該JSDKアプリ30に関連付けられているセキュリティパッチ523を適用することにより、ポリシー設定ファイル70の定義を動的に変更させる(以下、斯かる機能を「ポリシー動的変更機能」という。)。   Returning to FIG. 3, the application management file 51 is a file in which the components of the JSDK application 30, information necessary for installation, activation, and the like, and other management information are defined. 31. In the present embodiment, the application management file 51 includes a security patch 523. The security patch 523 is a patch (change information or difference information) for a policy definition that is statically set in the policy setting file 70. When the JSDK application 30 is executed, the multifunction machine 10 dynamically changes the definition of the policy setting file 70 by applying the security patch 523 associated with the JSDK application 30 (hereinafter, such a function is referred to as “ Policy dynamic change function ").

図6は、セキュリティパッチの書式の例を示す図である。同図に示されるように、セキュリティパッチ523の書式は、基本的にJava(登録商標)標準のポリシーの書式に従う。但し、本実施の形態では、破線で囲まれた部分が拡張されている。すなわち、grantエントリ及びpermissionエントリに対して、CalledByフィールド及びStateフィールドの付加が可能とされている。   FIG. 6 is a diagram illustrating an example of a security patch format. As shown in the figure, the format of the security patch 523 basically follows the policy format of the Java (registered trademark) standard. However, in the present embodiment, a portion surrounded by a broken line is expanded. That is, it is possible to add a CalledBy field and a State field to the grant entry and permission entry.

CalledByフィールドでは、当該CalledByフィールドが付与されたエントリ(grantエントリ又はpermissionエントリ)が有効となるタイミングが指定される。当該タイミングは、メソッドの呼び出しによって特定される。CalledByフィールドは、「CalledBy "from_class_name.to_class_name"」の書式で記述される。from_class_nameは、<呼び出し元のクラス名>:<メソッド名>の書式で記述され、to_class_nameは、<呼び出し先のクラス名>:<メソッド名>の書式で記述される。但し、メソッド名及び呼び出し元のクラス名は省略可能である。   In the CalledBy field, the timing at which the entry (grant entry or permission entry) to which the CalledBy field is assigned becomes valid. The timing is specified by a method call. The CalledBy field contains “CalledBy” from_class_name. to_class_name "". From_class_name is described in the format <calling class name>: <method name>, and to_class_name is described in the format <calling class name>: <method name>. However, the method name and the caller class name can be omitted.

「from_class_name.to_class_name」の書式例と、その意味を以下に示す。
(1)"Password:getPassWord"
この場合、PasswordクラスのgetPassWordメソッドが呼び出されたときに当該エントリが有効とされる(ポリシーが変更される)。
(2)"Apli1:dispPassWord.Password:getPassWord"
この場合、Apli1クラスのdispPassWordメソッドからPasswordクラスのgetPassWordメソッドが呼び出されたときに当該エントリが有効とされる。
(3)"Password"
この場合、Passwordクラスの全てのメソッドを実行されたときにポリシー変更を行う。
A format example of “from_class_name.to_class_name” and its meaning are shown below.
(1) “Password: getPassWord”
In this case, the entry is validated (policy is changed) when the getPasswordWord method of the Password class is called.
(2) "Apli1: dispPassWord.Password: getPassWord"
In this case, the entry is validated when the getPassWord method of the Password class is called from the dispPassWord method of the Apli class.
(3) “Password”
In this case, the policy is changed when all the methods of the Password class are executed.

例えば、図7は、CalledByフィールドの記述例を示す図である。同図において、(A)及び(B)は、実質的に同じことが定義されている。すなわち、CalledByフィールド(図中破線で囲まれた部分)によって、PasswordクラスのgetPassWordが呼び出されたときに、パスワードファイル(Password.txt)の読み込み権限が与えられることが定義されている。但し、(A)では、CalledByフィールドはgrantエントリに付与されているため、当該grantエントリに他のpermissionエントリが含まれている場合は、それらにもCalledByフィールドの効力が及ぶ。   For example, FIG. 7 is a diagram illustrating a description example of the CalledBy field. In the figure, (A) and (B) are defined to be substantially the same. That is, it is defined by the CalledBy field (the part surrounded by a broken line in the figure) that the authority to read the password file (Password.txt) is given when the password class getPasswordWord is called. However, in (A), since the CalledBy field is assigned to the grant entry, if the permission entry includes another permission entry, the CalledBy field is also effective.

また、Stateフィールドは、当該Stateフィールドが付与されたエントリが有効となる複合機10の状態が指定される。Stateフィールドは、「State "State_name」の書式で記述される。State_nameには、状態を特定する文字列又は数値が記載される。   In the State field, the state of the MFP 10 in which the entry to which the State field is assigned becomes valid is designated. The State field is described in the format “State“ State_name ”. In State_name, a character string or a numerical value specifying the state is described.

例えば、状態を識別するためのパラメータが固定的に決められている場合は、以下のように記述することができる。   For example, when a parameter for identifying the state is fixedly determined, it can be described as follows.

図8は、Stateフィールドの第一の記述例を示す図である。同図において、(A)及び(B)は、実質的に同じことが定義されている。すなわち、Stateフィールド(図中破線で囲まれた部分)によって、予め決められているパラメータの値が「1」である場合は、パスワードファイル(Password.txt)の読み込み権限が与えられることが定義されている。但し、(A)では、Stateフィールドはgrantエントリに付与されているため、当該grantエントリに他のpermissionエントリが含まれている場合は、それらにもStateフィールドの効力が及ぶ。   FIG. 8 is a diagram illustrating a first description example of the State field. In the figure, (A) and (B) are defined to be substantially the same. That is, it is defined by the State field (the part surrounded by a broken line in the figure) that the authority to read the password file (Password.txt) is given when the value of the predetermined parameter is “1”. ing. However, in (A), since the State field is assigned to the grant entry, if the permission entry includes other permission entries, the state field is also effective.

また、状態を識別するためのパラメータをStateフィールドの記述において特定したい場合は、以下のように記述してもよい。   Further, when it is desired to specify a parameter for identifying the state in the description of the State field, it may be described as follows.

図9は、Stateフィールドの第二の記述例を示す図である。同図において、Stateフィールドは、「State Counter.A==0」と記述されている。これは、Countter.Aというパラメータが0である状態を特定している。すなわち、同図の(A)及び(B)では、Countter.Aというパラメータが0である場合は、パスワードファイル(Password.txt)の読み込み権限が与えられることが定義されている。   FIG. 9 is a diagram illustrating a second description example of the State field. In the figure, the State field is described as “State Counter. A == 0”. This is counter. A state where the parameter A is 0 is specified. That is, in (A) and (B) of FIG. When the parameter A is 0, it is defined that the authority to read the password file (Password.txt) is given.

なお、本実施の形態では、CalledByフィールドとStateフィールドとが同一のエントリに対して定義された場合、二つのフィールドのAND条件によって当該エントリの有効性が判定されることとする。但し、OR条件によって判定するようにしてもよい。   In the present embodiment, when the CalledBy field and the State field are defined for the same entry, the validity of the entry is determined by the AND condition of the two fields. However, you may make it determine by OR condition.

以下、複合機10によって実行される処理手順について説明する。図10は、JSDKアプリ実行時の処理手順を説明するための図である。   Hereinafter, a processing procedure executed by the multifunction machine 10 will be described. FIG. 10 is a diagram for explaining a processing procedure when the JSDK application is executed.

ユーザ(例えば、管理者)によって、起動可能なJSDKアプリ30(以下、単に「アプリ」という。)の一覧の表示要求がオペレーションパネル202を介して入力されると(S101)、SASマネージャ310は、複合機10にインストールされ、起動可能な状態にある各アプリに関連付けられているアプリケーション管理ファイル51を読み込み(S102)、その定義情報に基づいてアプリ一覧画面をオペレーションパネル202に表示させる(S103)。   When a display request for a list of JSDK applications 30 (hereinafter simply referred to as “applications”) that can be activated is input via the operation panel 202 by a user (for example, an administrator) (S101), the SAS manager 310 The application management file 51 associated with each application installed in the MFP 10 and in a startable state is read (S102), and an application list screen is displayed on the operation panel 202 based on the definition information (S103).

図11は、アプリケーション管理ファイルの定義例を示す図である。図11に示される定義例は、XML(eXtensible Markup Language)形式をベースとしたJNLP(Java Network Launching Protocol(JSR−56仕様))を拡張した形式によって表現されている。   FIG. 11 is a diagram illustrating a definition example of an application management file. The definition example shown in FIG. 11 is expressed in a format obtained by extending JNLP (Java Network Launching Protocol (JSR-56 specification)) based on the XML (eXtensible Markup Language) format.

同図において、アプリケーション管理ファイル51の定義情報は、<information>タグで囲まれたinformation要素510、及び<rsource>タグで囲まれたresource要素520等を含む。   In the figure, the definition information of the application management file 51 includes an information element 510 surrounded by <information> tags, a resource element 520 surrounded by <rsource> tags, and the like.

information要素510には、主に、アプリ及び当該アプリの作成者を識別するための情報が記述されている。すなわち、title要素511には、アプリのタイトル(アプリ名)が記述されている。vendor要素512、telephone要素513、fax要素514、email要素515には、アプリのベンダの名前(ベンダ名)、電話番号、FAX番号、メールアドレスが記述されている。また、product−id要素516、description要素517、icon要素518には、アプリのプロダクトID、アプリに関する説明文、アプリのアイコンファイル名が記述されている。   The information element 510 mainly describes information for identifying an application and the creator of the application. That is, the title element 511 describes the title (application name) of the application. The vendor element 512, telephone element 513, fax element 514, and email element 515 describe the vendor name (vendor name), telephone number, FAX number, and mail address of the application. Further, the product-id element 516, the description element 517, and the icon element 518 describe the product ID of the application, the explanatory text about the application, and the icon file name of the application.

一方、resource要素520には、アプリの実行に必要なリソースに関する情報が記述されている。例えば、jar要素のhref属性521の値として、アプリのJARファイルのファイル名(パス名)が記述されている。また、version属性522の値として、アプリのバージョンが記述されている。   On the other hand, the resource element 520 describes information related to resources necessary for executing the application. For example, the file name (path name) of the JAR file of the application is described as the value of the href attribute 521 of the jar element. The version of the application is described as the value of the version attribute 522.

更に、security.patch要素の値としてセキュリティパッチ523が記述されている。また、security.patch要素のcomment属性524の値として、セキュリティパッチ523に関するコメントが記述されている。なお、セキュリティパッチ523の定義内容の詳細については後述する。   Furthermore, security. A security patch 523 is described as the value of the patch element. Also, security. A comment regarding the security patch 523 is described as the value of the comment attribute 524 of the patch element. Details of the definition contents of the security patch 523 will be described later.

ステップS103では、上記のようなアプリケーション管理ファイル51のtitle要素511及びicon要素518に基づいて起動可能な各アプリのアプリ名及びアイコンの一覧がアプリ一覧画面に表示される。   In step S103, a list of application names and icons of each application that can be activated based on the title element 511 and icon element 518 of the application management file 51 as described above is displayed on the application list screen.

続いて、アプリ一覧画面に表示されたアプリの中から起動対象とされるアプリがユーザによって選択されると(S104)、SASマネージャ310は、選択されたアプリ(以下、「カレントアプリ」という。)に関連付けられているアプリケーション管理ファイル51等に基づいてカレントアプリのアプリ設定画面を生成し、オペレーションパネル202に表示させる(S105)。   Subsequently, when an application to be activated is selected from the applications displayed on the application list screen (S104), the SAS manager 310 selects the selected application (hereinafter referred to as “current application”). An application setting screen of the current application is generated based on the application management file 51 etc. associated with, and displayed on the operation panel 202 (S105).

図12は、アプリ設定画面の表示例を示す図である。同図のアプリ設定画面610において、アプリ名、説明、バージョン、プロダクトID、及び連絡先(電話、Fax、email)の項目については、アプリケーション管理ファイル51に記述されていた情報がそのまま表示される。   FIG. 12 is a diagram illustrating a display example of the application setting screen. In the application setting screen 610 shown in the figure, information described in the application management file 51 is displayed as it is for the application name, description, version, product ID, and contact information (telephone, fax, email).

セキュリティ項目611及びパフォーマンス項目613には、セキュリティレベル及びセキュリティパッチ523に関係又は影響する情報(すなわち、カレントアプリのアクセス権限に関する情報)が表示される。同図において、セキュリティ項目611には、カレントアプリのセキュリティレベル(レベル3)が表示され、また、パスワードファイルの参照の可否を選択させるチェックボタン612が「パスワードファイルを参照」というメッセージと共に表示されている。すなわち、カレントアプリはパスワードファイルを参照する必要があるところ、その許否はチェックボタン612によってユーザの判断で選択可能とされている。なお、カレントアプリがレベル3であることは、SASマネージャ310がカレントアプリの署名33に基づいて判別する。また、「パスワードファイルを参照」という文字列は、アプリケーション管理ファイル51のcomment属性524に基づいて表示される。また、パスワードファイルは、複合機10のユーザのアカウント情報が記録されたファイルであり、ポリシー設定ファイル70においてはレベル3のアプリには読み込み権限は与えられていないリソースの例示である。   In the security item 611 and the performance item 613, information related to or affecting the security level and the security patch 523 (that is, information related to the access authority of the current application) is displayed. In the figure, in the security item 611, the security level (level 3) of the current application is displayed, and a check button 612 for selecting whether or not to refer to the password file is displayed together with a message “refer to password file”. Yes. In other words, the current application needs to refer to the password file, and the permission / inhibition of the current application can be selected by the user using the check button 612. The SAS manager 310 determines that the current application is level 3 based on the signature 33 of the current application. The character string “refer to password file” is displayed based on the comment attribute 524 of the application management file 51. The password file is a file in which account information of the user of the multifunction machine 10 is recorded. The policy setting file 70 is an example of a resource for which read authority is not given to the level 3 application.

また、パフォーマンス項目613では、ラジオボタン614により、カレントアプリの動作について、セキュリティ優先、最適、及びパフォーマンス優先のいずれかを選択することができる。この選択は、ポリシー設定ファイル70に定義されているポリシーをカレントアプリにどれだけ忠実に遵守させるかの選択に相当する。セキュリティ優先→最適→パフォーマンス優先の順で、ポリシーに対する忠実度は低下する。但し、そのトレードオフとして性能は向上する。   In the performance item 613, the radio button 614 can select any one of security priority, optimum, and performance priority for the operation of the current application. This selection corresponds to selection of how faithfully the current application complies with the policy defined in the policy setting file 70. The policy fidelity decreases in the order of security priority-> optimal-> performance priority. However, performance is improved as a trade-off.

ユーザによってセキュリティ項目611及びパフォーマンス項目613に対する設定が行われ、OKボタン615がクリックされると(S106)、SASマネージャ310は、設定内容を複合機10のメモリ又はHDD233上に保持される所定のパラメータに記録する(S107)。より詳しくは、チェックボタン612に対する設定については、パスワードファイルフラグ変数(passwdFlag)の値とし記録される。例えば、チェックボタン612がチェックされなかった場合(パスワードファイルの参照が許可されない場合)は「0」が、チェックボタン612がチェックされた場合(パスワードファイルの参照が許可される場合)は「1」が、パスワードファイルフラグ変数に記録される。また、ラジオボタン614に対する設定については、パフォーマンスフラグ変数(performanceFlag)の値として記録される。例えば、セキュリティ優先の場合は「1」が、最適の場合は「2」が、パフォーマンス優先の場合は「3」がパフォーマンスフラグ変数に記録される。続いて、SASマネージャ310からの要求に応じ、JSDKプラットフォーム40のVM41は、カレントアプリを起動させる(S108)。   When the user sets the security item 611 and the performance item 613 and clicks the OK button 615 (S106), the SAS manager 310 stores the setting contents in a predetermined parameter stored in the memory of the MFP 10 or the HDD 233. (S107). More specifically, the setting for the check button 612 is recorded as the value of the password file flag variable (passwdFlag). For example, “0” is displayed when the check button 612 is not checked (when password file reference is not permitted), and “1” when the check button 612 is checked (when password file reference is permitted). Is recorded in the password file flag variable. The setting for the radio button 614 is recorded as the value of a performance flag variable (performance Flag). For example, “1” is recorded in the performance flag variable when security is prioritized, “2” is recorded when optimal, and “3” is recorded when performance is prioritized. Subsequently, in response to a request from the SAS manager 310, the VM 41 of the JSDK platform 40 activates the current application (S108).

続いて、ステップS108の内容を詳細に説明する。図13は、JSDKアプリの起動処理を説明するための図である。   Subsequently, the contents of step S108 will be described in detail. FIG. 13 is a diagram for explaining the startup process of the JSDK application.

ステップS1081において、VM41は、カレントアプリのJARファイル31をメモリ上に読み込む。この際、JARファイル31に対する署名33の検証も行われる。すなわち、正当な署名33であること及びJARファイル31が改ざんされていないこと等が検証される。したがって、署名33が無い場合若しくは不正なものである場合、又はJARファイル31が改ざんされていることが検出された場合は、当該JSDKアプリ30の起動は中止される。   In step S1081, the VM 41 reads the JAR file 31 of the current application into the memory. At this time, the signature 33 for the JAR file 31 is also verified. That is, it is verified that the signature 33 is valid and that the JAR file 31 has not been tampered with. Therefore, when the signature 33 is not present or illegal, or when it is detected that the JAR file 31 has been tampered with, the activation of the JSDK application 30 is stopped.

続いて、VM41は、ポリシー設定ファイル70よりカレントアプリのセキュリティレベルに対応するポリシー(例えば、Lv3に対応するgrantエントリ)をオブジェクトとしてロードする(S1082)。   Subsequently, the VM 41 loads a policy (for example, a grant entry corresponding to Lv3) corresponding to the security level of the current application from the policy setting file 70 as an object (S1082).

図14は、オブジェクトとしてロードされたポリシーの例を示す図である。同図において、ProtectionDomain411は、上記した保護ドメインに対応するProtectionDomainクラスのインスタンスである。ProtectionDomain411は、ポリシー設定ファイル70において、カレントアプリのセキュリティレベルに対応するgrantエントリごとにインスタンス化される。   FIG. 14 is a diagram illustrating an example of a policy loaded as an object. In the figure, ProtectionDomain 411 is an instance of the ProtectionDomain class corresponding to the protection domain described above. The ProtectionDomain 411 is instantiated for each grant entry corresponding to the security level of the current application in the policy setting file 70.

PermissionCollection412は、その名の通り、Permissionオブジェクトの集合を管理するPermissionCollectionクラスのインスタンスである。Permissionオブジェクトは、ポリシー設定ファイル70におけるpermissionエントリごとに当該エントリによって許可されるアクセス権限に応じた具象クラスに基づいてインスタンス化される。図中では、RuntimePermissionオブジェクト及びFilePermissionオブジェクトが例示されている。   The permission collection 412 is an instance of the permission collection class that manages a set of permission objects as the name implies. The permission object is instantiated for each permission entry in the policy setting file 70 based on a concrete class corresponding to the access right permitted by the entry. In the figure, a RunTimePermission object and a FilePermission object are illustrated.

同図に示されるように、ProtectionDomain411とPermissionCollection412との間にはポリシー設定ファイル70における関係に対応した関連が形成される。   As shown in the figure, a relation corresponding to the relation in the policy setting file 70 is formed between the ProtectionDomain 411 and the PermissionCollection 412.

続いて、VM41は、カレントアプリのJARファイル33に含まれるクラス定義をメモリ上に展開し(S1083)、当該クラス定義に基づいてカレントアプリをインスタンス化する(S1084)。続いて、VM41は、インスタンス化されたカレントアプリを実行する(S1085)。   Subsequently, the VM 41 expands the class definition included in the JAR file 33 of the current application on the memory (S1083), and instantiates the current application based on the class definition (S1084). Subsequently, the VM 41 executes the instantiated current application (S1085).

続いて、図10及び図13の処理を経て実行されるアプリについて、セキュリティパッチ523が適用されてポリシーが動的に変更される際の処理手順について説明する。   Next, a processing procedure when the security patch 523 is applied and the policy is dynamically changed for the application executed through the processing of FIGS. 10 and 13 will be described.

ここで、改めて図11のアプリケーション管理ファイル51に含まれているセキュリティパッチ523を参照する。当該セキュリティパッチ523には、3つのpermissionエントリが含まれている。   Here, the security patch 523 included in the application management file 51 of FIG. 11 is referred to again. The security patch 523 includes three permission entries.

permissionエントリ5231の定義は、「permission java.io.FilePermission "Password.txt", "read" ,CalledBy "Password:getPassWord", State passwdFlag==1」というものである。これは、パスワードファイル(Password.txt)の読み込み権限を許可する定義に相当する。但し、CalledByフィールド及びStateフィールドによって当該読み込み権限が許可されるのは、Password:getPassWordメソッドが呼び出されたときであって、かつ、パスワードフラグ(passwdFlag)の値が1である場合(すなわち、アプリ設定画面610のチェックボタン612がチェックされた場合)であるとされている。   The definition of the permission entry 5231 is “permission java.io.FilePermission“ Password.txt ”,“ read ”, CalledBy“ Password: getPassWord ”, State passwdFlag == 1”. This corresponds to a definition that permits the authority to read a password file (Password.txt). However, the reading authority is permitted by the CalledBy field and the State field when the Password: getPassWord method is called and the value of the password flag (passwdFlag) is 1 (that is, the application setting). The check button 612 on the screen 610 is checked).

permissionエントリ5232の定義は、「permission java.security.AllPermission State performanceFlag==2 , CalledBy "Apli1:init"」というものである。これは、全権限(AllPermission)を許可する定義に相当する。但し、CalledByフィールド及びStateフィールドによって、全権限が許可されるのは、Apli1:initメソッドが呼び出された際であって、かつ、パフォーマンスフラグ(performanceFlag)の値が2である場合(すなわち、アプリ設定画面610のラジオボタン613において「最適」が選択された場合)であるとされている。   The definition of the permission entry 5232 is “permission java.security.AllPermission State performanceFlag == 2, CalledBy“ Apli1: init ””. This corresponds to a definition that allows all permissions (AllPermission). However, all rights are permitted by the CalledBy field and the State field when the Appli1: init method is called and the value of the performance flag (performance Flag) is 2 (that is, the application setting) And “optimum” is selected in the radio button 613 of the screen 610).

permissionエントリ5233の定義は、「permission java.security.AllPermission State performanceFlag==3 , CalledBy " Apli1:dispPassWord"」というものである。これは、全権限(AllPermission)を許可する定義に相当する。但し、CalledByフィールド及びStateフィールドによって全権限が許可されるのは、Apli1:dispPassWordメソッドが呼び出されたときであって、かつ、パフォーマンスフラグ(performanceFlag)の値が2である場合(すなわち、アプリ設定画面610のラジオボタン613において「パフォーマンス優先」が選択された場合)であるとされている。   The definition of the permission entry 5233 is “permission java.security.AllPermission State performanceFlag == 3, CalledBy“ Apli1: dispPassWord ””. This corresponds to a definition that allows all permissions (AllPermission). However, all rights are permitted by the CalledBy field and the State field when the Appli1: dispPassWord method is called and the value of the performance flag (performanceFlag) is 2 (that is, the application setting screen) And “Performance priority” is selected in the radio button 613 of 610).

このように、セキュリティパッチ523には、パスワードフラグ及びパフォーマンスフラグといった、アプリ設定画面610において設定されるパラメータに対応させて定義がなされている。したがって、SASマネージャ310は、アプリ設定画面610の表示内容を、セキュリティパッチ523の記述に基づいて決定するようにしてもよい。   As described above, the security patch 523 is defined in correspondence with parameters set on the application setting screen 610 such as a password flag and a performance flag. Therefore, the SAS manager 310 may determine the display content of the application setting screen 610 based on the description of the security patch 523.

斯かるセキュリティパッチ523によるポリシーの動的な変更は、ProtectionDomain411の状態遷移として把握することができる。図15は、ポリシーの動的な変更をProtectionDomainの状態遷移として示す図である。同図では、アプリ32に対するProtectionDomain411とPermissionCollection412とが示されている。アプリ32は、カレントアプリのインスタンスを示す。   Such a dynamic change of the policy by the security patch 523 can be grasped as a state transition of the ProtectionDomain 411. FIG. 15 is a diagram illustrating a dynamic change of a policy as a state transition of ProtectionDomain. In the same figure, a ProtectionDomain 411 and a permission collection 412 for the application 32 are shown. The application 32 indicates an instance of the current application.

同図において、ProtectionDomain411は、状態PD_Lv3、状態PD_Lv3+、状態PD_Optimaize、及び状態PD_Performanceの4つの状態を有する。   In the same figure, ProtectionDomain 411 has four states: state PD_Lv3, state PD_Lv3 +, state PD_Optimize, and state PD_Performance.

状態PD_Lv3はポリシーがセキュリティパッチ523によって動的に変更される前の状態である。この場合、通常のLv3に対するアクセス権限が与えられる。   The state PD_Lv3 is a state before the policy is dynamically changed by the security patch 523. In this case, an access authority for normal Lv3 is given.

状態PD_Lv3+は、Lv3のアクセス権限に加えてパスワードファイル(Password.txt)の読み込み権限が与えられる状態である。この状態への遷移条件は、セキュリティパッチ523(図11)のpermissionエントリ5231に基づいて、Password.getPasswordメソッドが実行中であることである。但し、permissionエントリ5231におけるStateエントリによってパスワードファイルフラグが1であることがガード条件となる。   The state PD_Lv3 + is a state in which, in addition to the access authority of Lv3, the authority to read the password file (Password.txt) is given. The transition condition to this state is based on the password entry 5231 of the security patch 523 (FIG. 11). The getPassword method is being executed. However, the guard condition is that the password file flag is 1 by the State entry in the permission entry 5231.

状態PD_Optimaizeは、全アクセス権限が与えられる状態である。この状態への遷移条件は、permissionエントリ5232に基づいて、パフォーマンスフラグ(peformanceFlag)が「2」に設定されている状態において、Apli1:initメソッドが実行中であることである。   The state PD_Optimize is a state where all access rights are granted. The transition condition to this state is that, based on the permission entry 5232, the application 1: init method is being executed in a state where the performance flag (performanceFlag) is set to “2”.

状態PD_Performanceも全アクセス権限が与えられる状態である。この状態への遷移条件は、permissionエントリ5233に基づいて、パフォーマンスフラグ(peformanceFlag)が「3」に設定されている状態において、Apli1:dispPassWordが実行中であることである。   The state PD_Performance is also a state where all access rights are granted. The transition condition to this state is that, in the state where the performance flag (performanceFlag) is set to “3” based on the permission entry 5233, Appli1: dispPassWord is being executed.

以下、更に具体的に説明する。図16は、ポリシーが動的に変更される際の処理手順を説明するためのシーケンス図である。同図では、アプリ32が、パスワードファイルの参照を要求した場合の処理手順について説明する。   More specific description will be given below. FIG. 16 is a sequence diagram for explaining a processing procedure when a policy is dynamically changed. In the figure, a processing procedure when the application 32 requests to reference a password file will be described.

同図において、「apli1:Apli1」は、カレントアプリ32のクラス名(Apli1)及びインスタンの識別名(apli1)を示す。カレントアプリ32は、Lv3の保護ドメインに対するアクセス権限を有する(すなわち、Lv3のセキュリティレベルが与えられている)。また、Password411及びPassWordAccess412は、本実施の形態においてJSDKプラットフォーム40に実装されている、パスワードファイル(Password.txt)にアクセスするためのPasswordクラス、PassWordAccessクラスのインスタンスである。PasswordクラスはLv2の保護ドメインに対するアクセス権限を有する。PassWordAccessクラスはLv1の保護ドメインに対するアクセス権限を有する。また、sm:SecurityManager413は、Java(登録商標)標準のSecurityManagerクラスを本実施の形態のために拡張したクラスのインスタンスである。   In the figure, “apli1: Apli1” indicates the class name (Apli1) of the current application 32 and the identification name (apli1) of the instance. The current application 32 has an access right to the protection domain of Lv3 (that is, the security level of Lv3 is given). The Password 411 and the Password Word Access 412 are instances of the Password class and the Password Word Access class for accessing the password file (Password.txt) implemented in the JSDK platform 40 in the present embodiment. The Password class has access rights to the Lv2 protection domain. The PassWordAccess class has access authority to the protection domain of Lv1. Also, sm: SecurityManager 413 is an instance of a class that extends the Java (Registered Trademark) standard SecurityManager class for the present embodiment.

なお、図示される通り、ポリシー設定ファイル70の定義において、パスワードファイルに対するアクセス権限としては、Lv1に対しては読み込み及び書き込み権限が、Lv2に対しては読み込み権限が許可されている。一方、Lv3については読み込み及び書き込み権限のいずれも許可されていない。   As shown in the figure, in the definition of the policy setting file 70, as the access authority for the password file, read / write authority for Lv1 and read authority for Lv2 are permitted. On the other hand, neither read nor write authority is permitted for Lv3.

例えば、カレントアプリ32のdispPassWordメソッドが呼び出されると、
1)当該メソッド内から複合機10内の記憶装置に記録されているパスワード情報を取得するため、カレントアプリ32は、Password421のgetPassWordメソッドを呼び出す(S201)。続いて、Password421のgetPassWordメソッド内において、PasswordAccess422のreadメソッド(パスワードファイルの参照要求)が呼び出される(S202)。PasswordAccess422は、パスワードファイルに対して直接アクセスするクラスであるため、readメソッドの中でsm:SecurityManager413のcheckPermissionメソッドを呼び出すことにより、パスワードファイルに対する読み込み権限の有無を問い合わせる(S203)。
For example, when the dispPassWord method of the current application 32 is called,
1) The current application 32 calls the getPassWord method of Password 421 in order to acquire the password information recorded in the storage device in the multifunction machine 10 from within the method (S201). Subsequently, the read method (password file reference request) of PasswordAccess 422 is called in the getPassWord method of Password 421 (S202). Since PasswordAccess 422 is a class that directly accesses the password file, it calls the checkPermission method of the sm: SecurityManager 413 in the read method, thereby inquiring whether or not the password file has read authority (S203).

続いて、sm:SeccurityManager413は、カレントアプリ32に対応するProtectionDomain411をカレントアプリ32より取得する(S204)。なお、sm:SeccurityManager413は、スタック情報をトレースすることにより、パスワードファイルにアクセスしようとするカレントアプリ32(のクラス名)を判別することができる。   Subsequently, the sm: SecurityManager 413 acquires the ProtectionDomain 411 corresponding to the current application 32 from the current application 32 (S204). Note that the sm: SecurityManager 413 can determine the current application 32 (its class name) attempting to access the password file by tracing the stack information.

続いて、sm:SeccurityManager413は、スタック情報をトレースし、ProtectionDomain411に対して、Apli1:dispPasswordメソッドやPassword:getPasswordメソッドが呼び出されたことを通知する(S205)。当該通知に応じて、ProtectionDomain411は、カレントアプリ32のセキュリティパッチ523(図11参照)に基づいて状態の遷移の要否を判定する。   Subsequently, the sm: SecurityManager 413 traces the stack information and notifies the ProtectionDomain 411 that the Appli1: dispPassword method and the Password: getPassword method have been called (S205). In response to the notification, the ProtectionDomain 411 determines whether or not state transition is necessary based on the security patch 523 (see FIG. 11) of the current application 32.

ここで、セキュリティパッチ523のpermissionエントリ5231には、CalledByフィールド(「CalledBy "Password:getPassWord"」)が付与されており、ステップS205における通知は、当該CalledByフィールドの条件に当てはまる。したがって、ProtectionDomain411は、パスワードファイルフラグ(passwdflag)の値が「1」であれば、自らの状態をPD_Lv3から状態PD_Lv3+へ遷移させ、permissionエントリ5231を有効とする。当該状態の遷移は、具体的には、permissionエントリ5231に対応するFilePermissionオブジェクトをPermissionCollection412に追加することが相当する(S206)。   Here, the Permission entry 5231 of the security patch 523 is provided with a CalledBy field (“CalledBy“ Password: getPassWord ””), and the notification in step S205 applies to the condition of the CalledBy field. Therefore, if the value of the password file flag (passwdflag) is “1”, ProtectionDomain 411 changes its state from PD_Lv3 to state PD_Lv3 + and validates permission entry 5231. Specifically, the state transition corresponds to adding a FilePermission object corresponding to the permission entry 5231 to the permission collection 412 (S206).

但し、現在は、Apli1:dispPassWordメソッドの実行中でもある。したがって、パフォーマンスフラグ(performanceFlag)の値が「3」である場合は、ProtectionDomain411は、状態PD_Optimaizeへ遷移し、permissionエントリ5233を有効とする。この場合、AllPermissionオブジェクトがPermissionCollection412に追加される。   However, currently, the Apli1: dispPassWord method is being executed. Therefore, when the value of the performance flag (performanceFlag) is “3”, the ProtectionDomain 411 transits to the state PD_Optimize, and the permission entry 5233 is validated. In this case, an AllPermission object is added to the permission collection 412.

なお、仮に、現在実行中のメソッド(例えば、ステップS201で呼び出されたメソッド)が「Apli1:init」であり、パフォーマンスフラグ(performanceFlag)の値が「2」である場合、ProtectionDomain411は、状態PD_Optimaizeへ遷移し、permissionエントリ5232を有効とする。この場合、AllPermissionオブジェクトがPermissionCollection412に追加される。   If the currently executed method (for example, the method called in step S201) is “Appli1: init” and the value of the performance flag (performanceFlag) is “2”, the ProtectionDomain 411 returns to the state PD_Optimize. Transition is made and the permission entry 5232 is made valid. In this case, an AllPermission object is added to the permission collection 412.

続いて、sm:SeccurityManager413は、ProtectionDomain411よりPermissionCollection412を取得する(S207)。続いて、sm:SeccurityManager413は、PermissionCollection412に対して、パスワードファイルに対する読み込み権限の有無を問い合わせる(S208)。PermissionCollection412は、パスワードファイルに対する読み込み権限に対応するPermissioinオブジェクトが自らに含まれているか否かを確認することにより、当該読み込み権限の有無を判定する。ここでは、ステップS206において当該Permissionオブジェクトが追加されている。したがって、当該読み込み権限は有ることを判定結果として応答する(S209)。   Subsequently, the sm: SecurityManager 413 acquires the permission collection 412 from the protection domain 411 (S207). Subsequently, the sm: SecurityManager 413 inquires of the permission collection 412 whether or not there is a right to read the password file (S208). The permission collection 412 determines whether or not the read authority is present by checking whether or not the permission object corresponding to the read authority for the password file is included in the permission collection 412. Here, the permission object is added in step S206. Therefore, it responds as a determination result that the read authority exists (S209).

続いて、sm:SeccurityManager413は、ProtectionDomain411に対して「Password:getPassword」から退出することを通知する(S210)。当該通知に応じ、ProtectionDomain411は、自らの状態を元(PD_Lv)に戻す(遷移させる)。厳密には、このタイミングでは、「Password:getPassword」から退出していないが、本実施の形態では、ProtectionDomain411に対するイベントはm:SeccurityManager413が発行することとしているため、このタイミングで退出が通知される。   Subsequently, the sm: SecurityManager 413 notifies the ProtectionDomain 411 that it is leaving “Password: getPassword” (S210). In response to the notification, ProtectionDomain 411 returns (transitions) its own state to the original (PD_Lv). Strictly speaking, at this timing, the user has not exited from “Password: getPassword”. However, in the present embodiment, since the event for the ProtectionDomain 411 is issued by the m: SecurityManager 413, the exit is notified at this timing.

続いて、sm:SeccurityManager413は、アクセス権限(読み込み権限)が有ることをPasswordAccess422に通知する(S211)。当該通知に応じ、パスワードファイルが読み込まれる。なお、S209においてアクセスが許可されない旨が返却された場合、sm:SeccurityManager413は、例外を発行する。当該例外は、カレントアプリ32に通知される。   Subsequently, the sm: SecurityManager 413 notifies the password access 422 that there is an access authority (reading authority) (S211). In response to the notification, the password file is read. Note that if the fact that access is not permitted is returned in S209, the sm: SecurityManager 413 issues an exception. The exception is notified to the current application 32.

なお、上記では、ProtectionDomain411に対するイベントは、sm:SeccurityManager413が発行する例を示しているが、斯かるイベントは、カレントアプリ32によって発行されてもよい。   In the above description, the event for ProtectionDomain 411 is issued by sm: SecurityManager 413. However, such an event may be issued by current application 32.

上述したように、本実施の形態における複合機10によれば、ポリシー設定ファイル70において静的に定義されているポリシーをセキュリティパッチ523に基づいて動的に変化させることができる。したがって、プログラムによるアクセス制御の柔軟性を適切に向上させることができる。   As described above, according to the MFP 10 in the present embodiment, the policy that is statically defined in the policy setting file 70 can be dynamically changed based on the security patch 523. Therefore, the flexibility of access control by the program can be improved appropriately.

なお、本実施の形態では、CalledByフィールドやStateフィールドによって、当該フィールドが付加されたエントリが有効となる(すなわち、当該エントリに係る権限が与えられる)例について説明した。しかし、CalledByフィールドやStateフィールドによって当該フィールドが付加されたエントリを無効とする(すなわち、当該エントリに係る権限が剥奪される)ようにしてもよい。この場合、特定の場合に限って、当初与えられていた権限よりも狭い権限しか認められないようにすることができる。   In the present embodiment, the example in which the entry to which the field is added is valid (that is, the authority relating to the entry is given) by the CalledBy field or the State field has been described. However, the entry to which the field is added by the CalledBy field or the State field may be invalidated (that is, the authority related to the entry is revoked). In this case, only in a specific case, it is possible to allow only an authority that is narrower than the authority originally granted.

ところで、上記において説明したJSDKアプリ30に対するセキュリティ機能又は機構は、JSDKアプリ30の開発から運用までの手順が適切に履行されることにより、より効果的に機能する。そこで、以下において、JSDKアプリ30の開発から運用までの手順(ビジネスモデル)の一例について説明する。   By the way, the security function or mechanism for the JSDK application 30 described above functions more effectively when procedures from the development to the operation of the JSDK application 30 are appropriately executed. Therefore, an example of a procedure (business model) from development to operation of the JSDK application 30 will be described below.

図17は、JSDKアプリの開発から運用までの手順の一例を説明するための図である。   FIG. 17 is a diagram for explaining an example of a procedure from development to operation of a JSDK application.

まず、複合機ベンダ(複合機10のメーカ又は複合機10の販売及び保守等を行う業者)によってJSDKプラットフォーム40と基本機能を実現するためのJSDKアプリ30とを含むパッケージ(以下、「JSDKパッケージ」という。)が販売される(S501)。なお、JSDKパッケージに含まれるJSDKアプリ30等には、予め複合機ベンダによって署名33が付される。JSDKパッケージに含まれるJSDKアプリ30は、複合機ベンダ自身によって開発されたものであり、信頼度も高いためLv1又はLv2のセキュリティレベルが付与される。   First, a package including a JSDK platform 40 and a JSDK application 30 for realizing basic functions by a multifunction device vendor (manufacturer of the multifunction device 10 or a company that performs sales and maintenance of the multifunction device 10) (hereinafter, “JSDK package”). Is sold) (S501). Note that a signature 33 is added in advance to the JSDK application 30 and the like included in the JSDK package by the multifunction machine vendor. The JSDK application 30 included in the JSDK package is developed by the multi-function device vendor itself, and has a high reliability, and is assigned a security level of Lv1 or Lv2.

複合機10のユーザは、JSDKパッケージを購入し(S502)、自らの複合機10に対してJSDKプラットフォーム40等のインストール(S503)を行い、必要に応じてJSDKプラットフォーム40及びJSDKアプリ30等を起動させる(利用する)(S504)。   The user of the multifunction device 10 purchases the JSDK package (S502), installs the JSDK platform 40, etc., in the multifunction device 10 (S503), and activates the JSDK platform 40 and the JSDK application 30 as necessary. (Use) (S504).

一方、機能拡張のためのJSDKアプリ30を開発するアプリ開発ベンダは、開発用のプラットフォームとしてJSDKプラットフォーム30を入手(購入)し、当該JSDKプラットフォーム30上において新たなJSDKアプリ30を開発する(S505)。続いて、アプリ開発ベンダは、アプリ開発申請書を作成し(S506)、開発したJSDKアプリ30のJARファイルと共にアプリ開発申請書を複合機ベンダに送付することにより、当該JSDKアプリ30の販売に対する承認の申請を行う(S507)。   On the other hand, an application development vendor that develops the JSDK application 30 for function expansion obtains (purchases) the JSDK platform 30 as a development platform, and develops a new JSDK application 30 on the JSDK platform 30 (S505). . Subsequently, the application development vendor creates an application development application (S506) and sends the application development application together with the JAR file of the developed JSDK application 30 to the MFP vendor, thereby approving the sale of the JSDK application 30. (S507).

図18は、アプリ開発申請書の一例を示す図である。同図において、アプリ開発申請書は、サービスバンドル、セキュリティレベル、セキュリティパッチ、セキュリティパッチ理由、及びパフォーマンス等の項目を有する。   FIG. 18 is a diagram illustrating an example of an application development application. In the figure, the application development application form has items such as service bundle, security level, security patch, security patch reason, and performance.

サービスバンドルは、申請対象のJSDKアプリ30(以下、「申請対象アプリ」という。)が利用するサービスバンドル330の名前が記載される。セキュリティレベルには、申請対象アプリに対して要求するセキュリティレベルが記載される。セキュリティパッチには、必要に応じて、図6において説明した書式に従ってセキュリティパッチ524が記載される。セキュリティパッチ理由は、セキュリティパッチ524が必要な理由が記載される。パフォーマンスには、申請対象アプリのパフォーマンスと安全性とのトレードオフを申請する。具体的にはパフォーマンスと安全性との関係を段階分けして、その段階ごとに、セキュリティチェック(アクセス権限のチェック)を無効とするメソッドが記載される。同図では、a)安全優先、b)最適、c)パフォーマンス優先の3段階に分けられて記載されている。   The service bundle describes the name of the service bundle 330 used by the application target JSDK application 30 (hereinafter referred to as “application target application”). The security level describes the security level required for the application to be applied. The security patch 524 is described in the security patch according to the format described in FIG. 6 as necessary. As the security patch reason, the reason why the security patch 524 is necessary is described. For the performance, a trade-off between the performance and safety of the application to be applied is applied. Specifically, the relationship between performance and safety is divided into stages, and a method for invalidating the security check (access authority check) is described for each stage. In the figure, there are three stages: a) safety priority, b) optimum, and c) performance priority.

複合機ベンダは、承認の申請を受け付けると(S508)、申請対象アプリの評価(テスト)を行う(S509)。当該評価では、申請対象アプリによるリソースの消費量が制限内であるか、また、セキュリティ違反がないか(セキュリティパッチの妥当性等)等が検証される。評価に合格すると、複合機ベンダは申請アプリについて配布用パッケージを作成する(S510)。配布用パッケージは、申請対象アプリのJARファイルの他にアプリケーション管理ファイル51等も含まれる。また、当該JARファイルには申請されたセキュリティレベルに応じた署名33が付与される。なお、署名33及びアプリケーション管理ファイル51はアプリ開発申請書に基づいて複合機ベンダによって作成される。続いて、複合機ベンダは、配布用パッケージをアプリ開発ベンダに提供する(S511)
アプリ開発ベンダは、配布用パッケージを受理し(S512)、当該配布用パッケージをユーザに販売する(S513)。ユーザは、配布用パッケージを購入すると(S514)、当該配布用パッケージに含まれているJSDKアプリ30を複合機10にインストールし(S515)、起動(S516)、及び操作(S517)を行う。
Upon receiving an application for approval (S508), the multi-function device vendor evaluates (tests) the application to be applied (S509). In the evaluation, it is verified whether the resource consumption by the application to be applied is within the limit and whether there is a security violation (security patch validity). If the evaluation passes, the multi-function device vendor creates a distribution package for the application application (S510). The distribution package includes an application management file 51 and the like in addition to the JAR file of the application to be applied. In addition, a signature 33 corresponding to the applied security level is given to the JAR file. The signature 33 and the application management file 51 are created by the MFP vendor based on the application development application. Subsequently, the MFP vendor provides the distribution package to the application development vendor (S511).
The application development vendor receives the distribution package (S512) and sells the distribution package to the user (S513). When the user purchases a distribution package (S514), the user installs the JSDK application 30 included in the distribution package in the multi-function peripheral 10 (S515), performs activation (S516), and performs an operation (S517).

以上のような手順によれば、アプリ開発ベンダによって開発されるJSDKアプリ30は、複合機ベンダの管理下においてセキュリティレベルが付与され、またセキュリティパッチ524の適用が許可される。したがって、不正なアプリケーションの実行をより効果的に防止することができる。   According to the above procedure, the JSDK application 30 developed by the application development vendor is given a security level under the control of the multifunction device vendor, and the application of the security patch 524 is permitted. Therefore, it is possible to more effectively prevent unauthorized application execution.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 複合機
30 JSDKアプリ
40 JSDKプラットフォーム
41 VM
50 ネイティブサービスレイヤ
70 ポリシー設定ファイル
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
204 撮像部
205 印刷部
211 CPU
212 ASIC
221 NB
222 SB
231 MEM−P
232 MEM−C
233 HDD
234 メモリカードスロット
235 メモリカード
241 NIC
242 USBデバイス
243 IEEE1394デバイス
244 セントロニクスデバイス
310 SASマネージャ
320 アプリケーションバンドル
321 スキャンアプリ
330 サービスバンドル
331 スキャンサービス
332 パネルサービス
10 MFP 30 JSDK application 40 JSDK platform 41 VM
50 Native service layer 70 Policy setting file 201 Controller 202 Operation panel 203 Facsimile control unit 204 Imaging unit 205 Printing unit 211 CPU
212 ASIC
221 NB
222 SB
231 MEM-P
232 MEM-C
233 HDD
234 Memory card slot 235 Memory card 241 NIC
242 USB device 243 IEEE 1394 device 244 Centronics device 310 SAS manager 320 Application bundle 321 Scan application 330 Service bundle 331 Scan service 332 Panel service

特開2005−269619号公報JP 2005-269619 A

Claims (10)

プログラムを有する情報処理装置であって、
プログラムのアクセス権限情報を管理するアクセス権限情報管理手段と、
プログラムのアクセス権限に関する設定を行うための設定画面を表示させる設定画面表示手段と、
前記設定画面を介して受け付けた設定内容に対応したアクセス権限の変更情報に基づいて、前記アクセス権限情報で許可されているアクセス権限の範囲を変更するアクセス権限変更手段とを有する情報処理装置。
An information processing apparatus having a program,
Access authority information management means for managing program access authority information;
A setting screen display means for displaying a setting screen for setting the program access authority;
An information processing apparatus comprising: access authority changing means for changing a range of access authority permitted in the access authority information based on access authority change information corresponding to setting contents received via the setting screen.
前記アクセス権限変更手段は、所定のタイミングで、前記アクセス権限情報で許可されているアクセス権限の範囲を変更する請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the access authority changing unit changes a range of access authority permitted by the access authority information at a predetermined timing. 前記所定のタイミングは、前記プログラムの起動若しくは実行時、又は当該情報処理装置の状態に応じて定まる請求項2記載の情報処理装置。   The information processing apparatus according to claim 2, wherein the predetermined timing is determined according to the start or execution of the program or according to a state of the information processing apparatus. プログラムを有する情報処理装置が実行するアクセス制御方法であって、
プログラムのアクセス権限に関する設定を行うための設定画面を表示させる設定画面表示手順と、
前記設定画面を介して受け付けた設定内容に対応したアクセス権限の変更情報が定義されたアクセス権限変更情報に基づいて、当該情報処理装置が有するアクセス権限情報管理手段が管理する、プログラムのアクセス権限情報で許可されているアクセス権限の範囲を変更するアクセス権限変更手順とを有するアクセス制御方法。
An access control method executed by an information processing apparatus having a program,
A setting screen display procedure for displaying a setting screen for setting the program access authority;
Program access authority information managed by the access authority information management means of the information processing apparatus based on access authority change information in which access authority change information corresponding to the setting content received via the setting screen is defined And an access right changing procedure for changing a range of access rights permitted by the user.
前記アクセス権限変更手順は、所定のタイミングで、前記アクセス権限情報で許可されているアクセス権限の範囲を変更する請求項4記載のアクセス制御方法。   5. The access control method according to claim 4, wherein the access authority changing procedure changes a range of access authority permitted by the access authority information at a predetermined timing. 前記所定のタイミングは、前記プログラムの起動若しくは実行時、又は当該情報処理装置の状態に応じて定まる請求項5記載のアクセス制御方法。   The access control method according to claim 5, wherein the predetermined timing is determined when the program is started or executed or according to a state of the information processing apparatus. プログラムを有する情報処理装置に、
プログラムのアクセス権限に関する設定を行うための設定画面を表示させる設定画面表示手順と、
前記設定画面を介して受け付けた設定内容に対応したアクセス権限の変更情報が定義されたアクセス権限変更情報に基づいて、当該情報処理装置が有するアクセス権限情報管理手段が管理する、プログラムのアクセス権限情報で許可されているアクセス権限の範囲を変更するアクセス権限変更手順とを実行させるためのアクセス制御プログラム。
In an information processing apparatus having a program,
A setting screen display procedure for displaying a setting screen for setting the program access authority;
Program access authority information managed by the access authority information management means of the information processing apparatus based on access authority change information in which access authority change information corresponding to the setting content received via the setting screen is defined An access control program for executing an access authority changing procedure for changing the range of access authority permitted in the system.
前記アクセス権限変更手順は、所定のタイミングで、前記アクセス権限情報で許可されているアクセス権限の範囲を変更する請求項7記載のアクセス制御プログラム。   8. The access control program according to claim 7, wherein the access authority changing procedure changes a range of access authority permitted by the access authority information at a predetermined timing. 前記所定のタイミングは、前記プログラムの起動若しくは実行時、又は当該情報処理装置の状態に応じて定まる請求項8記載のアクセス制御プログラム。   The access control program according to claim 8, wherein the predetermined timing is determined according to activation or execution of the program or according to a state of the information processing apparatus. 請求項7乃至9いずれか一項記載のアクセス制御プログラムを記録したコンピュータ読取可能な記録媒体。   10. A computer-readable recording medium on which the access control program according to claim 7 is recorded.
JP2012150773A 2012-07-04 2012-07-04 Information processing apparatus, access control method, access control program, and recording medium Active JP5477425B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012150773A JP5477425B2 (en) 2012-07-04 2012-07-04 Information processing apparatus, access control method, access control program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012150773A JP5477425B2 (en) 2012-07-04 2012-07-04 Information processing apparatus, access control method, access control program, and recording medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008118619A Division JP5037422B2 (en) 2008-04-30 2008-04-30 Image forming apparatus, access control method, and access control program

Publications (2)

Publication Number Publication Date
JP2012226765A true JP2012226765A (en) 2012-11-15
JP5477425B2 JP5477425B2 (en) 2014-04-23

Family

ID=47276785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012150773A Active JP5477425B2 (en) 2012-07-04 2012-07-04 Information processing apparatus, access control method, access control program, and recording medium

Country Status (1)

Country Link
JP (1) JP5477425B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182983A (en) * 2000-12-13 2002-06-28 Sharp Corp Method for controlling access to database, database unit, method for controlling access to resources and information processor
WO2004102394A1 (en) * 2003-05-15 2004-11-25 Vodafone K.K. Linkage operation method, mobile communication terminal device, mail transmission/reception method, and communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182983A (en) * 2000-12-13 2002-06-28 Sharp Corp Method for controlling access to database, database unit, method for controlling access to resources and information processor
WO2004102394A1 (en) * 2003-05-15 2004-11-25 Vodafone K.K. Linkage operation method, mobile communication terminal device, mail transmission/reception method, and communication system

Also Published As

Publication number Publication date
JP5477425B2 (en) 2014-04-23

Similar Documents

Publication Publication Date Title
JP5037422B2 (en) Image forming apparatus, access control method, and access control program
US10454942B2 (en) Managed clone applications
US8112814B2 (en) Information processing apparatus, access control method, access control program product, recording medium, and image forming apparatus
TWI420338B (en) Secure browser-based applications
KR101456489B1 (en) Method and apparatus for managing access privileges in a CLDC OSGi environment
JP5599557B2 (en) Information processing apparatus, license determination method, program, and recording medium
US9659154B2 (en) Information processing system, information processing apparatus, method of administrating license, and program
US9317681B2 (en) Information processing apparatus, information processing method, and computer program product
US20120096465A1 (en) Image forming apparatus, log management method, and storage medium
JP2013109594A (en) Information processing device and multifunction peripheral
US9081720B2 (en) Information processing apparatus, setting information management method and recording medium
JP2007310822A (en) Information processing system and information control program
EP2690842A1 (en) Device management apparatus, device management system, and computer-readable storage medium
JP4787594B2 (en) Apparatus, security management method, security management program, and recording medium
US20070038572A1 (en) Method, system and computer program for metering software usage
US8601551B2 (en) System and method for a business data provisioning for a pre-emptive security audit
US20150074821A1 (en) Device management apparatus, device management system and device management method
JP5477425B2 (en) Information processing apparatus, access control method, access control program, and recording medium
US20180349593A1 (en) Autofill for application login credentials
US20180373883A1 (en) Information rights management through editors implemented in a browser
JP2013152743A (en) Device, security management method, security management program and recording medium
JP2009169868A (en) Storage area access device and method for accessing storage area
JP2020102150A (en) Information processing system, device, method, and program
JP5510535B2 (en) Information processing apparatus, license determination method, program, and recording medium
JP5287930B2 (en) Apparatus, security management method, security management program, and recording medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140127

R151 Written notification of patent or utility model registration

Ref document number: 5477425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151