JP2007109053A - Bus access controller - Google Patents
Bus access controller Download PDFInfo
- Publication number
- JP2007109053A JP2007109053A JP2005300016A JP2005300016A JP2007109053A JP 2007109053 A JP2007109053 A JP 2007109053A JP 2005300016 A JP2005300016 A JP 2005300016A JP 2005300016 A JP2005300016 A JP 2005300016A JP 2007109053 A JP2007109053 A JP 2007109053A
- Authority
- JP
- Japan
- Prior art keywords
- access
- bus
- master
- information
- transfer
- 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
Abstract
Description
本発明はデジタルAV機器向けシステムLSIにおけるセキュア機構、またはバス調停機構の実現に関するものである。 The present invention relates to the realization of a secure mechanism or a bus arbitration mechanism in a system LSI for digital AV equipment.
現在、LSI(Large Scale Integrated circuit)の高機能化、高集積化が進む中、複数のプロセッサから構成されるマルチプロセッサシステムが一般化している。また、デジタルAV家電分野などでは、低コスト化のため主記憶装置などの情報資源を共有するユニファイドメモリ構成が欠かせない。そのため、あるプロセッサの秘匿プログラムやデータが共有メモリ内に記憶されている場合に、他のプロセッサがその秘匿プログラムを改竄したり盗み出したりする等のセキュリティ低下が問題となっている。 Currently, multi-processor systems composed of a plurality of processors are generalized as LSIs (Large Scale Integrated Circuits) are becoming more highly functional and highly integrated. In the field of digital AV home appliances and the like, a unified memory configuration that shares information resources such as a main storage device is indispensable for cost reduction. For this reason, when a secret program or data of a certain processor is stored in the shared memory, there is a problem of a decrease in security such that another processor falsifies or steals the secret program.
特許文献1には、あるバスマスタが複数種類のセキュアなアプリケーションを実行する場合、それぞれのセキュア処理に応じた専用領域を共有メモリ上に確保するための仕組みが開示されている。図19に特許文献1記載のバスアクセス制御装置を示す。アクセス制御部300は、アクセス可否情報保持部320が保持するバスマスタ200がアクセス可能な領域を示すアクセス可否情報と、バスマスタ200が発行するメモリ350へのアクセス要求210とに基づいて、バスマスタ200がアクセス要求先の領域にアクセス可能か否かを判定する。メモリIF部340は、その判定結果(アクセス可否判定結果330)がアクセス許可を示しているときのみメモリ350へアクセスする。アクセス可否情報は特定アドレスのプログラム実行時にのみ変更可能である。また、複数のアプリケーションを実行する場合、その都度アクセス可否情報を設定する必要がある。図20にアクセス可否情報の一例を示す。アクセス可否情報としては、アクセス可能領域の開始アドレス、終了アドレス、さらに前記アクセス可能領域以外へのアクセスを許可するか否かである。図20の例では、バスマスタ200はアドレス0x8000_0000〜0x80FF_FFFFにのみアクセス可能となる。
また、昨今のLSIのオンチップバスでは、複数のマスターが共有メモリへ同時にアクセスした際のバスの調停をいかに効率的に行うかが性能を保証する上で重要となっている。図21に、特許文献2や、非特許文献1に集中並列方式(centralized,parallel arbitration)として紹介されている従来のバス調停の方法を述べる。バスマスタ201、202、203はバスに対してアクセス要求211、212、213をそれぞれ出力する。アクセス制御部300には各マスタに応じた調停順位が記載されたマスタ調停情報1110が存在し、複数マスターが同時にアクセスした場合、このマスタ調停情報1110に応じて、どのマスターからのアクセスを優先するかが決定される。図22にマスタ調停情報の例を示す。そこにはマスター間での順位が記載されており、本例の場合、マスター201、マスター202、マスター203の順位での固定優先となっている。
しかし、特許文献1の仕組みでは、あるセキュアなアプリケーション実行中には、そのアプリに対応した一つの専用領域しか確保することができないため、複数のセキュアなアプリケーションに属した転送を同時に実行することができない。この仕組みの上で複数のセキュアなアプリケーションを同時に実行しようとすれば、一つの専用領域にて複数のセキュアな転送を実行する必要があるが、この場合、バスマスタが複数種類のセキュア情報にアクセス可能であるためセキュリティ低下の要因となってしまう。
However, in the mechanism of
また、図21の調停の仕組みでは1つのマスター毎に調停の順位が決定されるが、たとえば、マスターから実行される転送にグラフィックスや周辺IOとのシリアル転送など多様なものが混在する場合(汎用のDMAコントローラなど)、転送データの種類に応じて調停順序を動的に変更できることが望ましいが、本構成ではそれを実現することは困難である。 In the arbitration mechanism shown in FIG. 21, the order of arbitration is determined for each master. For example, when transfer from the master includes various types such as graphics and serial IO with peripheral IO (see FIG. 21). Although it is desirable that the arbitration order can be dynamically changed according to the type of transfer data, a general-purpose DMA controller or the like, this configuration is difficult to realize.
なお上記2つの課題はいずれも、バス上でコンカレントに実行されうる複数種類のデータ転送において、(1)アクセス可能なメモリ領域や、(2)バス調停順位といった情報が動的に変更できない構成であるため、セキュリティや転送性能の向上を実現しにくい点で共通している。 Both of the above two problems have a configuration in which (1) accessible memory area and (2) information such as bus arbitration order cannot be dynamically changed in a plurality of types of data transfer that can be executed concurrently on the bus. Therefore, they are common in that it is difficult to improve security and transfer performance.
前記従来の課題を解決するために、本発明は、メモリやレジスタなどのLSI内外の資源を有するバススレーブと、前記バススレーブへアクセスするバスマスタにあって、前記バスマスタ側の処理内容に対応した転送識別番号をアクセス要求と共に出力するバス出力部を有する。 In order to solve the conventional problem, the present invention provides a bus slave having resources inside and outside the LSI such as a memory and a register, and a bus master that accesses the bus slave, and transfers corresponding to processing contents on the bus master side. A bus output unit for outputting the identification number together with the access request;
また、本発明は、請求項1記載のバスアクセス制御装置であって、前記バスマスタの処理動作を制御する複数の制御マスターと、前記バスマスタを制御しているのがどの前記制御マスターなのかを判別する制御マスター識別部と、前記バス出力部は前記制御マスター識別部からの情報をもとに、前記バスマスタ側の処理内容がどの前記制御マスターに属したものであるかを前記転送識別番号として出力する手段を有する。
Further, the present invention is the bus access control device according to
また、本発明は、請求項2記載のバスアクセス制御装置であって、前記制御マスターはソフトウェアを実行可能であり、前記転送識別番号は前記制御マスターで動作するソフトウェアに対応した番号であることを特徴とする手段を有する。
Further, the present invention is the bus access control device according to
また、本発明は、請求項3記載のバスアクセス制御装置であって、前記転送識別番号は前記制御マスターのソフトウェアのフェッチ先アドレスであることを特徴とする手段を有する。
The present invention is the bus access control apparatus according to
また、本発明は、請求項8記載のバスアクセス制御装置であって、複数の前記バスマスタを有し、前記アクセス要求を行ったバスマスタを識別し、バスマスタ識別情報として出力するバスマスタ識別部をさらに含み、前記アクセス可否情報に、前記領域へのアクセスを許可するマスタ識別情報を含み、前記アクセス可否判定部は、前記マスタ識別情報と前記アクセス可否情報と前記転送識別番号と前記アクセス要求に含まれるアクセス先のアドレス情報に基づいて、前記バスマスタが前記アクセス要求先の領域にアクセス可能か否かを判定する手段を有する。 Further, the present invention is the bus access control device according to claim 8, further comprising a bus master identification unit that includes a plurality of the bus masters, identifies the bus master that has made the access request, and outputs the bus master identification information. The access permission information includes master identification information that permits access to the area, and the access permission determination unit includes the master identification information, the access permission information, the transfer identification number, and the access included in the access request. The bus master has means for determining whether or not the access request destination area is accessible based on the previous address information.
また、本発明は、請求項8または9記載のバスアクセス制御装置であって、前記バスマスタが暗号・復号機能を有した暗復号DMAコントローラであり、前記暗復号DMAコントローラは暗号、復号に使用する鍵を設定するためのレジスタ(復号鍵設定レジスタ)と、DMA転送元を指定するためのレジスタ(転送元指定レジスタ)と、DMA転送先を指定するためのレジスタ(転送先設定レジスタ)を有し、更に暗号化データもしくは暗号化プログラムを復号して前記転送先設定レジスタに示されたアドレスに転送するためのアクセス要求を発行する際、前記バス出力部にて、前記復号鍵設定レジスタにより指定された復号鍵に対応させて前記転送識別番号を出力する手段を有する。 The present invention is the bus access control device according to claim 8 or 9, wherein the bus master is an encryption / decryption DMA controller having an encryption / decryption function, and the encryption / decryption DMA controller is used for encryption / decryption. It has a register for setting a key (decryption key setting register), a register for specifying a DMA transfer source (transfer source specifying register), and a register for specifying a DMA transfer destination (transfer destination setting register) Further, when issuing an access request for decrypting the encrypted data or the encrypted program and transferring it to the address indicated in the transfer destination setting register, the bus output unit specifies the decryption key setting register. Means for outputting the transfer identification number corresponding to the decryption key.
また、本発明は、請求項1〜7のいずれか一項に記載のバスアクセス制御装置であって、複数の前記バスマスタを有し、前記複数のバスマスタの間で転送を調停するバス調停部を有し、前記転送識別番号はバス調停の優先度に対応づけられており、前記バス調停部は前記転送識別番号をもとに調停を行う手段を有する。 Moreover, this invention is a bus access control apparatus as described in any one of Claims 1-7, Comprising: The bus arbitration part which has several said bus masters and mediates transfer among these bus masters. And the transfer identification number is associated with the priority of bus arbitration, and the bus arbitration unit has means for performing arbitration based on the transfer identification number.
本発明のバスアクセス制御装置によると、あるバスマスタもしくは複数のバスマスタが複数のセキュアな転送をコンカレントに実行する場合、各セキュア処理に対応した専用領域を共有資源(共有メモリ)上に確保でき、かつバストランザクション毎に上記領域への不正アクセスを的確に判定できるため、セキュリティを向上させることができる。 According to the bus access control device of the present invention, when a certain bus master or a plurality of bus masters concurrently execute a plurality of secure transfers, a dedicated area corresponding to each secure process can be secured on a shared resource (shared memory), and Since unauthorized access to the area can be accurately determined for each bus transaction, security can be improved.
また、本発明のバスアクセス制御装置によると、バスで転送されるデータの種類や制御しているマスターの種類に応じて、バストランザクション毎に調停順位を的確に決定できるため、より精度のよい調停を実現することが可能である。 In addition, according to the bus access control device of the present invention, the arbitration order can be accurately determined for each bus transaction according to the type of data transferred on the bus and the type of master being controlled. Can be realized.
以下に各請求項の実施例について図面を参照して説明する。 Embodiments of each claim will be described below with reference to the drawings.
(実施の形態1)
本発明の実施の形態1であるバスアクセス制御装置の動作を、図1と図2を用いて説明する。
(Embodiment 1)
The operation of the bus access control apparatus according to the first embodiment of the present invention will be described with reference to FIGS.
実施の形態1であるバスアクセス制御装置100におけるバスマスタ1は、3つのセキュアなアプリケーションを実行する。実行形態としては、あるアプリケーションが終了したら次のアプリケーションを起動するのではなく、3つのアプリケーションを同時に実行するものとする。
The
アクセス可否情報保持部320には、図2に示すように、各アプリケーションに対応した3つの領域に対するアクセス可否情報が蓄積されており、アプリケーション1用の領域1は0x8000_0000〜8000_FFFFであり(これは、アプリケーション1以外を実行している時には領域1へはアクセス禁止であることを意味している)、アプリケーション2用の領域2は0x8100_0000〜81FF_FFFFであり、アプリケーション3用の領域3は0x8200_0000〜82FF_FFFFである。バスマスタ1はメモリ350の領域1〜3へアクセスする際、アクセス先のアドレスなどと共に、その領域1〜3と1対1に対応したアクセス領域番号221を出力する。アクセス可否判定部310は、アクセス領域番号221とアクセス要求211に含まれるアクセス先のアドレス情報と、アクセス可否情報保持部320に保持されているアクセス可否情報に基づいて、バスマスタ1が要求するアクセス先にアクセス可能であるか否かを判定し、アクセス可否判定結果330をメモリIF部340へ出力する。メモリIF部340はアクセス可否判定結果がアクセス許可を示しているときのみ、メモリ350へ所望のアクセスを行う。
As shown in FIG. 2, the accessibility
以上により、実行している3つのアプリケーションに対応した3つの専用領域を確保することが可能となる。 As described above, it is possible to secure three dedicated areas corresponding to the three applications being executed.
次に、本実施の形態におけるバスアクセス制御装置100内のバスマスタ1からメモリ350へアクセス要求が行われた場合のアクセス制御処理について説明する。図3は、アクセス制御処理の一例を示すフローチャートである。
Next, an access control process when an access request is made from the
ステップS301:バスマスタ1がメモリ350へのアクセス要求を発行すると同時にアクセス領域番号221を出力する。
Step S301: The
ステップS302:アクセス可否判定部310にて、アクセス可否情報保持部320に保持されているアクセス可否情報と、バスマスタ1からのアクセス領域番号221とアクセス要求211に含まれるアクセス先のアドレス情報に基づいて、アクセス可能か否かを判断し、その結果をアクセス可否判定結果330としてメモリIF部340へ出力する。
Step S302: Based on the access permission information held in the access permission
ステップS303:メモリIF部340は、アクセス可否判定結果330がアクセス許可を示している場合、メモリ350へ所望のアクセスを行い、結果をバスマスタ1へ返す。
Step S303: When the access
ステップS304:メモリIF部340は、アクセス可否判定結果330がアクセス不許可を示している場合、メモリ350へ所望のアクセスは行わず、ダミーアクセスやダミー応答を行う。ここで、ダミーアクセスとしては、ライト動作の場合、例えばアクセス先へデータをマスクして書き込みを行う、もしくはライトコマンドの代わりにリードコマンドを発行する等のアクセスを行う。また、リード動作の場合、例えばアクセスが許可されている領域に対してリードコマンドを発行する等のアクセスを行う。また、ダミー応答とは、実際のアクセス先から得た応答であるとバスマスタに誤認させるダミーの応答を意味する。例えば、バスマスタから共有メモリのアクセス禁止領域にライト動作を行う場合、要求どおりのライト動作を実行せずにアクセス要求の受け付け完了やデータ書き込み完了等の偽の応答を行う。また、アクセス禁止領域にリード動作を行う場合、要求どおりのリード動作を実行せずにアクセス要求の受け付け完了や違う領域のリードデータ応答等の偽の応答を行う。よって、共有メモリ上のアクセス禁止領域とアクセス許可領域とを見分けるのを困難にし、アクセス禁止領域へアクセスするための解析を妨げることができる。また、不正な解析を困難にするためには、メモリIF340にてデータ書き込み時にバス暗号をかけ、データ読出し時に復号することも有効である。
Step S304: When the access
なお、アクセス禁止領域にアクセスがあった際に上記のようなダミー応答でなく、エラー応答や割り込みなど制御ホストに通知する手段があってもかまわない。これにより、開発過程における意図しない制御のバグなどを明確に感知することが可能となる。 Note that there may be means for notifying the control host of an error response or an interrupt instead of the dummy response as described above when an access prohibited area is accessed. This makes it possible to clearly detect unintended control bugs in the development process.
(実施の形態2)
本発明の実施の形態2であるバスアクセス制御装置の動作を、図4と図5を用いて説明する。
(Embodiment 2)
The operation of the bus access control apparatus according to the second embodiment of the present invention will be described with reference to FIGS.
ここでは、実施の形態1であるバスアクセス制御装置の動作と異なる点を中心に説明する。 Here, the difference from the operation of the bus access control apparatus according to the first embodiment will be mainly described.
バスマスタ識別部400はバスマスタ1〜3の内いずれかのバスマスタから共有メモリ350へのアクセス要求を受け付けると、どのバスマスタからのアクセス要求であるかを識別する。そして、アクセス要求及び識別結果をアクセス制御部300に出力する。複数のバスマスタからアクセス要求が行われている場合には、例えば優先度に応じてどのバスマスタからのアクセス要求に権利を与えるかを決定する。アクセス可否情報保持部320には、図5に示すように、各バスマスタが実行するセキュアな処理種別に対応した領域に対するアクセス可否情報が保持されており、それぞれの領域毎にアクセスを許可するバスマスタを示すマスタ識別情報と、その領域の開始アドレス、終了アドレス情報が含まれている。この例では、例えば領域1に関しては、バスマスタ1のみがアクセス可能であり、その領域は0x8000_0000〜0x8000_FFFFであることを示しており、バスマスタ1以外のバスマスタはアクセス禁止であり、さらにバスマスタ1であっても領域番号が1以外であればアクセス禁止であることを意味する。アクセス可否判定部310は、バスマスタ識別部400からのマスタ識別情報410とアクセス領域番号220とアクセス要求210に含まれるアクセス先のアドレス情報とアクセス可否情報保持部320が保持するアクセス可否情報に基づいて、バスマスタが要求するアクセス先にアクセス可能であるか否かを判定し、アクセス可否判定結果330をメモリIF部340へ出力する。
When receiving an access request to the shared
以上により、複数バスマスタが実行する複数のセキュアなアプリケーションに対応した専用領域を共有メモリ350上に確保することが可能となる。
As described above, a dedicated area corresponding to a plurality of secure applications executed by a plurality of bus masters can be secured on the shared
次に、本実施の形態におけるバスアクセス制御装置100内のバスマスタ1〜3から共有メモリ350へアクセス要求が行われた場合のアクセス制御処理について説明する。図6は、アクセス制御処理の一例を示すフローチャートである。
Next, an access control process when an access request is made from the
ステップS601:バスマスタ1〜3の内いずれかのバスマスタ、もしくはバスマスタ1〜3の内複数のバスマスタがメモリ350へのアクセス要求を発行する。複数のセキュアなアプリケーションを実行するバスマスタ1は、アクセス要求の発行と同時にアクセス領域番号221を出力する。
Step S601: One of the
ステップS602:バスマスタ識別部400にてアクセス要求211を発行しているバスマスタを識別し、単一のバスマスタからのみアクセス要求が発行されているのか、もしくは複数バスマスタからアクセス要求が発行されているのかを識別する。
Step S602: The bus
ステップS603:複数バスマスタからアクセス要求が発行されている場合は、それらの要求のうちどれを優先して処理するかを決定する。 Step S603: If an access request is issued from a plurality of bus masters, it is determined which of these requests is to be processed with priority.
ステップS604:アクセス可否判定部310にて、バスマスタ識別部400からのマスタ識別情報410とアクセス領域番号220とアクセス要求210に含まれるアクセス先のアドレス情報とアクセス可否情報保持部320に保持されているアクセス可否情報に基づいて、アクセス可能か否かを判断し、その結果をアクセス可否判定結果330としてメモリIF部340へ出力する。
Step S604: The access
ステップS605:メモリIF部340は、アクセス可否判定結果330がアクセス許可を示している場合、共有メモリ350へ所望のアクセスを行い、結果を所定のバスマスタへ返す。
Step S605: If the access
ステップS606:メモリIF部340は、アクセス可否判定結果330がアクセス不許可を示している場合、共有メモリ350へ所望のアクセスは行わず、ダミーアクセスやダミー応答を行う。
Step S606: When the access
(実施の形態3)
本発明の第3の実施の形態であるバスアクセス制御装置の動作を、図7を用いて説明する。ここでは、実施の形態1、2であるバスアクセス制御装置の動作と異なる点を中心に説明する。
(Embodiment 3)
The operation of the bus access control apparatus according to the third embodiment of the present invention will be described with reference to FIG. Here, the difference from the operation of the bus access control apparatus according to the first and second embodiments will be mainly described.
本実施の形態におけるバスマスタ1は複数種類のセキュアな処理(ここでは、セキュア処理1とセキュア処理2とする)を行う機能ブロックであり、その複数処理実行のために共有メモリ350を使用する。セキュア処理1用とセキュア処理2用の専用領域を確保する上で、アクセス可否判定部310での判定に使用するアクセス領域番号221がバスマスタ1により不正に付与されてしまうと、結果としてセキュア処理ごとの専用領域を確保することができなくなる。そのため、本実施の形態におけるバスマスタ1は、処理内容識別部500にて、ソフトウェアにより出力結果を不正に変更することができないハードウェアにより、処理内容と1対1に対応したアクセス領域番号221を出力することで、不正なアクセスができないようにする。アクセス領域番号221の生成は、上記のようにハードウェアにより実装することが望ましいが、セキュアなソフトウェア実行環境が整備されており、不正なソフトウェアで変更不可能であれば、セキュアなソフトウェア設定により生成しても良い。
The
(実施の形態4)
本発明の実施の形態4であるバスアクセス制御装置の動作を、図8と図9を用いて説明する。
(Embodiment 4)
The operation of the bus access control apparatus according to the fourth embodiment of the present invention will be described with reference to FIGS.
ここでは、実施の形態1〜3であるバスアクセス制御装置の動作と異なる点を中心に説明する。 Here, the description will focus on differences from the operation of the bus access control apparatus according to the first to third embodiments.
本実施の形態においては、バスマスタ2、バスマスタ3は共にプロセッサであり、各々がセキュアな処理を実行する。そのためのプログラム(コード)はそれぞれ暗号化された上でFlashメモリ600に格納されており、前記セキュアな処理実行時には、それらの暗号化コードは復号された後、共有メモリ上にロードされる場合、バスマスタ2用のコードはバスマスタ2のみが読み出し可能な領域へ、バスマスタ3用のコードはバスマスタ3のみが読み出し可能であることが望ましい。以下、それを実現するための仕組みを説明する。
In this embodiment, both the
バスマスタ1は平文データを暗号化して転送する、もしくは暗号化データやコードを復号して転送する暗復号DMAコントローラ(DMAC)である。バスマスタ1(暗復号DMAC)はバスマスタ2から設定可能な復号時に使用する鍵を指定するレジスタや、復号後のデータ転送先アドレスを設定するレジスタを少なくとも有し、さらにバスマスタ1(暗復号DMAC)はバスマスタ2より設定された復号鍵と1対1に対応した領域番号を生成する回路を有し、バスマスタ2からの指示により、Flashメモリ600に格納されているバスマスタ2用の暗号化コード(コード1)、バスマスタ3用の暗号化コード(コード2)を復号後、バスマスタ2から設定された転送先アドレスへ復号後の平文コードを転送するためのアクセス要求211を出力する。アクセス要求211を出力するのと同時に領域番号生成回路610が生成した領域番号をアクセス領域番号221として出力する。領域番号生成回路610の例としては、復号鍵の予め定められた位置に埋め込まれている領域番号を抜き出して出力する回路などが考えられる。
The
なお、本例では復号鍵と1対1に対応した領域番号としたが、暗号演算手段が複数実装されている場合は、暗号演算手段と1対1に対応した領域番号であってもよい。 In this example, the area number corresponding to the decryption key has a one-to-one correspondence. However, if a plurality of cryptographic operation means are installed, the area number may correspond to the cryptographic operation means in one-to-one correspondence.
アクセス可否情報保持部320には、図9に示すように、領域毎にアクセス可能なバスマスタを示すマスタ識別情報とそのバスマスタに許可するアクセス種別と領域の開始アドレス、終了アドレスが含まれる。アクセス種別としては書込みのみ、もしくは読出しのみ、もしくは書込み、読出し両方などが考えられる。図9の例では、領域1(アドレス0x8000_0000〜0x80FF_FFFF)はバスマスタ1のみ書込み可能、バスマスタ2のみ読出し可能であり、領域2(アドレス0x8200_0000〜82FF_FFFF)はバスマスタ1のみ書込み可能、バスマスタ3のみ読出し可能な領域を意味する。アクセス可否判定部310は、マスタ識別情報410とアクセス領域番号220とアクセス要求210に含まれるアクセス先のアドレス情報と、アクセス可否情報保持部320に保持されているアクセス可否情報に基づいて、バスマスタが要求するアクセス先にアクセス可能であるか否かを判定し、アクセス可否判定結果330をメモリIF部340へ出力する。
As shown in FIG. 9, the access enable / disable
以上により、バスマスタ2のセキュアプログラム専用領域として、バスマスタ1(暗復号DMAC)のみが書込み可能で、バスマスタ2のみが読出し可能な領域を確保でき、さらにバスマスタ3のセキュアプログラム専用領域として、バスマスタ1(暗復号DMAC)のみが書込み可能で、バスマスタ3のみが読出し可能な領域を確保することができる。つまり、Flashメモリ600からバスマスタ2およびバスマスタ3へセキュアプログラムを安全に受け渡すことができるため、不正な解析を防止することが可能となる。具体的には、バスマスタ1(暗復号DMAC)を不正に起動して、バスマスタ3用暗号化コード(コード2)をバスマスタ2セキュアプログラム領域に転送し、本来、コード2を読み出すことができないバスマスタ2でコード2を読み出して解析しようと試みた場合、復号鍵としてコード2用の鍵を指定すると、バスマスタ3用暗号化コードは正しく復号されるが、その復号データを共有メモリ350へ書き込むためのアクセス要求を発行する際に、コード2用の鍵と1対1に対応した領域2をアクセス領域番号として出力するため、アクセス要求211として領域1のアドレスを指定して領域1へ書き込もうとしてもアクセス可否判定部310で、アクセス領域番号と転送先アドレスが整合取れないためアクセス不許可となる。復号鍵としてコード1用の鍵を指定すると、領域1への書き込みは許可されるが、バスマスタ3用暗号化コードを正しく復号することができない。
As described above, only the bus master 1 (encryption / decryption DMAC) can be written as a secure program dedicated area of the
さらに、メモリIF部340は復号されたセキュアコードにバス暗号をかけて共有メモリ350へ書込み、共有メモリ350からセキュアコードを読み出すときは復号する機能を含むことで、共有メモリへの入出力バスを不正に観測されることにより、セキュリティが低下することを防ぐことができる。
Further, the memory IF
次に、本実施の形態におけるバスアクセス制御装置100内のバスマスタ1〜3から共有メモリ350へアクセス要求が行われた場合のアクセス制御処理について説明する。図10は、アクセス制御処理の一例を示すフローチャートである。
Next, an access control process when an access request is made from the
ステップS1001:バスマスタ2がバスマスタ1(暗復号DMAC)のDMAパラメータを設定し、DMA起動する。DMAパラメータには、復号に使用する鍵の指定や復号データの転送先アドレスなどが含まれる。
Step S1001: The
ステップS1002:バスマスタ1(暗復号DMAC)にて、設定された復号鍵を選択し、復号回路へ出力する。それと共に領域番号生成回路610にて復号鍵の中に埋め込まれている領域番号を抜き出し、DMA制御回路620へ出力する。
Step S1002: The bus master 1 (encryption / decryption DMAC) selects the set decryption key and outputs it to the decryption circuit. At the same time, the region
ステップS1003:DMA制御回路620はFlashメモリ600から設定された復号鍵に対応した暗号化コードを読み出し、復号回路630へ出力する。復号回路630は暗号化コードを復号し、DMA制御回路へ出力する。Flashメモリ600から読み出す暗号化コードを指定する手段として、転送元アドレスを設定するレジスタを設けても良い。
Step S1003: The
ステップS1003:バスマスタ1(暗復号DMAC)が復号後の平文データを転送するためのアクセス要求211を発行する。それと同時にアクセス先のアクセス領域番号221を出力する。
Step S1003: The bus master 1 (encryption / decryption DMAC) issues an
ステップS1004〜S1008は、ステップS602〜S606と同じである。 Steps S1004 to S1008 are the same as steps S602 to S606.
なお、本実施の形態においては、バスマスタ1を暗復号DMACとして説明したが、バスマスタ1は復号のみを行うDMACでも良い。また、バスマスタ1はJTAGポートなどの外部ポートからLSI内部資源にアクセスするデバッガからのアクセス要求に対し、アクセスの可否を判定するデバッガ認証モジュールであっても良く、この場合、認証用の鍵と1対1で対応する領域番号を用いてセキュア領域へアクセスすることで、デバッガからのアクセス要求に対し、認証された領域にのみアクセス可能とすることが可能となる。認証用の鍵と1対1で対応する領域番号を生成する手段としては、認証に使用する鍵の一部に領域番号を含み、ハードウェアによりその領域番号を抜き出し、そのままアクセス領域番号として出力する手段などが考えられる。
In this embodiment, the
(実施の形態5)
本発明の実施の形態5であるバスアクセス制御装置の動作を、図11を用いて説明する。
(Embodiment 5)
The operation of the bus access control apparatus according to the fifth embodiment of the present invention will be described with reference to FIG.
ここでは、実施の形態1〜4であるバスアクセス制御装置の動作と異なる点を中心に説明する。 Here, the description will focus on differences from the operation of the bus access control apparatus according to the first to fourth embodiments.
バスマスタ1は複数のセキュアなアプリケーションを実行するプロセッサであり、それらのコードは異なるアドレス空間、例えば異なる内蔵メモリ(不揮発メモリ)に格納される。バスマスタ1(プロセッサ)はフェッチ先判定回路にてコードのフェッチ先空間を複数管理し、コードをフェッチして実行する際に、そのコードのフェッチ先空間、つまりアプリケーションの種類と1対1に対応したアクセス領域番号221を出力する。フェッチ先空間の管理は、開始アドレス1〜終了アドレス1までは領域1、開始アドレス2〜終了アドレス2までは領域2とする方法や、フェッチ先の空間が物理的に異なる複数のメモリである場合、チップセレクト信号により判定する方法や、プロセッサコア720のプログラムカウンタの値により判定する方法などが考えられる。以上により、異なる領域のコード、つまり異なるアプリケーションのコードと1対1に対応した専用領域を共有メモリ上に確保することが可能となる。なお、内蔵メモリには、アプリケーションのコード全てを格納するのではなく、アプリケーションへの移行シーケンス(移行のきっかけ)のみを格納し、対応する共有メモリ上の専用領域にアプリケーションの本体が格納されていても良い。そうすることで、内蔵メモリ(不揮発メモリ)の容量を削減することが可能となる。
The
次に、本実施の形態におけるバスアクセス制御装置100内のバスマスタ1〜3から共有メモリ350へアクセス要求が行われた場合のアクセス制御処理について説明する。図12は、アクセス制御処理の一例を示すフローチャートである。
Next, an access control process when an access request is made from the
ステップS1201:バスマスタ1(プロセッサ)が内蔵メモリ1もしくは内蔵メモリ2からコードをフェッチする。
Step S1201: The bus master 1 (processor) fetches a code from the
ステップS1202:フェッチ先判定回路710にて、プロセッサコア720が実行するコードのフェッチ先を判定する。
Step S1202: The fetch
ステップS1203:バスマスタ1(プロセッサコア720)がアクセス要求211を発行するのと同時に実行するコードのフェッチ先に対応するアクセス領域番号221を出力する。
Step S1203: The
ステップS1204〜S1208は、ステップS602〜S606と同じである。 Steps S1204 to S1208 are the same as steps S602 to S606.
(実施の形態6)
本発明の実施の形態5であるバスアクセス制御装置の動作を、図13を用いて説明する。ここでは、実施の形態1〜4であるバスアクセス制御装置の動作と異なる点を中心に説明する。
(Embodiment 6)
The operation of the bus access control apparatus according to the fifth embodiment of the present invention will be described with reference to FIG. Here, the description will focus on differences from the operation of the bus access control apparatus according to the first to fourth embodiments.
制御マスタ800はソフトウェアを実行可能なプロセッサであり、そのスレーブであるバスマスタ1やバスマスタ2、そして共有メモリ350に対してバスを介してアクセスすることができる。この制御マスタ800は複数の動作モード(モード1、モード2、モード3)を持ち、動作モードの情報は動作モード識別部810で管理されている。このモードはセキュア強度の高低に応じてレベル付けされており、モード1が必要なセキュア強度が最高の処理が実行されるモードであり、モード2はモード1に次いで高く、モード3は通常の実行モード(最低)となる。制御マスタ800が各スレーブにアクセスする際には、アクセス要求820と同時に、その実行モードがモード伝達信号830を介して伝達される。
The
バスマスタ1は、制御マスタ800の制御に従って動作し、そのスレーブである共有メモリ350に対してアクセスを行う。その際、バスマスタ1では、制御マスタ800のいずれの動作モードで制御されているかを制御された際の前記モード伝達信号830の値を制御マスタ識別部901で保持することで管理している。そして、共有メモリ350に対してアクセス要求211を出力すると同時に、制御マスタ識別部901に保持された値を制御マスタ識別番号911として出力する。このような機構はバスマスタ2においても同様に実現されている。
The
アクセス制御部300内部にあるアクセス可否情報保持部320には、図14にあるようなアクセス可否情報が保持されている。図14の例では、領域1(アドレス0x8000_0000〜0x80FF_FFFF)は動作モード1の制御マスタ800による直接アクセスのみリード・ライト可能であり、領域2(アドレス0x8200_0000〜82FF_FFFF)は動作モード1または2の制御マスタ800による直接アクセス、動作モード1または2の制御マスタ800に制御されたバスマスタ1、または動作モード1の制御マスタ800に制御されたバスマスタ2のみアクセス可能であることを示している。動作モード3ではこれらのセキュアな領域に対してアクセスすることはできない。図14の例では、領域1には最も高いセキュリティ強度でソフトウェアが実行できる動作モード1からのみアクセスできるようになっているため、最も高い秘匿性が要求される情報を格納することができ、動作モード1または2からのみアクセスできる領域2には、次いで秘匿性の高い情報を格納することができる。
Access accessibility
以上のように、制御マスター800で実行されるソフトウェアのセキュリティ性に応じてアクセス権限を可変にし、かつ制御マスター800に制御されたバスマスタ1、バスマスタ2がその属性を継承するようにできることで、共有メモリに必要なセキュリティ強度の異なる複数の領域を設けることが可能となる。
As described above, the access authority can be made variable in accordance with the security of the software executed by the
(実施の形態7)
本発明の実施の形態7であるバスアクセス制御装置の動作を、図15を用いて説明する。ここでは、実施の形態6であるバスアクセス制御装置の動作と異なる点を中心に説明する。
(Embodiment 7)
The operation of the bus access control apparatus according to the seventh embodiment of the present invention will be described with reference to FIG. Here, the difference from the operation of the bus access control apparatus according to the sixth embodiment will be mainly described.
制御マスタ801、802、803はソフトウェアを実行可能なプロセッサであり、そのスレーブであるバスマスタ1やバスマスタ2、そして共有メモリ350に対してバスを介してアクセスすることができる。バスマスタ1、バスマスタ2は、制御マスタ801、802、803の制御に従って動作し、そのスレーブである共有メモリ350に対してアクセスを行う。本実施の形態では便宜のため、制御マスタ801、802、803をマスタに持つ上位のバスをバス1と呼び、バスマスタ1、バスマスタ2、さらにバス1をマスタに持つ下位のバスをバス2と呼ぶ。
The
バス1マスタ識別部1000では、バス1のマスタが制御マスタ801、802、803のうちいずれかであるかを識別し、それらに対応した値をバス1マスタ識別信号1010によって伝達する。バスマスタ1では制御マスタ801、802、803によって制御される際、どの制御マスタによって制御されているかを制御された際の前記バス1マスタ識別信号1010の値を制御マスタ識別部901で保持することで管理している。そして、共有メモリ350に対してアクセス要求211を出力すると同時に、制御マスタ識別部901に保持された値を制御マスタ識別番号911として出力する。このような機構はバスマスタ2においても同様に実現されている。
The
アクセス制御部300内部にあるアクセス可否情報保持部320には、図16にあるようなアクセス可否情報が保持されている。図16の例では、領域1(アドレス0x8000_0000〜0x80FF_FFFF)は制御マスタ801による直接アクセスのみリード・ライト可能であり、領域2(アドレス0x8200_0000〜82FF_FFFF)は制御マスタ802による直接アクセスまたは制御マスタ802によって制御されたバスマスタ1、バスマスタ2によってのみアクセス可能である。制御マスタ803からは直接アクセスまたはバスマスタ1、バスマスタ2を経由したアクセスのいずれも領域1、2に対してアクセスすることができない。
Access accessibility
以上のように、いずれの制御マスタのソフトウェアによって制御されているかをバスマスタ1、2がアクセス毎に属性として付加することで、共有メモリ350に各制御マスタに属した複数の専用領域を設けることが可能になる。
As described above, it is possible to provide a plurality of dedicated areas belonging to each control master in the shared
なお本実施の形態では、各制御マスタ毎に専用の領域を共有メモリ上に確保したが、これらの制御マスタでデータを共有する必要がある場合には、どちらもアクセス権限を所有する領域を設けていてもよい。 In this embodiment, a dedicated area is secured on the shared memory for each control master. However, if it is necessary to share data between these control masters, both areas have access authority. It may be.
なお本実施の形態では、図16にあるように制御マスタ識別情報とバスマスタ識別情報の両方でアクセス可否情報を定義したが、制御マスタ識別情報だけで本情報を定義していても良い。 In this embodiment, as shown in FIG. 16, the access permission information is defined by both the control master identification information and the bus master identification information. However, this information may be defined by only the control master identification information.
(実施の形態8)
本発明の実施の形態8であるバスアクセス制御装置の動作を、図17を用いて説明する。
(Embodiment 8)
The operation of the bus access control apparatus according to the eighth embodiment of the present invention will be described with reference to FIG.
制御マスタ800は、ソフトウェアを実行可能なプロセッサであり、なおかつ複数のプロセスが切り替わりながら実行されている。プロセス識別部840は、実行中のプロセスに対応した番号が保持されており、制御マスタ800がそのスレーブであるバスマスタ1やバスマスタ2、共有メモリ350にアクセスする際には、アクセス要求820と同時にプロセス識別部が保持している値をプロセス番号伝達信号850を介して出力する。
The
バスマスタ1では、制御マスタ800によって制御される際、どのプロセスによって制御されているかを、制御された際の前記プロセス番号伝達信号850の値を制御マスタ識別部901で保持することで管理している。そして、共有メモリ350に対してアクセス要求211を出力すると同時に、制御マスタ識別部901に保持された値を制御マスタ識別番号911として出力する。このような機構はバスマスタ2においても同様に実現されている。
The
アクセス制御部300内部にあるマスタ調停情報保持部1110には、図18にあるようなマスタ調停情報が保持されている。図18の例では、プロセス番号4に属する共有メモリへのアクセスが最も優先度が高く設定されており、その中でもバス1からのアクセス(制御マスターからの直接アクセス)が最も高く、マスタ2、マスタ1のアクセスの順に優先度が割り当てられている。その次には、プロセス番号6に属したアクセス、プロセス番号1に属したアクセスの順になっており、プロセス番号6に属したアクセスであればマスタ1,マスタ2,バス1は対等に調停される。(プロセス1に関しても同様)上記プロセス番号以外のプロセスは、最下位の調停順位に設定されている。
The master arbitration
アクセス調停部1100では、3つのマスタ(バスマスタ1、バスマスタ2、バス1)の中から、マスタ調停情報保持部1110の情報に従って、どのマスタからのアクセスを優先して共有メモリ350にアクセスさせるかを決定する。
In the
昨今のプロセッサでは、複数のプロセスが切り替わりながら実行する場合、OS(オペレーティングシステム)の機能として、プロセス毎に実行の優先度を付けられている場合が多い。例えば、マルチメディア系の処理のように、データ量が多く高いリアルタイム性が求められる場合には優先度が高く、低速のシリアル通信のような処理を行う場合には優先度が低く設定されることが多い。図19に示しているマスタ調停情報もこのOSによる優先度の設定と連動しておけば、複数のマスタからメモリアクセスが同時に発生しても、そのアクセスが属するプロセス番号に応じて優先度を設定できるため、必ず制御マスタ800で優先させたい処理を早期に完結させることができる。
In recent processors, when a plurality of processes are executed while switching, execution priority is often assigned to each process as an OS (operating system) function. For example, the priority is set high when a large amount of data is required, such as multimedia processing, and the priority is set low when processing such as low-speed serial communication is performed. There are many. If the master arbitration information shown in FIG. 19 is also linked with the priority setting by the OS, even if memory access occurs simultaneously from a plurality of masters, the priority is set according to the process number to which the access belongs. Therefore, the process that the
なお、実施の形態1〜5ではアクセス領域番号という言葉を使用したが、いずれもバスマスタでの処理内容に応じた番号(実施の形態1/2の場合はアプリに応じた番号、実施例3ではセキュア処理に応じた番号、実施の形態4では復号動作に応じた番号、実施の形態5ではフェッチ先に応じた番号)である。したがって、転送毎に転送データの内容を識別することが可能な本番号は、実施の形態8で制御マスタ識別番号をバスの調停に応用したのと同様の手法で、セキュリティの確保を目的としたアクセス制限以外の用途に使用することも可能である。 In addition, although the word “access area number” is used in the first to fifth embodiments, the number corresponds to the processing content in the bus master (in the case of the 1/2 embodiment, the number according to the application, in the third embodiment). The number corresponding to the secure processing, the number corresponding to the decryption operation in the fourth embodiment, and the number corresponding to the fetch destination in the fifth embodiment). Therefore, the real number that can identify the content of the transfer data for each transfer is the same method as the control master identification number applied to the bus arbitration in the eighth embodiment for the purpose of ensuring security. It can also be used for purposes other than access restriction.
本発明にかかるバスアクセス制御装置を用いれば、あるバスマスタが複数のセキュア処理、例えば、複数のセキュアアプリケーション実行や、複数のセキュアプログラムの復号処理などを行う場合、それらの複数のセキュア処理に対応した専用領域を共有メモリ上に確保することが可能となる。そのため、秘匿処理を行うデジタル機器全般のセキュリティ向上ならびにメモリ共有化によるシステムコスト削減に利用することができる。 By using the bus access control device according to the present invention, when a certain bus master performs a plurality of secure processes, for example, a plurality of secure application executions and a plurality of secure program decryption processes, the plurality of secure processes are supported. A dedicated area can be secured on the shared memory. Therefore, it can be used to improve the security of all digital devices that perform the confidential processing and to reduce the system cost by sharing the memory.
また、本発明にかかるバスアクセス制御装置を用いれば、複数種類の転送が混在した形でのアクセスが動的に切り替わりつつ共有メモリに対して発生する場合に、その種類に応じてバストランザクション毎に調停順位を的確に決定できる。そのため、処理が多様になりつつあるデジタル機器での性能保証ならびにメモリ共有化によるシステムコスト削減に利用することができる。 In addition, when the bus access control device according to the present invention is used, the access in the form in which a plurality of types of transfer is mixed is dynamically switched and occurs for the shared memory, depending on the type of the bus transaction. Arbitration order can be determined accurately. Therefore, it can be used for performance guarantee in digital equipment whose processing is becoming diversified and for system cost reduction by memory sharing.
100 バスアクセス制御装置
200 バスマスタ
201 バスマスタ1
202 バスマスタ2
203 バスマスタ3
210 アクセス制御部に入力されるアクセス要求
211 バスマスタ1からのアクセス要求
212 バスマスタ2からのアクセス要求
213 バスマスタ3からのアクセス要求
220 アクセス制御部に入力されるアクセス領域番号
221 バスマスタ1からのアクセス領域番号
300 アクセス制御部
310 アクセス可否判定部
320 アクセス可否情報保持部
330 アクセス可否判定結果
340 メモリIF部
350 メモリ
400 バスマスタ識別部
410 バスマスタ識別情報
500 バスマスタの処理内容識別部
600 Flashメモリ
610 領域番号生成回路
620 暗復号DMA制御回路
630 復号回路
700 内蔵メモリ1
701 内蔵メモリ2
710 フェッチ先判定回路
720 プロセッサコア
800 制御マスタ
801 制御マスタ1
802 制御マスタ2
803 制御マスタ3
810 動作モード識別部
820 制御マスタからのアクセス要求
821 制御マスタ1からのアクセス要求
822 制御マスタ2からのアクセス要求
823 制御マスタ3からのアクセス要求
830 制御マスタからのモード伝達信号
840 プロセス識別部
850 プロセス番号伝達信号
901 バスマスタ1の制御マスタ識別部
902 バスマスタ2の制御マスタ識別部
910 アクセス制御部に入力される制御マスタ識別番号
911 バスマスタ1からの制御マスタ識別番号
912 バスマスタ2からの制御マスタ識別番号
1000 バス1のマスタ識別部
1010 バス1のマスタ識別信号
1100 アクセス調停部
1110 マスタ調停情報保持部
100 Bus
202
203
210 Access request input to the
701
710 fetch
802
803
810 Operation
Claims (14)
前記バススレーブへアクセスするバスマスタにあって、
前記バスマスタ側の処理内容に対応した転送識別番号をアクセス要求と共に出力するバス出力部
を有することを特徴とするバスアクセス制御装置。 A bus slave having resources inside and outside the LSI such as a memory and a register;
In the bus master accessing the bus slave,
A bus access control device comprising: a bus output unit that outputs a transfer identification number corresponding to the processing content on the bus master side together with an access request.
前記バスマスタの処理動作を制御する複数の制御マスターと、
前記バスマスタを制御しているのがどの前記制御マスターなのかを判別する制御マスター識別部と、
を有し、
前記バス出力部は前記制御マスター識別部からの情報をもとに、前記バスマスタ側の処理内容がどの前記制御マスターに属したものであるかを前記転送識別番号として出力することを特徴とするバスアクセス制御装置。 The bus access control device according to claim 1,
A plurality of control masters for controlling processing operations of the bus master;
A control master identification unit for determining which control master is controlling the bus master;
Have
The bus output unit outputs, as the transfer identification number, the control master to which the processing content on the bus master side belongs, based on information from the control master identification unit. Access control device.
前記転送識別番号は前記制御マスターで動作するソフトウェアに対応した番号であることを特徴とする
請求項2記載のバスアクセス制御装置。 The control master is capable of executing software;
3. The bus access control apparatus according to claim 2, wherein the transfer identification number is a number corresponding to software operating on the control master.
前記バスマスタから前記資源へアクセス可能な領域と不可能な領域とを示すアクセス可否情報を複数保持するアクセス可否情報保持部を有し、
前記転送識別番号は、前記アクセス可否情報として保持される各々の前記領域に対応しており、
前記アクセス可否情報保持部のアクセス可否情報と前記転送識別番号と前記アクセス要求に含まれるアクセス先のアドレス情報に基づいて、前記バスマスタが前記アクセス要求先の領域にアクセス可能か否かを判定するアクセス可否判定部をアクセス制御部に含む
ことを特徴とするバスアクセス制御装置。 The bus access control device according to any one of claims 1 to 7,
An access enable / disable information holding unit for holding a plurality of access enable / disable information indicating an area where the bus master can access the resource and an impossible area;
The transfer identification number corresponds to each of the areas held as the accessibility information,
Access for determining whether or not the bus master can access the access request destination area based on the access enable / disable information of the access enable / disable information holding unit, the transfer identification number, and the address information of the access destination included in the access request A bus access control device comprising an access control unit including an availability determination unit.
複数の前記バスマスタを有し、
前記アクセス要求を行ったバスマスタを識別し、バスマスタ識別情報として出力するバスマスタ識別部をさらに含み、
前記アクセス可否情報に、前記領域へのアクセスを許可するマスタ識別情報を含み、
前記アクセス可否判定部は、前記マスタ識別情報と前記アクセス可否情報と前記転送識別番号と前記アクセス要求に含まれるアクセス先のアドレス情報に基づいて、前記バスマスタが前記アクセス要求先の領域にアクセス可能か否かを判定する
ことを特徴とするバスアクセス制御装置。 The bus access control device according to claim 8,
A plurality of the bus masters;
A bus master identification unit that identifies the bus master that has made the access request and outputs the bus master identification information;
The access permission information includes master identification information that permits access to the area,
Whether the bus master can access the access request destination area based on the master identification information, the access permission information, the transfer identification number, and the access destination address information included in the access request. A bus access control device that determines whether or not.
前記バスマスタが暗号・復号機能を有した暗復号DMAコントローラであり、
前記暗復号DMAコントローラは暗号、復号に使用する鍵を設定するためのレジスタ(復号鍵設定レジスタ)と、DMA転送元を指定するためのレジスタ(転送元指定レジスタ)と、
DMA転送先を指定するためのレジスタ(転送先設定レジスタ)を有し、
更に暗号化データもしくは暗号化プログラムを復号して前記転送先設定レジスタに示されたアドレスに転送するためのアクセス要求を発行する際、前記バス出力部にて、前記復号鍵設定レジスタにより指定された復号鍵に対応させて前記転送識別番号を出力する
ことを特徴とするバスアクセス制御装置。 The bus access control device according to claim 8 or 9,
The bus master is an encryption / decryption DMA controller having an encryption / decryption function,
The encryption / decryption DMA controller includes a register (decryption key setting register) for setting a key used for encryption and decryption, a register (transfer source designation register) for designating a DMA transfer source,
It has a register (transfer destination setting register) for designating the DMA transfer destination,
Further, when issuing an access request for decrypting the encrypted data or the encrypted program and transferring it to the address indicated in the transfer destination setting register, the bus output unit designates the decryption key setting register. A bus access control device that outputs the transfer identification number in correspondence with a decryption key.
前記復号鍵の予め定められた箇所に前記転送識別番号を含み、
処理内容識別部は、前記復号鍵設定レジスタに設定された復号鍵から、予め定められた位置の情報を前記転送識別番号として出力する
ことを特徴とするバスアクセス制御装置。 The bus access control device according to claim 10,
Including the transfer identification number in a predetermined location of the decryption key;
The processing content identification unit outputs information on a predetermined position from the decryption key set in the decryption key setting register as the transfer identification number.
前記転送識別番号に対応した領域を示すための領域開始アドレス、領域終了アドレスを含む
ことを特徴とする請求項8〜11のいずれか一項に記載のバスアクセス制御装置。 The accessibility information is
The bus access control device according to any one of claims 8 to 11, further comprising an area start address and an area end address for indicating an area corresponding to the transfer identification number.
前記アクセス可否情報に、前記アクセスを許可する前記マスタ識別情報により指定されたバスマスタに対し許可するアクセス種別(書込み、読出しの許可、禁止)の情報をさらに含み、
前記アクセス可否判定部にて、前記バスマスタからのアクセス要求がアクセス先に対する書込み要求なのか、読出し要求なのかを判定し、その判定結果と前記アクセス可否情報と前記マスタ識別情報と前記転送識別番号と前記アクセス要求に含まれるアクセス先アドレス情報に基づいて、前記バスマスタが前記アクセス要求先の領域にアクセス可能か否かを判定する
ことを特徴とするバスアクセス制御装置。 The bus access control device according to any one of claims 8 to 12,
The access permission / prohibition information further includes information of an access type (write, read permission / prohibition) permitted to the bus master specified by the master identification information permitting the access,
The access permission determination unit determines whether the access request from the bus master is a write request to the access destination or a read request, and the determination result, the access permission information, the master identification information, and the transfer identification number, A bus access control device that determines whether or not the bus master can access the access request destination area based on access destination address information included in the access request.
複数の前記バスマスタを有し、
前記複数のバスマスタの間で転送を調停するバス調停部を有し、
前記転送識別番号はバス調停の優先度に対応づけられており、
前記バス調停部は前記転送識別番号をもとに調停を行う
ことを特徴とするバスアクセス制御装置。 The bus access control device according to any one of claims 1 to 7,
A plurality of the bus masters;
A bus arbitration unit that arbitrates transfer between the plurality of bus masters;
The transfer identification number is associated with the priority of bus arbitration,
The bus access control device, wherein the bus arbitration unit performs arbitration based on the transfer identification number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005300016A JP2007109053A (en) | 2005-10-14 | 2005-10-14 | Bus access controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005300016A JP2007109053A (en) | 2005-10-14 | 2005-10-14 | Bus access controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007109053A true JP2007109053A (en) | 2007-04-26 |
Family
ID=38034872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005300016A Pending JP2007109053A (en) | 2005-10-14 | 2005-10-14 | Bus access controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007109053A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008130014A1 (en) | 2007-04-18 | 2008-10-30 | Tosoh Corporation | Optical compensation films, optically compensating film, and processes for producing these |
WO2010119802A1 (en) * | 2009-04-14 | 2010-10-21 | 日本電気株式会社 | Computer system and processing method for computer system |
JP2017215802A (en) * | 2016-05-31 | 2017-12-07 | 株式会社リコー | Control device and control method |
US11216390B2 (en) | 2019-07-25 | 2022-01-04 | Kioxia Corporation | Storage device, memory access control system, and memory access control method |
-
2005
- 2005-10-14 JP JP2005300016A patent/JP2007109053A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008130014A1 (en) | 2007-04-18 | 2008-10-30 | Tosoh Corporation | Optical compensation films, optically compensating film, and processes for producing these |
WO2010119802A1 (en) * | 2009-04-14 | 2010-10-21 | 日本電気株式会社 | Computer system and processing method for computer system |
JP2010250470A (en) * | 2009-04-14 | 2010-11-04 | Nec Corp | Computer system |
JP4656347B2 (en) * | 2009-04-14 | 2011-03-23 | 日本電気株式会社 | Computer system |
US8713217B2 (en) | 2009-04-14 | 2014-04-29 | Nec Corporation | Permitting access of slave device from master device based on process ID's |
JP2017215802A (en) * | 2016-05-31 | 2017-12-07 | 株式会社リコー | Control device and control method |
US11216390B2 (en) | 2019-07-25 | 2022-01-04 | Kioxia Corporation | Storage device, memory access control system, and memory access control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7444668B2 (en) | Method and apparatus for determining access permission | |
JP4872001B2 (en) | Memory access safety management | |
JP4602403B2 (en) | Endianness control method and apparatus in data processing system | |
JP4601557B2 (en) | Method and apparatus for secure cooperation of processors in a multiprocessor system | |
US7277972B2 (en) | Data processing system with peripheral access protection and method therefor | |
US20040177266A1 (en) | Data processing system with peripheral access protection and method therefor | |
US20140089650A1 (en) | Security Enclave Processor Boot Control | |
JP2008257734A (en) | Security control in data processing system based on memory domain | |
JP4591163B2 (en) | Bus access control device | |
JP4945053B2 (en) | Semiconductor device, bus interface device, and computer system | |
US11544413B2 (en) | Cryptographic key distribution | |
JP2007109053A (en) | Bus access controller | |
Pott et al. | Firmware Security Module: A Framework for Trusted Computing in Automotive Multiprocessors | |
US20190138755A1 (en) | Technologies for filtering memory access transactions received from one or more i/o devices | |
WO2005121979A1 (en) | Access control device and access control method | |
JP4972692B2 (en) | DMA controller and data transfer method | |
JP2008250386A (en) | Access control device and computer system | |
JP2011150457A (en) | Information processing apparatus and memory access control method | |
JP2010134572A (en) | Device and method for achieving security | |
JP5380392B2 (en) | Semiconductor device, bus interface device, and computer system | |
JP5324676B2 (en) | Processor, bus interface device, and computer system | |
CN116680717A (en) | Decryption method of neural network model encrypted data, system on chip and electronic equipment | |
JP2009169511A (en) | Information processor | |
JP2009175774A (en) | Dma control device | |
JP2005038158A (en) | External bus interface circuit |