首页 百科知识 防御和测评系统

防御和测评系统

时间:2022-10-05 百科知识 版权反馈
【摘要】:密码芯片是保障国家和公民个人信息安全最重要的物质载体, 因此对安全芯片的破解、 防御以及其安全性的评估成为一个值得探讨的问题。目前, SPA和DPA技术已被广泛用于破译智能卡所保护的数据。为维护社会信息安全, 针对密码芯片的侧信道分析技术的防御措施及其评估方法还需进一步研究和完善, 以实现对密码芯片侧信道安全性的统一规范和认证, 为商用密码芯片的设计和安全使用保驾护航。

北京航空航天大学 冯伯昂 黄 羚 闫桂勋

指导老师: 金 天

摘 要

密码芯片是保障国家和公民个人信息安全最重要的物质载体, 因此对安全芯片的破解、 防御以及其安全性的评估成为一个值得探讨的问题。 侧信道分析方法由于成本低、 时间短、 可行性高, 已经成为最热门的研究方向之一。 本系统以侧信道攻击方法中的功耗分析入手, 做出了针对密码芯片密钥的可攻击破解系统、 可防御保护系统, 以及对加密状况进行分析的可安全测评系统。 集三大系统功能于一身, 可以实现对密码芯片较为全面的保护研究。

关键字: 密码芯片; 差分功耗分析; 侧信道攻击系统; 防御系统; 测评系统

Side-Channel System of Attack, Defense, and Evaluation

Abstract

Password chip is one of the most important part to guarantee the safety of the countries and the individuals in the information world, so how to crack,defense and evaluate a chip will be a worthy of discussion. Because of side channel analysis method's low cost ,short time-analysis and high feasibility, it has become one of the most popular research direction. We choose the the power consumption method of side channel attacks,and finally make out an attack cracked system,a defense protection system,and a safety evaluation system to analyze the status of encryption of a password chip. Set the three functions into one system,we can make more comprehensive protection to the password chip.

Key words:password chip,Differential Power Analysis(DPA);Side Channel attack cracked system;defense protection system;quantitative evaluation system

1 作品概述

国家和公民个人信息的保护已经成为现代社会不容忽视的一个重大问题。 其中, 信息安全芯片(又叫密码芯片)是保障国家和公民个人信息安全最重要的物质载体, 已经成为信息安全所依赖的关键技术之一。 而密码芯片的安全性主要由芯片所执行的密码算法决定。 现在常用的商用密码算法主要分两大体系: 对称密钥加密体系和公钥加密体系。

此外, 密码芯片的安全性还取决于执行密码算法加解密运算的硬件环境的安全性。 密码芯片上的加解密运算最终都是由芯片内部半导体逻辑状态0和l规律变化实现的。 当芯片进行工作时, 逻辑状态0和1的变化将在逻辑门上消耗能量, 同时产生电磁辐射。 侧信道(Side-Channel)信息就是指电子设备工作时泄露出来的与关键信息相关的功耗和电磁辐射等信息。 根据当前半导体工艺技术(主要指CMOS工艺技术)的实现特点, 密码芯片在处理逻辑状态0和逻辑状态1时会有不同的功率消耗, 分析者通过监测这种功耗的差异便可获得与逻辑0或逻辑1相关的一些侧信道信息。 通过采集这些信息, 再利用各种分析方法, 如观察对比、 差分处理、 统计归类等方法进行分析, 则可逐步解析出与秘密信息相关的一些敏感信息, 有时甚至能够直接获得密钥。 侧信道分析(Side-Channel Analysis, SCA)技术发展至今已有十多年的时间, 国内外对侧信道分析的研究已经取得一定的进展, 各种分析方法(主要有功耗分析、 电磁分析、 时间分析等)和防御措施(主要在逻辑层面和算法层面)的提出, 促进了密码芯片侧信道安全性的提高。 目前比较成熟有效的侧信道分析方式是功耗分析技术, 主要有以下几种: 简单功耗分析(Simple Power Analysis, SPA)、 差分功耗分析(Differential Power Analysis, DPA)以及高阶功耗分析(High Order Differential Power Analysis, HO-DPA)。 目前, SPA和DPA技术已被广泛用于破译智能卡所保护的数据。 防御措施则需要针对具体的密码芯片提出, 目前比较通用的防御措施主要有以下几种: 在逻辑层面上, 主要有功耗平衡逻辑、 独立电源模块、 异步逻辑、 SABL(Sense Amplifier Based Logic, 灵敏放大器型逻辑)结构, WDDL(Wave Dynamic Differential Logic, 波动动态互补逻辑)结构等技术; 在算法层面上, 主要有随机化方法、 平衡算法流程等技术。 侧信道防御技术的有效性直接影响着密码芯片的商业应用, 国家也需要对商用密码芯片的安全性进行统一的评估和认证。 但国内目前针对密码芯片的侧信道安全性的评估和认证尚缺乏一套完整的方案, 国际上针对密码芯片的侧信道防御措施的安全性也缺乏统一的评估和认证标准。

侧信道分析技术虽然已出现了十余年, 但直至近几年才开始逐渐受到商业界的重视, 目前国内很多商用密码设备甚至还不具备防御简单侧信道分析的能力。 为维护社会信息安全, 针对密码芯片的侧信道分析技术的防御措施及其评估方法还需进一步研究和完善, 以实现对密码芯片侧信道安全性的统一规范和认证, 为商用密码芯片的设计和安全使用保驾护航。

2 系统功能

本系统使用基于TI AM3715的Devkit 8500平台、 STC89C516 MCU芯片、 Xilinx Spartan、3E+AD9226等多个平台,实现了对AES加密算法进行攻击、防御, 以及对相应的加密芯片进行安全性测评的完备平台。 FPGA开发板采用Xilinx Spartan 3E FPGA器件, 板上资源丰富, 有2MB的Flash和1MB的快速SRAM, 以及各种输入输出设备, 可以方便地设计具有各种功能的数字系统, 也可设计含有Xilinx Mi-croBlaze软核的嵌入式处理器系统。 EXCD-1开发板有5个扩展接口, 可灵活地扩展各种功能模块, 如数模转换模块, 模数转换模块, LCD显示模块等。

2.1 攻击功能

ARM平台(Devkit 8500)负责控制系统工作, 使用触摸屏对攻击行为进行控制。 通过MCU对FPGA输入的明文进行AES加密, 生成相应的密文, 同时FPGA控制超高速AD对MCU加密过程中泄露的功耗信息进行采样, AD将采样后获得的电压信息传递给FPGA, FPGA通过D函数对获得的功耗信息进行分类并进行差分平均, 检验猜测密钥的正确性, 得出正确的密钥, FPGA将正确的密钥返回给ARM, 输出显示。

在理论验证阶段, 曾经将FPGA的采样点输出到ARM, 信号提取后保存, 经过电脑端matlab验证,波形如图1所示: 可以很清晰地看到单片机内部晶体管运行的机制。 而且经过多次测量, 差分过程本身就过滤掉随机噪声, 因此信号多次验证后很稳定, 本系统稳定性可以保证。

为提高编码效率, 本系统使用了IO口通信, 每一组通信接口使用三根数据传输线, 第一根为数据传输使能, 低电平有效; 第二根为数据传输时钟, 低电平有效; 第三根为数据线, 负责数据的传输。 经检验, 这种传输方式速度快, 有很高的使用价值。

为满足攻击时密钥分配的随机性, 本系统开放密钥前8位, 由用户随机输入; 在攻击时, 因时间有限, 本系统只对密钥的前8位进行攻击, 由此解决破解时密钥应为未知的问题。 在攻击的过程中, 系统图形控制界面有详细指示, 表明攻击进行到了哪一步。

图1 差分功耗计算图

2.2 防御功能

本系统对加密算法进行改进, 加入随机延时和随机晶体管翻转技术, 其中随机延时使用的是明文前32位和的累加值作为参数, 增加延时的时钟数; 随机晶体管翻转次数, 使用的是明文后32位累加和作为参数, 并使用voletile关键字防止晶体管翻转被编译器优化掉。 经过测试, 系统防御功能可以抵抗DPA攻击, 无法通过差分功耗的方法对系统实现破解。

对于防御算法, 本系统使用相同的攻击方法进行检验, 若无法通过数值攻击, 则证明攻击有效。

2.3 测评功能

针对在最小系统上的不同的密码芯片, 本系统可以对其进行安全性评估, 通过ARM控制测评系统, 密码芯片对明文进行加密, FPGA控制AD对加密时的功耗等信息进行采样并对采样数据进行处理,可以从功耗大小、 功率谱、 自相关函数的相关性、 功耗均匀性、 差分功率谱以及其时域进行分析, 从这些方面对芯片的安全性做出评价, 并得出综合的安全性评估。 测试指标如下:

2.3.1 简单功耗分析(SPA)

(1) 功耗大小: 一个芯片的优劣, 其功耗是一个很大的问题。 一个好的芯片, 功耗曲线应该低且平稳。 如果一个芯片的功耗较大, 不但它的供电是一笔很大的开销, 芯片的散热、 芯片的可靠性都受到了很大的考验。 所以, 功耗大小不仅是加密芯片也是所有芯片的一个重要指标, 选取它作为第一项测试指标有重要意义。

(2) 功率谱分析: 一个加密芯片在加密过程中, 由于异或等一系列操作, 势必会造成内部晶体管的翻转, 从而造成功耗的增加或减少。 但是这种晶体管的翻转, 势必造成侧信道信息的泄露。 对功率谱进行分析, 评估芯片的功率谱是否存在规律性, 如果规律性明显, 则该芯片的设计存在问题, 或不适用作为加密芯片, 建议重新开始设计; 若规律性不明显, 则该芯片可以满足要求。

(3) 自相关函数: 根据维纳-辛钦定理, 自相关函数和功率谱密度互为傅里叶变换。 功率谱的自相关函数反映了加密芯片在加密过程中功率的规律性, 如果一个加密芯片功耗的增加和减少呈现线性的规律的话, 那么侧信道信息很容易就会泄露出去, 容易产生加密信息的泄露。

2.3.2 差分功耗分析(DPA)

(1) 功耗均匀性: 对于不同的明文, 一款好的加密芯片应该有比较好的功耗均匀性。 换句话说,不同明文的功率信息, 其差分值应该为零或呈现噪声状态, 不应该有很突兀的尖峰或者凹陷, 否则很容易从其中提取侧信道攻击, 对加密算法产生很严重的威胁。

(2) 差分功率谱分析: 对于不同的明文, 若差分值呈现噪声状态, 那么差分的功率曲线不应该有周期性, 系统将差分出来的功率曲线进行FFT, 计算出功率谱, 若存在尖峰, 那么该功率曲线存在问题, 应重新设计以掩盖功率谱特征。

(3) 加密时域分析: 对于不同的加密过程, 如果其晶体管运动严格对齐的话, 进行差分运算则特别简单, 若在加密过程中加入随机的延时, 那么由于功率曲线不对应, 进行差分攻击则特别困难。 进行加密时域分析时, 考察AD的采样点数, 在采样完后进行平均并差分, 若接近零的点特别少, 那么就说明差分计算的曲线不吻合, 说明芯片的防差分攻击是成功的。

3 软硬件实现

3.1 硬件模块

本系统分为五个模块, 包括:

(1) 由蓄电池和干电池组成的电源模块, 本系统采用纹波小的干电池以及蓄电池为整个系统供电,利用电池组为MCU、 ARM的电源端供电,12V的蓄电池为AD供电, 以保证能最大限度减小电源的噪声。 选择蓄电池电量为7500m Ah, 干电池电池组电量为4500m Ah*2, 可满足用电需求, 并具有待机时间长的优点, 方便系统的移动和携带, 有很高的实用性。

(2) 由MCU为核心的最小系统即为加密模块, MCU负责对明文进行加密。 为MCU焊接最小系统可降低单片机在运行过程中MCU控制其他硬件部分产生功耗噪声。 选择使用STC89C516芯片进行加密程序的烧写, 此芯片通用性强, 代码储存空间足够大, 输出口足够多, 调试方便, 所呈结果有说服力。

(3) 由高速AD构成系统的采样模块。 高速AD负责将功耗的模拟信号转化为FPGA可以处理的数字信号, 高速的AD能够保证有足够的采样率获得足够多的信息量, 以保证信息的准确性以及最终结果的正确。 选用AD9226超高速AD进行采样, 采样率受FPGA控制, 为50MHz, 通带带宽可达到500 MHz, 满足要求。 AD9226有三个输入端和12位输出线, 在输入触发的控制下, 受输入时钟的控制, AD9226将采样的模拟电压输出为12位TTL电平。 采用对低十位电压测量。

(4) 由FPGA构成的数据存储、 处理模块, FPGA负责存储明文信息, 并将其传递给MCU让其进行加密处理, 同时接收高速AD传来的数字信息并对信息进行差分等处理, 从而达到对加密的破解、 对功耗信息的处理以及图形的获取。 FPGA特别适合并行处理大规模量的数据, 在一个时钟沿即可同时完成多位数据接收, 寄存器储存、 差分、 比较、 输出等功能。

(5) 由ARM构成系统的控制、 输出模块, ARM负责控制FPGA以及MCU进行攻击、 防御、 测评等各种操作, 并且在液晶屏上能够进行密钥的输出以及加密芯片的评估并提出改进意见, 简单直观, 方便用户进行操作, 而且使用ARM平台作为控制中枢, 有隔离各信号间的干扰, 方便对单片机和FPGA进行独立控制的优点。

3.2 软件模块

软件核心是AES加密算法和差分处理算法, 包括AES加密部分、 数据传输部分、 D函数判断部分、差分处理部分、 判断评估部分、 控制部分等六部分构成。 所有算法均为自主设计。

(1) AES加密部分: AES加密部分采用128位AES加密算法对明文进行加密, 采用11轮操作对明文进行加密, 除第一轮和最后一轮外, 算法加密过程的每一轮操作包括SubByte、 ShiftRows、 MixCol-umns和AddRoundKey四个步骤。 第一轮只进行AddRoundKey操作, 而最后一轮不执行步骤MixCol-umns。

(2) 数据传输部分: 本系统的所有数据传输部分都使用三线IO口传输, 其中第一根作为数据传输的标志, 低电平触发; 第二根作为数据传输的时钟, 也是低电平触发; 第三根作为数据输入位,由输入的数据决定。 使用这种传输方式, 可以忽略单片机、 FPGA、 嵌入式平台的时钟差异, 有意减慢传输速度, 从而达到无差错传输的目的。 此外, 这种方法也避免使用多缓存技术, 降低了编写代码的难度。

(3) D函数判断部分: 选择对AES加密算法第一轮之前的密钥异或结果进行分析, 通过判断1位明文跟假想密钥异或之后的密文为0或者1, 将功耗信息分为两组, 比如明文的某一位是0或者1, 我们猜测对应位的密钥值为0或1, 若猜测为0, 则该位为0的明文跟密钥异或后的值为0; 为1的明文跟密钥异或后的值为1, 以此为区分可将加密后的功耗信息分为两组。

(4) 差分处理部分: 将分为两组的功耗信息平均后进行差分, 判断是否出现明显的尖峰, 从而判断猜测的密钥的正确性。 如果出现明显的尖峰则证明猜测的密钥是正确的, 若是没有出现明显的尖峰则说明密钥猜测错误。 两组功耗信息的数量分别为100, 经检验,100组信息已足够去除白噪声。

(5) 判断评估部分: 通过对获取的功耗信息进行处理, 从而对功耗大小、 功率谱、 自相关函数的相关性、 功耗均匀性、 差分功率谱以及其时域进行分析, 判断密码芯片的安全性, 并对其进行评估打分。

(6) 控制部分: 通过ARM上的软件控制系统进行攻击以及评估等各项活动。 使用图形界面, 方便用户进行控制, 将电压波形图输出到屏幕上, 便于用户直观地进行观察。

4 测试结果分析

为了保证验证结果的准确性, 在攻击和防御环节分别随机使用了100组数据进行校验, 攻击环节的破译成功率接近于100%, 表明系统对于AES加密算法的攻击是非常有效的, 平均每位密钥的破译时间为11.7s, 表明攻击的实时性也很强。

在防御环节, 对于加入随机延时的加密MCU, 破解的成功率为0, 说明经过采取加入随机延时的措施可以有效地防御侧信道攻击; 对于加入随机的晶体管翻转的加密MCU, 破解的成功率为0, 说明采取加入随机的晶体管翻转的措施可以有效地防御侧信道攻击。 以上可以说明本系统对于侧信道攻击的防御是非常理想的。

在测评环节, 在最小系统上采用普通AES加密程序的MCU时, 由于其泄露的功耗信息过多, 对于其安全性的测评系统的综合评价较低, 而当换上加入随机延时或加入随机的晶体管翻转的AES加密的MCU时, 由于加入了噪声, 功耗信息泄露的相关密钥信息难以被捕获, 所以系统对两个MCU的安全性综合评价较高。 这表明系统能够根据加密芯片是否容易通过功耗泄露相关的密钥信息准确地对加密芯片的安全性做出评估。 而针对功率的每一种特点, 系统都给出了相应的得分, 可以对加密芯片的功率进行比较详尽的评估, 从实用性、 安全性给出优缺点并提出改进方案。

5 作品总结

5.1 作品功能

(1) 实现对于单片机实现AES加密算法的攻击。

(2) 针对侧信道攻击对加密芯片中的加密算法进行防护。

(3) 对于加密芯片的安全性的评估。

AES加密算法的破解: 能够通过差分功耗攻击获得加密过程中的密钥信息, 通过观察差分后的波形中的峰值获得正确的密钥, 完成AES加密算法的破解。

加密芯片的防护: 给普通AES加密的芯片加入随机的延时或者随机的晶体管翻转, 通过扩大噪声造成功耗波形的失真, 使得波形不能泄露出相关的密钥信息, 造成密钥破获工作的困难。 加密芯片的安全性评估: 通过检测加密芯片的功耗波形是否跟普通未加密芯片的功耗波形是否一致,从而判断加密芯片是否容易泄露其加密时的密钥信息; 通过对加密芯片的功耗进行分析, 从而对加密芯片的安全性做出评估。

本作品可应用于芯片安全检测机构。 图2为作品实物图。

图2 作品实物图

5.2 作品创新

(1) 实现了构成整个侧信道攻击的硬件电路结构, 使成功破解成为可能。

(2) 对ARM嵌入式系统进行开发移植, 控制整个软件端系统。

(3) 防御系统可以抵制对密钥的侧信道差分能量攻击, 通过测试再检验, 证明密钥已经不能再被破解。

(4) 测评系统可以由功耗数据进行安全性分析, 并给出改进意见, 给出综合评分。

(5) 攻击系统实现了对密钥的破解, 准确可靠, 已通过验证。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈