JP2013156760A - Data processor - Google Patents
Data processor Download PDFInfo
- Publication number
- JP2013156760A JP2013156760A JP2012015650A JP2012015650A JP2013156760A JP 2013156760 A JP2013156760 A JP 2013156760A JP 2012015650 A JP2012015650 A JP 2012015650A JP 2012015650 A JP2012015650 A JP 2012015650A JP 2013156760 A JP2013156760 A JP 2013156760A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- access
- address
- data processing
- boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
Description
本発明はデータ処理装置に関し、特に複数のプロセッサでメモリを共有可能なデータ処理装置に関する。 The present invention relates to a data processing apparatus, and more particularly to a data processing apparatus capable of sharing a memory among a plurality of processors.
単一の共有メモリを複数のプロセッサで共有することができるデータ処理装置が知られている。 There is known a data processing apparatus capable of sharing a single shared memory by a plurality of processors.
特許文献1には、初期化処理におけるプログラムの共通化とプロセッサ間の独立性を両立させることができるマルチプロセッサ型コントローラに関する技術が開示されている。特許文献1に開示されているマルチプロセッサ型コントローラは、複数のプロセッサと、共有メモリと、複数の境界レジスタと、比較器と、メモリ制御部と、複数のマスクレジスタと、割込み制御部と、を備えている。
複数のプロセッサは、電源投入直後に特定のメモリアドレスの初期化プログラムを実行する機能を有する。共有メモリは、複数のプロセッサからアクセスされる。複数の境界レジスタは、共有メモリを複数のプロセッサ毎の領域に分割するアドレスを設定する。比較器は、複数のプロセッサからの共有メモリへのアクセスアドレスと複数の境界レジスタの内容とを比較する。メモリ制御部は、比較器の結果によって共有メモリの領域に対して複数のプロセッサからのアクセスを制限する。複数のマスクレジスタは、割込み要因毎にマスク情報を設定する。割込み制御部は、マスクレジスタからのマスク情報に従い、プロセッサへの割込みをマスクする。 The plurality of processors have a function of executing an initialization program for a specific memory address immediately after power-on. The shared memory is accessed from a plurality of processors. The plurality of boundary registers set addresses for dividing the shared memory into areas for a plurality of processors. The comparator compares the access addresses to the shared memory from the plurality of processors with the contents of the plurality of boundary registers. The memory control unit restricts access from the plurality of processors to the shared memory area based on the result of the comparator. A plurality of mask registers sets mask information for each interrupt factor. The interrupt control unit masks an interrupt to the processor according to the mask information from the mask register.
特許文献1に開示されているマルチプロセッサ型コントローラでは、プロセッサ間の共有メモリ領域の独立性は、主に通常時の処理において必要であり、立上げ処理ではプロセッサ間で共通処理を実行するため必要性が少ない。そこで、特許文献1に開示されているマルチプロセッサ型コントローラでは、電源が投入された後プロセッサが最初に読み出しを行う番地に初期化プログラムを配置し、この初期化プログラムをプロセッサ間で共通に実行している。このとき、共有メモリへのアクセスは境界レジスタに境界アドレスが設定され、境界アドレスが有効になるまでは、全てのプロセッサが共有メモリに制限なくアクセスすることができる。
In the multiprocessor controller disclosed in
特許文献2には、プロセッサ間通信のスループットを向上させ、送受信するメッセージの優先順位に基づいたプロセッサ間通信を実行することができるマルチプロセッサシステムに関する技術が開示されている。 Patent Document 2 discloses a technique related to a multiprocessor system that can improve inter-processor communication throughput and execute inter-processor communication based on the priority order of messages to be transmitted and received.
共有メモリを複数のプロセッサで共有しているデータ処理装置では、各プロセッサで実行するためのプログラムが共有メモリに格納されている。そして、プロセッサの中にセキュリティ性の高いプロセッサ(セキュアプロセッサ)が含まれている場合、セキュリティ性の高いプログラムが共有メモリに格納される。 In a data processing apparatus in which a shared memory is shared by a plurality of processors, a program to be executed by each processor is stored in the shared memory. If the processor includes a highly secure processor (secure processor), a highly secure program is stored in the shared memory.
特許文献1に開示されているマルチプロセッサ型コントローラでは、境界レジスタに境界アドレスを設定することで、各プロセッサがアクセス可能な共有メモリの領域を設定している。しかしながら、境界レジスタに設定される境界アドレスを容易に書き換えることができると、セキュアプロセッサ以外のプロセッサがセキュリティ性の高いプログラムにアクセスすることが可能となり、セキュアプロセッサを含むデータ処理装置のセキュリティ性が失われるという問題がある。特に、この問題はセキュアプロセッサ以外のプロセッサが脆弱性を有する場合に顕著となる。
In the multiprocessor controller disclosed in
本発明の一態様にかかるデータ処理装置は、第1プロセッサと、セキュリティ機能を備えた第2プロセッサと、前記第1プロセッサがアクセス可能な第1メモリ領域と、前記第2プロセッサがアクセス可能な第2メモリ領域とを備えた共有メモリと、前記共有メモリの前記第1メモリ領域および前記第2メモリ領域の境界に対応するアドレスである境界アドレスを格納可能な制御情報格納部と、前記境界アドレスに応じて前記第1プロセッサおよび前記第2プロセッサからの前記共有メモリへのアクセスを制御するアクセス制御回路と、を備え、前記制御情報格納部に格納されている前記境界アドレスを書き換える際、前記第2プロセッサが認証処理を実施する。 A data processing apparatus according to an aspect of the present invention includes a first processor, a second processor having a security function, a first memory area accessible by the first processor, and a second processor accessible by the second processor. A shared memory having two memory areas, a control information storage unit capable of storing a boundary address that is an address corresponding to a boundary between the first memory area and the second memory area of the shared memory, and the boundary address And an access control circuit for controlling access to the shared memory from the first processor and the second processor in response to the second address when rewriting the boundary address stored in the control information storage unit. The processor performs an authentication process.
本発明の一態様にかかるデータ処理装置では、制御情報格納部に格納されている境界アドレスを書き換える際、セキュアプロセッサである第2プロセッサが認証処理を実施している。よって、制御情報格納部に格納されている境界アドレスが不正に書き換えられることを抑制することができるため、セキュリティ性の高いデータ処理装置を提供することができる。 In the data processing apparatus according to one aspect of the present invention, when the boundary address stored in the control information storage unit is rewritten, the second processor, which is a secure processor, performs the authentication process. Therefore, since it is possible to suppress unauthorized rewriting of the boundary address stored in the control information storage unit, it is possible to provide a data processing device with high security.
本発明により、セキュリティ性の高いデータ処理装置を提供することができる。 According to the present invention, a data processing device with high security can be provided.
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本発明の実施の形態1にかかるデータ処理装置を説明するためのブロック図である。図1に示すように、本実施の形態にかかるデータ処理装置10は、第1プロセッサ11、第2プロセッサ12、共有メモリ13、アクセス制御回路14、制御情報格納部15、およびバス16を備える。第1プロセッサ11、第2プロセッサ12、アクセス制御回路14、および制御情報格納部15は、バス16を介して互いに接続されている。また、共有メモリ13はアクセス制御回路14を介してバス16に接続されている。
<
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram for explaining the data processing apparatus according to the first embodiment of the present invention. As shown in FIG. 1, the
第1プロセッサ11は、共有メモリ13の第1メモリ領域にアクセスし、第1メモリ領域にデータを格納したり、第1メモリ領域に格納されているデータ(プログラム)を読み出して当該プログラムを実行したりすることができる。第2プロセッサ12は、共有メモリ13の第2メモリ領域にアクセスし、第2メモリ領域にデータを格納したり、第2メモリ領域に格納されているデータ(プログラム)を読み出して当該プログラムを実行したりすることができる。例えば、第2プロセッサ12は、セキュリティ機能を備えたプロセッサ(セキュアプロセッサ)で構成することができる。ここで、セキュアプロセッサとは、アタック耐性やタンパ耐性を備えたプロセッサである。
The
共有メモリ13は、第1プロセッサ11がアクセス可能な第1メモリ領域と、第2プロセッサ12がアクセス可能な第2メモリ領域とを備える。第1メモリ領域には第1プロセッサ11で実行されるプログラムが格納されている。第2メモリ領域には第2プロセッサ12で実行されるプログラムが格納されている。ここで、第2プロセッサ12はセキュアプロセッサで構成されているので、第2メモリ領域にはセキュリティ性が高いプログラムが格納されている。共有メモリ13は、例えば同一のメモリ(物理的に単一のメモリ)で構成されており、第1メモリ領域と第2メモリ領域は、境界アドレスを用いて領域が分割されている。また、共有メモリ13は、例えばフラッシュメモリを用いて構成することができる。
The shared
図2は、本実施の形態にかかるデータ処理装置が備える共有メモリ13のメモリ領域を説明するための図である。図2に示すように、共有メモリ13のアドレスadd_a〜add_bは第1メモリ領域に対応したアドレスであり、アドレスadd_b〜add_cは第2メモリ領域に対応したアドレスである。ここで、アドレスadd_bは、共有メモリ13の第1メモリ領域および第2メモリ領域の境界に対応する境界アドレスである。
FIG. 2 is a diagram for explaining a memory area of the shared
図2に示す共有メモリ13では、各アドレスの大小関係がadd_a<add_b<add_cであってもよく、また、add_a>add_b>add_cであってもよい。各アドレスの大小関係がadd_a<add_b<add_cである場合、例えば、境界アドレスadd_bは第2メモリ領域の先頭アドレスとすることができる。また、各アドレスの大小関係がadd_a>add_b>add_cである場合、例えば、境界アドレスadd_bは第1メモリ領域の先頭アドレスとすることができる。
In the shared
アクセス制御回路14は、境界アドレスに応じて第1プロセッサ11および第2プロセッサ12からの共有メモリ13へのアクセスを制御する。つまり、アクセス制御回路14は、共有メモリ13のアクセス先のアドレスと境界アドレスadd_bとの比較結果に応じて、第1プロセッサ11および第2プロセッサ12からの共有メモリ13へのアクセスを制御することができる。これにより、アクセス制御回路14は、共有メモリ13のメモリ領域を第1メモリ領域と第2メモリ領域とに論理的に分割することができる。
The
例えば、境界アドレスadd_bよりも小さいアドレスの領域を第1メモリ領域と、境界アドレスadd_bよりも大きいアドレスの領域を第2メモリ領域とした場合(add_a<add_b<add_c)、アクセス制御回路14は、共有メモリ13へのアクセス元が第1プロセッサ11であり、アクセス先のアドレスが境界アドレスadd_bよりも小さい場合、第1プロセッサ11が第1メモリ領域にアクセスすることを許可する。また、アクセス制御回路14は、共有メモリ13へのアクセス元が第2プロセッサ12であり、アクセス先のアドレスが境界アドレスadd_bよりも大きい場合(または、アクセス先のアドレスが境界アドレスadd_b以上である場合)、第2プロセッサ12が第2メモリ領域にアクセスすることを許可する。
For example, when an area having an address smaller than the boundary address add_b is a first memory area and an area having an address larger than the boundary address add_b is a second memory area (add_a <add_b <add_c), the
逆に、境界アドレスadd_bよりも大きいアドレスの領域を第1メモリ領域と、境界アドレスadd_bよりも小さいアドレスの領域を第2メモリ領域とした場合、アクセス制御回路14は、共有メモリ13へのアクセス元が第1プロセッサ11であり、アクセス先のアドレスが境界アドレスadd_bよりも大きい場合(または、アクセス先のアドレスが境界アドレスadd_b以上である場合)、第1プロセッサ11が第1メモリ領域にアクセスすることを許可する。また、アクセス制御回路14は、共有メモリ13へのアクセス元が第2プロセッサ12であり、アクセス先のアドレスが境界アドレスadd_bよりも小さい場合、第2プロセッサ12が第2メモリ領域にアクセスすることを許可する。
On the contrary, when the area having an address larger than the boundary address add_b is the first memory area and the area having an address smaller than the boundary address add_b is the second memory area, the
制御情報格納部15は、共有メモリ13の第1メモリ領域および第2メモリ領域の境界に対応する境界アドレスを格納する。境界アドレスは、第1プロセッサ11または第2プロセッサ12が任意のタイミングで書き換えることができる。このように、境界アドレスを書き換えることで、第1メモリ領域および第2メモリ領域の範囲を任意に変更することができる。また、本実施の形態にかかるデータ処理装置では、制御情報格納部15に格納されている境界アドレスを書き換える際、セキュアプロセッサである第2プロセッサ12が認証処理を実施する。
The control
制御情報格納部15に格納されている境界アドレスは、バス16を介してアクセス制御回路14に出力される。例えば、制御情報格納部15は、境界アドレスが書き換えられるタイミング毎に、アクセス制御回路14に境界アドレスを出力する。これにより、アクセス制御回路14は最新の境界アドレスを保持することができる。
The boundary address stored in the control
次に、本実施の形態にかかるデータ処理装置の動作について説明する。まず、第1プロセッサ11および第2プロセッサ12が共有メモリ13にアクセスする場合の動作について説明する。
Next, the operation of the data processing apparatus according to this embodiment will be described. First, the operation when the
第1プロセッサ11および第2プロセッサ12が共有メモリ13にアクセスする際、アクセス制御回路14は、境界アドレスに応じて第1プロセッサ11および第2プロセッサ12からの共有メモリ13へのアクセスを制御する。図3は、アクセス制御回路14の動作を説明するためのフローチャートである。なお、以下では、各アドレスの大小関係がadd_a<add_b<add_cである場合を例として説明する。
When the
第1プロセッサ11および第2プロセッサ12が共有メモリ13にアクセス要求(書き込み要求または読み出し要求)する際、第1プロセッサ11および第2プロセッサ12はアクセス先のアドレスとアクセス元を示すID情報を送信する。アクセス制御回路14は、第1プロセッサ11および第2プロセッサ12が送信したID情報に基づき、共有メモリ13へアクセスするプロセッサ(つまり、アクセス元)を判定する(ステップS1)。共有メモリ13へアクセスするプロセッサが第1プロセッサ11である場合(ステップS2:Yes)、第1プロセッサ11がアクセスするアクセス先のアドレスと境界アドレスadd_bとを比較する。そして、アクセス先のアドレスが境界アドレスadd_bよりも小さい場合(ステップS3:Yes)は、アクセス先のアドレスがアドレスadd_a〜add_bの範囲内(第1メモリ領域の範囲内)であるので、第1プロセッサ11の共有メモリ13(第1メモリ領域)へのアクセスを許可する(ステップS4)。一方、アクセス先のアドレスが境界アドレスadd_bよりも大きい(または、アクセス先のアドレスが境界アドレスadd_b以上である)場合(ステップS3:No)は、アクセス先のアドレスがアドレスadd_a〜add_bの範囲内(第1メモリ領域の範囲内)にないため、第1プロセッサ11の共有メモリ13へのアクセスを禁止する(ステップS5)。
When the
また、共有メモリ13へアクセスするプロセッサが第1プロセッサ11でない場合(ステップS2:No)、つまり、共有メモリ13へアクセスするプロセッサが第2プロセッサ12である場合、第2プロセッサ12がアクセスするアクセス先のアドレスと境界アドレスadd_bとを比較する。そして、アクセス先のアドレスが境界アドレスadd_bよりも大きい(または、アクセス先のアドレスが境界アドレスadd_b以上である)場合(ステップS6:Yes)は、アクセス先のアドレスがアドレスadd_b〜add_cの範囲内(第2メモリ領域の範囲内)であるので、第2プロセッサ12の共有メモリ13(第2メモリ領域)へのアクセスを許可する(ステップS7)。一方、アクセス先のアドレスが境界アドレスadd_bよりも小さい場合(ステップS6:No)は、アクセス先のアドレスがアドレスadd_b〜add_cの範囲内(第2メモリ領域の範囲内)にないため、第2プロセッサ12の共有メモリ13へのアクセスを禁止する(ステップS8)。
If the processor accessing the shared
次に、制御情報格納部15に格納されている境界アドレスを書き換える場合の動作について説明する。図4は、本実施の形態にかかるデータ処理装置における境界アドレス書き換え処理を説明するためのフローチャートである。図4では、第1プロセッサ11が制御情報格納部15に格納されている境界アドレスを書き換える場合の動作を示している。
Next, an operation for rewriting the boundary address stored in the control
制御情報格納部15に格納されている境界アドレスを書き換える際、第1プロセッサ11は書き換え用の境界アドレスとアクセスコードを取得する(ステップS11)。例えば、第1プロセッサ11は、バス16に接続された設定回路(不図示)から書き換え用の境界アドレスとアクセスコードを取得することができる。ここで、アクセスコードは、例えばユーザIDとパスワードである。
When the boundary address stored in the control
次に、第2プロセッサ12は、第1プロセッサ11が取得したアクセスコードの認証処理を実施する(ステップS12)。例えば、第1プロセッサ11は、取得したアクセスコードを第2プロセッサ12に送信する。そして、第2プロセッサ12は、第1プロセッサ11から送信されたアクセスコードが正しいか否か判断する。
Next, the
第2プロセッサ12は、第1プロセッサ11から送信されたアクセスコードが正しいと判断した場合(ステップS13:Yes)、第1プロセッサ11に対して境界アドレスの書き換えを指示する。境界アドレスの書き換えを許可された第1プロセッサ11は、書き換え用の境界アドレスを用いて制御情報格納部15に格納されている境界アドレスを書き換える(ステップS14)。
If the
一方、第2プロセッサ12は、第1プロセッサ11から送信されたアクセスコードが正しくないと判断した場合(ステップS13:No)、第1プロセッサ11に対してアクセスコードが正しくない旨を通知する。この場合、第1プロセッサ11は、制御情報格納部15に格納されている境界アドレスを書き換えることなく境界アドレス書き換え処理を終了する(ステップS15)。
On the other hand, when the
図5は、本実施の形態にかかるデータ処理装置における境界アドレス書き換え処理を説明するためのフローチャートである。図5では、第2プロセッサ12が制御情報格納部15に格納されている境界アドレスを書き換える場合の動作を示している。
FIG. 5 is a flowchart for explaining boundary address rewriting processing in the data processing apparatus according to this embodiment. FIG. 5 shows an operation when the
制御情報格納部15に格納されている境界アドレスを書き換える際、第2プロセッサ12は書き換え用の境界アドレスとアクセスコードを取得する(ステップS21)。例えば、第2プロセッサ21は、バス16に接続された設定回路(不図示)から書き換え用の境界アドレスとアクセスコードを取得することができる。ここで、アクセスコードは、例えばユーザIDとパスワードである。
When the boundary address stored in the control
次に、第2プロセッサ12は、取得したアクセスコードの認証処理を実施する(ステップS22)。第2プロセッサ12は、保持するアクセスコードが正しいと判断した場合(ステップS23:Yes)、書き換え用の境界アドレスを用いて制御情報格納部15に格納されている境界アドレスを書き換える(ステップS24)。
Next, the
一方、第2プロセッサ12は、保持するアクセスコードが正しくないと判断した場合(ステップS23:No)、制御情報格納部15に格納されている境界アドレスを書き換えることなく境界アドレス書き換え処理を終了する(ステップS25)。
On the other hand, when the
本発明の課題で説明したように、共有メモリを複数のプロセッサで共有しているデータ処理装置では、各プロセッサで実行するためのプログラムが共有メモリに格納されている。そして、プロセッサの中にセキュリティ性の高いプロセッサ(セキュアプロセッサ)が含まれている場合、セキュリティ性の高いプログラムが共有メモリに格納される。 As described in the problem of the present invention, in a data processing apparatus in which a shared memory is shared by a plurality of processors, a program to be executed by each processor is stored in the shared memory. If the processor includes a highly secure processor (secure processor), a highly secure program is stored in the shared memory.
特許文献1に開示されているマルチプロセッサ型コントローラでは、境界レジスタに境界アドレスを設定することで、各プロセッサがアクセス可能な共有メモリの領域を設定している。しかしながら、境界レジスタに設定される境界アドレスを容易に書き換えることができると、セキュアプロセッサ以外のプロセッサがセキュリティ性の高いプログラムにアクセスすることが可能となり、セキュアプロセッサを含むデータ処理装置のセキュリティ性が失われるという問題があった。特に、この問題はセキュアプロセッサ以外のプロセッサが脆弱性を有する場合に顕著となる。
In the multiprocessor controller disclosed in
また、特許文献1に開示されているマルチプロセッサ型コントローラでは、電源投入時に初期化プログラムをプロセッサ間で共通に実行しており、全てのプロセッサが共有メモリに制限なくアクセスすることができる。このため、セキュリティ性の高いプログラムが共有メモリに格納されている場合、セキュアプロセッサ以外のプロセッサがセキュリティ性の高いプログラムにアクセス可能となり、セキュアプロセッサを含むデータ処理装置のセキュリティ性が失われるという問題があった。
Further, in the multiprocessor type controller disclosed in
これに対して本実施の形態にかかるデータ処理装置では、制御情報格納部15に格納されている境界アドレスを書き換える際、セキュアプロセッサである第2プロセッサ12が認証処理を実施している。よって、制御情報格納部15に格納されている境界アドレスが不正に書き換えられることを抑制することができるため、セキュリティ性の高いデータ処理装置を提供することができる。つまり、境界アドレスが不正に書き換えられて、セキュリティ性が高いプログラムが格納されている第2メモリ領域のデータが不正に取得されることを抑制することができる。
On the other hand, in the data processing apparatus according to the present embodiment, when rewriting the boundary address stored in the control
また、本実施の形態にかかるデータ処理装置では、アクセス制御回路14を設けることで、第1プロセッサ11がセキュリティ性の高い第2メモリ領域へアクセスすることを禁止することができる。よって、第1プロセッサ11に脆弱性が内在していても、第1プロセッサ11は共有メモリ13の第2メモリ領域にアクセスできないため、セキュアプロセッサである第2のプロセッサのセキュリティ性に影響を及ぼすことを抑制することができる。
Further, in the data processing apparatus according to the present embodiment, by providing the
また、本実施の形態にかかるデータ処理装置では、同一のメモリ(物理的に単一のメモリ)で共有メモリ13を構成することができるので、各プロセッサに対応した独立したメモリを搭載する必要がないため、半導体チップの面積やコストを削減することができる。
Further, in the data processing apparatus according to the present embodiment, the shared
また、本実施の形態にかかるデータ処理装置では、制御情報格納部15に格納されている境界アドレスを正規のユーザが任意に書き換えることで、共有メモリ13の第1メモリ領域および第2メモリ領域の容量を変更することができる。よって、共有メモリのメモリ領域を効率よく利用することができる。
In the data processing apparatus according to the present embodiment, the legitimate user arbitrarily rewrites the boundary address stored in the control
以上で説明した本実施の形態にかかる発明により、セキュリティ性の高いデータ処理装置を提供することができる。 The invention according to the present embodiment described above can provide a data processing apparatus with high security.
<実施の形態2>
次に、本発明の実施の形態2について説明する。図6は、本実施の形態の形態にかかるデータ処理装置を示すブロック図である。本実施の形態の形態にかかるデータ処理装置20では、制御情報格納部25に境界アドレスおよび第2プロセッサ用リセットベクタ(RSV)が格納されている点、および共有メモリ23の第2メモリ領域に第2プロセッサ12を起動するためのプログラムが格納されている点が、実施の形態1で説明したデータ処理装置10と異なる。これ以外は、実施の形態1で説明したデータ処理装置10と同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
<Embodiment 2>
Next, a second embodiment of the present invention will be described. FIG. 6 is a block diagram showing a data processing apparatus according to this embodiment. In the
図6に示すように、本実施の形態にかかるデータ処理装置20が備える制御情報格納部25は、境界アドレスと共に、第2プロセッサ用リセットベクタ(RSV)が格納されている。ここで、第2プロセッサ用リセットベクタは、第2プロセッサ12を起動する際、最初に実行されるプログラムが格納されている先頭アドレスを示している。
As shown in FIG. 6, the control
図7は、本実施の形態にかかるデータ処理装置が備える共有メモリ23のメモリ領域を説明するための図である。図7に示すように、共有メモリ23のアドレスadd_a〜add_bは第1メモリ領域に対応したアドレスであり、アドレスadd_b〜add_cは第2メモリ領域に対応したアドレスである。ここで、アドレスadd_bは、共有メモリ13の第1メモリ領域および第2メモリ領域の境界に対応する境界アドレスである。
FIG. 7 is a diagram for explaining a memory area of the shared
図7に示す共有メモリ23では、各アドレスの大小関係はadd_a<add_b<add_cであり、境界アドレスadd_bは第2メモリ領域の先頭アドレスである。そして、本実施の形態にかかるデータ処理装置では、共有メモリ23の第2メモリ領域に、第2プロセッサ12を起動するためのプログラムが格納されている。この起動用プログラムの先頭アドレスは、リセットベクタに対応している。
In the shared
本実施の形態にかかるデータ処理装置20では、第2プロセッサ12は、起動(再起動)する際に制御情報格納部25に格納されているリセットベクタを読み出す。そして、第2プロセッサ12は、起動用プログラムを読み出すために、リセットベクタで指定された共有メモリのアドレスとアクセス元を示すID情報をアクセス制御回路14に送信する。アクセス制御回路14は、アクセス元が第2プロセッサ12であり、アクセス先が第2メモリ領域(リセットベクタで指定されたアドレス)であるので、第2プロセッサ12の共有メモリ23へのアクセスを許可する。そして、第2プロセッサ12は、共有メモリ23から起動用プログラムを読み出して実行する。このような動作により、第2プロセッサ12が起動する。
In the
また、本実施の形態にかかるデータ処理装置20では、制御情報格納部25に格納されているリセットベクタを書き換える際、第2プロセッサ12が認証処理を実施している。なお、制御情報格納部25に格納されているリセットベクタを書き換える際の動作については、図4および図5(実施の形態1参照)で説明した制御情報格納部15に格納されている境界アドレスを書き換える動作と同様であるので、重複した説明は省略する。
Further, in the
本実施の形態にかかるデータ処理装置では、制御情報格納部25に格納されているリセットベクタを書き換える際、セキュアプロセッサである第2プロセッサ12が認証処理を実施している。よって、制御情報格納部25に格納されているリセットベクタが不正に書き換えられることを抑制することができるため、セキュリティ性の高いデータ処理装置を提供することができる。また、制御情報格納部25にリセットベクタを格納することで、第2プロセッサ12を起動する際に共有メモリ23の第2メモリ領域に格納されているプログラムのみで動作を完結することができる。
In the data processing apparatus according to the present embodiment, when the reset vector stored in the control
以上で説明した本実施の形態にかかる発明により、セキュリティ性の高いデータ処理装置を提供することができる。 The invention according to the present embodiment described above can provide a data processing apparatus with high security.
<実施の形態3>
次に、本発明の実施の形態3について説明する。本実施の形態の形態にかかるデータ処理装置では、第2プロセッサ12が共有メモリ13の第1メモリ領域にアクセスできる点が、実施の形態1の場合と異なる。これ以外は、実施の形態1で説明したデータ処理装置10と同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
<Embodiment 3>
Next, a third embodiment of the present invention will be described. The data processing apparatus according to the present embodiment is different from the first embodiment in that the
図8は、アクセス制御回路14(図1参照)の動作を説明するためのフローチャートである。なお、以下では、各アドレスの大小関係がadd_a<add_b<add_cである場合を例として説明する。 FIG. 8 is a flowchart for explaining the operation of the access control circuit 14 (see FIG. 1). In the following, a case will be described as an example where the size relationship of each address is add_a <add_b <add_c.
第1プロセッサ11および第2プロセッサ12が共有メモリ13にアクセス要求(書き込み要求または読み出し要求)する際、第1プロセッサ11および第2プロセッサ12はアクセス先のアドレスとアクセス元を示すID情報を送信する。アクセス制御回路14は、第1プロセッサ11および第2プロセッサ12が送信したID情報に基づき、共有メモリ13へアクセスするプロセッサ(つまり、アクセス元)を判定する(ステップS31)。共有メモリ13へアクセスするプロセッサが第1プロセッサ11である場合(ステップS32:Yes)、第1プロセッサ11がアクセスするアクセス先のアドレスと境界アドレスadd_bとを比較する。そして、アクセス先のアドレスが境界アドレスadd_bよりも小さい場合(ステップS33:Yes)は、アクセス先のアドレスがアドレスadd_a〜add_bの範囲内(第1メモリ領域の範囲内)であるので、第1プロセッサ11の共有メモリ13(第1メモリ領域)へのアクセスを許可する(ステップS34)。一方、アクセス先のアドレスが境界アドレスadd_bよりも大きい(または、アクセス先のアドレスが境界アドレスadd_b以上である)場合(ステップS33:No)は、アクセス先のアドレスがアドレスadd_a〜add_bの範囲内(第1メモリ領域の範囲内)にないため、第1プロセッサ11の共有メモリ13へのアクセスを禁止する(ステップS35)。
When the
また、共有メモリ13へアクセスするプロセッサが第1プロセッサ11でない場合(ステップS32:No)、つまり、共有メモリ13へアクセスするプロセッサが第2プロセッサ12である場合、第2プロセッサ12がアクセスするアクセス先のアドレスと境界アドレスadd_bとの比較結果にかかわらず、第2プロセッサ12の共有メモリ13(第1メモリ領域および第2メモリ領域)へのアクセスを許可する(ステップS36)。
If the processor accessing the shared
本実施の形態にかかるデータ処理装置では、図9に示すように、第1プロセッサ11と第2プロセッサ12のアクセス範囲に差異を設けることができるため、より多様なデータ処理装置を構成することができる。また、共有メモリ13の第1メモリ領域および第2メモリ領域にアクセスすることができるプロセッサを、セキュアプロセッサである第2プロセッサ12に限定することで、データ処理装置のセキュリティ性を保つことができる。
In the data processing apparatus according to the present embodiment, as shown in FIG. 9, since the access ranges of the
<実施の形態4>
次に、本発明の実施の形態4について説明する。図10は、本実施の形態にかかるデータ処理装置を示すブロック図である。図10に示すデータ処理装置40では、プロセッサをN個(Nは3以上の整数)備えている点が、実施の形態1および2で説明したデータ処理装置と異なる。これ以外は、実施の形態1および2で説明したデータ処理装置と同様であるので、適宜、重複した説明は省略する。
<
Next, a fourth embodiment of the present invention will be described. FIG. 10 is a block diagram showing the data processing apparatus according to this embodiment. The
図10に示すように、本実施の形態にかかるデータ処理装置40は、第1乃至第Nプロセッサ41_1〜41_N、共有メモリ43、アクセス制御回路44、制御情報格納部45、およびバス46を備える。第1乃至第Nプロセッサ41_1〜41_N、アクセス制御回路44、および制御情報格納部45は、バス46を介して互いに接続されている。また、共有メモリ43はアクセス制御回路44を介してバス46に接続されている。
As shown in FIG. 10, the
第1乃至第Nプロセッサ41_1〜41_Nの構成および動作については、実施の形態1および2で説明した第1プロセッサおよび第2プロセッサと基本的に同様である。図10に示すデータ処理装置40では、セキュアプロセッサは第2プロセッサ41_2のみであるが、セキュアプロセッサの数は1つに限定されることはなく、これ以上であってもよい。
The configurations and operations of the first to Nth processors 41_1 to 41_N are basically the same as those of the first processor and the second processor described in the first and second embodiments. In the
共有メモリ43は、第1プロセッサ41_1がアクセス可能な第1メモリ領域、第2プロセッサ41_2がアクセス可能な第2メモリ領域、第Nプロセッサ41_Nがアクセス可能な第Nメモリ領域を備える。共有メモリ43についても、実施の形態1および2で説明した共有メモリと基本的に同様である。
The shared
図11は、本実施の形態にかかるデータ処理装置40が備える共有メモリ43のメモリ領域を説明するための図である。図11に示すように、共有メモリ43のアドレスadd_a〜add_b_1は第1メモリ領域に対応したアドレスであり、アドレスadd_b_1〜add_b_2は第2メモリ領域に対応したアドレスであり、アドレスadd_b_2〜add_b_3は第3メモリ領域に対応したアドレスであり、アドレスadd_b_N−1〜add_b_cは第Nメモリ領域に対応したアドレスである。ここで、アドレスadd_b_1〜add_b_N−1は、共有メモリ43の各メモリ領域の境界に対応する境界アドレスである。
FIG. 11 is a diagram for explaining a memory area of the shared
アクセス制御回路44は、境界アドレスに応じて第1乃至第Nプロセッサ41_1〜41_Nからの共有メモリ43へのアクセスを制御する。つまり、アクセス制御回路44は、共有メモリ43のアクセス先のアドレスと境界アドレスadd_b_1〜add_b_N−1との比較結果に応じて、第1乃至第Nプロセッサ41_1〜41_Nからの共有メモリ43へのアクセスを制御することができる。これにより、アクセス制御回路44は、共有メモリ43のメモリ領域を第1乃至第Nメモリ領域に論理的に分割することができる。アクセス制御回路44についても、実施の形態1および2で説明したアクセス制御回路と基本的に同様である。
The
制御情報格納部45は、共有メモリ43の第1乃至第Nメモリ領域の境界に対応する境界アドレスadd_b_1〜add_b_N−1を格納している。また、制御情報格納部45は、第2乃至第Nプロセッサ用リセットベクタ(RSV)を格納している。境界アドレスadd_b_1〜add_b_N−1およびリセットベクタは、第1乃至第Nプロセッサ41_1〜41_Nのいずれかが任意のタイミングで書き換えることができる。このように、境界アドレスadd_b_1〜add_b_N−1を書き換えることで、第1乃至第Nメモリ領域の範囲を任意に変更することができる。また、本実施の形態にかかるデータ処理装置では、制御情報格納部45に格納されている境界アドレスやリセットベクタを書き換える際、セキュアプロセッサである第2プロセッサ41_2が認証処理を実施する。なお、本実施の形態にかかるデータ処理装置40では、制御情報格納部45がN−1個のリセットベクタを備える場合について説明したが、リセットベクタの数は任意に決定することができる。
The control
制御情報格納部45に格納されている境界アドレスは、バス46を介してアクセス制御回路44に出力される。例えば、制御情報格納部45は、境界アドレスが書き換えられるタイミング毎に、アクセス制御回路44に境界アドレスを出力する。これにより、アクセス制御回路44は最新の境界アドレスを保持することができる。
The boundary address stored in the control
また、本実施の形態にかかるデータ処理装置40では、第2乃至第Nプロセッサ41_2〜41_Nは、起動(再起動)する際に制御情報格納部45に格納されているリセットベクタを読み出す。これにより、第2乃至第Nプロセッサ41_2〜41_Nは、共有メモリ43から各々の起動用プログラムを読み出して実行することができる。
Further, in the
なお、本実施の形態にかかるデータ処理装置40の動作、つまり第1乃至第Nプロセッサ41_1〜41_Nが共有メモリ43にアクセスする場合の動作、並びに制御情報格納部45に格納されている境界アドレスおよびリセットベクタを書き換える場合の動作については、実施の形態1および2で説明した場合と同様であるので重複した説明は省略する。
The operation of the
以上で説明した本実施の形態にかかるデータ処理装置により、プロセッサを多数搭載した場合であっても、各々のプロセッサに対応したメモリ領域を備えたデータ処理装置を提供することができる。また、以上で説明した本実施の形態にかかる発明により、セキュリティ性の高いデータ処理装置を提供することができる。 Even if a large number of processors are installed, the data processing apparatus according to the present embodiment described above can provide a data processing apparatus having a memory area corresponding to each processor. In addition, according to the invention according to the present embodiment described above, a data processing apparatus with high security can be provided.
<実施の形態5>
次に、本発明の実施の形態5について説明する。図12は、本実施の形態にかかるデータ処理装置を示すブロック図である。図12に示すデータ処理装置50では、共有メモリ53が制御情報格納部55を備えている点が実施の形態1で説明したデータ処理装置と異なる。これ以外は、実施の形態1で説明したデータ処理装置と同様であるので、適宜、重複した説明は省略する。
<Embodiment 5>
Next, a fifth embodiment of the present invention will be described. FIG. 12 is a block diagram showing the data processing apparatus according to this embodiment. The
図12に示すように、本実施の形態にかかるデータ処理装置50は、第1プロセッサ51、第2プロセッサ52、制御情報格納部55を含む共有メモリ53、アクセス制御回路54、およびバス56を備える。第1プロセッサ51、第2プロセッサ52、およびアクセス制御回路54は、バス56を介して互いに接続されている。また、共有メモリ53はアクセス制御回路54を介してバス56に接続されている。
As shown in FIG. 12, the
第1プロセッサ51および第2プロセッサ52の構成および動作については、実施の形態1で説明した第1プロセッサ11および第2プロセッサ12と基本的に同様である。
The configurations and operations of the
共有メモリ53は、第1プロセッサ51がアクセス可能な第1メモリ領域と、第2プロセッサ52がアクセス可能な第2メモリ領域と、制御情報格納部55とを備える。第1メモリ領域には第1プロセッサ51で実行されるプログラムが格納されている。第2メモリ領域には第2プロセッサ52で実行されるプログラムが格納されている。ここで、第2プロセッサ52はセキュアプロセッサで構成されているので、第2メモリ領域にはセキュリティ性が高いプログラムが格納されている。
The shared
共有メモリ53は、例えば同一のメモリ(物理的に単一のメモリ)で構成されており、第1メモリ領域、第2メモリ領域、および制御情報格納部55は、境界アドレスを用いて領域が分割されている。また、共有メモリ53は、例えばフラッシュメモリを用いて構成することができる。
The shared
共有メモリ53が備える制御情報格納部55は、共有メモリ53の第1メモリ領域、第2メモリ領域、および制御情報格納部55の領域の各々の境界に対応する境界アドレスを格納する。境界アドレスは、第1プロセッサ51または第2プロセッサ52が任意のタイミングで書き換えることができる。このように、境界アドレスを書き換えることで、第1メモリ領域、第2メモリ領域、制御情報格納部55の領域の範囲を任意に変更することができる。また、本実施の形態にかかるデータ処理装置では、制御情報格納部55に格納されている境界アドレスを書き換える際、セキュアプロセッサである第2プロセッサ52が認証処理を実施する。
The control
制御情報格納部55に格納されている境界アドレスは、アクセス制御回路54に出力される。例えば、制御情報格納部55は、境界アドレスが書き換えられるタイミング毎に、アクセス制御回路54に境界アドレスを出力する。これにより、アクセス制御回路54は最新の境界アドレスを保持することができる。
The boundary address stored in the control
図13は、本実施の形態にかかるデータ処理装置が備える共有メモリ53のメモリ領域を説明するための図である。図13に示すように、共有メモリ53のアドレスadd_a〜add_b_1は第1メモリ領域に対応したアドレスであり、アドレスadd_b_1〜add_b_2は第2メモリ領域に対応したアドレスであり、アドレスadd_b_2〜add_b_cは制御情報格納部55に対応したアドレスである。ここで、アドレスadd_b_1、add_b_2は、共有メモリ53の第1メモリ領域、第2メモリ領域、および制御情報格納部55の領域の境界に対応する境界アドレスである。
FIG. 13 is a diagram for explaining a memory area of the shared
図13に示す共有メモリ53では、各アドレスの大小関係がadd_a<add_b_1<add_b_2<add_cであってもよく、また、add_a>add_b_1>add_b_2>add_cであってもよい。各アドレスの大小関係がadd_a<add_b_1<add_b_2<add_cである場合、例えば、境界アドレスadd_b_1は第2メモリ領域の先頭アドレス、境界アドレスadd_b_2は制御情報格納部55の先頭アドレスとすることができる。また、各アドレスの大小関係がadd_a>add_b_1>add_b_2>add_cである場合、例えば、境界アドレスadd_b_1は第1メモリ領域の先頭アドレス、境界アドレスadd_b_2は第2メモリ領域の先頭アドレスとすることができる。
In the shared
アクセス制御回路54は、境界アドレスに応じて第1プロセッサ51および第2プロセッサ52からの共有メモリ53へのアクセスを制御する。つまり、アクセス制御回路54は、共有メモリ53のアクセス先のアドレスと境界アドレスadd_b_1、add_b_2との比較結果に応じて、第1プロセッサ51および第2プロセッサ52からの共有メモリ53へのアクセスを制御することができる。これにより、アクセス制御回路54は、共有メモリ53のメモリ領域を第1メモリ領域、第2メモリ領域、および制御情報格納部55に論理的に分割することができる。
The
例えば、境界アドレスadd_b_1よりも小さいアドレスの領域を第1メモリ領域と、境界アドレスadd_b_1よりも大きく境界アドレスadd_b_2よりも小さいアドレスの領域を第2メモリ領域と、境界アドレスadd_b_2よりも大きいアドレスの領域を制御情報格納部55とした場合(add_a<add_b_1<add_b_2<add_c)、アクセス制御回路54は、次のように第1プロセッサ51および第2プロセッサ52からの共有メモリ53へのアクセスを制御する。
For example, an area having an address smaller than the boundary address add_b_1 is a first memory area, an area having an address larger than the boundary address add_b_1 and smaller than the boundary address add_b_2 is a second memory area, and an area having an address larger than the boundary address add_b_2. When the control
アクセス制御回路54は、共有メモリ53へのアクセス元が第1プロセッサ51であり、アクセス先のアドレスが境界アドレスadd_b_1よりも小さい場合、第1プロセッサ51が第1メモリ領域にアクセスすることを許可する。また、アクセス制御回路54は、共有メモリ53へのアクセス元が第2プロセッサ52であり、アクセス先のアドレスが境界アドレスadd_b_1よりも大きく境界アドレスadd_b_2よりも小さい場合(または、アクセス先のアドレスが境界アドレスadd_b以上で境界アドレスadd_b_2よりも小さい場合)、第2プロセッサ52が第2メモリ領域にアクセスすることを許可する。
The
また、アクセス制御回路54は、アクセス先のアドレスが境界アドレスadd_b_2よりも大きい場合、第1プロセッサ51および第2プロセッサ52が制御情報格納部55にアクセスすることを許可する。つまり、第1プロセッサ51および第2プロセッサ52は、制御情報格納部55に格納されている境界アドレスを書き換える際に、共有メモリ53の制御情報格納部55に対応するアドレスをアクセス制御回路54に出力することで、制御情報格納部55にアクセスすることができる。
The
なお、本実施の形態にかかるデータ処理装置50の動作、つまり第1プロセッサ51および第2プロセッサ52が共有メモリ53にアクセスする場合の動作、および制御情報格納部55に格納されている境界アドレスを書き換える場合の動作については、実施の形態1で説明した場合と同様であるので重複した説明は省略する。また、本実施の形態にかかる発明は、実施の形態2乃至4にかかる発明と、適宜、組み合わせることができる。
The operation of the
本実施の形態にかかるデータ処理装置では、第1メモリ領域、第2メモリ領域、および制御情報格納部を同一のメモリ(物理的に単一のメモリ)で構成することができるので、半導体チップの面積を削減することができる。 In the data processing apparatus according to the present embodiment, the first memory area, the second memory area, and the control information storage unit can be configured by the same memory (physically single memory). The area can be reduced.
<実施の形態6>
次に、本発明の実施の形態6について説明する。実施の形態6では、実施の形態2で説明したデータ処理装置20の使用例について説明する。本実施の形態では、データ処理装置20を使用者Aおよび使用者Bが使用する場合の一例について説明する。
<Embodiment 6>
Next, a sixth embodiment of the present invention will be described. In the sixth embodiment, a usage example of the
本実施の形態では、図6に示すデータ処理装置20の第1プロセッサ11をメインプロセッサとし、第2プロセッサ12をセキュアプロセッサとし、共有メモリ23の第1メモリ領域をメイン領域とし、第2メモリ領域をセキュア領域としている。
In the present embodiment, the
図14は、本発明にかかるデータ処理装置20の使用例を説明するための図であり、初期状態における共有メモリ23のメモリ領域と制御情報格納部25の状態を示している。初期状態では、共有メモリ23のメモリ領域は全てメイン領域に設定されており、セキュア領域は設定されていない。このとき、制御情報格納部25には、境界アドレスおよび第2プロセッサ用リセットベクタとして、共有メモリ23の最上位アドレスadd_cがそれぞれ設定されている。
FIG. 14 is a diagram for explaining a usage example of the
図15は、本発明にかかるデータ処理装置20の使用例を説明するための図であり、初期状態のデータ処理装置を使用者Aが使用した際の、共有メモリ23のメモリ領域と制御情報格納部25の状態を示している。使用者Aは、初期状態のデータ処理装置を使用する場合、メインプロセッサ(第1プロセッサ)用のメインプログラムコードAを、共有メモリ23のメイン領域の最下位アドレスadd_aから書き込む。また、セキュアプロセッサ(第2プロセッサ)用のセキュアプログラムコードAを、共有メモリ23の最上位アドレスadd_cから書き込む。ここで、セキュアプログラムコードAが書き込まれるセキュリティ領域へのアクセスは、使用者Aのセキュリティ性が保証されたシステムのみが許可される。
FIG. 15 is a diagram for explaining an example of use of the
このとき、境界アドレスは、使用者AのセキュアプログラムコードAを格納している領域の最下位アドレスadd_b_1とすることができる。これにより、使用者AのセキュアプログラムコードAを格納している領域add_b_1〜add_cをセキュア領域とすることができる。また、第2プロセッサ用リセットベクタは、使用者AのセキュアプログラムコードAを格納している領域の最下位アドレスadd_b_1とすることができる。これにより、セキュアプロセッサ(第2プロセッサ)は、使用者AのセキュアプログラムコードAからフェッチを開始することができる。また、使用者AのメインプログラムコードAは、メイン領域のadd_a〜add_d_1に格納されている。 At this time, the boundary address can be the lowest address add_b_1 of the area storing the secure program code A of the user A. As a result, the areas add_b_1 to add_c storing the secure program code A of the user A can be set as secure areas. The second processor reset vector can be the lowest address add_b_1 of the area storing the secure program code A of the user A. Thereby, the secure processor (second processor) can start fetching from the secure program code A of the user A. The main program code A of the user A is stored in add_a to add_d_1 in the main area.
図16は、本発明にかかるデータ処理装置20の使用例を説明するための図であり、使用者Aのプログラムコードが格納されたデータ処理装置20に、更に、使用者Bが使用者Bのプログラムコードを格納した場合のメモリ領域と制御情報格納部25の状態を示している。使用者Bは、データ処理装置を使用する場合、メインプロセッサ(第1プロセッサ)用のメインプログラムコードBを、共有メモリ23のメイン領域のアドレスadd_d_1から書き込む。このとき、メインプログラムコードBが書き込まれている領域より上位のアドレス(アドレスadd_d_2より上位のアドレスの領域)はブランクとなる。また、セキュアプロセッサ(第2プロセッサ)用のセキュアプログラムコードBを、共有メモリ23のアドレスadd_b_1の次のアドレスから書き込む。ここで、セキュアプログラムコードBが書き込まれるセキュリティ領域へのアクセスは、使用者Bのセキュリティ性が保証されたシステムのみが許可される。
FIG. 16 is a diagram for explaining an example of use of the
このとき、境界アドレスは、使用者BのセキュアプログラムコードBを格納している領域の最下位アドレスadd_b_2とすることができる。これにより、使用者AのセキュアプログラムコードAを格納している領域add_b_1〜add_c、および使用者BのセキュアプログラムコードBを格納している領域add_b_2〜add_b_1をセキュア領域とすることができる。 At this time, the boundary address can be the lowest address add_b_2 of the area storing the secure program code B of the user B. Accordingly, the areas add_b_1 to add_c storing the secure program code A of the user A and the areas add_b_2 to add_b_1 storing the secure program code B of the user B can be set as secure areas.
なお、第2プロセッサ用リセットベクタは、使用者AのセキュアプログラムコードAを格納している領域の最下位アドレスadd_b_1のままであるので、セキュアプロセッサ(第2プロセッサ)は、使用者AのセキュアプログラムコードAからフェッチを開始することができる。 Since the second processor reset vector remains the lowest address add_b_1 of the area storing the user A's secure program code A, the secure processor (second processor) is the user A's secure program. Fetch can be started from code A.
以上で説明した使用例により、使用者AのセキュアプログラムコードAと使用者BのセキュアプログラムコードBを、共有メモリ23のセキュア領域に別々に格納することができる。すなわち、複数の使用者間で相互に干渉することなく、共有メモリのセキュア領域を使用することができる。このセキュア領域はメインプロセッサ(第1プロセッサ)によるアクセスが禁止されている領域であるので、メインプロセッサが何らかの理由により脆弱性を有している場合であっても、セキュアプログラムコードA、Bが影響を受けることを抑制することができる。
According to the use example described above, the secure program code A of the user A and the secure program code B of the user B can be stored separately in the secure area of the shared
なお、上記使用例では、境界アドレスを境に、共有メモリ23の上位アドレス側をセキュア領域、下位アドレス側をメイン領域としているが、セキュア領域とメイン領域の配置は任意に決定することができる。例えば、境界アドレスを境に、共有メモリ23の下位アドレス側をセキュア領域、上位アドレス側をメイン領域としてもよい。また、本実施の形態では、実施の形態2で説明したデータ処理装置20の使用例について説明したが、他の実施の形態(実施の形態1、3〜5)で説明したデータ処理装置についても適用することができる。
In the above usage example, with the boundary address as the boundary, the upper address side of the shared
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。 Although the present invention has been described with reference to the above embodiment, the present invention is not limited to the configuration of the above embodiment, and can be made by those skilled in the art within the scope of the invention of the claims of the claims of the present application. It goes without saying that various modifications, corrections, and combinations are included.
10 データ処理装置
11 第1プロセッサ
12 第2プロセッサ
13 共有メモリ
14 アクセス制御回路
15 制御情報格納部
16 バス
DESCRIPTION OF
Claims (12)
セキュリティ機能を備えた第2プロセッサと、
前記第1プロセッサがアクセス可能な第1メモリ領域と、前記第2プロセッサがアクセス可能な第2メモリ領域とを備えた共有メモリと、
前記共有メモリの前記第1メモリ領域および前記第2メモリ領域の境界に対応するアドレスである境界アドレスを格納可能な制御情報格納部と、
前記境界アドレスに応じて前記第1プロセッサおよび前記第2プロセッサからの前記共有メモリへのアクセスを制御するアクセス制御回路と、を備え、
前記制御情報格納部に格納されている前記境界アドレスを書き換える際、前記第2プロセッサが認証処理を実施する、
データ処理装置。 A first processor;
A second processor having a security function;
A shared memory comprising a first memory area accessible by the first processor and a second memory area accessible by the second processor;
A control information storage unit capable of storing a boundary address that is an address corresponding to a boundary between the first memory area and the second memory area of the shared memory;
An access control circuit for controlling access to the shared memory from the first processor and the second processor according to the boundary address,
When rewriting the boundary address stored in the control information storage unit, the second processor performs an authentication process;
Data processing device.
前記第2プロセッサは、前記第1プロセッサが取得した前記アクセスコードの認証処理を実施し、
前記第2プロセッサが前記アクセスコードが正しいと判断した場合、前記第1プロセッサは前記書き換え用の境界アドレスを用いて前記制御情報格納部に格納されている前記境界アドレスを書き換える、
請求項1に記載のデータ処理装置。 When rewriting the boundary address stored in the control information storage unit, the first processor acquires a boundary address and an access code for rewriting,
The second processor performs an authentication process of the access code acquired by the first processor,
When the second processor determines that the access code is correct, the first processor rewrites the boundary address stored in the control information storage unit using the rewrite boundary address;
The data processing apparatus according to claim 1.
請求項1に記載のデータ処理装置。 When rewriting the boundary address stored in the control information storage unit, the second processor acquires the boundary address and access code for rewriting, performs authentication processing of the acquired access code, and executes the access code. Is rewritten, the boundary address stored in the control information storage unit is rewritten using the rewrite boundary address.
The data processing apparatus according to claim 1.
前記制御情報格納部に格納されている前記リセットベクタを書き換える際、前記第2プロセッサが認証処理を実施する、
請求項1乃至8のいずれか一項に記載のデータ処理装置。 The control information storage unit further stores a reset vector indicating a head address in which a program for starting the second processor is stored,
When rewriting the reset vector stored in the control information storage unit, the second processor performs an authentication process;
The data processing apparatus according to any one of claims 1 to 8.
前記共有メモリは、前記N個のプロセッサに対応して設けられ、当該N個のプロセッサが各々アクセス可能なN個のメモリ領域を備え、
前記制御情報格納部には、前記N個のメモリ領域の境界に対応するアドレスであるN−1個の境界アドレス情報が格納されており、
前記アクセス制御回路は、前記N個のプロセッサのそれぞれが、前記N個のプロセッサのそれぞれに対応したメモリ領域にのみアクセスするように制御する、
請求項1に記載のデータ処理装置。 The data processing device includes N processors,
The shared memory is provided corresponding to the N processors, and includes N memory areas that can be accessed by the N processors,
The control information storage unit stores N-1 boundary address information, which is an address corresponding to a boundary of the N memory areas,
The access control circuit controls each of the N processors to access only a memory area corresponding to each of the N processors.
The data processing apparatus according to claim 1.
The data processing apparatus according to any one of claims 1 to 11, wherein the control information storage unit and the shared memory are configured by the same memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015650A JP2013156760A (en) | 2012-01-27 | 2012-01-27 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015650A JP2013156760A (en) | 2012-01-27 | 2012-01-27 | Data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013156760A true JP2013156760A (en) | 2013-08-15 |
Family
ID=49051894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012015650A Pending JP2013156760A (en) | 2012-01-27 | 2012-01-27 | Data processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013156760A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017211980A (en) * | 2016-05-20 | 2017-11-30 | ルネサスエレクトロニクス株式会社 | Semiconductor device and memory access control method thereof |
-
2012
- 2012-01-27 JP JP2012015650A patent/JP2013156760A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017211980A (en) * | 2016-05-20 | 2017-11-30 | ルネサスエレクトロニクス株式会社 | Semiconductor device and memory access control method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10324864B2 (en) | Storage system and method for performing and authenticating write-protection thereof | |
US11615035B2 (en) | Storage system and method for performing and authenticating write-protection thereof | |
JP4939382B2 (en) | Information processing apparatus and program execution control method thereof | |
US7444668B2 (en) | Method and apparatus for determining access permission | |
TWI570589B (en) | Apparatus for providing trusted computing | |
US8443181B2 (en) | Processor boot security device and methods thereof | |
CN110457236B (en) | Storage system and method for executing and verifying write protection of storage system | |
JP4939387B2 (en) | Data processing apparatus and address space protection method | |
US11126565B2 (en) | Encrypted memory access using page table attributes | |
JP6916454B2 (en) | Key thread ownership for hardware-accelerated cryptography | |
JP5911835B2 (en) | Information processing device | |
JP4945053B2 (en) | Semiconductor device, bus interface device, and computer system | |
US20170032126A1 (en) | Information processing device, controller and method of controlling information processing device | |
US10708061B2 (en) | Secure key storage for multi-core processor | |
JP2009157542A (en) | Information processing apparatus and method of updating stack pointer | |
US20160092375A1 (en) | Data access protection for computer systems | |
WO2020063975A1 (en) | Partition protection method and apparatus for non-volatile memory | |
JP2014081819A (en) | Information processing apparatus | |
JP2020042341A (en) | Processing device and software execution control method | |
JP2023047278A (en) | Seamless access to trusted domain protected memory by virtual machine manager using transformer key identifier | |
JP2013156760A (en) | Data processor | |
JP2015171008A (en) | Information processor, control method for information processor, and program | |
JP6668908B2 (en) | Information processing system, transmitting apparatus, and control method for information processing system | |
JP5324676B2 (en) | Processor, bus interface device, and computer system | |
JP5380392B2 (en) | Semiconductor device, bus interface device, and computer system |