本技術(shù)涉及芯片分區(qū)設(shè)計,具體而言,涉及一種芯片中雙碼分區(qū)安全方法、裝置及芯片。
背景技術(shù):
1、芯片廣泛應(yīng)用于各個領(lǐng)域,包括計算機、通信、消費電子、醫(yī)療、物聯(lián)網(wǎng)和工業(yè)控制等。芯片中包括很多安全資源,為了保護(hù)芯片中的安全資源(如存儲器的數(shù)據(jù)、程序或者其他安全設(shè)備)不被未經(jīng)授權(quán)的人員訪問,通常芯片會單獨將部分存儲器或其他安全設(shè)備設(shè)置為特殊安全資源,這些資源不可被未經(jīng)授權(quán)的人員訪問。
2、實際中,不同使用者需要被保護(hù)的安全資源需求不同,如果將固定存儲器空間或片內(nèi)其他安全設(shè)備分配為特殊安全資源,不能靈活滿足使用者的需求,并且會造成安全資源空間的浪費。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了一種芯片中雙碼分區(qū)安全方法、裝置及芯片,能夠通過兩個安全分區(qū)進(jìn)行片內(nèi)安全資源的靈活配置,既能滿足使用者的需求,也提高了片內(nèi)安全資源的利用率。
2、第一方面,本技術(shù)實施例提供了一種芯片中雙碼分區(qū)安全方法,應(yīng)用于雙碼分區(qū)安全裝置,所述雙碼分區(qū)安全裝置包括雙碼安全控制器、一次性可編程otp、主核處理器和片內(nèi)安全資源;所述otp、所述主核處理器和所述片內(nèi)安全資源分別與所述雙碼安全控制器通信連接;所述方法包括:
3、根據(jù)所述芯片中預(yù)先配置的兩個安全分區(qū),為每個安全分區(qū)分配一專用安全otp;
4、通過所述專用安全otp為對應(yīng)的安全分區(qū)分配所述片內(nèi)安全資源,得到每個安全分區(qū)中針對片內(nèi)安全資源的安全配置屬性;其中,每個安全分區(qū)的安全配置屬性存儲在該安全分區(qū)的專用安全otp中,所述安全配置屬性至少包括分區(qū)密碼和所述片內(nèi)安全資源的分區(qū)屬性;其中,不同安全分區(qū)分配的片內(nèi)安全資源不同;
5、通過每個專用安全otp將其對應(yīng)安全分區(qū)的安全配置屬性加載到雙碼安全控制器;
6、通過所述雙碼安全控制器及其加載的各專用安全otp中各個安全分區(qū)的安全配置屬性,為所述片內(nèi)安全資源和所述主核處理器分別提供對應(yīng)的安全配置信息,并基于所述安全配置信息控制所述芯片運行。
7、在一種可能的實施方式中,所述片內(nèi)安全資源包括片內(nèi)主機、片內(nèi)從機和存儲器,所述存儲器預(yù)先被劃分為多個存儲器空間;
8、所述安全配置屬性還包括針對存儲器中存儲器空間的僅執(zhí)行保護(hù)功能配置;其中,當(dāng)任一存儲器空間使能僅執(zhí)行保護(hù)功能配置時,該存儲器空間內(nèi)的數(shù)據(jù)不允許被讀寫,但該存儲器空間內(nèi)的數(shù)據(jù)允許被指定安全代碼程序讀寫;所述指定安全代碼程序為該存儲器空間所在安全分區(qū)預(yù)先配置好的且存儲在該安全分區(qū)的只讀存儲器rom中的代碼程序。
9、在一種可能的實施方式中,所述片內(nèi)安全資源是通過兩個比特位描述其在對應(yīng)安全分區(qū)內(nèi)的分區(qū)屬性;其中,比特位00表示不可訪問;比特位01表示屬于該安全分區(qū);比特位10/11表示不屬于該安全分區(qū);
10、所述存儲器空間是通過一個比特位描述其在對應(yīng)安全分區(qū)內(nèi)的僅執(zhí)行保護(hù)功能;其中,比特位0表示僅執(zhí)行保護(hù)功能屬性使能;比特位1表示僅執(zhí)行保護(hù)功能屬性不使能。
11、在一種可能的實施方式中,當(dāng)所述片內(nèi)安全資源被分配至任一安全分區(qū)時,所述片內(nèi)安全資源基于該安全分區(qū)的分區(qū)密碼被加密;其中,每個安全分區(qū)的分區(qū)密碼存儲在該安全分區(qū)的專用安全otp中,且為該安全分區(qū)預(yù)先配置的128位密碼;
12、所述安全分區(qū)中加密的片內(nèi)安全資源被配置為按照指定安全訪問配置進(jìn)行讀取訪問;其中,所述讀取訪問包括數(shù)據(jù)訪問和取指訪問;加密的片內(nèi)安全資源可以通過對應(yīng)安全分區(qū)的分區(qū)密碼進(jìn)行解密,解密后不受所述指定安全訪問配置約束。
13、在一種可能的實施方式中,所述片內(nèi)從機和所述存儲器空間可以被讀取訪問;所述安全分區(qū)中加密的片內(nèi)安全資源被配置為按照指定安全訪問配置進(jìn)行讀取訪問,包括:
14、對于安全分區(qū)中存儲器空間的數(shù)據(jù)訪問:若該存儲器空間僅執(zhí)行保護(hù)功能屬性不使能,則只允許來自于同一安全分區(qū)中存儲器空間的程序發(fā)起的數(shù)據(jù)訪問操作;否則,只允許來自于同一安全分區(qū)中指定安全代碼程序的數(shù)據(jù)訪問操作,所述指定安全代碼程序為該存儲器空間所在安全分區(qū)預(yù)先配置好的且存儲在該安全分區(qū)的只讀存儲器rom中的代碼程序;
15、對于安全分區(qū)中片內(nèi)從機中的數(shù)據(jù)訪問:只允許來自于同一安全分區(qū)中存儲器空間的程序發(fā)起的數(shù)據(jù)訪問操作。
16、在一種可能的實施方式中,所述片內(nèi)主機和所述主核處理器可以在指令存儲器中進(jìn)行取指訪問;所述片內(nèi)主機和所述主核處理器還可以對所述片內(nèi)從機和所述存儲器空間進(jìn)行訪問操作;所述安全分區(qū)中加密的片內(nèi)安全資源被配置為按照指定安全訪問配置進(jìn)行讀取訪問,還包括:
17、針對所述主核處理器的取指訪問:允許所述主核處理器的取指訪問;
18、針對所述片內(nèi)主機的取指訪問:所述片內(nèi)主機的取指訪問是否被允許取決于其是否與訪問的指令存儲器從屬于同一個安全分區(qū);其中,當(dāng)屬于同一安全分區(qū)時,允許所述片內(nèi)主機的取指訪問。
19、在一種可能的實施方式中,針對每一安全分區(qū),通過該安全分區(qū)的分區(qū)密碼并按照指定解密流程解密該安全分區(qū)的片內(nèi)安全資源;當(dāng)該安全分區(qū)被解密后,可以對該安全分區(qū)中的片內(nèi)安全資源進(jìn)行讀取訪問;其中,所述讀取訪問包括數(shù)據(jù)訪問和取指訪問。
20、在一種可能的實施方式中,通過所述雙碼安全控制器及其加載的各專用安全otp中各個安全分區(qū)的安全配置屬性,為所述片內(nèi)安全資源和所述主核處理器分別提供對應(yīng)的安全配置信息,包括:
21、通過所述雙碼安全控制器基于其加載的各專用安全otp中每個安全分區(qū)的安全配置屬性,生成針對所述片內(nèi)安全資源和所述主核處理器各自對應(yīng)的安全配置信息并分別發(fā)送給所述片內(nèi)安全資源和所述主核處理器;
22、其中,所述主核處理器和所述片內(nèi)主機的安全配置信息包括:每個片內(nèi)從機和片內(nèi)存儲器空間的安全分區(qū)信息,每個片內(nèi)從機和片內(nèi)存儲器空間的分區(qū)信息由兩比特構(gòu)成;
23、所述存儲器的安全配置信息包括:每一存儲器空間的安全分區(qū)信息及僅執(zhí)行保護(hù)功能屬性使能信息;每一存儲器空間的安全分區(qū)信息及僅執(zhí)行保護(hù)功能屬性使能信息由三比特組成;
24、所述片內(nèi)從機的安全配置信息包括所述片內(nèi)從機的安全分區(qū)信息,該片內(nèi)從機的安全分區(qū)信息由兩比特組成。
25、在一種可能的實施方式中,所述方法還包括:
26、為所述雙碼安全控制器配置預(yù)設(shè)加載機制,以使所述雙碼安全控制器基于所述預(yù)設(shè)加載機制加載所述片內(nèi)安全資源和所述主核處理器中的安全配置信息,并在加載完成后,基于所述安全配置信息控制所述芯片運行;所述預(yù)設(shè)加載機制中包括各區(qū)域的加載順序和對應(yīng)的處理方式;
27、其中,在芯片上電后,按照預(yù)設(shè)加載機制中各區(qū)域的加載順序進(jìn)行加載且加載完成信號為無效狀態(tài),當(dāng)上一區(qū)域加載數(shù)據(jù)完成指示信號有效時,根據(jù)所述專用安全otp的私有總線加載地址和本區(qū)域的地址,來確定本數(shù)據(jù)加載是否完成;對于第一個加載地址加載第一安全分區(qū)的第一塊區(qū)鏈接指針,上一區(qū)域加載數(shù)據(jù)完成指示信號始終為有效狀態(tài);其中,塊區(qū)加載相比公共區(qū)加載多了一組有效地址選擇邏輯。
28、在一種可能的實施方式中,其中,在每個安全分區(qū)的專用安全otp中燒寫每個安全分區(qū)的安全配置屬性,且每個專用安全otp在燒寫之前基于對應(yīng)安全分區(qū)的分區(qū)密碼進(jìn)行解密處理。
29、在一種可能的實施方式中,所述基于所述安全配置信息控制所述芯片運行,包括:
30、所述雙碼安全控制器提供對所述安全分區(qū)的加密和解密功能;其中,對于加密:通過向雙碼安全控制器的解密寄存器寫相應(yīng)的控制位實現(xiàn)分別對兩個安全分區(qū)的加密功能。
31、第二方面,本技術(shù)實施例還提供了一種芯片中雙碼分區(qū)安全裝置,包括雙碼安全控制器、一次性可編程otp、主核處理器和片內(nèi)安全資源;所述otp、所述主核處理器和所述片內(nèi)安全資源分別與所述雙碼安全控制器通信連接;
32、所述雙碼分區(qū)安全裝置用于執(zhí)行第一方面任一項所述的芯片中雙碼分區(qū)安全方法。
33、第三方面,本技術(shù)實施例還提供了一種芯片,包括雙碼分區(qū)安全裝置,所述雙碼分區(qū)安全裝置包括雙碼安全控制器、一次性可編程otp、主核處理器和片內(nèi)安全資源;所述otp、所述主核處理器和所述片內(nèi)安全資源分別與所述雙碼安全控制器通信連接;所述芯片包括兩個安全分區(qū)且每個安全分區(qū)分別對應(yīng)有一專用安全otp;所述芯片通過所述雙碼分區(qū)安全裝置執(zhí)行第一方面任一項所述的芯片中雙碼分區(qū)安全方法。
34、本技術(shù)實施例提供上述芯片中雙碼分區(qū)安全方法、裝置及芯片,該方法包括:芯片包括兩個安全分區(qū)且每個安全分區(qū)分別對應(yīng)有一專用安全otp,通過專用安全otp為對應(yīng)的安全分區(qū)分配片內(nèi)安全資源,得到每個安全分區(qū)的安全配置屬性;該安全配置屬性至少包括分區(qū)密碼和片內(nèi)安全資源的分區(qū)屬性;通過每個專用安全otp將其對應(yīng)安全分區(qū)的安全配置屬性加載到雙碼安全控制器;通過雙碼安全控制器及其加載的各個安全分區(qū)的安全配置屬性,為片內(nèi)安全資源和主核處理器分別提供對應(yīng)的安全配置信息,并基于安全配置信息控制芯片運行;本技術(shù)能夠通過兩個安全分區(qū)對片內(nèi)安全資源進(jìn)行靈活配置,既滿足了使用者的需求,也提高了片內(nèi)安全資源的利用率;本技術(shù)通過兩個安全分區(qū)進(jìn)行片內(nèi)安全資源的靈活配置,既能滿足使用者的需求,也提高了片內(nèi)安全資源的利用率。