TWI436236B - 安全更新現場可升級單元之方法與系統 - Google Patents
安全更新現場可升級單元之方法與系統 Download PDFInfo
- Publication number
- TWI436236B TWI436236B TW099126719A TW99126719A TWI436236B TW I436236 B TWI436236 B TW I436236B TW 099126719 A TW099126719 A TW 099126719A TW 99126719 A TW99126719 A TW 99126719A TW I436236 B TWI436236 B TW I436236B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- information
- network device
- update
- updated
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
- G06Q20/1235—Shopping for digital content with control of digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Description
本發明所揭示之實施例一般係有關於保護計算系統安全之領域,特別是關於執行安全之程式升級。
在裝置付諸實際使用之後,可能會想要增強或更新其功能。因此,有必要安全地更新「現場可升級單元(field upgradeable unit)」中的軟體或韌體(firmware),使得攻擊者無法以偽造的資訊修改該等單元。
現有之系統係藉由在軟體中簽認密碼金鑰(cryptographic key)以保護軟體免於假造之修改。例如,一中央機房可以發出一個附含一簽章之更新至一現場可升級單元。該簽章及一中央機房之私鑰(private key)可以一起使用以認證該更新之有效性以及其來源。當發出一更新之時,上述之現場可升級單元利用公鑰(public key)認證該更新。若簽章相符,則現場可升級單元可以安裝該更新。若更新簽章無法被認證,則現場可升級單元決定該更新係偽造的並拒絕其安裝。
更新之認證有賴於假設中央機房之私鑰被用以產生一有效的簽章,其可以在現場可升級單元中與公鑰之複本進行認證。雖然公鑰及私鑰可以被安全地儲存,但攻擊者可能取得密鑰。例如,只要給予充分的時間和計算資源,攻擊者可能經由對公鑰的暴力式攻擊而解出私鑰。公鑰可以經由涉入現場可升級單元生產的人員竊取該密鑰的「鼴鼠式攻擊(mole attack)」而被破解。實體之攻擊則是藉由取得一個現場可升級單元並置換其整個記憶體而使得其可以存取公鑰。
擁有中央機房私鑰的攻擊者可以破解一整個網路。舉例而言,該攻擊者可以使用私鑰散佈一假造之更新。由於攻擊者的假造更新係以有效的密鑰簽章及/或加密,現場可升級單元使用其公鑰解密並認證該假造的更新。如此一來可以致能節點上的軟體或韌體被更新成無效的及/或具有惡意的軟體。
抵禦此等攻擊的辦法之一係週期性地更新儲存於每一現場可升級單元之中的中央機房公鑰,從而避免使用已被破解的中央機房私鑰。換言之,若想要抵禦暴力式攻擊,則中央機房公鑰的更新速度應比該密鑰被攻擊者推導出來的速度更快。對於鼴鼠式攻擊的抵抗,中央機房公鑰應在攻擊者可以使用破解之中央機房私鑰置換一現場可升級單元韌體之前更新。
本發明揭示用於安全升級例如現場可升級單元之裝置中的資訊之系統及方法。接收一更新物件之後,一裝置可以判定記憶體中一預先定義之位置是否包含一特定之數值,例如,一特定之指令。依據該預先定義位置中之該數值,該裝置可以將該接收到的更新物件儲存於記憶體中之一驗證部分。在驗證該更新物件之真實性之後,該裝置可以自上述記憶體中之驗證部分將該更新物件複製到安全記憶體中之一非活躍(inactive)部分。記憶體之該非活躍部分可以與安全記憶體之一活躍(active)部分互換,使得該非活躍部分變成活躍。
本說明書揭示之系統及方法係對網路裝置進行資訊更新。在一些示範性實施例之中,被更新之資訊可以包含裝置中的密碼金鑰、軟體及/或韌體。藉由更新裝置中的資訊,可以防止攻擊者利用竊取之密鑰將假造之資訊定期地置放於裝置上。例如,在一攻擊者取得中央機房私鑰之複本之事件中或者預期一攻擊者取得中央機房私鑰之複本時,本說明書所揭示之示範性實施例允許一網路操作者產生至少一新的私鑰並在該攻擊者可以使用竊取的私鑰之前更新網路裝置中對應的公鑰。此外,示範性實施例阻擋存在於網路裝置中之公鑰之破解。
圖1係例示一示範性系統100之方塊圖,示範性系統100包含現場可升級單元110A-110D(共同稱為「現場可升級單元110」)、一主機120以及網路130。一現場可升級單元110可以是任何可程式資料處理裝置。舉例而言,一現場可升級單元110可以是一一般用途電腦、一伺服器、一網路裝置(例如,閘道器(gateway)、終端設備、交換機、中繼器(repeater)、路由器(router))、一特定用途裝置(例如,住家設施儀錶(residential utility meter)、遠端感測器、機上盒(set-top box)、遊戲裝置、行動電話)、或是一家用電器(例如,電冰箱或洗碗機)。主機120可以是任何計算及/或通訊裝置,用以透過鏈結112傳送及/或接收資訊。例如,主機120可以是一伺服器、一工作站、一大型電腦(mainframe computer)、一微型電腦(mini-frame computer)、一桌上型電腦、一膝上型電腦、一個人數位助理(personal digital assistant)、或者任何其它計算或通訊裝置。
現場可升級單元110可以透過鏈結112通訊耦接至其它現場可升級單元以及主機120。在本揭示之中,「通訊耦接」一詞係指介於二或多個元件之間的任何直接或間接通訊,無論該等元件彼此之間是否實體接觸。通訊鏈結112可以是使用各種通訊協定之有線形式、固定無線形式、或是行動無線鏈結。通訊鏈結112可以包含任何硬體、軟體、韌體、或該等項目之組合。舉例而言,通訊鏈結112可以包含一雙絞線電話線路、一光纖線路、一數位用戶線路(Digital Subscriber Line;DSL)、一無線鏈結、一通用序列匯流排(USB)、一PCI匯流排、一乙太網路介面、或任何其它用以輔助對現場可升級單元110收送資訊的適當介面。此外,資訊可以是以內含於依據封包交換協定之資料封包內的形式在通訊鏈結112上傳送,諸如傳輸控制協定(Transaction Control Protocol;TCP)/網際網路協定(Internet Protocol;IP)、X.25、以及訊框中繼(Frame Relay)。
網路130可以包含任何無線網路、有線網路、或是無線和有線網路之組合,其能夠使用地面式及/或空中式元件支援網路構件之間的通訊。例如,網路130可以是一有線電視網路(cable television network)、一衛星通訊網路、一感測器網路(sensor network)、或一隨意式無線通訊網路(ad-hoc wireless communications network)、一數據網路(data network)、一公用交換式電話網路(public switched telephone network;PSTN)、一整合式服務數位網路(integrated services digital network;ISDN)、一區域網路(LAN)、一廣域網路(WAN)、一都會區域網路(metropolitan area network;MAN)、通稱網際網路(Internet)之全球電腦網路的整體或一部分、及/或位於一或多個場所處的其它通訊系統或通訊系統之組合。圖1所例示的網路130係一僅具有幾個一般組件之簡化實例。然而,具有不同數目及形式之不同組態組件之其它網路亦可以適用於本揭示之實施例並蒙受效益。網路130亦可以連接至另一網路、包含一或多個其它子網路、及/或其本身係另一網路內的一個子網路。
在一示範性實施例之中,網路130可以是一無線智慧型電網(smart-grid network),其監測並控制發電及散佈服務,其中此一網路之組件與傳輸範圍內的其它組件建構成通訊連結112。例如,一現場可升級單元可以藉由在網路130(或者網路之結合)之一連串中介組件上中繼資訊而與其它裝置交換資訊。
圖2係例示一具有控制器210之示範性現場可升級單元110之方塊圖。控制器210可以包含任何硬體,配合軟體及/或韌體,以處理儲存於現場可升級單元110中的至少一部分程式。在一些實施例之中,控制器210可以是一系統單晶片(system-on-chip),其中控制器210之大致所有元件均整合入單一積體元件(意即,晶片)之中。將控制器210的所有元件實施於單一晶片上(例如,矽晶片)可以藉由使得攻擊者實際存取及修改該控制器之元件變得極為耗時及昂貴而阻止攻擊。此外,如本文以下將展示,此單一晶片實施方式使得控制器之所有元件可以同時立即重置(reset),以在控制器運作的安全性上提供更為有效的管控。
如圖2所示,控制器210可以具有一中央處理單元(central processing unit;"CPU")222通訊連結至一隨機存取記憶體(RAM)224、一唯讀記憶體(ROM)226、時脈228、一通訊介面230、以及一資料匯流排232。CPU 222係一電子資料處理裝置,其執行儲存於電腦可讀取記憶體裝置(例如,RAM 224、ROM 226或記憶體裝置280)中的程式指令。CPU 222可以是一一般用途處理器(例如,INTEL)或是一專用、嵌入式處理器(例如,ARM)。雖然圖2將控制器210描繪成單一處理裝置,但控制器210可以包含多個處理器、一處理器陣列、或是任何其它適當之處理器或複數個處理器。
通訊介面230可以包含硬體(例如,數據機(modem)、網路介面卡、等等)、軟體(例如,多層協定支援、協定轉換、資料處理、資料調變、編解碼器、等等)、韌體、資料或該等項目之組合,以遂行與位於現場可升級單元110外部之一或多個組件之通訊。在一些實施例之中,通訊介面230與CPU 222交換資訊以對透過通訊連結112傳送之訊息進行編碼及解碼。例如,通訊介面230可以自CPU 222接收一訊息並將該資訊轉換成資料封包以依據TCP/IP資料傳輸協定在通訊連結112上傳輸。同樣地,通訊介面230可以透過通訊連結112自另一節點110接收TCP/IP資料封包並將該等封包組合成訊息以提供資訊予CPU 222。用以配置及控制通訊介面230以及現場可升級單元110中其它元件之操作參數可以是儲存於現場可升級單元110之電腦可讀取資料記錄裝置之中,諸如RAM 224、ROM 226或記憶體裝置280。
在一些實施例之中,記憶體裝置280之更新可以受一狀態機270管制。狀態機270可以阻擋控制器210改變非揮發性記憶體280的內容。以此種方式,舉例而言,狀態機270可以保護非揮發性記憶體280,使得更新只有在特定條件下方能執行。
狀態機270可以是一具有有限數目之預先定義狀態、此等狀態間之轉換、以及動作之數位邏輯裝置。狀態機270可以受一硬體數位電路控制,舉例而言,該電路包含一或多個可程式邏輯裝置(programmable logic device)、可程式邏輯控制器、資料暫存器(data register)、邏輯閘(logic gate)、以及正反器(flip flop)。
位於非揮發性記憶體280中之一開機載入器(bootloader)282包含控制器210處於一初始化狀態時控制器210所執行的指令,例如當控制器210首次開機或重新啟動或以其它方式被重置之時。針對現場可升級單元110執行非揮發性記憶體280中之開機載入器282之更新,其可能需要狀態機270係處於一致能記憶體裝置280之存取及/或變更的特別狀態。當處於此一狀態,控制器210可能被禁止執行軟體,其可能不安全及/或已被一攻擊者竄改。例如,在現場可升級單元110被重置之後,控制器210可以執行儲存於ROM 226中更新記憶體裝置內容之韌體。該韌體可以在放手讓控制器210執行軟體之前禁能對記憶體裝置280之變更。
在一些實施例之中,儲存於ROM 226中之韌體可以,在被執行後,使其在現場可升級單元110之硬體重置之後將狀態機270置於更新狀態。韌體可以藉由儲存一預定數值,例如一特定指令,而觸發狀態機270使其進入更新狀態。例如,韌體可以將數值寫入RAM 224中之一特定暫存器,而後重置單元110。儲存於該暫存器中的數值在重置動作之後仍保持不變。
在一些實例之中,韌體可以僅是觸發狀態機270以離開更新狀態,但反向則不行。依此觀點而言,致能更新之唯一機制係經由控制器210之重置。藉由如此,其可以確保現場可升級單元110在執行更新之前係處於一安全狀態。非揮發性記憶體裝置280可以包含硬體、軟體、韌體、或前數項目之組合以儲存及擷取資訊,包含電腦可讀取程式指令及資料。例如,記憶體裝置280可以是一半導體、磁性或光學式資訊儲存/擷取裝置(例如,快閃記憶體(flash memory)、硬碟機、CD-ROM、快閃隨機存取記憶體)。雖然記憶體裝置280被描繪成單一媒體,但記憶體裝置280可以包含多個儲存媒體。記憶體裝置280可以完全位於控制器210之內部,或者在其它實施例中,其一部分可以位於控制器210之外部。在一些實施例之中,其需要至少一部分之非揮發性記憶體裝置280位於控制器210之內部。
儲存於記憶體裝置280上的資訊可以包含,舉例而言,軟體、韌體、代碼、部分代碼、資料彙編、前述及/或其它種類資訊之組合。如圖2所示,記憶體裝置280可以包含開機載入器282以及更新模組284。在一些實施例之中(未顯示於圖中),部分或整體更新模組284可以是ROM 226中之固線邏輯(hardwired logic)以確保該模組的安全且不會被攻擊者改變。記憶體裝置280亦可以儲存一或多個在加密運算之中使用之密鑰。在一些實施例之中,儲存於記憶體裝置280上的密鑰包含公鑰287,對應至例如主機120或一些其它受信任機關之私鑰。此外,記憶體裝置280可以儲存現場可升級單元110之機密及/或私有密鑰287。記憶體裝置280同時亦可以儲存使用於現場可升級單元110所執行之加密運算之其它資訊。
在一些實施例之中,開機載入器282可以自記憶體裝置280載入一次級開機載入器,只要該次級開機載入器經過適當地簽認。「適當地簽認」係以一相關於記憶體裝置280中公鑰287之一(例如,使用於諸如「有線等效保密(Wired Equivalent Privacy)」等無線網路安全標準之密鑰管理協定之「現行密鑰」或「下一密鑰」)的一個私鑰(例如,主機120之私鑰)簽認。
現場可升級單元110可以被週期性地、隨機地及/或手動地(意即,透過指令)進行更新。例如,於網路130(例如,自另一節點110或主機120)接收到的資訊可以觸發節點110執行一更新。該更新資訊可以推存至現場可升級單元110或由其取出。在一些實施例之中,對現場可升級單元110更新資訊之提供可以是由網路130起始(例如,自另一節點110或主機120)。現場可升級單元110可以替代性地或是進一步從網路130擷取更新之資訊。
現場可升級單元110可以自各種來源接收更新資訊。例如,技術人員可以將包含更新物件之裝置手動地耦接至現場可升級單元110。在另外的實例中,現場可升級單元110可以於網路130上,透過一通訊連結112,自主機120或另一個現場可升級單元110接收該更新資訊。例如,當該更新物件儲存於網路130之另一裝置時,經由網路130執行收送該更新資訊。
為求簡單明瞭,示範性實施例描述了相當於現場可升級單元110之開機載入器282之更新資訊。當然,此揭示並非受限於此。舉例而言,上述之更新資訊可以包含任何軟體、韌體、編碼、密鑰、資料彙集、軟體應用、硬體狀態(例如,控制接腳之電壓位準)、及/或此等或任何其它形式資訊之組合。
圖3係一現場可升級單元110之一示範性記憶體配置之功能示意圖。在此實例之中,配置的記憶體包含位於記憶體裝置280中的安全非揮發性記憶體、以及非安全記憶體,例如,硬體重置後維持原狀之揮發性記憶體。如圖中所例示,記憶體裝置280可以被功能性地區分成數個部分,包含一活躍部分305與一非活躍部分310。最初,記憶體裝置280之活躍部分305可以儲存兩個密鑰,其中之第一密鑰係一現行密鑰而第二密鑰係下一密鑰,該二者或其中之一均可用以對韌體進行簽認及認證。圖3同時亦顯示一更新物件320,其可以用以升級儲存於現場可升級單元110之記憶體裝置280中的資訊。更新物件320可以包含被格式化成數個區段之更新資訊,包含:更新資訊(例如,開機載入器的程式指令)、密鑰1、密鑰2、密鑰3、簽章1、簽章2、以及簽章3。在一些實施例之中,更新物件320可以具有一相關更新簽章321,其可以被提供予(例如被附加至)更新物件320。密鑰1、密鑰2、密鑰3、簽章1、簽章2、及簽章3,舉例而言,可以支援網路130之操作者所使用的密鑰管理協定。
安全非揮發性記憶體裝置280可以以一「唯讀」記憶體之形式運作,除了特定狀況之外,例如當現場可升級單元110處於一「更新模式」及/或狀態機270係處於「更新狀態」之時。在一些實施例之中,現場可升級單元110在重置之後進入更新模式。重置動作之發生可以是在遠端或是在本地端。重置亦可以由另一現場可升級單元110、主機120或一中央管理機構(未顯示於圖中)透過網路130於遠端下達指令。此外,重置可以藉由一實體介面由本地端下達指令,諸如特定之接腳及/或連接器(例如,一聯合測試工作組(JTAG)連接埠)。更具體言之,控制器210硬體可以被配置成經由例如監測一特定訊號、接腳或記憶體暫存器以偵測更新模式之請求。
記憶體裝置280是否可以更新可以由狀態機270之狀態控制。例如,只要狀態機270未處於更新狀態,則非揮發性記憶體裝置280可以以唯讀裝置之形式運作。當從控制器210接收到一特定指令時,例如由於收到一更新物件而執行更新模組284,狀態機270可以將記憶體280設成一更新狀態,使得資訊可以被寫入非揮發性記憶體裝置280之中。
在一些實施例之中,一旦現場可升級單元110係處於更新模式,及/或狀態機270係處於更新狀態,控制器210可以自記憶體裝置280抹除所有密鑰287。上述之抹除動作可以以如同揭示於標題「」Integrated Cryptographic Security Module for a Network Node(針對網路節點之整合式加密安全模組)」之編號12/493,707之共同待審申請案中之形式執行。在此一情形下,若現場可升級單元110因故被設成更新模式,包括對記憶體裝置280的重新編程,則現場可升級單元110必須被重新認證以在之後重新連上網路130。依此觀點而言,若一攻擊者意欲起始更新模式,則在未於網路重新認證及/或未自主機120、另一節點110或一中央管理機構(未顯示於圖中)收到一新的憑證及/或密鑰287之前,現場可升級110單元將無法重新連上網路130。
更新模組284可以藉由將更新物件320及其相關更新簽章321,若存在的話,儲存至位於記憶體裝置280外部的非安全記憶體315之中而將現場可升級單元110設成更新模式。之後更新模組284可以藉由將一例如更新指令之預定數值寫入記憶體315中之一預先定義之位置317,例如一特定指令暫存器,而起始一更新。
在一實施例中,狀態機可以是一雙狀態裝置。該雙狀態可以標為「寫入-致能(Write-Enable)」,於此狀態資料允許被寫入非揮發性記憶體裝置,以及「寫入-禁能(Write-Disable)」,其使得該記憶體裝置如同唯讀記憶體運作。
所有的中斷(interrupt)及例外(exception)均可以由控制器210執行一更新模組284而被禁能。舉例而言,更新模組284可以使控制器210重置並利用儲存於ROM 226或記憶體裝置280中並未包含及/或致能中斷或例外處置軟體的韌體重新起始。或者,更新模組284可以控制CPU 222使其中止任何中斷或例外處置的程序,諸如中斷處置器286及例外處置器288。
若現場可升級單元110係處於更新模式,則控制器210可以執行儲存於例如ROM 226中的專用升級程式執行碼。否則,控制器210可以執行正常的起始程式碼(例如,開機載入器)。或者,更新模組284可以藉由觸發狀態機270讀取記憶體315中的預先定義之位置317而起始更新模式。控制器210可以監測位置317並在上述情形發生時立即切換至更新模式。更新模組284接著可以驗證在驗證區域319中的資訊係真實的(例如,由一網路130之操作者所提供及/或接收自一可信任來源之開機載入器)。
以下描述上述驗證流程之一實例,其參照例示於圖3中之示範性更新物件320。如先前所述,更新資訊包含待更新現場可升級單元110所用之特定韌體或軟體,例如,開機載入器程式執行碼。在儲存於記憶體裝置280的公鑰287之中,密鑰1相當於「現行密鑰」而密鑰2相當於「下一密鑰」。密鑰3係更新所提供之一新的密鑰。簽章1係利用相對於公鑰1之主機120的私鑰,產生自更新資訊(諸如由主機120或者,舉例而言,應主機120之請求)。在一實施例中,更新資訊本身可以簽認私鑰以產生簽章。在另一實施例中,如本文以下所述,其首先建立該更新資訊之一雜湊(hash),而後此雜湊被簽認私鑰以產生簽章1。以類似方式,藉由對更新資訊或該更新資訊之一雜湊簽認相對於密鑰2及密鑰3之私鑰而產生簽章2和簽章3。在一些實施例之中,(同樣地,舉例而言,例如由主機120)亦可以藉由建立更新物件之所有其它元素(意即更新資訊、密鑰1、密鑰2、密鑰3、簽章1、簽章2以及簽章3)之雜湊,並對該雜湊簽認相對於密鑰1之主機120的私鑰,而產生相對於更新物件320之一更新簽章321。
接收到更新物件320之時,更新物件320以及簽章321,若存在的話,被載入非安全記憶體之一驗證部分319。一更新指令被載入上述之預先定義之位置317,例如,一指令暫存器。而後控制器210被指示執行一硬體重置。就採用具有二個狀態的狀態機之實施例而言,該重置使得狀態機被設成上述之「寫入-致能」狀態。重置之後,控制器210首先執行儲存於安全位置之受信任程式碼,例如,ROM 226中的固線式韌體。該程式碼先檢查是否已有發出一執行更新之請求,例如,一更新指令儲存於指令暫存器319之中。若沒有,則該程式碼將狀態機重置成「寫入-禁能」狀態,並將控制權轉移給儲存於安全非揮發性記憶體裝置280之活躍部分305中之開機載入器軟體。
若儲存於預先定義位置317中的數值指出一更新動作正待執行,則控制器210驗證該指令,例如,檢查其是否位於一有效指令列表之上。對於更新物件伴隨有更新簽章的實施例,在指令確認之後,控制器將其現行公鑰(相當於密鑰1)套用至儲存於驗證部分319中的更新簽章321,以決定一雜湊數值,稱為「雜湊1」以供參考之用。控制器另外從更新物件320之內容,意即更新資訊、密鑰1、密鑰2、密鑰3、簽章1、簽章2及簽章3,產生一雜湊數值,稱為「雜湊2」。雜湊1和雜湊2被進行比較,若其相等,則判定該更新物件係真實的。
之後,控制器210計算更新資訊之一雜湊,稱為「雜湊3」。密鑰1被套用至簽章1以決定一雜湊數值,稱為「雜湊4」。雜湊3與雜湊4進行比較以檢視其彼此是否相符。以類似方式,其使用密鑰2自簽章2產生一雜湊數值,並使用密鑰3自簽章3產生一雜湊數值。該等產生之雜湊數值各自均與雜湊3比較以決定其是否相符。若雜湊3之計算數值與產生自簽章的每一雜湊數值均相符,則更新物件320驗證成功。
若上述之驗證在任一點失敗,則更新模組284可以使更新模式中止並使得節點110開始(或重新開始)正常運作而不更新或影響記憶體裝置280之內容。更新模組284亦可以利用記憶體裝置280之活躍部分305中的現有資訊重新起始控制器210。
若所有的驗證均通過,則更新模組284將密鑰2、密鑰3、以及更新資訊(如上所述,更新資訊可以是一新的開機載入器)複製到安全記憶體裝置280之非活躍部分310。其可以執行另一個驗證以確認所有的資料均已正確地複製。若並無失敗發生,則更新模組284傳送一指令以互換活躍部分305和非活躍部分310。其可以藉由將活躍部分305之內容改寫為非活躍部分310之內容而實際執行上述之互換。或者,其可以邏輯式地執行,藉由將一參照數值,例如一指標,從記憶體部分305之起始位址改變成記憶體部分310之起始位址,從而將部分310設成新的活躍部分。此互換之結果使得密鑰2變成現行密鑰,密鑰3變成下一密鑰,該新的開機載入器變成現行開機載入器282,而密鑰1則被丟棄不用。
為了進一步鞏固記憶體裝置280之更新安全性,若更新模組284進入更新模式之後偵測到任何對控制器210「升級-安全裝置」預定範圍外之記憶體位址存取,則記憶體裝置280可以控制單元110離開更新模式而不影響記憶體裝置280之內容。升級-安全裝置可以是控制器210內部之記憶體區塊(例如,RAM 224或ROM 226),其使得一攻擊者之重新編程變得極為耗時及/或昂貴,且同時亦需要攻擊者實體存取控制器210。若控制器210偵測到任何中斷或例外,可能發生相同結果。藉由如此,可以防止攻擊者在控制器210硬體處於更新模式之時從任何外部裝置執行更新模組284或者從任何進入點執行控制器210之內部程式碼。
當驗證以及將更新物件轉移至記憶體之活躍部分完成之後,受信任之程式碼將狀態機重置成「寫入禁能」狀態,並將控制權轉移至開機載入器軟體。藉由在更新時無法現場變更的受信任程式碼(例如,固線式ROM韌體)中執行此等動作,並在執行轉移至其它可更新韌體之前將狀態機重置成"寫入-禁能",其強化了對未經授權變動密鑰以及其它可更新物件之防護。
在前述實例之中,當該機制起始一更新時運用了控制器之硬體重置。在另一實施例中,該更新程序之起始可以是經由呼叫一儲存於ROM或其它安全記憶體中的安全更新功能。在此實施方式之中,被呼叫的受信任程式碼自己將狀態機設成「寫入-致能」狀態,並禁能所有中斷和例外,做為更新程序的一部分。
在又另一實施例中,該安全更新功能不一定在發生重置之後自動地執行。而是在重置之後,控制器可以先檢查記憶體中的預先定義位置317,並判定一更新指令是否儲存於該處。若是如此,其首先驗證該指令,而後繼續執行儲存於ROM中的更新程式碼。在此實施例之中,該更新程式碼亦可以將狀態機設成「寫入-致能」狀態,而非由硬體重置將其自動地設成該狀態。為了確保更新程式碼的正確運作,其可以使用一程式計數器,以在其起始於該程式碼第一個指令行的記憶體位址之外的任何位置時禁止該程式碼之執行。以該種方式,狀態機將在任何其它需要存取非揮發性記憶體裝置280之動作執行前被設定成「寫入-致能」狀態。
圖4係例示由一示範性現場可升級單元110所執行之步驟之流程圖。首先,於步驟405,現場可升級單元110可以接收一已簽章之更新物件320和選擇性的更新簽章,結合一或多個密鑰(例如,密鑰1、密鑰2、密鑰3)。如前所述,該物件可以是由例如一技術人員操作的主機裝置直接提供,或是經由網路130間接提供。
在一些實施例之中,現場可升級單元110可以僅在一預定數值儲存於記憶體之一預先定義之位置317時進入更新模式(步驟407,「是」)。否則,更新物件不能被儲存入記憶體280之中(步驟408)。此外,狀態機270可以依據該預定數值是否儲存於記憶體裝置280之該預先定義之位置317而被觸發以進入一更新狀態。當狀態機270並非處於更新狀態,可以禁止控制器210和其所執行的軟體,例如更新模組284,修改儲存於記憶體裝置280中的資訊。
在安裝更新物件之前,現場可升級單元110可以將自己設成更新模式(步驟410),於此模式之中,現場可升級單元110禁能其中斷處理器286以及例外處置器288(步驟415)以避免更新期間該單元被竄改。例如,在收到一更新物件之後,現場可升級單元110可以以一安全、更新模式重新起始,其中例外及中斷均被禁能。
在更新物件320及選擇性的更新簽章321被儲存於驗證部分319中之後,更新模組284可以認證驗證部分319中的資料(步驟420),如先前所述。若認證失敗(步驟425,「否」),則升級程序中止及/或重新起始(步驟430)。若認證通過(步驟425,「是」),則開機載入器282及/或密鑰2及密鑰3被複製至記憶體裝置280之非活躍部分310(步驟435)。在一些實施例之中,位於非活躍部分310中之複本被再次驗證以確保複製期間未發生改變(步驟440)。
若更新模組284判定開機載入器282、密鑰2及密鑰3成功地被複製至非活躍部分310(步驟445,「是」),則更新模組284將記憶體裝置280之非活躍部分310及活躍部分305互換,使得包含新密鑰及開機載入器的非活躍部分310自動地變成活躍(步驟450)。現場可升級單元110從而可以使用新的開機載入器282及密鑰重新起始(意即,重新啟動)。此外,執行一更新之後,現場可升級單元可能需要重新加入網路130,包括,舉例而言,自另一節點110或主機120取得一個新的網路憑證。
前述之示範性系統及方法係提供予網路裝置之安全更新,使得若網路密鑰遭到攻擊者竊取,則該等密鑰可以在該攻擊者有機會使用它們之前先被置換。此外,藉由提供前述之加密的、程序的以及物理的安全性,該示範性網路裝置防制攻擊者在裝置更新時破解裝置密鑰或更新物件。
本說明書所揭示之本發明實施例及功能可以經由電腦硬體及/或軟體實施而成。雖然本發明之例示性實施例已然以前述之形式闡明如上,但相關領域之熟習者依據本揭示應能理解,進一步的實施例可以包含等效組件、修改、省略、結合(例如,各種實施例特徵之結合)、調整及/或變更。經由說明書之檢閱以及所揭示之本發明實施例之實作,習於斯藝之人士將能輕易推得本發明之其它實施例。此外,所揭示方法之步驟可以在未脫離本發明之原理下以許多方式加以修改,包括改變步驟的順序及/或插入或刪除步驟。故前述之具體說明及實施例應僅視為示範性質。
100...系統
110、110A-D...現場可升級單元
112...鏈結
120...主機
130...網路
210...控制器
222...中央處理單元
224...隨機存取記憶體
226...唯讀記憶體
228...時脈
230...通訊介面
232...資料匯流排
270...狀態機
280...非揮發性記憶體
282...開機載入器
284...更新模組
286...中斷處置器
287...公鑰&私鑰
288...例外處置器
305...活躍部分
310...非活躍部分
315...非安全記憶體
317‧‧‧預先定義之位置
319‧‧‧驗證部份
320‧‧‧更新物件
321‧‧‧更新簽章
405‧‧‧儲存步驟
407‧‧‧檢查步驟
408‧‧‧停止步驟
410‧‧‧模式步驟
415‧‧‧禁能步驟
420‧‧‧授權步驟
425‧‧‧檢查步驟
430‧‧‧停止步驟
435‧‧‧拷貝步驟
440‧‧‧驗證步驟
445‧‧‧檢查步驟
447‧‧‧停止步驟
450‧‧‧交換步驟
圖1係例示包含數個現場可升級單元之一示範性系統之功能方塊圖;
圖2係例示一示範性現場可升級單元之功能方塊圖;
圖3係一現場可升級單元中之一示範性記憶體裝置之功能示意圖;以及
圖4係例示由一示範性現場可升級單元所執行之步驟之流程圖。
210...控制器
222...中央處理單元
224...隨機存取記憶體
226...唯讀記憶體
228...時脈
230...通訊介面
232...資料匯流排
270...狀態機
280...非揮發性記憶體
282...開機載入器
284...更新模組
286...中斷處置器
287...公鑰&私鑰
288...例外處置器
Claims (46)
- 一種網路裝置,包含:一處理器;以及一記憶體,具有程式指令儲存其中,當由該處理器執行之時,使得該網路裝置在接收到一具有一相關更新簽章之更新物件後執行以下之動作:判定該記憶體之一預先定義之位置是否包含一預定數值;依據該判定,將該接收到之更新物件儲存於該記憶體之中;利用該接收到之更新簽章驗證儲存於該記憶體中之該更新物件之真實性;以及執行一動作使該處理器使用位於經過驗證之該更新物件中之更新資訊取代儲存於該記憶體中之其它資訊。
- 如申請專利範圍第1項所述之網路裝置,其中:該記憶體更具有程式指令使該網路裝置執行以下的更多動作:將包含於該經過驗證之更新物件中之資訊從該記憶體之一第一部分複製到該記憶體之一第二部分;且其中使該處理器使用位於經過驗證之該更新物件中之更新資訊取代儲存於該記憶體中之其它資訊之動作係包含使該處理器使用該被複製至該記憶體之該第二部分之資訊取代儲存於該記憶體之一第三部分中之資訊。
- 如申請專利範圍第1項所述之網路裝置,其中驗證該 更新物件之真實性的該動作包含:比較一第一資料與一第二資料,該第一資料係藉由將該網路裝置之一公鑰套用至結合該更新物件一起收到之一更新簽章而決定,該第二資料係藉由處理該更新物件而決定。
- 如申請專利範圍第1項所述之網路裝置,其中驗證該更新物件之真實性的該動作包含:利用該經過驗證之更新物件內的其它資訊驗證該經過驗證之更新物件內的更新資訊之真實性。
- 如申請專利範圍第4項所述之網路裝置,其中驗證該更新資訊之真實性的該動作包含:利用包含於該經過驗證之更新物件中之一密鑰、一簽章以及該更新資訊。
- 如申請專利範圍第5項所述之網路裝置,其中驗證該更新資訊之真實性的該動作包含:比較一第一資料與一第二資料,該第一資料係藉由將該密鑰套用至該簽章而決定且該第二資料係藉由處理該更新資訊而決定。
- 如申請專利範圍第5項所述之網路裝置,其中:該密鑰係一第一密鑰且該簽章係一第一簽章;且驗證該更新資訊之真實性的該動作更包含利用包含於該經過驗證之更新物件中之一第二密鑰、一第二簽章以及該更新資訊。
- 如申請專利範圍第1項所述之網路裝置,其中,依據 一個該預先定義之位置包含該預定數值之判定,該等程式指令使該網路裝置禁止該處理器處理中斷及例外。
- 如申請專利範圍第1項所述之網路裝置,其中,依據一個該預先定義之位置包含該預定數值之判定,該等程式指令使該網路裝置致能該記憶體記錄資訊。
- 如申請專利範圍第1項所述之網路裝置,其中該等程式指令使該網路裝置使用對應於該接收到的密鑰之一私鑰簽認該接收到之更新物件。
- 如申請專利範圍第2項所述之網路裝置,其中該記憶體之該第二及第三部分係位於該網路裝置之一安全區域中。
- 如申請專利範圍第1項所述之網路裝置,其中該網路裝置係一智慧型電網(smart grid network)中之一節點。
- 如申請專利範圍第1項所述之網路裝置,其中執行上述之使該處理器使用位於該經過驗證之更新物件中之該更新資訊取代儲存於該記憶體中之其它資訊之動作係包含使該網路裝置利用在該更新物件中接收之該資訊重新啟動。
- 如申請專利範圍第13項所述之網路裝置,其中在該資料物件中接收之該資訊包含一開機載入器之程式指令。
- 如申請專利範圍第14項所述之網路裝置,其中該等程式指令使該網路裝置在重新啟動之後利用該更新物件中接收之該資訊傳送一請求以加入該網路。
- 如申請專利範圍第1項所述之網路裝置,更包含一由複數狀態所描繪之狀態機,該複數狀態包含一第一狀態,在該第一狀態之中,該網路裝置被配置成禁止該處理器修 改記錄於該記憶體中之資訊。
- 如申請專利範圍第16項所述之網路裝置,其中該狀態機之該複數狀態包含一第二狀態,在該第二狀態之中,該網路裝置被配置成致能該處理器修改記錄於該記憶體中之該資訊。
- 如申請專利範圍第17項所述之網路裝置,其中該狀態機被配置成使得位於該記憶體之該預先定義之位置中的該預定數值觸發該狀態機進入該第二狀態以致能該處理器修改記錄於該記憶體中之該資訊。
- 如申請專利範圍第2項所述之網路裝置,其中使該處理器使用被複製至該記憶體之該第二部分之該資訊的該動作包含:將該記憶體之該第三部分之該內容置換為該記憶體之該第二部分之該內容。
- 如申請專利範圍第2項所述之網路裝置,其中使該處理器使用被複製至該記憶體之該第二部分之該資訊的該動作包含:在該等程式指令之中,將一指向該記憶體之該第三部分之指標置換為一指向該記憶體之該第二部分之指標。
- 一種用於更新一網路裝置的方法,該網路裝置包含一處理器及一記憶體,該方法包含:接收一更新物件之後,判定該記憶體之一預先定義之位置是否包含一預定數值;依據該判定,儲存該接收到之更新物件於該記憶體之 一第一部分中;利用結合該更新物件接收到之一密鑰驗證儲存於該記憶體之該第一部分之該更新物件之真實性;將包含於該經過驗證之更新物件中之資訊從該記憶體之該第一部分複製到該記憶體之一第二部分;以及使複製至該記憶體之該第二部分之該資訊取代儲存於該記憶體之一第三部分中之資訊而被使用。
- 如申請專利範圍第21項所述之方法,其包含依據一個該預先定義之位置包含該預定數值之判定,禁止該處理器處理中斷及例外。
- 如申請專利範圍第21項所述之方法,其中,依據一個該預先定義之位置包含該預定數值之判定,該網路裝置致能該記憶體記錄資訊。
- 如申請專利範圍第21項所述之方法,其中利用對應於該接收到的密鑰之一私鑰簽認該接收到之更新物件。
- 如申請專利範圍第21項所述之方法,其中該記憶體之該第二及第三部分係位於該網路裝置之一安全區域中。
- 如申請專利範圍第21項所述之方法,其中該網路裝置係一智慧型電網中之一節點。
- 如申請專利範圍第21項所述之方法,其中在該第二部分與該第三部分互換之後,該網路裝置利用在該更新物件中接收之該資訊重新啟動。
- 如申請專利範圍第27項所述之方法,其中在該資料物件中接收之該資訊包含一開機載入器之程式指令。
- 如申請專利範圍第28項所述之方法,其中在該第二部分與該第三部分互換之後,該網路裝置傳送一請求以加入網路。
- 一種網路裝置,包含:一記憶體;一用以在接收一更新物件之後,判定該記憶體之一預先定義之位置是否包含一預定數值之裝置;一用以依據該判定,將接收到之該更新物件儲存於該記憶體之一第一部分之裝置;一用以利用結合該更新物件接收到之一密鑰驗證儲存於該記憶體之該第一部分之該更新物件之真實性之裝置;一用以將包含於該經過驗證之更新物件中之資訊從該記憶體之該第一部分複製到該記憶體之一第二部分之裝置;以及一用以使被複製至該記憶體之該第二部分之該資訊取代儲存於該記憶體之一第三部分中之資訊而被使用之裝置。
- 一種儲存程式指令之電腦可讀取資料儲存裝置,當由一處理器執行時,其控制一網路裝置以:在接收一更新物件之後,判定一記憶體之一預先定義之位置是否包含一預定數值;依據該判定,將接收到之該更新物件儲存於該記憶體之一第一部分之中;利用結合該更新物件接收到之一密鑰驗證儲存於該記 憶體之該第一部分之該更新物件之真實性;將包含於該經過驗證之更新物件中之資訊從該記憶體之該第一部分複製到該記憶體之一第二部分;以及使該處理器使用被複製至該記憶體之該第二部分之該資訊以取代儲存於該記憶體之一第三部分中之資訊。
- 一種網路裝置,包含:一處理器;以及一記憶體,具有程式指令儲存其中,當由該處理器執行之時,使得該網路裝置在接收到包含各自具有一相關私鑰之複數個公鑰、以及各自基於該更新物件之該內容之一部分及個別私鑰之複數個對應簽章之一更新物件後,執行以下之動作:利用該複數個簽章中的每一個簽章及其包含於該更新物件中之對應公鑰,驗證該更新物件之真實性;以及若該更新物件之真實性驗證成功,則執行一動作使該處理器使用位於經過驗證之該更新物件中之更新資訊取代儲存於該記憶體中之其它資訊。
- 如申請專利範圍第32項所述之網路裝置,其中該程式指令更使得該網路裝置執行以下動作:將該接收到的更新物件儲存於該記憶體之一第一區域以驗證該更新物件之真實性;致能資料寫入記憶體之一第二區域;將包含於該經過驗證之更新物件中之資訊從該記憶體之該第一部分複製到該記憶體之一第二部分;以及 在複製該資訊之後以及執行使該處理器使用該經過驗證之更新物件中之該更新資訊之前,禁能資料寫入該記憶體之該第二部分。
- 如申請專利範圍第33項所述之網路裝置,其中一更新簽章係與該更新物件相關且係基於該更新物件之整體內容和該等私鑰其中之一,且其中該等程式指令更使得該網路裝置利用該更新簽章驗證該更新物件之真實性。
- 一種用於更新一網路裝置的方法,該網路裝置包含一處理器及一記憶體,該方法包含:在接收到包含各自具有一相關私鑰之複數個公鑰、以及各自基於該更新物件之該內容之一部分及個別私鑰之複數對應簽章之一更新物件後:將接收到之該更新物件儲存於該記憶體之中;利用該複數個簽章中的每一個簽章及其包含於該更新物件中之對應公鑰,驗證該更新物件之真實性;以及若該物件之真實性驗證成功,則使包含於該經過驗證之更新物件中之資訊取代儲存於該記憶體中之資訊而被使用。
- 如申請專利範圍第35項所述之方法,更包含以下步驟:執行該驗證時,將該接收到之更新物件儲存於該記憶體之一第一部分;致能資料寫入該記憶體之一第二部分;若該更新物件之真實性驗證成功,則將包含於該經過 驗證之更新物件中之資訊從該記憶體之該第一部分複製到該記憶體之該第二部分;以及在該經過驗證之更新物件被複製到該記憶體之該第二部分之後,禁能資料寫入該記憶體之該第二部分。
- 一種自一第一裝置提供資料至一第二裝置的方法,包含:在該第一裝置處:利用具有一相關第一公鑰之一第一私鑰,自代表該資料之資訊產生一第一簽章;建立一包含該資料、該第一公鑰和該第一簽章之物件;利用該第一私鑰,自代表該建立的物件之資訊產生一物件簽章;將該物件及該物件簽章傳送至該第二裝置。
- 如申請專利範圍第37項所述之方法,更包含以下步驟:利用具有一相關第二公鑰之一第二私鑰,自代表該資料之資訊產生一第二簽章;以及在產生該物件簽章之前,將該第二公鑰及該第二簽章納入該建立物件之中。
- 如申請專利範圍第37項所述之方法,其中代表該資料之該資訊包含該資料本身。
- 如申請專利範圍第37項所述之方法,其中代表該資料之該資訊包含自該資料計算之一雜湊數值。
- 如申請專利範圍第37項所述之方法,其中代表該建立的物件之該資訊包含自該建立的物件計算之一雜湊數值。
- 一種網路裝置,包含:一處理器;一記憶體,具有程式指令儲存其中,當執行之時,使該處理器執行以下動作:利用具有一相關第一公鑰之一第一私鑰,自代表該資料之資訊產生一第一簽章,建立一包含該資料、該第一公鑰和該第一簽章之物件,且利用該第一私鑰,自代表該建立的物件之資訊產生一物件簽章;以及一通訊介面,配置成將該物件及該物件簽章傳送至另一網路裝置。
- 如申請專利範圍第42項所述之網路裝置,其中該程式指令更使得該處理器執行以下動作:利用具有一相關第二公鑰之一第二私鑰,自代表該資料之資訊產生一第二簽章;以及將該第二公鑰及該第二簽章納入該建立的物件。
- 如申請專利範圍第42項所述之網路裝置,其中代表該資料之該資訊包含該資料本身。
- 如申請專利範圍第42項所述之網路裝置,其中代表該資料之該資訊包含自該資料計算之一雜湊數值。
- 如申請專利範圍第42項所述之網路裝置,其中代表該建立的物件之該資訊包含自該建立物件計算之一雜湊數值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23305709P | 2009-08-11 | 2009-08-11 | |
US12/854,117 US9652755B2 (en) | 2009-08-11 | 2010-08-10 | Method and system for securely updating field upgradeable units |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201109969A TW201109969A (en) | 2011-03-16 |
TWI436236B true TWI436236B (zh) | 2014-05-01 |
Family
ID=43031525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099126719A TWI436236B (zh) | 2009-08-11 | 2010-08-11 | 安全更新現場可升級單元之方法與系統 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9652755B2 (zh) |
AR (1) | AR077857A1 (zh) |
TW (1) | TWI436236B (zh) |
WO (1) | WO2011019390A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010062908B4 (de) * | 2010-12-13 | 2012-10-31 | Siemens Aktiengesellschaft | Verfahren zum Parametrisieren eines Gerätes, parametrisierbares Gerät und Parametrisierungsvorrlchtung |
US9026805B2 (en) | 2010-12-30 | 2015-05-05 | Microsoft Technology Licensing, Llc | Key management using trusted platform modules |
US9111099B2 (en) * | 2011-05-31 | 2015-08-18 | Red Hat, Inc. | Centralized kernel module loading |
TWI467485B (zh) * | 2011-06-07 | 2015-01-01 | Insyde Software Corp | Verification of the basic input and output system update method, the computer can read the recording media and computer program products |
US9021246B2 (en) * | 2011-10-28 | 2015-04-28 | GM Global Technology Operations LLC | Method to replace bootloader public key |
US8281119B1 (en) * | 2011-11-22 | 2012-10-02 | Google Inc. | Separate normal firmware and developer firmware |
US9008316B2 (en) * | 2012-03-29 | 2015-04-14 | Microsoft Technology Licensing, Llc | Role-based distributed key management |
WO2014177904A1 (en) * | 2013-04-29 | 2014-11-06 | Freescale Semiconductor, Inc. | Memory controller |
US9086985B2 (en) | 2013-07-16 | 2015-07-21 | Honeywell International Inc. | Unpowered data-transfer device |
CN105379225A (zh) * | 2013-08-05 | 2016-03-02 | 诺基亚技术有限公司 | 安全存储同步 |
US9510195B2 (en) * | 2014-02-10 | 2016-11-29 | Stmicroelectronics International N.V. | Secured transactions in internet of things embedded systems networks |
CN106104561B (zh) * | 2014-03-28 | 2019-10-22 | 惠普发展公司,有限责任合伙企业 | 允许针对bios的安装使用测试密钥的方法和设备 |
TW201619866A (zh) | 2014-11-20 | 2016-06-01 | 萬國商業機器公司 | 客製化資訊設備的方法 |
CN104503786B (zh) * | 2014-12-15 | 2020-10-16 | 小米科技有限责任公司 | 固件刷新方法及装置 |
AU2015374202B2 (en) | 2014-12-29 | 2019-02-14 | Visa International Service Association | Over-the-air provisioning of application library |
US10114747B2 (en) * | 2015-05-13 | 2018-10-30 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Systems and methods for performing operations on memory of a computing device |
US10282189B2 (en) * | 2016-06-30 | 2019-05-07 | Synaptics Incorporated | Updating program code stored in an external non-volatile memory |
US10241803B2 (en) * | 2016-10-03 | 2019-03-26 | Schneider Electric It Corporation | System and method for updating device software |
US20180375730A1 (en) * | 2017-06-23 | 2018-12-27 | Infinera Corporation | Technique for verification of newtork state after device upgrades |
US11042138B2 (en) * | 2018-10-09 | 2021-06-22 | Johnson Controls Technology Company | Auto detection of signature and native reference changes from data sources |
KR102567097B1 (ko) | 2018-12-05 | 2023-08-14 | 삼성전자주식회사 | 임베디드 시스템의 부트 롬 업데이트 방법 및 부팅 방법 |
CN113141259B (zh) * | 2019-09-12 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 在区块链网络中更换身份证书的方法和装置 |
TWI720694B (zh) * | 2019-11-18 | 2021-03-01 | 中華電信股份有限公司 | 具時間序列演算之燒錄認證裝置及方法 |
JP7362583B2 (ja) * | 2020-09-23 | 2023-10-17 | 株式会社東芝 | 情報処理装置 |
US11816076B2 (en) * | 2021-01-14 | 2023-11-14 | Salesforce, Inc. | Declarative data evacuation for distributed systems |
TWI784500B (zh) * | 2021-04-28 | 2022-11-21 | 威鋒電子股份有限公司 | 電子裝置及其安全韌體更新方法 |
CN115421756B (zh) * | 2022-09-16 | 2023-07-18 | 杭州云动智能汽车技术有限公司 | 一种服务型网关升级方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826015A (en) | 1997-02-20 | 1998-10-20 | Digital Equipment Corporation | Method and apparatus for secure remote programming of firmware and configurations of a computer over a network |
US6243809B1 (en) | 1998-04-30 | 2001-06-05 | Compaq Computer Corporation | Method of flash programming or reading a ROM of a computer system independently of its operating system |
US6223284B1 (en) * | 1998-04-30 | 2001-04-24 | Compaq Computer Corporation | Method and apparatus for remote ROM flashing and security management for a computer system |
US7111292B2 (en) | 2001-09-10 | 2006-09-19 | Texas Instruments Incorporated | Apparatus and method for secure program upgrade |
EP1357454A1 (en) | 2002-04-23 | 2003-10-29 | Hewlett-Packard Company | Data processing system and method with protected BIOS |
DE112004001633D2 (de) | 2003-06-24 | 2006-06-22 | Bosch Gmbh Robert | Verfahren zur Durchführung eines Software-Updates eines elektronischen Steuergerätes durch eine Flash-Programmierung über eine serielle Schnittstelle und ein entsprechender Zustandsautomat |
US7774619B2 (en) | 2004-11-17 | 2010-08-10 | Broadcom Corporation | Secure code execution using external memory |
US20060159269A1 (en) | 2005-01-20 | 2006-07-20 | Matsushita Electric Industrial Co., Ltd. | Cryptographic system for resource starved CE device secure upgrade and re-configuration |
US9627081B2 (en) | 2007-10-05 | 2017-04-18 | Kinglite Holdings Inc. | Manufacturing mode for secure firmware using lock byte |
-
2010
- 2010-08-10 US US12/854,117 patent/US9652755B2/en active Active
- 2010-08-11 TW TW099126719A patent/TWI436236B/zh not_active IP Right Cessation
- 2010-08-11 WO PCT/US2010/002210 patent/WO2011019390A1/en active Application Filing
- 2010-08-11 AR ARP100102950A patent/AR077857A1/es unknown
-
2017
- 2017-04-13 US US15/486,348 patent/US20170250818A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
TW201109969A (en) | 2011-03-16 |
US20170250818A1 (en) | 2017-08-31 |
AR077857A1 (es) | 2011-09-28 |
WO2011019390A1 (en) | 2011-02-17 |
US20110040960A1 (en) | 2011-02-17 |
US9652755B2 (en) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI436236B (zh) | 安全更新現場可升級單元之方法與系統 | |
KR102434444B1 (ko) | 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치 | |
US20190253417A1 (en) | Hardware device and authenticating method thereof | |
US10547604B2 (en) | Information recording apparatus with shadow boot program for authentication with a server | |
EP2887576B1 (en) | Software key updating method and device | |
CN102063591B (zh) | 基于可信平台的平台配置寄存器参考值的更新方法 | |
CN113014444B (zh) | 一种物联网设备生产测试系统及安全保护方法 | |
CN110795126A (zh) | 一种固件安全升级系统 | |
JP6735872B2 (ja) | コンピュータシステム及びコンピュータシステムを初期化する方法 | |
WO2013185724A2 (zh) | 移动终端及其软件升级的方法 | |
JP6387908B2 (ja) | 認証システム | |
WO2018166163A1 (zh) | Pos终端控制方法、pos终端、服务器及存储介质 | |
US11838282B2 (en) | Information recording apparatus with server-based user authentication for accessing a locked operating system storage | |
CN110247877B (zh) | 一种离线管理指令的管理方法和终端 | |
CN108292340A (zh) | 在运行时间期间向安全数据存储设备安全地写入数据 | |
WO2017138799A1 (ko) | 하드웨어 디바이스 및 그 인증 방법 | |
CN111917803A (zh) | 一种跨网数据安全交换设备 | |
JP2007336040A (ja) | プログラム管理システムおよび端末装置 | |
KR20150072007A (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
JP2002318632A (ja) | 端末装置のプログラムデータ遠隔更新システム | |
CN108228219B (zh) | 一种带外刷新bios时验证bios合法性的方法及装置 | |
CN112311752A (zh) | 一种物联网智能表计安全系统及实现方法 | |
CN112307481A (zh) | 一种系统可信启动方法、电子设备及计算机可读存储介质 | |
WO2018092289A1 (ja) | 情報処理装置 | |
CN116501353B (zh) | 固件更新方法、装置及设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |