专利名称:一种银行卡在计算机上作pki应用的实现方法
技术领域:
本发明涉及一种银行卡多用途应用的实现方法,尤其涉及一种银行卡在计算机上作PKI应用的实现方法。
背景技术:
随着银行卡在全球范围内广泛快速的发展,为了降低日益增长的伪卡欺诈风险,许多跨国金融组织如EUROPAY、VISA和MASTERCARD等,制定了将现行的借记卡、贷记卡的磁条卡应用向智能卡转换的计划。转换后的银行卡具有很高的安全性,其内部嵌有微型处理器,具有运算能力,可进行各种加密解密运算,采用防止物理攻击和逻辑攻击的安全处理器,因此破解并复制此种银行卡是十分困难的。而且,此种银行卡采取三层验证机制,即卡片内存有CA中心签发的发卡行数字证书和发卡行签发的卡片数字证书,验证时需要通过CA中心验证发卡行、发卡行验证卡片、卡片公钥验证信息的三层验证机制,较之磁条卡具有很大的安全优势。同时,此种卡片针对联机交易和脱机交易的不同特点,分别采取了相应的安全策略,即对称密钥算法和非对称密钥算法,确保每一个交易环节的高安全性和不可否认性。
随着电子商务、网上银行及网上证券交易的飞速发展,互联网的安全性问题令人瞩目。想要真正实现互联网上交易与信息传输的安全,就必须满足机密性、真实性、完整性、不可抵赖性的四大要求。运用PKI技术实施构建完整的加密、签名体系,可以有效地解决上述的四大难题,在充分利用互联网实现资源共享的前提下,真正意义上确保网上交易与信息传递的安全。
PKI是“Public Key Infrastructure”的缩写,意为“公钥基础设施”,是利用公钥理论和技术建立的提供信息安全服务的基础设施。PKI技术采用证书管理公钥,通过第三方的可信任机构认证中心CA(Certificate Authority),把用户的公钥和用户的其他标识信息捆绑在一起,在Internet上验证用户的身份。CA是PKI的核心执行机构,而证书是PKI的核心元素。公钥体制是目前应用最广泛的一种加密体制,在这一体制中,加密密钥与解密密钥各不相同。公钥体制的数字签名既保证了信息的机密性,又保证了信息具有不可抵赖性,其原理是首先将明文用被验证方私钥签名,得到数字签名,然后将数字签名发向验证方,验证方用被验证方的公钥进行验证,最后与原文进行比较,进行验证。
转换后的银行卡的签名有其特有的机制。首先由被验证方生成签名验证方按照固定的格式填充指明的各项数据,再使用卡片的私钥和相应的算法将填充结果生成数字签名。验证方使用卡片公钥和相应的算法恢复签名,验证签名的各项数据,如果各项数据均验证成功,那么认证成功。
随着智能卡的广泛应用,智能卡与终端连接的方式也在不断扩展,现有的连接方式主要包括接触式连接、非接触式连接和通过卡片带有的USB模块与终端连接等。
发明内容
本发明针对计算机信息领域的安全问题,充分利用银行卡能够进行密码运算的高安全性以及使用的普遍性特点,提供一种将银行卡应用于计算机信息安全领域,利用其PKI运算机制提高计算机信息安全性的实现方法。
一种银行卡在计算机上作PKI应用的实现方法, 所述银行卡与计算机相连接,其技术方案如下1)被验证方通过银行卡的私钥签名校验信息;2)被验证方将签名发给验证方;3)验证方通过使用被验证方的公钥验证签名。
所述银行卡具有公钥运算和私钥运算功能,以及CA中心签发的发卡行数字证书和发卡行签发的卡片数字证书。所述计算机包括个人电脑、服务器、嵌入式系统、个人数字助理或智能手机。所述银行卡与计算机的连接,连接方式包括接触式连接、非接触式连接或通过银行卡带有的USB通讯模块与计算机连接。所述签名是由所述银行卡执行INTERNAL AUTHENTICATE命令来完成的。所述被验证方包括计算机终端,验证方包括计算机终端或服务器。
被验证方可以通过如下几种方式获得发卡行证书和卡片证书1)被验证方将其发卡行证书和卡片证书发送给验证方;2)验证方通过可信任的第三方获得被验证方的发卡行证书和卡片证书。
3)验证方可以从与被验证方的银行卡发卡行相同银行卡获得被验证方的发卡行证书,卡片证书通过上述两种方法中的任意一种方法获得。
验证方通过CA中心公钥验证发卡行证书,再通过发卡行公钥验证卡片证书,最后使用被验证方的公钥验证签名。
与现有技术相比,本发明的有益效果是本发明充分利用了银行卡具有内置微处理器能够进行密码运算的高安全性,以及其使用的普遍性的特点,将银行卡的PKI安全机制应用于计算机信息安全领域,提高了敏感信息的安全性,同时也提供了一种对银行卡功能扩展的新途径。
图1为数据交互双方身份认证的原理图。
图2为计算机终端请求服务器身份认证的原理图。
图3为数据完整性和不可否认性应用的原理图。
具体实施例方式
现结合附图及实施例对本发明作进一步详细说明。
参照图1,计算机甲通过读卡器与银行卡a相连,计算机乙通过读卡器与银行卡b相连,并且同时通过互联网与CA中心连接。首先银行卡运行SELECT FILE命令选择一个应用,然后运行READRECORD命令读取银行卡中的发卡行证书、卡片证书,接下来交互双方分别向对方发送随机数或其他形式的校验信息。例如,甲向乙发送校验信息M,乙收到信息M后,将信息M发送至银行卡b,银行卡b运行INTERNAL AUTHENTICATE命令使用自身私钥对信息M签名,再将签名信息返回给计算机,计算机乙将签名信息和发卡行、卡片证书发送给甲。甲读取系统内部存有的CA中心证书上的公钥,利用此公钥验证银行卡b发卡行证书,再利用发卡行公钥验证发卡行签发的银行卡b的数字证书,利用银行卡b的公钥验证签名,如果上述三层验证都通过则身份认证通过,否则身份认证失败。乙使用同样的方法来验证甲的身份,如果双方互相通过对方的身份认证后,即可互相信任的发送信息了。
参照图2,个人计算机终端通过读卡器与银行卡相连,同时通过互联网与CA中心和服务器连接。当个人计算机要访问服务器时,银行卡运行SELECT FILE命令选择一个应用,然后运行READRECORD命令读取数字证书,接下来服务器发送一个随机数或其他形式的校验信息M给计算机终端,计算机终端将信息M传入银行卡中,银行卡运行INTERNAL AUTHENTICATE命令使用自身私钥将信息M签名,并将签名传回计算机,计算机再将数字证书和签名返回给服务器,服务器用系统内部存有的CA中心证书中的公钥验证银行卡发卡行的数字证书,再利用发卡行的公钥验证卡片的数字证书,最后利用银行卡卡片的公钥验证签名,如果上述三层验证通过则身份认证通过,则计算机终端可以访问和下载服务器资源。
参照图3,接收方为了证明收到数据的完整性并证明自己已经收到了发送方发送的数据,接收方接收到数据后,先采用单向函数哈希算法对接收数据进行加密压缩形成数字摘要,将摘要传入银行卡,银行卡运行INTERNAL AUTHENTICATE命令对数据摘要进行签名,并通过网络将其数字证书和签名传输给发送方,发送方用接收方的公钥验证签名,由于私钥具有唯一性,可证实此签名信息确实由接收方发出。此过程中,任何人都没有接收方的私钥,因此无法伪造接收方的的签名或对其作任何形式的篡改,发送方将接收的数字摘要与采用相同单向函数哈希算法得到的数字摘要比对,一致则验证通过,从而达到数据真实性、完整性和不可抵赖性的要求。
以上所述实施方式仅为本发明的一个实施例,本发明不限于上述实施例,对于本领域一般技术人员而言,在不背离本发明原理的前提下对它所做的任何显而易见的改动,都属于本发明的构思和所附权利要求的保护范围。
权利要求
1.一种银行卡在计算机上作PKI应用的实现方法,所述银行卡与计算机相连接,其特征在于1)被验证方通过其银行卡的私钥签名校验信息;2)被验证方将签名发给验证方;3)验证方通过使用被验证方的公钥验证签名。
2.如权利要求1所述的实现方法,其特征在于所述银行卡具有公钥运算和私钥运算功能,以及CA中心签发的发卡行数字证书和发卡行签发的卡片数字证书。
3.如权利要求1所述的实现方法,其特征在于所述计算机包括个人电脑、服务器、嵌入式系统、个人数字助理或智能手机。
4.如权利要求1所述的实现方法,其特征在于所述银行卡与计算机的连接,连接方式包括接触式连接、非接触式连接或通过银行卡带有的USB通讯模块与计算机连接。
5.如权利要求1所述的实现方法,其特征在于所述签名是由所述银行卡执行INTERNAL AUTHENTICATE命令来完成的。
6.如权利要求1所述的实现方法,其特征在于所述被验证方包括计算机终端,验证方包括计算机终端或服务器。
7.如权利要求1所述的实现方法,其特征在于被验证方可以将其发卡行证书和卡片证书发送给验证方。
8.如权利要求1所述的实现方法,其特征在于验证方可以通过可信任的第三方获得被验证方的发卡行证书和卡片证书。
9.如权利要求1所述的实现方法,其特征在于验证方也可以从与被验证方的银行卡相同发卡行的银行卡获得被验证方的发卡行证书。
10.如权利要求1所述的实现方法,其特征在于验证方通过CA中心公钥验证发卡行证书,再通过发卡行公钥验证卡片证书,最后使用被验证方的公钥验证签名。
全文摘要
本发明公开了一种银行卡在计算机上作PKI应用的实现方法,利用银行卡具有内置微处理器能够进行密码运算的高安全性,及其使用的普遍性特点,将银行卡应用于计算机信息安全领域,进行计算机用户身份的真实性认证,防止数据在传输过程中被非法篡改或者发生传输错误,防止重要交易信息的抵赖,保证数据的真实性和有效性,提高计算机的信息安全性。
文档编号G06Q40/00GK1838143SQ20061007912
公开日2006年9月27日 申请日期2006年4月29日 优先权日2006年4月29日
发明者陆舟, 于华章 申请人:北京飞天诚信科技有限公司