JP2013152743A - Device, security management method, security management program and recording medium - Google Patents

Device, security management method, security management program and recording medium Download PDF

Info

Publication number
JP2013152743A
JP2013152743A JP2013071868A JP2013071868A JP2013152743A JP 2013152743 A JP2013152743 A JP 2013152743A JP 2013071868 A JP2013071868 A JP 2013071868A JP 2013071868 A JP2013071868 A JP 2013071868A JP 2013152743 A JP2013152743 A JP 2013152743A
Authority
JP
Japan
Prior art keywords
class
security
framework
application program
security management
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.)
Pending
Application number
JP2013071868A
Other languages
Japanese (ja)
Inventor
Koji Shimizu
浩二 清水
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 JP2013071868A priority Critical patent/JP2013152743A/en
Publication of JP2013152743A publication Critical patent/JP2013152743A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a device, a security management method, a security management program and a recording medium that can expand a function of a framework while properly maintaining security.SOLUTION: A device includes a framework in which at least a part of an interface is disclosed and is capable of executing an application program prepared on the basis of the framework. The device includes security management means for determining a security level imparted to the application program and limiting the use of the framework by the application program according to the security level and authority management means for managing information showing the authority of the use of the framework for each security level. The security management means limits the use of the framework on the basis of the authority management means.

Description

本発明は、装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体に関し、特にインタフェースの少なくとも一部が公開されているフレームワークを有し、前記フレームワークに基づいて作成されたアプリケーションを実行可能な装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体に関する。   The present invention relates to an apparatus, a security management method, a security management program, and a recording medium, and more particularly, an apparatus having a framework with at least a part of an interface open and capable of executing an application created based on the framework The present invention relates to a security management method, a security management program, and a recording medium.

Java(登録商標)言語にはC/C++言語のように列挙型(enum型)が用意されていないため、ある変数の取り得る値をあらかじめ指定したい場合は、図1に示されるような定義によって、列挙型を擬似的に実現することが可能である。   Since the Java (registered trademark) language does not have an enumerated type (enum type) as in the C / C ++ language, if you want to specify possible values of a variable in advance, use the definition shown in FIG. The enumeration type can be realized in a pseudo manner.

図1は、Java(登録商標)言語において列挙型を実現するための第一の方法を説明するための図である。   FIG. 1 is a diagram for explaining a first method for realizing an enumeration type in the Java (registered trademark) language.

図1では、列挙値に相当する定数の宣言を「final static int」によって行う例を示している。すなわち、(A)では、フォントの種類を表現する定数(PLAIN、BOLD)が、以下のように定義されている。   FIG. 1 shows an example in which constants corresponding to enumerated values are declared by “final static int”. That is, in (A), constants (PLAIN, BOLD) representing the type of font are defined as follows.

public final static int PLAIN = 1 ;
public final static int BOLD = 2 ;
これにより、(B)に示されるようなcreateFont()メソッドの呼び出し側では、第二引数(fontStyle)の値としてPLAIN、BOLDを指定することができる。
public final static int PLAIN = 1;
public final static int BOLD = 2;
Thus, PLAIN and BOLD can be designated as the value of the second argument (fontStyle) on the call side of the createFont () method as shown in (B).

ただし、図1の方法は、新たな型が定義されるわけではなく、PLAIN、BOLD等は既存の型(ここでは、int型)として扱われるため、createFont()メソッドの第二引数には任意の値を指定することができてしまう。従って、createFont()メソッド内で第二引数の値の範囲チェックを行う必要がある。   However, the new type is not defined in the method of Fig. 1, and PLAIN, BOLD, etc. are treated as existing types (here, int type), so the second argument of the createFont () method is optional. Can be specified. Therefore, it is necessary to check the range of the second argument value in the createFont () method.

また、定義された定数と同じ型であれば、他の引数(例えば、createFont()メソッドの第三引数であるint型のsize)に対しても、当該定数(PLAIN、BOLD等)を指定することができ、コンパイラではそのコーディングミスを検出することができず、実行時に予期せぬエラーを発生させる可能性がある。   If the type is the same as the defined constant, specify the constant (PLAIN, BOLD, etc.) for other arguments (for example, int type size, which is the third argument of the createFont () method). The compiler cannot detect the coding mistake and may cause an unexpected error at runtime.

そこで、一般的には図2に示されるような定義によって列挙型を実現することが多い。図2は、Java(登録商標)言語において列挙型を実現するための第二の方法を説明するための図である。   Therefore, in general, enumeration types are often realized by definitions as shown in FIG. FIG. 2 is a diagram for explaining a second method for realizing the enumeration type in the Java (registered trademark) language.

図2では、列挙値をクラスのオブジェクトとして定義する例を示している。すなわち、(A)では、フォントの種類を表現する定数(PLAIN、BOLD)が、以下のようにFontStyleクラスのインスタンスとして定義されている。   FIG. 2 shows an example in which enumerated values are defined as class objects. That is, in (A), constants (PLAIN, BOLD) representing the font type are defined as instances of the FontStyle class as follows.

public final static int PLAIN = new FontStyle() ;
public final static int BOLD = new FontStyle() ;
これにより、(B)に示されるようなcreateFont()メソッドの第二引数の型を「FontStyle」型として定義することが可能となる。したがって、createFont()メソッドの第二引数にFontStyle型以外の値が指定されるとコンパイルエラーとなり、実行時のエラーを防ぐことが可能となる。また、図2の例では、FontStyleクラスの定義にfinal修飾子が付加されているため、FontSytleクラスのサブクラスが定義されるのを防止することができ、サブクラスの定義による想定外の定数の拡張を防止することができる。よって、定数が所定の範囲内であることが保証され、createFont()メソッド内部での値の範囲チェックを行う必要を無くすことができる。
public final static int PLAIN = new FontStyle ();
public final static int BOLD = new FontStyle ();
As a result, the type of the second argument of the createFont () method as shown in (B) can be defined as the “FontStyle” type. Therefore, if a value other than the FontStyle type is specified as the second argument of the createFont () method, a compile error will occur, and an error during execution can be prevented. In the example of Fig. 2, the final modifier is added to the definition of the FontStyle class, so it is possible to prevent the subclass of the FontSytle class from being defined. Can be prevented. Therefore, it is guaranteed that the constant is within a predetermined range, and it is possible to eliminate the need to check the value range within the createFont () method.

しかしながら、上記のようなクラス(enum型を実現するためのクラス)がいわゆるフレームワークにおいて定義されている場合、列挙値を拡張するためにはFontStyleクラスのサブクラス化が行えないため、FonsStyleクラスの定義自体を変更しなければならない。したがって、フレームワークの提供者は、当該フレームワークの利用者に対して、拡張部分のみならず、拡張後のフレームワーク全体を改めて提供しなければならず、場合によっては、当該フレームワークの利用者は、当該フレームワーク上に構築したアプリケーションの再コンパイル等を実行しなければならないという問題がある。   However, if the above class (class for realizing the enum type) is defined in the so-called framework, the FontStyle class cannot be subclassed to extend the enumeration values, so the FonsStyle class definition It must change itself. Therefore, the provider of the framework must provide not only the extended part but also the entire extended framework to the user of the framework. In some cases, the user of the framework However, there is a problem in that recompilation of an application built on the framework must be executed.

近年では、複写機や融合機等の画像形成装置においても、フレームワークが実装され、そのAPI(Application Program Interface)が公開されているものがある。そして、画像形成装置の利用者側で、そのAPIに基づくアプリケーションを実装することで、利用者独自の機能を追加できるものがある。したがって、上記のような問題はかかる画像形成装置においても同様に発生し得る問題である。   In recent years, some image forming apparatuses such as copiers and multi-function peripherals have a framework mounted and an API (Application Program Interface) published. Some users of the image forming apparatus can add functions unique to the user by installing an application based on the API. Therefore, the above-described problem can occur in such an image forming apparatus as well.

本発明は、上記の点に鑑みてなされたものであって、セキュリティを適切に維持しつつフレームワークの機能を拡張させることのできる装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体の提供を目的とする。   The present invention has been made in view of the above points, and it is an object of the present invention to provide an apparatus, a security management method, a security management program, and a recording medium that can expand the functions of the framework while appropriately maintaining security. And

そこで上記課題を解決するため、本発明は、インタフェースの少なくとも一部が公開されているフレームワークを有し、前記フレームワークに基づいて作成されたアプリケーションプログラムを実行可能な装置であって、前記アプリケーションプログラムに付与されたセキュリティレベルを判断し、前記セキュリティレベルに応じて当該アプリケーションプログラムによる前記フレームワークの利用を制限するセキュリティ管理手段と、前記セキュリティレベルごとに前記フレームワークの利用の権限を示す情報を管理する権限管理手段とを有し、前記セキュリティ管理手段は、前記権限管理手段に基づいて前記フレームワークの利用を制限することを特徴とする。   Accordingly, in order to solve the above-described problem, the present invention includes a framework having at least a part of an interface open to the public and capable of executing an application program created based on the framework, the application A security management means for determining a security level given to the program and restricting the use of the framework by the application program according to the security level; and information indicating an authority to use the framework for each security level. Authority management means for managing, and the security management means restricts the use of the framework based on the authority management means.

このような装置では、セキュリティを適切に維持しつつフレームワークの機能を拡張させることができる。   In such an apparatus, the function of the framework can be expanded while maintaining security appropriately.

また、上記課題を解決するため、本発明は、上記装置におけるセキュリティ管理方法、前記セキュリティ管理方法をコンピュータに実行させるためのセキュリティ管理プログラム、又は前記セキュリティ管理プログラムを記録した記録媒体としてもよい。   In order to solve the above problems, the present invention may be a security management method in the above apparatus, a security management program for causing a computer to execute the security management method, or a recording medium on which the security management program is recorded.

本発明によれば、セキュリティを適切に維持しつつフレームワークの機能を拡張させることのできる装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体を提供することができる。   According to the present invention, it is possible to provide an apparatus, a security management method, a security management program, and a recording medium that can expand the functions of a framework while appropriately maintaining security.

Java(登録商標)言語において列挙型を実現するための第一の方法を説明するための図である。It is a figure for demonstrating the 1st method for implement | achieving enumeration type in a Java (trademark) language. Java(登録商標)言語において列挙型を実現するための第二の方法を説明するための図である。It is a figure for demonstrating the 2nd method for implement | achieving enumerated type in a Java (trademark) language. 本発明の実施の形態における融合機を表す図である。It is a figure showing the compound machine in an embodiment of the invention. 本発明の実施の形態における融合機のハードウェア構成図である。It is a hardware block diagram of the compound machine in an embodiment of the invention. 本発明の実施の形態における融合機の外観図である。It is an external view of the compound machine in an embodiment of the invention. オペレーションパネルを表す図である。It is a figure showing an operation panel. JSDKアプリとJSDKプラットフォームのクラス図である。It is a class diagram of a JSDK application and a JSDK platform. セキュリティマネージャの機能を説明するための図である。It is a figure for demonstrating the function of a security manager. セキュリティポリシー設定ファイルの定義例を示す図である。It is a figure which shows the example of a definition of a security policy setting file. レベル1のユーザアプリの動作を説明するための図である。It is a figure for demonstrating operation | movement of the user application of level 1. FIG. 本発明の実施の形態におけるJSDKプラットフォームにおいて列挙型の実現例を説明するための図である。It is a figure for demonstrating the implementation example of enumeration type in the JSDK platform in embodiment of this invention. 本発明の実施の形態において列挙値を定義するためのクラスの継承関係を示す図である。It is a figure which shows the inheritance relationship of the class for defining enumeration value in embodiment of this invention.

以下、図面に基づいて本発明の実施の形態を説明する。図3は、本発明の実施の形態における融合機を表す図である。図3の融合機101は、種々のハードウェア111と、種々のソフトウェア112と、融合機起動部113により構成される。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 3 is a diagram showing the multi-function apparatus according to the embodiment of the present invention. The compound machine 101 shown in FIG. 3 includes various hardware 111, various software 112, and a compound machine starting unit 113.

融合機101のハードウェア111としては、撮像部121と、印刷部122と、その他のハードウェア123が存在する。撮像部121は、読取原稿から画像(画像データ)を読み取るためのハードウェアである。印刷部122は、画像(画像データ)を印刷用紙に印刷するためのハードウェアである。   As the hardware 111 of the multi-function peripheral 101, there are an imaging unit 121, a printing unit 122, and other hardware 123. The imaging unit 121 is hardware for reading an image (image data) from a read original. The printing unit 122 is hardware for printing an image (image data) on printing paper.

融合機101のソフトウェア112としては、種々のアプリケーション131と、種々のプラットフォーム132が存在する。これらのプログラムは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。   As the software 112 of the multi-function peripheral 101, there are various applications 131 and various platforms 132. These programs are executed in parallel on a process basis by an OS (Operating System) such as UNIX (registered trademark).

アプリケーション131としては、コピー用のアプリケーションであるコピーアプリ141、プリンタ用のアプリケーションであるプリンタアプリ142、スキャナ用のアプリケーションであるスキャナアプリ143、ファクシミリ用のアプリケーションであるファクシミリアプリ144、ネットワークファイル用のアプリケーションであるネットワークファイルアプリ145が存在する。そしてさらに、Webページの閲覧用のソフトウェアであるWebブラウザ181、Webページの配信用のソフトウェアであるWebサーバソフト182、CSDKアプリ146やJSDKアプリ147の制御用のソフトウェアであるSDKアプリケーションサービス(SAS)183が存在する。   The application 131 includes a copy application 141 that is a copy application, a printer application 142 that is a printer application, a scanner application 143 that is a scanner application, a facsimile application 144 that is a facsimile application, and a network file application. There is a network file application 145. Further, a web browser 181 that is web page browsing software, a web server software 182 that is web page distribution software, an SDK application service (SAS) that is software for controlling the CSDK application 146 and the JSDK application 147. 183 exists.

アプリケーション131は、専用のSDK(ソフトウェア開発キット)を使用して開発することができる。SDKを使用して開発したアプリケーション131をSDKアプリと呼ぶ。専用のSDKとしては、C言語でアプリケーション131を開発するための「CSDK」や、Java(登録商標)言語でアプリケーション131を開発するための「JSDK」が提供される。CSDKを使用して開発したアプリケーション131を「CSDKアプリ」と呼び、JSDKを使用して開発したアプリケーション131を「JSDKアプリ」と呼ぶ。図3の融合機101にも、CSDKアプリ146と、JSDKアプリ147が存在する。図3の融合機101にはさらに、Java(登録商標)言語で記述されたJSDKアプリ147とC言語で記述された他のソフトウェア112との仲介を行うソフトウェア112として、JSDKプラットフォーム148が存在する。なお、JSDKプラットフォーム148は、本発明の実施の形態においてフレームワークの具体例に相当する。   The application 131 can be developed using a dedicated SDK (software development kit). An application 131 developed using the SDK is called an SDK application. As the dedicated SDK, “CSDK” for developing the application 131 in C language and “JSDK” for developing the application 131 in Java (registered trademark) language are provided. An application 131 developed using CSDK is called a “CSDK application”, and an application 131 developed using JSDK is called a “JSDK application”. The MFP 101 of FIG. 3 also has a CSDK application 146 and a JSDK application 147. 3 further includes a JSDK platform 148 as software 112 that mediates between the JSDK application 147 written in the Java (registered trademark) language and the other software 112 written in the C language. The JSDK platform 148 corresponds to a specific example of a framework in the embodiment of the present invention.

プラットフォーム132としては、種々のコントロールサービス151、システムリソースマネージャ152、種々のハンドラ153が存在する。コントロールサービス151としては、ネットワークコントロールサービス(NCS)161、ファクシミリコントロールサービス(FCS)162、デリバリコントロールサービス(DCS)163、エンジンコントロールサービス(ECS)164、メモリコントロールサービス(MCS)165、オペレーションパネルコントロールサービス(OCS)166、サーティフィケーションコントロールサービス(CCS)167、ユーザディレクトリコントロールサービス(UCS)168、システムコントロールサービス(SCS)169が存在する。ハンドラ153としては、ファクシミリコントロールユニットハンドラ(FCUH)171、イメージメモリハンドラ(IMH)172が存在する。   The platform 132 includes various control services 151, a system resource manager 152, and various handlers 153. The control service 151 includes a network control service (NCS) 161, a facsimile control service (FCS) 162, a delivery control service (DCS) 163, an engine control service (ECS) 164, a memory control service (MCS) 165, and an operation panel control service. There are (OCS) 166, a certification control service (CCS) 167, a user directory control service (UCS) 168, and a system control service (SCS) 169. As the handler 153, there are a facsimile control unit handler (FCUH) 171 and an image memory handler (IMH) 172.

NCS161のプロセスは、ネットワーク通信の仲介を行う。FCS162のプロセスは、ファクシミリのAPIを提供する。DCS163のプロセスは、蓄積文書の配信処理に関する制御を行う。ECS164のプロセスは、撮像部121や印刷部122に関する制御を行う。MCS165のプロセスは、メモリやハードディスクドライブに関する制御を行う。OCS166のプロセスは、オペレーションパネルに関する制御を行う。CCS167のプロセスは、認証処理や課金処理に関する制御を行う。UCS168のプロセスは、ユーザ情報の管理に関する制御を行う。SCS169のプロセスは、システムの管理に関する制御を行う。   The process of the NCS 161 mediates network communication. The FCS 162 process provides a facsimile API. The process of the DCS 163 performs control related to the distribution processing of the stored document. The process of the ECS 164 performs control related to the imaging unit 121 and the printing unit 122. The process of the MCS 165 controls the memory and hard disk drive. The process of the OCS 166 performs control related to the operation panel. The process of the CCS 167 performs control related to authentication processing and billing processing. The process of the UCS 168 performs control related to management of user information. The process of the SCS 169 performs control related to system management.

アプリケーション131とプラットフォーム132の仲介を行うソフトウェア112として、仮想アプリケーションサービス(VAS)135が存在する。VAS135は、アプリケーション131をクライアントとするサーバプロセスとして動作すると共に、プラットフォーム132をサーバとするクライアントプロセスとして動作する。VAS135は、アプリケーション131から見てプラットフォーム132を隠蔽するラッピング機能を備え、プラットフォーム132のバージョンアップに伴うバージョン差を吸収する役割等を担う。   A virtual application service (VAS) 135 exists as software 112 that mediates between the application 131 and the platform 132. The VAS 135 operates as a server process using the application 131 as a client, and also operates as a client process using the platform 132 as a server. The VAS 135 has a wrapping function that hides the platform 132 when viewed from the application 131, and plays a role of absorbing version differences associated with version upgrades of the platform 132.

融合機起動部113は、融合機101の電源投入時に最初に実行される。これにより、UNIX(登録商標)等のOSが起動され、アプリケーション131やプラットフォーム132が起動される。これらのプログラムは、ハードディスクドライブやメモリカードに蓄積されており、ハードディスクドライブやメモリカードから再生されて、メモリに起動されることになる。   The MFP starter 113 is executed first when the MFP 101 is turned on. As a result, an OS such as UNIX (registered trademark) is activated, and the application 131 and the platform 132 are activated. These programs are stored in the hard disk drive or the memory card, and are reproduced from the hard disk drive or the memory card and activated in the memory.

図4は、本発明の実施の形態における融合機のハードウェア構成図である。融合機101のハードウェア111としては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。   FIG. 4 is a hardware configuration diagram of the compound machine according to the embodiment of the present invention. The hardware 111 of the multi-function peripheral 101 includes a controller 201, an operation panel 202, a facsimile control unit (FCU) 203, an imaging unit 121, and a printing unit 122.

コントローラ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は、融合機101のシステムメモリである。MEM−C232は、融合機101のローカルメモリである。HDD233は、融合機101のストレージである。メモリカードスロット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 101. The MEM-C 232 is a local memory of the multifunction machine 101. The HDD 233 is a storage of the multifunction machine 101. 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は、オペレータが融合機101に入力を行うためのハードウェア(操作部)であると共に、オペレータが融合機101から出力を得るためのハードウェア(表示部)である。   The operation panel 202 is hardware (operation unit) for an operator to input to the multifunction machine 101 and hardware (display unit) for the operator to obtain an output from the multifunction machine 101.

図5は、本発明の実施の形態における融合機の外観図である。図5には、撮像部121の位置と、印刷部122の位置と、オペレーションパネル202の位置が図示されている。図5には更に、読取原稿のセット先となる原稿セット部301と、印刷用紙の給紙先となる給紙部302と、印刷用紙の排紙先となる排紙部303が図示されている。   FIG. 5 is an external view of the compound machine in the embodiment of the present invention. FIG. 5 illustrates the position of the imaging unit 121, the position of the printing unit 122, and the position of the operation panel 202. FIG. 5 further shows a document setting unit 301 that is a setting destination of a read document, a paper feeding unit 302 that is a printing paper feeding destination, and a paper discharge unit 303 that is a printing paper discharge destination. .

オペレーションパネル202は、図6のように、タッチパネル311と、テンキー312と、スタートボタン313と、リセットボタン314と、機能キー315と、初期設定ボタン316により構成される。タッチパネル311は、タッチ操作で入力を行うためのハードウェア(タッチ操作部)であると共に、画面表示で出力を得るためのハードウェア(画面表示部)である。テンキー312は、キー(ボタン)操作で数字入力を行うためのハードウェアである。スタートボタン313は、ボタン操作でスタート操作を行うためのハードウェアである。リセットボタン314は、ボタン操作でリセット操作を行うためのハードウェアである。機能キー315は、キー(ボタン)操作でCSDKアプリ146やJSDKアプリ147による操作画面を表示させるためのハードウェアである。初期設定ボタン316は、ボタン操作で初期設定画面を表示させるためのハードウェアである。   As shown in FIG. 6, the operation panel 202 includes a touch panel 311, a numeric keypad 312, a start button 313, a reset button 314, a function key 315, and an initial setting button 316. The touch panel 311 is hardware (touch operation unit) for inputting by a touch operation and hardware (screen display unit) for obtaining an output by screen display. The numeric keypad 312 is hardware for inputting numbers by operating keys (buttons). The start button 313 is hardware for performing a start operation by a button operation. The reset button 314 is hardware for performing a reset operation by a button operation. The function key 315 is hardware for displaying an operation screen by the CSDK application 146 or the JSDK application 147 by a key (button) operation. The initial setting button 316 is hardware for displaying an initial setting screen by button operation.

原稿セット部301は、ADF(自動原稿搬送装置)321と、フラットベッド322と、フラットベッドカバー323により構成される。給紙部302は、4個の給紙トレイにより構成される。排紙部303は、1個の排紙トレイにより構成される。ADF321には、複数枚の読取原稿を重ねてセットすることができる。フラットベッド322には、読取原稿を下向きにセットする。   The document setting unit 301 includes an ADF (automatic document feeder) 321, a flat bed 322, and a flat bed cover 323. The paper feed unit 302 includes four paper feed trays. The paper discharge unit 303 includes a single paper discharge tray. A plurality of read originals can be set on the ADF 321 in an overlapping manner. On the flat bed 322, the read original is set downward.

(JSDK)
図7は、JSDKアプリとJSDKプラットフォームのクラス図である。JSDKアプリ147とJSDKプラットフォーム148は、全体で1プロセスとして、同一プロセス上で実行される。JSDKアプリ147とJSDKプラットフォーム148中の各ブロックは、それぞれこの1プロセス上のスレッドとして、スレッド単位で並列的に実行(マルチスレッド)される。JSDKアプリ147とJSDKプラットフォーム148は、Java(登録商標)コンパイラによりソースコードからバイトコードに一括翻訳されており、Java(登録商標)仮想マシンにより逐次実行される。JSDKアプリ147とJSDKプラットフォーム148は、Java(登録商標) 2 Micro EditionのPersonal Basis Profileをベースとする実装となっている。
(JSDK)
FIG. 7 is a class diagram of the JSDK application and the JSDK platform. The JSDK application 147 and the JSDK platform 148 are executed on the same process as one process as a whole. Each block in the JSDK application 147 and the JSDK platform 148 is executed in parallel (multithread) in units of threads as threads on one process. The JSDK application 147 and the JSDK platform 148 are collectively translated from source code to bytecode by a Java (registered trademark) compiler, and sequentially executed by a Java (registered trademark) virtual machine. The JSDK application 147 and the JSDK platform 148 are implemented based on the Personal Basis Profile of Java (registered trademark) 2 Micro Edition.

JSDKアプリ147としては、ユーザアプリ701と、JSDK GUI Manager711と、Task Bar Manager712等が存在する。   As the JSDK application 147, there are a user application 701, a JSDK GUI Manager 711, a Task Bar Manager 712, and the like.

ユーザアプリ701は、融合機101のユーザ(例えばベンダ)がJSDKを使用して開発したJSDKアプリである。JSDK GUI Manager711は、他のJSDKアプリ(ユーザアプリ701等)を操作対象とする操作画面の表示等を行うJSDKアプリである。Task Bar Manager712は、他のJSDKアプリ(ユーザアプリ701等)を操作対象とするタスクバーの表示等を行うJSDKアプリである。   The user application 701 is a JSDK application developed by a user (for example, a vendor) of the multi-function peripheral 101 using JSDK. The JSDK GUI Manager 711 is a JSDK application that displays an operation screen for other JSDK applications (such as the user application 701). The Task Bar Manager 712 is a JSDK application that displays a task bar that operates on another JSDK application (such as the user application 701).

ユーザアプリ701はここでは、スタンドアロンアプリケーションやアプレットと並ぶJava(登録商標)アプリケーションであるXletである。JSDK GUI Manager711とTask Bar Manager712はここでは、独自の拡張を施したXlet(XletEx)である。   Here, the user application 701 is an Xlet that is a Java (registered trademark) application along with a stand-alone application and an applet. Here, the JSDK GUI Manager 711 and the Task Bar Manager 712 are Xlet (XletEx) with a unique extension.

JSDKプラットフォーム148には、JSDK Main721と、JSDK Environment722と、Locale Manager723と、Xlet Manager731と、Multi Xlet Manager732と、JSDK Manager733と、Send Manager741と、Event Manager742と、System Event Manager743と、Panel Manager744と、Install Manager745と、Server/Client Manager746と、Security Manager747等のクラスが存在する。   The JSDK platform 148, the JSDK Main721, a JSDK Environment722, the Locale Manager723, the Xlet Manager731, the Multi Xlet Manager732, a JSDK Manager733, and Send Manager741, and Event Manager742, the System Event Manager743, and Panel Manager744, Install Manager745 And a class such as Server / Client Manager 746 and Security Manager 747.

JSDK Main721は、JSDKシステムの起動設定を行うクラスである。JSDK Environment722は、JSDKシステムの起動環境設定を行うクラスである。Locale Manager723は、国際化対応(言語指定)を行うクラスである。   The JSDK Main 721 is a class that performs startup setting of the JSDK system. JSDK Environment 722 is a class for setting the startup environment of the JSDK system. The Local Manager 723 is a class that performs internationalization (language specification).

Xlet Manager731は、1対1でXletのライフサイクルを管理するクラスである。ここでは、5個のXletのライフサイクルが1対1で5個のXlet Manager731によって管理される。Multi Xlet Manager732は、全てのXlet Manager731のライフサイクルを管理するクラスである。ここでは、5個のXlet Manager731のライフサイクルが全て1個のMulti Xlet Manager732によって管理される。JSDK Manager733は、JSDKシステム全体のライフサイクルを管理するクラスである。例えば、Multi Xlet Manager732,Send Manager741,Event Manager742,System Event Manager743,Panel Manager744,Install Manager745,Server/Client Manager746,Security Manager747のライフサイクルが、JSDK Manager733によって管理される。   The Xlet Manager 731 is a class that manages the Xlet life cycle on a one-to-one basis. Here, the life cycle of five Xlets is managed by five Xlet Managers 731 on a one-to-one basis. The Multi Xlet Manager 732 is a class that manages the life cycle of all Xlet Managers 731. Here, the life cycles of five Xlet Managers 731 are all managed by one Multi Xlet Manager 732. The JSDK Manager 733 is a class that manages the life cycle of the entire JSDK system. For example, Multi Xlet Manager 732, Send Manager 741, Event Manager 742, System Event Manager 743, Panel Manager 744, Install Manager 745, Server / Client Manager 746, and Management 747's Life 47 management cycle.

System Event Manager743は、図3のプラットフォーム132からのシステムイベント(電力モード等)の管理を行うクラスである。Panel Manager744は、1個のXletがオペレーションパネル202の画面を占有する際の調停等を行うクラスである。Install Manager745は、SDcardやWebからのインストールやアンインストールの管理を行うクラスである。   The System Event Manager 743 is a class that manages system events (power mode, etc.) from the platform 132 of FIG. Panel Manager 744 is a class that performs arbitration when one Xlet occupies the screen of the operation panel 202. Install Manager 745 is a class that manages installation and uninstallation from SDcard and Web.

図7のJSDKシステムには、APIとして、JSDK API751とJSDK API752等が存在する。なお、XletとXletExの差異として、オブジェクトにアクセスするのにJSDK API751の利用とJSDKプラットフォーム148へのアクセスが可能である点が挙げられる。図3の融合機101にはさらに、図7のJSDKシステムに係る要素として、C言語とJava(登録商標)言語のインタフェースとなるJSDK Session753とNative JSDK Session754等が存在する。図3の融合機101にはさらに、図7のJSDKシステムに係る要素として、Java(登録商標)コンパイラによりソースコードからバイトコードに一括翻訳されたJava(登録商標)プログラムを逐次実行するためのJava(登録商標)仮想マシンであるCVM(コンパクト仮想マシン)755等が存在する。   The JSDK system shown in FIG. 7 includes JSDK API 751 and JSDK API 752 as APIs. Note that the difference between Xlet and XletEx is that the JSDK API 751 can be used and the JSDK platform 148 can be accessed to access an object. Further, the MFP 101 shown in FIG. 3 includes a JSDK Session 753 and a Native JSDK Session 754 that serve as an interface between the C language and the Java (registered trademark) language as elements relating to the JSDK system shown in FIG. 3 further includes a Java (registered trademark) program for sequentially executing a Java (registered trademark) program translated from source code into bytecode by a Java (registered trademark) compiler as an element related to the JSDK system of FIG. There is a CVM (compact virtual machine) 755 which is a (registered trademark) virtual machine.

(Security Manager)
Security Manager(セキュリティマネージャ)747は、Java(登録商標)で元々提供されているSecurityManagerクラスを拡張したクラスであり、JSDKプラットフォーム148上において不正なアプリケーションが実行されないよう、セキュリティ機構を実現する。すなわち、ユーザアプリ701は、JSDKプラットフォーム148における各種のクラスのうち、JSDK公開クラスとJava(登録商標)標準クラス(以下、単に「標準クラス」という。)に対するアクセスが許可されるが、そのアクセス時には、ユーザアプリ701からセキュリティマネージャ747に対してアクセス権限に関する問い合わせが行われる。
(Security Manager)
The Security Manager (security manager) 747 is a class that extends the Security Manager class originally provided by Java (registered trademark), and implements a security mechanism so that an unauthorized application is not executed on the JSDK platform 148. That is, the user application 701 is permitted to access the JSDK public class and the Java (registered trademark) standard class (hereinafter simply referred to as “standard class”) among various classes in the JSDK platform 148. The user application 701 makes an inquiry about access authority to the security manager 747.

図8は、セキュリティマネージャの機能を説明するための図である。例えば、ユーザアプリ701が、JSDKプラットフォーム148におけるJSDK公開クラス148aにアクセスすると(S101)、それに基づいてJSDK非公開クラス148b及び標準クラス148cが呼び出される(S102、S103)。S101〜S103は、例えば、或るJSDK公開クラス148aのコンストラクタがユーザアプリ701に呼び出され、当該JSDK公開クラス148aのスーパークラスとしてのJSDK非公開クラス148b及び標準クラス148cのコンストラクタが連鎖的に呼び出されるような場合を想定するとよい。なお、JSDK公開クラスとは、そのインタフェースが公開されているクラスをいい、JSDK非公開クラスとは、そのインタフェースが非公開のクラスをいう。   FIG. 8 is a diagram for explaining the function of the security manager. For example, when the user application 701 accesses the JSDK public class 148a in the JSDK platform 148 (S101), the JSDK private class 148b and the standard class 148c are called based on the JSDK public class 148a (S102, S103). In S101 to S103, for example, a constructor of a certain JSDK public class 148a is called by the user application 701, and constructors of the JSDK private class 148b and the standard class 148c as superclasses of the JSDK public class 148a are called in a chain. Such a case should be assumed. The JSDK public class refers to a class whose interface is disclosed, and the JSDK private class refers to a class whose interface is private.

続いて、標準クラス148cは、セキュリティマネージャ747に対して当該ユーザアプリ701の権限の問い合わせを行う(S104)。問い合わせに応じ、セキュリティマネージャ747は、Policyオブジェクトより、JSDKプラットフォーム148のセキュリティポリシーを読み出し、当該ユーザアプリ701の権限を判断する(S105)。なお、Policyオブジェクトは、JSDKプラットフォーム148の起動時等において、JSDKプラットフォーム148のセキュリティポリシーが予め設定されたファイル(以下「セキュリティポリシー設定ファイル」という。)よりセキュリティポリシーを読み込んで保持しておくためのオブジェクトである(S106)。   Subsequently, the standard class 148c inquires the security manager 747 about the authority of the user application 701 (S104). In response to the inquiry, the security manager 747 reads the security policy of the JSDK platform 148 from the Policy object, and determines the authority of the user application 701 (S105). The Policy object is used to read and hold a security policy from a file in which the security policy of the JSDK platform 148 is set in advance (hereinafter referred to as “security policy setting file”) when the JSDK platform 148 is started. It is an object (S106).

セキュリティマネージャ148は、当該ユーザアプリ701が、当該JSDK非公開クラス148bに対するアクセス権を有していないと判断すると例外を発生させる(S107)。当該例外は、標準クラス148c、JSDK非公開クラス148b、JSDK公開クラス148aを介してユーザアプリ701に通知される(S108、S109、S110)。   If the security manager 148 determines that the user application 701 does not have access rights to the JSDK private class 148b, an exception is generated (S107). The exception is notified to the user application 701 through the standard class 148c, the JSDK private class 148b, and the JSDK public class 148a (S108, S109, S110).

本実施の形態におけるJSDKプラットフォーム148のセキュリティポリシーは、セキュリティレベルに基づいて定義されている。ここで、セキュリティレベルとは、各ユーザアプリ701の権限を分類するための情報をいい、例えば、3段階のレベルを有する。すなわち、セキュリティポリシー設定ファイルには、セキュリティレベルごとに融合機101の各種のリソースに対するアクセス権限が設定されている。   The security policy of the JSDK platform 148 in this embodiment is defined based on the security level. Here, the security level refers to information for classifying the authority of each user application 701, and has, for example, three levels. That is, in the security policy setting file, access authority for various resources of the multi-function peripheral 101 is set for each security level.

図9は、セキュリティポリシー設定ファイルの定義例を示す図である。図9では、便宜上、アクセス権限の内容の具定例は記載されていないが、例えば、レベル1のアプリケーションは、JSDKプラットフォーム148と同じ権限(非公開クラス148bも含めて全てのリソースへのアクセスが可能な権限)を有し、レベル2のアプリケーションは、レベル1に比べてリソースへのアクセスが制限され、レベル3のアプリケーションは、リソースへのアクセスが更に制限されるといったような内容が定義される。   FIG. 9 is a diagram illustrating a definition example of a security policy setting file. In FIG. 9, for the sake of convenience, a specific example of the contents of the access authority is not described. For example, the level 1 application can access all resources including the same authority as the JSDK platform 148 (including the private class 148b). The level 2 application is defined such that access to resources is restricted compared to level 1 and the level 3 application is further restricted to access resources.

一方、各ユーザアプリ701には、予めセキュリティレベルが付与されている。したがって、図8においてセキュリティマネージャ747は、当該ユーザアプリ701のセキュリティレベルとセキュリティレベル設定ファイルの設定内容とを照合することにより、当該ユーザアプリ701の権限を判断する。   On the other hand, each user application 701 is assigned a security level in advance. Accordingly, in FIG. 8, the security manager 747 determines the authority of the user application 701 by comparing the security level of the user application 701 with the setting contents of the security level setting file.

なお、セキュリティレベルの付与及び変更は、例えば融合機101のベンダに対する申請によって行うようにしてもよい。そうすることで、各ユーザアプリ701の権限の管理を融合機101のベンダが厳格に行うことができる。また、各ユーザアプリ701に対するセキュリティレベルの値は、所定のファイル内に定義しておき、そのファイルに基づいてセキュリティマネージャ747が判断してもよいし、ユーザアプリ701がセキュリティマネージャ747に通知するようにしてもよい。   The security level may be assigned and changed by applying to the vendor of the multifunction machine 101, for example. By doing so, the authority of each user application 701 can be strictly managed by the vendor of the MFP 101. Also, the security level value for each user application 701 may be defined in a predetermined file, and the security manager 747 may make a determination based on the file, or the user application 701 may notify the security manager 747. It may be.

例えば、レベル1が付与されたユーザアプリ701の動作は、図10のようになる。図10は、レベル1のユーザアプリの動作を説明するための図である。   For example, the operation of the user application 701 given level 1 is as shown in FIG. FIG. 10 is a diagram for explaining the operation of the level 1 user application.

レベル1のユーザアプリ701は、JSDK公開クラス148aのみならず、JSDK非公開クラス148bに対するアクセスも認められる。したがって、いずれかに対する呼び出しに基づき(S201、S202)、標準クラス148cが呼び出される(S203、S204)。標準クラス148cは、セキュリティマネージャ747に対して当該ユーザアプリ701の権限の問い合わせを行う。セキュリティマネージャ747は、当該ユーザアプリ701のセキュリティレベル(レベル1)とセキュリティポリシー設定ファイルの設定内容とを照合することにより、当該ユーザアプリ701の当該非公開クラス148bに対するアクセスを許可する。   The level 1 user application 701 is permitted to access not only the JSDK public class 148a but also the JSDK private class 148b. Therefore, the standard class 148c is called (S203, S204) based on the call to either one (S201, S202). The standard class 148c makes an inquiry about the authority of the user application 701 to the security manager 747. The security manager 747 permits access to the private class 148b of the user application 701 by collating the security level (level 1) of the user application 701 with the setting contents of the security policy setting file.

(列挙型)
以下、上記のような仕組みを有するJSDKプラットフォーム148において、Java(登録商標)言語で列挙型を実現する例について説明する。
(Enumeration)
Hereinafter, an example in which an enumeration type is realized in the Java (registered trademark) language in the JSDK platform 148 having the above-described mechanism will be described.

図11は、本発明の実施の形態におけるJSDKプラットフォームにおいて列挙型の実現例を説明するための図である。   FIG. 11 is a diagram for explaining an implementation example of the enumeration type in the JSDK platform according to the embodiment of the present invention.

図11では、列挙値をクラスのオブジェクトとして定義する例を示している。すなわち、定義800は、当該クラスとしてJSDKプラットフォーム148に予め実装されるFontStyleクラスの定義例を示す。記述801に示されるように、FontStyleクラスの定義にはfinal修飾子が付加されている。これによって、FontStyleクラスの継承が禁止される。また、FontStyleクラスはCoreFontクラスを継承している。ここで、CoreFontクラスはJSDK非公開クラスの一つとして定義されているクラスである。更に、記述804に示されるように、FontStyleクラスのコンストラクタには、public修飾子及びprotected修飾子が付加されていない。これによって、同一のパッケージ内及びサブクラスに対してのみFontStyleクラスのオブジェクトの生成が許可される。また、記述805に示されるように、コンストラクタの中では、親クラス(ここではCoreFontクラス)のコンストラクタを呼び出すようにしておく。   FIG. 11 shows an example in which enumerated values are defined as class objects. That is, the definition 800 shows a definition example of the FontStyle class that is pre-installed in the JSDK platform 148 as the class. As shown in the description 801, the final modifier is added to the definition of the FontStyle class. This prohibits inheritance of the FontStyle class. The FontStyle class inherits the CoreFont class. Here, the CoreFont class is a class defined as one of the JSDK private classes. Further, as shown in the description 804, the public modifier and the protected modifier are not added to the constructor of the FontStyle class. As a result, generation of an object of the FontStyle class is permitted only for the same package and subclass. Also, as shown in the description 805, the constructor of the parent class (here, the CoreFont class) is called in the constructor.

記述802及び記述803では、列挙値としてFontSytleクラスのオブジェクトであるPLAINとBOLDとがインスタンス化されている。なお、FontStyleクラスは、JSDK公開クラスとして実装されている。   In description 802 and description 803, PLAIN and BOLD, which are objects of the FontSytle class, are instantiated as enumerated values. The FontStyle class is implemented as a JSDK public class.

FontStyleクラスを上記のように定義することで、列挙値の拡張が必要となった場合(例えば、新たな列挙値としてITALICの追加が必要となった場合)、定義900に示されるような実装をオプションライブラリとして追加的に行うことができる。ここで、追加的にとは、JSDKプラットフォーム148のソースコード(ここでは、FontStyleクラスの定義)を変更する必要がないことを意味する。すなわち、当該オプションライブラリを配布されたユーザは、当該オプションライブラリを融合機101にインストールすれば列挙値の拡張を行うことができる。   By defining the FontStyle class as described above, if the enumeration value needs to be expanded (for example, if ITALIC needs to be added as a new enumeration value), the implementation shown in the definition 900 should be implemented. It can be done additionally as an optional library. Here, “additionally” means that there is no need to change the source code of the JSDK platform 148 (here, the definition of the FontStyle class). That is, the user who has distributed the option library can expand the enumeration value by installing the option library in the multi-function peripheral 101.

定義900では、記述901に示されるようにFontStyleクラスのサブクラスとしてFontStyleSubクラスを定義している。なお、FontStyleSubクラスについてもfinal修飾子を付加することで継承を禁止しておくとよい。ところで、上記においてFontStyleクラスの継承は禁止される旨を説明したが、厳密には、同一パッケージ内であればFontStyleクラスの継承は許可される。したがって、FontStyleSubクラスをFontStyleクラスと同一パッケージとすることでFontStyleクラスの継承が可能となる。図11では、FontStyleクラスのパッケージは、記述806に示されるように「ja.co.rrr.function.font」であるため、FontStyleSubクラスのパッケージも「ja.co.rrr.function.font」(記述905)としておく。   In the definition 900, as shown in the description 901, the FontStyleSub class is defined as a subclass of the FontStyle class. Note that inheritance is also prohibited for the FontStyleSub class by adding a final modifier. By the way, although it has been described above that inheritance of the FontStyle class is prohibited, strictly speaking, inheritance of the FontStyle class is permitted within the same package. Therefore, it is possible to inherit the FontStyle class by making the FontStyleSub class the same package as the FontStyle class. In FIG. 11, since the package of the FontStyle class is “ja.co.rrr.function.font” as shown in the description 806, the package of the FontStyleSub class is also “ja.co.rrr.function.font” (description 905).

記述902は、新たな列挙値のITALICがFontStyleSubクラスのインスタンスとして定義されている。但し、FontStyleSubクラスは、FontStyleクラスのサブクラスであるため、ITALICはFontStyle型として扱うことができる。   Description 902 defines a new enumerated value ITALIC as an instance of the FontStyleSub class. However, since the FontStyleSub class is a subclass of the FontStyle class, ITALIC can handle it as the FontStyle type.

なお、記述903に示されるように、FontStyleSubクラスのコンストラクタは、FontStyleクラスと同様にpublic修飾子及びpretected修飾子を付加しない。また、記述904に示されるように親クラス(ここではFontStyleクラス)のコンストラクタを呼び出すようにしておく。   As shown in the description 903, the constructor of the FontStyleSub class does not add the public modifier and the predicted modifier similarly to the FontStyle class. Also, as shown in the description 904, the constructor of the parent class (here, the FontStyle class) is called.

図11の継承関係をクラス図に示すと図12のようになる。図12は、本発明の実施の形態において列挙値を定義するためのクラスの継承関係を示す図である。   The inheritance relationship of FIG. 11 is shown in a class diagram as shown in FIG. FIG. 12 is a diagram showing the inheritance relationship of classes for defining enumerated values in the embodiment of the present invention.

図11で既に説明したとおり、FontStyleクラス502は、CoreFontクラス501を継承する。ここで、CoreFontクラスはJSDK非公開クラスであり、セキュリティレベルがレベル1のアプリケーションでないとアクセスは許可されない。一方、FontStyleクラス502は、JSDK公開クラスである。なお、CoreFontクラス501及びFontStyleクラス502は、JSDKプラットフォーム148に予め実装されているクラスである。   As already described in FIG. 11, the FontStyle class 502 inherits the CoreFont class 501. Here, the CoreFont class is a JSDK private class, and access is not permitted unless the security level is an application of level 1. On the other hand, the FontStyle class 502 is a JSDK public class. The CoreFont class 501 and the FontStyle class 502 are classes that are pre-installed in the JSDK platform 148.

フォントの種類を表す列挙値について新たな拡張が必要となった場合、FontStyleクラス502を継承して、FontStyleSubクラス503が定義される。ここで、ユーザアプリ701において、FontStyleSubクラス503を継承したユーザ拡張クラス504をパッケージ「ja.co.rrr.function.font」内に定義しようとしても、当該ユーザアプリ701に対してレベル1のセキュリティレベルが付与されなければ、ユーザ拡張クラス504を利用することはできない。   When a new extension is necessary for the enumeration value representing the font type, the FontStyle class 502 is inherited and the FontStyleSub class 503 is defined. Here, in the user application 701, even if an attempt is made to define a user extension class 504 that inherits the FontStyleSub class 503 in the package “ja.co.rrr.function.font”, the security level of the level 1 is set for the user application 701. If is not given, the user extension class 504 cannot be used.

すなわち、図8において説明したように、ユーザ拡張クラス504をインスタンス化しようとすると、FontStyleSubクラス503、FontStyleクラス502及びCoreFontクラス501のコンストラクタが呼び出され、CoreFontクラス501からのセキュリティマネージャ747への問い合わせによって、セキュリティマネージャ747は、当該ユーザアプリ701の権限(セキュリティレベル)を判断する。その結果当該ユーザアプリ701のセキュリティレベルがレベル1でなければ、セキュリティマネージャ747は例外を発生させる。これによって、ユーザ拡張クラス504の利用を禁止し、予期せぬ列挙値の拡張を防止することができる。   That is, as described with reference to FIG. 8, when the user extension class 504 is to be instantiated, the constructors of the FontStyleSub class 503, the FontStyle class 502, and the CoreFont class 501 are called, and an inquiry from the CoreFont class 501 to the security manager 747 is made. The security manager 747 determines the authority (security level) of the user application 701. As a result, if the security level of the user application 701 is not level 1, the security manager 747 generates an exception. As a result, use of the user extension class 504 can be prohibited and unexpected expansion of enumerated values can be prevented.

なお、ユーザ拡張クラス504をFontStyleSubクラス503と異なるパッケージにおいて定義した場合は、FontStyleSubクラス503の定義におけるfinal修飾子によって、異なるパッケージにおける継承は禁止されているため、やはりセキュリティマネージャ747によって例外が発生させられる。   If the user extension class 504 is defined in a package different from the FontStyleSub class 503, inheritance in a different package is prohibited by the final qualifier in the definition of the FontStyleSub class 503, so that an exception is also generated by the security manager 747. It is done.

なお、上記においては、列挙値の拡張例を説明したが、本発明は、列挙値の拡張に限定されず、JSDKプラットフォーム148のようなフレームワークに対するサブクラス化等による様々な機能拡張を行う際のセキュリティの確保に対して有効である。   In the above description, the example of enumeration value expansion has been described. However, the present invention is not limited to enumeration value expansion, and various function expansions such as subclassing a framework such as the JSDK platform 148 are performed. It is effective for ensuring security.

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

101 融合機
111 ハードウェア
112 ソフトウェア
113 融合機起動部
121 撮像部
122 印刷部
123 その他のハードウェア
131 アプリケーション
132 プラットフォーム
133 アプリケーションプログラムインタフェース
134 エンジンインタフェース
135 仮想アプリケーションサービス
141 コピーアプリ
142 プリンタアプリ
143 スキャナアプリ
144 ファクシミリアプリ
145 ネットワークファイルアプリ
146 CSDKアプリ
147 JSDKアプリ
148 JSDKプラットフォーム
151 コントロールサービス
152 システムリソースマネージャ
153 ハンドラ
161 ネットワークコントロールサービス
162 ファクシミリコントロールサービス
163 デリバリコントロールサービス
164 エンジンコントロールサービス
165 メモリコントロールサービス
166 オペレーションパネルコントロールサービス
167 サーティフィケーションコントロールサービス
168 ユーザディレクトリコントロールサービス
169 システムコントロールサービス
171 ファクシミリコントロールユニットハンドラ
172 イメージメモリハンドラ
181 Webブラウザ
182 Webサーバソフト
183 SDKアプリケーションサービス
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
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 セントロニクスデバイス
301 原稿セット部
302 給紙部
303 排紙部
311 タッチパネル
312 テンキー
313 スタートボタン
314 リセットボタン
315 機能キー
316 初期設定ボタン
321 ADF
322 フラットベッド
323 フラットベッドカバー
501 CoreFontクラス
502 FontStyleクラス
503 FontStyleSubクラス
504 ユーザ拡張クラス
711 JSDK GUI Manager
712 Task Bar Manager
721 JSDK Main
722 JSDK Environment
723 Locale Manager
731 Xlet Manager
732 Multi Xlet Manager
733 JSDK Manager
741 Send Manager
742 Event Manager
743 System Event Manager
744 Panel Manager
745 Install Manager
746 Server/Client Manager
747 Security Manager
751 JSDK API
752 JSDK API
753 JSDK Session
754 Native JSDK Session
755 CVM
DESCRIPTION OF SYMBOLS 101 Compound machine 111 Hardware 112 Software 113 Compound machine starting part 121 Imaging part 122 Printing part 123 Other hardware 131 Application 132 Platform 133 Application program interface 134 Engine interface 135 Virtual application service 141 Copy application 142 Printer application 143 Scanner application 144 Facsimile Application 145 Network file application 146 CSDK application 147 JSDK application 148 JSDK platform 151 Control service 152 System resource manager 153 Handler 161 Network control service 162 Facsimile control service 163 Delivery control service 164 Engine control service 165 Memory control service 166 Operation panel control service 167 Certification control service 168 User directory control service 169 System control service 171 Facsimile control unit handler 172 Image memory handler 181 Web browser 182 Web server software 183 SDK application service 201 Controller 202 Operation panel 203 Facsimile control 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 301 Document setting unit 302 Paper feed unit 303 Paper discharge unit 311 Touch panel 312 Numeric keypad 313 Start button 314 Reset button 315 Function key 316 Initial setting button 321 ADF
322 Flatbed 323 Flatbed cover 501 CoreFont class 502 FontStyle class 503 FontStyleSub class 504 User extension class 711 JSDK GUI Manager
712 Task Bar Manager
721 JSDK Main
722 JSDK Environment
723 Local Manager
731 Xlet Manager
732 Multi Xlet Manager
733 JSDK Manager
741 Send Manager
742 Event Manager
743 System Event Manager
744 Panel Manager
745 Install Manager
746 Server / Client Manager
747 Security Manager
751 JSDK API
752 JSDK API
753 JSDK Session
754 Native JSDK Session
755 CVM

そこで上記課題を解決するため、本発明は、装置であって、当該装置を制御可能とするインタフェースと、前記インタフェースのうち、特定のプログラムによるアクセス可能な第一のインタフェースに該プログラムがアクセスすると、該プログラムに付与されたアクセス権限を判断し、該アクセス権限に応じて該プログラムによる第二のインタフェースのアクセスを制限するセキュリティ管理手段とを有し、特定の前記アクセス権限が付与されたプログラムは、前記第一のインタフェースと前記第二のインタフェースとへのアクセスが許可されることを特徴とする


Therefore, in order to solve the above-mentioned problem, the present invention is an apparatus, and when the program accesses a first interface accessible by a specific program among the interfaces that can control the apparatus, Security management means for determining an access right given to the program and restricting access of the second interface by the program according to the access right, and the program to which the specific access right is given, Access to the first interface and the second interface is permitted .


Claims (10)

インタフェースの少なくとも一部が公開されているフレームワークを有し、前記フレームワークに基づいて作成されたアプリケーションプログラムを実行可能な装置であって、
前記アプリケーションプログラムに付与されたセキュリティレベルを判断し、前記セキュリティレベルに応じて当該アプリケーションプログラムによる前記フレームワークの利用を制限するセキュリティ管理手段と、
前記セキュリティレベルごとに前記フレームワークの利用の権限を示す情報を管理する権限管理手段とを有し、
前記セキュリティ管理手段は、前記権限管理手段に基づいて前記フレームワークの利用を制限することを特徴とする装置。
An apparatus having a framework in which at least a part of the interface is open and capable of executing an application program created based on the framework,
Security management means for determining a security level given to the application program and restricting the use of the framework by the application program according to the security level;
Authority management means for managing information indicating the authority to use the framework for each security level;
The security management means restricts the use of the framework based on the authority management means.
前記セキュリティ管理手段は、前記フレームワークにおいて公開されていないインタフェースに対してアクセスが発生したときに、前記セキュリティレベルに応じて前記フレームワークの利用を制限することを特徴とする請求項1記載の装置。 The apparatus according to claim 1, wherein the security management unit restricts use of the framework according to the security level when an access is made to an interface that is not disclosed in the framework. . 前記フレームワークは複数のクラスによって構成され、
前記セキュリティ管理手段は、前記アプリケーションプログラムが前記クラスを継承させたサブクラスを利用する際に、前記セキュリティレベルに応じて当該アプリケーションプログラムによる前記クラスの利用を制限することを特徴とする請求項1又は2記載の装置。
The framework is composed of a plurality of classes,
The said security management means restrict | limits the use of the said class by the said application program according to the said security level, when the said application program uses the subclass which inherited the said class. The device described.
前記複数のクラスの一つは列挙値を定義するクラスであり、
前記セキュリティ管理手段は、前記アプリケーションプログラムが前記列挙値を定義するクラスを継承させたサブクラスを利用する際に、前記セキュリティレベルに応じて当該アプリケーションプログラムによる前記列挙値を定義するクラスの利用を制限することを特徴とする請求項3記載の装置。
One of the plurality of classes is a class that defines an enumeration value;
When the application program uses a subclass that inherits a class that defines the enumeration value, the security management unit restricts use of the class that defines the enumeration value by the application program according to the security level. The apparatus of claim 3.
インタフェースの少なくとも一部が公開されているフレームワークを有し、前記フレームワークに基づいて作成されたアプリケーションプログラムを実行可能な装置におけるセキュリティ管理方法であって、
前記アプリケーションプログラムに付与されたセキュリティレベルを判断するセキュリティレベル判断手順と、
前記セキュリティレベルに応じて当該アプリケーションプログラムによる前記フレームワークの利用を制限するセキュリティ管理手順とを有し、
前記セキュリティ管理手順は、前記セキュリティレベルごとに前記フレームワークの利用の権限を示す権限情報に基づいて前記フレームワークの利用を制限することを特徴とするセキュリティ管理方法。
A security management method in an apparatus that has a framework in which at least a part of an interface is open and that can execute an application program created based on the framework,
A security level determination procedure for determining a security level given to the application program;
Security management procedures for restricting the use of the framework by the application program according to the security level,
The security management method is characterized in that the use of the framework is restricted based on authority information indicating the authority to use the framework for each security level.
前記セキュリティ管理手順は、前記フレームワークにおいて公開されていないインタフェースに対してアクセスが発生したときに、前記セキュリティレベルに応じて前記フレームワークの利用を制限することを特徴とする請求項5記載のセキュリティ管理方法。 6. The security according to claim 5, wherein the security management procedure restricts the use of the framework according to the security level when an access occurs to an interface that is not disclosed in the framework. Management method. 前記フレームワークは複数のクラスによって構成され、
前記セキュリティ管理手順は、前記アプリケーションプログラムが前記クラスを継承させたサブクラスを利用する際に、前記セキュリティレベルに応じて当該アプリケーションプログラムによる前記クラスの利用を制限することを特徴とする請求項5又は6記載のセキュリティ管理方法。
The framework is composed of a plurality of classes,
7. The security management procedure, when the application program uses a subclass that inherits the class, restricts use of the class by the application program according to the security level. The security management method described.
前記複数のクラスの一つは列挙値を定義するクラスであり、
前記セキュリティ管理手順は、前記アプリケーションプログラムが前記列挙値を定義するクラスを継承させたサブクラスを利用する際に、前記セキュリティレベルに応じて当該アプリケーションプログラムによる前記列挙値を定義するクラスの利用を制限することを特徴とする請求項7記載のセキュリティ管理方法。
One of the plurality of classes is a class that defines an enumeration value;
The security management procedure restricts the use of the class that defines the enumerated value by the application program according to the security level when the application program uses a subclass that inherits the class that defines the enumerated value. 8. The security management method according to claim 7, wherein:
請求項5乃至8いずれか一項記載のセキュリティ管理方法をコンピュータに実行させるためのセキュリティ管理プログラム。 A security management program for causing a computer to execute the security management method according to claim 5. 請求項9記載のセキュリティ管理プログラムを記録したコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium on which the security management program according to claim 9 is recorded.
JP2013071868A 2013-03-29 2013-03-29 Device, security management method, security management program and recording medium Pending JP2013152743A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013071868A JP2013152743A (en) 2013-03-29 2013-03-29 Device, security management method, security management program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013071868A JP2013152743A (en) 2013-03-29 2013-03-29 Device, security management method, security management program and recording medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011123085A Division JP5287930B2 (en) 2011-06-01 2011-06-01 Apparatus, security management method, security management program, and recording medium

Publications (1)

Publication Number Publication Date
JP2013152743A true JP2013152743A (en) 2013-08-08

Family

ID=49048981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013071868A Pending JP2013152743A (en) 2013-03-29 2013-03-29 Device, security management method, security management program and recording medium

Country Status (1)

Country Link
JP (1) JP2013152743A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015064694A (en) * 2013-09-24 2015-04-09 キヤノン株式会社 Information processing device and control method thereof, and program
US10389901B2 (en) 2017-09-28 2019-08-20 Ricoh Company, Ltd. Information processing device, information processing system, and information processing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351563A (en) * 2001-05-30 2002-12-06 Canon Inc Information processor, and information processing method and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351563A (en) * 2001-05-30 2002-12-06 Canon Inc Information processor, and information processing method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015064694A (en) * 2013-09-24 2015-04-09 キヤノン株式会社 Information processing device and control method thereof, and program
US10389901B2 (en) 2017-09-28 2019-08-20 Ricoh Company, Ltd. Information processing device, information processing system, and information processing method

Similar Documents

Publication Publication Date Title
US8264717B2 (en) Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium
JP4597834B2 (en) Image forming apparatus, information processing method, information processing program, and recording medium
JP4625343B2 (en) Image forming apparatus, terminal apparatus, information processing method, information processing program, and recording medium
JP5037422B2 (en) Image forming apparatus, access control method, and access control program
US20080235765A1 (en) Information processing apparatus, access control method, access control program product, recording medium, and image forming apparatus
JP4843386B2 (en) Apparatus, information processing method, information processing program, and recording medium
JP4787594B2 (en) Apparatus, security management method, security management program, and recording medium
US20060140658A1 (en) Image forming apparatus, install method, and computer readable recording medium where an install program is recorded
JP5664692B2 (en) Electronic device, image forming apparatus, information processing method, information processing program, and recording medium
JP2007048270A (en) Image forming apparatus, information processing apparatus, information processing method, information processing program and recording medium
JP2013152743A (en) Device, security management method, security management program and recording medium
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
JP5287930B2 (en) Apparatus, security management method, security management program, and recording medium
JP4969481B2 (en) Image forming apparatus, information processing method, and program
JP5565439B2 (en) Apparatus, information processing method, information processing program, and recording medium
JP2005269439A (en) Image forming apparatus, information processing method, information processing program, and recording medium
US10484564B2 (en) Image forming apparatus and method for controlling the same comprising a storage medium that indicates whether the image forming apparatus is in a setting of checking a signature when an application is installed
JP2010218469A (en) Information processor, information processing method, program and recording medium
JP2012018680A (en) Device, information processing method, program and recording medium
JP2011060236A (en) Information processor, development support program, and software integrated development environment
JP5477425B2 (en) Information processing apparatus, access control method, access control program, and recording medium
JP2017182682A (en) Electronic apparatus
JP2005267447A (en) Image forming apparatus and image forming method
JP5121494B2 (en) Image forming apparatus, information processing method, and information processing program
JP2017182688A (en) Electronic apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140325