一种基于CPK的电子银行安全认证系统和方法技术方案

技术编号:6146945 阅读:492 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于CPK的电子银行安全认证系统和方法。该系统包括帐号卡,客户端和银行端,客户端能够识别帐号卡,客户端与银行端连接。帐号卡包括第一CPK安全芯片(1),用于通过交易数据得到系统完整性码,利用私钥签名;客户端包括第二CPK安全芯片(2),用于得到客户端交易数据、系统完整性码及签名;产生随机数对数据进行加密,然后加密随机数;银行端包括第三CPK安全芯片(3),用于解密客户端传送的数据,并验证签名和完整性码。本发明专利技术还提供一种基于CPK的电子银行安全认证方法。其不需要维护大量数据的数据库,运行的效率得到大大提高。

【技术实现步骤摘要】

本专利技术涉及数字通信安全认证领域,特别是涉及一种基于组合公钥算法(CPK)安全认证的电子银行安全认证系统和方法。
技术介绍
电子银行是指通过ATM、POS机进行存取款和转帐业务的一种电子业务。到目前为止,电子银行系统中均采用磁性卡,为支付带来了很大的方便,起到历史的作用。但安全性也受到了很大的挑战。磁性卡验证系统是用对称密钥加密的方法来实现的,即客户密钥在银行中也有。否则,银行也就无法解密验证。这种方式存在以下两个问题一是因为银行存有客户的所有信息,特别是对称密钥和口令,所以银行的信息丢失,也涉及客户信息的丢失在美国、香港的银行丢失几千万个用户信息就是例子。二是银行保留了客户的所有信息,因此银行内部人员相当容易获得密码而窃取客户的存款。如果银行内部人员窃取了客户存款后,而客户并没有提取存款,则可能会造成客户损失,同时对银行的信誉造成影响。现有另一种方法是,采用非对称密钥签名的PKI技术方法实现实现电子银行的安全认证,这是一种被动的安全认证防护方法。公钥基础设施算法(Pubic Key Infrastructure,PKI)是目前应用最广泛的一种加密算法,是信息安全基础设施的一个重要组成部分,是一种普遍适用的网络安全基础设施。PKI是20世纪80年代由美国学者提出来了的概念,实际上,授权管理基础设施、可信时间戳服务系统、安全保密管理系统、统一的安全电子政务平台等的构筑都离不开它的支持。在这一算法中,加密密钥与解密密钥各不相同,发送信息的人利用接收者的公钥发送加密信息,接收者再利用自己专有的私钥进行解密。这种方式既保证了信息的机密性,又能保证信息具有不可抵赖性。目前,公钥体制广泛地用于CA认证、数字签名和密钥交换等领域。数字证书认证中心CA、审核注册中心RA(RegistrationAuthority)、密钥管理中心KM(Key Manager)都是组成PKI的关键组件。但是,这电子银行系统被动安全认证的方法,需要第三方证明的机制,必须有在线运行的证书库的支持,其维护具有大量数据的数据库,占用大量的存储空间,运行时的效率也不高,处理速度很慢,不能适应电子银行这样的公众网络安全由被动防护进入可信要求的主动防护要求,无法在电子银行这样的超大规模的公众网络范围内建立可信系统。
技术实现思路
本专利技术的目的在于克服上述缺陷而提供一种基于CPK的电子银行认证系统和方法,其不需要维护大量数据的数据库,运行的效率得到大大提高。为实现本专利技术目的而提供的一种基于CPK的电子银行安全认证系统,包括帐号卡,客户端和银行端,客户端能够识别帐号卡,客户端与银行端连接。所述帐号卡包括第一CPK安全芯片,用于根据用户输入的交易数据,利用交易数据得到系统完整性码,利用私钥通过CPK算法对数据完整性码进行签名;所述客户端包括第二CPK安全芯片,用于根据帐号卡中第一CPK安全芯片发送来的数据,并加上客户端标识数据,得到客户端交易数据;根据客户端交易数据得到客户端系统完整性码;利用私钥对通过CPK算法对客户端系统完整性码进行签名;然后产生随机数,利用随机数对客户端交易数据、完整性码及签名进行加密,得到客户端加密数据,利用银行端提供的公钥对随机数进行加密,得到随机数加密数据;所述银行端包括第三CPK安全芯片,用于通过银行端私钥,利用CPK算法解密得到随机数,利用随机数解密得到客户端交易数据;然后利用客户端公钥验证客户端签名可信性,同时验证客户端交易数据的系统完整性码,验证通过后,从客户端交易数据中读取帐号卡签名,利用帐号卡公钥验证帐号签名可信性,同时验证交易数据的系统完整性码,验证通过后,将用户输入交易数据在银行端进行处理。所述第一CPK安全芯片、第二CPK安全芯片和第三CPK安全芯片包括CPK算法功能模块,验证协议模块以及密钥交换协议模块,公钥矩阵模块,以及对应于帐号卡、客户端和银行端标识的私钥,。所述帐号卡为带CPU的智能卡。所述客户端为ATM机或者POS机。所述第二CPK安全芯片和第三CPK安全芯片为U棒。还包括计算机网络,用于连接客户端与银行端,进行数据通信,客户端的交易请求从客户端传送到银行端。为实现本专利技术目的还提供一种基于CPK的电子银行安全认证方法,包括下列步骤步骤A)帐号卡根据用户输入的交易数据,利用交易数据得到系统完整性码,利用私钥通过CPK算法对数据完整性码进行签名,然后传输给客户端;步骤B)客户端根据帐号卡发送来的数据,并加上客户端标识数据,得到客户端交易数据;根据客户端交易数据得到客户端系统完整性码;利用私钥对通过CPK算法对客户端系统完整性码进行签名;然后产生随机数,利用随机数对客户端交易数据、完整性码及签名进行加密,得到客户端加密数据,利用银行端提供的公钥对随机数进行加密,得到随机数加密数据,将客户端加密数据,客户端系统完整性码和随机数据加密数据传送给银行端;步骤C)银行端通过银行端私钥,利用CPK算法解密得到随机数,利用随机数解密得到客户端交易数据;然后利用客户端公钥验证客户端签名可信性,同时验证客户端交易数据的系统完整性码,验证通过后,从客户端交易数据中读取帐号卡签名,利用帐号卡公钥验证帐号签名可信性,同时验证交易数据的系统完整性码,验证通过后,将用户输入交易数据在银行端进行处理。步骤D)在验证通过后,银行端保存交易时间,客户端签名以及帐号卡签名数据。所述步骤A)可以包括下列步骤步骤A1)在用户将帐号卡插入银行客户端设备申请交易后,客户端确认该卡为本机可以识别的帐号卡后,提供用户输入口令,检查用户口令是否正确;如果正确,则提示交易继续进行;否则,提示用户重新输入或者结束交易;步骤A2)当用户输入正确的口令后,客户端设备提示交易内容;步骤A3)帐号卡根据用户输入的数据,得到用户输入数据的系统完整性码,然后利用帐号卡中保存的与帐号相应的私钥对系统完整性码签名;并将用户输入的数据,系统完整性码以及签名一起传送给客户端。所述步骤B)可以包括下列步骤步骤B1)客户端收到帐号卡传送来的用户输入的数据,系统完整性码以及签名后,加上客户端标识数据,得到本次交易的客户端交易数据;步骤B2)客户端利用本次交易的客户端交易数据,生成本次交易的客户端系统完整性码;步骤B3)客户端利用客户端私钥对客户端码签名;步骤B4)客户端生成随机数,利用随机数,通过CPK算法对客户端交易数据进行加密,得到客户端加密数据;步骤B5)客户端利用银行端的公钥将随机数加密,得到加密随机数;步骤B6)客户端将客户端加密数据,客户端系统完整性码,客户端签名,客户端加密数据,以及加密随机数一并传送给银行端。所述步骤C)可以包括下列步骤步骤C1)银行端设备收到客户端设备传送来的客户端加密数据,客户端系统完整性码,客户端签名,客户端加密数据,以及加密随机数后,银行端利用自己的私钥,解密收到的加密随机数,得到原来的随机数;步骤C2)银行端利用客户端的公钥验证客户端签名,确认客户端的可信性,并验证客户端系统完整性码,确认所收到的数据与客户端传送的数据一致;步骤C3)银行端利用随机数,通过CPK算法,解密客户端加密数据,得到原客户端交易数据; 步骤C4)银行端保存客户端标识数据,利用帐号卡的公钥验证帐号卡的签名,确认帐号卡可信性,并验证帐号卡系统完整性码,确认所本文档来自技高网
...

【技术保护点】
一种基于CPK的电子银行安全认证系统,包括帐号卡,客户端和银行端,客户端能够识别帐号卡,客户端与银行端连接,其特征在于:所述帐号卡包括第一CPK安全芯片(1),用于根据用户输入的交易数据,利用交易数据得到系统完整性码,利用私钥通过CPK算法对数据完整性码进行签名;所述客户端包括第二CPK安全芯片(2),用于根据帐号卡中第一CPK安全芯片(1)发送来的数据,并加上客户端标识数据,得到客户端交易数据;根据客户端交易数据得到客户端系统完整性码;利用私钥对通过CPK算法对客户端系统完整性码进行签名;然后产生随机数,利用随机数对客户端交易数据、完整性码及签名进行加密,得到客户端加密数据,利用银行端提供的公钥对随机数进行加密,得到随机数加密数据;所述银行端包括第三CPK安全芯片(3),用于通过银行端私钥,利用CPK算法解密得到随机数,利用随机数解密得到客户端交易数据;然后利用客户端公钥验证客户端签名可信性,同时验证客户端交易数据的系统完整性码,验证通过后,从客户端交易数据中读取帐号卡签名,利用帐号卡公钥验证帐号签名可信性,同时验证交易数据的系统完整性码,验证通过后,将用户输入交易数据在银行端进行处理。...

【技术特征摘要】

【专利技术属性】
技术研发人员:南相浩赵建国
申请(专利权)人:北京易恒信认证科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1