本技術涉及芯片安全,尤其涉及一種用于低壓配電系統的控制芯片的安全啟動方法及系統。
背景技術:
1、低壓配電系統是指將電能從電力系統傳輸到各種負荷的配電系統。它主要由配電變電所(將電網的輸電電壓降為配電電壓)、高壓配電線路(1千伏以上電壓)、配電變壓器、低壓配電線路(1千伏以下電壓)以及相應的控制保護設備組成。低壓配電系統作為智能電網的重要組成部分,直接關乎到電力供應的穩定性和安全性,其智能化升級尤為迫切。低壓配電系統中所使用的控制芯片通常為一種低壓配電輕量級控制芯片,低壓配電輕量級控制芯片是一種集成了多種功能于一體的芯片,它能夠在低壓配電系統中實現對電力設備的智能化控制、監測與保護。這種控制芯片通常具有較小的體積和功耗,同時能夠滿足低壓配電系統對控制精度和可靠性的要求。
2、在控制芯片的安全啟動方面,相較于現今大部分基于tee技術下的芯片安全啟動,都是并非專門用于低壓配電系統的控制芯片,部分的硬件軟件,計算流程相對復雜,對于上述芯片而言并非實用。因此應當在芯片面積、成本,計算能力、速度,兼容性方面做更多的優化?;诘蛪号潆娦酒绾胃影踩膯映蔀榈蛪号潆娤到y智能化的首要問題。
技術實現思路
1、針對上述技術問題,本技術提供一種用于低壓配電系統的控制芯片的安全啟動方法及系統,提高控制芯片啟動的安全性。
2、第一方面,本技術實施例提供一種用于低壓配電系統的控制芯片的安全啟動方法,包括:
3、當控制芯片啟動時,基于隨機數生成器和puf技術生成根密鑰;
4、根據所述根密鑰,構建以所述根密鑰為信任根的第一信任鏈;
5、基于所述第一信任鏈,激活所述控制芯片的安全引導程序,并基于所述安全引導程序更新所述第一信任鏈,獲得對應的第二信任鏈;
6、基于所述第二信任鏈,使用所述安全引導程序對所述控制芯片的操作系統進行啟動和安全驗證,并基于所述操作系統更新所述第二信任鏈,獲得第三信任鏈;
7、基于所述第三信任鏈,使用所述安全引導程序對所述控制芯片中的各個應用程序進行啟動和安全驗證,進而完成所述控制芯片的安全啟動。
8、本技術實施例提供一種用于低壓配電系統的控制芯片的安全啟動方法,通過構建信任鏈的方式采用分層式信任鏈啟動,使得每個層次的安全措施相互配合,每個層次在完成自身的安全驗證后更新信任鏈,然后將安全狀態傳遞給下一個層次,形成一個連貫的安全防護體系,提高芯片的安全性和可靠性。在信任鏈的構建過程中,根密鑰作為信任鏈的起始證據,參與構建了這個起始信任基礎,為后續驗證提供了硬件層面的身份標識,是整個安全啟動流程信任鏈的源頭,決定了信任鏈整體的安全性。因此,本技術實施例結合了隨機數生成器和puf技術來生成根密鑰,保障了根密鑰的安全性和不可復制性,進一步提高了控制芯片啟動過程中的安全性。
9、在一種可能實現的方式中,所述基于隨機數生成器和puf技術生成根密鑰,包括:
10、使用所述puf技術生成預設長度的第一隨機數序列;
11、使用所述隨機數生成器生成與所述第一序隨機數列相同長度的第二隨機數序列;
12、基于預設的融合算法,將所述第一隨機數序列與第二隨機數序列進行融合,獲得所述根密鑰。
13、進一步的,所述基于預設的融合算法,將所述第一隨機數序列與第二隨機數序列進行融合,獲得所述根密鑰,包括:
14、對第一隨機數序列與第二隨機數序列進行異或操作,獲得初始融合序列,其中,所述初始融合序列的長度為所述預設長度的兩倍;
15、使用kdf算法對所述初始融合序列進行若干次哈希迭代處理,獲得所述根密鑰;
16、將所述根密鑰存儲在所述控制芯片的加密非易失性存儲器中。
17、本技術實施例提供一種根密鑰的生成方法,巧妙地將puf技術與隨機數生成器相結合,由于puf的輸出是芯片特有的,存在唯一性和不可復制性,在可信執行環境下,puf與硬件安全參數綁定:將puf生成的唯一標識與一些關鍵的硬件安全參數進行綁定存儲。這樣,一旦puf被篡改或偽造,與之綁定的硬件安全參數也會失效,從而保證了硬件層面的安全性。在芯片制造過程中,將puf生成的獨特標識與硬件加密引擎的初始密鑰擴展參數進行關聯存儲,在芯片啟動時,tee中的信任鏈管理模塊會同時驗證puf標識和硬件加密引擎的參數一致性,確保硬件加密引擎從一開始就運行在正確的安全參數下。因此,本技術實施例將puf所生成的隨機數序列與隨機數生成器所生成的序列相結合,提高了根密鑰的保密性。例如,如果puf輸出一個256位的二進制序列,可以選取其中的128位作為hrng(隨機數生成器)的種子。這確保了hrng在不同芯片上的初始狀態不同,從而為生成不同的隨機數序列奠定基礎。進一步的,在隨機數序列的融合過程中,本技術實施例并非簡單地合并,而是使用異或操作生成初始融合序列,然后使用kdf算法對所述初始融合序列進行若干次哈希迭代處理后得到根密鑰,這樣地設置,使得攻擊者難以偽造出相同的根密鑰,提高了控制芯片啟動過程中的安全性。
18、在一種可能實現的方式中,所述基于所述第一信任鏈,激活所述控制芯片的安全引導程序,并基于所述安全引導程序更新所述第一信任鏈,獲得對應的第二信任鏈,包括:
19、根據所述第一信任鏈中的根密鑰,采用國密sm3算法對所述控制芯片的運行環境進行靜態度量;
20、當所述靜態度量通過后,根據所述根密鑰對所述控制芯片中的各個預設參考值進行哈希加密計算,獲得對應的各個加密參考值,并將所述各個加密參考值加入至所述第一信任鏈;
21、基于所述第一信任鏈,對所述安全引導程序進行完整性驗證;
22、當所述完整性驗證通過后,激活所述安全引導程序,并將所述安全引導程序加入至所述第一信任鏈,更新獲得所述第二信任鏈。
23、進一步的,所述基于所述第一信任鏈,對所述安全引導程序進行完整性驗證,包括:
24、使用所述根密鑰對所述安全引導的各個代碼段進行哈希加密計算,獲得對應的各個代碼段哈希值;
25、將各個所述代碼段哈希值與所述第一信任鏈中對應的若干加密參考值進行對比驗證;
26、根據所述對比驗證的結果,判斷所述安全引導程序的完整性。
27、在本技術實施例中,采用了靜態度量和完整性驗證的方式來激活安全引導程序。靜態度量技術在芯片安全啟動過程中,通常涉及預配置、啟動檢測、驗證與決策等階段。在靜態度量下,安全啟動過程會記錄所有驗證步驟的結果,但不會對系統進行動態的監控或干預。這些度量結果可以用于后續的安全審計或故障排查。而安全啟動引導程序在芯片安全啟動中承擔著至關重要的安全驗證角色,因此在完成靜態度量后,還要對安全啟動引導程序自身進行完整性驗證,確保安全啟動引導程序的完整性和安全性。同時,驗證過程是基于芯片硬件安全生成的根密鑰所構建的信任體系下進行的,實現從硬件信任到引導程序信任的傳遞,在驗證的同時完成了對信任鏈的構建,即使后續因安全問題啟動中斷,也能通過信任鏈快速定位風險位置,確??刂菩酒瑔舆^程中的安全性與啟動效率。
28、在一種可能實現的方式中,所述基于所述第二信任鏈,使用所述安全引導程序對所述控制芯片的操作系統進行啟動和安全驗證,包括:
29、使用所述安全引導程序將所述操作系統加載至內存中啟動;
30、當所述操作系統啟動后,使用所述根密鑰對所述操作系統預設位置的數據進行哈希加密計算,獲得對應的各個加密哈希值;
31、將各個所述加密哈希值與所述第二信任鏈中對應的若干加密參考值進行對比驗證;
32、根據各個所述加密參考值的對比驗證結果,判斷所述操作系統的安全驗證是否通過;
33、當所述安全驗證通過后,將所述操作系統加入至所述第二信任鏈,更新獲得所述第三信任鏈。
34、進一步的,所述基于所述第三信任鏈,使用所述安全引導程序對所述控制芯片中的各個應用程序進行啟動和安全驗證,包括:
35、使用所述安全引導程序基于預設順序,依次將各個應用程序加載至內存中;
36、當任一第一應用程序加載至內存時,基于所述第三信任鏈對所述第一應用程序進行數字簽名驗證和完整性驗證,其中,在所述數字簽名驗證中所使用的驗證公鑰是使用所述根密鑰對所述第一應用程序的程序公鑰進行加密后獲得,所述程序公鑰為所述第一應用程序的發布者所提供的公鑰;
37、若所述第一應用程序的數字簽名驗證或完整性驗證失敗時,則拒絕啟動所述第一應用程序。
38、在本技術實施例中,安全引導程序基于信任鏈的預設,分別啟動操作系統和各個應用程序。其中,對于操作系統的安全驗證主要是基于根密鑰對操作系統自身的關鍵數據(如操作系統內核的重要部分、關鍵配置信息)進行加密哈希計算,生成各個加密哈希值并與預設的若干加密參考值進行對比驗證,確保操作系統的安全性。當操作系統運行穩定后,開始加載應用程序。由于不同的應用程序的發布者并不相同,因此對于應用程序不僅需要進行完整性驗證,還需要進行數字簽名驗證,確保當前啟動的應用程序為發布者發布的合法應用程序而非攻擊者偽造的程序,提高了控制芯片啟動過程中的安全性。同時,在數字簽名驗證過程中,本技術實施例利用根密鑰加密保存發布者提供的程序公鑰,確保公鑰的安全性和真實性。這樣在驗證應用程序合法性和完整性時,整個過程是基于根密鑰所保障的安全環境下進行的,保證應用程序來自合法來源并且在傳輸和存儲過程中未被篡改,完成信任鏈向應用程序層的傳遞。
39、在一種可能實現的方式中,在所述基于隨機數生成器和puf技術生成根密鑰后,將所述根密鑰分割為若干根密鑰片段,將各個所述根密鑰片段分別存儲在芯片不同的安全區域。
40、在本技術實施例中,進一步在根密鑰的存儲環節中加強了控制芯片的安全性,將根密鑰分割成多個片段,分別存儲在芯片不同的安全區域,并通過特殊的加密算法和訪問控制機制進行保護。這樣即使攻擊者突破了某一個存儲區域,也無法獲取完整的根密鑰,大大提高了根密鑰的安全性,進而提高控制芯片啟動的安全性。
41、在一種可能實現的方式中,當所述控制芯片啟動時,持續監測輸入電源的電壓數據,通過升壓、降壓或穩壓控制的方式,將輸入電源的實時電壓控制在預設電壓范圍內;
42、當所述電壓數據超過預設閾值時,觸發警報并停止所述控制芯片的啟動過程。
43、在本技術實施例中,通過在硬件層面的設計,提高了控制芯片啟動的安全性。具體的,當所述控制芯片啟動時,實時監測主電源電壓的變化,當主電源電壓出現低壓波動時,迅速調整輸出電壓,通過升壓、降壓或穩壓控制等方式,將電源電壓穩定在芯片安全啟動所需的范圍內。同時對輸入電源進行監測,設置電壓閾值,一旦超出范圍及時報警或采取保護措施,如使用電壓監測裝置實時監控輸入電壓,當電壓異常時觸發警報并停止芯片啟動過程,避免在不穩定電壓下啟動芯片而受損。
44、第二方面,相應的,本技術實施例提供一種用于低壓配電系統的控制芯片的安全啟動系統,包括根密鑰生成模塊、信任鏈構建模塊、引導程序激活模塊、操作系統啟動模塊以及應用程序啟動模塊;
45、其中,所述根密鑰生成模塊用于當控制芯片啟動時,基于隨機數生成器和puf技術生成根密鑰;
46、所述信任鏈構建模塊用于根據所述根密鑰,構建以所述根密鑰為信任根的第一信任鏈;
47、所述引導程序激活模塊用于基于所述第一信任鏈,激活所述控制芯片的安全引導程序,并基于所述安全引導程序更新所述第一信任鏈,獲得對應的第二信任鏈;
48、所述操作系統啟動模塊用于基于所述第二信任鏈,使用所述安全引導程序對所述控制芯片的操作系統進行啟動和安全驗證,并基于所述操作系統更新所述第二信任鏈,獲得第三信任鏈;
49、所述應用程序啟動模塊用于基于所述第三信任鏈,使用所述安全引導程序對所述控制芯片中的各個應用程序進行啟動和安全驗證,進而完成所述控制芯片的安全啟動。