青年|关于银行卡受理终端3DES算法的安全攻击研究
来源:网安前哨 作者:刘志超 吴宝民
一、引言
近年来 , 互联网金融和移动通信技术不断发展 , 推动科技手段与支付应用深度融合 , 银行卡支付创新步伐日渐加快 。 与此同时 , 银行卡受理终端的安全问题也日益显现 , 如何加强银行卡受理终端管理、保障支付安全成为人们关注的焦点问题 。
银行卡受理终端作为金融行业的专用电子信息设备 , 其设计、开发、生产等过程虽然由金融行业有关部门监管 , 根据相关行业标准 , 对银行卡受理终端交易的安全性、稳定性和功能符合性等方面设置了严格的认证过检要求 。 但随着市场竞争日渐白热化 , 部分生产厂商为降低生产成本 , 出现以次充好、降低安全设计要求、替换核心部件等情况 , 导致量产产品与过检产品不一致的情况 。 为此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攻击结果
经过对比攻击结果与实际的轮密钥 , 结果一致 , 说明能够恢复完整密钥 。
推荐阅读
- 青年|34岁的人不想打工,在家做什么能一天收入300元?推荐一些
- 中年|谈一谈我的十年机械工作经历
- 青年|「行走自贸区」自贸区+电商综试区!曹妃甸综保区助你“嗨购全球”
- 青年|21岁男子因腾讯封微信号,一气之下从腾讯大厦跳下,原因竟是这样
- 行业互联网|钟南山青年科技创新奖设立
- 青年|活动都有数据记录,离床久了会报警……人工智能养老进入武汉家庭
- 青年|青春结束了?网传“榕树下”关闭,客服:未接到通知;网友打卡缅怀
- IBM|关于数字化转型与数据应用,你想知道的都在这里!
- 青年|慎点这种教程视频!不是本人也能秒解指纹支付转账?小心你的钱没了!
- APP|合规进行时丨关于 “APP & SDK 合规”你应该知道的那些事(第一弹)