您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > [互联网]电子邮件安全
1网络与信息安全电子邮件安全陈宇峰湖北汽车工业学院电气与信息工程学院Email:cyfhbqy@163.com2E-mail是Internet上最大的应用之一。安全电子邮件主要解决身份认证和保密性相关的安全问题。涉及到的问题:安全算法的选择系统邮件的信息格式如何实现认证和信任管理邮件服务器的可靠性应用实际例子:PGP、S/MIME等安全电子邮件3早期只支持ASCII文本格式随着Email的发展需要发送各种类型数据,形成了MIME(MultipurposeInternetMailExtensions,多用途网际邮件扩展)邮件信息格式41.提供了一种机密性和数字签名的安全服务,广泛用于电子邮件和文件存储的安全应用2.选择各种经过实际验证的安全算法作为基础构件3.将这些算法有机整合起来,形成一个通用的独立于操作系统和硬件平台的应用程序4.是一个自由软件包()5.1PGP(PrettyGoodPrivacy)51.免费得到,支持多种平台(DOS/Windows、Unix、Macintosh等)2.建立在一些经过实际验证的算法基础上(RSA、DSS、Diffie-Hellman、IDEA、3DES、SHA-1、MD5),选用算法的生命力和安全性得到公众认可3.应用范围极其广泛4.不从属于任何政府机构和标准化组织5.已经成为互联网标准文档(RFC3156)PGP的优势6Ks=用户对称加密体制中的会话密钥PRa=用户A的私钥PUa=用户A的公钥EP=公钥加密DP=公钥解密5.1.1PGP符号约定EC=对称加密DC=对称解密H=散列函数||=串接Z=用ZIP算法压缩R64=转换为基-64的ASCII码格式7数字签名:DSS/SHA或RSA/SHA,散乱码由SHA产生信息加密:CAST-128或IDEA或3DES+Diffie-Hellman或RSACAST-128以其设计者CarlisleAdams和StaffordTavares命名。是一个64位的Feistel密码,使用16个循环并允许密钥大小最大可达128位Diffie-Hellman或RSA加密会话密钥数据压缩:ZIP与电子邮件的兼容性:Radix64,将加密消息转换为ASCII串分段处理:适应最大消息尺寸限制5.1.2PGP操作描述8PGP身份认证发送方产生消息M用SHA-1对M生成一个160位的散列码H用发送者的私钥对H加密,并与M连接,压缩传输接收方解压缩,并用发送者的公钥解密并恢复散列码H对消息M生成一个新的散列码,与H比较。如果一致,则消息M被认证。9说明RSA的强度保证了发送方的身份SHA的强度保证了消息认证的有效性DSS/SHA-1可选替代方案签名与消息可以分离对消息进行单独的日志记录可执行程序的签名记录,检查病毒文档多方签名,可以避免嵌套签名PGP认证说明10PGP保密性发送方生成消息M,压缩后,为该消息生成一个随机数作为会话密钥用会话密钥加密M用接收者的公钥加密会话密钥并与加密后的消息M连接接收方用自己的私钥解密恢复会话密钥用会话密钥解密恢复消息M,解压缩11采用CAST-128(或IDEA或3DES)、64位CFB方式。一次性密钥,单向分发,公钥算法保护对称加密算法和公钥加密算法的结合可以缩短加密时间用公钥算法解决了会话密钥的分配问题不需要专门的会话密钥交换协议由于邮件系统的存储-转发的特性,用握手方式交换密钥不太可能每个消息都有自己的一次性密钥,进一步增强了保密强度公开密钥算法的长度决定安全性RSA(768-3072)、DSS(1024)PGP保密性说明12PGP认证与保密的结合两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密消息,再用接收者的公钥加密会话密钥。13压缩的时机(在签名之后加密之前):在签名之后的原因:1.将来验证时只需要存储原始报文和签名2.因为压缩算法的不同实现版本可能会产生不同的结果,这样若先压缩则会使得签名结果不一致;为保证签名的一致性,需要约束所有的PGP实现都使用同样的压缩算法和参数,这难以实现压缩之后对报文加密可以增强加密的强度,压缩过的报文比原始明文冗余更少,密码分析更加困难;而且节省空间压缩算法使用了ZIP压缩14签名和加密的结果是任意的8位字节流,而很多电子邮件系统仅允许使用包含ASCII文本的数据块应用radix-64将二进制流转换成ASCII码radix-64将每三个字节的二进制数据映射成四个ASCII字符,长度增加了33%,但是压缩能够补偿radix-64的扩展与电子邮件的兼容性15某些Internet服务可访问的最大长度受限(50000bytes)长报文必须分段PGP在radix-64转换完成后,自动将长报文分段接收端自动剥离包头,重组分段和重组16PGP报文的发送和接收流程17PGP使用四种类型的密钥:一次性会话常规密钥,公钥,私钥,基于口令短语的常规密钥。需求:需要产生不可预测的会话密钥一个用户可拥有多个公钥/私钥对,需要某种手段来标识具体的密钥每个PGP实体需要维护一个文件保存其公钥私钥对,另一个文件保存通信对方的公钥。5.1.3加密密钥和密钥环18一个用户有多个公钥/私钥对时,接收者如何知道发送者是用了哪个公钥来加密会话密钥?将公钥与消息一起传送,但是浪费空间将一个标识符与一个公钥关联,对一个用户来说做到一一对应,但是要对密钥ID进行分配,比较繁琐PGP的解决办法以64位定义密钥ID:PUamod264PGP数字签名也需要密钥ID密钥标识符19PGP消息格式消息部分签名部分时间戳发送方公钥ID消息摘要的头2个8位字节,使接收方判断是否使用了正确的公钥消息摘要(发送方私钥加密)会话密钥部分接收方的公钥ID会话密钥(接收方公钥加密)20私钥环和公钥环系统地组织密钥21私钥环保存该节点用户的公钥和私钥对,公钥环保存另一个节点用户的公钥私钥环UserID:通常是用户的邮件地址。也可以是一个名字加密的私钥:使用CAST-128(或IDEA或3DES)加密用户选择加密私钥的口令;当系统用RSA生成一个新的公钥/私钥对时,要求用户输入口令短语。对该短语使用SHA-1生成一个160位的散列码后,销毁该口令;系统用其中128位作为密钥,用CAST-128加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中;当用户要访问私钥环中的私钥时,必须提供口令。PGP将检索出加密的私钥,生成散列码,解密私钥。密钥环说明22签名利用userid作为索引从私钥环中得到加密私钥PGP提示输入口令,恢复私钥利用私钥构造签名部分加密PGP产生一个会话密钥,并加密消息PGP基于接收者userid从公钥环中获取其公钥用该公钥加密会话密钥,以构造消息的会话密钥部分PGP消息的生成(无压缩和radix-64)23PGP消息的生成(无压缩和radix-64)24解密PGP用消息的会话密钥部分中的用户ID作为索引,从私钥环中获取私钥PGP提示输入口令,恢复私钥恢复会话密钥,并解密消息验证PGP用消息的签名部分中的用户ID作为索引,从公钥环中获取发送者的公钥恢复被传输过来的消息摘要PGP对于接收到的消息作摘要,并与上一步的结果作比较PGP消息的接收(无压缩和radix-64)25PGP消息的接收(无压缩和radix-64)26公钥管理的实质用户A为了与其他用户用PGP互操作,必须建立一个拥有其他用户公钥的公钥环威胁:A从B发布公钥的系统上获取的公钥是攻击者C伪造的攻击者C向A发送消息并伪造B的签名,这样A以为该消息来自B对任何由A发往B的消息,C都可以阅读5.1.4公钥管理27物理上得到B的公钥通过电话验证公钥B将其公钥email给A,A可以用PGP对该公钥生成一个160位的SHA-1摘要,并以16进制显示。这一特点称作密钥的“指纹”。然后A打电话给B,让B在电话中对证“指纹”。如果双方一致,则该公钥被认可从双方都信任的个体D处获得B的公钥D是公证人,生成一个签名的证书。其中包含B的公钥、密钥生成时间。D对该证书生成一个SHA-1摘要,用其私钥加密这个摘要,并将其附加在证书后。因为只有D能够产生这个签名,没有人可以生成一个错误的公钥并假装是D签名的。这个签名的证书可以由B或D直接发给A,也可以贴到公告牌上。从一个信任的CA中心得到B的公钥证书得到可靠公钥的办法28是Internet电子邮件格式MIME(MultipurposeInternetMailExtensions,多用途网际邮件扩展)的安全扩充(S/MIME中的S)与PKI结合,使用X.509证书S/MIME是目前的工业标准,PGP则更多地用于个人安全电子邮件5.2S/MIME29SMTP有以下缺陷不能传输可执行文件或其它二进制对象只能传输7-位ASCII码字符邮件报文长度可能受限ASCII和字符码EBCDIC(扩展二进制编码的十进制交换码)的转换不一致问题SMTP30定义了5个新的消息头字段,提供了关于消息体的信息定义了大量的内容格式,从而标准化地表达多媒体电子邮件定义了多种转换编码方式,可以将任意内容格式转换到邮件系统可识别的标准格式MIME概要31MIME-Version:必须为1.0(RFC2045、RFC2046)Content-Type:定义了多种类型,如Image、Video、Application等Content-Transfer-Encoding:编码类型,将消息主体转换到消息传输能接受的格式,例如radix64Content-ID:MIME实体的唯一标识符Content-Description:对象内容描述(如mpeg)MIME的5个头字段32封装数据(Envelopeddata):加密的内容和加密后的会话密钥数据签名(Signeddata):用私有密钥对数据摘要进行签名,内容与签名被转换成base64(radix-64)编码,一个签名的数据消息只能被带有S/MIME能力的接收者查看。数据的透明签名(Clear-signeddata):只对数字签名进行base64编码,没有S/MIME的接收者依然可以看到报文内容,尽管他们不能验证该签名签名并且封装数据(Signedandenvelopeddata)S/MIME的功能33报文摘要:SHA-1和MD5数字签名:DSS对称加密:3DES和RC2-40公钥加密:RSA(512-1024)、Diffie-HellmanS/MIME使用的算法34S/MIME使用了X.509v3的公钥证书用户代理实现的密钥管理功能:密钥生成:生成Diffie-Hellman、DSS和RSA密钥对注册:公钥必须注册到CA,以获得X.509公钥证书证书的存储和检索:为验证接收到的前面和加密输出消息,用户需要访问本地证书列表S/MIME用户代理
本文标题:[互联网]电子邮件安全
链接地址:https://www.777doc.com/doc-3207673 .html