基于双界面安全智能卡的网上银行远程支付的安全认证方法
技术领域:
本发明涉及一种安全认证方法,特别涉及一种基于双界面安全智能卡的网上银行远程支付的安全认证方法。
背景技术:
银行卡自诞生以来,始终是以磁条卡的形式存在和发展。磁条卡在给人们带来便利的同时,由于其非常容易被仿制,给银行卡组织带来高额资金风险。为防范磁条卡的欺诈风险,银行卡组织推出了银行卡由磁条卡向智能芯片卡迁移(即EMV迁移)的战略。很多国家和地区已实施了迁移。我国目前也已进入磁条卡向智能芯片银行卡升级的过渡阶段,国内技术条件和用卡环境均已具备。在这个升级过程中智能芯片银行卡直接采用双界面安全智能卡的方式无疑是一种一步到位的选择。它不仅能通过接触界面实现包括PBOC2.0、EMV在内的多种交易,确保安全性;而且更能通过非接触界面实现安全小额支付交易等功能。这样,用户可以轻松实现一卡多用。
网银又称在线银行、网络银行,是指银行利用Internet技术,通过Internet向客户提供开户、销户、查询、对帐、行内转帐、跨行转账、信贷、网上证劵、投资理财等传统服务项目,使客户可以足不出户就能够安全便捷地管理活期和定期存款、支票、信用卡及个人投资等。
由于网上交易不是面对面的,用户可以在任何时间、任何地点发出请求,传统的身份识别方法通常是靠用户名和登录密码对用户的身份进行认证。但是,若用户的密码在登录时以明文的方式在网络上传输,很容易被攻击者截获,进而可以假冒用户的身份,身份认证机制就会被攻破。
目前,网银个人认证介质(安全工具)主要有:密码、文件数字证书、动态口令卡、动态手机口令、移动口令牌、移动数字证书等。其中,移动数字证书实际上就是一种USBKey。国内不同的银行称呼不同,如工行称U盾,农行称K宝等。USBKey存放着用户的个人数字证书。通过USBKey进行个人身份认证是目前网银个人认证方法中相对最安全的一种方式。
而使用USBKey认证方式的问题之一是除了用户在开办银行业务之前要申请一张银行卡之外,还需要给用户再额外配发相应的USBKey。随着网银的日渐普及,选择USBKey来保护网银安全的用户已经达到很可观的数量。若使用双界面安全智能卡的银行卡,并结合本发明中提出的方法,则可以直接使用双界面智能银行卡来代替USBKey。从而可节约一笔相当大的用于配发USBKey的成本,具有良好的社会经济效益。同时在用户使用网银时,由于只需要拥有双界面安全智能卡(以银行卡的方式出现),而不再需要再额外使用USBKey从而更方便用户对网银的使用。
发明内容:
本发明的目的在于克服现有技术中存在的不足而提供一种在双界面安全智能卡的支持下实现基于公钥证书的基于双界面安全智能卡的网上银行远程支付的安全认证方法,使用的双界面安全智能卡是一种符合国际国内相关标准和规范的双界面智能卡类产品,它可以用于作为双界面智能银行卡,并提供本发明所述的安全认证方法支持。
本发明的目的是这样实现的:
一种基于双界面安全智能卡的网上银行远程支付的安全认证方法,其特征在于:该安全认证方法包括安全认证信息的非接触式传输通道的建立和安全认证协议两个基本部分,
所述的安全认证信息的非接触式传输通道的建立是指电脑与双界面安全智能卡间非接触式传输通道的建立,或者是指具有短距离无线通信模块的手机终端与双界面安全智能卡间非接触式传输通道的建立;
所述的安全认证协议是指在用户使用网银过程中,电脑或手机终端与银行网银服务器之间进行双方身份安全认证时所遵循的协议和规范,该安全认证协议是建立在使用公钥证书的基础上的,用户的公钥证书及私钥以及相应的加解密算法、摘要算法都在双界面安全智能卡内,在安全认证过程中,电脑或手机终端与银行网银服务器之间需要收发的相关数据都是在上述非接触式传输通道建立的基础上传递到双界面安全智能卡内进行的数字签名、加解密处理,并返回结果;
安全认证协议包括以下步骤:
1)公钥证书的分发:首先,证书服务器为银行网银服务器和终端用户生成各自的公钥证书;其次证书服务器离线向双界面安全智能卡写入银行网银服务器公钥证书;然后证书服务器通知银行网银服务器用户公钥证书;
2)安全认证:电脑或手机终端和银行网银服务器之间通过公钥证书,实现终端用户与银行双方身份认证,安全认证协议所发送的消息如下:
C->S:PEs(Nc),
S->C:PEc(Ns,TIMEcs,TYPEcs,AMOUNTcs,EXTcs,SIGs(Nc)),
C->S:PEs(Ns,SIGc(TIMEcs,TYPEcs,AMOUNTcs,EXTcs)),
其中,C表示电脑或手机终端发送方,S表示银行网银服务器接收方;PEc表示用C的公钥加密,SIGc表示用C的私钥签名;PEs表示用S的公钥加密,SIGs表示用S的私钥签名;Nc表示发送方产生的验证因子,Ns表示接收方产生的验证因子;TIMEcs表示交易的操作时间,TYPEcs表示交易的操作种类,AMOUNTcs表示操作金额,EXTcs表示预留扩展部分;
安全认证协议执行的步骤如下:
第一步,交易开始后,终端发送方向服务器接收方发出用服务器接收方证书公钥加密认证请求,请求内容包括终端产生验证因子Nc;
第二步,银行网银服务器根据当前使用网银的用户信息查找该用户相应的证书,并在向证书服务器验证该证书合法性后,产生一个验证因子Ns,利用自己的私钥对Nc进行签名后与当前交易的交易操作时间TIMEcs,交易操作种类TYPEcs,操作金额AMOUNTcs,预留扩展部分EXTcs等信息用接收方的加密公钥加密,然后传给终端;
第三步,终端对银行网银服务器发送来的密文信息进行脱密(先用自身的私钥脱密,再用预存的银行网银服务器的公钥签证服务器签名),检查Nc一致后;
第四步,验证通过后,终端对TIMEcs,TYPEcs,AMOUNTcs,EXTcs等信息用自己的私钥签名后,连同Ns一起,用银行网银服务器的公钥加密后传送给网银服务器;
第五步,网银服务器将收到的Ns与原来的Ns进行比较。若相同,表示双方身份安全认证通过,交易成功。同时将终端对TIMEcs,TYPEcs,AMOUNTcs, EXTcs等交易信息的私钥签名结果保存备案;若不相同,则交易失败。
所述的双界面安全智能卡是指符合《中国金融集成电路(IC)卡规范(V2.0)》、《非接触支付IC卡支付规范》和国际标准ISO10536系列标准、支持ISO/IEC 14443-A和ISO/IEC 7816协议、支持国家密码管理局认可的密码算法,包括SM1、SSF33和RSA和摘要算法,可用作双界面智能银行卡的智能卡类产品。
本发明具有如下积极效果:本发明将双界面安全智能卡应用于到网上银行(以下简称网银)远程支付的安全认证中,通过使用双界面安全智能卡,并结合本发明中提出的方法,可以实现网上银行的远程支付的安全认证。具体为:通过电脑或具有短距离无线通信模块的手机终端与双界面安全智能卡间非接触式传输通道的建立,可以利用双界面安全智能卡的安全功能进行身份认证和数据加密等操作,从而实现网银远程支付。在此基础上,当将双界面安全智能卡作为双界面智能银行卡后,便可以直接用该卡来代替传统的USBKey,从而可节约一笔相当大的用于配发USBKey的成本,具有良好的社会经济效益。同时在用户使用网银时,由于只需要拥有双界面安全智能卡(以银行卡的方式出现),而不再需要再额外使用USBKey从而更方便用户(特别是具有短距离无线通信模块的手机终端的用户)对网银的使用。
附图说明:
图1为本发明的基本示意图。
图2为本发明的电脑与双界面安全智能卡间非接触式传输通道建立示意图。
图3为本发明的手机终端与双界面安全智能卡间非接触式传输通道建立示意图。
图4为本发明的证书分发过程示意图。
图5为本发明的安全认证协议示意图。
具体实施方式:
本发明公开了一种基于双界面安全智能卡的网上银行远程支付的安全认证方法,该安全认证方法包括安全认证信息的非接触式传输通道的建立和安全认证协议等两个基本部分。基本示意图如图1所示。
本发明所用的双界面安全智能卡是指符合《中国金融集成电路(IC)卡规范(V2.0)》、《非接触支付IC卡支付规范》和国际标准ISO10536系列等标准、支持ISO/IEC 14443-A和ISO/IEC 7816协议、支持国家密码管理局认可的密码算法(包括SM1、SSF33和RSA等)和摘要算法(如SHA-1等)、可用作双界面智能银行卡的智能卡类产品。
1、安全认证信息的非接触式传输通道的建立
具体可分为两种应用形式:
第一种形式,电脑与双界面安全智能卡间非接触式传输通道的建立。电脑上要具有适用于双界面安全智能卡的非接触界面的智能卡读写器模块,这样才能与双界面安全智能卡间建立起非接触式传输通道。一般形式是在电脑上增加一个外置式非接触式智能卡读写器,并在电脑中安装相应读写器的配套程序(如驱动程序等),如图2所示。
第二种形式,具有短距离无线通信模块的手机终端与双界面安全智能卡间非接触式传输通道的建立。此种形式是将该手机终端中的短距离无线通信模块设置为非接触式智能卡读写器模式,从而与双界面安全智能卡建立起非接触式传输通道,如图3所示。
2、安全认证协议
本发明中安全认证协议是指在用户使用网银过程中,电脑或手机终端与银行网银服务器之间进行双方身份安全认证时所遵循的协议和规范。该安全认证协议是建立在使用公钥证书的基础上的。用户的公钥证书及私钥以及相应的加解密算法、摘要算法都在双界面安全智能卡内,所以在安全认证过程中,电脑或手机终端与银行网银服务器之间需要接发的相关数据都是在上述非接触式传输通道建立的基础上传递到双界面安全智能卡内进行的处理(如数字签名、加解密等)并返回结果的。
安全认证部分包括以下步骤:
1)公钥证书的分发(如图4所示):
A、证书服务器为银行网银服务器和终端用户生成各自的公钥证书;
B、证书服务器离线向双界面安全智能卡写入银行网银服务器公钥证书;
C、证书服务器通知银行网银服务器用户公钥证书;
2)安全认证:
电脑或手机终端和银行网银服务器之间通过公钥证书,实现双方(即终端用户与银行)身份认证(如图5所示)。安全认证协议所发送的消息如下:
C->S:PEs(Nc)
S->C:PEc(Ns,TIMEcs,TYPEcs,AMOUNTcs,EXTcs,SIGs(Nc))
C->S:PEs(Ns,SIGc(TIMEcs,TYPEcs,AMOUNTcs,EXTcs))
其中,C表示电脑或手机终端发送方,S表示银行网银服务器接收方;
PEc表示用C的公钥加密,SIGc表示用C的私钥签名;
PEs表示用S的公钥加密,SIGs表示用S的私钥签名;
Nc表示发送方产生的验证因子,Ns表示接收方产生的验证因子;
TIMEcs表示交易的操作时间,TYPEcs表示交易的操作种类,AMOUNTcs表示操作金额,EXTcs表示预留扩展部分;
安全认证协议执行的步骤如下:
第一步,交易开始后,终端发送方向服务器接收方发出用服务器接收方证书公钥加密认证请求,请求内容包括终端产生验证因子Nc;
第二步,银行网银服务器根据当前使用网银的用户信息查找该用户相应的证书,并在向证书服务器验证该证书合法性后,产生一个验证因子Ns,利用自己的私钥对Nc进行签名后与当前交易的交易操作时间TIMEcs,交易操作种类TYPEcs,操作金额AMOUNTcs,预留扩展部分EXTcs等信息用接收方的加密公钥加密,然后传给终端;
第三步,终端对银行网银服务器发送来的密文信息进行脱密(先用自身的私钥脱密,再用预存的银行网银服务器的公钥签证服务器签名),检查Nc一致后;
第四步,验证通过后,终端对TIMEcs,TYPEcs,AMOUNTcs,EXTcs等信息用自己的私钥签名后,连同Ns一起,用银行网银服务器的公钥加密后传送给网银服务器;
第五步,网银服务器将收到的Ns与原来的Ns进行比较。若相同,表示双方身份安全认证通过,交易成功。同时将终端对TIMEcs,TYPEcs,AMOUNTcs, EXTcs等交易信息的私钥签名结果保存备案;若不相同,则交易失败。