JP2009277138A - Semiconductor integrated circuit device, bus device, and data transfer method - Google Patents

Semiconductor integrated circuit device, bus device, and data transfer method Download PDF

Info

Publication number
JP2009277138A
JP2009277138A JP2008129816A JP2008129816A JP2009277138A JP 2009277138 A JP2009277138 A JP 2009277138A JP 2008129816 A JP2008129816 A JP 2008129816A JP 2008129816 A JP2008129816 A JP 2008129816A JP 2009277138 A JP2009277138 A JP 2009277138A
Authority
JP
Japan
Prior art keywords
data
transfer
attribute information
bus
semiconductor device
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.)
Withdrawn
Application number
JP2008129816A
Other languages
Japanese (ja)
Inventor
Takanori Tamai
孝典 玉井
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008129816A priority Critical patent/JP2009277138A/en
Publication of JP2009277138A publication Critical patent/JP2009277138A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a semiconductor integrated circuit device, a bus device, and a data transfer method which can correspond to a plurality of security categories while keeping data concealment. <P>SOLUTION: The semiconductor integrated circuit device comprises: semiconductor devices 2 to 5; decryption circuits 10, 11 which decrypt encrypted data including first attribute information Attr1 showing a transfer destination of the data and add second attribute information Attr2 showing a notice that the data have been decrypted; a bus device 14 which connects the semiconductor devices 2 to 5 and the decryption circuits 10, 11 so as to transfer data therebetween; a transfer circuit 3 which transfers the data decrypted by the decryption circuit 10 to the semiconductor devices 2 to 5; and interceptors 6 to 9 which intercept the transfer of the data to the semiconductor device in the case that when the first attribute information Attr1 and the second attribute information Attr2 are confirmed, the transfer destination as decrypted data shown by the first attribute information Attr1 does not agree with the semiconductor devices 2 to 5. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、半導体集積回路装置、バス装置、及びデータ転送方法に関する。例えば、暗号化されたデータの保護方法に関する。   The present invention relates to a semiconductor integrated circuit device, a bus device, and a data transfer method. For example, the present invention relates to a method for protecting encrypted data.

近年の半導体集積回路(LSI)においては、データの保護(security)技術の重要性が高まっている。特に、暗号化されたデータを復号化した後におけるデータの取り扱いが重要である。   In recent semiconductor integrated circuits (LSIs), the importance of data protection technology is increasing. In particular, handling of data after decrypting the encrypted data is important.

この点、復号化されたデータに対して、当該データが復号化されたデータであることを示す情報を付加する手法が提案されている(例えば非特許文献1参照)。本手法によれば、データに上記情報が付加されていた場合には、データブロッカーが、所定のハードウェアに対するデータの転送を遮断する。従って、保護すべきデータが不用意にハードウェアに転送されることを防止出来る。   In this regard, a method has been proposed in which information indicating that the data is decoded data is added to the decoded data (see Non-Patent Document 1, for example). According to this method, when the above information is added to the data, the data blocker blocks the transfer of the data to the predetermined hardware. Therefore, it is possible to prevent the data to be protected from being inadvertently transferred to the hardware.

しかし、上記従来の手法であると、保護すべきデータを転送出来るハードウェアは、LSIの製造時に決定されてしまい、データ毎の柔軟な対応が困難であるという問題があった。すなわち、例えば複数のセキュリティ区分が存在する場合に、あるセキュリティ区分のデータの転送は禁止し、それよりも区分の低いデータの転送は許可する、といったデータ転送が困難であった。
"Security Enhanced Embedded Processor using Local Memory Protection Mechanism", Takeshi Kawabata, Takanori Tamai, Mikio Hashimoto, and Takashi Miyamoti, Proceedings of the IEEE Symposium on Low-Power and High-Speed Chips (COOL Chips IX), April 19-21, 2006, pp. 143-157.
However, according to the conventional method, hardware capable of transferring data to be protected is determined at the time of manufacturing the LSI, and there is a problem that it is difficult to flexibly cope with each data. That is, for example, when there are a plurality of security categories, it is difficult to transfer data such as prohibiting the transfer of data in a certain security category and permitting the transfer of data in a lower category.
"Security Enhanced Embedded Processor using Local Memory Protection Mechanism", Takeshi Kawabata, Takanori Tamai, Mikio Hashimoto, and Takashi Miyamoti, Proceedings of the IEEE Symposium on Low-Power and High-Speed Chips (COOL Chips IX), April 19-21, 2006, pp. 143-157.

この発明は、データの秘匿性を確保しつつ、複数のセキュリティ区分に対応可能な半導体集積回路、バス装置、及びデータ転送方法を提供する。   The present invention provides a semiconductor integrated circuit, a bus device, and a data transfer method that can handle a plurality of security classifications while ensuring data confidentiality.

この発明の一態様に係る半導体集積回路装置は、半導体装置と、データの転送先を示す第1属性情報を含み且つ暗号化されたデータを復号化すると共に、復号した旨を示す第2属性情報を、復号化した前記データに付加する復号回路と、前記復号回路で復号化された前記データを、前記第2属性情報と共に前記半導体装置へ転送する転送回路と、前記半導体装置と前記転送回路との間をデータ転送可能に接続するバス装置と、前記転送回路によって前記バス装置を介して転送された前記データにつき、前記第1属性情報及び第2属性情報を確認して、該データが暗号化された状態から復号化されたデータであって、且つ前記第1属性情報によって示される前記転送先が前記半導体装置と不一致であった場合に、前記データの前記半導体装置への転送を遮断する遮断装置とを具備する。   A semiconductor integrated circuit device according to an aspect of the present invention includes a semiconductor device, and second attribute information including first attribute information indicating a data transfer destination and decrypting the encrypted data and indicating that the data has been decrypted A decoding circuit for adding the decoded data to the semiconductor device, a transfer circuit for transferring the data decoded by the decoding circuit together with the second attribute information to the semiconductor device, the semiconductor device and the transfer circuit, The first attribute information and the second attribute information for the data transferred via the bus device by the transfer circuit, and the data is encrypted. And when the transfer destination indicated by the first attribute information is inconsistent with the semiconductor device, the data is decoded to the semiconductor device. ; And a blocking device for blocking the transfer.

また、この発明の一態様に係るバス装置は、半導体装置に接続可能とされ、前記半導体装置にデータを転送するバス装置であって、外部から与えられる前記データを転送するデータ転送線と、前記データ転送線によって転送された前記データに含まれる情報に基づいて、前記データが暗号化された状態から平文に戻されたデータであって且つ前記半導体装置への転送を禁止されたデータであると判断した場合に、前記半導体装置への転送を遮断する遮断装置とを具備する。   A bus device according to one aspect of the present invention is a bus device that is connectable to a semiconductor device and transfers data to the semiconductor device, the data transfer line transferring the data given from the outside, Based on information included in the data transferred by a data transfer line, the data is data that has been returned to plain text from an encrypted state and is prohibited from being transferred to the semiconductor device. And a blocking device that blocks transfer to the semiconductor device when it is determined.

更に、この発明の一態様に係るデータ転送方法は、転送先を示す第1属性情報を含み且つ暗号化された第1データを復号化して第2データを得るステップと、前記第2データに対して、復号した旨を示す第2属性情報を付加して第3データを得るステップと、半導体装置を転送先として、前記第3データをバス装置へ転送するステップと、前記バス装置へ転送されたデータにつき、前記第1属性情報及び第2属性情報をチェックするステップと、前記第1属性情報及び第2属性情報をチェックした結果、前記第3データが暗号化された状態から復号化されたデータであって、且つ前記第1属性情報の示す転送先が前記半導体装置と不一致であった場合、該第3データの前記半導体装置への転送を遮断し、それ以外の場合には該第3データの前記半導体装置への転送を許可するステップとを具備する。   Furthermore, the data transfer method according to an aspect of the present invention includes the step of obtaining the second data by decrypting the encrypted first data including the first attribute information indicating the transfer destination, and the second data And adding the second attribute information indicating the decryption, obtaining the third data, transferring the third data to the bus device using the semiconductor device as the transfer destination, and transferring the data to the bus device. For the data, the first attribute information and the second attribute information are checked, and the first attribute information and the second attribute information are checked. As a result, the third data is decrypted from the encrypted state. If the transfer destination indicated by the first attribute information does not match the semiconductor device, the transfer of the third data to the semiconductor device is interrupted, and otherwise the third data Before And a step of allow transfer to the semiconductor device.

この発明によれば、データの秘匿性を確保しつつ、複数のセキュリティ区分に対応可能な半導体集積回路、バス装置、及びデータ転送方法を提供出来る。   According to the present invention, it is possible to provide a semiconductor integrated circuit, a bus device, and a data transfer method that can cope with a plurality of security classifications while ensuring data confidentiality.

以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。   Embodiments of the present invention will be described below with reference to the drawings. In the description, common parts are denoted by common reference symbols throughout the drawings.

[第1の実施形態]
この発明の第1の実施形態に係る半導体集積回路装置、バス装置、及びデータ転送方法について、図1を用いて説明する。図1は、本実施形態に係る半導体集積回路装置のブロック図である。
[First Embodiment]
A semiconductor integrated circuit device, a bus device, and a data transfer method according to a first embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram of a semiconductor integrated circuit device according to this embodiment.

<半導体集積回路装置の全体構成について>
図示するように、半導体集積回路装置(LSI)1は、RAM2、DMA(Direct Memory Access)コントローラ3、ハードウェアエンジン4、5、データブロッカー6〜9、復号回路10、属性付加装置11、メモリ12、セレクタ装置13、及びバス14を備えている。なお、RAM2、DMAコントローラ3、及びハードウェアエンジン4、5を区別しない場合には、これらをまとめて「ハードウェア」と呼ぶことがある。
<Overall Configuration of Semiconductor Integrated Circuit Device>
As shown in the figure, a semiconductor integrated circuit device (LSI) 1 includes a RAM 2, a DMA (Direct Memory Access) controller 3, hardware engines 4 and 5, data blockers 6 to 9, a decoding circuit 10, an attribute adding device 11, and a memory 12. The selector device 13 and the bus 14 are provided. When the RAM 2, the DMA controller 3, and the hardware engines 4 and 5 are not distinguished from each other, they may be collectively referred to as “hardware”.

RAM2は例えばフラッシュメモリ等の半導体メモリであり、種々のデータを保持する。保持するデータのいずれかは暗号化されたデータである。そして暗号化されたデータは、正味のデータであり保護すべき秘密データと、この秘密データの転送先となる転送先情報とを含んでおり、共に暗号化されている。   The RAM 2 is a semiconductor memory such as a flash memory, and holds various data. Any of the data to be held is encrypted data. The encrypted data is net data and includes secret data to be protected and transfer destination information that is a transfer destination of the secret data, and is encrypted together.

DMAコントローラ3は、RAM2及びハードウェアエンジン4、5間のデータ転送を制御する。DMAコントローラ3は、データの転送モードとして、保護転送と通常転送との2つのモードを有する。保護転送は、暗号化されたデータが復号化されて得られた平文のデータを転送するモードであり、通常転送はそれ以外の場合のモードである。すなわち、秘匿性を考慮すべきデータを転送する場合の転送モードが、保護転送である。そしてDMAコントローラ3は、保護転送を行う際には転送モード信号MODEを例えば“1”とし、通常転送を行う際には“0”とする。転送モード信号MODEは、セレクタ装置13に与えられる。DMAコントローラ3の詳細については後述する。   The DMA controller 3 controls data transfer between the RAM 2 and the hardware engines 4 and 5. The DMA controller 3 has two modes of data transfer mode, that is, protection transfer and normal transfer. The protected transfer is a mode for transferring plaintext data obtained by decrypting the encrypted data, and the normal transfer is a mode for other cases. That is, the transfer mode in the case of transferring data that should be considered confidentiality is protected transfer. The DMA controller 3 sets the transfer mode signal MODE to “1”, for example, when performing protected transfer, and “0” when performing normal transfer. The transfer mode signal MODE is given to the selector device 13. Details of the DMA controller 3 will be described later.

ハードウェアエンジン4、5は、例えば画像処理や無線通信等、所定の機能を実行するための機能ブロックである。そして、RAM2内のデータを用いて、所定の機能を実行するための処理を行う。   The hardware engines 4 and 5 are functional blocks for executing predetermined functions such as image processing and wireless communication. And the process for performing a predetermined | prescribed function is performed using the data in RAM2.

データブロッカー6〜9は、それぞれRAM2、DMAコントローラ3、及びハードウェアエンジン4、5に対応づけられて設けられている。またデータブロッカー6〜9には、転送先識別番号DstNoが入力される。転送先識別番号DstNoは、各データブロッカー6〜9が対応するハードウェアに応じて付加される番号であり、RAM2、DMAコントローラ3、及びハードウェアエンジン4、5に関する転送先識別番号DstNoは、例えばそれぞれ“1”、“2”、“3”、“4”である。従って、データブロッカー6〜9には転送先識別番号DstNoとして、“1”〜“4”がそれぞれ与えられる。そしてデータブロッカー6〜9はそれぞれ、転送先識別番号DstNoと、データと共に転送される第1属性情報Attr1及び第2属性情報Attr2とに基づいて、RAM2、DMAコントローラ3、及びハードウェアエンジン4、5に対するデータの転送を遮断する。第1属性情報Attr1及び第2属性情報Attr2、並びにデータブロッカー6〜9の詳細については後述する。   The data blockers 6 to 9 are provided in association with the RAM 2, the DMA controller 3, and the hardware engines 4 and 5, respectively. In addition, the transfer block identification number DstNo is input to the data blockers 6 to 9. The transfer destination identification number DstNo is a number added according to the hardware to which each data blocker 6-9 corresponds, and the transfer destination identification number DstNo for the RAM 2, the DMA controller 3, and the hardware engines 4, 5 is, for example, They are “1”, “2”, “3”, and “4”, respectively. Therefore, “1” to “4” are given to the data blockers 6 to 9 as transfer destination identification numbers DstNo, respectively. Each of the data blockers 6 to 9 is based on the transfer destination identification number DstNo, the first attribute information Attr1 and the second attribute information Attr2 transferred together with the data, the RAM 2, the DMA controller 3, and the hardware engines 4, 5 Block data transfer to. Details of the first attribute information Attr1, the second attribute information Attr2, and the data blockers 6 to 9 will be described later.

復号回路10は、DMAコントローラ3から与えられる暗号化されたデータを、復号鍵を用いて復号化する。復号化されたデータには、前述の秘密データと転送先情報とが含まれる。そして復号回路10は、復号化された秘密データと転送先情報とを、属性付加装置11へ出力する。   The decryption circuit 10 decrypts the encrypted data provided from the DMA controller 3 using a decryption key. The decrypted data includes the above-described secret data and transfer destination information. Then, the decryption circuit 10 outputs the decrypted secret data and the transfer destination information to the attribute adding device 11.

メモリ12は例えば半導体メモリであり、復号回路10で使用する復号鍵の記録された復号鍵テーブルを保持する。そしてメモリ12は、DMAコントローラ3の命令に従って、必要な復号鍵を復号回路10へと出力する。   The memory 12 is a semiconductor memory, for example, and holds a decryption key table in which a decryption key used in the decryption circuit 10 is recorded. Then, the memory 12 outputs a necessary decryption key to the decryption circuit 10 in accordance with an instruction from the DMA controller 3.

属性付加装置11は、復号回路10から与えられる復号化されたデータにおいて、秘密データと転送先情報とを分離し、セレクタ装置13へ出力する。この際、属性付加装置11は転送先情報を、第1属性情報Attr1としてセレクタ装置13へ出力する。また属性付加装置11は、復号回路10から秘密データを受け取った際には、第2属性情報Attr2をアサートして(本実施形態では“1”として)、セレクタ装置13へ出力する。つまり第1属性情報Attr1は、ある秘密データについて、当該秘密データの宛先として許可されたハードウェアの情報である。また第2属性情報Attr2は、あるデータについて、当該データが暗号化された状態から復号化されたデータであるか否かを示す情報である。   The attribute adding device 11 separates the secret data and the transfer destination information in the decrypted data given from the decryption circuit 10 and outputs the separated data to the selector device 13. At this time, the attribute adding device 11 outputs the transfer destination information to the selector device 13 as the first attribute information Attr1. Further, when receiving the secret data from the decryption circuit 10, the attribute adding device 11 asserts the second attribute information Attr2 (in this embodiment, “1”) and outputs it to the selector device 13. That is, the first attribute information Attr1 is information on hardware that is permitted as a destination of the secret data with respect to certain secret data. The second attribute information Attr2 is information indicating whether or not certain data is data decrypted from the encrypted state.

セレクタ装置13は、第1セレクタ20及び第2セレクタ21を備えている。第1セレクタ20及び第2セレクタ21は、例えばマルチプレクサである。   The selector device 13 includes a first selector 20 and a second selector 21. The first selector 20 and the second selector 21 are, for example, multiplexers.

上記第1セレクタ20は、属性付加装置11から与えられる、復号化された秘密データと、DMAコントローラ3から直接与えられるデータとのいずれかを選択する。より具体的には、転送モード信号MODE=“1”である場合には、属性付加装置11から与えられるデータを選択し、“0”である場合にはDMAコントローラ3から直接与えられるデータを選択する。そして、選択したデータをバス14へ出力する。すなわち、保護転送の場合には、復号化された秘密データをバス14へ出力し、通常転送の場合には、RAM2からDMAコントローラ3に与えられたデータをそのままバス14へ出力する。   The first selector 20 selects either the decrypted secret data given from the attribute adding device 11 or the data given directly from the DMA controller 3. More specifically, when the transfer mode signal MODE = “1”, the data given from the attribute adding device 11 is selected, and when it is “0”, the data given directly from the DMA controller 3 is selected. To do. Then, the selected data is output to the bus 14. That is, in the case of protected transfer, the decrypted secret data is output to the bus 14, and in the case of normal transfer, the data given from the RAM 2 to the DMA controller 3 is output to the bus 14 as it is.

上記第2セレクタ21は、属性付加装置11から与えられる第1属性情報Attr1及び第2属性情報Attr2と、“0”とのいずれかを選択する。より具体的には、転送モード信号MODE=“1”である場合には、属性付加装置11から与えられる第1、第2属性情報Attr1、Attr2を選択してバス14へ出力する。他方、MODE=“0”である場合には“0”を選択し、第1属性情報Attr1=“0”、第2属性情報Attr2=“0”としてバス14へ出力する。   The second selector 21 selects either the first attribute information Attr1 and the second attribute information Attr2 given from the attribute adding device 11 or “0”. More specifically, when the transfer mode signal MODE = “1”, the first and second attribute information Attr 1 and Attr 2 given from the attribute adding device 11 are selected and output to the bus 14. On the other hand, when MODE = “0”, “0” is selected, and the first attribute information Attr1 = “0” and the second attribute information Attr2 = “0” are output to the bus 14.

バス14は、RAM2、DMAコントローラ3、及びハードウェアエンジン4、5の相互間において、データを転送する。バス14にはマスター・インタフェースIF1、IF3、IF4およびスレーブ・インタフェースIF2が存在する。マスター・インタフェースIF1、IF3、IF4は、それぞれRAM2、ハードウェアエンジン4、ハードウェアエンジン5に接続される。スレーブ・インタフェースIF2はDMAコントローラ3に接続される。また、それぞれのインタフェースIF1〜IF4において、後述する出口OUT1〜OUT4から出力される信号は、それぞれデータブロッカー6〜9に接続されている。   The bus 14 transfers data between the RAM 2, the DMA controller 3, and the hardware engines 4 and 5. The bus 14 has master interfaces IF1, IF3, IF4 and a slave interface IF2. The master interfaces IF1, IF3, and IF4 are connected to the RAM 2, the hardware engine 4, and the hardware engine 5, respectively. The slave interface IF2 is connected to the DMA controller 3. In each interface IF1 to IF4, signals output from outlets OUT1 to OUT4 described later are connected to data blockers 6 to 9, respectively.

<バス14について>
次に、バス14で伝送する信号について、図2を用いて説明する。図2は、バスの入出力信号を示す概念図である。マスター・インタフェースIF1、IF3、IF4とスレーブ・インタフェースIF2は、信号の伝送方向が逆になっている。スレーブ・インタフェースIF2は、バス14の外部からの転送要求を受信することが可能で、データ転送を制御するDMAコントローラなどを接続することができる。なお、バス14から出力される信号のうち、データ信号および後述する第1属性情報および第2属性情報が出力される部分を、それぞれ出口OUT1〜OUT4と呼ぶ。なお、図では、マスター・インタフェースIF1の記載が省略されているが、マスター・インタフェースIF3またはIF4などと同等である。出口OUT3、4と同様に出口OUT1も定義される。
<About bus 14>
Next, signals transmitted through the bus 14 will be described with reference to FIG. FIG. 2 is a conceptual diagram showing input / output signals of the bus. The master interfaces IF1, IF3, IF4 and the slave interface IF2 have signal transmission directions reversed. The slave interface IF2 can receive a transfer request from the outside of the bus 14, and can be connected to a DMA controller or the like that controls data transfer. Of the signals output from the bus 14, portions where data signals and first attribute information and second attribute information described later are output are referred to as outlets OUT <b> 1 to OUT <b> 4, respectively. In the figure, the description of the master interface IF1 is omitted, but it is equivalent to the master interface IF3 or IF4. Similarly to the outlets OUT3 and 4, the outlet OUT1 is also defined.

図示するようにバス14は、大きくは4つの信号系列を有している。
まず、制御信号の系列である。制御信号の一例はリクエスト信号Request及びイネーブル信号R/W_Enableであり、それぞれ1ビットの信号である。リクエスト信号Requestは、転送先のハードウェアに対してデータの送受信を要求するための信号であり、イネーブル信号R/W_Enableは、転送先のハードウェアに対してデータの読み出しまたは書き込みをイネーブルにするための信号である。
As shown in the figure, the bus 14 has roughly four signal sequences.
First, a control signal sequence. An example of the control signal is a request signal Request and an enable signal R / W_Enable, each of which is a 1-bit signal. The request signal Request is a signal for requesting transmission / reception of data to the transfer destination hardware, and the enable signal R / W_Enable is for enabling reading or writing of data to the transfer destination hardware. Signal.

次に、データ信号の系列である。データ信号には、読み出した読み出しデータRead_Dataと書き込むべき書き込みデータWrite_Dataの2種類があり、信号線として独立している。また、それぞれ例えば32ビットの信号である。
なお、上記セレクタ装置13の第1セレクタ20から出力される書き込みデータが、スレーブ・インタフェースIF2への入力信号Write_Dataとなる。データブロッカー6、8および9はそれぞれ、対応するマスター・インタフェースIF1、IF3、IF4から与えられるデータ信号Write_Dataを遮断したり、通過させたりする。データブロッカー7は、スレーブ・インタフェースIF2のデータ信号Read_Dataの伝播を遮断したり通過させたりする。なお、データブロッカー6、8および9と、データブロッカー7が遮断したり通過させたりする信号は、それぞれ信号Write_dataと信号Read_Dataと異なるが、これは接続されたインタフェースがマスター・インタフェースなのか、スレーブ・インタフェースであるかの違いにすぎない。各データブロッカーは同じ機能を有している。
Next, a series of data signals. There are two types of data signals, read-out read data Read_Data and write-in data Write_Data to be written, which are independent as signal lines. Each is a 32-bit signal, for example.
The write data output from the first selector 20 of the selector device 13 becomes the input signal Write_Data to the slave interface IF2. The data blockers 6, 8 and 9 respectively block or pass the data signal Write_Data supplied from the corresponding master interfaces IF1, IF3 and IF4. The data blocker 7 blocks or allows propagation of the data signal Read_Data of the slave interface IF2. The signals that the data blockers 6, 8 and 9 and the data blocker 7 block or pass are different from the signal Write_data and the signal Read_Data, respectively. This is whether the connected interface is the master interface or the slave interface. The only difference is whether it is an interface. Each data blocker has the same function.

次に、アドレス信号Addressである。アドレス信号は、データを転送すべき宛先となるハードウェアのアドレスを示す信号である。   Next, an address signal Address. The address signal is a signal indicating an address of hardware that is a destination to which data is to be transferred.

最後に、第1属性情報Attr1及び第2属性情報Attr2である。各属性情報は 信号Read_Dataおよび信号Write_Dataのそれぞれに付随して存在する。図2においては、信号Attr1(R)、信号Attr1(W)、信号Attr2(R)および信号Attr2(W)が属性情報を伝達する信号である。なお、各信号名の文字列(R)または(W)は、Read_DataおよびWrite_Dataのどちらのデータの属性であるかをそれぞれ示す。また、これらの属性情報を伝達する信号は、信号Read_Dataおよび信号Write_Dataと同期して転送される。なお以下では、Attr1(R)及びAttr1(W)を単にAttr1と呼び、Attr2(R)及びAttr2(W)を単にAttr2と呼ぶことがある。   Finally, the first attribute information Attr1 and the second attribute information Attr2. Each attribute information is associated with each of the signal Read_Data and the signal Write_Data. In FIG. 2, a signal Attr1 (R), a signal Attr1 (W), a signal Attr2 (R), and a signal Attr2 (W) are signals that transmit attribute information. Note that the character string (R) or (W) of each signal name indicates which data attribute is Read_Data or Write_Data. In addition, a signal for transmitting the attribute information is transferred in synchronization with the signal Read_Data and the signal Write_Data. Hereinafter, Attr1 (R) and Attr1 (W) may be simply referred to as Attr1, and Attr2 (R) and Attr2 (W) may be simply referred to as Attr2.

第1属性情報Attr1はデータの転送先が許可されているハードウェアの情報を示す。より具体的には、第1属性情報Attr1には、復号化されたデータの転送を許可するハードウェアの転送先識別番号DstNoが設定される。本実施形態では、第1属性情報Attr1は例えば3ビットの信号である。
第2属性情報Attr2は、暗号化された状態から平文に戻された状態であることを示す。より具体的には、第2属性情報Attr2は1ビットの信号であり、“1”である場合には、当該第2属性情報Attr2が付与されたデータは平文に戻されたデータであることを示す。なお、RAM2が接続されているマスター・インタフェース1の信号 Attr1(R)および 信号 Attr2(R)には“0”(ゼロ)が入力されている。従って、RAM2から読み出されたデータを転送する際には、当該データについて第2属性情報Attr2は“0”となる。また、第1属性情報Attr1は、第2属性情報Attr2が“1”の場合だけ有効な意味を持つ。
The first attribute information Attr1 indicates information on hardware that is permitted to transfer data. More specifically, a hardware transfer destination identification number DstNo that permits transfer of decrypted data is set in the first attribute information Attr1. In the present embodiment, the first attribute information Attr1 is, for example, a 3-bit signal.
The second attribute information Attr2 indicates that the encrypted state is returned to plain text. More specifically, the second attribute information Attr2 is a 1-bit signal, and when it is “1”, it is determined that the data to which the second attribute information Attr2 is attached is the data returned to the plain text. Show. Note that “0” (zero) is input to the signal Attr1 (R) and the signal Attr2 (R) of the master interface 1 to which the RAM 2 is connected. Therefore, when data read from the RAM 2 is transferred, the second attribute information Attr2 for the data is “0”. Further, the first attribute information Attr1 has an effective meaning only when the second attribute information Attr2 is “1”.

<DMAコントローラ3の詳細について>
次に、上記DMAコントローラ3の詳細について、特にRAM2から読み出した信号の取り扱いに着目して、図3を用いて説明する。図3は、DMAコントローラ3の動作を示すフローチャートである。また以下では、バス14で伝送される信号のうち、特に本実施形態に関連する信号についてのみ言及する。例えば、以下において説明を省略した場合であっても、データの転送する際には当然ながらアドレス信号Address等が必要となる。
<Details of DMA Controller 3>
Next, details of the DMA controller 3 will be described with reference to FIG. 3, particularly focusing on the handling of signals read from the RAM 2. FIG. 3 is a flowchart showing the operation of the DMA controller 3. Hereinafter, only signals related to the present embodiment among signals transmitted through the bus 14 will be described. For example, even when the description is omitted below, the address signal Address or the like is naturally required when transferring data.

図示するようにDMAコントローラ3は、RAM2からデータを読み出すと、このデータが暗号化されている場合には(ステップS10、YES)、復号回路10にデータを転送する。そしてDMAコントローラ3は復号回路10に対して、当該データについての復号化を命令する(ステップS11)。またこの際には、必要な復号鍵を復号回路10に与えるよう、メモリ12に対して命令する。ステップS11の命令に応答して、復号回路10は復号鍵を用いてデータの復号化を行う。   As shown in the figure, when the data is read from the RAM 2, the DMA controller 3 transfers the data to the decryption circuit 10 when the data is encrypted (step S10, YES). Then, the DMA controller 3 instructs the decoding circuit 10 to decode the data (step S11). At this time, the memory 12 is instructed to give the necessary decryption key to the decryption circuit 10. In response to the instruction in step S11, the decryption circuit 10 decrypts the data using the decryption key.

更にDMAコントローラ3は、転送モード信号MODEを“1”として、保護転送を行う(ステップS12)。転送モード信号MODEを“1”とすることでDMAコントローラ3は、セレクタ装置13の第1セレクタ20に対して、属性付加装置11から出力される秘密データを選択するよう命令する(ステップS13)。また第2セレクタ21に対して、属性付加装置11から出力される第1、第2属性情報Attr1、Attr2を選択するよう命令する(ステップS14)。   Further, the DMA controller 3 sets the transfer mode signal MODE to “1” and performs protected transfer (step S12). By setting the transfer mode signal MODE to “1”, the DMA controller 3 instructs the first selector 20 of the selector device 13 to select the secret data output from the attribute adding device 11 (step S13). Further, the second selector 21 is instructed to select the first and second attribute information Attr1 and Attr2 output from the attribute adding device 11 (step S14).

以上の結果、バス14には、復号回路10で復号された秘密データが書き込みデータWrite_Dataとして出力され、暗号化されたデータに格納されていた転送先情報が第1属性情報Attr1として出力され、“1”が第2属性情報Attr2として出力される。   As a result, the secret data decrypted by the decryption circuit 10 is output to the bus 14 as the write data Write_Data, and the transfer destination information stored in the encrypted data is output as the first attribute information Attr1. 1 ″ is output as the second attribute information Attr2.

ステップS10において、データが暗号化されていない場合には(ステップS10、NO)、DMAコントローラ3は転送モード信号MODEを“0”として、通常転送を行う(ステップS15)。転送モード信号MODEを“0”とすることでDMAコントローラ3は、セレクタ装置13の第1セレクタ20に対して、DMAコントローラ3から出力されるデータを選択するよう命令する(ステップS16)。また第2セレクタ21に対して、第1、第2属性情報Attr1、Attr2として“0”を選択するよう命令する(ステップS17)。   In step S10, if the data is not encrypted (step S10, NO), the DMA controller 3 sets the transfer mode signal MODE to “0” and performs normal transfer (step S15). By setting the transfer mode signal MODE to “0”, the DMA controller 3 instructs the first selector 20 of the selector device 13 to select data output from the DMA controller 3 (step S16). Further, the second selector 21 is instructed to select “0” as the first and second attribute information Attr1 and Attr2 (step S17).

以上の結果、バス14には、RAM2から読み出されたデータがそのまま書き込みデータWrite_Dataとして出力され、“0”が第1属性情報Attr1及び第2属性情報Attr2として出力される。   As a result, the data read from the RAM 2 is output to the bus 14 as it is as the write data Write_Data, and “0” is output as the first attribute information Attr1 and the second attribute information Attr2.

<データブロッカー6〜9の詳細について>
次に、データブロッカー6〜9の詳細について、図4を用いて説明する。図4は、データブロッカー6〜9の動作を示すフローチャートである。
<Details of data blockers 6-9>
Next, details of the data blockers 6 to 9 will be described with reference to FIG. FIG. 4 is a flowchart showing the operation of the data blockers 6-9.

データブロッカー6〜9はそれぞれ、バス14の出口OUT1〜OUT4から出力される信号のデータを受け取ると、まず当該データが暗号化された状態から復号されたデータであるか否かを確認する。すなわち第2属性情報Attr2が“1”であるか否かを確認する。   When the data blockers 6 to 9 receive the data of the signals output from the outlets OUT1 to OUT4 of the bus 14, respectively, the data blockers 6 to 9 first check whether or not the data is decrypted from the encrypted state. That is, it is confirmed whether or not the second attribute information Attr2 is “1”.

復号化されたデータでなかった場合、すなわちAttr2=“0”であった場合には(ステップS20、NO)、データブロッカー6〜9は、対応するハードウェアに対する当該データの転送を許可する(ステップS21)。すなわち、バス14から出力されたデータを、当該データブロッカー6〜9に接続されたハードウェアへ転送する。   When the data is not decrypted, that is, when Attr2 = "0" (step S20, NO), the data blockers 6 to 9 permit transfer of the data to the corresponding hardware (step S20). S21). That is, the data output from the bus 14 is transferred to the hardware connected to the data blockers 6-9.

他方、復号化されたデータであった場合、すなわちAttr2=“1”であった場合には(ステップS20、YES)、データブロッカー6〜9は次に、それぞれに対応するハードウェアが、当該データの転送先として許可されているか否かを判定する。すなわち、第2属性情報Attr1が転送先識別番号DstNoと一致するか否かを判定する。   On the other hand, when the data is decrypted, that is, when Attr2 = “1” (step S20, YES), the data blockers 6 to 9 are next connected to the corresponding hardware. It is determined whether or not the transfer destination is permitted. That is, it is determined whether or not the second attribute information Attr1 matches the transfer destination identification number DstNo.

一致した場合、すなわちAttr1=DstNoであった場合には(ステップS22、YES)、ステップS21の処理を行う。他方、不一致であった場合、すなわちAttr1≠DstNoであった場合には(ステップS22、NO)、データブロッカー6〜9は、対応するハードウェアに対する当該データの転送を遮断する(ステップS23)。   When they match, that is, when Attr1 = DstNo (step S22, YES), the process of step S21 is performed. On the other hand, when there is a mismatch, that is, when Attr1 ≠ DstNo (step S22, NO), the data blockers 6 to 9 block the transfer of the data to the corresponding hardware (step S23).

以上の処理によりデータブロッカー6〜9は、復号化された秘密データが、転送を許可されていないハードウェアに転送されることを防止する。   Through the above processing, the data blockers 6 to 9 prevent the decrypted secret data from being transferred to hardware that is not permitted to transfer.

<LSI1の動作について>
次に、上記構成のLSI1におけるデータ転送方法について、RAM2からハードウェアエンジン4へのデータ転送の場合を例に挙げて、保護転送の場合と通常転送の場合とに分けて、以下説明する。他のハードウェア間のデータ転送も同様である。
<Operation of LSI 1>
Next, the data transfer method in the LSI 1 having the above configuration will be described below by taking the case of data transfer from the RAM 2 to the hardware engine 4 as an example and dividing it into the case of the protected transfer and the case of the normal transfer. The same applies to data transfer between other hardware.

<保護転送について>
まず保護転送について、図5を用いて説明する。図5は、LSI1における処理の流れを示すフローチャートである。処理の流れは大まかに、暗号化されたデータのRAM2からDMAコントローラ3への転送、復号化と属性情報の設定、及び復号化されたデータのDMAコントローラ3からハードウェアエンジン4への転送、の3つのステップを含む。以下、順次説明する。
<About protected transfer>
First, protected transfer will be described with reference to FIG. FIG. 5 is a flowchart showing the flow of processing in the LSI 1. The flow of processing is roughly as follows: transfer of encrypted data from the RAM 2 to the DMA controller 3, decryption and setting of attribute information, and transfer of the decrypted data from the DMA controller 3 to the hardware engine 4. Includes three steps. Hereinafter, description will be made sequentially.

まず、暗号化されたデータのRAM2からDMAコントローラ3への転送が行われる。すなわち、DMAコントローラ3がRAM2から暗号化されたデータを読み出す(ステップS30)。この際、暗号化されたデータはハードウェアエンジン4への転送を許可されたデータであり、転送先情報としてDstNo=“3”を保持していたとする。バス14は、DMAコントローラ3の命令に応答して、Attr2=“0”として、暗号化されたデータをデータブロッカー7へ転送する(ステップS31)。データブロッカー7は、Attr2=“0”であるので、暗号化されたデータをそのままDMAコントローラ3へ転送する(ステップS32)。   First, the encrypted data is transferred from the RAM 2 to the DMA controller 3. That is, the DMA controller 3 reads the encrypted data from the RAM 2 (step S30). At this time, it is assumed that the encrypted data is data permitted to be transferred to the hardware engine 4 and holds DstNo = “3” as transfer destination information. In response to the instruction from the DMA controller 3, the bus 14 sets Attr2 = "0" and transfers the encrypted data to the data blocker 7 (step S31). Since Attr2 = “0”, the data blocker 7 transfers the encrypted data as it is to the DMA controller 3 (step S32).

次に、復号化と属性情報の設定が行われる。すなわちDMAコントローラ3は、復号回路10に対して、暗号化されたデータの復号化を命令する(ステップS33)。またDMAコントローラ3は、MODE=“1”として保護転送を開始する(ステップS34)。そして復号回路10が、DMAコントローラ3から与えられる暗号化されたデータを復号化して、属性付加装置11へ出力する(ステップS35)。引き続き属性付加装置11は、Attr2=“1”とする。また、当該データの転送先情報“3”をAttr1に設定する(ステップS36)。   Next, decoding and setting of attribute information are performed. That is, the DMA controller 3 instructs the decryption circuit 10 to decrypt the encrypted data (step S33). The DMA controller 3 starts protected transfer with MODE = "1" (step S34). Then, the decryption circuit 10 decrypts the encrypted data given from the DMA controller 3 and outputs it to the attribute adding device 11 (step S35). Subsequently, the attribute adding device 11 sets Attr2 = “1”. Further, the transfer destination information “3” of the data is set to Attr1 (step S36).

次に、復号化されたデータのDMAコントローラ3からハードウェアエンジン4へのデータ転送が行われる。すなわちセレクタ装置13が、属性付加装置11から出力される秘密データと、Attr1=“3”及びAttr2=“1”とを選択して、バス14へ出力する。そしてバス14は、セレクタ装置13から出力された秘密データ(書き込みデータWrite_Data)と、Attr1及びAttr2とを、転送先であるハードウェアエンジン4に対応するデータブロッカー8へと転送する(ステップS38)。するとデータブロッカー8は、Attr2=“1”であり、且つAttr2=DstNo=“3”であるので、当該秘密データは転送を許可されたものと認識し、秘密データをハードウェアエンジン4へ転送する(ステップS39)。   Next, data transfer of the decoded data from the DMA controller 3 to the hardware engine 4 is performed. That is, the selector device 13 selects the secret data output from the attribute adding device 11, Attr1 = "3" and Attr2 = "1", and outputs the selected data to the bus 14. The bus 14 transfers the secret data (write data Write_Data) output from the selector device 13 and Attr1 and Attr2 to the data blocker 8 corresponding to the hardware engine 4 that is the transfer destination (step S38). Then, since the data blocker 8 is Attr2 = “1” and Attr2 = DstNo = “3”, the data blocker 8 recognizes that the secret data is permitted to be transferred and transfers the secret data to the hardware engine 4. (Step S39).

以上によって、RAM2において暗号化された秘密データが、ハードウェアエンジン4へ転送される。なお、この秘密データがデータブロッカー6、7、9に転送されたとしても、データブロッカー6、7、9においてはAttr1がDstNoに一致しないので、データブロッカー6、7、9は、RAM2、DMAコントローラ3、及びハードウェアエンジン5への当該秘密データの転送を遮断する(ステップS40)。   Thus, the secret data encrypted in the RAM 2 is transferred to the hardware engine 4. Even if this secret data is transferred to the data blockers 6, 7, and 9, since Attr1 does not match DstNo in the data blockers 6, 7, and 9, the data blockers 6, 7, and 9 are stored in the RAM 2, DMA controller. 3 and the transfer of the secret data to the hardware engine 5 is blocked (step S40).

<通常転送について>
次に通常転送について説明する。通常転送の場合にも、まず上記ステップS30〜S32の処理が行われて、データがDMAコントローラ3へ転送される。但し、データは暗号化されていないデータである。
<Regarding normal transfer>
Next, normal transfer will be described. Also in the case of normal transfer, first, the processes of steps S30 to S32 are performed, and the data is transferred to the DMA controller 3. However, the data is unencrypted data.

そしてセレクタ装置13は、Attr1=“0”、Attr2=“0”として、これらのAttr1、Attr2と、DMAコントローラ3から出力されるデータとをバス14へ出力する。するとデータブロッカー8は、Attr2=“0”であるので、Attr1を確認することなく、当該データをハードウェアエンジン4へ転送する。   The selector device 13 sets Attr1 = “0” and Attr2 = “0”, and outputs the Attr1 and Attr2 and the data output from the DMA controller 3 to the bus 14. The data blocker 8 then transfers the data to the hardware engine 4 without confirming Attr1 because Attr2 = "0".

<効果>
本実施形態に係るLSI1であると、下記(1)の効果が得られる。
<Effect>
With the LSI 1 according to the present embodiment, the following effect (1) can be obtained.

(1)データの秘匿性を確保しつつ、複数のセキュリティ区分に対応出来る。
上記非特許文献1で開示された構成であると、背景技術で説明したとおり、保護すべきデータを転送出来るハードウェアは、LSIの製造時に決定される。従って、あるハードウェアに対してデータの転送を許可するか遮断するかは、暗号化されているか否かによってのみ決定される。そのため、秘匿性は十分に確保出来るが、複数のセキュリティ区分に対応することが困難であった。
(1) It is possible to cope with a plurality of security classifications while ensuring data confidentiality.
With the configuration disclosed in Non-Patent Document 1, the hardware capable of transferring data to be protected is determined when the LSI is manufactured, as described in the background art. Therefore, whether to allow or block data transfer to a certain hardware is determined only by whether or not the data is encrypted. Therefore, although secrecy can be sufficiently secured, it has been difficult to cope with a plurality of security classifications.

この点、本実施形態に係る構成であると、秘密データと共に転送先情報を合わせて暗号化している。転送先情報とは、当該秘密データの転送を許可するハードウェアの情報である。更に復号化した後、転送先情報を第1属性情報Attr1として秘密データに付加して、バス14へ出力する。そしてデータブロッカー6〜9は、付加された第1属性情報Attr1が各々の転送先識別番号DstNoと一致した場合にのみ、秘密データの転送を許可する。   In this respect, the configuration according to the present embodiment encrypts the transfer destination information together with the secret data. The transfer destination information is hardware information that permits transfer of the secret data. After further decryption, the transfer destination information is added to the secret data as the first attribute information Attr1, and is output to the bus 14. The data blockers 6 to 9 permit the transfer of the secret data only when the added first attribute information Attr1 matches each transfer destination identification number DstNo.

従って、暗号化されたデータの各々について、転送先となるハードウェアを自由に決定出来る。つまり、暗号化されたあるデータについてはあるハードウェアに対して転送を許可し、暗号化された別のデータについては別のハードウェアに対して転送を許可する、といった設定が可能となる。   Therefore, it is possible to freely determine hardware as a transfer destination for each encrypted data. In other words, it is possible to set such that transfer of certain encrypted data is permitted to a certain hardware, and transfer of another encrypted data is permitted to another hardware.

また、付加された第1属性情報Attr1が各々の転送先識別番号DstNoと一致しない場合には、データブロッカー6〜9は秘密データの転送を遮断する。従って、秘密データの秘匿性も十分に確保出来る。   Further, when the added first attribute information Attr1 does not match each transfer destination identification number DstNo, the data blockers 6 to 9 block the transfer of the secret data. Therefore, the confidentiality of the secret data can be sufficiently secured.

よって、データの秘匿性を十分に確保しつつ、複数のセキュリティ区分に対応することが可能となる。   Therefore, it is possible to cope with a plurality of security classifications while sufficiently securing data confidentiality.

[第2の実施形態]
次に、この発明の第2の実施形態に係る半導体集積回路装置、バス装置、及びデータ転送方法について説明する。本実施形態は、上記第1の実施形態において、暗号化されたデータにハッシュ(hush)を埋め込んだものである。図6は、本実施形態に係るLSI1のブロック図である。以下では、第1の実施形態と異なる点についてのみ説明する。
[Second Embodiment]
Next explained is a semiconductor integrated circuit device, a bus device and a data transfer method according to the second embodiment of the invention. In the present embodiment, a hash is embedded in the encrypted data in the first embodiment. FIG. 6 is a block diagram of the LSI 1 according to the present embodiment. Hereinafter, only differences from the first embodiment will be described.

図示するように、本実施形態に係る暗号化されたデータは、秘密データ及び転送先情報(Attr1)に加えて、ハッシュ値を備えており、これらが暗号化されている。また本実施形態に係るLSI1は、ハッシュ値確認回路15を備えている。ハッシュ値確認回路15について、図7を用いて説明する。図7は、ハッシュ値確認回路15の動作を示すフローチャートである。   As illustrated, the encrypted data according to the present embodiment includes a hash value in addition to the secret data and the transfer destination information (Attr1), and these are encrypted. Further, the LSI 1 according to the present embodiment includes a hash value confirmation circuit 15. The hash value confirmation circuit 15 will be described with reference to FIG. FIG. 7 is a flowchart showing the operation of the hash value confirmation circuit 15.

図示するようにハッシュ値確認回路15は、まず復号化されたデータ(秘密データ、転送先情報、及びハッシュ値)を、復号回路10から受信する(ステップS50)。そして復号化されたデータにおいて、ハッシュ値を確認する(ステップS51)。   As illustrated, the hash value confirmation circuit 15 first receives the decrypted data (secret data, transfer destination information, and hash value) from the decryption circuit 10 (step S50). Then, the hash value is confirmed in the decrypted data (step S51).

ステップS51の結果、復号化された秘密データがハッシュ値と一致しなかった場合(ステップS52、NO)、ハッシュ値確認回路15はDMAコントローラ3に対して、当該データの転送を禁止する(ステップS53)。この場合、復号化されたデータが属性付加装置11へ転送されなくても良い。   As a result of step S51, when the decrypted secret data does not match the hash value (step S52, NO), the hash value confirmation circuit 15 prohibits the DMA controller 3 from transferring the data (step S53). ). In this case, the decrypted data may not be transferred to the attribute adding device 11.

他方、ステップS51の結果、復号化された秘密データがハッシュ値と一致した場合(ステップS52、YES)、ハッシュ値確認回路15は当該データの転送を許可し、復号化された秘密データと転送先情報とを属性付加装置11へ転送する(ステップS54)。   On the other hand, as a result of step S51, when the decrypted secret data matches the hash value (step S52, YES), the hash value confirmation circuit 15 permits the transfer of the data, and the decrypted secret data and the transfer destination The information is transferred to the attribute adding device 11 (step S54).

<効果>
本実施形態に係るLSI1であると、第1の実施形態で説明した(1)の効果に加えて、下記(2)の効果が得られる。
<Effect>
In the LSI 1 according to the present embodiment, the following effect (2) is obtained in addition to the effect (1) described in the first embodiment.

(2)データの改竄耐性を高めることが出来る。
本実施形態に係る構成であると、秘密データと共にハッシュ値を合わせて暗号化している。そしてデータを復号化した後、ハッシュ値確認回路15が、秘密データとハッシュ値とを比較し、両者が一致した場合にのみ、秘密データの転送を許可する。従って、秘密データが改竄されたような場合にはデータの転送が遮断され、データの改竄耐性を向上出来る。
(2) The falsification resistance of data can be increased.
In the configuration according to the present embodiment, the hash value together with the secret data is encrypted. After the data is decrypted, the hash value confirmation circuit 15 compares the secret data with the hash value, and permits the transfer of the secret data only when they match. Therefore, when the secret data is falsified, the data transfer is blocked, and the data falsification resistance can be improved.

[第3の実施形態]
次に、この発明の第3の実施形態に係る半導体集積回路装置、バス装置、及びデータ転送方法について説明する。本実施形態は、上記第1、第2の実施形態において、秘密データ転送後におけるバスの取り扱いに関するものである。以下では、第1、第2の実施形態と異なる点についてのみ説明する。
[Third Embodiment]
Next explained is a semiconductor integrated circuit device, a bus device and a data transfer method according to the third embodiment of the invention. This embodiment relates to the handling of the bus after the secret data transfer in the first and second embodiments. Hereinafter, only differences from the first and second embodiments will be described.

図8は、本実施形態に係るバス14の内部構成を模式的に示すブロック図である。図示するようにバス14は、複数のフリップフロップ30が直列接続された構成を有している。そしてデータは、フリップフロップ30を順次転送されることで、宛先となるハードウェアへ伝送される。バス14は更に、最前段のフリップフロップ30の前段に設けられたセレクタ31を備えている。セレクタ31は、第1属性情報Attr1に応じて、転送すべきデータと“0”とのいずれかを選択して、最前段のフリップフロップ30に入力する。より具体的には、Attr1=“7”とされた場合には“0”を選択し、それ以外の場合には転送すべきデータを選択する。   FIG. 8 is a block diagram schematically showing the internal configuration of the bus 14 according to the present embodiment. As illustrated, the bus 14 has a configuration in which a plurality of flip-flops 30 are connected in series. Then, the data is sequentially transferred through the flip-flop 30 to be transmitted to the destination hardware. The bus 14 further includes a selector 31 provided in front of the front-stage flip-flop 30. The selector 31 selects either data to be transferred or “0” in accordance with the first attribute information Attr1, and inputs the selected data to the flip-flop 30 at the foremost stage. More specifically, “0” is selected when Attr1 = “7”, and data to be transferred is selected otherwise.

次に、本実施形態に係るDMAコントローラ3の動作について、図9を用いて説明する。図9は、復号化されたデータの転送直後におけるDMAコントローラ3の動作を示すフローチャートである。   Next, the operation of the DMA controller 3 according to the present embodiment will be described with reference to FIG. FIG. 9 is a flowchart showing the operation of the DMA controller 3 immediately after the transfer of the decoded data.

図示するようにDMAコントローラ3は、復号化されたデータの転送が終了すると、疑似転送を開始する(ステップS60)。疑似転送とは、いずれかのハードウェアにデータを転送することなく、バス14内のフリップフロップ30内に固定データを転送する処理である。疑似転送を命令するためにDMAコントローラ3は、第1属性情報Attr1を“7”として(Attr1の全ビットを“1”として)、セレクタ装置13からバス14へ出力する(ステップS61)。Attr1が“7”とされると、セレクタ装置13は疑似転送が開始されたことを認識して、バス14に書き込みデータを出力しない。またはセレクタ装置13によって書き込みデータが出力されたとしても、バス14は書き込みデータを受け付けない。   As shown in the drawing, the DMA controller 3 starts the pseudo transfer when the transfer of the decrypted data is completed (step S60). The pseudo transfer is a process of transferring fixed data into the flip-flop 30 in the bus 14 without transferring data to any hardware. In order to instruct the pseudo transfer, the DMA controller 3 sets the first attribute information Attr1 to “7” (all bits of Attr1 are set to “1”), and outputs it from the selector device 13 to the bus 14 (step S61). When Attr1 is set to “7”, the selector device 13 recognizes that the pseudo transfer has started and does not output write data to the bus 14. Alternatively, even if write data is output by the selector device 13, the bus 14 does not accept the write data.

Attr1=“7”を受信したバス14において、セレクタ31は“0”を選択して、フリップフロップ30へ順次転送する(ステップS62)。その結果、バス14に含まれる全フリップフロップ30には“0”が格納される(ステップS63)。   In the bus 14 that has received Attr1 = "7", the selector 31 selects "0" and sequentially transfers it to the flip-flop 30 (step S62). As a result, “0” is stored in all the flip-flops 30 included in the bus 14 (step S63).

<効果>
本実施形態に係るLSI1であると、第1、第2の実施形態で説明した(1)、(2)の効果に加えて、下記(3)の効果が得られる。
<Effect>
In the LSI 1 according to the present embodiment, the following effect (3) is obtained in addition to the effects (1) and (2) described in the first and second embodiments.

(3)データの秘匿性をより向上出来る。
通常、バス14はフリップフロップの集合によって構成される。そして、データの転送後、場合によってフリップフロップには転送したデータが残ってしまうことがある。すると、秘密データがフリップフロップに残ってしまった場合、外部から強制的にバスにアクセスすることで、秘密データが漏洩する恐れがある。
(3) The confidentiality of data can be further improved.
Usually, the bus 14 is constituted by a set of flip-flops. After the data transfer, the transferred data may remain in the flip-flop in some cases. Then, if the secret data remains in the flip-flop, the secret data may be leaked by forcibly accessing the bus from the outside.

しかし、本実施形態に係る構成であると、DMAコントローラ3は秘密データの転送後、バス14内のフリップフロップ30に固定値“0”を格納している(疑似転送)。すなわち、バス14を初期化している。従って、フリップフロップ30から秘密データが漏洩することを防止し、データの秘匿性をより向上出来る。   However, in the configuration according to the present embodiment, the DMA controller 3 stores the fixed value “0” in the flip-flop 30 in the bus 14 after transferring the secret data (pseudo transfer). That is, the bus 14 is initialized. Accordingly, it is possible to prevent the secret data from leaking from the flip-flop 30 and further improve the confidentiality of the data.

なお、疑似転送においてフリップフロップ30に格納するデータは“0”に限られるものでは無く、例えば“1”や、ランダムデータであっても良い。また、上記実施形態では疑似転送を行う際、Attr1の全ビットを“1”にする場合を例に説明したが、勿論、この場合に限られるものでないし、例えば疑似転送専用のビットを加えても良いし、または専用の信号を設けても良い。   Note that the data stored in the flip-flop 30 in the pseudo transfer is not limited to “0”, and may be “1” or random data, for example. In the above embodiment, when performing pseudo transfer, the case where all bits of Attr1 are set to “1” has been described as an example. However, of course, the present invention is not limited to this, and for example, a bit dedicated to pseudo transfer is added. Alternatively, a dedicated signal may be provided.

また、セレクタ31は各フリップフロップ30に対して設けられても良い。このような場合の構成を図10に示す。図10はバス14のブロック図である。図示するように、各フリップフロップ30の入力段にセレクタ31が設けられている。本構成とすれば、“0”を複数のフリップフロップ30に順次転送する必要が無く、疑似転送を高速に行うことが出来る。勿論、全てのフリップフロップ30に設けるのでは無く、複数個おきに設けても良い。   The selector 31 may be provided for each flip-flop 30. The configuration in such a case is shown in FIG. FIG. 10 is a block diagram of the bus 14. As shown in the figure, a selector 31 is provided at the input stage of each flip-flop 30. With this configuration, it is not necessary to sequentially transfer “0” to the plurality of flip-flops 30 and pseudo transfer can be performed at high speed. Of course, it is not necessary to provide all the flip-flops 30, but it may be provided every other plurality.

以上のように、この発明の第1乃至第3の実施形態に係る半導体集積回路装置であると、秘密データを、当該秘密データの転送先を示す第1属性情報と共に暗号化している。更に属性付加装置11が、暗号化されたデータが復号化された旨を示す第2属性情報と、前記第1属性情報とを、復号化された秘密データに付加している。そしてデータブロッカー6〜9が、転送されたデータが平文に戻されたデータであって、且つ第1属性情報によって示される転送先が対応するハードウェア2〜5と不一致であった場合に、このデータの転送を遮断する。   As described above, in the semiconductor integrated circuit device according to the first to third embodiments of the present invention, the secret data is encrypted together with the first attribute information indicating the transfer destination of the secret data. Further, the attribute adding device 11 adds the second attribute information indicating that the encrypted data has been decrypted and the first attribute information to the decrypted secret data. When the data blockers 6 to 9 are transferred data in plain text, and the transfer destination indicated by the first attribute information is inconsistent with the corresponding hardware 2 to 5, Block data transfer.

従って、暗号化されたデータの各々について、転送先となるハードウェアを自由に決定出来る。その結果、データの秘匿性を十分に確保しつつ、複数のセキュリティ区分に対応することが可能となる。   Therefore, it is possible to freely determine hardware as a transfer destination for each encrypted data. As a result, it is possible to cope with a plurality of security classifications while sufficiently securing data confidentiality.

なお、上記第1乃至第3の実施形態では、転送先識別番号DstNoは、各データブロッカー6〜9が対応するハードウェア2〜5に応じて付加される番号である場合を例に説明した。しかし、ハードウェアに応じる代わりに、バス14の出口OUT1〜OUT4に応じて付加される番号であっても同様である。また、第1属性情報Attr1がハードウェアのアドレスそのものである場合には、データブロッカー6〜9は第1属性情報Attr1とアドレス信号Addressとを比較すれば良い。   In the first to third embodiments, the transfer destination identification number DstNo is described as an example in which the data blockers 6 to 9 are numbers added according to the corresponding hardware 2 to 5. However, the same applies to numbers added according to the outlets OUT1 to OUT4 of the bus 14 instead of depending on the hardware. If the first attribute information Attr1 is a hardware address itself, the data blockers 6 to 9 may compare the first attribute information Attr1 and the address signal Address.

更に、データブロッカー6〜9はバス14の内部に設けられても良い。このようなバス14の構成を図11に示す。なお図11では、バス14の出口とそれに対応したデータブロッカー6〜9のみを図示しており、インタフェース等の記載は省略している。図示するようにバス14は、データを転送するデータ転送線40と、前述のデータブロッカー6〜9とを備えている。そしてデータブロッカー6〜9は、データ転送線40によって転送されるデータに含まれる情報(Attr1、Attr2)に基づいて、データが平文に戻されたデータであって、且つ対応する半導体装置(RAM2、DMAコントローラ3、及びハードウェアエンジン4、5)への転送を禁止されたデータであった場合に、半導体装置への転送を遮断する。   Further, the data blockers 6 to 9 may be provided inside the bus 14. The configuration of such a bus 14 is shown in FIG. In FIG. 11, only the exit of the bus 14 and the corresponding data blockers 6 to 9 are shown, and the description of the interface and the like is omitted. As shown in the figure, the bus 14 includes a data transfer line 40 for transferring data and the data blockers 6 to 9 described above. The data blockers 6 to 9 are data whose data has been returned to plaintext based on information (Attr1, Attr2) included in the data transferred by the data transfer line 40, and corresponding semiconductor devices (RAM2, When the data is prohibited from being transferred to the DMA controller 3 and the hardware engines 4 and 5), the transfer to the semiconductor device is blocked.

また、転送先を示す第1属性情報Attr1は、転送先識別番号DstNoそのもので無くても良い。すなわち、例えばAttr1は4ビットの信号であって、各ビットがRAM2、DMAコントローラ3、及びハードウェアエンジン4、5に対応し、“1”とされたビットに対応するハードウェアに対して転送が許可されるようにしても良い。例えばAttr1=(b1、b2、b3、b4)であって、b1〜b4の各々がRAM2、DMAコントローラ3、及びハードウェアエンジン4、5に対応していると仮定する。すると、Attr1=(1000)であれば、RAM2への転送は許可され、DMAコントローラ3及びハードウェアエンジン4、5への転送は遮断される。また、Attr1=(1110)であれば、RAM2、DMAコントローラ3及びハードウェアエンジン4への転送は許可され、ハードウェアエンジン5への転送は遮断される。つまりデータブロッカー6〜9は、自身の対応するビットb1〜b4のいずれかを確認し、そのビットが“1”であれば転送を許可し、“0”であれば遮断する。この場合、例えばAttr1=(0000)の場合に疑似転送を行うものとしても良い。   Further, the first attribute information Attr1 indicating the transfer destination may not be the transfer destination identification number DstNo itself. That is, for example, Attr1 is a 4-bit signal, and each bit corresponds to RAM2, DMA controller 3, and hardware engines 4 and 5, and is transferred to the hardware corresponding to the bit set to “1”. It may be allowed. For example, it is assumed that Attr1 = (b1, b2, b3, b4), and each of b1 to b4 corresponds to the RAM 2, the DMA controller 3, and the hardware engines 4, 5. Then, if Attr1 = (1000), the transfer to the RAM 2 is permitted, and the transfer to the DMA controller 3 and the hardware engines 4 and 5 is blocked. If Attr1 = (1110), transfer to the RAM 2, the DMA controller 3, and the hardware engine 4 is permitted, and transfer to the hardware engine 5 is blocked. That is, the data blockers 6 to 9 check any of their corresponding bits b1 to b4, and if the bit is “1”, transfer is permitted, and if it is “0”, the data blocker 6 to 9 is blocked. In this case, for example, pseudo transfer may be performed when Attr1 = (0000).

すなわちバス14は、外部から入力されたデータを順次転送する複数の保持回路30を備え、転送回路3は、データの転送終了後、ある要求(例えばバス初期化命令)をバス14に出力し、この要求に従ってバス14は、保持回路30の一部または全部を、あらかじめ定めされた一定の値で上書きする。   That is, the bus 14 includes a plurality of holding circuits 30 that sequentially transfer data input from the outside, and the transfer circuit 3 outputs a request (for example, a bus initialization command) to the bus 14 after the data transfer is completed. In accordance with this request, the bus 14 overwrites part or all of the holding circuit 30 with a predetermined value.

なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。   Note that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Furthermore, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention Can be extracted as an invention.

この発明の第1の実施形態に係るLSIのブロック図。1 is a block diagram of an LSI according to a first embodiment of the present invention. この発明の第1の実施形態に係るバスにおける信号を示す概念図。The conceptual diagram which shows the signal in the bus | bath which concerns on 1st Embodiment of this invention. この発明の第1の実施形態に係るDMAコントローラの動作を示すフローチャート。5 is a flowchart showing the operation of the DMA controller according to the first embodiment of the present invention. この発明の第1の実施形態に係るデータブロッカーの動作を示すフローチャート。The flowchart which shows operation | movement of the data blocker which concerns on 1st Embodiment of this invention. この発明の第1の実施形態に係るLSIの動作を示すフローチャート。3 is a flowchart showing the operation of the LSI according to the first embodiment of the present invention. この発明の第2の実施形態に係るLSIのブロック図。The block diagram of LSI concerning the 2nd Embodiment of this invention. この発明の第2の実施形態に係るハッシュ値確認回路の動作を示すフローチャート。The flowchart which shows operation | movement of the hash value confirmation circuit which concerns on 2nd Embodiment of this invention. この発明の第3の実施形態に係るバスのブロック図。The block diagram of the bus | bath which concerns on 3rd Embodiment of this invention. この発明の第3の実施形態に係るDMAコントローラとバスの動作を示すフローチャート。10 is a flowchart showing operations of a DMA controller and a bus according to a third embodiment of the present invention. この発明の第3の実施形態の変形例に係るバスのブロック図。The block diagram of the bus | bath which concerns on the modification of 3rd Embodiment of this invention. この発明の第1乃至第3の実施形態の変形例に係るバスのブロック図。The block diagram of the bus | bath which concerns on the modification of the 1st thru | or 3rd Embodiment of this invention.

符号の説明Explanation of symbols

1…LSI、2…RAM、3…DMAコントローラ、4、5…ハードウェアエンジン4、6〜9…データブロッカー、10…復号回路、11…属性付加装置、12…メモリ、13…セレクタ装置、14…バス、15…ハッシュ値確認回路、20、21、31…セレクタ、30…フリップフロップ30、40…データ転送線   DESCRIPTION OF SYMBOLS 1 ... LSI, 2 ... RAM, 3 ... DMA controller 4, 5 ... Hardware engine 4, 6-9 ... Data blocker, 10 ... Decoding circuit, 11 ... Attribute addition apparatus, 12 ... Memory, 13 ... Selector apparatus, 14 ... Bus 15 ... Hash value confirmation circuit 20, 21, 31 ... Selector 30 ... Flip-flop 30, 40 ... Data transfer line

Claims (5)

半導体装置と、
データの転送先を示す第1属性情報を含み且つ暗号化されたデータを復号化すると共に、復号した旨を示す第2属性情報を、復号化した前記データに付加する復号回路と、
前記復号回路で復号化された前記データを、前記第2属性情報と共に前記半導体装置へ転送する転送回路と、
前記半導体装置と前記転送回路との間をデータ転送可能に接続するバス装置と、
前記転送回路によって前記バス装置を介して転送された前記データにつき、前記第1属性情報及び第2属性情報を確認して、該データが暗号化された状態から復号化されたデータであって、且つ前記第1属性情報によって示される前記転送先が前記半導体装置と不一致であった場合に、前記データの前記半導体装置への転送を遮断する遮断装置と
を具備することを特徴する半導体集積回路装置。
A semiconductor device;
A decryption circuit including first attribute information indicating a data transfer destination and decrypting the encrypted data, and adding second attribute information indicating the decryption to the decrypted data;
A transfer circuit for transferring the data decoded by the decoding circuit to the semiconductor device together with the second attribute information;
A bus device that connects the semiconductor device and the transfer circuit so that data can be transferred;
For the data transferred via the bus device by the transfer circuit, the first attribute information and the second attribute information are confirmed, and the data is decrypted from an encrypted state, And a shut-off device that shuts off transfer of the data to the semiconductor device when the transfer destination indicated by the first attribute information does not match the semiconductor device. .
前記データはハッシュ値を更に含み、
前記復号回路において復号化された前記データと前記ハッシュ値とを比較し、両者が不一致であった場合に、該データの転送を中止するハッシュ値確認回路を更に備える
ことを特徴とする請求項1記載の半導体集積回路装置。
The data further includes a hash value;
The hash value confirmation circuit that compares the data decrypted by the decryption circuit with the hash value and stops transfer of the data when they do not match is further provided. The semiconductor integrated circuit device described.
前記バス装置は、外部から入力されたデータを順次転送する複数の保持回路を備え、
前記転送回路は、前記データの転送終了後、予め定められた一定のデータを前記バス装置へ転送する
ことを特徴とする請求項1記載の半導体集積回路装置。
The bus device includes a plurality of holding circuits that sequentially transfer data input from the outside,
The semiconductor integrated circuit device according to claim 1, wherein the transfer circuit transfers predetermined data to the bus device after completion of the data transfer.
半導体装置に接続可能とされ、前記半導体装置にデータを転送するバス装置であって、
外部から与えられる前記データを転送するデータ転送線と、
前記データ転送線によって転送された前記データに含まれる情報に基づいて、前記データが暗号化された状態から平文に戻されたデータであって且つ前記半導体装置への転送を禁止されたデータであると判断した場合に、前記半導体装置への転送を遮断する遮断装置と
を具備することを特徴とするバス装置。
A bus device that is connectable to a semiconductor device and transfers data to the semiconductor device,
A data transfer line for transferring the data given from the outside;
Based on information included in the data transferred by the data transfer line, the data is returned to plain text from an encrypted state and is prohibited from being transferred to the semiconductor device. And a blocking device that blocks transfer to the semiconductor device when it is determined.
転送先を示す第1属性情報を含み且つ暗号化された第1データを復号化して第2データを得るステップと、
前記第2データに対して、復号した旨を示す第2属性情報を付加して第3データを得るステップと、
半導体装置を転送先として、前記第3データをバス装置へ転送するステップと、
前記バス装置へ転送されたデータにつき、前記第1属性情報及び第2属性情報をチェックするステップと、
前記第1属性情報及び第2属性情報をチェックした結果、前記第3データが暗号化された状態から復号化されたデータであって、且つ前記第1属性情報の示す転送先が前記半導体装置と不一致であった場合、該第3データの前記半導体装置への転送を遮断し、それ以外の場合には該第3データの前記半導体装置への転送を許可するステップと
を具備することを特徴とするデータ転送方法。
Decrypting the encrypted first data including the first attribute information indicating the transfer destination to obtain the second data;
Adding second attribute information indicating decryption to the second data to obtain third data;
Transferring the third data to a bus device using a semiconductor device as a transfer destination;
Checking the first attribute information and the second attribute information for the data transferred to the bus device;
As a result of checking the first attribute information and the second attribute information, the third data is data decrypted from the encrypted state, and the transfer destination indicated by the first attribute information is the semiconductor device. A step of blocking the transfer of the third data to the semiconductor device if not, and a step of permitting transfer of the third data to the semiconductor device otherwise. Data transfer method.
JP2008129816A 2008-05-16 2008-05-16 Semiconductor integrated circuit device, bus device, and data transfer method Withdrawn JP2009277138A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008129816A JP2009277138A (en) 2008-05-16 2008-05-16 Semiconductor integrated circuit device, bus device, and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008129816A JP2009277138A (en) 2008-05-16 2008-05-16 Semiconductor integrated circuit device, bus device, and data transfer method

Publications (1)

Publication Number Publication Date
JP2009277138A true JP2009277138A (en) 2009-11-26

Family

ID=41442483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008129816A Withdrawn JP2009277138A (en) 2008-05-16 2008-05-16 Semiconductor integrated circuit device, bus device, and data transfer method

Country Status (1)

Country Link
JP (1) JP2009277138A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016163445A (en) * 2015-03-03 2016-09-05 東京電力ホールディングス株式会社 Contract menu generation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016163445A (en) * 2015-03-03 2016-09-05 東京電力ホールディングス株式会社 Contract menu generation method

Similar Documents

Publication Publication Date Title
US7886150B2 (en) System debug and trace system and method, and applications thereof
JP6621894B2 (en) Anti-counterfeit communication system
US8543838B1 (en) Cryptographic module with secure processor
US8750503B1 (en) FPGA configuration bitstream encryption using modified key
CN103003824B (en) Storage device and the method for the content file of Partial encryption are provided to main process equipment
US8966286B2 (en) Method, system and integrated circuit for enabling access to a memory element
US20070162964A1 (en) Embedded system insuring security and integrity, and method of increasing security thereof
US8156345B2 (en) Method and system for memory attack protection to achieve a secure interface
US8285988B2 (en) Method and system for command authentication to achieve a secure interface
Pierce et al. Enhanced secure architecture for joint action test group systems
US20020150252A1 (en) Secure intellectual property for a generated field programmable gate array
JP2010509662A (en) Method and system for encryption of information stored in external non-volatile memory
JP4591163B2 (en) Bus access control device
US8681996B2 (en) Asymmetric key wrapping using a symmetric cipher
TWI393006B (en) Security system and method for code dump protection
TWI474257B (en) Microprocessor, method of protection and method of revoking first password
US8024583B2 (en) Confidential information processing host device and confidential information processing method
JP2009277138A (en) Semiconductor integrated circuit device, bus device, and data transfer method
US20080104396A1 (en) Authentication Method
US8844022B2 (en) Method and system to allow system-on-chip individual I/O control to be disabled and enabled by programmable non-volatile memory
JP4972692B2 (en) DMA controller and data transfer method
US7978850B2 (en) Manufacturing embedded unique keys using a built in random number generator
TWI744892B (en) Electronic system and method for operating an electronic system
JP2009123051A (en) Semiconductor integrated circuit, secret protection method, secret protection program, and recording medium
WO2021044578A1 (en) Information processing device, information processing method, and information processing program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110802