本申請(qǐng)涉及芯片安全開發(fā),例如涉及一種基于芯片總線加密的數(shù)據(jù)保護(hù)方法及裝置、安全芯片。
背景技術(shù):
1、目前,對(duì)于存儲(chǔ)在微控制器芯片的存儲(chǔ)器中的敏感數(shù)據(jù),如用戶憑證、關(guān)鍵配置等,需采取多層次的安全措施來確保其機(jī)密性和完整性。安全措施需要防止未授權(quán)訪問和數(shù)據(jù)泄露,檢測和防止數(shù)據(jù)篡改,以及抵御各種軟硬件攻擊。
2、為了實(shí)現(xiàn)數(shù)據(jù)完整性保護(hù),相關(guān)技術(shù)公開了一種…方法,包括:通過將數(shù)據(jù)視為二進(jìn)制多項(xiàng)式并與一個(gè)預(yù)定義的生成多項(xiàng)式進(jìn)行除法運(yùn)算,生成一個(gè)固定長度的余數(shù)作為crc校驗(yàn)值。校驗(yàn)值隨后附在數(shù)據(jù)后一并傳輸或存儲(chǔ),接收方通過重新進(jìn)行多項(xiàng)式除法來驗(yàn)證數(shù)據(jù)的完整性。
3、在實(shí)現(xiàn)本公開實(shí)施例的過程中,發(fā)現(xiàn)相關(guān)技術(shù)中至少存在如下問題:
4、數(shù)據(jù)在不同組件或系統(tǒng)間傳輸時(shí),未采取加密措施,傳輸過程中的數(shù)據(jù)可能被截獲,從而導(dǎo)致數(shù)據(jù)明文可能暴露。
5、需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強(qiáng)對(duì)本申請(qǐng)的背景的理解,因此可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實(shí)現(xiàn)思路
1、為了對(duì)披露的實(shí)施例的一些方面有基本的理解,下面給出了簡單的概括。所述概括不是泛泛評(píng)述,也不是要確定關(guān)鍵/重要組成元素或描繪這些實(shí)施例的保護(hù)范圍,而是作為后面的詳細(xì)說明的序言。
2、本公開實(shí)施例提供了一種基于芯片總線加密的數(shù)據(jù)保護(hù)方法及裝置、安全芯片,降低了數(shù)據(jù)被篡改或泄露的風(fēng)險(xiǎn)。
3、在一些實(shí)施例中,所述基于芯片總線加密的數(shù)據(jù)保護(hù)方法包括:對(duì)第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行加密,獲得加密數(shù)據(jù);將加密數(shù)據(jù)寫入芯片總線;讀取芯片總線中的加密數(shù)據(jù);計(jì)算加密數(shù)據(jù)的校驗(yàn)值,并將加密數(shù)據(jù)的校驗(yàn)值寫入第二數(shù)據(jù)區(qū)。
4、可選地,對(duì)第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行加密,包括:獲取加密密鑰;使用加密密鑰對(duì)第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行加密。
5、可選地,獲取加密密鑰,包括:將第一數(shù)據(jù)區(qū)的地址和長度做為輸入,通過分散算法獲得加密密鑰;或,將預(yù)設(shè)的隨機(jī)數(shù)或特定值做為加密密鑰。
6、可選地,使用加密密鑰對(duì)第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行加密,包括:根據(jù)加密密鑰,利用數(shù)據(jù)異或算法或?qū)ΨQ密鑰算法進(jìn)行數(shù)據(jù)加密。
7、可選地,計(jì)算加密數(shù)據(jù)的校驗(yàn)值,包括:根據(jù)異或算法,對(duì)讀取的加密數(shù)據(jù)進(jìn)行分組計(jì)算;將分組計(jì)算的計(jì)算結(jié)果進(jìn)行混淆處理,獲得校驗(yàn)值。
8、可選地,將加密數(shù)據(jù)寫入芯片總線,包括:將加密數(shù)據(jù)進(jìn)行分組并寫入芯片總線;其中,分組的數(shù)據(jù)長度大于或等于安全芯片的位數(shù)。
9、可選地,讀取芯片總線中的加密數(shù)據(jù),包括:分組讀取芯片總線中的加密數(shù)據(jù);其中,分組的數(shù)據(jù)長度大于或等于安全芯片的位數(shù)。
10、可選地,對(duì)第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行加密前,還包括:將第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行分組。
11、在一些實(shí)施例中,所述基于芯片總線加密的數(shù)據(jù)保護(hù)裝置,包括處理器和存儲(chǔ)有程序指令的存儲(chǔ)器,所述處理器被配置為在運(yùn)行所述程序指令時(shí),執(zhí)行如上述的基于芯片總線加密的數(shù)據(jù)保護(hù)方法。
12、在一些實(shí)施例中,所述安全芯片,包括:安全芯片本體;第一數(shù)據(jù)區(qū),安裝于安全芯片本體,用于存儲(chǔ)待保護(hù)數(shù)據(jù);第二數(shù)據(jù)區(qū),安裝于安全芯片本體,用于存儲(chǔ)計(jì)算獲得的校驗(yàn)值;如上述的基于芯片總線加密的數(shù)據(jù)保護(hù)裝置,安裝于安全芯片本體。
13、本公開實(shí)施例提供的基于芯片總線加密的數(shù)據(jù)保護(hù)方法及裝置、安全芯片,可以實(shí)現(xiàn)以下技術(shù)效果:
14、在本公開實(shí)施例中,通過將第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)加密避免了待保護(hù)數(shù)據(jù)在芯片總線上以明文的形式傳輸。這樣,即使數(shù)據(jù)在傳輸過程中被截獲,由于經(jīng)過加密,攻擊者也無法直接閱讀數(shù)據(jù)內(nèi)容。減少了待保護(hù)數(shù)據(jù)因?yàn)槊魑谋┞抖鴮?dǎo)致被篡改或泄露的風(fēng)險(xiǎn)。同時(shí),在安全芯片的第一存儲(chǔ)區(qū)中僅對(duì)數(shù)據(jù)進(jìn)行讀取操作,而不進(jìn)行任何寫入或修改操作,確保了數(shù)據(jù)在存儲(chǔ)區(qū)域中不會(huì)被修改,從而保證了數(shù)據(jù)的完整性和原始性。
15、以上的總體描述和下文中的描述僅是示例性和解釋性的,不用于限制本申請(qǐng)。
1.一種基于芯片總線加密的數(shù)據(jù)保護(hù)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)保護(hù)方法,其特征在于,對(duì)第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行加密,包括:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)保護(hù)方法,其特征在于,獲取加密密鑰,包括:
4.根據(jù)權(quán)利要求2所述的數(shù)據(jù)保護(hù)方法,其特征在于,使用加密密鑰對(duì)第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行加密,包括:
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)保護(hù)方法,其特征在于,計(jì)算加密數(shù)據(jù)的校驗(yàn)值,包括:
6.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的數(shù)據(jù)保護(hù)方法,其特征在于,將加密數(shù)據(jù)寫入芯片總線,包括:
7.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的數(shù)據(jù)保護(hù)方法,其特征在于,讀取芯片總線中的加密數(shù)據(jù),包括:
8.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的數(shù)據(jù)保護(hù)方法,其特征在于,對(duì)第一數(shù)據(jù)區(qū)的待保護(hù)數(shù)據(jù)進(jìn)行加密前,還包括:
9.一種基于芯片總線加密的數(shù)據(jù)保護(hù)裝置,包括處理器和存儲(chǔ)有程序指令的存儲(chǔ)器,其特征在于,所述處理器被配置為在運(yùn)行所述程序指令時(shí),執(zhí)行如權(quán)利要求1至8任一項(xiàng)所述的基于芯片總線加密的數(shù)據(jù)保護(hù)方法。
10.一種安全芯片,其特征在于,包括: