TW201944281A - 透過匯流排安全存取周邊裝置之裝置及方法 - Google Patents

透過匯流排安全存取周邊裝置之裝置及方法

Info

Publication number
TW201944281A
TW201944281A TW108108029A TW108108029A TW201944281A TW 201944281 A TW201944281 A TW 201944281A TW 108108029 A TW108108029 A TW 108108029A TW 108108029 A TW108108029 A TW 108108029A TW 201944281 A TW201944281 A TW 201944281A
Authority
TW
Taiwan
Prior art keywords
bus
data processing
data
processor
peripheral devices
Prior art date
Application number
TW108108029A
Other languages
English (en)
Other versions
TWI698769B (zh
Inventor
赫詩曼 日弗
亞隆 摩西
摩瑞 丹
塔納密 歐倫
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
Priority claimed from US15/955,715 external-priority patent/US10452582B2/en
Application filed by 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Publication of TW201944281A publication Critical patent/TW201944281A/zh
Application granted granted Critical
Publication of TWI698769B publication Critical patent/TWI698769B/zh

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本發明揭露一種包含介面與處理器的安全裝置。介面設置為用於連接到服務於一個或複數個周邊裝置的匯流排。匯流排係傳輸包含(i)一個或複數個專用訊號,分別專用於相應的一個或複數個周邊裝置,以及(ii)一個或複數個共享訊號,共享於匯流排所服務的一個或複數個周邊裝置之間。處理器連接到匯流排,並作為一個或複數個周邊裝置之外的附加設備,並且透過中斷與給定周邊裝置相關聯的專用訊號,藉此在匯流排上中斷匯流排主裝置試圖存取給定周邊裝置的數據處置(transaction)。

Description

透過匯流排安全存取周邊裝置之裝置及方法
相關申請案的交互參照
本申請案為在2016年3月21日提交的美國專利申請號15/075,219的部分延續申請案(Continuation-In-Part, CIP),其要求於2015年6月8日提交的美國臨時專利申請62/172,298,其公開內容通過引用併入本文。
本發明一般涉及電子系統安全,特別涉及用於保護對周邊裝置的存取的方法和系統。
電子系統使用各種匯流排介面以在主機裝置與周邊裝置間通信。例如匯流排介面包含內部集成電路間(Inter-Integrated-Circuit, I2 C)匯流排及串行外圍介面(SPI)匯流排。I2 C匯流排的相關內容,例如在“I2 C匯流排規範和用戶手冊”UM10204,NXP半導體,修訂版6,2014年4月4日,其通過引用併入本文。
此處描述的本發明的實施例提供了一種包含介面與處理器的安全裝置。介面設置為用於連接到服務於一個或複數個周邊裝置的匯流排。匯流排係傳輸包含(i)一個或複數個專用訊號,分別專用於相應的一個或複數個周邊裝置,以及(ii)一個或複數個共享訊號,共享於匯流排所服務的一個或複數個周邊裝置之間。處理器連接到匯流排,並且作為一個或複數個周邊裝置之外的附加設備,並且透過中斷與給定周邊裝置相關聯的專用訊號,藉此在匯流排上中斷匯流排主裝置試圖存取給定周邊裝置的數據處置。
在一些實施例中,處理器在中斷數據處置時係維持匯流排上的共享訊號不中斷。在一實施例中,介面包含:(i)用以從匯流排主裝置接收專用訊號的輸入部,以及(ii)用以輸出該專用訊號至給定周邊裝置的輸出部,且處理器係透過防止輸入接收的專用訊號被該輸出部發送,藉此中斷數據處置。在一些實施例中,處理器係設置為當專用訊號被中斷時,回應匯流排主裝置而不回應給定周邊裝置。在例示性實施例中,專用訊號包含晶片選擇訊號。
在揭露的實施例中,處理器係監視匯流排來檢測要中斷的數據處置。在一替代的實施例中,處理器係透過在匯流排外部的輔助介面與匯流排主裝置進行通訊來檢測要中斷的數據處置。
在一實施例中,處理器係設置為持續中斷該專用訊號,直到重置訊號出現。在另一實施例中,處理器係設置為在檢測到數據處置後的有限時間段內中斷專用訊號。在一實施例中,藉由中斷數據處置,處理器係設置為在一個或複數個周邊裝置處產生數據處置中止。在一些實施例中,處理器係設置為在數據處置中斷後恢復匯流排的正常操作。
依據本發明的實施例,還提供了一種包含介面跟處理器的安全裝置。介面用於連接到服務於一個或複數個周邊裝置的匯流排。處理器除了連接到一個或複數個周邊裝置外也連接到匯流排,並且透過回應於匯流排主裝置而不回應一個或複數個周邊裝置的方式,以中斷匯流排主裝置嘗試存取給定周邊裝置的數據處置。
在一實施例中,匯流排係傳輸包含(i)一個或複數個專用訊號,分別專用於相應的一個或複數個周邊裝置,以及(ii)一個或複數個共享訊號,共享於匯流排所服務的一個或複數個周邊裝置之間,其中處理器透過(i)中斷與給定周邊裝置相關的專用訊號,以及(ii)當專用訊號被中斷時回應該匯流排主裝置來中斷數據處置。
在一些實施例中,給定周邊裝置包含記憶體裝置,其中處理器係設置為在數據處置中識別來自匯流排主裝置的用以該記憶體裝置讀取數據的請求,以及以儲存於安全裝置的替代數據回應該請求。在例示性實施例中,處理器係設置為識別到匯流排主裝置請求存取記憶體裝置中的預定義地址區時,中斷數據處置並以替代數據回應。
在另一實施例中,處理器係設置為基於從給定周邊裝置在數據處置中回傳給匯流排主裝置的數據,以識別匯流排主裝置嘗試存取給定周邊裝置的數據處置。在又另一實施例中,處理器係設置為基於數據處置中使用的指令代碼來識別匯流排主裝置嘗試存取給定周邊裝置的數據處置。
根據本發明的實施例,還提供了一種透過匯流排安全存取周邊裝置之方法,包含使用安全裝置經由匯流排進行進行通訊,其中安全裝置係連接到匯流排,且作為一個或複數個周邊裝置之外的附加設備,其中匯流排上係傳輸包含(i)一個或複數個專用訊號,分別專用於相應的一個或複數個周邊裝置,以及(ii)一個或複數個共享訊號,共享於匯流排所服務的一個或複數個周邊裝置之間;使用該安全設備,藉由中斷與給定周邊裝置相關聯的專用訊號,藉此以在匯流排上中斷匯流排主裝置試圖存取給定周邊裝置的數據處置。
根據本發明的實施例,還提供了一種透過匯流排安全存取周邊裝置之方法,使用安全裝置經由匯流排進行通訊,安全裝置連接到匯流排,且作為一個或複數個周邊裝置之外的附加設備;以及使用安全裝置透過回應匯流排主裝置而不回應給定周邊裝置的方式,以在匯流排上中斷匯流排主裝置試圖存取給定周邊裝置的數據處置。
在另一實施例中,提供了一種裝置包含介面跟處理器。介面係設置為透過匯流排通信,處理器係設置為在匯流排主裝置未通過授權要存取周邊裝置時,強制地並行寫入一個或多個虛擬值至匯流排的至少一條線上以中斷至少一部分數據處置。
在一個實施例中,處理器係設置為強制寫入虛擬值至匯流排上的數據線以阻斷其透過數據線接收或傳送周邊裝置的分別數據值。附加地或替代地,處理器係設置為強制寫入虛擬值至匯流排上的時脈線,以中斷數據處置所使用的時脈訊號。進一步附加地或替代地,處理器係設置為強制寫入虛擬值至匯流排上的晶片選擇線,以中斷匯流排主裝置選擇周邊裝置。
在一些實施例中,匯流排包含一個具有預設邏輯值的集極開路匯流排或汲極開路匯流排,且處理器係設置為強制寫入與預設邏輯值相反的虛擬值至匯流排上的至少一線。
在一些實施例中,透過強制寫入虛擬值,處理器係設置為覆寫匯流排主裝置或周邊裝置上被寫入的至少一線的對應值。在一個舉例的實施例中的,處理器係設置為透過驅動驅動強度大於匯流排主裝置或周邊裝置的至少一線來覆寫匯流排主裝置或周邊裝置上被寫入的至少一線的對應值。在另一個實施例中,裝置包含至少一電阻,其係設置於至少一線上,電阻係設置用以將被寫入至匯流排主裝置或周邊裝置的值減弱至較處理器所寫入之虛擬值弱。
在一些實施例中,處理器係設置為僅透過被用於在匯流排主裝置與周邊裝置之間通信的匯流排的現有的一線上強制寫入虛擬值。在一些實施例中,處理器係設置為透過監視匯流排來檢測要中斷的數據處置。在一個實施例中,處理器係設置為透過在匯流排主裝置外部的輔助介面上與匯流排主裝置通信來檢測要中斷的數據處置。
在一個公開的實施例中,處理器係設置為無限制的強制寫入虛擬值直到此裝置被重置。在另一個實施例中,處理器係設置為在偵測到數據處置時,在有限時間內強制寫入虛擬值。在一個實施例中,處理器係設置為在數據處置被中斷後,適度地回復匯流排的正常操作。
根據本發明的實施例,還提供了一種包含周邊裝置和安全裝置的系統。周邊裝置可以透過匯流排存取一個或多個匯流排主裝置。此安全裝置係透過當匯流排主裝置未通過授權要存取周邊裝置時,強制地並行寫入一個或多個虛擬值至匯流排的至少一條線上以中斷至少一部分數據處置。
依據實施例,本發明還提供了一種方法,包含使用耦合到匯流排的安全裝置,決定是否中斷匯流排主裝置未經授權嘗試存取周邊裝置的數據處置,並透過強制地並行寫入一個或多個虛擬值至匯流排的至少一條線上以中斷至少一部分數據處置。
從下面結合附圖對其實施例的詳細描述中,將更全面地理解本發明:
概述
本發明之實施例為敘述改進的方法與裝置如何透過匯流排介面保護對周邊裝置的存取。周邊裝置可包含加密引擎、儲存敏感數據的儲存裝置、或任何可通過匯流排存取的裝置。
在一些被揭露的實施例中,安全裝置監視匯流排上的數據處置,並且在主機裝置或其他匯流排主裝置試圖存取周邊裝置卻未經授權時將其識別出。數據處置可透過各種合適的標準或政策被分類為經授權或未經授權。
當識別出未經授權的數據處置時,安全裝置平行的透過在匯流排上的一條或多條線上強制寫入數據或訊號至某個虛擬值以將其中斷。強制寫入虛擬值可被執行在如:時脈訊號、數據訊號及/或晶片選擇(Chip-Select)訊號。
強制寫入虛擬值適用於中斷匯流排上的訊號,例如對於有汲極開路或集極開路的匯流排,例如I2 C匯流排或推挽式的匯流排,例如SPI匯流排。與匯流排上的數據處置並行地強制寫入虛擬值使與周邊裝置的通信中斷,且/或中斷各自的時脈訊號。
本文描述了用於中斷I2 C和SPI匯流排上的未授權數據處置的幾種技術範例,還描述了用於在中斷之後恢復正常操作的技術。在一些實施例中,安全裝置可以中斷​​數據處置,但不須先在匯流排上偵測到此數據處置,或者甚至根本不監視匯流排。例如,安全裝置可以強行輸入某個主機的芯片選擇(CS)線上的虛擬值,直到或者除非該主機被授權。
在一些實施例中,例如,在SPI中,由安全裝置保護的匯流排係傳輸包含(i)一個或多個專用訊號,每個專用訊號專用於相應的周邊裝置,以及(ii)在匯流排所服務的周邊裝置之間共享的一個或多個共享訊號。共享訊號的例子是數據和時脈訊號。專用訊號的例子是CS訊號。在一些實施例中,安全裝置係透過中斷與受保護的周邊裝置相關聯的專用訊號來中斷數據處置,同時維持匯流排上的共享訊號不中斷。應注意的是,並非所有匯流排都有專用訊號。例如,在I2 C匯流排中,所有訊號都是共享訊號。
在其他實施例中,安全裝置係透過回應未授權主機而不回應受保護周邊裝置的方式來中斷數據處置。在例示性實施例中,周邊裝置包含快閃記憶體,快閃記憶體包含被分配為用於存儲諸如密鑰、設置數據及/或啟動代碼之類的敏感數據的一個或多個地址區。藉由選擇性地驅動快閃記憶體的CS訊號,安全裝置能夠驅動對快閃記憶體處的數據的存取。相反,安全裝置使用儲存在安全裝置內部的數據來回應主機。這裡描述了這種安全啟動過程。
此處揭露的技術在事務級(transaction-by-transaction level)上提供即時的安全選擇性存取至周邊裝置。在本文所描述的大多數技術中,僅使用匯流排的現有訊號來執行數據處置的識別和中斷。因此,所揭露的技術不需要額外的引腳或互連,從而減小了整個系統尺寸和成本。
透過I2 C匯流排對周邊裝置安全存取數據。
第1圖係為本發明實施例中安全系統20的方塊示意圖。在本發明的實施例中,系統20包含主機裝置24及周邊裝置28,且皆連接至I2 C匯流排32。為了簡潔起見,主機裝置24和周邊裝置28在這裡也被稱為主機和周邊,主機裝置24亦可為匯流排主裝置。
安全裝置36透過監視I2 C匯流排32上的數據交易保護對周邊裝置28的數據存取,並避免主機裝置24或其他具有匯流排主裝置能力的裝置嘗試未經授權的存取周邊裝置28。安全裝置36有時也被稱為控制裝置或信任平台模組(TPM)。在本發明的實施例中,安全裝置36包含介面40,其用於連結至I2 C匯流排32;處理器44,其係設置為執行本發明的技術;及記憶體48,其係設置為用於儲存一個或多個由處理器44所實行的安全政策。
處理器44可依據任何預先定義或是設定政策來將數據處置分類為未經授權的。通常未經授權的數據處置可以嘗試覆寫周邊裝置28的數據、讀取周邊裝置28的數據、設置或發送命令至周邊裝置28,或是以其他合適之方式存取周邊裝置28。由安全裝置36所實施的政策可包含肯定政策(如:白名單)、否定政策(如:黑名單)、取決於裝置地址或暫存器偏移(register offset)的政策、或其他任何形式的政策。
例如,安全裝置36可以要求主機在經授權存取周邊裝置28之前,對主機裝置24的身分進行認證,由未經授權的主機所嘗試的數據處置可被視為未授權。認證可以透過如在主機與安全裝置間進行問題詢答程序(challenge-response process)來執行。另外地或可選擇地,可以要求主機以其他的某種合適方式證明其身分,或成功的完成安全開機程序。
此外,附加的或替代的,有些類型的數據處置(如:讀取數據處置)可被視為被授權的,而其他類型的數據處置(如:寫入數據處置)可被視為未經授權的。在又另一個實施例中,對被選定的周邊裝置的地址存取可被視為被授權的,而存取其他地址則可被視為未經授權的。做為另一個實施例,匯流排上的位元序列(bit sequences)可以被顯示為未授權數據處置。
通常處理器44可透過任何合適的方法分辨數據處置是否經授權。記憶體48儲存了一個或多個政策以分辨數據處置是否經授權。
I2 C匯流排32包含帶有串列數據(SDA)訊號的串列數據線及帶有串列時脈訊號(SCL)的串列時脈線。術語"線"與"訊號"在本文中可被交互使用。透過監視SDA線及SCL線,處理器44得以監視I2 C匯流排32上的所有數據處置,並辨識出未經授權的數據處置。
在識別出未經授權數據處置後,處理器44透過強行寫入一個或多個虛擬值至I2 C匯流排32上的SDA線及/或SCL線以中斷數據處置。此機制由於I2 C匯流排具有汲極開路/集極開路結構而可能實現。通常SDA線與SCL線都使用上拉電阻而被預設上拉至邏輯"1"的狀態。任何裝置皆可隨時在SDA線或SCL線上寫入邏輯"0"值,而不管其他裝置可能同時寫入的值。
因此,在一些實施例中,當識別出未經授權的數據處置時,安全裝置36中的處理器44會透過介面40在I2 C匯流排32的SDA線或SCL線上強行輸入邏輯值"0"(預設邏輯值"1"的相反值)。在本文中"0"值被視為虛擬值。在SDA線上強制寫入的"0"值將改寫任何同時由主機裝置24送至周邊裝置28的值或主機裝置24從周邊裝置28讀取的值,或預設的邏輯值"1"。強制寫入"0"值在SCL線上將使時脈訊號停止,在上述任一情況之下,數據處置將被中斷。
在一些實施例中,處理器44將持續強制寫入"0"值,直到裝置被重置。在其他實施例中,處理器44允許從中斷中適度回復,即允許主機裝置24和周邊裝置28從中斷中回復數據處置,並回復正常運作。一些主機及/或周邊裝置無法從計時器暫停中回復。因此,若之後需要對簡單主機及周邊裝置適度回復時,則較佳的是在SDA線上強行寫入虛擬值而非在SCL線上。
在一個實施例中,為了在中斷數據處置後恢復正常運作,處理器44會在匯流排上生成I2 C停止或I2 C重新啟動條件。在本文中,I2 C停止或I2 C重新啟動條件可包含任何匯流排訊號值序列,其可指示該裝置匯流排處於閒置狀態且可以開始數據處置。
處理器44可使用各種技術允許數據處置被中斷後進行適度回復。在一個實施例中,處理器44在預定時間長度內持續強制寫入"0"值,其被視為足以中斷未經授權的數據處置。任何預定時間長度皆可被使用。例如,SM匯流排定義之暫停時間長度為25mS。因此,在SM匯流排於I2 C的應用中,將預定義的持續時間設置為至少25mS是有意義的,以便觸發暫停。
在另一個實施例中,處理器44在預定時間內持續在SDA線上強制寫入“0”值,直到檢測到SCL線為邏輯高值(即非擾動(not toggling))。此條件可以指示主機中止或捨棄數據處置。處理器44可以接著釋放SDA線,並且可能產生I2 C停止條件。
在又另一個實施例中,對於中斷從周邊裝置讀取的數據處置有用的是,將安全裝置36設置為具有跟周邊裝置28同樣地址的I2 C從裝置。安全裝置36中的處理器44使用"0"數據值來回應任何未經授權的讀取要求。周邊裝置28同樣會並行回應這些讀取要求至處理器44,但其數據值會被安全裝置36所傳的"0"值覆寫。此過程會持續至主機中止數據處置,例如透過停止條件。須注意,依據I2 C規範,I2 C從裝置在發送數據時並不會驅動ACK/NEGACK位元。
在另一個實施例中,同時對於中斷讀及寫的數據處置有用的是由處理器44在SDA線上強制寫入"0"值。接著,若主機裝置24不識別此中斷,則此數據處置透過匯流排上的"0"數據正常中止,而非從周邊裝置28發送的數據。若主機裝置24偵測到此中斷(例如,其支持I2 C多主機仲裁(multi-master arbitration))並捨棄數據處置,則處理器44則可接管主機裝置24捨棄的數據處置,通常透過在SCL線上生成額外的時脈週期。處理器44可以接著完成正在被傳送的當前字節,並透過發出停止條件來中止此數據處置。
上面描述的中斷和回復技術僅通過實施例來描述。在一個替代的實施例中,安全裝置36的處理器44可以透過任何其他技術來中斷數據處置及/或從中斷中進行回復。
在上述實施例中,僅使用匯流排的現有線路來實現對未經授權數據處置的檢測、中斷及中斷後的回復。在一個替代的實施例中,安全裝置36和主機裝置24也通過在匯流排32外部的一些輔助介面連接。例如,當安全裝置36和主機裝置24集成在同一集成電路(IC)中並且共享IC的SDA和SCL引腳時,這種機制是可行的。
在這些實施例中,安全裝置36和主機裝置24使用輔助介面來驗證沒有其他主機裝置存取周邊裝置28。在一個示範的實施例中,當主機裝置24存取周邊裝置28時,主機裝置24透過輔助介面通知安全裝置36。為回應該通知,處理器44不強制寫入虛擬值"0"至匯流排,並允許數據處置實行。在檢測到存取周邊裝置28但未在輔助介面上報告的數據處置時,處理器44會假定該數據處置由一些未經授權的主機發出,並且通過強制寫入“0”值來中斷它。
第2圖為本發明實施例透過I2 C匯流排32保護對周邊裝置28的存取的方法的流程圖。此方法在監視步驟50時啟動,安全裝置36上的處理器44透過介面40監視I2 C匯流排32上的數據處置。
在數據處置檢測步驟54時,處理器44識別出主機裝置24試圖存取周邊裝置28的數據據處置。在檢查步驟58時,處理器44檢查數據處置是否經過授權。例如,處理器44可以檢查此數據處置是否違反儲存於記憶體48的安全政策。
若此數據處置被授權,則在准許步驟62,處理器44將允許數據處置正常進行否則,若檢測出此數據處置未經授權,則在中斷步驟66時處理器44會透過強制寫入虛擬值"0"至I2 C匯流排32的SCL及/或SDA線以中斷此數據處置。
透過SPI匯流排安全存取周邊裝置。
第3圖為本發明的一個替代的實施例中,安全系統70的方塊示意圖。如第3圖所示,系統70包含主機裝置74、周邊裝置78以及安全裝置86,均連結至SPI匯流排82。
在主機裝置74未經授權的嘗試存取周邊裝置78時,安全裝置86會識別並中斷此數據處置。在本發明的實施例中,安全裝置86包含介面90,其連接於SPI匯流排82;處理器94,其係設置為執行本發明的技術;記憶體98,其係設置為儲存一個或多個由處理器94所實行的安全政策。
用於區分授權和未經授權之數據處置的安全政策,以及安全裝置86的處理器94識別未經授權的數據處置的方式,基本上與上述系統20所描述的相似。後述技術與上述技術之不同點在於,安全裝置86在匯流排82上強制寫入虛擬值以中斷未經授權的數據處置。
SPI匯流排82包含時脈(CLK)線、及被稱為主輸出從輸入線(MOSI)和主輸入從輸出線(MISO)的兩條數據傳輸線。CLK,MISO和MOSI線對於所有裝置(在本實施例中為主機裝置74、78和86)是共用的。此外,每個從裝置可透過專用的晶片選擇線來選擇。在本實施例中,主機裝置74使用標記為CS2#的CS線來選擇周邊裝置78,並且使用標記為CS1#的CS線來選擇安全裝置86。
作為主控裝置的主機裝置74係連接到所有CS線。另一方面,由於周邊裝置78是從屬裝置,因此每個周邊裝置78僅連接到其自己的CS線。通常,主機裝置74通過使用相應的CS線選擇期望的周邊裝置78來啟動數據處置,然後使用CLK、MOSI和MISO線與裝置通信。MOSI線用於從主機裝置74向周邊裝置78發送訊號,MISO線則用於從周邊裝置78發送訊號至主機裝置74。
安全裝置86與常規SIP從裝置不同,其被定義為從裝置但能驅動所有CS線。如第3圖所示,安全裝置86的介面90係設置為與主機裝置74並行地驅動CS2#線。當系統70包含多個具有相對應CS線之周邊裝置78時,安全裝置86通常設置為平行地驅動任何連結至主機裝置74的CS線。
在一些實施例中,系統70被設計為當主機裝置74與安全裝置86以相反邏輯值驅動CS線時,安全裝置86所驅動的邏輯值將覆寫主機裝置74所驅動的邏輯值。也可以說,當主機裝置74與安全裝置86在CS線上驅動相反的邏輯值時,周邊裝置78會收到並執行由安全裝置86所驅動的邏輯值。
覆蓋CS線是阻止匯流排上的數據處置以中斷主機和周邊裝置78之間的未經授權數據處置的另一種範例。上述覆蓋機制可透過各種方式實現。下面的描述涉及用於選擇周邊裝置78的CS2#線,但當使用多個周邊裝置78及多個相對應的CS線時,應使用同樣的機制。
在一個實施例中,安全裝置86透過介面90驅動CS2#線的線驅動器比主機裝置74驅動CS2#線的線驅動器要強。在一個替代的實施例中,串聯電阻100可以在主機裝置74的輸出處插入CS2#線中。相對於安全裝置86對CS2#的線驅動器的輸出部,串聯電阻100係減弱主機裝置74對CS2#的線驅動器的輸出。另外,安全裝置86可以設置為以其他任何合適的方式覆蓋主機裝置74驅動CS2#線的訊號。
安全裝置86的處理器94可以透過監視SPI匯流排82的CS#線、CLK、MISO及/或MOSI線,並以任何合適的方式識別未經授權的數據處置。在一些實施例中,在標識主機裝置74未授權地嘗試存取某個周邊裝置78的數據處置時,安全裝置86的處理器94透過使周邊裝置78的CS線失效來中斷數據處置。由於安全裝置86係設置為在覆寫主機裝置74對CS2#線的驅動,所以周邊裝置78將被取消選擇,且數據處置中斷。另一方面,當確定數據處置以被授權時,處理器94將停止自己的CS2#驅動器,從而使主機不被中斷的存取周邊裝置78。
第4圖為本發明另一個實施例中安全系統110之方塊示意圖。系統110同樣基於SPI匯流排82,與第3圖的系統70相似。然而,在系統110中,安全裝置86透過在CLK線、MISO線及/或MOSI線上強制寫入虛擬值來破壞未經授權的數據處置,而不是覆寫CS線。
在本實施例中,系統110係設置為在安全裝置86驅動CLK線、MISO線及/或MOSI線時優先於主機裝置74。如圖所示,為達成此目的,將串聯電阻100插入CLK線、MISO線及MOSI線。由於本實施例中的CS2#線並不被覆寫,所以沒有在CS2#線插入串聯電阻100。
在一個替代的實施例中,可以透過使安全裝置86中對CLK線、MISO線及/或MOSI線的對應線驅動器更強,來實現覆寫機制。
在其他實施例中,同時使用覆寫CS線(如第3圖所示)及覆寫CLK線、MISO線及/或MOSI線(如第4圖所示)的混合方案也是可行的。
藉由覆蓋專用的點對點訊號來保護對周邊裝置的存取
匯流排(例如SPI)的訊號可以分為共享訊號和專用訊號。共享訊號是與匯流排上的複數個(例如,所有)周邊裝置並聯連接的訊號。共享SPI訊號的例子是數據(MOSI和MISO)和時脈(CLK)訊號。專用訊號是專用於特定的周邊裝置的訊號。作為匯流排一部分的專用訊號的一個例子是晶片選擇(Chip-Select)訊號。另外,匯流排可以用帶外(out-of-band)專用訊號增強,例如寫入保護訊號(Write Protect signal)(當周邊裝置包含儲存設備時)。專用訊號也可以稱為點對點(point to point, PTP)線。
在一些實施例中,一個或多個專用訊號在到達周邊裝置之前通過安全裝置86。相反的,共享訊號通常路由到周邊裝置,並且不通過安全裝置。這種互連方案使得安全裝置能夠有效地保護周邊裝置,詳如下述。
第5圖是示意性地示出根據本發明的替代實施例的安全系統130的方塊圖。此系統類似於第3圖的系統70。然而,在本實施例中,CS2#訊號不直接驅動周邊裝置78的輸入部。相反的,來自主機裝置74的CS2#線被輸入到安全裝置86,並且安全裝置86又驅動表示為CS2_O#的訊號,其連接到周邊裝置78的輸入部。
在本實施例中,CS2#訊號用作專用PTP訊號的例子,其在途中通過安全裝置路由到被保護的周邊裝置。從圖中可以看出,共享訊號(MOSI、MISO和CLK)在主機裝置74和周邊裝置78之間是不間斷的。
安全裝置86係設置為通過選擇性地使CS2#訊號到達周邊裝置或者防止CS2#訊號到達周邊裝置來中斷主機裝置74和周邊裝置78之間的數據處置。在第5圖的例子中,通過對表示為MASK_CS2#的控制訊號斷言或取消斷言來執行選擇。
第6圖是根據本發明實施例的第5圖中描述的系統130的安全裝置86的方塊圖。在本例子中,安全裝置86包含用於連接到SPI匯流排82的介面90,設置為執行所公開的技術的處理器94,以及設置為儲存由處理器94強制執行的一個或多個安全策略的記憶體98。處理器94包含從介面邏輯電路(slave interface logic)91和介面監視邏輯電路(interface monitor logic, IML)92。從介面邏輯電路91處理安全裝置86和主機裝置74之間的通信。介面監視邏輯電路92監視、控制並選擇性地覆蓋主機裝置74對周邊裝置78的存取。
在一個實施例中,安全裝置86識別並中斷主機裝置74在未經授權的情況下嘗試存取SPI匯流排82上的周邊裝置78的數據處置。從第5圖和第6圖可以理解,第3圖中描述的系統中可能的任何安全特徵,也可以實現在第5圖的系統中。
在上述實施例中,安全裝置連接到匯流排,並設置為附加從設備。然而,在其他實施例中,安全裝置可以連接並設置為主裝置。例如,這種實現適用於支持多主機(multi-master)能力的匯流排協議。
藉由代表周邊裝置回應的安全裝置以對於未經授權的數據處置進行保護
在另一個實施例中,安全裝置86代表周邊裝置78回應所選擇的主機數據處置。以下描述主要涉及第5圖和第6圖的設置,其單純作為舉例。通常,所揭露的技術不限於該特定系統設置,並且可以使用任何其他設置來應用,例如,上面的第3圖或第4圖的設置。
在涉及第5圖和第6圖的設置的例示性實施例中,當從周邊裝置78的地址空間內的某個地址區域檢測到讀取命令時,介面監視邏輯電路92可以強制設定CS2_O#為“高”並從安全裝置的記憶體98內部提供主機讀取命令(或讀取命令的一部分)。主機裝置74通常無從得知回應不是源自周邊裝置。在一些實施例中,該場景也適用於第4圖的系統110,例如當安全裝置覆蓋MISO訊號時。
這種機制的一個使用例是一種系統,其中周邊裝置78包含SPI快閃記憶體裝置,並且安全裝置86係設置為覆蓋部分快閃記憶體地址空間,並且以這種方式為地址區域提供安全的快閃記憶體仿真(emulation)。例如,安全裝置86可以包含TPM,其使用介面監視邏輯電路92來覆蓋包含初始主機啟動代碼的快閃記憶體地址區域(在啟動時由主機提取的第一啟動命令)。TPM可以使用自包含的經過身份驗證的初始啟動代碼覆蓋此快閃記憶體地址區域,例如,在跳轉到代碼之前對其餘代碼進行驗證。
在一些實施例中,安全裝置86還包含到SPI快閃記憶體裝置的主介面。另外,安全裝置86可以包含合適的介面和電路,以在存取SPI快閃記憶體裝置時維持主機裝置74復位,其通常作為系統啟動過程的一部分。安全裝置86可以是例如嵌入式控制器(EC),super I/O(SIO)或基板管理控制器(BMC)裝置。
第7圖是示意性地示出根據本發明的實施例的這種安全啟動過程的例子的流程圖。該方法從啟動開始,即斷言系統功率。在維持復位步驟102中,安全裝置86將主機裝置74維持在復位狀態並且可選地從SPI快閃記憶體(周邊裝置78)啟動。在(可選的)初始讀取步驟104中,安全裝置86從SPI快閃記憶體讀取數據塊,驗證數據塊的認證並將其儲存在記憶體98中。
在覆蓋步驟108中,安全裝置86設置介面監視邏輯電路92以覆蓋對SPI快閃記憶體中的至少一個預定義地址區的存取(在本例子中為周邊裝置78)。所討論的地址區可以包含例如一個或多個密鑰、設置數據及/或主機裝置74的初始啟動塊。
在復位釋放步驟112中,安全裝置86從復位釋放主機。因此,在啟動步驟116中,主機裝置74開始其啟動過程。作為啟動過程的一部分,在區域存取子步驟120中,安全裝置86從內部記憶體98服務對預定義地址區的存取。
以這種方式,可以從安全裝置安全地提供諸如密鑰、設置數據及/或初始啟動代碼之類的敏感資訊。主機裝置74無從得知該資訊是從安全裝置而不是從SPI快閃記憶體提供的。
第7圖的方法係繪示安全裝置如何能夠覆蓋對周邊裝置的預定義地址區的存取的例子。在替代實施例中,任何其他合適的方法可用於此目的。作為SPI快閃記憶體裝置偽裝的替代方案,安全裝置可以藉由覆蓋及/或中斷任何其他合適的未授權數據處置來保護快閃記憶體裝置(或其他周邊裝置)。
此外,未授權數據處置的覆蓋不限於保護特定的預定義地址區域。例如,可以基於來自受保護外部設備的回傳數據或SPI的命令代碼來觸發覆蓋。例如,安全裝置可以實施安全策略,其對快閃記憶體裝置禁用程序、抹除、寫入啟用、狀態/設置及/或任何其他指令或功能。有關SPI快閃記憶體命令和指令的規範例由Winbond Electronics Corporation在“SPI快閃記憶體-具有雙/四SPI和QPI的3V串聯快閃記憶體(SPI Flash – 3V Serial Flash Memory with Dual/Quad SPI and QPI)”中指定,發表於2015年8月24日。
作為另一例子,在第7圖的方法中,敏感資訊始終存在於快閃記憶體裝置中,並且作為啟動過程的一部分由安全裝置讀取。在替代實施例中,敏感資訊可以最初儲存在安全裝置(除了快閃記憶體之外或不儲存在快閃記憶體)中。在這樣的實施例中,不需要將該資訊從快閃記憶體裝置讀取到安全裝置。
在又一例子中,參考SPI匯流排描述第7圖的方法。在替代實施例中,安全裝置可以使用任何專用訊號(如果有的話)及/或匯流排的共享訊號來覆蓋其他匯流排和協議中的對周邊裝置的預定義地址區的存取。例如,I2 C匯流排是一種上拉雙向匯流排(pull-up bidirectional bus),旨在支援多個從裝置和多個主裝置。因此,該協議具有嵌入式機制來處理設備之間的爭用(contention)。例如,當I2 C設備在嘗試設置'1'(上拉)時在SDA線上檢測到“0”,裝置假定其為爭用中並釋放匯流排直到下一次數據處置。在一個實施例中,I2 C安全裝置(例如,第1圖的安全裝置36) 係設置為重疊(overlap)另一個外圍從設備(例如,第1圖的周邊裝置28)的一些地址空間。安全裝置可以,例如,設置為回應與其他周邊裝置相同的數據。如果安全裝置檢測到數據不匹配(例如,嘗試上拉'1'但在SDA線上偵測到'0'),則安全裝置可以發起回應動作(例如,產生停止條件,在一條或多條數據線上驅動'0',設置無限時脈拉伸(endless clock stretching),或任何其他合適的動作)。該技術可以利用傳統的I2 C從設備(物理層中沒有硬體改變)來監視設備到數據等級(data level)。
在又一個實施例中,安全裝置86(使用介面監視邏輯電路92)還監視SPI地址的數據階段(data phase)。在識別出數據不匹配時,安全裝置可以啟動回應動作,例如,通過中斷數據處置、重置系統、鎖定對密鑰的存取或任何其他合適的動作。
在例示性情境中,安全裝置86保存儲存在SPI快閃記憶體中的特定代碼段的簽名或摘要。安全裝置在計算簽名或背景中此代碼部分的快取值時監視主機裝置74對SPI快閃記憶體的存取。如果檢測到錯誤的簽名、快取值或SPI獲取序列,則安全裝置86可以發起適當的回應動作。
在又一個實施例中,安全裝置可以監視匯流排82上的多於一個的周邊裝置78,並且例如驗證對不同設備的存取順序是否如預期。
在又一個實施例中,安全裝置86使用一個或多個訊號(除CS之外)來限制對周邊裝置78的存取,或在檢測到與周邊裝置78的授權數據處置時強制執行某個系統狀態。這種訊號的非限制性例子包含:
如第4圖的系統說明的任何訊號。
快閃記憶體中的寫入保護訊號。
控制復位訊號。
控制電源管理訊號。
控制電源至一個或多個裝置。
停止系統通信(例如,停止網路介面控制器)。
系統復位。
在第1圖及第3圖至第6圖所示之系統20、70、110及130的配置,以及各種系統元件諸如安全裝置36、86及匯流排32、82皆為為了清楚描述而繪製的示意圖在一個替代的實施例中,可以使用任何其他合適的配置。
例如,為了清楚起見,附圖僅示出單個周邊裝置和單個主機裝置。在一些實施例中,系統可以包含兩個或更多個周邊裝置及/或兩個或更多個主機裝置。此處描述之實施例參考使用I2 C及SPI匯流排的範例。在一個替代的實施例中,被揭露的技術可經過必要的修改而使用於其他適合的種類的匯流排。
系統20、70、110及130的不同元件可以使用任何合適的硬體來執行,如特殊應用積體電路(Application-Specific Integrated Circuit ,ASIC)或場可程式邏輯閘陣列(Field-Programmable Gate Array ,FPGA)。在一些實施例中,安全裝置36和86的一些元件(例如處理器44或處理器94)可以使用軟體或使用硬體和軟體元件的組合來實現。記憶體48及98可以使用任何合適類型的記憶體裝置,如隨機存取記憶體(Random Access Memory ,RAM)或快閃記憶體(Flash memory)。
在一些實施例中,處理器44及/或處理器94包含通用可編程處理器,其在軟體中編程以執行本文所述的功能。可以透過網路將軟體以電子形式下載到處理器,或者可附加的或可替換的以非暫態之有形媒體(non-transitory tangible media)如磁、光、電子記憶體儲存。
在上述實施例中,安全裝置先透過監視匯流排以檢測出未經授權之數據處置,接著中斷數據處置。在一個替代的實施例中,安全裝置不須先偵測到數據處置便可以中斷數據處置,甚至不須監視匯流排。例如,安全裝置可以覆寫某個主機的晶片選擇(CS)線,直到或者除非該主機被授權。授權可以以任何合適的方式執行,並非必須使用相同的匯流排。
作為非限制性實施例,本文描述的方法和系統可用於各種應用,例如在安全記憶體應用、物聯網(IoT)應用、嵌入式應用或汽車應用中,在此僅舉幾個例子。
因此,應當理解的是,上述實施例以實施例的方式引用,並且本發明不限於上述具體示出和描述的內容。相反的,本發明的範圍包含上述各種特徵的組合及子組合,以及本領域之熟練技術者在閱讀前述描述時將想到的未揭露的技術。通過引用併入本申請的文件為本申請的一部分,除非在這些被併入的文件中有任何術語的定義與本文明確地或隱含地與本文相衝突時,應參考本文之定義。
20、70、110、130‧‧‧系統
24、74‧‧‧主機裝置
28、78‧‧‧周邊裝置
32‧‧‧I2C匯流排
36、86‧‧‧安全裝置
40、90‧‧‧介面
44、94‧‧‧處理器
48、98‧‧‧記憶體
50‧‧‧監視步驟
54‧‧‧檢測步驟
58‧‧‧檢查步驟
62‧‧‧准許步驟
66‧‧‧中斷步驟
82‧‧‧SPI匯流排
91‧‧‧從介面邏輯電路
92‧‧‧介面監視邏輯電路
100‧‧‧串聯電阻
102‧‧‧維持復位步驟
104‧‧‧初始讀取步驟
108‧‧‧覆蓋步驟
112‧‧‧復位釋放步驟
116‧‧‧啟動步驟
120‧‧‧區域存取子步驟
CS1#‧‧‧晶片選擇線
CS2#‧‧‧晶片選擇線
CLK‧‧‧時脈線
MASK_CS2#‧‧‧控制訊號
MOSI‧‧‧主輸出從輸入線
MISO‧‧‧主輸入從輸出線
第1圖係為本發明實施例中多個裝置通過I2 C匯流排通信的安全系統的方塊示意圖。
第2圖係為本發明實施例透過I2 C匯流排保護對周邊裝置的存取的方法的流程圖。
第3圖至第5圖係為本發明的一個替代的實施例中,多個裝置透過SPI匯流排通信的安全系統的方塊示意圖。
第6圖係為根據本發明的實施例的安全裝置的示意方塊圖。
第7圖係為根據本發明的實施例的用於主機裝置的安全啟動(secure booting)的方法的流程圖。

Claims (34)

  1. 一種透過匯流排安全存取周邊裝置之安全裝置,包含: 一介面,用於連接到服務於一個或複數個周邊裝置的一匯流排,其中該匯流排係傳輸包含(i)一個或複數個專用訊號,分別專用於相應的該一個或複數個周邊裝置,以及(ii)一個或複數個共享訊號,共享於該匯流排所服務的該一個或複數個周邊裝置之間;以及 一處理器,連接到該匯流排,並作為該一個或複數個周邊裝置之外的一附加設備,並且透過中斷與一給定周邊裝置相關聯的該專用訊號,藉此在該匯流排上中斷一匯流排主裝置試圖存取該給定周邊裝置的一數據處置(transaction)。
  2. 如申請專利範圍第1項所述之安全裝置,其中該處理器在中斷該數據處置時係維持該匯流排上的該共享訊號不中斷。
  3. 如申請專利範圍第1項所述之安全裝置,其中該介面包含: 一輸入部,用以從該匯流排主裝置接收該專用訊號;以及 一輸出部,用以輸出該專用訊號至該給定周邊裝置,其中該處理器係透過防止該輸入部接收的該專用訊號被從該輸出部發送,藉此來中斷該數據處置。
  4. 如申請專利範圍第1項所述之安全裝置,其中該處理器係設置為當該專用訊號被中斷時,回應該匯流排主裝置而不回應該給定周邊裝置。
  5. 如申請專利範圍第1項所述之安全裝置,其中該專用訊號包含一晶片選擇(CS)訊號。
  6. 如申請專利範圍第1項所述之安全裝置,其中該處理器係監視該匯流排,以檢測要中斷的該數據處置。
  7. 如申請專利範圍第1項所述之安全裝置,其中該處理器係透過在該匯流排外部的一輔助介面與該匯流排主裝置進行通訊,來檢測要中斷的該數據處置。
  8. 如申請專利範圍第1項所述之安全裝置,其中該處理器係設置為持續中斷該專用訊號,直到一重置訊號出現。
  9. 如申請專利範圍第1項所述之安全裝置,其中該處理器係設置為在檢測到該數據處置後的一有限時間段內中斷該專用訊號。
  10. 如申請專利範圍第1項所述之安全裝置,其中藉由中斷該數據處置,該處理器係設置為在該一個或複數個周邊裝置處產生一數據處置中止(transaction abort)。
  11. 如申請專利範圍第1項所述之安全裝置,其中該處理器係設置為在該數據處置中斷後恢復該匯流排的正常操作。
  12. 一種透過匯流排安全存取周邊裝置之安全裝置,包含: 一介面,用於連接到服務於一個或複數個周邊裝置的一匯流排;以及 一處理器,除了連接到該一個或複數個周邊裝置外也連接到該匯流排,並且係透過回應於一匯流排主裝置而不回應該一個或複數個周邊裝置的方式,以中斷該匯流排主裝置嘗試存取一給定周邊裝置的一數據處置(transaction)。
  13. 如申請專利範圍第12項所述之安全裝置,其中該匯流排係傳輸包含(i)一個或複數個專用訊號,分別專用於相應的該一個或複數個周邊裝置,以及(ii)一個或複數個共享訊號,共享於該匯流排所服務的該一個或複數個周邊裝置之間; 其中該處理器係透過(i)中斷與該給定周邊裝置相關的該專用訊號,以及(ii)當該專用訊號被中斷時回應該匯流排主裝置,藉此以中斷該數據處置。
  14. 如申請專利範圍第12項所述之安全裝置,其中該給定周邊裝置包含一記憶體裝置,其中該處理器係設置為在該數據處置中識別來自該匯流排主裝置的用以從該記憶體裝置讀取數據的一請求,以及以儲存於該安全裝置的一替代數據回應該請求。
  15. 如申請專利範圍第14項所述之安全裝置,其中該處理器係設置為識別到該匯流排主裝置請求存取該記憶體裝置中的一預定義地址區時,中斷該數據處置並以該替代數據回應。
  16. 如申請專利範圍第12項所述之安全裝置,其中該處理器係設置為基於從該給定周邊裝置在該數據處置中回傳給該匯流排主裝置的數據,以識別該匯流排主裝置嘗試存取該給定周邊裝置的該數據處置。
  17. 如申請專利範圍第12項所述之安全裝置,其中該處理器係設置為基於該數據處置中使用的指令代碼來識別該匯流排主裝置嘗試存取該給定周邊裝置的該數據處置。
  18. 一種透過匯流排安全存取周邊裝置之方法,包含: 使用一安全裝置經由一匯流排進行通訊,其中該安全裝置係連接到該匯流排且作為一個或複數個周邊裝置之外的一附加設備,其中該匯流排係傳輸包含(i)一個或複數個專用訊號,分別專用於相應的該一個或複數個周邊裝置,以及(ii)一個或複數個共享訊號,共享於該匯流排所服務的該一個或複數個周邊裝置之間; 使用該安全設備透過中斷與一給定周邊裝置相關聯的該專用訊號,藉此以在該匯流排上中斷一匯流排主裝置試圖存取該給定周邊裝置的一數據處置(transaction)。
  19. 如申請專利範圍第18項所述之方法,其中中斷該數據處置包含維持該匯流排上的該共享訊號不中斷。
  20. 如申請專利範圍第18項所述之方法,其中該介面包含: 一輸入部,用以從該匯流排主裝置接收該專用訊號;以及 一輸出部,用以輸出該專用訊號至該給定周邊裝置; 其中中斷該數據處置包含防止在該輸入部接收的該專用訊號被從該輸出部發送。
  21. 如申請專利範圍第18項所述之方法,其中中斷該數據處置包含當該專用訊號被中斷時,回應該匯流排主裝置而不回應該給定周邊裝置。
  22. 如申請專利範圍第18項所述之方法,其中該專用訊號包含一晶片選擇(CS)訊號。
  23. 如申請專利範圍第18項所述之方法,進一步包含藉由監控該匯流排來檢測要中斷的該數據處置。
  24. 如申請專利範圍第18項所述之方法,進一步包含藉由在該匯流排外部的一輔助介面與該匯流排主裝置進行通訊來檢測要中斷的該數據處置。
  25. 如申請專利範圍第18項所述之方法,其中中斷該數據處置包含持續中斷該專用訊號,直到一重置訊號出現。
  26. 如申請專利範圍第18項所述之方法,其中中斷該數據處置包含在檢測到該數據處置後的一有限時間段內中斷該專用訊號。
  27. 如申請專利範圍第18項所述之方法,其中中斷該數據處置包含在該一個或複數個周邊裝置處產生一數據處置中止。
  28. 如申請專利範圍第18項所述之方法,進一步包含在該數據處置中斷後恢復該匯流排的正常操作。
  29. 一種透過匯流排安全存取周邊裝置之方法,包含: 使用一安全裝置經由一匯流排進行通訊,其中該安全裝置係連接到該匯流排且作為一個或複數個周邊裝置之外的一附加設備;以及 使用該安全裝置透過回應一匯流排主裝置而不回應一給定周邊裝置,藉此以在該匯流排上中斷該匯流排主裝置試圖存取該給定周邊裝置的一數據處置(transaction)。
  30. 如申請專利範圍第29項所述之方法,其中該匯流排係傳輸包含(i)一個或複數個專用訊號,分別專用於相應的該一個或複數個周邊裝置,以及(ii)一個或複數個共享訊號,共享於該匯流排所服務的該一個或複數個周邊裝置之間; 其中中斷該數據處置包含(i)中斷與該給定周邊裝置相關的該專用訊號,以及(ii)當該專用訊號被中斷時回應該匯流排主裝置。
  31. 如申請專利範圍第29項所述之方法,其中該給定周邊裝置包含一記憶體裝置,其中中斷該數據處置包含在該數據處置中識別來自該匯流排主裝置的用以從該記憶體裝置讀取數據的一請求,以及以儲存於該安全裝置的一替代數據回應該請求。
  32. 如申請專利範圍第29項所述之方法,其中識別到該匯流排主裝置請求存取該記憶體裝置中的一預定義地址區時,中斷該數據處置並以該替代數據回應。
  33. 如申請專利範圍第29項所述之方法,進一步包含基於從該給定周邊裝置在該數據處置中回傳給該匯流排主裝置的數據,以識別該匯流排主裝置嘗試存取該給定周邊裝置的該數據處置。
  34. 如申請專利範圍第29項所述之方法,進一步包含基於該數據處置中使用的指令代碼來識別該匯流排主裝置嘗試存取該給定周邊裝置的該數據處置。
TW108108029A 2018-04-18 2019-03-11 透過匯流排安全存取周邊裝置之裝置及方法 TWI698769B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/955,715 US10452582B2 (en) 2015-06-08 2018-04-18 Secure access to peripheral devices over a bus
US15/955,715 2018-04-18

Publications (2)

Publication Number Publication Date
TW201944281A true TW201944281A (zh) 2019-11-16
TWI698769B TWI698769B (zh) 2020-07-11

Family

ID=68284341

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108108029A TWI698769B (zh) 2018-04-18 2019-03-11 透過匯流排安全存取周邊裝置之裝置及方法

Country Status (3)

Country Link
JP (1) JP7086891B2 (zh)
CN (1) CN110390214B (zh)
TW (1) TWI698769B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI804703B (zh) * 2019-12-31 2023-06-11 新唐科技股份有限公司 電腦裝置及基於信任鏈的權限管理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204768A (ja) * 1992-01-28 1993-08-13 Tokimec Inc データ記憶システム
WO2006067729A1 (en) 2004-12-21 2006-06-29 Philips Intellectual Property & Standards Gmbh Integrated circuit with improved device security
US8762687B2 (en) * 2008-05-24 2014-06-24 Via Technologies, Inc. Microprocessor providing isolated timers and counters for execution of secure code
EP2691908B1 (en) 2011-03-28 2018-12-05 McAfee, LLC System and method for virtual machine monitor based anti-malware security
US8527675B2 (en) * 2011-07-27 2013-09-03 Raytheon Company System and method for implementing a secure processor data bus
JP6586765B2 (ja) 2015-04-21 2019-10-09 株式会社ソシオネクスト アクセス遮断回路、半導体集積回路およびアクセス遮断方法
US10095891B2 (en) * 2015-06-08 2018-10-09 Nuvoton Technology Corporation Secure access to peripheral devices over a bus

Also Published As

Publication number Publication date
CN110390214A (zh) 2019-10-29
JP2019212293A (ja) 2019-12-12
CN110390214B (zh) 2022-11-25
JP7086891B2 (ja) 2022-06-20
TWI698769B (zh) 2020-07-11

Similar Documents

Publication Publication Date Title
TWI614638B (zh) 透過匯流排安全存取周邊裝置之裝置及方法
US10452582B2 (en) Secure access to peripheral devices over a bus
US10691807B2 (en) Secure system boot monitor
US10776527B2 (en) Security monitoring of SPI flash
EP3631667B1 (en) Flash recovery mode
CN111226215B (zh) 透明附接的闪存存储器安全性
US11188321B2 (en) Processing device and software execution control method
US11003801B2 (en) Functional device and control apparatus
JP2014238842A (ja) セキュアバスシステム
TWI698769B (zh) 透過匯流排安全存取周邊裝置之裝置及方法
JP7079558B2 (ja) Spiフラッシュ用安全装置
JP7005676B2 (ja) システム起動を監視するための安全装置及び安全方法
US11921904B1 (en) System and methods for firmware security mechanism
EP1862908B1 (en) Integrated circuit arrangement, a method for monitoring access requests to an integrated circuit arrangement component of an integrated circuit arrangement and a computer program product