背景技术
某些有特殊需求的人群,需要经常访问一些数据库,如国防方面、气象方面、金融领域等等,企业的人、财、物的管理数据库,更新比较频繁,有些数据库的信息需要这些人参与管理,这样这些人的身份认证就很重要。
随着网上银行业务的蓬勃发展,数据安全和客户的身份认证已经成为越来越重要的课题。对于数据安全传输而言,现有技术主要采用SSL(Secure Socket Layer)协议进行,加密强度已经基本达到了“满意”的程度,而对于如何确认“网络人”的身份就有着各种各样的方法。对于网上银行而言,身份认证尤为重要。只有确认了银行客户的合法身份,才能为客户提供安全、优质、高效的服务。否则无法保证客户和银行自身的资金安全,为客户服务更是无从谈起。如今常见的身份认证方式有口令验证方式、动态密码方式、基于PKI体系的证书验证方式。
目前,个人网上银行系统强制要求客户使用基于128位的加密密钥的SSL协议,保证客户的信息在传输过程中不会被非法访问、篡改和伪造。同时,主要采用了卡号/密码的身份认证方式,并辅助以相应的应用措施来保证这种方式的安全,说明如下:
客户密码
网上银行客户共有2个密码:登录密码和支付密码。密码可以使用数字和字母,最大长度可达到30字节。设置合适的密码可以有效地防止强力破解。
错误登录次数
系统设置每日最大连续错误登录次数为6次,可以有效防止恶意客户的强力攻击。
密码加密存放
在网上银行数据库中,客户的密码是加密存放的。即使部分内部客户可以操作数据库,也无法获得客户的口令。
外部转帐限额
对于客户的转帐交易,如果转入帐号为他人帐号,客户提交请求后,必须输入支付密码,且转帐金额必须在单笔转帐限额和当日转帐总限额之内。
通过以上安全措施,个人网上银行系统可以保证客户个人敏感信息和客户帐户信息在提交到系统后的安全性。
由于网上银行系统要求客户使用浏览器做为客户端,并且需要客户在计算机上进行操作,因此可以认为客户的计算机和浏览器是个人网上银行系统的边界部分。但是由于无法控制客户的计算机并对其进行安全检查,因此如果客户的计算机存在安全问题,客户敏感信息在提交给网上银行系统之前被非法访问,可能会威胁到网上银行系统的安全性。据此,提出本实用新型。
实用新型内容
本实用新型的目的在于提供一种网上银行利用USBKey加密、认证的装置,使网上银行交易具有更高的保密性,和安全性。
为实现上述目的,本实用新型提供一种网上银行利用USBKey加密、认证的装置,其特征在于,包括:一个USBKey,具有唯一的序列号,用于存放识别客户身份的数字证书和私人密钥的数字证书,所述USBKey的序列号与客户信息相对应;一个联网计算机,具有可插入所述USBKey的USB接口,用于登陆网上银行和连接网上银行web服务器;一应用服务器,连接到数据库;客户使用所述USBKey连接到联网计算机上,联网计算机通过读入、分析其数字证书和私人密钥,识别客户身份,验证通过后,允许客户访问银行数据库。
所述的网上银行利用USBKey加密、认证的装置,其特征在于,所述的USBKey,包括一个CPU和与其相联的存储器,所述CPU带有一个符合USB规范的接口。
所述的网上银行利用USBKey加密、认证的装置,其特征在于,其特征在于,USBKEY的序列号、数字证书本身的ID号和客户编号三者之间互相对应;每一个客户编号可以对应该客户的多个数字证书ID号,该多个数字证书ID号统一对应一个USBKey或者每一个ID号也可以单设一个USBKey。
本实用新型的优点在于:
1、USBKEY的序列号和证书本身的ID号对应,而证书的ID号和客户编号对应,每一个客户编号可以对应该客户的多张卡和多个USBKEY,因此,可以做到一个客户的多张卡可以用一个或者多个USBKEY做交易。
2、每次使用证书时都需要输入PIN码,并且规定连续输错PIN码后会自动将证书锁住,客户只能到柜员处对证书解锁。从而进一步保证了客户交易的安全,因为必须拥有该客户的USBKEY证书和KEY的PIN码才可以进行支付。
3、可以实现在客户端自助下载证书。
4、可以实现在客户端自助缴纳年费并延长证书有效期。
5、在对外转帐、汇款、B2C支付、添加注册卡和贷款业务等这些敏感业务时,使用USBKEY做签名,以保证交易的安全性、保密性和不可抵赖性。而在进行账户查询、本人注册账户之间的转帐等低风险业务时,不须使用证书,从而兼顾了方便性与安全性。
6、个人网银让客户设置登录密码和支付密码,这样做既能防止外人做案,也能防止内部人员做案,因为向作案的人必须同时知道客户的卡号、登录密码、支付密码、拥有该客户的有效的USBKEY和KEY的PIN码才可以。
由上可知,由于每一个USBKEY有一个唯一的序列号,并且私钥不能出内存,在确认客户身份后才进行网上交易,因此本实用新型具有高度的保密性和安全性。
具体实施方式
由于当前计算机的USB接口已经相当普及,USBKey提供了基于USB接口的即插即用的解决方案,只要将USBKey插入电脑的标准USB接口立刻就可以开始工作。USBKey的形状如图1所示。它的大小与普通钥匙的大小类似,非常便于携带与使用。通过USB接口1(A型插头)插入计算机上A型USB插座与计算机连接,指示灯2指示其工作状态。USBKey内置一个含有CPU和内存的芯片,每一个USBKEY在出厂时必须有一个唯一的序列号,网上银行客户在申请数字证书时将此序列号(识别码)写入客户信息中,客户在下载证书时系统必须判定识别码无误后才能下载,在内存内产生密钥,私钥不能出内存。该芯片中存放网上银行用于识别客户身份的数字证书和私人密钥,芯片中的CPU还可以完成加密和数字签名算法。USBKey中的安全算法和标准均是基于国际标准的PKI(Public Key Infrastructure,公钥基础设施)体系结构和X.509标准设计、开发与制造的,使用的芯片通过国家相关安全认证标准。
据此,本实用新型提出的一种网上银行利用USBKey加密、认证的装置,包括:一个USBKey,具有唯一的序列号,用于存放识别客户身份的数字证书和私人密钥的数字证书,所述USBKey的序列号与客户信息相对应;一个联网计算机,具有可插入所述USBKey的USB接口,用于登陆网上银行和连接网上银行web服务器;一应用服务器,连接到数据库;客户使用所述USBKey连接到联网计算机上,联网计算机通过读入、分析其数字证书和私人密钥,识别客户身份,验证通过后,允许客户访问银行数据库。
图2所示,为应用本实用新型的网上银行安全系统流程图。客户先到柜员处申请开户,然后是请求证书服务为客户去柜员端制做证书。客户可以在客户端进行自助下载证书。图中NetSign组件为客户需要用证书签名时的服务器。
首先由网上银行根据客户信息向客户发放存放数字证书的USBKey,需要先申请一个网上银行证书开户,取得USBKey,如图3所示:
a11)输入USBKEY序列号,该序列号是每个USBKEY所唯一的;
a12)系统判断是否有错误;如果有错,则要求重新输入;
a13)将序列号存入主机,并与客户编号对应起来;
a14)主机通过作批量将序列号和对应关系传送到网银数据库;
a15)开户成功。
随后再下载证书。这里有两个方法可以实现,一是通过银行内部柜员帮助客户下载数字证书,如图4所示;二是客户自助下载数字证书,如图5所示。
图4中包括如下步骤:
a21)柜员输入客户登录卡号、USBkey序列号;
a22)判断客户编号与序列号是否对应,如果不正确,则终止下载;如果正确,则进入下一步;
a23)检查证书状态是否正确,如果不正确,则终止下载;如果正确,则进入下一步;
a24)检查是否已缴费,如果没缴费,则提示缴费;如果已经缴费,则进入下一步;(本步骤可以省略。)
a25)调用接口连接CA申请证书;
a26)判断申请是否成功,如果不成功,则终止下载;如果成功,则进入下一步;
a27)初始化USBKEY,选择CSP,输入PIN码,连接CA下载证书;
a28)判断下载是否成功,如果不成功,则重新下载;如果成功,则进入下一步;
a29)更改证书状态为“已开户,正常”。
图5中包括如下步骤:
a21’)客户使用卡号和密码登录网上银行,自助下载证书;
a22’)客户输入USBKEY的序列号;
a23’)判断客户编号与序列号是否对应,如果不正确,则终止下载;如果正确,则进入下一步;
a24’)检查证书状态是否正确,如果不正确,则终止下载;如果正确,则进入下一步;
a25’)检查是否已缴费,如果没缴费,则进入缴费流程;如果已经缴费,则进入下一步;(本步骤可以省略。)
a26’)调用接口连接CA申请证书;
a27’)判断申请是否成功,如果不成功,则终止下载;如果成功,则进入下一步;
a28’)选择CSP,输入PIN码,连接CA下载证书;
a29’)利用控件读出USBKEY序列号并与客户标号比对,如果不对应,则拒绝下载;如果对应,则进入下一步;
a30’)判断下载是否成功,如果不成功,则重新下载;如果成功,则进入下一步;
a31’)更改证书状态为“已开户,正常”。
网上银行客户进行网上银行业务时,通过USBKey确认客户身份。
这里有两种方式,一是在客户登陆网上银行时就确认客户身份,只有身份正确才能顺利登陆,如图6所示;一是在客户用帐号和密码登陆网上银行,发生预先设定的风险业务或者转帐业务时才确认客户身份,只有身份正确,进行电子签名才能顺利进行业务,如图7所示。
图6中包括如下步骤:
b1)客户登陆网上银行;
b2)客户选择数字证书,并输入PIN码;
b3)CSP校验PIN码是否正确,如果错误,终止登陆;如果正确,则进入下一步;
b4)在安全代理服务器(Netsafe)上验证证书,如果错误,终止登陆;如果正确,则进入下一步;
b5)登陆成功,可以开始做交易。
图7中包括如下步骤:
b1’)客户准备做结算类交易;
b2’)判断客户是否为有证书客户,如果不是,则交易额要小于无证书客户当日累计最高限额;如果是,则进入下一步;
b3’)判断交易额是否超出有证书客户当日累计最高限额;如果没有超出,则不需要用证书,直接作交易;如果超出,则进入下一步;
b4’)使用数字证书签名:客户插入USBKEY,并选择做签名的证书,输入证书PIN码;
b5’)判断所选证书和客户编号的对应关系,如果错误,则拒绝交易,如果正确,则进入下一步;
b6’)判断证书状态是否正确,如果错误,则拒绝交易,如果正确,则进入下一步;
b7’)开始做数字签名;
b8’)开始验证签名,让客户确认签名数据,如果不确认,验签不通过,交易失败;如果确认并通过验签,则进入下一步;
b9’)成功页面返回,交易成功。
如图8为网上银行交易网上银行内部签名验证流程图。比较步骤中应用服务器调用NetSign组件提供的接口进行验签名操作,访问LDAP获得签名作废列表CRL(Certificate Revocation List),以拒绝“黑名单客户”的交易请求;验证通过的交易请求将签名数据存储后,把交易请求通过MQ发往后台主机;而LDAP(LightweightDirectory Access Protocol)服务器的CRL从CA服务器获得,是一种轻量的目录存取协议,提供客户从各个角落连接到目录服务器中。
如果经过上述确认,网上银行客户的身份得以证实,网上交易继续进行。如果网上银行客户的身份没有得以证实,网上交易立即停止。
可以对证书设定有效期,此时可以由客户自助展期。如图9所示:
c1)有证书客户登录网上银行;
c2)程序判断证书的状态是否为待展期,如果不是待展期,则继续交易;如果是待展期,则进入下一步;
c3)客户输入USBKEY的序列号;
c4)判断客户编号与序列号是否对应,如果错误则拒绝下载证书,如果正确,则进入下一步;
c5)判断客户编号与序列号是否对应;
c6)检查是否已缴费,如果没有缴费,则进入缴费流程;如果已经缴费,则进入下一步;(本步骤可以省略。)
c7)更新证书状态及有效期;
c8)判断更新是否成功,如果不成功,则可去柜员处作更新;如果成功,则进入下一步;
c9)让客户选择CSP,输入PIN码,下载证书;
c10)利用控件读出USBKEY序列号并与客户标号比对,如果不对应,则终止下载;如果对应,则进入下一步;
c11)下载证书至USBKEY;
c12)判断下载是否成功,如果不成功,则可去柜员处作更新;如果成功,则进入下一步;
c13)更新成功。