10密码学与网络安全第十讲Word下载.docx
《10密码学与网络安全第十讲Word下载.docx》由会员分享,可在线阅读,更多相关《10密码学与网络安全第十讲Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
![10密码学与网络安全第十讲Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/11/4abc8508-7500-4ad3-86ca-30b5c0653d29/4abc8508-7500-4ad3-86ca-30b5c0653d291.gif)
网络入侵和拒绝服务等;
防范措施:
1)防止来自外部的攻击--拒绝来自特定地址的连接请求、限制单个IP的连接数量。
2)防止来自内部的攻击--实现用户身份的鉴别。
一、PGP概述
PGP(PrettyGoodPrivacy)是Internet上一个著名的共享加密软件,它与具体的应用无关,可独立提供数据加密、数字签名和密钥管理等功能适用于电子邮件内容的加密和文件内容的加密。
●PGP广泛应用的原因:
1)免费、可用于多平台。
DOS/Windows、Unix、Macintosh;
2)选用算法的生命力和安全性被公众认可;
3)具有广泛的可用性;
4)不由政府或标准化组织控制。
1.PGP安全业务
1)数字签名:
DSS/SHA或RSA/SHA;
2)完整性:
RSA、MD5;
3)消息加密:
CAST-128或IDEA或3DES+Diffie-Hellman或RSA;
4)数据压缩:
ZIP;
5)邮件兼容:
Radix64;
6)数据分段
2.PGP加密功能概要
记号说明:
Ks:
sessionkey
KRa:
用户A的私钥
KUa:
用户A的公钥
EP:
公钥加密
DP:
公钥解密
EC:
常规加密
DC:
H:
散列函数
||:
连接
Z:
用ZIP算法数据压缩
R64:
用radix64转换到ASCII格式
3、PGP的功能:
1)身份鉴别
•发送方
–产生消息M
–用SHA-1对M生成一个160位的散列码H
–用发送者的私钥对H加密,并与M连接
•接收方
–用发送者的公钥解密并恢复散列码H
–对消息M生成一个新的散列码,与H比较。
如果一致,则消息M被鉴别。
2)PGP身份鉴别说明
●RSA的强度保证了发送方的身份;
●SHA-1的强度保证了签名的有效性;
●也可使用DSS/SHA-1作为签名的可选方案。
3)PGP——保密性
–生成消息M并为该消息生成一个随机数作为会话密钥;
–用会话密钥加密M;
–用接收者的公钥加密会话密钥并与消息M结合。
–用自己的私钥解密恢复会话密钥;
–用会话密钥解密恢复消息M。
4)PGP—保密性说明
●采用CAST-128(或IDEA或3DES)、64位CFB(加密反馈)方式。
一次性密钥,单向分发,公钥算法保护;
●对称加密算法和公钥加密算法的结合可以缩短加密时间;
●用公钥算法解决了会话密钥的分配问题:
●不需要专门的会话密钥交换协议;
●由于邮件系统的存储-转发的特性,用握手方式交换密钥不太可能;
●每个消息都有自己的一次性密钥,进一步增强了保密强度。
所以,每个密钥只加密很小部分的明文内容;
●公开密钥算法的长度决定安全性RSA(768~3072bit)、DSS(1024bit)
5)保密与鉴别同时运用
•两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密,再用接收者的公钥加密会话密钥。
6)数据压缩
●压缩的位置:
发生在签名后、加密前;
●压缩之前生成签名;
●在加密前压缩:
压缩的报文更难分析。
●对邮件传输或存储都有节省空间的好处。
●LZ77的压缩过程(压缩比1.24)
4、E-mail兼容性
•加密后是任意的8位字节,需要转换到ASCII格式。
•Radix64将3字节输入转换到4个ASCII字符,并带CRC校验。
•长度扩大33%
•与压缩综合后,长度为:
–1.33×
0.5X=0.665X(仍然有1/3被压缩)
5、Radix-64变换:
将任意二进制输入映射成可打印字符的输出。
6、分段与重组
1)Email常常受限制于最大消息长度(一般限制在最大50000字节);
2)更长的消息要进行分段,每一段分别邮寄。
3)PGP自动分段并在接收时自动恢复。
4)签名只需一次,在第一段中。
7、PGP消息的传送与接收
8、加密密钥和密钥环
PGP使用四种类型的密钥:
一次性会话常规密钥,公钥,私钥,基于口令短语的常规密钥。
1)密钥标识符
•一个用户有多个公钥/私钥对时,接收者如何知道发送者是用了哪个公钥来加密会话密钥?
–将公钥与消息一起传送。
–将一个标识符与一个公钥关联。
对一个用户来说做到一一对应。
2)发送消息的格式
•一个消息包含三部分成员:
报文messagecomponent、签名signature(optional)和会话密钥sessionkeycomponent(optional)
3)密钥环
•我们已经看到KeyID对于PGP是如何关键。
i.两个keyID包含在任何PGP消息中,提供保密与鉴别功能。
ii.需要一种系统化的方法存储和组织这些key以保证使用。
•PGP在每一个节点上提供一对数据结构:
iii.存储该节点拥有的公钥/私钥对;
(私钥环)
iv.存储本节点知道的其他用户的公钥;
(公钥环)
9、PGP报文的生成
PGP—发送方处理消息的过程
•签名:
1)从私钥环中得到私钥,利用userid作为索引;
2)PGP提示输入口令短语,恢复私钥;
3)构造签名部分。
•加密:
1)PGP产生一个会话密钥,并加密消息;
2)PGP用接收者userid从公钥环中获取其公钥;
3)构造消息的会话密钥部分。
PGP报文的接收
2)
PGP—接收方处理消息的过程
•解密消息:
1)PGP用消息的会话密钥部分中的KeyID作为索引,从私钥环中获取私钥;
3)PGP恢复会话密钥,并解密消息。
•验证消息
1)PGP用消息的签名部分中的KeyID作为索引,从公钥环中获取发送者的公钥;
2)PGP恢复被传输过来的消息摘要;
3)PGP对于接收到的消息作摘要,并与上一步的结果作比较
公钥管理问题
•由于PGP重在广泛地在正式或非正式环境下应用,没有建立严格的公钥管理模式。
•如果A的公钥环上有一个从BBS上获得B发布的公钥,但已被C替换,这是就存在两条通道。
C可以向A发信并冒充B的签名,A以为是来自B;
A与B的任何加密消息C都可以读取。
•为了防止A的公钥环上包含错误的公钥,有若干种方法可用于降低这种风险。
1、物理上得到B的公钥。
2、通过电话验证公钥。
B将其公钥email给A,A可以用PGP对该公钥生成一个160位的SHA-1摘要,并以16进制显示。
这一特点称作密钥的“指纹”。
然后A打电话给B,让B在电话中对证“指纹”。
如果双方一致,则该公钥被认可。
3、从双方都信任的个体D处获得B的公钥。
D是介绍人,生成一个签名的证书。
其中包含B的公钥,密钥生成时间。
D对该证书生成一个SHA-1摘要,用其私钥加密这个摘要,并将其附加在证书后。
因为只有D能够产生这个签名,没有人可以生成一个错误的公钥并假装是D签名的。
这个签名的证书可以由B或D直接发给A,也可以贴到公告牌上。
4、从一个信任的CA中心得到B的公钥。
3)信任关系的应用
•尽管PGP没有包含任何建立认证权威机构或建立信任体系的规格说明,但它提供了一个利用信任关系的手段,将信任与公钥关联,利用信任信息。
1)Keylegitimacyfield(密钥合法性字段):
表明PGP将信任这是一个对该用户是合法的公钥;
信任级别越高,这个userID对这个密钥的绑定越强。
这个字段是由PGP计算的。
2)每一个签名与一个signaturetrustfield(签名信任字段)关联,表明这个PGP用户对签名人对公钥签名的信任程度。
Keylegitimacyfield是由多个signaturetrustfield导出的。
3)Ownertrustfield(拥有者信任字段):
表明该公钥被信任用于签名其它公钥证书的信任程度。
这一级别的信任是由用户给出的。
4)信任关系处理过程
1、当A向公钥环中插入一个新公钥时,PGP必须向trustflag赋值,该标志与该公钥的主人相关。
如果其主人是A,则该值为最高信任(ultimatetrust)。
否则,PGP询问用户,让用户给出信任级别。
用户可选:
该公钥的主人是不认识(unknown)、不信任(untrusted)、接近信任(marginallytrusted)或完全信任(completetrusted)。
2、当新公钥进入时,可能有一个或多个签名跟随其后。
许多签名可以以后再加入。
当一个签名插入到一个条目中时,PGP查找该公钥环中是否已有公钥的主人中包含该公钥的作者。
如果包含,则这个主人的OWNERTRUST值被赋予该签名的SIGTRUST字段。
否则,赋予unknownuser值。
3、keylegitimacyfield的值基于该条目中signaturetrustfield来计算。
如果至少一个签名有一个签名信任值为ultimate,则klf的值设为complete。
否则,PGP计算一个信任值的加权和。
5)公钥的作废
•密钥暴露或定时更新导致需要公钥报废功能;
•通常的报废方法是由主人签发一个密钥报废证书。
这个证书具有与通常签名证书相同的形式,但包含一个指示符表明这个证书是要作废该公钥的使用。
注意到必须使用所对应的私钥来签名一个密钥报废证书,其主人应尽可能越广越快散布这个证书,以使得潜在的有关人员更新他们的公钥环。
•注意:
对手也可以发出这个证书,然而,这将导致他自己也被否决。
因此,这样比起恶意使用偷来的私钥来看似乎会减少漏洞。
二、S/MIME
•是对MIME电子邮件格式的安全扩展;
•技术来自RSADataSecurity;
•与PKI的结合,使用X.509证书,以及PKCS标准;
(PKCS#7,也叫做加密消息的语法标准,由RSA安全体系在公钥加密系统中交换数字证书产生的一种加密标准。
)
–算法协商不可能在线进行,只能用一组规则保证尽可能地达到安全性;
–不严格的信任模型,由客户实现和用户来决定;
•S/MIME更象商用或组织使用的工业标准,PGP更面向个体用户选用。
6)MIME
•SMTP822的扩展局限:
1)SMTP不能传送可执行文件或其他二进制文件;
2)SMTP不能传送包含自然语言字符的正文数据;
3)SMTP服务器可能拒绝超过某一大小限制的邮件;
4)SMTP网关转换ASCII和EBCDIC(ExtendedBinaryCodedDecimalInterchangeCode)码未用一个一致的映射集,导致转换问题。
7)MIME概要
1)定义了5种新的消息头字段,提供了关于消息体的信息;
2)定义了若干内容格式,从而标准化地表达多媒体电子邮件;
3)定义多种转换编码方式,使得任意内容格式转换到由邮件系统保护以防变化的格式。
8)S/MIMEFunctionality功能
•Envelopeddata:
这包含任意类型的加密内容和加密内容加密密钥,对一个或多个接收者。
•Signeddata:
取要签名内容的消息摘要形成一个数字签名,然后用签名者的私钥加密;
内容与签名被转换成base64编码,一个签名的数据消息只能被带有S/MIME能力的接收者查看。
•Clear-signeddata:
仅签名用base64编码,结果,接收者没有S/MIME能力也能查看消息内容,尽管他们不能验证该签名。
Reference
•WilliamStallings,Cryptographyandnetworksecurity:
principlesandpractice,SecondEdition.
•