提醒 | ARM NEON™ 通用 SIMD 引擎存在AES密钥泄漏风险
再不点蓝字关注,机会就要飞走了哦
近日,中国信通院泰尔终端实验室的安全工程师对采用ARMNEON™ 技术的AES加密实现进行分析,结果表明:使用该技术并不能有效抵抗侧信道攻击,AES密钥存在泄露风险。
ARM Cortex™-A系列处理器是目前智能手机和移动计算设备到HDTV产品应用最广泛的处理器,几乎目前市售的所有智能手机都在使用该处理器。NEON™ 技术是 ARMCortex™-A 系列处理器的 128 位 SIMD(单指令,多数据)架构扩展,旨在提供灵活、强大的加速功能,从而显著改善用户体验。硬件开发者利用SIMD指令,可对常用加密算法AES进行加速,大大提高AES加密的运算速度。目前,业界通用的密码算法库如OpenSSL、LibtomCrypt均提供了利用SIMD指令计算AES加密的方法,进而被广泛应用到安全系统(如可信执行环境TEE)的设计中。
图1 ARM NEON™ 技术
此次,实验室的安全工程师采用主频为1.2GHz的Cortex™-A架构处理器芯片对通用密码算法库LibtomCrypt中使用NEON™ 技术实现的AES算法进行安全测试,采集芯片的电磁辐射波形等进行分析。
图2 电磁辐射采集
图3 电磁辐射采集频域波形
图4 电磁辐射采集时域波形
通过分析显示,LibtomCrypt中NEON™ 技术实现的AES算法并不能有效地抵抗侧信道攻击。AES密钥相关的中间结果存在明显的泄漏,利用该泄漏,攻击者可对全部AES的加密密钥进行恢复。
图5 AES密钥相关信息泄漏
早在2015年已经有机构在国际刊物上发表过此技术可能存在泄露风险,如今实验室的工作人经过不懈努力,通过实验,验证了这一风险的确存在,也反映出实验室的工程师在核心构架的底层硬件上具备了较强的安全处理能力。
关于此次确认的泄露风险,实验室已经第一时间向相关机构进行了反馈,同时建议使用ARM构架的机构在设计可信执行环境等高安全应用时,应对该风险做好防范工作,采用经过防护的AES加密代码。在条件允许的情况下,尽量采用防侧信道攻击的硬件单元进行AES加密操作(如安全单元(SE)或内嵌的安全单元(InSE))。
推荐阅读
好文章,快分享,一起涨姿势~