在电子支付终端、邮资发生器、安全通信等许多应用中,都需要通过对密钥进行加密以保护使用者的利益。尤其是涉及到金融交易的时候,更是要求提供多种安全防范功能。
Maxim公司的高性能32位 RISC 微控制器MAXQ1103在MAXQ微控制器内核外围集成了安全 监控 功能、先进的加密加速器和1kB内部非易失 存储器 (NVS RAM ),可帮助产品通过PCI、FIPS140-2、通用认证标准或其他安全认证。
MAXQ1103中的经过定制设计的电池备份非易失(NV)SRAM实现了高强度的密钥保护,能抵御旁路攻击和物理攻击,并为系统特有的篡改检测提供多种选择。MAXQ1103将所有功能(存储密钥的NVSRAM、实时时钟和篡改检测电路)集成到单个芯片中,大大改善了功耗情况。这些电路为工作在电池备份模式而设计,其中的低功耗环形振荡器为安全监控电路提供时钟,经过专门设计的SRAM仅需很小的电流即可维持其状态。这使MAXQ1103在最差的工作条件下(85℃时,电池电流为2.55μA)仍然能够提供完备的安全功能。如采用250mAh电池,寿命可达11年。
(SHA-1、SHA-224、SHA-256)、DES、3DES、RSA(密钥高达2048位)、DSA以及椭圆曲线DSA(ECDSA)等加密算法。硬件3DES加速器执行一个加密或解密操作仅需57个时钟周期。因此,工作于20MHz时,3DES算法能够在短短2.8μs内完成。此外,由于算法在硬件中完成,而非用软件实现,因而仅需加载小于100字节的指令以及执行硬件引擎。MAXQ1103将原先执行算法所需的千字节和毫秒量级资源转变为字节和微秒级。
在保护应用程序时,MAXQ1103通过专用的3DES引擎实现代码加密,并由解密指令和4kB指令缓存保证系统性能。此外,每个MAXQ1103采用硬件随机数发生器产生唯一的加密密钥。这就导致了即使明文代码相同,任意两个器件存储到外部存储器的加密代码也都不相同。代码加密使得任何人都无法对代码进行反向破译。每个器件独有的加密密钥使得代码复制失去意义,复制的代码无法在任何其它的MAXQ1103器件中工作。
如果只进行了代码加密,攻击者仍可以插入任意指令修改代码。尽管取得对微控制器的控制十分困难,但经过足够多的尝试后,仍有可能找到有用的代码将加密数据传送至输出端口。为防止上述可能性,MAXQ1103包含了代码完整性校验:存储每个明文部分的求和校验,并在解密该指令部分时进行对比。如果完整性校验码不匹配,器件将触发篡改事件并销毁密钥,从而防止攻击者修改微控制器的代码。