b.存储器读出技术
对于存放密钥、用户数据等重要内容的非易失性存储器,它们不能通过简单的光学照片获得其中的信息。在安全认证过程中,至少访问这些数据区一次,因此,可以使用微探针监听总线上的信号获取重要数据。对于良好的设计,简单重复认证还不足以访问存储器所有的关键位置。例如,在同一个卡中使用不同的加密密钥和加密算法,然后在它们之间每隔几周就切换一次,芯片的算法和密钥的存放区域在没有被广播呼叫激活以前不能被处理器控制等等,从而使早期的被动监测总线难以发现这些秘密。这些接触智能卡IC的经验可以应用于RFID设计中。
一些文献提到,为了保证存储器数据的完整性,需要在每次芯片复位之后计算并检验一下存储器的校验结果,其实这种做法给攻击提供了快速访问全部存储器的手段。
在使用带微处理器的RFID中,还需要考虑软件设计人员为提高代码效率滥用CPU部件(如地址计数器)的行为所导致的安全问题。程序计数器在每个指令周期都自动增量,如果被用于存储器读写的地址发生器,攻击中只需防止处理器执行JUMP、CALL和RETURN等指令扰乱正常的读顺序即可。即稍微用激光切断一些电路连接,改动指令译码器、程序计数器电路即可实现完全访问存储器的目的。
顶层探测器网格是有效防止微探针获取存储器数据的重要手段之一,充分利用深亚微米CMOS技术提供的多层金属,在重要的信号线顶层构成探测器网格能够连续监测短路和断路。当有电时,它能防止激光切割或选择性的蚀刻去获取总线的内容。根据探测器输出,芯片可立即触发电路将非易失性存储器中的内容全部清零。这些网格对于其下的各层金属连线重构也有影响,因为蚀刻不是均匀的,上层金属的模式在下层可见,会给版图的自动重构带来很多麻烦。手动探针的目标尺寸一般在 1微米左右,尖端小于0.1微米的探针台价格在几十万美元之上,且极难获得。一个精心设计的网格将使手动微探针攻击难以实施,一般的FIB修补技术也难以逾越。