一種控制單板安全啟動的方法、軟件包升級的方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及通信技術領域,具體涉及一種控制單板安全啟動的方法及裝置。
【背景技術】
[0002]隨著黑客威脅的增加,運營商提出了對電信設備可信環(huán)境的要求,例如,多?;締訒r必須通過密碼學手段對軟件進行校驗。如果校驗失敗,則多?;静荒芙尤刖W絡。
[0003]電信設備的設備商通常都會預先生成一個不對稱密鑰對,作為廠商密鑰,設備商會妥善的保管密鑰對中的私鑰,并用該私鑰對要發(fā)布的軟件包進行簽名,密鑰對中的公鑰隨軟件包一起發(fā)布。
[0004]電信設備中的單板安全啟動時,需要對逐級加載的軟件包進行校驗,校驗的過程就是使用隨軟件包發(fā)布的公鑰對軟件包的簽名行校驗,如果校驗成功,則加載該軟件包,并用該密鑰對存儲該軟件包。如果校驗失敗,則不加載該軟件包,這樣,可以避免加載非法的或經篡改的軟件包。
[0005]這樣單板啟動時,只要軟件包能校驗通過,就能確保軟件包是廠商所發(fā)布的,只要用于單板啟動的各軟件包能逐級校驗通過,構建起信任鏈,就能確保單板的初始軟件運行環(huán)境是安全可靠的。
[0006]現(xiàn)有技術中,因為一個軟件包可以用于多個同型號的單板,因此分別針對同型號的中不同單板發(fā)布使用不同私鑰簽名的軟件包存在操作上的困難。由于不可能針對每個單板發(fā)布軟件包,導致存儲時也必須使用相同密鑰對。因此,軟件包發(fā)布的密鑰對就是在單板上存儲的密鑰對。因此必然會出現(xiàn)多個單板使用相同的密鑰對的情況,常是所有單板都使用相同的密鑰對。
[0007]因此,一旦設備商用于軟件包簽名的密鑰對泄露,那么現(xiàn)網的存量單板會批量(或者全部)的暴露在攻擊者面前,無法保證啟動安全。
【發(fā)明內容】
[0008]為了解決現(xiàn)有技術中因密鑰對泄漏,導致批量單板無法安全啟動的問題,本發(fā)明實施例提供一種控制單板安全啟動的方法,可以保證在軟件包的密鑰對泄漏時,其他單板依然可以安全啟動。本發(fā)明實施例還提供了相應的設備。
[0009]本發(fā)明第一方面提供一種控制單板安全啟動的方法,包括:
[0010]在單板上電后,獲取待加載到所述單板的軟件包的重簽名,所述軟件包的重簽名為使用所述單板的單板私鑰對所述軟件包進行重簽名得到的,所述重簽名是在使用所述軟件包的軟件包公鑰對所述軟件包的原簽名驗證通過后做出的,所述原簽名為使用所述軟件包的軟件包私鑰對所述軟件包進行簽名得到的;
[0011]使用與所述單板私鑰配對的單板公鑰對所述軟件包的重簽名進行校驗;
[0012]在所述重簽名通過校驗后,啟動所述單板。
[0013]結合第一方面,在第一種可能的實現(xiàn)方式中,所述獲取待加載到所述單板的軟件包的重簽名之前,所述方法還包括:
[0014]獲取待更新的軟件包;
[0015]在安全世界中,使用所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進行校驗;
[0016]在所述待更新的軟件包的原簽名通過校驗后,在所述安全世界中使用所述單板私鑰對所述待更新的軟件包進行重簽名。
[0017]結合第一方面第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述方法還包括:
[0018]用所述待更新的軟件包和所述待更新的軟件包的重簽名替換對應的低版本的軟件包和所述低版本的軟件包對應的重簽名,所述低版本的軟件包中包含所述低版本的軟件包公鑰。
[0019]本發(fā)明第二方面提供一種軟件包升級的方法,包括:
[0020]獲取單板待更新的軟件包;
[0021]在安全世界中,使用所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進行校驗;
[0022]在所述待更新的軟件包的原簽名通過校驗后,在所述安全世界中使用所述單板的單板私鑰對所述待更新的軟件包進行重簽名,所述重簽名用于在所述單板啟動時檢驗所述軟件包的安全性。
[0023]結合第二方面,在第一種可能的實現(xiàn)方式中,所述方法還包括:
[0024]用所述待更新的軟件包和所述待更新的軟件包的重簽名替換對應的低版本的軟件包和所述低版本的軟件包對應的重簽名,所述低版本的軟件包中包含所述低版本的軟件包公鑰。
[0025]本發(fā)明第三方提供一種控制單板安全啟動的裝置,包括:
[0026]獲取模塊,用于在單板上電后,獲取待加載到所述單板的軟件包的重簽名,所述軟件包的重簽名為使用所述單板的單板私鑰對所述軟件包進行重簽名得到的,所述重簽名是在使用所述軟件包的軟件包公鑰對所述軟件包的原簽名驗證通過后做出的,所述原簽名為使用所述軟件包的軟件包私鑰對所述軟件包進行簽名得到的;
[0027]校驗模塊,用于使用與所述單板私鑰配對的單板公鑰對所述獲取模塊獲取的所述軟件包的重簽名進行校驗;
[0028]單板啟動模塊,用于在所述重簽名通過所述校驗模塊校驗后,啟動所述單板。
[0029]結合第三方面,在第一種可能的實現(xiàn)方式中,所述裝置還包括簽名模塊和存儲模塊,
[0030]所述獲取模塊,還用于獲取待更新的軟件包;
[0031]所述校驗模塊,還用于在安全世界中,使用所述獲取模塊獲取的所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進行校驗;
[0032]所述簽名模塊,用于在所述待更新的軟件包的原簽名通過所述校驗模塊校驗后,在所述安全世界中使用所述單板私鑰對所述待更新的軟件包進行重簽名。
[0033]結合第三方面第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述裝置還包括替換模塊,
[0034]所述替換模塊,用于用所述待更新的軟件包和所述簽名模塊簽名得到的所述待更新的軟件包的重簽名替換對應的低版本的軟件包和所述低版本的軟件包對應的重簽名,所述低版本的軟件包中包含所述低版本的軟件包公鑰。
[0035]本發(fā)明第四方面提供一種軟件包升級的裝置,包括:
[0036]獲取模塊,用于獲取單板待更新的軟件包;
[0037]校驗模塊,用于在安全世界中,使用所述獲取模塊獲取的所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進行校驗;
[0038]簽名模塊,用于在所述待更新的軟件包的原簽名通過所述校驗模塊校驗后,在所述安全世界中使用所述單板的單板私鑰對所述待更新的軟件包進行重簽名,所述重簽名用于在所述單板啟動時檢驗所述軟件包的安全性。
[0039]結合第四方面,在第一種可能的實現(xiàn)方式中,所述裝置還包括替換模塊,
[0040]所述替換模塊,用于用所述待更新的軟件包和所述簽名模塊簽名得到的所述待更新的軟件包的重簽名替換對應的低版本的軟件包和所述低版本的軟件包對應的重簽名,所述低版本的軟件包中包含所述低版本的軟件包公鑰。
[0041]本發(fā)明實施例提供的控制單板安全啟動的方法,一套單板包括兩套密鑰對,分別為單板公鑰、單板私鑰和軟件包公鑰、軟件包私鑰,針對通過驗證的軟件包簽名,再采用單板的私鑰對軟件包進行重簽名,從而提高了軟件包存儲的安全性。而且各單板的單板私鑰與單板公鑰與其他單板的單板私鑰和單板公鑰都不相同,即使該單元的單板私鑰和單板公鑰被黑客攻破,也不會影響其他單板的啟動。
【附圖說明】
[0042]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0043]圖1是中央處理器的安全世界和非安全世界示意圖;
[0044]圖2是本發(fā)明實施例中軟件包重簽名的過程示意圖;
[0045]圖3是本發(fā)明實施例中控制單板安全啟動的方法的一實施例示意圖;
[0046]圖4是本發(fā)明實施例中軟件包升級的方法的一實施例示意圖;
[0047]圖5是本發(fā)明實施例中控制單板安全啟動的裝置的一實施例示意圖;
[0048]圖6是本發(fā)明實施例中控制單板安全啟動的裝置的另一實施例示意圖;
[0049]圖7是本發(fā)明實施例中控制單板安全啟動的裝置的另一實施例示意圖;
[0050]圖8是本發(fā)明實施例中軟件包升級的裝置的一實施例示意圖;
[0051]圖9是本發(fā)明實施例中軟件包升級的裝置的另一實施例示意圖;
[0052]圖10是本發(fā)明實施例中控制單板安全啟動的裝置的另一實施例示意圖;
[0053]圖11是本發(fā)明實施例中軟件包升級的裝置的另一實施例示意圖。
【具體實施方式】
[0054]本發(fā)明實施例提供一種控制單板安全啟動的方法,軟件包升級的方法,同時還提供了軟件包公鑰泄漏后的吊銷方法,本發(fā)明實施例提供的方法可以保證在軟件包的密鑰對泄漏時,其他單板依然可以安全啟動。本發(fā)明實施例還提供了相應的裝置。以下分別進行詳細說明。
[0055]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0056]為了便于理解,先對單板做個簡單的介紹:
[0057]單板就是通信設備中的一個硬件,本發(fā)明實施例中的單板在生產階段就為每個單板生成了不同的非對稱密鑰對,在本發(fā)明實施例中將其稱為單板密鑰對,包括單板私鑰和單板公鑰。單板的密鑰對必須保證不可篡改,單板私鑰不可被外部讀取。通常在芯片的安