JP2006318334A - Information processor - Google Patents

Information processor Download PDF

Info

Publication number
JP2006318334A
JP2006318334A JP2005142159A JP2005142159A JP2006318334A JP 2006318334 A JP2006318334 A JP 2006318334A JP 2005142159 A JP2005142159 A JP 2005142159A JP 2005142159 A JP2005142159 A JP 2005142159A JP 2006318334 A JP2006318334 A JP 2006318334A
Authority
JP
Japan
Prior art keywords
state
secure state
information processing
processing apparatus
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005142159A
Other languages
Japanese (ja)
Inventor
Takeki Kondo
雄樹 近藤
Yutaka Yoshida
吉田  裕
Masayuki Ito
雅之 伊藤
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2005142159A priority Critical patent/JP2006318334A/en
Publication of JP2006318334A publication Critical patent/JP2006318334A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor with excellent security protection of data and the easiness of debug. <P>SOLUTION: The processor is provided with: a decision circuit (131) for deciding whether or not the processor is in a secure state without observation from outside when a module (150) requiring security and an internal bus (160) capable of accessing the module are included; and a bus access shielding circuit (151) for separating the module from the internal bus on the basis of the decision result of the decision circuit. The security of the module is protected by the module, which requires the security, being separated from the internal bus. Also, by allowing an access via the internal bus with respect to other modules which do not require the security, debug is made possible. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、情報処理装置、特にそれにおける機密保護やデバッグ機能に関し、例えばマイクロプロセッサに適用して有効な技術に関する。   The present invention relates to an information processing apparatus, and more particularly to a security and debugging function in the information processing apparatus.

情報処理装置の一例とされるマイクロプロセッサは、例えば携帯機器などに用いられるものに代表されるように、機器の利便性向上の要求から、ハードウェア、ソフトウェアの複雑化が進んでいる。一方、今日の携帯機器では個人情報や課金情報など、より高い機密性や安全性が求められるデータを取り扱う機会が増加している。   As represented by a microprocessor used as an example of an information processing apparatus, for example, as used in a portable device, hardware and software are becoming more complicated due to demands for improving the convenience of the device. On the other hand, in today's portable devices, there are increasing opportunities to handle data such as personal information and billing information that require higher confidentiality and security.

ハードウェア、ソフトウェアの複雑化に伴い、開発効率向上を目的として、プロセッサ内部動作のデバッグ機能が年々高度化している。今日のプロセッサでは、これらの機能を利用し、半導体集積回路(半導体集積回路)の一部の外部ピンに信号を接続することによって、プロセッサ内部動作を容易、かつ広範に操作、解析することが可能であり、今日のソフトウェア開発には必須の機能となっている。   As hardware and software become more complex, debugging functions for processor internal operations are becoming more sophisticated year by year for the purpose of improving development efficiency. In today's processors, these functions can be used to connect and operate signals to some external pins of a semiconductor integrated circuit (semiconductor integrated circuit), enabling easy and extensive operation and analysis of the processor's internal operations. It is an essential function for today's software development.

このようなデバッグ機能は、その接続の容易性から、製品として機器に搭載された半導体集積回路においても利用可能である。しかし、先に示した通り今日の携帯機器ではデータの機密性が求められており、高度なデバッグ機能が、逆にデータの機密性を阻害する一因となっている。これらの相反する課題を解決するための技術として、機密保護コンピュータ環境を設定するための方法及びコンピュータシステムが知られている(例えば特許文献1参照)。   Such a debugging function can also be used in a semiconductor integrated circuit mounted on a device as a product because of its easy connection. However, as described above, the confidentiality of data is required in today's portable devices, and an advanced debugging function is one factor that hinders the confidentiality of data. As a technique for solving these conflicting problems, a method and a computer system for setting a security computer environment are known (see, for example, Patent Document 1).

特開2002−358137号公報(図1)JP 2002-358137 A (FIG. 1)

例えば上記特許文献1に記載された技術のように、マイクロプロセッサ内部に機密情報が存在するか否かを示すラッチを設け、機密情報が存在している状態の時には、マイクロプロセッサ内部のデバッグ機構と、外部からの制御装置であるインサーキット・エミュレータ装置の接続を遮断することによって、機密情報の保護を実現することができる。しかしながら、マイクロプロセッサのリセット直後から上記ラッチの状態設定が完了するまでの短期間において、エミュレータ装置からの機密情報抜き取り、もしくは上記ラッチの状態設定自体の無効化などの操作が行われる可能がある。また、機密情報が存在している状態に設定された後に一切のデバッグ機能の利用が不可能とされると、マイクロプロセッサのデバッグの容易性が阻害される。   For example, as in the technique described in Patent Document 1, a latch indicating whether or not confidential information exists is provided in the microprocessor. When the confidential information exists, By shutting off the connection of the in-circuit emulator device which is an external control device, it is possible to protect confidential information. However, in a short period from the reset of the microprocessor to the completion of the latch state setting, operations such as extracting confidential information from the emulator device or invalidating the latch state setting itself may be performed. Further, if it is impossible to use any debugging function after the confidential information is set, the ease of debugging of the microprocessor is hindered.

本発明の目的は、データの機密性の保護と、デバッグの容易性に優れた情報処理装置を提供することにある。   An object of the present invention is to provide an information processing apparatus that is excellent in data confidentiality protection and easy debugging.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

〔1〕すなわち、内部バスと、上記内部バスを介してアクセスされるモジュールと、を含む情報処理装置において、外部からの観測を受けない状態をセキュア状態とし、外部からの観測を受ける状態を非セキュア状態とするとき、セキュア状態であるか非セキュア状態であるかを判定する判定回路と、上記判定回路の判定結果に基づいて、上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路とを設ける。   [1] That is, in an information processing apparatus including an internal bus and a module accessed via the internal bus, a state in which observation from the outside is not received is set to a secure state, and a state in which observation from the outside is not performed A determination circuit for determining whether the state is a secure state or a non-secure state, and a bus access blocking circuit for disconnecting the module from the internal bus based on a determination result of the determination circuit Provide.

上記の手段によれば、判定回路は、セキュア状態であるか非セキュア状態であるかを判定し、バスアクセス遮断回路は、上記判定回路の判定結果に基づいて上記モジュールを上記内部バスから切り離す。機密性が要求されるモジュールが上記内部バスから切り離されることで、上記モジュールの機密性が保護される。また、機密性が要求されない他のモジュールについては上記内部バスを介してアクセス可能とすることで、デバッグが可能とされる。このことが、データの機密性の保護とデバッグの容易性に優れた情報処理装置を提供を達成する。   According to the above means, the determination circuit determines whether the state is the secure state or the non-secure state, and the bus access blocking circuit disconnects the module from the internal bus based on the determination result of the determination circuit. By separating the module requiring confidentiality from the internal bus, the confidentiality of the module is protected. Also, other modules that do not require confidentiality can be debugged by making them accessible via the internal bus. This achieves the provision of an information processing apparatus excellent in the protection of confidentiality of data and the ease of debugging.

〔2〕内部バスと、上記内部バスを介してアクセスされるモジュールと、を含む情報処理装置において、外部からの観測を受けない状態をセキュア状態とし、外部からの観測を受ける状態を非セキュア状態とするとき、セキュア状態であるか非セキュア状態であるかを判定する判定回路と、上記モジュールの内部状態をスキャン可能なスキャン経路と、上記判定回路の判定結果に基づいて、上記モジュールを上記スキャン経路から切り離すためのスキャン経路遮断回路とを設ける。   [2] In an information processing apparatus including an internal bus and a module accessed via the internal bus, a state in which no external observation is received is set to a secure state, and a state in which external observation is received is set to a non-secure state The module scans the module based on a determination circuit that determines whether the module is in a secure state or a non-secure state, a scan path that can scan the internal state of the module, and a determination result of the determination circuit. A scan path cutoff circuit for separating from the path is provided.

上記の手段によれば、スキャン経路遮断回路は、上記判定回路の判定結果に基づいて、上記モジュールを上記スキャン経路から切り離す。機密性が要求されるモジュールが上記スキャン経路から切り離されることで、上記モジュールの機密性が保護される。また、機密性が要求されない他のモジュールについては上記スキャン経路によるスキャンが可能とされることで、デバッグが可能とされる。このことが、データの機密性の保護とデバッグの容易性に優れた情報処理装置を提供を達成する。   According to the above means, the scan path blocking circuit disconnects the module from the scan path based on the determination result of the determination circuit. The module requiring confidentiality is disconnected from the scan path, so that the confidentiality of the module is protected. Further, other modules that do not require confidentiality can be scanned by the scan path, thereby enabling debugging. This achieves the provision of an information processing apparatus excellent in the protection of confidentiality of data and the ease of debugging.

〔3〕上記〔2〕において、上記判定回路の判定結果に基づいて上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路を設けることができる。   [3] In the above [2], a bus access blocking circuit for disconnecting the module from the internal bus based on the determination result of the determination circuit can be provided.

〔4〕上記〔3〕において、上記情報処理装置は、内部動作のデバッグを可能とするデバッグ機能コントローラと、
上記デバッグ機能コントローラにおけるデバッグ機能の有効又は無効を指定可能な外部端子と、を含み、上記判定回路は、上記外部端子の論理状態に基づいて、セキュア状態と非セキュア状態との判定を行うように構成することができる。
[4] In the above [3], the information processing apparatus includes a debug function controller that enables debugging of internal operations;
An external terminal capable of designating whether the debug function is valid or invalid in the debug function controller, and the determination circuit performs a determination between a secure state and a non-secure state based on a logic state of the external terminal Can be configured.

〔5〕上記〔3〕において、上記情報処理装置は、上記内部バスを介して上記モジュールにアクセス可能な中央処理装置を含み、上記判定回路は、上記中央処理装置の動作状態を示す内部信号に基づいて、セキュア状態と非セキュア状態との判定を行うように構成することができる。   [5] In the above [3], the information processing apparatus includes a central processing unit accessible to the module via the internal bus, and the determination circuit generates an internal signal indicating an operation state of the central processing unit. Based on this, it can be configured to determine the secure state and the non-secure state.

〔6〕上記〔4〕において、上記判定回路は、上記デバッグ機能コントローラによって遷移指示信号がアサートされた場合に、非セキュア状態からセキュア状態に遷移するように構成することができる。   [6] In the above [4], the determination circuit can be configured to transition from the non-secure state to the secure state when the transition instruction signal is asserted by the debug function controller.

〔7〕上記〔6〕において、暗証キーを入力するためのコマンドを格納するための第1レジスタと、上記コマンドに基づいて入力された暗証キーを格納するための第2レジスタと、を含み、上記第1レジスタ内のコマンドと、上記第2レジスタ内の暗証キーとが整合する場合に、上記デバッグ機能コントローラによって遷移指示信号がアサートされるように構成することができる。   [7] In the above [6], including a first register for storing a command for inputting a personal identification key, and a second register for storing a personal identification key input based on the command, When the command in the first register matches the secret key in the second register, the transition instruction signal can be asserted by the debug function controller.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、データの機密性の保護又はデバッグの容易性に優れた情報処理装置を提供することができる。   That is, it is possible to provide an information processing apparatus that is excellent in data confidentiality protection or debugging ease.

図2には、本発明にかかる情報処理装置の一例であるマイクロプロセッサの全体的な構成例が示される。図2に示されるマイクロプロセッサ100は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコンなどの一つの半導体基板に形成される。   FIG. 2 shows an overall configuration example of a microprocessor which is an example of an information processing apparatus according to the present invention. The microprocessor 100 shown in FIG. 2 is not particularly limited, but is formed on one semiconductor substrate such as single crystal silicon by a known semiconductor integrated circuit manufacturing technique.

中央処理装置(CPU)140が設けられ、この中央処理装置140は、予め設定されたプログラムに従って所定の演算処理を行う。MPEG画像圧縮アクセラレータ(MPEG)181が設けられ、このMPEG画像圧縮アクセラレータ181は、MPEG(Motion Picture Experts Group)画像の圧縮処理を行う。ダイレクトメモリアクセスコントローラ(DMAC)182が設けられ、このダイレクトメモリアクセスコントローラ182は、上記CPU140の介在無しにSRAM(スタティックランダムアクセスメモリ)187との間でデータのやり取りを可能とする。デバッグテストコントローラ(DBGCNT)110が設けられ、このデバッグテストコントローラ110は、JTAG(IEEE 1149.1、“IEEE Standard Test Access Port and Boundary−Scan Architecture”)バス311を介して外部との間で所定の信号のやり取りを可能とし、マイクロプロセッサ100の内部動作のデバッグ動作を制御する。暗号アクセラレータ(CRYPTO)150が設けられ、この暗号アクセラレータ150は、暗号/認証処理を行う。ここで、この暗号アクセラレータ(CRYPTO)150は、機密性を要求される情報を保持する機能モジュールの一例とされる。バスアクセス遮断回路(BREAK)151が設けられ、このバスアクセス遮断回路(BREAK)151は、上記暗号アクセラレータ150を内部バス160切り離すことによって内部バス160を経由してのアクセスを禁止する。割り込みコントローラ(INTC)183が設けられ、この割り込みコントローラ183は、所定の割り込み優先順位に従って、上記CPU140に対する割り込み処理を行う。システムコントローラ(SYSC)184が設けられ、このシステムコントローラ184は、マイクロプロセッサ100内の各種機能モジュールの動作を制御する。セキュリティ状態コントローラ(SECC)130が設けられ、このセキュリティ状態コントローラ130は、現在の状態が、外部からの観測を受けないセキュア状態であるのか、外部からの観測を受ける非セキュア状態であるのかを判定し、それに基づいて上記バスアクセス遮断回路151などの動作を制御する。バスステートコントローラ(BSC)185が設けられ、このバスステートコントローラ185は、メモリバス186を介して結合されたSRAM187がアクセスされる際のバスステートを制御する。システムリセットコントローラ(RSTCNT)120が設けられ、このシステムリセットコントローラ120は、マイクロプロセッサ100における各部へのリセット信号322の出力を決定する。   A central processing unit (CPU) 140 is provided, and the central processing unit 140 performs predetermined arithmetic processing according to a preset program. An MPEG image compression accelerator (MPEG) 181 is provided, and the MPEG image compression accelerator 181 performs compression processing of MPEG (Motion Picture Experts Group) images. A direct memory access controller (DMAC) 182 is provided, and this direct memory access controller 182 enables data exchange with an SRAM (Static Random Access Memory) 187 without the intervention of the CPU 140. A debug test controller (DBGCNT) 110 is provided, and this debug test controller 110 is connected to the outside via a JTAG (IEEE 1149.1, “IEEE Standard Test Access Port and Boundary-Scan Architecture”) bus 311. Signal exchange is enabled, and the debugging operation of the internal operation of the microprocessor 100 is controlled. A cryptographic accelerator (CRYPTO) 150 is provided, and the cryptographic accelerator 150 performs encryption / authentication processing. Here, the cryptographic accelerator (CRYPTO) 150 is an example of a functional module that holds information that requires confidentiality. A bus access blocking circuit (BREAK) 151 is provided. The bus access blocking circuit (BREAK) 151 prohibits access via the internal bus 160 by disconnecting the cryptographic accelerator 150 from the internal bus 160. An interrupt controller (INTC) 183 is provided, and the interrupt controller 183 performs interrupt processing for the CPU 140 in accordance with a predetermined interrupt priority order. A system controller (SYSC) 184 is provided, and this system controller 184 controls the operation of various functional modules in the microprocessor 100. A security state controller (SECC) 130 is provided, and this security state controller 130 determines whether the current state is a secure state that does not receive external observation or a non-secure state that receives external observation. Based on this, the operation of the bus access blocking circuit 151 and the like is controlled. A bus state controller (BSC) 185 is provided, and this bus state controller 185 controls the bus state when the SRAM 187 coupled via the memory bus 186 is accessed. A system reset controller (RSTCNT) 120 is provided, and this system reset controller 120 determines the output of the reset signal 322 to each part in the microprocessor 100.

図1には、上記マイクロプロセッサ100における主要部の詳細な構成が示される。   FIG. 1 shows a detailed configuration of the main part of the microprocessor 100.

デバッグ機能コントローラ110は、外部から取り込まれたデバッグ機能有効化信号310によって有効化され、JTAGバス311からのコマンド入力によって動作する。その動作は、スキャン経路200によるマイクロプロセッサ内状態の出力、または入力によるマイクロプロセッサ内状態の指定、また、内部バス160を経由して、CPU140などへのアクセスを行う。システムリセットコントローラ120は、外部からの入力であるリセット信号320や、CPU140からの内部的なリセット要求信号321の入力に基づいて、マイクロプロセッサ全域へのリセット信号322の出力を決定している。   The debug function controller 110 is activated by a debug function enable signal 310 fetched from the outside, and operates in response to a command input from the JTAG bus 311. In the operation, the internal state of the microprocessor is output by the scan path 200, the internal state of the microprocessor is designated by the input, and the CPU 140 is accessed via the internal bus 160. The system reset controller 120 determines the output of the reset signal 322 to the entire microprocessor based on the input of the reset signal 320 that is an external input and the internal reset request signal 321 from the CPU 140.

セキュリティ状態コントローラ130は、セキュア状態であるか非セキュア状態であるかを判定する判定回路(JUDG)131と、その判定結果を保持可能なレジスタ132とを含み、現在の状態がセキュアであるか否かを示すセキュア状態信号350を出力する。ここで、セキュア状態とは、外部からの観測を受けない状態を意味する。逆に非セキュア状態とは、外部からの観測を受ける状態を指す。ここで上記判定回路131は、デバッグ機能有効化信号310、外部端子T2を介して取り込まれるリセット信号320、内部リセット要求信号321、外部端子T3を介して取り込まれるセキュリティ機能有効化信号330、デバッグ機能コントローラ110からのセキュア状態への遷移を指示するセキュア状態遷移指示信号340などの各種信号に基づいて、セキュア状態であるか否かを判定する。特に、上記デバッグ機能コントローラ110におけるデバッグ機能の有効又は無効を指定可能なデバッグ機能有効化信号310を取り込むための外部端子T1の論理状態によってセキュア状態か否かの判定が行われる。デバッグ機能有効化信号310によりデバッグ機能が有効とされる場合には非セキュア状態と判定される。また、上記判定回路131は、上記CPU140の動作状態を示す内部信号、例えば内部リセット要求信号321が有効とされる場合にも非セキュア状態と判定される。上記判定回路131での判定結果はセキュア状態レジスタ132に保持される。このセキュア状態レジスタ132の値は、バスアクセス遮断回路151や、スキャン経路遮断回路210、220に供給される。   The security state controller 130 includes a determination circuit (JUDG) 131 that determines whether it is a secure state or a non-secure state, and a register 132 that can hold the determination result, and whether or not the current state is secure. A secure state signal 350 indicating that is output. Here, the secure state means a state in which no external observation is received. Conversely, the non-secure state refers to a state that receives observation from the outside. Here, the determination circuit 131 includes a debug function enabling signal 310, a reset signal 320 fetched via the external terminal T2, an internal reset request signal 321, a security function validation signal 330 fetched via the external terminal T3, and a debug function. Based on various signals such as a secure state transition instruction signal 340 for instructing a transition to the secure state from the controller 110, it is determined whether or not the secure state is established. In particular, it is determined whether or not the secure state is set according to the logic state of the external terminal T1 for taking in the debug function enabling signal 310 that can specify whether the debug function is enabled or disabled in the debug function controller 110. When the debug function is enabled by the debug function enable signal 310, it is determined as a non-secure state. The determination circuit 131 is also determined to be in a non-secure state when an internal signal indicating the operation state of the CPU 140, for example, the internal reset request signal 321 is validated. The determination result in the determination circuit 131 is held in the secure state register 132. The value of the secure state register 132 is supplied to the bus access cutoff circuit 151 and the scan path cutoff circuits 210 and 220.

図3には、上記判定回路131の状態遷移が示される。   FIG. 3 shows the state transition of the determination circuit 131.

401〜405はマイクロプロセッサ内の状態を表している。403はマイクロプロセッサ内のセキュア状態である。401はパワーオフ状態(Power Off)であり、電源の供給と外部からのリセット信号320のアサートによって、501の遷移が発生し、リセット中であることを示すリセット中状態(Power−On Resetting)402に遷移する。   Reference numerals 401 to 405 represent states in the microprocessor. Reference numeral 403 denotes a secure state in the microprocessor. Reference numeral 401 denotes a power-off state (Power Off). A transition 501 occurs due to the supply of power and assertion of the reset signal 320 from the outside, and a resetting state (Power-On Reset) 402 indicating that resetting is in progress. Transition to.

リセット中状態402において、リセット信号320がネゲートされると、遷移511、もしくは512を経て、セキュア状態403、もしくは非セキュア状態である404に遷移する。遷移511が発生するか、遷移512が発生するかは、リセット信号320がネゲートされた時点でのデバッグ機能有効化信号310や、セキュリティ機能有効化信号330の論理状態によって決定される。デバッグ機能有効化信号310がネゲートされ、かつ、セキュリティ機能有効化信号330がアサートされた状態、すなわち、デバッグ機能が無効とされ、かつ、セキュリティ機能が有効とされた状態でのみ、リセット中状態402からセキュア状態403への遷移511が発生する。   When the reset signal 320 is negated in the reset state 402, the state transits to the secure state 403 or the non-secure state 404 via the transition 511 or 512. Whether the transition 511 occurs or the transition 512 occurs is determined by the logic state of the debug function enabling signal 310 and the security function enabling signal 330 when the reset signal 320 is negated. Only when the debug function enabling signal 310 is negated and the security function enabling signal 330 is asserted, that is, when the debug function is disabled and the security function is enabled, the resetting state 402 A transition 511 from to the secure state 403 occurs.

セキュア状態(Secure)403、非セキュア状態( Non Secure)404、及びリセット状態(Internal Resetting)405において、リセット信号320がアサートされた場合には、それぞれ、遷移521、522、523によって、リセット中状態402に遷移する。   When the reset signal 320 is asserted in the secure state (Secure) 403, the non-secure state (Non Secure) 404, and the reset state (Internal Reset) 405, the resetting state is caused by the transitions 521, 522, and 523, respectively. Transition to 402.

セキュア状態403、非セキュア状態404においては、CPU140がプログラムの実行中であり、そのプログラムからの自発的な要求、もしくはプログラムが意図しない動作によって発生した、CPU140内の異常状態によって発生する要求によって、内部リセット要求信号321がアサートされる。その場合には、遷移531,532によって、内部リセット要求によるリセット状態405に遷移する。   In the secure state 403 and the non-secure state 404, the CPU 140 is executing a program, and depending on a spontaneous request from the program or a request generated by an abnormal state in the CPU 140 caused by an unintended operation of the program, The internal reset request signal 321 is asserted. In that case, the transition to the reset state 405 by the internal reset request is made by transitions 531 and 532.

状態405からは、リセットの解除によって遷移533が発生し、非セキュア状態404にのみ到達し得る。これは、前述の通り、内部リセット要求によるリセット状態405の発生が、プログラムの意図しない動作に起因することがあるためであり、不正なプログラムによるセキュアリソース150のアクセスを未然に防ぐ意味がある。   From state 405, transition 533 occurs due to the release of reset, and only non-secure state 404 can be reached. This is because, as described above, the occurrence of the reset state 405 due to the internal reset request may be caused by an unintended operation of the program, and it is meaningful to prevent the secure resource 150 from being accessed by an unauthorized program.

また、状態404からは、デバッグ機能コントローラからの遷移指示信号であるセキュア状態遷移指示信号340の通知を受けた場合に、遷移541が発生して、状態403に遷移する。   Also, from the state 404, when a notification of the secure state transition instruction signal 340, which is a transition instruction signal from the debug function controller, is received, a transition 541 occurs and the state transitions to the state 403.

以上によって決定されたセキュア状態レジスタ132によって、バスアクセス遮断回路151や、スキャン経路遮断回路210、220の動作が決定される。バスアクセス遮断回路151は、セキュア状態レジスタ132の内容によって、セキュア状態であれば、マイクロプロセッサ内バスである160からのバスアクセスを通過させて、セキュアリソース150の情報参照を可能にし、逆に非セキュア状態ならば、バスアクセス遮断回路151を介してバスアクセスを遮断することによってセキュアリソース150の情報を保護する。   The operations of the bus access blocking circuit 151 and the scan path blocking circuits 210 and 220 are determined by the secure state register 132 determined as described above. The bus access blocking circuit 151 allows information access to the secure resource 150 by passing the bus access from the microprocessor internal bus 160 if it is in the secure state according to the contents of the secure state register 132, and on the contrary. In the secure state, the information of the secure resource 150 is protected by blocking the bus access via the bus access blocking circuit 151.

また、判定回路131によりセキュア状態と判定された場合には、図1におけるスキャン経路遮断回路210,220内のスイッチがノード211、221側に接続されて、セキュアリソース160を含めたスキャン経路が構成される。この状態で、スキャン経路200によりテストパターン信号のスキャンイン、スキャンアウトが可能とされる。   When the determination circuit 131 determines that the secure state is established, the switches in the scan path blocking circuits 210 and 220 in FIG. 1 are connected to the nodes 211 and 221 side, and the scan path including the secure resource 160 is configured. Is done. In this state, the scan path 200 allows the test pattern signal to be scanned in and out.

一方、判定回路131により非セキュア状態と判定された場合には、スキャン経路遮断回路210,220内のスイッチはノード212,222側に接続される。つまり、暗号アクセラレータ150は、スキャン経路遮断回路210,220によってスキャン経路200から切り離され、それによって、暗号アクセラレータ150内の情報がスキャン経路200を介して流出することが阻止される(機密保護)。この場合、スキャン経路遮断回路210,220内のスイッチはノード212,222側に接続されることから、スキャン経路200は、暗号アクセラレータ150をバイパスする形となっており、暗号アクセラレータ150以外については、スキャン経路200によるスキャンイン、スキャンアウトが可能とされる。   On the other hand, when the determination circuit 131 determines that it is in the non-secure state, the switches in the scan path blocking circuits 210 and 220 are connected to the nodes 212 and 222 side. That is, the cryptographic accelerator 150 is disconnected from the scan path 200 by the scan path blocking circuits 210 and 220, thereby preventing information in the cryptographic accelerator 150 from flowing out through the scan path 200 (security protection). In this case, since the switches in the scan path blocking circuits 210 and 220 are connected to the nodes 212 and 222 side, the scan path 200 bypasses the cryptographic accelerator 150. Other than the cryptographic accelerator 150, Scan-in and scan-out by the scan path 200 is possible.

次に、暗号アクセラレータ150が、CPU140などから内部バス160を介してアクセスされた場合の動作について説明する。   Next, the operation when the cryptographic accelerator 150 is accessed from the CPU 140 or the like via the internal bus 160 will be described.

図4には、セキュア状態レジスタ132のフラグ設定によってセキュア状態が示された状態、すなわち、バスアクセス遮断回路151によって暗号アクセラレータ150が内部バス160に結合されている状態のタイミングチャートが示される。   FIG. 4 shows a timing chart in a state where the secure state is indicated by the flag setting of the secure state register 132, that is, in a state where the cryptographic accelerator 150 is coupled to the internal bus 160 by the bus access cutoff circuit 151.

図4において、600、601は、バス160の動作クロック期間(サイクル期間)を示す。610、611、612はそれぞれ暗号アクセラレータ150に対するバスアクセス要求、コマンド、アドレス信号を示しており、613に示すアドレス値は暗号アクセラレータ150に割り当てられたアドレスとされる。また、620、621、622はそれぞれ暗号アクセラレータ150からのバスアクセス受理応答、アクセス許可/不許可応答、データである。バスアクセス遮断回路151によって暗号アクセラレータ150が内部バス160に結合されている状態では、サイクル期間600で出力された読み出しコマンドに対し、サイクル期間601において、アクセス許可状態(OK)が示され、そしてその読み出しデータ623が内部バス160に出力される。   In FIG. 4, 600 and 601 indicate operation clock periods (cycle periods) of the bus 160. Reference numerals 610, 611, and 612 denote bus access requests, commands, and address signals for the cryptographic accelerator 150, respectively. The address value indicated by 613 is an address assigned to the cryptographic accelerator 150. Reference numerals 620, 621, and 622 denote a bus access acceptance response, an access permission / non-permission response, and data from the cryptographic accelerator 150, respectively. In a state where the cryptographic accelerator 150 is coupled to the internal bus 160 by the bus access blocking circuit 151, an access permission state (OK) is indicated in the cycle period 601 for the read command output in the cycle period 600, and Read data 623 is output to the internal bus 160.

図5には、セキュア状態レジスタ132のフラグ設定によって非セキュア状態が示された状態、すなわち、バスアクセス遮断回路151によって暗号アクセラレータ150が内部バス160から切り離された状態のタイミングチャートが示される。   FIG. 5 shows a timing chart in a state where the non-secure state is indicated by the flag setting of the secure state register 132, that is, the state where the cryptographic accelerator 150 is disconnected from the internal bus 160 by the bus access cutoff circuit 151.

図5において、700、701は、バス160の動作クロック期間(サイクル期間)を示し、610、611、612、620、621、622の信号、及び613のアドレス値は、図4に示される場合と同様である。   5, 700 and 701 indicate the operation clock period (cycle period) of the bus 160, and the signals 610, 611, 612, 620, 621, and 622, and the address value of 613 are the same as those shown in FIG. It is the same.

バスアクセス遮断回路151によって暗号アクセラレータ150が内部バス160から切り離された場合には、サイクル期間700から出された読み出しコマンドに対し、サイクル期間701において、アクセスが不許可(NG)であることのみが内部バス160に出力され、暗号アクセラレータ150内のデータは内部バス160に出力されない。   When the cryptographic accelerator 150 is disconnected from the internal bus 160 by the bus access cutoff circuit 151, the read command issued from the cycle period 700 is only denied access (NG) in the cycle period 701. The data output to the internal bus 160 and the data in the cryptographic accelerator 150 is not output to the internal bus 160.

図6には、デバッグ機能コントローラ110がセキュア状態遷移指示信号340をアサートするまでの動作が示される。図中のTCK、TRST*(*はローアクティブを示す)、TMS、TDIは、JTAGバス311に含まれる信号である。TAP−STATEは、JTAGに準拠したデバッグ機能コントローラ110内のステートマシンの状態を示しており、SDIR、SDDRはデバッグ機能コントローラ110内のレジスタである。また、800から820はTCK信号に同期したクロックサイクル期間を示す。   FIG. 6 shows an operation until the debug function controller 110 asserts the secure state transition instruction signal 340. In the figure, TCK, TRST * (* indicates low active), TMS, and TDI are signals included in the JTAG bus 311. TAP-STATE indicates the state of the state machine in the debug function controller 110 compliant with JTAG, and SDIR and SDDR are registers in the debug function controller 110. Reference numerals 800 to 820 denote clock cycle periods synchronized with the TCK signal.

サイクル800において、TAP−STATEのリセット信号であるTRST*が解除となり、サイクル801以降、TMS、TDI信号の入力にしたがってTAP−STATE及び内部レジスタの値が設定される。   In cycle 800, TRST *, which is a reset signal for TAP-STATE, is released, and after cycle 801, the values of TAP-STATE and internal registers are set according to the input of TMS and TDI signals.

サイクル805から808にかけて、セキュア状態遷移指示信号を出力するための暗証キーを入力するためのコマンド830をTDIから入力し、サイクル810にてSDIRレジスタにそのコマンドが格納される。また、暗証キー831をサイクル813からサイクル816にかけてTDIから入力し、サイクル819にてSDDRレジスタにその暗証キー831が格納される。   In cycles 805 to 808, a command 830 for inputting a secret key for outputting a secure state transition instruction signal is input from TDI, and in cycle 810, the command is stored in the SDIR register. The personal identification key 831 is input from TDI from cycle 813 to cycle 816, and the personal identification key 831 is stored in the SDDR register in cycle 819.

セキュア状態遷移指示信号340は、サイクル819まではネゲート状態であるが、サイクル819においてSDIRとSDDRにそれぞれ格納されたコマンド830と、暗証キー831のデータとが整合することを以って、サイクル820にてアサート状態となる。尚、コマンド830と、暗証キー831のデータとが整合しない場合、セキュア状態遷移指示信号340はアサートされない。   The secure state transition instruction signal 340 is negated until cycle 819, but in cycle 820, the command 830 stored in SDIR and SDDR respectively matches the data of the personal identification key 831 in cycle 820. Is asserted at. If the command 830 and the data of the secret key 831 do not match, the secure state transition instruction signal 340 is not asserted.

上記の例によれば、以下の作用効果を得ることができる。   According to the above example, the following effects can be obtained.

(1)セキュア状態判定回路131は、セキュア状態であるか非セキュア状態であるかを判定し、バスアクセス遮断回路151は、上記セキュア状態判定回路131の判定結果に基づいて暗号アクセラレータ150を内部バス160から切り離す。機密性が要求される暗号アクセラレータ150のみが上記内部バス160から切り離されることで、上記暗号アクセラレータ150の機密性が保護される。また、機密性が要求されない他の機能モジュールについては上記内部バス160を介してアクセス可能とすることで、デバッグが可能とされる。これによって、データの機密性の保護とデバッグの容易性の双方を達成することができる。   (1) The secure state determination circuit 131 determines whether it is in a secure state or a non-secure state, and the bus access blocking circuit 151 transfers the cryptographic accelerator 150 to the internal bus based on the determination result of the secure state determination circuit 131. Disconnect from 160. Only the cryptographic accelerator 150 requiring confidentiality is disconnected from the internal bus 160, so that the confidentiality of the cryptographic accelerator 150 is protected. Other functional modules that do not require confidentiality can be debugged by making them accessible via the internal bus 160. As a result, both confidentiality of data and ease of debugging can be achieved.

(2)スキャン経路遮断回路210,220は、上記セキュア状態判定回路131の判定結果に基づいて、上記暗号アクセラレータ150を上記スキャン経路200から切り離す。機密性が要求される上記暗号アクセラレータ150が上記スキャン経路200から切り離されることで、上記暗号アクセラレータ150の機密性が保護される。また、機密性が要求されない他の機能モジュールについては上記スキャン経路200によるスキャンが可能とされることで、デバッグが可能とされる。これによって、データの機密性の保護とデバッグの容易性の双方を達成することができる。   (2) The scan path cutoff circuits 210 and 220 disconnect the cryptographic accelerator 150 from the scan path 200 based on the determination result of the secure state determination circuit 131. By separating the cryptographic accelerator 150 requiring confidentiality from the scan path 200, the confidentiality of the cryptographic accelerator 150 is protected. Further, other functional modules that do not require confidentiality can be scanned by the scan path 200, thereby enabling debugging. As a result, both confidentiality of data and ease of debugging can be achieved.

(3)図1に示される構成では、上記(1),(2)の双方の作用効果を奏するため、データの機密性の保護とデバッグの容易性がさらに向上される。   (3) In the configuration shown in FIG. 1, since both the effects (1) and (2) are achieved, the confidentiality of data and the ease of debugging are further improved.

以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.

例えば、図6におけるセキュア状態遷移指示信号出力のための入力条件を、単純な暗証キー入力ではなく、公開鍵暗号などを用いたプロトコルに変更することができる。   For example, the input condition for outputting the secure state transition instruction signal in FIG. 6 can be changed to a protocol using public key cryptography or the like instead of simple secret key input.

以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロプロセッサに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種情報処理装置に広く適用することができる。   In the above description, the case where the invention made mainly by the present inventor is applied to the microprocessor which is a field of use as the background has been described. However, the present invention is not limited to this and is widely applied to various information processing apparatuses. Can be applied.

本発明は、少なくとも機密性が要求されるモジュールを含むことを条件に適用することができる。   The present invention can be applied on condition that at least a module requiring confidentiality is included.

本発明にかかる半導体集積回路の一例であるマイクロプロセッサにおける主要部の構成例ブロック図である。1 is a block diagram illustrating a configuration example of a main part of a microprocessor as an example of a semiconductor integrated circuit according to the present invention. 上記マイクロプロセッサの全体的な構成例ブロック図である。It is a block diagram of an example of the overall configuration of the microprocessor. 上記マイクロプロセッサに含まれる判定回路の状態遷移説明図である。It is state transition explanatory drawing of the determination circuit contained in the said microprocessor. 上記マイクロプロセッサにおける主要動作のタイミング図である。It is a timing diagram of main operations in the microprocessor. 上記マイクロプロセッサにおける主要動作のタイミング図である。It is a timing diagram of main operations in the microprocessor. 上記マイクロプロセッサにおける主要動作のタイミング図である。It is a timing diagram of main operations in the microprocessor.

符号の説明Explanation of symbols

100 マイクロプロセッサ
110 デバッグ機能コントローラ
120 システムリセットコントローラ
130 セキュリティ状態コントローラ
131 セキュア状態判定回路
132 セキュア状態レジスタ
140 CPU
150 暗号アクセラレータ
151 バスアクセス遮断回路
160 内部バス
200 スキャン経路
210、220 スキャン経路遮断回路
310 デバッグ機能有効化信号
311 JTAGバス
320 リセット信号
321 内部リセット要求信号
330 セキュリティ機能有効化信号
DESCRIPTION OF SYMBOLS 100 Microprocessor 110 Debug function controller 120 System reset controller 130 Security state controller 131 Secure state determination circuit 132 Secure state register 140 CPU
150 Cryptographic Accelerator 151 Bus Access Blocking Circuit 160 Internal Bus 200 Scan Path 210, 220 Scan Path Blocking Circuit 310 Debug Function Enable Signal 311 JTAG Bus 320 Reset Signal 321 Internal Reset Request Signal 330 Security Function Enable Signal

Claims (7)

内部バスと、
上記内部バスを介してアクセスされるモジュールと、を含む情報処理装置であって、
外部からの観測を受けない状態をセキュア状態とし、外部からの観測を受ける状態を非セキュア状態とするとき、
セキュア状態であるか非セキュア状態であるかを判定する判定回路と、
上記判定回路の判定結果に基づいて、上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路と、を含むことを特徴とする情報処理装置。
An internal bus,
An information processing apparatus including a module accessed via the internal bus,
When the state that does not receive external observations is set to the secure state and the state that receives external observations is set to the non-secure state,
A determination circuit for determining whether the secure state or the non-secure state;
An information processing apparatus comprising: a bus access cutoff circuit for disconnecting the module from the internal bus based on a determination result of the determination circuit.
内部バスと、
上記内部バスを介してアクセスされるモジュールと、を含む情報処理装置であって、
外部からの観測を受けない状態をセキュア状態とし、外部からの観測を受ける状態を非セキュア状態とするとき、
セキュア状態であるか非セキュア状態であるかを判定する判定回路と、
上記モジュールの内部状態をスキャン可能なスキャン経路と、
上記判定回路の判定結果に基づいて、上記モジュールを上記スキャン経路から切り離すためのスキャン経路遮断回路と、を含むことを特徴とする情報処理装置。
An internal bus,
An information processing apparatus including a module accessed via the internal bus,
When the state that does not receive external observations is set to the secure state and the state that receives external observations is set to the non-secure state,
A determination circuit for determining whether the secure state or the non-secure state;
A scan path capable of scanning the internal state of the module;
An information processing apparatus comprising: a scan path cutoff circuit for separating the module from the scan path based on a determination result of the determination circuit.
上記判定回路の判定結果に基づいて、上記モジュールを上記内部バスから切り離すためのバスアクセス遮断回路を更に含む請求項2記載の情報処理装置。 The information processing apparatus according to claim 2, further comprising a bus access cutoff circuit for disconnecting the module from the internal bus based on a determination result of the determination circuit. 上記情報処理装置は、内部動作のデバッグを可能とするデバッグ機能コントローラと、
上記デバッグ機能コントローラにおけるデバッグ機能の有効又は無効を指定可能な外部端子と、を含み、上記判定回路は、上記外部端子の論理状態に基づいて、セキュア状態と非セキュア状態との判定を行う請求項3記載の情報処理装置。
The information processing apparatus includes a debug function controller that enables debugging of internal operations;
An external terminal capable of designating whether the debug function is valid or invalid in the debug function controller, wherein the determination circuit determines a secure state and a non-secure state based on a logical state of the external terminal. 3. The information processing apparatus according to 3.
上記情報処理装置は、上記内部バスを介して上記モジュールにアクセス可能な中央処理装置を含み、上記判定回路は、上記中央処理装置の動作状態を示す内部信号に基づいて、セキュア状態と非セキュア状態との判定を行う請求項3記載の情報処理装置。 The information processing apparatus includes a central processing unit that is accessible to the module via the internal bus, and the determination circuit is in a secure state and a non-secure state based on an internal signal indicating an operation state of the central processing unit. The information processing apparatus according to claim 3, wherein the determination is performed. 上記判定回路は、上記デバッグ機能コントローラによって遷移指示信号がアサートされた場合に、非セキュア状態からセキュア状態に遷移する請求項4記載の情報処理装置。 The information processing apparatus according to claim 4, wherein the determination circuit transitions from a non-secure state to a secure state when a transition instruction signal is asserted by the debug function controller. 暗証キーを入力するためのコマンドを格納するための第1レジスタと、
上記コマンドに基づいて入力された暗証キーを格納するための第2レジスタと、を含み、上記第1レジスタ内のコマンドと、上記第2レジスタ内の暗証キーとが整合する場合に、上記デバッグ機能コントローラによって遷移指示信号がアサートされる請求項6記載の情報処理装置。
A first register for storing a command for inputting a personal identification key;
A second register for storing a secret key input based on the command, and the debug function when the command in the first register matches the secret key in the second register. The information processing apparatus according to claim 6, wherein the transition instruction signal is asserted by the controller.
JP2005142159A 2005-05-16 2005-05-16 Information processor Pending JP2006318334A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005142159A JP2006318334A (en) 2005-05-16 2005-05-16 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005142159A JP2006318334A (en) 2005-05-16 2005-05-16 Information processor

Publications (1)

Publication Number Publication Date
JP2006318334A true JP2006318334A (en) 2006-11-24

Family

ID=37538939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005142159A Pending JP2006318334A (en) 2005-05-16 2005-05-16 Information processor

Country Status (1)

Country Link
JP (1) JP2006318334A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106997438A (en) * 2017-03-29 2017-08-01 山东英特力数据技术有限公司 A kind of trusted servers CPU design method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272560A (en) * 1998-03-19 1999-10-08 Sony Corp Integrated circuit
JP2002244757A (en) * 2001-02-19 2002-08-30 Sony Corp Semiconductor circuit
JP2002334018A (en) * 2001-05-08 2002-11-22 Toshiba Corp Control ic device, and optical disk drive and its method
JP2004171565A (en) * 2002-11-18 2004-06-17 Arm Ltd Diagnostic data acquisition control for multi-domain processor
WO2004107176A1 (en) * 2003-05-29 2004-12-09 Freescale Semiconductor, Inc. Method and apparatus for determining access permission
JP2006293536A (en) * 2005-04-07 2006-10-26 Denso Corp Bus system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272560A (en) * 1998-03-19 1999-10-08 Sony Corp Integrated circuit
JP2002244757A (en) * 2001-02-19 2002-08-30 Sony Corp Semiconductor circuit
JP2002334018A (en) * 2001-05-08 2002-11-22 Toshiba Corp Control ic device, and optical disk drive and its method
JP2004171565A (en) * 2002-11-18 2004-06-17 Arm Ltd Diagnostic data acquisition control for multi-domain processor
WO2004107176A1 (en) * 2003-05-29 2004-12-09 Freescale Semiconductor, Inc. Method and apparatus for determining access permission
JP2007501477A (en) * 2003-05-29 2007-01-25 フリースケール セミコンダクター インコーポレイテッド Method and apparatus for determining access permissions
JP2006293536A (en) * 2005-04-07 2006-10-26 Denso Corp Bus system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106997438A (en) * 2017-03-29 2017-08-01 山东英特力数据技术有限公司 A kind of trusted servers CPU design method

Similar Documents

Publication Publication Date Title
US20220222387A1 (en) Methods and Systems to Restrict Usage of a DMA Channel
US7185249B2 (en) Method and apparatus for secure scan testing
US6622184B1 (en) Information processing system
EP2248063B1 (en) Method and apparatus for controlling system access during protected modes of operation
EP2667322B1 (en) Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels
US7788433B2 (en) Microprocessor apparatus providing for secure interrupts and exceptions
US7810002B2 (en) Providing trusted access to a JTAG scan interface in a microprocessor
Wang et al. IIPS: Infrastructure IP for secure SoC design
US6968420B1 (en) Use of EEPROM for storage of security objects in secure systems
Kim et al. A system-on-chip bus architecture for thwarting integrated circuit trojan horses
Kochte et al. Specification and verification of security in reconfigurable scan networks
Bhamidipati et al. Security analysis of a system-on-chip using assertion-based verification
JP2006318334A (en) Information processor
Kumar et al. A novel holistic security framework for in-field firmware updates
JP2008152421A (en) Semiconductor integrated circuit
Ashkenazi et al. Platform independent overall security architecture in multi-processor system-on-chip integrated circuits for use in mobile phones and handheld devices
JP2008299717A (en) Integrated circuit system
Akselrod et al. Platform independent debug port controller architecture with security protection for multi-processor system-on-chip ICs
TW202347158A (en) Secure semiconductor and system design
Sahoo et al. A Novel Holistic Security Framework for In-field Firmware Updates
Ashkenazi et al. Platform Independent Overall Security Architecture in Multi-Processor System-on-Chip ICs for Use in Mobile Phones and Handheld Devices
JP2012083272A (en) Semiconductor integrated circuit device and test mode setting method
won Kim Countermeasures against Integrated Circuit Trojan horses on hardware systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080430

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101027