一種安全芯片中數(shù)據(jù)加解密的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全和集成電路領(lǐng)域,更具體地說,涉及一種安全芯片中數(shù)據(jù)加解密的方法及系統(tǒng)。
【背景技術(shù)】
[0002]當前,以智能卡和USBKey為代表安全芯片在各種信息系統(tǒng)中應用廣泛。這種安全芯片的主要作用是信任根源,即用于身份認證和權(quán)限控制。安全芯片自身的安全性對整個信息系統(tǒng)的安全性具有關(guān)鍵作用。安全芯片內(nèi)部一般存儲用戶的機密信息,特別是用戶的私有密鑰。安全芯片往往是惡意組織或黑客破解的目標,只要安全芯片內(nèi)機密信息或私鑰被破解,安全芯片即可被復制和非法使用?,F(xiàn)有研究表明,基于芯片功耗、運行時間、電磁輻射等信息和錯誤注入的旁路破解、基于芯片反向工程的侵入式物理破解是破解安全芯片的有效手段,現(xiàn)有安全芯片往往缺乏全面的防護措施。為保護安全芯片內(nèi)部的機密信息或私鑰,對其進行加密存儲是一種有效手段,但這種措施必然涉及加密密鑰及加解密裝置自身的安全問題。
[0003]因此,如何怎樣防止芯片內(nèi)部加密密鑰和加解密電路,被硬件木馬或者方向工程等手段破解,是現(xiàn)在需要解決的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種安全芯片中數(shù)據(jù)加解密的方法及系統(tǒng),以防止芯片內(nèi)部加密密鑰和加解密電路,被硬件木馬或者方向工程等手段破解。
[0005]為實現(xiàn)上述目的,本發(fā)明實施例提供了如下技術(shù)方案:
[0006]—種安全芯片中數(shù)據(jù)加解密的方法,包括:
[0007]根據(jù)預設(shè)位寬值,將待處理數(shù)據(jù)切分成位寬為所述預設(shè)位寬值的X個數(shù)據(jù)切片序列;
[0008]將所述X個數(shù)據(jù)切片序列送至加解密模塊,通過所述加解密模塊對所述X個數(shù)據(jù)切片序列進行加密處理或解密處理;其中,所述加解密模塊和密鑰均通過反熔絲查找表標準單元實現(xiàn);
[0009]若檢測到所述加解密模塊輸出有效數(shù)據(jù),則對連續(xù)輸出X周期的數(shù)據(jù)切片進行采樣;其中,所述連續(xù)輸出X周期的數(shù)據(jù)切片為與所述待處理數(shù)據(jù)對應的加密數(shù)據(jù)或解密數(shù)據(jù)。
[0010]優(yōu)選的,將所述X個數(shù)據(jù)切片序列送至加解密模塊時,包括:
[0011]在輸入所述X個數(shù)據(jù)切片序列時,將輸入所述加解密模塊的輸入數(shù)據(jù)有效使能信號MIVLD置為高電平,并持續(xù)X個周期;
[0012]在輸入第一個數(shù)據(jù)切片序列時,將輸入所述加解密模塊的輸入數(shù)據(jù)序列頭標志信號MIHEAD置為高電平,并持續(xù)一個周期;
[0013]在輸入最后一個數(shù)據(jù)切片序列時,將輸入所述加解密模塊的輸入數(shù)據(jù)序列尾標志信號MITAIL置為高電平,并持續(xù)一個周期;
[0014]在輸入所述X個數(shù)據(jù)切片序列時,若對所述X個數(shù)據(jù)切片進行加密處理,則將輸入所述加解密模塊的加解密標準信號ENC置為高電平;若對所述X個數(shù)據(jù)切片進行解密處理,則將輸入所述加解密模塊的加解密標準信號ENC置為低電平。
[0015]優(yōu)選的,若檢測到所述加解密模塊輸出有效數(shù)據(jù),則對連續(xù)輸出X周期的數(shù)據(jù)切片進行采樣,包括:
[0016]所述加解密模塊輸出X周期的數(shù)據(jù)切片時,將輸出數(shù)據(jù)有效使能信號MOVLD置為高電平,并持續(xù)X個周期;
[0017]所述加解密模塊輸出第一個周期的數(shù)據(jù)切片時,將輸出數(shù)據(jù)序列頭標志信號MOHEAD置為高電平,并持續(xù)一個周期;
[0018]所述加解密模塊輸出最后一個周期的數(shù)據(jù)切片時,將輸出數(shù)據(jù)序列尾標志信號MOTAIL置為高電平,并持續(xù)一個周期。
[0019]優(yōu)選的,所述根據(jù)預設(shè)位寬值,將待處理數(shù)據(jù)切分成位寬為預設(shè)值的X個數(shù)據(jù)切片序列之前,還包括:
[0020]設(shè)定固定時鐘周期;
[0021]其中,在所述輸入數(shù)據(jù)有效使能信號MIVLD置為高電平并持續(xù)所述固定時鐘周期后,將所述輸出數(shù)據(jù)有效使能信號MOVLD置為高電平,并輸出有效的數(shù)據(jù)切片。
[0022]優(yōu)選的,若最后一個數(shù)據(jù)切片序列不足所述預設(shè)位寬值,則進行加零補位。
[0023]—種安全芯片中數(shù)據(jù)加解密的系統(tǒng),包括:
[0024]數(shù)據(jù)切片模塊,根據(jù)預設(shè)位寬值,將待處理數(shù)據(jù)切分成位寬為所述預設(shè)位寬值的X個數(shù)據(jù)切片序列;
[0025]加解密模塊,用于對所述X個數(shù)據(jù)切片序列進行加密處理或解密處理;其中,所述加解密模塊和密鑰均通過反熔絲查找表標準單元實現(xiàn);
[0026]采樣模塊,用于當檢測到所述加解密模塊輸出有效數(shù)據(jù)時,對連續(xù)輸出X周期的數(shù)據(jù)切片進行采樣;其中,所述連續(xù)輸出X周期的數(shù)據(jù)切片為與所述待處理數(shù)據(jù)對應的加解密數(shù)據(jù)或解密數(shù)據(jù)。
[0027]優(yōu)選的,所述加解密模塊,包括:
[0028]第一接收單元,用于在輸入所述X個數(shù)據(jù)切片序列時,接收持續(xù)X個周期高電平的輸入數(shù)據(jù)有效使能信號MIVLD ;
[0029]第二接收單元,用于在輸入第一個數(shù)據(jù)切片序列時,接收持續(xù)一個周期的輸入數(shù)據(jù)序列頭標志信號MIHEAD ;
[0030]第三接收單元,用于在輸入最后一個數(shù)據(jù)切片序列時,接收持續(xù)一個周期的將輸入數(shù)據(jù)序列尾標志信號MITAIL ;
[0031]第四接收單元,用于在對所述X個數(shù)據(jù)切片序列進行加密處理時,接收高電平加解密標準信號ENC ;在對所述X個數(shù)據(jù)切片序列進行解密處理時,接收低電平加解密標準信號 NEC。
[0032]優(yōu)選的,所述加解密模塊,包括:
[0033]第一輸出設(shè)置單元,用于在所述加解密模塊輸出X周期的數(shù)據(jù)切片時,將輸出數(shù)據(jù)有效使能信號MOVLD設(shè)置為高電平,并持續(xù)X個周期;
[0034]第二輸出設(shè)置單元,用于在所述加解密模塊輸出第一個周期的數(shù)據(jù)切片時,將輸出數(shù)據(jù)序列頭標志信號MOHEAD設(shè)置為高電平,并持續(xù)一個周期;
[0035]第三輸出設(shè)置單元,用于在所述加解密模塊輸出最后一個周期的數(shù)據(jù)切片時,將輸出數(shù)據(jù)序列尾標志信號MOTAIL設(shè)置為高電平,并持續(xù)一個周期。
[0036]優(yōu)選的,所述加解密模塊還包括:
[0037]時鐘設(shè)定模塊,用于設(shè)定固定時鐘周期;
[0038]其中,在所述輸入數(shù)據(jù)有效使能信號MIVLD置為高電平并持續(xù)所述固定時鐘周期后,將所述輸出數(shù)據(jù)有效使能信號MOVLD置為高電平,并輸出有效的數(shù)據(jù)切片。
[0039]優(yōu)選的,所述數(shù)據(jù)切片模塊,包括:
[0040]補位單元,用于當最后一個數(shù)據(jù)切片序列不足所述預設(shè)位寬值,則進行加零補位。[0041 ] 通過以上方案可知,本發(fā)明實施例提供的一種安全芯片中數(shù)據(jù)加解密的方法及系統(tǒng),包括:根據(jù)預設(shè)位寬值,將待處理數(shù)據(jù)切分成位寬為所述預設(shè)位寬值的X個數(shù)據(jù)切片序列;將所述X個數(shù)據(jù)切片序列送至加解密模塊,通過所述加解密模塊對所述X個數(shù)據(jù)切片序列進行加密處理或解密處理;其中,所述加解密模塊和密鑰均通過反熔絲查找表標準單元實現(xiàn);若檢測到所述加解密模塊輸出有效數(shù)據(jù),則對連續(xù)輸出X周期的數(shù)據(jù)切片進行采樣;其中,所述連續(xù)輸出X周期的數(shù)據(jù)切片為與所述待處理數(shù)據(jù)對應的加密數(shù)據(jù)或解密數(shù)據(jù)。由于本實施例中的加解密模塊中的加解密算法邏輯電路和密鑰均由反熔絲查找表標準單元實現(xiàn),且反熔絲電路在編程之后不具有可逆性,且只能編程一次,即使運用反向工程也無法破解反熔絲電路在編程之后的狀態(tài),因此,本實施例能防止芯片內(nèi)部加密密鑰和加解密電路,被硬件木馬或者方向工程等手段破解,保證了數(shù)據(jù)的安全性。
【附圖說明】
[0042]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0043]圖1為本發(fā)明實施例公開的一種安全芯片中數(shù)據(jù)加解密的方法流程示意圖;
[0044]圖2為本發(fā)明實施例公開的數(shù)據(jù)加密過程時序圖;
[0045]圖3為本發(fā)明實施例公開的數(shù)據(jù)解密過程時序圖;
[0046]圖4為本發(fā)明實施例公開的一種安全芯片中數(shù)據(jù)加解密的系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0047]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0048]本發(fā)明實施例公開了一種安全芯片中數(shù)據(jù)加解密的方法及系統(tǒng),以防止芯片內(nèi)部加密密鑰和加解密電路,被硬件木馬或者方向工程等手段破解。
[0049]參見圖1,本發(fā)明實施例提供的一種安全芯片中數(shù)據(jù)加解密的方法,包括:
[0050]S101、根據(jù)預設(shè)位寬值,將待處理數(shù)據(jù)切分成位寬為所述預設(shè)位寬值的X個數(shù)據(jù)切片序列;
[0051 ] S102、將所述X個數(shù)據(jù)切片序列送至加解密模塊,通過所述加解密模塊對所述X個數(shù)據(jù)切片序列進行加密處理或解密處理;其中,所述加解密模塊和密鑰均通過反熔絲查找表標準單元實現(xiàn);
[0052]具體的,在本實施例中,加解密模塊采用對稱密碼算法實現(xiàn)數(shù)據(jù)加解密,所涉及的密碼算法既可以是公開的標準密碼算法,也可以是芯片設(shè)計者指定的非公開密碼算法。此處所指對稱密碼算法指的是加