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