TWI582637B - 用於驗證計算裝置的硬體元件之計算裝置和方法 - Google Patents

用於驗證計算裝置的硬體元件之計算裝置和方法 Download PDF

Info

Publication number
TWI582637B
TWI582637B TW104126702A TW104126702A TWI582637B TW I582637 B TWI582637 B TW I582637B TW 104126702 A TW104126702 A TW 104126702A TW 104126702 A TW104126702 A TW 104126702A TW I582637 B TWI582637 B TW I582637B
Authority
TW
Taiwan
Prior art keywords
computing device
identification data
hardware component
identification
double
Prior art date
Application number
TW104126702A
Other languages
English (en)
Other versions
TW201629828A (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
Application filed by 英特爾股份有限公司 filed Critical 英特爾股份有限公司
Publication of TW201629828A publication Critical patent/TW201629828A/zh
Application granted granted Critical
Publication of TWI582637B publication Critical patent/TWI582637B/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/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
    • G06F21/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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
    • G06F21/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

用於驗證計算裝置的硬體元件之計算裝置和方法
本發明關於用於驗證計算裝置的硬體元件之技術。
供應鏈管理遇到有關計算裝置的完整性的顯著挑戰,特別是對於那些在國際上製造的裝置。例如,國內原始設備製造商(OEM)可以設計一種特定的系統,但該元件可以在海外大型工廠被採購、生產和/或裝配成在所設計的系統中,(例如,由原始裝置製造商(ODM))。在傳統供應鏈中的各階段,在系統中使用的元件可能被調換成低劣/或惡意的元件。例如,設計規範所要求的元件可能在製造過程中被ODM交換成偽造低劣的元件以節省與系統的製造相關的成本。再者,ODM可以用另一個具有可能被用於惡意目的之明顯缺陷的元件更換元件,(例如,雙埠記憶體、具有反向通道介面的網路介面卡等)。
因此,對於包含在所製造系統的元件的來源存在眾多考量。這些考量可以進一步放大於多個ODM和/或其他承包商被用於該系統的製造之情況。例如,該系統的各種元件可以在中國、美國與日本製造,並且該系統在被運到巴西完成組裝程序之前可以部分地在中國大陸組裝。因此,如果偽造元件被判定,甚至可能是難以判定該舞弊發生在該製造供應鏈中的哪一階段。另外,在一些情況下,在該裝置離開供應鏈之後,各種元件可以從計算裝置移除且由劣質元件代替(例如,在客戶退回產品以退款之前)。
100‧‧‧系統
102‧‧‧計算裝置
104‧‧‧網路
106‧‧‧遠端伺服器
110‧‧‧處理器
112‧‧‧輸入/輸出(“I/O”)子系統
114‧‧‧記憶體
116‧‧‧安全引擎
118‧‧‧資料儲存
120‧‧‧通訊電路
122‧‧‧周邊裝置
124‧‧‧雙頭識別裝置
126‧‧‧主要DHID
130‧‧‧識別資料庫
132‧‧‧安全策略
200‧‧‧DHID
202‧‧‧電通訊電路
204‧‧‧RF通訊電路
206‧‧‧記憶體
208‧‧‧識別資料
210‧‧‧描述資料
212‧‧‧約束資料
300‧‧‧環境
302‧‧‧平台驗證模組
304‧‧‧啟動模組
306‧‧‧通訊模組
308‧‧‧元件供應和管理模組
310‧‧‧元件判定模組
312‧‧‧策略強制執行模組
314‧‧‧加密模組
320‧‧‧可信執行環境
400‧‧‧方法
402‧‧‧方塊
404‧‧‧方塊
406‧‧‧方塊
408‧‧‧方塊
410‧‧‧方塊
412‧‧‧方塊
414‧‧‧方塊
416‧‧‧方塊
418‧‧‧方塊
420‧‧‧方塊
422‧‧‧方塊
424‧‧‧方塊
500‧‧‧方法
502‧‧‧方塊
504‧‧‧方塊
506‧‧‧方塊
508‧‧‧方塊
510‧‧‧方塊
512‧‧‧方塊
514‧‧‧方塊
516‧‧‧方塊
518‧‧‧方塊
520‧‧‧方塊
522‧‧‧方塊
本文描述的概念以舉例的方式而不是以限制於附圖中的方式。為了簡單和清楚地說明,在圖中所示的元件不一定按比例繪製。在認為適當時,附圖標記已重複於附圖之間以表示相應或類似的元件。
圖1係用於驗證計算裝置的平台元件的系統的至少一種實施例的簡化方塊圖;圖2係圖1的系統的計算裝置的雙頭識別裝置的至少一種實施例的簡化方塊圖;圖3係圖1的系統的計算裝置的環境的至少一種實施例的簡化方塊圖;圖4係圖1的系統的計算裝置的供應硬體元件的方法的至少一種實施例的簡化流程圖;以及圖5係圖1的系統的計算裝置的驗證平台成 分的方法的至少一種實施例的簡化流程圖。
【發明內容及實施方式】
儘管本發明的概念易於進行各種修改和替代形式,其具體實施例已經在附圖中經由實例的方式顯示,且將在本文中詳細描述。然而,應該理解,沒有意圖限制本發明的概念於所揭露的特定形式,相反地,其意圖是涵蓋所有修改、等同物,和與本發明內容與所附的申請專利範圍一致的替代方案。
在說明書中對“一個實施例”、“實施例”、“示例性實施例”等的引用表示所描述的實施例可以包含特定特徵、結構或特性,但是每個實施例可以或可以不必包含該特定特徵、結構或特性。此外,這樣用語不一定指的是同一實施例。此外,當特定特徵、結構或特性關於實施例進行描述,無論是否明確描述,應當認為這是在本領域中技術人員的知識範圍內,以關於其他實施例而影響該等的特徵、結構或特性。此外,應該理解的是,包含在“至少一個A、B和C”之形式中的列表中的項目可以指(A);(B);(C):(A和B);(B和C);(A和C);或(A、B和C)。同樣地,“A、B或C中的至少一個”之形式中列表的項目可以指(A);(B);(C):(A和B);(B和C);(A和C);或(A、B和C)。
在一些情況下,揭露的實施例可以用於硬 體、韌體、軟體、或其任意組合被實現。所揭露的實施例也可以實現為藉由一或多個暫態的或非暫態的機器可讀(例如,電腦可讀)儲存媒體攜帶或儲存的指令,其可以被讀出,且藉由一或多個處理器執行。機器可讀儲存媒體可以實施為任何儲存裝置、機構,或其它物理結構,以用於機器可讀形式的儲存或傳送資訊(例如,揮發性或非揮發性記憶體、媒體碟,或其它媒體裝置)。
在附圖中,一些結構或方法特徵可用具體排列和/或排序顯示。然而,應當理解的,這樣的具體排列和/或排序可以不被需要。相反地,在一些實施例中,這樣的特徵可以以不同於顯示在所說明的圖之方式和/或順序被排列。此外,包含在特定圖中的結構或方法特徵並不意味著暗示這種特徵必需在所有實施例,並且在一些實施例中,可能不包含或可以與其他特徵相結合。
現在參考圖1,一種用於驗證計算裝置102的平台元件的說明性系統100包含計算裝置102、網路104以及遠端伺服器106。如下面詳細描述的,在使用中,計算裝置102包含固定到計算裝置102的一或多個硬體元件的雙頭識別裝置。每一個雙頭識別裝置可以包含表示其固定的相應硬體元件的識別資料。例如,雙頭識別裝置可被固定到特定的記憶體模組,並且可以包含識別表示類型、型號、序號、製造商和/或特定記憶體模組的其他識別資訊的資料。雙頭識別裝置或者其相應的識別資料可以被綁定在一起以識別雙頭識別裝置為一組或集合(例如,以元 件集合識別資料)。這樣,在啟動時,計算裝置102可以檢索雙頭識別裝置的識別資料和比較用來參考識別預期被包含在計算裝置102的硬體元件的平台識別資料的資料(例如,根據平台的原始設計)。同樣地,對於類似的比較,遠端伺服器106可以檢索資料(例如,使用射頻(RF)通訊或其它無線通訊技術)。應當理解的,這裡描述的技術允許系統100本地和/或遠端地來安全地監測計算裝置102的來源。這樣,例如,系統100可以確保在計算裝置102中沒有偽造元件(即沒有元件被替換為劣質或不安全元件)。
計算裝置102可以實施為任何類型能夠執行本文描述功能的計算裝置。例如,計算裝置102可以實施為桌上電腦、伺服器、路由器、交換機、膝上電腦、平板電腦、筆記型電腦、易網機、超輕薄筆電TM、行動電話、智慧型手機、穿戴式計算裝置、個人數位助理、行動網路裝置、混合裝置、閘道器和/或任何其他的計算/通訊裝置。如圖1所示,說明性的計算裝置102包含處理器110、輸入/輸出(“I/O”)子系統112、記憶體114、安全引擎116、資料儲存118、通訊電路120,和一或多個周邊裝置122。此外,如圖所示,計算裝置102的一或多個元件可包含雙頭識別裝置(DHID)124。此外,DHIDs 124的一個可以如下所述被實施為主要DHID 126。當然,在其他實施例中,計算裝置102可以包含其它或額外的元件,諸如在一般計算裝置通常發現的元件(例如,各種輸 入/輸出裝置和/或其他元件)。另外,在一些實施例中,一或多個說明性元件可以被納入,或形成部分的另一種元件。例如,在一些實施例中,記憶體114或其部分可以納入處理器110。
處理器110可以實施為任何類型能夠執行本文描述功能的處理器。例如,處理器110可以實施為一個單一或多核處理器、數位訊號處理器、微控制器或其它處理器或處理/控制電路。類似地,記憶體114可以實施為任何類型的揮發性或非揮發性記憶體或能夠執行本文描述功能的資料儲存。在操作中,記憶體114可以儲存在行動計算裝置102諸如作業系統、應用程式、程式、庫和驅動程式操作時使用的各種資料和軟體。記憶體114經由I/O子系統112通訊地耦接到處理器110,該I/O子系統可以被實施為電路和/或元件,以便計算裝置102的處理器110、記憶體114以及其他元件的輸入/輸出操作。例如,I/O子系統112可以實施為或包含記憶體控制器集線器、輸入/輸出控制集線器、韌體裝置、通訊鏈路(即,點對點鏈路、匯流排鏈路、電線、電纜、光導、印刷電路板跡線等)和/或其他元件和子系統,以利於輸入/輸出操作。在一些實施例中,I/O子系統112可以形成系統單晶片(SoC)的一部分並且連同處理器110、記憶體114和計算裝置102的其它元件在單一積體電路晶片上被結合。
安全引擎116可以實施為任何能夠執行密碼功能和/或建立可信執行環境的硬體元件或電路。例如, 在一些實施例中,安全引擎116可以實施為安全協同處理器,諸如可信平台模組(TPM)或帶外處理器。另外,在一些實施例中,安全引擎116可以建立與遠端裝置的帶外通訊鏈路。
資料儲存118可以被實現為配置成用於短期或長期資料儲存的任何類型裝置或多數裝置,諸如,例如,記憶體元件和電路、儲存卡、硬碟、固態硬碟或其它資料儲存裝置。如圖1所示,計算裝置102的資料儲存118包含識別資料庫130和一或多個安全策略132。在說明性實施例中,識別資料庫130包含表示該計算裝置102的一或多個參考硬體元件平台識別資料的平台識別資料。例如,平台識別資料可以識別支援被包含在特定計算裝置102上的硬體元件(例如,計算裝置102的特定製造商、型號、序號等)。以這樣的方式,原始設備製造商對於特定的計算裝置102可提供表示哪些元件應該被包含在計算裝置102上的資料,其可以用於判定是否該計算裝置102的一或多個元件如下所述已被修改。例如,在說明性實施例中,蘋果MacbookPro®將具有與華碩Zenbook®不同的參考/平台識別的資料,因為這些裝置具有不同的硬體元件。應當理解的是,識別資料庫130可以實施為被配置成執行本文描述的功能的任何合適的資料結構。例如,識別資料庫130可以包含用於多個平台配置的可搜索表格。安全策略132識別各種條件和響應於條件,將採取的安全行動。例如,如果計算裝置102判定元件中的一個已經被修 改,安全策略132可以表示計算裝置102係為了防止計算裝置102的作業系統啟動。當然,安全策略132也可以識別其他合適的動作和/或條件。
在說明性實施例中,雖然識別資料庫130和安全策略132被包含在資料儲存118中,在其他實施例中,識別資料庫130和/或安全策略132可儲存在計算裝置102上別處。此外,在一些實施例中,識別資料庫130和/或安全策略132可以被遠端地儲存且可存取於計算裝置102和/或遠端伺服器106。在計算裝置102的操作期間,資料儲存118和/或記憶體114可以儲存各種資料,諸如,例如,加密密鑰和/或如下面討論的其他在計算裝置102的操作期間有用的資料。
計算裝置102的通訊電路120可以實施為能夠致能計算裝置102與其它遠端裝置之間通訊(例如,遠端伺服器106)的任何通訊電路、裝置或其集合。通訊電路120可以被配置為使用任何一或多個通訊技術(例如,無線或有線通訊)和相關的協議(例如,乙太網路、藍牙®、Wi-Fi®、WiMAX等)以實現這樣的通訊。
周邊裝置122可以包含任意數量的額外的周邊或介面裝置,諸如揚聲器、麥克風、額外的儲存裝置等。包含在周邊裝置122中的特定裝置可以取決於,例如,計算裝置102的類型和/或用途。
如圖1所示和上面所指出的,計算裝置102的一或多個元件可包含雙頭識別裝置(DHID)124。因 此,DHID 124可被固定到計算裝置102的一或多個元件。應當理解的,DHID 124可以用黏膠、焊接、焊料、電氣連接、膠帶、整體形成、機械耦接和/或借助於其他合適的機制以固定。在一些實施例中,計算裝置102的每個可分離元件包含DHID 124。這種可分離元件可包含,例如,雙列直插記憶體模組(DIMM)、網路介面卡(NIC)模組、處理器、無線網路介面卡(WNIC)模組或任何其他能夠從電腦裝置102被分離的硬體元件。在該說明性實施例中,一或多個DHIDs 124(例如,每DHID 124)包含使DHID 124同時使用有線和無線技術進行通訊的雙通訊模式。例如,DHIDs 124可以被配置同時電氣地和無線地進行通訊(如,經由RF通訊)。在一些實施例中,當計算裝置102或相應的硬體元件是由計算裝置102供電,DHIDs 124可以電氣地通訊,並反之無線地(例如,當計算裝置102和/或相應的元件是未通電或在低功率狀態)。
在一些實施例中,一或多個DHIDs 124可以被實施為或包含RFID裝置(例如,包含非揮發性RAM和/或其他記憶體)。例如,在一些實施例中,DHIDs 124可以實施為無線憑證交換(WCE)Monza® X UHF RFID晶片。在本說明性實施例中,每個DHIDs 124被配置成儲存與相應的元件(即,固定於其上的元件)關聯的識別資料、描述資料和/或約束資料。例如,進一步,在說明性實施例中,DHIDs 124中的一個可以實施為被配置為從每 個其它DHIDs 124(例如,二次DHIDs 124)檢索識別資料和數位綁定這些元件到計算裝置102的主要DHID 126。為了做到這一點,主要DHID 126可以產生關聯於一或多個(例如,所有)DHIDs 124的識別資料與計算裝置102的元件集合識別資料。在其它實施例中,雖然顯示的主要DHID 126是被固定到或形成一部分的I/O子系統112,主要DHID 126可以固定到或形成一部分的計算裝置102的另一個元件。在一些實施例中,主要DHID 126可以是與那些識別該計算裝置102的元件不同的DHID 124或另一類型完全不同的元件。例如,在一些實施例中,主要DHID 126可以實施為獨立的SoC。為便於討論,主要DHID 126主要被稱作DHID 124;然而,這裡描述的技術同樣適用於實施例,其中主要DHID 126被替代地實施為SoC或其他獨立元件。雖然DHIDs 124、126在本文中描述為具有雙重通訊模態,在一些實施例中,每個DHIDs 124、126可能只有單一通訊模態(例如,RF通訊)或可具有多個通訊模態。
在一些實施例中,一或多個DHIDs 124、126可以實施為如圖2中所示DHID 200。說明性DHID 200包含電通訊電路202、RF通訊電路204和記憶體206。DHID 200的電通訊電路的202可被實施為任何通訊電路、裝置或其集合,能夠實現如主要DHID 126的計算裝置102的DHID 200和其它元件之間的電通訊(例如,經由點對點鏈路、匯流排鏈路、電線、電纜、光導、印刷電 路板跡線等)。在一些實施例中,電通訊可以由DHID 124、126的電耦接引腳建立到計算裝置102的通訊匯流排(例如,到內部積體電路(I2C)匯流排)。RF通訊電路204可被實施為任何通訊電路、裝置或其集合,能夠使計算裝置102的DHID 200和其他元件(例如,主要DHID 126)和/或遠端伺服器106之間的RF通訊。根據特定的實施例,RF通訊電路204可以使DHID 200與任何相應一組無線電頻率通訊(例如經由近場通訊(NFC)、低頻、高頻、超高頻等)。在其他實施例中,DHID 200可以被配置成與計算裝置102的其他元件和/或使用其他無線通訊技術的遠端伺服器106進行通訊。例如,DHID 200可以包含無線通訊電路,額外的或作為替代的,RF通訊電路204使用一或多個與RF通訊不同的無線通訊技術致能DHID 200和計算裝置102的其他元件和/或遠端伺服器106之間的通訊。例如,在一些實施例中,無線通訊電路可以允許DHID 200利用藍牙®、Wi-Fi®、TCP/IP和/或其他無線通訊協定進行通訊。應該理解的是,在本說明性實施例中,DHID 200可以是被供電的(例如,由計算裝置102)並且也可以是被射頻(RF)啟動的(例如,經由遠端伺服器106或主要DHID 126)。
DHID 200的記憶體206可以是類似於計算裝置102的記憶體114。因此,記憶體206可以實施為任何類型的揮發性或非揮發性記憶體或能夠執行本文描述功能的資料儲存。在說明性實施例中,記憶體206包含部分的 非揮發性記憶體以儲存如本文所述之識別資料208。另外,在一些實施例中,記憶體206還可以儲存描述資料210和/或約束資料212。如上述,DHID 200的識別資料208識別DHID 200被固定/關聯到的硬體元件。根據特定實施例,識別資料208可以包含唯一的序號、條碼和/或DHID 200的其他類型的簽名。DHID 200的描述資料210可以實施為描述相應的DHID 200、DHID 200的關係和/或DHID 200的相應的元件的任何資料。例如,描述資料可以包含關於DHID 200本身的資訊(例如,元件製造商、資料結構排列、密碼加密、簽名,憑證和/或用於與DHID 200安全通訊的雜湊演算法等)、有關DHID 200或相應的硬體元件的來源資料(例如,表示DHID 200或相應的元件在哪、其資料如何被修改的日誌等)和/或其它描述性資訊。在一些實施例中,描述資料210可以在整個的製造供應鏈被更新,以提供進一步的脈絡資訊。例如,在一個實施例中,當DHID 200在中國被製造時,識別資料208和描述資料210可以被最初供應,且當元件被轉移到巴西時,描述資料210和/或識別資料208可被更新,且當計算裝置102在賽普拉斯被組裝時,被再次更新。以這樣的方式更新來源產生許多好處。例如,系統整體可以是更安全;進一步,更新的描述資料210可用於周邊考量,如,例如,關稅計算。在其他實施例中,識別資料208、描述資料210和/或約束資料212在初始供應之後可能不被修改或刪除。DHID 200的約束資料212可包含與 DHID 200和/或相應的硬體元件相關聯的限制、約束和/或條件。例如,DHID 200可以包含與儲存在記憶體206中的資料的修改、地域的限制(例如,表示計算裝置102或特定元件在哪被授權操作或執行功能)、時間約束(例如,表示計算裝置102或特定元件在哪一個期間被授權操作或執行功能)相關聯的限制、約束和/或條件和/或其他的約束資訊。在一個實施例中,計算裝置102可以包含醫院病歷以及如果計算裝置102離開授權區域(如醫院的區域),約束資料212可包含迫使計算裝置102關閉的地理約束(例如,經由帶外RF通訊指令)。
在一些實施例中,DHID 200的識別資料208可以識別相應的元件和元件製造商,並且可包含密碼雜湊或其它簽名(例如,經由現場可程式化熔絲(FPFs)供應)和/或任何與DHID 200相關聯的地理/時間約束或元件。例如,識別資料208可以被儲存為類似於下面表1所示的資料結構的資料結構。
此外,如果DHID200是主要DHID 126,識別資料208可以額外地或替代地包含元件集合識別資料。元件集合識別資料可以包含DHIDs124的列表或集合或應彼此關聯的相應的硬體元件(例如,綁定到計算裝置102)。在一些實施例中,由於其相應的DHIDs124,元件集合識別資料在供應時(或者在更新識別資料時)提供計算裝置102上的元件的“快照”。例如,元件集合識別資料可以被儲存為類似於下面表2所示的資料結構的資料結構。
在說明性實施例中,計算裝置102可以包含,例如,十關鍵元件,每一個都具有DHID 124和相應的的識別資料。在這樣的實施例中,元件集合識別資料可包含那些DHIDs 124相應的識別資料和/或元件的列表、集合或排列。應當理解的,在一些實施例中,主要DHID 126可停用和委任各種DHIDs 124被包含在元件集合識別資料,而因此被綁定到計算裝置102。例如,在需要被數位綁定到計算裝置102的服務呼叫期間,服務技術人員可以取代計算裝置102的特定元件,且元件集合識別資料可 因此相應地更新。應當理解的是,技術服務人員也可利用元件集合識別資料來判定是否有任何計算裝置102的元件已被修改或替換(例如,由客戶)。如果有,技術人員可以採取相應的行動,例如,藉由使涵蓋該計算裝置102的保固無效。
返回到圖1,網路104可以實施為能夠利於計算裝置102和遠端裝置(例如,遠端伺服器106)之間通訊的任何類型通訊網路。因此,網路104可以包含一或多個網路、路由器、交換機、電腦和/或其他居間裝置。例如,網路104可以實施為或包含一或多個蜂巢式網路、電話網路、本地或廣域網路、公開的全球網路(例如,網際網路)、特設網路或其任何組合。
遠端伺服器106可以實施為能夠執行本文描述功能的任何類型計算裝置。例如,在一些實施例中,遠端伺服器106被實施為雲管理伺服器(例如,與計算裝置102的OEM相關聯的伺服器)。在說明性實施例中,遠端伺服器106可與DHIDs 124(或只有主要DHID 126)通訊以檢索元件的識別資料(例如,元件集合識別資料)以判定,例如,是否有任何計算裝置102的元件自從供應(或授權的資料更新)以來已被修改。例如,商家可能希望經由掃描所接收的計算裝置來確認已接收到正確的產品以及確認已接收的產品係正版的平台。
在一些實施例中,遠端伺服器106可類似於上述的計算裝置102。例如,遠端伺服器106可以實施為 桌上電腦、伺服器、膝上電腦、筆記型電腦、易網機、超輕薄筆電TM、個人數位助理、行動網路裝置、穿戴式計算裝置、混合裝置和/或任何其它計算/通訊裝置。此外,遠端伺服器106可以包含類似上述討論的計算裝置102的元件和/或模組(見圖3)。計算裝置102的那些元件的說明同樣適用於遠端服務器106的元件的說明,且為了清楚的描述在此不贅述。此外,應該理解的是,遠端伺服器106可以包含其它元件、子元件和在計算裝置中通常發現的裝置,其沒有在上面參考計算裝置102討論,且為了清楚的描述沒有在本文討論。另外,在一些實施例中,一或多個計算裝置102的元件可以從遠端伺服器106被省略(例如,DHIDs 124)。應該理解的是,在一些實施例中,包含識別資料庫130的資訊(例如,包含元件集合識別資料)和/或安全策略132的資料庫可以被儲存在或存取遠端伺服器106。雖然遠端伺服器106在這裡被描述為計算裝置遠端到計算裝置102,應該理解的是,在一些實施例中,遠端伺服器106可以是靠近(例如,本地)於計算裝置102。
現在參考圖3,在使用中,計算裝置102建立用於驗證計算裝置102的平台元件的環境300。計算裝置102的說明性環境300包含平台驗證模組302、啟動模組304和通訊模組306。另外,在說明性實施例中,平台驗證模組302包含元件供應和管理模組308、元件判定模組310元件、策略強制執行模組312和加密模組314。環境 300的每一個模組可被實施為硬體、軟體、韌體或其組合。另外,在一些實施例中,一或多個說明性模組可以形成另一個模組的一部分和/或一或多個說明性模組可以被實施為單獨的或獨立的模組。例如,環境300的每一個模組、邏輯和其他元件可形成一部分的或建立計算裝置102的處理器110。
在一些實施例中,計算裝置102建立用於指令安全執行的可信執行環境320。如圖3所示,在一些實施例中,平台驗證模組302、啟動模組304和/或通訊模組306可以在可信執行環境320中被執行。在一些實施例中,可信執行環境320可以由安全引擎建立116。此外,應該理解的是,可信執行環境320可以被建立為或利用各種技術包含,例如,英特爾®軟體保護擴展(SGX)、可信執行引擎(TEE)、可信平台模組(TPM)、英特爾®融合安全引擎(CSE)、ARM®TrustZone®、英特爾®可管理引擎、英特爾®Chaabi安全引擎和/或用於建立安全和可信執行環境的其他技術和機制。在一些實施例中,可信執行環境320可以存取專用計算和儲存資源,例如,為了提高對於惡意軟體和惡意產品的抵抗力。
平台驗證模組302被配置為根據供應的資料和儲存在識別資料庫130的平台識別資料用以判定計算裝置102的一或多個元件是否已經被修改。如果是,平台驗證模組302可以執行由安全策略132指出的安全動作。平台驗證模組302可以利用各種加密技術,例如,用以確保 儲存在DHIDs 124的資料保持安全和DHIDs 124和其他元件/裝置之間的通訊是安全的。在一些實施例中,平台驗證模組302還可以供應各種資料到DHIDs 124的記憶體(例如,在製造中)。然而,在其它實施例中,DHIDs 124可以由單獨的計算裝置(例如,OEM伺服器)來提供。如上面指出的,說明性平台驗證模組302包含元件供應和管理模組308、元件判定模組310、策略強制執行模組312和加密模組314。
元件供應和管理模組308供應相應的識別資料,並且如果有的話,供應相應的描述資料和約束資料到計算裝置102的相應DHIDs 124。應該理解的是,因為如此,元件供應和管理模組308可以利用適當憑證(例如,加密的簽名、加密和/或由OEM或ODM雜湊),並且在一些實施例中,這種憑證可以與遠端伺服器106共享。如上述,主要DHID 126也可以基於DHIDs 124的識別資料供應元件集合識別資料。可替代地,主要DHID 126可以查詢次要DHIDs 124(例如,電性地或經由RF通訊),以產生元件集合識別資料本身。在一些實施例中,元件供應和管理模組308可以在各種時間點(例如,在製造供應鏈的各種階段)更新識別資料、描述資料和/或特定DHID 124的約束資料和/或主要DHID 126(例如,經由RF重新程式化)。
元件判定模組310檢索計算裝置102的平台識別資料,其表示計算裝置102的硬體元件(例如,來自 識別資料庫130)、存取識別相應的元件(例如,來自/以主要DHID 126)的計算裝置102的DHIDs 124的識別資料208,並比較平台識別資料與硬體元件識別資料來判定計算裝置102的元件是否已經被移除、替換或修改。如上述,在一些實施例中,元件判定模組310可比較平台識別資料與儲存在主要DHID 126的記憶體206中的元件集合識別資料。應當理解的是,在一些實施例中,主要DHID 126可如上述述實施為獨立的SoC。在這樣的實施例中,SoC可具有內部積體電路(I2C)連接到計算裝置102的各元件或其子集,使得挑戰和響應可以發生在初始化該元件之前。如下所述,SoC可以遍歷每個DHID 124以及比較其識別資料208與儲存在識別資料庫130中的計算裝置102的相應平台的平台識別資料(例如,使用融合安全和可管理性引擎(CSME)超級任務)。
策略強制執行模組312檢索安全策略132,並且執行響應於判定所檢索的平台識別資料不匹配於DHIDs 124的存取識別資料208的相應的安全動作。換言之,如果元件判定模組310判定計算裝置102的一或多個元件已被以未授權的方式修改,策略強制執行模組312可執行安全動作。例如,在實施例中,其中比較係在啟動初始化時完成,策略強制執行模組312可以防止計算裝置102的作業系統啟動。在一些情況下,策略強制執行模組312可以允許作業系統在安全的環境啟動。可替代地,策略強制執行模組312可以允許作業系統啟動但可以防止與匹配失敗 的元件互動(例如,封鎖周邊裝置122)。在另一個實施例中,策略強制執行模組312可以產生並發送警報資訊到計算裝置102、遠端伺服器108、判定為已修改的計算裝置102的硬體元件的製造商和/或其他實體的使用者。當然,在其它實施例中,策略強制執行模組312可以根據特定的安全策略132執行其它合適的安全動作。
加密模組314被配置成執行各種安全相關的功能(例如,認證和加密)。例如,在一些實施例中,加密模組314可以提供平台配置暫存器(PCR)測量和/或可信執行環境320的其他認證引用和/或其他資料。此外,加密模組314可以產生的識別資料208的各部分的雜湊(例如,密鑰的雜湊)和比較所產生的雜湊與識別資料208的已儲存雜湊。在一些實施例中,當儲存在記憶體206時,識別資料208、描述資料210和/或約束資料212可被加密和/或加密地簽署。因此,在這樣的實施例中,加密模組314利用相應的加密功能(例如,解密和/或簽名驗證)來存取資料。當然,加密模組314可以加密和/或加密地簽署儲存在計算裝置102上的各種其它資料。
啟動模組304被配置成初始化計算裝置102和/或計算裝置102的特定元件之啟動。如本文所討論,在一些實施例中,計算裝置102確認計算裝置102的元件,於計算裝置102啟動時已保持它們的完整性。通訊模組306經由網路104處理計算裝置102和遠端計算裝置(例如,遠端伺服器106)之間的通訊。應該理解的是, 在其他實施例中,本文所述的一或多個模組可以位於遠端伺服器106上。因此,在一些實施例中,遠端伺服器106可以執行本文描述的各種功能。例如,在一些實施例中,遠端伺服器106可以供應DHIDs 124(例如,經由RF通訊)。在另一個實施例中,在相應的元件被固定到計算裝置102前,一或多個DHIDs 124可以被提供。
現在參考圖4,在使用中,計算裝置102可以執行用於供應計算裝置102的DHIDs 124、126的方法400。說明性方法400開始於圖4的方塊402,其中計算裝置102判定是否供應計算裝置102的一或多個DHIDs 124。為了便於描述,各元件和計算裝置102的DHIDs 124、126在本文中描述為已經組裝/固定到計算裝置102且由計算裝置102供應;然而,如上面所討論的,在一些實施例中,一或多個DHIDs 124、126可在組裝/固定到硬體元件或到計算裝置102之前供應和/或可以由遠端伺服器106或其他實體供應。
如果計算裝置102判定供應計算裝置102的至少一個DHID 124,在方塊404中,計算裝置102選擇下一個DHID 124來供應。應該理解的是,構成“下一個”DHID 124的元件可以根據特定實施例變化並且可以任意選擇。在說明性實施例中,計算裝置102選擇被固定到計算裝置102的硬體元件的下一個DHID 124。在方塊406中,計算裝置102供應資料至所選擇的DHID 124。為此,在方塊408中,計算裝置102供應識別資料208至所 選擇的DHID 124。如上述,在一些實施例中,識別資料208識別元件並且當儲存在DHID 124的記憶體206中時可被加密。應該理解的是,計算裝置102可使用任何合適的技術判定用於供應的硬體元件的識別資訊。例如,在一些實施例中,OEM或ODM的僱員可以利用使用者介面來提供識別資訊。在其他實施例中,DHID 124可以與元件通訊(例如,電性地或無線地)以接收這種識別資訊。在一些實施例中,在方塊410中,計算裝置102還可以供應描述資料210到所選的DHID 124和/或在方塊412中,可提供約束資料212到所選的DHID 124。如上所示,描述資料210可包含描述所選擇的DHID 124、所選擇的DHID 124的關係和/或所選擇的DHID 124被固定至的硬體元件之資料。此外,約束資料212可以表示限制、約束和/或與所選擇的DHID 124和/或所選擇的DHID 124被固定至的硬體元件相關之條件。
在方塊414中,計算裝置102判定是否供應計算裝置102的其他DHID 124。如果是,則方法400返回到方塊404,其中計算裝置102選擇下一個用於供應的DHID 124。在說明性實施例中,計算裝置102經由固定到計算裝置102的硬體元件之各個DHIDs 124進行迭代且供應各個那些DHIDs 124。在方塊402或方塊414中,如果計算裝置102判定不提供計算裝置102的任何其他DHIDs 124,則在方塊416中,計算裝置102判定是否供應主要DHID 126。
如果計算裝置102判定不提供主要DHID 126(例如,因為它已經被供應),則方法400前進到方塊422,其中計算裝置102判定是否更新儲存在一或多個DHIDs 124、126之資料。然而,如果計算裝置102判定供應主要DHID 126,在方塊418中,計算裝置102識別主要DHID 126。應該理解的是,計算裝置102可以使用任何合適的技術、演算法和/或機制來識別主要DHID 126。例如,計算裝置102可以選擇DHIDs 124之一作為主要DHID 126、判定預選的DHID 126、與每個DHIDs 124通訊以判定主要DHID 126和/或識別主要DHID 126。如以上所討論的,在一些實施例中,計算裝置102可以替代地利用獨立的SoC來執行本文所描述的主要DHID 126之功能。
在方塊420中,計算裝置102基於計算裝置102的硬體元件,供應元件集合識別資料至所識別的主要DHID 126,或更具體地,儲存在相應的DHIDs 124的那些元件的識別資料208。如本文所述,元件集合識別資料包含列表或DHIDs 124的集合,或應與彼此關聯的相應的硬體元件(例如,被綁定到計算裝置102)。在說明性實施例中,元件集合識別資料包含識別每個所供應的DHIDs 124的資訊。然而,在其它實施例中,元件集合識別資料包含一些(但不是全部)所供應的DHIDs 124的識別資訊。例如,在一些實施例中,DHID 124被固定於其上的並被供應的一或多個元件可以是非關鍵元件、頻繁更換元 件(例如,周邊裝置122)和/或計算裝置102(或OEM)可以判定它不需要綁定該元件到計算裝置102。
在方塊422中,計算裝置102判定是否更新儲存在一或多個DHIDs 124、126上的資料。如果是,在方塊424中,計算裝置102從而更新供應給DHID 124、126之相應的資料。例如,如上面所討論的,在一些實施例中,識別資料208、描述資料210、和/或約束資料212可在各時間點被更新(例如,在製造供應鏈中的不同的階段、在元件的調試/停用期間等)。當然,在其他實施例中,儲存在DHIDs 124、126的資料在初始供應之後可以不被更新。方法400返回到方塊422,其中計算裝置102再次判定是否更新儲存在DHIDs 124、126的資料。換言之,計算裝置102或者更具體地,DHIDs 124、126可以等待指令以更新資料。當然,DHIDs 124、126可以在此過渡期間與其他元件/裝置進行互動。
現在參考圖5,在使用中,計算裝置102可以執行驗證計算裝置102的平台元件的方法500。說明性方法500開始於圖5的方塊502,其中計算裝置102判定是否啟動計算裝置102。如果是,在方塊504,則計算裝置102初始化啟動(即,開始執行其啟動程序)。在方塊506中,計算裝置102判斷是否驗證計算裝置102的元件。如果不是,方法500返回到方塊502,其中計算裝置102等待下一個啟動初始化以判定是否驗證裝置元件。當然,在其他實施例中,響應於其他條件(例如,使用者請 求、應用程式安裝,元件休眠期間等),計算裝置102可判定以驗證計算裝置102的元件。
在方塊508,如果計算裝置102判定以驗證計算裝置102的元件,計算裝置102檢索來自識別資料庫130中的平台識別資料。如上述,平台識別資料識別應該被包含在計算裝置102的硬體元件。例如,計算裝置102可檢索相應於製造商、型號和/或其它資訊的唯一識別計算裝置102所屬的計算裝置的特定類型/類別的平台識別資料。計算裝置102可利用任何合適的技術來這樣做。應當理解的是,在說明性實施例中,平台識別資料也可以與元件集合識別資料和/或DHIDs 124的識別資料208比較。
在方塊510,計算裝置102從相應的DHIDs 124、126存取硬體元件的識別資料208。如以上所討論,在一些實施例中,主要DHID 126(或替代的SoC)聚集DHID 124的識別資料208成元件集合識別資料,使得計算裝置102能夠從主要DHID 126(或替代SoC)檢索所有需要的資訊。如以上所討論,在一些實施例中,計算裝置102可以經由有線通訊模態(例如,經由電子電路)存取識別資料208和/或元件集合識別資料,而在其他實施例中,計算裝置102可以經由無線通訊模態(例如,經由RF通訊)存取識別資料208和/或元件集合識別資料。在方塊512,計算裝置102比較相應於計算裝置102的元件之DHID 124的識別資料208與已檢索的平台識別資料。 在說明性實施例中,如果存在匹配,則計算裝置102判定驗證是成功的,且包含被監控的DHIDs 124沒有任何元件已被移除、替換或修改。否則,計算裝置102基於該比較,識別已經被修改的元件。例如,如有的話,相應於已修改的元件的識別資料208可能不同於平台識別資料的相應的資料。應當理解的是,在一些實施例中,OEM提供或利用密碼密鑰和/或密鑰簽名來保護DHID 124上的資料可能不被欺詐地欺騙。
在方塊514,計算裝置102判定驗證是否成功。如果是,在方塊516,計算裝置102恢復啟動計算裝置102。然而,如果驗證是不成功,在方塊518,計算裝置基於該安全策略132執行一或多個安全操作。在一些實施例中,如果有一個不匹配,處理器110或連接到DHID 124的計算裝置102的其他元件讀取DHID 124並採取行動,這可能表示元件已被篡改。例如,在方塊520,計算裝置102可以防止計算裝置102的作業系統啟動。替代地或額外地,在方塊522,計算裝置102可改變計算裝置102的使用者、計算裝置102的製造商(例如,OEM)、遠端伺服器106和/或在方塊522的其他實體。在一些實施例中,如果驗證不成功,則計算裝置102可以修改,例如,儲存為DHID 124上描述資料210的簽名。此外,計算裝置102可以提供警告,防止計算裝置102啟動、放置錯誤碼於描述資料210或DHID 124的其他記憶體206中,和/或處理資料不匹配。應該理解的是,在一些實施 例中,系統的真實性可以經由與DHICs 124電性地和經由RF或其它無線通訊進行通訊被驗證。
如以上所討論,在一些實施例中,遠端伺服器106可以與一或多個DHIDs 124(例如,主要DHID 126)互動(例如,經由RF通訊),以判定計算裝置102的任何元件是否已被修改。在這樣做時,應該理解的是,遠端伺服器106可以執行類似於圖5中方法500的方法。具體地,遠端伺服器106可以檢索平台識別資料(例如,從儲存在遠端伺服器106上或可存取遠端伺服器106的識別資料庫130)和將平台識別資料與元件集合識別資料或根據特定實施例的DHIDs 124的個體識別資料208進行比較。在一些實施例中,識別資料208和/或元件集合識別資料可以從相應的DHIDs 124經由RF通訊或其它無線通訊被檢索。如果驗證不成功,在一些實施例中,遠端伺服器106可以從計算裝置102執行不同的策略操作。例如,根據不同的驗證檢查的目的,遠端伺服器106則可能使計算裝置102的保固失效、提醒OEM或ODM有關該修改、請求更換不可接受裝運的商品和/或以合適的方式根據特定的脈絡處理錯誤。在另一個實施例中,資料中心或審計伺服器可以經由RF通訊(例如,使用RF讀取器)和/或經由電線電性地(例如,經由通訊或資料匯流排)與DHIDs 124、126進行通訊,以確認計算裝置102還沒有被篡改或修改。
實例
下面提供本文所揭露的技術之說明性實例。技術的實施例可包含任何一個或多個以及其任何組合的下面描述的實例。
實例1包含一種用於驗證其硬體元件的計算裝置,該計算裝置包含一或多個雙頭識別裝置,其中該一或多個雙頭識別裝置的每一個被固定到相應的硬體元件且包含(i)表示該相應的硬體元件的身份之硬體元件識別資料,(ii)有線通訊電路,和(iii)無線通訊電路;以及平台驗證模組,其用以(i)檢索表示該計算裝置的一或多個參考硬體元件的該計算裝置的平台識別資料,(ii)存取該一或多個雙頭識別裝置的該硬體元件識別資料,和(iii)比較該平台識別資料與該硬體元件識別資料,以判定是否該計算裝置的硬體元件已被修改。
實例2包含實例1的申請標的,並且進一步包含啟動模組,其用以初始化該計算裝置的啟動,其中用以比較該平台識別資料與該硬體元件識別資料,其包含響應於該啟動初始化,用以比較該平台識別資料與該硬體元件識別資料。
實例3包含實例1和2中任一項的申請標的,且其中該平台驗證模組係進一步響應於該計算裝置的硬體元件已被修改的判定,用以執行安全動作。
實例4包含實例1至3中任一項的申請標的,且其中用以執行該安全動作包含防止該計算裝置的作 業系統啟動。
實例5包含實例1至4中任一項的申請標的,且其中用以執行該安全動作包含用以產生警報資訊。
實施例6包含實例1至5中任一項的申請標的,且其中用以執行該安全動作包含用以發送該警報資訊到識別為已修改的該計算裝置的該硬體元件的製造商。
實例7包含實例1至6中任一項的申請標的,且其中該平台驗證模組係進一步用以供應該識別資料到該計算裝置的該相應的一或多個雙頭識別裝置。
實例8包含實例1至7中任一項的申請標的,且其中供應該識別資料進一步包含用以供應描述資料或約束資料中的至少一個到該相應的一或多個雙頭識別裝置,其中該描述資料描述該相應的雙頭識別裝置、該相應的雙頭識別裝置的關係、或該相應的雙頭識別裝置的該相應的硬體元件中的至少一個,以及其中該約束資料表示與該相應的雙頭識別裝置有關的限制、約束、或條件中的至少一個。
實例9包含實例1至8中任一項的申請標的,且其中該平台驗證模組係進一步用以更新相應於雙頭識別裝置的該識別資料、該描述資料、或該約束資料中的至少一個。
實例10包含實例1至9中任一項的申請標的,且其中用以更新該雙頭識別裝置的該說明資料包含用以維持該雙頭識別裝置的來源資料。
實例11包含實例1至10中任一項的申請標的,且其中該約束資料係表示雙頭識別裝置之一或多個地理約束或時間約束。
實例12包含實例1至11中任一項的申請標的,且其中該地理約束識別在該計算裝置被授權用以執行功能之內的地理邊界。
實例13包含實例1至12中任一項的申請標的,且其中該時間約束識別該計算裝置被授權用以執行功能的一段期間。
實例14包含實例1至13中任一項的申請標的,且其中該平台驗證模組係進一步用以自該一或多個雙頭識別裝置中識別出主要雙頭識別裝置;以及基於該計算裝置的該已供應的一或多個雙頭識別裝置,供應元件集合識別資料到該主要雙頭識別裝置,其中該元件集合識別資料係表示在供應該主要雙頭識別裝置的該時間時,在該計算裝置上的硬體元件。
實例15包含實例1至14中任一項的申請標的,且其中用以供應該元件集合識別資料到該主要雙頭識別裝置包含用以檢索該一或多個雙頭識別裝置的該識別資料以及用以結合該一或多個雙頭識別裝置的該識別資料到該計算裝置。
實例16包含實例1至15中任一項的申請標的,且其中用以存取該硬體元件識別資料包含用以從該主要雙頭識別裝置存取該元件集合識別資料。
實例17包含實例1至16中任一項的申請標的,且其中該無線通訊電路包含射頻通訊電路。
實例18包含實例1至17中任一項的申請標的,且其中該無線通訊電路包含射頻識別電路。
實例19包含實例1至18中任一項的申請標的,並且進一步包含主機板,其中該一或多個雙頭識別裝置的每一個的該有線通訊電路包含電性地耦接到該主機板的相應的引腳。
實例20包含實例1至19中任一項的申請標的,並且進一步包含專用通訊匯流排用以與該硬體元件識別資料通訊,其中該有線通訊電路係電性地耦接到該專用通訊匯流排。
實例21包含一種用於驗證計算裝置的硬體元件之方法,該方法包含檢索該計算裝置的平台識別資料,該平台識別資料表示該計算裝置的一或多個參考硬體元件;從一或多個雙頭識別裝置存取硬體元件識別資料,其中該一或多個雙頭識別裝置的每一個係被固定到該計算裝置的相應的硬體元件以及(i)包含表示該計算裝置的該相應的硬體元件的標識的識別資料以及(ii)能夠有線和無線的通訊;以及比較該平台識別資料與該硬體元件識別資料,用以判定該計算裝置的硬體元件是否已被修改。
實例22包含實例21的申請標的,且其中檢索該平台識別資料包含藉由該計算裝置檢索該平台識別資料;存取該硬體元件識別資料包含藉由該計算裝置存取該 硬體元件識別資料;以及比較該平台識別資料與該硬體元件識別資料包含藉由該計算裝置比較該平台識別資料與該硬體元件識別資料。
實例23包含實例21至22中任一項的申請標的,且其中檢索該平台識別資料包含藉由遠端伺服器檢索該平台識別資料;存取該硬體元件識別資料包含藉由該遠端伺服器和從該計算裝置接收該硬體元件識別資料;以及比較該平台識別資料與該硬體元件識別資料包含藉由該遠端伺服器比較該平台識別資料與該硬體元件識別資料。
實例24包含實例21至23中任一項的申請標的,且其中存取該硬體元件識別資料包含藉由該遠端伺服器和從該計算裝置以射頻通訊接收該硬體元件識別資料。
實例25包含實例21至24中任一項的申請標的,並且進一步包含初始化該計算裝置的啟動,其中比較該平台識別資料與該硬體元件識別資料包含響應於該啟動初始化,比較該平台識別資料與該硬體元件識別資料。
實例26包含實例21至25中任一項的申請標的,並且進一步包含響應於該計算裝置的硬體元件已被修改的判定,執行安全動作。
實例27包含實例21至26中任一項的申請標的,並且執行該安全動作包含防止該計算裝置的作業系統啟動。
實例28包含實例21至27中任一項的申請標的,且其中執行該安全動作包含產生警報資訊。
實例29包含實例21至28中任一項的申請標的,且其中執行該安全動作包含發送該警報資訊到識別為已修改的該計算裝置的該硬體元件的製造商。
實例30包含實例21至29中任一項的申請標的,並且進一步包含供應該識別資料到該計算裝置的該相應的一或多個雙頭識別裝置。
實例31包含實例21至30中任一項的申請標的,並且供應該識別資料進一步包含用以供應描述資料或約束資料中的至少一個到該相應的一或多個雙頭識別裝置,其中該描述資料描述該相應的雙頭識別裝置、該相應的雙頭識別裝置的關係、或該相應的雙頭識別裝置的該相應的硬體元件中的至少一個,以及其中該約束資料表示與該相應的雙頭識別裝置有關的限制、約束、或條件中的至少一個。
實例32包含實例21至31中任一項的申請標的,並且進一步包含更新相應於雙頭識別裝置的該識別資料、該描述資料、或該約束資料中的至少一個。
實例33包含實例21至32中任一項的申請標的,且其中更新該雙頭識別裝置的該說明資料包含用以維持該雙頭識別裝置的來源資料。
實例34包含實例21至33中任一項的申請標的,且其中該約束資料係表示雙頭識別裝置之一或多個地理約束或時間約束。
實例35包含實例21至34中任一項的申請標 的,且其中該地理約束識別在該計算裝置被授權用以執行功能之內的地理邊界。
實例36包含實例21至35中任一項的申請標的,且其中該時間約束識別該計算裝置被授權用以執行功能的一段期間。
實例37包含實例21至36中任一項的申請標的,且進一步包含自該一或多個雙頭識別裝置中識別出主要雙頭識別裝置;以及基於該計算裝置的該已供應的一或多個雙頭識別裝置,供應元件集合識別資料到該主要雙頭識別裝置,其中該元件集合識別資料係表示在供應該主要雙頭識別裝置的該時間時,在該計算裝置上的硬體元件。
實例38包含實例21至37中任一項的申請標的,且其中供應該元件集合識別資料到該主要雙頭識別裝置包含檢索該一或多個雙頭識別裝置的該識別資料以及結合該一或多個雙頭識別裝置的該識別資料到該計算裝置。
實例39包含實例21至38中任一項的申請標的,且其中存取該硬體元件識別資料包含從該主要雙頭識別裝置存取該元件集合識別資料。
實例40包含一種計算裝置,其包含處理器;以及記憶體,其具有儲存在其內的複數個指令,當該複數個指令由該處理器執行時使該計算裝置用以執行實例21至39中任一項的方法。
實例41包含一或多個機器可讀儲存媒體,其包含儲存於其上的複數個指令,響應於由計算裝置執行時 使該計算裝置用以執行實例21至39中任一項的方法。
實例42包含一種計算裝置,其用於檢索該計算裝置的平台識別資料之機制,該平台識別資料表示該計算裝置的一或多個參考硬體元件;用於從一或多個雙頭識別裝置存取硬體元件識別資料之機制,其中該一或多個雙頭識別裝置的每一個係被固定到該計算裝置的相應的硬體元件以及(i)包含表示該計算裝置的該相應的硬體元件的標識的識別資料以及(ii)能夠有線和無線的通訊;以及用於比較該平台識別資料與該硬體元件識別資料之機制,來判定該計算裝置的硬體元件是否已被修改。
實例43包含實例42的申請標的,且其中所述用於檢索該平台識別資料之機制包含藉由該計算裝置檢索該平台識別資料之機制;所述用於存取該硬體元件識別資料之機制包含藉由該計算裝置存取該硬體元件識別資料;以及所述用於比較該平台識別資料與該硬體元件識別資料之機制包含藉由該計算裝置比較該平台識別資料與該硬體元件識別資料。
實例44包含實例42與43中任一項的申請標的,且其中所述用於檢索該平台識別資料之機制包含藉由遠端伺服器檢索該平台識別資料;所述用於存取該硬體元件識別資料之機制包含藉由該遠端伺服器和從該計算裝置接收該硬體元件識別資料;以及所述用於比較該平台識別資料與該硬體元件識別資料之機制包含藉由該遠端伺服器比較該平台識別資料與該硬體元件識別資料。
實例45包含實例42至44中任一項的申請標的,且其中所述用於存取硬體元件識別資料之機制包含用於藉由該遠端伺服器和從該計算裝置以射頻通訊接收該硬體元件識別資料之機制。
實例46包含實例42至45中任一項的申請標的,且進一步包含用於初始化該計算裝置的啟動之機制,其中所述用於比較該平台識別資料與該硬體元件識別資料之機制包含用於響應於該啟動初始化,比較該平台識別資料與該硬體元件識別資料之機制。
實例47包含實例42至46中任一項的申請標的,且進一步包含用於響應於該計算裝置的硬體元件已被修改的判定,執行安全動作之機制。
實例48包含實例42至47中任一項的申請標的,且其中所述用於執行該安全動作之機制包含用於防止該計算裝置的作業系統啟動之機制。
實例49包含實例42至48中任一項的申請標的,且其中所述用於執行該安全動作之機制包含用於產生警報資訊之機制。
實例50包含實例42至49中任一項的申請標的,且其中所述用於執行安全動作之機制包含用於發送該警報資訊到識別為已修改的該計算裝置的該硬體元件的製造商之機制。
實例51包含實例42至50中任一項的申請標的,且進一步包含用於供應該識別資料到該計算裝置的該 相應的一或多個雙頭識別裝置之機制。
實例52包含實例42至51中任一項的申請標的,且其中所述用於供應該識別資料之機制進一步包含用於供應描述資料或約束資料中的至少一個到該相應的一或多個雙頭識別裝置之機制,其中該描述資料描述該相應的雙頭識別裝置、該相應的雙頭識別裝置的關係、或該相應的雙頭識別裝置的該相應的硬體元件中的至少一個,以及其中該約束資料與該相應的雙頭識別裝置有關的表示限制、約束、或條件中的至少一個。
實例53包含實例42至52中任一項的申請標的,且進一步包含用於更新相應於雙頭識別裝置的該識別資料、該描述資料、或該約束資料中的至少一個之機制。
實例54包含實例42至53中任一項的申請標的,且其中所述用於更新該雙頭識別裝置的該說明資料之機制包含用於維持該雙頭識別裝置的來源資料之機制。
實例55包含實例42至54中任一項的申請標的,且其中該約束資料係表示雙頭識別裝置之一或多個地理約束或時間約束。
實例56包含實例42至55中任一項的申請標的,且其中該地理約束識別在該計算裝置被授權用以執行功能之內的地理邊界。
實例57包含實例42至56中任一項的申請標的,且其中該時間約束識別該計算裝置被授權用以執行功能的一段期間。
實例58包含實例42至57中任一項的申請標的,且進一步包含用於自該一或多個雙頭識別裝置中識別出主要雙頭識別裝置之機制;以及用於基於該計算裝置的該已供應的一或多個雙頭識別裝置,供應元件集合識別資料到該主要雙頭識別裝置之機制,其中該元件集合識別資料係表示在供應該主要雙頭識別裝置的該時間時,在該計算裝置上的硬體元件。
實例59包含實例42至58中任一項的申請標的,且其中所述用於供應該元件集合識別資料到該主要雙頭識別裝置之機制包含檢索該一或多個雙頭識別裝置的該識別資料之機制;以及用於結合該一或多個雙頭識別裝置的該識別資料到該計算裝置之機制。
實例60包含實例42至59中任一項的申請標的,且其中所述用於存取該硬體元件識別資料之機制包含用於從該主要雙頭識別裝置存取該元件集合識別資料之機制。
100‧‧‧系統
102‧‧‧計算裝置
104‧‧‧網路
106‧‧‧遠端伺服器
110‧‧‧處理器
112‧‧‧輸入/輸出(“I/O”)子系統
114‧‧‧記憶體
116‧‧‧安全引擎
118‧‧‧資料儲存
120‧‧‧通訊電路
122‧‧‧周邊裝置
124‧‧‧雙頭識別裝置
126‧‧‧主要DHID
130‧‧‧識別資料庫
132‧‧‧安全策略

Claims (25)

  1. 一種用於驗證其硬體元件的計算裝置,該計算裝置包含:一或多個雙頭識別裝置,其中該一或多個雙頭識別裝置的每一個被固定到相應的硬體元件且包含(i)表示該相應的硬體元件的身份之硬體元件識別資料,(ii)有線通訊電路,和(iii)無線通訊電路;以及處理器,用以建立平台驗證模組,其用以(i)檢索表示該計算裝置的一或多個參考硬體元件的該計算裝置的平台識別資料,(ii)識別該等雙頭識別裝置中的一個作為主要雙頭識別裝置,(iii)從該識別的主要雙頭識別裝置接收元件集合識別資料,該元件集合識別資料包括與該主要雙頭識別裝置不同的一或多個次要雙頭識別裝置的硬體元件識別資料,和(iv)比較該平台識別資料與該元件集合識別資料中的該硬體元件識別資料,以判定是否該計算裝置的硬體元件已被修改。
  2. 如申請專利範圍第1項之計算裝置,進一步包含啟動模組,其用以初始化該計算裝置的啟動,其中用以比較該平台識別資料與該硬體元件識別資料包含響應於該啟動初始化,用以比較該平台識別資料與該硬體元件識別資料。
  3. 如申請專利範圍第1項之計算裝置,其中該平台驗證模組係進一步響應於該計算裝置的硬體元件已被修改的判定,用以執行安全動作。
  4. 如申請專利範圍第3項之計算裝置,其中用以執行該安全動作包含防止該計算裝置的作業系統啟動。
  5. 如申請專利範圍第3項之計算裝置,其中用以執行該安全動作包含用以:產生警報資訊;以及發送該警報資訊到識別為已修改的該計算裝置的該硬體元件的製造商。
  6. 如申請專利範圍第1項之計算裝置,其中該平台驗證模組係進一步用以供應該硬體元件識別資料到該計算裝置的該相應的一或多個雙頭識別裝置。
  7. 如申請專利範圍第6項之計算裝置,其中用以供應該硬體元件識別資料進一步包含用以供應描述資料或約束資料中的至少一個到該相應的一或多個雙頭識別裝置,其中該描述資料描述該相應的雙頭識別裝置、該相應的雙頭識別裝置的關係、或該相應的雙頭識別裝置的該相應的硬體元件中的至少一個,以及其中該約束資料表示與該相應的雙頭識別裝置有關的限制、約束、或條件中的至少一個。
  8. 如申請專利範圍第7項之計算裝置,其中該平台驗證模組係進一步用以更新相應於雙頭識別裝置的該硬體元件識別資料、該描述資料、或該約束資料中的至少一個。
  9. 如申請專利範圍第6項之計算裝置,其中用以供應該硬體元件識別資料包含用以維持該雙頭識別裝置的來源資料。
  10. 如申請專利範圍第6項之計算裝置,其中用以供應該硬體元件識別資料包含用以供應表示雙頭識別裝置的一或多個地理約束或時間約束的約束資料。
  11. 如申請專利範圍第10項之計算裝置,其中該地理約束識別在該計算裝置被授權用以執行功能之內的地理邊界。
  12. 如申請專利範圍第10項之計算裝置,其中該時間約束識別該計算裝置被授權用以執行功能的一段期間。
  13. 如申請專利範圍第6項之計算裝置,其中該平台驗證模組係進一步用以:基於該計算裝置的該已供應的一或多個雙頭識別裝置,供應該元件集合識別資料到該主要雙頭識別裝置,其中該元件集合識別資料係表示在供應該主要雙頭識別裝置的該時間時,在該計算裝置上的硬體元件。
  14. 如申請專利範圍第13項之計算裝置,其中用以供應該元件集合識別資料到該主要雙頭識別裝置包含用以(i)檢索該一或多個雙頭識別裝置的該硬體元件識別資料以及(ii)結合該一或多個雙頭識別裝置的該硬體元件識別資料到該計算裝置。
  15. 如申請專利範圍第1項之計算裝置,其中該主要雙頭識別裝置為系統單晶片(SOC)。
  16. 如申請專利範圍第1項之計算裝置,其中當該相應的硬體元件係由該計算裝置供電時,該有線通訊電路係用以電性地通訊,並且當該相應的硬體元件未被供電時, 該無線通訊電路係用以通訊。
  17. 如申請專利範圍第1項之計算裝置,其中該主要雙頭識別裝置係用以選擇性地委任或停用該等次要雙頭識別裝置中的一或多個。
  18. 一種非暫態機器可讀儲存媒體,其包含複數個儲存在其上的指令,響應於由第一計算裝置執行,使該第一計算裝置用以:檢索第二計算裝置的平台識別資料,該平台識別資料表示該第二計算裝置的一或多個參考硬體元件;識別該第二計算裝置中的複數個雙頭識別裝置中的一個作為主要雙頭識別裝置;從該識別的主要雙頭識別裝置接收元件集合識別資料,該元件集合識別資料包括與該主要雙頭識別裝置不同的一或多個次要雙頭識別裝置的硬體元件識別資料,其中該等雙頭識別裝置中的每一個係被固定到該第二計算裝置的相應的硬體元件以及(i)包含表示該第二計算裝置的該相應的硬體元件的標識的識別資料以及(ii)能夠有線和無線的通訊;以及比較該平台識別資料與該元件集合識別資料中的該硬體元件識別資料,用以判定是否該第二計算裝置的硬體元件已被修改。
  19. 如申請專利範圍第18項之非暫態機器可讀儲存媒體,其中該第一計算裝置和該第二計算裝置係同一計算裝置。
  20. 如申請專利範圍第18項之非暫態機器可讀儲存媒體,其中該複數個指令進一步使得該第一計算裝置用以初始化該第二計算裝置的啟動,其中用以比較該平台識別資料與該硬體元件識別資料包含響應於該啟動初始化,用以比較該平台識別資料與硬體元件識別資料。
  21. 如申請專利範圍第18項之非暫態機器可讀儲存媒體,其中該複數個指令進一步使得該第一計算裝置用以供應該硬體元件識別資料到該第二計算裝置的該相應的一或多個雙頭識別裝置。
  22. 如申請專利範圍第21項之非暫態機器可讀儲存媒體,其中該複數個指令進一步使得該第一計算裝置用以:基於該第二計算裝置的該已供應的一或多個雙頭識別裝置,供應該元件集合識別資料到該主要雙頭識別裝置,其中該元件集合識別資料係表示在供應該主要雙頭識別裝置的該時間時,在該第二計算裝置上的硬體元件。
  23. 如申請專利範圍第22項之非暫態機器可讀儲存媒體,其中用以供應該元件集合識別資料到該主要雙頭識別裝置包含用以(i)檢索該一或多個雙頭識別裝置的該硬體元件識別資料以及(ii)結合該一或多個雙頭識別裝置的該硬體元件識別資料到該第二計算裝置。
  24. 一種用於驗證計算裝置的硬體元件之方法,該方法包含:檢索該計算裝置的平台識別資料,該平台識別資料表示該計算裝置的一或多個參考硬體元件; 識別該計算裝置中的複數個雙頭識別裝置中的一個作為主要雙頭識別裝置;從該識別的主要雙頭識別裝置接收元件集合識別資料,該元件集合識別資料包括與該主要雙頭識別裝置不同的一或多個次要雙頭識別裝置的硬體元件識別資料,其中該等雙頭識別裝置中的每一個係被固定到該計算裝置的相應的硬體元件以及(i)包含表示該計算裝置的該相應的硬體元件的標識的識別資料以及(ii)能夠有線和無線的通訊;以及比較該平台識別資料與該元件集合識別資料中的該硬體元件識別資料,來判定該計算裝置的硬體元件是否已被修改。
  25. 如申請專利範圍第24項之方法,其中:檢索該平台識別資料包含藉由遠端伺服器檢索該平台識別資料;接收該元件集合識別資料包含藉由該遠端伺服器和從該計算裝置接收該元件集合識別資料;以及比較該平台識別資料與該硬體元件識別資料包含藉由該遠端伺服器比較該平台識別資料與該硬體元件識別資料。
TW104126702A 2014-09-23 2015-08-17 用於驗證計算裝置的硬體元件之計算裝置和方法 TWI582637B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/493,786 US9589155B2 (en) 2014-09-23 2014-09-23 Technologies for verifying components

Publications (2)

Publication Number Publication Date
TW201629828A TW201629828A (zh) 2016-08-16
TWI582637B true TWI582637B (zh) 2017-05-11

Family

ID=55526021

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104126702A TWI582637B (zh) 2014-09-23 2015-08-17 用於驗證計算裝置的硬體元件之計算裝置和方法

Country Status (5)

Country Link
US (1) US9589155B2 (zh)
EP (1) EP3198509A4 (zh)
CN (1) CN106575345B (zh)
TW (1) TWI582637B (zh)
WO (1) WO2016048490A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10251060B2 (en) * 2016-09-27 2019-04-02 Intel Corporation Modifying access to a service based on configuration data
US10262140B2 (en) 2016-09-29 2019-04-16 Intel Corporation Methods and apparatus to facilitate blockchain-based boot tracking
US11049039B2 (en) 2016-09-30 2021-06-29 Mcafee, Llc Static and dynamic device profile reputation using cloud-based machine learning
US10789550B2 (en) 2017-04-13 2020-09-29 Battelle Memorial Institute System and method for generating test vectors
US10740494B2 (en) * 2017-09-06 2020-08-11 Google Llc Central and delegate security processors for a computing device
KR20190074857A (ko) * 2017-12-20 2019-06-28 삼성전자주식회사 펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법
US10826690B2 (en) * 2017-12-28 2020-11-03 Intel Corporation Technologies for establishing device locality
CN108683492B (zh) * 2018-04-28 2021-09-03 全球能源互联网研究院有限公司 一种可信无线传感器及控制方法
US10896266B1 (en) * 2018-07-12 2021-01-19 Amazon Technologies, Inc. Computer hardware attestation
CN110135130B (zh) * 2019-04-25 2021-03-12 武汉虹信科技发展有限责任公司 一种嵌入式设备软件防改装方法及系统
US11593526B1 (en) * 2019-08-28 2023-02-28 Apple Inc. Systems and methods for authenticating components on an electronic device
EP3907645A1 (en) * 2020-05-08 2021-11-10 Secure Thingz Limited Apparatus and method for controlling the assembly of electronic devices
KR20230022229A (ko) * 2020-11-09 2023-02-14 주식회사 아도반테스토 인증되지 않은 변경으로부터 측정 시스템을 보호하는 방법, 측정 시스템의 무결성을 검사하는 방법, 이러한 방법을 수행하도록 구성된 측정 시스템 및 이러한 방법을 수행하기 위한 컴퓨터 프로그램
US20220382912A1 (en) * 2021-06-01 2022-12-01 Cisco Technology, Inc. Using a trust anchor to verify an identity of an asic

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080117028A1 (en) * 2006-11-22 2008-05-22 International Business Machines Corporation Rfid assisted calibration system
US20100082961A1 (en) * 2008-09-30 2010-04-01 Naga Gurumoorthy Apparatus and method to harden computer system
TW201241667A (en) * 2011-04-15 2012-10-16 Hon Hai Prec Ind Co Ltd An electronic apparatus with an authorization management function and a method thereof

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126423A1 (en) * 2001-12-28 2003-07-03 Crossroads Systems, Inc. Electronic branding technology
US20030217067A1 (en) * 2002-05-17 2003-11-20 Sun Microsystems, Inc. Method and system for conveying component data identifying a component and indicating component operating conditions
US20050039016A1 (en) * 2003-08-12 2005-02-17 Selim Aissi Method for using trusted, hardware-based identity credentials in runtime package signature to secure mobile communications and high-value transaction execution
US7561875B1 (en) * 2003-10-16 2009-07-14 Sun Microsystems, Inc. Method and apparatus for wirelessly testing field-replaceable units (FRUs)
US8738822B2 (en) * 2005-05-03 2014-05-27 Flexera Software Llc System and method for controlling operation of a component on a computer system
US20070027809A1 (en) * 2005-08-01 2007-02-01 Jukka Alve Method for signaling geographical constraints
US20070057956A1 (en) * 2005-09-13 2007-03-15 International Business Machines Corporation Method, apparatus, and computer program product for implementing self-modeling computer systems componentry
US20080024268A1 (en) * 2006-07-14 2008-01-31 Wong Hong W Component authentication for computer systems
EP2110766A1 (en) * 2008-04-16 2009-10-21 Robert Bosch Gmbh Electronic control unit, software and/or hardware component and method to reject wrong software and/or hardware components with respect to the electronic control unit
US8726407B2 (en) * 2009-10-16 2014-05-13 Deviceauthority, Inc. Authentication of computing and communications hardware
CN103503366B (zh) * 2011-05-06 2016-10-12 塞尔蒂卡姆公司 管理针对认证设备的数据
US20140208105A1 (en) * 2013-01-23 2014-07-24 GILBARCO, S.r.I. Automated Content Signing for Point-of-Sale Applications in Fuel Dispensing Environments
GB2522032A (en) * 2014-01-10 2015-07-15 Ibm Controlling the configuration of computer systems
US10298546B2 (en) * 2014-03-07 2019-05-21 Toshiba Memory Corporation Asymmetrical encryption of storage system to protect copyright and personal information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080117028A1 (en) * 2006-11-22 2008-05-22 International Business Machines Corporation Rfid assisted calibration system
US20100082961A1 (en) * 2008-09-30 2010-04-01 Naga Gurumoorthy Apparatus and method to harden computer system
TW201241667A (en) * 2011-04-15 2012-10-16 Hon Hai Prec Ind Co Ltd An electronic apparatus with an authorization management function and a method thereof

Also Published As

Publication number Publication date
EP3198509A4 (en) 2018-05-16
EP3198509A1 (en) 2017-08-02
CN106575345B (zh) 2019-11-05
US9589155B2 (en) 2017-03-07
US20160085995A1 (en) 2016-03-24
TW201629828A (zh) 2016-08-16
CN106575345A (zh) 2017-04-19
WO2016048490A1 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
TWI582637B (zh) 用於驗證計算裝置的硬體元件之計算裝置和方法
US11533187B2 (en) Device birth certificate
EP3805968B1 (en) Technologies for secure hardware and software attestation for trusted i/o
CN104303190B (zh) 用于提供对系统的地理保护的装置和方法
CN104995629B (zh) 用于平台引导固件的信任继续的方法、设备和系统
US9525555B2 (en) Partitioning access to system resources
US10534936B2 (en) System and method for enabling and disabling of baseboard management controller configuration lockdown
CN107547571A (zh) 用于管理访问控制的基于策略的技术
CN105339948B (zh) 用于供应用于固件受信任平台模块的认可密钥证书的装置和方法
US11218463B2 (en) Trust establishment to deploy servers in data centers
TW201610749A (zh) 用於硬體特徵之安全離線活化的技術
US11822669B2 (en) Systems and methods for importing security credentials for use by an information handling system
US20160065375A1 (en) Dynamic integrity validation of a high level operating system
WO2018026628A1 (en) Systems and methods for storing administrator secrets in management controller-owned cryptoprocessor
US20230325535A1 (en) Fast identity online (fido) device onboarding (fdo) protocol computing device hardware attestation system
US10764734B2 (en) Service operation management using near-field communications
US11977640B2 (en) Systems and methods for authenticating the identity of an information handling system
US11190519B2 (en) Dock administration using a token
US10242175B2 (en) Method and system for authentication of a storage device
US11822668B2 (en) Systems and methods for authenticating configurations of an information handling system
US20180262479A1 (en) Technologies for verifying authorized operation of servers
US11843707B2 (en) Systems and methods for authenticating hardware of an information handling system
TW201346773A (zh) 對電子晶片進行驗證的方法與使用者終端

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees