JP2010186386A - Processor - Google Patents

Processor Download PDF

Info

Publication number
JP2010186386A
JP2010186386A JP2009031133A JP2009031133A JP2010186386A JP 2010186386 A JP2010186386 A JP 2010186386A JP 2009031133 A JP2009031133 A JP 2009031133A JP 2009031133 A JP2009031133 A JP 2009031133A JP 2010186386 A JP2010186386 A JP 2010186386A
Authority
JP
Japan
Prior art keywords
protection domain
access
program
entry point
executed
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
JP2009031133A
Other languages
Japanese (ja)
Inventor
Koichi Takeda
浩一 武田
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor Co Ltd
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 Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2009031133A priority Critical patent/JP2010186386A/en
Publication of JP2010186386A publication Critical patent/JP2010186386A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a high-level protecting function capable of preventing, in the event of a malfunction by physical attack, expansion of unauthorized access to a memory area. <P>SOLUTION: The memory area of a memory 12 is composed of a plurality of protective domains in which a program is stored with an entry point showing the start address of the program being determined. Each of the protective domains is switched so that the access thereto is permitted when the entry point is instructed, and prohibited when the entry point is not instructed. When transfer to the protective domain 2 is performed while a CPU 16 is executing the program of the protective domain 1, a protective domain transfer instruction is executed to instruct the entry point determined for the protective domain 2. Upon execution of the protective domain transfer instruction, a switching part 20 performs switching to prohibit the access to the protective domain 1 and permit the access to the protective domain 2. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、メモリ領域に対する不正アクセスからメモリ上のプログラム及びデータを保護するメモリアクセス保護機能を有するプロセッサに関する。   The present invention relates to a processor having a memory access protection function for protecting a program and data on a memory from unauthorized access to a memory area.

従来、メモリ領域に対する不正アクセスからメモリ上のプログラム及びデータを保護することが行われている。   Conventionally, protection of programs and data on a memory from unauthorized access to a memory area has been performed.

例えば、仮想メモリアドレス空間の特定の領域が特権モードのプロセスによってのみアクセス可能であるか、または、ユーザモードまたは特権モードの両方のプロセスによってアクセス可能であるかを、仮想メモリアドレスと対応付けされたアクセス制御データパラメータとしてMMU(メモリ管理ユニット)やMPU(メモリプロテクションユニット)で管理し、このアクセス制御データを変更する権限を、メモリアドレス空間内の特定の定義された位置に記憶された命令に制限するメモリドメインを基にしたデータ処理システム内のセキュリティ制御が提案されている(例えば、特許文献1参照)。   For example, a virtual memory address can be associated with whether a particular area of the virtual memory address space can only be accessed by a privileged mode process, or can be accessed by both a user mode or privileged mode process. Managed as MMU (memory management unit) or MPU (memory protection unit) as access control data parameters, and the authority to change this access control data is limited to instructions stored at specific defined locations in the memory address space Security control in a data processing system based on a memory domain is proposed (see, for example, Patent Document 1).

特開2008−257734公報JP 2008-257734 A

しかしながら、上記特許文献1の技術では、セキュリティを破るための物理攻撃などによって誤動作を生じさせることにより、不正に情報を読み出すプログラムを紛れ込まされたり、権限を表すビットがノイズの影響を受けて不正にアクセス制御データを変更することのできる権限に変更されたりすると、MMUやMPUが操作され、あらゆるメモリ領域がアクセス可能となって、データの読み出しや改ざんが可能になってしまう、という問題がある。   However, in the technique of the above-mentioned patent document 1, by causing a malfunction due to a physical attack or the like for breaking security, a program for reading information is illegally inserted, or a bit representing authority is illegally affected by noise. If the access control data is changed to an authority capable of changing, there is a problem that the MMU or MPU is operated, and any memory area can be accessed, and data can be read or altered.

本発明は、上記問題を解消するためになされたものであり、物理攻撃による誤動作が生じた場合でも、メモリ領域に対する不正アクセスの拡大を防止する高度な保護機能を有するプロセッサを提供することを目的とする。   The present invention has been made to solve the above problems, and an object of the present invention is to provide a processor having a high protection function for preventing the expansion of unauthorized access to a memory area even when a malfunction occurs due to a physical attack. And

上記目的を達成するために、本発明のプロセッサは、プログラムが記憶され、かつ該プログラムの開始アドレスを示すエントリポイントが定められ、前記エントリポイントが指示された場合にはアクセスが許可され、前記エントリポイントが指示されていない場合にはアクセスが禁止されるように切り替えられる保護ドメインを複数有する記憶手段と、アクセスが許可された所定の保護ドメインに記憶されたプログラムを実行すると共に、該プログラムの実行中に、他の保護ドメインに記憶されたプログラムを実行するためにプログラム実行対象の保護ドメインに遷移する場合に、前記プログラム実行対象の保護ドメインについて定められたエントリポイントを指示する命令を実行する制御手段と、保護ドメインが遷移する前に、前記所定の保護ドメインに対するアクセスを禁止し、前記プログラム実行対象の保護ドメインに対するアクセスを許可するように切り替える切替手段とを含んで構成することができる。   In order to achieve the above object, the processor of the present invention stores a program and defines an entry point indicating a start address of the program. When the entry point is designated, access is permitted, and the entry A storage means having a plurality of protection domains that are switched so that access is prohibited when the point is not designated, and a program stored in a predetermined protection domain that is permitted to access, and execution of the program Control for executing an instruction indicating an entry point defined for the protection domain to be executed by the program when transitioning to the protection domain to be executed by the program in order to execute a program stored in another protection domain. And the predetermined domain before the protection domain transitions To prevent access to a protection domain, it may be configured to include a switching means for switching to allow access to the program executed in the protection domain.

本発明のプロセッサによれば、記憶手段は、プログラムが記憶され、かつ該プログラムの開始アドレスを示すエントリポイントが定められた複数の保護ドメインを有しており、保護ドメインへのアクセスは、エントリポイントが指示された場合にはアクセスが許可され、エントリポイントが指示されていない場合にはアクセスが禁止されるように切り替えられる。制御手段は、アクセスが許可された所定の保護ドメインに記憶されたプログラムを実行すると共に、該プログラムの実行中に、他の保護ドメインに記憶されたプログラムを実行するためにプログラム実行対象の保護ドメインに遷移する場合に、プログラム実行対象の保護ドメインについて定められたエントリポイントを指示する命令を実行する。これにより、指示されたエントリポイントが属するプログラム実行対象の保護ドメインのエントリポイントによって示される開始アドレスからプログラムが実行される。そして、切替手段が、保護ドメインが遷移する前に、所定の保護ドメインに対するアクセスを禁止し、プログラム実行対象の保護ドメインに対するアクセスを許可するように切り替える。   According to the processor of the present invention, the storage means has a plurality of protection domains in which a program is stored and an entry point indicating the start address of the program is defined. Is switched to prohibit access when the entry point is not instructed. The control means executes a program stored in a predetermined protection domain to which access is permitted, and executes a program stored in another protection domain during execution of the program. In the case of transition to (2), an instruction for indicating an entry point defined for a protection domain to be executed by a program is executed. As a result, the program is executed from the start address indicated by the entry point of the protection domain to which the designated entry point belongs. Then, before the protection domain transitions, the switching unit prohibits access to the predetermined protection domain and switches to permit access to the protection domain to be executed by the program.

このように、保護ドメイン間の遷移は、保護ドメイン毎に定められたエントリポイントを介してのみ可能となり、保護ドメインが遷移する前には、所定の保護ドメインはアクセスが禁止され、遷移先となるプログラム実行対象の保護ドメインはアクセスが許可されるように切り替えられるため、物理攻撃による誤動作が生じた場合でも、メモリ領域に対する不正アクセスは、プログラム実行中の保護ドメイン内に留まり、不正アクセスによる被害の拡大を防止することができる。   In this way, transition between protection domains is possible only via entry points defined for each protection domain, and access to a given protection domain is prohibited before the protection domain transitions and becomes a transition destination. Since the protection domain for program execution is switched to allow access, even if a malfunction occurs due to a physical attack, unauthorized access to the memory area remains within the protection domain where the program is being executed, and damage due to unauthorized access may occur. Expansion can be prevented.

また、前記保護ドメインの各々に、複数のエントリポイント、及び前記エントリポイントの各々に対応したアクセスの許可またはアクセスの禁止を示すアクセス許否情報を定めることができる。また、起動時に、前記アクセス許否情報を読み出して記憶するためのアクセス許可情報記憶手段を含んで構成するようにしてもよい。   Further, a plurality of entry points and access permission / rejection information indicating access permission or access prohibition corresponding to each of the entry points can be defined for each of the protection domains. Further, it may be configured to include an access permission information storage means for reading and storing the access permission information at the time of activation.

以上説明したように、本発明のプロセッサによれば、物理攻撃による誤動作が生じた場合でも、メモリ領域に対する不正アクセスの拡大を防止する高度な保護機能を有する、という効果が得られる。   As described above, according to the processor of the present invention, even when a malfunction due to a physical attack occurs, an effect of having a high protection function for preventing expansion of unauthorized access to the memory area can be obtained.

本実施の形態のメモリ保護機能付プロセッサの構成を示す概略図である。It is the schematic which shows the structure of the processor with a memory protection function of this Embodiment. メモリ空間を示す図である。It is a figure which shows memory space. エントリポイントの構成の一例を示す表である。It is a table | surface which shows an example of a structure of an entry point. アクセス許否情報の一例を示す表である。It is a table | surface which shows an example of access permission information.

以下、図面を参照して本発明の実施の形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本実施の形態のメモリ保護機能付プロセッサ10の構成を示す概略図である。メモリ保護機能付プロセッサ10は、メモリ12に結合されたプロセッサ部14で構成されている。   FIG. 1 is a schematic diagram showing a configuration of a processor 10 with a memory protection function according to the present embodiment. The processor 10 with memory protection function includes a processor unit 14 coupled to a memory 12.

図2に、メモリ12のメモリ空間を示す。メモリ空間は複数のメモリ領域に分割されており、いくつかのメモリ領域をまとめて1つの保護ドメインとして定義している。保護ドメインの各々は、保護ドメイン内のメモリ領域に対して、実行可能、読み出し可能、書き込み可能を設定することができ、例えば、プログラム領域、読み出し可能データ領域、読み書き可能データ領域、スタック領域、及びヒープ領域を含んで構成することができる。また、2つ以上の保護ドメインで共通に使用することができる共有領域を設けることができる。共有領域は、後述するように、所定の保護ドメインから他の保護ドメインへ遷移する場合に、読み出し時の引数や戻り値などの必要なデータを受け渡すために使用される。   FIG. 2 shows a memory space of the memory 12. The memory space is divided into a plurality of memory areas, and several memory areas are collectively defined as one protection domain. Each of the protection domains can be set to executable, readable, and writable with respect to a memory area in the protection domain, for example, a program area, a readable data area, a readable / writable data area, a stack area, and A heap area can be included. In addition, a shared area that can be used in common by two or more protection domains can be provided. As will be described later, the shared area is used for transferring necessary data such as an argument and a return value at the time of reading when a transition is made from a predetermined protection domain to another protection domain.

各保護ドメインは、複数のエントリポイントを有し、エントリポイントは、図3に示すように、エントリポイントが属する保護ドメイン、及びエントリポイント通過後のプログラム開始アドレスを保持する。各保護ドメインへのアクセスは、このエントリポイントを通過して、プログラム開始アドレスを取得することにより、エントリポイントが示すプログラム開始アドレスからのみ可能となる。エントリポイントの通過は、後述する特別の命令(保護ドメイン遷移命令または復帰命令)の実行、または、ソフトウェア割り込み命令の実行、割り込み、例外の発生により行う。特別の命令の種類の違いにより、それぞれ対応するエントリポイントを設けておく。   Each protection domain has a plurality of entry points, and each entry point holds a protection domain to which the entry point belongs and a program start address after passing through the entry point, as shown in FIG. Access to each protection domain is possible only from the program start address indicated by the entry point by obtaining the program start address through this entry point. The entry point is passed by executing a special instruction (protection domain transition instruction or return instruction) described later, or executing a software interrupt instruction, generating an interrupt, or generating an exception. Corresponding entry points are provided depending on the types of special instructions.

エントリポイントをメモリ空間内に配置する場合は、エントリポイント番号を所定の規則でアドレスに変換し、そのアドレスにエントリポイントの属する保護ドメインとプログラム開始アドレスの情報を記憶するように構成できる。所定の規則とは、例えば、「(アドレス)=(エントリポイントテーブルの先頭アドレス)+(エントリポイント番号)*8」のように定めることができる。   When the entry point is arranged in the memory space, the entry point number is converted into an address according to a predetermined rule, and the information of the protection domain to which the entry point belongs and the program start address can be stored at that address. The predetermined rule can be defined as, for example, “(address) = (start address of entry point table) + (entry point number) * 8”.

また、各保護ドメインに含まれるメモリ領域に対するアクセスの許否を定めたアクセス許否情報が、保護ドメイン毎に定められている。アクセス許否情報は、例えば、図4に示すように、メモリ領域の先頭アドレスとそのサイズ、およびアクセス許否情報を示す情報のテーブルで定めることができる。各エントリポイントで指定されるプログラム開始アドレスは、実行許可のあるメモリ領域内にあるように決められる。保護ドメインが異なる場合、一切のアクセスが許可されない。例えば、保護ドメイン1のプログラムは、保護ドメイン2の許可されている領域に対してもアクセスすることは禁止される。保護ドメイン間の共有領域を指定するには、異なる保護ドメインで同じ領域を指定する。保護ドメイン1のプログラムが、エントリポイント3を通過すると、保護ドメイン2に切り替わり、開始アドレスNnnnnnnnからサイズVvvvの範囲の領域が読み出し許可、開始アドレスPpppppppからサイズWwwwの範囲の領域が読み出し及び実行許可、開始アドレスQqqqqqqqからサイズXxxxの範囲の領域が読み出し及び書き込み許可となる。さらに、エントリポイント3のプログラム開始アドレスDdddddddは実行許可領域、例えば、開始アドレスPpppppppからサイズWwwwの範囲のどこかに決められている。   In addition, access permission / rejection information that determines permission / refusal of access to a memory area included in each protection domain is determined for each protection domain. For example, as shown in FIG. 4, the access permission / denial information can be defined by a table of information indicating the start address and the size of the memory area and the access permission / inhibition information. The program start address specified by each entry point is determined so as to be in a memory area to which execution is permitted. If the protection domain is different, no access is allowed. For example, the program of the protection domain 1 is prohibited from accessing the permitted area of the protection domain 2. To specify a shared area between protection domains, specify the same area in different protection domains. When the program of the protection domain 1 passes the entry point 3, the protection domain 2 is switched to the protection domain 2, the read address is permitted in the area from the start address Nnnnnnnnn to the size Vvvv, and the read and execution permission is granted in the area from the start address Pppppppp to the size Wwww. An area in the range from the start address Qqqqqqqq to the size Xxxxx is allowed to be read and written. Furthermore, the program start address Ddddddddd of the entry point 3 is determined somewhere in the execution permission area, for example, the range from the start address Pppppppp to the size Wwww.

また、アクセス許否情報は、保護ドメイン毎だけでなく、保護ドメイン内のエントリポイントのそれぞれに対応してアクセスの許可またはアクセスの禁止を示す許否情報を定めることもできる。   Further, the access permission / rejection information can determine permission / rejection information indicating permission of access or prohibition of access not only for each protection domain but also for each entry point in the protection domain.

プロセッサ部14は、メモリに記憶されたプログラムを実行するCPU16、メモリ12に記憶されたアクセス許否情報が登録されるアクセス許否情報記憶部18、及びアクセス可能な保護ドメインを切り替える切替部20を含んで構成されている。   The processor unit 14 includes a CPU 16 that executes a program stored in the memory, an access permission information storage unit 18 in which access permission information stored in the memory 12 is registered, and a switching unit 20 that switches accessible protection domains. It is configured.

アクセス許否情報記憶部18には、起動時にメモリ12から読み出された保護ドメイン毎に定められたアクセス許否情報が、例えば、図4に示すような一覧形式で記憶される。なお、アクセス許否情報記憶部18に記憶された情報は、起動時以外書き換えることができない構成とする。このため、従来技術のように、起動中にアクセス許否情報を書き替える必要がない。   The access permission / rejection information storage unit 18 stores access permission / rejection information determined for each protection domain read from the memory 12 at the time of activation, for example, in a list format as shown in FIG. Note that the information stored in the access permission / rejection information storage unit 18 is configured such that it cannot be rewritten except during startup. For this reason, unlike the prior art, it is not necessary to rewrite the access permission information during startup.

切替部20は、特別の命令が実行されて保護ドメインが遷移する際に、遷移元の保護ドメインへのアクセスを禁止し、遷移先の保護ドメインへのアクセスを許可するように切り替える。特別の命令とは、遷移先の保護ドメインについて定められたエントリポイントを指定する命令であり、所定の保護ドメインでプログラムを実行中に生じる保護ドメイン遷移命令または復帰命令をいう。また、割り込み、例外が発生した場合、及びソフトウェア割り込み命令を実行した場合は、あたかも予め定められたエントリポイントを指定した保護ドメイン遷移命令が実行されたかのようなふるまいをする。割り込み、例外、ソフトウェア割り込みが生じる場合には、それまで実行していたプログラムとは通常関係しないプログラムの実行が必要となるため、それまで実行していたプログラムとのメモリ領域の分離を行うため、保護ドメインを切り替えることが必要になる。このため、割り込み、例外、ソフトウェア割り込み命令に対応したエントリポイント(例えば、エントリポイント0は割り込み用、エントリポイント1は例外用)を設計時において固定的に定めておき、割り込み、例外、ソフトウェア割り込み命令が生じた場合には、各々の命令に対応したエントリポイントを通過して所定の保護ドメインがアクセス可能となるように切り替えを行う。   When the special instruction is executed and the protection domain transitions, the switching unit 20 prohibits access to the transition-source protection domain and switches to permit access to the transition-destination protection domain. The special instruction is an instruction that designates an entry point defined for a protection domain as a transition destination, and refers to a protection domain transition instruction or a return instruction that occurs during execution of a program in a predetermined protection domain. Also, when an interrupt or exception occurs, or when a software interrupt instruction is executed, it behaves as if a protection domain transition instruction specifying a predetermined entry point is executed. When an interrupt, exception, or software interrupt occurs, it is necessary to execute a program that is not normally related to the program that has been executed so far, in order to separate the memory area from the program that has been executed so far, It is necessary to switch protection domains. For this reason, entry points corresponding to interrupts, exceptions, and software interrupt instructions (for example, entry point 0 is for interrupts and entry point 1 is for exceptions) are fixedly determined at the time of design. When the error occurs, switching is performed so that a predetermined protection domain can be accessed through an entry point corresponding to each instruction.

次に、本実施の形態のプロセッサ10の動作について説明する。   Next, the operation of the processor 10 of this embodiment will be described.

まず、プロセッサ10が起動されると、メモリ12からアクセス許否情報を読み出して、アクセス許否情報記憶部18に記憶する。   First, when the processor 10 is activated, the access permission information is read from the memory 12 and stored in the access permission information storage unit 18.

次に、CPU16でプログラムを実行する。ここで、CPU16が実行するプログラムが記憶された保護ドメインを保護ドメイン1とすると、切替部20は、保護ドメイン1へのアクセスのみを可能とし、その他の保護ドメインへのアクセスを禁止するように切り替える。また、保護ドメイン1の各メモリ領域へのアクセスの許否は、アクセス許否情報記憶部18に記憶されたアクセス許否情報に基づいて判断される。   Next, the CPU 16 executes the program. Here, if the protection domain in which the program executed by the CPU 16 is stored is the protection domain 1, the switching unit 20 switches only to access the protection domain 1 and prohibits access to other protection domains. . Further, whether access to each memory area of the protection domain 1 is permitted is determined based on the access permission information stored in the access permission information storage unit 18.

保護ドメイン1に記憶されたプログラムを実行中に、保護ドメイン2へ遷移する場合は、保護ドメイン遷移命令を実行して、保護ドメイン2を示すエントリポイント(例えば、エントリポイント4)を指定する。この命令を受けて、切替部20は、保護ドメイン1へのアクセスを禁止し、保護ドメイン2へのアクセスを許可するように切り替える。そして、エントリポイント4が示す開始アドレスEeeeeeeeから、保護ドメイン2のプログラムが実行される。また、保護ドメイン1への戻り番地及びプログラムステータスワードが保護ドメイン2のスタック領域に退避される。   When transitioning to the protection domain 2 during execution of the program stored in the protection domain 1, a protection domain transition command is executed to specify an entry point (for example, entry point 4) indicating the protection domain 2. In response to this instruction, the switching unit 20 switches to prohibit access to the protection domain 1 and permit access to the protection domain 2. Then, the protection domain 2 program is executed from the start address Eeeeeee indicated by the entry point 4. Further, the return address to the protection domain 1 and the program status word are saved in the stack area of the protection domain 2.

保護ドメイン1から保護ドメイン2へ戻る場合は、保護ドメイン1へ戻したい情報を保護ドメイン1と保護ドメイン2との共有領域にコピーし、保護ドメイン復帰命令を実行する。これにより、保護ドメイン2のスタック領域に退避されていた戻り番地へ分岐すると同時に、切替部20は、保護ドメイン2へのアクセスを禁止し、保護ドメイン1へのアクセスを許可するように切り替える。そして、保護ドメイン1から保護ドメイン2への保護ドメイン遷移命令を実行した後のアドレスからプログラムの実行を開始する。   When returning from the protection domain 1 to the protection domain 2, information to be returned to the protection domain 1 is copied to a shared area between the protection domain 1 and the protection domain 2, and a protection domain return command is executed. Thus, at the same time as branching to the return address saved in the stack area of the protection domain 2, the switching unit 20 prohibits access to the protection domain 2 and switches to allow access to the protection domain 1. Then, the execution of the program is started from the address after the protection domain transition command from the protection domain 1 to the protection domain 2 is executed.

なお、上記動作では、保護ドメイン遷移命令及び復帰命令を実行した場合を例に説明したが、割り込み、例外の発生、及びソフトウェア割り込み命令を実行した場合においても、同様に動作する。   In the above operation, the case where the protection domain transition instruction and the return instruction are executed has been described as an example, but the same operation is performed even when an interrupt, an exception occurs, and a software interrupt instruction is executed.

以上説明したように、本実施の形態のプロセッサによれば、保護ドメイン間の遷移が可能な柔軟な構成をとりつつ、特別な命令の実行によりエントリポイントを介して開始アドレスを取得することによってのみ他の保護ドメインへ遷移することができるため、物理攻撃による誤動作が生じた場合でも、メモリ領域に対する不正アクセスは、プログラムを実行中の保護ドメイン内に留まり、不正アクセスによる被害の拡大を防止することができる。   As described above, according to the processor of the present embodiment, only by acquiring a start address via an entry point by executing a special instruction while adopting a flexible configuration capable of transitioning between protection domains. Because it is possible to transition to another protection domain, even if a malfunction due to a physical attack occurs, unauthorized access to the memory area stays within the protection domain where the program is being executed, preventing the damage caused by unauthorized access. Can do.

10 メモリ保護機能付プロセッサ
12 メモリ
14 プロセッサ部
16 CPU
18 アクセス許否情報記憶部
20 切替部
10 Processor with Memory Protection Function 12 Memory 14 Processor Unit 16 CPU
18 Access Permission Information Storage Unit 20 Switching Unit

Claims (3)

プログラムが記憶され、かつ該プログラムの開始アドレスを示すエントリポイントが定められ、前記エントリポイントが指示された場合にはアクセスが許可され、前記エントリポイントが指示されていない場合にはアクセスが禁止されるように切り替えられる保護ドメインを複数有する記憶手段と、
アクセスが許可された所定の保護ドメインに記憶されたプログラムを実行すると共に、該プログラムの実行中に、他の保護ドメインに記憶されたプログラムを実行するためにプログラム実行対象の保護ドメインに遷移する場合に、前記プログラム実行対象の保護ドメインについて定められたエントリポイントを指示する命令を実行する制御手段と、
保護ドメインが遷移する前に、前記所定の保護ドメインに対するアクセスを禁止し、前記プログラム実行対象の保護ドメインに対するアクセスを許可するように切り替える切替手段と、
を含むプロセッサ。
The program is stored and an entry point indicating the start address of the program is determined. Access is permitted when the entry point is designated, and access is prohibited when the entry point is not designated. Storage means having a plurality of protection domains that can be switched as follows:
When a program stored in a predetermined protection domain to which access is permitted is executed, and during the execution of the program, a transition is made to a protection domain to be executed in order to execute a program stored in another protection domain Control means for executing an instruction for indicating an entry point defined for the protection domain to be executed by the program;
Switching means for prohibiting access to the predetermined protection domain and switching to allow access to the protection domain to be executed by the program before the protection domain transitions;
Including processor.
前記保護ドメインの各々に、複数のエントリポイント、及び前記エントリポイントの各々に対応したアクセスの許可またはアクセスの禁止を示すアクセス許否情報を定めた請求項1記載のプロセッサ。   The processor according to claim 1, wherein access permission / denial information indicating permission or prohibition of access corresponding to each of the plurality of entry points and each of the entry points is defined for each of the protection domains. 起動時に、前記アクセス許否情報を読み出して記憶するためのアクセス許可情報記憶手段を含む請求項2記載のプロセッサ。   3. The processor according to claim 2, further comprising access permission information storage means for reading out and storing said access permission information at startup.
JP2009031133A 2009-02-13 2009-02-13 Processor Pending JP2010186386A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009031133A JP2010186386A (en) 2009-02-13 2009-02-13 Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009031133A JP2010186386A (en) 2009-02-13 2009-02-13 Processor

Publications (1)

Publication Number Publication Date
JP2010186386A true JP2010186386A (en) 2010-08-26

Family

ID=42766998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009031133A Pending JP2010186386A (en) 2009-02-13 2009-02-13 Processor

Country Status (1)

Country Link
JP (1) JP2010186386A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161479A (en) * 2012-02-08 2013-08-19 Arm Ltd Data processing apparatus and method using secure domain and less secure domain
US10025923B2 (en) 2012-02-08 2018-07-17 Arm Limited Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains
US10083040B2 (en) 2012-02-08 2018-09-25 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
US10169573B2 (en) 2012-02-08 2019-01-01 Arm Limited Maintaining secure data isolated from non-secure access when switching between domains
US10210349B2 (en) 2012-02-08 2019-02-19 Arm Limited Data processing apparatus and method using secure domain and less secure domain
JP2019160191A (en) * 2018-03-16 2019-09-19 株式会社東芝 Portable electronic device and IC card

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013161479A (en) * 2012-02-08 2013-08-19 Arm Ltd Data processing apparatus and method using secure domain and less secure domain
US10025923B2 (en) 2012-02-08 2018-07-17 Arm Limited Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains
US10083040B2 (en) 2012-02-08 2018-09-25 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
US10169573B2 (en) 2012-02-08 2019-01-01 Arm Limited Maintaining secure data isolated from non-secure access when switching between domains
US10210349B2 (en) 2012-02-08 2019-02-19 Arm Limited Data processing apparatus and method using secure domain and less secure domain
JP2019160191A (en) * 2018-03-16 2019-09-19 株式会社東芝 Portable electronic device and IC card
JP7020969B2 (en) 2018-03-16 2022-02-16 株式会社東芝 Portable electronic devices and IC cards

Similar Documents

Publication Publication Date Title
RU2513909C1 (en) Restricting memory areas for instruction reading depending on hardware mode and security flag
US9292679B2 (en) Regulating access to and protecting portions of applications of virtual machines
KR102189296B1 (en) Event filtering for virtual machine security applications
JP4939382B2 (en) Information processing apparatus and program execution control method thereof
JP5044387B2 (en) Information processing apparatus and stack pointer updating method thereof
CN109840410A (en) The method and system of data isolation and protection in a kind of process
CN101303721B (en) Reducing information leakage between processes sharing a cache
JP2007304954A (en) Computer system having memory protecting function
US7529916B2 (en) Data processing apparatus and method for controlling access to registers
JP2007249933A (en) Managing access to content in data processing apparatus
JP2013250980A (en) Processor resource and execution protection methods and apparatus
KR20100122924A (en) Multi-operating system(os) start device, multi-os start program, recording medium, and multi-os start method
JP2010186386A (en) Processor
JP2009140256A (en) Data processor and address space protection method
KR20160019454A (en) Security protection of software libraries in a data processing apparatus
JP2011146030A (en) Memory protection method and information processor
JP2022503899A (en) Validating the stack pointer
KR102075701B1 (en) Instruction-level data isolation method and apparatus
JP2009009232A (en) Computer, kernel protection method, and computer software
WO2019237865A1 (en) Data protection method and computing device
JP2006338426A (en) Calculator system
JP2005084721A (en) Microcomputer
JP2020140689A (en) Computer, operating system, and method
JP2007310834A (en) Data protection method, information processor and operating system
US11150887B2 (en) Secure code patching