JP2019212293A - Secure access to peripheral device via bus - Google Patents

Secure access to peripheral device via bus Download PDF

Info

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
Application number
JP2019078917A
Other languages
Japanese (ja)
Other versions
JP7086891B2 (en
Inventor
ハーシュマン ジヴ
Hershman Ziv
ハーシュマン ジヴ
アロン モシェ
Alon Moshe
アロン モシェ
モラヴ ダン
Morav Dan
モラヴ ダン
タナミ オレン
Tanami Oren
タナミ オレン
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.)
Nuvoton Technology Corp
Original Assignee
Nuvoton 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
Priority claimed from US15/955,715 external-priority patent/US10452582B2/en
Application filed by Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Publication of JP2019212293A publication Critical patent/JP2019212293A/en
Application granted granted Critical
Publication of JP7086891B2 publication Critical patent/JP7086891B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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

To provide a device and a method for secure access of a host device to a peripheral device via a bus.SOLUTION: In a device and a method for secure access to a peripheral device via a bus, a security device 36 comprises an interface 40 and a processor 44. The interface 40 is set to be connected to a bus 32 which provides service to one or more peripheral devices 28. Transmission of the bus 32 comprises (i) one or more dedicated signals each of which is dedicated to mutually corresponding one of one or more peripheral devices 28, and (ii) one or more common signals which are shared among one or more peripheral devices which receive service from the bus. The processor is connected to the bus, and functions as an additional device other than one or more peripheral devices, and interrupts a dedicated signal related to a specific peripheral device, and thus, interrupts transaction of a bus master device 24 which attempts to access the specific peripheral device on the bus.SELECTED DRAWING: Figure 1

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.

電子システムは、ホスト装置と周辺装置との間で通信するために各種バスインタフェースを使用する。例として、バスインタフェースは内部にIC(Inter-Integrated-Circuit)バス及びシリアル・ペリフェラル・インタフェース(SPI)バスを含む。ICバスの関連内容は、例として「ICバス仕様及びユーザーマニュアル」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 .

米国特許第9,323,953号US Pat. No. 9,323,953

本発明に於ける実施例として、インタフェースとプロセッサを含む安全装置を提供する。インタフェースは、一もしくは複数個の周辺装置にサービスするバスに連接するために設定される。バスの伝送は(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.

本発明実施例で、複数個の装置がICバスを介して通信する安全なシステムのブロック図である。1 is a block diagram of a secure system in which a plurality of devices communicate via an I 2 C bus in an embodiment of the present invention. 本発明実施例で、ICバスを介して周辺装置へのアクセスを保護する方法のフローチャートである。4 is a flowchart of a method for protecting access to a peripheral device through an I 2 C bus according to an embodiment of the present invention. 本発明の一代替実施例で、複数個の装置がSPIバスで通信する安全なシステムのブロック図である。FIG. 5 is a block diagram of a secure system in which multiple devices communicate over an SPI bus in an alternative embodiment of the present invention. 本発明の一代替実施例で、複数個の装置がSPIバスで通信する安全なシステムのブロック図である。FIG. 5 is a block diagram of a secure system in which multiple devices communicate over an SPI bus in an alternative embodiment of the present invention. 本発明の一代替実施例で、複数個の装置がSPIバスで通信する安全なシステムのブロック図である。FIG. 5 is a block diagram of a secure system in which multiple devices communicate over an SPI bus in an alternative embodiment of the present invention. 本発明の実施例の安全装置のブロック図である。It is a block diagram of the safety device of the Example of this invention. 本発明の実施例で、ホスト装置に用いるセキュアブート(secure booting)の方法のフローチャートである。4 is a flowchart of a secure booting method used for a host device according to an embodiment of the present invention.

本発明を全面的に理解するため、下述において、図式を示しながら実施例を挙げて詳細に説明する。   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.

ダミー値を強制書き込みするのは、ICバスなどのようなオープンドレインもしくはオープンコレクタのバス、もしくは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.

本明細書では、ICと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信号とする。一実施例に於いて、安全装置はバス上の共有信号を維持して中断せず、保護されている周辺装置と関連する専用信号を中断することでトランザクションを中断する。注意すべきは、例えばICバスではすべての信号が共有信号であるように、すべてのバスに専用信号があるわけではないことである。 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.

Cバスを介して周辺装置に対してデータに安全にアクセスする。 Securely access data to peripheral devices via I 2 C bus.

図1は本発明実施例の安全システム20のブロック図である。本発明の実施例に於いて、システム20はホスト装置24及び周辺装置28を有し、且つすべてがICバス32に連結する。簡潔にするため、ホスト装置24と周辺装置28は、ここではホストと周辺と称されることもあり、ホスト装置24はバスマスター装置と称されることもある。 FIG. 1 is a block diagram of a safety system 20 according to an embodiment of the present invention. In the preferred embodiment of the present invention, system 20 includes host device 24 and peripheral device 28, all coupled to I 2 C bus 32. For brevity, host device 24 and peripheral device 28 are sometimes referred to herein as a host and peripheral, and host device 24 is sometimes referred to as a bus master device.

安全装置36はICバス32上のデータ交換を監視することによって周辺装置28へのデータアクセスを保護し、ホスト装置24もしくはバスマスター機能を備えるその他装置が周辺装置28へ未承認でアクセスするのを回避する。安全装置36は制御装置もしくはトラステッドプラットフォームモジュール(TPM)とも称される。本発明の実施例に於いて、安全装置36は、ICバス32へ連結するのに用いるインタフェース40と、本発明の技術を実行するために設置するプロセッサ44と、プロセッサ44によって実行される一もしくは複数個のセキュリティポリシーを保存するのに用いるメモリ48を含む。 The safety device 36 protects data access to the peripheral device 28 by monitoring the data exchange on the I 2 C bus 32, and the host device 24 or other device having the bus master function accesses the peripheral device 28 without authorization. To avoid. The safety device 36 is also referred to as a control device or a trusted platform module (TPM). In an embodiment of the present invention, the safety device 36 is implemented by an interface 40 used to connect to the I 2 C bus 32, a processor 44 installed to implement the techniques of the present invention, and the processor 44. It includes a memory 48 used to store one or more security policies.

プロセッサ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 safety device 36 can be a positive policy (eg, whitelist), a negative policy (eg, blacklist), a policy that depends on the device address or register offset, or any other policy Contains a format policy.

例として、安全装置36は、ホスト装置に対して、周辺装置28へのアクセスが承認される前に、ホスト装置24の身分を認証することを要求することができる。未承認のホスト装置によって試されたトランザクションは未承認だとみなすことができる。その認証はホスト装置と安全装置間で、チャレンジレスポンスプロセス(challenge-response process)を行うことで実行できる。追加的もしくは選択的に、ホスト装置に対して、その他ある種適する方法でその身分を証明する、もしくはセキュアブートプロセスが成功裏に完了することを要求することができる。   As an example, the safety device 36 may require the host device to authenticate the identity of the host device 24 before access to the peripheral device 28 is authorized. Transactions attempted by unauthorized host devices can be considered unauthorized. The authentication can be performed by performing a challenge-response process between the host device and the safety device. Additionally or alternatively, the host device can be required to prove its identity in some other suitable manner, or to ensure that the secure boot process is successfully completed.

その他、追加的もしくは代替的に、いくつかのタイプのトランザクション(例として読取りトランザクション)は承認されたとみなし、またその他タイプのトランザクション(例として書込みトランザクション)は未承認とみなすことができる。更に別の一実施例に於いては、選定された周辺装置へのアドレスアクセスに対して承認されたとみなすことができ、その他アドレスへのアクセスは未承認とみなすことができる。別の実施例として、バス上のビットシーケンス(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. Memory 48 stores one or more policies to determine whether the transaction has been approved.

Cバス32は、シリアルデータ(SDA)信号を有するシリアルデータラインと、シリアルクロック信号(SCL)を有するシリアルクロックラインを含む。用語の「ライン」と「信号」は本明細書に於いて、互換的に使用される。SDAライン及びSCLラインの監視によって、プロセッサ44はICバス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は一個もしくは複数個のダミー値をICバス32上のSDAライン及び/もしくはSCLラインへ強制的に書き込むことでトランザクションを中断する。このメカニズムはICバスがオープンドレイン/オープンコレクタ構造を備えることで実現する。通常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を介してICバス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 safety device 36 passes the interface 40 over the SDA or SCL line of the I 2 C bus 32 with a logical “0” ( Forcibly input the preset logical value “1”. In this specification, a “0” value is considered a dummy value. The value “0” forcibly written on the SDA line is a value sent from the host device 24 to the peripheral device 28, a value read from the peripheral device 28 by the host device 24, or a preset logical value “ Overwrite "1". Forcing a "0" value on the SCL line stops the clock signal and interrupts the transaction in any of the above situations.

一実施例に於いて、プロセッサ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 host device 24 and peripheral device 28 to resume the suspended transaction and resume normal operation. Some host devices and / or peripheral devices cannot resume from a paused timer. Therefore, if it is necessary to properly restart the host device and the peripheral device later, it is preferable to forcibly write the dummy value on the SDA line instead of on the SCL line.

一実施例に於いて、トランザクションを中断した後に通常動作に戻るため、プロセッサ44はバス上に於いてICの停止、もしくはICの再始動条件を生成する。本明細書において、ICの停止もしくはICの再始動条件は任意のバス信号値シーケンスを含み、それは装置バスに於いてアイドル状態であり且つトランザクションを開始できることを示す。 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バスに於いてICを応用する時、予め定義する継続時間は一時停止をしやすくするためにも少なくとも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ラインを解放することができ、更にIC停止条件を発生させる可能性がある。 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と同じアドレスを備えるICスレーブ装置として設置することによって、周辺装置から読み取ったトランザクションを中断するのは有用である。安全装置36内のプロセッサ44は「0」データ値で任意の未承認の読取り要求に応答する。周辺装置28も同様にこれらの読取り要求をプロセッサ44へ並行して応答するが、そのデータ値は安全装置36によって伝送された「0」値によってオーバーレイされる。このプロセスは、例えば停止条件を介して、ホスト装置がトランザクションを中止するまで継続する。注意すべきは、IC基準に基づき、ICスレーブ装置はデータを送信する時、ACK/NEGACKビットを駆動しない。 In yet another embodiment, it is useful to interrupt a transaction read from a peripheral device by installing the safety device 36 as an I 2 C slave device with the same address as the peripheral device 28. The processor 44 in the safety device 36 responds to any unauthorized read request with a “0” data value. Peripheral device 28 similarly responds to these read requests in parallel to processor 44, but its data value is overlaid with a “0” value transmitted by safety device 36. This process continues until the host device aborts the transaction, for example via a stop condition. Note that, based on the I 2 C standard, I 2 C slave devices do not drive the ACK / NEGACK bit when transmitting data.

別の実施例に於いて、同時にトランザクションの読取り、書込みを中断するのに有用なものとして、プロセッサ44によりSDAラインにおいて「0」値を強制書き込みする。続いて、仮にホスト装置24がこの中断を識別できない時、このトランザクションは周辺装置28から送信したデータではなく、バス上の「0」データを介して正常中止する。仮にホスト装置24がこの中断(例として、ICマルチマスターのアービトレーション(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 host device 24 cannot identify this interruption, the transaction is normally terminated via “0” data on the bus, not data transmitted from the peripheral device 28. If the host device 24 detects this interruption (for example, support of I 2 C multi-master arbitration) and discards the transaction, the processor 44 typically goes through an additional clock cycle generated on the SCL line. The host device 24 takes over the discarded transaction. The processor 44 aborts this transaction by completing the current byte that was subsequently transmitted and issuing a stop condition.

上述の中断と再開技術は、実施例の説明のためのものに過ぎない。代替実施例に於いて、安全装置36のプロセッサ44は任意のその他技術によってトランザクションを中断する及び/もしくは中断から再開へ進む事ができる。   The interruption and resumption techniques described above are merely illustrative of the embodiments. In an alternative embodiment, the processor 44 of the safety device 36 can suspend the transaction and / or proceed from suspend to resume by any other technique.

上述実施例に於いて、バスの既存ラインだけを使用して未承認のトランザクションの検出、中断及び中断後の再開を実現する。代替実施例に於いて、安全装置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 safety device 36 and the host device 24 are also connected by an auxiliary interface external to the bus 32. For example, the safety device 36 and the host device 24 are integrated into the same integrated circuit (IC), and the SDA of the IC This type of mechanism can be implemented when sharing the SCL pin.

これら実施例において、安全装置36とホスト装置24は、補助インタフェースを使用してその他ホスト装置が周辺装置28にアクセスしていないことをバリデーションする。見本となる実施例において、ホスト装置24が周辺装置28にアクセスした時、ホスト装置24は補助インタフェースを介して安全装置36に通知する。該通知に応答するため、プロセッサ44はダミー値「0」をバスへ強制書込みせず、トランザクションの実行を許可する。周辺装置28にアクセスするが、補助インタフェース上でまだ報告されていないトランザクションを検出した時、プロセッサ44は該トランザクションがいくつかの未承認のホスト装置から発行されたと仮定し、「0」値の強制書込みをすることによってそれを中断する。   In these embodiments, safety device 36 and host device 24 use an auxiliary interface to validate that no other host device is accessing peripheral device 28. In the exemplary embodiment, when the host device 24 accesses the peripheral device 28, the host device 24 notifies the safety device 36 via the auxiliary interface. In order to respond to the notification, the processor 44 does not forcibly write the dummy value “0” to the bus and permits the execution of the transaction. When accessing a peripheral device 28 but detecting a transaction that has not yet been reported on the auxiliary interface, the processor 44 assumes that the transaction has been issued from some unauthorized host device and forces a "0" value. Interrupt it by writing.

図2は、本発明実施例がICバス32を介して周辺装置28にアクセスするのを保護する方法のフローチャートである。該方法は、監視ステップ50に於いて始動し、安全装置36上のプロセッサ44はインタフェース40を介してICバス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 safety device 36 monitors transactions on the I 2 C bus 32 via the interface 40.

トランザクションの検出ステップ54において、プロセッサ44はホスト装置24が周辺装置28のトランザクションにアクセスしようとしていることを識別する。検査ステップ58において、プロセッサ44はトランザクションが承認を経ているか否かを検査する。例として、プロセッサ44はこのトランザクションがメモリ48に格納されているセキュリティポリシーに違反しているか否かをテストすることができる。   In the detect transaction step 54, the processor 44 identifies that the host device 24 is attempting to access the peripheral device 28 transaction. In a check step 58, the processor 44 checks whether the transaction has been approved. As an example, processor 44 may test whether this transaction violates a security policy stored in memory 48.

仮にトランザクションが承認された場合、許可ステップ62において、プロセッサ44はトランザクションが正常に進むことを許可し、仮に該トランザクションが未承認であることを検出した場合、中断ステップ66において、プロセッサ44は、該トランザクションを中断するために、ダミー値「0」をICバス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 interruption step 66, processor 44 In order to interrupt the transaction, a dummy value “0” is forcibly written to the SCL and / or SDA line of the I 2 C bus 32.

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 safety system 70 in an alternative embodiment of the present invention. As shown in FIG. 3, system 70 includes host device 74, peripheral device 78, and safety device 86, all coupled to SPI bus 82.

ホスト装置74が周辺装置78に未承認でアクセスしようとすると、安全装置86はこのトランザクションを識別して中断する。本発明の実施例に於いて、安全装置86はSPIバス82に連接するインタフェース90と、本発明を実行するための技術を設定するプロセッサ94と、プロセッサ94によって実行するために格納した一個もしくは複数個のセキュリティポリシーを設置したメモリ98を含む。   If the host device 74 attempts to gain unauthorized access to the peripheral device 78, the secure device 86 identifies this transaction and aborts. In an embodiment of the present invention, the safety device 86 includes an interface 90 connected to the SPI bus 82, a processor 94 that sets up techniques for carrying out the present invention, and one or more stored for execution by the processor 94. It includes a memory 98 in which individual security policies are set.

承認と未承認のトランザクションを区別するためのセキュリティポリシー、及び安全装置86のプロセッサ94が未承認のトランザクションを識別する方法は、基本的に上述システム20と同じである。後述技術と上述技術の異なる点は、安全装置86がバス82上でダミー値の強制書き込みをして未承認のトランザクションを中断する点である。   The security policy for distinguishing between approved and unapproved transactions and the method by which the processor 94 of the safety device 86 identifies unapproved transactions are basically the same as the system 20 described above. The difference between the technology described later and the technology described above is that the safety device 86 forcibly writes a dummy value on the bus 82 and interrupts an unapproved transaction.

SPIバス82は、クロック(CLK)ライン、及びマスタアウトスレーブインライン(MOSI)とマスタインスレーブアウトライン(MISO)と称される二本のデータ伝送ラインを含む。CLK、MISOとMOSIラインは、すべての装置(本実施例に於いてホスト装置74、78と86とする)に対して共通である。この他、各スレーブ装置は専用のチップセレクトラインで選択する。本実施例に於いて、ホスト装置74はCS2#と標記されたCSラインを使用して周辺装置78を選び、更にCS1#と標記されたCSラインで安全装置86を選択する。   The SPI bus 82 includes a clock (CLK) line and two data transmission lines referred to as a master-out-slave inline (MOSI) and a master-in-slave outline (MISO). The CLK, MISO, and MOSI lines are common to all devices (host devices 74, 78, and 86 in this embodiment). In addition, each slave device is selected by a dedicated chip select line. In this embodiment, the host device 74 uses the CS line labeled CS2 # to select the peripheral device 78 and further selects the safety device 86 using the CS line labeled CS1 #.

マスター装置としてのホスト装置74は、すべてのCSラインに連接する。一方、周辺装置78はスレーブ機器であるため、各周辺装置78は自身のCSラインにだけ連接される。通常、ホスト装置74は対応するCSラインを使用して要求する周辺装置78を選択し、トランザクションを起動する。その後、使用CLK、MOSIとMISOラインを使用して装置と通信する。MOSIラインはホスト装置74から周辺装置78へ信号を送信するのに用い、MISOラインは周辺装置78からホスト装置74へ信号を送るのに使用する。   A host device 74 as a master device is connected to all CS lines. On the other hand, since the peripheral device 78 is a slave device, each peripheral device 78 is connected only to its own CS line. Normally, the host device 74 uses the corresponding CS line to select the requesting peripheral device 78 and initiate a transaction. After that, it communicates with the device using the used CLK, MOSI and MISO lines. The MOSI line is used to send a signal from the host device 74 to the peripheral device 78, and the MISO line is used to send a signal from the peripheral device 78 to the host device 74.

安全装置86は、スレーブ装置と定義されるが、すべてのCSラインを駆動できるという点で、一般的なSIPスレーブ装置と異なる。図3に示すとおり、安全装置86のインタフェース90は、ホスト装置74と並行してCS2#ラインを駆動するために設置する。システム70が、相互に対応するCSラインを備えた複数個の周辺装置78を含む時、安全装置86は通常、ホスト装置74に接続された任意のCSラインを並行して駆動するために設置する。   The safety device 86 is defined as a slave device, but is different from a general SIP slave device in that all the CS lines can be driven. As shown in FIG. 3, the interface 90 of the safety device 86 is installed to drive the CS2 # line in parallel with the host device 74. When the system 70 includes a plurality of peripheral devices 78 with corresponding CS lines, the safety device 86 is typically installed to drive any CS line connected to the host device 74 in parallel. .

一実施例に於いて、システム70は、ホスト装置74と安全装置86が反対の論理値でCSラインを駆動すると、安全装置86によって駆動される論理値がホスト装置74によって駆動される論理値をオーバーレイするように設計されている。それは、ホスト装置74と安全装置86がCSライン上で反対の論理値を駆動した時、周辺装置78は安全装置86によって駆動された論理値を受信して実行するとも言える。   In one embodiment, the system 70 allows the logic value driven by the safety device 86 to change the logic value driven by the host device 74 when the host device 74 and the safety device 86 drive the CS line with opposite logic values. Designed to overlay. It can also be said that when the host device 74 and the safety device 86 drive opposite logic values on the CS line, the peripheral device 78 receives and executes the logic value driven by the safety device 86.

CSラインのオーバーライドは、バス上のトランザクションを止めることで、ホスト装置と周辺装置78の間の未承認トランザクションを中断する別の一範例である。上述のオーバーライドの仕組みは、様々な方法で実現できる。下記の説明は周辺装置78を選択するためのCS2#ラインに係るものであるが、複数個の周辺装置78及び複数個の相対するCSラインを使用する時、同様の仕組みを使用しなければならない。   CS line override is another example of interrupting an unacknowledged transaction between a host device and a peripheral device 78 by stopping the transaction on the bus. The above-described override mechanism can be realized in various ways. The following description relates to the CS2 # line for selecting the peripheral device 78, but the same mechanism must be used when using a plurality of peripheral devices 78 and a plurality of opposing CS lines. .

一実施例に於いて、安全装置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 interface 90 of the safety device 86 is stronger than the line drive that the host device 74 drives the CS2 # line. In an alternative embodiment, series resistor 100 can be inserted into the CS2 # line at the output of host device 74. In contrast to the output portion of the CS2 # line drive for the safety device 86, the series resistor 100 weakens the output of the line drive for CS2 # of the host device 74. In addition, the safety device 86 is set to override the signal of the host device 74 that drives the CS2 # line in any other suitable manner.

安全装置86のプロセッサ94は、SPIバス82のCS#ライン、CLK、MISO及び/もしくはMOSIラインを監視し、任意の適する方法で未承認のトランザクションを識別する。一実施例に於いて、或る周辺装置78へ未承認でアクセスしようとするホスト装置74のトランザクションを識別すると、安全装置86のプロセッサ94は周辺装置78のCSラインを失効させることによって、トランザクションを中断する。安全装置86はホスト装置74のCS2#ラインへの駆動をオーバーレイするように設定されているので、周辺装置78は選択を取り消され、トランザクションが中断する。一方、トランザクションが承認されたのが確定されると、プロセッサ94は自身のCS2#ドライブを停止し、それによってホスト装置の周辺装置78へのアクセスが中断されなくなる。   The processor 94 of the safety device 86 monitors the CS # line, CLK, MISO and / or MOSI line of the SPI bus 82 and identifies unauthorized transactions in any suitable manner. In one embodiment, upon identifying a host device 74 transaction that attempts to gain unauthorized access to a peripheral device 78, the processor 94 of the safety device 86 invalidates the transaction by invalidating the CS line of the peripheral device 78. Interrupt. Since the safety device 86 is set to overlay the drive of the host device 74 to the CS2 # line, the peripheral device 78 is deselected and the transaction is interrupted. On the other hand, if it is determined that the transaction has been approved, the processor 94 stops its CS2 # drive, thereby preventing access to the peripheral device 78 of the host device from being interrupted.

図4は、本発明の別の実施例における安全システム110のブロック図である。システム110は、図3のシステム70と同様にSPIバス82に基づいている。しかし、システム110において、安全装置86はCLKライン、MISOライン及び/もしくはMOSIライン上にダミー値を強制書き込みすることで未承認のトランザクションを破壊し、CSラインをオーバーレイしない。   FIG. 4 is a block diagram of a safety system 110 in another embodiment of the present invention. System 110 is based on SPI bus 82, similar to system 70 of FIG. However, in the system 110, the safety device 86 destroys unauthorized transactions by forcing a dummy value on the CLK, MISO, and / or MOSI lines and does not overlay the CS line.

本実施例に於いて、システム110は、安全装置86がCLKライン、MISOライン及び/もしくはMOSIラインを駆動する時にホスト装置74より優先するように設定される。図に示すとおり、当該目的を達成するため、直列抵抗100をCLKライン、MISOライン及びMOSIラインに挿入する。本実施例のCS2#ラインはオーバーレイされないので、CS2#ラインに直列抵抗100を挿入しない。   In this embodiment, the system 110 is set to take precedence over the host device 74 when the safety device 86 drives the CLK line, MISO line and / or MOSI line. As shown in the figure, in order to achieve the object, a series resistor 100 is inserted into the CLK line, the MISO line, and the MOSI line. Since the CS2 # line of this embodiment is not overlaid, the series resistor 100 is not inserted into the CS2 # line.

代替実施例に於いて、オーバーレイの仕組みは、安全装置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 safety device 86.

その他実施例に於いて、同時に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 safety device 86 before reaching the peripheral device. Conversely, shared signals are usually routed to peripheral devices and do not pass through safety devices. This type of interconnection scheme effectively protects peripheral devices with safety devices, as described below.

図5は、本発明の代替実施例に依る安全システム130を示すブロック図である。当システムは図3のシステム70に類似する。しかしながら、本実施例に於いて、CS2#信号は周辺装置78の入力部を直接駆動しない。反対にホスト装置74からのCS2#ラインは安全装置86に入力され、安全装置86はCS2_O#と表示される信号を駆動し、それは周辺装置78の入力部に連接する。   FIG. 5 is a block diagram illustrating a safety system 130 according to an alternative embodiment of the present invention. The system is similar to the system 70 of FIG. However, in this embodiment, the CS2 # signal does not directly drive the input of the peripheral device 78. Conversely, the CS2 # line from the host device 74 is input to the safety device 86, which drives a signal labeled CS2_O #, which is connected to the input of the peripheral device 78.

本実施例に於いて、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 host device 74 and the peripheral device 78.

安全装置86は、CS2#信号を周辺装置に到達させるか、もしくはCS2#信号を周辺装置に到達させないことを選択することで、ホスト装置74と周辺装置78の間のトランザクションを中断するように設定される。図5の例では、MASK_CS2#として表示された制御信号をアサートするか、もしくはアサート取消するかを通じて、選択を実行する。   The safety device 86 is set to interrupt the transaction between the host device 74 and the peripheral device 78 by selecting whether the CS2 # signal reaches the peripheral device, or the CS2 # signal does not reach the peripheral device. Is done. In the example of FIG. 5, the selection is performed through whether the control signal indicated as MASK_CS2 # is asserted or deasserted.

図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 safety device 86 based on the system 130 described in FIG. 5 of the embodiment of the present invention. In this embodiment, the safety device 86 includes an interface 90 connected to the SPI bus 82, a processor 94 installed to implement the disclosed technology, and one or more security enforced by the processor 94. And a memory 98 installed to store the policy. The processor 94 includes slave interface logic (slave interface logic) 91 and interface monitor logic (IML) 92. Communication between the safety device 86 and the host device 74 is handled by the slave interface logic 91. Interface monitor logic 92 monitors, controls, and selectively overrides host device 74 access to peripheral devices 78.

一実施例に於いて、安全装置86は未承認でSPIバス82上の周辺装置78へアクセスしようとするホスト装置74のトランザクションを識別して中断する。図5と図6からわかるように、図3に示すシステム内で可能な任意の安全機能は図5のシステム内でも任意に実現できる。   In one embodiment, the safety device 86 identifies and aborts a host device 74 transaction that attempts to access the peripheral device 78 on the SPI bus 82 without authorization. As can be seen from FIGS. 5 and 6, any safety function possible in the system shown in FIG. 3 can be realized in the system of FIG.

上述実施例に於いて、安全装置はバスに連接し、スレーブ設備を追加するように設定される。しかしながら、その他実施例に於いて、安全装置はマスター装置として連接して設置することができる。例として、この種の実装はマルチマスター(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, secure device 86 responds to selected host device transactions on behalf of peripheral device 78. The following description mainly relates to the settings in FIGS. 5 and 6 and gives a simple example. Generally, the disclosed technique is not limited to the specific system settings, and can be applied to any other settings as shown in FIG. 3 or FIG. 4 as an example.

図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 peripheral device 78, the interface monitor logic 92 can forcibly set CS2_O # to “high” and A host device read command (or part of a read command) from within the memory 98. Host device 74 typically does not know that the response is not from a peripheral device. In one embodiment, such a scene applies to the system 110 of FIG. 4, such as when the safety device overrides the MISO signal.

この種の仕組みの使用例は一種のシステムである。そのうち、周辺装置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 peripheral device 78 includes an SPI flash memory device, and the safety device 86 is further configured to override some flash memory address space, and in this manner secure flash memory emulation in the address region. )I will provide a. As an example, the safety device 86 includes a TPM that overrides the flash memory address area (the first activation command derived by the host device at start-up) that includes the initial host boot code in the interface monitor logic 92. The TPM overrides the flash memory address area with the initial boot code that has been self-contained. As an example, authenticate the rest of the code before jumping to the code.

一実施例に於いて、安全装置86は、更にSPIフラッシュメモリ装置へのメインインタフェースを含む。他に、安全装置86は、SPIフラッシュメモリ装置にアクセスする時にホスト装置74をリセットしたままにするための適したインタフェースと回路を含むこともでき、それは通常システムスタートプロセスの一部である。安全装置86は例として組み込みコントローラ(EC)、Super I/O(SIO)もしくはベースボード管理コントローラ(BMC)装置でもよい。   In one embodiment, safety device 86 further includes a main interface to the SPI flash memory device. Alternatively, the safety device 86 may include a suitable interface and circuitry to keep the host device 74 reset when accessing the SPI flash memory device, which is usually part of the system start process. The safety device 86 may be an embedded controller (EC), Super I / O (SIO), or baseboard management controller (BMC) device, for example.

図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 safety device 86 maintains the host device 74 in a reset state, and further selectively activates from the SPI flash memory (peripheral device 78). In the (optional) initial read step 104, the safety device 86 reads the data block from the SPI flash memory, checks the authentication of the data block, and stores it in the memory 98.

オーバーライドステップ108において、安全装置86は、SPIフラッシュメモリ内の少なくとも一つの定義済アドレス領域(本実施例では周辺装置78とする)へのアクセスをオーバーライドするためにインターフェースモニターロジック92を設定する。問題のアドレス領域は例として一個もしくは複数個のキー、セットアップデータ及び/もしくはホスト装置74の初期ブートブロックを含むことができる。   In the override step 108, the safety device 86 sets the interface monitor logic 92 to override access to at least one defined address area (referred to as peripheral device 78 in this embodiment) in the SPI flash memory. The address area in question can include, by way of example, one or more keys, setup data, and / or an initial boot block of the host device 74.

リセット解除ステップ112において、安全装置86はホスト装置のリセットを解除する。したがって、起動ステップ116において、ホスト装置74はその起動プロセスをスタートする。起動プロセスの一部として、領域アクセスサブステップ120において、安全装置86は内部のメモリ98から定義済アドレス領域へのアクセスをサービスする。   In the reset release step 112, the safety device 86 releases the reset of the host device. Accordingly, in the startup step 116, the host device 74 starts its startup process. As part of the startup process, in the area access sub-step 120, the safety device 86 services access from the internal memory 98 to the defined address area.

このような方式によって、安全装置からキー、セットアップデータ及び/もしくは初期ブートコード類の取扱注意データを安全に提供する。ホスト装置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 host device 74 cannot know that the data is provided from the safety device, not from the SPI flash memory.

図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バスを参考として説明される。代替実施例に於いて、安全装置は、任意の専用信号(仮に有れば)及び/もしくはバスの共有信号でその他バスとプロトコル内の周辺装置の定義済アドレス領域へのアクセスをオーバーライドする。例として、ICバスはプルアップ双方向バス(pull-up bidirectional bus)であり、それらは複数個のスレーブ装置と複数個のマスター装置をサポートすることを目的としている。よって、組込み式メカニズムを備えるプロトコルによって、設備間のコンテンション(contention)を処理する。例としてIC設備が「1」(プルアップ)を設定しようとした時にSDAラインに於いて「0」を検出すると、装置はコンテンション中であると仮定し、次のトランザクションまでバスを解除する。一実施例に於いて、IC安全装置(例として、図1の安全装置36とする)は、他の周辺スレーブ装置(例として、図1の周辺装置28とする)のアドレス空間の一部とオーバーラップするように(overlap)設定する。安全装置は、例として、その他周辺装置と同じデータに応答するように設定する。仮に安全装置がデータの不一致を検出した場合(例として「1」をプルアップしようとしているが、SDAライン上では「0」を検出する)、安全装置は応答動作を起こす(例として、停止の条件として、一本もしくは複数本のデータライン上で「0」に駆動し、エンドレスクロックストレッチするか(endless clock stretching)、もしくは任意のその他適切な動作を設定する)。該技術は、従来のICスレーブユニットを用い(物理層内にハードウエアの変更はない)、設備をデータレベル(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 safety device 36 of FIG. 1) is one of the address spaces of other peripheral slave devices (eg, the peripheral device 28 of FIG. 1). Set to overlap with the part. As an example, the safety device is set to respond to the same data as other peripheral devices. If the safety device detects a data mismatch (for example, “1” is to be pulled up, but “0” is detected on the SDA line), the safety device performs a response operation (for example, the stop As a condition, it is driven to “0” on one or more data lines and endless clock stretching (endless clock stretching) or any other suitable operation is set). The technique uses a conventional I 2 C slave unit (no hardware changes in the physical layer) and monitors the equipment to the data level.

更に一実施例に於いて、安全装置86は(インターフェースモニターロジック92を使用する)更にSPIアドレスのデータフェイズ(data phase)を監視する。データの不一致を識別した時、安全装置は、トランザクションの中断、システムのリセット、キーへのアクセスのロック、もしくは任意のその他適切な動作などの応答動作を開始する。   Further, in one embodiment, the safety device 86 further monitors the data phase of the SPI address (using the interface monitor logic 92). Upon identifying a data mismatch, the safety device initiates a response action such as aborting the transaction, resetting the system, locking access to the key, or any other suitable action.

例示的な状況において、安全装置86はSPIフラッシュメモリ中に格納されている特定コードセグメントの署名もしくはダイジェストを保存する。安全装置は、署名もしくはバックグランド内のコード部分のキャッシュ値を計算する時にホスト装置74のSPIフラッシュメモリへのアクセスを監視する。仮に間違った署名、キャッシュ値もしくはSPI取得シーケンスを検出した場合、安全装置86は適切な応答動作を開始する。   In the exemplary situation, the safety device 86 stores a signature or digest of a particular code segment stored in the SPI flash memory. The safety device monitors access to the SPI flash memory of the host device 74 when calculating the cache value of the signature or code portion in the background. If an incorrect signature, cache value or SPI acquisition sequence is detected, the safety device 86 initiates an appropriate response operation.

更に一実施例に於いて、安全装置は、バス82上の一個より多い周辺装置78を監視でき、例として異なる設備へのアクセス順序が予定どおりであることを認証する。   Further, in one embodiment, the safety device can monitor more than one peripheral device 78 on the bus 82, for example authenticating that the order of access to different facilities is on schedule.

更に一実施例に於いて、安全装置86は、一個もしくは複数個の信号(CS以外)を用いて、周辺装置78へのアクセスを制限するか、もしくは周辺装置78への承認トランザクションを検出する時に、あるシステム状態の実行を強制する。この種の信号の非限定的な例は、以下を含む。   Further, in one embodiment, the safety device 86 uses one or more signals (other than CS) to restrict access to the peripheral device 78 or to detect an approval transaction to the peripheral device 78. Force the execution of certain system states. Non-limiting examples of this type of signal include:

・図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 systems 20, 70, 110 and 130 and the various system components such as the safety devices 36 and 86 and the buses 32 and 82 shown in FIGS. 1 and 3 to 6 are all schematic diagrams for clarity of explanation. However, in one alternative embodiment, any other suitable arrangement may be used.

例として、明確にするため、図面では、一個の周辺装置と一個のホスト装置だけを示す。一実施例に於いて、システムは二個もしくは更に多くの周辺装置及び/もしくは二個もしくは更に多くのホスト装置を含むことができる。ここで示す実施例はIC及び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 systems 20, 70, 110 and 130 can be arbitrary, such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). Can be run on any appropriate hardware. In one embodiment, some parts of safety devices 36 and 86 (eg, processor 44 or processor 94) are implemented in software or a combination of hardware and software parts. The memories 48 and 98 can use any suitable type of storage device, for example, random access memory (RAM) or flash memory.

一実施例に於いて、プロセッサ44及び/もしくはプロセッサ94は、本明細書に記載の機能を実行するためにソフトウェア内にプログラムされた汎用のプログラマブルプロセッサを含む。ソフトウェアは、ネットワークを介して電子形式でプロセッサへダウンロードでき、もしくは磁気、光学、電子メモリ保存のような持続性の有形媒体(non-transitory tangible media)に追加、もしくは置き換えできる。   In one embodiment, processor 44 and / or processor 94 includes a general purpose programmable processor programmed into software to perform the functions described herein. Software can be downloaded to the processor in electronic form over the network, or can be added to or replaced with non-transitory tangible media such as magnetic, optical, and electronic memory storage.

上述実施例に於いて、安全装置は先ずバスを監視することで未承認のトランザクションを検出し、続いてトランザクションを中断する。一代替実施例に於いて、安全装置はトランザクションを中断するのに、先にトランザクションを検出する必要がなく、更にはバスを監視する必要もない。例として、安全装置は該ホスト装置が承認されるまでもしくは承認されない限り、或るホスト装置のチップセレクト(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 ICバス
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 System 24 Host device 28 Peripheral device 32 I 2 C bus 36 Safety device 40 Interface 44 Processor 48 Memory 50 Monitoring step 54 Detection step 58 Inspection step 62 Authorization step 66 Interruption step 70 System 74 Host device 78 Peripheral device 82 SPI bus 86 Safety Device 90 Interface 91 Slave interface logic 92 Interface monitor logic 94 Processor 98 Memory 110 System 130 System 100 Series resistance 102 Reset maintenance step 104 Initial read step 108 Override step 112 Reset release step 116 Start step 120 Area access sub step CS1 # Chip select line CS2 # Chip select line CLK clock Line MASK_CS2 # control signal MOSI master out slave-line MISO The Master-In-Slave-outline

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 safety device of claim 1, wherein the processor maintains the shared signal on the bus and does not suspend when suspending the transaction. 前記インタフェースは、
該バスマスター装置から該専用信号を受信するのに用いる入力部と、
該専用信号を該特定の周辺装置へ出力するのに用いる出力部と、を含み、
そのうち、該プロセッサは該入力部が受信した該専用信号が該出力部から送信されるのを防止することによって、該トランザクションを中断することを特徴とする請求項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.
前記プロセッサは、該専用信号が中断された時に該バスマスター装置に応答するが、該特定の周辺装置には応答しないように設定されることを特徴とする請求項1記載の安全装置。   2. The safety device of claim 1, wherein the processor is configured to respond to the bus master device when the dedicated signal is interrupted, but not to the specific peripheral device. 前記専用信号は、チップセレクト(CS)信号を含むことを特徴とする請求項1記載の安全装置。   The safety device according to claim 1, wherein the dedicated signal includes a chip select (CS) signal. 前記プロセッサは、該バスを監視して、中断する該トランザクションを検出することを特徴とする請求項1記載の安全装置。   The safety device according to claim 1, wherein the processor detects the transaction to be interrupted by monitoring the bus. 前記プロセッサは、該バス外部の補助インタフェースを介して該バスマスター装置と通信を行い、中断する該トランザクションを検出することを特徴とする請求項1記載の安全装置。   The safety device according to claim 1, wherein the processor detects the transaction to be interrupted by communicating with the bus master device via an auxiliary interface external to the bus. 前記プロセッサは、リセット信号が表れるまで、継続して該専用信号を中断しつづけるように設定されることを特徴とする請求項1記載の安全装置。   The safety device according to claim 1, wherein the processor is set to continuously interrupt the dedicated signal until a reset signal appears. 前記プロセッサは、該トランザクションを検出した後の限られた時間内に、該専用信号を中断するように設定されることを特徴とする請求項1記載の安全装置。   The safety device of claim 1, wherein the processor is configured to suspend the dedicated signal within a limited time after detecting the transaction. 該トランザクションを中断することによって、該プロセッサが一もしくは複数個の該周辺装置箇所でトランザクションアボートを発生させるように設定されることを特徴とする請求項1記載の安全装置。   The safety device of claim 1, wherein the processor is configured to generate a transaction abort at one or more of the peripheral device locations by interrupting the transaction. 前記プロセッサは、該トランザクションが中断された後に該バスの正常動作を回復するように設定されることを特徴とする請求項1記載の安全装置。   The safety device of claim 1, wherein the processor is configured to restore normal operation of the bus after the transaction is interrupted. バスを介して周辺装置に安全にアクセスするための安全装置において、
一もしくは複数個の周辺装置にサービスを提供するバスに連接するのに用いるインタフェースと、
一もしくは複数個の該周辺装置に連接することに加えて該バスにも連接し、バスマスター装置には応答するが、一もしくは複数個の周辺装置には回答しない方式で、特定の周辺装置へアクセスしようとする該バスマスター装置のトランザクションを中断するプロセッサと、
を含むことを特徴とするバスを介して周辺装置に安全アクセスするための安全装置。
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)該バスによってサービスされる一もしくは複数個の周辺装置の間で共有される一もしくは複数個の共有信号と、を含み、
そのうち、該プロセッサは、(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.
前記特定の周辺装置は、記憶装置を含み、そのうち該プロセッサは該トランザクションに於いて、該記憶装置からデータを読み取るための該バスマスター装置からの要求を識別し、該安全装置に格納されている代替データで該要求に応答するように設定されることを特徴とする請求項12記載の安全装置。   The particular peripheral device includes a storage device, of which the processor identifies a request from the bus master device to read data from the storage device in the transaction and is stored in the safety device. 13. The safety device according to claim 12, wherein the safety device is configured to respond to the request with alternative data. 前記プロセッサは、該バスマスター装置が該記憶装置内の定義済アドレス領域へアクセスする要求を識別した時、該トランザクションを中断して該代替データで応答するように設定されることを特徴とする請求項14記載の安全装置。   The processor is configured to suspend the transaction and respond with the alternative data when the bus master device identifies a request to access a defined address area in the storage device. Item 15. The safety device according to Item 14. 前記プロセッサは、トランザクションにおいて特定の周辺装置からバスマスター装置に戻されるデータに基づき、特定の周辺装置にアクセスしようとするバスマスター装置のトランザクションを識別するように設定されることを特徴とする請求項12記載の安全装置。   The processor is configured to identify a transaction of a bus master device attempting to access a particular peripheral device based on data returned from the particular peripheral device to the bus master device in a transaction. 12. The safety device according to 12. 前記プロセッサは、該トランザクションにおいて使用されるコマンドコードに基づいて該特定の周辺装置にアクセスしようとするバスマスター装置の該トランザクションを識別するように設定されることを特徴とする請求項12記載の安全装置。   The safety of claim 12, wherein the processor is configured to identify the transaction of a bus master device attempting to access the particular peripheral device based on a command code used in the transaction. apparatus. バスを介して周辺装置に安全にアクセスするための方法において、
安全装置を使用してバスを介して通信し、そのうち該安全装置は、該バスに連接し、且つ一もしくは複数個の周辺装置以外の付属装置となり、そのうち該バスでの伝送は、(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記載の方法。   The method of claim 18, wherein the step of suspending the transaction includes maintaining and not interrupting the shared signal on the bus. 該バスマスター装置から該専用信号を受信するのに用いる入力部を使用すること、および
該専用信号を該特定の周辺装置へ出力するのに用いる出力部を使用することを更に含み、
そのうち該トランザクションを中断するステップは、該入力部で受信した該専用信号が該出力部から発信されるのを防止するステップを含むことを特徴とする請求項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.
前記該トランザクションを中断するステップは、該専用信号が中断された時、該バスマスター装置に応答するが該特定の周辺装置に応答しないステップを含むことを特徴とする請求項18記載の方法。   19. The method of claim 18, wherein the step of interrupting the transaction includes responding to the bus master device but not responding to the particular peripheral device when the dedicated signal is interrupted. 前記専用信号は、チップセレクト(CS)信号を含むことを特徴とする請求項18記載の方法。   The method of claim 18, wherein the dedicated signal comprises a chip select (CS) signal. 該バスを監視することによって、中断する該トランザクションを検出するステップを更に含むことを特徴とする請求項18記載の方法。   The method of claim 18, further comprising detecting the transaction to be suspended by monitoring the bus. 該バス外部の補助インタフェースを使用して該バスマスター装置と通信することによって、中断しようとする該トランザクションを検出するステップを更に含むことを特徴とする請求項18記載の方法。   The method of claim 18, further comprising detecting the transaction to be aborted by communicating with the bus master device using an auxiliary interface external to the bus. 前記該トランザクションを中断するステップは、リセット信号が出現するまで、該専用信号を中断し続けるステップを含むことを特徴とする請求項18記載の方法。   The method of claim 18, wherein suspending the transaction includes continuing to suspend the dedicated signal until a reset signal appears. 前記該トランザクションを中断するステップは、該トランザクションを検出した後の有限時間内に該専用信号を中断するステップを含むことを特徴とする請求項18記載の方法。   The method of claim 18, wherein the step of suspending the transaction includes suspending the dedicated signal within a finite time after detecting the transaction. 前記該トランザクションを中断するステップは、一もしくは複数個の該周辺装置箇所でトランザクションアボートを発生させるステップを含むことを特徴とする請求項18記載の方法。   19. The method of claim 18, wherein the step of interrupting the transaction includes generating a transaction abort at one or more of the peripheral device locations. 該トランザクションが中断した後に該バスの正常動作を回復させるステップを更に含むことを特徴とする請求項18記載の方法。   The method of claim 18, further comprising restoring normal operation of the bus after the transaction is interrupted. バスを介して周辺装置に安全にアクセスするための方法において、
安全装置を使用してバスを介して通信し、そのうち該安全装置は、該バスに連接し、且つ一もしくは複数個の周辺装置以外の付属装置となるステップと、
該安全装置を使用してバスマスター装置に応答するが特定の周辺装置に応答せず、それによって、該バス上に於いて、該特定の周辺装置へアクセスしようとする該バスマスター装置のトランザクションを中断するステップを含むことを特徴とするバスを介して周辺装置に安全にアクセスするための方法。
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)該バスによってサービスされる一もしくは複数個の該周辺装置の間で共有される一もしくは複数個の共有信号を含み、
そのうち該トランザクションを中断するステップは、(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.
前記特定の周辺装置は記憶装置を含み、そのうち該トランザクションを中断するステップは、該トランザクションにおいて、該記憶装置からデータを読み取るための該バスマスター装置からの要求を識別し、該安全装置に格納されている代替データで該要求に応答するステップを含むことを特徴とする請求項29記載の方法。   The particular peripheral device includes a storage device, wherein the step of interrupting the transaction identifies a request from the bus master device to read data from the storage device in the transaction and is stored in the safety device. 30. The method of claim 29, comprising responding to the request with alternative data being stored. 前記該バスマスター装置が該記憶装置内の定義済アドレス領域へアクセスする要求を識別した時、該トランザクションを中断して、該代替データで応答することを特徴とする請求項29記載の方法。   30. The method of claim 29, wherein when the bus master device identifies a request to access a defined address area in the storage device, the transaction is interrupted and responded with the alternative data. 該トランザクションに於いて、該特定の周辺装置から該バスマスター装置に戻されるデータに基づき、該特定の周辺装置にアクセスしようとする該バスマスター装置の該トランザクションを識別するステップを更に含むことを特徴とする請求項29記載の方法。   In the transaction, further comprising identifying the transaction of the bus master device attempting to access the specific peripheral device based on data returned from the specific peripheral device to the bus master device. 30. The method of claim 29. 該トランザクションにおいて、使用されるコマンドコードに基づいて、該特定の周辺装置にアクセスしようとする該バスマスター装置の該トランザクションを識別するステップを更に含むことを特徴とする請求項29記載の方法。   30. The method of claim 29, further comprising identifying the transaction of the bus master device attempting to access the particular peripheral device based on a command code used in the transaction.
JP2019078917A 2018-04-18 2019-04-17 Safe access to peripherals via bus Active JP7086891B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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