內(nèi)置34K字節(jié)高密度EEPROM和模算術(shù)處理器(MAP)的智能卡集成電路
作者:意法半導(dǎo)體公司 陳德勇
來源:RFID世界網(wǎng)
日期:2005-06-01 10:18:28
摘要:內(nèi)置34K字節(jié)高密度EEPROM和模算術(shù)處理器(MAP)的智能卡集成電路
關(guān)鍵字: EEPROM 模算術(shù)處理器(MAP) 智能卡集成電路 |
在今天的數(shù)字社會里,非對稱加密算法的開發(fā)為數(shù)字安全領(lǐng)域開拓了一片新天地。有了這種加密技術(shù)后,各種密鑰管理的實現(xiàn)變得非常容易,電子數(shù)字簽名也正在成為可能。 另一方面,便攜式用戶友好物理數(shù)據(jù)存儲器安全技術(shù)的可行性,已經(jīng)在以芯片形式制成的卡片(智能卡)上得到驗證。然而,由于智能卡加密算法的算術(shù)復(fù)雜性,安全數(shù)據(jù)交換的所有最優(yōu)工具至今還未實現(xiàn)全面融合。為解決這一問題,全球掀起了對復(fù)雜控制器智能卡的研發(fā)浪潮。本文主要介紹影響今天微電子工業(yè)的物理因素和制約條件。在論述過程中,為了便于讀者理解,我們將引用ST基于ST19X系列平臺的最新加密智能卡集成電路。 以下兩個特性是引起智能卡加密復(fù)雜性的主要因素: (1)基于模算術(shù)的智能卡公用密鑰算法,目前,標(biāo)準(zhǔn)CPU并未為這項任務(wù)優(yōu)化。 (2)全部公用密鑰算法的安全性完全取決于算子的長度。今天,512位算子是安全操作的基本條件,大多數(shù)運營商傾向于選擇1024位。對于32位處理器來說,這已經(jīng)是一個十分艱巨的計算任務(wù)了,對于8/16位處理器來說,其難度便可想而知了。 同時制約智能卡CPU性能還有另外兩個因素: (1)尺寸限制:ISO7816標(biāo)準(zhǔn)規(guī)定,芯片尺寸在一個IC卡上的模塊最大的尺寸不能超過25mm2. (2)電流消耗限制:電流消耗不僅受到ISO7816的限制,而且還受到移動設(shè)備市場(如移動電話)的影響,雖然ISO標(biāo)準(zhǔn)允許最大電流為200mA,但是,超過20mA的卡在市場上根本沒有銷路。 今天,廣泛使用的智能卡還是一個8位增強型的CPU,內(nèi)配一個處理算術(shù)計算的協(xié)處理器。因此,功能強大的32位CPU可望在來年具有廣泛的應(yīng)用前景。ST針對這一需求,專門研發(fā)了一個32位智能卡RISCCPU平臺SmartJ。我們將在下文中專門介紹這一平臺。 從性價比看,高性能CPU不能滿足用戶對性能的需求。實現(xiàn)主流非對稱加密算法RSA在5MHz時的可用計算次數(shù)之前,首先需要一個為算法而優(yōu)化的32位RISCCPU,以便實現(xiàn)不少于300ms典型加密/簽名次數(shù)。一個典型標(biāo)準(zhǔn)的8/16位CPU(采用0.6(m技術(shù))需要至少20mm2硅片,消耗大約50mA@5KHz電流。 顯而易見,為執(zhí)行長算子模算術(shù)計算而專門設(shè)計的高性能硬件或協(xié)處理器是解決這一問題的最佳辦法。 基于這一方案,ST早在90年代初期就開始采用模算術(shù)處理器(MAP-ModularArithmeticProcessor)作為外設(shè),以加強現(xiàn)有8位CPU(ST7平臺)的性能。ST16CF54B和ST16CF68是利用這種方案在ST16平臺上開發(fā)的第一個智能卡512位加密器件。 利用小型器件直接計算A*Bmoden是十分困難的。MAP在P或“Montgomery段”采用乘法操作,避開了這種難度較大的計算過程,因此,P(P(A*B)n*H)n通過采用一個嘗試性的除法過程,減輕了模產(chǎn)品A*Bmoden的計算量。 數(shù)學(xué)家從直觀上就可以看出,這一基本思想與使用拉普拉斯交換表解微分方程的計算方法相似。計算時需要兩個常數(shù):H和J0,它們是n的函數(shù)。對P的計算采用迭代法,即通過嘗試性除法過程對A*Bmoden進行“前向”計算。這種方法的優(yōu)點是成本效益好。 為了使模算術(shù)處理器使用簡便,能夠充分發(fā)揮效率,ST為用戶提供一套固件子程序。這套子程序是為存取MAP的全部功能和執(zhí)行復(fù)雜、高效、安全算法而專門設(shè)計的。 這套子程序庫存儲在ROM的一個特殊位置,因此,可為操作系統(tǒng)設(shè)計人員節(jié)省底層函數(shù)的編碼時間,使他們能夠集中全部精力專注于算法、公用密鑰加密和私用密鑰加密協(xié)議的實現(xiàn)上。 隨著高效智能卡平臺的持續(xù)發(fā)展,ST公司推出ST19/X平臺,進一步提升了MAP對1088位算法的支持能力。ST19XL34是ST最新推出的加密器件。 ST19XL34是ST19平臺的一個組件。它是一個專門為大容量、經(jīng)濟型、安全便攜式對象而設(shè)計的串行存取微控制器。實現(xiàn)高性能公用密鑰和私用密鑰的算法,有助于提高系統(tǒng)安全性,降低這些設(shè)備的初期成本和通訊費用。 下面是有關(guān)本器件的簡要介紹: 1特性 ●增強型8位CPU,擴展尋址方式 ●96KB用戶ROM,可分區(qū) ●4KB用戶RAM,可分區(qū) ●34KB用戶EEPROM,可分區(qū) ●高可靠性的CMOSEEPROM0.35μm亞微米技術(shù) ●單個位元錯誤糾錯碼 ●10年的數(shù)據(jù)保存能力 ●100,000次擦/寫循環(huán) ●糾正每個字節(jié)內(nèi)的單個位元錯誤(ECC-ErrorCorrectionCode) ●在2ms內(nèi),實現(xiàn)1-64字節(jié)的擦除或編程 ●存儲器安全防火墻 ●超級安全性能,包括EEPROM閃存程序和時鐘管理 ●3x8位定時器,具有中斷功能 ●硬件DES加速器 ●1088位模算術(shù)處理器,內(nèi)含非對稱算法支持庫 ●高達10MHz內(nèi)部工作頻率 ●芯片內(nèi)置唯一序列號 ●待機省電模式 ●大于5000V的ESD保護 ●3V10%,或5V10%電源電壓 ●加密庫 2非對稱算法 ●為實現(xiàn)高效編碼,軟件加密庫分別存儲在ROM不同的單元內(nèi) ●向MAP上加載或從MAP上卸載參數(shù)和運算結(jié)果 ●計算Montgomery常數(shù) ●包括模乘方和各種長度的乘法在內(nèi)的基本數(shù)學(xué) ●模取冪,可選擇使用中國余數(shù)定理(CRT) ●專用函數(shù),如表1所示。例如:RSA簽名、2176位模運算長度的身份驗證、RSA密鑰生成。 ●1088位DSA數(shù)字簽名和身份驗證 ●內(nèi)部簽名及驗證密鑰的全面生成。這個功能可防止密鑰從芯片上泄露,有利于整個系統(tǒng)的安全性能 3對稱算法 ●DES、3DES、DESX計算和CBC鏈接模式 ●CRC計算塊 ●SHA-1 ●長隨機號生成 ●寄存器數(shù)據(jù)加載和卸載保護,預(yù)防SPA/DPA 備注: (1)速度是典型值,與外部時鐘頻率和電源電壓無關(guān)。 (2)CRT:中國余數(shù)定理 4硬件簡介 ST19XL34是ST19平臺的產(chǎn)品之一,其電路設(shè)計如圖1所示。它是一種專門為大規(guī)模、低價位的保密應(yīng)用所設(shè)計的串行存取微控制器??梢杂盟_發(fā)出高性能的公開密鑰算法,以降低初期投資及通訊成本,提高系統(tǒng)的安全性。 表1專用函數(shù)表
芯片內(nèi)置DES加速器。對DES加速器的存取操作是通過系統(tǒng)ROM的函數(shù)庫來完成的。 該芯片還包括一個基于1088位處理器的模數(shù)學(xué)處理器(MAP)。它可以對最大為2176位的操作數(shù)進行模乘、平方及其他運算。 ST19XL34內(nèi)置的模數(shù)學(xué)處理器(MAP)和DES加速器是專門為提高公開密鑰和私鑰算法計算速度所設(shè)計開發(fā)的。 基于意法半導(dǎo)體(ST)8位CPU的ST19XL34包括三個存儲器:96K用戶ROM、4K用戶RAM和34K用戶EEPROM,每個存儲器都具有最先進的安全特性。ROM、RAM和EEPROM都可以按照所定義的權(quán)限進行分區(qū)處理。硬件防火墻控制從一個內(nèi)存區(qū)到另一個內(nèi)存區(qū)的訪問權(quán)限。訪問權(quán)限是由客戶定義的。它即可在用戶選項中定義,又可在發(fā)行時定義。 此外,用戶還可直接調(diào)用CRC。 ST19XL34是采用ST公司先進的、高可靠的CMOSEEPROM技術(shù)制造的。 同其它ST19產(chǎn)品一樣,ST19XL34符合ISO7816智能卡標(biāo)準(zhǔn)。 5軟件開發(fā)工具 用戶可通過ST19-HDSX開發(fā)系統(tǒng),在WindowsNT或Windows98開發(fā)環(huán)境下配合功能強大的C/C+++編譯器、Debugger和Simulator進行軟件開發(fā)和FIRMWARE的生成(ROM代碼/用戶選項)。 6加密算法庫 意法半導(dǎo)體(ST)提供了一系列完整的子程序以使用戶方便而有效地使用模數(shù)學(xué)處理器。這個加密算法庫存放在一個特殊的ROM里。這個加密算法庫大大減輕了系統(tǒng)開發(fā)人員的負(fù)擔(dān),他們不必開發(fā)底層函數(shù)而可以專心于公開密鑰和私鑰算法的實現(xiàn)。
圖1電路框圖 該加密算法庫用于: (1)非對稱算法 ●從MAP讀取,存放參數(shù)和結(jié)果; ●計算Montgomery常數(shù); ●基本的數(shù)學(xué)計算以及可變字長的模乘/模開方運算; ●取模乘方運算,可采用或不采用中國余數(shù)定理(CRT); ●專用的任意長度(可達2176位)RSA,DSA簽名及確認(rèn)函數(shù); ●簽名及確認(rèn)的密鑰完全在芯片內(nèi)產(chǎn)生。這就保證了密鑰不會被泄露,從而提高了整個系統(tǒng)的安全性; ●長隨機數(shù)生成功能; ●RSA:2176位 ●DSA:1088位 ●SHA-1 ●RSA密鑰生成 (2)對稱算法 ●DES、3DES、DESX運算; ●CBC鏈接模式; ●防止DSP的安全寄存器訪問。
|