了解最新等保资讯及等保政策
(一)集成电路与芯片安全测试案例
由于移动支付的应用环境范围扩大和日益复杂,对芯片的安全性有了更高的要求。目前针对芯片的各种专用攻击(测试)技术也在迅猛发展,按照其对芯片的破坏程度分类,可以分为非侵入式攻击、半侵入式攻击和侵入式攻击。
对芯片的攻击可以通过采集芯片运行过程中泄漏的功耗、电磁、时间等信息,获取芯片程序流程和敏感数据;可以使用激光、电磁、射线等,对其进行错误注入,利用错误输出和正确输出的对比,分析芯片内部的敏感数据;或通过背面成像技术或激光束扫描技术,读取存储器数据;也可以通过修改内部电路、光学成像、探针测量和重新利用测试/开发模式等方式获取内部敏感数据。
集成电路与芯片的安全测试,即针对上述攻击方式的防护措施进行评估,以期提高芯片保护内部敏感数据的能力,为移动支付和互联网金融的数据安全提供有效保障。
1、测试内容
集成电路和芯片的安全测试内容包括密码算法的标准符合性、物理随机源产生随机数据的随机性、异常检测机制的有效性、存储器访问控制的有效性、剩余信息保护机制的有效性、存储PAMID区域的保护措施和权限控制、芯片正面和背面的防移除功能、芯片表面特征防护功能、传输系统对探测和修改的防护功能、逻辑模块防干扰和修改的功能、测试模式防重激活及测试功能防利用的功能、非易失性只读存储器/非易失性可编程存储器/易失性存储器防止物理读取功能、防止电源、电磁、激光、射线、外部时钟、I/O 接口操纵的功能、侧信道防护功能、过程中断防护功能、物理随机源自检功能等。
2、测试方法
(1)物理攻击
使用刻蚀或FIB技术通过移除或增加材料来存取或修改集成电路。可以通过增加或切断晶圆内部的连线获取内部信号或连接到集成电路内部。存储器也可以被物理读取,基于存储器技术读取或设置数据位数值,该攻击直接施加到集成电路并且理读取,基于存储器技术读取或设置数据位数值,该攻击直接施加到集成电路并且经常独立于嵌入式软件。最主要的影响有:获取安全数据,如密钥(通过提取内部信号);断开集成电路安全特性,使其他攻击更容易(如DPA、干扰);施加内部信号;使用未知信号执行一些攻击。
(2)传感器和过滤器攻击
该攻击包括避开不同类型的传感器或使其无效的各种方法。集成电路使用传感器检测环境条件,并且保护其远离那些可能威胁其正常操作的条件。传感器和过滤器可以通过以下方式被攻击:切断、改变行为方式、找到监控条件覆盖范围或监控时间上的缺口、滥用传感器等。
不同类型的传感器和过滤器包括电压(高电压或电压毛刺)、频率(高频或时钟毛刺)、温度、光(其他辐射)。主要影响是无法为芯片的正确操作提供外部条件的保证,这可能会导致存储器或寄存器目录被破坏、程序流程被改变、产生操作失败(如CPU、协处理器、随机数发生器)、改变操作模式或参数(如从用户模式到管理模式)、改变其他操作参数等。
(3)干扰攻击
干扰攻击通过操纵集成电路外部操作环境(通常是温度、电源和外部时钟)或在集成电路操作过程中在芯片的不同时间、不同位置施加外部信号源,从而改变集成电路的正常行为造成其执行错误。干扰攻击最典型的方式是制造出可以导致密钥导出或明文导出的错误,或避开状态校验,或改变程序流程使算法执行出错。具体的方法包括在读操作过程中改变读到的数据,虽然存储器中的数据没有改变,但数据到达目的地后被改变了,这样可以干扰数据或地址信息;改变随机数参数或数值,如使随机数发生器输出全“1”数据;改变程序流程,如跳过一条指令、使用一条指令替换另一条、反转测试、产生跳转、产生计算错误等。
(4)差分错误分析(DFA)
攻击者使用差分错误分析可以获取机密数据(如密钥),具体方法是将包含一个错误的运算和没有错误的运算进行比较。主要有非侵入和半侵入2种方法。该攻击首先寻找适当的单个或多个错误注入方法,然后执行算法操作,一次使用正确参数,一次使用错误参数,算法操作执行完后检索结果,找到一组合适的数据,并从中计算出密钥。在算法操作过程中通过施加特殊的物理条件,可以在计算结果中诱导出单个错误(如1 bit或1 byte),也可以使用其他技术定位攻击位置,如分析功耗等。
(5)简单功耗分析/差分功耗分析(SPA/DPA)
简单功耗分析/差分功耗分析主要用来攻击密码算法。SPA也可以作为其他攻击的基础,如可以探测对EEPROM的写操作。SPA可以作为时间攻击的一部分,或推断程序流中有条件跳转的分支。SPA可以为毛刺或激光攻击寻找合适的触发点,或为微探针攻击定位合适的时间窗口。DPA攻击不需要完全成功,只需要获取部分密钥,然后通过穷举方式获取剩余的密钥。
(6)高阶DPA
高阶DPA主要针对有布尔或算术掩盖防护的算法。高阶DPA需要攻击者可以在依赖于密钥部分的中间状态使用假定值,计算每一个评估对象的多次相关性。统计学分析可能会基于将不同时间测量的相同的侧信道信息对齐,或将同时存在于芯片运算过程中的不同信道(如功耗和电磁辐射)的侧信道信息对齐。
(7)电磁分析攻击
电磁分析攻击通过测量芯片操作时的电磁辐射,推断数据操作。和功耗分析类似,电磁分析攻击分为简单电磁分析攻击(SEMA)和差分电磁分析攻击(DEMA)。实验表明,通过电磁获取数据和通过功耗曲线获取数据不同,芯片即使具有能够抵御功耗分析的安全措施,也无法抵御电磁分析。电磁分析攻击的目标是恢复密钥或明文,或用于获取其他的机密数据,如PIN码、安全随机数等。
(8)利用测试特征的攻击
此类攻击的目标是进入芯片的测试模式,使用测试功能读出非易失存储器目录,提供其他攻击的基础,并通过其他攻击读取或破坏存储器目录。
(9)随机数发生器攻击
此类攻击的目标是实现对随机数发生器输出值的预测,包括过去输出的数据、将要输出的数据,或是强制其输出确定的随机数值,或使多个随机数发生器重复未知数据等。随机数发生器可以是真随机数发生器、伪随机数发生器或两者组合。
真随机数发生器的攻击方法包括:固定或短暂影响操作条件(电压、时钟、温度、光);非扩散性的利用信号泄露(外部电气接口的信号);电路的物理操纵(停止操作、外灌电压、修改或复制操作、切断信息源);录制内部信号(危害内部状态)。
伪随机数发生器的攻击方法包括:对输出状态转变和输出函数的直接攻击;通过测信道运算操作的状态转换进行间接攻击(外部接口泄露);操作执行路径攻击(修改结果);攻击种子;打破随机数发生器输出容量限制,使发生器重复输出或产生足以预测其数值的输出。
随机数发生器的测试程序也可能成为SPA/DFA的攻击目标,可以泄露随机数发生器的输出数据。对随机数发生器的成功攻击可以导致芯片依赖随机数的安全机制的破坏,软件应用也会被这种攻击间接影响。
上一篇:网络安全的关键技术