TWI614638B - 透過匯流排安全存取周邊裝置之裝置及方法 - Google Patents
透過匯流排安全存取周邊裝置之裝置及方法 Download PDFInfo
- Publication number
- TWI614638B TWI614638B TW106108243A TW106108243A TWI614638B TW I614638 B TWI614638 B TW I614638B TW 106108243 A TW106108243 A TW 106108243A TW 106108243 A TW106108243 A TW 106108243A TW I614638 B TWI614638 B TW I614638B
- Authority
- TW
- Taiwan
- Prior art keywords
- bus
- line
- processor
- item
- patent application
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Abstract
本發明揭露一種裝置包含一介面與一處理器,此介面被設置為透過匯流排通信,處理器被設置為在匯流排主裝置未通過授權要存取周邊裝置時,強制地並行寫入一個或多個虛擬值至匯流排的至少一線上以中斷至少一部分數據處置。
Description
相關申請案的交互參照
本申請案受惠於2015年6月8日提交的美國臨時專利申請62 / 172,298,其公開內容通過引用併入本文。
本發明一般涉及電子系統安全,特別涉及用於保護對周邊裝置的存取的方法和系統。
電子系統使用各種匯流排介面以在主機裝置與周邊裝置間通信。例如匯流排介面包含內部集成電路(Inter-Integrated-Circuit I2
C)匯流排及串行外圍介面 (SPI) 匯流排。I2
C匯流排例如在“I2
C匯流排規範和用戶手冊”UM10204,NXP半導體,修訂版6,2014年4月4日,其通過引用併入本文。
在本發明所述之實施例中,提供了一種裝置包含介面跟處理器。介面被設置為透過匯流排通信,處理器被設置為在匯流排主裝置未通過授權要存取周邊裝置時,強制地並行寫入一個或多個虛擬值至匯流排的至少一條線上以中斷至少一部分數據處置。
在一個實施例中,處理器被設置為強制寫入虛擬值至匯流排上的數據線以阻斷其透過數據線接收或傳送周邊裝置的分別數據值。附加地或替代地,處理器被設置為強制寫入虛擬值至匯流排上的時脈線,以中斷數據處置所使用的時脈訊號。進一步附加地或替代地,處理器被設置為強制寫入虛擬值至匯流排上的晶片選擇線,以中斷匯流排主裝置選擇周邊裝置。
在一些實施例中,匯流排包含一個具有預設邏輯值的集極開路匯流排或汲極開路匯流排,且處理器被設置為強制寫入與預設邏輯值相反的虛擬值至匯流排上的至少一線。
在一些實施例中,透過強制寫入虛擬值,處理器被設置為覆寫匯流排主裝置或周邊裝置上被寫入的至少一線的對應值。在一個舉例的實施例中的,處理器被設置為透過驅動驅動強度大於匯流排主裝置或周邊裝置的至少一線來覆寫匯流排主裝置或周邊裝置上被寫入的至少一線的對應值。在另一個實施例中,裝置包含至少一電阻,其被設置於至少一線上,電阻係設置用以將被寫入至匯流排主裝置或周邊裝置的值減弱至較處理器所寫入之虛擬值弱。
在一些實施例中,處理器被設置為僅透過被用於在匯流排主裝置與周邊裝置之間通信的匯流排的現有的一線上強制寫入虛擬值。在一些實施例中,處理器被設置為透過監視匯流排來檢測要中斷的數據處置。在一個實施例中,處理器被設置為透過在匯流排主裝置外部的輔助介面上與匯流排主裝置通信來檢測要中斷的數據處置。
在一個公開的實施例中,處理器被設置為無限制的強制寫入虛擬值直到此裝置被重置。在另一個實施例中,處理器被設置為在偵測到數據處置時,在有限時間內強制寫入虛擬值。在一個實施例中, 處理器被設置為在數據處置被中斷後,適度地回復匯流排的正常操作。
根據本發明的實施例,還提供了一種包括周邊裝置和安全裝置的系統。周邊裝置可以透過匯流排存取一個或多個匯流排主裝置。此安全裝置被設置為在匯流排主裝置未通過授權要存取周邊裝置時,強制地並行寫入一個或多個虛擬值至匯流排的至少一條線上以中斷至少一部分數據處置。
依據實施例,本發明還提供了一種方法,包含使用耦合到匯流排的安全裝置,決定是否中斷匯流排主裝置未經授權嘗試存取周邊裝置的數據處置,並透過強制地並行寫入一個或多個虛擬值至匯流排的至少一條線上以中斷至少一部分數據處置。
從下面結合附圖對其實施例的詳細描述中,將更全面地理解本發明:
本發明之實施例為敘述改進的方法與裝置如何透過匯流排介面保護對周邊裝置的存取。周邊裝置可包含加密引擎、儲存敏感數據的儲存裝置、或任何可通過匯流排存取的裝置。
在一些被揭露的實施例中,安全裝置監視匯流排上的數據處置,並且在主機裝置或其他匯流排主裝置試圖存取周邊裝置卻未經授權時將其識別出。數據處置可透過各種合適的標準或政策被分類為經授權或未經授權。
當識別出未經授權的數據處置時,安全裝置平行的透過在匯流排上的一條或多條線上強制寫入數據或信號至某個虛擬值以將其中斷。強制寫入虛擬值可被執行在如:時脈訊號、數據訊號及/或晶片選擇(Chip-Select)訊號。
強制寫入虛擬值適用於中斷匯流排上的訊號,例如對於有汲極開路或集極開路的匯流排,例如I2
C匯流排或推挽式的匯流排,例如SPI匯流排。與匯流排上的數據處置並行地強制寫入虛擬值使與周邊裝置的通信中斷,且/或中斷各自的時脈訊號。
本文描述了用於中斷I2
C和SPI匯流排上的未授權數據處置的幾種技術範例,還描述了用於在中斷之後恢復正常操作的技術。在一些實施例中, 安全裝置可以中斷數據處置,但不須先在匯流排上偵測到此數據處置,或者甚至根本不監視匯流排。例如,安全裝置可以強行輸入某個主機的芯片選擇(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圖所示)的混合方案也是可行的。
在第1圖、第3圖及第4圖所示之系統20、70及110的配置,以及各種系統元件諸如安全裝置36、86及匯流排32、82皆為為了清楚描述而繪製的示意圖在一個替代的實施例中,可以使用任何其他合適的配置。
例如,為了清楚起見,附圖僅示出單個周邊裝置和單個主機裝置。在一些實施例中,系統可以包含兩個或更多個周邊裝置及/或兩個或更多個主機裝置。此處描述之實施例參考使用I2
C及SPI匯流排的範例。在一個替代的實施例中,被揭露的技術可經過必要的修改而使用於其他適合的種類的匯流排。
系統20、70及110的不同元件可以使用任何合適的硬體來執行,如特殊應用積體電路(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‧‧‧系統
24、74‧‧‧主機裝置
28、78‧‧‧周邊裝置
32‧‧‧I2C匯流排
36、86‧‧‧安全裝置
40、90‧‧‧介面
44、94‧‧‧處理器
48、98‧‧‧記憶體
50‧‧‧監視步驟
54‧‧‧檢測步驟
58‧‧‧檢查步驟
62‧‧‧准許步驟
66‧‧‧中斷步驟
82‧‧‧SPI匯流排
100‧‧‧串聯電阻
CS1#‧‧‧晶片選擇線
CS2#‧‧‧晶片選擇線
CLK‧‧‧時脈線
MOSI‧‧‧主輸出從輸入線
MISO‧‧‧主輸入從輸出線
24、74‧‧‧主機裝置
28、78‧‧‧周邊裝置
32‧‧‧I2C匯流排
36、86‧‧‧安全裝置
40、90‧‧‧介面
44、94‧‧‧處理器
48、98‧‧‧記憶體
50‧‧‧監視步驟
54‧‧‧檢測步驟
58‧‧‧檢查步驟
62‧‧‧准許步驟
66‧‧‧中斷步驟
82‧‧‧SPI匯流排
100‧‧‧串聯電阻
CS1#‧‧‧晶片選擇線
CS2#‧‧‧晶片選擇線
CLK‧‧‧時脈線
MOSI‧‧‧主輸出從輸入線
MISO‧‧‧主輸入從輸出線
第1圖係為本發明實施例中多個裝置通過I2
C匯流排通信的安全系統的方塊示意圖。
第2圖係為本發明實施例透過I2
C匯流排保護對周邊裝置的存取的方法的流程圖。
第3圖及第4圖係為本發明的一個替代的實施例中,多個裝置透過SPI匯流排通信的安全系統的方塊示意圖。
20‧‧‧系統
24‧‧‧主機裝置
28‧‧‧周邊裝置
32‧‧‧I2C匯流排
36‧‧‧安全裝置
40‧‧‧介面
44‧‧‧處理器
48‧‧‧記憶體
Claims (22)
- 一種透過匯流排安全存取周邊裝置之裝置,其包含: 一介面,其用於透過一匯流排通訊;以及 一處理器,其被設置為在一匯流排主裝置未經授權要存取一周邊裝置時,強制地並行寫入一個或多個虛擬值至該匯流排的至少一線上以中斷至少一部分數據處置。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為強制寫入該虛擬值至該匯流排上的一數據線以阻斷其透過該數據線接收或傳送該周邊裝置的一數據值。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為強制寫入該虛擬值至該匯流排上的一時脈線,以中斷該數據處置所使用的一時脈訊號。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為強制寫入該虛擬值至該匯流排上的一晶片選擇線,以中斷該匯流排主裝置選擇該周邊裝置。
- 如申請專利範圍第1項所述之裝置,其中該匯流排包含具有一預設邏輯值的一集極開路匯流排或一汲極開路匯流排,且該處理器被設置為強制寫入與該預設邏輯值相反的該虛擬值至該匯流排上的該至少一線。
- 如申請專利範圍第1項所述之裝置,其中透過強制寫入該虛擬值,該處理器被設置為覆寫該匯流排主裝置或該周邊裝置上被寫入的該至少一線的一對應值。
- 如申請專利範圍第6項所述之裝置,其中該處理器被設置為覆寫該匯流排主裝置或該周邊裝置上被寫入的該至少一線的該對應值,透過驅動一驅動強度大於該匯流排主裝置或該周邊裝置的該至少一線。
- 如申請專利範圍第6項所述之裝置,更包含至少一電阻,其被設置於該至少一線上,該至少一電阻係設置為將被寫入至該匯流排主裝置或該周邊裝置的該對應值減弱至比該處理器所寫入之該虛擬值更弱。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為僅透過被用於在該匯流排主裝置與該周邊裝置之間通信的該匯流排的一現有線上強制寫入該虛擬值。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為透過監視該匯流排來檢測要中斷的該數據處置。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為透過該匯流排主裝置外部的一輔助介面上與該匯流排主裝置通信來檢測要中斷的該數據處置。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為無限制的強制寫入該虛擬值直到該裝置被重置。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為在偵測到該數據處置時,在有限時間長度內強制寫入該虛擬值。
- 如申請專利範圍第1項所述之裝置,其中該處理器被設置為在該數據處置被中斷後,回復該匯流排的正常操作。
- 一種透過匯流排安全存取周邊裝置之系統,其包含: 一周邊裝置,其透過一匯流排存取一個或多個匯流排主裝置;及 一安全裝置,其被設置為在該匯流排主裝置未通過授權的一數據處置要存取該周邊裝置時,強制地並行寫入一個或多個虛擬值至該匯流排的至少一線上以中斷至少一部分該數據處置。
- 一種透過匯流排安全存取周邊裝置之方法,其包含: 使用耦合到一匯流排的一安全裝置,以決定是否中斷一匯流排主裝置未經授權嘗試存取一周邊裝置的一數據處置;及 透過強制地並行寫入一個或多個虛擬值至該匯流排的至少一線上以中斷至少一部分該數據處置。
- 如申請專利範圍第16項所述之方法,其中該匯流排包含具有預設邏輯值的一集極開路匯流排或一汲極開路匯流排,且被設置為強制寫入與該預設邏輯值相反的該虛擬值至該匯流排上的該至少一線。
- 如申請專利範圍第16項所述之方法,其中強制寫入該虛擬值時包含覆寫該匯流排主裝置或該周邊裝置上被寫入的該至少一線上的一對應值。
- 如申請專利範圍第16項所述之方法,其中在強制寫入該虛擬值僅執行在被用於在該匯流排主裝置與該周邊裝置之間通信的該匯流排的一現有線。
- 如申請專利範圍第16項所述之方法,其中包含透過監視該匯流排來檢測要中斷的該數據處置。
- 如申請專利範圍第16項所述之方法,其中包含透過該匯流排主裝置外部的一輔助介面與該匯流排主裝置通信來檢測要中斷的該數據處置。
- 如申請專利範圍第16項所述之方法,其中包含在該數據處置被中斷後,回復該匯流排的正常操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562172298P | 2015-06-08 | 2015-06-08 | |
US15/075,219 US10095891B2 (en) | 2015-06-08 | 2016-03-21 | Secure access to peripheral devices over a bus |
US15/075,219 | 2016-03-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201734881A TW201734881A (zh) | 2017-10-01 |
TWI614638B true TWI614638B (zh) | 2018-02-11 |
Family
ID=57452023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106108243A TWI614638B (zh) | 2015-06-08 | 2017-03-14 | 透過匯流排安全存取周邊裝置之裝置及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10095891B2 (zh) |
JP (2) | JP6411568B2 (zh) |
TW (1) | TWI614638B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI698769B (zh) * | 2018-04-18 | 2020-07-11 | 新唐科技股份有限公司 | 透過匯流排安全存取周邊裝置之裝置及方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783250B2 (en) | 2014-07-24 | 2020-09-22 | Nuvoton Technology Corporation | Secured master-mediated transactions between slave devices using bus monitoring |
US10691807B2 (en) | 2015-06-08 | 2020-06-23 | Nuvoton Technology Corporation | Secure system boot monitor |
US20170371830A1 (en) * | 2016-06-28 | 2017-12-28 | Qualcomm Incorporated | Accelerated i3c master stop |
US10635827B2 (en) * | 2016-11-18 | 2020-04-28 | Raptor Engineering, LLC | Systems and methods for secure isolation of legacy computer peripherals |
GB2571727B (en) * | 2018-03-06 | 2022-05-25 | Siemens Ind Software Inc | Monitoring accesses to a region of an integrated circuit chip |
GB201806465D0 (en) | 2018-04-20 | 2018-06-06 | Nordic Semiconductor Asa | Memory-access controll |
GB201810659D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure-Aware Bus System |
GB201810662D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Peripheral Access On A Secure-Aware Bus System |
GB201810653D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure peripheral interconnect |
CA3031936A1 (en) * | 2019-01-30 | 2020-07-30 | J.J. Mackay Canada Limited | Spi keyboard module for a parking meter and a parking meter having an spi keyboard module |
TWI751962B (zh) * | 2019-04-07 | 2022-01-01 | 新唐科技股份有限公司 | 安全裝置、安全方法、安全系統以及安全設備 |
TWI756156B (zh) * | 2019-04-07 | 2022-02-21 | 新唐科技股份有限公司 | 監控系統開機之安全裝置及其方法 |
US11436315B2 (en) | 2019-08-15 | 2022-09-06 | Nuvoton Technology Corporation | Forced self authentication |
TWI791138B (zh) * | 2019-09-12 | 2023-02-01 | 新唐科技股份有限公司 | 序列周邊介面快閃記憶體之安全裝置 |
CN113157635B (zh) * | 2019-09-25 | 2024-01-05 | 支付宝(杭州)信息技术有限公司 | 在fpga上实现合约调用的方法及装置 |
US11520940B2 (en) * | 2020-06-21 | 2022-12-06 | Nuvoton Technology Corporation | Secured communication by monitoring bus transactions using selectively delayed clock signal |
JP7090772B1 (ja) | 2021-03-30 | 2022-06-24 | 三菱電機株式会社 | 電力変換制御装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507591A (zh) * | 2001-01-31 | 2004-06-23 | �Ҵ���˾ | 从外围设备向主计算机系统传输中断的方法和装置 |
CN103959268A (zh) * | 2011-12-12 | 2014-07-30 | 北欧半导体公司 | 外围设备通讯 |
TW201435646A (zh) * | 2012-10-25 | 2014-09-16 | Plx Technology Inc | 用於PCIe(快速週邊組件互連)架構上主機間訊息收發安全及隔離的方法與裝置 |
US20140281469A1 (en) * | 2011-10-21 | 2014-09-18 | Valiuddin Y. Ali | Providing a function of a basic input/output system (bios) in a privileged domain |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289408B1 (en) | 1995-05-08 | 2001-09-11 | Apple Computer, Inc. | Bus interface with address mask register for transferring selected data from one bus to another |
US5696994A (en) | 1995-05-26 | 1997-12-09 | National Semiconductor Corporation | Serial interface having control circuits for enabling or disabling N-channel or P-channel transistors to allow for operation in two different transfer modes |
US6049876A (en) * | 1998-02-09 | 2000-04-11 | Motorola, Inc. | Data processing system and method which detect unauthorized memory accesses |
US6510522B1 (en) | 1998-11-20 | 2003-01-21 | Compaq Information Technologies Group, L.P. | Apparatus and method for providing access security to a device coupled upon a two-wire bidirectional bus |
JP2003233521A (ja) * | 2002-02-13 | 2003-08-22 | Hitachi Ltd | ファイル保護システム |
DE60302697T2 (de) | 2002-04-16 | 2006-08-03 | Robert Bosch Gmbh | Verfahren zum Synchronisieren von Uhren in einem verteilten Kommunikationssystem |
US7434264B2 (en) * | 2003-03-07 | 2008-10-07 | Freescale Semiconductor, Inc. | Data processing system with peripheral access protection and method therefor |
US7010639B2 (en) | 2003-06-12 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | Inter integrated circuit bus router for preventing communication to an unauthorized port |
US7398345B2 (en) * | 2003-06-12 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Inter-integrated circuit bus router for providing increased security |
US7496929B2 (en) * | 2004-05-28 | 2009-02-24 | Intel Corporation | Performance of operations on a hardware resource through integral interpretive execution |
JP2007164622A (ja) * | 2005-12-15 | 2007-06-28 | Kyocera Mita Corp | メモリ制御システム及び画像形成装置 |
JP2012098985A (ja) * | 2010-11-04 | 2012-05-24 | Oki Data Corp | ダイレクトメモリアクセス制御装置、ダイレクトメモリアクセス制御システム、プログラム、画像処理装置および複合機 |
US20120255014A1 (en) * | 2011-03-29 | 2012-10-04 | Mcafee, Inc. | System and method for below-operating system repair of related malware-infected threads and resources |
US8813227B2 (en) * | 2011-03-29 | 2014-08-19 | Mcafee, Inc. | System and method for below-operating system regulation and control of self-modifying code |
KR101301022B1 (ko) * | 2011-12-23 | 2013-08-28 | 한국전자통신연구원 | 암 코어 기반의 프로세서를 위한 외부 공격 방어 장치 및 이를 이용한 방법 |
US20130312099A1 (en) * | 2012-05-21 | 2013-11-21 | Mcafee, Inc. | Realtime Kernel Object Table and Type Protection |
JP5801330B2 (ja) * | 2013-01-29 | 2015-10-28 | Necプラットフォームズ株式会社 | デバイスの状態監視方法 |
JP6430710B2 (ja) * | 2014-03-27 | 2018-11-28 | 株式会社メガチップス | データ転送制御装置及びデータ転送の制御方法 |
JP2014167818A (ja) * | 2014-05-12 | 2014-09-11 | Hitachi Ltd | データ転送装置およびデータ転送方法 |
US9569638B2 (en) * | 2014-12-31 | 2017-02-14 | Google Inc. | Trusted computing |
-
2016
- 2016-03-21 US US15/075,219 patent/US10095891B2/en active Active
-
2017
- 2017-03-14 TW TW106108243A patent/TWI614638B/zh active
- 2017-03-17 JP JP2017052212A patent/JP6411568B2/ja active Active
-
2018
- 2018-09-26 JP JP2018179656A patent/JP6703064B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507591A (zh) * | 2001-01-31 | 2004-06-23 | �Ҵ���˾ | 从外围设备向主计算机系统传输中断的方法和装置 |
US20140281469A1 (en) * | 2011-10-21 | 2014-09-18 | Valiuddin Y. Ali | Providing a function of a basic input/output system (bios) in a privileged domain |
CN103959268A (zh) * | 2011-12-12 | 2014-07-30 | 北欧半导体公司 | 外围设备通讯 |
TW201435646A (zh) * | 2012-10-25 | 2014-09-16 | Plx Technology Inc | 用於PCIe(快速週邊組件互連)架構上主機間訊息收發安全及隔離的方法與裝置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI698769B (zh) * | 2018-04-18 | 2020-07-11 | 新唐科技股份有限公司 | 透過匯流排安全存取周邊裝置之裝置及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160357991A1 (en) | 2016-12-08 |
TW201734881A (zh) | 2017-10-01 |
JP6703064B2 (ja) | 2020-06-03 |
US10095891B2 (en) | 2018-10-09 |
JP2019023896A (ja) | 2019-02-14 |
JP6411568B2 (ja) | 2018-10-24 |
JP2017208075A (ja) | 2017-11-24 |
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 | |
US20100241875A1 (en) | External storage device and method of controlling the same | |
JP2014238842A (ja) | セキュアバスシステム | |
US11003801B2 (en) | Functional device and control apparatus | |
CN111226215B (zh) | 透明附接的闪存存储器安全性 | |
KR20210132212A (ko) | 차량의 전자 제어 유닛 비준 | |
TWI698769B (zh) | 透過匯流排安全存取周邊裝置之裝置及方法 | |
TWI738135B (zh) | 監控系統開機之安全裝置及其方法 | |
TWI791138B (zh) | 序列周邊介面快閃記憶體之安全裝置 | |
TWI733399B (zh) | 安全裝置、安全方法、安全系統以及安全設備 | |
US11921904B1 (en) | System and methods for firmware security mechanism |