关于银行卡受理终端3DES算法的安全攻击研究
2020/8/21 10:09:00

一、引言

近年来,互联网金融和移动通信技术不断发展,推动科技手段与支付应用深度融合,银行卡支付创新步伐日渐加快。与此同时,银行卡受理终端的安全问题也日益显现,如何加强银行卡受理终端管理、保障支付安全成为人们关注的焦点问题。

银行卡受理终端作为金融行业的专用电子信息设备,其设计、开发、生产等过程虽然由金融行业有关部门监管,根据相关行业标准,对银行卡受理终端交易的安全性、稳定性和功能符合性等方面设置了严格的认证过检要求。但随着市场竞争日渐白热化,部分生产厂商为降低生产成本,出现以次充好、降低安全设计要求、替换核心部件等情况,导致量产产品与过检产品不一致的情况。为此2017年1月22日,人民银行发布了《中国人民银行关于强化银行卡受理终端安全管理的通知》(银发[2017]21号)要求各商业银行、支付机构必须使用符合国家标准及金融行业标准的受理终端。2017年6月1日起,应选用通过国家认证认可管理部门认可检测机构认证的受理终端,进一步加强银行卡受理终端安全管理。

CFCA信息安全实验室立足于金融行业,一直致力于银行卡受理终端安全检测技术的研究。从技术角度看,终端安全涉及硬件、系统、应用、网络、密钥等多个安全环节,对受理终端的安全评估则从上述几个方面进行攻击检测,综合判定一款终端是否具备强大的防护能力。

近期,通过对市场上一款主流银行卡受理终端产品进行侧信道攻击分析,成功获取了3DES算法密钥,攻击过程如下:

二、实验环境

测试平台如下图所示,平台与被测样品通过串口通信,在样品进行3DES加密运算过程中采集主控芯片的电磁信息。平台设备连接如图1所示:

图1平台设备连接图

根据指令,编写测试脚本,控制样品连续进行3DES加密运算,采集曲线的同时保存明文和密文。

三、攻击过程

使用测试脚本下发指令,控制样品开始进行3DES加密运算,同时使用电磁探头在样品主控芯片表面进行扫描,在示波器上观察曲线并结合算法特征进行分析。经分析发现,116.211~123.535MHz这个频段信号与算法功耗特征相关度相对较高,该频段电磁信号强度分布如下图2所示(图中红色点为信号强度最大,蓝色点为信号强度最低):

图2电磁信号强度分布图

选取信号强度最大的点,曲线如下图3所示:

图3信号强度最大的点

在此处集中采集曲线,计划采集数量为50万条。由于样品本身可能存在稳定性问题,经多次尝试,长时间采集曲线后,样品会出现停止响应的问题,实际采集到421691条曲线。分析认为,目前的曲线数量足够在一定程度上反映信息泄露情况,因此直接使用已有曲线进行分析。经过取绝对值、重采样、重叠曲线、对齐、计算相关性等信号处理操作,发现在56.5μs左右明文与曲线有明显的相关性,因此推测加密运算处于该尖峰后的附近区域(如图4所示):

图4加密运算区域

尝试使用这部分曲线对加密运算进行已知明文攻击。对所选部分曲线进行进一步对齐和重采样,使用重采样后的曲线进行CPA攻击,结果如图5所示:

图5攻击结果

经过对比攻击结果与实际的轮密钥,结果一致,说明能够恢复完整密钥。

四、总结

针对密码算法的安全攻击方法层出不穷,各种密码分析手段不断涌现,监管机构也根据行业特点和技术发展情况制定了相关监管要求,建立检测认证体系,加强受理终端安全管理,保障支付安全,促进银行卡及支付产业健康发展。

作者介绍:

刘志超,信息安全工程师,主导过多款国内外安全芯片检测工作,熟悉移动金融安全芯片检测标准、CC认证检测体系和标准,擅长侧信道攻击技术,在半导体制造及信息安全领域具备丰富经验。

吴宝民,信息安全工程师,主导过多款支付受理终端的安全和功能检测,熟悉银行卡受理终端、条码支付受理终端、人脸支付终端技术检测标准和认证检测体系,在支付受理终端及信息安全领域具备丰富经验。

本文转载目的在于知识分享,版权归原作者和原刊所有。如有侵权,请及时联系我们删除。

展开全文
相关阅读
资讯查询取消