[go: up one dir, main page]

JP2010092376A - Information processing apparatus, information processing method, and information processing program - Google Patents

Information processing apparatus, information processing method, and information processing program Download PDF

Info

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
Application number
JP2008263320A
Other languages
Japanese (ja)
Inventor
Masayuki Doi
正行 土井
Akiho Shibata
暁穂 柴田
Takahiko Kato
隆彦 加藤
Chiho Kamata
千穂 鎌田
Tomohiko Iwakuni
知彦 岩國
Mitsuhiro Isaka
光広 井坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SoftBank Corp
Original Assignee
SoftBank Mobile Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SoftBank Mobile Corp filed Critical SoftBank Mobile Corp
Priority to JP2008263320A priority Critical patent/JP2010092376A/en
Publication of JP2010092376A publication Critical patent/JP2010092376A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】外部にあるプログラムを実行する場合に、その外部にあるプログラムの挙動を制御することによって、悪意ある第三者の攻撃によって生じる被害を少なくすることができるようにした情報処理装置を提供する。
【解決手段】第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置であって、判断手段は、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断し、禁止制御手段は、前記判断手段によって、前記第2のプログラムがあると判断された場合は、該第2のプログラムの実行を禁止するように制御する。
【選択図】図1
Provided 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 terminal device 1710 is connected to the Web server 1750 via the Internet 1790. The terminal device 1710 includes an A domain 1720 and a B domain 1730. In the B domain 1730, Widget 1731 operates. When the widget 1731 calls the JavaScript 1732 in the Web server 1750, the JavaScript 1732 operates in the B domain 1730. That is, JavaScript 1732 operates at the same security level as that of Widget 1731 (security level of B domain 1730).

通信回線を経由して呼び出される外部のサーバ等におかれたプログラムには、次のリスクがある。
(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 crack 1801 occurs due to the above (A1), and the JavaScript 1732 is replaced during the communication in the Internet 1790, (A2 ) May cause a crack 1802 to replace the JavaScript 1732 in the Web server 1750.
In this case, the replaced JavaScript 1732 that is a malicious program can be executed with the authority of the B domain 1730. For example, it becomes possible to execute a function of acquiring personal information from the terminal device 1710, which cannot be executed except in the B domain 1730, and send it to the attacker's site.

これに関連する技術として、例えば、特許文献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参考)。
特開2007−226277号公報 JSR118 MIDP2(Mobile Information Device Profile version 2)、[平成20年8月26日検索]、インターネット<URL:http://jcp.org/aboutJava/communityprocess/final/jsr118/> [平成20年8月26日検索]、インターネット<URL:http://www.forum.nokia.com/main/platforms/s60/documents.html> OMTP Application Security Framework、[平成20年8月26日検索]、インターネット<URL:http://www.omtp.org/Publications.aspx>
In addition, as an example of implementation for changing the execution authority of a program for each domain, there is Java for mobile terminals. The specification is defined in Non-Patent Document 1.
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).
JP 2007-226277 A JSR118 MIDP2 (Mobile Information Device Profile version 2), [Search August 26, 2008], Internet <URL: http://jcp.org/aboutJava/communityprocess/final/jsr118/> [Search on August 26, 2008] Internet <URL: http://www.forum.nokia.com/main/platforms/s60/documents.html> OMTP Application Security Framework, [Search August 26, 2008], Internet <URL: http://www.omtp.org/Publications.aspx>

しかしながら、外部のサーバ等におかれたプログラムを取得し、実行する場合に、内部にあるプログラムの実行ポリシと外部のサーバ等におかれたプログラムの実行ポリシをそれぞれ設定し、外部と内部とも異なる実行権限を実現させた技術はなかった。
本発明は、このような従来の技術が有する問題点に着目してなされたもので、外部にあるプログラムを実行する場合に、その外部にあるプログラムの挙動を制御することによって、悪意ある第三者の攻撃によって生じる被害を少なくすることができるようにした情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的としている。
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 information processing apparatus 100 that can change the behavior of a program to be executable and unexecutable according to the security level to which the program such as an application belongs. In the information processing apparatus 100 that is outside the information processing apparatus 100 and that can be executed by a program called according to a program such as an application, has a separate security level and can execute the program according to each level. is there.

本実施の形態である情報処理装置100は、内部にあるプログラムA内から外部にあるプログラムBを呼び出して、そのプログラムBを実行し得るものであって、図1に示すように、情報処理装置100は、プログラム受取モジュール110、プログラム登録モジュール120、プログラム実行モジュール130、外部呼び出し処理モジュール140を有しており、外部にあるサーバ等と通信回線(有線、無線を問わない)を介して接続されている。例えば、情報処理装置100として、携帯電話等のデータ通信可能な端末装置が該当する。   An information processing apparatus 100 according to the present embodiment can call an external program B from within an internal program A and execute the program B. As shown in FIG. 100 includes a program receiving module 110, a program registration module 120, a program execution module 130, and an external call processing module 140, and is connected to an external server or the like via a communication line (whether wired or wireless). ing. For example, the information processing apparatus 100 corresponds to a terminal device capable of data communication such as a mobile phone.

なお、情報処理装置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 information processing apparatus 100, there is Widget or the like (including description in a Web description language). A Widget is a program component that constitutes an application program or a combination thereof, and may itself operate as a single program. In addition, Widget can be a native application, not a method via an interprinter such as JavaScript.
The native application is an application specialized for a CPU (Central Processing Unit), a software platform, an API (Application Program Interface) of the information processing apparatus 100 to be executed. That is, when the information processing apparatus 100 such as a mobile phone reads a native application (native code), the built-in CPU is placed in the memory and executed in a form that can be executed as it is.

プログラム受取モジュール110は、プログラムAを受け取る。例えば、プログラムAとしてWidgetがあり、例えば、そのファイル拡張子によって受け取るべきWidgetであるか否かを判断するようにしてもよい。また、プログラムAの受け取りは、外部のサーバ等から通信回線を介した受信の他に、リムーバブルメディア等から読み取るようにしてもよい。
プログラム登録モジュール120は、プログラム受取モジュール110が受け取ったプログラムAの登録を行う。ここで、プログラムAの登録とは、取得したプログラムAのセキュリティ・レベルを検証し、セキュリティ・レベルを割り当てることである。
プログラム実行モジュール130は、プログラム登録モジュール120で割り当てられたセキュリティ・レベルに従って、プログラム受取モジュール110が受け取ったプログラムAを実行させる。
The program receiving module 110 receives the program A. For example, there is a Widget as the program A, and for example, it may be determined whether the Widget is to be received by the file extension. Further, the program A may be received from a removable medium or the like in addition to reception from an external server or the like via a communication line.
The program registration module 120 registers the program A received by the program receiving module 110. Here, the registration of the program A is to verify the security level of the acquired program A and to assign a security level.
The program execution module 130 causes the program A received by the program receiving module 110 to be executed according to the security level assigned by the program registration module 120.

外部呼び出し処理モジュール140は、外部呼び出し制御モジュール141、外部呼び出し実行モジュール142、エラー処理モジュール143を有しており、プログラムBの呼び出しに関する制御、その実行等を行う。   The external call processing module 140 includes an external call control module 141, an external call execution module 142, and an error processing module 143, and performs control related to calling program B, execution thereof, and the like.

外部呼び出し制御モジュール141は、プログラムAを解析して、プログラムBの呼び出しがあるか否かを判断し、その判断結果として、プログラムA内にプログラムBの呼び出しがあると判断した場合は、プログラムBの実行を禁止するように制御する。   The external call control module 141 analyzes the program A to determine whether there is a call to the program B. As a result of the determination, the external call control module 141 determines that there is a call to the program B in the program A. Control to prohibit execution of.

また、外部呼び出し制御モジュール141は、プログラムAを解析して、プログラムBの呼び出しがあるか否かを判断し、その判断結果として、プログラムA内にプログラムBの呼び出しがあると判断した場合は、プログラムBに認証不要のドメインでの実行を許可するようにしてもよい。「認証」とは、そのプログラムの実行に際して、証明書等の検証を行うことによって、その実行を許可又は許可しないことをいう。そして、ドメインとは、情報処理に用いる資源が共通の制御下におかれているコンピュータの一部分又は全部をいい、例えば、あるポリシー(規則)の制約下によってプログラムの挙動が定まり、そのポリシーの制約下にあることをドメインに属しているという。より具体的には、ドメイン・セキュリティ・モデルにおけるドメインのことを指す。また、コンピュータ内に仮想的なコンピュータを構築した場合に、その仮想的なコンピュータの1つをドメインとしてもよい。   Further, the external call control module 141 analyzes the program A, determines whether or not there is a call to the program B, and if it is determined that there is a call to the program B in the program A as a result of the determination, The program B may be allowed to execute in a domain that does not require authentication. “Authentication” refers to permitting or not permitting execution of a program by verifying a certificate or the like. A domain refers to a part or all of a computer under which resources used for information processing are under common control. For example, the behavior of a program is determined by the restriction of a certain policy (rule), and the restriction of the policy. The thing below is said to belong to the domain. More specifically, it refers to a domain in the domain security model. Further, when a virtual computer is built in the computer, one of the virtual computers may be used as a domain.

また、外部呼び出し制御モジュール141は、プログラムAを解析して、プログラムBの呼び出しがあるか否かを判断し、その判断結果として、プログラムA内にプログラムBの呼び出しがあると判断した場合は、プログラムB内の手続き毎に、ポリシファイルに従って、その手続きに対する実行の権限を割り当てるようにしてもよい。なお、ポリシファイルは、情報処理装置100内の記憶装置に記憶されており、プログラムの実行権限に関する規則を定めた規制ファイルであり、例えば、情報処理装置100等のマシン、ドメイン、ユーザID、時間帯などに基づいてプログラム又はプログラム内の手続き(メソッド)の実行を許諾又は禁止等するためのものである。   Further, the external call control module 141 analyzes the program A to determine whether or not there is a call to the program B, and when it is determined that there is a call to the program B in the program A as a result of the determination, For each procedure in the program B, the execution authority for the procedure may be assigned according to the policy file. The policy file is stored in a storage device in the information processing apparatus 100, and is a restriction file that defines rules relating to the execution authority of the program. This is for permitting or prohibiting execution of a program or a procedure (method) in the program based on the band.

また、外部呼び出し制御モジュール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 call control module 141 analyzes the program A, determines whether or not there is a call to the program B, and if it is determined that there is a call to the program B in the program A as a result of the determination, The execution authority for the program B may be assigned by verifying the signature of the program B.
Further, the determination by the external call control module 141 is that the program A is analyzed before the program A is executed or when the program A is executed, and whether or not the program B is called in the program A. You may make it judge. More specifically, before executing the program A, before the program execution module 130 executes the program A after the program receiving module 110 receives the program A or after the program registration module 120 registers the program A. When the program A is being executed, it means that the program B is called whenever the program execution module 130 is executing the program A.

外部呼び出し実行モジュール142は、外部呼び出し制御モジュール141によってプログラムBの実行が許可された場合は、プログラムBを外部のサーバ等から呼び出して、プログラムBを実行させる。
エラー処理モジュール143は、外部呼び出し制御モジュール141によってプログラムBの実行禁止等になった場合のエラー処理を行う。例えば、エラーと判断した理由、そのエラーに対する処置等を情報処理装置100のディスプレイ等の表示装置に出力する。また、プログラムBを呼び出さないように、プログラムAを変更してもよいし、プログラムBの呼び出し処理をスキップさせるようにしてもよい。
When the execution of the program B is permitted by the external call control module 141, the external call execution module 142 calls the program B from an external server or the like and causes the program B to be executed.
The error processing module 143 performs error processing when execution of the program B is prohibited by the external call control module 141. For example, the reason for determining that an error has occurred, a measure for the error, and the like are output to a display device such as a display of the information processing apparatus 100. Further, the program A may be changed so as not to call the program B, or the calling process of the program B may be skipped.

図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 program receiving module 110 receives the Widget and introduces it into the information processing apparatus 100. That is, the information processing apparatus 100 can operate the widget.
In step S204, the program registration module 120 registers the security level of the widget introduced in step S202.
In step S206, the program execution module 130 causes the widget to be executed under the security level registered in step S204.
In step S208, the external call control module 141 calls an external script from the widget executed in step S206. In this case, it is determined whether or not to allow execution of the external script.
In step S210, the external call execution module 142 causes the external script called in step S208 to be executed.

図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 program receiving module 110.
The terminal device 310 and the server device 320 are connected via the Internet 330. The terminal device 310 corresponds to the information processing apparatus 100 illustrated in the example of FIG. Here, the introduction of the Widget that is performed by the terminal device 310 is to store the Widget 340 outside the terminal device 310 (for example, the server device 320) in the terminal device 310.
The terminal device 310 (the program receiving module 110 of the information processing device 100) determines whether or not to perform the registration process of the Widget 340 based on the file extension among the files stored in the server device 320. For example, “.wgt” and “.swgt” are file extensions of Widget 340.
The server device 320 transmits a file in response to a request from the terminal device 310.
In the example of FIG. 3, the terminal device 310 receives the Widget 340 as a file transfer via the Internet 330. However, the terminal device 310 may receive it as an attached file of an e-mail sent from another terminal device or the like. (Bluetooth (registered trademark)), or via a removable medium such as a memory card.

プログラム受取モジュール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 program receiving module 110. In other words, there are those with and without signature information.
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 (XML 411, 412, HTML 413, CSS 414, JavaScript 415, Image 416, Sound 417) as shown in the example of FIG. 4B is packaged (archived) in wgt 410. A package is a grouping of a plurality of files using compression or the like, and examples thereof include ZIP and TAR.

図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 swgt 510, a signature information file 511 is packaged in addition to a file group (XML 411, 412, HTML 413, CSS 414, JavaScript 415, Image 416, Sound 417) as shown in the example of FIG. That is, a signature information file 511 that is an electronic signature is attached to determine the security level. The signature information file 511 describes a signature value, a signature method, an electronic certificate, and the like.
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 XML 411 to Sound 417). In the latter case, the signature information file 511 may describe location information (URL (Uniform Resource Locator), etc.) of the Widget package. In this case, first, the signature information file 511 is acquired, and then the Widget package is acquired using the position information therein.

図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 program registration module 120.
The program registration module 120 is a XXX. wgt410, XXX. The widget is registered based on the swgt 510. Here, the registration of the Widget is to verify the security level of the acquired Widget and assign a security level. The program registration module 120 includes a signature verification module 610. The signature verification module 610 verifies the signature, and the security of the untrusted domain 611, the third party domain 612, or the operator domain 613 Assign a level. The untrusted domain 611 is a domain that does not require authentication. The third party domain 612 is a domain for executing a Widget created by the third party. The operator domain 613 is a domain that executes a widget created by the management company of the information processing apparatus 100. That is, the operator domain 613 can execute a highly reliable Widget, the next level is the third party domain 612, and the lowest level is the untrusted domain 611. Therefore, the operator domain 613 can handle highly confidential data.

端末装置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 signature verification module 610 is XXX. Since there is no signature information in wgt 410, untrusted domain 611 is assigned.
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 terminal device 310 in advance. FIG. 6 is an explanatory view showing an example of the verification process of the signature information. The signature verification module 610 is XXX. The signature information file 511 in the swgt 510 is verified, and the security level of any one of the untrusted domain 611, the third party domain 612, and the operator domain 613 is assigned to Widget.
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 operator domain 613.
If linked to a third party domain, it is handled as a third party domain 612.
If it cannot be verified, the registration is failed or treated as an untrusted domain 611.

なお、プログラム登録モジュール120による署名検証を行うときは、Widgetのインストール時の検証に基づいて、Widgetとドメインを紐づく登録を行ってもよいし、Widgetの実行時にその都度、ドメインを確認するようにしてもよい。
また、プログラム登録モジュール120によって検証対象となる署名値は、Widgetパッケージ自体の署名値でもよいし、Widgetパッケージ内にあるファイルそれぞれの署名値であってもよい。
When performing signature verification by the program registration module 120, registration may be performed by associating the widget with the domain based on the verification at the time of installation of the widget, and the domain is confirmed each time the widget is executed. It may be.
The signature value to be verified by the program registration module 120 may be the signature value of the Widget package itself or the signature value of each file in the Widget package.

図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 information processing apparatus 100, and is used in the processing examples shown in FIGS.
The policy information table 700 has a function group column 710, an operator domain column 720, a third party domain column 730, and an untrusted domain column 740, and includes an untrusted domain 611, a third party domain 612, an operator domain. The relationship between whether the domain 613 and the function group of the program (Widget, external script, etc.) can be executed is shown. That is, the policy information table 700 shows rules for which functions can be used according to each domain.

機能グループ欄710は、情報処理装置100が提供している機能をグループ分けしたものであり、プログラムはいずれかのグループに属している。例えば、情報処理装置100が携帯電話である場合は、電話としての機能を提供するための電話機能グループ、情報処理装置100の現在の位置を測定するGPS(Global Positioning System、全地球測位システム)の機能を提供するためのGPS機能グループ、電子メールの機能を提供するためのメールグループ、インターネットを介して他のサーバ等との通信を行う機能を提供するためのインターネットグループに分かれる。
オペレータ・ドメイン欄720は、オペレータ・ドメイン613における各グループの実行可否を記憶しており、全ての機能グループによる機能提供、つまりオペレータ・ドメイン613として登録されたプログラムは全てが実行可能である。
The function group column 710 is a grouping of functions provided by the information processing apparatus 100, and the program belongs to one of the groups. For example, when the information processing apparatus 100 is a mobile phone, a telephone function group for providing a function as a telephone, a GPS (Global Positioning System) for measuring the current position of the information processing apparatus 100, and the like. It is divided into a GPS function group for providing functions, a mail group for providing e-mail functions, and an Internet group for providing functions for communicating with other servers via the Internet.
The operator domain column 720 stores whether or not each group in the operator domain 613 can be executed, and functions provided by all function groups, that is, all programs registered as the operator domain 613 can be executed.

サードパーティ・ドメイン欄730は、サードパーティ・ドメイン612における各グループの実行可否を記憶しており、GPS機能グループ以外の機能提供、つまりサードパーティ・ドメイン612として登録されたGPS機能グループ以外のプログラムは実行可能である。
アントラステッド・ドメイン欄740は、アントラステッド・ドメイン611における各グループの実行可否を記憶しており、メールグループのみの機能提供、つまりアントラステッド・ドメイン611として登録されたプログラムはメール機能グループに属しているもののみが実行可能である。
The third party domain column 730 stores whether or not each group can be executed in the third party domain 612. Functions provided other than the GPS function group, that is, programs other than the GPS function group registered as the third party domain 612 are stored in the third party domain column 730. It is feasible.
The untrusted domain column 740 stores whether or not each group in the untrusted domain 611 can be executed. The function provided only for the mail group, that is, the program registered as the untrusted domain 611 belongs to the mail function group. Only what is available can be executed.

なお、機能グループ欄710は、機能によってプログラムをグループ分けしているが、個別のメソッド(手続き)又はライブラリ毎にポリシを設定してもよい。   The function group column 710 groups programs according to functions, but a policy may be set for each individual method (procedure) or library.

図8から図15を用いて、外部呼び出し処理モジュール140による処理例を説明する。
図8、図9の例に示す第1の処理例は、外部スクリプトの呼び出しそのものを禁止するものである。
図10、図11の例に示す第2の処理例は、外部スクリプトを認証なしのドメインで実行許可するものである。
図12、図13の例に示す第3の処理例は、外部スクリプトを手続き毎に許可、不許可の制限をするものである。
図14、図15の例に示す第4の処理例は、外部スクリプトもWidgetと同等の認証によるドメイン分けをし、その属するドメインによって実行権限を変更するものである。
A processing example by the external call processing module 140 will be described with reference to FIGS.
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 call processing module 140 is implemented, for example, in the Widget platform.

ステップS802では、外部呼び出し制御モジュール141が、対象とするWidgetを選択する。
ステップS804では、外部呼び出し制御モジュール141が、ステップS802で選択したWidget内のファイルを解析する。ここでの解析とは、外部スクリプトの呼び出しを検出することである。例えば、図4の例で示したXML411、HTML413、JavaScript415等の記述内容から、外部にあるスクリプトファイルの有無を、外部スクリプトの呼び出しに関するコマンド等のテキストマッチング等で検出する。
In step S802, the external call control module 141 selects a target widget.
In step S804, the external call control module 141 analyzes the file in the Widget selected in step S802. The analysis here is to detect a call to an external script. For example, the presence / absence of an external script file is detected from the description contents of XML 411, HTML 413, JavaScript 415, etc. shown in the example of FIG.

ステップS806では、外部呼び出し制御モジュール141が、ステップS804での解析結果に基づいて、外部スクリプトファイルがあったか否かの判断を行う。つまり、外部スクリプトの呼び出しがあるか否かの判断を行う。あった場合はステップS812へ進み、それ以外の場合はステップS808へ進む。
ステップS808では、Widget内に他のファイルがあるか否かの判断を行う。ある場合はステップS804へ戻り、それ以外の場合はステップS810へ進む。
In step S806, the external call control module 141 determines whether there is an external script file based on the analysis result in step S804. That is, it is determined whether there is an external script call. If so, the process proceeds to step S812; otherwise, the process proceeds to step S808.
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 error processing module 143 performs error processing. For example, it is displayed on a display device such as a display of the information processing apparatus 100 that the Widget is a call to an external script and that the deletion of the Widget is recommended. As an error process, the call to the external script may be deleted from the widget, or the widget itself may not be executed.

図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 call processing module 140 is mounted in, for example, a JavaScript interpreter. Here, JavaScript is exemplified as the Widget file to be executed.

ステップS902では、プログラム実行モジュール130が、Widget内のスクリプト(JavaScript)の実行を開始する。
ステップS904では、JavaScriptインタプリンタ内の外部呼び出し制御モジュール141が、ステップS902で実行を開始したJavaScriptを解析する。
In step S902, the program execution module 130 starts executing a script (JavaScript) in the Widget.
In step S904, the external call control module 141 in the JavaScript interpreter analyzes the JavaScript that has started execution in step S902.

ステップS906では、外部呼び出し制御モジュール141が、ステップS904での解析結果に基づいて、外部スクリプトの呼び出しがあるか否かの判断を行う。あった場合はステップS914へ進み、それ以外の場合はステップS908へ進む。
ステップS908では、プログラム実行モジュール130が、JavaScriptの実行を行う。
In step S906, the external call control module 141 determines whether there is an external script call based on the analysis result in step S904. If there is, the process proceeds to step S914; otherwise, the process proceeds to step S908.
In step S908, the program execution module 130 executes JavaScript.

ステップS910では、外部呼び出し制御モジュール141が、Widget内の全てのスクリプト(JavaScript)を実行したか否かの判断を行う。行った場合はステップS912へ進み、それ以外の場合はステップS904へ戻る。
ステップS912では、プログラム実行モジュール130が、ステップS902で実行を開始したスクリプトの処理を終了させる。
ステップS914では、エラー処理モジュール143が、エラー処理を行う。例えば、外部スクリプトの呼び出しがあること、そして、その処理を終了させる旨を、情報処理装置100のディスプレイ等の表示装置に表示する。なお、エラー処理として、その外部スクリプトの呼び出しをスキップして処理を続行するようにしてもよい。
In step S910, the external call control module 141 determines whether or not all scripts (JavaScript) in the Widget have been executed. If so, the process proceeds to step S912. Otherwise, the process returns to step S904.
In step S912, the program execution module 130 ends the processing of the script that started execution in step S902.
In step S914, the error processing module 143 performs error processing. For example, a display device such as a display of the information processing apparatus 100 displays that there is an external script call and terminates the processing. As an error process, the process may be continued by skipping the calling of the external script.

図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 call control module 141 acquires an external script.
In step S1012, the external call control module 141 assigns an untrusted domain to the external script acquired in step S1010.

ステップ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 call control module 141 uses the registration information 1105 to confirm the domain to which the script started in step S1102 belongs. The registration information 1105 is information related to the domain registered for each widget by the process of step S204 illustrated in the example of FIG.

ステップ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 program execution module 130 or the external call execution module 142 determines whether or not the script to be executed (including the external script that is JavaScript) has execution permission compared to the registered domain. I do. If the execution is permitted, the process proceeds to step S1112. Otherwise, the process proceeds to step S1122.

ステップS1112では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、JavaScriptの実行を行う。
ステップS1114では、外部呼び出し制御モジュール141が、Widget内の全てのスクリプト(JavaScript)を実行したか否かの判断を行う。行った場合はステップS1116へ進み、それ以外の場合はステップS1106へ戻る。
In step S1112, the program execution module 130 or the external call execution module 142 executes JavaScript.
In step S1114, the external call control module 141 determines whether or not all the scripts (JavaScript) in the Widget have been executed. If so, the process proceeds to step S1116; otherwise, the process returns to step S1106.

ステップS1116では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、ステップS1102で実行を開始したスクリプトの処理を終了させる。
ステップS1118では、外部呼び出し制御モジュール141が、外部スクリプトを取得する。
ステップS1120では、外部呼び出し制御モジュール141が、ステップS1118で取得した外部スクリプトに対してアントラステッド・ドメインを割り当てる。
In step S1116, the program execution module 130 or the external call execution module 142 ends the processing of the script that has started execution in step S1102.
In step S1118, the external call control module 141 acquires an external script.
In step S1120, the external call control module 141 assigns an untrusted domain to the external script acquired in step S1118.

ステップS1122では、エラー処理モジュール143が、エラー処理を行う。例えば、異なるドメインで実行しようとしている旨を情報処理装置100のディスプレイ等の表示装置に表示する。なお、エラー処理として、その外部スクリプトの呼び出しをスキップして処理を続行するようにしてもよい。
なお、ステップS1104の処理は、スクリプトの実行時ではなく、Widgetの選択時等のスクリプトの実行前であってもよい。
また、ステップS1118、ステップS1120の処理の代わりに、外部スクリプトファイルである旨のフラグを立て、Widget実行時において、該フラグがあれば、アントラステッドのポリシで(アントラステッド・ドメイン下で)動作するようにしてもよい。
In step S1122, the error processing module 143 performs error processing. For example, a message indicating that execution is to be performed in a different domain is displayed on a display device such as a display of the information processing apparatus 100. As an error process, the process may be continued by skipping the calling of the external script.
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 call control module 141 determines whether or not the widget to be executed is a script file. If it is a script file, the process proceeds to step S1218; otherwise, the process proceeds to step S1210.

ステップ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 call control module 141 acquires an external script.
In step S1216, the external call control module 141 sets a flag indicating that it is an external script file for the external script acquired in step S1214.

ステップS1218では、外部呼び出し制御モジュール141が、そのスクリプトを解析する。つまり、スクリプト内をメソッド(手続き)毎に分け、ポリシファイル1219を用いて、そのメソッドに対応する実行権限を抽出する。なお、ポリシファイル1219内には、図7の例で示したポリシ情報テーブル700がある。
ステップS1220では、外部呼び出し制御モジュール141が、各メソッドにステップS1218で抽出された実行権限を割り当てる。
In step S1218, the external call control module 141 analyzes the script. That is, the script is divided for each method (procedure), and the execution authority corresponding to the method is extracted using the policy file 1219. In the policy file 1219, there is a policy information table 700 shown in the example of FIG.
In step S1220, the external call control module 141 assigns the execution authority extracted in step S1218 to each method.

図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. Registration information 1305 is equivalent to registration information 1105.

ステップS1310では、外部呼び出し制御モジュール141が、実行しようとしているWidgetは外部スクリプトか否かの判断を行う。この判断は、ステップS1322の処理でフラグが立てられたか否かによる。外部スクリプトである場合はステップS1312へ進み、それ以外の場合はステップS1324へ進む。
ステップS1312では、外部呼び出し制御モジュール141が、ポリシファイル1313を用いて、そのスクリプトには実行権限があるか否かを判断する。実行権限がある場合はステップS1314へ進み、それ以外の場合はステップS1328へ進む。
In step S1310, the external call control module 141 determines whether or not the widget to be executed is an external script. This determination is based on whether or not a flag is set in step S1322. If it is an external script, the process proceeds to step S1312, otherwise the process proceeds to step S1324.
In step S1312, the external call control module 141 uses the policy file 1313 to determine whether the script has execution authority. If there is an execution right, the process proceeds to step S1314; otherwise, the process proceeds to step S1328.

ステップS1314では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、JavaScriptの実行を行う。
ステップS1316では、外部呼び出し制御モジュール141が、Widget内の全てのスクリプト(JavaScript)を実行したか否かの判断を行う。行った場合はステップS1318へ進み、それ以外の場合はステップS1306へ戻る。
ステップS1318では、プログラム実行モジュール130又は外部呼び出し実行モジュール142が、ステップS1302で実行を開始したスクリプトの処理を終了させる。
In step S1314, the program execution module 130 or the external call execution module 142 executes JavaScript.
In step S1316, the external call control module 141 determines whether or not all scripts (JavaScript) in the Widget have been executed. If so, the process proceeds to step S1318; otherwise, the process returns to step S1306.
In step S1318, the program execution module 130 or the external call execution module 142 ends the processing of the script that has started execution in step S1302.

ステップ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 call execution module 142 determines whether or not the script to be executed (including an external script that is JavaScript) has execution permission compared to the registered domain. If the execution is permitted, the process proceeds to step S1314; otherwise, the process proceeds to step S1326.
In step S1326, the error processing module 143 performs error processing. For example, a message indicating that execution is to be performed in a different domain is displayed on a display device such as a display of the information processing apparatus 100.
In step S1328, the error processing module 143 performs error processing. For example, the fact that there is no execution authority is displayed on a display device such as a display of the information processing apparatus 100.

図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 call control module 141 acquires an external script.
In step S1414, the external call control module 141 verifies the signature corresponding to the external script.
In step S1416, the external call control module 141 assigns a domain to the external script based on the signature verification in step S1414.

図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. Registration information 1505 is equivalent to registration information 1105.

ステップS1520では、外部呼び出し制御モジュール141が、外部スクリプトに対応している署名を検証する。
ステップS1522では、外部呼び出し制御モジュール141が、外部スクリプトに対してステップS1520での署名検証に基づいてドメインを割り当てる。
ステップS1524では、エラー処理モジュール143が、エラー処理を行う。例えば、異なるドメインで実行しようとしている旨を情報処理装置100のディスプレイ等の表示装置に表示する。
In step S1520, the external call control module 141 verifies the signature corresponding to the external script.
In step S1522, the external call control module 141 assigns a domain to the external script based on the signature verification in step S1520.
In step S1524, the error processing module 143 performs error processing. For example, a message indicating that execution is to be performed in a different domain is displayed on a display device such as a display of the information processing apparatus 100.

なお、図8から図15の例を用いて説明した処理例のうち、外部呼び出し処理モジュール140は複数の処理を行うことが可能なように構成してもよい。つまり、その複数の処理のうち、いずれか1つの処理を選択する選択モジュールを外部呼び出し処理モジュール140に設け、外部呼び出し制御モジュール141は、その選択モジュールによって選択された処理を行わせるように制御するようにしてもよい。   Of the processing examples described using the examples of FIGS. 8 to 15, the external call processing module 140 may be configured to perform a plurality of processing. That is, a selection module for selecting one of the plurality of processes is provided in the external call processing module 140, and the external call control module 141 performs control so that the process selected by the selection module is performed. You may do it.

なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図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 CPU 1610 that executes programs such as a program receiving module 110, a program registration module 120, a program execution module 130, and an external call processing module 140, a RAM 1630 that stores the programs and data, a program for starting the computer, and the like. ROM 1620, an auxiliary storage device HD 1640, a UI / F 1650 serving as an interface with the operator by inputting data from a keyboard, mouse, or the like by an operator's operation, or outputting data to a CRT or a liquid crystal display, etc. , A removable media reader / writer 1660 for reading from and writing to removable media such as CD-R, a communication line I / F 1670 for connecting to a communication network, and connecting them to a And a bus 1680 for the exchange of data. A plurality of these computers may be connected to each other via a network.

また、情報処理装置100として、通信可能なものであれば、パーソナルコンピューター(Personal Computer)、携帯電話、PDA(Personal Digital Assistant)、ナビゲーターシステム、情報家電等であってもよい。
なお、前述の実施の形態では、プログラム実行モジュール130がプログラムAを実行させ、外部呼び出し実行モジュール142がプログラムBを実行させているが、プログラム実行モジュール130がプログラムA及びプログラムBを実行させるようにしてもよい。つまり、プログラム実行モジュール130は外部呼び出し実行モジュール142の機能を有していてもよい。また、逆に、外部呼び出し実行モジュール142がプログラムA及びプログラムBを実行させるようにしてもよい。
The information processing apparatus 100 may be a personal computer (Personal Computer), a cellular phone, a PDA (Personal Digital Assistant), a navigator system, an information appliance, or the like as long as it can communicate.
In the above-described embodiment, the program execution module 130 executes the program A and the external call execution module 142 executes the program B. However, the program execution module 130 executes the program A and the program B. May be. That is, the program execution module 130 may have the function of the external call execution module 142. Conversely, the external call execution module 142 may cause the program A and the program B to be executed.

なお、説明したプログラムについては、記録媒体に格納することも可能であり、その場合は、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明としても把握することができる。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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.

本発明の一実施の形態のモジュール構成例を示す図である。It is a figure which shows the module structural example of one embodiment of this invention. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 図2の例に示したステップS202の処理例を示す説明図である。It is explanatory drawing which shows the process example of step S202 shown in the example of FIG. Widgetのファイル構成例を示す説明図である。It is explanatory drawing which shows the file structural example of Widget. 署名情報付きWidgetのファイル構成例を示す説明図である。It is explanatory drawing which shows the file structural example of Widget with signature information. 図2の例に示したステップS204の処理例を示す説明図である。It is explanatory drawing which shows the process example of step S204 shown in the example of FIG. ポリシ情報テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the example of a data structure of a policy information table. 本実施の形態による第1−1の処理例を示すフローチャートである。It is a flowchart which shows the 1-1 example of a process by this Embodiment. 本実施の形態による第1−2の処理例を示すフローチャートである。It is a flowchart which shows the 1-2 process example by this Embodiment. 本実施の形態による第2−1の処理例を示すフローチャートである。It is a flowchart which shows the 2-1 process example by this Embodiment. 本実施の形態による第2−2の処理例を示すフローチャートである。It is a flowchart which shows the 2nd-2 process example by this Embodiment. 本実施の形態による第3−1の処理例を示すフローチャートである。It is a flowchart which shows the 3-1 process example by this Embodiment. 本実施の形態による第3−2の処理例を示すフローチャートである。It is a flowchart which shows the 3-2 process example by this Embodiment. 本実施の形態による第4−1の処理例を示すフローチャートである。It is a flowchart which shows the 4th-1 process example by this Embodiment. 本実施の形態による第4−2の処理例を示すフローチャートである。It is a flowchart which shows the 4-2 process example by this Embodiment. 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which implement | achieves this Embodiment. ドメイン・セキュリティ・モデルの例を示す説明図である。It is explanatory drawing which shows the example of a domain security model. ドメイン・セキュリティ・モデルにおいてクラックが発生し得る場合の例を示す説明図である。It is explanatory drawing which shows the example in case a crack may generate | occur | produce in a domain security model.

符号の説明Explanation of symbols

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 SYMBOLS 100 ... Information processing apparatus 110 ... Program reception module 120 ... Program registration module 130 ... Program execution module 140 ... External call processing module 141 ... External call control module 142 ... External call execution module 143 ... Error processing module 310 ... Terminal device 320 ... Server Device 330 ... Internet 340 ... Widget
1710 ... Terminal device 1720 ... A domain 1730 ... B domain 1731 ... Widget
1732 ... JavaScript
1750 ... Web server 1790 ... Internet 1801 ... Crack 1802 ... Crack

Claims (14)

第1のプログラム内から外部にある第2のプログラムを呼び出して、該第2のプログラムを実行し得る情報処理装置であって、
前記第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のプログラムを実行し得る情報処理装置であって、
前記第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のプログラムを実行し得る情報処理装置であって、
手続き毎に実行可否の規則を記憶している記憶手段と、
前記第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のプログラムを実行し得る情報処理装置であって、
前記第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のプログラムを実行する前に又は前記第1のプログラムを実行しているときに、前記第1のプログラムを解析して、前記第2のプログラムがあるか否かを判断する
ことを特徴とする請求項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から4に記載の情報処理装置のうち、複数の該情報処理装置を備えており、
前記複数の情報処理装置のうち、いずれか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のプログラムを実行し得る情報処理装置が行う情報処理方法であって、
判断手段は、前記第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のプログラムを実行し得る情報処理装置が行う情報処理方法であって、
判断手段は、前記第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のプログラムを実行し得る情報処理装置が行う情報処理方法であって、
前記情報処理装置は、
手続き毎に実行可否の規則を記憶している記憶手段
を具備し、
判断手段は、前記第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のプログラムを実行し得る情報処理装置が行う情報処理方法であって、
判断手段は、前記第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のプログラムを実行し得る情報処理装置として機能させるための情報処理プログラムであって、
前記コンピュータを、
前記第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のプログラムを実行し得る情報処理装置として機能させるための情報処理プログラムであって、
前記コンピュータを、
前記第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のプログラムを実行し得る情報処理装置として機能させるための情報処理プログラムであって、
前記コンピュータを、
手続き毎に実行可否の規則を記憶している記憶手段と、
前記第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のプログラムを実行し得る情報処理装置として機能させるための情報処理プログラムであって、
前記コンピュータを、
前記第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.
JP2008263320A 2008-10-10 2008-10-10 Information processing apparatus, information processing method, and information processing program Pending JP2010092376A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
CSNG200401162006; 阿部 洋丈: 'セキュリティポリシーの動的切替機構を持つリファレンスモニタシステム' コンピュータシステム・シンポジウム論文集 第2002巻, 20021119, 第64頁, 社団法人情報処理学会 *
JPN6013000606; 阿部 洋丈: 'セキュリティポリシーの動的切替機構を持つリファレンスモニタシステム' コンピュータシステム・シンポジウム論文集 第2002巻, 20021119, 第64頁, 社団法人情報処理学会 *

Cited By (3)

* Cited by examiner, † Cited by third party
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