本申請涉及芯片,尤其涉及一種應用程序的安全啟動處理方法、設備及存儲介質。
背景技術:
1、系統級芯片(system-on-a-chip,soc)是一種高度集成的電子系統,它將多個功能模塊整合到一個單一的芯片上,從而提高了系統性能、降低了功耗,并減小了物理尺寸。
2、soc使用時首選需要通過安全芯片進行安全校驗,現有安全校驗過程主要包括:系統上電后安全芯片調用spi?flash中的uboot以進行固件校驗,并在校驗通過后利用spiswitch切換spi?flash與soc之間的通路,以使soc加載spi?flash中的uboot,并根據uboot的引導加載和校驗內核和文件系統,以完成系統的啟動。
3、上述soc結構中,若spi?flash中的uboot被篡改或安全芯片被短路時,安全芯片的校驗則會失效,同時還會導致加載的內核非預期的內核,導致系統無法反向校驗uboot,使得啟動過程不可信。
技術實現思路
1、本申請提供一種應用程序的安全啟動處理方法、設備及存儲介質,用以解決現有芯片啟動前若spi?flash中的uboot被篡改或安全芯片被短路時,安全芯片的校驗則會失效,同時還會導致加載的內核非預期的內核,導致系統無法反向校驗uboot,使得啟動過程不可信的問題。
2、第一方面,本申請提供一種應用程序的安全啟動處理方法,包括:
3、響應于系統上電信號,調用安全啟動程序,以根據所述安全啟動程序校驗uboot是否可信;其中,所述安全啟動程序包括調用安全芯片校驗uboot;
4、若所述安全啟動程序對uboot的校驗結果為可信,則基于uboot調用安全芯片校驗待加載的系統和安全校驗程序;其中,所述待加載的系統包括內核和初始化進程;
5、若所述待加載的系統和安全校驗程序的校驗結果均可信,則基于所述安全校驗程序調用安全芯片校驗每一待加載應用的關鍵組件;
6、若所述待加載應用的關鍵組件的校驗結果可信,則基于所述關鍵組件啟動應用程序。
7、在一種可能的設計中,所述調用安全啟動程序,以根據所述安全啟動程序校驗uboot是否可信,包括:
8、觸發安全核調用內置可信根證書,根據所述可信根證書校驗引導程序;其中,所述引導程序用于引導安全芯片校驗uboot;
9、若所述引導程序可信,則基于所述引導程序調用安全芯片校驗uboot。
10、在一種可能的設計中,還包括:
11、若所述uboot的校驗結果不可信,或所述待加載的系統和安全校驗程序的校驗結果不可信,或所述待加載應用的關鍵組件的校驗結果不可信,則重新啟動系統。
12、在一種可能的設計中,所述基于所述關鍵組件啟動應用程序,包括:
13、基于所述關鍵組件調用安全芯片校驗與所述關鍵組件對應的應用程序;
14、若所述關鍵組件對應的應用程序的校驗結果可信,則啟動所述應用程序。
15、第二方面,本申請提供一種系統級芯片,包括:
16、安全模塊,用于響應于系統上電信號,調用安全啟動程序,以根據所述安全啟動程序校驗uboot是否可信;其中,所述安全啟動程序包括調用安全芯片校驗uboot;
17、業務模塊,用于若所述安全啟動程序對uboot的校驗結果為可信,則基于uboot調用安全芯片校驗待加載的系統和安全校驗程序;其中,所述待加載的系統包括內核和初始化進程;
18、所述業務模塊還用于若所述待加載的系統和安全校驗程序的校驗結果均可信,則基于所述安全校驗程序調用安全芯片校驗每一待加載應用的關鍵組件;
19、所述業務模塊還用于若所述待加載應用的關鍵組件的校驗結果可信,則基于所述關鍵組件啟動應用程序。
20、可選的,所述業務模塊具體用于調用安全啟動程序,以根據所述安全啟動程序校驗uboot是否可信,包括:
21、觸發安全核調用內置可信根證書,根據所述可信根證書校驗引導程序;其中,所述引導程序用于引導安全芯片校驗uboot;
22、若所述引導程序可信,則基于所述引導程序調用安全芯片校驗uboot。
23、可選的,所述業務模塊具體用于基于所述關鍵組件啟動應用程序,包括:
24、基于所述關鍵組件調用安全芯片校驗與所述關鍵組件對應的應用程序;
25、若所述關鍵組件對應的應用程序的校驗結果可信,則啟動所述應用程序。
26、進一步的,還包括:
27、重啟模塊,用于若所述uboot的校驗結果不可信,或所述待加載的系統和安全校驗程序的校驗結果不可信,或所述待加載應用的關鍵組件的校驗結果不可信,則重新啟動系統。
28、第三方面,本申請提供一種安全啟動系統,包括:
29、嵌入式多媒體卡、安全芯片和系統級芯片,所述嵌入式多媒體卡和安全芯片分別與所述系統級芯片連接;其中,所述系統級芯片包括安全核和業務核,所述安全核用于根據安全核的內置可信根證書校驗uboot,所述業務核用于根據所述安全核校驗通過的uboot校驗嵌入式多媒體卡內待加載的業務。
30、第四方面,本申請提供一種電子設備,包括:
31、處理器,以及與所述處理器通信連接的存儲器;
32、所述存儲器存儲計算機執行指令;
33、所述處理器執行所述存儲器存儲的計算機執行指令,以實現應用程序的安全啟動處理方法。
34、第五方面,本申請提供一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有計算機執行指令,所述計算機執行指令被處理器執行時用于實現應用程序的安全啟動處理方法。
35、第六方面,本申請提供一種計算機程序產品,包括:
36、計算機程序,所述計算機程序被處理器執行時實現應用程序的安全啟動處理方法。
37、本申請提供的應用程序的安全啟動處理方法、設備及存儲介質,通過響應于系統上電信號,調用安全啟動程序,以根據所述安全啟動程序校驗uboot是否可信;若所述安全啟動程序對uboot的校驗結果為可信,則基于uboot調用安全芯片校驗待加載的系統和安全校驗程序;若所述待加載的系統和安全校驗程序的校驗結果均可信,則基于所述安全校驗程序調用安全芯片校驗每一待加載應用的關鍵組件;若所述待加載應用的關鍵組件的校驗結果可信,則基于所述關鍵組件啟動應用程序,相對于現有技術中芯片啟動前若spi?flash中的uboot被篡改或安全芯片被短路時,安全芯片的校驗則會失效,同時還會導致加載的內核非預期的內核,導致系統無法反向校驗uboot,使得啟動過程不可信的缺陷,本申請實現信任鏈的可靠且有效傳遞,整個啟動過程信任鏈傳遞無斷點,保證了系統啟動的安全性,同時保證了系統的安全啟動滿足電力行業標準。
1.一種應用程序的安全啟動處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述調用安全啟動程序,以根據所述安全啟動程序校驗uboot是否可信,包括:
3.根據權利要求1所述的方法,其特征在于,還包括:
4.根據權利要求1所述的方法,其特征在于,所述基于所述關鍵組件啟動應用程序,包括:
5.一種系統級芯片,其特征在于,包括:
6.根據權利要求5所述的系統級芯片,其特征在于,還包括:
7.一種安全啟動系統,其特征在于,包括:嵌入式多媒體卡、安全芯片和系統級芯片,所述嵌入式多媒體卡和安全芯片分別與所述系統級芯片連接;其中,所述系統級芯片包括安全核和業務核,所述安全核用于根據安全核的內置可信根證書校驗uboot,所述業務核用于根據所述安全核校驗通過的uboot校驗嵌入式多媒體卡內待加載的業務。
8.一種電子設備,其特征在于,包括:處理器,以及與所述處理器通信連接的存儲器;
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質中存儲有計算機執行指令,所述計算機執行指令被處理器執行時用于實現如權利要求1至4中任一項所述的方法。
10.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至4中任一項所述的方法。