[go: up one dir, main page]

JP5958896B2 - Information processing apparatus and program - Google Patents

Information processing apparatus and program Download PDF

Info

Publication number
JP5958896B2
JP5958896B2 JP2012103897A JP2012103897A JP5958896B2 JP 5958896 B2 JP5958896 B2 JP 5958896B2 JP 2012103897 A JP2012103897 A JP 2012103897A JP 2012103897 A JP2012103897 A JP 2012103897A JP 5958896 B2 JP5958896 B2 JP 5958896B2
Authority
JP
Japan
Prior art keywords
information
application
api
processing
time point
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
Application number
JP2012103897A
Other languages
Japanese (ja)
Other versions
JP2013232103A (en
Inventor
秀明 川端
秀明 川端
隆将 磯原
隆将 磯原
竹森 敬祐
敬祐 竹森
歩 窪田
歩 窪田
西垣 正勝
正勝 西垣
晴信 上松
晴信 上松
潤也 可児
潤也 可児
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shizuoka University NUC
KDDI Corp
Original Assignee
Shizuoka University NUC
KDDI Corp
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 Shizuoka University NUC, KDDI Corp filed Critical Shizuoka University NUC
Priority to JP2012103897A priority Critical patent/JP5958896B2/en
Publication of JP2013232103A publication Critical patent/JP2013232103A/en
Application granted granted Critical
Publication of JP5958896B2 publication Critical patent/JP5958896B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephone Function (AREA)

Description

本発明は、アプリケーションによるAPI(Application Program Interface)の実行を制御する処理を行う情報処理装置に関する。また、本発明は、本情報処理装置としてコンピュータを機能させるためのプログラムにも関する。   The present invention relates to an information processing apparatus that performs processing for controlling execution of an application program interface (API) by an application. The present invention also relates to a program for causing a computer to function as the information processing apparatus.

汎用OS(オペレーティングシステム)を用いたオープンプラットフォームを採用する、スマートフォンと呼ばれる携帯情報端末が普及している。また、スマートフォンに搭載される汎用OSとして、端末で管理される情報や機能を利用するための命令や関数の集合であるAPI が豊富に用意されているAndroid(登録商標)が注目を集めている。本明細書では一例として、Android(登録商標) OSを搭載したスマートフォンについて記載する。   Portable information terminals called smartphones that use an open platform using a general-purpose OS (operating system) have become widespread. As a general-purpose OS installed in smartphones, Android (registered trademark), which has abundant APIs that are a set of instructions and functions for using information and functions managed by terminals, is attracting attention. . As an example, this specification describes a smartphone equipped with an Android (registered trademark) OS.

スマートフォンは、誰もが自由にアプリケーションを開発して公開でき、公開されたアプリケーションをユーザが自由にインストールできるプラットフォームである。公開されたアプリケーションをスマートフォンに導入することにより、スマートフォンの様々な機能を柔軟かつ容易に拡張することができる。   A smartphone is a platform that allows anyone to freely develop and publish applications and allow users to freely install published applications. By introducing a published application to a smartphone, various functions of the smartphone can be expanded flexibly and easily.

Android(登録商標)では、アプリケーションが利用する機能群や情報群はパーミッションとして定義されている。パーミッションは、アプリケーションを実行可能な端末内の機能・情報の利用や設定の変更に係る権限である。アプリケーションのインストール時に、アプリケーションが使用するパーミッションがユーザに通知(宣言)され、ユーザによってインストールの可否が判断される。アプリケーションがインストールされた後、アプリケーションは、インストール時に宣言したパーミッションにより許可されている範囲内で動作する。このように、パーミッションに基づいてアプリケーションの動作に制限を与える機構がある。   In Android (registered trademark), function groups and information groups used by applications are defined as permissions. The permission is an authority relating to use of functions / information in the terminal capable of executing the application and change of settings. When installing an application, the user is notified (declared) of the permissions used by the application, and the user determines whether or not the application can be installed. After the application is installed, the application operates within the range permitted by the permissions declared at the time of installation. As described above, there is a mechanism for restricting the operation of the application based on the permission.

しかし、全てのアプリケーションは、情報の取得に関するパーミッションを宣言し、そのパーミッションがユーザによって承認されると、端末に存在する情報を簡単に取得することができる。所定のWebサイトで公開されているアプリケーションのパーミッションの利用状況の報告によると、電話帳の中身を読み取るパーミッションの利用率は11%、位置情報を読み取るパーミッションの利用率は27%、スマートフォンの電話番号やSIM (Subscriber Identity Module)情報を読み取るパーミッションの利用率は58%となっている(非特許文献1参照)。つまり、所定のWebサイトで公開されているアプリケーションの多くが位置情報や電話番号等の機密情報を漏洩させる可能性がある。   However, all applications can easily acquire information that exists in the terminal once the permission regarding the acquisition of information is declared and the permission is approved by the user. According to a report on the usage status of application permissions published on a given website, the usage rate of permissions to read the contents of the phone book is 11%, the usage rate of permissions to read location information is 27%, and the phone number of the smartphone And the usage rate of permission to read SIM (Subscriber Identity Module) information is 58% (see Non-Patent Document 1). In other words, many applications published on a given website may leak confidential information such as location information and telephone numbers.

不正なアプリケーションに対抗するため、各ベンダーは、Android(登録商標)に対応したアンチウイルスソフトを発売している。しかし、実際にこのようなソフトでは不正なアプリケーションを検知することは難しく、現状では検知漏れ(False Negative)が多数発生している。なお、非特許文献2には、アプリケーションの不正な動作を検知する技術が記載されている。   In order to combat unauthorized applications, vendors have released anti-virus software that supports Android (registered trademark). However, it is actually difficult to detect unauthorized applications with such software, and there are many false negatives at present. Non-Patent Document 2 describes a technique for detecting an illegal operation of an application.

萩原栄幸,ITmedia、「Android OSから見たセキュリティ対策ソフトの制約」、[online]、2011年12月26日、ITmedia、[平成24年3月27日検索]、インターネット<URL: http://www.itmedia.co.jp/enterprise/articles/1112/26/news015.html >Eiyuki Sugawara, ITmedia, “Restrictions on Security Measured Software as Seen from Android OS”, [online], December 26, 2011, ITmedia, [March 27, 2012 search], Internet <URL: http: / /www.itmedia.co.jp/enterprise/articles/1112/26/news015.html> 上松晴信、可児潤也、名坂康平、川端秀明、磯原隆将、竹森敬祐、西垣正勝、“安全なAndroidアプリの提供を実現するアプリ開発・管理方式ADMSの提案”、コンピュータセキュリティシンポジウム2011、セッション3D3-4、2011年10月Harunobu Uematsu, Junya Kagi, Kohei Nasaka, Hideaki Kawabata, Takamasa Sugawara, Keisuke Takemori, Masakatsu Nishigaki, “Proposal of ADMS to develop and manage secure Android apps”, Computer Security Symposium 2011, Session 3D3- 4, October 2011

前述したように、アプリケーションは、情報の取得に関するパーミッションを宣言することで、端末に存在する情報を簡単に取得することができる。以下、図19を参照して、アプリケーションが端末の機密情報を取得して表示するときの処理の流れを説明する。   As described above, the application can easily acquire information existing in the terminal by declaring the permission regarding the acquisition of information. Hereinafter, with reference to FIG. 19, the flow of processing when the application acquires and displays the confidential information of the terminal will be described.

アプリケーションは、端末に格納されている機密情報を取得するAPIである情報取得APIを呼び出す(ステップS900)。呼び出された情報取得APIは端末内の所定の場所から機密情報を取得する(ステップS905)。機密情報を取得した情報取得APIは、取得した機密情報をアプリケーションに返答する(ステップS910)。機密情報を受け取ったアプリケーションは、情報を表示するAPIである表示APIを呼び出す(ステップS915)。呼び出された表示APIは機密情報を表示し(ステップS920)、処理結果をアプリケーションに返答する(ステップS925)。   The application calls an information acquisition API, which is an API for acquiring confidential information stored in the terminal (step S900). The called information acquisition API acquires confidential information from a predetermined location in the terminal (step S905). The information acquisition API that acquired the confidential information returns the acquired confidential information to the application (step S910). The application that has received the confidential information calls a display API that is an API for displaying the information (step S915). The called display API displays confidential information (step S920) and returns the processing result to the application (step S925).

上記の処理では、ステップS910でアプリケーションに機密情報が通知されている。このように、現在の仕様ではアプリケーションが機密情報を簡単に取得できてしまうため、早急な対策が望まれる。   In the above processing, confidential information is notified to the application in step S910. As described above, in the current specification, since an application can easily acquire confidential information, an immediate countermeasure is desired.

本発明は、上述した課題に鑑みてなされたものであって、アプリケーションによる情報の利用を制限することができる情報処理装置およびプログラムを提供することを目的とする。   The present invention has been made in view of the above-described problems, and an object thereof is to provide an information processing apparatus and a program that can restrict use of information by an application.

本発明は、上記の課題を解決するためになされたもので、記憶部と制御部を備え、前記制御部は、アプリケーションが、端末に格納されている第1の情報を取得する第1のAPI(Application Program Interface)を第1の時点で実行しようとするときに、前記第1の情報を取得する情報取得ステップと、取得した前記第1の情報と、前記第1の情報と異なる第2の情報とを前記記憶部に格納する情報格納ステップと、前記第2の情報を前記アプリケーションに返す返答ステップと、前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す情報読み出しステップと、読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す処理ステップと、を実行することを特徴とする情報処理装置である。 The present invention has been made to solve the above-described problems, and includes a storage unit and a control unit, and the control unit is a first API for acquiring first information stored in a terminal by an application. When executing (Application Program Interface) at a first time point, an information acquisition step of acquiring the first information, the acquired first information, and a second different from the first information An information storage step of storing information in the storage unit, a reply step of returning the second information to the application, and a second time point after the first time point, the application An information reading step of reading the first information associated with the specified second information from the storage unit when specifying information and executing a second API different from the first API When Information processing and executes and a processing step of returning to said application processing result does not include the have line processing of the second API, the first information using the first information read Device.

また、本発明の情報処理装置において、前記制御部は、前記情報取得ステップ、前記返答ステップ、および前記処理ステップを実行する第1の制御部と、前記情報格納ステップおよび前記情報読み出しステップを実行する第2の制御部と、を有することを特徴とする。   In the information processing apparatus of the present invention, the control unit executes a first control unit that executes the information acquisition step, the reply step, and the processing step, and the information storage step and the information reading step. And a second control unit.

また、本発明の情報処理装置は、ユーザに通知を行う通知部をさらに備え、前記情報読み出しステップは、前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す読み出しステップと、前記通知部を介してユーザに通知を行う通知ステップと、を有し、前記処理ステップでは、ユーザに通知を行った後、ユーザの許可が得られた場合のみ、読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返すことを特徴とする。 In addition, the information processing apparatus of the present invention further includes a notification unit that notifies the user, and the information reading step is performed by the application at the second time point after the first time point. A step of reading out the first information associated with the specified second information from the storage unit when trying to execute a second API different from the first API by designating A notification step for notifying the user via the notification unit, and in the processing step, the first information that has been read out is obtained only when the user's permission is obtained after notifying the user. There line processing of the second API used, and wherein the returning the processing result not including the first information to the application.

また、本発明は、端末に格納されている第1の情報と、前記第1の情報と異なる第2の情報とを関連付けて、前記第1の情報に対応して用意された記憶領域に記憶する記憶部と、制御部と、を備え、前記制御部は、アプリケーションが、前記第1の情報を取得する第1のAPI(Application Program Interface)を第1の時点で実行しようとするときに、前記記憶部の前記第1の情報に対応する記憶領域から前記第2の情報を読み出す第1の情報読み出しステップと、読み出した前記第2の情報を前記アプリケーションに返す返答ステップと、前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す第2の情報読み出しステップと、読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す処理ステップと、を実行することを特徴とする情報処理装置である。 In the present invention, the first information stored in the terminal and the second information different from the first information are associated with each other and stored in a storage area prepared corresponding to the first information. A storage unit, and a control unit, wherein the control unit is configured to execute a first API (Application Program Interface) for acquiring the first information at a first time point when the application acquires the first information. A first information reading step of reading the second information from a storage area corresponding to the first information of the storage unit; a replying step of returning the read second information to the application; and the first information The second information specified when the application specifies the second information and executes a second API different from the first API at a second time after the time Associated with A second information read step of reading information from the storage unit, read the first information have line processing of the second API with the first information does not include the processing result the application An information processing apparatus characterized by executing the processing steps returned to

また、本発明の情報処理装置において、前記制御部は、前記返答ステップおよび前記処理ステップを実行する第1の制御部と、前記第1の情報読み出しステップおよび前記第2の情報読み出しステップを実行する第2の制御部と、を有することを特徴とする。   In the information processing apparatus of the present invention, the control unit executes a first control unit that executes the reply step and the processing step, and executes the first information reading step and the second information reading step. And a second control unit.

また、本発明の情報処理装置は、ユーザに通知を行う通知部をさらに備え、前記第1の情報読み出しステップは、前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す読み出しステップと、前記通知部を介してユーザに通知を行う通知ステップと、を有し、前記処理ステップでは、ユーザに通知を行った後、ユーザの許可が得られた場合のみ、読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返すことを特徴とする。 In addition, the information processing apparatus of the present invention further includes a notification unit that notifies the user, and the first information reading step includes the first information reading step at a second time point after the first time point. Reading out the first information associated with the specified second information from the storage unit when the second API different from the first API is specified by specifying the information of 2 And a notification step for notifying the user via the notification unit. In the processing step, the first read-out is performed only when the user's permission is obtained after notifying the user. There line processing of the second API with the information, and wherein the returning the processing result not including the first information to the application.

また、本発明の情報処理装置において、前記アプリケーションと前記第2の制御部に対して異なるUID(User ID)が与えられていることを特徴とする。   In the information processing apparatus according to the present invention, different UIDs (User IDs) are given to the application and the second control unit.

また、本発明の情報処理装置において、前記通知ステップでは、読み出した前記第1の情報をユーザに通知することを特徴とする。   In the information processing apparatus according to the present invention, the notifying step notifies the user of the read first information.

また、本発明は、アプリケーションが、端末に格納されている第1の情報を取得する第1のAPI(Application Program Interface)を第1の時点で実行しようとするときに、前記第1のAPIの処理を行って前記第1の情報を取得する情報取得ステップと、取得した前記第1の情報と、前記第1の情報と異なる第2の情報とを関連付けて記憶部に格納する情報格納ステップと、前記第2の情報を前記アプリケーションに返す返答ステップと、前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す情報読み出しステップと、読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す処理ステップと、をコンピュータに実行させるためのプログラムである。 Further, according to the present invention, when an application tries to execute a first API (Application Program Interface) for acquiring first information stored in a terminal at a first time point, the first API An information acquisition step of performing processing to acquire the first information, an information storage step of storing the acquired first information and second information different from the first information in association with each other in a storage unit; A second step of returning the second information to the application and a second time point after the first time point, wherein the application designates the second information and differs from the first API. When trying to execute the API of 2, the information reading step of reading the first information associated with the specified second information from the storage unit, and using the read first information First There line processing of API in a program for executing the processing result does not include the first information and the processing steps return to the application, to the computer.

また、本発明は、アプリケーションが、端末に格納されている第1の情報を取得する第1のAPI(Application Program Interface)を第1の時点で実行しようとするときに、前記第1の情報と、前記第1の情報と異なる第2の情報とを関連付けて、前記第1の情報に対応して用意された記憶領域に記憶している記憶部の前記第1の情報に対応する記憶領域から前記第2の情報を読み出す第1の情報読み出しステップと、読み出した前記第2の情報を前記アプリケーションに返す返答ステップと、前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す第2の情報読み出しステップと、読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す処理ステップと、をコンピュータに実行させるためのプログラムである。 Also, the present invention provides the first information when the application tries to execute a first API (Application Program Interface) for acquiring the first information stored in the terminal at a first time point. From the storage area corresponding to the first information of the storage unit associated with the second information different from the first information and stored in the storage area prepared corresponding to the first information In a first information reading step for reading the second information, a reply step for returning the read second information to the application, and a second time point after the first time point, the application When specifying second information and executing a second API different from the first API, the first information associated with the specified second information is read from the storage unit. Second information And step out look to execute the process steps returning read had row processing of the first information the second API with the processing result does not include the first information to the application, to a computer It is a program for.

本発明によれば、アプリケーションに対して、端末に格納されている第1の情報を直接参照させず、第1の情報と異なる第2の情報を参照させることによって、アプリケーションによる情報の利用を制限することができる。   According to the present invention, the application does not directly refer to the first information stored in the terminal, but refers to the second information different from the first information, thereby limiting the use of the information by the application. can do.

本発明の第1の実施形態による情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus by the 1st Embodiment of this invention. 本発明の第1の実施形態による情報処理装置の動作の流れを示すフロー図である。It is a flowchart which shows the flow of operation | movement of the information processing apparatus by the 1st Embodiment of this invention. 本発明の第1の実施形態による情報処理装置の記憶部に保存される情報を示す参考図である。It is a reference diagram which shows the information preserve | saved at the memory | storage part of the information processing apparatus by the 1st Embodiment of this invention. 本発明の第1の実施形態による情報処理装置の表示部に表示される情報を示す参考図である。It is a reference figure which shows the information displayed on the display part of the information processing apparatus by the 1st Embodiment of this invention. 本発明の第1の実施形態におけるOSのコードを示す参考図である。FIG. 3 is a reference diagram illustrating an OS code in the first embodiment of the present invention. 本発明の第1の実施形態におけるOSのコードを示す参考図である。FIG. 3 is a reference diagram illustrating an OS code in the first embodiment of the present invention. 本発明の第1の実施形態におけるOSのコードを示す参考図である。FIG. 3 is a reference diagram illustrating an OS code in the first embodiment of the present invention. 本発明の第2の実施形態による情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus by the 2nd Embodiment of this invention. 本発明の第2の実施形態による情報処理装置の動作の流れを示すフロー図である。It is a flowchart which shows the flow of operation | movement of the information processing apparatus by the 2nd Embodiment of this invention. 本発明の第2の実施形態による情報処理装置の表示部に表示される情報を示す参考図である。It is a reference figure which shows the information displayed on the display part of the information processing apparatus by the 2nd Embodiment of this invention. 本発明の第3の実施形態による情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus by the 3rd Embodiment of this invention. 本発明の第3の実施形態による情報処理装置の動作の流れを示すフロー図である。It is a flowchart which shows the flow of operation | movement of the information processing apparatus by the 3rd Embodiment of this invention. 本発明の第4の実施形態による情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus by the 4th Embodiment of this invention. 本発明の第4の実施形態による情報処理装置の動作の流れを示すフロー図である。It is a flowchart which shows the flow of operation | movement of the information processing apparatus by the 4th Embodiment of this invention. 本発明の第5の実施形態による情報処理装置の動作の流れを示すフロー図である。It is a flowchart which shows the flow of operation | movement of the information processing apparatus by the 5th Embodiment of this invention. 本発明の第6の実施形態による情報処理装置の動作の流れを示すフロー図である。It is a flowchart which shows the flow of operation | movement of the information processing apparatus by the 6th Embodiment of this invention. 本発明の第7の実施形態による情報処理装置の動作の流れを示すフロー図である。It is a flowchart which shows the flow of operation | movement of the information processing apparatus by the 7th Embodiment of this invention. 本発明の第8の実施形態による情報処理装置の動作の流れを示すフロー図である。It is a flowchart which shows the flow of operation | movement of the information processing apparatus by the 8th Embodiment of this invention. アプリケーションが機密情報を取得して表示するときの処理の流れを示すフロー図である。It is a flowchart which shows the flow of a process when an application acquires and displays confidential information.

以下、図面を参照し、本発明の実施形態を説明する。本明細書および図面では、便宜上、必要に応じてandroid(登録商標)という文字列を*andrd*という文字列で代用し、java(登録商標)という文字列を*jv*という文字列で代用している。すなわち、*andrd*という文字列はandroid(登録商標)という文字列と等価であり、*jv*という文字列はjava(登録商標)という文字列と等価である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this specification and drawings, for convenience, the character string “android (registered trademark)” is substituted with the character string “* andrd *” and the character string “java (registered trademark)” is substituted with the character string “* jv *” as necessary. ing. That is, the character string * andrd * is equivalent to the character string android (registered trademark), and the character string * jv * is equivalent to the character string java (registered trademark).

(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態による情報処理装置の構成を示している。本実施形態の情報処理装置は、OS にAndroid(登録商標)を実装したスマートフォン等の装置として構成されている。図1に示すように情報処理装置は、アプリケーション10、制御部11、記憶部12、表示部13を有する。
(First embodiment)
First, a first embodiment of the present invention will be described. FIG. 1 shows the configuration of the information processing apparatus according to the present embodiment. The information processing apparatus of the present embodiment is configured as a device such as a smartphone in which Android (registered trademark) is mounted on the OS. As illustrated in FIG. 1, the information processing apparatus includes an application 10, a control unit 11, a storage unit 12, and a display unit 13.

アプリケーション10は、SMSクライアントアプリケーション等であり、アプリケーションの処理として規定された各種の処理を行う。制御部11は、アプリケーション10からの要求に応じてAPIの実行を制御する。制御部11は、情報取得API実行部11aおよび表示API実行部11bを有する。情報取得API実行部11aは、情報処理装置(端末)に格納されている機密情報を取得するAPIである情報取得APIを実行する。表示API実行部11bは、情報を表示するAPIである表示APIを実行する。情報取得APIは、TelephonyManagerクラスのgetLine1Number等である。表示APIは、TextViewクラスのsetText等である。APIはメソッドであるが、本実施形態で注目するメソッドを他のメソッドと区別するためAPIと記載している。   The application 10 is an SMS client application or the like, and performs various processes defined as application processes. The control unit 11 controls API execution in response to a request from the application 10. The control unit 11 includes an information acquisition API execution unit 11a and a display API execution unit 11b. The information acquisition API execution unit 11a executes an information acquisition API that is an API for acquiring confidential information stored in the information processing apparatus (terminal). The display API execution unit 11b executes a display API that is an API for displaying information. The information acquisition API is getLine1Number of the TelephonyManager class. The display API is setText of the TextView class. The API is a method, but the method noted in this embodiment is described as an API in order to distinguish it from other methods.

記憶部12は、揮発性または不揮発性のメモリで構成されており、OSのプログラムや、アプリケーションプログラム、情報処理装置が使用する各種データ等を記憶する。記憶部12は、揮発性メモリと不揮発性メモリの組合せであってもよい。表示部13は各種情報を表示する。   The storage unit 12 is configured by a volatile or non-volatile memory, and stores an OS program, an application program, various data used by the information processing apparatus, and the like. The storage unit 12 may be a combination of a volatile memory and a nonvolatile memory. The display unit 13 displays various information.

本実施形態のOSのプログラムでは、アプリケーションフレームワークで提供されている既存のクラスを定義しているコードに対して、制御部11の動作に必要な新たなコードが追加されている。つまり、本実施形態のOSのプログラムは、制御部11の動作を規定したコードを含む。   In the OS program of this embodiment, new code necessary for the operation of the control unit 11 is added to the code defining the existing class provided by the application framework. That is, the OS program of the present embodiment includes a code that defines the operation of the control unit 11.

既存のOSのソースプログラムに対して、制御部11の動作を規定するコードが追加されることで、OSのソースプログラムが修正され、修正されたソースプログラムがアセンブル(コンパイル)されることで、修正されたOSの実行プログラム(実行ファイル)が生成される。このようにして生成されたOSの実行プログラムが情報処理装置にインストールされている。情報処理装置においてOSが起動することで制御部11が起動する。   The code that defines the operation of the control unit 11 is added to the existing OS source program, the OS source program is modified, and the modified source program is assembled (compiled) to modify The executed OS execution program (execution file) is generated. The OS execution program generated in this way is installed in the information processing apparatus. The control unit 11 is activated when the OS is activated in the information processing apparatus.

本実施形態のOSのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータ(本実施形態の情報処理装置)に読み込ませ、実行させることにより、制御部11は、プログラムで規定された処理を実行する。   The control unit 11 records the OS program of the present embodiment on a computer-readable recording medium, causes the computer (information processing apparatus of the present embodiment) to read and execute the program recorded on the recording medium. Performs the process specified by the program.

ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM、DVD−ROM、フラッシュメモリ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   Here, the “computer” includes a homepage providing environment (or display environment) if the WWW system is used. The “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, a DVD-ROM, and a flash memory, and a storage device such as a hard disk built in the computer. Say. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。   The program described above may be transmitted from a computer storing the program in a storage device or the like to another computer via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the above-described program may be for realizing a part of the above-described function. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer, what is called a difference file (difference program) may be sufficient.

次に、本実施形態の情報処理装置の動作を説明する。図2は、情報処理装置が機密情報を表示するときの処理の流れを示している。   Next, the operation of the information processing apparatus of this embodiment will be described. FIG. 2 shows the flow of processing when the information processing apparatus displays confidential information.

ある第1の時点でアプリケーション10は情報取得APIを呼び出す(ステップS100)。情報取得API実行部11aは、情報取得APIが呼び出されたことを検出し、情報処理装置内の所定の場所から機密情報を取得する(ステップS105)。機密情報は、電話番号、端末識別番号、SIM番号、国情報、通話履歴、電話帳データ、位置情報、受信メールの内容、カレンダー情報等である。また、情報取得API実行部11aはダミー情報を取得する(ステップS110)。ダミー情報は、秘匿すべき機密情報ではなく、アプリケーション10に通知してもよい情報(例えば乱数)である。ステップS110におけるダミー情報の取得は、予め生成されて情報処理装置内の所定の場所に格納されたダミー情報を読み出すこと、ダミー情報を新たに生成することのどちらでもよい。   At a certain first time, the application 10 calls an information acquisition API (step S100). The information acquisition API execution unit 11a detects that the information acquisition API has been called, and acquires confidential information from a predetermined location in the information processing apparatus (step S105). The confidential information includes a telephone number, a terminal identification number, a SIM number, country information, call history, telephone book data, location information, received mail content, calendar information, and the like. Further, the information acquisition API execution unit 11a acquires dummy information (step S110). The dummy information is not confidential information to be concealed but information that may be notified to the application 10 (for example, a random number). The acquisition of the dummy information in step S110 may be either reading out the dummy information generated in advance and stored in a predetermined location in the information processing apparatus, or newly generating dummy information.

ダミー情報および機密情報を取得した情報取得API実行部11aは、取得した各情報を関連付けて記憶部12に保存する(ステップS115)。図3は、記憶部12に保存された情報の一例を示している。1つのダミー情報(key0等)と1つの機密情報(電話番号等)とが対になって関連付けられ、それぞれのダミー情報および機密情報の組合せがテーブルとして保存されている。   The information acquisition API execution unit 11a that has acquired the dummy information and the confidential information associates the acquired information with each other and stores them in the storage unit 12 (step S115). FIG. 3 shows an example of information stored in the storage unit 12. One dummy information (key0, etc.) and one confidential information (telephone number, etc.) are associated in pairs, and combinations of the dummy information and confidential information are stored as a table.

ダミー情報および機密情報を保存した後、情報取得API実行部11aはダミー情報をアプリケーション10に返答する(ステップS120)。図19では機密情報がアプリケーションに返答されているが、図2では機密情報ではなくダミー情報がアプリケーション10に返答される。続いて、ある第2の時点でアプリケーション10は、ダミー情報を引数に指定して表示APIを呼び出す(ステップS125)。指定するダミー情報は1つでも複数でもよい。このとき、アプリケーション10から表示API実行部11bにダミー情報が通知される。   After storing the dummy information and the confidential information, the information acquisition API execution unit 11a returns the dummy information to the application 10 (step S120). In FIG. 19, confidential information is returned to the application, but in FIG. 2, dummy information is returned to the application 10 instead of confidential information. Subsequently, at a second time, the application 10 calls the display API by specifying dummy information as an argument (step S125). One or a plurality of dummy information may be designated. At this time, the dummy information is notified from the application 10 to the display API execution unit 11b.

表示API実行部11bは、表示APIが呼び出されたことを検出し、アプリケーション10から通知されたダミー情報と同一のダミー情報に対応する機密情報を記憶部12から読み出す(ステップS130)。例えば、図3の例では、アプリケーション10からkey0が通知された場合、テーブルから電話番号が読み出され、アプリケーション10からkey1が通知された場合、テーブルから端末識別番号が読み出される。   The display API execution unit 11b detects that the display API has been called, and reads confidential information corresponding to the same dummy information as the dummy information notified from the application 10 from the storage unit 12 (step S130). For example, in the example of FIG. 3, when key 0 is notified from the application 10, the telephone number is read from the table, and when key 1 is notified from the application 10, the terminal identification number is read from the table.

機密情報を読み出した表示API実行部11bは、読み出した機密情報を表示部13に表示する(ステップS135)。図4は、表示部13に表示された機密情報の一例を示している。電話番号等の機密情報400が表示部13の画面に表示される。機密情報を表示した後、表示API実行部11bは処理結果をアプリケーション10に返答する(ステップS140)。   The display API execution unit 11b that has read the confidential information displays the read confidential information on the display unit 13 (step S135). FIG. 4 shows an example of confidential information displayed on the display unit 13. Confidential information 400 such as a telephone number is displayed on the screen of the display unit 13. After displaying the confidential information, the display API execution unit 11b returns the processing result to the application 10 (step S140).

上記の処理では、アプリケーション10にダミー情報が通知され、機密情報は通知されない。したがって、アプリケーション10が機密情報を直接利用できないようにすることができる。   In the above processing, dummy information is notified to the application 10 and confidential information is not notified. Therefore, it is possible to prevent the application 10 from directly using confidential information.

次に、本実施形態における制御部11の動作を実現するコード(ソースコード)の一例を説明する。図5は、OSの既存のアプリケーションフレームワークに追加するクラスのコードの一例を示している。コード500ではダミー情報と機密情報を管理するテーブルが記述されている。コード510ではダミー情報と機密情報をテーブルに格納するメソッド(secretinsert)が記述されている。コード520ではダミー情報を検索キーとしてテーブルから機密情報を検索するメソッド(secretsearch)が記述されている。   Next, an example of code (source code) for realizing the operation of the control unit 11 in the present embodiment will be described. FIG. 5 shows an example of a class code to be added to an existing application framework of the OS. Code 500 describes a table for managing dummy information and confidential information. Code 510 describes a method (secretinsert) for storing dummy information and confidential information in a table. Code 520 describes a method (secretsearch) for searching confidential information from a table using dummy information as a search key.

図6は、OSの既存のアプリケーションフレームワークにおいて、既存のTelephonyManagerクラスの情報取得APIであるgetLine1Numberのコードを変更した一例を示している。コード600では、ダミー情報および機密情報を取得し、図5に示したメソッド(secretinsert)によりダミー情報と機密情報をテーブルに格納し、ダミー情報(key0)を返答することが記述されている。   FIG. 6 shows an example in which the code of getLine1Number that is the information acquisition API of the existing TelephonyManager class is changed in the existing application framework of the OS. Code 600 describes that dummy information and confidential information are acquired, dummy information and confidential information are stored in a table by the method (secretinsert) shown in FIG. 5, and dummy information (key0) is returned.

図7は、OSの既存のアプリケーションフレームワークにおいて、既存のTextViewクラスの表示APIであるsetTextのコードを変更した一例を示している。なお、図7ではコードの一部を省略している。以下ではコード700に記述されている内容を説明する。変数textはsetTextの引数であり、表示する文字列を示す。indexOf("key0")は、文字列の中で文字key0が最初に出現する位置を文字数(0を起点とする)で返し、文字列に文字key0が出現しない場合に-1を返答するメソッドである。「indexOf("key0")!"=-1」という条件は、変数textの中に文字key0が出現したということを示している。したがって、変数text、すなわち表示する文字列の中にダミー情報key0が存在する場合に、図5に示したメソッド(secretsearch)により、ダミー情報key0に対応する機密情報がテーブルから検索され、表示する文字列中のダミー情報が機密情報で置き換えられる。   FIG. 7 shows an example in which the code of setText which is the display API of the existing TextView class is changed in the existing application framework of the OS. In FIG. 7, a part of the code is omitted. The contents described in the code 700 will be described below. The variable text is an argument of setText and indicates the character string to be displayed. indexOf ("key0") is a method that returns the position where the character key0 first appears in the string as the number of characters (starting from 0), and returns -1 if the character key0 does not appear in the string is there. The condition “indexOf (“ key0 ”)!” = − 1 ”indicates that the character key0 appears in the variable text. Therefore, when the dummy information key0 exists in the variable text, that is, the character string to be displayed, the secret information corresponding to the dummy information key0 is retrieved from the table by the method (secretsearch) shown in FIG. The dummy information in the column is replaced with confidential information.

上述したように、本実施形態によれば、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができる。したがって、情報漏洩を防止することができる。   As described above, according to the present embodiment, the use of confidential information can be restricted so that the application 10 cannot directly use the confidential information. Therefore, information leakage can be prevented.

(第2の実施形態)
次に、本発明の第2の実施形態を説明する。第1の実施形態では、機密情報を表示する例を示したが、第2の実施形態では、機密情報をメモリカードに書き込む例を示す。図8は、本実施形態による情報処理装置の構成を示している。本実施形態では、制御部11が表示API実行部11bの代わりに書き込みAPI実行部11cを有し、入力部14およびメモリカード15が設けられている。他の構成については、第1の実施形態の構成と同様である。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In the first embodiment, an example is shown in which confidential information is displayed. In the second embodiment, an example in which confidential information is written to a memory card is shown. FIG. 8 shows the configuration of the information processing apparatus according to the present embodiment. In this embodiment, the control unit 11 has a write API execution unit 11c instead of the display API execution unit 11b, and an input unit 14 and a memory card 15 are provided. About another structure, it is the same as that of the structure of 1st Embodiment.

書き込みAPI実行部11cは、ファイルの書き込みを行うAPIである書き込みAPIを実行する。書き込みAPIは、BufferedWriterクラスのwriteであり、保存場所にメモリカードを指定することで、メモリカードへの書き込みを行うことができる。入力部14は、ユーザが操作するキーやボタン等を有し、ユーザによって入力された情報を制御部11に通知する。メモリカード15は、例えば情報処理装置に着脱可能な可搬記憶媒体である。   The write API execution unit 11c executes a write API that is an API for writing a file. The write API is BufferedWriter class write, and you can write to the memory card by specifying the memory card as the storage location. The input unit 14 includes keys and buttons operated by the user, and notifies the control unit 11 of information input by the user. The memory card 15 is a portable storage medium that can be attached to and detached from the information processing apparatus, for example.

次に、本実施形態の情報処理装置の動作を説明する。図9は、情報処理装置が機密情報をメモリカードに保存するときの処理の流れを示している。ステップS200〜S220の処理は図2のステップS100〜S120の処理と同様であるので、ステップS200〜S220については説明を省略する。   Next, the operation of the information processing apparatus of this embodiment will be described. FIG. 9 shows a processing flow when the information processing apparatus stores confidential information in the memory card. Since the process of steps S200 to S220 is the same as the process of steps S100 to S120 in FIG. 2, the description of steps S200 to S220 is omitted.

ある第2の時点でアプリケーション10は、ダミー情報を引数に指定して書き込みAPIを呼び出す(ステップS225)。指定するダミー情報は1つでも複数でもよい。このとき、アプリケーション10から書き込みAPI実行部11cにダミー情報が通知される。   At a certain second time point, the application 10 calls the write API by specifying dummy information as an argument (step S225). One or a plurality of dummy information may be designated. At this time, the dummy information is notified from the application 10 to the write API execution unit 11c.

書き込みAPIが呼び出されると、書き込みAPI実行部11cは、書き込みAPIが呼び出されたことを検出し、アプリケーション10から通知されたダミー情報と同一のダミー情報に対応する機密情報を記憶部12から読み出す(ステップS230)。この後、機密情報をメモリカード15に保存してもよいかどうかをユーザに確認させるための処理が行なわれる。書き込みAPI実行部11cは、読み出した機密情報を含むメッセージを表示部13に表示し、ユーザに確認を促す(ステップS235)。   When the write API is called, the write API execution unit 11c detects that the write API is called, and reads from the storage unit 12 confidential information corresponding to the same dummy information as the dummy information notified from the application 10 ( Step S230). Thereafter, a process for causing the user to confirm whether or not the confidential information may be stored in the memory card 15 is performed. The writing API execution unit 11c displays a message including the read confidential information on the display unit 13 and prompts the user to confirm (step S235).

図10は、表示部13に表示されたメッセージの一例を示している。電話番号等の機密情報1000と共に、ユーザに確認を促すメッセージ1010が表示部13の画面に表示される。さらに、ユーザが機密情報を保存することを許可するためのボタン1020と、ユーザが機密情報を保存することを拒否するためのボタン1030とが表示部13の画面に表示される。ユーザによって入力部14を介してボタン1020またはボタン1030が操作され、機密情報の保存を許可する/しないを示す情報が入力される。   FIG. 10 shows an example of a message displayed on the display unit 13. A message 1010 that prompts the user to confirm is displayed on the screen of the display unit 13 together with confidential information 1000 such as a telephone number. Furthermore, a button 1020 for allowing the user to save the confidential information and a button 1030 for rejecting the user to save the confidential information are displayed on the screen of the display unit 13. The user operates the button 1020 or the button 1030 via the input unit 14 and inputs information indicating whether or not to permit storing of confidential information.

表示部13に表示されたメッセージを確認したユーザによって、入力部14を介して情報が入力される(ステップS240)。機密情報の保存を許可することを示す情報が入力された場合、書き込みAPI実行部11cは、記憶部12から読み出した機密情報をメモリカード15に書き込む(ステップS245)。なお、機密情報の保存を拒否することを示す情報が入力された場合、書き込みAPI実行部11cが、アプリケーション10から通知されたダミー情報をメモリカード15に書き込むようにしてもよいし、メモリカード15への書き込みを中止してもよい。機密情報をメモリカード15に書き込んだ後、書き込みAPI実行部11cは処理結果をアプリケーション10に返答する(ステップS250)。   Information is input via the input unit 14 by the user who has confirmed the message displayed on the display unit 13 (step S240). When information indicating that storage of confidential information is permitted is input, the writing API execution unit 11c writes the confidential information read from the storage unit 12 to the memory card 15 (step S245). When information indicating that the storage of confidential information is refused is input, the write API execution unit 11c may write the dummy information notified from the application 10 to the memory card 15, or the memory card 15 You may stop writing to. After writing the confidential information to the memory card 15, the write API execution unit 11c returns the processing result to the application 10 (step S250).

上記の処理では、アプリケーション10にダミー情報が通知され、機密情報は通知されない。また、アプリケーション10がOSの標準的な書き込みAPIを使用せずに、独自に作成されたネイティブメソッドを使用してメモリカード15に機密情報を保存しようとしても、アプリケーション10には機密情報の代わりにダミー情報が通知されているので、アプリケーション10からネイティブメソッドにダミー情報が渡され、メモリカード15にはダミー情報が保存される。したがって、本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。   In the above processing, dummy information is notified to the application 10 and confidential information is not notified. Further, even if the application 10 tries to store confidential information in the memory card 15 using a native method created independently without using the standard writing API of the OS, the application 10 uses the native information instead of the confidential information. Since the dummy information is notified, the dummy information is transferred from the application 10 to the native method, and the dummy information is stored in the memory card 15. Therefore, also in the present embodiment, the use of confidential information can be restricted so that the application 10 cannot directly use the confidential information, and information leakage can be prevented.

従来のパーミッションに基づいてアプリケーションの動作に制限を与える機構では、アプリケーションが宣言したパーミッションが、アプリケーションによって、いつ、どのように使用されているのかをユーザが知ることができない。ユーザが、アプリケーションをインストールするために、パーミッションを一度許可してしまうと、パーミッションを必要とする動作をアプリケーションが実行したとしても、ユーザにはそのことが通知されない。そのため、ユーザが情報漏洩などの被害に気づくことが難しい。   In a mechanism that restricts the operation of an application based on conventional permissions, the user cannot know when and how the permissions declared by the application are used by the application. Once the user grants permission to install the application, the user is not notified even if the application performs an operation that requires permission. Therefore, it is difficult for the user to notice damage such as information leakage.

また、ユーザの誤操作に起因する課題もある。例えば、SMSクライアントアプリケーションの動作中に画面に表示されたボタンのうちSMSによりメッセージを送信するボタンをユーザが間違えて押しても、メッセージの送信動作を止めることができない。したがって、ユーザビリティの観点で、APIを利用した処理が行われる前に、アプリケーションがこれから行う動作をユーザが確認でき、動作の実行の可否をユーザが選択できるようになると、ユーザの誤操作による不利益が発生しなくなる。   There is also a problem caused by a user's erroneous operation. For example, even if the user mistakenly presses a button for sending a message by SMS among the buttons displayed on the screen during the operation of the SMS client application, the message sending operation cannot be stopped. Therefore, from the viewpoint of usability, before the process using the API is performed, if the user can confirm the operation to be performed by the application and the user can select whether or not to execute the operation, there is a disadvantage caused by the user's erroneous operation. No longer occurs.

本実施形態では、機密情報がメモリカード15に書き込まれる際に、機密情報の書き込みを行ってもよいかどうかをユーザに確認させることができる。さらに、ユーザは、メモリカード15に書き込まれる機密情報を表示部13上で確認した上で、機密情報の書き込みを許可するかどうかを決定することができる。   In the present embodiment, when the confidential information is written to the memory card 15, the user can confirm whether or not the confidential information can be written. Furthermore, the user can determine whether to permit writing of confidential information after confirming the confidential information written in the memory card 15 on the display unit 13.

(第3の実施形態)
次に、本発明の第3の実施形態を説明する。本実施形態では、機密情報を表示する例を示す。図11は、本実施形態による情報処理装置の構成を示している。本実施形態では、制御部11が情報取得API実行部11aおよび表示API実行部11bの他にAPI実行制御部11dを有する。API実行制御部11dは、情報取得APIおよび表示APIが呼び出されたときにそれらのAPIの実行を制御する。他の構成については、第1の実施形態の構成と同様である。
(Third embodiment)
Next, a third embodiment of the present invention will be described. In the present embodiment, an example of displaying confidential information is shown. FIG. 11 shows the configuration of the information processing apparatus according to the present embodiment. In the present embodiment, the control unit 11 includes an API execution control unit 11d in addition to the information acquisition API execution unit 11a and the display API execution unit 11b. The API execution control unit 11d controls the execution of the API when the information acquisition API and the display API are called. About another structure, it is the same as that of the structure of 1st Embodiment.

本実施形態では、情報取得APIを定義するTelephonyManagerクラスのコードに対して、情報取得API実行部11aが実行する処理を規定するコードが追加され、表示APIを定義するTextViewクラスのコードに対して、表示API実行部11bが実行する処理を規定するコードが追加されている。また、アプリケーションのインストールおよびアンインストールの管理を行ったり、アプリケーションに適切なパーミッションが付与されているか否かの判定を行ったりするPackageManagerServiceクラスのコードに対して、API実行制御部11dが実行する処理を規定するコードが追加されている。   In the present embodiment, a code that defines the processing executed by the information acquisition API execution unit 11a is added to the code of the TelephonyManager class that defines the information acquisition API, and the code of the TextView class that defines the display API is A code for defining a process executed by the display API execution unit 11b is added. Also, the process executed by the API execution control unit 11d for the code of the PackageManagerService class that manages the installation and uninstallation of the application and determines whether or not the appropriate permission is given to the application. Regulatory code has been added.

情報取得API実行部11aおよび表示API実行部11bは、アプリケーション10が情報取得API実行部11aおよび表示API実行部11bのそれぞれを呼び出したときにアプリケーション10と同一のプロセスで処理を行う。Android(登録商標)では、通常、UID(User ID)と呼ばれる、プロセス毎に異なるIDがプロセスに与えられ、UIDが異なるプロセス間ではリソースを共有することができない。   The information acquisition API execution unit 11a and the display API execution unit 11b perform processing in the same process as the application 10 when the application 10 calls each of the information acquisition API execution unit 11a and the display API execution unit 11b. In Android (registered trademark), an ID that is different for each process, usually called UID (User ID), is given to the process, and resources cannot be shared between processes with different UIDs.

本実施形態では、アプリケーション10が記憶部12のテーブルに直接アクセスして機密情報を取得できないようにするため、アプリケーション10のプロセスと、API実行制御部11dのプロセスとには、異なるUIDが与えられ、API実行制御部11dは、アプリケーション10と異なるプロセスで処理を行う。上記によって、機密情報の安全性を高めることができる。   In the present embodiment, in order to prevent the application 10 from directly accessing the table of the storage unit 12 to obtain confidential information, the process of the application 10 and the process of the API execution control unit 11d are given different UIDs, The API execution control unit 11d performs processing by a process different from that of the application 10. By the above, the security of confidential information can be improved.

次に、本実施形態の情報処理装置の動作を説明する。図12は、情報処理装置が機密情報を表示するときの処理の流れを示している。   Next, the operation of the information processing apparatus of this embodiment will be described. FIG. 12 shows the flow of processing when the information processing apparatus displays confidential information.

ある第1の時点でアプリケーション10は情報取得APIを呼び出す(ステップS300)。情報取得API実行部11aは、情報取得APIが呼び出されたことを検出し、情報処理装置内の所定の場所から機密情報を取得する(ステップS305)。また、情報取得API実行部11aはダミー情報を取得する(ステップS310)。   At a certain first time, the application 10 calls an information acquisition API (step S300). The information acquisition API execution unit 11a detects that the information acquisition API has been called, and acquires confidential information from a predetermined location in the information processing apparatus (step S305). Further, the information acquisition API execution unit 11a acquires dummy information (step S310).

ダミー情報および機密情報を取得した情報取得API実行部11aは、取得した各情報をAPI実行制御部11dに通知し、各情報の保存をAPI実行制御部11dに要求する。要求を受けたAPI実行制御部11dは、情報取得API実行部11aから通知されたダミー情報および機密情報を関連付けて記憶部12に保存する(ステップS315)。   The information acquisition API execution unit 11a that has acquired the dummy information and the confidential information notifies the API execution control unit 11d of the acquired information and requests the API execution control unit 11d to store the information. Upon receiving the request, the API execution control unit 11d associates the dummy information and the confidential information notified from the information acquisition API execution unit 11a and stores them in the storage unit 12 (step S315).

ダミー情報および機密情報が保存された後、情報取得API実行部11aはダミー情報をアプリケーション10に返答する(ステップS320)。続いて、ある第2の時点でアプリケーション10は、ダミー情報を引数に指定して表示APIを呼び出す(ステップS325)。このとき、アプリケーション10から表示API実行部11bにダミー情報が通知される。   After the dummy information and the confidential information are stored, the information acquisition API execution unit 11a returns the dummy information to the application 10 (step S320). Subsequently, at a second time point, the application 10 calls the display API by specifying dummy information as an argument (step S325). At this time, the dummy information is notified from the application 10 to the display API execution unit 11b.

表示API実行部11bは、表示APIが呼び出されたことを検出し、アプリケーション10から通知されたダミー情報をAPI実行制御部11dに通知し、機密情報の読み出しをAPI実行制御部11dに要求する(ステップS330)。要求を受けたAPI実行制御部11dは、表示API実行部11bから通知されたダミー情報と同一のダミー情報に対応する機密情報を記憶部12から読み出す(ステップS335)。   The display API execution unit 11b detects that the display API has been called, notifies the API execution control unit 11d of the dummy information notified from the application 10, and requests the API execution control unit 11d to read the confidential information ( Step S330). Receiving the request, the API execution control unit 11d reads out confidential information corresponding to the same dummy information as the dummy information notified from the display API execution unit 11b from the storage unit 12 (step S335).

機密情報を読み出したAPI実行制御部11dは、読み出した機密情報を表示API実行部11bに通知する。表示API実行部11bは、通知された機密情報を表示部13に表示する(ステップS340)。機密情報を表示した後、表示API実行部11bは処理結果をアプリケーション10に返答する(ステップS345)。   The API execution control unit 11d that has read the confidential information notifies the display API execution unit 11b of the read confidential information. The display API execution unit 11b displays the notified confidential information on the display unit 13 (step S340). After displaying the confidential information, the display API execution unit 11b returns the processing result to the application 10 (step S345).

上記の処理では、アプリケーション10にダミー情報が通知され、機密情報は通知されない。したがって、本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。また、アプリケーション10と異なるプロセスで処理を行うAPI実行制御部11dのみが、機密情報が保存された記憶部12のテーブルにアクセスできるようにすることによって、機密情報の安全性を高めることができる。   In the above processing, dummy information is notified to the application 10 and confidential information is not notified. Therefore, also in the present embodiment, the use of confidential information can be restricted so that the application 10 cannot directly use the confidential information, and information leakage can be prevented. Further, by allowing only the API execution control unit 11d that performs processing in a process different from the application 10 to access the table of the storage unit 12 in which the confidential information is stored, the security of the confidential information can be improved.

(第4の実施形態)
次に、本発明の第4の実施形態を説明する。本実施形態では、機密情報をメモリカードに書き込む例を示す。図13は、本実施形態による情報処理装置の構成を示している。本実施形態では、制御部11が情報取得API実行部11aおよび書き込みAPI実行部11cの他にAPI実行制御部11eを有する。API実行制御部11eは、情報取得APIおよび表示APIが呼び出されたときにそれらのAPIの実行を制御する。他の構成については、第2の実施形態の構成と同様である。
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described. In the present embodiment, an example in which confidential information is written to a memory card is shown. FIG. 13 shows the configuration of the information processing apparatus according to the present embodiment. In the present embodiment, the control unit 11 includes an API execution control unit 11e in addition to the information acquisition API execution unit 11a and the write API execution unit 11c. The API execution control unit 11e controls the execution of the API when the information acquisition API and the display API are called. About another structure, it is the same as that of the structure of 2nd Embodiment.

本実施形態では、情報取得APIを定義するTelephonyManagerクラスのコードに対して、情報取得API実行部11aが実行する処理を規定するコードが追加され、書き込みAPIを定義するBufferedWriterクラスのコードに対して、書き込みAPI実行部11cが実行する処理を規定するコードが追加されている。また、PackageManagerServiceクラスのコードに対して、API実行制御部11eが実行する処理を規定するコードが追加されている。   In the present embodiment, a code that defines the processing executed by the information acquisition API execution unit 11a is added to the code of the TelephonyManager class that defines the information acquisition API, and the code of the BufferedWriter class that defines the write API is A code defining a process executed by the write API execution unit 11c is added. In addition, a code that defines a process executed by the API execution control unit 11e is added to the code of the PackageManagerService class.

情報取得API実行部11aおよび書き込みAPI実行部11cは、アプリケーション10が情報取得API実行部11aおよび書き込みAPI実行部11cのそれぞれを呼び出したときにアプリケーション10と同一のプロセスで処理を行う。本実施形態でも、アプリケーション10が記憶部12のテーブルに直接アクセスして機密情報を取得できないようにするため、アプリケーション10のプロセスと、API実行制御部11eのプロセスとには、異なるUIDが与えられ、API実行制御部11eは、アプリケーション10と異なるプロセスで処理を行う。上記によって、機密情報の安全性を高めることができる。   The information acquisition API execution unit 11a and the write API execution unit 11c perform processing in the same process as the application 10 when the application 10 calls each of the information acquisition API execution unit 11a and the write API execution unit 11c. Also in this embodiment, in order to prevent the application 10 from directly accessing the table of the storage unit 12 to acquire confidential information, the process of the application 10 and the process of the API execution control unit 11e are given different UIDs. The API execution control unit 11e performs processing by a process different from that of the application 10. By the above, the security of confidential information can be improved.

次に、本実施形態の情報処理装置の動作を説明する。図14は、情報処理装置が機密情報を表示するときの処理の流れを示している。ステップS400〜S420の処理は図12のステップS300〜S320の処理と同様であるので、ステップS400〜S420については説明を省略する。   Next, the operation of the information processing apparatus of this embodiment will be described. FIG. 14 shows the flow of processing when the information processing apparatus displays confidential information. Since the process of steps S400 to S420 is the same as the process of steps S300 to S320 of FIG. 12, the description of steps S400 to S420 is omitted.

ある第2の時点でアプリケーション10は、ダミー情報を引数に指定して書き込みAPIを呼び出す(ステップS425)。このとき、アプリケーション10から書き込みAPI実行部11cにダミー情報が通知される。   At a certain second time point, the application 10 calls the write API by specifying dummy information as an argument (step S425). At this time, the dummy information is notified from the application 10 to the write API execution unit 11c.

書き込みAPIが呼び出されると、書き込みAPI実行部11cは、書き込みAPIが呼び出されたことを検出し、アプリケーション10から通知されたダミー情報をAPI実行制御部11eに通知し、機密情報の読み出しをAPI実行制御部11eに要求する(ステップS430)。要求を受けたAPI実行制御部11eは、書き込みAPI実行部11cから通知されたダミー情報と同一のダミー情報に対応する機密情報を記憶部12から読み出す(ステップS435)。   When the write API is called, the write API execution unit 11c detects that the write API has been called, notifies the API execution control unit 11e of the dummy information notified from the application 10, and executes the API for reading confidential information. The control unit 11e is requested (step S430). Receiving the request, the API execution control unit 11e reads confidential information corresponding to the same dummy information as the dummy information notified from the write API execution unit 11c from the storage unit 12 (step S435).

この後、機密情報をメモリカード15に保存してもよいかどうかをユーザに確認させるための処理が行なわれる。書き込みAPI実行部11cは、読み出した機密情報を含むメッセージを表示部13に表示し、ユーザに確認を促す(ステップS440)。   Thereafter, a process for causing the user to confirm whether or not the confidential information may be stored in the memory card 15 is performed. The writing API execution unit 11c displays a message including the read confidential information on the display unit 13 and prompts the user to confirm (step S440).

表示部13に表示されたメッセージを確認したユーザによって、入力部14を介して情報が入力される(ステップS445)。API実行制御部11eは、入力された情報を書き込みAPI実行部11cに通知する。機密情報の保存を許可することを示す情報が入力された場合、書き込みAPI実行部11cは、記憶部12から読み出した機密情報をメモリカード15に書き込む(ステップS450)。なお、機密情報の保存を拒否することを示す情報が入力された場合、書き込みAPI実行部11cが、アプリケーション10から通知されたダミー情報をメモリカード15に書き込むようにしてもよいし、メモリカード15への書き込みを中止してもよい。機密情報をメモリカード15に書き込んだ後、書き込みAPI実行部11cは処理結果をアプリケーション10に返答する(ステップS455)。   Information is input via the input unit 14 by the user who has confirmed the message displayed on the display unit 13 (step S445). The API execution control unit 11e notifies the write API execution unit 11c of the input information. When information indicating that storage of confidential information is permitted is input, the writing API execution unit 11c writes the confidential information read from the storage unit 12 to the memory card 15 (step S450). When information indicating that the storage of confidential information is refused is input, the write API execution unit 11c may write the dummy information notified from the application 10 to the memory card 15, or the memory card 15 You may stop writing to. After writing the confidential information to the memory card 15, the write API execution unit 11c returns the processing result to the application 10 (step S455).

上記の処理では、アプリケーション10にダミー情報が通知され、機密情報は通知されない。したがって、本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。また、アプリケーション10と異なるプロセスで処理を行うAPI実行制御部11eのみが、機密情報が保存された記憶部12のテーブルにアクセスできるようにすることによって、機密情報の安全性を高めることができる。   In the above processing, dummy information is notified to the application 10 and confidential information is not notified. Therefore, also in the present embodiment, the use of confidential information can be restricted so that the application 10 cannot directly use the confidential information, and information leakage can be prevented. Further, by allowing only the API execution control unit 11e that performs processing by a process different from the application 10 to access the table of the storage unit 12 in which the confidential information is stored, the security of the confidential information can be improved.

また、機密情報がメモリカード15に書き込まれる際に、機密情報の書き込みを行ってもよいかどうかをユーザに確認させることができる。さらに、ユーザは、メモリカード15に書き込まれる機密情報を表示部13上で確認し、機密情報の書き込みを許可するかどうかを決定することができる。   Further, when the confidential information is written to the memory card 15, it is possible to make the user confirm whether or not the confidential information may be written. Furthermore, the user can confirm the confidential information written in the memory card 15 on the display unit 13 and decide whether to permit writing of the confidential information.

(第5の実施形態)
次に、本発明の第5の実施形態を説明する。
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described.

第1〜第4の実施形態では、アプリケーションが起動後に機密情報に初めてアクセスする時点で、その都度、異なるダミー情報を取得する方式を採用してもよい。例えば、アプリケーションAが機密情報αにアクセスした時点で乱数を生成し、以後、アプリケーションAは一時的にこの乱数をダミー情報βとして使用する。この場合、アプリケーションAが機密情報αにアクセスした時点で取得するダミー情報βと、アプリケーションBが機密情報αにアクセスした時点で取得するダミー情報γとは異なり得る。アプリケーションが終了した時点で、アプリケーションが取得していたダミー情報はメモリから開放される。このため、アプリケーションAが一旦終了した後に再起動し、再び機密情報αにアクセスする際に取得するダミー情報δも、ダミー情報β,γとは異なり得る。   In the first to fourth embodiments, a method may be adopted in which different dummy information is acquired each time the application accesses the confidential information for the first time after activation. For example, a random number is generated when the application A accesses the confidential information α, and thereafter, the application A temporarily uses the random number as the dummy information β. In this case, the dummy information β acquired when the application A accesses the confidential information α may be different from the dummy information γ acquired when the application B accesses the confidential information α. When the application is terminated, the dummy information acquired by the application is released from the memory. For this reason, the dummy information δ acquired when the application A is restarted after being temporarily terminated and the confidential information α is accessed again can be different from the dummy information β and γ.

情報処理装置の電源がオフとなる際には全てのアプリケーションが終了し、各アプリケーションが取得していたダミー情報はメモリから開放される。よって、各アプリケーションが使用するダミー情報の管理に揮発型の記憶装置を用いることが可能となり、例えば配列を用いたコーディングにより実現することができる。   When the information processing apparatus is turned off, all applications are terminated, and the dummy information acquired by each application is released from the memory. Therefore, it is possible to use a volatile storage device for managing dummy information used by each application, and for example, it can be realized by coding using an array.

一方、アプリケーションが機密情報毎に固定されたダミー情報を取得する方式も可能であり、第5の実施形態ではこの方式について説明する。この方式では、アプリケーションが同一の機密情報にアクセスした際に、常に同一のダミー情報がアプリケーションに通知される。情報処理装置の電源がオフとなった場合でも、各機密情報に対応したダミー情報は情報処理装置に保存されている。この方式では、各アプリケーションが使用するダミー情報の管理に不揮発型の記憶装置を用いることが可能となり、例えば既存のコンテンツプロバイダを変形することで実現することができる。   On the other hand, a method in which the application acquires dummy information fixed for each confidential information is also possible, and this method will be described in the fifth embodiment. In this method, when the application accesses the same confidential information, the same dummy information is always notified to the application. Even when the information processing apparatus is turned off, dummy information corresponding to each confidential information is stored in the information processing apparatus. In this method, it is possible to use a nonvolatile storage device for managing dummy information used by each application. For example, it can be realized by modifying an existing content provider.

本実施形態は第1の実施形態の変形例であり、本実施形態の構成は、第1の実施形態の構成(図1)と同様である。本実施形態では、所定のアプリケーションが情報取得APIを実行した時点で、記憶部12にはダミー情報と機密情報を関連付けたテーブルが予め格納されているものとする。例えば、あるアプリケーションが初めて機密情報を取得する際に、図2のステップS100〜S115の処理により、ダミー情報と機密情報を関連付けたテーブルが記憶部12に保存される。また、ダミー情報と機密情報は、記憶部12において機密情報毎(あるいは情報取得API毎)に用意された記憶領域に保存されている。後述する処理では、情報取得APIが呼び出された際、その情報取得APIが識別され、その情報取得APIに対応する記憶領域、すなわちその情報取得APIによって取得される機密情報に対応する記憶領域が参照される。   The present embodiment is a modification of the first embodiment, and the configuration of the present embodiment is the same as the configuration of the first embodiment (FIG. 1). In this embodiment, it is assumed that a table in which dummy information and confidential information are associated with each other is stored in advance in the storage unit 12 when a predetermined application executes the information acquisition API. For example, when a certain application acquires confidential information for the first time, a table in which dummy information and confidential information are associated is stored in the storage unit 12 by the processing of steps S100 to S115 in FIG. The dummy information and the confidential information are stored in a storage area prepared for each confidential information (or for each information acquisition API) in the storage unit 12. In the processing described later, when the information acquisition API is called, the information acquisition API is identified, and the storage area corresponding to the information acquisition API, that is, the storage area corresponding to the confidential information acquired by the information acquisition API is referred to. Is done.

次に、本実施形態の情報処理装置の動作を説明する。図15は、情報処理装置が機密情報を表示するときの処理の流れを示している。   Next, the operation of the information processing apparatus of this embodiment will be described. FIG. 15 shows the flow of processing when the information processing apparatus displays confidential information.

ある第1の時点でアプリケーション10は情報取得APIを呼び出す(ステップS500)。情報取得API実行部11aは、情報取得APIが呼び出されたことを検出し、情報取得APIにより取得される機密情報に対応した記憶部12の記憶領域からダミー情報を読み出す(ステップS505)。情報取得API実行部11aは、読み出したダミー情報をアプリケーション10に返答する(ステップS510)。以降のステップS515〜S530の処理は図2のステップS125〜S140の処理と同様であるので、ステップS515〜S530については説明を省略する。   At a certain first time, the application 10 calls an information acquisition API (step S500). The information acquisition API execution unit 11a detects that the information acquisition API has been called, and reads dummy information from the storage area of the storage unit 12 corresponding to the confidential information acquired by the information acquisition API (step S505). The information acquisition API execution unit 11a returns the read dummy information to the application 10 (step S510). Since the subsequent processing in steps S515 to S530 is the same as the processing in steps S125 to S140 in FIG. 2, description of steps S515 to S530 is omitted.

本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。   Also in this embodiment, the use of confidential information can be restricted so that the application 10 cannot directly use the confidential information, and information leakage can be prevented.

(第6の実施形態)
次に、本発明の第6の実施形態を説明する。本実施形態では、アプリケーションが機密情報毎に固定されたダミー情報を取得する方式について説明する。本実施形態は第2の実施形態の変形例であり、本実施形態の構成は、第2の実施形態の構成(図8)と同様である。本実施形態では、第5の実施形態と同様に、所定のアプリケーションが情報取得APIを実行した時点で、記憶部12にはダミー情報と機密情報を関連付けたテーブルが予め格納されているものとする。また、ダミー情報と機密情報は、記憶部12において機密情報毎(あるいは情報取得API毎)に用意された記憶領域に保存されている。
(Sixth embodiment)
Next, a sixth embodiment of the present invention will be described. In the present embodiment, a method in which an application acquires dummy information fixed for each confidential information will be described. The present embodiment is a modification of the second embodiment, and the configuration of the present embodiment is the same as the configuration of the second embodiment (FIG. 8). In this embodiment, as in the fifth embodiment, a table in which dummy information and confidential information are associated with each other is stored in advance in the storage unit 12 when a predetermined application executes the information acquisition API. . The dummy information and the confidential information are stored in a storage area prepared for each confidential information (or for each information acquisition API) in the storage unit 12.

図16は、情報処理装置が機密情報をメモリカードに保存するときの処理の流れを示している。ステップS600〜S610の処理は図15のステップS500〜S510の処理と同様であるので、ステップS600〜S610については説明を省略する。また、ステップS615〜S640の処理は図9のステップS225〜S250の処理と同様であるので、ステップS615〜S640については説明を省略する。   FIG. 16 shows the flow of processing when the information processing apparatus stores confidential information in a memory card. Since the process of steps S600 to S610 is the same as the process of steps S500 to S510 of FIG. 15, the description of steps S600 to S610 is omitted. Moreover, since the process of step S615-S640 is the same as the process of step S225-S250 of FIG. 9, description is abbreviate | omitted about step S615-S640.

本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。   Also in this embodiment, the use of confidential information can be restricted so that the application 10 cannot directly use the confidential information, and information leakage can be prevented.

(第7の実施形態)
次に、本発明の第7の実施形態を説明する。本実施形態では、アプリケーションが機密情報毎に固定されたダミー情報を取得する方式について説明する。本実施形態は第3の実施形態の変形例であり、本実施形態の構成は、第3の実施形態の構成(図11)と同様である。本実施形態では、第5の実施形態と同様に、所定のアプリケーションが情報取得APIを実行した時点で、記憶部12にはダミー情報と機密情報を関連付けたテーブルが予め格納されているものとする。また、ダミー情報と機密情報は、記憶部12において機密情報毎(あるいは情報取得API毎)に用意された記憶領域に保存されている。
(Seventh embodiment)
Next, a seventh embodiment of the present invention will be described. In the present embodiment, a method in which an application acquires dummy information fixed for each confidential information will be described. This embodiment is a modification of the third embodiment, and the configuration of the present embodiment is the same as the configuration of the third embodiment (FIG. 11). In this embodiment, as in the fifth embodiment, a table in which dummy information and confidential information are associated with each other is stored in advance in the storage unit 12 when a predetermined application executes the information acquisition API. . The dummy information and the confidential information are stored in a storage area prepared for each confidential information (or for each information acquisition API) in the storage unit 12.

次に、本実施形態の情報処理装置の動作を説明する。図17は、情報処理装置が機密情報を表示するときの処理の流れを示している。   Next, the operation of the information processing apparatus of this embodiment will be described. FIG. 17 shows the flow of processing when the information processing apparatus displays confidential information.

ある第1の時点でアプリケーション10は情報取得APIを呼び出す(ステップS700)。情報取得API実行部11aは、情報取得APIが呼び出されたことを検出し、情報取得APIにより取得される機密情報に対応したダミー情報をAPI実行制御部11dに要求する(ステップS705)。API実行制御部11dは、ダミー情報を要求した情報取得APIにより取得される機密情報に対応した記憶部12の記憶領域からダミー情報を読み出す(ステップS710)。情報取得API実行部11aは、読み出したダミー情報を情報取得API実行部11aに通知し、情報取得API実行部11aはダミー情報をアプリケーション10に返答する(ステップS715)。以降のステップS720〜S740の処理は図12のステップS325〜S345の処理と同様であるので、ステップS720〜S740については説明を省略する。   At a certain first time, the application 10 calls an information acquisition API (step S700). The information acquisition API execution unit 11a detects that the information acquisition API has been called, and requests dummy information corresponding to the confidential information acquired by the information acquisition API from the API execution control unit 11d (step S705). The API execution control unit 11d reads the dummy information from the storage area of the storage unit 12 corresponding to the confidential information acquired by the information acquisition API that requested the dummy information (step S710). The information acquisition API execution unit 11a notifies the read dummy information to the information acquisition API execution unit 11a, and the information acquisition API execution unit 11a returns the dummy information to the application 10 (step S715). Since the subsequent processing of steps S720 to S740 is the same as the processing of steps S325 to S345 of FIG. 12, the description of steps S720 to S740 is omitted.

本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。また、機密情報の安全性を高めることができる。   Also in this embodiment, the use of confidential information can be restricted so that the application 10 cannot directly use the confidential information, and information leakage can be prevented. Moreover, the security of confidential information can be improved.

(第8の実施形態)
次に、本発明の第8の実施形態を説明する。本実施形態では、アプリケーションが機密情報毎に固定されたダミー情報を取得する方式について説明する。本実施形態は第4の実施形態の変形例であり、本実施形態の構成は、第4の実施形態の構成(図13)と同様である。本実施形態では、第5の実施形態と同様に、所定のアプリケーションが情報取得APIを実行した時点で、記憶部12にはダミー情報と機密情報を関連付けたテーブルが予め格納されているものとする。また、ダミー情報と機密情報は、記憶部12において機密情報毎(あるいは情報取得API毎)に用意された記憶領域に保存されている。
(Eighth embodiment)
Next, an eighth embodiment of the present invention will be described. In the present embodiment, a method in which an application acquires dummy information fixed for each confidential information will be described. The present embodiment is a modification of the fourth embodiment, and the configuration of the present embodiment is the same as the configuration of the fourth embodiment (FIG. 13). In this embodiment, as in the fifth embodiment, a table in which dummy information and confidential information are associated with each other is stored in advance in the storage unit 12 when a predetermined application executes the information acquisition API. . The dummy information and the confidential information are stored in a storage area prepared for each confidential information (or for each information acquisition API) in the storage unit 12.

図18は、情報処理装置が機密情報をメモリカードに保存するときの処理の流れを示している。ステップS800〜S815の処理は図17のステップS700〜S715の処理と同様であるので、ステップS800〜S815については説明を省略する。また、ステップS820〜S850の処理は図14のステップS425〜S455の処理と同様であるので、ステップS820〜S850については説明を省略する。   FIG. 18 shows a processing flow when the information processing apparatus stores confidential information in the memory card. Since the processing of steps S800 to S815 is the same as the processing of steps S700 to S715 of FIG. 17, the description of steps S800 to S815 is omitted. Moreover, since the process of step S820-S850 is the same as the process of step S425-S455 of FIG. 14, description is abbreviate | omitted about step S820-S850.

本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。また、機密情報の安全性を高めることができる。   Also in this embodiment, the use of confidential information can be restricted so that the application 10 cannot directly use the confidential information, and information leakage can be prevented. Moreover, the security of confidential information can be improved.

以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、各実施形態の情報処理装置をスマートフォン等の携帯電話端末に適用してもよいし、適用先は汎用的なOSで動作する装置であればよく、各実施形態の情報処理装置を家電製品や車等に適用してもよい。   As described above, the embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the above-described embodiments, and includes design changes and the like without departing from the gist of the present invention. . For example, the information processing apparatus of each embodiment may be applied to a mobile phone terminal such as a smartphone, and the application destination may be an apparatus that operates on a general-purpose OS. It may be applied to cars and cars.

10・・・アプリケーション、11・・・制御部、11a・・・情報取得API実行部、11b・・・表示API実行部、11c・・・書き込みAPI実行部、11d,11e・・・API実行制御部、12・・・記憶部、13・・・表示部、14・・・入力部、15・・・メモリカード   DESCRIPTION OF SYMBOLS 10 ... Application, 11 ... Control part, 11a ... Information acquisition API execution part, 11b ... Display API execution part, 11c ... Write API execution part, 11d, 11e ... API execution control Part, 12 ... storage part, 13 ... display part, 14 ... input part, 15 ... memory card

Claims (10)

記憶部と制御部を備え、前記制御部は、
アプリケーションが、端末に格納されている第1の情報を取得する第1のAPI(Application Program Interface)を第1の時点で実行しようとするときに、前記第1の情報を取得する情報取得ステップと、
取得した前記第1の情報と、前記第1の情報と異なる第2の情報とを前記記憶部に格納する情報格納ステップと、
前記第2の情報を前記アプリケーションに返す返答ステップと、
前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す情報読み出しステップと、
読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す処理ステップと、
を実行することを特徴とする情報処理装置。
A storage unit and a control unit, the control unit,
An information acquisition step of acquiring the first information when the application attempts to execute a first API (Application Program Interface) for acquiring the first information stored in the terminal at a first time point; ,
An information storage step of storing the acquired first information and second information different from the first information in the storage unit;
A reply step of returning the second information to the application;
At a second time point after the first time point, the application specifies the second information, and when the application tries to execute a second API different from the first API, the specified An information reading step of reading out the first information associated with second information from the storage unit;
A processing step of returning have line processing of the second API by using the first information read, the processing result does not include the first information to the application,
An information processing apparatus characterized by executing
前記制御部は、
前記情報取得ステップ、前記返答ステップ、および前記処理ステップを実行する第1の制御部と、
前記情報格納ステップおよび前記情報読み出しステップを実行する第2の制御部と、
を有することを特徴とする請求項1に記載の情報処理装置。
The controller is
A first control unit that executes the information acquisition step, the reply step, and the processing step;
A second control unit for executing the information storing step and the information reading step;
The information processing apparatus according to claim 1, further comprising:
ユーザに通知を行う通知部をさらに備え、
前記情報読み出しステップは、
前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す読み出しステップと、
前記通知部を介してユーザに通知を行う通知ステップと、を有し、
前記処理ステップでは、ユーザに通知を行った後、ユーザの許可が得られた場合のみ、読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す
ことを特徴とする請求項1または請求項2に記載の情報処理装置。
A notification unit for notifying a user;
The information reading step includes
At a second time point after the first time point, the application specifies the second information, and when the application tries to execute a second API different from the first API, the specified A reading step of reading out the first information associated with second information from the storage unit;
A notification step of notifying the user via the notification unit,
In the processing step, after the notification to the user only when the user's permission has been obtained, it has row processing of the second API by using the first information read, the first information The information processing apparatus according to claim 1 , wherein a processing result not included is returned to the application .
端末に格納されている第1の情報と、前記第1の情報と異なる第2の情報とを関連付けて、前記第1の情報に対応して用意された記憶領域に記憶する記憶部と、制御部と、を備え、前記制御部は、
アプリケーションが、前記第1の情報を取得する第1のAPI(Application Program Interface)を第1の時点で実行しようとするときに、前記記憶部の前記第1の情報に対応する記憶領域から前記第2の情報を読み出す第1の情報読み出しステップと、
読み出した前記第2の情報を前記アプリケーションに返す返答ステップと、
前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す第2の情報読み出しステップと、
読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す処理ステップと、
を実行することを特徴とする情報処理装置。
A storage unit that associates first information stored in a terminal with second information different from the first information and stores the first information in a storage area prepared in correspondence with the first information; and a control And the control unit comprises:
When an application tries to execute a first API (Application Program Interface) for acquiring the first information at a first time point, the application starts from the storage area corresponding to the first information in the storage unit. A first information reading step for reading the information of 2;
A response step of returning the read second information to the application;
At a second time point after the first time point, the application specifies the second information, and when the application tries to execute a second API different from the first API, the specified A second information reading step of reading out the first information associated with second information from the storage unit;
A processing step of returning have line processing of the second API by using the first information read, the processing result does not include the first information to the application,
An information processing apparatus characterized by executing
前記制御部は、
前記返答ステップおよび前記処理ステップを実行する第1の制御部と、
前記第1の情報読み出しステップおよび前記第2の情報読み出しステップを実行する第2の制御部と、
を有することを特徴とする請求項4に記載の情報処理装置。
The controller is
A first control unit for executing the reply step and the processing step;
A second control unit for executing the first information reading step and the second information reading step;
The information processing apparatus according to claim 4, further comprising:
ユーザに通知を行う通知部をさらに備え、
前記第1の情報読み出しステップは、
前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す読み出しステップと、
前記通知部を介してユーザに通知を行う通知ステップと、を有し、
前記処理ステップでは、ユーザに通知を行った後、ユーザの許可が得られた場合のみ、読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す
ことを特徴とする請求項4または請求項5に記載の情報処理装置。
A notification unit for notifying a user;
The first information reading step includes:
At a second time point after the first time point, the application specifies the second information, and when the application tries to execute a second API different from the first API, the specified A reading step of reading out the first information associated with second information from the storage unit;
A notification step of notifying the user via the notification unit,
In the processing step, after the notification to the user only when the user's permission has been obtained, it has row processing of the second API by using the first information read, the first information 6. The information processing apparatus according to claim 4 , wherein a processing result not included is returned to the application .
前記アプリケーションと前記第2の制御部に対して異なるUID(User ID)が与えられていることを特徴とする請求項2または請求項5に記載の情報処理装置。   6. The information processing apparatus according to claim 2, wherein different UIDs (User IDs) are given to the application and the second control unit. 前記通知ステップでは、読み出した前記第1の情報をユーザに通知することを特徴とする請求項3または請求項6に記載の情報処理装置。   The information processing apparatus according to claim 3 or 6, wherein the notifying step notifies the user of the read first information. アプリケーションが、端末に格納されている第1の情報を取得する第1のAPI(Application Program Interface)を第1の時点で実行しようとするときに、前記第1のAPIの処理を行って前記第1の情報を取得する情報取得ステップと、
取得した前記第1の情報と、前記第1の情報と異なる第2の情報とを関連付けて記憶部に格納する情報格納ステップと、
前記第2の情報を前記アプリケーションに返す返答ステップと、
前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す情報読み出しステップと、
読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す処理ステップと、
をコンピュータに実行させるためのプログラム。
When an application tries to execute a first API (Application Program Interface) for acquiring first information stored in the terminal at a first time point, the first API is processed to execute the first API. An information acquisition step of acquiring information of 1;
An information storing step of storing the acquired first information and second information different from the first information in association with each other in a storage unit;
A reply step of returning the second information to the application;
At a second time point after the first time point, the application specifies the second information, and when the application tries to execute a second API different from the first API, the specified An information reading step of reading out the first information associated with second information from the storage unit;
A processing step of returning have line processing of the second API by using the first information read, the processing result does not include the first information to the application,
A program that causes a computer to execute.
アプリケーションが、端末に格納されている第1の情報を取得する第1のAPI(Application Program Interface)を第1の時点で実行しようとするときに、前記第1の情報と、前記第1の情報と異なる第2の情報とを関連付けて、前記第1の情報に対応して用意された記憶領域に記憶している記憶部の前記第1の情報に対応する記憶領域から前記第2の情報を読み出す第1の情報読み出しステップと、
読み出した前記第2の情報を前記アプリケーションに返す返答ステップと、
前記第1の時点よりも後の第2の時点において、前記アプリケーションが前記第2の情報を指定して前記第1のAPIと異なる第2のAPIを実行しようとするときに、指定された前記第2の情報と関連付けられた前記第1の情報を前記記憶部から読み出す第2の情報読み出しステップと、
読み出した前記第1の情報を用いて前記第2のAPIの処理を行い、前記第1の情報を含まない処理結果を前記アプリケーションに返す処理ステップと、
をコンピュータに実行させるためのプログラム。
When an application attempts to execute a first API (Application Program Interface) for acquiring first information stored in a terminal at a first time point, the first information and the first information The second information from the storage area corresponding to the first information of the storage unit stored in the storage area prepared corresponding to the first information. A first information reading step of reading;
A response step of returning the read second information to the application;
At a second time point after the first time point, the application specifies the second information, and when the application tries to execute a second API different from the first API, the specified A second information reading step of reading out the first information associated with second information from the storage unit;
A processing step of returning have line processing of the second API by using the first information read, the processing result does not include the first information to the application,
A program that causes a computer to execute.
JP2012103897A 2012-04-27 2012-04-27 Information processing apparatus and program Expired - Fee Related JP5958896B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012103897A JP5958896B2 (en) 2012-04-27 2012-04-27 Information processing apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012103897A JP5958896B2 (en) 2012-04-27 2012-04-27 Information processing apparatus and program

Publications (2)

Publication Number Publication Date
JP2013232103A JP2013232103A (en) 2013-11-14
JP5958896B2 true JP5958896B2 (en) 2016-08-02

Family

ID=49678479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012103897A Expired - Fee Related JP5958896B2 (en) 2012-04-27 2012-04-27 Information processing apparatus and program

Country Status (1)

Country Link
JP (1) JP5958896B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286905A (en) * 2006-04-17 2007-11-01 Nec System Technologies Ltd Information processing terminal device, file leakage prevention method, and file leakage prevention program
KR100843701B1 (en) * 2006-11-07 2008-07-04 소프트캠프(주) How Apia checks the information recorded in the call stack
JP5034921B2 (en) * 2007-12-14 2012-09-26 ソニー株式会社 Information processing apparatus, disk, information processing method, and program
JP5165444B2 (en) * 2008-04-02 2013-03-21 アイベクス株式会社 Connection control program for controlling connection authority to computer on network, network terminal, and connection control method

Also Published As

Publication number Publication date
JP2013232103A (en) 2013-11-14

Similar Documents

Publication Publication Date Title
US8626125B2 (en) Apparatus and method for securing mobile terminal
US8126506B2 (en) System and method for securely managing data stored on mobile devices, such as enterprise mobility data
KR101373986B1 (en) Method and apparatus to vet an executable program using a model
US7623846B2 (en) Process for the secure management of the execution of an application
CN105072255A (en) Mobile device privacy authority control method, device and corresponding mobile phone device
US20100093396A1 (en) Systems and methods for storing or performing functions within removable memory, such as a subscriber identity module of a mobile device
KR20130023656A (en) Portable multifunction device and method for controlling permission of application
US20080014990A1 (en) Method of locating a mobile communication system for providing anti theft and data protection during successive boot-up procedure
JP2007316637A (en) Screensaver for individual application program
KR20110128632A (en) Method and device for detecting malicious behavior of smartphone application
EP2960793B1 (en) Communication between frames of a web browser
KR20140082732A (en) Method for selectively exposing subscriber data
CN104915599A (en) Application program monitoring method and terminal
JP2013513161A (en) System and method for loading application classes
WO2017008415A1 (en) Apparatus and method for launching mobile applications from a lock screen
JP2005352907A (en) Mobile communication terminal and data access control method
CN115374481B (en) Data desensitization processing method and device, storage medium and electronic equipment
JP2013182500A (en) Api execution control device and program
CN108875396A (en) File operation method, usim card, terminal and readable storage medium storing program for executing
CN112231699A (en) Intercepting method, apparatus, electronic device and computer-readable medium for reading function
JP5958896B2 (en) Information processing apparatus and program
CA2892715C (en) System and method for unifying the listing and launching of applications and packages spread across multiple domains
JP2013145511A (en) Api execution controller and program
US20070061867A1 (en) Information processing apparatus, method and computer product for controlling activation of application
Kaur et al. PeMo: Modifying application's permissions and preventing information stealing on smartphones

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160613

R150 Certificate of patent or registration of utility model

Ref document number: 5958896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees