JP6440099B2 - Electronics - Google Patents
Electronics Download PDFInfo
- Publication number
- JP6440099B2 JP6440099B2 JP2016072669A JP2016072669A JP6440099B2 JP 6440099 B2 JP6440099 B2 JP 6440099B2 JP 2016072669 A JP2016072669 A JP 2016072669A JP 2016072669 A JP2016072669 A JP 2016072669A JP 6440099 B2 JP6440099 B2 JP 6440099B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- mfp
- java
- call
- authentication 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、第1のプログラミング言語で構成されている第1プログラミング部分によって、第1のプログラミング言語とは異なる第2のプログラミング言語で構成されている第2プログラミング部分を呼び出すことができる電子機器に関する。 The present invention relates to an electronic device capable of calling a second programming portion configured in a second programming language different from the first programming language by the first programming portion configured in the first programming language. .
従来、Java(登録商標)言語で構成されているアプリケーション(以下「Javaアプリケーション」という。)をインストール可能な電子機器が知られている(例えば、特許文献1参照。)。 2. Description of the Related Art Conventionally, an electronic device capable of installing an application configured in a Java (registered trademark) language (hereinafter referred to as “Java application”) is known (for example, see Patent Document 1).
Javaアプリケーションは、Javaの仮想環境で動作するので、使用可能なAPI(Application Program Interface)や、使用可能なメモリーの容量などの制御が容易である。そのため、電子機器は、Javaアプリケーションがインストールされても、Javaアプリケーションによって電子機器の製造者の想定外の動作が実行される可能性が低く、セキュリティー上の問題が発生する可能性が低い。 Since the Java application operates in a Java virtual environment, it is easy to control usable API (Application Program Interface), usable memory capacity, and the like. Therefore, even if the Java application is installed, the electronic device is unlikely to perform an operation unexpected by the manufacturer of the electronic device by the Java application, and is unlikely to cause a security problem.
しかしながら、Javaの仮想環境の処理が高負荷であるので、Java言語で構成されているプログラムの処理は、低速になる場合がある。そのため、Javaには、C++などのOS(Operating System)上でそのまま動作するネイティブ言語で構成されているプログラム(以下「ネイティブプログラム」という。)を相互に呼び出すことができるJNI(Java Native Interface)という仕組みが提供されていて、処理の高速化のためや、ネイティブ言語で構成されているライブラリーを呼び出すために利用されている。 However, since the processing of the Java virtual environment is highly loaded, the processing of programs configured in the Java language may be slow. For this reason, Java is referred to as JNI (Java Native Interface), which can call programs configured in a native language (hereinafter referred to as “native program”) that directly operates on an OS (Operating System) such as C ++. A mechanism is provided to speed up processing and to call libraries that are configured in native languages.
しかしながら、ネイティブ言語は、OSが提供している機能を自由に利用することができる。そのため、ネイティブプログラムは、例えば、電子機器における任意のファイルに対して読み出しおよび書き込みが可能である。したがって、電子機器は、電子機器の製造者の想定外の動作がネイティブプログラムによって実行される可能性が高くなり、セキュリティー上の問題が発生する可能性が高くなる。 However, the native language can freely use functions provided by the OS. Therefore, the native program can be read from and written to an arbitrary file in the electronic device, for example. Therefore, the electronic device has a high possibility that an operation unexpected by the manufacturer of the electronic device is executed by the native program, and there is a high possibility that a security problem will occur.
特許文献1に記載された電子機器は、Javaアプリケーションの処理が開始されてJavaアプリケーションがネイティブプログラムを呼び出す場合にJavaアプリケーションの認証を実行し、この認証が成功したときに、Javaアプリケーションによるネイティブプログラムの呼び出しを許可する。特許文献1に記載された電子機器は、この認証をJavaアプリケーションが保持しているデジタル署名によって行うので、電子機器の製造者の想定外の動作をネイティブプログラムによって実行しないJavaアプリケーションのみに適切なデジタル署名を付与することによって、セキュリティー上の問題が発生する可能性を低下させることができる。 The electronic device described in Patent Document 1 executes Java application authentication when the Java application process is started and the Java application calls the native program. When the authentication is successful, the native application of the Java application Allow the call. Since the electronic device described in Patent Document 1 performs this authentication using a digital signature held by the Java application, the digital device suitable for only the Java application that does not execute an unexpected operation of the electronic device manufacturer by the native program. By giving a signature, the possibility of a security problem occurring can be reduced.
しかしながら、従来の電子機器においては、Javaアプリケーションによってネイティブプログラムが呼び出される度に認証が実行されるので、認証のための処理の負担によって、Javaアプリケーションの処理が遅くなるという問題がある。 However, in a conventional electronic device, authentication is executed every time a native program is called by a Java application, so that there is a problem that processing of the Java application is slowed down due to the processing load for authentication.
そこで、本発明は、第1のプログラミング言語で構成されている第1プログラミング部分によって、第1のプログラミング言語とは異なる第2のプログラミング言語で構成されている第2プログラミング部分を高速に呼び出すことができる電子機器を提供することを目的とする。 Therefore, the present invention can quickly call the second programming part composed of the second programming language different from the first programming language by the first programming part composed of the first programming language. It is an object to provide an electronic device that can be used.
本発明の電子機器は、第1のプログラミング言語で構成されている第1プログラミング部分と、前記第1のプログラミング言語とは異なる第2のプログラミング言語で構成されていて前記第1プログラミング部分によって呼び出される第2プログラミング部分とを備えるアプリケーションをインストール可能な電子機器であって、前記第1プログラミング部分による前記第2プログラミング部分の呼び出しが許可されているか否かを、前記アプリケーションに関連付けられている認証情報に基づいて判断し、前記呼び出しが許可されていると判断した場合に前記呼び出しの権限を前記アプリケーションに付与し、前記アプリケーションの実行後も前記権限を維持することを特徴とする。 The electronic device according to the present invention is configured by a first programming part configured by a first programming language and a second programming language different from the first programming language and is called by the first programming part. An electronic device capable of installing an application comprising a second programming part, wherein whether or not calling of the second programming part by the first programming part is permitted is indicated in authentication information associated with the application And determining that the call is permitted, and granting the call authority to the application, and maintaining the authority even after the application is executed.
この構成により、本発明の電子機器は、第1プログラミング部分による第2プログラミング部分の呼び出しが許可されていると認証情報に基づいて判断した場合に呼び出しの権限をアプリケーションに付与し、アプリケーションの実行後も呼び出しの権限を維持するので、アプリケーションの実行の度に認証情報に基づいて判断する必要がなく、第1プログラミング部分によって第2プログラミング部分を高速に呼び出すことができる。 With this configuration, the electronic device of the present invention grants the calling authority to the application when it is determined based on the authentication information that the second programming portion is allowed to be called by the first programming portion. Since the calling authority is maintained, it is not necessary to make a determination based on the authentication information every time the application is executed, and the second programming part can be called at high speed by the first programming part.
本発明の電子機器は、前記呼び出しが許可されているか否かを前記アプリケーションのインストール時に判断しても良い。 The electronic device of the present invention may determine whether or not the calling is permitted when the application is installed.
この構成により、本発明の電子機器は、第1プログラミング部分による第2プログラミング部分の呼び出しが許可されているか否かを、アプリケーションの実行時ではなく、アプリケーションのインストール時に判断するので、アプリケーションを高速に実行することができる。 With this configuration, the electronic device of the present invention determines whether or not the second programming portion is allowed to be called by the first programming portion at the time of installing the application, not at the time of executing the application. Can be executed.
本発明の電子機器は、前記権限を不揮発性の記憶デバイスに記憶しても良い。 The electronic apparatus of the present invention may store the authority in a nonvolatile storage device.
この構成により、本発明の電子機器は、第1プログラミング部分による第2プログラミング部分の呼び出しが許可されているか否かを電子機器の起動の度に判断する必要がないので、処理負担を軽減することができる。 With this configuration, the electronic device of the present invention does not need to determine whether or not the second programming portion is allowed to be called by the first programming portion each time the electronic device is activated, thereby reducing the processing burden. Can do.
本発明の電子機器において、前記認証情報と、前記アプリケーションの少なくとも一部から特定の計算アルゴリズムに基づいて作成された情報とが一致する場合に、前記呼び出しが許可されていると判断しても良い。 In the electronic device of the present invention, it may be determined that the call is permitted when the authentication information matches information created based on a specific calculation algorithm from at least a part of the application. .
この構成により、本発明の電子機器は、アプリケーション毎に認証情報が異なる可能性が高いので、特定のアプリケーションに正当に関連付けられている認証情報が他のアプリケーションに不正に流用されることを防止することができ、セキュリティー性能を向上することができる。 With this configuration, the electronic device of the present invention is likely to have different authentication information for each application, so that authentication information legitimately associated with a specific application is prevented from being misappropriated to other applications. Security performance can be improved.
本発明の電子機器は、第1のプログラミング言語で構成されている第1プログラミング部分によって、第1のプログラミング言語とは異なる第2のプログラミング言語で構成されている第2プログラミング部分を高速に呼び出すことができる。 The electronic device according to the present invention can quickly call the second programming part configured by the second programming language different from the first programming language by the first programming part configured by the first programming language. Can do.
以下、本発明の実施の形態について、図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(第1の実施の形態)
まず、本発明の第1の実施の形態に係る電子機器としてのMFP(Multifunction Peripheral)の構成について説明する。
(First embodiment)
First, the configuration of an MFP (Multifunction Peripheral) as an electronic apparatus according to the first embodiment of the present invention will be described.
図1は、本実施の形態に係るMFP10のブロック図である。
FIG. 1 is a block diagram of
図1に示すように、MFP10は、種々の操作が入力されるボタンなどの入力デバイスである操作部11と、種々の情報を表示するLCD(Liquid Crystal Display)などの表示デバイスである表示部12と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター13と、原稿から画像を読み取る読取デバイスであるスキャナー14と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部15と、LAN(Local Area Network)、インターネットなどのネットワーク経由で外部の装置と通信を行うネットワーク通信デバイスであるネットワーク通信部16と、各種の情報を記憶する半導体メモリー、HDD(Hard Disk Drive)などの不揮発性の記憶デバイスである記憶部17と、MFP10全体を制御する制御部18とを備えている。
As illustrated in FIG. 1, the MFP 10 includes an
図2は、MFP10のソフトウェア構成を示す図である。
FIG. 2 is a diagram illustrating a software configuration of the
図1および図2に示すように、記憶部17は、OS(Operating System)17aと、OS17a上で動作するJavaプラットフォーム17bとを記憶している。Javaプラットフォーム17bは、OS17a上で動作するJava VM(Virtual Machine)17cと、Java VM17c上で動作するOSGi(Open Service Gateway initiative) Frame Work17dと、OSGi Frame Work17d上で動作するJavaアプリケーションである少なくとも1つのプラットフォーム側アプリケーション17eとを含んでいる。
As shown in FIGS. 1 and 2, the storage unit 17 stores an OS (Operating System) 17a and a Java platform 17b operating on the OS 17a. The Java platform 17b is a Java VM (Virtual Machine) 17c that operates on the OS 17a, and an OSGi (Open Service Gateway initial) frame 17 that is an OSG that operates on the Java VM 17c. A platform-
記憶部17は、OSGi Frame Work17d上で動作するJavaアプリケーションである少なくとも1つのアプリケーション17fを記憶可能である。アプリケーション17fは、第1のプログラミング言語としてのJava言語で構成されている第1プログラミング部分としてのJava部分17gと、Java言語とは異なる第2のプログラミング言語としてのネイティブ言語で構成されていてJava部分17gによって呼び出される第2プログラミング部分としてのネイティブ部分17hとを備える。なお、図2においては、ネイティブ部分17hを、「library.so」と示している。ネイティブ部分17hは、認証されたことを示す認証情報17iを含んでいる。アプリケーション17fは、MFP10の製造段階でMFP10にインストールされていても良いし、SDカード、USB(Universal Serial Bus)メモリーなどの外部の記憶媒体からMFP10に追加でインストールされても良いし、ネットワーク上からMFP10に追加でインストールされても良い。
The storage unit 17 can store at least one
記憶部17は、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かの判断に使用される判断用情報17jを記憶している。
The storage unit 17 stores determination information 17j used for determining whether or not the calling of the native part 17h by the Java
制御部18は、例えば、CPU(Central Processing Unit)と、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)と、CPUの作業領域として用いられるRAM(Random Access Memory)とを備えている。CPUは、記憶部17またはROMに記憶されているプログラムを実行する。
The
なお、Java言語は、ネイティブ言語と比較して、機能の制限をかけることが容易である。一方、ネイティブ言語は、Java言語と比較して、高速に処理されることができる。 Note that the Java language is easier to limit functions than the native language. On the other hand, the native language can be processed at a higher speed than the Java language.
アプリケーション17fは、プリント、コピー、ファックス、スキャンなど、MFP10の主たる機能を構成する図示していないプログラム(以下「主機能プログラム」という。)と、主機能プログラムの設定情報、秘密情報など、主機能プログラムが有する情報と、MFP10のハードウェアとの保護のために、これらの利用の少なくとも一部がJavaプラットフォーム17bによって制限される場合がある。
The
以下においては、ネイティブ言語がC++であるものとして説明する。 In the following description, it is assumed that the native language is C ++.
次に、アプリケーション17fの作成について説明する。
Next, creation of the
図3は、アプリケーション17fの作成のシーケンス図である。
FIG. 3 is a sequence diagram for creating the
図3に示すように、アプリケーション17fの開発者(以下「アプリ開発者」という。)20は、MFP10にネイティブで実行させたい部分をC++で実装し、ライブラリーとして「.so形式」のファイル(以下「library.so」とする。)を作成する(S101)。
As shown in FIG. 3, a developer (hereinafter referred to as “application developer”) 20 of the
次いで、アプリ開発者20は、S101において作成したlibrary.soの認証をMFP10の製造者(以下「MFP製造者」という。)30に依頼する(S102)。
Next, the
MFP製造者30は、S102における依頼に応じて、library.soを検証する(S103)。
In response to the request in S102, the
MFP製造者30は、S103における検証において問題ないと判断すると、library.soに認証情報17iを埋め込み(S104)、認証情報17iを埋め込んだlibrary.soをアプリ開発者20に返す(S105)。
If the
アプリ開発者20は、S105において返されたlibrary.so、すなわち、ネイティブ部分17hと、このlibrary.soをロードする命令を含むJava部分17gとを含むアプリケーション17fを作成する(S106)。
The
次に、MFP10の動作について説明する。
Next, the operation of the
まず、アプリケーション17fがインストールされる場合のMFP10の動作について説明する。
First, the operation of the
なお、以下においては、プラットフォーム側アプリケーション17eの動作として記載しているが、実際には、制御部18がプラットフォーム側アプリケーション17eを実行することによって実現される機能の動作である。
In the following description, the operation of the platform-
図4は、アプリケーション17fがインストールされる場合のMFP10の動作のフローチャートである。図5は、アプリケーション17fがインストールされる場合のMFP10のソフトウェア構成を示す図である。
FIG. 4 is a flowchart of the operation of the
図4および図5に示すように、プラットフォーム側アプリケーション17eは、インストールされたアプリケーション17fにネイティブ部分17hとしてのlibrary.soが存在するか否かを判断する(S131)。
As shown in FIG. 4 and FIG. 5, the platform-
プラットフォーム側アプリケーション17eは、library.soが存在するとS131において判断すると、このlibrary.soに認証情報17iが埋め込まれているか否かを判断する(S132)。
The platform-
プラットフォーム側アプリケーション17eは、認証情報17iが埋め込まれているとS132において判断すると、埋め込まれている認証情報17iが正当なものであるか否か、すなわち、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かを判断する(S133)。ここで、プラットフォーム側アプリケーション17eは、インストールされたアプリケーション17fのlibrary.soに埋め込まれている認証情報17iと、判断用情報17jとが一致する場合に、認証情報17iが正当なものであると判断する。
If the platform-
プラットフォーム側アプリケーション17eは、埋め込まれている認証情報17iが正当なものである、すなわち、Java部分17gによるネイティブ部分17hの呼び出しが許可されているとS133において判断すると、インストールされたアプリケーション17fに対して、Java部分17gによるネイティブ部分17hの呼び出しの権限、すなわち、ネイティブ部分17hとしてのlibrary.soをJavaの実行環境にロードする権限を付与する(S134)。
If the platform-
プラットフォーム側アプリケーション17eは、library.soが存在しないとS131において判断するか、認証情報17iが埋め込まれていないとS132において判断するか、埋め込まれている認証情報17iが正当なものではないとS133において判断するか、S134の処理を実行すると、図4に示す動作を終了する。
The platform-
次に、アプリケーション17fが実行される場合のMFP10の動作について説明する。
Next, the operation of the
まず、Javaが提供している機能と、OS17aが提供している機能とのうちJavaが提供している機能のみをアプリケーション17fが利用する場合のMFP10の動作について説明する。
First, the operation of the
なお、Javaは、記憶部17にアクセスする機能、プリンター13によって印刷するときに図示していないステープラーによってステープルを実行する機能など、OS17aが提供している少なくとも一部の機能を提供していない。
Note that Java does not provide at least some of the functions provided by the
図6は、Javaが提供している機能と、OS17aが提供している機能とのうちJavaが提供している機能のみをアプリケーション17fが利用する場合のMFP10のソフトウェア構成を示す図である。
FIG. 6 is a diagram illustrating a software configuration of the
図6に示すように、アプリケーション17fは、Javaが提供している機能と、OS17aが提供している機能とのうちJavaが提供している機能のみを利用する。
As shown in FIG. 6, the
次に、OS17aが提供している機能をプラットフォーム側アプリケーション17e経由でアプリケーション17fが利用する場合のMFP10の動作について説明する。
Next, the operation of the
図7は、OS17aが提供している機能をプラットフォーム側アプリケーション17e経由でアプリケーション17fが利用する場合のMFP10のソフトウェア構成を示す図である。
FIG. 7 is a diagram showing a software configuration of the
図7に示すように、アプリケーション17fは、OS17aが提供している機能をプラットフォーム側アプリケーション17e経由で利用する。プラットフォーム側アプリケーション17eは、OS17aとの通信にJNIを利用する。アプリケーション17fは、Javaが提供している機能もプラットフォーム側アプリケーション17e経由で利用可能である。
As shown in FIG. 7, the
次に、OS17aが提供している機能をプラットフォーム側アプリケーション17eを経由せずにアプリケーション17fが利用する場合のMFP10の動作について説明する。
Next, the operation of the
図8は、OS17aが提供している機能をプラットフォーム側アプリケーション17eを経由せずにアプリケーション17fが利用する場合のMFP10の動作のフローチャートである。図9は、OS17aが提供している機能をプラットフォーム側アプリケーション17eを経由せずにアプリケーション17fが利用する場合のMFP10のソフトウェア構成を示す図である。
FIG. 8 is a flowchart of the operation of the
図8に示すように、Javaプラットフォーム17bは、Java部分17gによるネイティブ部分17hの呼び出しの権限、すなわち、ネイティブ部分17hとしてのlibrary.soをJavaの実行環境にロードする権限がアプリケーション17fに付与されているか否かを判断する(S161)。
As shown in FIG. 8, the Java platform 17b has the authority to call the native part 17h by the
Javaプラットフォーム17bは、Java部分17gによるネイティブ部分17hの呼び出しの権限がアプリケーション17fに付与されているとS161において判断すると、アプリケーション17fにJNIの利用を許可して(S162)、図8に示す動作を終了する。したがって、アプリケーション17fは、Java部分17gによってネイティブ部分17hを呼び出す、すなわち、ネイティブ部分17hとしてのlibrary.soをJavaの実行環境にロードすることができる。その結果、アプリケーション17fは、OS17aが提供している機能を図9に示すようにプラットフォーム側アプリケーション17eを経由せずに利用可能である。
If the Java platform 17b determines in S161 that the
Javaプラットフォーム17bは、Java部分17gによるネイティブ部分17hの呼び出しの権限がアプリケーション17fに付与されていないとS161において判断すると、アプリケーション17fにJNIの利用を許可せずに、図8に示す動作を終了する。
If the Java platform 17b determines in S161 that the authority to call the native part 17h by the
以上に説明したように、MFP10は、Java部分17gによるネイティブ部分17hの呼び出しが許可されていると認証情報17iに基づいて判断した場合(S133でYES)に呼び出しの権限をアプリケーション17fに付与し(S134)、アプリケーション17fの実行後も呼び出しの権限を維持するので、アプリケーション17fの実行の度に認証情報17iに基づいて判断する必要がなく、Java部分17gによってネイティブ部分17hを高速に呼び出すことができる。
As described above, when the
MFP10は、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かを、アプリケーション17fの実行時ではなく、アプリケーション17fのインストール時に判断するので、アプリケーション17fを高速に実行することができる。しかしながら、MFP10は、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かを、アプリケーション17fのインストール時ではなく、アプリケーション17fの最初の実行時に判断する構成でも良い。
The
MFP10は、Java部分17gによるネイティブ部分17hの呼び出しの権限を不揮発性の記憶部17に記憶することによって、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かをMFP10の起動の度に判断する必要がないので、処理負担を軽減することができる。しかしながら、MFP10は、Java部分17gによるネイティブ部分17hの呼び出しの権限を制御部18のRAMに記憶して、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かをMFP10の起動の度に判断する構成でも良い。
The
なお、認証情報17iは、本実施の形態においてネイティブ部分17hに埋め込まれている。しかしながら、認証情報17iは、アプリケーション17fのうち、ネイティブ部分17h以外の部分に含まれていても良い。また、認証情報17iは、アプリケーション17fに関連付けられて、アプリケーション17fとは別ファイルとして存在しても良い。
Note that the authentication information 17i is embedded in the native portion 17h in the present embodiment. However, the authentication information 17i may be included in a part other than the native part 17h in the
MFP製造者30は、本実施の形態においてlibrary.soを検証する。しかしながら、MFP製造者30は、library.soを含むアプリケーション全体を検証しても良い。
In this embodiment, the
(第2の実施の形態)
まず、本発明の第2の実施の形態に係る電子機器としてのMFPの構成について説明する。
(Second Embodiment)
First, the configuration of an MFP as an electronic apparatus according to the second embodiment of the present invention will be described.
図10は、本実施の形態に係るMFP210のブロック図である。
FIG. 10 is a block diagram of
図10に示すMFP210の構成は、以下に述べる構成を除いて、第1の実施の形態に係るMFP10(図1参照。)の構成と同様である。
The configuration of
MFP210は、アプリケーション17f(図1参照。)ではなく、アプリケーション217aを備えている。アプリケーション217aは、Java部分17gと、ネイティブ言語で構成されていてJava部分17gによって呼び出される第2プログラミング部分としてのネイティブ部分217bとを備えている。ネイティブ部分217bは、認証情報17i(図1参照。)を含んでいない。
The
MFP210は、アプリケーション217a毎に関連付けられている認証情報217cを備えている。
The
MFP210は、判断用情報17j(図1参照。)を備えておらず、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かの判断に使用される判断用計算アルゴリズム217dを備えている。
The
次に、アプリケーション217aの作成について説明する。 Next, creation of the application 217a will be described.
図11は、アプリケーション217aの作成のシーケンス図である。 FIG. 11 is a sequence diagram for creating the application 217a.
図11に示すように、アプリ開発者20は、MFP210にネイティブで実行させたい部分をC++で実装し、ライブラリーとしてlibrary.soを作成する(S301)。
As shown in FIG. 11, the
次いで、アプリ開発者20は、S301において作成したlibrary.so、すなわち、ネイティブ部分217bと、このlibrary.soをロードする命令を含むJava部分17gとを含むアプリケーション217aを作成する(S302)。
Next, the
次いで、アプリ開発者20は、S302において作成したアプリケーション217aの認証をMFP製造者30に依頼する(S303)。
Next, the
MFP製造者30は、S303における依頼に応じて、認証を依頼されたアプリケーション217a、特に、このアプリケーション217aに含まれるlibrary.soを検証する(S304)。
In response to the request in S303, the
MFP製造者30は、S304における検証において問題ないと判断すると、library.soから特定の計算アルゴリズムに基づいて認証情報217cを作成し(S305)、認証情報217cをアプリ開発者20に送信する(S306)。ここで、この計算アルゴリズムは、判断用計算アルゴリズム217dと同一内容のものである。
If the
次に、MFP210の動作について説明する。
Next, the operation of the
MFP210は、アプリ開発者によって作成されたアプリケーション217aがインストールされるとともに、このアプリケーション217aに関連付けられてMFP製造者によって作成された認証情報217cが記憶部17に記憶させられる。
In the
まず、アプリケーション217aがインストールされる場合のMFP210の動作について説明する。
First, the operation of the
なお、以下においては、プラットフォーム側アプリケーション17eの動作として記載しているが、実際には、制御部18がプラットフォーム側アプリケーション17eを実行することによって実現される機能の動作である。
In the following description, the operation of the platform-
図12は、アプリケーション217aがインストールされる場合のMFP210の動作のフローチャートである。
FIG. 12 is a flowchart of the operation of the
図12に示すように、プラットフォーム側アプリケーション17eは、インストールされたアプリケーション217aにネイティブ部分217bとしてのlibrary.soが存在するか否かを判断する(S331)。
As shown in FIG. 12, the platform-
プラットフォーム側アプリケーション17eは、library.soが存在するとS331において判断すると、アプリケーション217aに関連付けられている認証情報217cが存在するか否かを判断する(S332)。
The platform-
プラットフォーム側アプリケーション17eは、認証情報217cが存在するとS332において判断すると、この認証情報217cが正当なものであるか否か、すなわち、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かを判断する(S333)。ここで、プラットフォーム側アプリケーション17eは、インストールされたアプリケーション217aのlibrary.soから判断用計算アルゴリズム217dに基づいて作成した情報と、このアプリケーション217aに関連付けられている認証情報217cとが一致する場合に、認証情報217cが正当なものであると判断する。
If the platform-
プラットフォーム側アプリケーション17eは、認証情報217cが正当なものである、すなわち、Java部分17gによるネイティブ部分217bの呼び出しが許可されているとS333において判断すると、インストールされたアプリケーション217aに対して、Java部分17gによるネイティブ部分217bの呼び出しの権限、すなわち、ネイティブ部分217bとしてのlibrary.soをJavaの実行環境にロードする権限を付与する(S334)。
If the platform-
プラットフォーム側アプリケーション17eは、library.soが存在しないとS331において判断するか、認証情報217cが存在しないとS332において判断するか、認証情報217cが正当なものではないとS333において判断するか、S334の処理を実行すると、図12に示す動作を終了する。
The platform-
なお、アプリケーション217aが実行される場合のMFP210の動作については、第1の実施の形態と同様である。
Note that the operation of the
以上に説明したように、MFP210は、Java部分17gによるネイティブ部分217bの呼び出しが許可されていると認証情報217cに基づいて判断した場合(S333でYES)に呼び出しの権限をアプリケーション217aに付与し(S334)、アプリケーション217aの実行後も呼び出しの権限を維持するので、Java部分17gによってネイティブ部分217bを呼び出す度に認証情報217cに基づいて判断する必要がなく、Java部分17gによってネイティブ部分217bを高速に呼び出すことができる。
As described above, when the
MFP210は、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かを、アプリケーション217aの実行時ではなく、アプリケーション217aのインストール時に判断するので、アプリケーション217aを高速に実行することができる。しかしながら、MFP210は、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かを、アプリケーション217aのインストール時ではなく、アプリケーション217aの最初の実行時に判断する構成でも良い。
The
MFP210は、認証情報217cと、アプリケーション217aのネイティブ部分217bから判断用計算アルゴリズム217dに基づいて作成された情報とが一致する場合に、Java部分17gによるネイティブ部分217bの呼び出しが許可されていると判断する。したがって、MFP210は、アプリケーション217a毎に認証情報217cが異なる可能性が高いので、特定のアプリケーション217aに正当に関連付けられている認証情報217cが他のアプリケーション217aに不正に流用されることを防止することができ、セキュリティー性能を向上することができる。
The
MFP210は、Java部分17gによるネイティブ部分217bの呼び出しの権限を不揮発性の記憶部17に記憶することによって、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かをMFP210の起動の度に判断する必要がないので、処理負担を軽減することができる。しかしながら、MFP210は、Java部分17gによるネイティブ部分217bの呼び出しの権限を制御部18のRAMに記憶して、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かをMFP210の起動の度に判断する構成でも良い。
The
なお、認証情報217cは、本実施の形態においてアプリケーション217aに関連付けられて、アプリケーション217aとは別ファイルとして存在している。しかしながら、認証情報217cは、アプリケーション217aのうち、ネイティブ部分217b以外の部分に含まれていても良い。
The
MFP製造者30は、本実施の形態においてlibrary.soを含むアプリケーション217a全体を検証する。しかしながら、MFP製造者30は、library.soのみを検証しても良い。MFP製造者30がlibrary.soのみを検証する場合、アプリ開発者20からMFP製造者30へはアプリケーション217aのうちlibrary.soのみが送信されれば良い。
In this embodiment, the
本発明の電子機器は、上述の各実施の形態においてMFPであるが、プリンター専用機、コピー専用機、ファックス専用機、スキャナー専用機など、MFP以外の画像形成装置でも良いし、PC(Personal Computer)など、画像形成装置以外の電子機器でも良い。 The electronic apparatus of the present invention is an MFP in each of the above-described embodiments, but may be an image forming apparatus other than an MFP, such as a printer dedicated machine, a copy dedicated machine, a fax dedicated machine, a scanner dedicated machine, or a PC (Personal Computer). ) Etc., an electronic device other than the image forming apparatus may be used.
10 MFP(電子機器)
17 記憶部(不揮発性の記憶デバイス)
17f アプリケーション
17g Java部分(第1プログラミング部分)
17h ネイティブ部分(第2プログラミング部分)
17i 認証情報
210 MFP(電子機器)
217a アプリケーション
217b ネイティブ部分(第2プログラミング部分)
217c 認証情報
217d 判断用計算アルゴリズム(特定の計算アルゴリズム)
10 MFP (electronic equipment)
17 Storage unit (nonvolatile storage device)
17h Native part (second programming part)
Claims (4)
前記第1のプログラミング言語とは異なる第2のプログラミング言語で構成されていて前記第1プログラミング部分によって呼び出される第2プログラミング部分と
を備えるアプリケーションをインストール可能な電子機器であって、
前記アプリケーションは、少なくとも前記第2プログラミング部分が認証されたことを示す認証情報が関連付けられており、
前記電子機器は、
前記第1プログラミング部分による前記第2プログラミング部分の呼び出しの権限を前記アプリケーションに付与する権限付与手段と、
前記呼び出しを許可する呼び出し許可手段と
を備え、
前記権限付与手段は、前記アプリケーションに関連付けられている前記認証情報が正当なものである場合に前記呼び出しが許可されていると判断するとともに、前記アプリケーションに関連付けられている前記認証情報が正当なものではない場合に前記呼び出しが許可されていないと判断し、前記呼び出しが許可されていると判断した場合に前記権限を前記アプリケーションに付与し、
前記呼び出し許可手段は、前記アプリケーションが実行される場合に、前記権限が前記アプリケーションに付与されているとき、前記呼び出しを許可し、
前記電子機器は、前記アプリケーションの実行前に前記アプリケーションに付与された前記権限を前記アプリケーションの実行後も維持することを特徴とする電子機器。 A first programming part comprising a first programming language;
An electronic device that can be installed with an application that comprises a second programming language that is different from the first programming language and that is called by the first programming portion;
The application is associated with authentication information indicating that at least the second programming portion has been authenticated,
The electronic device is
Authority granting means for granting the application the right to call the second programming part by the first programming part ;
Call permission means for permitting the call;
With
Said authorization means is configured to determining that the authentication information associated with the application is authorized the call if legitimate, as the authentication information associated with the application is legitimate the call is determined not to be allowed, and pre-grant Symbol privileges to the application when it is determined that the call is allowed in if it is not,
The call permission means, when the application is executed, permits the call when the authority is granted to the application,
The electronic apparatus maintains the authority given to the application before the execution of the application even after the execution of the application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016072669A JP6440099B2 (en) | 2016-03-31 | 2016-03-31 | Electronics |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016072669A JP6440099B2 (en) | 2016-03-31 | 2016-03-31 | Electronics |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017182682A JP2017182682A (en) | 2017-10-05 |
JP6440099B2 true JP6440099B2 (en) | 2018-12-19 |
Family
ID=60006269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016072669A Expired - Fee Related JP6440099B2 (en) | 2016-03-31 | 2016-03-31 | Electronics |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6440099B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062106B (en) * | 2019-03-27 | 2021-10-15 | 努比亚技术有限公司 | Calling method of application program, mobile terminal and storage medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149510B2 (en) * | 2002-09-23 | 2006-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Security access manager in middleware |
JP2004171500A (en) * | 2002-11-15 | 2004-06-17 | Atsuhiro Miura | Method for preventing unauthorized use of software program |
JP2013077297A (en) * | 2011-09-15 | 2013-04-25 | Canon Inc | Information processor and control method thereof |
KR101430240B1 (en) * | 2011-12-19 | 2014-08-19 | 주식회사 케이티 | Apparatus and method for applications signature |
JP5978748B2 (en) * | 2012-05-10 | 2016-08-24 | 富士通株式会社 | Detecting method of illegal mail by e-mail with attached information, its detection program, and its detection device |
JP5866316B2 (en) * | 2013-06-28 | 2016-02-17 | 京セラドキュメントソリューションズ株式会社 | Application execution time reduction method |
JP6008897B2 (en) * | 2014-06-13 | 2016-10-19 | キヤノン株式会社 | Apparatus, method, and program |
-
2016
- 2016-03-31 JP JP2016072669A patent/JP6440099B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2017182682A (en) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8601280B2 (en) | Application executing apparatus and application execution method | |
JP4933886B2 (en) | Apparatus, access control method, access control program, and recording medium | |
JP2007328770A (en) | Information processor, access control method, access control program, recording medium and image forming device | |
JP2006092018A (en) | Authentication system, image forming apparatus, authentication control method and authentication control program for instruction processing apparatus | |
JP2008226121A (en) | Information processor, program and recording medium | |
JP6084066B2 (en) | Image forming apparatus, control method therefor, and program | |
WO2020110991A1 (en) | Support program, information processing device, and print method | |
JP5137858B2 (en) | Image processing apparatus, image processing method, storage medium, and program | |
US9483630B2 (en) | Information processing apparatus, method of controlling the same and storage medium | |
JP2019114028A (en) | Application development environment program and device | |
US11523025B2 (en) | Image processing apparatus that displays a message indicating that alteration of a login application has been detected, control method thereof, and storage medium | |
JP6440099B2 (en) | Electronics | |
JP5052367B2 (en) | Image processing apparatus, authentication package installation method, authentication package installation program, and recording medium | |
KR102278901B1 (en) | Image forming apparatus, method of controlling the same, and storage medium | |
JP6440100B2 (en) | Electronics | |
US11330129B2 (en) | Image forming system, image forming apparatus, and storing medium storing application control program | |
JP4183564B2 (en) | Information processing system, information processing apparatus, and computer program | |
US20220253521A1 (en) | Image forming apparatus capable of executing application programs, control method therefor, and storage 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 | |
JP2018026842A (en) | Information processing apparatus, and control method and program thereof | |
JP7247689B2 (en) | Information processing device and program | |
JP5267615B2 (en) | Apparatus, access control method, access control program, and recording medium | |
JP2020092298A (en) | Image forming apparatus | |
JP6003967B2 (en) | Service processing apparatus and service processing program | |
JP2021041700A (en) | Image formation apparatus, control method of the same, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180815 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181018 |
|
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: 20181029 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6440099 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181111 |
|
LAPS | Cancellation because of no payment of annual fees |