1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章 数字签名技术,第5,章 数字签名技术,5.1,数字签名概述,5.2,数字签名原理,5.3,数字签名的技术实现方法,5.4,几种常用的数字签名技术,5.5,数字签名的应用实例,实训六 数字签名技术在,Foxmail,邮件中的应用,5.1,数字签名概述,5.1.1,什么是数字签名,(,Digital Signature),在电子文件上,传统的手写签名和盖章是无法进行的,这就必须依靠相应技术手段来替代。能够在电子文件中识别双方交易人的真实身份,保证交易的安全性、真实性以及不可抵赖性,起到与手写签名或者
2、盖章同等作用的电子技术手段,称为电子签名。实现电子签名的技术手段有很多种,目前比较成熟的技术是“数字签名”。目前提到电子签名,一般都是指“数字签名”。,数字签名是一个基于密码学的概念,它采用特定的技术手段,对数据电文打上特定的标记信息,此标记信息作为数据电文的发送人的标志,并且表明发送人认可该数据电文的内容。,5.1.2,数字签名的作用,数字签名机制作为保障网络信息安全的手段之一,可以解决伪造、抵赖、冒充和篡改等问题。,(1),防冒充,(,防伪造,),:其他人不能伪造对消息的签名,因为私钥只有签名者自己知道。防止接收方伪造一份报文,声称来自于发送方。,(2),可鉴别身份:因为私钥只有签名者自己
3、知道,所以可鉴定签名者身份。,(3),防篡改,(,保证信息的完整性,),:保证数据在传输过程中不被非法篡改。,(4),防抵赖,(,不可否认,保证数据有效性,),:数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好似保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。以上是签名者不能抵赖,那如果接收者确已收到对方的签名报文,却抵赖没有收到呢,?,要防止接收者的抵赖,在数字签名体制中,要求接收者返回一个自己签名的表示收到的报文,给对方或者是第三方,或者引入第三方机制。如此操作,双方均不可抵赖。,(5),防重放:在数字签名中,如果采用了对签名报文添加流水号、时戳等技术
4、可以防止重放攻击。,(6),机密性,(,保密性,),:数据在传输过程中,不被非授权者偷看,采用加密技术实现数据保密。,由以上对比可知,数字签名比手工签字更具优越性。特别是在网络应用中,数字签名是进行身份鉴别与网上安全交易的通用实施技术。当然,网络环境还有很多其他威胁,要由其他专门技术解决,如防火墙技术、反病毒技术、入侵检测技术等。,5.2,数字签名原理,5.2.1,数字签名算法分析,数字签名技术的基础是加密技术,通过加密技术实现网络电子交易的安全性。,在密码学中,密码的本质是某种算法,由密码算法算出一个密钥,(,Key),,然后使用该密钥对交易双方传送的数据加密。该数据通称为“报文”,未加密
5、之前称为“明文”,加密之后称为“密文”。没有密钥,密文是不可读的。所有加密算法的本身都是公开的,属于纯数学的范畴,本章不作过多讨论;密码学只关注密钥管理的问题,因为加密通信的安全性只与密钥有关,这是重点。,数字签名技术涉及的主要算法有对称加密算法、非对称加密算法和,Hash,算法。,1.,对称加密算法,对称加密算法对数据本身的加密能力足够强大,而且已经在政府机关和商业机构内部得到了广泛应用,但对称加密算法也存在以下一些问题:,(1),对称加密算法加密和解密的密钥是相同的。,(2),必须事先传递密钥,而密钥传递过程中极易被窃取。使用常规手段无法规避这种高风险。,(3),密钥管理困难:假设有,n,
6、方两两通信,如采用一把密钥,则密钥一旦被盗,将导致整个加密系统崩溃;如采用不同密钥,则密钥数等于,n(n-1)/2,,意味着,100,个人两两通信,则每人要保管,4950,个密钥!这使密钥管理成为几乎不可能实现的任务。,(4),由于密钥共享,因此无法实现不可否认和身份验证。,2.,非对称加密算法,非对称加密算法中通信的双方加密密钥和解密密钥是不相同的,分别称为公钥和私钥。公钥可以发到,Internet,等公开地方供别人查询和下载,而私钥只有用户私人持有且无法读出,(,包括用户自己,),。,每一对公钥和私钥都具有以下的特点:,(1),这两个密钥完全不相同且不能相互推导。,(2),用私钥加密的数据
7、只有用对应的公钥才能解开。,(3),用公钥加密的数据只有用对应的私钥才能解开。,3.,Hash,算法,Hash,算法又称散列算法或摘要算法。实现数字签名技术的“不可篡改”须由,Hash,算法来完成。,Hash,算法的工作原理如下:,(1),通过数学算法,把未做处理的报文,(,不论是明文还是密文,),转换为不定长的待输入字符串,该字符串称为预映射值;,(2),将预映射值再次转换为定长,(,一般更短,),的输出字符串,该字符串称为,Hash,值,又叫消息摘要,(,或数字摘要,),(,MessageDigest),,预映射值可为任意长,但,Hash,值总是定长的;报文或预映射值若有丝毫改动,则,Ha
8、sh,值将完全不同。,注意:值得一提的是,最常用的,Hash,算法是,MD5(Message,Digest5),,它的作者是罗纳德,瑞斯特,,RSA,算法中的第一人。,(3),单向性。所谓单向,是指不可能由,Hash,值反推出预映射值或报文,但又不是加密,因为不存在解密的问题。正由于其单向,也就没有了运算速度的障碍。,打碎盘子就是一个很好的单向性的例子。把盘子打碎成数千片碎片是很容易的事情,然而,要把所有这些碎片再拼成为一个完整的盘子,却是非常困难的事情。,【,实 例,】,1.,任务描述,采用非对称加密算法,解决“不可否认”和“身份确认”问题。,2.,操作提示,非对称加密算法好比一把奇怪的锁,
9、这把锁有两把成对的钥匙,如果用其中一把钥匙把它锁住后,只能用另一把钥匙把它打开,反之亦然。,现在把其中的一把钥匙复制无数把,广为传播,寄给了每一个朋友,这个钥匙称为公钥。但另一把则自己妥善保管,这把钥匙称为私钥。,(1),私钥上锁:现在想把一个很重要的箱子寄给好友小明,就拿这把奇怪的锁把箱子锁上,当然是用那把仅有的私钥来上锁。,(2),公钥开锁:小明收到后,如果能够用以前寄给他的那把广为传播的公钥把这把锁打开,则表明这个箱子肯定是我寄出的,绝不可能是其他人伪造的,因为只有用这把独一无二的钥匙上的锁,才能用他那把广为传播的公钥打开,这就叫做数字签名中的身份验证和抗否认性。,(3),反过来,如果小
10、明回寄给我一个箱子,并用我给他的公钥上锁,那么,全世界只有我一个人能打开这把锁,(,连小明本人也打不开,),,这样就实现了数据的保密性。,5.2.2,数字信封,数字信封是用加密技术来保证只有特定收信人才能阅读通信的内容。,数字信封的功能类似于普通信封,普通信封在法律的约束下保证只有收信人才能阅读信的内容;数字信封则采用密码技术保证了只有规定的接收人才能阅读信息的内容。,数字信封中采用了对称密码体制和公钥密码体制。信息发送方采用,对称密钥,来加密信息内容,然后将此对称密钥用接收方的公钥加密,被公钥加密后的对称密钥称为数字信封。将加密后的信息与加密后的对称密钥一起发送给接收方,接收方先用相应的私钥
11、打开”数字信封,(,解密,),,得到对称密钥,然后使用对称密钥解开加密信息,如图,5-1,所示。这样就保证了数据传输的真实性和完整性。这种技术的安全性相当高。,数字信封主要包括数字信封打包和数字信封拆解。数字信封打包是使用对方的公钥将对称密钥进行加密的过程;数字信封拆解是使用私钥将对称密钥解密的过程。,图5-1,数字信封,5.2.3,PKI/CA,安全认证体系,非对称加密算法涉及到一对密钥,(,即私钥和公钥,),,私钥只由用户独立掌握,无须在网上传输,而公钥则是公开的,需要在网上传送,故密钥管理主要是针对公钥的管理。如何保证公钥的安全性?如何验证拥有公钥用户的身份?为解决这些问题,一种全新的
12、安全性保障机制,PKI(PublicKey,Infrastructure),产生了。,PKI,指的是公钥基础设施,又叫公钥体系,是一种利用公钥加密技术提供一套安全基础平台的技术和规范。它由认证中心,(,CA)、,数字证书库、密钥备份及恢复系统、证书作废系统、应用接口,(,API),等部分组成,其中的,CA(Certificate Authority),是数字证书,(,Digital Certificate),的签发机构,它是,PKI,的核心。因此,人们又称该体系为,PKI/CA,系统。,PKI/CA,系统通过把公钥密码和对称密码结合起来,在互联网上实现密钥和证书的自动管理,为用户建立起一个安全
13、的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名技术。,一个有效的,PKI/CA,系统必须是安全和透明的,用户在获得加密和数字签名服务时,不需要详细地了解,PKI/CA,是怎样管理证书和密钥的。,PKI/CA,认证体系采用数字证书管理公钥,通过第三方的可信任机构,认证机构,CA,,把用户的公钥和用户的其他标识信息捆绑在一起进行数字签名,在,Internet,上验证用户的身份和保证公钥的安全。,1.,什么是数字证书,通俗地讲,数字证书就是一张个人或单位在,Internet,上的数字身份证。它由一个权威机构颁发,人们可以在交往中用它来识别对方的身份。,数字证书是标识网络用户身份信
14、息的一系列数据,用来在网络通信中识别通信各方的身份,即在,Internet,上解决“我是谁”的问题,就如同现实中的身份证或驾驶执照一样,用以表明身份或某种资格。,数字证书也称为“,Digital ID”,,它是由权威公正的第三方机构,即,CA,认证中心签发的一个数字文件,也称公开密钥证书。证书的格式应遵循,ITUT X.509,国际标准。,一个数字证书一般包括以下内容:,(1),所有者的公钥;,(2),所有者的名字;,(3),公钥的失效期;,(4),发放机构的名称,(,发放数字证书的,CA);,(5),数字证书的序列号;,(6),发放机构的数字签名。,从证书的用途来看,数字证书可分为签名证书和
15、加密证书。签名证书主要用于对用户信息进行签名,以保证信息的不可否认性;加密证书主要用于对用户传送的信息进行加密,以保证信息的真实性和完整性。,2.,数字证书的申请,数字证书的申请过程如图,5-2,所示:,图5-2,数字证书的申请过程,1),认证中心,认证中心,(,CA),必须是由一个公众都信赖的权威机构担当,否则整个业务体系都将出现致命的安全漏洞,一切网上的交易都没有安全保障,,CA,是保证电子商务安全的关键。在实际运作中,,CA,由受信任的第三方权威机构担当。目前国际上通用的解决办法就是建立证书签证机关,(,Certi,ficate,Authority),由,CA,对公钥进行统一的管理并将公
16、钥以公钥证书的形式对外分发。,通俗地讲,,CA,就像一个政府的护照办公室。护照是一个公民的安全文件,由专门的权威机构颁发,护照能证实该公民的身份,是持照人的纸上身份。不论哪个国家,只要相信这个政府的发照机构,就会相信这个公民的护照,这就是第三方信托的最好的例子。,CA,所颁发的一个网络用户的电子身份就如同他的护照一样,能证明这个用户得到了这个,CA,的信任。不论是谁,只要相信这个,CA,,通过第三方信托,同样也相信这个用户。一个护照发照机构和一个,CA,都是政策和实体的结合。因此可以把,CA,想象成一个组织,这个组织既决定网络安全的政策,又决定谁能在这个组织的网络中得到电子认证。,CA,主要有
17、以下几种功能:,(1),证书的颁发;,(2),证书的更新;,(3),证书的作废;,(4),密钥备份和恢复;,(5),证书的归档。,2),注册机构,注册机构,(,RA,Registration Authority),是数字证书的申请、审核和注册中心,它是,CA,认证机构的延伸,主要负责审核证书申请者的真实身份。在审核通过后,注册机构负责将用户信息通过网络上传到认证中心,由认证中心负责最后的制证处理。证书的吊销、更新也需要由注册机构来提交给认证中心做处理。总的来说,认证中心是面向各注册中心的,而注册中心是面向最终用户的。注册机构是用户与认证中心的中间渠道。,5.3,数字签名的技术实现方法,5.3.
18、1,数字签名的实现过程,对一个电子文件进行数字签名并在网上传输,其实现过程大致如下:首先要在网上进行身份认证,然后再进行签名,最后是对签名进行验证。,1.,认证,PKI,提供的服务首先是身份认证。认证的前提是甲、乙双方都具有第三方,CA,所签发的证书。认证分单向认证和双向认证。,1),单向认证,单向认证是甲、乙双方在网上通信时,只需要甲认证乙的身份。这时甲需要获取乙的证书,获取的方式有两种,一种是在通信时乙直接将证书传送给甲,另一种是甲向,CA,的目录服务器查询索取。甲获得乙的证书后,首先用,CA,的根证书公钥验证该证书的签名,验证通过说明该证书是第三方,CA,签发的有效证书。然后检查证书的有
19、效期及检查该证书是否已被作废,(,LRC,检查,),。,2),双向认证,双向认证是甲、乙双方在网上通信时,甲、乙双方互相认证对方的身份。其认证过程的每一方都与单向认证过程相同,即甲方对乙方进行认证,乙方也用同样的过程认证甲方,如图,5-3,所示。甲乙双方在网上查询对方证书的有效性及黑名单时,采用轻型目录访问协议,(,LDAP,Light Directory Access Protocol)。,图5-3,双向认证过程,2.,签名,网上通信的双方,在互相认证身份之后,即可发送带签名的数据报文。即发送方将原文用哈希算法求得消息摘要,用签名私钥,(,发送方私钥,),对数字摘要加密求得数字签名,然后将原
20、文、数字签名与证书公钥,(,发送方公钥,),一起封装,发送给接收方,如图,5-4,所示。,图5-4,数字签名过程,3.,验证过程,接收方验证签名,即用发方公钥解密数字签名,得出消息摘要;接收方对原文采用同样的哈希算法得到一份新的消息摘要;将两份数字摘要进行比较,如果两者匹配,说明经数字签名的电子文件传输成功,否则说明电子文件传输过程被篡改,传输无效,如图,5-5,所示。,图5-5,数字签名验证过程,如果接收方对发送方数字签名验证成功,就可以说明以下四个实质性的问题:,(1),该电子文件确实是由签名者的发送方所发出的,电子文件来源于该发送者,因为签署时由发送方私钥加密,且只有该发送者拥有私钥。这
21、达到身份验证的目的。,(2),被签名的电子文件确实是经发送方签名后发送的,因为发送方用自己的私钥进行了签名,并得到验证。这达到不可否认的目的。,(3),被签名的电子文件确实是经发送方签名后发送的,因为只有发送方拥有私钥,其他人无法伪造该文件。,(4),收方收到的电子文件在传输中没有被篡改,保持了数据的完整性。,电子签名法,中规定:“安全的电子签名具有与手写签名或者盖章同等的效力。”,5.3.2,原文加密的数据签名实现方法,在上述数字签名过程中是对原文做消息摘要和签名并传输原文,然而在很多场合传输的原文是要求保密的,是不准被别人看懂的,那么要求对原文进行加密的数字签名是怎么实现的呢?这里就涉及到
22、了“数字信封”的概念。这个处理过程稍微复杂一些,但与数字签名的基本方法还是一样的,下面以发送一份报文为例进行说明。,(1),发送报文之前,首先双方进行身份认证,获得由,CA,签发的数字证书。,申请数字证书;,安装数字证书。,(2),发送方发送一份报文的步骤如下,(,见图,5-6),:,首先对原文使用对称加密算法加密生成密文,并产生一对对称密钥。,使用非对称加密算法,A(,算法,A,产生一对密钥:公钥,A,和私钥,A),的公钥,A(,即接收方公钥,),对对称密钥加密生成对称密钥的密文,即数字信封,这个过程称为数字信封打包。,将密文和对称密钥的密文使用,Hash,算法生成消息摘要。,使用非对称算法
23、B(,算法,B,产生一对密钥:公钥,B,和私钥,B),的私钥,B(,发送方的私钥,),将消息摘要加密生成数字签名。这是最核心的一步。,将密文、数字信封和数字签名封装成数据包。,图5-6,发送报文示意图,(3),接收方接收一份报文的步骤如下,(,见图,5-7,和图,5-8),:,接收方将收到的数据包解封成密文、数字信封和数字签名。,使用非对称算法,B,的公钥,B(,即发送方公钥,),将数字签名解密生成消息摘要,1,。,将密文和数字信封使用,Hash,算法生成消息摘要,2,。,将消息摘要,1,和消息摘要,2,进行比较,若二者相等,说明数据没有被篡改,是保密传输的,签名是真实的,则进入第,(5)步
24、见图,5-8),;否则说明数据被篡改,拒绝该签名。,使用非对称算法,A,的私钥,A(,接收方私钥,),对对称密钥的密文进行解密生成对称密钥,这个过程称为数字信封拆解。,使用对称密钥对密文进行解密生成原文。,图5-7,接收报文示意图,1,图5-8,接收报文示意图,2,【,实 例,】,1.,任务描述,举例说明数字签名的通信过程。,2.,操作提示,假设,Alice,与,Bob,通信,,Alice,与,Bob,拥有相应的数字证书。,(1),Alice,首先以对称算法生成密钥,K,,并用,K,将明文,D,生成密文,DC;,(2)Alice,用,Bob,的公钥将对称密钥,K,加密为,KB,,将,DC,
25、和,KB,封装;,(3),将封装后的,DC,和,KB,用,Hash,算法算出,Hash,值,H,,用,Alice,的私钥加密为,HA;,(4),将,DC、KB,和,HA,封装为一个数据块发送给,Bob。,假设第三方,Eve,有公钥算法,有,Hash,算法,有,Alice,与,Bob,的公钥,唯独没有二人的私钥,尽管,Eve,有,DC、KB,和,HA,三个部分,其中,DC,是密文,没有密钥,K,无法读取;,K,又被,Bob,的公钥加密成,KB,,没有,Bob,的私钥同样无法读取;虽然,HA,可以由,Alice,的公钥还原为,H,,但从,H,不可能反推出预映射值,所以毫无意义。,Bob,收信后,只
26、需简单地对,DC,和,KB,再次用,Hash,算法算出,Hash,值,HB,,并将它与,HA,比较,相同则表示该数据块真,说明数据没有被篡改,不同则表示该数据块假。如果数据块为真,则用自己的私钥解密,KB,,得到对称密钥,K,,再用,K,解密,DC,,得到,D。,因只有,Alice,拥有私钥,所以,Alice,发送数据后“不可否认”,同时,Bob,实现了“身份验证”。,整个方案的核心在第,3,步:用,Hash,算出,H,,并用自己的私钥将其加密为,HA,,这就是数字签名。,其中还有一个问题:,Alice,怎样验证,Bob,的公钥确实是“原配”而没有被,Eve,篡改呢?公钥的安全性如何保证呢?其
27、解决办法是由大家信任的,CA,中心颁发数字证书来发放公钥和验证相应身份。,5.4,几种常用的数字签名技术,数字签名包括普通数字签名和特殊数字签名。普通数字签名算法有,RSA,签名、,ElGmal,签名、,Fiat-,Shamir,签名、,Guillou,-,Quisquarter,签名、,Schnorr,签名、,Ong,-,Schnorr,-,Shamir,签名、,Des/DSA,签名,椭圆曲线签名和有限自动机签名等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。,5.4.1,RSA,签名,RSA,算法不仅可用于
28、信息加密,还可用于数字签名。,1),RSA,算法的理论基础,(1),大数分解:两个大素数相乘在计算上是容易实现的,但将该乘积分解为两个大素数因子的计算量却相当巨大。,(2),素数检测:素数检测就是判定一个给定的正整数是否为素数。,2),RSA,签名的过程,RSA,签名包括设计密钥、设计签名、验证签名等过程。,3),RSA,签名和,RSA,加密的异同点,(1),相同点:采用一对密钥,即公钥和私钥。,(2),不同点:,RSA,加密用公钥加密,用私钥解密;,RSA,签名用私钥签名,用公钥验证。,5.4.2,ElGamal,签名,ElGamal,算法由,T.,ElGamal,在1985,年提出,其修正
29、形式已被美国,NIST,作为数字签名标准,(,DSS)。,ElGamal,算法既可用于信息加密,也可用于数字签名。,5.4.3,盲签名,盲签名,(,blind signature),是一种允许一个人让另一个人签署文档,而第一个人不向签名者泄露任何关于文档内容的技术。,当需要某人对一个文件签名,而又不让他知道文件的内容,这时就需要盲签名。盲签名一般用于电子货币和电子选举中。,5.4.4,多重数字签名,多重数字签名的目的是将多个人的数字签名汇总成一个签名数据进行传送,签名收方只需验证一个签名便可确认多个人的签名。,多重数字签名方案有两种类型:有序多重数字签名和广播多重数字签名方案。多重数字签名在办
30、公自动化、电子金融和,CA,认证等方面有重要的应用。,5.4.5,代理签名,代理签名的目的是当某签名人因故不能行使签名权力时,将签名权委派给其他人替自己行使签名权。,假设,A,委托,B,进行代理签名,则签名必须满足三个最基本的条件:,(1),签名收方能够像验证,A,的签名那样验证,B,的签名;,(2),A,的签名和,B,的签名应当完全不同,并且容易区分;,(3),A,和,B,对签名事实不可否认。,5.5,数字签名的应用实例,数字签名主要应用于各种需要身份认证的场合,除目前广泛应用的网上银行、网上交易等商务应用外,数字签名还可以应用于发送安全电子邮件、加密文件等方面。,5.5.1,数字签名在电子
31、商务中的应用,数字签名技术在电子商务中应用的两种主要方式是,SSL,协议和,SET,协议。,SSL(Secure Socket Layer,,安全套接层,),协议是由网景,(,Netscape),公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。,SSL,协议是对计算机之间整个会话进行加密的协议。在,SSL,协议中,采用了公开密钥和私有密钥两种加密方法。,SET(Secure Electronic Transaction,,安全电子交易,),协议是由,VISA,和,MasterCard,两大信用卡公司于,1997年5,月联合推出的规范。,SET,协议主要是为了解决用户、商家和
32、银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份,以及可操作性。,SET,协议比,SSL,协议复杂,因为前者不仅可以加密两个端点间的单个会话,还可以加密和认定三方间的多个信息。,SSL,协议又称为“端对端协议”,,SET,协议又称为“三方协议”。例如在进行网络购物时,会出现三个“端”:用户、网站、银行。对应的就有用户公钥、用户私钥,网站公钥、网站私钥,银行公钥、银行私钥。,SET,协议涉及的安全技术有:,(1),消息摘要:一个唯一对应消息或文本的值。由哈希,(,Hash),加密算法对消息摘要生成一串密文,由此验证消息在传输过程中没有被修改。,(
33、2),数字签名:在,SET,协议中使用,RSA,算法来实现数字签名,保证发送者对所发信息不能抵赖。,(3),数字信封:在,SET,协议中使用对称密钥来加密数据,然后将此对称密钥用接收者的公钥加密,这称为消息的“数字信封”。将其和数据一起送给接收者。,(4),双重签名:,SET,协议要求将订单信息和个人信用卡账号信息分别用商家和银行的公钥进行数字签名,保证商家只能看到订货信息,而银行只能看到账户信息。,5.5.2,数字签名在电子邮件中的应用,利用安全邮件数字证书对电子邮件签名和加密,既可保证发送的签名邮件不会被篡改,又可使外人无法阅读加密邮件的内容。,要发送数字签名邮件,首先需要申请并在系统中安
34、装一个数字证书;要发送加密邮件,必须获得收件人的数字证书的公钥。,现在以,Foxmail,为例,介绍发送安全邮件的方法。,1.,申请数字证书,目前网上有很多专门提供数字证书的,CA,中心,例如中国数字认证网,(,)、,广东省电子商务认证中心,(,www.,cnca,.net/)、,博大证书,(,ca.,foxmail,.com.,cn,/)、,天威诚信,(,www.,itrus,.com.,cn,),等,一些,CA,中心还提供了免费的试用型数字证书,但在试用期结束后,如果要继续使用该数字证书,就需要花钱购买了。,由于,Foxmail,6.0,自身就提供,CA,证书服务,因而可直接安装,CA,证
35、书。在浏览器地址栏中输入网址,ca.,foxmail,.com.,cn,/,,打开“,Foxmail,CA,证书服务”页面,如图,5-9,所示。,图5-9,Foxmail,CA,证书服务首页,下面按图,5-9,所示的步骤安装数字证书。,(1),在显示页面中点击“请先安装我们的,CA,根证书”链接,系统将弹出对话框,询问是否安装在指定目录中之类,确认操作后,即可安装完成。,提示:,如果使用了,防火墙,,需要事先设置关闭或暂停隐私保护之类的相关功能。否则可能导致,CA,证书无法安装成功。另外,在,Windows,XP SP2,系统中,在安装证书时会警告“潜在的脚本冲突”,此时要选择信任此网站,点击
36、是”。,(2),在“,Foxmail,CA,证书服务”页面中点击“申请您的证书”链接。在下一页面中选择同意电子认证服务协议,而后再逐项填写个人的基本信息,(,必填项目,),与补充信息,(,选填项目,),,如图,5-10,所示。,在该表单的最下端,要选择加密服务提供程序,(即,CA,证书的提供商,),,在其下拉菜单中有若干,CSP,可选择,(,大部分,CSP,的密钥长度是,512,,如果觉得还是不够保险,可选择最后一个选项,它的密钥长度是,1024),,如图,5-11,所示。,图5-10,申请数字证书页面,图5-11,选择,CSP,选择完毕后点击“申请”按钮,若提交的表单信息均有效,在显示页面
37、中会提示完成个人数字证书申请。,提示:,如果选择一个,CSP,后申请失败,在操作无误的情况下,可尝试选择其他,CSP,,此乃“正常”现象。,打开,Foxmail,,,选择在个人数字证书申请表中填写的那个邮箱帐户,再点击“收取”按钮,会收到一封主题为“,Foxmail,CA Certificate Download”,的邮件,打开查看其正文内容,在此即可获知自己的业务受理号与密码。,(3),下载并安装证书。在“,Foxmail,CA,证书服务”页面点击“,下载,并安装您的证书”链接,在显示页面中查看提示信息后点击“确定”。而后在下一页面中输入在邮件中获知的业务受理号,(,将其输入至证书,下载,号
38、中,),和密码,如图,5-12,所示,再选择“安装证书”即可完成。,图5-12,安装数字证书,2.,发送带数字签名的邮件,1),邮件帐户与数字证书绑定,(1)在,Foxmail,6.0,程序主界面中,选择申请数字证书的帐户后,右击,其属性如图,5-13,所示。,图5-13,打开邮箱帐户的属性页面,(2),在弹出的对话框中查看左侧列表,选择其中的“安全”,如图,5-14,所示。,图5-14,邮箱帐户的安全设置,(3),查看右侧设置视图,点击“安全”项目中的“选择”按钮,在弹出的“选择证书”对话框中,勾选其中的证书复选框,如图,5-15,所示。,(4),点击右下角的“查看证书”按钮,显示证书还没有
39、生效,如图,5-16,所示。,图5-15,选择证书,图5-16,未信任的证书信息,(5),点击该窗口的信任选项卡,选中“明确信任该证书”,如图,5-17,所示。,(6),点击确定后,返回上一个页面查看,如图,5-18,所示。,图5-17,信任证书,图5-18,被信任的证书信息,(7),确认后退回至上一界面,如图,5-19,所示。如果点击“查看证书”按钮,则可在弹出的对话框中获知证书的详细信息、路径以及有效期限等内容,其中的信任关系选项,建议保持默认设置。,图5-19,数字证书已添加,2),撰写邮件,在写邮件窗口中,选择菜单栏上的,【,工具,】【,数字签名,】,,再按常规方式发送即可,如图,5-
40、20,所示。,图5-20,发送数字签名邮件,3),收到签名邮件,当对方收到并打开该邮件时,将看到数字签名邮件的提示信息,如图,5-21,所示。在邮件内容窗口的右边,有个红色的“数字签名”图标,点击之后可看到数字签名信息,由此便可确认该邮件是由谁发出的,以及中途没有被篡改过。点击“继续”按钮,可阅读邮件的内容。,图5-21,收到签名邮件,3.,发送加密邮件,要发送加密邮件,首先必须获得收件人的公钥,然后才能给他发加密邮件。,1),获得收件人的公钥,(1),请对方使用他的数字证书向您发送签名邮件。把邮件的发件人添加到地址簿,如图,5-22,所示,所添加的卡片包含数字证书,即包含发件人的公钥信息,如
41、图,5-23,所示的,xuerabit,帐号。,(2),获得对方导出的数字证书,进行导入。,(3),从证书颁发机构的服务器上查询并获取对方的公钥。,图5-22,将发件人的地址添加到地址簿,图5-23,添加的带数字证书的帐号,2),发送加密邮件,撰写邮件,选择菜单栏上的,【,工具,】【,加密,】,,再按常规方式发送即可。这与发送签名邮件类似。,3),阅读加密邮件,如果接收到一个标识为加锁状态的邮件,则表示该邮件是加密邮件,如图,5-24,所示。只要计算机上有相应的数字证书,就可以点击“继续”按钮,阅读其中的内容。,图5-24,阅读加密邮件,4.,发送带签名且加密的邮件,如果与某个客户的邮件往来信
42、息涉及到的均是不能够为他人所知,更不能被篡改的业务信息,且双方都需要验证身份时,可发送带签名且加密的邮件。方法是以上两种方法的结合。,【,疑 难 解 析,】,问题,1,:既然发送方可以用接收方的公钥加密其对称密钥,为什么不直接用接收方的公钥加密其文件呢?这样不仅简单,而且省去了用对称加密算法加密文件的步骤。,答:不可以这么做。因为非对称密码算法有两个缺点:,(1),加密速度慢,比对称加密算法慢,10100,倍,因此只可用其加密小数据,(,如对称密钥,);(2),加密后会导致得到的密文变长。因此一般采用对称加密算法加密其文件,然后用非对称算法加密对称算法所用到的对称密钥。,问题,2,:通过对称加
43、密算法加密文件,再通过非对称算法加密对称密钥,又通过散列算法证明发送者身份和信息的正确性,这样数字签名是否就万无一失了,?,回答是否定的。问题在于接收方并不能肯定他所用的所谓发送方的公钥一定是发送方的,解决办法是用数字证书来绑定公钥和公钥所属人。,问题,3,:数据加密、数字证书、数字签名三者的关系如何?,答:数字签名以数据加密为技术基础,采用数字证书管理公钥。,问题,4,:目前,数字证书在网上银行的应用如何?,答:目前,网上银行交易认证分为“用户名和密码”、“动态密码”、“生物识别”以及“数字证书”四类,业内公认,数字证书是其中最安全的。至今,网银领域尚未出现一例因数字证书安全机制被攻破而使用
44、户资金受损的案件。,【,知识与能力拓展,】,若甲将合同文件发给乙,但甲拒不承认在签名所显示的那一时刻签署过此文件,(,数字签名就相当于书面合同的文字签名,),,并将此过错归咎于电脑,进而不履行合同,怎么办,?,解决办法是采用可信的时钟服务,(,由权威机构提供,),,即由可信的时间源和文件的签名者对文件进行联合签名。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容,(,例如合同中一般规定在文件签署之日起生效,),。在电子文件中,由于用户桌面时间很容易改变,(,不准确或可人为改变,),,由该时间产生的时间戳不可信赖,因此需要一个第三方来提供时间戳服务,(,数字时
45、间戳服务,(,DTS),是网上安全服务项目,由专门的机构提供,),,此服务能提供电子文件发表时间的安全保护。,时间戳产生的过程为:用户首先将需要加时间戳的文件用哈希编码加密形成摘要,然后将该摘要发送到,DTS,DTS,在加入了收到文件摘要的日期和时间信息后再对该文件加密,(,数字签名,),,然后送回用户。因此时间戳,(,time-stamp),是一个经加密后形成的凭证文档,它包括三个部分:需加时间戳的文件的摘要、,DTS,收到文件的日期和时间、,DTS,的数字签名。由于可信的时间源和文件的签名者对文件进行了联合签名,进而阻止了文档签名的那一方,(,即甲方,),在时间上欺诈的可能性,因此具有不可
46、否认性。,【,本 章 小 结,】,通过本章的学习,掌握数字签名的作用、基本原理与实现方法,并应用数字签名。,实训六 数字签名技术在,Foxmail,中的应用,实 训 目 的,(1),理解数字签名的作用。,(2),掌握数字签名的原理。,(3),熟悉数字证书的安装。,(4),学会使用,Foxmail,发送加密与数字签名邮件。,实 训 环 境,(1),硬件环境:计算机。,(2),软件环境:,IE,浏览器、,Foxmail,6.0、,能上互联网。,实 训 内 容,使用,Foxmail,6.0,进行邮件加密发送、接收和数字签名。,实训基础知识,申请证书时注意以下几点:,(1),根证书、个人证书和私钥在个
47、人证书发行时是,3,个独立的部分,分别保存在,3,个独立的存盘文件中。,(2),根证书是证书发行机构的自身证书,可以用来验证该发行机构所发行的个人证书等其他证书的合法性。,(3),个人证书中包含证书持有者的个人身份信息、公钥及,CA,发行机构的数字签名,在网络通信中标识证书持有者的个人身份。,(4),私钥文件是存放私钥的文件,与证书中的公钥组成一对互相匹配的公私钥对,是基于证书的加密体系的重要部分。私钥文件是证书持有人的私有文件,需要妥善保管。私钥文件由私钥保护密码保护,可在一定程度上避免私钥丢失而被其他人利用。,实 训 步 骤,要求:两人一组进行实验。,(1),安装,Foxmail,6.0,
48、软件。,(2),完成,Foxmail,CA,证书的申请与安装,详细步骤参见,ca.,foxmail,.com.,cn,/。,(3),证书安装完后,点击,IE,浏览器的,【,工具,】【,Internet,选项,】【,内容,】【,证书,】,,找到有自己名字的证书后抓图记录到实验结果。,(4),打开,Foxmail,,,发送签名邮件。,(5),对方查看签名邮件并抓图记录到实验结果。,(6),发送加密邮件给接收方。,第一步,获取对方的公钥。有两种方法:,请对方使用他的数字证书向你发送签名邮件。,选择带有数字签名的邮件,点击“邮件”“将发件人加到地址簿”,把发件人添加到地址簿的指定文件夹中。所添加的卡片
49、包含数字证书。,点击,IE,浏览器的“工具”“,Internet,选项”“内容”“证书”,找到有自己名字的证书,导出证书,如图,5-25,所示。,图5-25 “,证书”对话框,导出证书时选择“是,导出私钥”,如图,5-26,所示。,将证书保存为,.,pfx,文件,并发送给邻位的同学,然后将自己的证书删除。在对方的计算机上将证书导入。,IE,提示导出后私钥使用方式,可同时选择多项,如图,5-27,所示。,注意:,若选择“启用加强保护”,则导出后的证书只可于限定,IE,版本或更高版本级别使用,如,IE 5.0,以上,可根据需使用计算机,IE,版本选择。若选择“如果导出成功,删除密钥”,则本次证书导出成功后本计算机不保留该证书私钥,如不再需要于本计算机使用证书,可选择该项。,图5-26,导出证书,图5-27,导出文件格式,第二步,发送加密邮件。,(7),发送加密与签名邮件。获得了对方的数字证书,且申请了数字证书后,就可发送加密与签名邮件。在发送邮件时,选中“工具”菜单下的“加密”与“数字签名”,如图,5-28,所示。,(8),查看加密与签名邮件,抓图记录到实验结果。,图5-28 “,写邮件”对话框,实 训 思 考,加密邮件与签名邮件有什么区别?,






