利用基于ECC算法的密碼芯片實(shí)現(xiàn)安全高效的加密卡
文章出處:http://m.overnightmodel.com 作者:侯鴻飛 人氣: 發(fā)表時(shí)間:2011年09月23日
通信網(wǎng)絡(luò)特別是互聯(lián)網(wǎng)的高速發(fā)展使得信息安全這個(gè)問(wèn)題受到人們的普遍關(guān)注。在信息安全算法中,RSA方法的優(yōu)點(diǎn)主要是原理簡(jiǎn)單、易于使用。但是,隨著分解大整數(shù)方法的完善、計(jì)算機(jī)速度的提高以及計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,作為RSA加解密安全保障的大整數(shù)要求越來(lái)越大。為保證RSA使用的安全性,密鑰的位數(shù)不斷增加,目前一般認(rèn)為RSA需要1024位以上的字長(zhǎng)才具有安全保障。但是,密鑰長(zhǎng)度的增加導(dǎo)致加解密的速度大大降低,硬件實(shí)現(xiàn)也變得越來(lái)越復(fù)雜,這給使用RSA的應(yīng)用帶來(lái)了極大的負(fù)擔(dān)(尤其是進(jìn)行大量安全交易的電子商務(wù)),從而使其應(yīng)用范圍日益受到制約。
ECC算法只需采用較短的密鑰就可以達(dá)到和RSA算法相同的加密強(qiáng)度,它的數(shù)論基礎(chǔ)是有限域上的橢圓曲線離散對(duì)數(shù)問(wèn)題,現(xiàn)在還沒(méi)有針對(duì)這個(gè)難題的亞指數(shù)時(shí)間算法,因此,ECC算法具有每比特最高的安全強(qiáng)度。由于智能卡在CPU處理能力和RAM大小上受限,采用一種運(yùn)算量小同時(shí)能提供高加密強(qiáng)度的公鑰密碼機(jī)制對(duì)于實(shí)現(xiàn)數(shù)字簽名應(yīng)用非常關(guān)鍵。ECC在這方面具有明顯優(yōu)勢(shì),160位ECC算法的安全性相當(dāng)于1024位的RSA算法,而210位的ECC則相當(dāng)于2048位的RSA。相信ECC技術(shù)在信息安全領(lǐng)域中的應(yīng)用將會(huì)越來(lái)越廣泛。
目前許多智能卡/USB Key芯片廠商都在產(chǎn)品上實(shí)現(xiàn)了支持ECC的公鑰密碼硬件協(xié)處理器。例如:恩智浦半導(dǎo)體的智能卡芯片可以在40ms內(nèi)實(shí)現(xiàn)192位的ECC數(shù)字簽名操作;意法半導(dǎo)體的一些產(chǎn)品通過(guò)協(xié)處理器和快速乘法與累加指令為實(shí)現(xiàn)RSA和ECC算法提供了方便;英飛凌的SLE66CxxP通過(guò)一個(gè)硬件模數(shù)運(yùn)算單元,可以加速RSA和ECC等公鑰密碼算法的處理;Atmel公司的AT90SC19264RC、AT91SC25672RC等產(chǎn)品也都實(shí)現(xiàn)了針對(duì)公鑰密碼算法的硬件協(xié)處理器。在高性能的認(rèn)證和加密芯片方面:Siemens的PLUTO-IC是一種基于GF(p)域曲線ECC算法的高性能加密芯片,ECC的模長(zhǎng)達(dá)到320位;ELCRODAT-6-2是一種用于ISDN通訊網(wǎng)的加密芯片,它同樣基于GF(p)域曲線的ECC算法,ECC的模長(zhǎng)達(dá)到256位。
國(guó)內(nèi)也有大批采用ECC技術(shù)的芯片陸續(xù)問(wèn)世,其中比較有影響的是北京中電華大電子設(shè)計(jì)有限責(zé)任公司和深圳市中興集成電路設(shè)計(jì)有限公司的智能卡/USB Key芯片,北京華大信安科技有限公司的高性能ECC芯片系列等,它們均能支持ECC國(guó)家標(biāo)準(zhǔn)算法和多種ECC國(guó)際標(biāo)準(zhǔn)算法。
基于ECC密碼芯片組的加密卡的系統(tǒng)框圖
ISECMM1256BV1安全芯片是北京華大信安科技有限公司為解決當(dāng)前信息安全產(chǎn)品設(shè)計(jì)過(guò)程中存在的問(wèn)題而推出的ECC算法芯片。該芯片是一款高效通用的公鑰密碼芯片,它從硬件上實(shí)現(xiàn)了ECC國(guó)家標(biāo)準(zhǔn)算法、ECC國(guó)際標(biāo)準(zhǔn)算法以及RSA算法,同時(shí)還實(shí)現(xiàn)了一些Hash標(biāo)準(zhǔn)算法,包括Hash國(guó)家標(biāo)準(zhǔn)算法(又稱SM3密碼雜湊算法)、SHA-1和SHA-256。還可以將ECC密鑰對(duì)存儲(chǔ)在芯片中,芯片內(nèi)部設(shè)有Flash存儲(chǔ)區(qū)用于存儲(chǔ)和管理最高達(dá)64對(duì)的ECC密鑰對(duì),該區(qū)域被稱為“密鑰池”。只有經(jīng)過(guò)授權(quán)認(rèn)證的用戶才能獲取密鑰池中ECC密鑰對(duì)的操作權(quán)限。為保護(hù)密鑰池中ECC私鑰的安全性,芯片中的SCE實(shí)現(xiàn)方案加入了防側(cè)信道攻擊(Side Channel Attack, SCA)技術(shù),以加強(qiáng)對(duì)密鑰池中私鑰的保護(hù)。
在芯片的應(yīng)用上,由于PCI總線的傳輸速率在PC機(jī)的對(duì)外接口中具有很大優(yōu)勢(shì),因此目前的加密卡都選擇PCI總線與PC機(jī)進(jìn)行通訊。圖1給出了基于華大信安ECC密碼芯片ISECMM1256BV1的PCI加密卡的基本平臺(tái),PCI總線被總線轉(zhuǎn)換芯片組轉(zhuǎn)換成SRAM總線、準(zhǔn)SRAM總線和SPI總線。PC通過(guò)提供給PCI總線不同的基地址來(lái)達(dá)到分別訪問(wèn)每個(gè)芯片的目的,應(yīng)用起來(lái)十分方便。ISECMM1256BV1安全芯片內(nèi)部含有一顆CPU,通過(guò)嵌入代碼對(duì)ECC的算法引擎進(jìn)行了打包,因此在應(yīng)用過(guò)程中無(wú)需關(guān)心ECC的算法實(shí)現(xiàn)和協(xié)議實(shí)現(xiàn)問(wèn)題。這款加密卡通過(guò)總線轉(zhuǎn)換芯片組讓PC機(jī)直接訪問(wèn)ISECMM1256BV1芯片來(lái)滿足ECC及RSA算法應(yīng)用的需求。此外,在板卡上加入了隨機(jī)數(shù)芯片和SCB2芯片,增加了ECB、CBC和OFB等多種運(yùn)算模式,擴(kuò)大了加密卡的應(yīng)用范圍。作為加密卡的基本模式,在該方案的基礎(chǔ)上可以任意擴(kuò)展用戶所需的密碼算法芯片,對(duì)卡的功能進(jìn)行擴(kuò)展,以滿足用戶的不同需求。基于該方案能夠很方便地實(shí)現(xiàn)ECC算法、RSA算法和SCB2算法等應(yīng)用,為信息安全保駕護(hù)航。
作者:侯鴻飛
Email: houhf@hed.com.cn
北京華大信安科技有限公司