用于电子护照的非接触安全控制器
电子护照进入了一个集成非接触安全控制器的新技术时代,随着大规模的应用,这类文件的处理已经变得更安全和更方便。
在2006年10月26日之后通过美国免签证计划(VWP)办理的任何护照必须是电子护照,这样就可以免签证进入美国。电子护照是集成了非接触安全控制器的护照,其中保存了印制在护照纸面上的相同信息,包括持有者的名字、出生日期,以及其他生平信息。这些电子护照必须符合由国际民航组织(ICAO)制定的国际技术标准,该组织规定要求在安全控制器上保存安全等级和生物信息。VWP是推动电子护照实施的主要动力,从2006年11月开始,大约有33个国家推出或开始推行电子护照。
随着电子护照的实施,也出现了很多公开讨论非接触控制器用于电子护照的安全性问题。市场上存在三种主要的“非接触”芯片:“纯粹”的RFID芯片,标准的微控制器和非接触安全控制器。“纯粹”的RFID芯片主要用于对象识别,不包含微控制器。因此,就安全性和功能来讲,仅仅适合他们当前所使用的场合。配置适当射频接口的标准微控制器可以用于非安全性的非接触应用,但是与“纯粹的”RFID芯片一样,他们的使用并不适合个人身份文件。只有设计得当的非接触安全控制器才能满足电子护照应用的数据安全和隐私保护的高要求(见图1)。
对于用于电子护照的半导体芯片来说,它必须保护存储在其中的数据不受非法篡改。电子护照对非接触安全控制器的通常规范要求包括:
1. 低功率非标准CPU内核;
2. 超过64K字节的安全EEPROM用于应用程序和数据;
3. 在25摄氏度下,EEPROM每个页面的可擦写次数至少大于500,000次;
4. 支持ISO/IEC 14443标准的B类和A类非接触接口;
5. 经过验证的真正随机数发生器,支持AIS-31要求;
6. 双密钥三倍DES加速器支持对称DES算法;
7. 先进的加密引擎支持非对称的RSA和椭圆形曲线算法;
8. 符合CC EAL 5+的通用标准认证,支持BSI-PP-0002保护规范。
另外,芯片制造商的目标是设立防范多种威胁的有效、经过测试和认证的措施,这些威胁可以划归为三个主要的类别:故障诱导型攻击、物理型攻击和旁路攻击。
图1:RFID与非接触安全控制器之间的差异。
故障诱导型攻击
当今对智能卡的攻击已经发展成某种‘艺术性的行为’,这种行为的发起者在全球数以千计,从业余的到真正的专业人士。因此,“故障诱导攻击”(也称为“半入侵式攻击”)已经成为安全评估和安全控制器认证的一个主要关注焦点。
用作智能卡控制器的集成电路通常是由硅晶片制成。硅片的电气性能可能会受到不同的环境参数影响。例如,对于不同的电压、温度、光线、电离辐射以及电磁场,硅片的电气特性会不一样。改变这些环境参数,攻击者就会尝试引起故障,包括智能卡控制器中的程序错误。通常,攻击者会想办法让芯片做出一个错误的判断(例如,接受一个错误的登录授权码),从而允许访问存储器中保存的秘密数据。
另外一个有趣的变量是“存储器转存”(memory dump)—而不是泄露非秘密的身份数据,在故障诱导攻击之后,安全控制器会输出非常多的数据,包括部分的软件、机密数据,或者甚至存储的密钥。使用“DFA”(差分错误攻击法),在某些情况下只要一次故障计算,攻击者就能通过使用成熟的数学算法获得密钥。
已知诱导故障的各种方法包括变化功耗、电磁诱导、利用可见光辐射芯片表面,或者使用放射性材料辐射芯片表面以及改变温度(见图2)。其中一些方法可以利用低成本的设备实现,使得他们成为业余攻击者的理想选择。
图2:α辐射故障攻击。
攻击者试图诱导故障以获得机密信息
尽管当前的安全控制器的产品手册中已经给出了防范这些攻击方法的措施,但是只有测试才能验证这些防范措施在实际使用中是否有效。由于这些控制器的性能可能有非常大的不同,因此通过独立的评估和认证检验安全等级就非常重要。当前电子护照中使用的芯片在他们正式被确定使用之前,就需要通过全面的安全测试,但是这些安全测试的标准对于各国所使用的不同系统来说会有所不同。
从不同的观点来看,针对故障诱导攻击的各种测试都必须做,以便建立一种相互之间严格的依存关系。目前的芯片卡控制器的安全观念基于以下三条防范要求:
1. 防止故障诱导;
2. 发现故障诱导条件;
3. 测试安全控制器的故障行为。
对电源和输入信号进行滤波处理将成为第一道屏障。反应速度很快的稳压器被用来在特定边界抑制电压瞬态变化。同样,某些与时钟源相关的异常现象也会被阻止。在利用高电压变化对安全控制器进行攻击时,仅凭稳压系统是不能解决这种问题的,传感器将成为第二道屏障的一部分。如果传感器检测到一个环境参数的临界值,将会促发报警,以将芯片卡设置到一个安全状态。电压传感器检测电源,时钟传感器用来发现频率的异常,温度和光传感器用来检测光和温度攻击。光学攻击方法也可能在芯片的反面进行,光传感器对两面的照射都能起到效果。第三道屏障是通过安全控制器内核本身实现的。硬件防范措施结合软件的措施来实现有效的第三道防范屏障。软硬件的组合是很必要的,纯软件的防范措施某些时候反而会成为故障攻击的目标。
物理攻击
攻击者还能以更直接的方式通过硅片上的电路来实施攻击—例如,将控制器的信号线连接到攻击者的电子设备,然后读出线上传递的机密信息,或者将他自己的数据注入芯片。为防范物理攻击,首先很重要的措施是使用芯片内部存储器加密,这意味着存储在芯片上的数据是通过很强的加密算法进行过加密的,因此攻击者即使能得到这些数据,也只能产生无用的信息。另外一方面,有效地保护罩措施也可以防止攻击。在这种情况下,可以用微米级的保护线覆盖安全控制器。这些线受到持续的监控,如果这些线相互之间被短路、断开或损坏,则触发报警。使用多种防护措施可以甚至防范那些高水平的攻击设备。
旁路攻击
攻击者可以使用旁路方法通过仔细观察芯片操作的参数来获得机密数据信息(例如认证密钥)。在功率分析(SPA—简单功率分析、DPA—差分功率分析或者EMA—电磁分析)的情况下,攻击者可以从功耗或发射的电磁场获得这种信息,因为功耗和电磁场的大小会随芯片内操作类型和处理数据的变化而变化。利用“时序攻击”方法可以分析操作的时间,因为根据所处理的数据或者所使用的密钥时序可能会有变化,从而被用来实施有效的攻击。为防范旁路攻击,可以在芯片内实现各种措施,包括随机等待状态、总线加扰和电流加扰等。这样的措施可以使攻击者得到的信息无效,这样机密数据上承载的信息就不会泄露。
对不同的攻击方法和防范措施的研究将一直持续下去。现在必须考虑到未来的攻击情形,通过设计新的安全产品能防范未来的攻击,这将最终确保用于电子护照的非接触控制器无论是现在还是未来都是安全的。
作者:Calvin Lee
识别技术市场经理
Peter Laackmann
产品安全负责人
Marcus Janke
产品安全高级专家
英飞凌科技公司