解决方案SOLUTIONS

RFID芯片的攻击技术分析及安全设计策略(3)

b. 存储器读出技术

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

非破坏性攻击及其防范

非破坏性攻击主要针对具有微处理器的产品而言。微处理器本质上是成百上千个触发器、寄存器、锁存器和SRAM单元的集合,这些器件定义了处理器的当前状态,结合组合逻辑则可知道下一时钟的状态。许多类似系统的模拟效应可用于非侵入式的攻击,

其中:

  • 1.每个晶体管和连线都具有电阻和电容特性,其温度、电压等特性决定了信号的传输延时。由于生产工艺参数的分散性,这些数值在单个芯片,或同种产品的不同芯片上差异很大。
  • 2. 触发器在很短的时间间隔内采样并和阈值电压比较(与电源相关)。采样的时间间隔相对于时钟边沿是固定的,但不同的触发器之间可能差异很大。
  • 3. 触发器仅在组合逻辑稳定后的前一状态上建立新的稳态。
  • 4. 在CMOS门的每次翻转变化过程中,P和N管都会开启一个短暂的时间,从而在电源上造成一次短路。没有翻转的时刻,则电源电流很小。
  • RFID芯片的攻击技术分析及安全设计策略(3)
  • 5. 当输出改变时,电源电流会根据负载电容充放电变化。

和接触式IC卡不同的是,攻击RFID的黑客不能完全控制其电源和时钟线,理论上RFID针对非破坏性攻击的安全性能有所改善,但是实际情形可能并非如此,仍会面临一些危险。常见的攻击手段有电流分析攻击和故障攻击。

1. 电流分析攻击

根据电流分析攻击实施的特点,可分为简单电源攻击(SPA)和差分电源攻击。
原则上,RFID的电源是集成在AFE的内部,似乎远离了电流分析的危险,然而实际上并非如此。图4显示了RFID接触法测试的原理图:通过在RFID天线和串联的分压电阻两端直接加载符合规格的交流信号,RFID负载反馈信号可以百倍于无线模式下的信号强度直接叠加在加载的交流信号上。由于芯片的功耗变化与负载调制在本质上是相同的,因此,如果AFE的电源设计不恰当,RFID微处理执行不同内部处理的状态可能在串联电阻的两端交流信号上反映出来。
对于RFID而言,功耗是芯片设计过程中关心的重要问题,串联方案的效率更高,更适合集成电路设计。但是就安全而言,并联方案是更理想的选择:通过并联泄放电路将电源幅度和纹波的变化控制在尽可能小的范围内,使电源电流消耗波动抑制在整流电路之后。这样天线两端的交流信号不能反应任何内部基带系统(主要是微处理器)状态的差异。

2. 故障攻击

通过故障攻击可以导致一个或多个触发器位于病态,从而破坏传输到寄存器和存储器中的数据。在所知的CPU智能卡非破坏性攻击中,故障攻击是实际应用中最有效的技术之一。当前有三种技术可以可靠地导致触发器病态且影响很少的机器周期:瞬态时钟、瞬态电源以及瞬态外部电场。
通过简单地增加或降低时钟频率一个或多个半周期可以实施时钟故障,这样部分触发器会在合法的新状态到来之前采样它们的输入。时钟故障有效的攻击通常和电源故障结合在一起,在接触式智能卡中通过组合时钟和电源波动,已经可以很可靠地增加程序计数器内容而不影响处理器的其它状态。这样,智能卡内的任意指令序列都可以被黑客执行,而程序员在软件编写中并没有什么很好的应对措施。
大多数RFID的时钟、电源都是使用天线的交流信号整形得到的,因此通过改变交流信号谐波的幅度、对称性、频率等参数可以实施时钟-电源故障攻击。借助于RFID接触测试设备中的数字直接合成交流信号技术,很容易产生时钟-电源故障攻击所需的波形。 RFID产品为了有效抵御时钟故障攻击,除了采用时钟探测器以外,更重要的是严格限制RFID设计的工作频率范围、载频的谐波品质因素、对称性等指标。因此,从安全角度来说,并非RFID对机具适应能力越强越好。
潜在的故障技术仍需进一步探索,如通过将金属探针置于处理器几百个微米高度的时候,在几个毫秒内施加几百伏的电压,得到的电场强度足够改变附近的晶体管阈值电压。这些技术的应用价值和应对措施还有待进一步的研究。

RFID的测试态及保护

对于一般意义的集成电路产业链条来说,需要将不良的芯片在晶圆测试阶段剔除以减少后端加工工序中不必要的浪费,RFID芯片也不例外。根据RFID芯片的特点,晶圆测试内容包括:RF性能测试、逻辑功能测试和存储器测试。和普通芯片一样,如果借助于芯片应用功能来进行片上逻辑和存储器测试,则测试成本将大幅增加。通常采取等效测试原理设计额外的测试态来快速完成。由于测试态提供了快速、全面访问存储器的机制,因此有必要在晶圆测试完成后,将测试态永久关闭。
图5a是在接触式智能卡芯片的发展过程中曾大量采用的测试态控制方式:使用额外的I/O管脚和芯片内部电路相连,该连线通过划片槽,这样芯片划断后就不能通过简单控制该管脚进入测试态。由于FIB修补技术的出现,这个手段已经过时。 图5b是最有潜力的替代方案:在划片槽和邻近的芯片中设计部分控制电路,从而得到不可逆的测试态控制手段。

本文总结

本文对RFID芯片设计安全从破坏性、非破坏性攻击以及测试态控制三个方面作了简单探讨,通过与接触式智能卡芯片安全设计比较,给出一些应对的设计措施。然而仍然有很多安全设计措施不能一一列举,如用于对付功率分析的电流调节器和噪声负载。我国第二代居民身份证即将实施,这将是世界上最大的RFID项目,考虑其芯片设计安全问题具有重要的现实意义。

返回