JP2021012679A - Controller with flash emulation function and control method - Google Patents

Controller with flash emulation function and control method Download PDF

Info

Publication number
JP2021012679A
JP2021012679A JP2020073271A JP2020073271A JP2021012679A JP 2021012679 A JP2021012679 A JP 2021012679A JP 2020073271 A JP2020073271 A JP 2020073271A JP 2020073271 A JP2020073271 A JP 2020073271A JP 2021012679 A JP2021012679 A JP 2021012679A
Authority
JP
Japan
Prior art keywords
controller
flash
host
secure
tpm
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
JP2020073271A
Other languages
Japanese (ja)
Other versions
JP7293163B2 (en
Inventor
ハーシュマン ジヴ
Hershman Ziv
ハーシュマン ジヴ
モラヴ ダン
Morav Dan
モラヴ ダン
アロン モシェ
Alon Moshe
アロン モシェ
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 US16/503,501 external-priority patent/US10846438B2/en
Application filed by Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Publication of JP2021012679A publication Critical patent/JP2021012679A/en
Application granted granted Critical
Publication of JP7293163B2 publication Critical patent/JP7293163B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Systems (AREA)

Abstract

To provide a controller and a control method that can realize a secure flash function with an inexpensive computing system.SOLUTION: A controller according to an embodiment of the present invention includes: a host interface for communicating with a host; and a processor. The processor receives a plurality of commands for execution by a nonvolatile memory (NVM) from the host via the host interface, identifies a command related to a secure monotonous counter and to be executed by the nonvolatile memory embedded in the secure monotonous counter from the commands, executes the identified command, and responds to the host according to the identified command instead of the nonvolatile memory.SELECTED DRAWING: Figure 1

Description

本発明は、セキュアコンピューティング環境において、フラッシュエミュレーション機能を有するコントローラ及びコントロール方法に関わりに、特に、埋め込みセキュアモノトニックカウンター(embedded secure monotonic counters(ESMC))を備えるフラッシュメモリのミュレーション機能を有するコントローラ及びコントロール方法に関する。 The present invention relates to a controller having a flash emulation function and a control method in a secure computing environment, and in particular, a controller having a flash memory simulation function provided with an embedded secure monotonic counters (ESMC). And the control method.

パーソナルコンピューター(PC)プラットフォームは通常、シリアルフラッシュメモリを使用して、不揮発性データ、たとえば基本入出力システム(BIOS)コードを格納する。場合によっては、シリアルフラッシュメモリは、セキュリティや電源管理などの重要な機能を永続的なストレージサポートとして提供する。 Personal computer (PC) platforms typically use serial flash memory to store non-volatile data, such as basic input / output system (BIOS) code. In some cases, serial flash memory provides important features such as security and power management as permanent storage support.

セキュリティ要件を満たすために、フラッシュデバイスには1つ以上のリプレイ保護単調カウンター(RPMC)を含めることができる。RPMCは、秘密キーと適切なソフトウェアとに結合して、リプレイ攻撃などの不正操作からフラッシュを保護する。 To meet security requirements, the flash device can include one or more replay protection monotonous counters (RPMCs). The RPMC combines the private key with the appropriate software to protect the flash from tampering, such as replay attacks.

単調カウンターを使用したセキュリティのためのさまざまな技術が当技術分野で知られている。例えば、米国特許第9,405,707号(特許文献1)には、単調カウンタを有するフラッシュメモリデバイスと、フラッシュメモリデバイスに通信可能に結合されたホストデバイスとを含むシステムが記載されている。ホストデバイスは、認証資格情報を生成し、当該認証資格情報と、デバイスキーによって生成された第一の署名と、を使用して、フラッシュメモリデバイスに含まれる単調カウンタからカウンタ値をリクエストし、単調カウンタから当該カウンタ値を受け取り、フラッシュメモリデバイスから当該認証資格情報を受け取り、デバイスキーによって生成された第二の署名と、単調カウンタを増加(increment)するためのコマンドと、をフラッシュメモリに送信する。ここでは、フラッシュメモリデバイスは、独自のキーを使用して上記リクエストとコマンドを認証することで、単調カウンタ値を増加することができる。 Various techniques for security using monotonous counters are known in the art. For example, US Pat. No. 9,405,707 (Patent Document 1) describes a system including a flash memory device having a monotonous counter and a host device communicatively coupled to the flash memory device. The host device generates authentication credentials and uses the authentication credentials and the first signature generated by the device key to request a counter value from the monotonous counter contained in the flash memory device and is monotonous. It receives the counter value from the counter, receives the authentication credentials from the flash memory device, and sends the second signature generated by the device key and the command to increment the monotonous counter to the flash memory. .. Here, the flash memory device can increase the monotonous counter value by authenticating the above request and command using its own key.

米国特許出願9,405,707U.S. Patent Application 9,405,707

本発明の目的は、すべてのフラッシュ命令を実装するフラッシュを備えたコンピューティングシステムよりも安価なコンピューティングシステムでセキュアフラッシュ機能を実現できるコントローラ及びコントロール方法を提供することにある。 An object of the present invention is to provide a controller and a control method capable of realizing a secure flash function in a computing system that is cheaper than a computing system having a flash that implements all flash instructions.

本発明の実施形態に係るコントローラは、ホストと通信するためのホストインターフェースと、プロセッサと、を備え、前記プロセッサは、前記ホストインターフェイスを介して、不揮発性メモリ(NVM)で実行するための複数の命令を前記ホストから受信し、前記複数の命令から、セキュアな単調カウンタに関係し、且つ、セキュアな単調カウンタが埋め込まれた不揮発性メモリでの実行しょうとする命令を識別し、前記識別された命令を実行し、前記不揮発性メモリの代わりに、前記識別された命令に応じて前記ホストに応答する。 A controller according to an embodiment of the present invention includes a host interface for communicating with a host and a processor, the processor for executing in a non-volatile memory (NVM) via the host interface. An instruction is received from the host, and from the plurality of instructions, an instruction related to a secure monotonous counter and to be executed in a non-volatile memory in which a secure monotonous counter is embedded is identified, and the identified instruction is made. It executes an instruction and responds to the host in response to the identified instruction instead of the non-volatile memory.

1つの実施形態では、前記コントローラは、メモリインターフェースをさらに備え、前記プロセッサは、前記メモリインターフェースを介して、セキュアな単調カウンタが組み込まれていない不揮発性メモリと通信し、前記識別された命令以外の命令を前記セキュアな単調カウンタが組み込まれていない不揮発性メモリに転送して実行するように設定される。1つの実施形態では、前記プロセッサは、前記識別された命令を実行すると、前記不揮発性メモリを選択するために前記ホストによってアサートされたチップセレクト(CS)信号を上書きするように設定される。さらに別の実施形態では、前記プロセッサは、前記不揮発性メモリを選択するために前記ホストによってアサートされるた前記チップセレクト信号を傍受することにより、前記不揮発性メモリにアクセスしょうとする命令を受信するように設定される。 In one embodiment, the controller further comprises a memory interface, the processor communicates via the memory interface with a non-volatile memory that does not incorporate a secure monotonous counter, other than the identified instructions. The instruction is set to be transferred and executed to a non-volatile memory in which the secure monotonic counter is not incorporated. In one embodiment, the processor is configured to execute the identified instruction, overwriting a chip select (CS) signal asserted by the host to select the non-volatile memory. In yet another embodiment, the processor receives an instruction to access the non-volatile memory by intercepting the chip select signal asserted by the host to select the non-volatile memory. Is set.

いくつかの実施形態では、前記プロセッサは、TPM(トラステッドプラットフォームモジュール)とともに、前記識別された命令を実行するように設定される。1つの実施形態では、前記TPMは、前記コントローラに統合される。別の実施形態では、前記TPMは、前記コントローラの外部に位置し、前記コントローラは、前記TPMと通信するためのTPMインターフェースをさらに含む。別の実施形態では、前記TPMは、前記コントローラの外部に位置し、且つ前記ホストに接続され、前記プロセッサは、前記ホストインターフェースを介して前記TPMと通信するように設定される。 In some embodiments, the processor, along with a TPM (Trusted Platform Module), is configured to execute the identified instruction. In one embodiment, the TPM is integrated with the controller. In another embodiment, the TPM is located outside the controller, which further comprises a TPM interface for communicating with the TPM. In another embodiment, the TPM is located outside the controller and is connected to the host, and the processor is configured to communicate with the TPM via the host interface.

1つの実施形態では、前記識別された命令は、RPMC(リプレイ保護された単調性カウンタ)仕様に準拠し、前記プロセッサは、前記RPMC仕様に従って前記識別された命令を実行するように設定される。 In one embodiment, the identified instruction complies with the RPMC (Replay Protected Monotonic Counter) specification, and the processor is configured to execute the identified instruction according to the RPMC specification.

本発明の実施形態に係るコントロール方法は、コントローラにおいて、不揮発性メモリで実行するための複数の命令をホストから受信し、前記複数の命令から、セキュアな単調カウンタに関係し、且つ、セキュアな単調カウンタが埋め込まれた不揮発性メモリで実行しょうとする命令を識別し、前記不揮発性メモリの代わりに、前記コンローラーによって前記識別された命令を実行する。 In the control method according to the embodiment of the present invention, in the controller, a plurality of instructions for execution in the non-volatile memory are received from the host, and the plurality of instructions are related to a secure monotonous counter and are secure monotonous. The instruction to be executed in the non-volatile memory in which the counter is embedded is identified, and the identified instruction is executed by the controller instead of the non-volatile memory.

図1は、本発明の1つの実施形態にかかる、RPMCフラッシュエミュレーションを実行する、スレーブ接続フラッシュ(Slave−Attached−Flash)構成を有するコンピューティングシステムを概略的に示すブロック図である。FIG. 1 is a block diagram schematically showing a computing system having a slave-attached-flash configuration that performs RPMC flash emulation according to one embodiment of the present invention. 図2は、本発明のもう1つの実施形態にかかる、RPMCフラッシュエミュレーションを実行する、ホスト接続フラッシュ(host−attached Flash)構成を有するコンピューティングシステムを概略的に示すブロック図である。FIG. 2 is a block diagram schematically showing a computing system having a host-attacked Flash configuration that performs RPMC flash emulation according to another embodiment of the present invention. 図3は、本発明のもう1つの実施形態にかかる、RPMCフラッシュエミュレーションを実行する、スレーブ接続フラッシュ構成を有するコンピューティングシステムを概略的に示すブロック図である。FIG. 3 is a block diagram schematically showing a computing system having a slave-connected flash configuration that performs RPMC flash emulation according to another embodiment of the present invention. 図4は、本発明のもう1つの実施形態にかかる、RPMCフラッシュエミュレーションを実行する、ホスト接続フラッシュ構成を有するコンピューティングシステムを概略的に示すブロック図である。FIG. 4 is a block diagram schematically showing a computing system having a host-connected flash configuration that performs RPMC flash emulation according to another embodiment of the present invention. 図5は、本発明の第5実施形態にかかる、RPMCフラッシュエミュレーションを実行する、スレーブ接続フラッシュ構成を有するコンピューティングシステムを概略的に示すブロック図である。FIG. 5 is a block diagram schematically showing a computing system having a slave-connected flash configuration that executes RPMC flash emulation according to a fifth embodiment of the present invention.

以下、本発明について、図に示す実施形態に基づいて説明する。 Hereinafter, the present invention will be described based on the embodiments shown in the figure.

フラッシュメモリなどの不揮発性メモリデバイス(NVM)は、コンピューターシステムで使用されるブートコードまたはその他の機密情報を格納するために使用されるため、コンピューターハッキングからの影響を受ける場合がある。従来のNVMでは、最低限の保護しか提供できない。たとえば、NVMのセクターには、書き込み保護機能を有するが、その一部のコピーや、NVM内のすべてのデータの書き換えが依然として可能である。NVMに対する保護を強化するために、単調に変更する(増加する)セキュアな単調カウンタの使用が考えられる。 Non-volatile memory devices (NVMs), such as flash memory, can be affected by computer hacking because they are used to store boot code or other sensitive information used in computer systems. Traditional NVMs can provide minimal protection. For example, the NVM sector has write protection, but it is still possible to copy some of it and rewrite all the data in the NVM. The use of secure monotonous counters that change (increase) monotonically is conceivable for enhanced protection against NVM.

セキュアな単調カウンターの例として、Replay−Protected−Monotonic−Counters(RPMC)を挙げられる。2013年のIntel仕様「Serial Flash Hardening Product External Architecture Specification(EAS)」リビジョン0.7(ドキュメント番号:328802−001EN)には、アーキテクチャおよび命令セットを含むRPMC仕様について記載されており、参考用の文献として本明細書で引用されている。 An example of a secure monotonic counter is Replay-Protected-Monotonic-Counters (RPMC). The 2013 Intel Specification "Serial Flash Hardening Product Expert Architecture Specialization (EAS)" revision 0.7 (Document Number: 328802-001EN) describes the RPMC specification, including architecture and instruction set, for reference. Is cited herein as.

RPMC仕様には、256ビットの「ルートキー」を書き込むコマンドが含まれている。このルートキーは、外部からの読み取りができないようにフラッシュ内に保存されており、システムの製造中に1回きりプログラムされている。32ビットの単調カウンタはルートキーに関連付けられている。有効な256ビットのルートキー書き込み操作がルートキーの値に関係なく実行されると、32ビットの単調カウンタはゼロに初期化される。 The RPMC specification includes a command to write a 256-bit "root key". This root key is stored in the flash so that it cannot be read externally and is programmed only once during the manufacture of the system. A 32-bit monotonous counter is associated with the root key. When a valid 256-bit root key write operation is performed regardless of the root key value, the 32-bit monotonic counter is initialized to zero.

認証されたコマンドと応答とは、ハッシュメッセージ認証コードキー(「HMACキー」)を使用して署名されたコマンドと応答のことである。署名はHMACを使用して検証される。 HMACキーはフラッシュ内に保存され、テストモードでさえ読み取ることができない。認証済みの「HMACキー更新コマンド」を使用して、256ビットHMACキーを導き出す。 HMACキーは、HMAC−SHA−256を使用してコマンド中に提供されたルートキーおよびキーデータから取得される。 そのため、このコマンドは2つのHMAC−SHA−256操作を実行する。1つはHMACキーを取得し、もう1つは署名を検証する。 An authenticated command and response is a command and response signed using a hash message authentication code key (“HMAC key”). The signature is verified using HMAC. The HMAC key is stored in flash and cannot be read even in test mode. Use the authenticated "HMAC key update command" to derive the 256-bit HMAC key. The HMAC key is obtained from the root key and key data provided during the command using HMAC-SHA-256. Therefore, this command performs two HMAC-SHA-256 operations. One gets the HMAC key and the other verifies the signature.

他の認証済みコマンドは、RPMCのカウント値の増加及びRPMCを読み取るのにサポートするように使用される。RPMC仕様では、ルートキーレジスタやHMACキーレジスタなどの関連リソースを有する少なくとも4つのカウンタのサポートが必要であるとされている。RPMCコマンドのリストは、上記で引用したIntelRPMC仕様のセクション2.1に記載されている。 Other authenticated commands are used to support increasing the RPMC count value and reading the RPMC. The RPMC specification states that support for at least four counters with related resources such as root key registers and HMAC key registers is required. A list of RPMC commands can be found in Section 2.1 of the Intel RPMC specification cited above.

本明細書で開示される本発明の実施形態は、非セキュアフラッシュ(non−secure−Flash)およびコントローラを使用して、埋め込み単調カウンタを有するセキュアNVMをエミュレートする(例えば、RPMCをサポートするフラッシュ)方法およびシステムを提供する。コントローラは非セキュアフラッシュの外部に位置し、たとえば、組み込みコントローラ(EC)、ベースボード管理コントローラ(BMC)、「スーパーI / O」コントローラ、または他の適切なコントローラであってもよい。非セキュアフラッシュデバイスは通常、セキュアフラッシュデバイスよりもシンプルであるため(したがって、安価)、本発明の実施形態によるコンピューティングシステムは、セキュアフラッシュデバイス(例えば、RPMC−Flashデバイス)を含むコンピュータシステムよりも安価であり得る。 Embodiments of the invention disclosed herein use a non-secure flash (non-sure-Flash) and controller to emulate a secure NVM with an embedded monotonous counter (eg, a flash that supports RPMC). ) Provide methods and systems. The controller is located outside the non-secure flash and may be, for example, an embedded controller (EC), a baseboard management controller (BMC), a "Super I / O" controller, or any other suitable controller. Because non-secure flash devices are usually simpler (and therefore cheaper) than secure flash devices, computing systems according to embodiments of the present invention are more than computer systems including secure flash devices (eg, RPMC-Flash devices). It can be cheap.

以下の説明は主にRPMCに関するが、本発明の開示された技術は、NVMに組み込まれ得る他の適切なタイプのセキュアな単調カウンタにも適用できる。また、以下の説明は主にシリアルフラッシュに関するが、本発明の開示された技術は他の適切なタイプのNVMにも適用できる。なお、以下のシリアルフラッシュおよびRPMCに関する説明は、あくまでも一例であり、本発明を限定するためのものではないことに留意する必要がある。 Although the following description is primarily related to RPMC, the disclosed techniques of the present invention are also applicable to other suitable types of secure monotonous counters that can be incorporated into NVM. Also, although the following description primarily relates to serial flash, the disclosed techniques of the present invention are also applicable to other suitable types of NVM. It should be noted that the following description of the serial flash and RPMC is merely an example and is not intended to limit the present invention.

記載を簡単にするため、セキュリティ機能をサポートするフラッシュをセキュアフラッシュと呼び、そのような機能をサポートしないフラッシュを非セキュアフラッシュと呼ぶ。さらに、RPMCをサポートするセキュアフラッシュをRPMCフラッシュと呼び、RPMCをサポートしないフラッシュを非RPMCフラッシュと呼ぶ。 For simplicity, a flash that supports security features is called a secure flash, and a flash that does not support such features is called a non-secure flash. Further, a secure flash that supports RPMC is called an RPMC flash, and a flash that does not support RPMC is called a non-RPMC flash.

1つの実施形態では、コンピューティングシステムは、ホストと、非セキュアフラッシュ(たとえば従来のシリアルフラッシュデバイス)と、に通信するコントローラを備える。ホストは、フラッシュに保存されているデータにアクセスする命令やセキュリティ関連の命令(RPMC命令など)を含むフラッシュ命令を実行する。コントローラは、非セキュアフラッシュと連動して動作し、ホストに対してセキュアフラッシュをエミュレートする。たとえば、非セキュアフラッシュとコントローラを備えたシステムでは、ホストは、RPMCフラッシュによって実行する単調増加カウンター命令を発行できる。コントローラは、ホストに対して透過的に(transparently)、フラッシュの代わりに命令を傍受(intercept)又は実行できる。 In one embodiment, the computing system comprises a controller that communicates with a host and a non-secure flash (eg, a conventional serial flash device). The host executes flash instructions, including instructions to access data stored in flash and security-related instructions (such as RPMC instructions). The controller works in conjunction with the non-secure flash to emulate the secure flash to the host. For example, in a system with a non-secure flash and a controller, the host can issue a monotonous increment counter instruction executed by the RPMC flash. The controller can intercept or execute instructions instead of flushing transparently to the host.

いくつかの実施形態では、コントローラは、ホストと通信するためのホストインターフェースを含む。プロセッサは、ホストインターフェースを介してホストからセキュアフラッシュで実行するための命令を受信する。プロセッサは、セキュリティ関連のフラッシュ命令(例えばRPMC命令)を識別し、セキュリティ関連の命令の少なくとも一部を実行し、ホストに応答する。ホストが発行するセキュリティ関連以外の命令は、非セキュアフラッシュによって実行されることができる。 In some embodiments, the controller includes a host interface for communicating with the host. The processor receives instructions from the host via the host interface to execute in secure flash. The processor identifies security-related flash instructions (eg, RPMC instructions), executes at least some of the security-related instructions, and responds to the host. Non-security related instructions issued by the host can be executed by non-secure flush.

本発明の他の実施形態によれば、コンピューティングシステムは、非セキュアフラッシュデバイスを備え、コントローラは、非セキュアフラッシュに結合されたフラッシュインターフェースユニットを備える。ここでは、フラッシュがコントローラを介してホストに接続されている構成は、スレーブ接続フラッシュ(SAF)と呼ばれる。プロセッサは、ホストから(ホストインターフェイスユニットを介して)フラッシュ命令を受け取る。プロセッサは、セキュリティ関連の命令を実行し、セキュリティ関連以外の命令を送信して、非セキュアフラッシュで実行する(フラッシュインターフェイス経由)。 プロセッサは、ホストインターフェイスユニットを介してホストに応答する。 According to another embodiment of the invention, the computing system comprises a non-secure flash device and the controller comprises a flash interface unit coupled to the non-secure flash. Here, the configuration in which the flash is connected to the host via the controller is called a slave connection flash (SAF). The processor receives a flush instruction from the host (via the host interface unit). The processor executes security-related instructions, sends non-security-related instructions, and executes them in non-secure flash (via the flash interface). The processor responds to the host through the host interface unit.

いくつかの実施形態では、ホストは、シリアルペリフェラルインターフェース(SPI)や拡張シリアルペリフェラルインターフェース(eSPI)などのシリアルバスを介してコントローラと通信する、シリアルバスは、例えば、双方向データライン、クロックライン、および複数のチップセレクト(CS)ライン(シリアルバスに接続されているデバイスごとに1本のCSラインを含まれる。ホストによってセキュアフラッシュと通信するためにアサートするCS信号は、コントローラに結合され、コントローラによって非セキュアフラッシュにリレーされる。コントローラは、セキュリティ関連以外の命令のために、CS信号をフラッシュにリレーする。一方、セキュリティ関連の命令(RPMC命令など)の場合、コントローラはCS信号を非セキュアフラッシュに上書きする。 In some embodiments, the host communicates with the controller via a serial bus such as a serial peripheral interface (SPI) or an extended serial peripheral interface (eSPI), where the serial bus is, for example, a bidirectional data line, a clock line, And multiple chip select (CS) lines (including one CS line for each device connected to the serial bus. The CS signal asserted by the host to communicate with Secure Flash is coupled to the controller and the controller. The controller relays the CS signal to the flash for non-security related instructions, while for security related instructions (such as the RPMC instruction), the controller relays the CS signal to the non-secure flash. Overwrite the flash.

本発明による他の実施形態では、非セキュアフラッシュは、SPIまたはeSPIバスを介してホストに結合される。ホストがセキュアフラッシュと通信するために生成するCS信号は、非セキュアフラッシュのCS入力に結合される。ただし、非セキュアフラッシュは、セキュリティ関連の命令(非セキュアフラッシュが実行できない命令)に応答しないように設定されている。コントローラは、ホストがフラッシュに送信するCS信号を傍受し、命令のタイプを確認する。 コントローラは、フラッシュが実行できない命令を実行する。 In another embodiment of the invention, the non-secure flush is coupled to the host via the SPI or eSPI bus. The CS signal generated by the host to communicate with the secure flash is coupled to the CS input of the non-secure flash. However, non-secure flash is set not to respond to security-related instructions (instructions that non-secure flash cannot execute). The controller intercepts the CS signal that the host sends to the flash and confirms the type of instruction. The controller executes an instruction that the flush cannot execute.

いくつかの実施形態において、セキュリティ関連の命令の実行は、セキュリティ機能の処理(例えば、セキュリティ署名、またはセキュリティ署名の検証)を含む。1つの実施形態では、ホストはトラステッドプラットフォームモジュール(TPM)を含む。TPMは、安全な暗号プロセッサの国際標準(ISO/IEC11889)において、統合された暗号キーを介してハードウェアを保護するために設計された専用のマイクロコントローラである。コントローラとTPMは機密データを共有することができ、これによりコントローラとTPM間の安全な通信が可能になる。コントローラは、ホストがTPMをセキュアリンクを有するセキュアなNVストレージユニットとして使用して発行したセキュリティ関連の命令を処理できる。 In some embodiments, execution of a security-related instruction involves processing a security function (eg, a security signature, or verification of a security signature). In one embodiment, the host comprises a trusted platform module (TPM). The TPM is a dedicated microcontroller designed to protect hardware through an integrated cryptographic key in the International Standard for Secure Cryptographic Processors (ISO / IEC11889). The controller and TPM can share sensitive data, which enables secure communication between the controller and TPM. The controller can process security-related instructions issued by the host using the TPM as a secure NV storage unit with a secure link.

本発明のいくつかの実施形態では、コントローラはTPMを備え、コントローラとTPM間の通信は、元々で安全な方法(または、少なくとも、集積回路間通信よりも安全な方法)でオンチップで行われる。 In some embodiments of the invention, the controller comprises a TPM, and communication between the controller and TPM takes place on-chip in an originally secure manner (or at least a more secure method than integrated circuit communication). ..

さらに他の実施形態では、コントローラはTPMへのインターフェースを備えておらず、ホストを介してTPMと通信する。TPMにアクセスするために、コントローラはリクエストをホストに送信し、ホストはリクエストをTPMにリレーする。TPMが応答すると、ホストは応答を受信し、コントローラに送信する。 In yet another embodiment, the controller does not have an interface to the TPM and communicates with the TPM via the host. To access the TPM, the controller sends a request to the host, which relays the request to the TPM. When the TPM responds, the host receives the response and sends it to the controller.

本発明によるいくつかの実施形態では、セキュアフラッシュの代わりにコントローラが実行するセキュリティ関連命令は、上記RPMC仕様またはその一部で定義されるRPMC命令を含む。 In some embodiments according to the invention, security-related instructions executed by the controller instead of secure flush include RPMC instructions as defined in the RPMC specification or a portion thereof.

上記で参照したRPMC仕様に準拠したフラッシュデバイス(「RPMCフラッシュ」)は、ユニーク制御(unique control)、ステータス、および構成レジスタとメカニズムを備えており、複数の専用のRPMC命令に応答する。コントローラはそのようなRPMC命令をエミュレートし、RPMC命令が検出されると、非RPMCフラッシュのCS信号を上書きすることができる。さらに、コントローラは、非セキュアフラッシュのフラッシュビジーを上書きするフラッシュビジーレジスタ、フラッシュ拡張ステータスレジスタ(RPMCの拡張ステータスレジスタをエミュレートする)、およびシリアルフラッシュ検出可能パラメーター(SFDP)構造を含むことができる。 The RPMC specification-compliant flash device (“RPMC flash”) referenced above has a unique control (unique control), status, and configuration registers and mechanisms to respond to multiple dedicated RPMC instructions. The controller emulates such an RPMC instruction, and when the RPMC instruction is detected, it can overwrite the CS signal of the non-RPMC flash. In addition, the controller can include a flash busy register that overrides the non-secure flash flash busy, a flash extended status register (which emulates the extended status register of the RPMC), and a serial flash detectable parameter (SFDP) structure.

コントローラは、RPMCフラッシュに必要な一部のフラッシュレジスタと一部の拡張機能のキャッシュ(例えば、ミラー)も備え、フラッシュに代わって応答する。 The controller also has some flash registers required for RPMC flash and some extension caches (eg mirrors) to respond on behalf of the flash.

いくつかの実施形態では、フラッシュは、RPMC仕様で定義されたRPMC機能の一部を含む場合(たとえば、フラッシュは仕様で定義された4つのRPMCカウンターのうち2つを実装する場合)、コントローラは欠落した機能(missing functionality)をエミュレートすることができる。 In some embodiments, if the flash includes some of the RPMC features defined in the RPMC specification (eg, if the flash implements two of the four RPMC counters defined in the specification), the controller It is possible to emulate the missing function (missing functionality).

したがって、本明細書で説明される本発明の実施形態は、コントローラおよびTPMを含み、セキュアフラッシュを含まないシステムでセキュアフラッシュのエミュレーションを提供する。いくつかの実施形態では、TPMは単独のモジュールであるが、他の実施形態では、TPMはコントローラに組み込まれていてもよい。いくつかの実施形態では、ホストは非セキュアフラッシュに直接結合され、他の実施形態では、非セキュアフラッシュは、例えばスレーブ接続フラッシュ構成によってコントローラを介してホストに結合される。 Accordingly, embodiments of the invention described herein provide emulation of secure flash in a system that includes a controller and TPM and does not include secure flash. In some embodiments, the TPM is a single module, but in other embodiments, the TPM may be incorporated into the controller. In some embodiments, the host is bound directly to the non-secure flash, and in other embodiments, the non-secure flash is coupled to the host via the controller, for example in a slave-attached flash configuration.

なお、上記のRPMC仕様の例はシリアルフラッシュのRPMCの特定の仕様に関する例であり、本発明は、それに限定されることはない。本発明は、シリアルフラッシュ、パラレルフラッシュ、または他の任意のタイプのNVMにおいて、任意の適切なRPMC仕様に適用することができる。 The above example of the RPMC specification is an example relating to a specific specification of the RPMC of the serial flash, and the present invention is not limited thereto. The present invention can be applied to any suitable RPMC specification in serial flash, parallel flash, or any other type of NVM.

また、いくつかの実施形態では、CPUが発行するいくつかの命令の実行は、非セキュアフラッシュとコントローラによって一緒に行われてもよい(例えば、フラッシュが必要なRPMCアーキテクチャのサブセットをサポートする場合)。 Also, in some embodiments, the execution of some instructions issued by the CPU may be performed together by the non-secure flash and the controller (eg, if it supports a subset of the RPMC architecture that requires flash). ..

システムの説明 System description

図1は、本発明の第1の実施形態による、スレーブ接続フラッシュ(SAF)構成を備えたコンピューティングシステム100を概略的に示すブロック図である。コンピューティングシステムは、セキュアフラッシュデバイス(例えば、RPCMを備えたフラッシュデバイス)の安全なアクセスに関する命令を含むソフトウェア命令を実行するホスト102と、セキュリティ機能を実現するTPM104と、ホストがフラッシュデバイスに発行する命令の一部またはすべてをサポートしない非セキュアフラッシュメモリ106と、ホストが発行するフラッシュセキュリティ機能をエミュレートするコントローラ108と、を備える。 FIG. 1 is a block diagram schematically showing a computing system 100 having a slave connection flash (SAF) configuration according to a first embodiment of the present invention. The computing system issues a host 102 that executes software instructions including instructions regarding secure access of a secure flash device (for example, a flash device equipped with an RPMM), a TPM 104 that implements a security function, and the host issues to the flash device. It includes a non-secure flash memory 106 that does not support some or all of the instructions and a controller 108 that emulates a flash security feature issued by the host.

図1の例示的な実施形態では、ホストは、シリアルプロトコルインターフェース(SPI)バスを介してTPMと通信し、拡張シリアルプロトコルインターフェース(eSPI)バスを介してコントローラと通信する。コントローラは、集積回路間(I2C)バスを介してTPMと通信し、SPIバスを介してフラッシュと通信する。代替の実施形態では、シリアルまたはパラレルの他の適切なバスを使用することができる。 In the exemplary embodiment of FIG. 1, the host communicates with the TPM via the Serial Protocol Interface (SPI) bus and with the controller via the Extended Serial Protocol Interface (eSPI) bus. The controller communicates with the TPM via the integrated circuit (I2C) bus and with the flash via the SPI bus. In alternative embodiments, other suitable buses, serial or parallel, can be used.

図1の例示的な実施形態では、フラッシュはコントローラに接続され、フラッシュとのすべての通信はコントローラによって行われる。この構成は、ここではスレーブ接続フラッシュ(SAF)と呼ぶ。 In the exemplary embodiment of FIG. 1, the flash is connected to a controller and all communication with the flash is done by the controller. This configuration is referred to herein as a slave connection flash (SAF).

ホストが実行する命令の一部は、フラッシュの読み取り/書き込みやフラッシュセキュリティ機能などのフラッシュメモリへのアクセスに関連している(例えば、RPMC命令など)。フラッシュメモリへのアクセスに関連するすべての命令は、以下「フラッシュ命令」と呼ぶ。 Some of the instructions executed by the host relate to accessing flash memory, such as flash read / write and flash security features (eg, RPMC instructions). All instructions related to access to flash memory are hereinafter referred to as "flash instructions".

コントローラの拡大図を図1の下部に示している。コントローラはプロセッサ110と、ホスト102とプロセッサとの間で通信するように構成され、拡張シリアル周辺インターフェース(eSPI)ポートを含むホストインターフェース112と、TPM104とプロセッサ間で通信するように構成されたI2C(Inter−Integrated Circuit−Bus)ポート114と、フラッシュ106とプロセッサとの間で通信するように構成されたシリアル周辺インターフェース(SPI)ポート116とを備える。 An enlarged view of the controller is shown at the bottom of FIG. The controller is configured to communicate between the processor 110, the host 102 and the processor, and the host interface 112, which includes an extended serial peripheral interface (eSPI) port, and the I2C (which is configured to communicate between the TPM 104 and the processor. It includes an Inter-Integrated Circuit-Bus) port 114 and a serial peripheral interface (SPI) port 116 configured to communicate between the flash 106 and the processor.

ホストはフラッシュおよび非フラッシュ命令を実行します。 フラッシュ命令を実行するには、ホストはeSPIバスを介してフラッシュデバイスと通信するように構成される。図1のSAF構成の例では、コントローラはホストが発行するフラッシュ命令を受信して応答する。 The host executes flush and non-flash instructions. To execute a flash instruction, the host is configured to communicate with the flash device over the eSPI bus. In the example of the SAF configuration of FIG. 1, the controller receives and responds to a flash instruction issued by the host.

コントローラ108では、プロセッサ110はホストインターフェース112を介してフラッシュ命令を受信する。プロセッサ110は、一部の命令を非セキュアフラッシュ106によって直接実行のために非セキュアフラッシュ106に送信することができる。プロセッサは(たとえば、非セキュアフラッシュが実行できない)他の命令を実行する。他の命令の実行には、I2Cポート104を介してTPM104及び非セキュアフラッシュにアクセスする必要がある。 In controller 108, processor 110 receives flash instructions via host interface 112. The processor 110 can send some instructions to the non-secure flash 106 for direct execution by the non-secure flash 106. The processor executes other instructions (for example, non-secure flash cannot be executed). Execution of other instructions requires access to TPM 104 and non-secure flash via I2C port 104.

プロセッサは、リクエストされたデータをホストに返すか、または命令の実行が完了したことを示す指示を返すことによって、一部のフラッシュ命令を完了することができる。 The processor can complete some flush instructions by returning the requested data to the host or by returning an instruction indicating that the instruction execution is complete.

以上のように、図1に示される例示的な実施形態によれば、コンピューティングシステムは、一部のセキュリティ機能をサポートしないスレーブ接続フラッシュを備えてもよい。 このフラッシュはコントローラを介してホストに接続される。コントローラは、フラッシュおよびTPMと通信し、すべてのフラッシュ命令を直接、または非セキュアFlashやTPMと組み合わせて、ホストに対して透過的(ホストに気付かれず)に実行することができる。したがって、本発明のセキュアなフラッシュ機能は、すべてのフラッシュ命令を実装するフラッシュを備えたコンピューティングシステムよりも安価なコンピューティングシステムで実現できる。 As described above, according to the exemplary embodiment shown in FIG. 1, the computing system may include slave-connected flashes that do not support some security features. This flash is connected to the host via the controller. The controller can communicate with the flash and TPM and execute all flash instructions either directly or in combination with a non-secure Flash or TPM transparently to the host (host unnoticed). Therefore, the secure flash function of the present invention can be realized in a computing system that is cheaper than a computing system having a flash that implements all flash instructions.

図2は、本発明の第2の実施形態による、ホスト接続フラッシュ構成を備えたコンピューティングシステム200を概略的に示すブロック図である。第2の実施形態のコンピューティングシステムは、フラッシュ命令を含むソフトウェア命令を実行するように構成されたホスト202と、セキュリティ機能を実装するように構成されたトラステッドプラットフォームモジュール(TPM)204と、ホストがフラッシュデバイスに発行する命令の一部またはすべてをサポートしないフラッシュ206(以下、非セキュアフラッシュ206とも呼ぶ )と、ホストが発行するフラッシュセキュリティ機能をエミュレートするように構成されたコントローラ208と、を備える。 FIG. 2 is a block diagram schematically showing a computing system 200 having a host connection flash configuration according to a second embodiment of the present invention. The computing system of the second embodiment includes a host 202 configured to execute software instructions including flash instructions, a trusted platform module (TPM) 204 configured to implement security functions, and a host. It includes a flash 206 (hereinafter also referred to as a non-secure flash 206) that does not support some or all of the instructions issued to the flash device, and a controller 208 configured to emulate the flash security features issued by the host. ..

図2の例示的な実施形態では、ホスト202は、SPIバスを介してTPM204、コントローラ208、および非セキュアフラッシュ206と通信する。 また、代替の実施形態では、シリアルバスまたはパラレルバスなどの他の適切なバスを使用することができる。 In the exemplary embodiment of FIG. 2, the host 202 communicates with the TPM 204, the controller 208, and the non-secure flash 206 via the SPI bus. Also, in alternative embodiments, other suitable buses such as serial buses or parallel buses can be used.

図2の例示的な実施形態では、非セキュアフラッシュ206はすべてのフラッシュ通信データを受信するが、サポートできる命令にのみ応答するように構成されている。たとえば、ホスト202が非セキュアフラッシュ206がサポートしないRPMC命令を発行した場合、非セキュアフラッシュ206はその命令を無視する。 In the exemplary embodiment of FIG. 2, the non-secure flash 206 is configured to receive all flash communication data, but only respond to instructions that it can support. For example, if host 202 issues an RPMC instruction that the non-secure flash 206 does not support, the non-secure flash 206 ignores the instruction.

コントローラ208の拡大図を図2の下部に示めす。コントローラ208は、プロセッサ210と、ホスト202とプロセッサ210との間で通信するように構成されたホストインターフェース212と、TPM204とコントローラ210との間で通信するように構成されたI2Cポート214。と、を備える。 An enlarged view of the controller 208 is shown at the bottom of FIG. The controller 208 is a host interface 212 configured to communicate between the processor 210, the host 202 and the processor 210, and an I2C port 214 configured to communicate between the TPM 204 and the controller 210. And.

フラッシュ命令を実行するために、ホストはSPIバスを介してセキュアフラッシュデバイスと通信するように構成されている。ホスト202は、セキュアフラッシュと通信するときに、非セキュアフラッシュとコントローラに結合されるチップセレクト(CS)ラインをアサート(assert)する。ホスト202が非セキュアフラッシュでサポートされていないセキュリティ関連の命令を発行すると、コントローラ208がその命令を読み取って実行する。 To execute the flash instruction, the host is configured to communicate with the secure flash device over the SPI bus. When communicating with secure flash, host 202 asserts a chip select (CS) line that is coupled to the non-secure flash and controller. When host 202 issues a security-related instruction that is not supported by non-secure flash, controller 208 reads and executes the instruction.

コントローラ208では、ホストインターフェイス212はSPIバス(上記CSラインを含む)に接続されている。プロセッサ210は、ホストインターフェイス212を介してホスト202からすべてのフラッシュ命令を受け取る。プロセッサ210が、受信した命令を非セキュアフラッシュ206で実行できないと判断した場合(RPMC命令などの場合)、プロセッサ210は命令を実行する。非セキュアフラッシュ206が実行できない命令を実行するには、I2Cポート104を介してTPM204へアクセスすることがある。たとえば、いくつかのRPMCカウンターがTPMに204設置されており、ホスト202がRPCM読み取り命令(a read−RPCM instruction)を発行した場合、プロセッサ210はI2Cポート214を介してTPM204にアクセスし、RPCMに保存されている値を返すようにTPM204にリクエストする。プロセッサ210は、ホストインターフェイス212を介して、リクエストされたデータをホスト202に返す。 In the controller 208, the host interface 212 is connected to the SPI bus (including the CS line). Processor 210 receives all flash instructions from host 202 via host interface 212. If the processor 210 determines that the received instruction cannot be executed by the non-secure flash 206 (such as an RPMC instruction), the processor 210 executes the instruction. To execute an instruction that the non-secure flash 206 cannot execute, the TPM 204 may be accessed via the I2C port 104. For example, if some RPMC counters are installed in the TPM 204 and the host 202 issues an RPCM read instruction (a read-RPCM instruction), the processor 210 accesses the TPM 204 via the I2C port 214 to the RPCM. Request TPM204 to return the stored value. The processor 210 returns the requested data to the host 202 via the host interface 212.

プロセッサ210は、リクエストされたデータをホスト202に返すか、または命令の実行が完了したことを示す指示をホスト202に返すことによって、一部のフラッシュ命令のを完了する。 The processor 210 completes some of the flush instructions by returning the requested data to the host 202 or by returning to the host 202 an instruction indicating that the execution of the instruction is complete.

以上のように、図2に示す例示的な実施形態によれば、コンピューティングシステムは、コントローラに並列にシリアルバスを介してホストに接続される非セキュアフラッシュを備えてもよい。非セキュアフラッシュはフラッシュ命令のサブセットを実行し、コントローラは非セキュアフラッシュがサポートしないフラッシュ命令を実行する。したがって、本発明のセキュアなフラッシュ機能は、すべてのフラッシュ命令を実装するフラッシュを備えたコンピューティングシステムよりも安価なコンピューティングシステムで実現できる。 As described above, according to the exemplary embodiment shown in FIG. 2, the computing system may include a non-secure flash connected to the host in parallel with the controller via a serial bus. Non-secure flash executes a subset of flash instructions, and the controller executes flash instructions that non-secure flash does not support. Therefore, the secure flash function of the present invention can be realized in a computing system that is cheaper than a computing system having a flash that implements all flash instructions.

図3は、本発明の第3の実施形態による、SAF構成を備えたコンピューティングシステム300を概略的に示すブロック図である。図3に示すように、第3実施形態は、コントローラがTPMに直接結合されていないこと以外では、図1の実施形態と同様である。 FIG. 3 is a block diagram schematically showing a computing system 300 having a SAF configuration according to a third embodiment of the present invention. As shown in FIG. 3, the third embodiment is similar to the embodiment of FIG. 1 except that the controller is not directly coupled to the TPM.

コンピューティングシステム300は、(セキュアおよび非セキュア)フラッシュ命令を含むソフトウェア命令を実行するように構成されたホスト302と、セキュリティ機能を実現するように構成されたTPM304と、ホスト302がフラッシュデバイスに発行する命令の一部またはすべてをサポートしない非セキュアフラッシュメモリ306と、ホスト302が発行するフラッシュセキュリティ機能をエミュレートするように構成されたコントローラ308と、を備える。 The computing system 300 issues a host 302 configured to execute software instructions including (secure and non-secure) flash instructions, a TPM 304 configured to implement security functions, and a host 302 issued to a flash device. It includes a non-secure flash memory 306 that does not support some or all of the instructions to be issued, and a controller 308 configured to emulate a flash security feature issued by the host 302.

図3の実施形態では、ホスト302は、SPIバスを介してTPM304と通信し、eSPIバスを介してコントローラ308と通信する。コントローラ308はSPIバスを介してフラッシュ306と通信する。 また、代替の実施形態では、シリアルバスまたはパラレルバスなどの他の適切なバスを使用することができる。図3の実施形態のSAF構成では、フラッシュは、コントローラに取り付けられている。 In the embodiment of FIG. 3, the host 302 communicates with the TPM 304 via the SPI bus and communicates with the controller 308 via the eSPI bus. The controller 308 communicates with the flash 306 via the SPI bus. Also, in alternative embodiments, other suitable buses such as serial buses or parallel buses can be used. In the SAF configuration of the embodiment of FIG. 3, the flash is attached to the controller.

ホストは、非セキュアフラッシュ306が実行できる命令と、コントローラ308によって実行される非セキュアフラッシュ306がサポートしていない命令と、を含むフラッシュ命令を実行する。 The host executes a flash instruction that includes instructions that can be executed by the non-secure flash 306 and instructions that are not supported by the non-secure flash 306 executed by the controller 308.

コントローラ308の拡大図を図3の下部に示めしている。コントローラ308は、プロセッサ310と、ホスト302とプロセッサ310との間で通信するように構成され、eSPIポートを含むホストインターフェース312と、フラッシュ306とプロセッサ310との間で通信するように構成されたSPIポート316と、を備える。 An enlarged view of the controller 308 is shown at the bottom of FIG. The controller 308 is configured to communicate between the processor 310, the host 302 and the processor 310, the host interface 312 including the eSPI port, and the SPI configured to communicate between the flash 306 and the processor 310. It includes a port 316.

ホスト308は、eSPIバスを介してフラッシュデバイスと通信するように構成されている。図3のSAF構成の例では、ホスト308が発行するフラッシュ命令をコントローラ308によって受信して応答する。 Host 308 is configured to communicate with the flash device via the eSPI bus. In the example of the SAF configuration of FIG. 3, the controller 308 receives and responds to the flash instruction issued by the host 308.

コントローラ308において、プロセッサ310はホストインターフェース312を介してフラッシュ命令を受信する。プロセッサ310は、一部の命令を非セキュアフラッシュ306によって直接実行のために非セキュアフラッシュ306に送信することができる。プロセッサ310は、(例えば、非セキュアフラッシュ306が実行できない)他の命令を実行する。他の命令を実行するには、I2Cポート104を介してTPM304及び非セキュアフラッシ306ュにアクセスする必要がある。 In controller 308, processor 310 receives a flush instruction via host interface 312. The processor 310 can send some instructions to the non-secure flash 306 for direct execution by the non-secure flash 306. Processor 310 executes other instructions (eg, non-secure flash 306 cannot execute). To execute other instructions, it is necessary to access the TPM 304 and the non-secure flash 306 via the I2C port 104.

プロセッサ310は、リクエストされたデータをホストに返すか、または命令の実行が完了したことを示す指示を返すことによって、一部のフラッシュ命令を完了する。 The processor 310 completes some flush instructions by returning the requested data to the host or by returning an instruction indicating that the execution of the instruction is complete.

ここで、図3を参照して、本発明の実施形態による例示的なソフトウェアドライバを簡単に説明する。図3に示される例示的な実施形態によれば、少なくとも2つのドライバ、すなわち、フラッシュアプリケーションドライバ318とセキュリティサービスドライバ320がホスト302とが、同時にアクティブ状態にある。 Here, an exemplary software driver according to an embodiment of the present invention will be briefly described with reference to FIG. According to an exemplary embodiment shown in FIG. 3, at least two drivers, namely the flash application driver 318 and the security service driver 320, have the host 302 active at the same time.

フラッシュアプリケーションドライバ318は、フラッシュデバイスへのソフトウェアインターフェイスを提供します。図3の例示的な実施形態では、フラッシュアプリケーションドライバ318はコントローラ308と通信する。ただし、ドライバーは、セキュアフラッシュを含むコンピューティングシステムでホストが使用できるドライバーと同様(または同一)にすることができる。フラッシュドライバー318は、図1および2の実施例でも使用できる)。 Flash application driver 318 provides a software interface to flash devices. In the exemplary embodiment of FIG. 3, the flash application driver 318 communicates with controller 308. However, the driver can be similar (or identical) to the driver available to the host in computing systems that include secure flash. The flash driver 318 can also be used in the examples of FIGS. 1 and 2).

セキュリティサービスドライバ320は、セキュリティサービスクライアントとTPM間のインターフェイスを提供する。図3に示される例示的な実施形態では、プロセッサ310は、ホストインターフェース312を介してセキュリティサービスドライバ320からTPMサービスをリクエストできる。デバイスドライバーは、サービスの実行のためにTPM 304にアクセスし、(コントローラ内の)ホストインターフェース312を介して、プロセッサ310に応答する。 The security service driver 320 provides an interface between the security service client and the TPM. In the exemplary embodiment shown in FIG. 3, the processor 310 can request a TPM service from the security service driver 320 via the host interface 312. The device driver accesses the TPM 304 to execute the service and responds to the processor 310 via the host interface 312 (in the controller).

いくつかの実施形態では、初期のプリブート段階(PCのMEブートなど)では、TPMドライバーがまた作動されていないため、TPMは一部のセキュリティ機能(単調性カウンター機能など)のために使用できない。このとき、コントローラは、非セキュアフラッシュに保存されている単調な値を報告することにより、電源投入時の「レトロアクティブ」RPMCをサポートし、TPMからの認証された単調カウンタの読み取り値を待つ(単調カウンタの読み取り値をバッファに保持する)。もし単調カウンター読み取り値が事前定義された期間内に認証されなかった場合、コントローラ308はホストをリセット又は中断して、セキュリティ障害の警告を発令する。 In some embodiments, the TPM cannot be used for some security features (such as the monotonic counter function) because the TPM driver is not activated again in the initial preboot phase (such as ME booting the PC). At this time, the controller supports a "retroactive" RPMC at power up by reporting a monotonous value stored in the non-secure flash and waits for an authenticated monotonous counter reading from the TPM ( Holds the monotonous counter reading in the buffer). If the monotonous counter reading is not authenticated within the predefined time period, controller 308 resets or suspends the host and issues a security fault warning.

以上のように、図3に示される例示的な実施形態によれば、コンピューティングシステムは、一部のセキュリティ機能をサポートしないスレーブ接続フラッシュを備えてもよい。フラッシュはコントローラを介してホストに接続される。コントローラには、TPMへのインターフェースが含まれていない。代わりに、コントローラはホストで実行されるサービスドライバーを介してTPMにアクセスする。したがって、上記セキュアフラッシュ機能は、すべてのフラッシュ命令を実装するフラッシュを備えたコンピューティングシステムよりも安価なコンピューティングシステムで実現できる。 As described above, according to the exemplary embodiment shown in FIG. 3, the computing system may include slave-connected flashes that do not support some security features. The flash is connected to the host via the controller. The controller does not include an interface to the TPM. Instead, the controller accesses the TPM through a service driver running on the host. Therefore, the secure flash function can be realized in a computing system that is cheaper than a computing system having a flash that implements all flash instructions.

図4は、本発明の第4実施形態によるホスト接続フラッシュ構成を備えたコンピューティング400システムを概略的に示すブロック図である。 この実施形態では、コントローラは、TPMを有する。 FIG. 4 is a block diagram schematically showing a computing 400 system having a host connection flash configuration according to a fourth embodiment of the present invention. In this embodiment, the controller has a TPM.

コンピューティングシステム400は、フラッシュ命令を含むソフトウェア命令を実行するように構成されたホスト402と、非セキュアFlash 406と、ホストが発行するフラッシュセキュリティ機能をエミュレートするように構成されたコントローラ408と、を備える。 The computing system 400 includes a host 402 configured to execute software instructions including flash instructions, a non-secure Flash 406, and a controller 408 configured to emulate a flash security feature issued by the host. To be equipped.

図4の例示的な実施形態では、ホスト402は、SPIバスを介してコントローラ408および非セキュアフラッシュ406と通信する。また、代替の実施形態では、シリアルバスまたはパラレルバスなどの他の適切なバスを使用することができる。 In the exemplary embodiment of FIG. 4, the host 402 communicates with the controller 408 and the non-secure flash 406 via the SPI bus. Also, in alternative embodiments, other suitable buses such as serial buses or parallel buses can be used.

図4の例示的な実施形態では、非セキュアフラッシュ406はすべてのフラッシュ通信を受信するが、サポートする命令にのみ応答するように構成されている。たとえば、ホスト402が非セキュアフラッシュ406がサポートしないRPMC命令を発行した場合、非セキュアフラッシュ406はその命令を無視する。 In the exemplary embodiment of FIG. 4, the non-secure flash 406 is configured to receive all flash communications, but only respond to supporting instructions. For example, if host 402 issues an RPMC instruction that the non-secure flash 406 does not support, the non-secure flash 406 ignores the instruction.

コントローラ408の拡大図を図4の下部に示めす。コントローラ408は、プロセッサ410と、ホスト202とプロセッサ410との間で通信するように構成されたホストインターフェース412と、セキュリティ機能を実現するように構成される埋め込みTPM(embeddedTPM)414と、を備える。 An enlarged view of the controller 408 is shown at the bottom of FIG. The controller 408 includes a processor 410, a host interface 412 configured to communicate between the host 202 and the processor 410, and an embedded TPM (embedded TPM) 414 configured to implement a security function.

フラッシュ命令を実行するために、ホスト402はSPIバスを介してセキュアフラッシュデバイスと通信する。セキュアフラッシュとの通信時にホスト402によってアサートするチップセレクト(CS)ラインは、非セキュアフラッシュ406とコントローラ408に結合される。ホスト402が非セキュアフラッシュ406がサポートしないセキュリティ関連の命令を発行すると、コントローラ408がその命令を読み取って実行する。 To execute the flash instruction, the host 402 communicates with the secure flash device via the SPI bus. A chip select (CS) line asserted by host 402 when communicating with secure flash is coupled to non-secure flash 406 and controller 408. When host 402 issues a security-related instruction that non-secure flash 406 does not support, controller 408 reads and executes the instruction.

コントローラ408では、ホストインターフェイス412はSPIバス(上記のCSラインを含む)に接続されている。プロセッサ410は、ホストインターフェイス412を介してホスト402からすべてのフラッシュ命令を受信する。受信した命令(RPMC命令など)を非セキュリティフラッシュメモリ406で実行できないことをプロセッサ410が認識すると、プロセッサ410はその命令を実行する。非セキュアフラッシュメモリ406で実行できない命令は、実行中に埋め込みTPM414にアクセスすることがある。たとえば、一部のRPMCカウンターが埋め込みTPM414に設置されており、ホスト402がRPCM読み取り命令を発行した場合、プロセッサ410は組み込みTPM414にアクセスし、組み込みTPM414にRPCMに保存されているデータを返すようにリクエストする。プロセッサ410は、ホストインターフェイス412を介して、リクエストされたデータをホストに返す。 In controller 408, the host interface 412 is connected to the SPI bus (including the CS line described above). Processor 410 receives all flash instructions from host 402 via host interface 412. When the processor 410 recognizes that the received instruction (RPMC instruction, etc.) cannot be executed by the non-security flash memory 406, the processor 410 executes the instruction. Instructions that cannot be executed in the non-secure flash memory 406 may access the embedded TPM 414 during execution. For example, if some RPMC counters are installed in the embedded TPM 414 and the host 402 issues an RPCM read instruction, the processor 410 will access the embedded TPM 414 and return the data stored in the RPCM to the embedded TPM 414. Request. Processor 410 returns the requested data to the host via host interface 412.

プロセッサ410は、リクエストされたデータをホスト402に返すか、または命令の実行が完了したことを示す指示を返すことによって、一部のフラッシュ命令を完了する。 The processor 410 completes some flush instructions by returning the requested data to the host 402 or by returning an instruction indicating that the instruction execution is complete.

以上のように、図4に示される例示的な実施形態によれば、コンピューティングシステムは、コントローラと並列に、シリアルバスを介してホストに接続される非セキュアフラッシュを備えてもよい。非セキュアフラッシュはフラッシュ命令のサブセットを実行する、コントローラは非セキュアフラッシュがサポートしないフラッシュ命令を実行する。したがって、上記セキュアフラッシュ機能は、すべてのフラッシュ命令を実装するフラッシュを備えたコンピューティングシステムよりも安価なコンピューティングシステムで実現できる。 As described above, according to the exemplary embodiment shown in FIG. 4, the computing system may include a non-secure flash connected to the host via a serial bus in parallel with the controller. Non-secure flash executes a subset of flash instructions, and the controller executes flash instructions that non-secure flash does not support. Therefore, the secure flash function can be realized in a computing system that is cheaper than a computing system having a flash that implements all flash instructions.

図5は、本発明の第5の実施形態による、SAF構成を備えたコンピューティングシステム500を概略的に示すブロック図である。この実施形態では、コントローラ508はTPM514を備え、非セキュアフラッシュ構成はスレーブアタッチドフラッシュ(SAF)構成である。 FIG. 5 is a block diagram schematically showing a computing system 500 having a SAF configuration according to a fifth embodiment of the present invention. In this embodiment, the controller 508 includes a TPM 514 and the non-secure flash configuration is a slave attached flash (SAF) configuration.

コンピューティングシステム500は、フラッシュ命令を含むソフトウェア命令を実行するように構成されたホスト502と、非セキュアフラッシュ506と、ホスト502が発行するフラッシュセキュリティ機能をエミュレートするように構成されたコントローラ508と、を備える。 The computing system 500 includes a host 502 configured to execute software instructions including flash instructions, a non-secure flash 506, and a controller 508 configured to emulate the flash security features issued by the host 502. , Equipped with.

図5の例示的な実施形態では、ホスト502は、セキュリティ命令を含むフラッシュ命令をコントローラ508に送信する。非セキュアフラッシュ506はコントローラ508に結合されています。コントローラ508は、プロセッサ510、ホストインターフェース512、埋め込みTPM514、およびSPIポート516を備える。 In the exemplary embodiment of FIG. 5, the host 502 sends a flash instruction, including a security instruction, to the controller 508. The non-secure flash 506 is coupled to the controller 508. Controller 508 includes processor 510, host interface 512, embedded TPM 514, and SPI port 516.

コントローラ508では、プロセッサ510はホストインターフェース512を介してフラッシュ命令を受信する。プロセッサ510は、一部の命令を非セキュアフラッシュ506によって直接実行のために非セキュアフラッシュ506に送信することができる。プロセッサは(たとえば、非セキュアフラッシュ506が実行できない)他の命令を実行する。他の命令の実行には、TPM504及び非セキュアフラッシュ506にアクセスする必要がある。 In controller 508, processor 510 receives a flash instruction via host interface 512. Processor 510 can send some instructions to the non-secure flash 506 for direct execution by the non-secure flash 506. The processor executes other instructions (eg, non-secure flash 506 cannot execute). Execution of other instructions requires access to TPM 504 and non-secure flash 506.

プロセッサ510は、リクエストされたデータをホスト502に返すか、命令の実行が完了したことを示す指示を返すことによって、一部のフラッシュ命令を完了する。 Processor 510 completes some flush instructions by returning the requested data to host 502 or by returning an instruction indicating that the instruction has been executed.

以上のように、図5に示す例示的な実施形態によれば、コンピューティングシステムは、SAF構成のコントローラを介してホストに接続される非セキュアフラッシュを備えてもよい。コントローラは、セキュアおよび非セキュアのすべてのフラッシュ命令を実行し、追加の非セキュアフラッシュおよび内部の組み込みTPMにアクセスする。したがって、上記セキュアフラッシュ機能は、すべてのフラッシュ命令を実装するフラッシュを備えたコンピューティングシステムよりも安価なコンピューティングシステムで実現できる。 As described above, according to the exemplary embodiment shown in FIG. 5, the computing system may include a non-secure flash connected to the host via a controller in a SAF configuration. The controller executes all secure and non-secure flash instructions to access additional non-secure flash and internal built-in TPM. Therefore, the secure flash function can be realized in a computing system that is cheaper than a computing system having a flash that implements all flash instructions.

図1から図5に示されるコンピューティングシステムの実施形態は、あくまでも一例であるため、本発明は、それらの実施形態に限定されることはない。代替実施形態では、例えば、他のタイプの不揮発性メモリを使用でき、システムのさまざまなコンポーネントを接続するバスも、上記のバスとは異なってもよい。また、いくつかの実施形態では、複数のホスト、複数のセキュアフラッシュデバイス、および/または複数のコントローラが存在してもよい。別の実施形態では、単一のコントローラを複数のフラッシュデバイスおよび/または複数のTPMに結合してもよい。 Since the embodiments of the computing system shown in FIGS. 1 to 5 are merely examples, the present invention is not limited to those embodiments. In an alternative embodiment, for example, other types of non-volatile memory can be used, and the bus connecting the various components of the system may also be different from the bus described above. Also, in some embodiments, there may be multiple hosts, multiple secure flash devices, and / or multiple controllers. In another embodiment, a single controller may be combined with multiple flash devices and / or multiple TPMs.

一部の実施形態では、ホストは、フラッシュをアトミック(atomically)に読み取り、RPMCを増加する命令を発行してもよい。プロセッサは、データの非セキュアフラッシュ及びTPMにアクセスして、対応するRPMCを増加することにより、上記命令をエミュレートしてもよい。 In some embodiments, the host may read the flash atomically and issue an instruction to increase the RPMC. The processor may emulate the above instructions by accessing the non-secure flash and TPM of the data and increasing the corresponding RPMC.

いくつかの実施形態では、単一のTPMを、ホストにサービスを提供するTPMとしての役割以外にも、ボード上の他のコンポーネントの汎用セキュアNVストレージデバイスとして使用してもよい。別の実施形態では、上述のコントローラの機能はTPMで実施されてもよく、その場合、コントローラは無くてもよい。 In some embodiments, the single TPM may be used as a general purpose secure NV storage device for other components on the board, in addition to its role as a TPM servicing the host. In another embodiment, the functionality of the controller described above may be performed by the TPM, in which case the controller may be absent.

一部の非SAFの実施形態では、ホストがフラッシュに発行するCSラインはフラッシュではなくコントローラに結合され、フラッシュが受信するCSラインはホストではなくコントローラに結合されてもよく、コントローラは、ホストから受信するCS、およびセキュアフラッシュ機能を実行するために開始する他のフラッシュアクセスサイクルに応じてCS信号を生成してもよい。 In some non-SAF embodiments, the CS line that the host issues to the flash is coupled to the controller instead of the flash, the CS line that the flash receives may be coupled to the controller instead of the host, and the controller is from the host. CS signals may be generated depending on the CS received and other flash access cycles initiated to perform the secure flash function.

本発明によるいくつかの実施形態では、コントローラは、頻繁にアクセスされるセキュリティデータ(例えば、キー)用のキャッシュメモリを備えてもよい。 In some embodiments according to the invention, the controller may include cache memory for frequently accessed security data (eg, keys).

コントローラ108、208、308、408、および508、またはそれらの要素は、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)などの任意の適切なハードウェアを使用して実現してもよい。いくつかの実施形態では、コントローラの一部またはすべての要素は、ソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組み合わせを使用して実現してもよい。 Controllers 108, 208, 308, 408, and 508, or elements thereof, may be implemented using any suitable hardware such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). Good. In some embodiments, some or all elements of the controller may be implemented using software, hardware, or a combination of hardware and software.

通常、ホスト102、202、302、402、および502は、本明細書で説明する機能を実行するためにソフトウェアでプログラムされる汎用プロセッサを含んでもよい。ソフトウェアは、例えばネットワークを介して電子形式でプロセッサにダウンロードされてもよく、あるいは、代替的または追加的に、磁気、光学、または電子メモリなどの非一時的な有形媒体に提供および/または格納されてもよい。 Typically, hosts 102, 202, 302, 402, and 502 may include general purpose processors programmed in software to perform the functions described herein. The software may be downloaded to the processor electronically, for example over a network, or may be provided and / or stored in an alternative or additional non-temporary tangible medium such as magnetic, optical, or electronic memory. You may.

上述の実施例は、一例として引用されたものであり、本発明は、特に上で示され説明されたものに限定されないことである。むしろ、本発明の範囲は、上述した様々な特徴の組み合わせ及び部分的な組み合わせ、ならびに前述の説明を読むことによって当業者に想到し得る変形および修正の両方を含む。 The above examples are cited as an example, and the present invention is not particularly limited to those shown and described above. Rather, the scope of the invention includes both combinations and partial combinations of the various features described above, as well as modifications and modifications that can be conceived by those skilled in the art by reading the aforementioned description.

100、200、300、400、500…コンピューティングシステム
102、202、302、402、502…ホスト
104、204、304、414、514…TPM
106、206、306、406、506…フラッシュ
108、208、308、408、508…コントローラ
110、210、310、410、510…プロセッサ
112、212、312、412、512…ホストインターフェース
114、214、414、514…I2Cポート
116、316、516…SPIポート
318…フラッシュアプリケーションドライバ
320…セキュリティサービスドライバ












100, 200, 300, 400, 500 ... Computing system 102, 202, 302, 402, 502 ... Host 104, 204, 304, 414, 514 ... TPM
106, 206, 306, 406, 506 ... Flash 108, 208, 308, 408, 508 ... Controller 110, 210, 310, 410, 510 ... Processor 112, 212, 312, 412, 512 ... Host interface 114, 214, 414. , 514 ... I2C port 116, 316, 516 ... SPI port 318 ... Flash application driver 320 ... Security service driver












Claims (18)

ホストと通信するためのホストインターフェースと、
プロセッサと、を備え、
前記プロセッサは、前記ホストインターフェイスを介して、不揮発性メモリで実行するための複数の命令を前記ホストから受信し、
前記複数の命令から、セキュアな単調カウンタに関係し、且つセキュアな単調カウンタが埋め込まれた不揮発性メモリでの実行しょうとする命令を識別し、
前記識別された命令を実行し、前記不揮発性メモリの代わりに、前記識別された命令に応じて前記ホストに応答する
を備えることを特徴とするコントローラ。
A host interface for communicating with the host,
With a processor,
The processor receives a plurality of instructions from the host for execution in the non-volatile memory via the host interface.
From the plurality of instructions, the instruction related to the secure monotonous counter and to be executed in the non-volatile memory in which the secure monotonous counter is embedded is identified.
A controller comprising executing the identified instruction and responding to the host in response to the identified instruction instead of the non-volatile memory.
メモリインターフェースと、をさらに備え、
前記プロセッサは、
前記メモリインターフェースを介して、セキュアな単調カウンタが組み込まれていない不揮発性メモリと通信し、
前記識別された命令以外の命令を前記セキュアな単調カウンタが組み込まれていない不揮発性メモリに転送して実行するように設定される請求項1に記載のコントローラ。
With a memory interface,
The processor
Through the memory interface, it communicates with a non-volatile memory that does not have a secure monotonous counter built in.
The controller according to claim 1, wherein an instruction other than the identified instruction is set to be transferred and executed to a non-volatile memory in which the secure monotonous counter is not incorporated.
前記プロセッサは、
前記識別された命令を実行すると、前記不揮発性メモリを選択するために前記ホストによってアサートされたチップセレクト信号を上書きするように設定される請求項1に記載のコントローラ。
The processor
The controller of claim 1, wherein when the identified instruction is executed, the controller is set to overwrite the chip select signal asserted by the host to select the non-volatile memory.
前記プロセッサは、
前記不揮発性メモリを選択するために前記ホストによってアサートされるた前記チップセレクト信号を傍受することにより、前記不揮発性メモリにアクセスしょうとする命令を受信するように設定される請求項1に記載のコントローラ。
The processor
The first aspect of claim 1 is set to receive an instruction to access the non-volatile memory by intercepting the chip select signal asserted by the host to select the non-volatile memory. controller.
前記プロセッサは、TPMとともに、前記識別された命令を実行するように設定される請求項1に記載のコントローラ。 The controller according to claim 1, wherein the processor, together with a TPM, is configured to execute the identified instruction. 前記TPMは、前記コントローラに統合される請求項5に記載のコントローラ。 The controller according to claim 5, wherein the TPM is integrated with the controller. 前記TPMは、前記コントローラの外部に位置し、
前記コントローラは、前記TPMと通信するためのTPMインターフェースをさらに含む請求項5に記載のコントローラ。
The TPM is located outside the controller
The controller according to claim 5, wherein the controller further includes a TPM interface for communicating with the TPM.
前記TPMは、前記コントローラの外部に位置し、且つ前記ホストに接続され、
前記プロセッサは、前記ホストインターフェースを介して前記TPMと通信するように設定される請求項5に記載のコントローラ。
The TPM is located outside the controller and is connected to the host.
The controller according to claim 5, wherein the processor is configured to communicate with the TPM via the host interface.
前記識別された命令は、RPMC仕様に準拠し、
前記プロセッサは、前記RPMC仕様に従って前記識別された命令を実行するように設定される請求項2に記載のコントローラ。
The identified instructions comply with the RPMC specification and
The controller of claim 2, wherein the processor is configured to execute the identified instruction in accordance with the RPMC specification.
コントローラにおいて、不揮発性メモリで実行するための複数の命令をホストから受信し、
前記複数の命令から、セキュアな単調カウンタに関係し、且つ、セキュアな単調カウンタが埋め込まれた不揮発性メモリで実行しょうとする命令を識別し、
前記不揮発性メモリの代わりに、前記コンローラーによって前記識別された命令を実行するコントロール方法。
The controller receives multiple instructions from the host to execute in non-volatile memory and
From the plurality of instructions, the instruction related to the secure monotonous counter and to be executed in the non-volatile memory in which the secure monotonous counter is embedded is identified.
A control method that executes the identified instruction by the controller instead of the non-volatile memory.
セキュアな単調カウンタが組み込まれていない不揮発性メモリと通信し、
前記識別された命令以外の命令を前記セキュアな単調カウンタが組み込まれていない不揮発性メモリに転送して実行する請求項10に記載のコントロール方法。
Communicates with non-volatile memory that does not have a built-in secure monotonous counter
The control method according to claim 10, wherein an instruction other than the identified instruction is transferred to a non-volatile memory in which the secure monotonous counter is not incorporated and executed.
前記不揮発性メモリを選択するために前記ホストによってアサートされたチップセレクト信号を上書きする請求項10に記載のコントロール方法。 The control method according to claim 10, wherein the chip select signal asserted by the host is overwritten in order to select the non-volatile memory. 前記不揮発性メモリを選択するために前記ホストによってアサートされるた前記チップセレクト信号を傍受することにより、前記不揮発性メモリにアクセスしょうとする命令を受信する請求項10に記載のコントロール方法。 10. The control method of claim 10, wherein the control method of claim 10 receives an instruction to access the non-volatile memory by intercepting the chip select signal asserted by the host to select the non-volatile memory. TPMとともに、前記識別された命令を実行する請求項10に記載のコントロール方法。 The control method according to claim 10, wherein the identified instruction is executed together with the TPM. 前記TPMは、前記コントローラに統合される請求項14に記載のコントロール方法。 The control method according to claim 14, wherein the TPM is integrated with the controller. 前記TPMは、前記コントローラの外部に位置し、
前記コントローラは、前記TPMと通信するためのTPMインターフェースをさらに含む請求項14に記載のコントロール方法。
The TPM is located outside the controller
The control method according to claim 14, wherein the controller further includes a TPM interface for communicating with the TPM.
前記TPMは、前記コントローラの外部に位置し、且つ前記ホストに接続され、
前記プロセッサは、前記ホストインターフェースを介して前記TPMと通信する請求項14に記載のコントロール方法。
The TPM is located outside the controller and is connected to the host.
The control method according to claim 14, wherein the processor communicates with the TPM via the host interface.
前記識別された命令は、RPMC仕様に準拠し、
前記プロセッサは、前記RPMC仕様に従って前記識別された命令を実行する請求項14に記載のコントロール方法。
The identified instructions comply with the RPMC specification and
14. The control method of claim 14, wherein the processor executes the identified instruction in accordance with the RPMC specification.
JP2020073271A 2019-07-04 2020-04-16 CONTROLLER HAVING FLASH EMULATION FUNCTION AND CONTROL METHOD Active JP7293163B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/503,501 2019-07-04
US16/503,501 US10846438B2 (en) 2014-07-24 2019-07-04 RPMC flash emulation

Publications (2)

Publication Number Publication Date
JP2021012679A true JP2021012679A (en) 2021-02-04
JP7293163B2 JP7293163B2 (en) 2023-06-19

Family

ID=73919520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020073271A Active JP7293163B2 (en) 2019-07-04 2020-04-16 CONTROLLER HAVING FLASH EMULATION FUNCTION AND CONTROL METHOD

Country Status (3)

Country Link
JP (1) JP7293163B2 (en)
CN (1) CN112181860B (en)
TW (1) TWI728572B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI775436B (en) 2021-05-17 2022-08-21 新唐科技股份有限公司 Bus system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017033537A (en) * 2014-07-24 2017-02-09 ヌヴォトン テクノロジー コーポレーション Security device having indirect access to external non-volatile memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320263A1 (en) * 2007-06-20 2008-12-25 Daniel Nemiroff Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner
US8588228B1 (en) * 2010-08-16 2013-11-19 Pmc-Sierra Us, Inc. Nonvolatile memory controller with host controller interface for retrieving and dispatching nonvolatile memory commands in a distributed manner
WO2013095387A1 (en) * 2011-12-20 2013-06-27 Intel Corporation Secure replay protected storage
US9218490B2 (en) * 2011-12-30 2015-12-22 Intel Corporation Using a trusted platform module for boot policy and secure firmware
CN103247612B (en) * 2013-04-09 2015-09-23 北京兆易创新科技股份有限公司 A kind of enhancement mode FLASH chip and a kind of chip packaging method
TWI640895B (en) * 2013-07-12 2018-11-11 華邦電子股份有限公司 Nonvalatile memory device having authentication, and methods of operation and manufacture thereof
US9407636B2 (en) * 2014-05-19 2016-08-02 Intel Corporation Method and apparatus for securely saving and restoring the state of a computing platform
US9716710B2 (en) * 2015-06-26 2017-07-25 Intel Corporation Technologies for virtualized access to security services provided by a converged manageability and security engine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017033537A (en) * 2014-07-24 2017-02-09 ヌヴォトン テクノロジー コーポレーション Security device having indirect access to external non-volatile memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GADGET RENESASプロジェクト: "「W74M」セキュア認証フラッシュメモリ", 「GR−LYCHEE」ではじめる「電子工作」, vol. 初版, JPN6021017976, 25 December 2017 (2017-12-25), JP, pages 102 - 122, ISSN: 0004801691 *

Also Published As

Publication number Publication date
CN112181860B (en) 2023-11-24
JP7293163B2 (en) 2023-06-19
TW202102999A (en) 2021-01-16
TWI728572B (en) 2021-05-21
CN112181860A (en) 2021-01-05

Similar Documents

Publication Publication Date Title
CN109918919B (en) Management of authentication variables
US10846438B2 (en) RPMC flash emulation
US11580264B2 (en) Systems and methods for controlling access to secure debugging and profiling features of a computer system
JP4288209B2 (en) Security architecture for system on chip
US9535712B2 (en) System and method to store data securely for firmware using read-protected storage
JP5643901B2 (en) Platform firmware armoring technology
JP4664966B2 (en) Cooperative embedded agent
JP5153887B2 (en) Method and apparatus for transfer of secure operating mode access privileges from a processor to a peripheral device
US20030018892A1 (en) Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer
US10430589B2 (en) Dynamic firmware module loader in a trusted execution environment container
US9886408B2 (en) Data access protection for computer systems
CN113449283A (en) non-ROM based IP firmware verification downloaded by host software
JP7293163B2 (en) CONTROLLER HAVING FLASH EMULATION FUNCTION AND CONTROL METHOD
US20230342472A1 (en) Computer System, Trusted Function Component, and Running Method
CN113268447A (en) Computer architecture and access control, data interaction and safe starting method in computer architecture
TWI751962B (en) Secured device, secured method, secured system, and secured apparatus
US9633213B2 (en) Secure emulation logic between page attribute table and test interface
US11960737B2 (en) Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof
BR102019017566A2 (en) SYSTEM AND METHOD FOR IDENTIFYING THREATS AND PROTECTING DATA AND INFORMATION STORED IN ELECTRONIC DEVICES

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210818

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220414

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220414

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220425

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220426

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220624

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220629

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220831

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221011

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20221202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230227

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230607

R150 Certificate of patent or registration of utility model

Ref document number: 7293163

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150