二维码扫码支付安全探析
添加时间:2017-09-04
随着技术的发展,我国正在向无现金时代前进,与此同时二维码支付也渗透进了我们生活的边边角角。二维码支付的安全性,一直为大家所关心,在近期由中国国际科技促进会主办、北京中广恒泰文化传媒有限公司承办的第十一届证卡票签安全技术展览会上,国家密码管理局的李智虎先生对二维码支付的安全性进行了探讨。
二维码的安全隐患。
二维码是用某种特定的几何方式按照一定规律的,在平面分布黑白相间的图形,用以记录数据信息。由于二维码可以在二维方向上表示信息,其存储容量远远高于一维条码,一个邮戳大小的二维码就能存储数上千个字符信息。与一维条形码相比二维条形码除容量外,抗损毁能力更强,只要损毁面积不超过50%都能使数据还原。
技术层面来看,二维码支付中,图码只是作为一个通道,就像电信空口、wifi、蓝牙、语音等一样,其特点是不需要电信号,所以仅就图码说安全没有意义。
涉及二维码支付安全,主要是图码所代表的内容(例如一个 URL、指向 app 支付的地址)安全,以及为此次支付搭建的应用系统包括服务端、客户端的软硬件安全。
随着移动互联网、智能手机为广大人民所接受、拥有,随着支付宝、微信等 app 的广泛应用,二维码成为重要的支付手段。二维码支付的最大特点就是简便。但是二维码支付也有很大的安全隐患。如钓鱼网站、手机病毒、恶意程序等通过二维码传播的潜在风险日益严重。2014 年 3 月 13 日,央行下发紧急文件叫停二维码支付等面对面支付服务,理由是线下二维码支付存在一定的支付风险隐患。这让一度非常热门的二维码支付业务进入沉寂期。
用手机扫描二维码后, 点击网址链接、下载软件等都可能成为病毒攻击的目标。一些网站会带有流氓插件,吸费木马病毒可能伪装成软件。与手机登录恶意网站、下载病毒程序一样的,只不过换成了新面孔借助二维码的方式表现出来。如果是单纯的文本信息,扫描之后一般不会有安全问题,但是二维码中可能含有网址链接或运行程序,如果点击操作,就可能中毒。
相对来说证卡票券是二维码最安全的应用,特别是携带身份信息的证卡票券,例如,带有照片的工作证、身份证,携带电子签名文件。这类二维码有身份信息,再加上权威认证机构(例如 CA)的电子签名,生成二维码后只能复制,无法篡改。
个人用户防范措施。
对于用户个人,防范二维码,特别是支付应用带来的隐患,可以:
(1)为避免二维码扫描工具与生成器藏毒问题,建议在正规网站下载工具软件,不要随意到手机论坛以及无安全检测的电子市场下载。
(2)不见码就扫一般情况下,正规的报纸、杂志以及各大商场海报上的二维码是安全可靠的,但对于街头及网上发布的不明来历的二维码需要提高警惕。
扫码前确认该二维码是否来自正规网站,不随意点击链接或下载安装软件。使用扫码工具选专业的,扫到可疑网址时会发出安全提醒,如果通过二维码安装软件,先安装杀毒软件再打开。很多通常会利用人们贪图便宜的心理,将有毒二维码夹杂在促销、打折的广告中,因此大家不要见码就扫。
(3)手机中安装防病毒软件减少病毒侵害最好的办法就是安装防病毒软件,建议大家安装专业的手机安全软件。
对于支付机构,今年 7 月,支付清算协会向支付机构下发了《条码支付业务规范》(征求意见稿),意见稿中明确指出支付机构开展条码业务需要遵循的安全标准。
第十条 会员单位开展条码支付业务,应将客户用于生成条码的银行账户号码或支付账户账号、身份证件号码、手机号码进行关联管理。
第十一条 会员单位开展条码支付业务,应符合监管部门的移动支付技术安全标准,可以组合选用下列三种要素,对客户条码支付交易进行验证:
( 一 ) 仅客户本人知悉的要素,如静态密码等;( 二 ) 仅客户本人持有并特有的,不可复制或者不可重复利用的要素,如经过安全认证的数字证书、电子签名,以及通过安全渠道生成和传输的一次性密码等;( 三 ) 客户本人生理特征要素,如指纹等。
会员单位应当确保采用的要素相互独立,部分要素的损坏或者泄露不应导致其他要素损坏或者泄露。
第十二条 会员单位采用数字证书、电子签名作为验证要素的,数字证书及生成电子签名的过程应符合《中华人民共和国电子签名法》、《金融电子认证规范》( JR/T 0118-2015) 等有关规定,确保数字证书的唯一性、完整性及交易的不可抵赖性。
会员单位采用一次性密码作为验证要素的,应当切实防范一次性密码获取端与支付指令发起端为相同物理设备而带来的风险,并将一次性密码有效期严格限制在最短的必要时间内。
会员单位采用客户本人生理特征作为验证要素的,应当符合国家、金融行业标准和相关信息安全管理要求,防止被非法存储、复制或重放。
第十三条 会员单位应根据交易验证方式的安全级别及《条码支付技术安全指引》关于风险防范能力的分级,对个人客户条码支付业务的交易进行限额管理:
( 一 ) 风险防范能力达到 A 级,采用包括数字证书或电子签名在内的两类 ( 含 ) 以上有效要素对交易进行验证的,由会员单位与客户通过协议自主约定单日累计限额;( 二 ) 风险防范能力达到 B 级,采用不包括数字证书、电子签名在内的两类 ( 含 ) 以上有效要素对交易进行验证的,同一客户单个银行账户或所有支付账户单日累计金额应不超过5 0 0 0元。
二维码支付安全风险等级分级。
一、最低等级的安全风险:全码替换,比如某个小卖部贴的支付二维码被不法分子替换,比如在汽车违章条后附加一个非法收款二维码,这种风险不存在诚实的支付机构,需要付款方及被假冒方谨慎。
二、客户端软硬件安全风险。二维码支付应用中最常见的客户端是手机,而手机环境特别复杂,装的应用鱼龙混杂,病毒木马侵入风险很大。
1. 用户尽量通过可信应用商店下载 app;2. 支付机构 app 尽量支持安全环境,例如TEE,甚至 SE 智能终端;3. 相关机构建立检测认证机构,对智能终端app安全性进行认定。
三、支付后台系统及与客户端交互可能存在的隐患。由于很多应用开发周期短、自行开发周期较采用开源软件时间长、加入安全后影响效率和用户体验、系统安全升级周期过长、为满足不同客户端只能采用最低安全等级等原因,使得系统变得很脆弱。
即使是一些用户过亿,生存时间超过 2 年的应用,为满足不同用户终端需求,安全等级也不尽相同,比如,最重要的客户端数字证书对应的私钥安全存储和计算,大部分手机只能在通用 CPU 通用环境下进行,如果存在病毒木马,带来的危害及其严重。
总体来说,二维码支付安全主要涉及到码本身,支付终端,后台系统的安全,可能采用密码技术(CA,数字签名),虚拟机、安全隔离(沙箱、Trust Zone,TEE,SE)等多种技术的融合,对于不同技术的使用,可以满足不同层级的应用安全需求。