JP5958896B2 - Information processing apparatus and program - Google Patents
Information processing apparatus and program Download PDFInfo
- 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
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.
前述したように、アプリケーションは、情報の取得に関するパーミッションを宣言することで、端末に存在する情報を簡単に取得することができる。以下、図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.
以下、図面を参照し、本発明の実施形態を説明する。本明細書および図面では、便宜上、必要に応じて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
アプリケーション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
記憶部12は、揮発性または不揮発性のメモリで構成されており、OSのプログラムや、アプリケーションプログラム、情報処理装置が使用する各種データ等を記憶する。記憶部12は、揮発性メモリと不揮発性メモリの組合せであってもよい。表示部13は各種情報を表示する。
The
本実施形態のOSのプログラムでは、アプリケーションフレームワークで提供されている既存のクラスを定義しているコードに対して、制御部11の動作に必要な新たなコードが追加されている。つまり、本実施形態のOSのプログラムは、制御部11の動作を規定したコードを含む。
In the OS program of this embodiment, new code necessary for the operation of the
既存のOSのソースプログラムに対して、制御部11の動作を規定するコードが追加されることで、OSのソースプログラムが修正され、修正されたソースプログラムがアセンブル(コンパイル)されることで、修正されたOSの実行プログラム(実行ファイル)が生成される。このようにして生成されたOSの実行プログラムが情報処理装置にインストールされている。情報処理装置においてOSが起動することで制御部11が起動する。
The code that defines the operation of the
本実施形態のOSのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータ(本実施形態の情報処理装置)に読み込ませ、実行させることにより、制御部11は、プログラムで規定された処理を実行する。
The
ここで、「コンピュータ」は、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
ダミー情報および機密情報を取得した情報取得API実行部11aは、取得した各情報を関連付けて記憶部12に保存する(ステップS115)。図3は、記憶部12に保存された情報の一例を示している。1つのダミー情報(key0等)と1つの機密情報(電話番号等)とが対になって関連付けられ、それぞれのダミー情報および機密情報の組合せがテーブルとして保存されている。
The information acquisition
ダミー情報および機密情報を保存した後、情報取得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実行部11bは、表示APIが呼び出されたことを検出し、アプリケーション10から通知されたダミー情報と同一のダミー情報に対応する機密情報を記憶部12から読み出す(ステップS130)。例えば、図3の例では、アプリケーション10からkey0が通知された場合、テーブルから電話番号が読み出され、アプリケーション10からkey1が通知された場合、テーブルから端末識別番号が読み出される。
The display
機密情報を読み出した表示API実行部11bは、読み出した機密情報を表示部13に表示する(ステップS135)。図4は、表示部13に表示された機密情報の一例を示している。電話番号等の機密情報400が表示部13の画面に表示される。機密情報を表示した後、表示API実行部11bは処理結果をアプリケーション10に返答する(ステップS140)。
The display
上記の処理では、アプリケーション10にダミー情報が通知され、機密情報は通知されない。したがって、アプリケーション10が機密情報を直接利用できないようにすることができる。
In the above processing, dummy information is notified to the
次に、本実施形態における制御部11の動作を実現するコード(ソースコード)の一例を説明する。図5は、OSの既存のアプリケーションフレームワークに追加するクラスのコードの一例を示している。コード500ではダミー情報と機密情報を管理するテーブルが記述されている。コード510ではダミー情報と機密情報をテーブルに格納するメソッド(secretinsert)が記述されている。コード520ではダミー情報を検索キーとしてテーブルから機密情報を検索するメソッド(secretsearch)が記述されている。
Next, an example of code (source code) for realizing the operation of the
図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.
図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
上述したように、本実施形態によれば、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができる。したがって、情報漏洩を防止することができる。
As described above, according to the present embodiment, the use of confidential information can be restricted so that the
(第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
書き込みAPI実行部11cは、ファイルの書き込みを行うAPIである書き込みAPIを実行する。書き込みAPIは、BufferedWriterクラスのwriteであり、保存場所にメモリカードを指定することで、メモリカードへの書き込みを行うことができる。入力部14は、ユーザが操作するキーやボタン等を有し、ユーザによって入力された情報を制御部11に通知する。メモリカード15は、例えば情報処理装置に着脱可能な可搬記憶媒体である。
The write
次に、本実施形態の情報処理装置の動作を説明する。図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
書き込みAPIが呼び出されると、書き込みAPI実行部11cは、書き込みAPIが呼び出されたことを検出し、アプリケーション10から通知されたダミー情報と同一のダミー情報に対応する機密情報を記憶部12から読み出す(ステップS230)。この後、機密情報をメモリカード15に保存してもよいかどうかをユーザに確認させるための処理が行なわれる。書き込みAPI実行部11cは、読み出した機密情報を含むメッセージを表示部13に表示し、ユーザに確認を促す(ステップS235)。
When the write API is called, the write
図10は、表示部13に表示されたメッセージの一例を示している。電話番号等の機密情報1000と共に、ユーザに確認を促すメッセージ1010が表示部13の画面に表示される。さらに、ユーザが機密情報を保存することを許可するためのボタン1020と、ユーザが機密情報を保存することを拒否するためのボタン1030とが表示部13の画面に表示される。ユーザによって入力部14を介してボタン1020またはボタン1030が操作され、機密情報の保存を許可する/しないを示す情報が入力される。
FIG. 10 shows an example of a message displayed on the
表示部13に表示されたメッセージを確認したユーザによって、入力部14を介して情報が入力される(ステップS240)。機密情報の保存を許可することを示す情報が入力された場合、書き込みAPI実行部11cは、記憶部12から読み出した機密情報をメモリカード15に書き込む(ステップS245)。なお、機密情報の保存を拒否することを示す情報が入力された場合、書き込みAPI実行部11cが、アプリケーション10から通知されたダミー情報をメモリカード15に書き込むようにしてもよいし、メモリカード15への書き込みを中止してもよい。機密情報をメモリカード15に書き込んだ後、書き込みAPI実行部11cは処理結果をアプリケーション10に返答する(ステップS250)。
Information is input via the
上記の処理では、アプリケーション10にダミー情報が通知され、機密情報は通知されない。また、アプリケーション10がOSの標準的な書き込みAPIを使用せずに、独自に作成されたネイティブメソッドを使用してメモリカード15に機密情報を保存しようとしても、アプリケーション10には機密情報の代わりにダミー情報が通知されているので、アプリケーション10からネイティブメソッドにダミー情報が渡され、メモリカード15にはダミー情報が保存される。したがって、本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。
In the above processing, dummy information is notified to the
従来のパーミッションに基づいてアプリケーションの動作に制限を与える機構では、アプリケーションが宣言したパーミッションが、アプリケーションによって、いつ、どのように使用されているのかをユーザが知ることができない。ユーザが、アプリケーションをインストールするために、パーミッションを一度許可してしまうと、パーミッションを必要とする動作をアプリケーションが実行したとしても、ユーザにはそのことが通知されない。そのため、ユーザが情報漏洩などの被害に気づくことが難しい。 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
(第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
本実施形態では、情報取得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実行部11aおよび表示API実行部11bは、アプリケーション10が情報取得API実行部11aおよび表示API実行部11bのそれぞれを呼び出したときにアプリケーション10と同一のプロセスで処理を行う。Android(登録商標)では、通常、UID(User ID)と呼ばれる、プロセス毎に異なるIDがプロセスに与えられ、UIDが異なるプロセス間ではリソースを共有することができない。
The information acquisition
本実施形態では、アプリケーション10が記憶部12のテーブルに直接アクセスして機密情報を取得できないようにするため、アプリケーション10のプロセスと、API実行制御部11dのプロセスとには、異なるUIDが与えられ、API実行制御部11dは、アプリケーション10と異なるプロセスで処理を行う。上記によって、機密情報の安全性を高めることができる。
In the present embodiment, in order to prevent the
次に、本実施形態の情報処理装置の動作を説明する。図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
ダミー情報および機密情報を取得した情報取得API実行部11aは、取得した各情報をAPI実行制御部11dに通知し、各情報の保存をAPI実行制御部11dに要求する。要求を受けたAPI実行制御部11dは、情報取得API実行部11aから通知されたダミー情報および機密情報を関連付けて記憶部12に保存する(ステップS315)。
The information acquisition
ダミー情報および機密情報が保存された後、情報取得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実行部11bは、表示APIが呼び出されたことを検出し、アプリケーション10から通知されたダミー情報をAPI実行制御部11dに通知し、機密情報の読み出しをAPI実行制御部11dに要求する(ステップS330)。要求を受けたAPI実行制御部11dは、表示API実行部11bから通知されたダミー情報と同一のダミー情報に対応する機密情報を記憶部12から読み出す(ステップS335)。
The display
機密情報を読み出したAPI実行制御部11dは、読み出した機密情報を表示API実行部11bに通知する。表示API実行部11bは、通知された機密情報を表示部13に表示する(ステップS340)。機密情報を表示した後、表示API実行部11bは処理結果をアプリケーション10に返答する(ステップS345)。
The API
上記の処理では、アプリケーション10にダミー情報が通知され、機密情報は通知されない。したがって、本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。また、アプリケーション10と異なるプロセスで処理を行うAPI実行制御部11dのみが、機密情報が保存された記憶部12のテーブルにアクセスできるようにすることによって、機密情報の安全性を高めることができる。
In the above processing, dummy information is notified to the
(第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
本実施形態では、情報取得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実行部11aおよび書き込みAPI実行部11cは、アプリケーション10が情報取得API実行部11aおよび書き込みAPI実行部11cのそれぞれを呼び出したときにアプリケーション10と同一のプロセスで処理を行う。本実施形態でも、アプリケーション10が記憶部12のテーブルに直接アクセスして機密情報を取得できないようにするため、アプリケーション10のプロセスと、API実行制御部11eのプロセスとには、異なるUIDが与えられ、API実行制御部11eは、アプリケーション10と異なるプロセスで処理を行う。上記によって、機密情報の安全性を高めることができる。
The information acquisition
次に、本実施形態の情報処理装置の動作を説明する。図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
書き込みAPIが呼び出されると、書き込みAPI実行部11cは、書き込みAPIが呼び出されたことを検出し、アプリケーション10から通知されたダミー情報をAPI実行制御部11eに通知し、機密情報の読み出しをAPI実行制御部11eに要求する(ステップS430)。要求を受けたAPI実行制御部11eは、書き込みAPI実行部11cから通知されたダミー情報と同一のダミー情報に対応する機密情報を記憶部12から読み出す(ステップS435)。
When the write API is called, the write
この後、機密情報をメモリカード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
表示部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
上記の処理では、アプリケーション10にダミー情報が通知され、機密情報は通知されない。したがって、本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。また、アプリケーション10と異なるプロセスで処理を行うAPI実行制御部11eのみが、機密情報が保存された記憶部12のテーブルにアクセスできるようにすることによって、機密情報の安全性を高めることができる。
In the above processing, dummy information is notified to the
また、機密情報がメモリカード15に書き込まれる際に、機密情報の書き込みを行ってもよいかどうかをユーザに確認させることができる。さらに、ユーザは、メモリカード15に書き込まれる機密情報を表示部13上で確認し、機密情報の書き込みを許可するかどうかを決定することができる。
Further, when the confidential information is written to the
(第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
次に、本実施形態の情報処理装置の動作を説明する。図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
本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。
Also in this embodiment, the use of confidential information can be restricted so that the
(第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
図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
(第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
次に、本実施形態の情報処理装置の動作を説明する。図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
本実施形態においても、アプリケーション10が機密情報を直接利用できないように、機密情報の利用を制限することができ、情報漏洩を防止することができる。また、機密情報の安全性を高めることができる。
Also in this embodiment, the use of confidential information can be restricted so that the
(第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
図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
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、各実施形態の情報処理装置をスマートフォン等の携帯電話端末に適用してもよいし、適用先は汎用的な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
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の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 .
取得した前記第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.
読み出した前記第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.
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)
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 |
-
2012
- 2012-04-27 JP JP2012103897A patent/JP5958896B2/en not_active Expired - Fee Related
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 |