1、第四章 网络支付安全技术知识要点:v 网络支付的安全性问题v 对称密钥和非对称密钥v 数字摘要与数字签名v 数字证书与CA认证v SSL与SET协议v 中国金融认证中心第一节 网络支付安全性问题概述网络支付以其快捷、方便的网络支付方式适应了电子商务的发展。由于电子商务的远距离网络操作不同于面对面的传统支付方式,安全问题已经成为大家关注电子商务运行安全的首要方面。完成电子商务中资金流的网络支付涉及商务实体最敏感的资金流动,所以是最需要保证安全的方面,也是最容易出现安全问题的地方,如信用卡密码被盗、支付金额被篡改、收款抵赖等。因此保证电子商务的安全其实很大部分就是保证电子商务过程中网络支付与结算流
2、程的安全,这正是银行与商家,特别是客户关心的焦点问题。一、网上支付面临的安全问题因特网环境下的网络支付结算涉及到客户、商家、银行及相关管理认证部门等多方机构及他们之间的配合。网络支付与结算由于涉及到资金的问题,保证安全是推广应用网络支付结算的基础.目前网络支付结算面临的主要安全问题可以归纳为如下几个方面:1。 支付账号和密码等隐私信息在网络上传送过程中被窃取或盗用,如信用卡号码和密码被窃取盗用给购物者造成损失。2。 支付金额被更改。如本来总支付额为250美元,结果支付命令在网上发出后,由于未知的原因从账号中划去了1250美元,给网上交易一方造成了困惑。3. 支付方不知商家到底是谁,商家不能清晰
3、确定如信用卡等网络支付工具是否真实、资金何时入账等;一些不法商家或个人利用互连网站点的开放性和不确定性,进行欺骗。4。 随意否认支付行为的发生及发生金额,或更改发生金额等,某方对支付行为及内容的随意抵赖、修改和否认.5。 网络支付系统故意被攻击、网络支付被故意延迟等如病毒等造成网络支付系统的错误或瘫痪、网络病毒造成网络支付结算过程被故意拖延等,造成客户或商家的损失或流失等.二、网络支付安全策略电子商务中的网络支付结算体系应该是融购物流程、支付工具、安全技术、认证体系、信用体系以及现在的金融体系为一体的综合系统。网络支付安全体系的建立不是一蹴而就的事,它受多种因素的影响,并与这些因素相互促进,动
4、态地发展,共同走向成熟。开展电子商务的商家和后台的支撑银行必须相互配合,首先建立一套相关的安全策略,在实践中慢慢完善,以保证电子商务下网络支付结算的顺利进行。(一)安全策略的含义与目的电子商务中网络支付安全策略是整个电子商务安全策略的组成部分,即一个机构在从事电子商务中关于安全的纲要性条例,它是用书面形式明确描述所需保护的资产、保护的原因、谁负责进行保护、哪些行为可接受、哪些行为不可接受等。要保护以网络支付系统等为代表的电子商务资产,所有组织都应有一个明确的安全策略。制定电子商务安全策略的目的是为了保障机密性、完整性、认证性、不可否认性、不可拒绝性和访问控制性不被破坏;能够有序地、经常地鉴别和
5、测试安全状态;能够对可能的风险有一个基本评估;系统的安全被破坏后的恢复措施和手段以及所需的代价。(二)网络支付的安全策略内容安全策略具体内容中要定义保护的资源,要定义保护的风险,要吃透电子商务安全的法律法规,最后要建立安全策略和确定一套安全机制.每个机构都必须制定一个安全策略以满足安全需要。1要定义实现安全的网络支付结算的保护资源定义资源是与本机构的具体身份、任务、性质有关。同一机构在不同的经营期对资源的定义也是不同的。安全电子商务以Internet为信息交换通道,由CA中心、银行、发卡机构、商家和用户组成,是实现安全网络支付结算的基础。可以看出,涉及到多方的配合,包括:交易方A、商务网站本身
6、、交易方B、金融机构(如银行、发卡机构)、公正的第三方群(认证机构、时间戳服务机构、仲裁者)、政府机构(税务机构、海关)等。2要定义要保护的风险每一新的网络支付方式推出与应用,均有一定的风险,因为绝对安全的支付手段是没有的,要进行相关风险分析。还要注意网络支付工具使用安全、便利、快捷之间的辩证关系。3要吃透电子商务安全与网络支付安全的法律法规虽然,电子商务和电子商务安全的法律法规远远没有齐全,要吃透已有的电子商务安全的法律法规是必须的。例如中国人民银行制订的金融IC卡应用的安全机制规范。规范规定“在一张卡中的不同应用之间要相互独立,应用之间要提供防火墙安全控制措施,杜绝跨应用的非法访问。因此,
7、安全策略中必须建立防火墙。规范规定“要确保卡内存储的特定功能的加密解密密钥不能被其他功能所使用,以及用来产生、派生和传输这些密钥的密钥都要具备专用性。”因此,安全策略中必须对这些密钥的流通和使用做出严密的管理。常常密切注意电子商务的立法.约束电子商务中有关网络支付犯罪和解决纠纷需要立法。对Internet的管理和立法是很难的,对电子商务的管理和立法就更难了,不但需要立法者有过人的智慧,还必须有先进的判断手段和验证机构.这些条件的完备都需要时日。三、网络支付安全的解决方法根据网络支付的安全需求以及安全策略的内容描述,具体到网络支付结算,可以有针对性地采取如下七种解决方法:(1) 交易方身份认证如
8、建立CA认证机构、使用X509数字签名和数字证书实现对各方的认证,以证实身份的合法性、真实性.(2) 网络支付数据流内容保密使用相关加密算法对数据进行加密,以防止未被授权的非法第三者获取消息的真正含义。如采用DES私有秘钥加密和RSA公开秘钥加密,SSL保密通讯机制,数字信封等。(3)网络支付数据流内容完整性如使用消息摘要(数字指纹,SHA)算法以确认业务流的完整性。(4)保证对网络支付行为内容的不可否认性。当交易双方因网络支付出现异议、纠纷时,采用某种技术手段提供足够充分的证据来迅速辨别纠纷中的是非。例如采用数字签名、数字指纹、数字时间戳等技术并配合CA机构来实现其不可否认.(5)处理多方贸
9、易业务的多边支付问题。这种多边支付的关系可以通过双联签字等技术来实现。如SET安全支付机制。(6)政府支持相关管理机构的建立和电子商务法律的制定.建立第三方的公正管理和认证机构,并尽快完成相关电子商务的法律制定,让法律来保证安全电子商务及网络支付结算的进行.四、网络支付的交易安全网络支付的安全可以概括为两大方面,一是系统的安全,二是交易的安全。系统安全主要指的是网络支付系统软件、支撑网络平台的正常运行。保证网络支付用专有软件的可靠运行、支撑网络平台和支付网关的畅通无阻和正常运行,防止网络病毒和HACKER的攻击,防止支付的故意延缓,防止网络通道的故意堵塞等是实现安全网络支付的基础,也是安全电子
10、商务的基础。解决思路主要有:采用网络防火墙技术、用户与资源分级控制管理机制、网络通道流量监控软件、网络防病毒软件等方法。这些内容在相关的电子商务安全课程都有论述,在此不赘述。网上支付的交易安全可以概括为四个方面的要求:(1) 保证网络上资金流数据的保密性因为网上交易是交易双方的事,交易双方并不想让第三方知道他们之间进行交易的具体情况,包括资金账号、客户密码、支付金额等网络支付信息.但是由于交易是在Internet上进行的,在因特网上传送的信息是很容易被别人获取的,所以必须对传送的资金数据进行加密.所谓加密是使在网上传送的数据如信用卡号及密码运算成为一堆乱七八糟的谁也看不懂的数据,只有通过特定的
11、解密方法对这堆乱七八糟的数据进行解密才能看到数据的原文,即由消息发送者加密的消息只有消息接收者才能够解密得到,别人无法得到,而且,这些加密的方法必须是很难破解的。实际上,没有一种加密方法是无法破解的,只是有一时间问题,只要有足够的时间,任何加密方法都是可以破解的。但如果某一加密方法的破解需要几年时间,而花了几年时间得到一笔交易的信用卡卡号又有什么用呢?所以对加密的要求就是要难以破解。(2) 保证网络上相关网络支付结算数据的完整性数据在传送过程中不仅要求不被别人窃取,还要求数据在传送过程中不被篡改,能保持数据的完整.如果王先生在商店里订购了一套家具,本来填写支付金额为250美元,最后发现被划去1
12、250美元,当然会引起纠纷,并失去客户。因此,在通过Internet进行网络支付结算时,消息接收方收到消息后,必定会考虑收到的消息是否就是消息发送者发送的,在传送过程中这数据是否发生了改变。在支付数据传送过程中,可能会因为各种通讯网络的故障,造成部分数据遗失,也可能因为人为因素,如有人故意破坏,造成传送数据的改变。如果无法证实网上支付信息数据是否被篡改,是无法长久在网上进行交易活动的。(3) 保证网络上资金结算交易信息的防止篡改性在实际商店里买东西,商店营业员与顾客是面对面进行交易的,营业员要检查持卡人的信用卡是否真实,是否上了黑名单,信用卡是不是持卡人本人的,还要核对持卡人的签名、持卡人的身
13、份证等,证实持卡人的身份.持卡人亲自来到商店,看到商店真实存在。而在网上进行交易,交易双方互不见面,持卡人只知道商店的网址,不知道这个商店开在哪里。有可能广东的一家商店在上海建立一个网站,开了一家网上商店,为了扩大对外网上交易,又在美国建立了一个镜像站点,持卡人根本无法知道这家商户到底在哪里。持卡人上网浏览时,只要按一下鼠标,刚才还在上海的一家家电商店,一下子就到了美国纽约的一家百货商场。在网上没有方向,没有距离,也没有国界。有可能你在网上看到的一家大规模的商场,实际上只是两个年轻人用一台计算机制造的一场骗局。所以持卡人要与网上商店进行交易,必须先确定商店是否真实存在,付了钱是否能拿到东西。商
14、店和银行都要担心上网购物的持卡人是否持卡人本人,否则,扣了张三的款,却将货送给李四,结果持卡人上门来说没买过东西为什么扣我的钱,而商户却已经将货物送走了.这样的网上交易是不能进行下去的。所以网上交易中,参加交易的各方,包括商户、持卡人和银行必须要采取如CA认证等措施能够认定对方的身份。(4) 保证网络上资金支付结算行为发生及发生内容的不可抵赖.在传统现金交易中,交易双方一手交钱,一手交货,没有多大问题。如果在商店里用信用卡付款,也必须要持卡人签名,方能取走货物。在网上交易中,持卡人与商店通过网上传送电子信息来完成交易,也需要有使交易双方对每笔交易都认可的方法。否则,持卡人购物后,商户将货送到他
15、家里,他却说自己没有在网上下过订单,银行扣了持卡人的购物款,持卡人却不认账.反过来,持卡人已付款,可商家却坚持说没有接收到货款,或者说,没有在大家认可的日子接收到资金,而有你有故意延迟或否认物品的配送,造成客户的损失。还有明明收到了1000美元,却说只收到500美元,等等。第二节:数据加密技术在计算机网络用户之间进行通讯时,为了保护信息不被第三方窃取,必须采用各种方法对数据进行加密。最常用的方法就是私有密钥加密方法和公开密钥加密方法。一、私有密钥加密技术原理:信息发送方用一个密钥对要发送的数据进行加密,信息的接收方能用同样的密钥解密,而且只能用这一密钥解密。由于这对密钥不能被第三方知道,所以叫
16、做私有密钥加密方法。由于双方所用加密和解密的密钥相同,所以又叫做对称密钥加密法。最常用的对称密钥加密法叫做DES(Data Encryption Standard)算法.甲乙两公司之间进行通讯,每个公司都持有共同的密钥,甲公司要向乙公司订购钢材,用此用共用的密钥加密,发给乙公司,乙公司收到后,同样用这一共用密钥解密,就可以得到这一份订购单.图421私有密钥加密示意图由于对称密钥加密法需要在通讯双方之间约定密钥,一方生成密钥后,要通过独立的安全的通道送给另一方,然后才能开始进行通讯。这种加密方法在专用网络中使用效果较好,并且速度快。因为通讯各方相对固定,可预先约定好密钥。具体在电子商务网络支付时
17、的应用:银行内部专用网络传送数据一般都采用DES算法加密,比如传送某网络支付方式用的密码。军事指挥网络上一般也常用这种秘密密钥加密法。但是,也有缺点,与多人通讯时,需要太多的密钥,因此在电子商务是面向千千万万客户的,有时不可能给每一对用户配置一把密钥,所以电子商务只靠这种加密方式是不行的在公开网络中,如在Internet上,用对称密钥加密法传送交易信息,就会发生困难。比如,一个商户想在Internet上同几百万个用户安全地进行交易,每一位用户都要由此商户分配一个特定的密钥并通过独立的安全通道传送,密钥数巨大,这几乎是不可能的,这就必须采用公开密钥加密法(Publickey Cryptograp
18、hy)。二、公开密钥加密技术公开密钥加密法的加密和解密所用的密钥不同,所以叫非对称(Asymmetric Cryptography)密钥加密技术.原理:共用2个密钥,在数学上相关,称作密钥对。用密钥对中任何一个密钥加密,可以用另一个密钥解密,而且只能用此密钥对中的另一个密钥解密。商家采用某种算法(秘钥生成程序)生成了这2个密钥后,将其中一个保存好,叫做私人密钥(Private Key),将另一个密钥公开散发出去,叫做公开密钥(Public Key).任何一个收到公开密钥的客户,都可以用此公开密钥加密信息,发送给这个商家,这些信息只能被这个商家的私人密钥解密。只要商家没有将私人密钥泄漏给别人,就
19、能保证发送的信息只能被这位商家收到.(定点加密通讯)公开密钥加密法的算法原理是完全公开的,加密的关键是密钥,用户只要保存好自己的私人密钥,就不怕泄密.著名的公开密钥加密法是RSA算法.RSA是这个算法三个发明人(Rivest,Shamir和Adleman)姓名首字母。RSA加密算法的安全性能与密钥的长度有关,长度越长越难解密。在用于网络支付安全的SET系统中使用的密钥长度为1024位和2048位。据专家测算,攻破512位密钥RSA算法大约需要8个月时间,而一个768位密钥的RSA算法在2004年之前是无法攻破的.现在,在技术上还无法预测攻破具有2048位密钥的RSA加密算法需要多少时间。美国L
20、OTUS公司悬赏l亿美元,奖励能破译其DOMINO产品中1024位密钥的RSA算法的人。从这个意义上说,遵照SET协议开发的网上交易系统是非常安全的。但生成长密钥的技术是尖端的,美国封锁。比对称密钥加密法如DES算法等速度慢很多。非对称密钥加密法是后面要讲的数字签名手段的技术基础之一,可以用来解决在电子商务中如网络支付结算中“防抵赖”“认证支付行为”等作用。这可以从下面对公开密钥加密的作用的看出来。如图所示:非对称密钥加密的作用:两位用户之间要互相交换信息,需要各自生成一对密钥,将其中的私人密钥保存好,将公开密钥发给对方.交换信息时,发送方用接收方的公开密钥对信息加密,只能用接收方的私人密钥解
21、密。他们之间可以在无保障的公开网络中传送消息,而不用担心消息被别人窃取.图422公开密钥加密技术示意图为什么发送方给接受方发送信息必须用接受方的公钥加密?发送方如果用自己的公开密钥加密信息发送给接受方,接受方是解不开的,因为接受方不知道发送方的私有密钥,当然,窃密者也不知道。但是违背了信息传输的目的性,不可行。发送方如果用自己的私人密钥加密信息发送给接受方,接受方能解得开,因为接受方知道发送方的公开密钥.问题是,窃密者也可以解密(如果他在网络上通过非法途径截取到密文信息的话),不可取。发送方如果用接受方的私有密钥加密信息是否可以呢?不可能。因为发送方不能知道接受方的私有密钥。所以,非对称公开密
22、钥加密技术的加密方只能利用接收方的公开密钥加密。接受方可以用自己的私有密钥解密。而窃密者因为不知道接受方的私有密钥,即使截取了密文,也不能解密。问题是任何人都可以假冒发送方的名义给接受方发信息.换言之,发送方可以否认自己发出的信息。怎么解决这个问题呢?一个可行的办法是为了防止抵赖发送方可以用自己的私人密钥对要发送的信息再次进行加密。但是,由于要加密的信息往往较大,考虑到效率问题,在实践中,一般不采用这种方式直接加密明文信息。三、数字信封技术对称密钥加密技术和非对称密钥加密技术各有优缺点,如下图所示:特性对称非对称密钥的数目单一密钥密钥是成对的密钥种类密钥是秘密的一个私有、一个公开密钥管理简单不
23、好管理需要数字证书及可靠第三者相对速度非常快慢用途用来做大量资料的加密用来做加密小文件或对信息签字等不太严格保密的应用非对称(公开)密钥的强大的加密功能使它具有比对称密钥更大的优越性。但是,由于非对称密钥加密比对称密钥加密速度慢得多,在加密数据量大的信息时,要花费很长时间。而对称密钥在加密速度方面具有很大优势。所以,在网络交易中,对信息的加密往往同时采用两种加密方式,将两者结合起来使用,这就是数字信封技术。数字信封(Digital Envelope)的原理:对需传送的信息(如电子合同、支付指令)的加密采用对称密钥加密法;但密钥不先由双方约定,而是在加密前由发送方随机产生;用此随机产生的对称密钥
24、对信息进行加密,然后将此对称密钥用接收方的公开密钥加密,准备定点加密发送给接受方。这就好比用“信封”封装起来,所以称作数字信封(封装的是里面的对称密钥)。如图所示:图4-23数字信封技术示意图接收方收到信息后,用自己的私人密钥解密,打开数字信封,取出随机产生的对称密钥,用此对称密钥再对所收到的密文解密,得到原来的信息。因为数字信封是用消息接收方的公开密钥加密的,只能用接收方的私人密钥解密打开,别人无法得到信封中的对称密钥,也就保证了信息的安全,又提高了速度。在使用对称密钥加密时,密钥的传递以及密钥的更换都是问题。采用数字信封的方式,对称密钥通过接受方的公开密钥加密后传给对方,可以保证密钥传递的
25、安全.而且此对称密钥每次由发送方随机生成,每次都在更换,更增加了安全性。一些重要的短小信息,比如银行账号、密码等都可以采取数字信封传送。数字信封技术在外层使用公开密钥技术,可以充分发挥公开密钥加密技术安全性高的优势,而内层的私有密钥长度较短,用公开密钥加密长度较小的密钥可以尽可能的规避公开密钥技术速度慢的弊端。由于数字信封技术结合了公开密钥加密技术和私有密钥加密技术的优点,它同时摒弃了它们的缺点,因而在实践中获得了广泛的应用。第三节 数字摘要与数字签名技术一、数字摘要技术通讯双方在互相传送消息时,不仅要对数据进行保密,不让第三者知道,还要能够知道数据在传输过程中没有被别人改变,也就是要保证数据
26、的完整性。数字摘要的原理:采用的方法是用某种算法对被传送的数据生成一个完整性值,将此完整性值与原始数据一起传送给接收者,接收者用此完整性值来检验消息在传送过程中有没有发生改变。这个值由原始数据通过某一加密算法产生的一个特殊的数字信息串,比原始数据短小,能代表原始数据,所以称作数字摘要(Digital Digest)。图4-3-1数字摘要技术示意图要求:第一,生成数字摘要的算法必须是一个公开的算法,数据交换的双方可以用同一算法对原始数据经计算而生成的数字摘要进行验证。第二,算法必须是一个单向算法,就是只能通过此算法从原始数据计算出数字摘要,而不能通过数字摘要得到原始数据。第三,不同的两条消息不能
27、得到相同的数字摘要。由于每个消息数据都有自己特定的数字摘要,就像每个人的指纹一样,所以,数字摘要又称作数字指纹或数字手印(Thumbprint)。就像可以通过指纹来确定是某人一样,可以通过数字指纹来确定所代表的数据。常用算法:如RSA公司提出的MD5(128位)。还有SHA1等。由于常采用的是一种HASH函数算法,也称Hash(散列)编码法。MD5(128位)由Ron。Rivest教授设计.该编码法采用单向Hash函数将需加密的明文“摘要”成一串128bit的密文。网络支付中应用:在目前先进的SET协议机制中采用的hash算法可产生160位的消息摘要,两条不同的消息产生同一消息摘要的机会为l1
28、048,所以说,这串数据在统计学意义上是惟一的。不同的消息将产生不同的消息摘要,对消息数据哪怕改变一位数据,消息摘要将会产生很大变化。注意:HASH算法本身并不能完全保证数据的完整性,还必须与其他密码或密钥结合起来使用才能保证。因为哈希算法是公开的,如果某人改变了传送的消息,可以很容易地同时改变由哈希算法生成的数字摘要。单用数字摘要显然无法保证数据的完整性,而必须将数字摘要保护起来,使别人无法伪造。在SET系统中是将数字摘要用发送者的私人密钥加密,产生数字签名来保证数据的完整性。接收者收到加了密的数字摘要,只能用发送者的公开密钥解密,如果可以确信这个数字摘要是发送者发来的,就可以用此数字摘要来
29、验证所收到的消息的完整性。二、数字签名技术在电子商务中,为了保证电子商务安全网络支付中的不可否认性,必须具有数字签名技术,比如“电子支票上的签名认证。数字签名及原理:Digita1 Signature,就是指利用数字加密技术实现在网络传送信息文件时,附加个人标记,完成传统上手书签名或印章的作用,以表示确认、负责、经手、真实等;或数字签名就是在要发送的消息上附加一小段只有消息发送者才能产生而别人无法伪造的特殊数据(个人标记),而且这段数据是原消息数据加密转换生成的,用来证明消息是由发送者发来的。在网络支付SET机制中是用发送方的私人密钥对用hash算法处理原始消息后生成的数字摘要加密,附加在原始
30、消息上,生成数字签名。数字签名信件发送者私人秘钥加密hash(信件)图432数字签名示例数字签名的作用:与传统签名作用一样(1)如果接收方可以用签名者的公钥正确地解开数字签名,则表示数字签名的确是由签名者产生。(公开密钥加密法应用)(2)如果发送方对消息M计算出的数字摘要h(M),和消息M的接收方从接收到的消息M计算出散列值h(M),这两种信息摘要相同表示文件具有完整性。(数字摘要法的应用)数字签名可以解决下述网络支付中的安全鉴别问题:(1)接收方伪造:接收方伪造一份文件,并声称这是发送方发送的:付款单据等.(2)发送者或接收者否认:发送者或接收者事后不承认自己曾经发送或接收过支付单据。(3)
31、第三方冒充:网上的第三方用户冒充发送或接收消息如信用卡密码;(4)接收方篡改:接收方对收到的文件如支付金额进行改动.数字签名与手书签名的区别在于:手写签名(包括盖章)是模拟的,因人而异,即使同一个人也有细微差别,比较容易伪造,要区别是否是伪造,往往需要特殊专家.而数字签名是0和1的数字串,极难伪造,要区别是否为伪造,不需专家.对不同的信息数字指纹,即使是同一人,其数字签名也是不同的。这样就实现了文件与签署的最紧密的“捆绑”。更加可靠。图433数字签名技术示意图三、双重签名技术在网上支付过程中,客户需要发送订购信息给商户,发送支付信息给银行。这两条信息是相互关联的,以保证该支付仅为该订单付款。为
32、了保护客户的隐私,商家不需要知道客户的银行卡号码,银行也不需要知道客户的订单细节。这时,仅靠发送方对整个信息的一次数字签名显然是不够的,需要双重签名技术来实现。双重签名DS(Dual Signature)是SET引入的重要创新.我们以客户甲、网上商城当当书店、银行乙三者之间的双重签名的应用过程来分析如何实现对客户隐私权的保护.(1) 客户甲去当当网上书城购物,选中相关商品后,选择银行乙支持的支付手段(如信用卡)进行支付.这里要完成相关表单的填写工作,包括要发送给书城的订货单和要发给银行乙的支付通知单;(2) 客户甲对订货单进行SHA1运算,得到订货单的数字摘要D1,然后对支付通知单进行SHA1
33、运算,得到支付通知单的数字摘要D2;(3) 客户甲把数字摘要D1和D2结合起来形成一条信息,然后对该信息进行SHA1运算,得到双重数字摘要D;(4) 客户甲用自己的私人密钥对双重数字摘要D进行运算,得到双重签名S;(5) 客户甲把双重签名S、支付通知(为保密起见可用银行乙的公开密钥加密)、订货单的数字摘要D1,合在一起,通过网络发给银行乙;(6) 银行乙收到相关信息后,对其中的“支付通知”进行SHA1运算,生成“支付通知”的数字摘要“D2”;(7) 银行乙把收到的数字摘要D与刚生成的数字摘要“D2连接起来形成新的信息,然后对这个信息进行SHA运算,得到双重数字摘要“D;(8) 银行乙把收到的双
34、重签名S利用客户甲的公开密钥解密,得到双重数字摘要M;(9) 银行乙把刚生成的数字摘要“D和解密得到的D比较,如果一致,则确认支付通知是甲发送的,而且没有被篡改。否则,抛弃.同理,客户甲与当当商城之间完成订货单的传递过程也与之类似(请同学们自己画出双重签名的流程图)。这样,通过双重签名技术,客户的隐私权获得了有效的保障.第四节 数字证书与认证中心公开密钥基础设施PKI为了解决Internet 的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的Internet安全解决方案,目前,通用的办法是采用基于PKI(Public Key Infrastructure-公钥基础设施)结构结合数字
35、证书,通过把要传输的数字信息进行加密,保证信息传输的保密性、完整性,签名保证身份的真实性和抗抵赖.所谓PKI 就是一个用公钥概念和技术实施和提供安全服务的具有普适性的安全基础设施.完整的PKI 包括认证政策的制定(包括遵循的技术标准、各CA之间的上下级或同级关系、安全策略、安全程度、服务对象、管理原则和框架等)、认证规则、运作制度的制定、所涉及的各方法律关系内容以及技术的实现等.我们认为,公开密钥加密技术是PKI的关键技术,数字证书及CA是PKI的核心,关于公开密钥的安全策略(主要是安全协议)则是网络支付与结算安全的保障.公开密钥技术已经在前面作了专门介绍,考虑到安全网络支付协议的重要性,我们
36、在后面设专节介绍相关协议。本节主要介绍数字证书和认证中心CA两个方面的内容.为了保证互联网上电子商务环境的安全性(保密性、真实完整性和不可否认性),防范信息传递以及交易过程中的欺诈行为,除了在信息传输过程中采用更强的加密算法等措施之外,还必须在网上建立一种信任及信任验证机制,使交易及支付各方能够确认其他各方的身份,这就要求参加电子商务的各方必须有一个可以被验证的身份标识,即数字证书。数字证书是各类实体(个人/持卡人、企业/商户、银行/网关等)在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都须验证对方数字证书的有效性,从而解决相互间的信任问题。认证中心作为权威的、可信赖
37、的、公正的第三方信任机构,专门负责为电子商务环境中各种认证需求提供证书服务,包括电子商务、网上银行、支付系统和管理信息系统等,为参与网上交易的各方提供安全的基础,建立彼此信任的机制。一、数字证书数字证书就是标志网络用户身份信息的一系列数据,用来在网络通讯中识别通讯各方的身份,即要在Internet上解决“我是谁的问题,就如同现实生活中我们每一个人都要拥有一张身份证或驾驶执照来证明身份一样,以表明我们的身份或某种资格。数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体
38、身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。(一)数字证书的内容数字证书主要包括以下内容: l 版本信息:它用来区别X.509的各种连续的版本。默认值是1988版本。l 证书序列号:序列号是一个整数值,在发行的证书颁发机构中是唯一的.序列号与证书有明确联系,就像身份证号码和公民日常登记有明确联系一样.l CA所使用的签名算法:算法识别符识别证书颁发机构用来签署证书的算法.证书颁发机构使用它的私钥对每个证书进行签名.l 发行者或证书颁发机构:证书颁发机构是创建这个证书的机构。l 证书的有效期限:提供证书有效的起止日期,类似于信用卡的期限。l 证书主题名称:证书对他的身份进行验证
39、。l 公钥信息:为证书识别的主体提供公钥和算法识别符。l 签名:证书签名覆盖了证书的所有其他字段。签名是其他字段的哈希代码,使用证书颁发机构的私钥进行加密,保证整个证书中信息的完整性。如果有人使用了证书颁发机构的公钥来解密这个哈希代码,同时计算了证书的哈希代码,而两者并不相同,那么证书的某一部分就肯定被非法更改了。(二)数字证书类型数字证书作为一个经证书认证机构(CA)数字签名的包含用户身份信息以及公开密钥信息的电子文件。是各实体(消费者、商户/企业、银行等)在网上进行信息交流及商务活动的电子身份证.证书可用于:安全电子邮件、网上缴费、网上炒股、网上招标、网上购物、网上企业购销、网上办公等安全
40、电子商务活动.1 证书种类按照级别可以分为:l 根CA:例如的C证书是由名称为B的CA签发的,而B的证书又是由名称为A的CA签发的,A是权威机构,则A为根CA,即Root CA;l 政策CA:表明政策合同的身份证明证书.l 运营CA:各级运营商的身份认证,如世界著名的专业认证中心VeriSign的下级分支机构的证书2对于最终用户,按照证书的功能不同,证书有不同的分类:l 企业高级证书:适用于企业作金额较大时的B2B网上交易,安全级别较高,可用于数字签名和信息加密。l 企业普通证书:适用于企业用户用于SSL以及建立在SSL之上的应用,它的安全级别较低,建议用于金额较小的网上交易。l 个人高级证书
41、:适用于个人作金额较大的网上交易,安全级别较高,可用于数字签名和信息加密。l 个人普通证书:适用于个人用户用于SSL以及建立在SSL之上的应用,它的安全级别较低,建议用于小额的网上银行和网上购物。l Web Server证书:适用于站点服务器提供金额较小的B2C网上交易,若一个网站要提供B2B交易时,应申请Direct Server证书,并配合Direct Server软件来保证它的安全性。l Direct Server证书:用于数字签名和信息加密。Direct Server证书主要用于企业从事B2B交易时对Web Server的保护使用。(三)数字证书流程通过使用免费数字证书,我们可以了解专
42、业数字证书的相关技术。获得免费数字证书的方法有很多,目前国内有很多CA中心提供试用型数字证书,其申请过程在网上即时完成,并可以免费使用。下面提供一个比较好的站点,申请地址为图44-1 网证通数字证书申请登陆后,点击“证书申请”,选择“试用型个人数字证书申请”,特别强调,注意只有安装了根证书(证书链)的计算机,才能完成后面的申请步骤和正常使用读者在CA中心申请的数字证书.图4-4-2个人数字证书申请按照提示,通过地址https:/testca。Indi.asp选择“安装试用CA证书链”。安装成功出现提示框后,可以看到一个表单。按照表单上的提示,输入完整的个人资料.选择加密服务提供程序(Crypt
43、ographic Service Provider,CSP),其中,CSP负责创建密钥、吊销密钥,以及使用密钥执行各种加、解密操作.每个 CSP都提供了不同的实现方式。某些提供了更强大的加密算法,而另一些则包含硬件组件,例如智能 IC 卡或 USB电子令牌。 当读者使用特别的数字证书存储介质(如:智能 IC 卡或 USB 电子令牌)存储数字证书及其相应的私有密钥时,可以在“加密服务提供程序(CSP)”下拉框中选择该存储介质生产厂商提供的CSP。我们可以选择“Microsoft Enhanced Cryptographic Provider V1.0”。补充信息可以选填:有效证件类型,证件号码,
44、读者的出生日期,读者的性别,读者的住址,通信地址,通信所在地邮政编码,联系电话,传真号码,存储介质等.然后点击按钮提交。图4-4-3 提交个人信息资料进行上述步骤后,系统将发一封申请成功的信件到读者申请时使用的邮箱内,其中包括业务受理号和密码,数字证书下载的地址。图4-44,获得数字证书申请完毕通知点击数字证书下载地址,填写业务受理号和密码。提交后,可以得到如下图所示的信息。图4-45,数字证书身份校验然后点击下方的“安装证书”按钮,当系统提示“证书成功下载”和“证书已成功装入应用程序中”后,表明读者的证书已经成功安装.图4-46, 安装数字证书图44-7, 数字证书安装成功现在很多读者可能要
45、问了,数字证书在哪里呢?其实,微软的IE浏览器自带一个数字证书管理器,通过这个管理器我们可以查看数字证书。图448,在IE中查找数字证书首先在打开Internet Explorer,在Internet Explorer的菜单上,单击 “工具”菜单中的 “Internet选项”。选取“内容”选项卡,点击“证书按钮来查看读者信任的当前证书的列表。点击“个人”选项卡可以查看读者已经申请的个人数字证书;下面是申请的免费数字证书,读者可以参考.如图所示。图4-4-9,查看个人数字证书选定读者要查看的个人数字证书,然后单击 “查看” 按钮,可以查看证书的详细信息。如图是一个数字证书的详细信息列表。图449
46、,个人数字证书信息二、CA中心非对称公开密钥加密技术有效解决了数据的保密性,完整性,防止篡改性和防止抵赖性,但是没有解决认证性的问题.比如说想传给A一个文件,开始查找A 的公钥,但是B从中捣乱,他用自己的公钥假冒了A的公钥,让我们错误的认为B的公钥就是A的公钥,导致我们最终使用B的公钥加密文件,结果A无法打开文件,而B可以打开文件,这样B实现了对保密信息的窃取。可见采用非对称密码技术,仍然不能解决所有的安全性问题。为了确保用户的身份及他所持有密钥的正确匹配,公开密钥系统需要一个值得信赖而且独立的第三方机构充当认证中心(Certification Authority,CA),来确认公钥拥有人的真
47、正身份。(一)认证中心CA(Certificate Authority)即“认证机构”,是负责签发证书、认证证书、管理已颁发证书的机构。CA要制定政策和具体步骤来验证、识别用户的身份,对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。CA也拥有自己的证书(内含共钥)和私钥,网上用户通过验证CA的签字从而信任CA,任何用户都可以得到CA的证书,用以验证它所签发的证书。CA必须是各行业各部门及公众共同信任的、认可的、权威的、不参与交易的第三方网上身份认证机构。下图是著名的国际认证机构Verisign的主页.图4410, Verisign认证中心主页(二) 认证中心CA的功能概括地说,认证中
48、心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。认证中心的作用如下:1自身密钥的产生、存储、备份/恢复、归档和销毁从根CA开始到直接给客户发放证书的各层次CA,都有其自身的密钥对。CA中心的密钥对一般由硬件加密服务器在机器内直接产生,并存储于加密硬件内,或以一定的加密形式存放于密钥数据库内。加密备份于IC卡或其他存储介质中,并以高等级的物理安全措施保护起来.密钥的销毁要以安全的密钥重写标准,彻底清除原有的密钥痕迹。需要强调的是,根CA密钥的安全性至关重要,它的泄露意味着整个公钥信任体系的崩溃,所以CA的密钥保护必须按照最高安全级的保护方式来进行设置和管理。2为认证中心与各地注册审核发放机构的安全加密通信提供安全密钥管理服务在客户证书的生成与