论文部分内容阅读
随着芯片技术的快速发展,智能卡在军事、金融、政府等领域得到了广泛应用,与此同时,针对智能卡密码破解的犯罪率也越来越高。目前智能卡的密码破解方法可分为两类:针对密码体系的数学破解和利用旁路信息进行破解,后者的代表就是旁路攻击。功耗攻击是旁路攻击的一种主要手段,其利用密码算法执行过程中泄露的功耗和处理数据之间的相关性恢复出与密钥相关的信息,其中,差分功耗攻击由于攻击能力强,与具体加密算法无关,成为了智能卡密码破解的重要手段。目前针对功耗攻击的新型智能卡防御措施主要有掩码技术和随机轮技术。与掩码技术相比,随机轮实施步骤简单、代价小,是智能卡主要采取的防御措施。随机轮技术按照加入随机轮的位置可分为前后随机轮和中间随机轮。本文在研究智能卡差分功耗攻击与防御的基础上,针对前后随机轮防御措施,根据攻击节点的不同首次提出了累加攻击算法和分段攻击算法,通过大量实验数据恢复了智能卡加密密钥,证明前后随机轮不能抵抗差分功耗攻击。具体工作如下:(1)软硬件结合实现一般智能卡差分功耗攻击。根据DES算法和差分功耗攻击原理,结合功耗数据相关模型,使用MATLAB仿真实现了对一般智能卡的差分功耗攻击,并搭建硬件攻击平台进行了实验验证;(2)针对前后随机轮建立了两种差分功耗攻击模型,提出了累加攻击算法和分段攻击算法。根据前后随机轮的防御特点,分别对功耗曲线的前(DR+1)轮功耗求平均值或逐段攻击以恢复密钥,即累加攻击和分段攻击,并用MATLAB仿真进行验证;根据分段攻击算法的计算结果对密钥判断方式进行优化,进一步提出改进算法,最后总结了两种算法的优缺点和适用范围;(3)设计并实现DES算法差分功耗攻击系统。根据一般智能卡和加前后随机轮实现DES算法智能卡的特点,使用MATLAB和JAVA WEB技术,无需硬件支持,实现对DES算法智能卡功耗曲线进行差分功耗攻击的功能。该系统简明呈现了各个阶段的攻击结果,不需使用者进行编程计算,即可清晰了解差分功耗攻击的原理,适用于基础教学研究。