1、第十章 网络安全应用 -安全电子邮件一、安全的电子邮件服务二、安全电子邮件工作模式三、PGP网络与信息安全2一、电子邮件的安全服务 现在大多数电子邮件都不能提供所必须的安全服务,即现在大多数电子邮件都不能提供所必须的安全服务,即使是一些专门设计的安全电子邮件系统也只提供其中的若使是一些专门设计的安全电子邮件系统也只提供其中的若干种。干种。私有性(机密性)私有性(机密性)认证认证完整性(完整性(integrity):integrity):向接收者保证发送者发送的邮件消向接收者保证发送者发送的邮件消息在传输过程中没有被修改过。息在传输过程中没有被修改过。非否认非否认邮件提交证据邮件提交证据邮件投递
2、证据邮件投递证据消息流的机密性(消息流的机密性(message flow confidentiality):message flow confidentiality):隐隐私保护的扩展。私保护的扩展。CarolCarol不仅无法知道不仅无法知道AliceAlice发送给发送给bobbob的邮的邮件中的内容,甚至不能确定件中的内容,甚至不能确定AliceAlice是否给是否给bobbob发过邮件。发过邮件。网络与信息安全3电子邮件的安全服务匿名性(匿名性(anonymity):anonymity):邮件的接收者无法得知发送者的身份邮件的接收者无法得知发送者的身份防泄漏(防泄漏(containme
3、nt):containment):网络能够保证具有某种安全级别的网络能够保证具有某种安全级别的信息不泄漏到特定区域的能力。信息不泄漏到特定区域的能力。审计(审计(audit):audit):网络具有的能够记录安全相关事件的能力。网络具有的能够记录安全相关事件的能力。计费(计费(accounting)accounting):邮件系统维护系统使用记录的能力。:邮件系统维护系统使用记录的能力。自毁(自毁(self destruct):self destruct):系统提供的一个选项,发方可规定系统提供的一个选项,发方可规定邮件到达收方后邮件被销毁,这样邮件到达收方后邮件被销毁,这样AliceAlic
4、e就可给就可给bobbob发一个发一个bobbob不能转发和存储的邮件,邮件系统能够解密并显示该信不能转发和存储的邮件,邮件系统能够解密并显示该信息,然后将其删除。该特性可以采用这样的方式实现:把息,然后将其删除。该特性可以采用这样的方式实现:把邮件消息标志为自毁消息,收方的邮件程序配合工作,显邮件消息标志为自毁消息,收方的邮件程序配合工作,显示该消息之后将其删除。示该消息之后将其删除。消息序列完整性(消息序列完整性(Message sequency integrity):Message sequency integrity):保证一保证一系列消息按照传输顺序到达,不会丢失。系列消息按照传输顺
5、序到达,不会丢失。网络与信息安全4建立密钥建立公开密钥建立公开密钥如果如果AliceAlice想给想给bobbob发送签名的消息,那么发送签名的消息,那么AliceAlice只需要对消息签名然只需要对消息签名然后发送即可,并不期望后发送即可,并不期望bobbob已经拥有其证书,也不会在邮件消息中包已经拥有其证书,也不会在邮件消息中包含其证书。含其证书。如果如果AliceAlice希望给希望给bobbob发送加密的消息,那么在构造邮件消息之前,发送加密的消息,那么在构造邮件消息之前,AliceAlice必须知道必须知道bobbob的公钥,的公钥,AliceAlice得到得到bobbob公钥的方法
6、有多种:公钥的方法有多种:采用某种安全的带外机制接收采用某种安全的带外机制接收bobbob公钥,并将其安装在自己的工作站上。公钥,并将其安装在自己的工作站上。AliceAlice可以通过可以通过PKIPKI获得获得bobbob的公钥的公钥邮件系统允许在邮件消息中捎带证书和邮件系统允许在邮件消息中捎带证书和CRLCRL。AliceAlice可通过给可通过给bobbob发送签发送签名消息的方式把自己的证书发送给名消息的方式把自己的证书发送给BOBBOB。如果。如果ALICEALICE不知道不知道BOBBOB的公钥,的公钥,她可以要求她可以要求BOBBOB以同样的方式把其证书发送过来。以同样的方式把
7、其证书发送过来。建立秘密密钥建立秘密密钥通过带外方式传输,但参与者很多时就没有办法使用了。通过带外方式传输,但参与者很多时就没有办法使用了。AliceAlice设法从某个设法从某个KDCKDC获得获得BOBBOB的门票,并且在发送给的门票,并且在发送给BOBBOB第一个消息第一个消息时将门票发送给时将门票发送给BOBBOB。网络与信息安全5私有性v面临的威胁:搭线者能够获取在网络上传输的邮件消息。中继结点可能安装了保存邮件消息的软件,并将邮件泄漏给第三者。这种的情况的发生一是由于该中继结点已经被攻击者侵入,也可能是该结点故意设定了这样的功能。如中继节点可能是安全网关,出于安全的考虑,网关的拥有
8、者希望能够监视进出网络的邮件消息。安全需求之间经常存在冲突。例如,Alice希望保证其发送给bob的邮件内容的保密性,但Alice的领导可能希望能够监视她的邮件内容,以确保Alice没有泄漏公司的商业秘密。网络与信息安全6私有性v端到端的私有性如Alice想发送加密的邮件消息给Bob,自然的想法就是Alice用BOB的公钥或者双方商定的共享密钥加密邮件消息。但是,邮件加密通常并不采用这种方式,因为:v如果Alice要向多个接收者发送一个邮件,那么Alice需要针对每个接收者分别加密邮件消息,结果是发送给每个接收者的消息都不相同。v公钥加密比私密密钥加密慢得多,因此即使BOB拥有公钥,人们还是希
9、望能使用秘密密钥加密邮件消息。v如非必要,最好不使用长期密钥。所以,为了延长Alice和BOB之间共享的长期密钥的生命周期,最好是尽可能少地使用这种更新代价昂贵的密钥加密消息。网络与信息安全7私有性v端到端的私有性邮件系统做法是:由Alice选择一个随机的秘密密钥S,该密钥只用来对一条消息进行加密处理。vAlice首先使用S加密邮件消息,然后使用BOB的公钥加密S,再把加密的消息和加密的密钥都发给BOB。这样即使Alice需要向多个接收者发送消息,她只需要使用密钥S对消息进行一次加密。但是Alice仍然需要分别使用接收者的密钥加密S,并且在邮件消息中包含加密的密钥S。网络与信息安全8私有性v如
10、果采用的是公钥技术,假设BOB的公钥是Kbob,Carol的公钥是Kcarol,Ted的公钥是KTed;如果是对称密钥技术,则Kbob指的是Alice和Bob共享的密钥。Alice要发给BOB、Carol和Ted的消息为m,S是Alice选择的、用来加密m的密钥,则Alice 发送的邮件消息应当包括:v Bob的名称;KbobSv Carol的名称;KcarolSv Ted的名称;KTedSvSmv如Alice 可能会发送如下消息:vTo:bob,Carol,Ted From:Alice Key-info:Bob-4280234208034 Key-info:Carol-48235235344
11、848488 Key-info:Ted-99349248 Msg-info:RJekcr283hkjsdf8ghn327&3489724$*92网络与信息安全9私有性v列表分发站点的私有性假设Alice向某个远程列表分发站点发送邮件,Bob是惟一的接收者,而且该分发列表存储在远程结点上,Alice甚至不知道该列表中的成员,应当如何保证邮件的私有性呢?与端端模式类似,Alice需要为每一个邮件消息选择一个随机密钥S,然后使用S对消息进行加密,分发列表站点将解密S(并不需要解密消息),然后使用转发目标的密钥加密S。本地分发需要采用不同的机制,Alice仍然必须信任邮件列表的维护者,因为攻击者可
12、能会在分发列表中插入其他名称。分发列表仅仅是一些名字的列表,如果不能与某个名字所代表的实体建立密钥,那么Alice就不能向其发送安全邮件。网络与信息安全10源认证在传统的邮件系统中,发送者是可以更改发送给他人的邮件的在传统的邮件系统中,发送者是可以更改发送给他人的邮件的FROMFROM域的。因此,邮件系统需要进行源认证。域的。因此,邮件系统需要进行源认证。基于公钥技术的源认证采用对邮件消息进行数字签名,这种方式可以推广到多个接收者基于私密密钥的源认证使用共享密钥对邮件消息进行某种密码运算,运算的结果可以用于完整性校验MIC或MAC。分发列表的源认证如采用公钥机制较为简单,签名机制仍有效。如采用
13、秘密密钥机制,利用Alice与分发站点之间的共享密钥对消息进行签名,分发站点在转发邮件之前须删除Alice添加的认证信息,然后针对每一个接收者添加其自己的认证信息。接收者只能相信分发站点发出的“该消息的确源自于Alice”的声明网络与信息安全11抗抵赖抵赖(repudiation)是指用户不承认发送过某个消息的行为。邮件系统提供抗抵赖(non-repudiation)功能是指Alice给Bob发送了一个消息,那么她以后就不能否认她的发送行为,Bob可以向第三方证明Alice的确发过消息。网络与信息安全12基于公开密钥技术的抗抵赖基于公开密钥技术的抗抵赖通过数字签名实现任何知道Alice公钥的人
14、都可以校验Alice的签名基于公开密钥技术的可抵赖邮件消息Alice选择一个秘密密钥S,并在处理消息m时使用Alice使用Bob的公钥加密S,得到SBobAlice使用其私钥对签名SBob,得到SBob AliceAlice使用S计算消息m的MAC(如可用DES计算消息的CBC留数)Alice把MAC,SBob Alice和m发送给BobBob将知道该消息来自于Alice,因为Alice对加密的S进行了签名,但Bob不能向他人证明Alice发送过该消息,他只能在某种程度上证明Alice发送过密钥S消息,但不一定发送过消息m,因为一旦Bob得到了SBob Alice,他就能构造任何他想构造的消息
15、并使用密钥S构造消息的完整性校验验码。网络与信息安全13基于秘密密钥技术的抗抵赖假设假设AliceAlice要向要向BobBob发送消息,并且发送消息,并且BobBob能够向第三方证明能够向第三方证明AliceAlice的确发送过消息。这时需要一个的确发送过消息。这时需要一个BobBob和第三方都信任的和第三方都信任的公证人(公证人(notary)N.notary)N.有两种方法可以使得有两种方法可以使得BobBob确信该消息的确信该消息的确是经过确是经过N N证明的,而且证明的,而且BobBob能够在需要的时候向第三方能够在需要的时候向第三方证明证明N N证明了该消息证明了该消息。BobBo
16、b和和N N可建立一个共享密钥,可建立一个共享密钥,N N使用这个密钥对使用这个密钥对AliceAlice的名称、消息的名称、消息本身和封印的串接结果产生本身和封印的串接结果产生MAC.MAC.因为因为BobBob也知道这个共享密钥,因此也知道这个共享密钥,因此他可以通过校验他可以通过校验MACMAC的方式校验封印的有效性。的方式校验封印的有效性。BobBob可以在接收到该消息之后向可以在接收到该消息之后向N N发送一个请求消息询问发送一个请求消息询问N N的封印的真的封印的真实性,这个请求当然必须包含实性,这个请求当然必须包含AliceAlice的名称、消息本身和封印。的名称、消息本身和封印
17、。封印:封印:N N使用只有自己才知道的使用只有自己才知道的S SN N对对AliceAlice的消息和的消息和AliceAlice的名称进行的名称进行某种运算,计算的结果称为某种运算,计算的结果称为N N对该消息的封印(如对该消息的封印(如N N的封印可以是的封印可以是AliceAlice的名称、消息本身和的名称、消息本身和S SN N串接以后的消息摘要)串接以后的消息摘要)网络与信息安全14邮件提交证据为了实现邮件提交证据(Proof of Submission)服务,邮件系统可将邮件信息与其它有用的信息串接起来,然后计算消息摘要并对其进行签名。用户可以使用该证据来证明该消息已被发送。网络
18、与信息安全15安全邮件系统PEM(Privacy Enhanced Mail)是internet社团在20世纪80年代末和90年代初期开发的邮件系统。增加加密、源认证和完整性保护功能。PEM文档包括四个部分:RFC1421描述了消息格式RFC1422描述了CA的层次结构RFC1423描述了PEM中使用的基本密码算法RFC1424描述了请求证书以及请求和发布CRL的邮件消息格式网络与信息安全16名称与地址MIME(Multipurpose Internet Mail Extension,RFC2405)规定了一种在电子邮件中嵌入图片、丰富文本、视频片断、二进制文件等任意数据的标准方法。该规范还规
19、定了指明邮件中的数据为何种类型的方法,以便接收者能对数据进行相应的处理。S/MIME(RFC2633)采用了PEM的基本设计思想,并支持MIME规范,把签名数据和加密数据作为新的数据类型嵌入到邮件中。网络与信息安全17名称与地址为了解决X.509证书中的名称不是邮件接收者的电子邮件地址这个问题,S/MIME标准规定电子邮件地址应当作为备用名出现在证书中。证书的签发者需要像仔细审查证书的主体名称(X.500名称)与密钥的关联关系那样,仔细检查备用名(电子邮件地址)与密钥的关系。根据该标准的规定,电子邮件系统在使用这样的证书时,可以忽略证书中的主体名称(X.500名称)。X.509 V3中在证书格
20、式中支持备用名比S/MIME协议的大规模应用要晚。因此S/MIME没有使用备用名这个域,而是在X.500名称中新增加了一个部件,使能包含电子邮件地址。例如,/C=US/O=CIA/OU=drugs/PN=Manuel Noriega/E=AliceWonderland.edu.网络与信息安全18校验消息的真正发送时间防止时间推后借助于一公证人。如果发方否认,则收方就可以向法官出示经过公证的Alice的订单消息以及Alice的证书和CRL,这样法官就能从法律上确定Alice的确在这个时间发送过该消息。如收方担心Alice可能会控制为其签发证书的CA,从而能够伪造证书或CRL的时间,则可以要求公证
21、人对Alice的证书和CRL也进行时间签名操作。防止时间提前要证明某个消息是在某一特定时间之后生成的,可以在消息中嵌入一个在这个时间之前还不知道的东西。网络与信息安全19二、安全电子邮件工作模式一般情况下,安全电子邮件的发送必须经过邮件签名和邮件加密两个过程,而对于接收到的安全电子邮件,则要经过邮件解密和邮件验证两个过程,其工作模式为:网络与信息安全20发送方邮件签名邮件加密发送安全电子邮件接收安全电子邮件邮件解密邮件验证接收方客户服务器邮件签名对于一封已格式化好的电子邮件,用相应摘要算法(MD5、SHA-1)计算MD,然后用发送者的私钥对MD采取相应的公钥算法加密得到该邮件的数字签名,最后合
22、成数字签名和原邮件体得到已签名的邮件。网络与信息安全21MD算法公钥加密算法串接已签名邮件普通邮件散列值签名数据发送方私钥邮件加密网络与信息安全22对称加密算法公钥加密算法随机会话密钥加密数据加密的会话密钥串接安全邮件已签名邮件接收方公钥邮件解密网络与信息安全23分解解密解密随机会话密钥加密数据加密的会话密钥安全邮件已签名邮件接收方私钥邮件验证网络与信息安全24已签名邮件发送方公钥分解解密比较签名数据散列值1散列值2散列值相同,则验证成功,否则失败原始邮件摘要算法三、PGPPGP(Pretty Good Privacy)1991年发布V1.0PGP成功很大程度上归功于Phil Zimmerma
23、nn.Phil Zimmermann做了如下工作:选择了可用的、最好的加密算法作为构件块将这些算法集成一个通用应用程序中,该应用程序独立于OS和CPU,仅依赖于一组易用的命令。将其封装成包括源代码的包和文档,可通过互联网在BBS和商用网络上FREE使用与Network Associate达成协议,提供完全兼容、低成本的商用PGP版本。PGP广泛使用的原因各种平台都有FREE版本使用算法经过公开检验。如RSA、DSS、DH,及CAST-128、IDEA、3DES、SHA-1企业和个人均可使用。PGP已成互联网标准(RFC3156)网络与信息安全25三、PGPPGP(Pretty Good Pri
24、vacy)是个完整的安全电子邮件软件包,提供5种服务:保密性:使用IDEA、3DES等算法和发送者产生的一次性会话密钥加密消息,使用DH、RSA等算法和接收者的公钥加密会话密钥,然后将结果附加到消息中。数字签名:使用MD5、SHA-1算法创建HASH代码;使用RSA、DSS等算法和发送者的私钥加密消息摘要,然后将结果附在消息中。压缩:使用ZIP算法,方便保存与传输。邮件兼容性:使用radix 64转换将加密后的消息从二进制数据流转换为ASCII字符流数据分段:PGP执行数据分段与重组服务以便满足最大消息大小的限制。网络与信息安全26数字签名发送方生成所要发送的消息发送方使用MD5算法产生消息的
25、128位HASH编码发送方采用RSA算法和发送方的私钥对HASH编码进行加密,将加密后的HASH编码附在原始消息的头部接收方使用RSA算法和发送方的公钥对加密的HASH编码进行解密接收方产生所接收消息的新的HASH编码,并与解密的HASH编码进行比较。如果两者相同,则认为消息是可信任的。网络与信息安全27保密性发送方生成所要发送的消息发送方产生仅仅适用于该消息的随机数字作为会话密钥发送方使用会话密钥和IDEA(或3DES、CAST-128等)算法加密消息;用接收方的公钥和RSA算法加密会话密钥,并将结果附在加密消息的头部;接收方使用自己的私钥和RSA算法解密会话密钥。接收方使用会话密钥解密消息
26、。网络与信息安全28数据压缩在缺省情况下,PGP在数字签名服务和保密性服务之间提供数据压缩服务,即先对消息签名,然后压缩,最后对压缩消息加密。在加密前压缩,压缩后的消息比最初的明文具有更少的冗余,这样增加了密码分析的难度,提高了邮件安全性。网络与信息安全29邮件兼容性在PGP中部分或全部的结果块将由任意的8位二进制字节流组成。由于很多电子邮件系统只允许使用纯ASCII文本构成的块PGP提供了将原始的8位二进制字节流转换成可打印的ASCII字符串的服务。采用radix 64转换的方案:每个二进制数据块(6位长)被映射为ASCII字符,同时也使用了CRC来检测传送中的错误。网络与信息安全30填充
27、v jX23L11/63 u i W22K10+62 t hV21J9961 s gU20I8 r fT19H72 q eS18G6 1 pd R17F5 052 oc Q16E4 z51 nb P15D3 y ma 26O14C2 x lZ25N13B1 w kY24M12A0字符码6位值字符码6位值字符码6位值字符码6位值字符码6位值PGP消息的发送与接收PGP在发送时,如需要签名,则发送方使用未压缩明文的hash编码产生签名。然后压缩明文与签名。接着如果需要保密性,则加密压缩后的明文或是压缩后的签名和明文,并在结果上附加使用接收方的公钥加密后的对称密钥。最后,将整个数据块转换成radix
28、 64 编码格式。接收消息时,接收方首先将接收到的数据块从radix64格式转换成二进制格式。如果消息是加密的,则接收方恢复会话密钥并解密消息,然后解压结果压缩数据块。如果发送方已经对消息进行了签名,则接收方恢复传输的Hash编码,并与自己计算出的Hash编码进行比较。网络与信息安全31PGP消息的发送与接收网络与信息安全32明文消息:M从Radix 64转换MR64-1(M)需要签名需要保密性?需要保密性?压缩M-Z(M)转换为Radix 64MR64(M)加密密钥、MM-EKUb(Ks)|EKs(M)产生签名M-签名|M解压M-Z-1(M)需要签名从M中分离签名,并验证签名解密密钥、MKs
29、-DKUb(EKUb(Ks)M-DKs(EKs(M)YNYNYNYN消息发送消息接收PGP的工作原理密钥管理PGP使用四种类型的密钥:一次性会话密钥、公钥、私钥和基于对称密钥的口令。密钥需求:需要产生不可预测的会话密钥允许用户拥有多个公钥/私钥对(密钥更时的兼容性)每个PGP实体必须管理一个自己的公钥/私钥对文件和一个其他用户的公钥文件。网络与信息安全33PGP中每个用户所在节点要维护两个文件:私钥环和公钥环。算法模式电子簿模式(electronic codebook mode)ECB密码块链接(cipher block chaining)CBC密码反馈方式(cipher feedback)C
30、FB输出反馈方式(output feedback)OFB34网络与信息安全电子簿模式ECB相同明文相同密文同样信息多次出现造成泄漏信息块可被替换信息块可被重排密文块损坏仅对应明文块损坏适合于传输短信息35网络与信息安全分组密码的优缺点但是,通过采用流密码流密码的设计思想,在加密过程中采用合理的记忆组件记忆组件,能够消除这些局限性。如果在构造分组密码系统的时候直接采用分组密码算法,则称这种工作模式为电码本(ECB)模式。分组密码的上述缺陷导致了这种工作模式也具有相应的缺陷。因此,实际采用的分组密码工作模式是对电码本(ECB)模式的改进。36u分组密码主要有两个优点分组密码主要有两个优点v 易于标
31、准化v 易于实现同步u局限性局限性v 分组密码不便于隐藏明文的数据模式v 对于重放、插入、删除等攻击方式的抵御能力网络与信息安全密码块链接CBC需要共同的初始化向量IV相同明文不同密文初始化向量IV可以用来改变第一块安全性好于ECB37网络与信息安全密码反馈方式CFBCFB:分组密码流密码需要共同的移位寄存器共同的移位寄存器初始值IV对于不同的消息,IV必须唯一一个单元损坏影响多个单元:(W+j-1)/j W为分组加密块大小,j为流单元位数38网络与信息安全输出反馈方式OFBOFB:分组密码流密码需要共同的移位寄存器共同的移位寄存器初始值IV一个单元损坏只影响对应单元39网络与信息安全会话密钥
32、的产生以CAST-128加密算法为例随机数生成器输入:128比特的密钥、两个64比特待加密的明文块,使用密码反馈模式,CAST-128产生两个64比特的密文块,串接起来构建128比特的会话密钥。输入明文来源于一个128比特的随机数据流。这些数据由用户击键产生,由击键时间和击键值生成随机流。该随机流与以前CAST-128产生的会话密钥作为输入,产生会话密钥。网络与信息安全40密钥标识符指示收发双方所使用的私钥/公钥对。PGP给每个公钥分配一个ID=(PUa mod 264)网络与信息安全41密钥环(一)PGP中每个节点要维护的两个文件:私钥环(Privacy Key Ring)和公钥环(Publ
33、ic Key Ring).私钥环存储当前节点用户自己的公钥、私钥对,其中包含:Timestamp:指明密钥对产生的时间、日期密钥标识符(Key ID):公钥的低64位。公钥私钥:该字段被加密。用户标识符(User ID):通常是用户的邮件地址,也可以是一个不同的名字与每个密钥对关联,或者不止一次地重用同一个用户标识符。发送方将公钥标识与消息捆绑在一起传送,将一个标识符与一个公钥关联起来,对一个用户来说,做到一一对应,使接收方知道应该用那一个公开密钥进行解密。网络与信息安全42密钥环(二)公钥环存储当前节点知道的其它用户一些经常通信对象的公钥。其中,用户标识符是公钥拥有者的邮件地址或名字,多个用
34、户标识符可以对应一个公钥。公钥环可以用用户标识符或密钥标识符进行索引。网络与信息安全43私钥加密存储对消息进行加密可使用IDEA、3DES、CAST-128等对称加密算法。以IDEA为例,其过程如下:当系统用RSA生成一个新的公钥、私钥对时,要求用户输入口令短语,对该口令短语用MD5生成一个128位的Hash编码,然后销毁该短语。利用这128位编码作为密钥,用IDEA算法加密私钥,然后销毁这个Hash编码,并将加密后的私钥存储在私钥环中。当用户要访问私钥时,必须提供口令短语。PGP将检索出加密的私钥,生成Hash编码,并解密私钥。网络与信息安全44消息格式(一)Classic PGP消息包括3
35、部分:密钥部分、签名部分、消息部分。密钥部分:密钥和密钥标识符。由于PGP允许每个用户有多个公钥。签名部分:头Timestamp发送方公钥标识符类型信息加密的Hash编码本身。其中公钥标识符指明了用于解密签名Hash编码的公钥,类型信息标识了所使用的算法。消息部分:头和缺省文件名。如果接收方要将文件写入DISK中,则可以使用该缺省文件名。另外,消息部分还包含了一个用来标识该消息被创建时间的Timestamp,最后是消息本身。网络与信息安全45消息格式(二)网络与信息安全46密钥IDKUb会话密钥Ks签名头TS密钥IDKUaMD前两个8位字节消息摘要 消息头文件名TS消息密钥部分签名部分消息部分
36、经过压缩,并由会话密钥加密EKsEKUbRadix 64格式的PGP消息为使接受方能够判断是否使用了正确的公钥解密消息摘要。可以通过比较明文中的前两个字节与解密摘要中的前两个字节。PGP消息的处理(一)如何在消息的发送和接收中使用密钥环发送消息的PGP实体执行下列处理步骤:签名消息PGP用发送方(用户A)的用户标识符(IDA)作为索引,从私钥环中得到用户A的私钥,PGP提示输入口令短语,来恢复用户A的私钥KRa,构造签名部分。加密消息PGP产生一个会话密钥Ks,并加密签名消息。PGP使用接收方(用户B)的用户标识符(IDB)从公钥环中获取其公钥KUb,构造消息的会话密钥部分。网络与信息安全47
37、PGP消息的处理(二)接收消息的PGP实体执行下列步骤:解密消息PGP用消息的会话密钥部分的密钥ID字段作为索引,从私钥环中查找接收方(用户B)的私钥。提示用户输入口令短语来恢复私钥。然后恢复会话密钥,并解密信息。消息认证PGP使用消息签名部分的密钥ID字段作为索引,从公钥环中查找发送方(用户A)的公钥KUa.恢复所传输的消息摘要。对接收的消息计算消息摘要,并与所传输的消息摘要进行比较,从而实现认证。网络与信息安全48PGP的公钥交换?网络与信息安全49四、S/MIMES/MIME安全服务通过数字签名提供了身份验证和不可抵赖性服务,通过数据加密提供了保密性服务。数字签名当产生MD时,发送方代理
38、和接受方代理都必须支持SHA-1算法。为了兼容以前版本S/MIME,接收方代理还应支持MD5.当产生数字签名时,发送方代理和接收方代理都必须支持DSS算法,且该算法不带任何参数。同样,为了兼容以前版本的S/MIME,接收方代理和发送方代理都应支持RSA,能够使用用户用私钥对所发消息签名。网络与信息安全50安全/多用途因特网邮件扩展S/MIME保密性当对会话密钥进行加密时,发送方代理和接收方代理都必须支持DH。接收方代理应当支持RSA解密这样就能够使用私钥解密收到的消息以获取会话密钥,同时从兼容性考虑,发送方代理也应当支持RSA加密。当对消息内容进行加密时,发送方代理和接收方代理都必须支持三重D
39、ES加解密。接收方代理还应当支持RC2加解密,或者其他使用40位密钥的兼容算法。当发给多个接收方,而这些接收方之间又没有一个统一适用的加密算法时,发送方代理就必须发送多于一个的消息。网络与信息安全51S/MIMES/MIME消息S/MIME的消息是由MIME实体和CMS(加密消息语法)对象组合而成,其中使用了一些MIME类型和CMS对象。一个重要的类型为application/pkcs7-mime,它用来封装加密和签名所使用的CMS对象,以保证MIME实体的安全性。首先需要保护的数据通常根据MIME进行规范化。而其他的一些信息,如证书、算法标识符等则用于产生CMS对象。最后CMS对象也用MIM
40、E结构进行封装。网络与信息安全52S/MIME规范化三个描述性步骤:根据本地格式准备MIME实体消息将MIME实体的每一部分转换为规范的形式对MIME实体的每一部分使用合适的传输编码 接收到S/MIME消息后,对其中的安全内容进行处理就可以得到封装后的MIME实体,然后再由能够处理MIME结构的程序作进一步解析,最后得到原始数据。网络与信息安全53S/MIME加密消息.使用S/MIME加密消息的步骤如下:根据MIME规范准备要加密的MIME实体用MIME实体和其它必须的信息产生类型为envelopedData的CMS对象,另外为每个接收方产生加密的会话密钥副本,并一起放入该CMS对象中。将此C
41、MS对象封装在类型为application/pkcs7-mime的MIME实体中,该类型中的smime-type参数的值为enveloped-data,消息文件的扩展名为.p7m.网络与信息安全54S/MIME签名信息S/MIME为消息签名定义了两种格式:一种使用application/pkcs7-mime类型的SignedData,另外一种是Multipart/signed。发送消息时,通常使用后一种,但接收消息时,接收方代理应当支持全部两种格式。对于使用SignedData格式进行签名的信息,如果接收方不支持S/MIME,则不能查看原始消息。只有当接收方具备S/MIME功能的时候,才能查看
42、并验证消息。使用该格式对消息进行签名的步骤:根据MIME规范准备要签名的MIME实体用MIME实体和其他必需的信息产生类型为SignedData的CMS对象将此CMS对象封装在类型为application/pkcs7-mime的MIME实体中,该类型中smime-type参数值为Signed-data,消息文件扩展名为.p7m网络与信息安全55S/MIME对于使用multipart/Signed格式进行签名的信息,无论接收方是否支持S/MIME,原始消息均能够被查看。这种格式包括两个部分:第一部分是用于签名的MIME实体,第二部分为数字签名。使用该格式对消息进行签名的步骤:根据MIME规范准备
43、要签名的MIME实体用MIME实体产生类型为SignnedData的CMS对象,该对象不包括涉及信息内容的部分将MIME实体放入multipart/signed的第一部分中;对第(2)步中signedData类型的CMS对象(签名)进行编码,并将其封装在类型为application/pkcs7-signature的MIME实体中。将类型为application/pkcs7-signature 的MIME实体放入multipart/signed 的第二部分中。multipart/signed类型必须有两个参数:protocol和micalg.其中protocol参数的值必须为applicatio
44、n/pkcs7-signature,micalg参数的值为消息完整性验证中所使用的摘要算法。如果使用了多个摘要算法,则这些值必须以逗号分隔的形式逐一给出。网络与信息安全56S/MIME加密和签名S/MIME实现者必须能够处理任意层次嵌套的消息格式先加密而后签名,接收者能够验证加密块是否被 修改,但是不能够确定原始信息是否由签名者所发。先签名后加密,接收者能够确定原始信息是否被修改,但却不能保证加密块的不被修改。网络与信息安全57S/MIME证书处理过程S/MIME使用的公钥证书与X.509 V3一致S/MIME使用的密管理模式是严格的X.509证书层次结构和PGP的基于WEB信任方式的一种混合
45、方式。S/MIME管理者and/or配置每个客户端的信任密钥表和证书撤销表。签名的验证以及签名工作都是通过本地维护证书实现的。网络与信息安全58S/MIME证书处理过程用户代理职责:密钥生成:生成单独的DH、DSS密钥对,且应该能够生成RSA密钥对(密钥长度768-1024)注册:用户公钥必须到认证机构注册证书存储和检索用户访问本地的证书列表,以完成签名及签名验证工作。网络与信息安全59增强的安全性服务互联网草案中提出了三种增强的安全性服务:签收(Signed receipt):对SignedData对象要求进行签收。接收方将对整个原始消息和发送方的原始签名进行签名,并将此签名与消息一起形成新
46、的S/MIME消息。安全标签(Security label):在SignedData对象中可以包括安全标签。安全标签是描述S/MIME封装信息敏感度的安全信息集合。可用于访问控制,还可以描述优先级(秘密、机密、受限等)或基础角色,即哪些人可以查看信息。安全邮件列表(Security mailing list)。用户可以通过邮件列表代理(MLA)向多个接收方发送消息。MLA对一个输入消息为各接收方进行相应的加密处理,而后自动发送消息。网络与信息安全60五、抗抵赖协议举例-NRPUM一种抗抵赖协议NRPUM电子邮件的UA与MTA间抗抵赖协议 Non-Repudiation Protocol bet
47、ween UA and MTA 协议目标:不可否认性公平性减少TTP的参与,提高效率 能抵御常见的篡改和重放攻击主要的解决思路:采用offline TTP协议包括三段会话,分别是正常情况下的“交换会话”、发送方发起的“取消会话”、及接收方发起的“完成会话”每条消息均含有会话标识,并被安全封装 第61页InlineOnlineOfflineOffline-3公平性强弱弱强TTP介入程度强较强弱弱效率低较低较高较高网络与信息安全关键技术分析()-NRPUM网络与信息安全第62页交换会交换会话话取消会取消会话话完成会完成会话话关键技术分析()-NRPUM协议的交换会话 交换会话是协议的主要部分,参与
48、主体为A和B,在双方诚实且信道正常的情况下执行。网络与信息安全第63页Alice(Sender)Bob(Receipt)M,L,A,KABKBKT,EOO1AKABKBL,EORB KAL,KAB,EOO2A KBEOO1A=H(L,A,m,KABKBKT)KA-1EORB=H(L,A,m,KABKBKT,EOOAKAB)KB-1关键技术分析()-NRPUM取消会话 当A没有在期望时间内获得正确的EORB,则与TTP执行取消会话。第64页Alice(Sender)L,A,H(m),KABKBKT,EOO1A,EOO3AKTL,H(L,CANCEL,EOO1A)KT-1 KATTPL,EORB,
49、EOO1T KA网络与信息安全关键技术分析()-NRPUM取消会话 当A没有在期望时间内获得正确的EORB,则与TTP执行取消会话。第65页Alice(Sender)L,A,H(m),KABKBKT,EOO1A,EOO3AKTL,H(L,CANCEL,EOO1A)KT-1 KATTPL,EORB,EOO1T KA网络与信息安全关键技术分析()-NRPUM完成会话 当B将接收方不可否认证据EORB发送给A后,如果在期望时间内,没有收到K KABAB,则可以与TTP执行完成会话:第66页Bob(receipt)L,A,H(m),KABKBKT,EOO1AKAB,EORB,EOOBKBL,H(L,C
50、ANCEL,EOORB)KT-1 KBL,KABKB,EOO2TKBTTP网络与信息安全研究动态美国专利:METHOD AND SYSTEM FOR SELECTIVE EMAIL ACCEPTANCE VIA ENCODED EMAIL IDENTIFIERSInventors:Robert C.Paulsen,Jr.,Austin,TX(US);Cornell G.Wright,J r.,Austin,TX(Us)Patent N0.:US 7,913,079 B2Date of Patent:*Mar.22,2011网络与信息安全67网络与信息安全68网络与信息安全69A Secure