关键词:
密码芯片
侧信道攻击
能量分析攻击
简单能量分析
差分能量分析
摘要:
随着现代密码技术和计算机技术的发展,两者的结合日趋紧密,密码协议和算法的应用通常都是以软件方式在通用处理器平台上实现的,或者运行在定制的硬件单元上,这类密码芯片在现代信息安全中已经得到广泛的应用,如手机卡、银行卡、USB口令等,密码芯片已经和我们日常的工作生活结合的越来越紧密。然而,物理元件的使用必然会与其所处的环境发生物理交互作用,因此,物理器件的信息泄漏是不可避免的。在传统密码攻击方法中,攻击一个密码算法时,首先就是深入研究这个密码算法的实现,找出算法存在的漏洞,然后运用数学的知识对密码算法进行破译。这是最初最传统的攻击方法。而侧信道分析技术(Side Channel Attack, SCA)是利用电子芯片在进行加解密时,计量密码芯片与外界环境的物理交互信息,利用统计学中相关性计算方法,来得到密钥信息。对密码系统的攻击往往客观上分为入侵式、半入侵式、非入侵式,侧信道这种攻击的非入侵方式对密码设备的安全性造成了巨大威胁。国内外在该领域的研究已经取得可观的成果,已经发现很多种侧信道攻击方法。Kocher在十余年前,提出了计时攻击和能量分析攻击,这类侧信道攻击方法是依据密码设备的内部状态和在运行加密算法过程中不同时间点所获得的物理测量之间存在相关性,而这种相关性往往和密钥信息以及相应的操作数据直接关联。随着侧信道攻击技术的不断发展,已经有许多方法被发表。目前,能量分析攻击方法是最强大的侧信道攻击方法之一,因为现在的密码算法都是在电子元器件所构成的大规模集成电路上面实现的,因此在进行逻辑0与逻辑1的交互过程中,一定会有高电平和低电平的差异,这类物理元件的电磁泄漏是很难避免的,这就为能量攻击提供了基础。常用的方法有简单能量分析攻击(Simple Power Analysis, SPA)、差分能量分析攻击(Differential Power Analysis, DPA)、相关能量分析攻击(Correlation Power Analysis, CPA)。本文首先介绍了密码学常用算法的内部结构和加解密过程,包括对称算法和非对称算法。然后,分析智能芯片的电路结构,以及它们在运行加解密算法时产生能量损耗的原理,给出常用的侧信道能量分析攻击的电路原理图,重点介绍了简单能量分析攻击和差分能量分析攻击的攻击原理。最后,利用实验室具体设备对DES密码芯片和AES密码芯片进行了具体的攻击和分析实验,取得较好效果。通过对攻击实验进行总结,提出较为通用的能量分析攻击实验方法。