本技術(shù)涉及芯片分區(qū)設(shè)計,具體而言,涉及一種基于多塊區(qū)的芯片安全配置方法、裝置及芯片。
背景技術(shù):
1、芯片廣泛應(yīng)用于各個領(lǐng)域,包括計算機、通信、消費電子、醫(yī)療、物聯(lián)網(wǎng)和工業(yè)控制等。芯片中包括很多安全資源,為了保護芯片中的安全資源(如存儲器的數(shù)據(jù)、程序或者其他安全設(shè)備)不被未經(jīng)授權(quán)的人員訪問,通常芯片會單獨將部分存儲器或其他安全設(shè)備設(shè)置為特殊安全資源,這些資源不可被未經(jīng)授權(quán)的人員訪問。
2、實際中,不同使用者需要被保護的安全資源需求不同,如果將固定存儲器空間或片內(nèi)其他安全設(shè)備分配為特殊安全資源,不能靈活滿足使用者的需求,并且會造成安全資源空間的浪費。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了一種基于多塊區(qū)的芯片安全配置方法、裝置、電子設(shè)備和存儲介質(zhì),在通過兩個安全分區(qū)對片內(nèi)安全資源進行靈活配置的基礎(chǔ)上,還能夠通過塊區(qū)鏈接指針選擇每個安全分區(qū)的有效安全屬性配置,不但滿足了用戶的使用需求,且還實現(xiàn)了對安全模式的靈活配置,極大提高了片內(nèi)安全資源的利用率。
2、第一方面,本技術(shù)實施例提供了一種基于多塊區(qū)的芯片安全配置方法,應(yīng)用于雙碼分區(qū)安全裝置,所述雙碼分區(qū)安全裝置包括雙碼安全控制器、一次性可編程otp、主核處理器和片內(nèi)安全資源;所述otp、所述主核處理器和所述片內(nèi)安全資源分別與所述雙碼安全控制器通信連接;所述芯片包括兩個安全分區(qū)且每個安全分區(qū)分別對應(yīng)有一專用安全otp;所述方法包括:
3、通過所述專用安全otp為對應(yīng)的安全分區(qū)分配所述片內(nèi)安全資源,得到每個安全分區(qū)中針對片內(nèi)安全資源的安全配置屬性;其中,不同安全分區(qū)分配的片內(nèi)安全資源不同,每個安全分區(qū)的安全配置屬性存儲在該安全分區(qū)的專用安全otp中;每一專用安全otp中均包括多個塊區(qū),每一塊區(qū)存儲有一片內(nèi)安全資源的安全配置屬性;每個安全分區(qū)的專用安全otp中還包括該安全分區(qū)專屬的塊區(qū)鏈接指針;
4、通過配置每個安全分區(qū)的塊區(qū)鏈接指針,從對應(yīng)安全分區(qū)的多個塊區(qū)中選擇有效塊區(qū),并通過所述有效塊區(qū)確定有效安全配置屬性;
5、通過每個專用安全otp將其對應(yīng)安全分區(qū)的有效安全配置屬性加載到雙碼安全控制器,并通過所述雙碼安全控制器及其加載的各個安全分區(qū)的有效安全配置屬性,為所述片內(nèi)安全資源和所述主核處理器分別提供對應(yīng)的安全配置信息,并基于所述安全配置信息控制所述芯片運行。
6、在一種可能的實施方式中,所述片內(nèi)安全資源包括片內(nèi)主機、片內(nèi)從機和存儲器,所述存儲器預(yù)先被劃分為多個存儲器空間;
7、所述安全配置屬性至少包括分區(qū)密碼、所述片內(nèi)安全資源的分區(qū)屬性和針對存儲器中存儲器空間的僅執(zhí)行保護功能配置;其中,當(dāng)任一存儲器空間使能僅執(zhí)行保護功能配置時,該存儲器空間內(nèi)的數(shù)據(jù)不允許被讀寫,但該存儲器空間內(nèi)的數(shù)據(jù)允許被指定安全代碼程序讀寫;所述指定安全代碼程序為該存儲器空間所在安全分區(qū)預(yù)先配置好的且存儲在該安全分區(qū)的只讀存儲器rom中的代碼程序。
8、在一種可能的實施方式中,當(dāng)所述片內(nèi)安全資源被分配至任一安全分區(qū)時,所述片內(nèi)安全資源基于該安全分區(qū)的分區(qū)密碼被加密;
9、所述芯片還用于與調(diào)試器連接,并通過所述調(diào)試器對所述芯片進行調(diào)試;所述安全分區(qū)中加密的片內(nèi)安全資源被配置為按照指定安全訪問配置進行讀取訪問:當(dāng)所述芯片與所述調(diào)試器連接時,若未對所述安全分區(qū)中加密的片內(nèi)安全資源進行半解密,則不允許進行該安全分區(qū)中片內(nèi)安全資源中的數(shù)據(jù)訪問和取指訪問,且中斷所述調(diào)試器對所述芯片的調(diào)試連接。
10、在一種可能的實施方式中,每個安全分區(qū)中的分區(qū)密碼還包括半解密密碼;所述方法還包括:
11、通過每個安全分區(qū)的半解密密碼對該安全分區(qū)進行半解密;其中,在半解密后,每個安全分區(qū)中加密的片內(nèi)安全資源被配置為按照指定安全訪問配置進行讀取訪問:每個安全分區(qū)中加密的片內(nèi)安全資源的指定安全訪問配置和不連接調(diào)試器時的加密狀態(tài)相同;
12、同時,在半解密后,所述調(diào)試器對所述安全分區(qū)內(nèi)加密的片內(nèi)從機或存儲器空間的讀寫無效,并在未觸發(fā)安全保護條件下,保持所述調(diào)試器對所述芯片的調(diào)試連接;當(dāng)檢測到觸發(fā)安全保護條件后,中斷所述調(diào)試器對所述芯片的調(diào)試連接;其中,觸發(fā)安全保護條件至少包括:運行在安全分區(qū)中的程序停核。
13、在一種可能的實施方式中,通過所述雙碼安全控制器及其加載的各個安全分區(qū)的有效安全配置屬性,為所述片內(nèi)安全資源和所述主核處理器分別提供對應(yīng)的安全配置信息,包括:
14、通過所述雙碼安全控制器基于其加載的每個安全分區(qū)的安全配置屬性,生成針對所述片內(nèi)安全資源和所述主核處理器各自對應(yīng)的安全配置信息并分別發(fā)送給所述片內(nèi)安全資源和所述主核處理器;
15、其中,所述主核處理器和所述片內(nèi)主機的安全配置信息包括:每個片內(nèi)從機和片內(nèi)存儲器空間的安全分區(qū)信息,每個片內(nèi)從機和片內(nèi)存儲器空間的分區(qū)信息由兩比特構(gòu)成;
16、所述存儲器的安全配置信息包括:每一存儲器空間的安全分區(qū)信息及僅執(zhí)行保護功能屬性使能信息;每一存儲器空間的安全分區(qū)信息及僅執(zhí)行保護功能屬性使能信息由三比特組成;
17、所述片內(nèi)從機的安全配置信息包括所述片內(nèi)從機的安全分區(qū)信息,該片內(nèi)從機的安全分區(qū)信息由兩比特組成。
18、在一種可能的實施方式中,所述通過配置每個安全分區(qū)的塊區(qū)鏈接指針,從對應(yīng)安全分區(qū)的多個塊區(qū)中選擇有效塊區(qū),并通過所述有效塊區(qū)確定有效安全配置屬性,包括:
19、在所述雙碼安全控制器中配置每個安全分區(qū)的塊區(qū)鏈接指針分別與該安全分區(qū)中多個塊區(qū)的映射關(guān)系;其中,所述專用安全otp中每一組otp映射地址對應(yīng)一塊區(qū),每一塊區(qū)存儲有一片內(nèi)安全資源的安全配置屬性;
20、通過配置每個安全分區(qū)的塊區(qū)鏈接指針,并結(jié)合所述映射關(guān)系從該安全分區(qū)的多個塊區(qū)中確定有效塊區(qū),并通過所述有效塊區(qū)確定有效安全配置屬性。
21、在一種可能的實施方式中,每個專用安全otp包括多個塊區(qū)鏈接指針,所述多個塊區(qū)鏈接指針對應(yīng)多個值,所述多個值采用逐位表決的邏輯形成硬件解析指針的最終值,并通過所述最終值結(jié)合所述映射關(guān)系確定有效塊區(qū);其中,當(dāng)所述多個塊區(qū)鏈接指針的值不同時通過狀態(tài)寄存器中進行錯誤狀態(tài)提示。
22、在一種可能的實施方式中,基于所述專用安全otp在默認狀態(tài)下為全1的特征以及對應(yīng)安全分區(qū)中的塊區(qū)數(shù)量,定義塊區(qū)鏈接指針的比特數(shù)并通過所述塊區(qū)鏈接指針中最高0位的位置從多個塊區(qū)中指定有效塊區(qū)。
23、在一種可能的實施方式中,所述雙碼安全控制器與所述專用安全otp采用私有總線連接,用于在不可見條件下,完成所述專用安全otp向所述雙碼安全控制器的數(shù)據(jù)加載。
24、在一種可能的實施方式中,所述方法還包括:
25、為所述雙碼安全控制器配置預(yù)設(shè)加載機制,以使所述雙碼安全控制器基于所述預(yù)設(shè)加載機制加載所述片內(nèi)安全資源和所述主核處理器中的安全配置信息,并在加載完成后,基于所述安全配置信息控制所述芯片運行;所述預(yù)設(shè)加載機制中包括各區(qū)域的加載順序和對應(yīng)的處理方式;
26、其中,在芯片上電后,按照預(yù)設(shè)加載機制中各區(qū)域的加載順序進行加載且加載完成信號為無效狀態(tài),當(dāng)上一區(qū)域加載數(shù)據(jù)完成指示信號有效時,根據(jù)所述專用安全otp的私有總線加載地址和本區(qū)域的地址,來確定本數(shù)據(jù)加載是否完成;對于第一個加載地址加載第一安全分區(qū)的第一塊區(qū)鏈接指針,上一區(qū)域加載數(shù)據(jù)完成指示信號始終為有效狀態(tài);其中,塊區(qū)加載相比公共區(qū)加載多了一組有效地址選擇邏輯。
27、在一種可能的實施方式中,所述方法還包括:
28、通過所述雙碼安全控制器重新設(shè)置所述塊區(qū)鏈接指針,以將所述有效塊區(qū)切換為新有效塊區(qū),并使所述雙碼安全控制器基于安全加載機制加載所述片內(nèi)安全資源和所述主核處理器中的安全配置信息;
29、所述雙碼安全控制器硬件在實現(xiàn)時,在完成安全加載流程的最后一步時,同步加載所述安全配置信息中的指定配置信息;所述指定配置信息包括:兩個安全分區(qū)各自的密碼可見配置、兩個安全分區(qū)各自的其他安全配置,兩個安全分區(qū)各自的僅執(zhí)行配置和兩個安全分區(qū)各自的分區(qū)屬性。
30、在一種可能的實施方式中,其中,在每個安全分區(qū)的專用安全otp中燒寫每個安全分區(qū)的安全配置屬性,且每個專用安全otp在燒寫之前基于對應(yīng)安全分區(qū)的分區(qū)密碼進行解密處理。
31、在一種可能的實施方式中,通過所述雙碼安全控制器采用如下方式對所述安全分區(qū)進行解密:
32、針對每一安全分區(qū),通過所述雙碼安全控制器基于其連接該安全分區(qū)的專用安全otp的私有總線加載該安全分區(qū)的多個塊區(qū)鏈接指針;
33、通過所述雙碼安全控制器基于所述多個塊區(qū)鏈接指針計算出該安全分區(qū)的有效塊區(qū);
34、通過所述雙碼安全控制器基于所述私有總線加載該安全分區(qū)的分區(qū)密碼;
35、通過向所述雙碼安全控制器內(nèi)的解密寄存器寫解密密碼;
36、判斷所述解密寄存器的解密密碼與該安全分區(qū)的分區(qū)密碼是否相同;若相同則完成解密;若不同,返回向雙碼安全控制器寫解密密碼的步驟,直至完成解密或者退出解密功能;
37、其中,全解密的分區(qū)密碼為128位;所述半解密密碼是所述分區(qū)密碼的一部分為64位。
38、第二方面,本技術(shù)實施例還提供了一種基于多塊區(qū)的芯片安全配置裝置,包括雙碼安全控制器、一次性可編程otp、主核處理器和片內(nèi)安全資源;所述otp、所述主核處理器和所述片內(nèi)安全資源分別與所述雙碼安全控制器通信連接;
39、所述雙碼分區(qū)安全裝置用于執(zhí)行第一方面任一項所述的基于多塊區(qū)的芯片安全配置方法。
40、第三方面,本技術(shù)實施例還提供了一種芯片,包括雙碼分區(qū)安全裝置,所述雙碼分區(qū)安全裝置包括雙碼安全控制器、一次性可編程otp、主核處理器和片內(nèi)安全資源;所述otp、所述主核處理器和所述片內(nèi)安全資源分別與所述雙碼安全控制器通信連接;所述芯片包括兩個安全分區(qū)且每個安全分區(qū)分別對應(yīng)有一專用安全otp;所述芯片通過所述雙碼分區(qū)安全裝置執(zhí)行第一方面任一項所述的基于多塊區(qū)的芯片安全配置方法。
41、本技術(shù)實施例提供上述基于多塊區(qū)的芯片安全配置方法、裝置及芯片,該方法包括:芯片包括兩個安全分區(qū)且每個安全分區(qū)分別對應(yīng)有一專用安全otp,通過專用安全otp為對應(yīng)的安全分區(qū)分配片內(nèi)安全資源,得到每個安全分區(qū)的安全配置屬性;由于每個安全分區(qū)的專用安全otp中配置有專屬的塊區(qū)鏈接指針,進而通過每個安全分區(qū)的塊區(qū)鏈接指針能夠從對應(yīng)安全分區(qū)多個塊區(qū)中確定有效塊區(qū),并通過所述有效塊區(qū)確定有效安全配置屬性;然后,通過每個專用安全otp將其對應(yīng)安全分區(qū)的有效安全配置屬性加載到雙碼安全控制器,并通過所述雙碼安全控制器及其加載的各個安全分區(qū)的有效安全配置屬性,為所述片內(nèi)安全資源和所述主核處理器分別提供對應(yīng)的安全配置信息,并基于所述安全配置信息控制所述芯片運行,通過這種方式,在通過兩個安全分區(qū)對片內(nèi)安全資源進行靈活配置的基礎(chǔ)上,還能夠通過塊區(qū)鏈接指針選擇每個安全分區(qū)的有效安全屬性配置,不但滿足了用戶的使用需求,且還實現(xiàn)了對安全模式的靈活配置,極大提高了片內(nèi)安全資源的利用率。