亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種控制單板安全啟動(dòng)的方法、軟件包升級的方法及裝置的制造方法_2

文檔序號:9397116閱讀:來源:國知局
全模塊中,單板私鑰生成后直接燒寫到芯片的安全模塊(如:eFuse)中,不可篡改和直接訪問,只能通過硬件安全引擎訪問;單板公鑰可以存儲在flash上,但是單板公鑰的hash值存放在eFuse中,用于防止篡改。
[0058]單板啟動(dòng)時(shí)必須加載相應(yīng)的軟件包,軟件包成功加載后完成單板啟動(dòng)過程。但是軟件包是適用于批量單板的,軟件包發(fā)布時(shí)也有相應(yīng)的軟件包密鑰對,包括軟件包公鑰和軟件包私鑰,軟件包私鑰通常由廠商保存,軟件包公鑰隨軟件包發(fā)布。
[0059]信任區(qū)TrustZone技術(shù)將中央處理器(Central Processing Unit,CPU)物理的劃分為安全世界(Secure World)和非安全世界/普通世界(Normal World),如圖1所示,這樣允許加密、解密等安全相關(guān)的行為在物理隔離的安全世界中運(yùn)行,非安全世界的操作系統(tǒng)(Operator System, OS)或者應(yīng)用(APP)無法訪問到安全世界中的地址。
[0060]對于軟件來說,安全世界和非安全世界是隔離的,他們可以各自運(yùn)行不同的軟件,對于非安全世界的軟件都無法直接看到安全世界的地址,只能通過指定方式(如:中斷)請求安全世界的執(zhí)行特定的功能。
[0061]單板安裝到通信設(shè)備后,在單板上電啟動(dòng)時(shí),單板上的CPU會使用該單板的單板公鑰,從安全啟動(dòng)代碼(Bootrom Secure Boot Code,BSBC)開始逐級校驗(yàn)單板啟動(dòng)所需要的軟件包,其中,待校驗(yàn)的軟件包可以根據(jù)安全要求進(jìn)行選擇。一般而言,啟動(dòng)中需要加載到內(nèi)存的軟件包是必須被校驗(yàn)的。例如:單板啟動(dòng)時(shí)要校驗(yàn)的軟件包可以包括bootrom、補(bǔ)丁、OS、APP等,如果軟件包的簽名和他在單板上的簽名是匹配的,則繼續(xù)啟動(dòng),否則單板停止加載和啟動(dòng)。需要說明的是,本發(fā)明實(shí)施例中涉及到的簽名都是指數(shù)字簽名。
[0062]如果軟件包公鑰硬編碼在代碼中,則當(dāng)軟件包校驗(yàn)通過加載后,公鑰也一并被證明是合法安全的。
[0063]駐留安全世界的軟件也屬于軟件包的一部分,他們在啟動(dòng)時(shí)也會通過簽名驗(yàn)證。通過驗(yàn)證后,這部分代碼加載并駐留在安全世界運(yùn)行,負(fù)責(zé)完成特定的安全相關(guān)的功能。
[0064]實(shí)際上,在本發(fā)明實(shí)施例中,單板啟動(dòng)時(shí)所校驗(yàn)的簽名是在安全世界使用單板私鑰完成的重簽名,在軟件包有更新時(shí),廠商發(fā)布新的軟件包,也就是待更新的軟件包,在該新的軟件包中攜帶軟件包公鑰,CPU獲取到該待更新的軟件包后,將該待更新的軟件包放入安全世界中,在安全世界中使用該待更新的軟件包公鑰對該待更新的軟件包的簽名進(jìn)行校驗(yàn),該簽名可以理解為是該軟件包的原簽名,原簽名是使用所述軟件包的軟件包私鑰對所述軟件包進(jìn)行簽名得到的;原簽名通過校驗(yàn)后,在安全世界中使用該單板的單板私鑰對該待更新的軟件包進(jìn)行重簽名,然后將該待更新的軟件包的重簽名和該待更新的軟件包關(guān)聯(lián)存儲,得到更新的軟件包。如果軟件包公鑰硬編碼在代碼中,則當(dāng)軟件包校驗(yàn)通過加載后,軟件包公鑰也一并被證明是合法安全的。因軟件包公鑰在軟件包中,所以對軟件包進(jìn)行重簽名后,軟件包公鑰也受到重簽名的保護(hù)。
[0065]本發(fā)明實(shí)施例中,因?yàn)榘踩澜绾头前踩澜绲臉I(yè)務(wù)軟件運(yùn)行環(huán)境物理隔離,極難被黑客攻擊和破解。因此,軟件包的校驗(yàn)和重簽名在安全世界中進(jìn)行是安全可靠的。
[0066]軟件包從原簽名到重簽名的過程可以參閱圖2進(jìn)行理解:
[0067]待更新的軟件包在安全世界中采用軟件包公鑰對該待更新的軟件包的原簽名進(jìn)行校驗(yàn),校驗(yàn)通過后,使用單板私鑰對該待更新的軟件包進(jìn)行重簽名操作,得到該待更新的軟件包的重簽名。
[0068]在單板上電后,對軟件包的重簽名進(jìn)行校驗(yàn),在單板啟動(dòng)時(shí)需要加載的各個(gè)軟件包的重簽名都通過校驗(yàn)后,表示單板啟動(dòng)成功。
[0069]現(xiàn)有技術(shù)中軟件包的簽名既用于軟件包升級,也用于安全啟動(dòng)。導(dǎo)致安全啟動(dòng)時(shí),所有單板都必須使用相同的密鑰。而本發(fā)明實(shí)施例中分離了軟件包升級和單板啟動(dòng)這兩個(gè)階段,每個(gè)單板重新簽名了所下載的軟件包,這樣每個(gè)單板所存儲的軟件包都有不同的密鑰和簽名,減少了泄密后的風(fēng)險(xiǎn)。而且,即使本單板的單板公鑰和單板私鑰被黑客攻破,也不會影響其他單板的安全性。
[0070]另外,本發(fā)明實(shí)施例中通過將校驗(yàn)和重簽名放到安全世界這個(gè)可信環(huán)境中一次性完成,利用軟件包原簽名,解決了重簽名接口鑒權(quán)的問題。
[0071]本發(fā)明不局限于特定的通信系統(tǒng),針對的是支持安全啟動(dòng)特性的單板。影響可信單板啟動(dòng)和軟件更新場景。
[0072]另外,需要說明的是,本發(fā)明實(shí)施例中還可以通過另外兩種方案來解決非對稱密鑰對泄漏后的更新問題。
[0073]方案一:
[0074]1、這個(gè)策略也需要CPU內(nèi)的可信環(huán)境中,預(yù)置單板不對稱密鑰,但是只需要燒寫入單板公鑰,因?yàn)椴簧婕爸睾灻?,單板私鑰不需要存放在CPU上,由設(shè)備商保存即可。單板不對稱密鑰對對于所有單板是相同的。
[0075]2、軟件包驗(yàn)證用的公鑰隨bootrom發(fā)布。
[0076]3、軟件包發(fā)布后;B00TR0M使用單板私鑰簽名發(fā)布。
[0077]4、單板啟動(dòng)時(shí),CPU使用單板公鑰驗(yàn)證BOOTROM簽名正確;B00TR0M使用軟件包公鑰驗(yàn)證軟件包簽名正確。
[0078]5、當(dāng)需要更新軟件包公鑰時(shí),通過升級B00TR0M,完成更新。
[0079]本發(fā)明的方案也區(qū)分了單板密鑰對和軟件包密鑰對,因此可以支持軟件包密鑰的更新。但是由于沒有重簽名的過程,單板密鑰對必須做成所有單板相同,否則就無法發(fā)布BOOTROM升級時(shí)所需的數(shù)字簽名。
[0080]方案二:
[0081]與方案一相比,方案二在單板的可信環(huán)境中內(nèi)置了多個(gè)單板密鑰對,這些密鑰對在所有的單板都相同。
[0082]當(dāng)?shù)谝唤M單板密鑰對泄漏后,通過升級或者吊銷命令,使第一組單板密鑰對失效;當(dāng)再次啟動(dòng)時(shí),由于第一組單板密鑰已經(jīng)失效,因此以第一組單板密鑰中私鑰簽名的BOOTROM的簽名都無法校驗(yàn)通過,而未吊銷的密鑰的數(shù)字簽名都可以生效,可以避免因一組密鑰對泄漏,所有單板的密鑰都需要立馬更新的狀況。
[0083]參閱圖3,本發(fā)明實(shí)施例提供的控制單板安全啟動(dòng)的方法的一實(shí)施例包括:
[0084]101、在單板上電后,獲取待加載到所述單板的軟件包的重簽名,所述軟件包的重簽名為使用所述單板的單板私鑰對所述軟件包進(jìn)行重簽名得到的,所述重簽名是在使用所述軟件包的軟件包公鑰對所述軟件包的原簽名驗(yàn)證通過后做出的,所述原簽名為使用所述軟件包的軟件包私鑰對所述軟件包進(jìn)行簽名得到的。
[0085]102、使用與所述單板私鑰配對的單板公鑰對所述軟件包的重簽名進(jìn)行校驗(yàn)。
[0086]103、在所述重簽名通過校驗(yàn)后,啟動(dòng)所述單板。
[0087]本發(fā)明實(shí)施例提供的控制單板安全啟動(dòng)的方法,一套單板包括兩套密鑰對,分別為單板公鑰、單板私鑰和軟件包公鑰、軟件包私鑰,針對通過驗(yàn)證的軟件包簽名,再采用單板的私鑰對軟件包進(jìn)行重簽名,從而提高了軟件包存儲的安全性。而且各單板的單板私鑰與單板公鑰與其他單板的單板私鑰和單板公鑰都不相同,即使該單元的單板私鑰和單板公鑰被黑客攻破,也不會影響其他單板的啟動(dòng)。
[0088]可選地,在上述圖3對應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的控制單板安全啟動(dòng)的方法的第一個(gè)可選實(shí)施例中,所述獲取待加載到所述單板的軟件包的重簽名之前,所述方法還包括:
[0089]獲取待更新的軟件包;
[0090]在安全世界中,使用所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進(jìn)行校驗(yàn);
[0091]在所述待更新的軟件包的原簽名通過校驗(yàn)后,在所述安全世界中使用所述單板私鑰對所述待更新的軟件包進(jìn)行重簽名。
[0092]可選地,在上述第一個(gè)可選實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的控制單板安全啟動(dòng)的方法的第一個(gè)可選實(shí)施例中,所述將所述待更新的軟件包和所述待更新的軟件包進(jìn)行重簽名對應(yīng)存儲之后,所述方法還包括:
[0093]用所述待更新的軟件包和所述待更新的軟件包的重簽名替換對應(yīng)的低版本的軟件包和所述低版本的軟件包對應(yīng)的重簽名,所述低版本的軟件包中包含所述低版本的軟件包公鑰。
[0094]本發(fā)明實(shí)施例中,軟件包公鑰包含在軟件包中,這樣在安全世界的環(huán)境中,當(dāng)一個(gè)軟件包公鑰泄漏后,就可以通過軟件包更新的方式吊銷該軟件包,同時(shí)也就實(shí)現(xiàn)了軟件包公鑰的更新。
[0095]圖3對應(yīng)的實(shí)施例或可選實(shí)施例可以參閱圖3以前所描述的軟件更新、單板啟動(dòng)的方案進(jìn)行理解,本處不做過多贅述。
[0096]參閱圖4,本發(fā)明實(shí)施例提供的軟件包升級的方法的一實(shí)施例包括:
[0097]201、獲取單板待更新的軟件包。
[0098]202、在安全世界中,使用所述待更新的軟件包的軟件包公鑰對所述待更新的軟件包的原簽名進(jìn)行校驗(yàn)。
[0099]203、在所述待更新的軟件包的原簽名通過校驗(yàn)后,在所述安全世界中使用所述單板的單板私鑰對所述待更新的軟件包進(jìn)行重簽名,所述重簽名用于在所述單板啟動(dòng)時(shí)檢驗(yàn)所述軟件包的安全性。
[0100]本發(fā)明實(shí)施例提供的軟件包升級的方法,一套單板包括兩套密鑰對,分別為單板公鑰、單板私鑰和軟件包公鑰、軟件包私鑰,針對通過驗(yàn)證的軟件包簽名,再采用單板的私鑰對軟件包進(jìn)行重簽名,從而提高了軟件包存儲的安全性。而且各單板的單板私鑰與單板公鑰與其他單板的單板私鑰和單板公鑰都不相同,即使該單元的單板私鑰和單板公鑰被黑客攻破,也不會影響其他單板的啟動(dòng)。
[0101]可選地,在上述圖4對應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的軟件包升級的方法的可選實(shí)施例中,所述將
當(dāng)前第2頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1