JP2005149394A - Information processor, information processing method, program and recording medium - Google Patents

Information processor, information processing method, program and recording medium Download PDF

Info

Publication number
JP2005149394A
JP2005149394A JP2003389545A JP2003389545A JP2005149394A JP 2005149394 A JP2005149394 A JP 2005149394A JP 2003389545 A JP2003389545 A JP 2003389545A JP 2003389545 A JP2003389545 A JP 2003389545A JP 2005149394 A JP2005149394 A JP 2005149394A
Authority
JP
Japan
Prior art keywords
application program
secure level
secure
trusted application
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003389545A
Other languages
Japanese (ja)
Other versions
JP4507569B2 (en
Inventor
Wilajati Purna Yusuf
ウィラジャティ プルナ ユスフ
Hiroyuki Machida
浩之 町田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003389545A priority Critical patent/JP4507569B2/en
Publication of JP2005149394A publication Critical patent/JP2005149394A/en
Application granted granted Critical
Publication of JP4507569B2 publication Critical patent/JP4507569B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To flexibly execute an application program by dynamically setting a secure level. <P>SOLUTION: A secure level module 71 is applicable, for example, to an OS executed on a computer, determines whether the application program is a trusted application program 42 with a legitimate electronic signature, and when determining that the application program is a trusted application program 42, recognizes a secure level which the trusted application program 42 requests. Then, the secure level module 71 sets the highest secure level among the secure levels of the application programs being executed and to be executed subsequently as a secure level of the computer. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、情報処理装置および情報処理方法、プログラム、並びに記録媒体に関し、特に、セキュアレベルを動的に設定することにより、アプリケーションプログラムを柔軟に実行することができるようにする情報処理装置および情報処理方法、プログラム、並びに記録媒体に関する。   The present invention relates to an information processing device, an information processing method, a program, and a recording medium, and in particular, an information processing device and information that can flexibly execute an application program by dynamically setting a secure level. The present invention relates to a processing method, a program, and a recording medium.

例えば、BSD(Berkeley Software Distribution)においては、カーネルレベルで、ブート時にセキュアレベル(secure level)が設定される。そして、ブート後はスーパーユーザ(アドミニストレータ)がセキュアレベルを上げることができる。   For example, in BSD (Berkeley Software Distribution), a secure level is set at boot time at the kernel level. Then, after booting, the super user (administrator) can raise the secure level.

ここで、コンピュータのセキュリティに関する技術としては、例えば、OS(Operating System)上で実行される各タスクのセキュリティレベルをOSの内部に保持させ、そのセキュリティレベルと、タスク間の通信用関数のセキュリティレベルとに基づき、タスクのメモリとして、セキュリティ有りのレベルが書き込まれるセキュアメモリブロックと、セキュリティ無しのレベルが書き込まれるノンセキュアメモリブロックのうちの一方を選択するタスク間通信方法がある(例えば、特許文献1参照)。   Here, as a technology related to computer security, for example, the security level of each task executed on the OS (Operating System) is held in the OS, and the security level and the security level of the communication function between tasks As a task memory, there is an inter-task communication method for selecting one of a secure memory block in which a level with security is written and a non-secure memory block in which a level without security is written (for example, Patent Documents) 1).

また、従来では、OSの完全性を保護するため、あるアプリケーションの動作が他のアプリケーション、またはOS全体に影響を与えないように、そのアプリケーションに対してバーチャル環境(virtual environment)を提供し、そのバーチャル環境をコンパートメント(Compartment)化する方法が用いられることがある。   Conventionally, in order to protect the integrity of the OS, a virtual environment is provided to the application so that the operation of the application does not affect other applications or the entire OS. A method of making a virtual environment into a compartment may be used.

特開2002−49499号公報JP 2002-49499 A

しかしながら、OSの動作中に、スーパーユーザがセキュアレベルを上げることしかできない場合、正当な電子署名(Signature)のあるアプリケーションであるトラステッドアプリケーション(Trusted Application)(のプログラム)を実行させるトラステッドプラットフォーム(Trusted Platform)上で、正当な電子署名のないアントラステッドアプリケーション(Untrusted Application)(のプログラム)を実行させることが困難であるという課題があった。   However, if the super user can only raise the secure level during the operation of the OS, the trusted application (Trusted Application) that is an application having a valid digital signature (Signature) is executed. ) In the above, there is a problem that it is difficult to execute an untrusted application (program) without a valid electronic signature.

即ち、トラステッドアプリケーションを実行するために、ブート時にセキュアレベルが高いレベルに設定された場合、そのトラステッドアプリケーションの実行が終了しても、セキュアレベルが高いままとなるので、正当な電子署名のない信頼できないアントラステッドアプリケーションは、高いセキュアレベルに制限され、実行することができない。   That is, in order to execute a trusted application, if the secure level is set to a high level at the time of booting, the secure level remains high even after the execution of the trusted application is completed. Untrusted applications that cannot be limited to a high secure level and cannot be executed.

従って、トラステッドプラットフォームにおいて、トラステッドアプリケーションを実行しない間に、オープンソースのようなアントラステッドアプリケーションを実行したいという一般ユーザの期待に応じることは困難であった。   Therefore, it has been difficult to meet the general user's expectation to execute an untrusted application such as open source on the trusted platform without executing the trusted application.

また、バーチャル環境をコンパートメント化する方法は、ホストシステムとは別に、コンパートメント毎に各々のアプリケーションに対してリソースを用意する必要があり、リソースを浪費することになる。   In addition, in the method of compartmentalizing the virtual environment, it is necessary to prepare resources for each application for each compartment separately from the host system, which wastes resources.

本発明は、このような状況に鑑みてなされたものであり、セキュアレベルを動的に設定することにより、アプリケーションプログラムを柔軟に実行することができるようにするものである。   The present invention has been made in view of such a situation, and enables a flexible execution of an application program by dynamically setting a secure level.

本発明の情報処理装置は、アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定手段と、判定手段によりアプリケーションプログラムがトラステッドアプリケーションプログラムであると判定された場合、トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識手段と、実行中、およびこれから実行しようとするトラステッドアプリケーションプログラムが要求するセキュアレベルのうちの最も高いセキュアレベルを、情報処理装置のセキュアレベルに設定する設定手段とを備えることを特徴とする。   The information processing apparatus according to the present invention has a determination unit that determines whether an application program is a trusted application program with a valid electronic signature, and the determination unit determines that the application program is a trusted application program. Recognizing means for recognizing the secure level required by the application program and setting for setting the highest secure level among the secure levels required by the trusted application program being executed and to be executed as the secure level of the information processing apparatus Means.

この情報処理装置には、設定手段により設定された情報処理装置のセキュアレベルに応じて、トラステッドアプリケーションプログラム以外のアプリケーションプログラムであるアントラステッドアプリケーションプログラムのリソースの使用を制限するリソース制限手段をさらに設けることができる。   The information processing apparatus further includes resource restriction means for restricting use of resources of the untrusted application program that is an application program other than the trusted application program according to the secure level of the information processing apparatus set by the setting means. Can do.

情報処理装置には、トラステッドアプリケーションプログラムの実行が終了した場合、設定手段により設定された情報処理装置のセキュアレベルを、実行中のトラステッドアプリケーションプログラムが要求するセキュアレベルのうちの最も高いセキュアレベルに変更する変更手段をさらに設けることができる。   When the execution of the trusted application program is finished, the information processing device changes the secure level of the information processing device set by the setting means to the highest secure level requested by the trusted application program being executed. Further, a changing means can be provided.

トラステッドアプリケーションプログラムは、正当な電子署名とトラステッドアプリケーションが要求するセキュアレベルを、少なくとも有するようにすることができる。   The trusted application program may have at least a valid electronic signature and a secure level required by the trusted application.

情報処理装置には、実行中、およびこれから実行しようとするトラステッドアプリケーションプログラムと、トラステッドアプリケーションプログラムが要求するセキュアレベルとを対応づけたセキュアレベルテーブルを記憶する記憶手段をさらに設け、設定手段には、記憶手段により記憶されたセキュアレベルテーブルに基づいて、情報処理装置のセキュアレベルを設定するようにさせることができる。   The information processing apparatus further includes a storage unit that stores a secure level table in which a trusted application program that is being executed and is about to be executed and a secure level requested by the trusted application program are associated with each other. The secure level of the information processing apparatus can be set based on the secure level table stored by the storage means.

本発明の情報処理方法は、アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定ステップと、判定ステップの処理によりアプリケーションプログラムがトラステッドアプリケーションプログラムであると判定された場合、トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識ステップと、実行中、およびこれから実行しようとするトラステッドアプリケーションプログラムが要求するセキュアレベルのうちの最も高いセキュアレベルを、情報処理装置のセキュアレベルに設定する設定ステップとを含むことを特徴とする。   In the information processing method of the present invention, when the application program is a trusted application program having a valid electronic signature, and when the application program is determined to be a trusted application program by the processing of the determination step The recognition step for recognizing the secure level required by the trusted application program, and the highest secure level required by the trusted application program that is being executed and is going to be executed is set as the secure level of the information processing apparatus. And a setting step.

本発明のプログラムは、アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定ステップと、判定ステップの処理によりアプリケーションプログラムがトラステッドアプリケーションプログラムであると判定された場合、トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識ステップと、実行中、およびこれから実行しようとするトラステッドアプリケーションプログラムが要求するセキュアレベルのうちの最も高いセキュアレベルをコンピュータのセキュアレベルに設定する設定ステップとを含むことを特徴とする。   The program of the present invention has a determination step for determining whether or not the application program is a trusted application program with a valid electronic signature, and when the application program is determined to be a trusted application program by the processing of the determination step, A recognition step for recognizing the secure level required by the application program, and a setting step for setting the highest secure level among the secure levels required by the trusted application program to be executed and to be executed to the computer secure level. It is characterized by including.

本発明の記録媒体に記録されているプログラムは、アプリケーションプログラムが、電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定ステップと、判定ステップの処理によりアプリケーションプログラムがトラステッドアプリケーションプログラムであると判定された場合、トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識ステップと、実行中、およびこれから実行しようとするトラステッドアプリケーションプログラムが要求するセキュアレベルのうちの最も高いセキュアレベルをコンピュータのセキュアレベルに設定する設定ステップとを含むことを特徴とする。   The program recorded on the recording medium of the present invention determines whether the application program is a trusted application program with an electronic signature, and determines that the application program is a trusted application program by the processing of the determination step. A recognition step for recognizing the secure level required by the trusted application program, and the highest secure level required by the trusted application program being executed and to be executed is set as the computer secure level. And a setting step.

本発明においては、アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかが判定され、アプリケーションプログラムがトラステッドアプリケーションプログラムであると判定された場合、トラステッドアプリケーションプログラムが要求するセキュアレベルが認識される。そして、実行中、およびこれから実行しようとするトラステッドアプリケーションプログラムが要求するセキュアレベルのうちの最も高いセキュアレベルが、情報処理装置のセキュアレベルに設定される。   In the present invention, when it is determined whether the application program is a trusted application program with a valid electronic signature, and it is determined that the application program is a trusted application program, the secure level required by the trusted application program is recognized. Is done. Then, the highest secure level among the secure levels required by the trusted application program to be executed and to be executed in the future is set as the secure level of the information processing apparatus.

本発明によれば、セキュアレベルを動的に設定することにより、アプリケーションプログラムを柔軟に実行することができる。   According to the present invention, an application program can be flexibly executed by dynamically setting a secure level.

以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。   BEST MODE FOR CARRYING OUT THE INVENTION The best mode of the present invention will be described below. The correspondence relationship between the disclosed invention and the embodiments is exemplified as follows. Although there are embodiments which are described in this specification but are not described here as corresponding to the invention, the embodiments correspond to the invention. It does not mean that it is not a thing. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.

さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。   Further, this description does not mean all the inventions described in the specification. In other words, this description is for the invention described in the specification and not claimed in this application, i.e., for the invention that will be applied for in the future or that will appear as a result of amendment and added. It does not deny existence.

本発明によれば、情報処理装置が提供される。この情報処理装置は、アプリケーションプログラムの実行環境を制御する情報処理装置において、前記アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定手段(例えば、図12のステップS11の処理を実行するセキュアレベルモジュール71)と、前記判定手段により前記アプリケーションプログラムが前記トラステッドアプリケーションプログラムであると判定された場合、前記トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識手段(例えば、図12のステップS12の処理を実行するセキュアレベルモジュール71)と、実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルを、前記情報処理装置のセキュアレベルに設定する設定手段(例えば、図12のステップS17の処理を実行するセキュアレベルモジュール71)とを備えることを特徴とする。   According to the present invention, an information processing apparatus is provided. In the information processing apparatus that controls the execution environment of the application program, the information processing apparatus determines whether the application program is a trusted application program with a valid electronic signature (for example, step S11 in FIG. 12). A secure level module 71) that executes the above-described processing, and a recognition unit that recognizes the secure level requested by the trusted application program when the determination unit determines that the application program is the trusted application program (for example, FIG. The secure level module 71) that executes the process of step S12 of 12 and the trusted application program that is being executed and is about to execute And setting means (for example, a secure level module 71 for executing the process of step S17 in FIG. 12) for setting the highest secure level among the secure levels to the secure level of the information processing apparatus. .

この情報処理装置は、前記設定手段により設定された前記情報処理装置のセキュアレベルに応じて、前記トラステッドアプリケーション以外のアプリケーションであるアントラステッドアプリケーションプログラムのリソースの使用を制限するリソース制限手段(例えば、図14のステップS52の処理を実行するカーネル51)をさらに備えるようにすることができる。   The information processing apparatus is configured to limit resource use of an untrusted application program that is an application other than the trusted application according to a secure level of the information processing apparatus set by the setting means (for example, FIG. It is possible to further include a kernel 51) that executes the processing of step S52 in FIG.

情報処理装置は、前記トラステッドアプリケーションプログラムの実行が終了した場合、前記設定手段により設定された前記情報処理装置のセキュアレベルを、実行中の前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルに変更する変更手段(例えば、図13のステップS33の処理を実行するセキュアレベルモジュール71)をさらに備えるようにすることができる。   When the execution of the trusted application program ends, the information processing apparatus has the highest secure level of the information processing apparatus set by the setting unit among the secure levels required by the trusted application program being executed. Changing means for changing to a secure level (for example, a secure level module 71 that executes the process of step S33 in FIG. 13) may be further provided.

前記トラステッドアプリケーションプログラムは、前記正当な電子署名と前記トラステッドアプリケーションが要求するセキュアレベルを、少なくとも有するようにすることができる。   The trusted application program may have at least the legitimate electronic signature and a secure level required by the trusted application.

前記実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムと、前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルとを対応づけたセキュアレベルテーブルを記憶する記憶手段(例えば、図1のRAM13)をさらに備え、前記設定手段は、前記記憶手段により記憶されたセキュアレベルテーブルに基づいて、前記情報処理装置のセキュアレベルを設定するようにすることができる。   Storage means (for example, RAM 13 in FIG. 1) for storing a secure level table in which the trusted application program to be executed in the future and the secure application level requested by the trusted application program are associated with each other is further provided. The setting means can set the secure level of the information processing apparatus based on the secure level table stored by the storage means.

また、本発明によれば、情報処理方法も提供される。この情報処理方法は、アプリケーションプログラムの実行環境を制限する情報処理装置の情報処理方法において、前記アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定ステップ(例えば、図12のステップS11)と、前記判定ステップの処理により前記アプリケーションプログラムが前記トラステッドアプリケーションプログラムであると判定された場合、前記トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識ステップ(例えば、図12のステップS12)と、実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルを、前記情報処理装置のセキュアレベルに設定する設定ステップ(例えば、図12のステップS17)とを含むことを特徴とする。   According to the present invention, an information processing method is also provided. In this information processing method, in the information processing method of the information processing apparatus that restricts the execution environment of the application program, a determination step of determining whether the application program is a trusted application program with a valid electronic signature (for example, 12 and a recognition step of recognizing a secure level required by the trusted application program when the application program is determined to be the trusted application program (for example, the step of FIG. 12). S12), the highest secure level among the secure levels required by the trusted application program being executed and to be executed Setting step of setting the security level of the broadcast processing apparatus (e.g., step S17 in FIG. 12), characterized in that it comprises a.

さらに、本発明によれば、プログラムも提供される。このプログラムは、アプリケーションプログラムの実行環境を制限する処理を、コンピュータに行わせるプログラムにおいて、前記アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定ステップ(例えば、図12のステップS11)と、前記判定ステップの処理により前記アプリケーションプログラムが前記トラステッドアプリケーションプログラムであると判定された場合、前記トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識ステップ(例えば、図12のステップS12)と、実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルを前記コンピュータのセキュアレベルに設定する設定ステップ(例えば、図12のステップS17)とを含むことを特徴とする。   Furthermore, according to the present invention, a program is also provided. This program is a program for causing a computer to execute a process for restricting the execution environment of an application program, and a determination step for determining whether or not the application program is a trusted application program with a valid electronic signature (for example, FIG. 12). Step S11) and a recognition step of recognizing a secure level required by the trusted application program when the application program is determined to be the trusted application program by the processing of the determination step (for example, step S12 of FIG. 12). ) And the highest secure level of the secure level required by the trusted application program being executed and to be executed in the future. Setting step of setting the Le secure level of the computer (e.g., step S17 in FIG. 12), characterized in that it comprises a.

このプログラムは記録媒体に記録することができる。   This program can be recorded on a recording medium.

以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.

図1は、本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。   FIG. 1 is a block diagram showing a configuration example of an embodiment of a computer to which the present invention is applied.

CPU(Central Processing Unit)11は、ROM(Read Only Memory)12に記憶されているプログラム、または、記憶部18からRAM(Random Access Memory)13にロードされたプログラムにしたがって各種の処理を実行する。RAM13にはまた、CPU11が各種の処理を実行する上において必要なデータなどが適宜記憶される。   A CPU (Central Processing Unit) 11 executes various processes according to a program stored in a ROM (Read Only Memory) 12 or a program loaded from a storage unit 18 to a RAM (Random Access Memory) 13. The RAM 13 also appropriately stores data necessary for the CPU 11 to execute various processes.

CPU11、ROM12、およびRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インタフェース15も接続されている。   The CPU 11, ROM 12, and RAM 13 are connected to each other via a bus 14. An input / output interface 15 is also connected to the bus 14.

入出力インタフェース15には、キーボード、マウスなどよりなる入力部16、CRT(Cathode Ray Tube),LCD(Liquid Crystal Display)などよりなるディスプレイやスピーカなどよりなる出力部17、ハードディスクなどより構成される記憶部18、モデム、ターミナルアダプタなどより構成される通信部19が接続されている。通信部19は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行なう。   The input / output interface 15 includes an input unit 16 including a keyboard and a mouse, an output unit 17 including a display and speakers such as a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), and a hard disk. A communication unit 19 including a unit 18, a modem, a terminal adapter, and the like is connected. The communication unit 19 performs communication processing via various networks including a telephone line and CATV.

入出力インタフェース15にはまた、必要に応じてドライブ20が接続されている。ドライブ20には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブル記録媒体21が適宜装着され、それから読み出されたプログラムが、必要に応じて記憶部18にインストールされる。   A drive 20 is also connected to the input / output interface 15 as necessary. A removable recording medium 21 composed of a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is appropriately installed in the drive 20, and a program read therefrom is installed in the storage unit 18 as necessary.

また、記憶部18(のリードディスク)には、例えば、アプリケーションプログラムが利用可能な/etcディレクトリ、/binディレクトリ、/sbinディレクトリ、/user/binディレクトリ、/libディレクトリ、/user/libディレクトリ等が構成されている。さらに、記憶部18には、後述するセキュアレベルL0乃至L4のコンパートメントを指定する情報(コンパートメント指定情報)が記述された設定ファイルが記憶されている。   The storage unit 18 (the read disk) includes, for example, an / etc directory, a / bin directory, a / sbin directory, a / user / bin directory, a / lib directory, and a / user / lib directory that can be used by application programs. It is configured. Further, the storage unit 18 stores a setting file in which information (compartment designation information) for designating compartments of secure levels L0 to L4 described later is described.

図2は、図1のコンピュータ上で実行されるプログラムを説明する図である。   FIG. 2 is a diagram for explaining a program executed on the computer of FIG.

なお、セキュアレベルは、プラットホームであるOS41に対して設定され、使用できるリソース、その影響の範囲等のプログラムの実行環境を制限するものである。図2では、セキュアレベルは、例えば、セキュアレベルL0乃至L4の5段階に設定される。なお、セキュアレベルLi(i=1,・・・,5)では、iが大きいほど、セキュリティが高くなる。即ち、セキュアレベルLiでは、iが大きいほど、セキュアレベルLiで制限される実行環境は広くなる。   The secure level is set for the OS 41 as a platform, and limits the execution environment of the program such as resources that can be used and the range of the influence. In FIG. 2, the secure level is set, for example, in five levels of secure levels L0 to L4. Note that at the secure level Li (i = 1,..., 5), the greater i, the higher the security. That is, in the secure level Li, the execution environment restricted by the secure level Li becomes wider as i increases.

また、セキュアレベルL0乃至L4で制限される実行環境を、それぞれセキュアレベルL0乃至L4のコンパートメントといい、後述するトラステッドアプリケーションプログラム42−1とトラステッドアプリケーションプログラム42−2によって制限される実行環境をトラステッドアプリのコンパートメントという。   The execution environments restricted by the secure levels L0 to L4 are referred to as compartments of the secure levels L0 to L4, respectively. The execution environments restricted by the trusted application program 42-1 and the trusted application program 42-2 described later are trusted applications. Called the compartment.

図1のコンピュータでは、OS41上で、トラステッドアプリケーションプログラム42−1、トラステッドアプリケーションプログラム42−2、およびアントラステッドアプリケーションプログラム44や、ライブラリ45などが実行される。なお、以下、トラステッドアプリケーションプログラム42−1とトラステッドアプリケーションプログラム42−2をそれぞれトラステッドアプリ42−1、トラステッドアプリ42−2ともいい、アントラステッドアプリケーションプログラム44をアントラステッドアプリ44ともいう。また、以下、トラステッドアプリ42−1とトラステッドアプリ42−2を区別する必要がない場合、トラステッドアプリ42−1とトラステッドアプリ42−2をまとめて、トラステッドアプリ42と称する。   In the computer shown in FIG. 1, a trusted application program 42-1, a trusted application program 42-2, an untrusted application program 44, a library 45, and the like are executed on the OS 41. Hereinafter, the trusted application program 42-1 and the trusted application program 42-2 are also referred to as a trusted application 42-1 and a trusted application 42-2, respectively, and the untrusted application program 44 is also referred to as an untrusted application 44. In addition, hereinafter, when it is not necessary to distinguish between the trusted application 42-1 and the trusted application 42-2, the trusted application 42-1 and the trusted application 42-2 are collectively referred to as a trusted application 42.

OS41は、コンピュータの基本的な動作を制御する基本プログラムである。   The OS 41 is a basic program that controls basic operations of the computer.

OS41は、OS41の基本機能を実装したプログラムであるカーネル51と、その他の部分とに分けることができる。カーネル51は、例えば、後述するセキュアレベルモジュール71を有し、そのセキュアレベルモジュール71により設定されたOS41のセキュアレベルL0乃至L4のコンパートメント指定情報を、記憶部18から読み出して、そのセキュアレベルL0乃至L4のコンパートメント指定情報に基づいて、後述するアントラステッドアプリ44のリソースの使用を制限する。   The OS 41 can be divided into a kernel 51, which is a program that implements the basic functions of the OS 41, and other parts. The kernel 51 has, for example, a secure level module 71 to be described later, and reads the compartment designation information of the secure levels L0 to L4 of the OS 41 set by the secure level module 71 from the storage unit 18, and the secure levels L0 to Based on the compartment designation information of L4, the use of resources of the untrusted application 44 described later is restricted.

セキュアレベルモジュール71は、セキュアレベルテーブル(後述する図10と図11)をRAM13に記憶させる。セキュアレベルモジュール71は、OS41のセキュアレベルを設定することにより、トラステッドアプリ42とアントラステッドアプリ44の実行環境を制御する。   The secure level module 71 stores a secure level table (FIGS. 10 and 11 described later) in the RAM 13. The secure level module 71 controls the execution environment of the trusted application 42 and the untrusted application 44 by setting the secure level of the OS 41.

トラステッドアプリ42とアントラステッドアプリ44は、任意のアプリケーションプログラムである。但し、トラステッドアプリ42は、正当な電子署名のある信頼できるプログラムであり、アントラステッドアプリ44は、正当な電子署名のない、または電子署名自体がない信頼できないプログラムである。また、トラステッドアプリ42には、後述するように、OS41に要求するセキュアレベル(以下、要求セキュアレベルという)を含むトラステッドアプリ42のコンパートメント指定情報を有している。   The trusted application 42 and the untrusted application 44 are arbitrary application programs. However, the trusted application 42 is a reliable program with a valid electronic signature, and the untrusted application 44 is an untrusted program without a valid electronic signature or without an electronic signature itself. Further, as will be described later, the trusted application 42 has compartment designation information of the trusted application 42 including a secure level required for the OS 41 (hereinafter referred to as a requested secure level).

なお、トラステッドアプリ42とアントラステッドアプリ44は、必要に応じて、後述するライブラリ45に格納されている複数の処理ルーチンを利用することができる。   Note that the trusted application 42 and the untrusted application 44 can use a plurality of processing routines stored in a library 45 described later, as necessary.

ライブラリ45には、トラステッドアプリ42やアントラステッドアプリ44等が利用する複数の処理ルーチンが格納されている。   The library 45 stores a plurality of processing routines used by the trusted application 42, the untrusted application 44, and the like.

図1のコンピュータにおいて、セキュアレベルモジュール71がOS41のセキュアレベルを動的に設定する。そして、アントラステッドアプリ44が実行される場合、カーネル51は、セキュアレベルモジュール71により設定されたOS41のセキュアレベルのコンパートメント指定情報に基づいて、アントラステッドアプリ44のリソースの使用を制限(または許可)する。   In the computer of FIG. 1, the secure level module 71 dynamically sets the secure level of the OS 41. When the untrusted application 44 is executed, the kernel 51 restricts (or permits) the use of the resource of the untrusted application 44 based on the secure level compartment designation information of the OS 41 set by the secure level module 71. To do.

トラステッドアプリ42とアントラステッドアプリ44は、必要に応じてライブラリ45に格納されている処理ルーチンを利用する。   The trusted application 42 and the untrusted application 44 use processing routines stored in the library 45 as necessary.

図3は、トラステッドアプリ42の基本的なフォーマットの例を示している。   FIG. 3 shows an example of a basic format of the trusted application 42.

図3では、トラステッドアプリ42のフォーマットは、2重レイヤアプリケーションフォーマットとなっている。トラステッドアプリ42は、先頭から順に、signature101、平文102、dev_pkey(key)103、key(core)104が配置されて構成されている。   In FIG. 3, the format of the trusted application 42 is a double layer application format. The trusted application 42 includes signature 101, plain text 102, dev_pkey (key) 103, and key (core) 104 arranged in order from the top.

signature101は、平文102、dev_pkey(key)103、およびkey(core)104から構成されるパッケージの提供者の電子署名である。この電子署名は、トラステッドアプリ42の正当性を確認するために利用される。   The signature 101 is an electronic signature of a package provider composed of plain text 102, dev_pkey (key) 103, and key (core) 104. This electronic signature is used to confirm the validity of the trusted application 42.

平文102は、暗号化されていないコア(core)(例えば、無料のコンテンツやアントラステッドコンテンツを再生するための暗号化の必要がないプログラムの実行コード)である。平文102は、例えば、トラステッドアプリ42のコンパートメント指定情報を含んでいる。   The plaintext 102 is an unencrypted core (for example, an execution code of a program that does not require encryption for reproducing free content or untrusted content). The plain text 102 includes, for example, compartment designation information of the trusted application 42.

なお、コンパートメント指定情報は、平文102ではなく、その他の部分に含まれるようにしてもよい。   The compartment designation information may be included not in the plain text 102 but in other parts.

dev_pkey(key)103は、特定のデバイスまたはシステムの公開鍵dev_pkeyで暗号化した共通鍵keyである。   A dev_pkey (key) 103 is a common key key encrypted with a public key dev_pkey of a specific device or system.

key(core)104は、共通鍵keyで暗号化したコア(core)部分である。   The key (core) 104 is a core part encrypted with the common key key.

図4は、セキュアレベルL1のコンパートメント指定情報の例を示している。   FIG. 4 shows an example of the compartment designation information of the secure level L1.

図4に示すように、セキュアレベルL1のコンパートメント指定情報は、プロセスケーパビリティ(Process capabilities)とマンダトリアクセスコントロール(Mandatory Access Controls(MAC))とに分項されるマンダトリセキュリティ(Mandatory security)、およびトラステッドパス(Trusted paths)から構成される。   As shown in FIG. 4, the compartment designation information of the secure level L1 includes Mandatory security (Mandatory security) divided into process capabilities (Process capabilities) and Mandatory Access Controls (MAC), And Trusted paths.

なお、マンダトリセキュリティとは、セキュリティ方針論理とセキュリティ属性の指定とが、明確にあるセキュリティ方針管理者により管理されていることを意味する。マンダトリセキュリティのセキュリティ方針は、例えば、ルール形式で記述される。   Note that mandatory security means that the security policy logic and the designation of security attributes are clearly managed by a security policy manager. The security policy of mandatori security is described in a rule format, for example.

マンダトリセキュリティにおけるプロセスケーパビリティとマンダトリアクセスコントロールは、例えば、POSIX(Portable Operating System Interface for UNIX(登録商標)) 1.eなどのような、任意のプラットホームに共通のインタフェースとして提供することができる。プロセスケーパビリティによれば、スーパーユーザの特権(権限)を分割して管理することができる。そして、あるプロセスケーパビリティで管理される特権が有効であるかどうかにより、カーネル51の振る舞いは異なる。   Process capabilities and mandatory access control in mandatori security can be provided as a common interface to any platform, such as POSIX (Portable Operating System Interface for UNIX (registered trademark)) 1.e. . According to the process capability, it is possible to divide and manage superuser privileges (authorities). The behavior of the kernel 51 differs depending on whether or not a privilege managed by a certain process capability is valid.

図4の例では、プロセスケーパビリティとして、カーネルスペースとなっているメモリ空間にアクセスするという特権(CAP_SYS_RAWIO)と、カーネルモジュールのロードおよびアンロードを行うという特権(CAP_SYS_MODULE)が記述されている。そして、その両方の特権を表すプロセスケーパビリティが無効(OFF)にされている。従って、セキュアレベルL1のコンパートメントでは、カーネルスペースとなっているメモリ空間へのアクセスと、カーネルモジュールのロードおよびアンロードとが許可されない。   In the example of FIG. 4, as process capabilities, a privilege (CAP_SYS_RAWIO) for accessing a memory space serving as a kernel space and a privilege (CAP_SYS_MODULE) for loading and unloading a kernel module are described. And the process capability representing both of these privileges is disabled (OFF). Accordingly, in the compartment of the secure level L1, access to the memory space serving as the kernel space and loading and unloading of the kernel module are not permitted.

マンダトリアクセスコントロールは、ある実体(エンティティ)が他の実体にどのようなモードでアクセスできるかを表す。   Mandatory access control indicates in what mode an entity can access another entity.

図4の例では、マンダトリアクセスコントロールにおいて、/etcがreadとされている。即ち、セキュアレベルL1のコンパートメントでは、/etcディレクトリに対する操作が読み出し(read)のみに制限される。また、マンダトリアクセスコントロールにおいて、/bin、/sbin、/use/bin、/lib、/user/libがreadとされているので、セキュアレベルL1のコンパートメントでは、/binディレクトリ、/sbinディレクトリ、/user/binディレクトリ、/libディレクトリ、/user/libディレクトリに対する操作が、いずれも読み出し(read)のみに制限される。   In the example of FIG. 4, / etc is read in the mandatory access control. That is, in the secure level L1 compartment, operations on the / etc directory are limited to reading only. In the mandatory access control, / bin, / sbin, / use / bin, / lib, and / user / lib are read, so in the secure level L1 compartment, the / bin directory, the / sbin directory, Operations on the user / bin directory, / lib directory, and / user / lib directory are all restricted to reading only.

また、トラステッドパスは、トラステッドアプリ42の実体であるトラステッド実体と信頼できるパス(path)を結ぶための条件を表している。   The trusted path represents a condition for establishing a trusted path with a trusted entity that is an entity of the trusted application 42.

例えば、トラステッドアプリ42−1とトラステッドアプリ42−2との間にトラステッドパスで表される条件が満たされている場合、トラステッドアプリ42−1がトラステッドアプリ42−2と通信するとき、トラステッドアプリ42−1は、トラステッドアプリ42−2が本当にトラステッドアプリ42−2であると信頼することができる。また、トラステッドアプリ42−2も、トラステッドアプリ42−1が本当にトラステッドアプリ42−2であると信頼することができる。   For example, when the condition represented by the trusted path is satisfied between the trusted application 42-1 and the trusted application 42-2, when the trusted application 42-1 communicates with the trusted application 42-2, the trusted application 42-2 -1 can be trusted that the trusted app 42-2 is indeed the trusted app 42-2. Also, the trusted application 42-2 can trust that the trusted application 42-1 is really the trusted application 42-2.

図4の例では、トラステッドパスにおいて、/libがsignatureとされ、/user/binがsignatureとされている。即ち、セキュアレベルL1のコンパートメントでは、/libディレクトリおよび/user/binディレクトリが、トラステッドアプリ42と信頼できるパスを結ぶために、トラステッドアプリ42のsignature101(図3)の電子署名(signature)が正当であるかどうかを判定するように指定されている。   In the example of FIG. 4, in the trusted path, / lib is a signature and / user / bin is a signature. That is, in the secure level L1 compartment, since the / lib directory and the / user / bin directory establish a reliable path with the trusted application 42, the digital signature (signature) of the signature 101 (FIG. 3) of the trusted application 42 is valid. It is specified to determine if it exists.

上述した説明では、セキュアレベルL1のコンパートメントについて説明したが、同様に、コンパートメント指定情報として、プロセスケーパビリティ、マンダトリアクセスコントロール、およびトラステッドパスという3つの属性を、セキュアレベル毎に設定することにより、各セキュアレベルのコンパートメントを指定することができる。   In the above description, the secure level L1 compartment has been described. Similarly, as the compartment designation information, by setting three attributes of process capability, mandatory access control, and trusted path for each secure level, Each secure level compartment can be specified.

コンパートメントは、OS41の動作空間や利用できるリソース、その利用が影響する範囲等のプログラムの実行環境を、プロセスケーパビリティ、マンダトリアクセスコントロール、およびトラステッドパスという3つの属性により制限することによって指定する。従って、OS41のリソースとは別に、コンパートメント毎にリソースを用意する必要がなく、リソースを効率よく利用することができる。   The compartment is designated by restricting the execution environment of the program such as the operating space of the OS 41, the resources that can be used, and the range affected by the use, by three attributes of process capability, mandatory access control, and trusted path. Therefore, it is not necessary to prepare a resource for each compartment separately from the resource of the OS 41, and the resource can be used efficiently.

図5は、セキュアレベルL2のコンパートメント指定情報の例を示している。   FIG. 5 shows an example of the compartment designation information of the secure level L2.

図5のセキュアレベルL2のコンパートメント指定情報では、図4に示したセキュアレベルL1のコンパートメント指定情報のマンダトリアクセスコントロールに、“/tmp read”が加えられている。即ち、セキュアレベルL2のコンパートメント指定情報では、セキュアレベルL1のコンパートメント指定情報に、/tmpディレクトリに対する操作が読み出し(read)のみに制限するという条件が加えられている。   In the compartment designation information of the secure level L2 of FIG. 5, “/ tmp read” is added to the mandatory access control of the compartment designation information of the secure level L1 shown in FIG. That is, in the compartment designation information at the secure level L2, a condition is added to the compartment designation information at the secure level L1 that the operation on the / tmp directory is limited to reading only.

セキュアレベルL1では、コンパートメント指定情報のマンダトリアクセスコントロールにおいて、/tmpについての記載がないので、/tmpディレクトリに対して読み出しや書き込み等を行うことができるが、セキュアレベルL2では、コンパートメント指定情報のマンダトリアクセスコントロールにおいて、/tmpがreadとされているので、/tmpディレクトリに対する操作が読み出し(read)のみに制限される。   In secure level L1, there is no description about / tmp in the mandatory access control of the compartment designation information, so reading / writing, etc. can be performed on the / tmp directory. However, in secure level L2, the compartment designation information In Mandatory Access Control, / tmp is set to read, so operations on the / tmp directory are limited to reading only.

即ち、セキュアレベルL1では、/tmpディレクトリに対する操作(アクセス)が制限されないが、セキュアレベルL2では、その操作が制限される。つまり、セキュアレベルL2のコンパートメントは、セキュアレベルL1のコンパートメントより広く、セキュアレベルL1のコンパートメントを含んでいる。   That is, the operation (access) to the / tmp directory is not restricted at the secure level L1, but the operation is restricted at the secure level L2. That is, the secure level L2 compartment is wider than the secure level L1 compartment and includes the secure level L1 compartment.

図4と図5では、セキュアレベルL0、セキュアレベルL1のコンパートメント指定情報について説明したが、セキュアレベルL2乃至セキュアレベルL4のコンパートメント指定情報も同様に構成される。   4 and 5, the compartment designation information of the secure level L0 and the secure level L1 has been described, but the compartment designation information of the secure level L2 to the secure level L4 is configured similarly.

図6は、セキュアレベルL0乃至セキュアレベルL4のコンパートメントの関係を表している。   FIG. 6 shows the compartment relationship between the secure level L0 and the secure level L4.

なお、図中、四角は、各コンパートメントを表している。   In the figure, each square represents each compartment.

図6に示すように、セキュアレベルL1のコンパートメントは、セキュアレベルL0のコンパートメントを含んでいる。同様に、セキュアレベルL2のコンパートメントは、セキュアレベルL1のコンパートメントを、セキュアレベルL3のコンパートメントは、セキュアレベルL2のコンパートメントを、セキュアレベルL4のコンパートメントは、セキュアレベルL3のコンパートメントをそれぞれ含んでいる。即ち、セキュアレベルLi(i=1,・・・,5)のiが大きいほど、セキュアレベルLiにより制限される実行環境であるコンパートメントが広いので、セキュリティが高くなっている。   As shown in FIG. 6, the compartment of the secure level L1 includes the compartment of the secure level L0. Similarly, the secure level L2 compartment includes the secure level L1 compartment, the secure level L3 compartment includes the secure level L2 compartment, and the secure level L4 compartment includes the secure level L3 compartment. That is, the larger the i of the secure level Li (i = 1,..., 5), the higher the compartment, which is the execution environment restricted by the secure level Li, and the higher the security.

図7は、トラステッドアプリ42−1のコンパートメント指定情報の例を示している。   FIG. 7 shows an example of compartment designation information of the trusted application 42-1.

なお、図7では、トラステッドアプリ42−1のコンパートメント指定情報について説明するが、トラステッドアプリ42−2のコンパートメント指定情報も同様に構成される。   In FIG. 7, the compartment designation information of the trusted application 42-1 will be described, but the compartment designation information of the trusted application 42-2 is configured in the same manner.

図7に示すように、トラステッドアプリ42−1のコンパートメント指定情報には、OS41に対する要求セキュアレベルが含まれる。   As shown in FIG. 7, the compartment designation information of the trusted application 42-1 includes a required secure level for the OS 41.

要求セキュアレベルは、OS41に対して要求する最低限のセキュアレベルである。即ち、トラステッドアプリ42−1は、OS41に対して、要求セキュアレベル以上のセキュアレベルを要求する。従って、トラステッドアプリ42−1のコンパートメントは、要求セキュアレベルのコンパートメントを含む。   The requested secure level is the minimum secure level required for the OS 41. That is, the trusted application 42-1 requests the OS 41 for a secure level that is equal to or higher than the requested secure level. Accordingly, the compartment of the trusted application 42-1 includes a compartment at the required secure level.

図7の例では、要求セキュアレベルがセキュアレベルL1となっているので、トラステッドアプリ42は、OS41に対してセキュアレベルL1以上のセキュアレベルを要求する。   In the example of FIG. 7, since the requested secure level is the secure level L1, the trusted application 42 requests the OS 41 for a secure level equal to or higher than the secure level L1.

要求セキュアレベルのセキュリティに追加して要求されるセキュリティがある場合は、そのセキュリティに関するプロセスケーパビリティ、マンダトリアクセスコントロール、またはトラステッドパスが、必要に応じて、トラステッドアプリ42−1のコンパートメント指定情報に記述される。   If there is a required security in addition to the required secure level security, the process capability, mandatory access control, or trusted path related to the security is included in the compartment designation information of the trusted application 42-1 as necessary. Described.

図7では、トラステッドアプリ42−1のコンパートメント指定情報のプロセスケーパビリティにおいて、CAP_SYS_PTRACEがOFFとされ、CAP_SYS_PROTMEMがONとされている。即ち、これにより、トレースケーパビリティ(CAP_SYS_PTRACE)が無効(OFF)にされ、トラステッドアプリ42−1のトレースが禁止される。また、トラステッドアプリ42−1が動作中に使用するRAM13上のメモリ空間の保護(CAP_SYS_PROTMEM)が行われる。即ち、トラステッドアプリ42−1が使用しているメモリ空間へのアクセスが、トラステッドアプリ42−1以外のアプリケーションプログラムによって行われないように制限される。   In FIG. 7, CAP_SYS_PTRACE is set to OFF and CAP_SYS_PROTMEM is set to ON in the process capability of the compartment designation information of the trusted application 42-1. That is, the trace capability (CAP_SYS_PTRACE) is disabled (OFF), and the trace of the trusted application 42-1 is prohibited. Further, the memory space on the RAM 13 used during operation of the trusted application 42-1 (CAP_SYS_PROTMEM) is protected. That is, access to the memory space used by the trusted application 42-1 is restricted so that it is not performed by an application program other than the trusted application 42-1.

マンダトリアクセスコントロールにおいて、Anyがno_ptraceとされている。即ち、これにより、任意のリソース(Any)に対するトラステッドアプリ42−1のアクセスのトレースが不許可(no_ptrace)にされている。   In Mandatory Access Control, Any is set to no_ptrace. That is, the access trace of the trusted application 42-1 for an arbitrary resource (Any) is not permitted (no_ptrace).

トラステッドパスにおいて、/user/local/trusted_apli_Bがsignatureとencryptとされ、/user/local/libAがsignatureとされている。即ち、例えば、他のトラステッドアプリ42−2であるトラステッドアプリB(trusted_apli_B)が、トラステッドアプリ42−1と信頼できるパスを結ぶために、電子署名(signature)が正当であるかどうかを判定するように指定されている。また、トラステッドアプリ42−1とトラステッドアプリ42−2との間で通信を行う場合、トラステッドアプリ42−1とトラステッドアプリ42−2の間の通信の内容が改ざんされず、漏洩しないように、通信の内容の保護/暗号化(encrypt)を行うように指定されている。   In the trusted path, / user / local / trusted_apli_B is set as signature and encrypt, and / user / local / libA is set as signature. That is, for example, the trusted application B (trusted_apli_B), which is another trusted application 42-2, determines whether the electronic signature (signature) is valid in order to establish a trusted path with the trusted application 42-1. Is specified. Further, when communication is performed between the trusted application 42-1 and the trusted application 42-2, communication is performed so that the contents of communication between the trusted application 42-1 and the trusted application 42-2 are not falsified and leaked. Is specified to protect / encrypt the contents of.

さらに、例えば、ライブラリ45であるライブラリA(libA)が、トラステッドアプリ42と信頼できるパスを結ぶために、電子署名(signature)が正当であるかどうかを判定するように指定されている。   Further, for example, the library A (libA), which is the library 45, is designated to determine whether the electronic signature (signature) is valid in order to establish a trusted path with the trusted application 42.

なお、以下においては、コンパートメントによる制限の対象として、リソースだけを考えることとする。   In the following, only the resource is considered as the target of restriction by the compartment.

図8は、トラステッドアプリ42が実行されている場合のコンパートメントの例を表している。   FIG. 8 shows an example of a compartment when the trusted application 42 is executed.

なお、図中、四角は、各セキュアレベルのコンパートメントを表している。セキュアレベルL0乃至セキュアレベルL4のコンパートメントの関係は、図6と同様であるので説明は省略する。   In the figure, each square represents a compartment of each secure level. The relation between the compartments of the secure level L0 to the secure level L4 is the same as that in FIG.

また、トラステッドアプリ42には、固有のIDであるPID(Process ID)が付加されている。図6に示すPID100乃至PID102が付加された斜線部は、PIDが付加されたトラステッドアプリ42のコンパートメントをそれぞれ表している。   The trusted application 42 has a unique ID PID (Process ID) added thereto. The hatched portions to which PID 100 to PID 102 shown in FIG. 6 are added represent the compartments of the trusted application 42 to which PID is added.

図8では、PID100乃至PID102の3つのトラステッドアプリ42が動作している。PID100のトラステッドアプリ42は、要求セキュアレベルがセキュアレベルL1となっており、セキュアレベルL1のコンパートメントは、PID100のトラステッドアプリ42のコンパートメントを含んでいる。同様に、PID100とPID102のトラステッドアプリ42は、要求セキュアレベルがセキュアレベルL2となっており、セキュアレベルL2のコンパートメントは、PID100とPID102のトラステッドアプリ42のコンパートメントを含んでいる。   In FIG. 8, three trusted applications 42 of PID100 to PID102 are operating. The trusted application 42 of the PID 100 has the required secure level of the secure level L1, and the compartment of the secure level L1 includes the compartment of the trusted application 42 of the PID 100. Similarly, the trusted application 42 of PID100 and PID102 has a secure level L2 as the required secure level, and the compartment of the secure level L2 includes the compartments of the trusted application 42 of PID100 and PID102.

PID100乃至PID102のトラステッドアプリ42が動作している場合、セキュアレベルモジュール71は、PID100乃至PID102のトラステッドアプリ42の要求セキュアレベルのうち一番高いセキュアレベルであるセキュアレベルL2をOS41のセキュアレベルに設定する。そして、OS41は、OS41のセキュアレベルであるセキュアレベルL2で保護するリソース空間以外のリソース空間を自由空間とする。その自由空間であるリソース空間は、アントラステッドアプリ44を含む任意のアプリケーションが使用することができる。   When the trusted application 42 of PID100 to PID102 is operating, the secure level module 71 sets the secure level L2 that is the highest secure level among the required secure levels of the trusted application 42 of PID100 to PID102 to the secure level of the OS 41 To do. The OS 41 sets a resource space other than the resource space protected by the secure level L2, which is the secure level of the OS 41, as a free space. The resource space which is the free space can be used by any application including the untrusted application 44.

なお、アントラステッドアプリ44に対しては、コンパートメント指定情報が設定されず、特別な保護サービスは提供されない。これにより、リソースを節約することができる。   Note that compartment designation information is not set for the untrusted application 44, and no special protection service is provided. Thereby, resources can be saved.

図9は、図8のPID100とPID102のトラステッドアプリ42の動作が停止(実行が終了)した場合のコンパートメントの例を示している。   FIG. 9 shows an example of compartments when the operation of the trusted application 42 of PID 100 and PID 102 of FIG. 8 is stopped (execution is completed).

図9に示すように、例えば、図8のPID100とPID102のトラステッドアプリ42の動作が停止すると、セキュアレベルモジュール71は、OS41のセキュアレベルを、動作中のPID101の要求セキュアレベルであるセキュアレベルL1に変更し、セキュアレベルL1で保護するリソース空間以外のリソース空間を自由空間とする。図8に示したPID100乃至PID102のトラステッドアプリ42が動作している場合よりも、セキュアレベルL2で保護するリソース空間が自由空間に加えられるので、アントラステッドアプリ44を含む任意のアプリケーションプログラムが使用可能なリソースは多くなる。   As shown in FIG. 9, for example, when the operation of the trusted application 42 of PID 100 and PID 102 in FIG. 8 stops, the secure level module 71 changes the secure level of the OS 41 to the secure level L1 that is the requested secure level of the operating PID 101 The resource space other than the resource space protected by the secure level L1 is set as a free space. Since the resource space protected by the secure level L2 is added to the free space, compared to the case where the trusted application 42 of PID100 to PID102 shown in FIG. 8 is operating, any application program including the untrusted application 44 can be used. More resources.

なお、OS41のセキュアレベルが変更される場合、OS41のセキュリティを保護するため、リソースのセーニタイジング(sanitizing)が行われる。リソースのセーニタイジングとは、例えば、RAM13に確保されたアプリケーションが使用していたメモリ空間や記憶部18に確保されたキャッシュの初期化などを行うことである。   Note that when the secure level of the OS 41 is changed, resource sanitizing is performed in order to protect the security of the OS 41. Resource sanitizing means, for example, initialization of a memory space used by an application secured in the RAM 13 or a cache secured in the storage unit 18.

図10と図11は、RAM13が記憶するセキュアレベルテーブルの概念図である。   10 and 11 are conceptual diagrams of the secure level table stored in the RAM 13.

図10と図11のセキュアレベルテーブルには、実行中、およびこれから実行しようとするトラステッドアプリ42のPIDの欄が、そのトラステッドアプリ42の要求セキュアレベルの見出しに、チェーン構造状(リスト構造状)に接続される。即ち、セキュアレベルテーブルでは、要求セキュアレベルと、実行中、およびこれから実行しようとするトラステッドアプリ42のPIDが対応づけられる。   In the secure level tables of FIGS. 10 and 11, the PID column of the trusted application 42 that is being executed and will be executed in the future is listed in the heading of the required secure level of the trusted application 42 as a chain structure (list structure). Connected to. That is, in the secure level table, the requested secure level is associated with the PID of the trusted application 42 that is being executed and will be executed in the future.

図10は、セキュアレベルテーブルの初期状態を示している。   FIG. 10 shows an initial state of the secure level table.

セキュアレベルL0乃至セキュアレベルL4(の見出し)に対して、PIDの欄は接続されておらず、セキュアレベルL0乃至セキュアレベルL4は、セキュアレベルL0乃至セキュアレベルL4に対するPIDの欄が空であることを表すNULLに接続されている。   The PID field is not connected to the secure level L0 to secure level L4 (heading), and the secure level L0 to secure level L4 has an empty PID field for the secure level L0 to secure level L4. Connected to NULL to represent

図11は、要求セキュアレベルがセキュアレベルL2のPID100のトラステッドアプリ42、要求セキュアレベルがセキュアレベルL1のPID101のトラステッドアプリ42、要求セキュアレベルがセキュアレベルL1のPID102のトラステッドアプリ42が、順に実行された場合のセキュアレベルテーブルを示している。   In FIG. 11, the trusted application 42 of PID100 whose secure request level is secure level L2, the trusted application 42 of PID101 whose secure request level is secure level L1, and the trusted application 42 of PID102 whose secure request level is secure level L1 are executed in order. The secure level table in the case of

まず最初に、要求セキュアレベルがセキュアレベルL2のPID100のトラステッドアプリ42が実行されると、セキュアレベルテーブルでは、セキュアレベルL2に対して、PID100のトラステッドアプリ42を表すPID100のPIDの欄が接続され、そのPIDの欄に、NULLが接続される。   First, when the trusted application 42 of the PID 100 whose requested secure level is the secure level L2 is executed, the PID column of the PID 100 representing the trusted application 42 of the PID 100 is connected to the secure level L2 in the secure level table. , NULL is connected to the PID column.

次に、要求セキュアレベルがセキュアレベルL2のPID102のトラステッドアプリ42が実行されると、セキュアレベルテーブルでは、既に動作中のPID100のトラステッドアプリ42のPIDの欄、即ち、セキュアレベルL2に対して接続されているPID100のPIDの欄の前に、新たに実行されるPID102のトラステッドアプリ42を表すPID102の欄が挿入される。従って、図11に示すように、セキュアレベルテーブルでは、セキュアレベルL2に対して、PID102のPIDの欄、PID100のPIDの欄、NULLが順に接続される。   Next, when the trusted application 42 of the PID 102 whose requested secure level is the secure level L2 is executed, the secure level table is connected to the PID column of the trusted application 42 of the already operating PID 100, that is, the secure level L2. Before the PID column of the PID 100 that has been set, the PID 102 column representing the newly executed trusted application 42 of the PID 102 is inserted. Therefore, as shown in FIG. 11, in the secure level table, the PID column of PID 102, the PID column of PID 100, and NULL are connected in order to the secure level L2.

最後に、要求セキュアレベルがセキュアレベルL1のPID101のトラステッドアプリ42が実行されると、セキュアレベルテーブルでは、セキュアレベルL1に対して、PID101のトラステッドアプリ42を表すPID101のPIDの欄が接続され、そのPIDの欄にNULLが接続される。   Finally, when the trusted application 42 of the PID 101 whose requested secure level is the secure level L1 is executed, in the secure level table, the PID column of the PID 101 representing the trusted application 42 of the PID 101 is connected to the secure level L1. NULL is connected to the PID column.

セキュアレベルL0、セキュアレベルL3、およびセキュアレベルL4を要求セキュアレベルとするトラステッドアプリ42は、動作していないので、セキュアレベルL0、セキュアレベルL3、およびセキュアレベルL4に対してPIDの欄は接続されない。即ち、セキュアレベルL0、セキュアレベルL3、およびセキュアレベルL4(の見出し)は、PIDの欄が空であることを表すNULLに接続されている。   Since the trusted application 42 having the secure level L0, the secure level L3, and the secure level L4 as the requested secure level is not operating, the PID column is not connected to the secure level L0, the secure level L3, and the secure level L4. . That is, the secure level L0, the secure level L3, and the secure level L4 (headings thereof) are connected to NULL indicating that the PID column is empty.

なお、セキュアレベルテーブルでは、セキュアレベルL0乃セキュアレベルL4のうちの1つがデフォルトレベルとされており、そのデフォルトレベルであるセキュアレベルの見出しに、不図示のデフォルトレベルを表すマーク(フラグ)が付加されている。このデフォルトレベルは、例えば、ユーザが設定することができる。トラステッドアプリ42が1つも動作していない場合、セキュアレベルモジュール71は、例えば、OS41のセキュアレベルをデフォルトレベルに設定する。   In the secure level table, one of the secure level L0 and the secure level L4 is set as a default level, and a mark (flag) indicating a default level (not shown) is added to the heading of the secure level that is the default level. Has been. This default level can be set by the user, for example. When no trusted application 42 is operating, the secure level module 71 sets, for example, the secure level of the OS 41 to the default level.

図12は、図2のセキュアレベルモジュール71がOS41のセキュアレベルを設定する第1のセキュアレベル設定処理を説明するフローチャートである。このセキュアレベル設定処理は、例えば、トラステッドアプリ42およびアントラステッドアプリ44を含むアプリケーションプログラムが実行されるとき、あるいは、アプリケーションプログラムからセキュリティレベルの設定の要求があったとき開始される。   FIG. 12 is a flowchart for explaining a first secure level setting process in which the secure level module 71 of FIG. 2 sets the secure level of the OS 41. This secure level setting process is started, for example, when an application program including the trusted application 42 and the untrusted application 44 is executed, or when a security level setting request is received from the application program.

ステップS11において、セキュアレベルモジュール71は、実行しようとするアプリケーションプログラムの電子署名が正当であるかどうかを判定し、正当であると判定した場合、即ち、実行しようとするアプリケーションプログラムがトラステッドアプリ42である場合、ステップS12に進む。   In step S11, the secure level module 71 determines whether or not the electronic signature of the application program to be executed is valid, and if it is determined to be valid, that is, the application program to be executed is the trusted application 42. If there is, the process proceeds to step S12.

ステップS12において、セキュアレベルモジュール71は、実行しようとするトラステッドアプリ42の要求セキュアレベルを認識し、ステップS13に進む。   In step S12, the secure level module 71 recognizes the required secure level of the trusted application 42 to be executed, and proceeds to step S13.

ステップS13において、セキュアレベルモジュール71は、セキュアレベルテーブル(図11)の、実行しようとするトラステッドアプリ42の要求セキュアレベルに対して接続されているPIDの欄が空であるかどうかを判定する。   In step S13, the secure level module 71 determines whether or not the PID column connected to the requested secure level of the trusted application 42 to be executed in the secure level table (FIG. 11) is empty.

例えば、図11に示すようなセキュアレベルテーブルがセキュアレベルモジュール71に記憶されている場合、セキュアレベルL0、セキュアレベルL3、およびセキュアレベルL4に対して、PIDの欄が空であることを表すNULLが接続されているので、セキュアレベルモジュール71は、トラステッドアプリ42の要求セキュアレベルがセキュアレベルL0、セキュアレベルL3、セキュアレベルL4のいずれかであるとき、トラステッドアプリ42の要求セキュアレベルに対して接続されているPIDの欄は空であると判定する。   For example, when the secure level table as shown in FIG. 11 is stored in the secure level module 71, NULL indicating that the PID column is empty for the secure level L0, the secure level L3, and the secure level L4. Therefore, the secure level module 71 connects to the required secure level of the trusted application 42 when the required secure level of the trusted application 42 is any one of the secure level L0, the secure level L3, and the secure level L4. It is determined that the assigned PID column is empty.

ステップS13において、セキュアレベルテーブルの、実行しようとするトラステッドアプリ42の要求セキュアレベルに対して接続されているPIDの欄が空であると判定された場合、ステップS14に進み、その要求セキュアレベルに対して、実行しようとするトラステッドアプリ42のPIDのPIDの欄を接続(追加)して、ステップS16に進む。   If it is determined in step S13 that the PID column connected to the requested secure level of the trusted application 42 to be executed in the secure level table is empty, the process proceeds to step S14, and the requested secure level is set. On the other hand, the PID column of the PID of the trusted application 42 to be executed is connected (added), and the process proceeds to step S16.

例えば、実行しようとするトラステッドアプリ42の要求セキュアレベルがセキュアレベルL1であり、トラステッドアプリ42のPIDが101である場合、セキュアレベルモジュール71は、図11に示すように、要求セキュアレベルであるセキュアレベルL1に対して、PID101のPIDの欄を接続し、そのPID101の欄にNULLを接続する。   For example, when the requested secure level of the trusted application 42 to be executed is the secure level L1 and the PID of the trusted application 42 is 101, the secure level module 71, as shown in FIG. A PID column of PID 101 is connected to level L1, and NULL is connected to the PID 101 column.

ステップS13において、セキュアレベルテーブルの、実行しようとするトラステッドアプリ42の要求セキュアレベルに対して接続されているPIDの欄が空ではないと判定された場合、セキュアレベルモジュール71は、ステップS15に進み、実行しようとするトラステッドアプリ42のPIDのPIDの欄を、そのトラステッドアプリ42の要求セキュアレベルに対して接続されているPIDの欄(要求セキュアレベルに対して存在するPIDの欄の最初のPIDの欄)の前に挿入し、ステップS16に進む。   If it is determined in step S13 that the PID column connected to the requested secure level of the trusted application 42 to be executed in the secure level table is not empty, the secure level module 71 proceeds to step S15. The PID field of the PID of the trusted application 42 to be executed is the PID field connected to the required secure level of the trusted application 42 (the first PID of the PID field existing for the required secure level). And proceed to step S16.

例えば、実行しようとするトラステッドアプリ42の要求セキュアレベルがセキュアレベルL2であり、セキュアレベルL2に対してPID100のPIDの欄が接続されている場合、即ち、要求セキュアレベルがセキュアレベルL2であるPIDが100のトラステッドアプリ42が実行中の場合、セキュアレベルモジュール71は、図11に示すように、セキュアレベルL2に対して接続されているPID100のPIDの欄の前にPID102のPIDの欄を挿入する。   For example, when the requested secure level of the trusted application 42 to be executed is the secure level L2, and the PID column of the PID 100 is connected to the secure level L2, that is, the PID whose requested secure level is the secure level L2. When the trusted application 42 is running, the secure level module 71 inserts the PID field of the PID 102 before the PID field of the PID 100 connected to the secure level L2, as shown in FIG. To do.

ステップS16において、セキュアレベルモジュール71は、セキュアレベルテーブルを一番上から下の方向へスキャンして、最初に検出される空ではないPIDの欄が接続されているセキュアレベルを、OS41の候補セキュアレベルに設定し、ステップS16に進む。即ち、セキュアレベルモジュール71は、PIDの欄のPIDが付加された実行中、およびこれから実行しようとするトラステッドアプリ42の要求セキュアレベルのうちの最も高いセキュアレベルを、OS41の候補セキュアレベルに設定する。   In step S16, the secure level module 71 scans the secure level table from the top to the bottom, and determines the secure level to which the first non-empty PID column detected is connected as a candidate secure for the OS 41. Set to level and proceed to step S16. That is, the secure level module 71 sets the highest secure level among the requested secure levels of the trusted application 42 to be executed during execution to which the PID in the PID column is added as the candidate secure level of the OS 41. .

なお、ステップS16において、セキュアレベルモジュール71は、デフォルトレベルとしてマークされているセキュアレベルも検出し、最初に検出される空ではないPIDの欄が接続するセキュアレベルが、デフォルトレベルより低い場合、候補セキュアレベルを、デフォルトレベルに設定することもできる。   In step S16, the secure level module 71 also detects the secure level marked as the default level, and if the secure level to which the first non-empty PID field detected is lower than the default level, the candidate The secure level can also be set to the default level.

例えば、図11に示すようなセキュアレベルテーブルがセキュアレベルモジュール71に記憶されている場合、セキュアレベルモジュール71は、セキュアレベルテーブルを、セキュアレベルL4からセキュアレベルL0の方向にスキャンして、最初に検出される空ではないPIDの欄が接続しているセキュアレベルであるセキュアレベルL2を、OS41の候補セキュアレベルに設定する。   For example, when a secure level table as shown in FIG. 11 is stored in the secure level module 71, the secure level module 71 scans the secure level table in the direction from the secure level L4 to the secure level L0. The secure level L2, which is the secure level to which the detected non-empty PID column is connected, is set as the candidate secure level of the OS 41.

ステップS17において、セキュアレベルモジュール71は、OS41のセキュアレベルをステップS16で設定された候補セキュアレベルに設定し、処理を終了する。   In step S17, the secure level module 71 sets the secure level of the OS 41 to the candidate secure level set in step S16, and ends the process.

例えば、候補セキュアレベルがセキュアレベルL2である場合、カーネル51は、図8に示したように、セキュアレベルL2で保護するリソース空間以外のリソース空間である自由空間を、アントラステッドアプリ44を含む任意のアプリケーションプログラムが使用することができるようにする。従って、トラステッドアプリ42が要求するセキュリティを確保し、かつアントラステッドアプリ44が自由空間を使用することができる。   For example, when the candidate secure level is the secure level L2, as shown in FIG. 8, the kernel 51 includes a free space that is a resource space other than the resource space protected by the secure level L2, including the untrusted application 44. To be used by any application program. Accordingly, the security required by the trusted application 42 can be ensured, and the untrusted application 44 can use the free space.

ステップS12乃至ステップS17の処理によれば、OS41のセキュアレベルが、実行されるトラステッドアプリ42に対応して動的に変化する。そして、そのOS41のセキュアレベルに応じて自由空間が変化するので、その自由空間であるリソース空間を、アントラステッドアプリ42を含む任意のアプリケーションプログラムに使用させることにより、実行するトラステッドアプリ42に応じて、アントラステッドアプリ42の使用可能なリソース空間を変化させることができる。   According to the processing from step S12 to step S17, the secure level of the OS 41 dynamically changes corresponding to the trusted application 42 to be executed. Since the free space changes according to the secure level of the OS 41, the resource space, which is the free space, is used by an arbitrary application program including the untrusted application 42, so that it depends on the trusted application 42 to be executed. The usable resource space of the untrusted application 42 can be changed.

一方、ステップS11において、アプリケーションプログラムの電子署名が正当ではないと判定された場合、即ち、電子署名を有しない、または電子署名を有していても、その電子署名が正当ではないアントラステッドアプリ44である場合、ステップS18に進み、セキュアレベルモジュール71は、OS41のセキュアレベルの設定を行わず、処理を終了する。この場合、アプリケーションプログラムは、自由空間であるリソース空間しか使用できない。   On the other hand, when it is determined in step S11 that the electronic signature of the application program is not valid, that is, the untrusted application 44 that does not have an electronic signature or has an electronic signature, the electronic signature is not valid. If YES, the process proceeds to step S18, and the secure level module 71 does not set the secure level of the OS 41 and ends the process. In this case, the application program can use only the resource space which is free space.

図13は、セキュアレベルモジュール71がOS41のセキュアレベルを設定する第2のセキュアレベル設定処理を説明するフローチャートである。このセキュアレベル設定処理は、トラステッドアプリ42の実行が終了したとき、開始される。   FIG. 13 is a flowchart for explaining a second secure level setting process in which the secure level module 71 sets the secure level of the OS 41. This secure level setting process is started when the execution of the trusted application 42 is completed.

ステップS31において、セキュアレベルモジュール71は、実行が終了したトラステッドアプリ42のPIDのPIDの欄をセキュアレベルテーブルから削除し、ステップS32に進む。   In step S31, the secure level module 71 deletes the PID column of the PID of the trusted application 42 that has been executed from the secure level table, and proceeds to step S32.

ステップS32において、セキュアレベルモジュール71は、セキュアレベルテーブルを一番上から下の方向にスキャンして、最初に検出される空ではないPIDの欄が接続されたセキュアレベルを、OS41のセキュアレベルに設定する。即ち、セキュアレベルモジュール71は、OS41のセキュアレベルを、実行中のトラステッドアプリ42が要求するセキュアレベルのうちの最も高いセキュアレベルに変更する。   In step S32, the secure level module 71 scans the secure level table from the top to the bottom, and changes the secure level to which the non-empty PID column detected first is connected to the secure level of the OS 41. Set. That is, the secure level module 71 changes the secure level of the OS 41 to the highest secure level among the secure levels required by the trusted application 42 being executed.

また、セキュアレベルモジュール71は、実行中のトラステッドアプリ42が1つもなくなった場合、即ち、セキュアレベルL0乃至セキュアレベルL4に対して、1つもPIDの欄が接続されていない場合、デフォルトレベルとしてマークされているセキュアレベルをOS41の候補セキュアレベルに設定する。   The secure level module 71 is marked as a default level when no trusted application 42 is running, that is, when no PID column is connected to the secure level L0 to the secure level L4. The secure level being set is set as a candidate secure level of the OS 41.

ステップS32の処理後は、ステップS33に進み、セキュアレベルモジュール71は、図12のステップS17と同様に、OS41のセキュアレベルをステップS32で設定された候補セキュアレベルに設定し、処理を終了する。   After the process of step S32, the process proceeds to step S33, and the secure level module 71 sets the secure level of the OS 41 to the candidate secure level set in step S32 as in step S17 of FIG. 12, and ends the process.

図14は、図2のカーネル51がアントラステッドアプリ44に対してリソースの使用を制限するリソース制限処理を説明するフローチャートである。このリソース制限処理は、例えば、アントラステッドアプリ44がリソースの使用を要求したとき、開始される。   FIG. 14 is a flowchart for explaining a resource restriction process in which the kernel 51 of FIG. 2 restricts the use of resources to the untrusted application 44. This resource restriction process is started, for example, when the untrusted application 44 requests use of a resource.

ステップS51において、カーネル51は、図12のステップS17または図13のステップS33で設定されたOS41のセキュアレベルを認識し、ステップS52に進む。   In step S51, the kernel 51 recognizes the secure level of the OS 41 set in step S17 of FIG. 12 or step S33 of FIG. 13, and proceeds to step S52.

ステップS52において、カーネル51は、OS41のセキュアレベルに応じて、アントラステッドアプリ44のリソースの使用を制限(拒否)し、処理を終了する。   In step S52, the kernel 51 restricts (denies) the use of the resource of the untrusted application 44 according to the secure level of the OS 41, and ends the process.

例えば、OS41のセキュアレベルがセキュアレベルL2である場合、カーネル51は、図8に示すように、セキュアレベルL2で保護されるリソース空間以外のリソース空間を自由空間とし、アントラステッドアプリ44の使用可能なリソース空間を自由空間のみに制限する。   For example, when the secure level of the OS 41 is the secure level L2, as shown in FIG. 8, the kernel 51 can use the untrusted application 44 by setting a resource space other than the resource space protected by the secure level L2 as a free space. Limit the resource space to free space only.

上述した説明では、セキュアレベルは、セキュアレベルL0乃至L4の5段階としたが、何段階でもよい。   In the above description, the secure level has five levels of secure levels L0 to L4, but any number of levels may be used.

なお、上述した処理は、専用ハードウェアにより実行することもできる。   Note that the processing described above can also be executed by dedicated hardware.

ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。   Here, in this specification, the processing steps for describing a program for causing a computer to perform various types of processing do not necessarily have to be processed in time series according to the order described in the flowchart, but in parallel or individually. This includes processing to be executed (for example, parallel processing or processing by an object).

また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。   Further, the program may be processed by a single computer, or may be processed in a distributed manner by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.

なお、本発明は、汎用のコンピュータ(ワークステーション)の他、携帯電話機、その他の電子機器上で実行されるOS等に適用することができる。   The present invention can be applied to a general-purpose computer (workstation), a mobile phone, an OS executed on other electronic devices, and the like.

本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of one Embodiment of the computer to which this invention is applied. 図1のコンピュータ上で実行されるプログラムを説明する図である。It is a figure explaining the program run on the computer of FIG. トラステッドアプリの基本的なフォーマットの例を示す図である。It is a figure which shows the example of the basic format of a trusted application. セキュアレベルL1のコンパートメント指定情報の例を示す図である。It is a figure which shows the example of the compartment designation | designated information of the secure level L1. セキュアレベルL2のコンパートメント指定情報の例を示す図である。It is a figure which shows the example of the compartment specification information of the secure level L2. セキュアレベルL0乃至セキュアレベルL4のコンパートメントの関係を表す図である。It is a figure showing the relationship of the compartment of the secure level L0 thru | or the secure level L4. トラステッドアプリのコンパートメント指定情報の例を示す図である。It is a figure which shows the example of the compartment specification information of a trusted application. トラステッドアプリが実行されている場合のコンパートメントの例を表す図である。It is a figure showing the example of the compartment in case the trusted application is performed. 図8のPID100とPID102のトラステッドアプリの実行が終了した場合のコンパートメントの例を示す図である。It is a figure which shows the example of the compartment when execution of the trusted application of PID100 and PID102 of FIG. 8 is complete | finished. 図1のRAMが記憶するセキュアレベルテーブルの概念図である。It is a conceptual diagram of the secure level table which RAM of FIG. 1 memorize | stores. 図1のRAMが記憶するセキュアレベルテーブルの概念図である。It is a conceptual diagram of the secure level table which RAM of FIG. 1 memorize | stores. 図2のセキュアレベルモジュールがOSのセキュアレベルを設定する第1のセキュアレベル設定処理を説明するフローチャートである。3 is a flowchart illustrating a first secure level setting process in which the secure level module of FIG. 2 sets the OS secure level. 図2のセキュアレベルモジュールがOSのセキュアレベルを設定する第2のセキュアレベル設定処理を説明するフローチャートである。6 is a flowchart for explaining a second secure level setting process in which the secure level module of FIG. 2 sets the secure level of the OS. 図2のカーネルがアントラステッドアプリに対してリソースの使用を制限するリソース制限処理を説明するフローチャートである。FIG. 3 is a flowchart for explaining resource restriction processing in which the kernel of FIG.

符号の説明Explanation of symbols

11 CPU, 12 ROM, 13 RAM, 14 バス, 15 入出力インタフェース, 16 入力部, 17 出力部, 18 記憶部, 19 通信部, 20 ドライブ, 21 リムーバブル記録媒体, 41 OS, 42 トラステッドアプリケーションプログラム, 44 アントラステッドアプリケーションプログラム, 45 ライブラリ, 51 カーネル, 71 セキュアレベルモジュール






11 CPU, 12 ROM, 13 RAM, 14 bus, 15 input / output interface, 16 input unit, 17 output unit, 18 storage unit, 19 communication unit, 20 drive, 21 removable recording medium, 41 OS, 42 trusted application program, 44 Untrusted application program, 45 library, 51 kernel, 71 secure level module






Claims (8)

アプリケーションプログラムの実行環境を制御する情報処理装置において、
前記アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定手段と、
前記判定手段により前記アプリケーションプログラムが前記トラステッドアプリケーションプログラムであると判定された場合、前記トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識手段と、
実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルを、前記情報処理装置のセキュアレベルに設定する設定手段と
を備えることを特徴とする情報処理装置。
In an information processing apparatus that controls an execution environment of an application program,
Determining means for determining whether the application program is a trusted application program with a valid electronic signature;
Recognizing means for recognizing a secure level required by the trusted application program when the determining means determines that the application program is the trusted application program;
An information processing system comprising: setting means for setting the highest secure level among the secure levels required by the trusted application program to be executed and to be executed in the future to the secure level of the information processing apparatus. apparatus.
前記設定手段により設定された前記情報処理装置のセキュアレベルに応じて、前記トラステッドアプリケーションプログラム以外のアプリケーションプログラムであるアントラステッドアプリケーションプログラムのリソースの使用を制限するリソース制限手段をさらに備える
ことを特徴とする請求項1に記載の情報処理装置。
According to a secure level of the information processing apparatus set by the setting means, further comprising resource restriction means for restricting use of resources of an untrusted application program that is an application program other than the trusted application program. The information processing apparatus according to claim 1.
前記トラステッドアプリケーションプログラムの実行が終了した場合、前記設定手段により設定された前記情報処理装置のセキュアレベルを、実行中の前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルに変更する変更手段をさらに備える
ことを特徴とする請求項1に記載の情報処理装置。
When the execution of the trusted application program ends, the secure level of the information processing apparatus set by the setting unit is changed to the highest secure level among the secure levels requested by the trusted application program being executed. The information processing apparatus according to claim 1, further comprising a changing unit.
前記トラステッドアプリケーションプログラムは、前記正当な電子署名と前記トラステッドアプリケーションが要求するセキュアレベルを、少なくとも有する
ことを特徴とする請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the trusted application program has at least a valid digital signature and a secure level required by the trusted application.
前記実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムと、前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルとを対応づけたセキュアレベルテーブルを記憶する記憶手段をさらに備え、
前記設定手段は、前記記憶手段により記憶されたセキュアレベルテーブルに基づいて、前記情報処理装置のセキュアレベルを設定する
ことを特徴とする請求項1に記載の情報処理装置。
Storage means for storing a secure level table that associates the trusted application program that is being executed and is about to be executed with the secure level requested by the trusted application program,
The information processing apparatus according to claim 1, wherein the setting unit sets a secure level of the information processing apparatus based on a secure level table stored by the storage unit.
アプリケーションプログラムの実行環境を制限する情報処理装置の情報処理方法において、
前記アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定ステップと、
前記判定ステップの処理により前記アプリケーションプログラムが前記トラステッドアプリケーションプログラムであると判定された場合、前記トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識ステップと、
実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルを、前記情報処理装置のセキュアレベルに設定する設定ステップと
を含むことを特徴とする情報処理方法。
In an information processing method of an information processing apparatus that restricts an execution environment of an application program,
Determining whether the application program is a trusted application program with a valid electronic signature;
A recognition step for recognizing a secure level requested by the trusted application program when the application program is determined to be the trusted application program by the process of the determining step;
A setting step for setting the highest secure level among the secure levels required by the trusted application program to be executed in the future and the secure level of the information processing apparatus. Method.
アプリケーションプログラムの実行環境を制限する処理を、コンピュータに行わせるプログラムにおいて、
前記アプリケーションプログラムが、正当な電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定ステップと、
前記判定ステップの処理により前記アプリケーションプログラムが前記トラステッドアプリケーションプログラムであると判定された場合、前記トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識ステップと、
実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルを前記コンピュータのセキュアレベルに設定する設定ステップと
を含むことを特徴とするプログラム。
In a program that causes a computer to perform processing that restricts the execution environment of an application program,
Determining whether the application program is a trusted application program with a valid electronic signature;
A recognition step for recognizing a secure level requested by the trusted application program when the application program is determined to be the trusted application program by the process of the determining step;
A setting step of setting the highest secure level among the secure levels required by the trusted application program to be executed in the future and the secure level of the computer.
アプリケーションプログラムの実行環境を制御する処理を、コンピュータに行わせるプログラムが記録されている記録媒体において、
前記アプリケーションプログラムが、電子署名のあるトラステッドアプリケーションプログラムであるかどうかを判定する判定ステップと、
前記判定ステップの処理により前記アプリケーションプログラムが前記トラステッドアプリケーションプログラムであると判定された場合、前記トラステッドアプリケーションプログラムが要求するセキュアレベルを認識する認識ステップと、
実行中、およびこれから実行しようとする前記トラステッドアプリケーションプログラムが要求する前記セキュアレベルのうちの最も高いセキュアレベルを前記コンピュータのセキュアレベルに設定する設定ステップと
を含むことを特徴とするプログラムが記録されている記録媒体。
In a recording medium on which a program for causing a computer to perform processing for controlling an execution environment of an application program is recorded,
A determination step of determining whether the application program is a trusted application program with an electronic signature;
A recognition step for recognizing a secure level requested by the trusted application program when the application program is determined to be the trusted application program by the process of the determining step;
And a setting step for setting the highest secure level among the secure levels required by the trusted application program to be executed in the future as the secure level of the computer. Recording medium.
JP2003389545A 2003-11-19 2003-11-19 Information processing apparatus, information processing method, program, and recording medium Expired - Fee Related JP4507569B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003389545A JP4507569B2 (en) 2003-11-19 2003-11-19 Information processing apparatus, information processing method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003389545A JP4507569B2 (en) 2003-11-19 2003-11-19 Information processing apparatus, information processing method, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2005149394A true JP2005149394A (en) 2005-06-09
JP4507569B2 JP4507569B2 (en) 2010-07-21

Family

ID=34696257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003389545A Expired - Fee Related JP4507569B2 (en) 2003-11-19 2003-11-19 Information processing apparatus, information processing method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP4507569B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310688A (en) * 2006-05-19 2007-11-29 Renesas Technology Corp Microcomputer and software tampering prevention method thereof
JP2008146622A (en) * 2006-11-17 2008-06-26 Quality Kk Managing device and managing program
JP2009500726A (en) * 2005-07-01 2009-01-08 マイクロソフト コーポレーション Application security in interactive media environments
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
JP2017207943A (en) * 2016-05-19 2017-11-24 株式会社日立製作所 File management system and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254783A (en) * 1997-01-09 1998-09-25 Sun Microsyst Inc Method and device for controlling access of software to system resource

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254783A (en) * 1997-01-09 1998-09-25 Sun Microsyst Inc Method and device for controlling access of software to system resource

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009500726A (en) * 2005-07-01 2009-01-08 マイクロソフト コーポレーション Application security in interactive media environments
KR101238582B1 (en) 2005-07-01 2013-02-28 마이크로소프트 코포레이션 Application security in an interactive media environment
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
JP2007310688A (en) * 2006-05-19 2007-11-29 Renesas Technology Corp Microcomputer and software tampering prevention method thereof
JP2008146622A (en) * 2006-11-17 2008-06-26 Quality Kk Managing device and managing program
JP2017207943A (en) * 2016-05-19 2017-11-24 株式会社日立製作所 File management system and method

Also Published As

Publication number Publication date
JP4507569B2 (en) 2010-07-21

Similar Documents

Publication Publication Date Title
US10831886B2 (en) Virtual machine manager facilitated selective code integrity enforcement
US7836299B2 (en) Virtualization of software configuration registers of the TPM cryptographic processor
EP3761208B1 (en) Trust zone-based operating system and method
EP0843249B1 (en) Dynamic classes of service for an international cryptography framework
US7313705B2 (en) Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
US9515832B2 (en) Process authentication and resource permissions
US7506170B2 (en) Method for secure access to multiple secure networks
RU2444783C2 (en) Virtual security module architecture
US7712135B2 (en) Pre-emptive anti-virus protection of computing systems
JP4975127B2 (en) Apparatus for providing tamper evidence to executable code stored on removable media
US10528749B2 (en) Methods and apparatus for containerized secure computing resources
GB2398134A (en) Applying a data handing policy to predetermined system calls
CN114402295A (en) Secure runtime system and method
US10795974B2 (en) Memory assignment for guest operating systems
JP4507569B2 (en) Information processing apparatus, information processing method, program, and recording medium
US10387681B2 (en) Methods and apparatus for controlling access to secure computing resources
EP2835758B1 (en) System and method for controlling access to encrypted files
KR100823631B1 (en) Key storage administration
JP5305864B2 (en) Information processing apparatus, information processing method, and information processing program
CN115098227A (en) Method and device for updating dynamic information of security equipment
CN115982699A (en) Malicious attack defense method, device, equipment and medium based on secure memory
Dive-Reclus et al. SYMBIAN OS PLATFORM SECURITY ARCHITECTURE

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100413

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100426

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees