在電子支付終端、郵資發(fā)生器、安全通信等許多應用中,都需要通過對密鑰進行加密以保護使用者的利益。尤其是涉及到金融交易的時候,更是要求提供多種安全防范功能。
Maxim公司的高性能32位RISC微控制器MAXQ1103在MAXQ微控制器內(nèi)核外圍集成了安全監(jiān)控功能、先進的加密加速器和1kB內(nèi)部非易失存儲器(NV SRAM),可幫助產(chǎn)品通過PCI、FIPS 140-2、通用認證標準或其他安全認證。
MAXQ1103中的經(jīng)過定制設計的電池備份非易失(NV) SRAM實現(xiàn)了高強度的密鑰保護,能抵御旁路攻擊和物理攻擊,并為系統(tǒng)特有的篡改檢測提供多種選擇。MAXQ1103將所有功能(存儲密鑰的NV SRAM、實時時鐘和篡改檢測電路)集成到單個芯片中,大大改善了功耗情況。這些電路為工作在電池備份模式而設計,其中的低功耗環(huán)形振蕩器為安全監(jiān)控電路提供時鐘,經(jīng)過專門設計的SRAM僅需很小的電流即可維持其狀態(tài)。這使MAXQ1103在最差的工作條件下(85℃時,電池電流為2.55μA)仍然能夠提供完備的安全功能。如采用250mAh電池,壽命可達11年。
MAXQ1103集成了多個支持標準加密算法的高安全性硬件加速器,支持安全散列算法(SHA-1、SHA-224、SHA-256)、DES、3DES、RSA (密鑰高達2048位)、DSA以及橢圓曲線DSA (ECDSA)等加密算法。硬件3DES加速器執(zhí)行一個加密或解密操作僅需57個時鐘周期。因此,工作于20MHz時,3DES算法能夠在短短2.8μs內(nèi)完成。此外,由于算法在硬件中完成,而非用軟件實現(xiàn),因而僅需加載小于100字節(jié)的指令以及執(zhí)行硬件引擎。MAXQ1103將原先執(zhí)行算法所需的千字節(jié)和毫秒量級資源轉變?yōu)樽止?jié)和微秒級。
在保護應用程序時,MAXQ1103通過專用的3DES引擎實現(xiàn)代碼加密,并由解密指令和4kB指令緩存保證系統(tǒng)性能。此外,每個MAXQ1103采用硬件隨機數(shù)發(fā)生器產(chǎn)生唯一的加密密鑰。這就導致了即使明文代碼相同,任意兩個器件存儲到外部存儲器的加密代碼也都不相同。代碼加密使得任何人都無法對代碼進行反向破譯。每個器件獨有的加密密鑰使得代碼復制失去意義,復制的代碼無法在任何其它的MAXQ1103器件中工作。
如果只進行了代碼加密,攻擊者仍可以插入任意指令修改代碼。盡管取得對微控制器的控制十分困難,但經(jīng)過足夠多的嘗試后,仍有可能找到有用的代碼將加密數(shù)據(jù)傳送至輸出端口。為防止上述可能性,MAXQ1103包含了代碼完整性校驗:存儲每個明文部分的求和校驗,并在解密該指令部分時進行對比。如果完整性校驗碼不匹配,器件將觸發(fā)篡改事件并銷毀密鑰,從而防止攻擊者修改微控制器的代碼。