JP2017182682A - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP2017182682A
JP2017182682A JP2016072669A JP2016072669A JP2017182682A JP 2017182682 A JP2017182682 A JP 2017182682A JP 2016072669 A JP2016072669 A JP 2016072669A JP 2016072669 A JP2016072669 A JP 2016072669A JP 2017182682 A JP2017182682 A JP 2017182682A
Authority
JP
Japan
Prior art keywords
application
java
mfp
native
programming
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
JP2016072669A
Other languages
English (en)
Other versions
JP6440099B2 (ja
Inventor
真也 神田
Masaya Kanda
真也 神田
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2016072669A priority Critical patent/JP6440099B2/ja
Publication of JP2017182682A publication Critical patent/JP2017182682A/ja
Application granted granted Critical
Publication of JP6440099B2 publication Critical patent/JP6440099B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】第1のプログラミング言語で構成されている第1プログラミング部分によって、第1のプログラミング言語とは異なる第2のプログラミング言語で構成されている第2プログラミング部分を高速に呼び出すことができる電子機器を提供する。【解決手段】Java(登録商標)言語で構成されているJava部分と、ネイティブ言語で構成されていてJava部分によって呼び出されるネイティブ部分とを備えるアプリケーションをインストール可能な電子機器は、Java部分によるネイティブ部分の呼び出しが許可されているか否かを、アプリケーションに関連付けられている認証情報に基づいて判断しS133、呼び出しが許可されていると判断したときS133でYESに呼び出しの権限をアプリケーションに付与しS134、アプリケーションの実行後も権限を維持する。【選択図】図4

Description

本発明は、第1のプログラミング言語で構成されている第1プログラミング部分によって、第1のプログラミング言語とは異なる第2のプログラミング言語で構成されている第2プログラミング部分を呼び出すことができる電子機器に関する。
従来、Java(登録商標)言語で構成されているアプリケーション(以下「Javaアプリケーション」という。)をインストール可能な電子機器が知られている(例えば、特許文献1参照。)。
Javaアプリケーションは、Javaの仮想環境で動作するので、使用可能なAPI(Application Program Interface)や、使用可能なメモリーの容量などの制御が容易である。そのため、電子機器は、Javaアプリケーションがインストールされても、Javaアプリケーションによって電子機器の製造者の想定外の動作が実行される可能性が低く、セキュリティー上の問題が発生する可能性が低い。
しかしながら、Javaの仮想環境の処理が高負荷であるので、Java言語で構成されているプログラムの処理は、低速になる場合がある。そのため、Javaには、C++などのOS(Operating System)上でそのまま動作するネイティブ言語で構成されているプログラム(以下「ネイティブプログラム」という。)を相互に呼び出すことができるJNI(Java Native Interface)という仕組みが提供されていて、処理の高速化のためや、ネイティブ言語で構成されているライブラリーを呼び出すために利用されている。
しかしながら、ネイティブ言語は、OSが提供している機能を自由に利用することができる。そのため、ネイティブプログラムは、例えば、電子機器における任意のファイルに対して読み出しおよび書き込みが可能である。したがって、電子機器は、電子機器の製造者の想定外の動作がネイティブプログラムによって実行される可能性が高くなり、セキュリティー上の問題が発生する可能性が高くなる。
特許文献1に記載された電子機器は、Javaアプリケーションの処理が開始されてJavaアプリケーションがネイティブプログラムを呼び出す場合にJavaアプリケーションの認証を実行し、この認証が成功したときに、Javaアプリケーションによるネイティブプログラムの呼び出しを許可する。特許文献1に記載された電子機器は、この認証をJavaアプリケーションが保持しているデジタル署名によって行うので、電子機器の製造者の想定外の動作をネイティブプログラムによって実行しないJavaアプリケーションのみに適切なデジタル署名を付与することによって、セキュリティー上の問題が発生する可能性を低下させることができる。
特開2015−011518号公報
しかしながら、従来の電子機器においては、Javaアプリケーションによってネイティブプログラムが呼び出される度に認証が実行されるので、認証のための処理の負担によって、Javaアプリケーションの処理が遅くなるという問題がある。
そこで、本発明は、第1のプログラミング言語で構成されている第1プログラミング部分によって、第1のプログラミング言語とは異なる第2のプログラミング言語で構成されている第2プログラミング部分を高速に呼び出すことができる電子機器を提供することを目的とする。
本発明の電子機器は、第1のプログラミング言語で構成されている第1プログラミング部分と、前記第1のプログラミング言語とは異なる第2のプログラミング言語で構成されていて前記第1プログラミング部分によって呼び出される第2プログラミング部分とを備えるアプリケーションをインストール可能な電子機器であって、前記第1プログラミング部分による前記第2プログラミング部分の呼び出しが許可されているか否かを、前記アプリケーションに関連付けられている認証情報に基づいて判断し、前記呼び出しが許可されていると判断した場合に前記呼び出しの権限を前記アプリケーションに付与し、前記アプリケーションの実行後も前記権限を維持することを特徴とする。
この構成により、本発明の電子機器は、第1プログラミング部分による第2プログラミング部分の呼び出しが許可されていると認証情報に基づいて判断した場合に呼び出しの権限をアプリケーションに付与し、アプリケーションの実行後も呼び出しの権限を維持するので、アプリケーションの実行の度に認証情報に基づいて判断する必要がなく、第1プログラミング部分によって第2プログラミング部分を高速に呼び出すことができる。
本発明の電子機器は、前記呼び出しが許可されているか否かを前記アプリケーションのインストール時に判断しても良い。
この構成により、本発明の電子機器は、第1プログラミング部分による第2プログラミング部分の呼び出しが許可されているか否かを、アプリケーションの実行時ではなく、アプリケーションのインストール時に判断するので、アプリケーションを高速に実行することができる。
本発明の電子機器は、前記権限を不揮発性の記憶デバイスに記憶しても良い。
この構成により、本発明の電子機器は、第1プログラミング部分による第2プログラミング部分の呼び出しが許可されているか否かを電子機器の起動の度に判断する必要がないので、処理負担を軽減することができる。
本発明の電子機器において、前記認証情報と、前記アプリケーションの少なくとも一部から特定の計算アルゴリズムに基づいて作成された情報とが一致する場合に、前記呼び出しが許可されていると判断しても良い。
この構成により、本発明の電子機器は、アプリケーション毎に認証情報が異なる可能性が高いので、特定のアプリケーションに正当に関連付けられている認証情報が他のアプリケーションに不正に流用されることを防止することができ、セキュリティー性能を向上することができる。
本発明の電子機器は、第1のプログラミング言語で構成されている第1プログラミング部分によって、第1のプログラミング言語とは異なる第2のプログラミング言語で構成されている第2プログラミング部分を高速に呼び出すことができる。
本発明の第1の実施の形態に係るMFPのブロック図である。 図1に示すMFPのソフトウェア構成を示す図である。 図1に示すアプリケーションの作成のシーケンス図である。 アプリケーションがインストールされる場合の図1に示すMFPの動作のフローチャートである。 アプリケーションがインストールされる場合の図1に示すMFPのソフトウェア構成を示す図である。 Javaが提供している機能と、OSが提供している機能とのうちJavaが提供している機能のみをアプリケーションが利用する場合の図1に示すMFPのソフトウェア構成を示す図である。 OSが提供している機能をプラットフォーム側アプリケーション経由でアプリケーションが利用する場合の図1に示すMFPのソフトウェア構成を示す図である。 OSが提供している機能をプラットフォーム側アプリケーションを経由せずにアプリケーションが利用する場合の図1に示すMFPの動作のフローチャートである。 OSが提供している機能をプラットフォーム側アプリケーションを経由せずにアプリケーションが利用する場合の図1に示すMFPのソフトウェア構成を示す図である。 本発明の第2の実施の形態に係るMFPのブロック図である。 図10に示すアプリケーションの作成のシーケンス図である。 アプリケーションがインストールされる場合の図10に示すMFPの動作のフローチャートである。
以下、本発明の実施の形態について、図面を用いて説明する。
(第1の実施の形態)
まず、本発明の第1の実施の形態に係る電子機器としてのMFP(Multifunction Peripheral)の構成について説明する。
図1は、本実施の形態に係るMFP10のブロック図である。
図1に示すように、MFP10は、種々の操作が入力されるボタンなどの入力デバイスである操作部11と、種々の情報を表示するLCD(Liquid Crystal Display)などの表示デバイスである表示部12と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター13と、原稿から画像を読み取る読取デバイスであるスキャナー14と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部15と、LAN(Local Area Network)、インターネットなどのネットワーク経由で外部の装置と通信を行うネットワーク通信デバイスであるネットワーク通信部16と、各種の情報を記憶する半導体メモリー、HDD(Hard Disk Drive)などの不揮発性の記憶デバイスである記憶部17と、MFP10全体を制御する制御部18とを備えている。
図2は、MFP10のソフトウェア構成を示す図である。
図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とを含んでいる。
記憶部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に追加でインストールされても良い。
記憶部17は、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かの判断に使用される判断用情報17jを記憶している。
制御部18は、例えば、CPU(Central Processing Unit)と、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)と、CPUの作業領域として用いられるRAM(Random Access Memory)とを備えている。CPUは、記憶部17またはROMに記憶されているプログラムを実行する。
なお、Java言語は、ネイティブ言語と比較して、機能の制限をかけることが容易である。一方、ネイティブ言語は、Java言語と比較して、高速に処理されることができる。
アプリケーション17fは、プリント、コピー、ファックス、スキャンなど、MFP10の主たる機能を構成する図示していないプログラム(以下「主機能プログラム」という。)と、主機能プログラムの設定情報、秘密情報など、主機能プログラムが有する情報と、MFP10のハードウェアとの保護のために、これらの利用の少なくとも一部がJavaプラットフォーム17bによって制限される場合がある。
以下においては、ネイティブ言語がC++であるものとして説明する。
次に、アプリケーション17fの作成について説明する。
図3は、アプリケーション17fの作成のシーケンス図である。
図3に示すように、アプリケーション17fの開発者(以下「アプリ開発者」という。)20は、MFP10にネイティブで実行させたい部分をC++で実装し、ライブラリーとして「.so形式」のファイル(以下「library.so」とする。)を作成する(S101)。
次いで、アプリ開発者20は、S101において作成したlibrary.soの認証をMFP10の製造者(以下「MFP製造者」という。)30に依頼する(S102)。
MFP製造者30は、S102における依頼に応じて、library.soを検証する(S103)。
MFP製造者30は、S103における検証において問題ないと判断すると、library.soに認証情報17iを埋め込み(S104)、認証情報17iを埋め込んだlibrary.soをアプリ開発者20に返す(S105)。
アプリ開発者20は、S105において返されたlibrary.so、すなわち、ネイティブ部分17hと、このlibrary.soをロードする命令を含むJava部分17gとを含むアプリケーション17fを作成する(S106)。
次に、MFP10の動作について説明する。
まず、アプリケーション17fがインストールされる場合のMFP10の動作について説明する。
なお、以下においては、プラットフォーム側アプリケーション17eの動作として記載しているが、実際には、制御部18がプラットフォーム側アプリケーション17eを実行することによって実現される機能の動作である。
図4は、アプリケーション17fがインストールされる場合のMFP10の動作のフローチャートである。図5は、アプリケーション17fがインストールされる場合のMFP10のソフトウェア構成を示す図である。
図4および図5に示すように、プラットフォーム側アプリケーション17eは、インストールされたアプリケーション17fにネイティブ部分17hとしてのlibrary.soが存在するか否かを判断する(S131)。
プラットフォーム側アプリケーション17eは、library.soが存在するとS131において判断すると、このlibrary.soに認証情報17iが埋め込まれているか否かを判断する(S132)。
プラットフォーム側アプリケーション17eは、認証情報17iが埋め込まれているとS132において判断すると、埋め込まれている認証情報17iが正当なものであるか否か、すなわち、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かを判断する(S133)。ここで、プラットフォーム側アプリケーション17eは、インストールされたアプリケーション17fのlibrary.soに埋め込まれている認証情報17iと、判断用情報17jとが一致する場合に、認証情報17iが正当なものであると判断する。
プラットフォーム側アプリケーション17eは、埋め込まれている認証情報17iが正当なものである、すなわち、Java部分17gによるネイティブ部分17hの呼び出しが許可されているとS133において判断すると、インストールされたアプリケーション17fに対して、Java部分17gによるネイティブ部分17hの呼び出しの権限、すなわち、ネイティブ部分17hとしてのlibrary.soをJavaの実行環境にロードする権限を付与する(S134)。
プラットフォーム側アプリケーション17eは、library.soが存在しないとS131において判断するか、認証情報17iが埋め込まれていないとS132において判断するか、埋め込まれている認証情報17iが正当なものではないとS133において判断するか、S134の処理を実行すると、図4に示す動作を終了する。
次に、アプリケーション17fが実行される場合のMFP10の動作について説明する。
まず、Javaが提供している機能と、OS17aが提供している機能とのうちJavaが提供している機能のみをアプリケーション17fが利用する場合のMFP10の動作について説明する。
なお、Javaは、記憶部17にアクセスする機能、プリンター13によって印刷するときに図示していないステープラーによってステープルを実行する機能など、OS17aが提供している少なくとも一部の機能を提供していない。
図6は、Javaが提供している機能と、OS17aが提供している機能とのうちJavaが提供している機能のみをアプリケーション17fが利用する場合のMFP10のソフトウェア構成を示す図である。
図6に示すように、アプリケーション17fは、Javaが提供している機能と、OS17aが提供している機能とのうちJavaが提供している機能のみを利用する。
次に、OS17aが提供している機能をプラットフォーム側アプリケーション17e経由でアプリケーション17fが利用する場合のMFP10の動作について説明する。
図7は、OS17aが提供している機能をプラットフォーム側アプリケーション17e経由でアプリケーション17fが利用する場合のMFP10のソフトウェア構成を示す図である。
図7に示すように、アプリケーション17fは、OS17aが提供している機能をプラットフォーム側アプリケーション17e経由で利用する。プラットフォーム側アプリケーション17eは、OS17aとの通信にJNIを利用する。アプリケーション17fは、Javaが提供している機能もプラットフォーム側アプリケーション17e経由で利用可能である。
次に、OS17aが提供している機能をプラットフォーム側アプリケーション17eを経由せずにアプリケーション17fが利用する場合のMFP10の動作について説明する。
図8は、OS17aが提供している機能をプラットフォーム側アプリケーション17eを経由せずにアプリケーション17fが利用する場合のMFP10の動作のフローチャートである。図9は、OS17aが提供している機能をプラットフォーム側アプリケーション17eを経由せずにアプリケーション17fが利用する場合のMFP10のソフトウェア構成を示す図である。
図8に示すように、Javaプラットフォーム17bは、Java部分17gによるネイティブ部分17hの呼び出しの権限、すなわち、ネイティブ部分17hとしてのlibrary.soをJavaの実行環境にロードする権限がアプリケーション17fに付与されているか否かを判断する(S161)。
Javaプラットフォーム17bは、Java部分17gによるネイティブ部分17hの呼び出しの権限がアプリケーション17fに付与されているとS161において判断すると、アプリケーション17fにJNIの利用を許可して(S162)、図8に示す動作を終了する。したがって、アプリケーション17fは、Java部分17gによってネイティブ部分17hを呼び出す、すなわち、ネイティブ部分17hとしてのlibrary.soをJavaの実行環境にロードすることができる。その結果、アプリケーション17fは、OS17aが提供している機能を図9に示すようにプラットフォーム側アプリケーション17eを経由せずに利用可能である。
Javaプラットフォーム17bは、Java部分17gによるネイティブ部分17hの呼び出しの権限がアプリケーション17fに付与されていないとS161において判断すると、アプリケーション17fにJNIの利用を許可せずに、図8に示す動作を終了する。
以上に説明したように、MFP10は、Java部分17gによるネイティブ部分17hの呼び出しが許可されていると認証情報17iに基づいて判断した場合(S133でYES)に呼び出しの権限をアプリケーション17fに付与し(S134)、アプリケーション17fの実行後も呼び出しの権限を維持するので、アプリケーション17fの実行の度に認証情報17iに基づいて判断する必要がなく、Java部分17gによってネイティブ部分17hを高速に呼び出すことができる。
MFP10は、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かを、アプリケーション17fの実行時ではなく、アプリケーション17fのインストール時に判断するので、アプリケーション17fを高速に実行することができる。しかしながら、MFP10は、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かを、アプリケーション17fのインストール時ではなく、アプリケーション17fの最初の実行時に判断する構成でも良い。
MFP10は、Java部分17gによるネイティブ部分17hの呼び出しの権限を不揮発性の記憶部17に記憶することによって、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かをMFP10の起動の度に判断する必要がないので、処理負担を軽減することができる。しかしながら、MFP10は、Java部分17gによるネイティブ部分17hの呼び出しの権限を制御部18のRAMに記憶して、Java部分17gによるネイティブ部分17hの呼び出しが許可されているか否かをMFP10の起動の度に判断する構成でも良い。
なお、認証情報17iは、本実施の形態においてネイティブ部分17hに埋め込まれている。しかしながら、認証情報17iは、アプリケーション17fのうち、ネイティブ部分17h以外の部分に含まれていても良い。また、認証情報17iは、アプリケーション17fに関連付けられて、アプリケーション17fとは別ファイルとして存在しても良い。
MFP製造者30は、本実施の形態においてlibrary.soを検証する。しかしながら、MFP製造者30は、library.soを含むアプリケーション全体を検証しても良い。
(第2の実施の形態)
まず、本発明の第2の実施の形態に係る電子機器としてのMFPの構成について説明する。
図10は、本実施の形態に係るMFP210のブロック図である。
図10に示すMFP210の構成は、以下に述べる構成を除いて、第1の実施の形態に係るMFP10(図1参照。)の構成と同様である。
MFP210は、アプリケーション17f(図1参照。)ではなく、アプリケーション217aを備えている。アプリケーション217aは、Java部分17gと、ネイティブ言語で構成されていてJava部分17gによって呼び出される第2プログラミング部分としてのネイティブ部分217bとを備えている。ネイティブ部分217bは、認証情報17i(図1参照。)を含んでいない。
MFP210は、アプリケーション217a毎に関連付けられている認証情報217cを備えている。
MFP210は、判断用情報17j(図1参照。)を備えておらず、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かの判断に使用される判断用計算アルゴリズム217dを備えている。
次に、アプリケーション217aの作成について説明する。
図11は、アプリケーション217aの作成のシーケンス図である。
図11に示すように、アプリ開発者20は、MFP210にネイティブで実行させたい部分をC++で実装し、ライブラリーとしてlibrary.soを作成する(S301)。
次いで、アプリ開発者20は、S301において作成したlibrary.so、すなわち、ネイティブ部分217bと、このlibrary.soをロードする命令を含むJava部分17gとを含むアプリケーション217aを作成する(S302)。
次いで、アプリ開発者20は、S302において作成したアプリケーション217aの認証をMFP製造者30に依頼する(S303)。
MFP製造者30は、S303における依頼に応じて、認証を依頼されたアプリケーション217a、特に、このアプリケーション217aに含まれるlibrary.soを検証する(S304)。
MFP製造者30は、S304における検証において問題ないと判断すると、library.soから特定の計算アルゴリズムに基づいて認証情報217cを作成し(S305)、認証情報217cをアプリ開発者20に送信する(S306)。ここで、この計算アルゴリズムは、判断用計算アルゴリズム217dと同一内容のものである。
次に、MFP210の動作について説明する。
MFP210は、アプリ開発者によって作成されたアプリケーション217aがインストールされるとともに、このアプリケーション217aに関連付けられてMFP製造者によって作成された認証情報217cが記憶部17に記憶させられる。
まず、アプリケーション217aがインストールされる場合のMFP210の動作について説明する。
なお、以下においては、プラットフォーム側アプリケーション17eの動作として記載しているが、実際には、制御部18がプラットフォーム側アプリケーション17eを実行することによって実現される機能の動作である。
図12は、アプリケーション217aがインストールされる場合のMFP210の動作のフローチャートである。
図12に示すように、プラットフォーム側アプリケーション17eは、インストールされたアプリケーション217aにネイティブ部分217bとしてのlibrary.soが存在するか否かを判断する(S331)。
プラットフォーム側アプリケーション17eは、library.soが存在するとS331において判断すると、アプリケーション217aに関連付けられている認証情報217cが存在するか否かを判断する(S332)。
プラットフォーム側アプリケーション17eは、認証情報217cが存在するとS332において判断すると、この認証情報217cが正当なものであるか否か、すなわち、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かを判断する(S333)。ここで、プラットフォーム側アプリケーション17eは、インストールされたアプリケーション217aのlibrary.soから判断用計算アルゴリズム217dに基づいて作成した情報と、このアプリケーション217aに関連付けられている認証情報217cとが一致する場合に、認証情報217cが正当なものであると判断する。
プラットフォーム側アプリケーション17eは、認証情報217cが正当なものである、すなわち、Java部分17gによるネイティブ部分217bの呼び出しが許可されているとS333において判断すると、インストールされたアプリケーション217aに対して、Java部分17gによるネイティブ部分217bの呼び出しの権限、すなわち、ネイティブ部分217bとしてのlibrary.soをJavaの実行環境にロードする権限を付与する(S334)。
プラットフォーム側アプリケーション17eは、library.soが存在しないとS331において判断するか、認証情報217cが存在しないとS332において判断するか、認証情報217cが正当なものではないとS333において判断するか、S334の処理を実行すると、図12に示す動作を終了する。
なお、アプリケーション217aが実行される場合のMFP210の動作については、第1の実施の形態と同様である。
以上に説明したように、MFP210は、Java部分17gによるネイティブ部分217bの呼び出しが許可されていると認証情報217cに基づいて判断した場合(S333でYES)に呼び出しの権限をアプリケーション217aに付与し(S334)、アプリケーション217aの実行後も呼び出しの権限を維持するので、Java部分17gによってネイティブ部分217bを呼び出す度に認証情報217cに基づいて判断する必要がなく、Java部分17gによってネイティブ部分217bを高速に呼び出すことができる。
MFP210は、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かを、アプリケーション217aの実行時ではなく、アプリケーション217aのインストール時に判断するので、アプリケーション217aを高速に実行することができる。しかしながら、MFP210は、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かを、アプリケーション217aのインストール時ではなく、アプリケーション217aの最初の実行時に判断する構成でも良い。
MFP210は、認証情報217cと、アプリケーション217aのネイティブ部分217bから判断用計算アルゴリズム217dに基づいて作成された情報とが一致する場合に、Java部分17gによるネイティブ部分217bの呼び出しが許可されていると判断する。したがって、MFP210は、アプリケーション217a毎に認証情報217cが異なる可能性が高いので、特定のアプリケーション217aに正当に関連付けられている認証情報217cが他のアプリケーション217aに不正に流用されることを防止することができ、セキュリティー性能を向上することができる。
MFP210は、Java部分17gによるネイティブ部分217bの呼び出しの権限を不揮発性の記憶部17に記憶することによって、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かをMFP210の起動の度に判断する必要がないので、処理負担を軽減することができる。しかしながら、MFP210は、Java部分17gによるネイティブ部分217bの呼び出しの権限を制御部18のRAMに記憶して、Java部分17gによるネイティブ部分217bの呼び出しが許可されているか否かをMFP210の起動の度に判断する構成でも良い。
なお、認証情報217cは、本実施の形態においてアプリケーション217aに関連付けられて、アプリケーション217aとは別ファイルとして存在している。しかしながら、認証情報217cは、アプリケーション217aのうち、ネイティブ部分217b以外の部分に含まれていても良い。
MFP製造者30は、本実施の形態においてlibrary.soを含むアプリケーション217a全体を検証する。しかしながら、MFP製造者30は、library.soのみを検証しても良い。MFP製造者30がlibrary.soのみを検証する場合、アプリ開発者20からMFP製造者30へはアプリケーション217aのうちlibrary.soのみが送信されれば良い。
本発明の電子機器は、上述の各実施の形態においてMFPであるが、プリンター専用機、コピー専用機、ファックス専用機、スキャナー専用機など、MFP以外の画像形成装置でも良いし、PC(Personal Computer)など、画像形成装置以外の電子機器でも良い。
10 MFP(電子機器)
17 記憶部(不揮発性の記憶デバイス)
17f アプリケーション
17g Java部分(第1プログラミング部分)
17h ネイティブ部分(第2プログラミング部分)
17i 認証情報
210 MFP(電子機器)
217a アプリケーション
217b ネイティブ部分(第2プログラミング部分)
217c 認証情報
217d 判断用計算アルゴリズム(特定の計算アルゴリズム)

Claims (4)

  1. 第1のプログラミング言語で構成されている第1プログラミング部分と、
    前記第1のプログラミング言語とは異なる第2のプログラミング言語で構成されていて前記第1プログラミング部分によって呼び出される第2プログラミング部分と
    を備えるアプリケーションをインストール可能な電子機器であって、
    前記第1プログラミング部分による前記第2プログラミング部分の呼び出しが許可されているか否かを、前記アプリケーションに関連付けられている認証情報に基づいて判断し、前記呼び出しが許可されていると判断した場合に前記呼び出しの権限を前記アプリケーションに付与し、前記アプリケーションの実行後も前記権限を維持することを特徴とする電子機器。
  2. 前記呼び出しが許可されているか否かを前記アプリケーションのインストール時に判断することを特徴とする請求項1に記載の電子機器。
  3. 前記権限を不揮発性の記憶デバイスに記憶することを特徴とする請求項1または請求項2に記載の電子機器。
  4. 前記認証情報と、前記アプリケーションの少なくとも一部から特定の計算アルゴリズムに基づいて作成された情報とが一致する場合に、前記呼び出しが許可されていると判断することを特徴とする請求項1から請求項3までの何れかに記載の電子機器。
JP2016072669A 2016-03-31 2016-03-31 電子機器 Expired - Fee Related JP6440099B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016072669A JP6440099B2 (ja) 2016-03-31 2016-03-31 電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016072669A JP6440099B2 (ja) 2016-03-31 2016-03-31 電子機器

Publications (2)

Publication Number Publication Date
JP2017182682A true JP2017182682A (ja) 2017-10-05
JP6440099B2 JP6440099B2 (ja) 2018-12-19

Family

ID=60006269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016072669A Expired - Fee Related JP6440099B2 (ja) 2016-03-31 2016-03-31 電子機器

Country Status (1)

Country Link
JP (1) JP6440099B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110062106A (zh) * 2019-03-27 2019-07-26 努比亚技术有限公司 一种应用程序的调用方法、移动终端及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171500A (ja) * 2002-11-15 2004-06-17 Atsuhiro Miura ソフトウェアプログラムの不正使用防止法
JP2006508424A (ja) * 2002-09-23 2006-03-09 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ミドルウエアにおけるセキュリティ・アクセス・マネージャ
JP2013077297A (ja) * 2011-09-15 2013-04-25 Canon Inc 情報処理装置およびその制御方法
US20130159719A1 (en) * 2011-12-19 2013-06-20 Kt Corporation Apparatus and method for signing application
JP2013235489A (ja) * 2012-05-10 2013-11-21 Fujitsu Ltd 添付情報付き電子メールによる不正メールの検知方法,その検知プログラム及びその検知装置
JP2015011518A (ja) * 2013-06-28 2015-01-19 京セラドキュメントソリューションズ株式会社 アプリケーション実行時間短縮方法
JP2016004319A (ja) * 2014-06-13 2016-01-12 キヤノン株式会社 装置、方法、及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006508424A (ja) * 2002-09-23 2006-03-09 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ミドルウエアにおけるセキュリティ・アクセス・マネージャ
JP2004171500A (ja) * 2002-11-15 2004-06-17 Atsuhiro Miura ソフトウェアプログラムの不正使用防止法
JP2013077297A (ja) * 2011-09-15 2013-04-25 Canon Inc 情報処理装置およびその制御方法
US20130159719A1 (en) * 2011-12-19 2013-06-20 Kt Corporation Apparatus and method for signing application
JP2013235489A (ja) * 2012-05-10 2013-11-21 Fujitsu Ltd 添付情報付き電子メールによる不正メールの検知方法,その検知プログラム及びその検知装置
JP2015011518A (ja) * 2013-06-28 2015-01-19 京セラドキュメントソリューションズ株式会社 アプリケーション実行時間短縮方法
JP2016004319A (ja) * 2014-06-13 2016-01-12 キヤノン株式会社 装置、方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
川端秀明、磯原隆将、竹森敬祐、窪田歩、可児潤也、上松晴信、西垣正勝: "Android OSにおける機能や情報へのアクセス制御機構の提案", コンピュータセキュリティシンポジウム2011論文集, vol. Vol.2011、No.3, JPN6015012439, 12 October 2011 (2011-10-12), pages p.161−166 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110062106A (zh) * 2019-03-27 2019-07-26 努比亚技术有限公司 一种应用程序的调用方法、移动终端及存储介质
CN110062106B (zh) * 2019-03-27 2021-10-15 努比亚技术有限公司 一种应用程序的调用方法、移动终端及存储介质

Also Published As

Publication number Publication date
JP6440099B2 (ja) 2018-12-19

Similar Documents

Publication Publication Date Title
US8601280B2 (en) Application executing apparatus and application execution method
JP5828081B2 (ja) 情報処理装置、情報処理方法、及びプログラム配信システム
JP5037422B2 (ja) 画像形成装置、アクセス制御方法、及びアクセス制御プログラム
JP2007328770A (ja) 情報処理装置、アクセス制御方法、アクセス制御プログラム、記録媒体、及び画像形成装置
JP4933886B2 (ja) 装置、アクセス制御方法、アクセス制御プログラム及び記録媒体
EP2765525B1 (en) Apparatus, non-transitory computer readable information recording medium and information recording method
JP2019114028A (ja) アプリ開発用環境プログラムおよび装置
JP5137858B2 (ja) 画像処理装置、画像処理方法、記憶媒体、プログラム
US9483630B2 (en) Information processing apparatus, method of controlling the same and storage medium
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
JP4787594B2 (ja) 装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体
JP6440099B2 (ja) 電子機器
US20200021692A1 (en) Image processing apparatus, control method thereof, and storage medium
US11330129B2 (en) Image forming system, image forming apparatus, and storing medium storing application control program
US20190102121A1 (en) Image forming apparatus and control method therefor
JP6440100B2 (ja) 電子機器
US20170039215A1 (en) Image forming apparatus and control method thereof
JP6330933B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP6789712B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2013152743A (ja) 装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体
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
JP5561393B2 (ja) 装置、アクセス制御方法、アクセス制御プログラム及び記録媒体
JP2018026842A (ja) 情報処理装置とその制御方法、及びプログラム
JP5287930B2 (ja) 装置、セキュリティ管理方法、セキュリティ管理プログラム及び記録媒体
JP5477425B2 (ja) 情報処理装置、アクセス制御方法、アクセス制御プログラム、及び記録媒体

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