專利名稱:加密芯片、利用該加密芯片的cpu程序加密方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種加密芯片、利用這種加密芯片對(duì)CPU程序進(jìn)行保護(hù)的加密方法和加密系統(tǒng)。
背景技術(shù):
計(jì)算機(jī)產(chǎn)業(yè)迅猛發(fā)展,帶來(lái)包括硬件和軟件在內(nèi)的各種相關(guān)技術(shù)也迅速提高。各種軟件,如操作系統(tǒng)、辦公軟件以及網(wǎng)絡(luò)軟件等各個(gè)層次的軟件推出速度越來(lái)越快,市場(chǎng)也越來(lái)越廣泛。但每一種市場(chǎng)銷售量高的軟件產(chǎn)品,在應(yīng)用到有CPU(CentralProcess Unit,中央處理單元)的電子產(chǎn)品時(shí),其軟件程序都容易被竊取(又稱抄板)。
現(xiàn)有的加密保護(hù)程序加密方式有用CPLD(ComplexProgramble Logic Device,可多次編程邏輯裝置)、單片機(jī)、E2PROM(Electrically Erasable Programmable Read Only Memory,可擦寫(xiě)電子編程只讀儲(chǔ)存器)、專用芯片內(nèi)嵌加密算法以及軟件狗等。這些加密方式,如CPLD、單片機(jī)、E2PROM等很容易被破解,而其他方式如專用芯片內(nèi)嵌加密算法不通用,或者成本很高,使用不方便。
面對(duì)目前抄板現(xiàn)象非常嚴(yán)重的情況,市場(chǎng)需要一種保密性能很好,成本較低的專用保密集成電路或方法。
發(fā)明內(nèi)容
本發(fā)明目的之一是為了解決現(xiàn)有技術(shù)加密保護(hù)程序加密方式保密性能差,成本高的缺陷,提供一種保密性能較高、成本較低的加密芯片。
本發(fā)明目的之二是為了解決上述現(xiàn)有技術(shù)缺陷,提供一種使用上述加密芯片,對(duì)CPU程序進(jìn)行加密保護(hù)的加密方法。
本發(fā)明目的之三是為了解決上述現(xiàn)有技術(shù)缺陷,提供一種使用上述加密芯片,對(duì)CPU程序進(jìn)行加密保護(hù)的加密系統(tǒng)。
對(duì)應(yīng)上述第一發(fā)明目的,本發(fā)明解決技術(shù)問(wèn)題所采用的技術(shù)方案是提供一種加密芯片,該加密芯片包括一個(gè)用于保存第二密鑰的一次可編程存儲(chǔ)器;一個(gè)用于解密運(yùn)算的解密處理器;一個(gè)I2C總線處理器,所述的I2C總線處理器和CPU通信;一個(gè)用以產(chǎn)生內(nèi)部時(shí)鐘供內(nèi)部各模塊工作的振蕩電路;所述的I2C總線處理器接收來(lái)自CPU端的暗文數(shù)據(jù),并通過(guò)解密處理器,將所述的暗文數(shù)據(jù)與保存在一次可編程存儲(chǔ)器中的第二密鑰進(jìn)行運(yùn)算,產(chǎn)生一明文,該明文可通過(guò)解密處理器發(fā)給CPU端進(jìn)行比較。
對(duì)應(yīng)上述第二發(fā)明目的,本發(fā)明解決技術(shù)問(wèn)題所采用的技術(shù)方案是提供一種利用上述加密芯片對(duì)CPU程序進(jìn)行加密保護(hù)的加密方法,所述的方法包括以下步驟a在加密芯片的一次可編程存儲(chǔ)器中燒錄第二密鑰;b在CPU程序中設(shè)置第一密鑰,所述的第一密鑰和第二密鑰相同;c在CPU端產(chǎn)生一隨機(jī)數(shù)據(jù),并將該隨機(jī)數(shù)據(jù)與保存在CPU程序中的第一密鑰一起執(zhí)行一加密算法得出一暗文;d通過(guò)I2C總線處理器將所述的暗文傳輸?shù)郊用苄酒械慕饷芴幚砥髦校籩將第二密鑰和所述暗文進(jìn)行與上述加密算法對(duì)應(yīng)的解密運(yùn)算產(chǎn)生一明文;f比較上述CPU程序端產(chǎn)生的隨機(jī)數(shù)據(jù)和加密芯片產(chǎn)生的明文,如果兩個(gè)數(shù)據(jù)相同,可執(zhí)行CPU程序,否則程序退出。
對(duì)應(yīng)上述第三發(fā)明目的,本發(fā)明解決技術(shù)問(wèn)題所采用的技術(shù)方案是提供一種CPU程序加密系統(tǒng),包括一CPU和一加密芯片,其特征在于所述的加密芯片包括一個(gè)用于保存第二密鑰的一次可編程存儲(chǔ)器;一個(gè)用于解密運(yùn)算的解密處理器;一個(gè)I2C總線處理器,所述的I2C總線處理器和CPU通信;一個(gè)用以產(chǎn)生內(nèi)部時(shí)鐘供內(nèi)部各模塊工作的振蕩電路;所述的CPU程序中設(shè)置有第一密鑰,所述的第一密鑰和第二密鑰相同;工作時(shí),在CPU端產(chǎn)生一隨機(jī)數(shù)據(jù),并將該隨機(jī)數(shù)據(jù)與保存在CPU程序中的第一密鑰一起執(zhí)行一加密算法,得出一暗文;該暗文通過(guò)I2C總線處理器傳輸?shù)郊用苄酒械慕饷芴幚砥髦?;將第二密鑰和所述暗文進(jìn)行與上述加密算法對(duì)應(yīng)的解密運(yùn)算產(chǎn)生一明文;比較上述CPU程序端產(chǎn)生的隨機(jī)數(shù)據(jù)和加密芯片產(chǎn)生的明文,如果兩個(gè)數(shù)據(jù)相同,可執(zhí)行CPU程序,否則程序退出。
本發(fā)明加密芯片對(duì)運(yùn)行在CPU內(nèi)的需保密程序進(jìn)行嚴(yán)密的保護(hù),有效防止抄板,并且成本也比較低。
本發(fā)明CPU程序加密方法對(duì)運(yùn)行在CPU內(nèi)的需保密程序進(jìn)行嚴(yán)密的保護(hù),有效防止抄板,并且方法簡(jiǎn)單成本也比較低,比專用芯片內(nèi)嵌加密算法通用。
本發(fā)明CPU程序加密系統(tǒng)對(duì)運(yùn)行在CPU內(nèi)的需保密程序進(jìn)行嚴(yán)密的保護(hù),有效防止抄板,并且成本也比較低。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)的說(shuō)明,其中圖1是本發(fā)明加密芯片內(nèi)部模塊結(jié)構(gòu)示意圖;圖2是本發(fā)明CPU程序和加密芯片之間加、解密方法的流程圖。
具體實(shí)施例方式
參閱圖1,本發(fā)明加密芯片100包括一個(gè)保存第二密鑰的一次可編程存儲(chǔ)器(One Time Program)140、一個(gè)用于解密運(yùn)算的解密處理器150;一個(gè)I2C總線處理器(Inter IC CommunicationProtocol rocessor)160,所述的I2C總線處理器和CPU通信;一個(gè)用以產(chǎn)生內(nèi)部時(shí)鐘供內(nèi)部各模塊工作的振蕩電路(OscillatorGenerator)120。
本發(fā)明提出的加密芯片還包括一個(gè)非易失性存儲(chǔ)器130,所述的非易失性存儲(chǔ)器130可以存儲(chǔ)CPU的一些數(shù)據(jù),其通過(guò)I2C總線處理器160將數(shù)據(jù)傳送到CPU,并且以同樣路徑保存CPU的數(shù)據(jù)。
在該實(shí)施例中,所述的非易失性存儲(chǔ)器130采用1024bitE2PROM。所述的一次可編程存儲(chǔ)器140采用128bit OTP,128位的第二密鑰由設(shè)備生產(chǎn)商通過(guò)燒錄的方式保存到加密芯片100的128bit OTP中。解密處理器(Decryption Processor)150上電時(shí)將第二密鑰從128bit OTP中讀出。
I2C總線處理器160處理接收外部傳輸?shù)臄?shù)據(jù),將外部讀取的數(shù)據(jù)送到I2C總線(圖未示)。加密芯片100通過(guò)I2C總線處理器160和外部的CPU(圖未示)通信,解密處理器150則將解密得出的明文送到I2C總線處理器160,并通過(guò)I2C總線發(fā)到CPU端比較。
本發(fā)明提出的加密芯片還包括一個(gè)上電復(fù)位產(chǎn)生器110,上電復(fù)位時(shí)給CPU輸出一組高、低復(fù)位電平,同時(shí)輸出的內(nèi)部復(fù)位信號(hào)給內(nèi)部電路復(fù)位。
加密芯片100外部留有兩根地址選擇線,通過(guò)這兩根地址選擇線進(jìn)行I2C地址選擇。
請(qǐng)參閱圖2,加密芯片100對(duì)在CPU運(yùn)行的需保密程序進(jìn)行如下加、解密處理a在加密芯片100的一次可編程存儲(chǔ)器140中燒錄第二密鑰;b在CPU程序中設(shè)置第一密鑰,所述的第一密鑰和第二密鑰相同;c在CPU端產(chǎn)生一隨機(jī)數(shù)據(jù),并將該隨機(jī)數(shù)據(jù)與保存在CPU程序中的第一密鑰一起執(zhí)行一加密算法得出一暗文;d通過(guò)I2C總線處理器160將所述的暗文傳輸?shù)郊用苄酒械慕饷芴幚砥?50中;e將第二密鑰和所述暗文進(jìn)行與上述加密算法對(duì)應(yīng)的解密運(yùn)算產(chǎn)生一明文;f比較上述CPU程序端產(chǎn)生的隨機(jī)數(shù)據(jù)和加密芯片產(chǎn)生的明文,如果兩個(gè)數(shù)據(jù)相同,可執(zhí)行CPU程序,否則程序退出。
相對(duì)于現(xiàn)有技術(shù),本發(fā)明加密芯片100保存的第二密鑰和需保密程序中的第一密鑰分離,經(jīng)一系列的加、解密動(dòng)作,比較后才決定程序可否運(yùn)行。因此,可以嚴(yán)密高效地保護(hù)CPU運(yùn)行的程序,有效地防止抄板;同時(shí)增加了非易失性存儲(chǔ)器130和上電復(fù)位產(chǎn)生器110的上電復(fù)位輸出功能,讓需要掉電保存的數(shù)據(jù)存儲(chǔ)到非易失性存儲(chǔ)器130中,在上電時(shí)輸出復(fù)位信號(hào)給CPU。這樣,既解決了現(xiàn)有技術(shù)加密方式的保密性能不好,沒(méi)有專用保密芯片的問(wèn)題,又增加了一些CPU必須的外設(shè)功能。本發(fā)明提出的加密芯片100在加密性能方面與單片機(jī)、CPLD、E2PROM相比具有很大的優(yōu)勢(shì),成本也比較低,又比專用芯片內(nèi)嵌加密算法通用,經(jīng)實(shí)驗(yàn)證明,是一種性能良好的新型專用加密芯片。
權(quán)利要求
1.一種加密芯片,其特征在于包括一個(gè)用于保存第二密鑰的一次可編程存儲(chǔ)器(140);一個(gè)用于解密運(yùn)算的解密處理器(150);一個(gè)I2C總線處理器(160),所述的I2C總線處理器和CPU通信;一個(gè)用以產(chǎn)生內(nèi)部時(shí)鐘供內(nèi)部各模塊工作的振蕩電路(120);所述I2C總線處理器(160)接收來(lái)自CPU的暗文數(shù)據(jù),并通過(guò)解密處理器(150),將所述的暗文數(shù)據(jù)與保存在一次可編程存儲(chǔ)器(140)中的第二密鑰進(jìn)行運(yùn)算,產(chǎn)生一明文,該明文可通過(guò)I2C總線處理器(160)發(fā)給CPU進(jìn)行比較。
2.根據(jù)權(quán)利要求1所述的加密芯片,其特征在于所述的一次可編程存儲(chǔ)器(140)采用128bit OTP。
3.根據(jù)權(quán)利要求1所述的加密芯片,其特征在于還包括一非易失性存儲(chǔ)器(130),所述的非易失存儲(chǔ)器通過(guò)所述的I2C總線處理器(160)將數(shù)據(jù)傳送到CPU,并以同樣路徑保存CPU的數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的加密芯片,其特征在于所述的非易失性存儲(chǔ)器(130)采用1024bit E2PROM。
5.根據(jù)權(quán)利要求1所述的加密芯片,其特征在于所述加密芯片外部留有兩根地址選擇線,通過(guò)這兩根地址選擇線進(jìn)行所述I2C地址選擇。
6.根據(jù)權(quán)利要求1所述的加密芯片,其特征在于還包括一上電復(fù)位產(chǎn)生器(110),所述的上電復(fù)位產(chǎn)生器可以輸出一組高、低電平給CPU復(fù)位。
7.一種利用權(quán)利要求1所述加密芯片對(duì)CPU程序進(jìn)行加密的加密方法,其特征在于包括下列步驟a在加密芯片(100)的一次可編程存儲(chǔ)器(140)中燒錄第二密鑰;b在CPU程序中設(shè)置第一密鑰,所述的第一密鑰和第二密鑰相同;c在CPU端產(chǎn)生一隨機(jī)數(shù)據(jù),并將該隨機(jī)數(shù)據(jù)與保存在CPU程序中的第一密鑰一起執(zhí)行加密算法得出一暗文;d通過(guò)I2C總線處理器(160)將所述的暗文傳輸?shù)郊用苄酒械慕饷芴幚砥?150)中;e將第二密鑰和所述暗文進(jìn)行與上述加密算法對(duì)應(yīng)的解密運(yùn)算產(chǎn)生一明文;f比較上述CPU程序端產(chǎn)生的隨機(jī)數(shù)據(jù)和加密芯片產(chǎn)生的明文,如果兩個(gè)數(shù)據(jù)相同,可執(zhí)行CPU程序,否則程序退出。
8.一種CPU程序加密系統(tǒng),包括一CPU和一加密芯片,其特征在于所述的加密芯片包括一個(gè)用于保存第二密鑰的一次可編程存儲(chǔ)器(140);一個(gè)用于解密運(yùn)算的解密處理器(150);一個(gè)I2C總線處理器(160),所述的I2C總線處理器和CPU通信;一個(gè)用以產(chǎn)生內(nèi)部時(shí)鐘供內(nèi)部各模塊工作的振蕩電路(120);所述的CPU程序中設(shè)置有第一密鑰,所述的第一密鑰和第二密鑰相同;工作時(shí),在CPU端產(chǎn)生一隨機(jī)數(shù)據(jù),并將該隨機(jī)數(shù)據(jù)與保存在CPU程序中的第一密鑰一起執(zhí)行一加密算法,得出一暗文;該暗文通過(guò)I2C總線處理器(160)傳輸?shù)郊用苄酒械慕饷芴幚砥?150)中;將第二密鑰和所述暗文進(jìn)行與上述加密算法對(duì)應(yīng)的解密運(yùn)算并產(chǎn)生一明文;比較上述CPU程序端產(chǎn)生的隨機(jī)數(shù)據(jù)和加密芯片產(chǎn)生的明文,如果兩個(gè)數(shù)據(jù)相同,可執(zhí)行CPU程序,否則程序退出。
全文摘要
本發(fā)明公開(kāi)一種加密芯片、利用這種加密芯片對(duì)CPU程序加密保護(hù)的加密方法和加密系統(tǒng)。所述的加密芯片包括保存第二密鑰的一次可編程存儲(chǔ)器,解密處理器。在CPU端設(shè)置一與第二密鑰相同的第一密鑰,并產(chǎn)生一隨機(jī)數(shù)據(jù),將該隨機(jī)數(shù)據(jù)與第一密鑰一起執(zhí)行加密運(yùn)算得到一暗文數(shù)據(jù)。將該暗文數(shù)據(jù)與加密芯片中的第二密鑰一起執(zhí)行與加密算法相對(duì)應(yīng)的解密算法并得出一明文,將該明文與CPU端的隨機(jī)數(shù)據(jù)比較,若相同,則是合法用戶;否則,程序退出。本發(fā)明加密芯片對(duì)運(yùn)行在CPU內(nèi)的需保密程序進(jìn)行嚴(yán)密的保護(hù),有效防止抄板,并且成本也比較低,比專用芯片內(nèi)嵌加密算法通用。
文檔編號(hào)G06F15/76GK1677383SQ200510032969
公開(kāi)日2005年10月5日 申請(qǐng)日期2005年1月21日 優(yōu)先權(quán)日2005年1月21日
發(fā)明者李波 申請(qǐng)人:深圳市致芯微電子有限公司