网上交易的卫兵—数字证书和数字签名CFCA 本文力图以最浅显的语言解释数字证书和数字签名的科学原理,以及它们对网上交易信息的安全保障机制,可供各位网民参考。网上银行交易中的安全问题 在网上交易中,交易双方互不见面,有两个安全问题是会引起担心的。第一个问题是交易双方身份是否真实,会不会被人假冒。换句话说,就是在网上发送交易信息的主体是否是真实的。第二个问题是有关交易的信息,如对方的银行账号、金额等是否属实,有没有被人篡改过。 在传统交易中,交易者身份的真实性通过各种证件的出示和验证得到检验;交易信息的真实有效性则通过签名盖章来解决。 然而在网上交易中,传统的实物证件的查验和手写的签名盖章都不可能实现。那这两个问题又是怎么解决的呢?有办法。那就是用含有先进科技的数字证书和数字签名。公钥密码技术保护交易信息的安全 我们还是从网上传递的信息讲起。 两个人在互联网上作交易,保护交易信息的手段有多种,其中最重要的手段是信息加密技术。加了密的信息只有用密钥才能解开,双方可以提前约定密钥,只要密钥妥善保管,只有买卖双方知道,任何其他人破不了密,交易信息的传递就安全。现代的密码技术强度很大,可以充分地保证密码信息的安全。(请读者牢记这一事实,它是数字签名和数字证书存在的基础。) 但是在互联网上,参加交易的人很多,例如银行,要面对成千上万的客户。想要一个一个地与每个客户约定密钥就变得不可能了。为了解决这个问题,一种新型的密码技术——公钥密码技术应运而生。在这种密码技术中,每个通信者拥有一对独特的密钥——公钥和私钥。公钥可以在网上公开,私钥则密不示人,而且是唯一的。 如果某甲要向某乙发送交易信息,就用在网上公开的某乙的公钥来加密信息,送出去,某乙收到加密的信息后可以用自己的私钥来解密。其他人即使截获了加密的信息也无计可施,因为没有某乙的私钥是解不了密的。这样就保证了交易信息的安全。反过来,某乙向某甲发信息的过程可依此类推。数字签名的原理 利用公钥技术还可以达到另一个目的,就是解决信息的完整性和有效性。 如果某甲用自己的私钥加密交易信息,传给某乙,某乙可以用某甲的公钥来解密信息。这时,这个被加密的交易信息,例如支付的金额,账号等就是完整、有效的,同时也是不可抵赖的。这是因为某甲的私钥是世界唯一的,别人不可能掌握,如果有人篡改了加密信息,某乙将无法解密。那么,从效用上讲,这个用私钥加密交易信息的动作就像为一个文件签名盖章一样,经过“签名”后的信息是完整、有效的,不可篡改,也不可抵赖。当然,实际上的数字签名机制和过程比这要复杂一些。 如果交易信息很长,用私钥去加密信息将花费较长的时间,效率太低,用户无法接受。因此需要使用一种数学算法——哈希算法——先对这段信息作一次数学变换,把这段信息进行压缩,形成了一段短短的“数字摘要”,让数字摘要来“代表”信息本身。可以通过检验数字摘要,借以判断信息本身是否发生了改变。这样,我们才可以构建真正实用的数字签名。 某甲在发信前使用哈希算法求出待发信息的数字摘要,然后用私钥对这个数字摘要进行加密而形成一段信息,这段信息就称为数字签名。某甲将这个数字签名信息附在待发信息后面,一起发送过去。某乙收到信息后,一方面用某甲的公钥对数字签名解密,得到了摘要H;另一方面把收到的信息本身用同样的哈希算法求出另一个摘要H’,可称为摘要的副本。再把H和H’相比较,看看两者是否相同。根据哈希算法的特性,如果两个摘要H和H’完全符合,证明信息是完整的;如果不符合,就说明信息被人篡改了。 由于摘要一般只有128位或160位比特,比信息本身要短千百倍,数字签名的过程一般在一秒钟内即可完成。 由于数字签名具有数学严格性,黑客对交易信息哪怕只改动一个字一个比特,系统都会发现识破。又因为私钥是不可仿造、伪造的,因此从某种意义上说,数字签名比手写签名更严格可靠。2004年国家颁发的《中华人民共和国电子签名法》赋予了电子签名的法律意义,其规定,“可靠的电子签名能够与手写签名、盖章一样,受到法律保护”。数字证书的原理 说到这,明眼的观众一定会发现一个关键的问题,就是网上公开的公钥必须真实可靠,因为黑客也可以公布一个假的公钥冒充某甲或某乙来引你上钩呀。怎么来保证这个公钥是真的呢? 这时候就要用到数字证书了。我们知道,身份证是由权威机关公安局颁发的,我们相信公安局,因而我们能够通过检验身份证,相信持有某甲身份证的个人就是某甲本人。同样,数字证书也是要由权威的认证机构来颁发。例如,中国金融认证中心就是一个权威可信的认证机构,它为数百万网上银行的用户颁发了数字证书。 那么,数字证书怎样完成网上身份的认证呢? 把数字证书说成是网上身份证,这是一种形象的比喻。实际上,数字证书所证明的是公钥的真实性。 认证中心对用户的身份进行严格的审核后,为用户颁发数字证书。它通过公钥加密技术对用户的公钥信息和用户的身份信息作了数字签名,把用户所宣称的身份信息与公钥绑定在一起。于是,包含有用户个人身份信息、公钥和数字签名的一个特殊的电子文件就形成了数字证书。数字证书可以存储在硬盘里,也可以存储在软盘或USB Key里。 存储数字证书的USB Key 在网上交易中,用户双方要互相验证这个证书,用户相信认证中心的数字签名,也就相信这个公钥是真实的,因而相信公钥的持有者所发来的信息是真实的。虽然看上去数字证书认证过程与传统的身份证认证有很大差别,但从目的和效用上看,两者是一致的。都是证明发送交易信息主体的真实性。 数字证书的认证、数字签名的发生与核验都是由专用的应用软件来自动实现的,速度极快,眨眼间就完成了,用户并不需要费心做什么操作。 数字证书在网上交易中能够保证交易的安全。 刚才我们提到了,黑客利用种种手段,盗取银行客户的密码、账号,进而企图盗窃客户帐户上的资金。如果网上银行业务采用了数字证书和数字签名的安全机制,黑客即使输入了正确的密码、账号也不能够盗走客户帐户里的资金,因为黑客不掌握客户的数字证书,也不能进行数字签名,网上银行系统就会拒绝交易,使黑客最终功亏一篑。 中国人民银行、中国银监会、公安部、国家工商总局曾联合下发了《关于加强银行卡安全管理预防和打击银行卡犯罪的通知》,其中强调:持卡人开通网上银行转账的,应采用数字证书、电子签名等安全认证方式,否则单笔转账金额不应超过1000元人民币,每日累计转账金额不得超过5000元人民币。 中国金融认证中心发布的2008年度网上交易调查结果中显示,数字证书版网上银行由于其较高的安全性而被超过半数(51.7%)的个人用户所选择,而在企业网银中这一比例高达65.1%。 有人把数字证书昵称为网上交易的卫兵。请广大网上银行用户务必重视它,使用它。