JP2019212293A - Secure access to peripheral device via bus - Google Patents
Secure access to peripheral device via bus Download PDFInfo
- Publication number
- JP2019212293A JP2019212293A JP2019078917A JP2019078917A JP2019212293A JP 2019212293 A JP2019212293 A JP 2019212293A JP 2019078917 A JP2019078917 A JP 2019078917A JP 2019078917 A JP2019078917 A JP 2019078917A JP 2019212293 A JP2019212293 A JP 2019212293A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- transaction
- peripheral
- processor
- safety 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
関連出願を参照 See related applications
本出願は2016年3月21日に出願された米国特許出願第15/075,219の一部継続出願(CIP:Continuation-In-Part)であり、それは2015年6月8日に出願された米国仮特許出願62/172,298号に基づくもので、その開示内容を本明細書に援用する。 This application is a continuation-in-part (CIP) filed on June 8, 2015, which is a continuation-in-part of US Patent Application No. 15 / 075,219 filed March 21, 2016. Based on US Provisional Patent Application No. 62 / 172,298, the disclosure of which is incorporated herein by reference.
本発明は、電子システムの安全に関し、特に周辺装置に安全アクセスして保護するための方法とシステムに係る。 The present invention relates to the security of electronic systems, and more particularly to a method and system for securely accessing and protecting peripheral devices.
電子システムは、ホスト装置と周辺装置との間で通信するために各種バスインタフェースを使用する。例として、バスインタフェースは内部にI2C(Inter-Integrated-Circuit)バス及びシリアル・ペリフェラル・インタフェース(SPI)バスを含む。I2Cバスの関連内容は、例として「I2Cバス仕様及びユーザーマニュアル」UM10204、NXPセミコンダクターズ、改訂第6版、2014年4月4日に記載されており、本明細書に援用する。 Electronic systems use various bus interfaces to communicate between host devices and peripheral devices. As an example, the bus interface includes an I 2 C (Inter-Integrated-Circuit) bus and a serial peripheral interface (SPI) bus. Related contents of the I 2 C bus, "I 2 C-bus specification and user manual" UM10204, NXP Semiconductors as an example, revised sixth edition, are described in the April 4, 2014, incorporated herein by reference .
本発明に於ける実施例として、インタフェースとプロセッサを含む安全装置を提供する。インタフェースは、一もしくは複数個の周辺装置にサービスするバスに連接するために設定される。バスの伝送は(i)相互対応する一もしくは複数個の周辺装置にそれぞれ専用する一もしくは複数個の専用信号と、(ii)バスによってサービスされる一もしくは複数個の周辺装置の間で共有する一もしくは複数個の共有信号を含む。プロセッサはバスに接続されて一もしくは複数個の周辺装置以外の付属装置として機能し、且つ特定の周辺装置と関連する専用信号を中断することによって、バス上に於いて特定の周辺装置にアクセスしようとするバスマスター装置のトランザクションを中断する。 As an embodiment in the present invention, a safety device including an interface and a processor is provided. The interface is set to connect to a bus that services one or more peripheral devices. Bus transmission is shared between (i) one or more dedicated signals dedicated to one or more mutually corresponding peripheral devices and (ii) one or more peripheral devices serviced by the bus. One or more shared signals are included. A processor is connected to the bus and functions as an attached device other than one or more peripheral devices, and accesses a specific peripheral device on the bus by interrupting dedicated signals associated with the specific peripheral device. The transaction of the bus master device is interrupted.
一実施例に於いて、プロセッサがトランザクションを中断する時、バス上の共有信号を維持して中断しない。一実施例に於いて、インタフェースは、(i)バスマスター装置から専用信号を受信するのに用いる入力部と、(ii)該専用信号を特定の周辺装置へ出力するのに用いる出力部を含み、更にプロセッサは受信した専用信号が該出力部から発信されるのを防止し、それによってトランザクションが中断される。一実施例に於いて、プロセッサは専用信号が中断された時、バスマスター装置に応答するが特定の周辺装置に応答しないように設定される。例示としての実施例に於いて、専用信号はチップセレクト信号を含む。 In one embodiment, when a processor interrupts a transaction, it maintains a shared signal on the bus and does not interrupt it. In one embodiment, the interface includes (i) an input used to receive a dedicated signal from the bus master device, and (ii) an output used to output the dedicated signal to a particular peripheral device. In addition, the processor prevents the received dedicated signal from being transmitted from the output, thereby interrupting the transaction. In one embodiment, the processor is configured to respond to the bus master device but not to a particular peripheral device when the dedicated signal is interrupted. In the illustrative embodiment, the dedicated signal includes a chip select signal.
開示された実施例において、プロセッサはバスを監視することによって中断するトランザクションを検出する。代替実施例に於いて、プロセッサはバス外部の補助インタフェースを介してバスマスター装置と通信して中断するトランザクションを検出する。 In the disclosed embodiment, the processor detects aborting transactions by monitoring the bus. In an alternative embodiment, the processor detects interrupted transactions by communicating with the bus master device via an auxiliary interface external to the bus.
一実施例に於いて、プロセッサはリセット信号が出現するまで専用信号を中断し続けるように設定される。別の実施例に於いて、プロセッサはトランザクションを検出した後の有限時間内に専用信号を中断するように設定される。一実施例に於いて、トランザクションを中断することによって、プロセッサは一もしくは複数個の周辺装置箇所でトランザクションアボートを発生させるように設定される。一実施例に於いて、プロセッサはトランザクション中断後にバスの正常動作を回復させるように設定される。 In one embodiment, the processor is set to continue interrupting the dedicated signal until a reset signal appears. In another embodiment, the processor is set to suspend the dedicated signal within a finite time after detecting the transaction. In one embodiment, by interrupting a transaction, the processor is configured to generate a transaction abort at one or more peripheral locations. In one embodiment, the processor is configured to restore normal bus operation after a transaction interruption.
本発明の実施例に基づき、インタフェースとプロセッサを含む安全装置を提供する。インタフェースは一もしくは複数個の周辺装置にサービスを提供するバスに連接するのに用いる。プロセッサは、一もしくは複数個の周辺装置に加えてバスに連接し、更にバスマスター装置に応答するが一もしくは複数個の周辺装置に応答しない方式で、特定の周辺装置にアクセスしようとするバスマスター装置のトランザクションを中断する。 In accordance with an embodiment of the present invention, a safety device including an interface and a processor is provided. The interface is used to connect to a bus that provides service to one or more peripheral devices. The processor is connected to the bus in addition to one or more peripheral devices, and further responds to the bus master device but does not respond to one or more peripheral devices, and the bus master tries to access a specific peripheral device. Suspend the device transaction.
一実施例に於いて、バスの伝送は、(i)相互対応する一もしくは複数個の周辺装置にそれぞれ専用する一もしくは複数個の専用信号と、(ii)バスによってサービスされる一もしくは複数個の周辺装置の間で共有される一もしくは複数個の共有信号を含む。そのうちプロセッサは(i)特定の周辺装置と関連する専用信号を中断し、(ii)専用信号が中断された時に該バスマスター装置に応答することによってトランザクションを中断する。 In one embodiment, bus transmission includes (i) one or more dedicated signals dedicated to one or more peripheral devices corresponding to each other, and (ii) one or more serviced by the bus. Including one or a plurality of shared signals shared among peripheral devices. Among them, the processor (i) suspends a dedicated signal associated with a particular peripheral device, and (ii) suspends the transaction by responding to the bus master device when the dedicated signal is interrupted.
一実施例に於いて、特定の周辺装置は記憶装置を含む。そのうちプロセッサは、トランザクションにおいて、該記憶装置からデータを読み取るためのバスマスター装置からの要求を識別し、安全装置に格納されている代替データで該要求に応答するように設定される。例示としての実施例に於いて、プロセッサはバスマスター装置が記憶装置内の定義済アドレス領域へのアクセス要求を識別した時、トランザクションを中断して代替データで応答するように設定される。 In one embodiment, the particular peripheral device includes a storage device. The processor is configured to identify a request from the bus master device to read data from the storage device in a transaction and respond to the request with alternative data stored in the safety device. In the illustrative embodiment, the processor is configured to interrupt the transaction and respond with alternate data when the bus master device identifies a request to access a defined address area in the storage device.
別の実施例に於いて、プロセッサはトランザクションの中で、特定の周辺装置からバスマスター装置に戻されるデータに基づき、特定の周辺装置にアクセスしようとするバスマスター装置のトランザクションを識別するように設定される。また別の実施例において、プロセッサはトランザクションの中で使用されるコマンドコードに基づいて特定の周辺装置にアクセスしようとするバスマスター装置のトランザクションを識別するように設定する。 In another embodiment, the processor is configured in a transaction to identify a bus master device transaction attempting to access a particular peripheral device based on data returned from the particular peripheral device to the bus master device. Is done. In yet another embodiment, the processor is configured to identify a bus master device transaction attempting to access a particular peripheral device based on the command code used in the transaction.
本発明の実施例は、更にバスを介して周辺装置に安全にアクセスするための方法を提供し、それは安全装置を使用しバスを介して通信し、そのうち安全装置は、バスへ連接し、且つ一もしくは複数個の周辺装置以外の付属装置となり、そのうちバスの伝送は、(i)相互対応する一もしくは複数個の周辺装置にそれぞれ専用する一もしくは複数個の専用信号と、(ii)バスによってサービスされる一もしくは複数個の周辺装置の間で共有される一もしくは複数個の共有信号を含み、該安全装置を使用し、特定の周辺装置と関連する専用信号を中断することによってバス上に於いて特定の周辺装置にアクセスしようとするバスマスター装置のトランザクションを中断する。 Embodiments of the present invention further provide a method for securely accessing a peripheral device via a bus, which communicates via the bus using a safety device, wherein the safety device is connected to the bus, and It becomes an auxiliary device other than one or a plurality of peripheral devices, and transmission of the bus is performed by (i) one or a plurality of dedicated signals respectively dedicated to one or a plurality of peripheral devices corresponding to each other and (ii) a bus. Including one or more shared signals shared between one or more serviced peripherals, using the safety device and interrupting dedicated signals associated with a particular peripheral device on the bus In this case, the transaction of the bus master device attempting to access a specific peripheral device is interrupted.
本発明の実施例に基づき、バスを介して周辺装置に安全アクセスするための方法を提供する。安全装置を使用しバスを介して通信し、安全装置はバスに連接し、且つ一もしくは複数個の周辺装置以外の付属装置となる。そして安全装置を使用し、バスマスター装置に応答するが特定の周辺装置に応答しない方式で、バス上で特定の周辺装置にアクセスしようとするバスマスター装置のトランザクションを中断する。 In accordance with an embodiment of the present invention, a method is provided for secure access to peripheral devices over a bus. A safety device is used to communicate via the bus, the safety device being connected to the bus and being an attached device other than one or more peripheral devices. The safety device is used to interrupt the bus master device's transaction to access the specific peripheral device on the bus in a manner that responds to the bus master device but not to the specific peripheral device.
別の実施例に於いて、インタフェースとプロセッサを含む装置を提供する。インタフェースはバスで通信するように設定し、プロセッサはバスマスター装置が未承認で周辺装置にアクセスしようとする時、バスの少なくとも一本のライン上へ一個もしくは複数個のダミー値を強制的に並行書込みして少なくとも一部のトランザクションを中断する。 In another embodiment, an apparatus is provided that includes an interface and a processor. The interface is set to communicate on the bus, and the processor forces one or more dummy values to be paralleled on at least one line of the bus when the bus master device attempts to access a peripheral device without authorization. Write to interrupt at least some transactions.
一実施例に於いて、プロセッサはバス上のデータラインにダミー値を強制書き込みしてデータラインで周辺装置のそれぞれのデータ値を受信もしくは伝送するのをブロックするように設定する。追加的もしくは代替的に、プロセッサはダミー値をバス上のクロックラインへ強制書き込みして、トランザクションに使用するクロック信号を中断するように設定する。更に追加的もしくは代替的に、プロセッサはダミー値をバス上のチップセレクトラインへ強制書き込みして、バスマスター装置が選択した周辺装置を中断するように設定される。 In one embodiment, the processor forces a dummy value to be written to the data line on the bus and sets the data line to block receiving or transmitting the respective data value of the peripheral device. Additionally or alternatively, the processor forces a dummy value to be written to the clock line on the bus and sets the clock signal used for the transaction to be interrupted. Additionally or alternatively, the processor is configured to forcibly write a dummy value to the chip select line on the bus to interrupt the peripheral device selected by the bus master device.
一実施例に於いて、バスは事前設定の論理値を有するオープンコレクタバスもしくはオープンドレインバスを備え、且つプロセッサはバス上の少なくとも一ラインへ事前設定の論理値と相反するダミー値を強制的に書き込むように設定される。 In one embodiment, the bus comprises an open collector bus or an open drain bus having a preset logic value, and the processor forces a dummy value that contradicts the preset logic value to at least one line on the bus. Set to write.
一実施例に於いて、ダミー値を強制書き込みすることによって、プロセッサはバスマスター装置もしくは周辺装置に書き込まれた少なくとも一ラインの対応値をオーバーレイするように設定される。例示としての実施例において、プロセッサはバスマスター装置もしくは周辺装置よりも大きな駆動強度の少なくとも一ラインを駆動することによって、バスマスター装置もしくは周辺装置上に書き込まれた少なくとも一ラインの対応値をオーバーレイするように設定される。別の実施例に於いて、装置は少なくとも一抵抗器を有し、それは少なくとも一ライン上に設定される。抵抗器はバスマスター装置もしくは周辺装置に書き込まれた値をプロセッサによって書きこまれたダミー値よりも弱くして減衰するように設定される。 In one embodiment, by forcing a dummy value, the processor is set to overlay at least one line of the corresponding value written to the bus master device or peripheral device. In an exemplary embodiment, the processor overlays at least one line of corresponding values written on the bus master device or peripheral device by driving at least one line of greater drive strength than the bus master device or peripheral device. Is set as follows. In another embodiment, the device has at least one resistor, which is set on at least one line. The resistor is set so that the value written in the bus master device or peripheral device is attenuated to be weaker than the dummy value written by the processor.
一実施例に於いて、プロセッサはバスマスター装置と周辺装置間の通信に使用されるバスの既存の一ラインのみを通してダミー値を強制書き込みするように設定される。一実施例に於いて、プロセッサはバスを監視することによって中断するトランザクションを検出するように設定される。一実施例に於いて、プロセッサはバスマスター装置外部の補助インタフェース上でバスマスター装置と通信することによって、中断するトランザクションを検出するように設定される。 In one embodiment, the processor is configured to force a dummy value through only one existing line of the bus used for communication between the bus master device and the peripheral device. In one embodiment, the processor is configured to detect aborting transactions by monitoring the bus. In one embodiment, the processor is configured to detect aborting transactions by communicating with the bus master device over an auxiliary interface external to the bus master device.
開示された一実施例において、プロセッサは当装置がリセットされるまで無制限にダミー値を強制書き込みするように設定される。別の実施例に於いて、プロセッサはトランザクションが検出された時、有限時間内にダミー値を強制書き込みするように設定される。一実施例に於いて、プロセッサはトランザクションが中断されると、バスの正常動作を適切に再開するように設定される。 In one disclosed embodiment, the processor is set to force an unlimited number of dummy values until the device is reset. In another embodiment, the processor is set to force a dummy value to be written within a finite time when a transaction is detected. In one embodiment, the processor is set to properly resume normal operation of the bus when a transaction is interrupted.
本発明の実施例に基づき、更に周辺装置と安全装置を含むシステムを提供する。周辺装置は、バスによって、一個もしくは複数個のバスマスター装置にアクセスする。当安全装置はバスマスター装置が周辺装置に未承認でアクセスしようとすると、一個もしくは複数個のダミー値をバスの少なくとも一本のラインへ強制的に並行書込みを行い、少なくとも一部のトランザクションを中断する。 In accordance with an embodiment of the present invention, a system is further provided that includes peripheral devices and safety devices. Peripheral devices access one or more bus master devices by a bus. This safety device forcibly writes one or more dummy values to at least one line of the bus and interrupts at least some transactions when the bus master device tries to access a peripheral device without authorization. To do.
実施例に基づき、本発明は更に、バスに接続された安全装置を用いて、周辺装置に未承認でアクセスしようとするバスマスター装置のトランザクションを中断するか否かを決定し、一個もしくは複数個のダミー値をバスの少なくとも一本のラインへ強制的に並行書き込みして少なくとも一部のトランザクションを中断することを含む方法を提供する。 Based on the embodiment, the present invention further determines whether or not to interrupt a transaction of a bus master device that attempts to unapproved access to a peripheral device using a safety device connected to the bus. A dummy value is forcibly written to at least one line of the bus in parallel to interrupt at least some transactions.
本発明を全面的に理解するため、下述において、図式を示しながら実施例を挙げて詳細に説明する。 In order to fully understand the present invention, the following description will be made in detail with reference to examples while showing diagrams.
概述 Outline
本発明の実施例は、バスインタフェースを介して周辺装置へのアクセスをどのように保護するかの改善の方法と装置を提供する。周辺装置は暗号エンジン、取扱注意データを保存するストレージデバイス、もしくはバスを介してアクセスする任意の装置を含む。 Embodiments of the present invention provide an improved method and apparatus for how to protect access to peripheral devices via a bus interface. Peripheral devices include cryptographic engines, storage devices that store handling attention data, or any device accessed via a bus.
いくつかの開示された実施例に於いて、安全装置はバスのトランザクションを監視し、更にホスト装置もしくはその他バスマスター装置が未承認で周辺装置にアクセスしようとする時、それを識別する。トランザクションは各種適する基準もしくはポリシーによって承認もしくは未承認に分類される。 In some disclosed embodiments, the safety device monitors bus transactions and further identifies when a host device or other bus master device attempts to access a peripheral device without authorization. Transactions are classified as approved or unapproved according to various appropriate criteria or policies.
未承認のトランザクションを識別した時、安全装置は並行してバスの一本もしくは複数本のラインを通して、データもしくは信号をいくつかのダミー値へ強制書き込みして、それを中断する。ダミー値を強制書き込みするのは、例としてクロック信号、データ信号及び/もしくはチップセレクト(Chip-Select)信号に於いて実行できる。 When an unapproved transaction is identified, the safety device forces data or signals to be written to several dummy values in parallel through one or more lines of the bus and interrupts it. For example, the dummy value can be forcibly written in a clock signal, a data signal, and / or a chip-select signal.
ダミー値を強制書き込みするのは、I2Cバスなどのようなオープンドレインもしくはオープンコレクタのバス、もしくはSPIバスのようなプッシュプルバスなどのバス上の信号を中断するのに適している。バス上のトランザクションと並行してダミー値を強制書き込みして周辺装置との通信を中断し、且つ/もしくはそれぞれのクロック信号を中断する。 Forcibly writing the dummy value is suitable for interrupting a signal on a bus such as an open drain or open collector bus such as an I 2 C bus or a push-pull bus such as an SPI bus. In parallel with the transaction on the bus, the dummy value is forcibly written to interrupt the communication with the peripheral device and / or interrupt each clock signal.
本明細書では、I2CとSPIバス上の未承認のトランザクションを中断するのに用いる数種の技術範例を説明しているが、更に中断後に正常操作を再開させるのに用いる技術についても説明する。一実施例に於いて、安全装置はトランザクションを中断できるが、予めバス上でこのトランザクションを検出する必要がなく、もしくはバスを全く監視しなくてもよい。例として安全装置は、あるホスト装置が承認されるまで、もしくは承認されない限り、該ホスト装置のチップセレクト(CS)ライン上のダミー値を強制入力できる。 This document describes several technical examples used to suspend unapproved transactions on the I 2 C and SPI buses, but also describes techniques used to resume normal operation after suspending. To do. In one embodiment, the safety device can interrupt the transaction, but does not need to detect this transaction on the bus in advance, or may not monitor the bus at all. As an example, the safety device can forcibly input a dummy value on the chip select (CS) line of the host device until or until the host device is approved.
一実施例に於いて、例えば、SPIでは、安全装置によって保護されるバスの伝送は、(i)相互に対応する周辺装置に専用される一もしくは複数個の専用信号と、(ii)バスによってサービスされる周辺装置間に於いて共有される一もしくは複数個の共有信号を含む。共有信号の例としてデータとクロック信号とする。専用信号の例としてCS信号とする。一実施例に於いて、安全装置はバス上の共有信号を維持して中断せず、保護されている周辺装置と関連する専用信号を中断することでトランザクションを中断する。注意すべきは、例えばI2Cバスではすべての信号が共有信号であるように、すべてのバスに専用信号があるわけではないことである。 In one embodiment, for example, in SPI, the transmission of the bus protected by the safety device is (i) one or more dedicated signals dedicated to the corresponding peripheral devices and (ii) the bus. It includes one or more shared signals that are shared among the serviced peripherals. An example of the shared signal is a data and a clock signal. An example of a dedicated signal is a CS signal. In one embodiment, the safety device maintains the shared signal on the bus and does not interrupt it, but interrupts the transaction by interrupting the dedicated signal associated with the protected peripheral device. It should be noted that not all buses have dedicated signals, for example, all signals are shared signals on an I 2 C bus.
その他実施例に於いて、安全装置は保護された周辺装置に応答せず、未承認のホスト装置に応答する方式により、トランザクションを中断する。例示としての実施例に於いて、周辺装置はフラッシュメモリを含む。フラッシュメモリはキー、セットアップデータ及び/もしくはブートコードのような取扱注意データの保存に用いるために割り当てられた一もしくは複数個のアドレス領域を含む。安全装置は、フラッシュメモリのCS信号を選択的に駆動することによって、フラッシュメモリに於けるデータへのアクセスを駆動することができる。反対に、安全装置は安全装置内部に保存されているデータを用いてホスト装置に応答する。ここではこの種のセキュアブートプロセスを説明する。 In other embodiments, the secure device does not respond to the protected peripheral device, but suspends the transaction in a manner that responds to an unauthorized host device. In the illustrative embodiment, the peripheral device includes flash memory. The flash memory includes one or more address areas allocated for use in storing handling attention data such as keys, setup data and / or boot codes. The safety device can drive access to data in the flash memory by selectively driving the CS signal of the flash memory. Conversely, the safety device responds to the host device using data stored within the safety device. This type of secure boot process is described here.
ここで開示する技術は、トランザクション毎の処理レベル(transaction-by-transaction level)で周辺装置への即時安全選択的アクセスを提供する。本明細書に於いて説明するほとんどの技術では、バスの既存の信号だけでトランザクションの識別と中断を実行する。よって、開示された技術は規定外のピンもしくは相互接続を必要とせず、そのためシステム全体のサイズとコストが低下する。 The techniques disclosed herein provide immediate safety selective access to peripheral devices at a transaction-by-transaction level. In most of the techniques described herein, transaction identification and interruption is performed only with existing signals on the bus. Thus, the disclosed technique does not require unspecified pins or interconnections, thereby reducing the overall system size and cost.
I2Cバスを介して周辺装置に対してデータに安全にアクセスする。 Securely access data to peripheral devices via I 2 C bus.
図1は本発明実施例の安全システム20のブロック図である。本発明の実施例に於いて、システム20はホスト装置24及び周辺装置28を有し、且つすべてがI2Cバス32に連結する。簡潔にするため、ホスト装置24と周辺装置28は、ここではホストと周辺と称されることもあり、ホスト装置24はバスマスター装置と称されることもある。
FIG. 1 is a block diagram of a
安全装置36はI2Cバス32上のデータ交換を監視することによって周辺装置28へのデータアクセスを保護し、ホスト装置24もしくはバスマスター機能を備えるその他装置が周辺装置28へ未承認でアクセスするのを回避する。安全装置36は制御装置もしくはトラステッドプラットフォームモジュール(TPM)とも称される。本発明の実施例に於いて、安全装置36は、I2Cバス32へ連結するのに用いるインタフェース40と、本発明の技術を実行するために設置するプロセッサ44と、プロセッサ44によって実行される一もしくは複数個のセキュリティポリシーを保存するのに用いるメモリ48を含む。
The
プロセッサ44は、任意の定義済、もしくは設定されたポリシーに拠ってトランザクションを未承認として分類できる。通常、未承認のトランザクションは、周辺装置28のデータをオーバーレイすること、周辺装置28のデータを読み取ること、周辺装置28にコマンドを設定もしくは送信すること、もしくはその他適する方法で周辺装置28にアクセスすることを試みることが多い。安全装置36によって実施するポリシーは、肯定的なポリシー(例:ホワイトリスト)、否定的なポリシー(例:ブラックリスト)、デバイスアドレスもしくはレジスタオフセット(register offset)に拠って決まるポリシー、もしくはその他任意の形式のポリシーを含む。
The processor 44 can classify the transaction as unapproved according to any defined or established policy. Typically, an unapproved transaction will overlay the peripheral device 28 data, read the peripheral device 28 data, set or send a command to the peripheral device 28, or otherwise access the peripheral device 28. I often try. The policy enforced by the
例として、安全装置36は、ホスト装置に対して、周辺装置28へのアクセスが承認される前に、ホスト装置24の身分を認証することを要求することができる。未承認のホスト装置によって試されたトランザクションは未承認だとみなすことができる。その認証はホスト装置と安全装置間で、チャレンジレスポンスプロセス(challenge-response process)を行うことで実行できる。追加的もしくは選択的に、ホスト装置に対して、その他ある種適する方法でその身分を証明する、もしくはセキュアブートプロセスが成功裏に完了することを要求することができる。
As an example, the
その他、追加的もしくは代替的に、いくつかのタイプのトランザクション(例として読取りトランザクション)は承認されたとみなし、またその他タイプのトランザクション(例として書込みトランザクション)は未承認とみなすことができる。更に別の一実施例に於いては、選定された周辺装置へのアドレスアクセスに対して承認されたとみなすことができ、その他アドレスへのアクセスは未承認とみなすことができる。別の実施例として、バス上のビットシーケンス(bit sequences)は未承認のトランザクションとして表示される。 In addition, or alternatively, some types of transactions (eg, read transactions) may be considered approved, and other types of transactions (eg, write transactions) may be considered unapproved. In yet another embodiment, access to selected peripheral devices can be considered authorized and access to other addresses can be considered unauthorized. As another example, bit sequences on the bus are displayed as unauthorized transactions.
通常、プロセッサ44は、任意の適切な方法でトランザクションが承認されているか否かを判定することができる。メモリ48はトランザクションが承認されているか否かを判断するために一個もしくは複数個のポリシーを保存する。
Typically, the processor 44 can determine whether the transaction has been approved in any suitable manner.
I2Cバス32は、シリアルデータ(SDA)信号を有するシリアルデータラインと、シリアルクロック信号(SCL)を有するシリアルクロックラインを含む。用語の「ライン」と「信号」は本明細書に於いて、互換的に使用される。SDAライン及びSCLラインの監視によって、プロセッサ44はI2Cバス32上のすべてのトランザクションを監視し、未承認のトランザクションを識別することができる。 The I 2 C bus 32 includes a serial data line having a serial data (SDA) signal and a serial clock line having a serial clock signal (SCL). The terms “line” and “signal” are used interchangeably herein. By monitoring the SDA and SCL lines, the processor 44 can monitor all transactions on the I 2 C bus 32 and identify unauthorized transactions.
未承認のトランザクションを識別すると、プロセッサ44は一個もしくは複数個のダミー値をI2Cバス32上のSDAライン及び/もしくはSCLラインへ強制的に書き込むことでトランザクションを中断する。このメカニズムはI2Cバスがオープンドレイン/オープンコレクタ構造を備えることで実現する。通常SDAラインとSCLラインはどちらもプルアップ抵抗を使用することで論理「1」の状態へ事前設定でプルアップされる。その他装置が同時に書き込む可能性のある値に関係なく、どの装置でもすべてSDAラインもしくはSCLライン上に論理「0」値をいつでも書込める。 When an unapproved transaction is identified, the processor 44 interrupts the transaction by forcing one or more dummy values to be written to the SDA line and / or SCL line on the I 2 C bus 32. This mechanism is realized by the I 2 C bus having an open drain / open collector structure. Both the SDA line and the SCL line are normally pulled up to a logic “1” state by using a pull-up resistor. Any device can always write a logical “0” value on the SDA or SCL line, regardless of the values that other devices may write simultaneously.
一実施例に於いて、未承認のトランザクションを識別した時、安全装置36のプロセッサ44は、インタフェース40を介してI2Cバス32のSDAラインもしくはSCLライン上に於いて論理値「0」(事前設定の論理値「1」の反対値)を強制的に入力する。本明細書に於いて、「0」値はダミー値とみなす。SDAライン上に於いて強制書込みした「0」値は、ホスト装置24から周辺装置28へ送られた値、もしくはホスト装置24によって周辺装置28から読み出された値、もしくは事前設定の論理値「1」を上書きする。強制的に「0」値をSCLライン上に書き込むとクロック信号が停止し、上述の如何なる状況に於いてもトランザクションは中断される。
In one embodiment, upon identifying an unapproved transaction, the processor 44 of the
一実施例に於いて、プロセッサ44は装置がリセットされるまで、「0」値の強制書込みを継続する。その他実施例に於いて、プロセッサ44は中断からの適度な再開を許可し、即ちホスト装置24と周辺装置28が中断中のトランザクションを再開して通常動作を再開することを許可する。一部のホスト装置及び/もしくは周辺装置はタイマーの一時停止から再開できない。よって仮に後でホスト装置及び周辺装置を適切に再開させる必要がある時、SCLライン上ではなく、SDAライン上に於いてダミー値を強制書込みするのがよい。
In one embodiment, processor 44 continues to force a "0" value until the device is reset. In other embodiments, the processor 44 allows a moderate resumption from interruption, i.e., allows the
一実施例に於いて、トランザクションを中断した後に通常動作に戻るため、プロセッサ44はバス上に於いてI2Cの停止、もしくはI2Cの再始動条件を生成する。本明細書において、I2Cの停止もしくはI2Cの再始動条件は任意のバス信号値シーケンスを含み、それは装置バスに於いてアイドル状態であり且つトランザクションを開始できることを示す。 In one embodiment, to return to normal operation after interrupting the transaction, the processor 44 stops the I 2 C at on the bus, or generates a restart condition of I 2 C. As used herein, an I 2 C stop or I 2 C restart condition includes an arbitrary bus signal value sequence, which indicates that the device bus is idle and a transaction can begin.
プロセッサ44は、各種技術を利用して、トランザクションが中断された後に適切に再開することを許可することができる。一実施例に於いて、プロセッサ44は予定時間の長さに於いて、「0」値の強制書込みを継続する。これは未承認のトランザクションを中断するのに十分であるとみなす。如何なる予定時間の長さでも使用できる。例えば、SMバスの一時停止の長さは25mSと定義する。よって、SMバスに於いてI2Cを応用する時、予め定義する継続時間は一時停止をしやすくするためにも少なくとも25mSに設定するのがよい。 The processor 44 can utilize various techniques to allow it to resume properly after the transaction is interrupted. In one embodiment, processor 44 continues to forcibly write a “0” value for the length of the scheduled time. This is considered sufficient to abort an unapproved transaction. Any length of scheduled time can be used. For example, the length of the SM bus pause is defined as 25 mS. Therefore, when applying I 2 C on the SM bus, the predefined duration should be set to at least 25 mS to make it easier to pause.
別の実施例に於いて、プロセッサ44はSCLラインが論理高値(即ちトグリングしない(not toggling))であることが検出されるまで、予定時間内、SDAライン上に於いて「0」値の強制書込みを続ける。この条件は、ホスト装置にトランザクションを中止もしくは破棄するように指示することができる。プロセッサ44はSDAラインを解放することができ、更にI2C停止条件を発生させる可能性がある。 In another embodiment, the processor 44 forces a “0” value on the SDA line for a predetermined time until the SCL line is detected to be a logic high value (ie, not toggling). Continue writing. This condition can instruct the host device to abort or discard the transaction. The processor 44 can release the SDA line and may also generate an I 2 C stop condition.
更に別の一実施例に於いて、安全装置36を周辺装置28と同じアドレスを備えるI2Cスレーブ装置として設置することによって、周辺装置から読み取ったトランザクションを中断するのは有用である。安全装置36内のプロセッサ44は「0」データ値で任意の未承認の読取り要求に応答する。周辺装置28も同様にこれらの読取り要求をプロセッサ44へ並行して応答するが、そのデータ値は安全装置36によって伝送された「0」値によってオーバーレイされる。このプロセスは、例えば停止条件を介して、ホスト装置がトランザクションを中止するまで継続する。注意すべきは、I2C基準に基づき、I2Cスレーブ装置はデータを送信する時、ACK/NEGACKビットを駆動しない。
In yet another embodiment, it is useful to interrupt a transaction read from a peripheral device by installing the
別の実施例に於いて、同時にトランザクションの読取り、書込みを中断するのに有用なものとして、プロセッサ44によりSDAラインにおいて「0」値を強制書き込みする。続いて、仮にホスト装置24がこの中断を識別できない時、このトランザクションは周辺装置28から送信したデータではなく、バス上の「0」データを介して正常中止する。仮にホスト装置24がこの中断(例として、I2Cマルチマスターのアービトレーション(multi-master arbitration)支持)を検出してトランザクションを破棄すると、プロセッサ44は通常SCLラインで生成した追加のクロックサイクルを介して、ホスト装置24が破棄したトランザクションを引き継ぐ。プロセッサ44は、続いて伝送された現在のバイトを完成させ、停止条件を発信することによって、このトランザクションを中止する。
In another embodiment, the processor 44 forces a "0" value on the SDA line as useful for interrupting reading and writing transactions at the same time. Subsequently, if the
上述の中断と再開技術は、実施例の説明のためのものに過ぎない。代替実施例に於いて、安全装置36のプロセッサ44は任意のその他技術によってトランザクションを中断する及び/もしくは中断から再開へ進む事ができる。
The interruption and resumption techniques described above are merely illustrative of the embodiments. In an alternative embodiment, the processor 44 of the
上述実施例に於いて、バスの既存ラインだけを使用して未承認のトランザクションの検出、中断及び中断後の再開を実現する。代替実施例に於いて、安全装置36とホスト装置24もバス32外部の補助インタフェースで連接し、例として安全装置36とホスト装置24が同一集積回路(IC)に統合され、且つICのSDAとSCLピンを共有する時、この種のメカニズムは実行できる。
In the above embodiment, only the existing lines of the bus are used to realize the detection, interruption and resumption after interruption of unauthorized transactions. In an alternative embodiment, the
これら実施例において、安全装置36とホスト装置24は、補助インタフェースを使用してその他ホスト装置が周辺装置28にアクセスしていないことをバリデーションする。見本となる実施例において、ホスト装置24が周辺装置28にアクセスした時、ホスト装置24は補助インタフェースを介して安全装置36に通知する。該通知に応答するため、プロセッサ44はダミー値「0」をバスへ強制書込みせず、トランザクションの実行を許可する。周辺装置28にアクセスするが、補助インタフェース上でまだ報告されていないトランザクションを検出した時、プロセッサ44は該トランザクションがいくつかの未承認のホスト装置から発行されたと仮定し、「0」値の強制書込みをすることによってそれを中断する。
In these embodiments,
図2は、本発明実施例がI2Cバス32を介して周辺装置28にアクセスするのを保護する方法のフローチャートである。該方法は、監視ステップ50に於いて始動し、安全装置36上のプロセッサ44はインタフェース40を介してI2Cバス32上のトランザクションを監視する。
FIG. 2 is a flowchart of a method for protecting an embodiment of the present invention from accessing peripheral device 28 via I 2 C bus 32. The method starts at a monitoring step 50 where the processor 44 on the
トランザクションの検出ステップ54において、プロセッサ44はホスト装置24が周辺装置28のトランザクションにアクセスしようとしていることを識別する。検査ステップ58において、プロセッサ44はトランザクションが承認を経ているか否かを検査する。例として、プロセッサ44はこのトランザクションがメモリ48に格納されているセキュリティポリシーに違反しているか否かをテストすることができる。
In the detect transaction step 54, the processor 44 identifies that the
仮にトランザクションが承認された場合、許可ステップ62において、プロセッサ44はトランザクションが正常に進むことを許可し、仮に該トランザクションが未承認であることを検出した場合、中断ステップ66において、プロセッサ44は、該トランザクションを中断するために、ダミー値「0」をI2Cバス32のSCL及び/もしくはSDAラインへ強制的に書込みする。
If the transaction is approved, at permission step 62, processor 44 allows the transaction to proceed normally, and if it detects that the transaction is unapproved, at
SPIバスを介して周辺装置に安全にアクセスする。 Access peripheral devices securely via the SPI bus.
図3は、本発明の代替実施例で、安全システム70のブロック図である。図3に示すとおり、システム70はホスト装置74、周辺装置78及び安全装置86を含み、すべてSPIバス82に連結する。
FIG. 3 is a block diagram of a
ホスト装置74が周辺装置78に未承認でアクセスしようとすると、安全装置86はこのトランザクションを識別して中断する。本発明の実施例に於いて、安全装置86はSPIバス82に連接するインタフェース90と、本発明を実行するための技術を設定するプロセッサ94と、プロセッサ94によって実行するために格納した一個もしくは複数個のセキュリティポリシーを設置したメモリ98を含む。
If the
承認と未承認のトランザクションを区別するためのセキュリティポリシー、及び安全装置86のプロセッサ94が未承認のトランザクションを識別する方法は、基本的に上述システム20と同じである。後述技術と上述技術の異なる点は、安全装置86がバス82上でダミー値の強制書き込みをして未承認のトランザクションを中断する点である。
The security policy for distinguishing between approved and unapproved transactions and the method by which the
SPIバス82は、クロック(CLK)ライン、及びマスタアウトスレーブインライン(MOSI)とマスタインスレーブアウトライン(MISO)と称される二本のデータ伝送ラインを含む。CLK、MISOとMOSIラインは、すべての装置(本実施例に於いてホスト装置74、78と86とする)に対して共通である。この他、各スレーブ装置は専用のチップセレクトラインで選択する。本実施例に於いて、ホスト装置74はCS2#と標記されたCSラインを使用して周辺装置78を選び、更にCS1#と標記されたCSラインで安全装置86を選択する。
The
マスター装置としてのホスト装置74は、すべてのCSラインに連接する。一方、周辺装置78はスレーブ機器であるため、各周辺装置78は自身のCSラインにだけ連接される。通常、ホスト装置74は対応するCSラインを使用して要求する周辺装置78を選択し、トランザクションを起動する。その後、使用CLK、MOSIとMISOラインを使用して装置と通信する。MOSIラインはホスト装置74から周辺装置78へ信号を送信するのに用い、MISOラインは周辺装置78からホスト装置74へ信号を送るのに使用する。
A
安全装置86は、スレーブ装置と定義されるが、すべてのCSラインを駆動できるという点で、一般的なSIPスレーブ装置と異なる。図3に示すとおり、安全装置86のインタフェース90は、ホスト装置74と並行してCS2#ラインを駆動するために設置する。システム70が、相互に対応するCSラインを備えた複数個の周辺装置78を含む時、安全装置86は通常、ホスト装置74に接続された任意のCSラインを並行して駆動するために設置する。
The
一実施例に於いて、システム70は、ホスト装置74と安全装置86が反対の論理値でCSラインを駆動すると、安全装置86によって駆動される論理値がホスト装置74によって駆動される論理値をオーバーレイするように設計されている。それは、ホスト装置74と安全装置86がCSライン上で反対の論理値を駆動した時、周辺装置78は安全装置86によって駆動された論理値を受信して実行するとも言える。
In one embodiment, the
CSラインのオーバーライドは、バス上のトランザクションを止めることで、ホスト装置と周辺装置78の間の未承認トランザクションを中断する別の一範例である。上述のオーバーライドの仕組みは、様々な方法で実現できる。下記の説明は周辺装置78を選択するためのCS2#ラインに係るものであるが、複数個の周辺装置78及び複数個の相対するCSラインを使用する時、同様の仕組みを使用しなければならない。
CS line override is another example of interrupting an unacknowledged transaction between a host device and a
一実施例に於いて、安全装置86のインタフェース90を介してCS2#ラインを駆動するラインドライブは、ホスト装置74がCS2#ラインを駆動するラインドライブよりも強い。代替実施例に於いて、直列抵抗100はホスト装置74の出力箇所でCS2#ライン内に挿入することができる。安全装置86に対するCS2#のラインドライブの出力部に対し、直列抵抗100はホスト装置74のCS2#に対するラインドライブの出力を弱める。その他、安全装置86はその他任意の適切な方法で、CS2#ラインを駆動するホスト装置74の信号をオーバーライドするように設定する。
In one embodiment, the line drive that drives the CS2 # line through the
安全装置86のプロセッサ94は、SPIバス82のCS#ライン、CLK、MISO及び/もしくはMOSIラインを監視し、任意の適する方法で未承認のトランザクションを識別する。一実施例に於いて、或る周辺装置78へ未承認でアクセスしようとするホスト装置74のトランザクションを識別すると、安全装置86のプロセッサ94は周辺装置78のCSラインを失効させることによって、トランザクションを中断する。安全装置86はホスト装置74のCS2#ラインへの駆動をオーバーレイするように設定されているので、周辺装置78は選択を取り消され、トランザクションが中断する。一方、トランザクションが承認されたのが確定されると、プロセッサ94は自身のCS2#ドライブを停止し、それによってホスト装置の周辺装置78へのアクセスが中断されなくなる。
The
図4は、本発明の別の実施例における安全システム110のブロック図である。システム110は、図3のシステム70と同様にSPIバス82に基づいている。しかし、システム110において、安全装置86はCLKライン、MISOライン及び/もしくはMOSIライン上にダミー値を強制書き込みすることで未承認のトランザクションを破壊し、CSラインをオーバーレイしない。
FIG. 4 is a block diagram of a
本実施例に於いて、システム110は、安全装置86がCLKライン、MISOライン及び/もしくはMOSIラインを駆動する時にホスト装置74より優先するように設定される。図に示すとおり、当該目的を達成するため、直列抵抗100をCLKライン、MISOライン及びMOSIラインに挿入する。本実施例のCS2#ラインはオーバーレイされないので、CS2#ラインに直列抵抗100を挿入しない。
In this embodiment, the
代替実施例に於いて、オーバーレイの仕組みは、安全装置86の中のCLKライン、MISOライン及び/もしくはMOSIラインのラインドライブを更に強くすることで実現する。
In an alternative embodiment, the overlay mechanism is implemented by further strengthening the line drive of the CLK line, MISO line and / or MOSI line in the
その他実施例に於いて、同時にCSラインをオーバーレイする(図3参照)及びCLKライン、MISOライン及び/もしくはMOSIライン(図4参照)をオーバーレイする混合方案を使用することも可能である。 In other embodiments, it is also possible to use a mixed scheme in which the CS line is simultaneously overlaid (see FIG. 3) and the CLK line, MISO line and / or MOSI line (see FIG. 4) is overlaid.
オーバーライド専用のP2P信号で周辺装置へのアクセスを保護する。 Access to peripheral devices is protected with a P2P signal dedicated to override.
バス(例としてSPI)の信号は共有信号と専用信号に分けられる。共有信号はバス上の複数個の(例として、すべて)周辺装置と並列に接続する信号である。共有SPI信号の例は、データ(MOSIとMISO)とクロック(CLK)信号である。専用信号は特定の周辺装置専用の信号である。バスの一部の専用信号の例はチップセレクト(Chip-Select)信号である。他に、バスは例としてライトプロテクト信号(Write Protect signal)(周辺装置に記憶装置が含まれる時)のような帯域外の(out-of-band)専用信号で増強できる。専用信号はP2P(PTP:point to point)ラインとも呼ばれる。 The signal of the bus (for example, SPI) is divided into a shared signal and a dedicated signal. The shared signal is a signal connected in parallel with a plurality of (for example, all) peripheral devices on the bus. Examples of shared SPI signals are data (MOSI and MISO) and clock (CLK) signals. The dedicated signal is a signal dedicated to a specific peripheral device. An example of a dedicated signal for a part of the bus is a chip-select signal. Alternatively, the bus can be augmented with an out-of-band dedicated signal such as a Write Protect signal (when a peripheral device includes a storage device) as an example. The dedicated signal is also called a P2P (PTP: point to point) line.
一実施例に於いて、一もしくは複数個の専用信号は、周辺装置に到達する前に安全装置86を通過する。反対に、共有信号は通常周辺装置にルーティングされ、安全装置を通過しない。この種の相互接続方式は、以下に説明するとおり、安全装置によって周辺装置を有効に保護する。
In one embodiment, one or more dedicated signals pass through
図5は、本発明の代替実施例に依る安全システム130を示すブロック図である。当システムは図3のシステム70に類似する。しかしながら、本実施例に於いて、CS2#信号は周辺装置78の入力部を直接駆動しない。反対にホスト装置74からのCS2#ラインは安全装置86に入力され、安全装置86はCS2_O#と表示される信号を駆動し、それは周辺装置78の入力部に連接する。
FIG. 5 is a block diagram illustrating a
本実施例に於いて、CS2#信号が専用PTP信号に用いられる例として、それは途中で安全装置を通過し保護された周辺装置にルーティングされる。図からわかるように、共有信号(MOSI、MISOとCLK)はホスト装置74と周辺装置78の間で途切れない。
In the present embodiment, as an example in which the CS2 # signal is used for the dedicated PTP signal, it passes through the safety device on the way and is routed to the protected peripheral device. As can be seen, the shared signals (MOSI, MISO and CLK) are not interrupted between the
安全装置86は、CS2#信号を周辺装置に到達させるか、もしくはCS2#信号を周辺装置に到達させないことを選択することで、ホスト装置74と周辺装置78の間のトランザクションを中断するように設定される。図5の例では、MASK_CS2#として表示された制御信号をアサートするか、もしくはアサート取消するかを通じて、選択を実行する。
The
図6は、本発明実施例の図5で説明したシステム130に基づいた安全装置86のブロック図である。本実施例に於いて、安全装置86は、SPIバス82に連接するインタフェース90と、開示された技術を実行するために設置されたプロセッサ94と、プロセッサ94によって強制実行する一もしくは複数個のセキュリティポリシーを格納するために設置されたメモリ98とを含む。プロセッサ94はスレーブインターフェースロジック(slave interface logic)91とインターフェースモニターロジック(IML:interface monitor logic)92を含む。安全装置86とホスト装置74の間の通信はスレーブインターフェースロジック91によって処理される。インターフェースモニターロジック92は、ホスト装置74の周辺装置78へのアクセスを監視し、制御し、並びに選択的にオーバーライドする。
FIG. 6 is a block diagram of the
一実施例に於いて、安全装置86は未承認でSPIバス82上の周辺装置78へアクセスしようとするホスト装置74のトランザクションを識別して中断する。図5と図6からわかるように、図3に示すシステム内で可能な任意の安全機能は図5のシステム内でも任意に実現できる。
In one embodiment, the
上述実施例に於いて、安全装置はバスに連接し、スレーブ設備を追加するように設定される。しかしながら、その他実施例に於いて、安全装置はマスター装置として連接して設置することができる。例として、この種の実装はマルチマスター(multi-master)機能をサポートするバスプロトコルに適用する。 In the above embodiment, the safety device is set to connect to the bus and add slave equipment. However, in other embodiments, the safety device can be installed as a master device. As an example, this type of implementation applies to bus protocols that support multi-master functionality.
安全装置は未承認のトランザクションから保護するために周辺装置に代わって応答する。 The safety device responds on behalf of the peripheral device to protect against unauthorized transactions.
別の実施例に於いて、安全装置86は、周辺装置78に代わり、選択されたホスト装置トランザクションに応答する。以下の説明は、主に図5と図6の設定に係り、簡単な例を挙げる。通常、開示された技術は該特定のシステム設定に制限されず、更に例として図3もしくは図4の設定のように任意のその他設定でも応用できる。
In another embodiment,
図5と図6の設定に示す実施例において、周辺装置78のアドレス空間内のあるアドレス領域から読取りコマンドを検出した時、インターフェースモニターロジック92はCS2_O#を「高」として強制設定でき、安全装置のメモリ98内部からホスト装置読取りコマンド(もしくは読取りコマンドの一部)を提供する。ホスト装置74は通常、応答が周辺装置からのものでないことがわからない。一実施例に於いて、このようなシーンは例として安全装置がMISO信号をオーバーライドする時のような、図4のシステム110に適用する。
In the embodiment shown in the settings of FIGS. 5 and 6, when a read command is detected from a certain address area in the address space of the
この種の仕組みの使用例は一種のシステムである。そのうち、周辺装置78はSPIフラッシュメモリ装置を含み、更に安全装置86は一部のフラッシュメモリアドレス空間をオーバーライドするように設定され、またこの種の方法によって、アドレス領域で安全なフラッシュメモリエミュレーション(emulation)を提供する。例として、安全装置86は、インターフェースモニターロジック92で初期ホストブートコードを含むフラッシュメモリアドレス領域(スタート時にホスト装置によって引き出された最初の起動コマンド)をオーバーライドするTPMを含む。TPMはセルフコンテインド型身分認証した初期ブートコードで当フラッシュメモリアドレス領域をオーバーライドする。例として、コードにジャンプする前に、残りのコードに対し認証する。
An example of the use of this type of mechanism is a kind of system. Of these, the
一実施例に於いて、安全装置86は、更にSPIフラッシュメモリ装置へのメインインタフェースを含む。他に、安全装置86は、SPIフラッシュメモリ装置にアクセスする時にホスト装置74をリセットしたままにするための適したインタフェースと回路を含むこともでき、それは通常システムスタートプロセスの一部である。安全装置86は例として組み込みコントローラ(EC)、Super I/O(SIO)もしくはベースボード管理コントローラ(BMC)装置でもよい。
In one embodiment,
図7に示すのは、本発明の実施例で、セキュアブートプロセスの例であるフローチャートである。該方法は、起動から始まり、それはシステムパワーをアサートすることである。リセット維持ステップ102に於いて、安全装置86は、ホスト装置74をリセット状態で維持し、更に選択的にSPIフラッシュメモリ(周辺装置78)から起動する。(任意の)初期読取りステップ104において、安全装置86はSPIフラッシュメモリからデータブロックを読取り、データブロックの認証を検査し、それをメモリ98内に格納する。
FIG. 7 is a flowchart showing an example of a secure boot process in the embodiment of the present invention. The method starts with wakeup, which is to assert system power. In the reset maintaining step 102, the
オーバーライドステップ108において、安全装置86は、SPIフラッシュメモリ内の少なくとも一つの定義済アドレス領域(本実施例では周辺装置78とする)へのアクセスをオーバーライドするためにインターフェースモニターロジック92を設定する。問題のアドレス領域は例として一個もしくは複数個のキー、セットアップデータ及び/もしくはホスト装置74の初期ブートブロックを含むことができる。
In the
リセット解除ステップ112において、安全装置86はホスト装置のリセットを解除する。したがって、起動ステップ116において、ホスト装置74はその起動プロセスをスタートする。起動プロセスの一部として、領域アクセスサブステップ120において、安全装置86は内部のメモリ98から定義済アドレス領域へのアクセスをサービスする。
In the
このような方式によって、安全装置からキー、セットアップデータ及び/もしくは初期ブートコード類の取扱注意データを安全に提供する。ホスト装置74は該データがSPIフラッシュメモリからではなく、安全装置から提供されたことを知ることはできない。
By such a system, the key, setup data and / or handling attention data of the initial boot codes are safely provided from the safety device. The
図7の方法は、安全装置が周辺装置の定義済アドレス領域へのアクセスをどのようにオーバーライドするかを示した例である。代替実施例において、その目的のため、任意のその他適する方法を用いることができる。SPIフラッシュメモリ装置として成りすます代替方案として、安全装置は任意のその他適切な未承認のトランザクションをオーバーライド及び/もしくは中断することによって、フラッシュメモリ装置(もしくはその他周辺装置)を保護する。 The method of FIG. 7 is an example of how the safety device overrides access to a peripheral device's defined address area. In alternative embodiments, any other suitable method can be used for that purpose. As an alternative to impersonating an SPI flash memory device, the safety device protects the flash memory device (or other peripheral device) by overriding and / or aborting any other suitable unapproved transaction.
その他、未承認のトランザクションのオーバーライドは、特定の定義済アドレス領域の保護に限定されない。例として、保護された外部設備からの戻りデータもしくはSPIのコマンドコードに基づき、オーバーライドを作動させる。例として、安全装置はセキュリティポリシーを実施でき、それはフラッシュメモリ装置に対してプログラム、消去、書込み起動、状態/設定及び/もしくは任意のその他コマンドもしくは機能を使用禁止にする。SPIフラッシュメモリオーダーとコマンドに依る規範例として、2015年8月24日に、Winbond Electronics Corporationに依る「SPIフラッシュメモリ−デュアル/クワッドを備えたSPIとQPIの3Vシリアルフラッシュメモリ(SPI Flash - 3V Serial Flash Memory with Dual/Quad SPI and QPI)」に於いて指定した。 In addition, overriding unapproved transactions is not limited to protecting specific defined address areas. As an example, an override is activated based on return data from a protected external facility or an SPI command code. By way of example, a safety device can enforce a security policy, which disables programming, erasing, write activation, status / setting and / or any other command or function for the flash memory device. As a normative example depending on SPI flash memory order and command, on August 24, 2015, “SPI flash memory-SPI / QPI 3V serial flash memory (SPI Flash-3V Serial with dual / quad) by Winbond Electronics Corporation Flash Memory with Dual / Quad SPI and QPI) ”.
別の例として、図7の方法において、取扱注意データは常にフラッシュメモリ装置の中に存在し、更に起動プロセスの一部として、安全装置が読み取る。代替実施例に於いて、取扱注意データは、先ず安全装置内に保存しても良い(フラッシュメモリ以外、もしくはフラッシュメモリに保存しない)。このような実施例に於いて、該データをフラッシュメモリ装置から安全装置へ読み取らなくてもよい。 As another example, in the method of FIG. 7, handling attention data is always present in the flash memory device, and further read by the safety device as part of the startup process. In an alternative embodiment, the handling attention data may first be stored in the safety device (other than flash memory or not stored in flash memory). In such an embodiment, the data need not be read from the flash memory device to the safety device.
また別の例として、図7の方法はSPIバスを参考として説明される。代替実施例に於いて、安全装置は、任意の専用信号(仮に有れば)及び/もしくはバスの共有信号でその他バスとプロトコル内の周辺装置の定義済アドレス領域へのアクセスをオーバーライドする。例として、I2Cバスはプルアップ双方向バス(pull-up bidirectional bus)であり、それらは複数個のスレーブ装置と複数個のマスター装置をサポートすることを目的としている。よって、組込み式メカニズムを備えるプロトコルによって、設備間のコンテンション(contention)を処理する。例としてI2C設備が「1」(プルアップ)を設定しようとした時にSDAラインに於いて「0」を検出すると、装置はコンテンション中であると仮定し、次のトランザクションまでバスを解除する。一実施例に於いて、I2C安全装置(例として、図1の安全装置36とする)は、他の周辺スレーブ装置(例として、図1の周辺装置28とする)のアドレス空間の一部とオーバーラップするように(overlap)設定する。安全装置は、例として、その他周辺装置と同じデータに応答するように設定する。仮に安全装置がデータの不一致を検出した場合(例として「1」をプルアップしようとしているが、SDAライン上では「0」を検出する)、安全装置は応答動作を起こす(例として、停止の条件として、一本もしくは複数本のデータライン上で「0」に駆動し、エンドレスクロックストレッチするか(endless clock stretching)、もしくは任意のその他適切な動作を設定する)。該技術は、従来のI2Cスレーブユニットを用い(物理層内にハードウエアの変更はない)、設備をデータレベル(data level)まで監視する。
As another example, the method of FIG. 7 will be described with reference to the SPI bus. In an alternative embodiment, the safety device overrides access to a predefined address area of the peripheral device in other buses and protocols with any dedicated signal (if any) and / or shared signal of the bus. By way of example, the I 2 C bus is a pull-up bidirectional bus, which is intended to support multiple slave devices and multiple master devices. Thus, contention between facilities is handled by a protocol with a built-in mechanism. As an example, if an I 2 C facility tries to set “1” (pull-up) and detects “0” on the SDA line, it assumes that the device is in contention and releases the bus until the next transaction. To do. In one embodiment, the I 2 C safety device (eg, the
更に一実施例に於いて、安全装置86は(インターフェースモニターロジック92を使用する)更にSPIアドレスのデータフェイズ(data phase)を監視する。データの不一致を識別した時、安全装置は、トランザクションの中断、システムのリセット、キーへのアクセスのロック、もしくは任意のその他適切な動作などの応答動作を開始する。
Further, in one embodiment, the
例示的な状況において、安全装置86はSPIフラッシュメモリ中に格納されている特定コードセグメントの署名もしくはダイジェストを保存する。安全装置は、署名もしくはバックグランド内のコード部分のキャッシュ値を計算する時にホスト装置74のSPIフラッシュメモリへのアクセスを監視する。仮に間違った署名、キャッシュ値もしくはSPI取得シーケンスを検出した場合、安全装置86は適切な応答動作を開始する。
In the exemplary situation, the
更に一実施例に於いて、安全装置は、バス82上の一個より多い周辺装置78を監視でき、例として異なる設備へのアクセス順序が予定どおりであることを認証する。
Further, in one embodiment, the safety device can monitor more than one
更に一実施例に於いて、安全装置86は、一個もしくは複数個の信号(CS以外)を用いて、周辺装置78へのアクセスを制限するか、もしくは周辺装置78への承認トランザクションを検出する時に、あるシステム状態の実行を強制する。この種の信号の非限定的な例は、以下を含む。
Further, in one embodiment, the
・図4のようなシステムで説明する任意の信号。
・フラッシュメモリ内のライトプロテクト信号。
・リセット制御信号。
・電源管理制御信号。
・電源を制御する一個もしくは複数個の装置。
・システムを停止する通信(例としてネットワーク停止インタフェースコントローラ)。
・システムリセット。
Any signal described in the system as in FIG.
• Write protect signal in flash memory.
・ Reset control signal.
• Power management control signal.
• One or more devices that control the power supply.
Communication that stops the system (for example, a network stop interface controller).
・ System reset.
図1及び図3から図6に示すシステム20、70、110及び130の配置、並びに安全装置36、86及びバス32、82のような各種システム部品は、すべて説明を明確にするための概略図であるが一代替実施例に於いて、任意のその他適する配置を使用してもよい。
The arrangement of the
例として、明確にするため、図面では、一個の周辺装置と一個のホスト装置だけを示す。一実施例に於いて、システムは二個もしくは更に多くの周辺装置及び/もしくは二個もしくは更に多くのホスト装置を含むことができる。ここで示す実施例はI2C及びSPIバスを使用した実施例を参考としている。代替実施例に於いて、開示された技術はその他適切な種類のバスにおいて必要な修正を加えて使用することができる。 By way of example, for clarity, the drawing shows only one peripheral device and one host device. In one embodiment, the system can include two or more peripheral devices and / or two or more host devices. The embodiment shown here refers to an embodiment using I 2 C and SPI buses. In alternative embodiments, the disclosed technology can be used with other modifications as necessary on any other suitable type of bus.
システム20、70、110及び130の異なる部品は、例えば、特定用途向け集積回路(ASIC:Application-Specific Integrated Circuit)もしくはフィールド・プログラマブル・ゲート・アレイ(FPGA:Field-Programmable Gate Array)のような任意の適切なハードウエアで実行できる。一実施例に於いて、安全装置36と86の一部部品(例としてプロセッサ44もしくはプロセッサ94)は、ソフトウェアもしくはハードウエアとソフトウェア部品の組合せで実現する。メモリ48及び98は、任意の適切なタイプの記憶装置、例としてランダムアクセスメモリ(RAM:Random Access Memory)もしくはフラッシュメモリ(Flash memory)を使用できる。
The different components of the
一実施例に於いて、プロセッサ44及び/もしくはプロセッサ94は、本明細書に記載の機能を実行するためにソフトウェア内にプログラムされた汎用のプログラマブルプロセッサを含む。ソフトウェアは、ネットワークを介して電子形式でプロセッサへダウンロードでき、もしくは磁気、光学、電子メモリ保存のような持続性の有形媒体(non-transitory tangible media)に追加、もしくは置き換えできる。
In one embodiment, processor 44 and / or
上述実施例に於いて、安全装置は先ずバスを監視することで未承認のトランザクションを検出し、続いてトランザクションを中断する。一代替実施例に於いて、安全装置はトランザクションを中断するのに、先にトランザクションを検出する必要がなく、更にはバスを監視する必要もない。例として、安全装置は該ホスト装置が承認されるまでもしくは承認されない限り、或るホスト装置のチップセレクト(CS)ラインをオーバーレイできる。承認は任意の適する方法で実行し、同じバスを使用する必要がない。 In the embodiment described above, the safety device first detects unauthorized transactions by monitoring the bus and then aborts the transaction. In an alternative embodiment, the safety device does not need to detect the transaction first, nor does it need to monitor the bus to abort the transaction. As an example, a security device can overlay a host device's chip select (CS) line until or until the host device is approved. The authorization is performed in any suitable way and does not have to use the same bus.
非限定的な実施例として、本明細書に記載の方法とシステムは、ここではいくつかの例しか挙げないが安全メモリのアプリケーション、モノのインターネット(IoT)のアプリケーション、組込み式アプリケーションもしくは自動車アプリケーションなど各種アプリケーションに使用することができる。 By way of non-limiting example, the methods and systems described herein, such as secure memory applications, Internet of Things (IoT) applications, embedded applications, or automotive applications, to name but a few examples are listed here. Can be used for various applications.
理解すべき点として、上述の実施例は、実施例の方式で引用されており、本発明は上述の具体提示と詳細な内容に制限されない。更には本発明の範囲は、上記の様々な特徴の組み合わせ及び部分的組み合わせ、並びに当領域に習熟した技術者が説明を読んだ後に思いつくことができる未開示の技術も含む。本願で援用した文書は、本願の一部であり、これらの援用された文書内の用語の定義が本明細書と明確に矛盾する又は矛盾を暗に含む場合には、本明細書の定義を参考とする。 It should be understood that the embodiments described above are cited in the manner of the embodiments, and the present invention is not limited to the specific presentation and details described above. Furthermore, the scope of the present invention includes combinations and subcombinations of the various features described above as well as undisclosed techniques that can be devised after reading the description by those skilled in the art. Documents incorporated in this application are part of this application, and if the definitions of terms in these incorporated documents clearly contradict or imply contradictions herein, For reference.
20 システム
24 ホスト装置
28 周辺装置
32 I2Cバス
36 安全装置
40 インタフェース
44 プロセッサ
48 メモリ
50 監視ステップ
54 検出ステップ
58 検査ステップ
62 許可ステップ
66 中断ステップ
70 システム
74 ホスト装置
78 周辺装置
82 SPIバス
86 安全装置
90 インタフェース
91 スレーブインターフェースロジック
92 インターフェースモニターロジック
94 プロセッサ
98 メモリ
110 システム
130 システム
100 直列抵抗
102 リセット維持ステップ
104 初期読取りステップ
108 オーバーライドステップ
112 リセット解除ステップ
116 起動ステップ
120 領域アクセスサブステップ
CS1# チップセレクトライン
CS2# チップセレクトライン
CLK クロックライン
MASK_CS2# 制御信号
MOSI マスタアウトスレーブインライン
MISO マスタインスレーブアウトライン
20
Claims (34)
一もしくは複数個の周辺装置にサービスを提供するバスに連接するのに用い、そのうち、該バスの伝送は、(i)一もしくは複数個の該周辺装置にそれぞれ専用する一もしくは複数個の専用信号と、(ii)該バスによってサービスされる一もしくは複数個の該周辺装置の間で共有される一もしくは複数個の共有信号と、を含むインタフェースと、
該バスに連接し、一もしくは複数個の該周辺装置以外の一付属装置として機能し、特定の周辺装置と相互に関連する該専用信号を中断することによって、該バス上において、該特定の周辺装置へアクセスしようとするバスマスター装置のトランザクションを中断するプロセッサと、
を含むことを特徴とするバスを介して周辺装置に安全アクセスするための安全装置。 In a safety device for safely accessing peripheral devices via a bus,
Used to connect to a bus that provides service to one or more peripheral devices, of which the transmission on the bus is (i) one or more dedicated signals dedicated to one or more peripheral devices, respectively. And (ii) an interface including one or more shared signals shared between the one or more peripheral devices serviced by the bus;
Connect to the bus, function as an auxiliary device other than one or more of the peripheral devices, and interrupt the dedicated signal that correlates to a specific peripheral device, thereby causing the specific peripheral on the bus A processor that interrupts a transaction of a bus master device attempting to access the device;
A safety device for safely accessing a peripheral device via a bus.
該バスマスター装置から該専用信号を受信するのに用いる入力部と、
該専用信号を該特定の周辺装置へ出力するのに用いる出力部と、を含み、
そのうち、該プロセッサは該入力部が受信した該専用信号が該出力部から送信されるのを防止することによって、該トランザクションを中断することを特徴とする請求項1記載の安全装置。 The interface is
An input unit used to receive the dedicated signal from the bus master device;
An output unit used to output the dedicated signal to the specific peripheral device,
2. The safety device according to claim 1, wherein the processor interrupts the transaction by preventing the dedicated signal received by the input unit from being transmitted from the output unit.
一もしくは複数個の周辺装置にサービスを提供するバスに連接するのに用いるインタフェースと、
一もしくは複数個の該周辺装置に連接することに加えて該バスにも連接し、バスマスター装置には応答するが、一もしくは複数個の周辺装置には回答しない方式で、特定の周辺装置へアクセスしようとする該バスマスター装置のトランザクションを中断するプロセッサと、
を含むことを特徴とするバスを介して周辺装置に安全アクセスするための安全装置。 In a safety device for safely accessing peripheral devices via a bus,
An interface used to connect to a bus providing service to one or more peripheral devices;
In addition to connecting to one or more peripheral devices, it connects to the bus and responds to the bus master device, but does not respond to one or more peripheral devices. A processor that interrupts a transaction of the bus master device to be accessed;
A safety device for safely accessing a peripheral device via a bus.
そのうち、該プロセッサは、(i)該特定の周辺装置と相互に関連する該専用信号を中断することと、(ii)該専用信号が中断された時該バスマスター装置に応答することによって、該トランザクションを中断することを特徴とする請求項12記載の安全装置。 The bus transmission includes (i) one or more dedicated signals dedicated to one or more peripheral devices corresponding to each other, and (ii) one or more peripheral devices serviced by the bus. One or a plurality of shared signals shared between,
Wherein the processor (i) suspends the dedicated signal associated with the particular peripheral device, and (ii) responds to the bus master device when the dedicated signal is interrupted. 13. The safety device according to claim 12, wherein the transaction is interrupted.
安全装置を使用してバスを介して通信し、そのうち該安全装置は、該バスに連接し、且つ一もしくは複数個の周辺装置以外の付属装置となり、そのうち該バスでの伝送は、(i)相互に対応する一もしくは複数個の該周辺装置にそれぞれ専用する一もしくは複数個の専用信号と、(ii)該バスによってサービスされる一もしくは複数個の該周辺装置の間で共有される一もしくは複数個の共有信号と、を含み、
該安全装置で特定の周辺装置と関連する該専用信号を中断し、それによって該バス上で該特定の周辺装置へアクセスしようとするバスマスター装置のトランザクションを中断することを特徴とするバスを介して周辺装置に安全アクセスするための方法。 In a method for securely accessing a peripheral device via a bus,
Communicating via a bus using a safety device, wherein the safety device is connected to the bus and becomes an accessory device other than one or more peripheral devices, of which transmission on the bus is (i) One or a plurality of dedicated signals respectively dedicated to one or a plurality of peripheral devices corresponding to each other; and (ii) one or a plurality of the peripheral devices serviced by the bus A plurality of shared signals, and
Via a bus characterized in that the safety device interrupts the dedicated signal associated with a specific peripheral device, thereby interrupting a bus master device transaction attempting to access the specific peripheral device on the bus. For secure access to peripheral devices.
該専用信号を該特定の周辺装置へ出力するのに用いる出力部を使用することを更に含み、
そのうち該トランザクションを中断するステップは、該入力部で受信した該専用信号が該出力部から発信されるのを防止するステップを含むことを特徴とする請求項18記載の方法。 Further comprising using an input used to receive the dedicated signal from the bus master device, and using an output used to output the dedicated signal to the particular peripheral device;
19. The method according to claim 18, wherein the step of interrupting the transaction includes the step of preventing the dedicated signal received at the input unit from being transmitted from the output unit.
安全装置を使用してバスを介して通信し、そのうち該安全装置は、該バスに連接し、且つ一もしくは複数個の周辺装置以外の付属装置となるステップと、
該安全装置を使用してバスマスター装置に応答するが特定の周辺装置に応答せず、それによって、該バス上に於いて、該特定の周辺装置へアクセスしようとする該バスマスター装置のトランザクションを中断するステップを含むことを特徴とするバスを介して周辺装置に安全にアクセスするための方法。 In a method for securely accessing a peripheral device via a bus,
Communicating via a bus using a safety device, wherein the safety device is connected to the bus and becomes an attached device other than one or more peripheral devices;
Use the safety device to respond to the bus master device but not to the specific peripheral device, thereby causing the bus master device transaction to access the specific peripheral device on the bus. A method for securely accessing a peripheral device via a bus comprising the step of interrupting.
そのうち該トランザクションを中断するステップは、(i)該特定の周辺装置と関連する該専用信号を中断するステップと、(ii)該専用信号が中断された時に該バスマスター装置に応答するステップを含むことを特徴とする請求項29記載の方法。 The bus transmission includes (i) one or more dedicated signals dedicated to one or more peripheral devices corresponding to each other, and (ii) one or more peripherals serviced by the bus. Including one or more shared signals shared between devices,
The steps of suspending the transaction include (i) suspending the dedicated signal associated with the particular peripheral device, and (ii) responding to the bus master device when the dedicated signal is interrupted. 30. The method of claim 29.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/955,715 US10452582B2 (en) | 2015-06-08 | 2018-04-18 | Secure access to peripheral devices over a bus |
US15/955,715 | 2018-04-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019212293A true JP2019212293A (en) | 2019-12-12 |
JP7086891B2 JP7086891B2 (en) | 2022-06-20 |
Family
ID=68284341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019078917A Active JP7086891B2 (en) | 2018-04-18 | 2019-04-17 | Safe access to peripherals via bus |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7086891B2 (en) |
CN (1) | CN110390214B (en) |
TW (1) | TWI698769B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI804703B (en) * | 2019-12-31 | 2023-06-11 | 新唐科技股份有限公司 | Computer apparatus and authority management method based on trust chain |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05204768A (en) * | 1992-01-28 | 1993-08-13 | Tokimec Inc | Data storage system |
JP2008524740A (en) * | 2004-12-21 | 2008-07-10 | エヌエックスピー ビー ヴィ | Integrated circuits with improved device security. |
JP2014514651A (en) * | 2011-03-28 | 2014-06-19 | マカフィー, インコーポレイテッド | System and method for virtual machine monitor based anti-malware security |
JP2016206891A (en) * | 2015-04-21 | 2016-12-08 | 株式会社ソシオネクスト | Access interruption circuit, semiconductor integrated circuit, and access interruption method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762687B2 (en) * | 2008-05-24 | 2014-06-24 | Via Technologies, Inc. | Microprocessor providing isolated timers and counters for execution of secure code |
US8527675B2 (en) * | 2011-07-27 | 2013-09-03 | Raytheon Company | System and method for implementing a secure processor data bus |
US10095891B2 (en) * | 2015-06-08 | 2018-10-09 | Nuvoton Technology Corporation | Secure access to peripheral devices over a bus |
-
2019
- 2019-03-11 TW TW108108029A patent/TWI698769B/en active
- 2019-04-12 CN CN201910293938.XA patent/CN110390214B/en active Active
- 2019-04-17 JP JP2019078917A patent/JP7086891B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05204768A (en) * | 1992-01-28 | 1993-08-13 | Tokimec Inc | Data storage system |
JP2008524740A (en) * | 2004-12-21 | 2008-07-10 | エヌエックスピー ビー ヴィ | Integrated circuits with improved device security. |
JP2014514651A (en) * | 2011-03-28 | 2014-06-19 | マカフィー, インコーポレイテッド | System and method for virtual machine monitor based anti-malware security |
JP2016206891A (en) * | 2015-04-21 | 2016-12-08 | 株式会社ソシオネクスト | Access interruption circuit, semiconductor integrated circuit, and access interruption method |
Also Published As
Publication number | Publication date |
---|---|
TW201944281A (en) | 2019-11-16 |
CN110390214A (en) | 2019-10-29 |
CN110390214B (en) | 2022-11-25 |
JP7086891B2 (en) | 2022-06-20 |
TWI698769B (en) | 2020-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6703064B2 (en) | How to safely access peripheral devices over the bus | |
US10452582B2 (en) | Secure access to peripheral devices over a bus | |
JP6404283B2 (en) | System and method for executing instructions to initialize a secure environment | |
US10691807B2 (en) | Secure system boot monitor | |
US10776527B2 (en) | Security monitoring of SPI flash | |
US11188321B2 (en) | Processing device and software execution control method | |
JP2014056390A (en) | Information processor and validity verification method | |
JP7086891B2 (en) | Safe access to peripherals via bus | |
JP7079558B2 (en) | Safety device for SPI flash | |
JP7005676B2 (en) | Safety devices and safety methods for monitoring system startup | |
JP5865661B2 (en) | Semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190807 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20191210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201215 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210121 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211227 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20211227 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220121 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220512 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220608 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7086891 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |