TWI801468B - 用於保護電子裝置之安全性之設備、方法及系統以及相關的微控制器 - Google Patents

用於保護電子裝置之安全性之設備、方法及系統以及相關的微控制器 Download PDF

Info

Publication number
TWI801468B
TWI801468B TW107145282A TW107145282A TWI801468B TW I801468 B TWI801468 B TW I801468B TW 107145282 A TW107145282 A TW 107145282A TW 107145282 A TW107145282 A TW 107145282A TW I801468 B TWI801468 B TW I801468B
Authority
TW
Taiwan
Prior art keywords
command
memory
monitor
flash memory
select signal
Prior art date
Application number
TW107145282A
Other languages
English (en)
Other versions
TW201928991A (zh
Inventor
布萊恩 J 馬力
理查 E 沃勒
Original Assignee
美商微晶片科技公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商微晶片科技公司 filed Critical 美商微晶片科技公司
Publication of TW201928991A publication Critical patent/TW201928991A/zh
Application granted granted Critical
Publication of TWI801468B publication Critical patent/TWI801468B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Burglar Alarm Systems (AREA)
  • Telephone Function (AREA)

Abstract

一種設備包括一介面電路及通訊地耦接至該介面電路的一監測器電路。該監測器電路經組態以識別透過該介面電路發出至通訊地耦接至該監測器電路的一記憶體的一命令、判定該命令是否經授權、及基於該命令未經授權之一判定而取消該命令。

Description

用於保護電子裝置之安全性之設備、方法及系統以及相關的微控制器
本揭露係關於用於電子裝置之快閃記憶體的控制及安全性,且更具體地,係關於透通附接之快閃記憶體安全性。
快閃記憶體係用於儲存及用於在運算裝置與其元件之間傳送資料的非揮發性記憶體。快閃記憶體具有以電子方式重新程式化及抹除的能力。快閃記憶體可被實作在電子或運算裝置中,諸如通用串列匯流排(「USB」)隨身碟、攜帶型音樂播放器、智慧型手機、數位相機、或固態硬碟。
快閃記憶體可係一種可電子抹除可程式化唯讀記憶體(「EEPROM」)。快閃記憶體可以實施獨立記憶體儲存裝置,如USB隨身碟。EEPROM係一種使用電子裝置以抹除或寫入數位資料的資料記憶體裝置之類型。快閃記憶體可係相異子類型的EEPROM,其依大區塊為單位進行程式化及抹除。
EEPROM的內容可容易發生未經授權讀取或寫入操作。例如,病毒可運用未經授權寫入而將駭客程式(hack)安裝至EEPROM上所儲存的韌體中。在另一實例中,病毒可運用未經授權讀取來存取敏感內容。作為EEPROM 的常見實例,快閃記憶體或快閃記憶體控制器可能缺乏防此類未經授權讀取或寫入操作的原生以硬體為基礎的保護或即時保護。本揭露之實施例可提供以硬體為基礎的保護或即時保護以防未經授權讀取或寫入操作。
本揭露的實施例包括一設備。該設備包括一介面電路及通訊地耦接至該介面電路的一監測器電路。該監測器電路可經組態以識別透過該介面電路發出至通訊地耦接至該監測器電路的一記憶體的一命令、判定該命令是否經授權、及基於該命令未經授權之判定而取消該命令。與上述實施例之任何者組合,該監測器電路可進一步經組態以:為了取消該命令,引起該監測器電路修改一所接收晶片選擇信號以產生一經修改晶片選擇信號;及發送該經修改晶片選擇信號至該記憶體。與上述實施例之任何者組合,該監測器電路可進一步經組態以:為了取消該命令,在完成該經修改晶片選擇信號之前,新增一時脈脈衝至由該記憶體所使用的一時脈匯流排。與上述實施例之任何者組合,該監測器電路可進一步經組態以:為了取消該命令,在新增該時脈脈衝至由該記憶體所使用的該時脈匯流排之前,重設該命令的一來源。與上述實施例之任何者組合,該監測器電路可進一步經組態以:為了取消該命令,在完成該經修改晶片選擇信號之前,重設該命令的一來源。與上述實施例之任何者組合,該監測器電路可進一步經組態以:為了取消該命令,在完成該所接收晶片選擇信號之後,完成該經修改晶片選擇信號。與上述實施例之任何者組合,該監測器電路可進一步經組態以:為了取消該命令,回應於該命令係一寫入命令或一抹除命令之判定而完成該經修改晶片選擇信號。與上述實施例之任何者組合,該監測 器電路可進一步經組態以:為了取消該命令,在接收來自該命令的一來源之一稍後晶片選擇信號之前,完成該經修改晶片選擇信號。與上述實施例之任何者組合,該監測器電路可進一步經組態以:為了取消該命令,基於該命令係一讀取命令之判定,在接收來自該命令的該來源之一稍後晶片選擇信號之前,完成該經修改晶片選擇信號。與上述實施例之任何者組合,該監測器電路可進一步經組態以:識別發出至通訊地耦接至該監測器電路的一記憶體的一讀取命令;比較來自該記憶體的內容與一受信任複本,以判定來自該記憶體的該內容是否與該受信任複本相同;及基於來自該記憶體的該內容與該受信任複本不相同之判定,採取校正動作。與上述實施例之任何者組合,該監測器電路可包括一處理器及一非暫時性機器可讀取媒體。該媒體可包括指令,該等指令在由該處理器載入及執行時,引起該監測器電路識別發出至通訊地耦接至該監測器電路的一記憶體的命令;判定該命令是否經授權;及取消該命令。
本揭露之實施例可包括由上述實施例之監測器電路之任何者執行之方法。
100:系統
101:介面
102:監測器/控制器
103:介面
104:基本輸入/輸出系統(「BIOS」)快閃記憶體/記憶體
106:系統中央處理單元(「CPU」)
108:目標快閃記憶體/快閃記憶體/控制器
110:控制器
112:受信任程式碼映像/控制器程式碼
114:整合可延伸韌體介面(「UEFI」)BIOS
116:監測器程式碼/監測器
120:處理器
122:記憶體
124:處理器
126:記憶體
128:控制器程式碼
212:開關
230:隔離邏輯
232:開關
234:開關
302:步驟
304:步驟
306:步驟
308:步驟
310:步驟
312:步驟
402:步驟
404:步驟
406:步驟
408:步驟
410:步驟
502:步驟
504:步驟
506:步驟
508:步驟
510:步驟
512:步驟
514:步驟
602:步驟
604:步驟
606:步驟
608:步驟
610:步驟
702:步驟
704:步驟
706:步驟
708:步驟
710:步驟
800:方法
805:步驟
810:步驟
815:步驟
820:步驟
825:步驟
830:步驟
835:步驟
840:步驟
845:步驟
850:步驟
855:步驟
860:步驟
865:步驟
870:步驟
875:步驟
880:步驟
902:快閃記憶體
904:快閃記憶體
906:快閃記憶體/多工器
1000:方法
1005:步驟
1010:步驟
1015:步驟
1020:步驟
1025:步驟
1030:步驟
1035:步驟
1040:步驟
1045:步驟
1050:步驟
IO[3:0]:資料匯流排
clk:時脈信號
〔圖1〕係根據本揭露之實施例之用於提供透通附接之快閃記憶體安全性之一系統的繪示。
〔圖2〕係根據本揭露之實施例之用於提供透通附接之快閃記憶體安全性之一系統之部分的更詳細繪示。
〔圖3〕係根據本揭露實施例之從控制器至記憶體的實例性命令之時序的繪示。
〔圖4〕係根據本揭露實施例之抑制發出完成晶片選擇信號以對未經授權存取目標快閃記憶體108採取校正動作之一系統之操作的繪示。
〔圖5〕係根據本揭露實施例之抑制發出完成晶片選擇信號以對未經授權存取記憶體採取校正動作之一系統之進一步操作的繪示。
〔圖6〕係根據本揭露實施例之抑制發出完成晶片選擇信號以對未經授權存取記憶體採取校正動作之一系統之又進一步操作的繪示。
〔圖7〕係根據本揭露實施例之加速完成晶片選擇信號以對未經授權存取目標快閃記憶體採取校正動作之一系統之操作的繪示。
〔圖8〕係根據本揭露之實施例之用於執行透通附接之快閃記憶體安全性之一實例性方法的繪示。
〔圖9A及圖9B〕繪示根據本揭露之實施例之監測記憶體內容的實例性組態。
〔圖10〕繪示根據本揭露之實施例之用於監測記憶體內容的實例性方法。
〔申請案優先權〕
本申請案主張2017年12月15日申請之美國臨時專利申請案第62/599,288號之優先權,其內容全文特此併入本文中。
圖1係根據本揭露之實施例之用於提供透通附接之快閃記憶體安全性之一系統100的繪示。系統100可包括一監測器102,該監測器經組態以透通地附接或通訊地耦接至受保護的一記憶體。監測器102可經實作為半導體裝 置、場可程式化閘陣列、特定用途積體電路、模組、或其他電路,包括藉由類比電路系統、數位電路系統、組合邏輯、由指令或硬體描述語言所表現的電路系統、用於由處理器執行的指令、或用於執行受保護記憶體之安全性的其任何合適組合予以實作。監測器102可在本身內包括處理硬體或依賴系統100中別處的其他處理硬體。在一實施例中,監測器102可包括一處理器120及一記憶體122。用於執行之指令可載入至記憶體122中以供由處理器120予以執行,當該等指令被執行時,引起監測器102執行監測器102的操作及組態,如本揭露中所述者。監測器102可包括至記憶體的介面101、103。由監測器102進行的至或來自記憶體的通訊可透過介面101、103來執行。介面101、103可藉由含類比電路系統、數位電路系統、或其任何合適組合的電路予以實作。
監測器102可經組態以提供用於任何合適的受保護記憶體的記憶體安全性。此類記憶體可包括任何記憶體,在該記憶體中以區塊為單位來存取資料,或在該記憶體中透過晶片啟用、晶片選擇、或其他選擇或啓用信號來存取資料。此類記憶體可包括例如快閃記憶體、USB記憶體、平行記憶體或串列周邊介面(「SPI」)記憶體裝置。受保護的記憶體可係附接之記憶體,其中該記憶體被附接作為至另一運算或電子裝置(諸如系統100的其他元件)的外部周邊裝置。例如,監測器102可經組態以提供用於目標快閃記憶體108的記憶體安全性。系統100可包括可受到監測器102保護的任何合適的組合、數量、及類型的記憶體。具體地,系統100可包括多個快閃記憶體,且可使用業界標準SPI匯流排通訊地耦接這些快閃記憶體至系統100的其餘部分。在一實施例中,監測器102的單一例項可保護存取目標快閃記憶體108的多個例項。在另一實施例中,系統100可包括監測器102的例項以保護目標快閃記憶體108的各例項。
系統100可完全或部分地實作任何合適的運算或電子裝置,諸如電腦、平板電腦、膝上型電腦、伺服器、伺服器應用程式、智慧型手機、器具、微控制器或消費電子裝置。系統100可包括一處理器,諸如系統中央處理單元(「CPU」)106。系統CPU 106可由含任何合適數量及種類的處理核心的任何合適處理器來實作。系統100的元件可透過任何合適的匯流排或協定(諸如SPI、增強型SPI(「eSPI」)、從屬附接快閃記憶體共用(「SAFS」)、I2C、進階微控制器匯流排架構(「AMBA」)或通用輸入及輸出(「GPIO」))而通訊地耦接在一起。
系統100可包括可存取記憶體(諸如目標快閃記憶體108)的任何合適數量及種類的元件。此類元件可包括系統CPU 106、可獨立存取目標快閃記憶體108的其他元件、或經組態以從系統CPU 106卸載系統100之一些部件之管理的元件。經組態以存取目標快閃記憶體108的元件由控制器110予以表示。控制器110可由一處理器124、一記憶體126、一積體電路裝置、類比電路系統、數位電路系統、或其任何合適的組合予以實作。控制器110可實作例如一基板管理控制器(baseboard management controller「BMC」)。控制器110可代表例如自身、系統CPU 106或其他元件(圖中未展示)執行嘗試存取目標快閃記憶體108。
可由任何實體(無論圖1是否展示)進行嘗試存取(諸如寫入或讀取)目標快閃記憶體108。例如,可由在系統CPU 106上執行的軟體、由控制器110或由向控制器110提出請求的其他元件來進行未經授權存取目標快閃記憶體108。無論嘗試存取的來源,監測器102可經組態以監測對目標快閃記憶體108的嘗試存取。例如,在啓動時及週期性,控制器110可嘗試存取目標快閃記 憶體108中的控制器程式碼128以載入至記憶體126中,然後用處理器124執行執行控制器程式碼128。控制器程式碼128可包括例如供控制器110執行的經編譯目的碼或其他指令或軟體。控制器110的啓動程式碼可儲存在記憶體126中,且當由處理器124執行時,啓動程式碼可引起控制器110嘗試存取目標快閃記憶體108中的控制器程式碼128。控制器110可經組態以嘗試讀取目標快閃記憶體108中的控制器程式碼128,以複製指令至記憶體126中以供處理器124執行。
在一實施例中,監測器102可以透通方式提供目標快閃記憶體108的保護。監測器102提供的安全性或甚至監測器102本身在該監測器102中可係透通的,或其操作未被系統100之其他部件或第三方觀測到。系統100之其他部件或第三方可不會感知由監測器102針對目標快閃記憶體108所實作的安全性機構及措施。
在一實施例中,控制器110可使用SPI匯流排來嘗試存取目標快閃記憶體108。使用SPI匯流排時,可使用一晶片選擇(「CS」)信號來識別待存取以嘗試讀取或寫入的特定記憶體裝置。CS信號亦可稱為晶片啓用信號。各種其他匯流排可使用CS信號、晶片啓用信號、或等同物來識別一群組記憶體裝置,這類記憶體裝置待用於嘗試存取。當要使用來自此一群組快閃記憶體裝置的一給定快閃記憶體裝置時,可將一作用中CS信號路由至該給定快閃記憶體裝置,而至其他快閃記憶體裝置的CS信號可被保持處於非作用中。CS信號可處於作用中高或作用中低。在本揭露之實例中,CS信號可處於作用中低。可透過任何合適的開關或網狀架構(fabric)(圖中未展示)將CS信號路由至適當的快閃記憶體裝置。
在一實施例中,監測器102可經組態以攔截待發送至目標快閃記憶體108的CS信號。監測器102可經組態以依任何合適方式攔截此類CS信號(以圖1中標示為主控CS)。在一實施例中,監測器102可實作介於控制器110或存取目標快閃記憶體108的其他元件與目標快閃記憶體108之間的介面中。在另一實施例中,由控制器110發出的CS信號可在被轉遞至目標快閃記憶體108之前被菊鏈至監測器102。控制器110可發出CS信號,同時未感知到透過監測器102路由CS信號。監測器102可經組態以修改CS信號(若需要)且路由所得經修改信號(在圖1中標示為快閃記憶體CS)。控制器110可發出CS信號至目標快閃記憶體108而無需感知或接收將首先透過監測器102路由CS信號的任何其他指示。如圖2所示,可直接從控制器110路由其他信號至目標快閃記憶體108。此類其他信號可被複製至監測器102。透過修改如發送至目標快閃記憶體108的CS信號、藉由發出重設或強制終止(kill)信號至系統CPU 106或控制器110、藉由修改從控制器110發送至目標快閃記憶體108的時脈、或其他技術,監測器102可經組態以保護目標快閃記憶體108免受未經授權存取。
監測器102可通訊地耦接至另一快閃記憶體裝置或其他類型的記憶體裝置。此類記憶體裝置可表示為基本輸入/輸出系統(「BIOS」)快閃記憶體104。記憶體104可包括任何合適數目及種類的資料。此外,記憶體104的內容可被複製在其他記憶體(諸如目標快閃記憶體108)中。記憶體104可包括例如監測器程式碼116。監測器116可包括指令、可執行檔、指令檔、目的碼、或引起監測器102操作的其他資訊。記憶體104可包括操作記憶體104的整合可延伸韌體介面(「UEFI」)BIOS 114。此外,記憶體104可包括受信任程式碼映像112,亦稱為黃金映像(golden image)。受信任程式碼映像112可包括可在系 統100內別處存取的已知、安全或受信任的資訊複本。例如,受信任程式碼映像112可包括UEFI BIOS 114的複本、監測器程式碼116的複本及控制器程式碼128的複本。監測器102可經組態以:使用受信任程式碼映像112內的內容來檢查系統100內的此類內容之其他例項;檢查系統100內的此類內容之此類其他例項的讀取複本;及若判定內容已變成受損,則還原在系統100內的此類內容的例項。
監測器102可經組態以評估目標快閃記憶體108的嘗試存取。可以目標位址、嘗試的命令、嘗試起源的位址為基礎、或任何其他合適的基礎來監測嘗試的存取。
例如,在快閃記憶體108之某一狀態中可能考慮無條件地禁止對快閃記憶體的某些命令。例如,當目標快閃記憶體108被指定為具有關鍵資訊時,晶片抹除操作可能係未經授權。在另一實例中,若目標快閃記憶體108被指定為唯讀,則唯讀操作可能經授權。可抑制寫入及抹除命令。監測器102可經組態以跨目標快閃記憶體108的整個位址空間內監測目標快閃記憶體108內的特定敏感位址。在目標快閃記憶體108的給定區域內可禁止某些命令。可根據預期惡意程式碼目標、關鍵資料、或跨整個記憶體裝置來定義這些區域。
監測器102可經組態以若對目標快閃記憶體108的嘗試存取未經授權,則採取校正動作。監測器102所採取的校正動作可表現為操縱目標快閃記憶體108或系統100的其他元件對嘗試存取的回應,如下文更詳細討論。可在嘗試對目標快閃記憶體108執行命令時進行由監測器102所採取的校正動作。其他安全性解決方案包括諸如在目標快閃記憶體108本身中或在與目標快閃記憶體108通訊的主控裝置中,在記憶體存取結束時採取校正動作。對於許多此類 主控裝置,預期將針對安全性解決方案以一致、標準化或統一方式來重新設計主控裝置不可行。有許多可存取快閃記憶體的此類裝置的建立者及來源。此外,快閃記憶體及主控裝置皆沒有足夠以硬體為基礎或即時的防護措施,尤其係保護整個快閃記憶體空間中的位址或區域。
在一實施例中,由監測器102所採取的校正動作可包括修改從控制器110接收的CS信號,然後將經修改CS信號傳遞至目標快閃記憶體108。修改CS信號會引起錯誤條件。在另一實施例中,監測器102所採取的校正動作可包括發出至目標快閃記憶體108、系統CPU 106及控制器110之一或多者的重設或強制終止信號。重設信號可引起接收者進行重設、軟重新啓動、或執行斷電及通電循環。在另一實施例中,校正動作可包括操縱目標快閃記憶體108及控制器110之間的雙向SPI時脈。操縱雙向SPI時脈會引起取消待執行的命令。校正動作可不影響不是惡意的存取,且可不需要變更控制器110或目標快閃記憶體108的實施方案。
圖2係根據本揭露之實施例之系統100之部分的更詳細繪示。
控制器110可透過任何合適數目個匯流排通訊地耦接至目標快閃記憶體108。例如,控制器110可經組態以發出CS信號至目標快閃記憶體108。然而,如上文所述,CS信號可在被轉遞且可能被修改之前透過監測器102路由至目標快閃記憶體108。目標快閃記憶體108及控制器110可各感知到其正在接收及發送相同的CS信號「CS」。然而,CS信號可被路由為「主控CS」,而不是透過介面103(圖中未展示)路由至監測器102。監測器102可透過介面101(圖中未展示)轉遞如所接收之主控CS信號、如經修改之主控CS信號,或如經延遲之主控CS信號至目標快閃記憶體108。發送至目標快閃記憶體108的CS 信號可標示為「快閃記憶體CS」。目標快閃記憶體108可經組態以在其CS輸入轉變成低時處理命令且在其CS輸入轉變成高時結束命令。在其他實施方案中,目標快閃記憶體108可在其CS輸入轉變成高時發起命令且在其CS輸入轉變成低時結束命令。
目標快閃記憶體108可經組態透過介面103(圖中未展示)接收來自控制器110的時脈信號(「clk」)。時脈信號可經組態以在定序介於目標快閃記憶體108與控制器110之間的資訊傳輸,包括命令及資料。目標快閃記憶體108及控制器110可藉由時脈信號匯流排直接連接。在一實施例中,監測器102亦可連接至時脈信號匯流排。因此,監測器102可經組態以接收來自控制器110的在時脈信號匯流排上所發送的時脈信號,且亦在目標快閃記憶體108與控制器110之間在時脈信號匯流排上發出時脈信號。
目標快閃記憶體108可經組態以在目標快閃記憶體108與控制器110之間的資料匯流排(「IO[3:0]」)上接收及發送資料。從而,在給定時脈循環中,可在目標快閃記憶體108與控制器110之間傳送四位位元的資訊。可指定在從控制器110至目標快閃記憶體108的資料匯流排上針對目標快閃記憶體108的命令。可指定在從控制器110至目標快閃記憶體108的資料匯流排上待寫入目標快閃記憶體108的資料。可指定在從目標快閃記憶體108至控制器110的資料匯流排上待從目標快閃記憶體108讀取的資料。在一實施例中,監測器102亦可透過介面103(圖中未展示)連接至資料匯流排,以查看控制器110與目標快閃記憶體108之間共用的資料。
在一實施例中,在特定操作模式期間,目標快閃記憶體108及控制器108可選擇性地彼此隔離。例如,當監測器102在時脈匯流排上發出時脈信 號時,或當監測器102在資料匯流排上發出資料時,這些信號可意欲在目標快閃記憶體108處接收,而不是在控制器110處接收。此外,控制器110可能未經經組態以在控制器110被保持在重設時或當目標快閃記憶體108被保持在重設時使其用於介接目標快閃記憶體108的接針浮動。系統100可包括任何合適的元件以在重設期間或當監測器102正在與控制器110共用的匯流排上寫入資料時隔離控制器110的接針。例如,系統100可包括隔離邏輯230。隔離邏輯230可經組態以在重設期間或當監測器102正在寫入資料至時脈匯流排或資料匯流排時隔離控制器110的接針。隔離邏輯230可藉由數位電路系統、類比電路系統、或其任何合適的組合予以實作。例如,隔離邏輯230可包括時脈匯流排上的開關232及資料匯流排的開關234。開關232、234的操作可受控於例如由監測器102所發出的隔離控制信號。開關232可放置在介於控制器110的時脈接針與匯流排線至監測器102的時脈接針及目標快閃記憶體108的時脈接針之接點之間的時脈匯流排上。開關234可放置在介於控制器110的資料接針與匯流排線至監測器102的資料接針及目標快閃記憶體108的資料接針之接點之間的資料匯流排上。當控制器110處於寫入資料至目標快閃記憶體108或接收來自目標快閃記憶體的資料時,由監測器102發出的隔離控制信號可閉合開關閉232、234。在此情況中,控制器110可不與目標快閃記憶體108隔離。當控制器110被重設或當監測器102處於寫入資料至目標快閃記憶體108時,由監測器102發出的隔離控制信號可斷開開關232、234。在此情況中,控制器110可與目標快閃記憶體108隔離。
在一些實施例中,目標快閃記憶體108可不包括重設接針。目標快閃記憶體108可具有用於Vcc的功率輸入以供電給目標快閃記憶體108的操作。系統100可包括連接在Vcc與目標快閃記憶體108之間的開關212。開關212 可用任何合適的方式實作,諸如藉由電晶體。監測器202可經組態以透過重設信號來控制開關212。重設信號可不是持久性但足以斷開開關212及隨後閉合開關212以關閉目標快閃記憶體108電源後重新開啟。重設信號的長度可係引起開關212關閉目標快閃記憶體108電源後重新開啟的任何合適長度。控制Vcc遞送至目標快閃記憶體108的開關212可因此實作針對目標快閃記憶體108的重設機構,然而可使用任何其他合適的實施方案。
在一實施例中,監測器102可經組態以藉由終止由控制器110發出的命令來執行校正動作。可在目標快閃記憶體108已完成命令之前終止該命令。在進一步實施例中,可藉由重設控制器110來終止命令。在另一進一步實施例中,可藉由重設目標快閃記憶體108來終止命令。在各種實施例中,可重設目標快閃記憶體108、控制器110中之一者。在各種其他實施例中,目標快閃記憶體108及控制器110兩者皆可被重設。重設信號可具有任何合適的持續時間以引起控制器110透過關閉電源後重新開啟、硬重新啓動、軟重新啓動、或控制器110特定的其他重設操作來重設自身。此外,重設信號可具有任何合適的持續時間以引起開關212斷開並重新連接Vcc至目標快閃記憶體108,以引起關閉電源後重新開啟。
在一實施例中,監測器102可經組態以藉由以將引起目標快閃記憶體108放棄命令而損毀由控制器110發出的命令之執行來執行校正動作。在進一步實施例中,監測器102可經組態以藉由在時脈匯流排上插入非預期數量個時脈脈衝而損毀由控制器110發出的命令之執行來執行校正動作。在另一實施例中,監測器102可經組態以在目標快閃記憶體104將不預期已完成的CS信號時,藉由在控制器110已在時脈匯流排上發出一定數量個時脈脈衝時完成CS信 號而損毀由控制器110發出的命令之執行。時脈脈衝之非預期數量可超過目標快閃記憶體108針對給定通訊階段所預期的時脈脈衝數量。非預期數量個時脈脈衝可包括(例如)奇數個時脈信號,但可使用任何合適的額外時脈信號。在另一實施例中,監測器102可經組態以藉由延遲從控制器110接收的CS信號的例項(控制器110將在命令完成時發送)來損毀由控制器110發出的命令之執行。這可延長命令的操作。在另一進一步實施例中,監測器102可經組態以藉由在比控制器110實際完成CS信號更早完成從控制器110接收的CS信號的例項來損毀由控制器110發出的命令之執行。這會例如截止讀取或寫入命令。
圖3係根據本揭露實施例之從控制器110至目標快閃記憶體108的實例性命令之時序的繪示。圖3繪示系統100的操作,其中監測器102不採取校正動作。圖3繪示從控制器110至目標快閃記憶體108的CS信號、時脈信號及資料匯流排的時序圖。控制器110可被引用為主控器或主控裝置,且來自控制器110之的信號可被引用為主控信號。
在302,CS信號可變成作用中低,指示目標快閃記憶體108將執行操作。在304,CS信號可處於作用中低直到完成命令。在304,在CS信號的上升緣變成非作用中高時,可由目標快閃記憶體108完成動作。此類動作可係完成寫入或抹除。當CS信號處於作用中低時,可在資料匯流排上傳達命令之身份識別。在控制器110發出第一時脈脈衝之前可由控制器110發出命令的最前面位元。此外,資料匯流排可將從目標快閃記憶體108讀取的資料傳達至處於讀取操作中的控制器110。可經由其他機構傳達待寫入的資料。此外,可從控制器110發出時脈信號脈衝至目標快閃記憶體108。在各此類時脈脈衝,可在目標快閃記憶體108與控制器110之間讀取或寫入資訊。
306繪示在CS信號變成作用中低之後且在第一時脈脈衝之前控制器110執行設定以執行命令通常所需的時間長度。308繪示在CS信號變成作用中低之後且在第一時脈脈衝之前目標快閃記憶體108執行設定以執行命令通常所需的時間長度。310繪示在最後一個時脈脈衝之後且在CS信號變成非作用中高之前保持用於控制器110之時間通常所需的時間長度。312繪示在最後時脈脈衝之後且在CS信號變成非作用中高之前保持用於目標快閃記憶體108之時間通常所需的時間長度。如圖3所示,與控制器110相比較,可縮短目標快閃記憶體108的設定及保持要求時間。在一實施例中,監測器102可經組態以在第一時脈脈衝之前及在從控制器110發出最後時脈脈衝至目標快閃記憶體108之後,在控制器110的設定及保持時間期間判定是否應用校正動作及採取校正動作。
目標快閃記憶體108可不包括恆定地產生且提供給控制器110的狀態信號輸出。當控制器110發出花費大量時間的命令(例如寫入或抹除)時,控制器110可發出輪詢命令至目標快閃記憶體108。此命令可包括「讀取狀態(READ STATUS)」。該命令可檢查在由目標快閃記憶體108所產生的回應之位元位置0中稱為「忙(BUSY)」的位元。該回應可由目標快閃記憶體108回應於原始讀取或寫入命令而產生。在快閃記憶體參考資料表中,寫入命令通常稱為「程式(PROGRAM)」,但本揭露可使用術語「寫入」。
圖4係根據本揭露實施例之抑制發出完成CS信號以對未經授權存取目標快閃記憶體108採取校正動作之一系統100之操作的繪示。監測器102可經組態以藉由發出CS信號來採取校正動作,其中與由控制器110所產生的主控CS信號相比較,CS信號之完成被延遲。與由控制器110所產生的主控CS信號相比較,監測器102可經組態以在命令完成時抑制或延遲由目標快閃記憶體108 所接收的CS信號返回至非作用中高。這可稱為「延展」技術,因為其延展或延長CS信號處於作用中低的時期超過控制器110的正常操作。可使用延展技術以對未經授權寫入、抹除或晶片抹除命令採取校正操作。延展技術可利用目標快閃記憶體108的組態以於CS信號之上升邊緣採取動作。藉由延展其中CS信號處於作用中低的週期,可允許監測器102採取其他措施以取消動作。
圖4繪示由控制器110產生且提供給監測器102的主控CS信號。亦繪示從控制器110發送至目標快閃記憶體108的時脈及資料信號,該等時脈及資料信號亦被監測器102觀測到。此外,圖4繪示快閃記憶體CS信號(其係如所修改之主控CS信號(若監測器102修改信號))且提供至目標快閃記憶體108。
在402,主控CS信號可轉變成作用中低,且作用中低CS信號可在稍微延遲之後經由快閃記憶體CS從監測器102轉遞至目標快閃記憶體108。在404,監測器102可判定待執行的命令係未經授權或不良的寫入或抹除命令,因此可採取校正動作。在406,主控CS信號可返回至非作用中高。然而,監測器102可抑制主控CS信號被輸出作為快閃記憶體CS。而是,監測器102可繼續保持該快閃記憶體CS信號為作用中低。
在408,控制器110可設定主控CS信號為作用中低及發出輪詢命令以查看目標快閃記憶體108是否已完成先前命令。然而,已由監測器102藉由延伸快閃記憶體CS信號處於作用中低的時間而有效地抑制該先前命令。監測器102可引起目標快閃記憶體108產生無效回應。例如,目標快閃記憶體108可在接收非作用中高CS信號以完成命令之前預期偶數個時脈循環。非預期數量個時脈循環會引起錯誤條件或以其他方式產生無效回應而不執行寫入或抹除。例如,在410,監測器102可在奇數時脈循環發出快閃記憶體CS的非作用中高上升 邊緣。奇數時脈信號可例如結合控制器110發出用於輪詢的奇數時脈信號而出現。可藉由監測器102插入奇數時脈信號。隨後,目標快閃記憶體108可看到與在其CS信號輸入上之上升邊緣組合的奇數時脈循環,且產生對控制器110的無效或錯誤回應。目標快閃記憶體108可產生對任何其他數量個非預期時脈信號的無效或錯誤回應。因此,控制器110可僅在回應於其未經授權嘗試存取目標快閃記憶體108時看到錯誤或無效條件。因此,監測器102可阻擋控制器110的未經授權嘗試。可在控制器110輪詢操作時有效率地取消未經授權嘗試。
此延展技術可用於其中控制器110經組態以發出抹除或寫入命令的情況中,在發出進一步命令至目標快閃記憶體108之前,通常需要後續追蹤輪詢命令。此技術可能不需要重設目標快閃記憶體108或控制器110。由於延展技術,輪詢結果可能完全失敗、可能損毀或可能錯誤。取代對輪詢命令的合適回應,控制器110可感知目標快閃記憶體108之「忙」狀態,而不是來自目標快閃記憶體108對輪詢命令的回應。這會引起控制器110再次嘗試輪詢。在第二次嘗試輪詢時,在延展技術已允許晶片選擇信號完成之後,目標快閃記憶體108可回應於輪詢,且可不再似乎具有「1」之「忙」狀態。在隨後的輪詢中,目標快閃記憶體108會錯誤地回覆或指示命令已完成,即使命令未完成。此類指示可包括空(null)回應或回應不嘗試進一步處理,其可被控制器110解譯為完成命令。
圖5係根據本揭露實施例之抑制發出完成CS信號以對未經授權存取目標快閃記憶體108採取校正動作之一系統100之進一步操作的繪示。圖5繪示可由監測器102執行的額外延展技術。在圖5中,監測器102可藉由再次使用目標快閃記憶體108在接收CS信號之上升邊緣之前先接收偶數個時脈脈衝的 要求來採取校正動作。在圖4中,監測器102藉由等待由控制器110發送至目標快閃記憶體108的非預期數量個時脈循環(諸如奇數個時脈信號)來使用此類要求。相比而言,在圖5中,監測器102可產生額外的時脈循環並將其發送至目標快閃記憶體108。
圖5繪示由控制器110產生且提供給監測器102的主控CS信號。亦繪示從控制器110發送至目標快閃記憶體108的資料信號,這些信號亦由監測器102觀測到。圖5亦繪示從控制器110發送至目標快閃記憶體108的時脈信號,該時脈信號由監測器102觀測及修改。此外,圖5繪示表示如所修改之主控CS信號(若監測器102修改該信號)且提供至目標快閃記憶體108的快閃記憶體CS信號。圖5中亦繪示可從監測器102發出至控制器110的重設或強制終止信號。
在502,主控CS信號可轉變成作用中低,且作用中低CS信號可在稍微延遲之後經由快閃記憶體CS從監測器102轉遞至目標快閃記憶體108。在504,監測器102可判定待執行的命令係未經授權或不良的寫入或抹除命令,因此可採取校正動作。在506,主控CS信號可返回至非作用中高。然而,監測器102可抑制主控CS信號被輸出作為快閃記憶體CS。而是,監測器102可繼續保持該快閃記憶體CS信號為作用中低。在506之後,主控CS信號可被忽略直到514。
在508,可由監測器102將額外時脈脈衝插入至時脈匯流排中,使得額外時脈脈衝到達目標快閃記憶體108。目標快閃記憶體108可在接收到轉變成非作用中高的CS信號之上升邊緣之前預期精確數目個時脈信號。若在CS信號之上升邊緣轉變成非作用中高之前到達多於或少於正確數目個時脈信號,則目標快閃記憶體108可產生錯誤或捨棄該命令。
在510,監測器102可發送重設信號至控制器110。在512,監測器102可使快閃記憶體CS轉變成非作用中高。目標快閃記憶體108在接收非作用中高之CS信號之上升邊緣時,且在接收到CS信號之上升邊緣之前已接收到不正確數目個時脈循環時,可進入錯誤或無效條件。該條件可不需要重設目標快閃記憶體108。因此,控制器110可僅在回應於其未經授權嘗試存取目標快閃記憶體108時看到錯誤或無效條件。因此,監測器102可阻擋控制器110的未經授權嘗試。未經授權嘗試的命令可被有效率取消。在514,正常操作可用額外訊務重新繼續。
圖5之延展技術利用一些快閃記憶體裝置要求抹除或寫入命令必須具有精確數目個時脈脈衝。若接收到錯誤數目個時脈脈衝,則目標快閃記憶體108可不執行命令。例如,可要求晶片抹除命令之長度準確地為一個位元組。若額外時脈脈衝插入至時脈匯流排中,則目標快閃記憶體108可基於時脈額外脈衝而讀取額外資料位元。可能需要區塊或區段抹除命令以準確地具有一個命令位元組及正確數目個位址位元組。若額外時脈脈衝插入至時脈匯流排中,則目標快閃記憶體108可基於時脈額外脈衝而讀取命令或位址中的額外資料位元。可能需要寫入命令以嘗試寫入整數數目個位元組,且若在末尾包括部分位元組,則將捨棄該寫入命令。因此,可藉由引起目標快閃記憶體108看到非預期數量個時脈脈衝(諸如單一額外時脈)來取消這些類型的任何命令。
此外,圖5之延展技術繪示如何藉由重設有問題的控制器110而不是關閉電源後重新開啟目標快閃記憶體108來取消命令。當控制器110被重設時,控制器110可在重設時使時脈線浮動(或僅以電阻方式拉動),從而允許監測器102插入額外時脈脈衝至時脈匯流排中。因此,可在監測器102插入時脈 脈衝之前,重設信號重設主控裝置,且允許快閃記憶體CS轉變成非作用中高。此類組態可確保由目標快閃記憶體108捨棄進行中的命令,而不必重設目標快閃記憶體108。
圖6係根據本揭露實施例之抑制發出完成CS信號以對未經授權存取快閃記憶體採取校正動作之一系統100之又進一步操作的繪示。圖6繪示可由監測器102執行的又額外延展技術。在圖6中,監測器102可藉由重設目標快閃記憶體108來採取校正動作。此外,監測器102可藉由重設控制器110來採取校正動作。
圖6繪示由控制器110產生且提供給監測器102的主控CS信號。亦繪示從控制器110發送至目標快閃記憶體108的資料及時脈信號,該等資料及時脈信號亦被監測器102觀測到。此外,圖6繪示表示如所修改之主控CS信號(若監測器102修改該信號)且提供至目標快閃記憶體108的快閃記憶體CS信號。圖6中亦繪示可從監測器102發出至控制器110及開關212的重設信號。
在602,主控CS信號可轉變成作用中低,且作用中低CS信號可在稍微延遲之後經由快閃記憶體CS從監測器102轉遞至目標快閃記憶體108。在604,監測器102可判定待執行的命令係未經授權或不良的寫入或抹除命令,因此可採取校正動作。在606,主控CS信號可返回至非作用中高。然而,監測器102可抑制主控CS信號被路由至快閃記憶體CS。而是,監測器102可繼續保持該快閃記憶體CS信號為作用中低。在606之後,可忽略主控CS信號直到610。
在608,可由監測器102發出重設信號至開關212,以引起目標快閃記憶體108的關閉電源後重新開啟重設。此外,可由監測器102發出重設信號至控制器110。時脈、資料及主控CS的中間狀態可被忽略直到在608結束時重設 清除之後。因此,控制器110可僅在回應於其未經授權嘗試存取目標快閃記憶體108時看到重設。因此,監測器102可阻擋控制器110的未經授權嘗試。未經授權嘗試的命令可被有效率取消。在610,可由控制器110發出新訊務(以額外命令形式)。當處理此類新訊務時,監測器102可傳播或遵循來自控制器110的主控CS信號,直到偵測到另一不良或未經授權命令。
圖6之延展技術可用於其中待採取校正動作的多種情況中。然而,校正動作可係相對激烈的措施,此係因為可執行控制器110之重設。例如,圖6之延展技術可用於例如之後不涉及輪詢的短命令,以確保實際完成該命令。這些可包括一些模式設定命令。
圖7係根據本揭露實施例之加速完成CS信號以對未經授權存取目標快閃記憶體108採取校正動作之一系統100之操作的繪示。監測器102可經組態以藉由發出CS信號來採取校正動作,其中與由控制器102產生的CS信號相比加速CS信號的完成。監測器102可經組態以在控制器110嘗試結束CS信號之前結束至目標快閃記憶體108的有效CS信號。結果可能係在命令完成之前,在目標快閃記憶體108處接收的CS信號返回至非作用中高,從而引起命令無法完成。這可稱為「縮小(shrink)」技術,因為其使CS信號處於作用中低的時期縮小或縮減至短於由控制器110通常使用的週期。可使用縮小技術對未經授權讀取命令採取校正動作。縮小技術可利用目標快閃記憶體108的組態以於CS信號之上升邊緣採取動作。藉由縮小CS信號處於作用中低的週期,監測器102可中斷命令並取消未經授權的動作。
圖7繪示由控制器110產生且提供給監測器102的主控CS信號。亦繪示從控制器110發送至目標快閃記憶體108的時脈及資料信號,該等時脈及 資料信號亦被監測器102觀測到。此外,圖7繪示表示如所修改之主控CS信號(若監測器102修改該信號)且提供至目標快閃記憶體108的快閃記憶體CS信號。在此技術中可不使用重設信號。
在702,主控CS信號可轉變成作用中低,且作用中低CS信號可在稍微延遲之後經由主控CS從監測器102轉遞至目標快閃記憶體108。在704,可由控制器110發出讀取命令。在706,控制器110可指定將從其讀取內容的位址。監測器102可判定該位址係未經授權或不良位址,此係因為該位址受到保護以防控制器110讀取。因此,監測器102可判定該命令係未經授權的讀取命令。監測器102可作出回應而採取校正動作。
在708,監測器102可藉由在主控CS上發出非作用中高信號至目標快閃記憶體108來終止命令的操作。目標快閃記憶體108在接收非作用中高的轉變時可採取動作,猶如命令已終止。控制器110或監測器102可發出「周轉(turnaround)」或「虛置(dummy)」時脈循環,下文將更詳細地討論。在此類虛置時脈循環之後,控制器110可預期來自目標快閃記憶體108的回覆。然而,回應於主控CS上的信號係非作用中高,資料匯流排的內容可係無效的或浮動。因此,控制器110接收的資料可能係無用的。在710,控制器110可發出在CS_IN上至非作用中高的轉變。這可由監測器102抑制並且不被轉遞至目標快閃記憶體108。
此縮小技術可利用在執行讀取命令時需要延遲。對於初始存取時間及改變雙向資料匯流排上的傳輸方向兩者,皆會需要此類延遲。改變雙向資料匯流排上的傳輸方向所需的循環可稱為「周轉」循環。此類延遲以較慢時脈速率或以全速藉由一定數目個人工或「虛置」時脈循環予以提供。
圖8係根據本揭露之實施例之用於執行透通附接之快閃記憶體安全性之實例方法800的圖示。方法800可由任何合適的機構執行,諸如監測器102。方法800的步驟可依任何合適的順序執行,且可在任何步驟處起始,諸如步驟805。可重複、省略、或遞迴地執行方法800的各種步驟。可平行或遞迴地執行方法800的多個例項。方法800可完全地或部分藉由類比電路系統、數位電路系統、組合邏輯、由指令或硬體描述語言所表現的電路系統、用於由處理器執行的指令、或其任何合適組合予以體現。指令可在非暫時性機器可讀取媒體上。當由處理器載入及執行指令,可引起處理器執行系統100之各種部件(諸如監測器102)的功能。
在步驟805,可啓動或初始化監測器。在步驟810,可藉由發出及保持重設信號至可存取記憶體的主控元件而使主控元件保持處於重設。在步驟815,可檢查監測器的內容的有效性。若內容無效,則可從記憶體中的受信任映像還原這些內容。在步驟820處,可檢查由主控元件存取的記憶體之內容的有效性。若內容無效,則可從記憶體中的受信任映像還原這些內容。在步驟825,可載入記憶體的保護定義。主控元件可從重設而釋放。
在步驟830,可判定是否已進行嘗試存取記憶體。若是,方法800可進行至步驟835。否則,方法800可進行至步驟875。
在步驟835,可判定嘗試存取記憶體是否經授權。例如,可不允許所有晶片抹除命令。可基於位址及讀取或寫入來允許或禁止對給定位址的讀取或寫入。若嘗試存取經授權,則可允許存取,且方法800可進行至步驟875。若嘗試存取未經授權,方法800可進行至步驟840。
在步驟840,可判定適當的校正動作。校正動作可基於嘗試存取之本質。若嘗試存取係讀取操作,方法800可進行至步驟845。若嘗試存取係寫入操作,則方法800可進行至步驟850。
在步驟845,發送至被存取之記憶體的CS信號可在命令仍被執行時完成。這可能係縮小操作,且會引起記憶體提供無效資訊。方法800可進行至步驟875。
在步驟850至870,可判定合適的寫入命令取消。在步驟850處,可判定寫入命令是否需要後續追蹤輪詢。若是,則方法800可進行至855。否則,方法800可進行至步驟860。
在步驟855,可發送CS信號至被存取之記憶體。可暫時防止至被存取之記憶體的CS信號之完成。可允許奇數個時脈循環或非預期時脈週期被發送至記憶體的時脈匯流排中,或可插入奇數或非預期時脈循環至記憶體的時脈匯流排中。當奇數或非預期時脈循環對記憶體可見時,可抑制或延遲CS的完成(與所接收CS信號相比較)。之後,可完成發出至記憶體的CS信號。方法800可進行至步驟875。
在步驟860處,可判定命令是否需要在例如命令、運算元或目標位址中的精確數目個位元。若是,方法800可進行至步驟865。否則,方法800可進行至步驟870。
在步驟865,可發送CS信號至被存取之記憶體。可重設主控器。可由監測器插入額外或非預期的時脈循環至時脈信號匯流排中,同時防止或抑制從主控器完成CS信號。之後,可完成發出至記憶體的CS信號。方法800可進行至步驟875。
在步驟870,可發送CS信號至被存取之記憶體。主控器及記憶體可被重設,同時防止或抑制從主控器接收的CS信號的完成。可藉由使記憶體進入電源關閉及啓動循環來重設記憶體。可由監測器插入額外或非預期的時脈循環至時脈信號匯流排中,同時防止或抑制從主控器完成CS信號。之後,可完成發出至記憶體的CS信號。方法800可進行至步驟875。
在步驟875,可判定方法800是否將重複。該判定可基於組態設定、重設信號或輸入、或使用者輸入或任何其他合適的準則。若方法800待重複,則方法800可在例如步驟830重複。否則,在步驟880,方法800可終止。
回到圖1,監測器102可經組態以當諸如控制器110等元件嘗試存取目標快閃記憶體108時即時提供對目標快閃記憶體108的保護。此外,監測器102本身可受到各種安全性措施的保護。此外,監測器102可經組態以利用各種資源以提供對目標快閃記憶體108的即時保護。
在一實施例中,監測器程式碼116可儲存在記憶體104中。在啓動監測器102時,監測器程式碼116可載入至系統100的記憶體中並執行。在啓動時,監測器102可從記憶體104載入監測器程式碼116。監測器102可經組態以在載入監測器程式碼116之前檢查監測器程式碼116已正確簽署。若監測器程式碼116未正確簽署或否則失敗鑑別,則監測器102可經組態以從受信任程式碼映像112複製監測器程式碼。可依任何合適方式執行數位簽章及認證,諸如運用加密金鑰(諸如Rivest Shamir Adlemam(「RSA」)金鑰)、藉由共用祕密加密技術、或公用/私人金鑰對。此外,監測器102可經組態以當從目標快閃記憶體108讀取控制器程式碼128時,驗證系統100的其他元件,諸如UEFI BIOS 114及控制器程式碼128。認證可包括檢查數位簽章或比較元件的實質與儲存在受 信任程式碼映像112中的已知真值(true value)。若監測器102判定任何此類元件不真實,則監測器102可經組態以從受信任程式碼映像112複製元件。
在一實施例中,在執行時間,監測器102可經組態以篩選存取目標快閃記憶體108的所有嘗試。監測器102可經組態以基於記憶體上的位址或區域來強制執行對目標快閃記憶體108的保護。可由存取設定134來定義受保護記憶體之位址或區域的定義,以及保護記憶體之此類位址或區域的準則。存取設定134可儲存在任何合適的位置,諸如儲存在記憶體104中或儲存在受信任程式碼映像112內。存取設定134可被加密。
如上文所述,監測器102可經組態以在載入監測器程式碼116之前鑑別監測器程式碼,且可經組態以檢查其他內容。監測器102可經組態以比較此類元件與例如受信任程式碼映像112。監測器102可經組態以例如藉由逐位元或逐位元組、簽章或總和檢查碼比較元件之各者的內容與受信任程式碼映像112內之受信任版本的內容,來比較此等內容。待由監測器102檢查的目標快閃記憶體108之內容可係目標快閃記憶體108的可用內容或儲存之特定子集或位址範圍。可在存取設定134中定義特定子集或位址範圍。若目標快閃記憶體108的內容已損毀且不匹配預期內容,則監測器102可經組態以用受信任程式碼映像112還原此類內容。監測器102可經組態以對其他快閃記憶體(諸如記憶體104之部分或目標快閃記憶體108之其他例項)執行此類檢查。例如,監測器102可經組態以檢查UEFI BIOS 114的真實性,且若UEFI BIOS 114已損毀,則從受信任程式碼映像112還原UEFI BIOS 114。
在一實施例中,在監測器102的啓動期間,監測器102可經組態以藉由發出重設信號而使系統CPU 106及控制器110保持在重設模式。在另一實 施例中,在執行時間,監測器102可經組態以藉由系統CPU 106監測記憶體104的存取。類似於由監測器102強制執行控制器110對目標快閃記憶體108的嘗試存取,監測器102可經組態以評估待由系統CPU 106對記憶體104執行的命令是否經授權。監測器102可經組態以依任何適當方式執行校正操作,如上文所述者。
監測器102可經組態以根據任何合適的準則來評估由系統CPU 106對記憶體104的嘗試存取或由控制器110對目標快閃記憶體108的嘗試存取。例如,監測器102可經組態以針對可存取給定快閃記憶體的各實體定義可接受或不可接受的讀取、寫入、或其他存取區域。監測器102可經組態以評估嘗試抹除或寫入所謂的「已變更位元(dirty bit)」,其指示記憶體區域或快取區已被寫入或需要更新。監測器102可經組態以評估產生無效區塊大小的抹除大小錯誤、或會存取違規(諸如保護暫存器設定違規)、無效或超出範圍位址、或會引起逾時的嘗試。無論目標位址,可由監測器102取消大量抹除命令。
對於SPI匯流排(諸如控制器110與目標快閃記憶體108之間的SPI匯流排),可由監測器102防止大量抹除命令。可防止對超出界限或保護區域的寫入、讀取、或抹除。若目標快閃記憶體108的內容已損毀,則可由監測器102從受信任程式碼映像112還原內容。
若嘗試讀取目標快閃記憶體108的有效位址,則監測器102可經組態以進一步評估讀取命令。該進一步評估可包括比對可儲存例如在受信任程式碼映像112中的已知受信任內容來檢查目標快閃記憶體108的內容。可由監測器102擷取對目標快閃記憶體108執行的讀取命令及所得資料。監測器102可將讀取資料放置至移位暫存器、先進先出(FIFO)記憶體或監測器102的其他合適資 料結構中。讀取命令可被轉譯使得可對受信任程式碼映像112執行類似命令或操作。可對在另一記憶體(諸如記憶體104)中的受信任程式碼映像112執行讀取命令。監測器102可比較來自這些來源中之各者的資料。若資料不相同,則可重設對目標快閃記憶體108進行嘗試讀取的元件,諸如控制器110。可根據需要採取其他校正動作。
圖9A及圖9B繪示根據本揭露之實施例之檢查目標快閃記憶體108之內容的監測器102的實例性組態。監測器102可經組態以在任何合適的時間檢查目標快閃記憶體108的內容。在圖9A及圖9B中,控制器110可經組態以存取數個不同快閃記憶體,諸如快閃記憶體902及快閃記憶體904。在圖9A及圖9B的特定實例中,可不存取快閃記憶體904。可用例如多工器906或任何其他合適的開關、連接或選擇機構來選擇待讀取的特定快閃記憶體。快閃記憶體902可包括內容,例如控制器程式碼112。內容亦可儲存在受信任程式碼映像112中的記憶體104中。
在圖9A中,監測器102可在啓動時從快閃記憶體記憶體902讀取內容。監測器102可比較快閃記憶體902中的內容與來自受信任程式碼映像112的此類內容之受信任已知複本。可逐位元、逐位元組、或基於簽章或總和檢查碼執行比較。若快閃記憶體902的內容相同於受信任程式碼映像112中儲存者,則監測器102可鑑別快閃記憶體902的內容。否則,監測器102可採取校正動作,諸如用來自受信任程式碼映像112的受信任複本來取代快閃記憶體902中的內容。檢查記憶體可週期性、按來自使用者的需求或在任何其他合適的時間予以執行。
在圖9B中,監測器102可在由控制器110進行的嘗試讀取操作期間鑑別內容。控制器110可嘗試讀取儲存在快閃記憶體902中的內容。然而,惡意程式碼或其他惡意代理可已暗中引起讀取不同的快閃記憶體(諸如快閃記憶體906),而非快閃記憶體902。這可透過多種攻擊來執行,諸如藉由偽裝至多工器906的選擇信號以引起從快閃記憶體906讀取,而非快閃記憶體902。快閃記憶體906可包括在控制器110讀取之位址處的惡意程碼內容。監測器102看到嘗試從經指定以在快閃記憶體902中儲存內容的位址讀取時,可鑑別讀取異動。在讀取期間,監測器102可從記憶體104讀取受信任映像112,且比較該受信任映像與從快閃記憶體(監測器102認為係快閃記憶體902)讀取的資料。可逐位元、逐位元組、或基於簽章或總和檢查碼執行此比較。監測器102判定讀取操作的內容與受信任程式碼映像112的內容不相同時,可判定內容已受損或已損毀。監測器102可採取校正動作,諸如引發警示。圖9B中所示之惡意程式攻擊繪示監測器102持續即時監測從記憶體之指定區域讀取資料(而非僅在在啓動或開機時鑑別資料)的優勢。在第一次鑑別檢查之後可能會出現惡意程式碼攻擊。
圖10係根據本揭露之實施例之用於鑑別記憶體中儲存之內容之實例方法1000的繪示。方法1000可由任何合適的機構執行,諸如監測器102。方法1000的步驟可依任何合適的順序執行,且可在任何步驟處起始,諸如步驟1005。可重複、省略、或遞迴地執行方法1000的各種步驟。可平行或遞迴地執行方法1000的多個例項。方法1000可完全地或部分藉由類比電路系統、數位電路系統、組合邏輯、由指令或硬體描述語言所表現的電路系統、用於由處理器執行的指令、或其任何合適組合予以體現。指令可在非暫時性機器可讀取媒體 上。當由處理器載入及執行指令,可引起處理器執行系統100之各種部件(諸如監測器102)的功能。
在步驟1005,可讀取在記憶體中待檢查其真實性的內容。在步驟1010處,可判定內容是否真實。可藉由比較內容與儲存在別處儲存的內容的受信任複本來進行判定。可依例如逐位元、逐位元組、簽章或總和核對和比較來執行比較。若內容經鑑別,則方法1000可進行至步驟1020。若內容未經鑑別,則方法1000可進行至步驟1015。
在步驟1015處,可從受信任複本複製正確內容至儲存不真實內容的記憶體中。方法1000可進行至步驟1020。
在步驟1020處,可判定是否已嘗試從記憶體中的受保護位置讀取內容。若否,方法1000可進行至步驟1045。若是,方法1000可進行至步驟1025。
在步驟1025,可從記憶體中的受保護位置讀取內容。在步驟1030,可基於記憶體中的受保護位置讀取中的內容與在受信任映像中之內容的已知受信複本的比較,判定從記憶體讀取的內容是否真實。該比較可藉由任何合適的比較來執行,諸如逐位元、逐位元組、簽章或總和核對和比較。若內容經過鑑別,則方法1000可進行至步驟1035。若內容未經鑑別,則方法1000可進行至步驟1040。
在步驟1035,可允許存取讀取的內容。方法1000可進行至步驟1045。在步驟1040,任何適當的校正動作可係防止存取讀取的內容。例如,在判定讀取內容不真實時,可發送重設信號至嘗試存取內容的實體。可複製內容 的真實複本至記憶體中的被存取位置。可發出警示。方法1000可進行至步驟1045。
在步驟1045,可判定方法1000是否將重複。該判定可基於組態設定、重設信號或輸入、或使用者輸入或任何其他合適的準則。若方法1000待重複,則方法1000可在例如步驟1020重複。否則,在步驟1050,方法1000可終止。
本揭露的實施例可包括一設備。該設備包括一介面電路及通訊地耦接至該介面電路的一監測器電路。可藉由類比電路系統、數位電路系統或用於由處理器執行之指令的任何合適組合來實作該介面電路。可藉由類比電路系統、數位電路系統或用於由處理器執行之指令的任何合適組合來實作該監測器電路。該監測器電路經組態以識別透過該介面電路發出至通訊地耦接至該監測器電路的一記憶體的一命令。該命令可包括例如讀取、寫入、或抹除命令。該記憶體可包括快閃記憶體或任何其他合適的記憶體。該命令可源自任何合適的實體。該監測器電路進一步經組態以判定該命令是否經授權。該監測器電路可經組態以透過任何合適的準則來判定該命令是否經授權。該準則可基於該命令之本質(是否係讀取、寫入、或抹除),或該命令的一目的地或位址。不同位址或至給定位址的不同命令可藉由不同準則予以保護。該監測器電路經組態以判定該命令是否經授權。若該命令經授權,則該監測器電路經組態以允許該命令,且若該命令未經授權,則採取校正動作。該監測器電路可經組態以採取任何合適的校正動作,諸如取消該命令、發出重設至該記憶體或發出該命令的一實體、或引發一警示旗標或位元至一使用者或一系統。
與上述實施例之任何者組合,該監測器電路可經組態以:以介於發出該命令以存取該記憶體的一實體與該記憶體之間透通方式操作。該監測器電路攔截及評估該命令的該透通操作可對發出該命令的該實體透通。該監測器電路攔截及評估該命令的該透通操作可對該記憶體透通。該監測器電路可經組態以:以任何適當方式接收該命令,諸如藉由一菊鏈配置或藉由偵聽該實體與該記憶體之間的一匯流排。
與上述實施例之任何者組合,該監測器電路可進一步經組態以採取任何合適的動作來取消該命令。為了取消該命令,該監測器電路可經組態以:修改一所接收晶片選擇信號以產生一經修改晶片選擇信號;及發送該經修改晶片選擇信號至該記憶體。獨自地或與取消該命令之上述實例之任何者組合,為了取消該命令,該監測器電路可經組態以:在完成該經修改晶片選擇信號之前,新增或允許非預期數目個時脈脈衝至由該記憶體所使用的一時脈匯流排。獨自地或與取消該命令之上述實例之任何者組合,該非預期數目個時脈脈衝可係奇數個時脈脈衝或比該記憶體所預期更大數目個時脈脈衝。獨自地或與取消該命令之上述實例之任何者組合,為了取消該命令,該監測器電路可經組態以在新增該時脈脈衝至由該記憶體所使用的該時脈匯流排之前,重設該命令的一來源。獨自地或與取消該命令之上述實例之任何者組合,為了取消該命令,該監測器電路可經組態以在完成該經修改晶片選擇信號之前,重設該命令的一來源。獨自地或與取消該命令之上述實例之任何者組合,為了取消該命令,該監測器電路可經組態以在完成該所接收晶片選擇信號之後,完成該經修改晶片選擇信號。獨自地或與取消該命令之上述實例之任何者組合,為了取消該命令,該監測器電路可經組態以回應於該命令係一寫入命令或一抹除命令之 判定而完成該經修改晶片選擇信號。獨自地或與取消該命令之上述實例之任何者組合,為了取消該命令,該監測器電路可經組態以在接收來自該命令的一來源之一稍後晶片選擇信號之前,完成該經修改晶片選擇信號。獨自地或與取消該命令之上述實例之任何者組合,為了取消該命令,該監測器電路可經組態以基於該命令係一讀取命令之判定,在接收來自該命令的該來源之一稍後晶片選擇信號之前,完成該經修改晶片選擇信號。
與上述實施例之任何者組合,該監測器電路可進一步經組態以:識別發出至通訊地耦接至該監測器電路的一記憶體的一讀取命令;比較來自該記憶體的內容與一受信任複本,以判定來自該記憶體的該內容是否與該受信任複本相同;及基於來自該記憶體的該內容與該受信任複本不相同之判定,採取校正動作。
與上述實施例之任何者組合,該監測器電路可包括一處理器及一非暫時性機器可讀取媒體。該媒體可包括指令,該等指令在由該處理器載入及執行時,引起該監測器電路識別發出至通訊地耦接至該監測器電路的一記憶體的該命令;判定該命令是否經授權;及取消該命令。
本揭露之實施例可包括由上述實施例之監測器電路之任何者執行之方法。
已就一或多個實施例而論描述本揭露,且應理解,除了明確陳述者外,許多同等案、替代案、變化案及修改案係可行的且在本揭露之範疇內。雖然本揭露易受各種修改及替代形式,其特定實例實施例已顯示在圖式中且在本文中詳細描述。然而,應當理解,本文描述之具體實例性實施例非意欲將本揭露限制於本文所揭露的具體形式。
100:系統
101:介面
102:監測器/控制器
103:介面
104:基本輸入/輸出系統(「BIOS」)快閃記憶體/記憶體
106:系統中央處理單元(「CPU」)
108:目標快閃記憶體/快閃記憶體/控制器
110:控制器
112:受信任程式碼映像/控制器程式碼
114:整合可延伸韌體介面(「UEFI」)BIOS
116:監測器程式碼/監測器
120:處理器
122:記憶體
124:處理器
126:記憶體
128:控制器程式碼

Claims (17)

  1. 一種用於保護電子裝置之安全性之設備,其包含:一介面電路;及一監測器電路,其通訊地耦接至該介面電路,該監測器電路經組態以:識別透過該介面電路發出至通訊地耦接至該監測器電路的一記憶體的一命令;判定該命令是否經授權;及基於該命令未經授權之一判定而取消該命令,其中該監測器電路進一步經組態以:為了取消該命令:引起該監測器電路修改一所接收晶片選擇信號以產生一經修改晶片選擇信號;在完成該經修改晶片選擇信號之前,新增一時脈脈衝至由該記憶體所使用的一時脈匯流排;在新增該時脈脈衝至由該記憶體所使用的該時脈匯流排之前,重設該命令的一來源;及發送該經修改晶片選擇信號至該記憶體。
  2. 如請求項1之設備,其中該監測器電路進一步經組態以:為了取消該命令,在完成該經修改晶片選擇信號之前,重設該命令的一來源。
  3. 如請求項1之設備,其中該監測器電路進一步經組態以:為了取消該命令,在完成該所接收晶片選擇信號之後,完成該經修改晶片選擇信號。
  4. 如請求項1之設備,其中該監測器電路進一步經組態以:為了取消該命令,回應於該命令係一寫入命令或一抹除命令之一判定而完成該經修改晶片選擇信號。
  5. 如請求項1之設備,其中該監測器電路進一步經組態以:為了取消該命令,在接收來自該命令的一來源之一稍後晶片選擇信號之前,完成該經修改晶片選擇信號。
  6. 如請求項1之設備,其中該監測器電路進一步經組態以:為了取消該命令,基於該命令係一讀取命令之一判定,在接收來自該命令的該來源之一稍後晶片選擇信號之前,完成該經修改晶片選擇信號。
  7. 如請求項1之設備,其中該監測器電路進一步經組態以:識別發出至通訊地耦接至該監測器電路的一記憶體的一讀取命令;比較來自該記憶體的內容與一受信任複本,以判定來自該記憶體的該內容是否與該受信任複本相同;及基於來自該記憶體的該內容與該受信任複本不相同之一判定,採取校正動作。
  8. 如請求項1之設備,其中該監測器電路包括:一處理器;及一非暫時性機器可讀取媒體,該媒體包括指令,該等指令在由該處理器載入及執行時,引起該監測器電路:識別發出至通訊地耦接至該監測器電路的一記憶體的該命令;判定該命令是否經授權;及取消該命令。
  9. 一種用於保護電子裝置之安全性之方法,其包含: 識別透過該介面電路發出至通訊地耦接至該監測器電路的一記憶體的一命令;判定該命令是否經授權;及基於該命令未經授權之一判定而取消該命令,其中取消該命令包括:修改一所接收晶片選擇信號以產生一經修改晶片選擇信號;在完成該經修改晶片選擇信號之前,新增一時脈脈衝至由該記憶體所使用的一時脈匯流排;在新增該時脈脈衝至由該記憶體所使用的該時脈匯流排之前,重設該命令的一來源;及發送該經修改晶片選擇信號至該記憶體。
  10. 如請求項9之方法,其中取消該命令包括:在完成該經修改晶片選擇信號之前,重設該命令的一來源。
  11. 如請求項9之方法,其中取消該命令包括:在完成該所接收晶片選擇信號之後,完成該經修改晶片選擇信號。
  12. 如請求項9之方法,其中取消該命令包括:回應於該命令係一寫入命令或一抹除命令之一判定而完成該經修改晶片選擇信號。
  13. 如請求項9之方法,其中取消該命令包括:在接收來自該命令的一來源之一稍後晶片選擇信號之前,完成該經修改晶片選擇信號。
  14. 如請求項9之方法,其中取消該命令包括:基於該命令係一讀取命令之一判定,在接收來自該命令的該來源之一稍後晶片選擇信號之前,完成該經修改晶片選擇信號。
  15. 如請求項9之方法,其中該監測器電路進一步經組態以: 識別發出至通訊地耦接至該監測器電路的一記憶體的一讀取命令;比較來自該記憶體的內容與一受信任複本,以判定來自該記憶體的該內容是否與該受信任複本相同;及基於來自該記憶體的該內容與該受信任複本不相同之一判定,採取校正動作。
  16. 一種微控制器,其包含如請求項1-8中任一項之設備。
  17. 一種用於保護電子裝置之安全性之系統,其包括一微控制器、一記憶體、及如請求項1-8中任一項之設備。
TW107145282A 2017-12-15 2018-12-14 用於保護電子裝置之安全性之設備、方法及系統以及相關的微控制器 TWI801468B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762599288P 2017-12-15 2017-12-15
US62/599,288 2017-12-15
US16/218,773 US10877673B2 (en) 2017-12-15 2018-12-13 Transparently attached flash memory security
US16/218,773 2018-12-13

Publications (2)

Publication Number Publication Date
TW201928991A TW201928991A (zh) 2019-07-16
TWI801468B true TWI801468B (zh) 2023-05-11

Family

ID=66814400

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107145282A TWI801468B (zh) 2017-12-15 2018-12-14 用於保護電子裝置之安全性之設備、方法及系統以及相關的微控制器

Country Status (6)

Country Link
US (1) US10877673B2 (zh)
JP (1) JP2021507369A (zh)
CN (1) CN111226215B (zh)
DE (1) DE112018006401T5 (zh)
TW (1) TWI801468B (zh)
WO (1) WO2019118810A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10620855B2 (en) * 2016-09-06 2020-04-14 Samsung Electronics Co., Ltd. System and method for authenticating critical operations on solid-state drives
US11520940B2 (en) * 2020-06-21 2022-12-06 Nuvoton Technology Corporation Secured communication by monitoring bus transactions using selectively delayed clock signal
US11341081B1 (en) * 2021-03-10 2022-05-24 Texas Instruments Incorporated Propagation delay compensation for SPI interfaces
JP2024515238A (ja) * 2021-04-23 2024-04-08 グーグル エルエルシー セキュアなシリアルペリフェラルインターフェイス通信

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193182A1 (en) * 2004-02-12 2005-09-01 Anderson Laurence G. Method and apparatus for preventing un-authorized computer data access
US20080282017A1 (en) * 2007-05-09 2008-11-13 Microsoft Corporation Serial Peripheral Interface Switch
US20090235336A1 (en) * 2004-01-09 2009-09-17 Sony Corporation Data processing apparatus, program for use therewith, and method for use therewith
US20130305028A1 (en) * 2008-01-15 2013-11-14 Samsung Electronics Co., Ltd. Method and apparatus for authorizing host to access portable storage device
WO2017131671A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp Securing a memory device

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773110A (ja) * 1992-01-28 1995-03-17 Tokimec Inc データ記憶システム
US7836269B2 (en) * 2006-12-29 2010-11-16 Spansion Llc Systems and methods for access violation management of secured memory
US8370261B2 (en) * 2007-01-10 2013-02-05 Amnon Nissim System and a method for access management and billing
CN101055613A (zh) * 2007-05-25 2007-10-17 东南大学 一种芯片数据输出信号的保护方法及其电路
CN102541469B (zh) * 2011-12-13 2015-01-21 华为技术有限公司 固件存储系统中数据保护的方法、设备及系统
US8669607B1 (en) 2012-11-01 2014-03-11 Taiwan Semiconductor Manufacturing Company, Ltd. Methods and apparatus for non-volatile memory cells with increased programming efficiency
US9111401B2 (en) * 2012-11-29 2015-08-18 Hid Global Gmbh Interactive reader commander
US9690720B2 (en) * 2014-06-03 2017-06-27 Qualcomm Incorporated Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device
WO2016053267A1 (en) * 2014-09-30 2016-04-07 Hewlett-Packard Development Company, L.P. Cancellation requests
CN106295381B (zh) * 2015-05-19 2019-05-07 澜起科技股份有限公司 用于监控对内部存储器的数据访问的装置以及内部存储器
US10318193B2 (en) * 2015-09-14 2019-06-11 Sandisk Technologies Llc Systems and methods of command authorization
US9673208B2 (en) 2015-10-12 2017-06-06 Silicon Storage Technology, Inc. Method of forming memory array and logic devices
US9503922B1 (en) * 2015-10-16 2016-11-22 Sprint Communications Company L.P. Wireless network abstract maintenance command execution framework
US10606773B2 (en) * 2017-01-04 2020-03-31 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Systems and methods for low latency access of memory between computing devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235336A1 (en) * 2004-01-09 2009-09-17 Sony Corporation Data processing apparatus, program for use therewith, and method for use therewith
US20050193182A1 (en) * 2004-02-12 2005-09-01 Anderson Laurence G. Method and apparatus for preventing un-authorized computer data access
US20080282017A1 (en) * 2007-05-09 2008-11-13 Microsoft Corporation Serial Peripheral Interface Switch
US20130305028A1 (en) * 2008-01-15 2013-11-14 Samsung Electronics Co., Ltd. Method and apparatus for authorizing host to access portable storage device
WO2017131671A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp Securing a memory device

Also Published As

Publication number Publication date
CN111226215B (zh) 2024-03-08
TW201928991A (zh) 2019-07-16
WO2019118810A1 (en) 2019-06-20
US20210117109A1 (en) 2021-04-22
JP2021507369A (ja) 2021-02-22
DE112018006401T5 (de) 2020-08-27
US10877673B2 (en) 2020-12-29
CN111226215A (zh) 2020-06-02
US20190187922A1 (en) 2019-06-20

Similar Documents

Publication Publication Date Title
TWI801468B (zh) 用於保護電子裝置之安全性之設備、方法及系統以及相關的微控制器
JP4708414B2 (ja) ランタイム・セキュリティ保証用の自律型メモリ・チェッカ
CN103718165B (zh) Bios闪存攻击保护和通知
JP6433198B2 (ja) 安全なブートromパッチのためのシステム及び方法
US11455397B2 (en) Secure boot assist for devices, and related systems, methods and devices
KR20170095161A (ko) 시큐어 시스템 온 칩
US20080034350A1 (en) System and Method for Checking the Integrity of Computer Program Code
US10783250B2 (en) Secured master-mediated transactions between slave devices using bus monitoring
TW201535145A (zh) 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
US20070180269A1 (en) I/O address translation blocking in a secure system during power-on-reset
US11119769B2 (en) Enhanced protection of processors from a buffer overflow attack
US11556651B2 (en) Method for secure booting using route switchover function for boot memory bus and apparatus using the same
US20160092375A1 (en) Data access protection for computer systems
EP1843250B1 (en) System and method for checking the integrity of computer program code
KR20210154803A (ko) 다중 모드 보호 메모리
US11675587B2 (en) Enhanced protection of processors from a buffer overflow attack
US12001689B2 (en) Transparently attached flash memory security
TWI791244B (zh) 監控系統開機之安全裝置及其方法
EP3654183B1 (en) Information processing apparatus and method of controlling information processing apparatus
JP7287115B2 (ja) 集積回路及び集積回路の制御方法
CN118132000A (zh) 透明附接的闪存存储器安全性
US10242195B2 (en) Integrity values for beginning booting instructions