所述待更新的軟件包和所述待更新的軟件包進行重簽名對應(yīng)存儲之后,所述方法還可以包括:
[0102]用所述待更新的軟件包和所述待更新的軟件包的重簽名替換對應(yīng)的低版本的軟件包和所述低版本的軟件包對應(yīng)的重簽名,所述低版本的軟件包中包含所述低版本的軟件包公鑰。
[0103]本發(fā)明實施例中,軟件包公鑰包含在軟件包中,這樣在安全世界的環(huán)境中,當(dāng)一個軟件包公鑰泄漏后,就可以通過軟件包更新的方式吊銷該軟件包,同時也就實現(xiàn)了軟件包公鑰的更新。
[0104]圖4對應(yīng)的實施例或可選實施例可以參閱圖4以前所描述的軟件更新的方案進行理解,本處不做過多贅述。
[0105]參閱圖5,本發(fā)明實施例提供的控制單板安全啟動的裝置30的一實施例包括:
[0106]獲取模塊301,用于在單板上電后,獲取待加載到所述單板的軟件包的重簽名,所述軟件包的重簽名為使用所述單板的單板私鑰對所述軟件包進行重簽名得到的,所述重簽名是在使用所述軟件包的軟件包公鑰對所述軟件包的原簽名驗證通過后做出的,所述原簽名為使用所述軟件包的軟件包私鑰對所述軟件包進行簽名得到的;
[0107]校驗?zāi)K302,用于使用與所述單板私鑰配對的單板公鑰對所述獲取模塊301獲取的所述軟件包的重簽名進行校驗;
[0108]單板啟動模塊303,用于在所述重簽名通過所述校驗?zāi)K302校驗后,啟動所述單板。
[0109]本發(fā)明實施例中,獲取模塊301在單板上電后,獲取待加載到所述單板的軟件包的重簽名,所述軟件包的重簽名為使用所述單板的單板私鑰對所述軟件包進行重簽名得到的,所述重簽名是在使用所述軟件包的軟件包公鑰對所述軟件包的原簽名驗證通過后做出的,所述原簽名為使用所述軟件包的軟件包私鑰對所述軟件包進行簽名得到的;校驗?zāi)K302使用與所述單板私鑰配對的單板公鑰對所述獲取模塊301獲取的所述軟件包的重簽名進行校驗;單板啟動模塊303在所述重簽名通過所述校驗?zāi)K302校驗后,啟動所述單板。與現(xiàn)有技術(shù)中批量單板的密鑰對都相同相比,本發(fā)明實施例提供的控制單板安全啟動的裝置,包括兩套密鑰對,分別為單板公鑰、單板私鑰和軟件包公鑰、軟件包私鑰,針對通過驗證的軟件包簽名,再采用單板的私鑰對軟件包進行重簽名,從而提高了軟件包存儲的安全性。而且各單板的單板私鑰與單板公鑰與其他單板的單板私鑰和單板公鑰都不相同,即使該單元的單板私鑰和單板公鑰被黑客攻破,也不會影響其他單板的啟動。
[0110]可選地,在上述圖5對應(yīng)的實施例的基礎(chǔ)上,參閱圖6,本發(fā)明實施例提供的控制單板安全啟動的裝置30的第一個可選實施例中,所述裝置30還包括簽名模塊304,
[0111]所述獲取模塊301,還用于獲取待更新的軟件包;
[0112]所述校驗?zāi)K302,還用于在安全世界中,使用所述獲取模塊301獲取的所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進行校驗;
[0113]所述簽名模塊304,用于在所述待更新的軟件包的原簽名通過所述校驗?zāi)K302校驗后,在所述安全世界中使用所述單板私鑰對所述待更新的軟件包進行重簽名。
[0114]可選地,在上述圖6對應(yīng)的實施例的基礎(chǔ)上,參閱圖7,本發(fā)明實施例提供的控制單板安全啟動的裝置30的第二個可選實施例中,所述裝置30還包括替換模塊305,
[0115]所述替換模塊305,用于用所述待更新的軟件包和所述簽名模塊304簽名得到的所述待更新的軟件包的重簽名替換對應(yīng)的低版本的軟件包和所述低版本的軟件包對應(yīng)的重簽名,所述低版本的軟件包中包含所述低版本的軟件包公鑰。
[0116]圖5-圖7對應(yīng)的實施例或可選實施例,可以參閱圖3之前的內(nèi)容、圖3部分的實施例或可選實施例的相關(guān)描述進行理解,本處不做過多贅述。
[0117]參閱圖8,本發(fā)明實施例提供的軟件包升級的裝置40的一實施例包括:
[0118]獲取模塊401,用于獲取單板待更新的軟件包;
[0119]校驗?zāi)K402,用于在安全世界中,使用所述獲取模塊401獲取的所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進行校驗;
[0120]簽名模塊403,用于在所述待更新的軟件包的原簽名通過所述校驗?zāi)K402校驗后,在所述安全世界中使用所述單板的單板私鑰對所述待更新的軟件包進行重簽名,所述重簽名用于在所述單板啟動時檢驗所述軟件包的安全性。
[0121]本發(fā)明實施例中,獲取模塊401獲取單板待更新的軟件包;校驗?zāi)K402在安全世界中,使用所述獲取模塊401獲取的所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進行校驗;簽名模塊403在所述待更新的軟件包的原簽名通過所述校驗?zāi)K402校驗后,在所述安全世界中使用所述單板的單板私鑰對所述待更新的軟件包進行重簽名,所述重簽名用于在所述單板啟動時檢驗所述軟件包的安全性。與現(xiàn)有技術(shù)中批量單板的密鑰對都相同相比,本發(fā)明實施例提供的軟件包升級的裝置,包括兩套密鑰對,分別為單板公鑰、單板私鑰和軟件包公鑰、軟件包私鑰,針對通過驗證的軟件包簽名,再采用單板的私鑰對軟件包進行重簽名,從而提高了軟件包存儲的安全性。而且各單板的單板私鑰與單板公鑰與其他單板的單板私鑰和單板公鑰都不相同,即使該單元的單板私鑰和單板公鑰被黑客攻破,也不會影響其他單板的啟動。
[0122]可選地,在上述圖8對應(yīng)的實施例的基礎(chǔ)上,參閱圖9,本發(fā)明實施例提供的軟件包升級的裝置40的可選實施例中,所述裝置40還包括替換模塊404,
[0123]所述替換模塊404,用于用所述待更新的軟件包和所述簽名模塊簽名得到的所述待更新的軟件包的重簽名替換對應(yīng)的低版本的軟件包和所述低版本的軟件包對應(yīng)的重簽名,所述低版本的軟件包中包含所述低版本的軟件包公鑰。
[0124]圖8-圖9對應(yīng)的實施例或可選實施例,可以參閱圖3之前的軟件更新部分的描述、圖4部分的實施例或可選實施例的相關(guān)描述進行理解,本處不做過多贅述。
[0125]圖10是本發(fā)明實施例提供的控制單板安全啟動的裝置30的結(jié)構(gòu)示意圖。所述控制單板安全啟動的裝置30包括處理器310、存儲器350和輸入/輸出I/O設(shè)備330,存儲器350可以包括只讀存儲器和隨機存取存儲器,并向處理器310提供操作指令和數(shù)據(jù)。存儲器350的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。
[0126]在一些實施方式中,存儲器350存儲了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者他們的子集,或者他們的擴展集:
[0127]在本發(fā)明實施例中,通過調(diào)用存儲器350存儲的操作指令(該操作指令可存儲在操作系統(tǒng)中),
[0128]在單板上電后,獲取待加載到所述單板的軟件包的重簽名,所述軟件包的重簽名為使用所述單板的單板私鑰對所述軟件包進行重簽名得到的,所述重簽名是在使用所述軟件包的軟件包公鑰對所述軟件包的原簽名驗證通過后做出的,所述原簽名為使用所述軟件包的軟件包私鑰對所述軟件包進行簽名得到的;
[0129]使用與所述單板私鑰配對的單板公鑰對所述軟件包的重簽名進行校驗;
[0130]在所述重簽名通過校驗后,啟動所述單板。
[0131]本發(fā)明實施例提供的控制單板安全啟動的裝置,一套單板包括兩套密鑰對,分別為單板公鑰、單板私鑰和軟件包公鑰、軟件包私鑰,針對通過驗證的軟件包簽名,再采用單板的私鑰對軟件包進行重簽名,從而提高了軟件包存儲的安全性。而且各單板的單板私鑰與單板公鑰與其他單板的單板私鑰和單板公鑰都不相同,即使該單元的單板私鑰和單板公鑰被黑客攻破,也不會影響其他處理器310控制控制單板安全啟動的裝置30的操作,處理器310還可以稱為CPU (Central Processing Unit,中央處理單元)。存儲器350可以包括只讀存儲器和隨機存取存儲器,并向處理器310提供指令和數(shù)據(jù)。存儲器350的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。具體的應(yīng)用中控制單板安全啟動的裝置30的各個組件通過總線系統(tǒng)320耦合在一起,其中總線系統(tǒng)320除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。但是為了清楚說明起見,在圖中將各種總線都標(biāo)為總線系統(tǒng)320。
[0132]上述本發(fā)明實施例揭示的方法可以應(yīng)用于處理器310中,或者由處理器310實現(xiàn)。處理器310可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器310中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器310可以是通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器350,處理器310讀取存儲器350中的信息,結(jié)合其硬件完成上述方法的步驟。
[0133]可選地,處理器310還用于:
[0134]獲取待更新的軟件包;
[0135]在安全世界中,使用所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進行校驗;
[0136]在所述待更新的軟件包的原簽名通過校驗后,在所述安全世界中使用所述單板私鑰對所述待更新的軟件包進行重簽名。
[0137]可選地,處理器310還用于:用