设为首页   在线评论   推广技巧   发布求购   免费注册   激活帐号
一卡通世界
当前位置:一卡通世界 >> 技术文章 >> 智能卡 >> 基于垂直认证模式的银行卡安全解决方案

基于垂直认证模式的银行卡安全解决方案

来源:一卡通世界网      作者:胡祥义 赵桂芬 马彦姣      2016-5-13 14:35:39

  摘要:本文对现用银行卡的管理漏洞和技术漏洞进行分析,阐述了磁条和存储芯片银行卡的技术特征,公开了不法分子可能对其进行攻击的具体方法。同 时,分析了采用PKI技术保证目前的银行卡安全不可行的原因。提出了基于“垂直认证”模式的银行卡安全解决方案,方案是使用CPU智能芯片来代替磁卡和存 储芯片,在CPU银行卡芯片里,采用“垂直认证”模式建立取款单或支付单进行签名和加密协议,来替代银行卡现有的取款或支付密码(即:口令)认证协议,从 而,在ATM机或POS机上建立一种“芯片级”的取款或支付系统,保证银行卡取款或支付的安全。

  0 引言:现行银行卡已经有近30年的历史了,对促进银行业的发展起到了重要作用。近期,据多家媒体报道:银行卡用户资金被盗事件频繁发生。该类事件的主要问 题是:银行内部管理的漏洞和银行卡技术漏洞同时存在造成的结果。事件中的银行卡都是磁条卡即:磁条银行卡,将用户信息存放在银行卡的磁条里,容易被非法读 出和复制。银行卡用户信息常常被不法分子在网上贩卖。犯罪团伙通过网上购买,或利用读卡器盗读,或通过病毒盗取用户手机里的银行卡用户信息和密码(口 令),再克隆用户银行卡,利用获得用户信息中的取款或支付密码(口令),在ATM机上盗取用户银行卡账号里的资金,或在POS机上盗刷用户银行卡账号资金 消费,造成用户财产的损失(见:图1),这同样也危害到国家金融安全。

  近几年,银行业也在进行银行卡安全升级,陆续为用户提供带存储芯片的银行卡,带存储芯片的银行卡是采用价格低廉的存储芯片,将用户的个人信息和 取款或支付密码(口令)放在存储芯片里,存储芯片能防止不法分子利用读卡器盗读用户信息。但是,存储芯片银行卡仅仅靠安全等级较低的固定取款或支付密码 (口令)进行认证,来实现从ATM机取款或POS机上支付,同样存在现像磁条银行卡一样的安全漏洞,例如:不法分子可以通过网上购买,或者通过病毒程序来 获得用户的个人信息和取款或支付密码(口令),来克隆存储芯片的银行卡,盗取用户账户里的资金。

  为一劳永逸彻底解决现用银行卡的安全问题,我们提出了采用CUP芯片来替代现用的磁条和存储芯片,在CPU芯片里建立取款或支付单的签名和加密 协议,实现银行卡的安全系统进行技术升级。若采用国际通用PKI技术的签名和加密协议,来升级银行卡的安全系统,理论上可行,实际上无法实现。这是由于银 行卡使用量是目前网络支付用户量的100倍左右,而PKI安全架构运行速度较慢,无法满足海量银行卡并发认证的需求。为此,我们提出一种“基于垂直”认证 模式的银行卡安全系统升级的解决方案,其中:“垂直认证”模式是基于“密钥种子”集中生成,集中灌装,集中分发,集中销毁,并采用单钥密码算法(SM1或 SM4算法)和组合(单钥)密钥(CSK)生成算法,建立基于数字签名(采用SM4算法)和加密的可信银行卡取款(或支付)协议,对比PKI技术并发签验 的速度能提高200倍,可以解决目前存在的银行卡用户信息外泄带来的资金被盗的问题。

银行卡用户资金被盗

图1:银行卡用户资金被盗

  1.0磁条卡和存储芯片卡的安全性分析

  1.1 磁条卡的安全性分析

  采用磁条制作的银行卡,是将用户的个人信息包括:开户者姓名、身份证号、开户银行、账号、取款或支付密码(口令)等,存储在银行卡的磁条中。磁 条卡的数据容易被非法读出,犯罪团伙通过网上购买,或利用读卡器盗读,或通过病毒盗取用户手机里的银行卡用户信息和取款密钥(口令),再克隆用户银行卡, 从而,盗取用户银行账号的资金。磁条银行卡是早期产品,安全等级较低。早在10年前,微软公司创始人比尔盖茨就断言:若10年后,银行卡若不升级成芯片卡,银行卡的安全将是灾难性的。

  1.2存储芯片卡的安全性分析

  采用存储芯片制作的银行卡,是将用户的个人信息包括:开户者姓名、身份证号、开户银行、账号、取款或支付密码(口令)等,存放在银行卡的存储芯 片里。存储芯片能防止不法分子利用读卡器盗读用户信息。但是,存储芯片银行卡是通过固定取款或支付密码(口令)进行认证,通过口令认证后就可以从ATM机 取款或POS机上支付。这同样存在与磁条银行卡同样的安全漏洞,例如:不法分子可以通过网上购买,或者通过病毒程序来获得用户的个人信息和取款或支付密码 (口令),来克隆带存储芯片的银行卡,盗取用户账户里的资金。

  2.0 采用带CPU智能卡升级现有的银行卡。

  为每个银行用户重新发一个带CPU芯片的银行卡(见:图2),将带CPU银行卡作为主卡,将银行已经为用户发的其他用户的银行卡作为副卡。


图:2:带CPU芯片的银行卡

  2.1 采用带CPU银行卡绑定所有银行账号

  将带CUP智能卡与用户的身份一一对应(为节省带CPU芯片智能卡的成本,银联可以协调所有银行,给每位银行用户发一张带CPU芯片的银行 卡)。带CPU芯片的银行卡对应银行里的多个账号(见:图3),即:CPU芯片的银行卡与银行的所有账户绑定(一位用户在一个银行可能开了多个账户)。 CPU芯片银行卡在ATM机上进行大额(3000元以上)取款,在POS机上进行大额(3000元以上)支付。被绑定的(磁条或存储芯片)多个银行卡,只 能查询银行卡中余额,进行小额(3000元以下)取款和支付,若在银行柜台上,可由银行职员为用户进行大额取款或转款等。


图3:用带CPU银行卡绑定用户的所有银行账号

  2.2 带CPU的智能卡与加密系统结合能防止银行卡被克隆

  在带CPU银行卡芯片里,采用PKI或IBE 技术建立取款或支付协议,是将取款或支付单加密和签名,不法分子不能克隆带CPU芯片的银行卡,不能获得用户的私钥,也无法篡改取款或支付单内容,可保证带CPU银行卡用户账号资金的安全(见:图4)。


图4:带CPU的银行卡可防被克隆

  2.3 基于PKI或IBE建立取款或支付协议运行效率较低

  PKI或IBE的签名和加密协议的特征是,采用两种密码体制(对称算法和非对称算法)建立签名和加密协议,需要调用2次SM2算法,调用3种密 钥。可见,PKI或IBE的安全架构复杂,签名和加密协议过程多,造成签名和加密协议的运行效率较低。若采用PKI或IBE的签名和加密协议,来升级银行 卡的安全系统,理论上可行,实际上无法实现。这是由于银行卡使用量是目前网络支付用户量的100倍左右,而PKI或IBE安全架构运行速度较慢,认证中心 无法满足海量银行卡并发认证的需求,且认证中心的建设成本较高,让各个银行都难以支付。因此,PKI或IBE等第三方认证模式,无法作为银行卡安全升级方 案的首选。

  3.0 基于“垂直认证”模式建立银行卡认证、取款或支付协议

  采用“垂直认证”模式建立认证、签名和加密协议,即:在带CPU银行卡智能芯片里,事先写入密码算法SM1或SM4、摘要算法SM3、组合密钥 (CSK)生成算法、认证协议、签名和加密协议,以及一组密钥种子、取款或支付密码和用户的身份证号(姓名可以省略),其中:带CPU银行卡智能芯片里用 户的“密钥种子”两两不同。

  “垂直认证”模式技术是采用对称密码算法,建立认证、签名和加密协议,采用组合(单钥)密钥(CSK)生成算法解决单钥密钥更新管理的难题,其 中:密钥种子集中生成,集中灌装,集中分发,集中销毁(具体密钥生成和管理,详见论文:“一种可信移动支付解决方案”,《网络安全与技术》杂志,2016 年,第5期)。

  3.1 银行卡端认证协议

  用户在ATM机或POS机上插入带CPU芯片银行卡,并经过设备提示,用户输入取款或支付密码(口令),按“确认”键后。带CPU银行卡的智能 芯片端的加密系统,产生一组密钥生成参数,根据“垂直认证”模式的组合密钥生成算法,生成一组对称密钥,与用户输入的取款或支付密码(口令)结合(逻辑同 或逻辑异)生成认证密钥,再生成认证口令1,并将用户身份证号、密钥生成参数和认证口令1,一并发送到认证中心端,认证中心端加密系统,根据密钥生成参数 和组合密钥生成算法,产生一组对称密钥,与用户的取款或支付密码(口令)结合生成认证密钥,再产生认证口令2,通过对比认证口令1和2是否相同,来确认用 户的身份是否可信。

  当用户带CPU银行卡通过认证中心端的认证后,由银行支付平台返回ATM机或POS机端认证结果,显示(通过认证)持卡用户对应该银行所有账号 (同一用户在同一银行可能开了多个账号),以及账号的资金余额。若未能通过认证,则ATM机或POS机端显示带CPU银行卡的密钥或密码(口令)错误。

  3.2 银行卡端签名和加密协议

  签名和加密协议:用户在ATM机或POS机端“点击”取款或支付金额,并点击“确认”键后,该带CPU银行卡芯片端加密系统,根据组合密钥生成 算法,实时产生一组对称密钥,与用户的取款或支付密码(口令)结合(逻辑同或逻辑异)生成一组签名和加密密钥,并使用密码算法SM1或SM4和摘要算法 SM3,对取款或支付单【包括:取款(或支付)金额、身份证号、用户账号、开户行等】进行签名和加密,ATM机或POS机端将取款(或支付)单的密文及其 数字签名,以及产生密钥的参数,一并发送给银行支付系统端的认证中心。

  签验和解密协议:认证中心端的加密系统,根据收到的产生密钥的参数和组合密钥生成算法生成一组对称密钥,与用户的取款或支付密码(口令)结合,生成一组签验和解密密钥,对收到的取款或支付单密文进行解密,再对取款或支付单的签名进行签验(完整性验证)。

  若取款或支付单通过完整性验证,则银行支付系统发送给ATM机取款指令,或发送给POS机支付指令。若取款或支付单未能通过完整性验证,则银行支付系统反馈ATM机端银行卡密钥错误,不能取款,或反馈POS机端银行卡密钥错误,不能支付。

  3.3 基于“垂直认证”模式的认证效率高,建立成本较低

  “垂直认证”模式的认证、加密和签名协议,只采用SM1或SM4单钥密码算法建立认证、签名和加密协议。安全架构简单,尤其是签名和加密协议, 只需调用一组密钥对支付单进行加密和签名,环节较少,运行效率较高。各种相关教科书都阐述了一个公理:对称(单钥)密码算法,比非对称(双钥)密码算法的 加/解密速度在计算机内存里快100倍,在芯片里快1000倍。因此,基于“垂直认证”模式的认证、签名和加密协议,同时具有安全性高,速度快,建设成本 较低的优势,可为银行卡升级为CPU芯片卡提供安全技术支撑。

  4.0 银行卡升级方案的安全性分析

  采用CPU智能芯片来替代现行使用的磁条和存储芯片来升级银行卡,在带CPU银行卡芯片里建立加密系统,并建立认证协议、签名和加密协议,将用 户在ATM或POS机上输入的取款(或支付)密码,与带CPU银行卡智能芯片端加密系统里产生的一次一变的密钥结合(逻辑同或逻辑异),生成认证、签名和 加密密钥。通过认证协议进入用户账号,浏览账号的资金余额。通过签名和加密协议,实现用户从ATM机上取款,或在POS机上支付。同时,用户在取款或支付 过程中,仍然输入取款密码(口令),实现用户取款或支付的操作过程和操作习惯不变。

  即使黑客获得了用户的取款或支付密码(口令),由于带CPU银行卡中的加密系统不能被克隆,则无法得到CPU银行卡芯片里一次一变的认证密钥、签名和加密密钥,因此,黑客不能盗取用户银行卡的资金(见:图5)。从而,保证银行卡体系的安全。


图5:黑客无法克隆带CPU银行卡,无法获得卡中一次一变的签名密钥

  5.0 需要银行配合的事

  5.1 在银行的机房里部署认证中心

  在银行的机房里部署“基于垂直”认证模式的认证中心(包括:密钥管理机,认证/签名验证一体等设备),并与银行支付平台的权限管理系统结合 (见:图6)。认证中心端只有解密和签名验证协议,全体用户的“密钥种子”是以密文形式存储,解密“密钥种子”的密钥存储在硬件设备加密芯片里。


图6:在银行的机房里部署基于“垂直认证”模式的认证中心

  5.2 银行卡软件系统升级

  5.2.1 银行负责ATM机或POS机与带CPU银行卡智能芯片之间软件接口开发,实现带CPU银行卡能插入ATM机或POS机(见:图7)。


图7:带CPU芯片的银行卡能插入ATM机或POS机

  5.2.2 银行负责事先将用户的带CPU芯片银行卡,与对应银行的多个账号绑定(一个用户可能在某个银行开多个账户),亦即:一个带CPU银行卡对应银行的多个磁条或存储芯片银行卡及其账号(见:图8)。

一个带CPU银行卡绑定银行的多个账号

图8:一个带CPU银行卡绑定银行的多个账号

  5.2.3 银行负责认证中心与银行支付平台的接口开发,银行提供银行支付平台的权限管理系统接口,与基于“垂直认证”模式的认证中心连接。银行支付平台收到ATM机 或POS机端的认证协议,或签名和加密协议的数据后再转发给认证中心,认证中心将认证结果,或签名验证结果返回银行支付平台,若通过认证,则银行支付平台 反馈给ATM机或POS机端,对应用户的所有银行账号及其资金余额,否则,ATM机或POS机端显示银行卡密钥,或取款(或支付)密码(口令)错误;若通 过签验(通过取款或支付单的完整性验证),则银行支付平台发送给ATM机取款指令,或发送给POS机支付指令,否则,ATM机或POS机端显示银行卡密 钥,或取款(或支付)密码(口令)错误。

银行支付平台的接口开发

图9: 银行负责认证中心与银行支付平台的接口开发

  6.0结束语

  总之,银行为用户发带CPU芯片的银行卡,用带CPU芯片银行卡绑定所有对应用户的(磁条或存储芯片)银行卡,将CPU银行卡作为主卡,在 ATM机或POS机上进行大额(3000元以上)取款或支付。被绑定的多个(磁条或存储芯片)银行卡作为副卡,在ATM机或POS机上可以查询账号中余 额,并进行小额(3000元以下)取款和支付,在银行柜台可由银行职员为用户进行大额取款或转款等。

  在带CPU银行卡智能芯片里,采用“垂直认证”模式即:采用单钥密码算法(SM1或SM4)和摘要算法(SM3)建立认证、签名和加密协议,对 持卡用户的身份进行认证,对取款或支付单进行签名和加密。采用组合(单钥)密钥生成算法,解决单钥密钥管理的难题,保证认证密钥、签名和加密密钥一次一 变。且认证协议、签名和加密协议在CPU银行智能芯片(如:U盾里的智能芯片)里完成,是“芯片级”的认证、签名和加密协议,安全等级较高。不法分子无法 克隆CPU银行卡及其加密系统,也无法获得一次一变的认证、签名和加密密钥。另外,采用“垂直认证”模式对比国际通用第三方认证模式(如:PKI或 IBE),能提高并发认证的速度100倍,提高并发签名验证的速度200倍,可降低认证中心的建设成本80~90 %。因此,我们提出银行卡安全解决方案,能解决磁条银行卡的安全问题,也能解决存储芯片银行卡的安全问题。同时,在银行卡安全解决方案中,ATM机或 POS机等硬件设备不变,主要是升级其软件系统。将磁条或存储芯片银行卡换成CPU银行卡(如:U盾里的智能芯片),银行投入较少资金就可完成银行卡安全 体系的升级改造。从而,解决目前引起社会瞩目的银行卡安全问题,保证国家金融体系安全。

  作者简介:

  胡祥义 网络密码认证北京市重点实验室 大专 研究员 密码安全协议 北京 100044

  赵桂芬 网络密码认证北京市重点实验室 博士 副研究员 密码安全协议 北京 100044

  马彦姣 大唐联诚信息系统技术有限公司 硕士 工程师 软件工程 北京 100191

  作者简介:胡祥义(1955-),男,研究员,研究方向:密码安全协议;赵桂芬,女, 副研究员, 研究方向:密码安全协议 ;马彦姣,女,工程师,研究方向:软件工程。

分享到新浪微博      分享到腾讯微博         责任编辑:苏洁   投稿邮箱:editor@yktworld.com
关于 银行卡  智能卡  芯片卡 的文章
  • 税控收款机专用IC卡应用研究
  • 利用新型CPU智能卡提高电子商务支付安全性
  • Smart COS操作系统技术解析
  • 智能卡与指纹识别技术的结合
  • 基于智能卡的移动支付终端分析与研究
  • 智能卡移动支付发展浅析
  • PBOC/EMV之脱机明文PIN和脱机密文PIN
    PBOC/EMV之脱机明文PIN和脱机密文PIN
    基于智能卡的CSP设计方法和实现流程
    基于智能卡的CSP设计方法和实现流程
    智能卡COS多应用隔离的安全性测试方法
    智能卡COS多应用隔离的安全性测试方法
    基于智能卡COS的电子现金设计与测试
    基于智能卡COS的电子现金设计与测试
    一周点击热点
    相关产品
    最新收录
    新闻   产品   企业   招标   求购
    技术   方案   下载
    关于我们
    网站介绍   广告服务   会员分类   联系方式
    企业推广   产品推广
    Copyright © 一卡通世界网 (粤ICP备11061396号)