JP2010092376A - Information processing apparatus, information processing method, and information processing program - Google Patents
Information processing apparatus, information processing method, and information processing program Download PDFInfo
- Publication number
- JP2010092376A JP2010092376A JP2008263320A JP2008263320A JP2010092376A JP 2010092376 A JP2010092376 A JP 2010092376A JP 2008263320 A JP2008263320 A JP 2008263320A JP 2008263320 A JP2008263320 A JP 2008263320A JP 2010092376 A JP2010092376 A JP 2010092376A
- Authority
- JP
- Japan
- Prior art keywords
- program
- information processing
- processing apparatus
- external
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】外部にあるプログラムを実行する場合に、その外部にあるプログラムの挙動を制御することによって、悪意ある第三者の攻撃によって生じる被害を少なくすることができるようにした情報処理装置を提供する。
【解決手段】第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置であって、判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、禁止制御手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御する。
【選択図】図1Provided is an information processing apparatus capable of reducing damage caused by a malicious third party attack by controlling the behavior of an external program when an external program is executed. To do.
An information processing apparatus capable of calling a second external program from within the first program and executing the second program, wherein the judging means analyzes the first program. And determining whether or not the second program exists, and prohibiting control means prohibits execution of the second program when the determining means determines that the second program exists. To control.
[Selection] Figure 1
Description
本発明は、第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置、情報処理方法及び情報処理プログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and an information processing program that can call an external second program from within the first program and execute the second program.
端末装置で動作するプログラムとして、その端末装置内の記憶装置に記憶されている(ローカルにインストールともいう)ものと、通信回線(有線、無線を問わない)を介して接続されているサーバ等の他の情報処理装置から、そのプログラムを必要とするときにインストールするものとがある。
例えば、HTML(Hyper Text Mark‐up Language)、XML(eXtensible Markup Language)等のWeb記述言語による表現とJavaScript(登録商標)によるプログラム実行が可能なWidgetは、端末装置のローカルにインストールされたプログラムと、そのWidgetから通信回線を経由して呼び出される外部のサーバ等におかれたプログラムが存在する。なお、端末装置内のプログラムからの呼び出しとして、Web記述言語からの呼び出し、JavaScriptからの呼び出し等がある。
例えば、Widget内の外部プログラムを呼び出す記述として、
<Script Language=“JavaScript1.2” src=“http://aaa.bbb.ccc/dd.js”>
や、スクリプトからスクリプトを呼び出す記述として、
xmlhttp.open=(“post”,”http://aaa.bbb.ccc/dd.js”)
がある。
A program that runs on a terminal device, such as a server that is stored in a storage device in the terminal device (also referred to as local installation), or a server that is connected via a communication line (whether wired or wireless) Some of them are installed from other information processing apparatuses when the program is needed.
For example, a Widget that can be expressed in a Web description language such as HTML (Hyper Text Mark-up Language), XML (extensible Markup Language), etc. and can be executed by a JavaScript (registered trademark) is a locally installed program of the terminal device There is a program placed in an external server or the like that is called from the Widget via a communication line. Note that calls from programs in the terminal device include calls from a Web description language, calls from Java Script, and the like.
For example, as a description for calling an external program in Widget,
<Script Language = “JavaScript1.2” src = “http: //aaa.bbb.ccc/dd.js”>
Or as a description to call the script from the script,
xmlhttp.open = (“post”, ”http: //aaa.bbb.ccc/dd.js”)
There is.
Widgetにドメイン・セキュリティ・モデルを適用し、セキュリティドメイン毎にメソッドの利用可否が割り当てられている場合では、そのWidgetから呼び出される外部におかれたJavaScriptは通常、起動したWidgetのセキュリティと同一のドメイン内で動作する。
例えば、図17の例に示すように、端末装置1710は、Webサーバ1750とインターネット1790を介して接続されている。そして、端末装置1710内にはAドメイン1720、Bドメイン1730があり、Bドメイン1730内ではWidget1731が動作する。Widget1731がWebサーバ1750内のJavaScript1732を呼び出すと、そのJavaScript1732はBドメイン1730内で動作する。つまり、JavaScript1732はWidget1731と同じセキュリティレベル(Bドメイン1730のセキュリティレベル)で動作する。
When the domain security model is applied to the Widget and the availability of the method is assigned to each security domain, the external JavaScript called from the Widget is usually the same domain as the security of the activated Widget. Work within.
For example, as shown in the example of FIG. 17, the
通信回線を経由して呼び出される外部のサーバ等におかれたプログラムには、次のリスクがある。
(A1)Man−in−the−Midle attack(通信経路におけるJavaScriptの差し替え)
(A2)Webの改ざんによるJavaScriptの差し替え
例えば、図18の例に示すように、前記(A1)によってクラック1801が発生し、インターネット1790内の通信途中でJavaScript1732が差し替えられてしまうこと、前記(A2)によってクラック1802が発生し、Webサーバ1750内でJavaScript1732が差し替えられてしまうことがあり得る。
この場合、悪意あるプログラムである差し替えられたJavaScript1732が、Bドメイン1730の権限で実行できてしまう。例えば、Bドメイン1730以外では実行できない、端末装置1710から個人情報を取得する機能を実行させ、攻撃者のサイトに送付するということが可能になってしまう。
A program placed on an external server or the like called via a communication line has the following risks.
(A1) Man-in-the-Middle attack (replacement of JavaScript in the communication path)
(A2) Replacement of JavaScript due to Web tampering For example, as shown in the example of FIG. 18, a
In this case, the replaced JavaScript 1732 that is a malicious program can be executed with the authority of the
これに関連する技術として、例えば、特許文献1には、従来のアプリケーション保護技術では、ダウンロード前後のアプリケーションのハッシュ値を比較することで、ダウンロード時にアプリケーションが改ざんされていないことを保証していたが、しかしこの方法では実行時の改ざんに対抗できないため、実行中の仮想マシンが改ざんされた場合にはアプリケーションを保護することができないということを課題とし、プラットフォームに依存しない中間言語で表現されたプログラムを、プラットフォームに依存した命令へ変換しながら動作する仮想マシンの改ざんを検査する方法であって、第三者による盗聴、改ざんを防止する耐タンパ実行部で実行される仮想マシンローダにより仮想マシンをロードするステップと、ロードされた仮想マシンのアドレス領域を、前記耐タンパ実行部で実行される改ざん検査部に通知するステップと、前記改ざん検査部により、前記仮想マシンのアドレス領域が改ざんされたか否かを、所定のタイミングで判定するステップと、判定の結果、前記仮想マシンが改ざんされていると判定された場合には、前記改ざん検査部は前記仮想マシンの実行を停止させるステップとを含む、仮想マシン改ざん検査方法が開示されている。 As a related technology, for example, in Patent Document 1, in the conventional application protection technology, the hash value of the application before and after the download is compared to ensure that the application has not been tampered with during the download. However, since this method cannot counter tampering during execution, the problem is that if the running virtual machine is tampered with, the application cannot be protected, and the program is expressed in an intermediate language independent of the platform. Is converted to a platform-dependent instruction, and the virtual machine is inspected by a virtual machine loader executed by a tamper-proof execution unit that prevents eavesdropping and tampering by a third party. Step to load and loaded virtual The thin address area is notified to the tampering inspection section executed by the tamper resistant execution section, and it is determined at a predetermined timing whether or not the virtual machine address area has been tampered with by the tampering inspection section. A virtual machine falsification inspection method including a step and a step of stopping the execution of the virtual machine when the virtual machine is determined to be falsified as a result of the determination; Yes.
また、ドメイン毎にプログラムの実施権限を変更する実装例としては、携帯端末用Javaがある。その仕様は非特許文献1に規定されている。
また、Symbian OS v9からネイティブ・アプリケーションで同様のドメイン・セキュリティ・モデルが採用されている(非特許文献2参考)。
また、OMTPには、このようなセキュリティ・モデルの一般的な枠組みが存在する(非特許文献3参考)。
Also, a similar domain security model has been adopted for native applications from Symbian OS v9 (see Non-Patent Document 2).
OMTP has a general framework for such a security model (see Non-Patent Document 3).
しかしながら、外部のサーバ等におかれたプログラムを取得し、実行する場合に、内部にあるプログラムの実行ポリシと外部のサーバ等におかれたプログラムの実行ポリシをそれぞれ設定し、外部と内部とも異なる実行権限を実現させた技術はなかった。
本発明は、このような従来の技術が有する問題点に着目してなされたもので、外部にあるプログラムを実行する場合に、その外部にあるプログラムの挙動を制御することによって、悪意ある第三者の攻撃によって生じる被害を少なくすることができるようにした情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的としている。
However, when a program stored in an external server is acquired and executed, an internal program execution policy and an execution policy of a program stored in an external server are set separately. There was no technology that realized the execution authority.
The present invention has been made paying attention to such problems of the conventional technology, and when executing an external program, the behavior of the external program is controlled to control a malicious third. It is an object of the present invention to provide an information processing apparatus, an information processing method, and an information processing program that can reduce damage caused by a person's attack.
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
[1] 第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置であって、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御する禁止制御手段を具備することを特徴とする情報処理装置。
The gist of the present invention for achieving the object lies in the inventions of the following items.
[1] An information processing apparatus that can call an external second program from within the first program and execute the second program, analyzing the first program, and executing the second program A determination means for determining whether or not there is a program; and a prohibition control means for controlling the execution of the second program when the determination means determines that the second program exists. An information processing apparatus comprising the information processing apparatus.
[2] 第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置であって、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムに認証不要のドメインでの実行を許可する許可手段を具備することを特徴とする情報処理装置。 [2] An information processing apparatus capable of calling a second program externally from within the first program and executing the second program, analyzing the first program, and analyzing the second program A determination unit that determines whether or not there is a program; and a permission unit that permits the second program to execute in a domain that does not require authentication when the determination unit determines that the second program exists. An information processing apparatus comprising:
[3] 第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置であって、手続き毎に実行可否の規則を記憶している記憶手段と、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラム内の手続き毎に、前記記憶手段に記憶されている規則に従って、該手続きに対する実行の権限を割り当てる実行権限割当手段を具備することを特徴とする情報処理装置。 [3] An information processing apparatus that can call an external second program from within the first program and execute the second program, and stores a rule for whether or not to execute each procedure And determining means for analyzing the first program to determine whether or not there is the second program, and when the determining means determines that the second program is present, An information processing apparatus comprising: an execution authority assigning unit that assigns an execution authority for the procedure in accordance with a rule stored in the storage unit for each procedure in the second program.
[4] 第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置であって、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの署名を検証することによって、該第2のプログラムに対する実行の権限を割り当てる実行権限割当手段を具備することを特徴とする情報処理装置。 [4] An information processing apparatus capable of calling a second external program from within the first program and executing the second program, analyzing the first program, and executing the second program A determination means for determining whether or not there is a program; and when the determination means determines that the second program exists, the second program is verified by verifying a signature of the second program. An information processing apparatus comprising: an execution authority assigning means for assigning an execution authority to
[5] 前記判断手段は、前記第1のプログラムを実行する前に又は前記第1のプログラムを実行しているときに、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断することを特徴とする[1]から[4]のいずれか一項に記載の情報処理装置。 [5] The determination unit analyzes the first program before the first program is executed or when the first program is executed, and whether the second program is present. The information processing apparatus according to any one of [1] to [4], wherein the information processing apparatus determines whether or not.
[6] 前記[1]から[4]に記載の情報処理装置のうち、複数の該情報処理装置を備えており、前記複数の情報処理装置のうち、いずれか1つの情報処理装置を選択する選択手段と、前記選択手段によって選択された情報処理装置による処理を行わせるように制御する制御手段を具備することを特徴とする情報処理装置。 [6] Among the information processing apparatuses according to [1] to [4], the information processing apparatus includes a plurality of the information processing apparatuses, and selects any one of the plurality of information processing apparatuses. An information processing apparatus comprising: a selection unit; and a control unit configured to perform control so that processing by the information processing apparatus selected by the selection unit is performed.
[7] 第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置が行う情報処理方法であって、判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、禁止制御手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御することを特徴とする情報処理方法。 [7] An information processing method performed by an information processing apparatus capable of calling a second external program from within the first program and executing the second program, wherein the determining means includes the first program And determining whether or not there is the second program, and when the determination means determines that the second program exists, the prohibition control means executes the second program. An information processing method characterized in that control is performed so as to be prohibited.
[8] 第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置が行う情報処理方法であって、判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、許可手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムに認証不要のドメインでの実行を許可することを特徴とする情報処理方法。 [8] An information processing method performed by an information processing apparatus that can call an external second program from within the first program and execute the second program, wherein the determination means includes the first program And determining whether or not the second program is present. If the determination means determines that the second program is present, the permission means does not require authentication for the second program. An information processing method characterized by permitting execution in a domain.
[9] 第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置が行う情報処理方法であって、前記情報処理装置は、手続き毎に実行可否の規則を記憶している記憶手段を具備し、判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断すると、実行権限割当手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラム内の手続き毎に、前記記憶手段に記憶されている規則に従って、該手続きに対する実行の権限を割り当てることを特徴とする情報処理方法。 [9] An information processing method performed by an information processing apparatus capable of calling a second external program from within the first program and executing the second program, wherein the information processing apparatus A storage unit that stores an execution permission rule; the determination unit analyzes the first program to determine whether the second program is present; If it is determined by the determination means that the second program is present, an execution authority for the procedure is assigned to each procedure in the second program according to the rules stored in the storage means. A characteristic information processing method.
[10] 第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置が行う情報処理方法であって、判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、実行権限割当手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの署名を検証することによって、該第2のプログラムに対する実行の権限を割り当てることを特徴とする情報処理方法。 [10] An information processing method performed by an information processing apparatus that can call an external second program from within the first program and execute the second program, wherein the determination means includes the first program And determining whether or not the second program exists, and the execution right allocating means determines that the second program exists when the determining means determines that the second program exists. An information processing method characterized by assigning an execution right to the second program by verifying a signature.
[11] コンピュータを、第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置として機能させるための情報処理プログラムであって、前記コンピュータを、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御する禁止制御手段として機能させることを特徴とする情報処理プログラム。 [11] An information processing program for causing a computer to function as an information processing apparatus that calls an external second program from within the first program and can execute the second program, Analyzing the first program to determine whether or not the second program exists, and when the determination means determines that the second program exists, the second program An information processing program that functions as prohibition control means for prohibiting execution of the program.
[12] コンピュータを、第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置として機能させるための情報処理プログラムであって、前記コンピュータを、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムに認証不要のドメインでの実行を許可する許可手段として機能させることを特徴とする情報処理プログラム。 [12] An information processing program for causing a computer to call an external second program from within the first program and causing the computer to function as an information processing apparatus capable of executing the second program, Analyzing the first program to determine whether or not the second program exists, and when the determination means determines that the second program exists, the second program An information processing program that causes the program to function as a permission unit that permits execution in a domain that does not require authentication.
[13] コンピュータを、第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置として機能させるための情報処理プログラムであって、前記コンピュータを、手続き毎に実行可否の規則を記憶している記憶手段と、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラム内の手続き毎に、前記記憶手段に記憶されている規則に従って、該手続きに対する実行の権限を割り当てる実行権限割当手段として機能させることを特徴とする情報処理プログラム。 [13] An information processing program for causing a computer to call an external second program from within the first program and to function as an information processing apparatus capable of executing the second program, wherein the computer The storage means for storing the execution permission rule for each procedure; the determination means for analyzing the first program to determine whether the second program exists; and the determination means, When it is determined that there is a second program, it is made to function as an execution authority assigning means for assigning an execution right for the procedure in accordance with the rules stored in the storage means for each procedure in the second program. An information processing program characterized by that.
[14] コンピュータを、第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置として機能させるための情報処理プログラムであって、前記コンピュータを、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの署名を検証することによって、該第2のプログラムに対する実行の権限を割り当てる実行権限割当手段として機能させることを特徴とする情報処理プログラム。 [14] An information processing program for causing a computer to call an external second program from within the first program and causing the computer to function as an information processing apparatus capable of executing the second program. Analyzing the first program to determine whether or not the second program exists, and when the determination means determines that the second program exists, the second program An information processing program which functions as an execution authority assigning means for assigning an execution authority to the second program by verifying a signature of the program.
前記本発明は次のように作用する。
本発明における情報処理装置、情報処理方法及び情報処理プログラムは、第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムの実行を制御する。
判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、禁止制御手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御する。
The present invention operates as follows.
The information processing apparatus, the information processing method, and the information processing program according to the present invention call a second program outside from the first program and control the execution of the second program.
The determining means analyzes the first program to determine whether or not the second program exists, and the prohibition control means determines that the second program exists by the determining means Controls to prohibit execution of the second program.
判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、許可手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムに認証不要のドメインでの実行を許可する。 The determining means analyzes the first program to determine whether or not the second program exists, and the permission means determines that the determining means determines that the second program exists. The second program is allowed to execute in a domain that does not require authentication.
判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断すると、実行権限割当手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラム内の手続き毎に、前記記憶手段に記憶されている規則に従って、該手続きに対する実行の権限を割り当てる。 When the judging means analyzes the first program and judges whether or not there is the second program, the execution authority allocating means is judged by the judging means that the second program is present. In this case, an execution right for the procedure is assigned to each procedure in the second program in accordance with the rules stored in the storage means.
判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、実行権限割当手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの署名を検証することによって、該第2のプログラムに対する実行の権限を割り当てる。
これらは、外部にあるプログラムの挙動を制御することによって、悪意ある第三者の攻撃によって生じる被害を少なくすることができるものである。
The determining means analyzes the first program to determine whether or not the second program exists, and the execution authority allocating means determines that the second program exists by the determining means. In this case, the execution authority for the second program is assigned by verifying the signature of the second program.
By controlling the behavior of external programs, they can reduce damage caused by malicious third party attacks.
本発明にかかる情報処理装置、情報処理方法及び情報処理プログラムによれば、外部にあるプログラムを実行する場合に、その外部にあるプログラムの挙動を制御することによって、悪意ある第三者の攻撃によって生じる被害を少なくすることができる。 According to the information processing apparatus, the information processing method, and the information processing program according to the present invention, when an external program is executed, by controlling the behavior of the external program, a malicious third party attack The damage that occurs can be reduced.
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がプログラムの場合は、記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク等で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「所定」という用語は、予め定められたの意の他に、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じての意を含めて用いる。
Hereinafter, an example of a preferred embodiment for realizing the present invention will be described with reference to the drawings.
FIG. 1 shows a conceptual module configuration diagram of a configuration example of the present embodiment.
The module generally refers to a component such as software or hardware that can be logically separated. Therefore, the module in the present embodiment indicates not only a module in a program but also a module in a hardware configuration. Therefore, the present embodiment also serves as an explanation of a program, a system, and a method. However, for the sake of explanation, the words “store”, “store”, and equivalent terms are used. However, when the embodiment is a program, these terms are controlled to be stored in the storage device. I mean. In addition, the modules correspond almost one-to-one with the functions. However, in mounting, one module may be composed of one program, or a plurality of modules may be composed of one program. A plurality of programs may be used. The plurality of modules may be executed by one computer, or one module may be executed by a plurality of computers in a distributed or parallel environment. Note that one module may include other modules. In the following, “connection” includes not only physical connection but also logical connection (data exchange, instruction, reference relationship between data, etc.).
Further, the system or apparatus includes a configuration in which a plurality of computers, hardware, devices, and the like are connected via a network and the like, and includes a case where the system or device is realized by a single computer, hardware, devices, and the like. The term “predetermined” is used in addition to a predetermined meaning, including the meaning according to the situation / state at that time or the situation / state until then.
本実施の形態の概要を説明する。
アプリケーション等のプログラムが属するセキュリティのレベルに応じ、プログラムの挙動を実行可能と実行不可能に振る舞いを変更することが可能な情報処理装置100であって、情報処理装置100内にあるアプリケーション等のプログラムと、情報処理装置100外にあって、そのアプリケーション等のプログラムから呼び出されるプログラムに、別個のセキュリティのレベルを持たせ、それぞれのレベルに応じてプログラムを実行することが可能な情報処理装置100である。
An outline of the present embodiment will be described.
An
本実施の形態である情報処理装置100は、内部にあるプログラムA内から外部にあるプログラムBを呼び出して、そのプログラムBを実行し得るものであって、図1に示すように、情報処理装置100は、プログラム受取モジュール110、プログラム登録モジュール120、プログラム実行モジュール130、外部呼び出し処理モジュール140を有しており、外部にあるサーバ等と通信回線(有線、無線を問わない)を介して接続されている。例えば、情報処理装置100として、携帯電話等のデータ通信可能な端末装置が該当する。
An
なお、情報処理装置100内に記憶されているプログラムAとして、Widget等(Web記述言語による記載を含む)がある。Widget(ウィジェット)とは、アプリケーション・プログラムを構成するプログラム部品又はその組み合わせであり、それ自体が単独のプログラムとして動作してもよい。また、Widgetは、JavaScriptのようなインタプリンタを介する方法ではなく、ネイティブ・アプリケーションであっても可能である。
また、ネイティブ・アプリケーションとは、実行する情報処理装置100のCPU(Central Processing Unit)、ソフトウェアプラットフォーム、API(Application Program Interface)等向けに特化したアプリケーションである。つまり、ネイティブ・アプリケーション(ネイティブなコード)を携帯電話等の情報処理装置100が読み込むと、内蔵しているCPUがそのまま実行できる形でメモリ中におかれ、実行されるものである。
Note that as the program A stored in the
The native application is an application specialized for a CPU (Central Processing Unit), a software platform, an API (Application Program Interface) of the
プログラム受取モジュール110は、プログラムAを受け取る。例えば、プログラムAとしてWidgetがあり、例えば、そのファイル拡張子によって受け取るべきWidgetであるか否かを判断するようにしてもよい。また、プログラムAの受け取りは、外部のサーバ等から通信回線を介した受信の他に、リムーバブルメディア等から読み取るようにしてもよい。
プログラム登録モジュール120は、プログラム受取モジュール110が受け取ったプログラムAの登録を行う。ここで、プログラムAの登録とは、取得したプログラムAのセキュリティ・レベルを検証し、セキュリティ・レベルを割り当てることである。
プログラム実行モジュール130は、プログラム登録モジュール120で割り当てられたセキュリティ・レベルに従って、プログラム受取モジュール110が受け取ったプログラムAを実行させる。
The
The
The
外部呼び出し処理モジュール140は、外部呼び出し制御モジュール141、外部呼び出し実行モジュール142、エラー処理モジュール143を有しており、プログラムBの呼び出しに関する制御、その実行等を行う。
The external
外部呼び出し制御モジュール141は、プログラムAを解析して、プログラムBの呼び出しがあるか否かを判断し、その判断結果として、プログラムA内にプログラムBの呼び出しがあると判断した場合は、プログラムBの実行を禁止するように制御する。
The external
また、外部呼び出し制御モジュール141は、プログラムAを解析して、プログラムBの呼び出しがあるか否かを判断し、その判断結果として、プログラムA内にプログラムBの呼び出しがあると判断した場合は、プログラムBに認証不要のドメインでの実行を許可するようにしてもよい。「認証」とは、そのプログラムの実行に際して、証明書等の検証を行うことによって、その実行を許可又は許可しないことをいう。そして、ドメインとは、情報処理に用いる資源が共通の制御下におかれているコンピュータの一部分又は全部をいい、例えば、あるポリシー(規則)の制約下によってプログラムの挙動が定まり、そのポリシーの制約下にあることをドメインに属しているという。より具体的には、ドメイン・セキュリティ・モデルにおけるドメインのことを指す。また、コンピュータ内に仮想的なコンピュータを構築した場合に、その仮想的なコンピュータの1つをドメインとしてもよい。
Further, the external
また、外部呼び出し制御モジュール141は、プログラムAを解析して、プログラムBの呼び出しがあるか否かを判断し、その判断結果として、プログラムA内にプログラムBの呼び出しがあると判断した場合は、プログラムB内の手続き毎に、ポリシファイルに従って、その手続きに対する実行の権限を割り当てるようにしてもよい。なお、ポリシファイルは、情報処理装置100内の記憶装置に記憶されており、プログラムの実行権限に関する規則を定めた規制ファイルであり、例えば、情報処理装置100等のマシン、ドメイン、ユーザID、時間帯などに基づいてプログラム又はプログラム内の手続き(メソッド)の実行を許諾又は禁止等するためのものである。
Further, the external
また、外部呼び出し制御モジュール141は、プログラムAを解析して、プログラムBの呼び出しがあるか否かを判断し、その判断結果として、プログラムA内にプログラムBの呼び出しがあると判断した場合は、プログラムBの署名を検証することによって、プログラムBに対する実行の権限を割り当てるようにしてもよい。
また、外部呼び出し制御モジュール141による前記の判断は、プログラムAを実行する前に又はプログラムAを実行しているときに、プログラムAを解析して、プログラムA内にプログラムBの呼び出しがあるか否かを判断するようにしてもよい。より具体的には、プログラムAを実行する前とは、プログラム受取モジュール110がプログラムAを受け取った後又はプログラム登録モジュール120がプログラムAを登録した後からプログラム実行モジュール130がプログラムAを実行させる前のことをいい、プログラムAを実行しているときとは、プログラム実行モジュール130がプログラムAを実行させている場合に、プログラムBの呼び出しがある都度にという意味である。
Further, the external
Further, the determination by the external
外部呼び出し実行モジュール142は、外部呼び出し制御モジュール141によってプログラムBの実行が許可された場合は、プログラムBを外部のサーバ等から呼び出して、プログラムBを実行させる。
エラー処理モジュール143は、外部呼び出し制御モジュール141によってプログラムBの実行禁止等になった場合のエラー処理を行う。例えば、エラーと判断した理由、そのエラーに対する処置等を情報処理装置100のディスプレイ等の表示装置に出力する。また、プログラムBを呼び出さないように、プログラムAを変更してもよいし、プログラムBの呼び出し処理をスキップさせるようにしてもよい。
When the execution of the program B is permitted by the external
The
図2は、本実施の形態による処理例を示すフローチャートである。
以下、プログラムAとしてWidgetを主に例示し、外部のサーバ等にあるプログラムBのことを外部スクリプトと称し、JavaScriptを主に例示して説明する。
ステップS202では、プログラム受取モジュール110がWidgetを受け取って、情報処理装置100に導入する。つまり、そのWidgetを情報処理装置100にて動作可能にする。
ステップS204では、プログラム登録モジュール120が、ステップS202で導入したWidgetのセキュリティ・レベルを登録する。
ステップS206では、プログラム実行モジュール130が、ステップS204で登録されたセキュリティ・レベル下でWidgetを実行させる。
ステップS208では、外部呼び出し制御モジュール141が、ステップS206で実行されたWidgetから外部スクリプトの呼び出しを行う。この場合、外部スクリプトの実行を許可するか否かの判断を行う。
ステップS210では、外部呼び出し実行モジュール142が、ステップS208で呼び出された外部スクリプトを実行させる。
FIG. 2 is a flowchart showing an example of processing according to this embodiment.
Hereinafter, Widget will be mainly exemplified as the program A, the program B in the external server or the like will be referred to as an external script, and JavaScript will be mainly exemplified and described.
In step S <b> 202, the
In step S204, the
In step S206, the
In step S208, the external
In step S210, the external
図3は、図2の例に示したステップS202の処理例を示す説明図である。主にプログラム受取モジュール110が行う処理である。
端末装置310とサーバ装置320は、インターネット330を介して接続されている。端末装置310は図1の例に示した情報処理装置100に該当する。ここで、端末装置310が行うWidgetの導入とは、端末装置310外(例えば、サーバ装置320)にあるWidget340を端末装置310内に格納することである。
端末装置310(情報処理装置100のプログラム受取モジュール110)は、サーバ装置320内に格納されているファイルのうち、ファイル拡張子によってWidget340の登録処理を行うか否かを判断する。例えば、Widget340のファイル拡張子として「.wgt」、「.swgt」がある。
サーバ装置320は、端末装置310の要求に応じて、ファイルを送信する。
図3の例では、端末装置310が、インターネット330を介してのファイル転送としてWidget340を受け取っているが、他の端末装置等から送信されてきた電子メールの添付ファルとして受け取ってもよいし、ブルートゥース(Bluetooth(登録商標))、メモリカード等のリムーバブルメディアを経由して受け取るようにしてもよい。
FIG. 3 is an explanatory diagram showing a processing example of step S202 shown in the example of FIG. This process is mainly performed by the
The
The terminal device 310 (the
The
In the example of FIG. 3, the
プログラム受取モジュール110が導入するWidgetは2種類のパッケージがある。つまり、署名情報付きとそうでないものがある。
図4は、Widgetのファイル構成例を示す説明図である。署名情報付きではないWidgetのパッケージは、図4(a)の例に示すようにファイル拡張子として「.wgt」を有しているXXX.wgt410がある。
XXX.wgt410内には、図4(b)の例に示すようなファイル群(XML411、412、HTML413、CSS414、JavaScript415、Image416、Sound417)がパッケージ(アーカイブ)されている。なお、パッケージとは、複数のファイルを圧縮等を用いてひとまとめにすることであり、例えば、その手法としてZIP、TAR等がある。
There are two types of Widgets introduced by the
FIG. 4 is an explanatory diagram showing an example of a file structure of Widget. A package of Widget without signature information has a file extension “.wgt” as shown in the example of FIG. There is wgt410.
XXX. A file group (
図5は、署名情報付きWidgetのファイル構成例を示す説明図である。署名情報付きのWidgetのパッケージは、図5(a)の例に示すようにファイル拡張子として「.swgt」を有しているXXX.swgt510がある。
XXX.swgt510内には、図5(b)の例に示すようなファイル群(XML411、412、HTML413、CSS414、JavaScript415、Image416、Sound417)に加えて署名情報ファイル511がパッケージされている。つまり、セキュリティ・レベルを決めるために電子署名である署名情報ファイル511が付されている。署名情報ファイル511には、署名値、署名方法、電子証明書等が記載されている。
この署名情報ファイル511は、図5(b)の例に示すようにWidgetファイルと共にアーカイブしている場合と、Widgetパッケージ(XML411からSound417)と別に流通する方法がある。後者の場合、署名情報ファイル511には、Widgetパッケージの位置情報(URL(Uniform Resource Locator)等)等が記載されることがある。その場合、まず署名情報ファイル511を取得してから、その中の位置情報を利用してWidgetパッケージを取得する。
FIG. 5 is an explanatory diagram showing an example of the file structure of a Widget with signature information. As shown in the example of FIG. 5A, the Widget package with signature information has a file extension “.swgt” as XXX. There is swgt510.
XXX. In the
As shown in the example of FIG. 5B, the signature information file 511 is distributed separately from the case where it is archived together with the Widget file and the Widget package (from
図6は、図2の例に示したステップS204の処理例を示す説明図である。主にプログラム登録モジュール120が行う処理である。
プログラム登録モジュール120は、プログラム受取モジュール110によって受け取られたWidgetであるXXX.wgt410、XXX.swgt510に基づいて、そのWidgetを登録する。ここで、Widgetの登録とは、取得したWidgetのセキュリティ・レベルを検証し、セキュリティ・レベルを割り当てることである。プログラム登録モジュール120内には署名検証モジュール610を含んでおり、署名検証モジュール610が署名を検証して、Widgetにアントラステッド・ドメイン611、サードパーティ・ドメイン612、オペレータ・ドメイン613のいずれかのセキュリティ・レベルを割り当てる。なお、アントラステッド・ドメイン611とは、認証不要のドメインである。サードパーティ・ドメイン612とは、サードパーティが作成したWidgetを実行させるドメインである。オペレータ・ドメイン613とは、情報処理装置100の管理会社が作成したWidgetを実行させるドメインである。つまり、信頼性が高いWidgetを実行させ得るのがオペレータ・ドメイン613であり、次のレベルのものがサードパーティ・ドメイン612であり、一番レベルの低いものがアントラステッド・ドメイン611である。したがって、オペレータ・ドメイン613は機密性の高いデータも取り扱うことが可能である。
FIG. 6 is an explanatory diagram showing a processing example of step S204 shown in the example of FIG. This process is mainly performed by the
The
端末装置310(プログラム登録モジュール120)は、署名情報ファイルがないWidget(XXX.wgt410)をアントラステッド(Untrasted)・ドメインとして扱う。つまり、署名検証モジュール610がXXX.wgt410には署名情報がないことから、アントラステッド・ドメイン611を割り当てる。
端末装置310(プログラム登録モジュール120)は、端末装置310内に予め組み込まれているルート証明書によって、Widget(XXX.swgt510)の署名情報(署名情報ファイル511)を検証する。図6は、この署名情報の検証処理例を示す説明図である。署名検証モジュール610がXXX.swgt510内の署名情報ファイル511を検証して、Widgetにアントラステッド・ドメイン611、サードパーティ・ドメイン612、オペレータ・ドメイン613のいずれかのセキュリティ・レベルを割り当てる。
署名情報ファイル511が、オペレータ・ドメイン用として組み込まれているルート証明書に紐づいた証明書に紐づく署名であれば、オペレータ・ドメイン613として扱う。
サードパーティ・ドメインに紐づけば、サードパーティ・ドメイン612として扱う。
検証できなければ登録失敗とするか又はアントラステッド・ドメイン611として扱う。
The terminal device 310 (program registration module 120) treats Widget (XXX.wgt 410) having no signature information file as an untrusted (Untrusted) domain. That is, the
The terminal device 310 (program registration module 120) verifies the signature information (signature information file 511) of the Widget (XXX.swgt510) using a root certificate incorporated in the
If the signature information file 511 is a signature associated with a certificate associated with a root certificate incorporated for an operator domain, the signature information file 511 is treated as an
If linked to a third party domain, it is handled as a
If it cannot be verified, the registration is failed or treated as an
なお、プログラム登録モジュール120による署名検証を行うときは、Widgetのインストール時の検証に基づいて、Widgetとドメインを紐づく登録を行ってもよいし、Widgetの実行時にその都度、ドメインを確認するようにしてもよい。
また、プログラム登録モジュール120によって検証対象となる署名値は、Widgetパッケージ自体の署名値でもよいし、Widgetパッケージ内にあるファイルそれぞれの署名値であってもよい。
When performing signature verification by the
The signature value to be verified by the
図7は、ポリシ情報テーブル700のデータ構造例を示す説明図である。ポリシ情報テーブル700は、情報処理装置100内の記憶装置内にポリシ情報ファイルとして記憶されており、図12、図13に示す処理例で用いられるものである。
ポリシ情報テーブル700は、機能グループ欄710、オペレータ・ドメイン欄720、サードパーティ・ドメイン欄730、アントラステッド・ドメイン欄740を有しており、アントラステッド・ドメイン611、サードパーティ・ドメイン612、オペレータ・ドメイン613とプログラム(Widget、外部スクリプト等)の機能グループの実行可否の関係を示すものである。つまり、ポリシ情報テーブル700は、各ドメインに応じて、どの機能が利用できるかの規則を示すものである。
FIG. 7 is an explanatory diagram showing an example of the data structure of the policy information table 700. The policy information table 700 is stored as a policy information file in the storage device in the
The policy information table 700 has a
機能グループ欄710は、情報処理装置100が提供している機能をグループ分けしたものであり、プログラムはいずれかのグループに属している。例えば、情報処理装置100が携帯電話である場合は、電話としての機能を提供するための電話機能グループ、情報処理装置100の現在の位置を測定するGPS(Global Positioning System、全地球測位システム)の機能を提供するためのGPS機能グループ、電子メールの機能を提供するためのメールグループ、インターネットを介して他のサーバ等との通信を行う機能を提供するためのインターネットグループに分かれる。
オペレータ・ドメイン欄720は、オペレータ・ドメイン613における各グループの実行可否を記憶しており、全ての機能グループによる機能提供、つまりオペレータ・ドメイン613として登録されたプログラムは全てが実行可能である。
The
The
サードパーティ・ドメイン欄730は、サードパーティ・ドメイン612における各グループの実行可否を記憶しており、GPS機能グループ以外の機能提供、つまりサードパーティ・ドメイン612として登録されたGPS機能グループ以外のプログラムは実行可能である。
アントラステッド・ドメイン欄740は、アントラステッド・ドメイン611における各グループの実行可否を記憶しており、メールグループのみの機能提供、つまりアントラステッド・ドメイン611として登録されたプログラムはメール機能グループに属しているもののみが実行可能である。
The third
The
なお、機能グループ欄710は、機能によってプログラムをグループ分けしているが、個別のメソッド(手続き)又はライブラリ毎にポリシを設定してもよい。
The
図8から図15を用いて、外部呼び出し処理モジュール140による処理例を説明する。
図8、図9の例に示す第1の処理例は、外部スクリプトの呼び出しそのものを禁止するものである。
図10、図11の例に示す第2の処理例は、外部スクリプトを認証なしのドメインで実行許可するものである。
図12、図13の例に示す第3の処理例は、外部スクリプトを手続き毎に許可、不許可の制限をするものである。
図14、図15の例に示す第4の処理例は、外部スクリプトもWidgetと同等の認証によるドメイン分けをし、その属するドメインによって実行権限を変更するものである。
A processing example by the external
The first processing example shown in the examples of FIGS. 8 and 9 prohibits the calling of the external script itself.
The second processing example shown in the examples of FIGS. 10 and 11 permits execution of an external script in a domain without authentication.
The third processing example shown in the examples of FIGS. 12 and 13 is for restricting whether or not an external script is permitted for each procedure.
In the fourth processing example shown in the examples of FIGS. 14 and 15, the external script also divides the domain by authentication equivalent to Widget and changes the execution authority depending on the domain to which the script belongs.
図8は、本実施の形態による第1−1の処理例を示すフローチャートである。Widgetを実行する前に、外部スクリプトの呼び出しを確認する処理である。例えば、Widgetの実行直前、Widgetの導入時又はWidgetの登録時に行う。外部呼び出し処理モジュール140は、例えば、Widgetプラットフォーム内に実装する。
FIG. 8 is a flowchart showing a 1-1 example of processing according to this embodiment. This is a process for confirming the calling of an external script before executing Widget. For example, it is performed immediately before execution of Widget, when Widget is introduced, or when Widget is registered. The external
ステップS802では、外部呼び出し制御モジュール141が、対象とするWidgetを選択する。
ステップS804では、外部呼び出し制御モジュール141が、ステップS802で選択したWidget内のファイルを解析する。ここでの解析とは、外部スクリプトの呼び出しを検出することである。例えば、図4の例で示したXML411、HTML413、JavaScript415等の記述内容から、外部にあるスクリプトファイルの有無を、外部スクリプトの呼び出しに関するコマンド等のテキストマッチング等で検出する。
In step S802, the external
In step S804, the external
ステップS806では、外部呼び出し制御モジュール141が、ステップS804での解析結果に基づいて、外部スクリプトファイルがあったか否かの判断を行う。つまり、外部スクリプトの呼び出しがあるか否かの判断を行う。あった場合はステップS812へ進み、それ以外の場合はステップS808へ進む。
ステップS808では、Widget内に他のファイルがあるか否かの判断を行う。ある場合はステップS804へ戻り、それ以外の場合はステップS810へ進む。
In step S806, the external
In step S808, it is determined whether there is another file in the Widget. If there is, the process returns to step S804. Otherwise, the process proceeds to step S810.
ステップS810では、外部スクリプトの呼び出しがないWidgetであるので、そのWidgetを実行する。
ステップS812では、エラー処理モジュール143が、エラー処理を行う。例えば、外部スクリプトの呼び出しがあるWidgetであること、そして、そのWidgetの削除を推奨する旨を、情報処理装置100のディスプレイ等の表示装置に表示する。なお、エラー処理として、その外部スクリプトの呼び出しをWidgetから削除するようにしてもよいし、Widget自体を実行できないようにしてもよい。
In step S810, since the Widget is a call for which no external script is called, the Widget is executed.
In step S812, the
図9は、本実施の形態による第1−2の処理例を示すフローチャートである。Widgetを実行中に、外部スクリプトの呼び出しを確認する処理である。外部呼び出し処理モジュール140は、例えば、JavaScriptインタプリンタ内に実装する。なお、ここでは実行するWidgetのファイルとしてJavaScriptを例示する。
FIG. 9 is a flowchart showing a 1-2 process example according to this embodiment. This is a process for confirming the calling of an external script during execution of a widget. The external
ステップS902では、プログラム実行モジュール130が、Widget内のスクリプト(JavaScript)の実行を開始する。
ステップS904では、JavaScriptインタプリンタ内の外部呼び出し制御モジュール141が、ステップS902で実行を開始したJavaScriptを解析する。
In step S902, the
In step S904, the external
ステップS906では、外部呼び出し制御モジュール141が、ステップS904での解析結果に基づいて、外部スクリプトの呼び出しがあるか否かの判断を行う。あった場合はステップS914へ進み、それ以外の場合はステップS908へ進む。
ステップS908では、プログラム実行モジュール130が、JavaScriptの実行を行う。
In step S906, the external
In step S908, the
ステップS910では、外部呼び出し制御モジュール141が、Widget内の全てのスクリプト(JavaScript)を実行したか否かの判断を行う。行った場合はステップS912へ進み、それ以外の場合はステップS904へ戻る。
ステップS912では、プログラム実行モジュール130が、ステップS902で実行を開始したスクリプトの処理を終了させる。
ステップS914では、エラー処理モジュール143が、エラー処理を行う。例えば、外部スクリプトの呼び出しがあること、そして、その処理を終了させる旨を、情報処理装置100のディスプレイ等の表示装置に表示する。なお、エラー処理として、その外部スクリプトの呼び出しをスキップして処理を続行するようにしてもよい。
In step S910, the external
In step S912, the
In step S914, the
図10は、本実施の形態による第2−1の処理例を示すフローチャートである。Widgetを実行する前に、外部スクリプトの呼び出しを確認する処理であること等は、図8の例に示したフローチャートと同等である。
ステップS1002からステップS1008までの処理は、図8の例に示したステップS802からステップS808までの処理と同等である。
ステップS1010では、外部呼び出し制御モジュール141が、外部スクリプトを取得する。
ステップS1012では、外部呼び出し制御モジュール141が、ステップS1010で取得した外部スクリプトに対してアントラステッド・ドメインを割り当てる。
FIG. 10 is a flowchart showing a 2-1 process example according to this embodiment. It is the same as the flowchart shown in the example of FIG. 8 that it is a process of confirming the calling of the external script before executing the widget.
The processing from step S1002 to step S1008 is equivalent to the processing from step S802 to step S808 shown in the example of FIG.
In step S1010, the external
In step S1012, the external
ステップS1014では、ステップS1002で選択されたWidgetを実行する。つまり、外部スクリプト以外の部分は、そのWidgetに割り付けられたドメイン下で動作し、外部スクリプトの部分は、アントラステッド・ドメイン下で動作することになる。
なお、ステップS1010、ステップS1012の処理の代わりに、外部スクリプトファイルである旨のフラグを立て、Widget実行時において、該フラグがあれば、アントラステッドのポリシで(アントラステッド・ドメイン下で)動作するようにしてもよい。
In step S1014, the Widget selected in step S1002 is executed. That is, the part other than the external script operates under the domain assigned to the widget, and the external script part operates under the untrusted domain.
In place of the processing in steps S1010 and S1012, a flag indicating that the script file is an external script file is set, and if the flag is present during execution of the widget, the operation is performed according to the untrusted policy (under the untrusted domain). You may do it.
図11は、本実施の形態による第2−2の処理例を示すフローチャートである。Widgetを実行中に、外部スクリプトの呼び出しを確認する処理であること等は、図9の例に示したフローチャートと同等である。
ステップS1102の処理は、図9の例に示したステップS902の処理と同等である。
ステップS1104では、外部呼び出し制御モジュール141が、ステップS1102で実行を開始したスクリプトが所属しているドメインを登録情報1105を用いて確認する。登録情報1105は、図2の例に示したステップS204の処理によってWidget毎に登録されたドメインに関する情報である。
FIG. 11 is a flowchart showing an example of process 2-2 according to the present embodiment. It is the same as the flowchart shown in the example of FIG. 9 that it is a process of confirming the calling of the external script during execution of the widget.
The processing in step S1102 is equivalent to the processing in step S902 shown in the example of FIG.
In step S1104, the external
ステップS1106とステップS1108の処理は、図9の例に示したステップS904とステップS906の処理と同等である。
ステップS1110では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、実行しようとしているスクリプト(JavaScriptである外部スクリプトを含む)には登録されたドメインと比較して、実行許可があるか否かの判断を行う。実行許可されている場合はステップS1112へ進み、それ以外の場合はステップS1122へ進む。
The processing in steps S1106 and S1108 is equivalent to the processing in steps S904 and S906 shown in the example of FIG.
In step S1110, the
ステップS1112では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、JavaScriptの実行を行う。
ステップS1114では、外部呼び出し制御モジュール141が、Widget内の全てのスクリプト(JavaScript)を実行したか否かの判断を行う。行った場合はステップS1116へ進み、それ以外の場合はステップS1106へ戻る。
In step S1112, the
In step S1114, the external
ステップS1116では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、ステップS1102で実行を開始したスクリプトの処理を終了させる。
ステップS1118では、外部呼び出し制御モジュール141が、外部スクリプトを取得する。
ステップS1120では、外部呼び出し制御モジュール141が、ステップS1118で取得した外部スクリプトに対してアントラステッド・ドメインを割り当てる。
In step S1116, the
In step S1118, the external
In step S1120, the external
ステップS1122では、エラー処理モジュール143が、エラー処理を行う。例えば、異なるドメインで実行しようとしている旨を情報処理装置100のディスプレイ等の表示装置に表示する。なお、エラー処理として、その外部スクリプトの呼び出しをスキップして処理を続行するようにしてもよい。
なお、ステップS1104の処理は、スクリプトの実行時ではなく、Widgetの選択時等のスクリプトの実行前であってもよい。
また、ステップS1118、ステップS1120の処理の代わりに、外部スクリプトファイルである旨のフラグを立て、Widget実行時において、該フラグがあれば、アントラステッドのポリシで(アントラステッド・ドメイン下で)動作するようにしてもよい。
In step S1122, the
Note that the processing in step S1104 may be performed before script execution, such as when a widget is selected, instead of when the script is executed.
Also, instead of the processing of step S1118 and step S1120, a flag indicating that the script is an external script file is set, and if the flag is present at the time of executing the widget, it operates according to the untrusted policy (under the untrusted domain). You may do it.
図12は、本実施の形態による第3−1の処理例を示すフローチャートである。Widgetを実行する前に、外部スクリプトの呼び出しを確認する処理であること等は、図8の例に示したフローチャートと同等である。
ステップS1202からステップS1206までの処理は、図8の例に示したステップS802からステップS806までの処理と同等である。
ステップS1208では、外部呼び出し制御モジュール141が、実行しようとしているWidgetはスクリプトファイルか否かの判断を行う。スクリプトファイルである場合はステップS1218へ進み、それ以外の場合はステップS1210へ進む。
FIG. 12 is a flowchart showing a 3-1 process example according to this embodiment. It is the same as the flowchart shown in the example of FIG. 8 that it is a process of confirming the calling of the external script before executing the widget.
The processing from step S1202 to step S1206 is equivalent to the processing from step S802 to step S806 shown in the example of FIG.
In step S1208, the external
ステップS1210とステップS1212の処理は、図8の例に示したステップS808、ステップS810の処理と同等である。
ステップS1212では、ステップS1202で選択されたWidgetを実行する。つまり、外部スクリプト以外の部分は、そのWidgetに割り付けられたドメイン下で動作し、外部スクリプトの部分は、そのアントラステッド・ドメイン下で動作することになる。
ステップS1214では、外部呼び出し制御モジュール141が、外部スクリプトを取得する。
ステップS1216では、外部呼び出し制御モジュール141が、ステップS1214で取得した外部スクリプトに対して、外部スクリプトファイルである旨のフラグを立てる。
The processes in steps S1210 and S1212 are equivalent to the processes in steps S808 and S810 shown in the example of FIG.
In step S1212, the Widget selected in step S1202 is executed. That is, the part other than the external script operates under the domain assigned to the widget, and the external script part operates under the untrusted domain.
In step S1214, the external
In step S1216, the external
ステップS1218では、外部呼び出し制御モジュール141が、そのスクリプトを解析する。つまり、スクリプト内をメソッド(手続き)毎に分け、ポリシファイル1219を用いて、そのメソッドに対応する実行権限を抽出する。なお、ポリシファイル1219内には、図7の例で示したポリシ情報テーブル700がある。
ステップS1220では、外部呼び出し制御モジュール141が、各メソッドにステップS1218で抽出された実行権限を割り当てる。
In step S1218, the external
In step S1220, the external
図13は、本実施の形態による第3−2の処理例を示すフローチャートである。Widgetを実行中に、外部スクリプトの呼び出しを確認する処理であること等は、図9の例に示したフローチャートと同等である。
ステップS1302からステップS1308までの処理は、図11の例に示したステップS1102からステップS1108までの処理と同等である。なお、登録情報1305は登録情報1105と同等のものである。
FIG. 13 is a flowchart illustrating a 3-2 processing example according to the present embodiment. It is the same as the flowchart shown in the example of FIG. 9 that it is a process of confirming the calling of the external script during execution of the widget.
The processing from step S1302 to step S1308 is equivalent to the processing from step S1102 to step S1108 shown in the example of FIG.
ステップS1310では、外部呼び出し制御モジュール141が、実行しようとしているWidgetは外部スクリプトか否かの判断を行う。この判断は、ステップS1322の処理でフラグが立てられたか否かによる。外部スクリプトである場合はステップS1312へ進み、それ以外の場合はステップS1324へ進む。
ステップS1312では、外部呼び出し制御モジュール141が、ポリシファイル1313を用いて、そのスクリプトには実行権限があるか否かを判断する。実行権限がある場合はステップS1314へ進み、それ以外の場合はステップS1328へ進む。
In step S1310, the external
In step S1312, the external
ステップS1314では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、JavaScriptの実行を行う。
ステップS1316では、外部呼び出し制御モジュール141が、Widget内の全てのスクリプト(JavaScript)を実行したか否かの判断を行う。行った場合はステップS1318へ進み、それ以外の場合はステップS1306へ戻る。
ステップS1318では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、ステップS1302で実行を開始したスクリプトの処理を終了させる。
In step S1314, the
In step S1316, the external
In step S1318, the
ステップS1320とステップS1322の処理は、図12の例に示したステップS1214とステップS1216の処理と同等である。
ステップS1324では、外部呼び出し実行モジュール142が、実行しようとしているスクリプト(JavaScriptである外部スクリプトを含む)には登録されたドメインと比較して、実行許可があるか否かの判断を行う。実行許可されている場合はステップS1314へ進み、それ以外の場合はステップS1326へ進む。
ステップS1326では、エラー処理モジュール143が、エラー処理を行う。例えば、異なるドメインで実行しようとしている旨を情報処理装置100のディスプレイ等の表示装置に表示する。
ステップS1328では、エラー処理モジュール143が、エラー処理を行う。例えば、実行権限がない旨を情報処理装置100のディスプレイ等の表示装置に表示する。
The processes in steps S1320 and S1322 are equivalent to the processes in steps S1214 and S1216 shown in the example of FIG.
In step S1324, the external
In step S1326, the
In step S1328, the
図14は、本実施の形態による第4−1の処理例を示すフローチャートである。Widgetを実行する前に、外部スクリプトの呼び出しを確認する処理であること等は、図8の例に示したフローチャートと同等である。
ステップS1402からステップS1408までの処理は、図8の例に示したステップS802からステップS808までの処理と同等である。
FIG. 14 is a flowchart illustrating a fourth example of processing according to the present embodiment. It is the same as the flowchart shown in the example of FIG. 8 that it is a process of confirming the calling of the external script before executing the widget.
The processing from step S1402 to step S1408 is equivalent to the processing from step S802 to step S808 shown in the example of FIG.
ステップS1410では、ステップS1402で選択されたWidgetを実行する。つまり、外部スクリプト以外の部分は、そのWidgetに割り付けられたドメイン下で動作し、外部スクリプトの部分は、ステップS1416で割り当てられたドメイン下で動作することになる。
ステップS1412では、外部呼び出し制御モジュール141が、外部スクリプトを取得する。
ステップS1414では、外部呼び出し制御モジュール141が、外部スクリプトに対応している署名を検証する。
ステップS1416では、外部呼び出し制御モジュール141が、外部スクリプトに対してステップS1414での署名検証に基づいてドメインを割り当てる。
In step S1410, the Widget selected in step S1402 is executed. That is, the part other than the external script operates under the domain assigned to the widget, and the external script part operates under the domain assigned in step S1416.
In step S1412, the external
In step S1414, the external
In step S1416, the external
図15は、本実施の形態による第4−2の処理例を示すフローチャートである。Widgetを実行中に、外部スクリプトの呼び出しを確認する処理であること等は、図9の例に示したフローチャートと同等である。
ステップS1502からステップS1518までの処理は、図11の例に示したステップS1102からステップS1118までの処理と同等である。なお、登録情報1505は登録情報1105と同等のものである。
FIG. 15 is a flowchart showing a 4-2 process example according to this embodiment. It is the same as the flowchart shown in the example of FIG. 9 that it is a process of confirming the calling of the external script during execution of the widget.
The processing from step S1502 to step S1518 is equivalent to the processing from step S1102 to step S1118 shown in the example of FIG.
ステップS1520では、外部呼び出し制御モジュール141が、外部スクリプトに対応している署名を検証する。
ステップS1522では、外部呼び出し制御モジュール141が、外部スクリプトに対してステップS1520での署名検証に基づいてドメインを割り当てる。
ステップS1524では、エラー処理モジュール143が、エラー処理を行う。例えば、異なるドメインで実行しようとしている旨を情報処理装置100のディスプレイ等の表示装置に表示する。
In step S1520, the external
In step S1522, the external
In step S1524, the
なお、図8から図15の例を用いて説明した処理例のうち、外部呼び出し処理モジュール140は複数の処理を行うことが可能なように構成してもよい。つまり、その複数の処理のうち、いずれか1つの処理を選択する選択モジュールを外部呼び出し処理モジュール140に設け、外部呼び出し制御モジュール141は、その選択モジュールによって選択された処理を行わせるように制御するようにしてもよい。
Of the processing examples described using the examples of FIGS. 8 to 15, the external
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図16に示すように、一般的なコンピュータであり、具体的には本実施の形態による処理以外にも多くの処理を高速に実行することができるサーバとなりうるようなコンピュータである。プログラム受取モジュール110、プログラム登録モジュール120、プログラム実行モジュール130、外部呼び出し処理モジュール140等のプログラムを実行するCPU1610と、そのプログラムやデータを記憶するRAM1630と、本コンピュータを起動するためのプログラム等が格納されているROM1620と、補助記憶装置であるHD1640と、キーボード、マウス等から操作者の操作によってデータを入力又はCRTや液晶ディスプレイ等にデータを出力して操作者とのインタフェースとなるUI/F1650と、CD−R等のリムーバブルメディアに対して読み書きするリムーバブルメディアリーダーライター1660と、通信ネットワークと接続するための通信回線I/F1670、そして、それらをつないでデータのやりとりをするためのバス1680により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
Note that the hardware configuration of the computer on which the program according to the present embodiment is executed is a general computer as shown in FIG. 16, and more specifically, many processes other than the processing according to the present embodiment. Is a computer that can be a server capable of executing the above. Stores a
また、情報処理装置100として、通信可能なものであれば、パーソナルコンピューター(Personal Computer)、携帯電話、PDA(Personal Digital Assistant)、ナビゲーターシステム、情報家電等であってもよい。
なお、前述の実施の形態では、プログラム実行モジュール130がプログラムAを実行させ、外部呼び出し実行モジュール142がプログラムBを実行させているが、プログラム実行モジュール130がプログラムA及びプログラムBを実行させるようにしてもよい。つまり、プログラム実行モジュール130は外部呼び出し実行モジュール142の機能を有していてもよい。また、逆に、外部呼び出し実行モジュール142がプログラムA及びプログラムBを実行させるようにしてもよい。
The
In the above-described embodiment, the
なお、説明したプログラムについては、記録媒体に格納することも可能であり、その場合は、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明としても把握することができる。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させることが可能である。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に乗せて搬送することも可能である。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。
Note that the described program can be stored in a recording medium, and in that case, it can be understood as an invention of a “computer-readable recording medium on which a program is recorded”.
The “computer-readable recording medium on which a program is recorded” refers to a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, such as “DVD-R, DVD-RW, DVD-RAM,” and DVD + RW. Standard “DVD + R, DVD + RW, etc.”, compact disc (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), Blu-ray disc ( Blu-ray Disc (registered trademark), magneto-optical disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM), flash Includes memory, random access memory (RAM), etc. .
The program or a part of the program can be recorded on the recording medium and stored or distributed. Also, by communication, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wired network used for the Internet, an intranet, an extranet, etc., or wireless communication It can be transmitted using a transmission medium such as a network or a combination thereof, and can also be carried on a carrier wave.
Furthermore, the program may be a part of another program, or may be recorded on a recording medium together with a separate program.
100…情報処理装置
110…プログラム受取モジュール
120…プログラム登録モジュール
130…プログラム実行モジュール
140…外部呼び出し処理モジュール
141…外部呼び出し制御モジュール
142…外部呼び出し実行モジュール
143…エラー処理モジュール
310…端末装置
320…サーバ装置
330…インターネット
340…Widget
1710…端末装置
1720…Aドメイン
1730…Bドメイン
1731…Widget
1732…JavaScript
1750…Webサーバ
1790…インターネット
1801…クラック
1802…クラック
DESCRIPTION OF
1710 ...
1732 ... JavaScript
1750 ...
Claims (14)
前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、
前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御する禁止制御手段
を具備することを特徴とする情報処理装置。 An information processing apparatus that can call an external second program from within the first program and execute the second program,
Analyzing means for analyzing the first program and determining whether or not there is the second program;
An information processing apparatus comprising: a prohibition control unit that performs control so as to prohibit execution of the second program when the determination unit determines that the second program is present.
前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、
前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムに認証不要のドメインでの実行を許可する許可手段
を具備することを特徴とする情報処理装置。 An information processing apparatus that can call an external second program from within the first program and execute the second program,
Analyzing means for analyzing the first program and determining whether or not there is the second program;
An information processing apparatus comprising: permission means for permitting execution of the second program in a domain that does not require authentication when the determination means determines that the second program is present.
手続き毎に実行可否の規則を記憶している記憶手段と、
前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、
前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラム内の手続き毎に、前記記憶手段に記憶されている規則に従って、該手続きに対する実行の権限を割り当てる実行権限割当手段
を具備することを特徴とする情報処理装置。 An information processing apparatus that can call an external second program from within the first program and execute the second program,
Storage means for storing a rule indicating whether or not each procedure can be executed;
Analyzing means for analyzing the first program and determining whether or not there is the second program;
When the determining means determines that the second program is present, execution for assigning an execution right to the procedure according to a rule stored in the storage means for each procedure in the second program An information processing apparatus comprising authority assignment means.
前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、
前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの署名を検証することによって、該第2のプログラムに対する実行の権限を割り当てる実行権限割当手段
を具備することを特徴とする情報処理装置。 An information processing apparatus that can call an external second program from within the first program and execute the second program,
Analyzing means for analyzing the first program and determining whether or not there is the second program;
When it is determined by the determining means that the second program is present, execution authority assigning means for assigning execution authority to the second program by verifying a signature of the second program is provided. An information processing apparatus characterized by that.
ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。 The determination unit analyzes the first program before executing the first program or when the first program is being executed, and determines whether or not there is the second program. The information processing apparatus according to claim 1, wherein the information processing apparatus is determined.
前記複数の情報処理装置のうち、いずれか1つの情報処理装置を選択する選択手段と、
前記選択手段によって選択された情報処理装置による処理を行わせるように制御する制御手段
を具備することを特徴とする情報処理装置。 Among the information processing devices according to claim 1, comprising a plurality of the information processing devices,
Selecting means for selecting any one of the plurality of information processing devices;
An information processing apparatus comprising: control means for controlling to perform processing by the information processing apparatus selected by the selection means.
判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、
禁止制御手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御する
ことを特徴とする情報処理方法。 An information processing method performed by an information processing apparatus that can call an external second program from within the first program and execute the second program,
The determination means analyzes the first program to determine whether there is the second program,
The prohibition control means performs control so as to prohibit execution of the second program when the judgment means judges that the second program is present.
判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、
許可手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムに認証不要のドメインでの実行を許可する
ことを特徴とする情報処理方法。 An information processing method performed by an information processing apparatus that can call an external second program from within the first program and execute the second program,
The determination means analyzes the first program to determine whether there is the second program,
The permission means permits the second program to execute in a domain that does not require authentication when the determination means determines that the second program is present.
前記情報処理装置は、
手続き毎に実行可否の規則を記憶している記憶手段
を具備し、
判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断すると、
実行権限割当手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラム内の手続き毎に、前記記憶手段に記憶されている規則に従って、該手続きに対する実行の権限を割り当てる
ことを特徴とする情報処理方法。 An information processing method performed by an information processing apparatus that can call an external second program from within the first program and execute the second program,
The information processing apparatus includes:
A storage means for storing a rule indicating whether or not each procedure can be executed;
The determination means analyzes the first program and determines whether there is the second program,
When the determination means determines that the second program is present, the execution authority assignment means performs the procedure for the procedure according to the rules stored in the storage means for each procedure in the second program. An information processing method characterized by assigning execution authority.
判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、
実行権限割当手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの署名を検証することによって、該第2のプログラムに対する実行の権限を割り当てる
ことを特徴とする情報処理方法。 An information processing method performed by an information processing apparatus that can call an external second program from within the first program and execute the second program,
The determination means analyzes the first program to determine whether there is the second program,
The execution authority assigning means assigns an execution right to the second program by verifying a signature of the second program when the judging means judges that the second program exists. An information processing method characterized by the above.
前記コンピュータを、
前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、
前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御する禁止制御手段
として機能させることを特徴とする情報処理プログラム。 An information processing program for causing a computer to call an external second program from within the first program and function as an information processing apparatus capable of executing the second program,
The computer,
Analyzing means for analyzing the first program and determining whether or not there is the second program;
An information processing program that functions as prohibition control means for controlling to prohibit execution of the second program when the determination means determines that there is the second program.
前記コンピュータを、
前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、
前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムに認証不要のドメインでの実行を許可する許可手段
として機能させることを特徴とする情報処理プログラム。 An information processing program for causing a computer to call an external second program from within the first program and function as an information processing apparatus capable of executing the second program,
The computer,
Analyzing means for analyzing the first program and determining whether or not there is the second program;
An information processing program that causes the second program to function as a permission unit that permits execution in a domain that does not require authentication when the determination unit determines that the second program is present.
前記コンピュータを、
手続き毎に実行可否の規則を記憶している記憶手段と、
前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、
前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラム内の手続き毎に、前記記憶手段に記憶されている規則に従って、該手続きに対する実行の権限を割り当てる実行権限割当手段
として機能させることを特徴とする情報処理プログラム。 An information processing program for causing a computer to call an external second program from within the first program and function as an information processing apparatus capable of executing the second program,
The computer,
Storage means for storing a rule indicating whether or not each procedure can be executed;
Analyzing means for analyzing the first program and determining whether or not there is the second program;
When the determining means determines that the second program is present, execution for assigning an execution right to the procedure according to a rule stored in the storage means for each procedure in the second program An information processing program which functions as an authority assigning means.
前記コンピュータを、
前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する判断手段と、
前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの署名を検証することによって、該第2のプログラムに対する実行の権限を割り当てる実行権限割当手段
として機能させることを特徴とする情報処理プログラム。 An information processing program for causing a computer to call an external second program from within the first program and function as an information processing apparatus capable of executing the second program,
The computer,
Analyzing means for analyzing the first program and determining whether or not there is the second program;
When the determination unit determines that the second program is present, the signature of the second program is verified to function as an execution authority assigning unit that assigns execution authority to the second program. An information processing program characterized by that.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008263320A JP2010092376A (en) | 2008-10-10 | 2008-10-10 | Information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008263320A JP2010092376A (en) | 2008-10-10 | 2008-10-10 | Information processing apparatus, information processing method, and information processing program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010092376A true JP2010092376A (en) | 2010-04-22 |
Family
ID=42255004
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008263320A Pending JP2010092376A (en) | 2008-10-10 | 2008-10-10 | Information processing apparatus, information processing method, and information processing program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010092376A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014525638A (en) * | 2011-09-07 | 2014-09-29 | マイクロソフト コーポレーション | Managing content for applications |
| JP2015172908A (en) * | 2014-03-12 | 2015-10-01 | 株式会社コナミデジタルエンタテインメント | Processing system, server, terminal, server processing program, and terminal processing program |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2000042498A1 (en) * | 1999-01-13 | 2000-07-20 | Hitachi, Ltd. | Method and system for executing mobile code |
| JP2002503364A (en) * | 1997-04-01 | 2002-01-29 | サン・マイクロシステムズ・インコーポレーテッド | Method and apparatus for securing a server executing an application program received via a network |
| JP2002207604A (en) * | 2000-10-10 | 2002-07-26 | Canon Inc | Method and apparatus for remotely using a data processing object connected to a communication network |
| JP2003216544A (en) * | 2002-01-24 | 2003-07-31 | Nec Commun Syst Ltd | Mobile terminal device and pictogram display program |
| JP2006107505A (en) * | 2004-10-01 | 2006-04-20 | Microsoft Corp | Api for access authorization |
| WO2007058882A2 (en) * | 2005-11-10 | 2007-05-24 | Ntt Docomo, Inc. | A method and apparatus for detecting and preventing unsafe behavior of javascript programs |
| WO2007097439A1 (en) * | 2006-02-21 | 2007-08-30 | Nec Corporation | Program execution control system, execution control method, execution control computer program |
-
2008
- 2008-10-10 JP JP2008263320A patent/JP2010092376A/en active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002503364A (en) * | 1997-04-01 | 2002-01-29 | サン・マイクロシステムズ・インコーポレーテッド | Method and apparatus for securing a server executing an application program received via a network |
| WO2000042498A1 (en) * | 1999-01-13 | 2000-07-20 | Hitachi, Ltd. | Method and system for executing mobile code |
| JP2002207604A (en) * | 2000-10-10 | 2002-07-26 | Canon Inc | Method and apparatus for remotely using a data processing object connected to a communication network |
| JP2003216544A (en) * | 2002-01-24 | 2003-07-31 | Nec Commun Syst Ltd | Mobile terminal device and pictogram display program |
| JP2006107505A (en) * | 2004-10-01 | 2006-04-20 | Microsoft Corp | Api for access authorization |
| WO2007058882A2 (en) * | 2005-11-10 | 2007-05-24 | Ntt Docomo, Inc. | A method and apparatus for detecting and preventing unsafe behavior of javascript programs |
| WO2007097439A1 (en) * | 2006-02-21 | 2007-08-30 | Nec Corporation | Program execution control system, execution control method, execution control computer program |
Non-Patent Citations (2)
| Title |
|---|
| CSNG200401162006; 阿部 洋丈: 'セキュリティポリシーの動的切替機構を持つリファレンスモニタシステム' コンピュータシステム・シンポジウム論文集 第2002巻, 20021119, 第64頁, 社団法人情報処理学会 * |
| JPN6013000606; 阿部 洋丈: 'セキュリティポリシーの動的切替機構を持つリファレンスモニタシステム' コンピュータシステム・シンポジウム論文集 第2002巻, 20021119, 第64頁, 社団法人情報処理学会 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014525638A (en) * | 2011-09-07 | 2014-09-29 | マイクロソフト コーポレーション | Managing content for applications |
| US10445528B2 (en) | 2011-09-07 | 2019-10-15 | Microsoft Technology Licensing, Llc | Content handling for applications |
| JP2015172908A (en) * | 2014-03-12 | 2015-10-01 | 株式会社コナミデジタルエンタテインメント | Processing system, server, terminal, server processing program, and terminal processing program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4164036B2 (en) | Ensuring security on the receiving device for programs provided via the network | |
| CN101694687B (en) | Code signing system and method | |
| CN103686722B (en) | Access control method and device | |
| US8832796B2 (en) | Wireless communication terminal, method for protecting data in wireless communication terminal, program for having wireless communication terminal protect data, and recording medium storing the program | |
| US11706220B2 (en) | Securing application behavior in serverless computing | |
| CN108763951B (en) | Data protection method and device | |
| US9747449B2 (en) | Method and device for preventing application in an operating system from being uninstalled | |
| JP5971099B2 (en) | Information processing apparatus, method, and program | |
| US8904492B2 (en) | Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus | |
| US7818815B2 (en) | Communication device | |
| WO2010095226A1 (en) | Application development supporting device, program, and recording medium | |
| CN112464214A (en) | Authority detection method and device, electronic equipment and readable storage medium | |
| JP2012008732A (en) | Installation control device and program | |
| KR101052443B1 (en) | Malware Analysis Method and System | |
| JP5971042B2 (en) | Information processing apparatus, program, and software execution control method | |
| KR101977428B1 (en) | Content handling for applications | |
| JP5924159B2 (en) | Information processing device | |
| Zungur et al. | Borderpatrol: Securing byod using fine-grained contextual information | |
| CN113810535B (en) | Information processing method and electronic device | |
| JP2010092376A (en) | Information processing apparatus, information processing method, and information processing program | |
| JP5828457B2 (en) | API execution control device and program | |
| CN113568542A (en) | Interface display method and electronic device | |
| JP4512083B2 (en) | Ensuring security on the transmission path for programs provided to communication terminals via the network | |
| CN108322418A (en) | The detection method and device of unauthorized access | |
| KR101636708B1 (en) | Web site verification apparatus using two channel certification and method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111006 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121226 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130115 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130122 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130430 |