1、华南理工大学计算机学院本科课程电子商务安全与保密大纲第13章 电子邮件安全协议与系统设计1安全电子邮件 意义n协议的先天不安全n绝对隐私n安全需求n发送邮件和接收邮件的安全登录n安全的目录服务n安全的电子邮件:邮件保密性和完整性n内容安全性防止病毒邮件n安全方案nS/MIMEnPGP2Simple Mail Transfer Protocol(SMTP,RFC 822)nSMTP SMTP(简单邮件传输协议)存在的问题(简单邮件传输协议)存在的问题:nSMTPSMTP不能传输可执行文件和其他二进制码不能传输可执行文件和其他二进制码 (jpeg(jpeg image)image)nSMTPSMT
2、P只能传输只能传输7-7-位位ASCIIASCII字符的文字字符的文字nSTMPSTMP服务器拒绝接收超长邮件服务器拒绝接收超长邮件nASCII ASCII 到到 EBCDIC EBCDIC 转换问题转换问题n截取换行超过截取换行超过7676字符的行,等等字符的行,等等nMIMEMIME是对是对RFC 822RFC 822框架的扩展,致力于解决框架的扩展,致力于解决STMPSTMP存在存在的问题的问题3MIME的头标nMIMEMIME的头标定义了的头标定义了5 5个新的字段个新的字段n版本(版本(MIME-VersionMIME-Version):1.0:1.0(按照(按照 RFC 2045,
3、RFC RFC 2045,RFC 20462046定义的规格)定义的规格)n内容类型(内容类型(Content-TypeContent-Type):这个字段用于详细描这个字段用于详细描述主体的数据述主体的数据n内容传输编码(内容传输编码(Content-Transfer-EncodingContent-Transfer-Encoding):内内容采用的编码方案容采用的编码方案 (如如radix-64)radix-64)n内容内容IDID(Content-IDContent-ID):该字段主要用于多个上下该字段主要用于多个上下文时,对文时,对MIMEMIME实体的标识实体的标识.n内容描述(内容
4、描述(Content DescriptionContent Description):对内容的文本对内容的文本描述描述 (e.g.,mpeg)(e.g.,mpeg)4安全电子邮件 S/MIMEn是对MIME电子邮件格式的安全扩展n基于密码学的诸多成果n与PKI的结合,使用X.509证书,以及PKCS标准n算法协商不可能在线进行,只能用一组规则保证尽可能地达到安全性n不严格的信任模型,由客户实现和用户来决定nS/MIME更象商用或组织使用的工业标准,PGP更面向个体用户选用。5S/MIME 功能n在功能上,在功能上,S/MIMES/MIME与与PGPPGP相似,通过使用签名、加密或签名相似,通过
5、使用签名、加密或签名/加密的组合来保证加密的组合来保证MIMEMIME通信的安全,但强化了证书的规范通信的安全,但强化了证书的规范nS/MIMES/MIME的安全功能:的安全功能:n封装的数据封装的数据:加密的内容和加密的会话密钥加密的内容和加密的会话密钥n签名的数据签名的数据:报文摘要发送者的私钥签名,然后使用基报文摘要发送者的私钥签名,然后使用基6464变换变换编码内容和签名编码内容和签名n透明签名透明签名:签名但不加密签名但不加密.只对签名进行基只对签名进行基6464变换,这样具有变换,这样具有MIMEMIME支持而没有支持而没有S/MIMES/MIME权能的接收者也能读取,但不能验证签
6、名权能的接收者也能读取,但不能验证签名n签名和封装的数据签名和封装的数据:各种不同嵌套顺序将数据加密、签名,如签各种不同嵌套顺序将数据加密、签名,如签名加密的数据或加密签名的数据名加密的数据或加密签名的数据nS/MIMES/MIME使用使用X.509X.509证书,它的密钥管理方案介于严格的证书,它的密钥管理方案介于严格的X.509X.509证书层次结构和证书层次结构和PGPPGP信任网信任网6Algorithms Usedn报文摘要报文摘要:SHA-1 and MD5:SHA-1 and MD5n数字签名数字签名:DSS:DSSn对称密码算法对称密码算法:Triple-DES,RC2/40:
7、Triple-DES,RC2/40(exportable)(exportable)n公钥密码算法公钥密码算法:RSA with key sizes of:RSA with key sizes of 512 and 1024 bits,and 512 and 1024 bits,and DiffieDiffie-Hellman(for session keys).Hellman(for session keys).7PGP 安全电子邮件系统n由个人发展起来nPhil Zimmermann(齐默尔曼)nPGP为电子邮件和文件存储应用提供了认证和保密性服务n选择理想的密码算法n把算法很好地集成到通用
8、应用中,独立于操作系统和微处理器n自由发放,包括文档、源代码等n与商业公司(Network Associates)合作,提供一个全面兼容的、低价位的商业版本PGPn不是由政府或者标准化组织所控制,可信性n版本众多,包括各种系统平台,商业版本使用户得到很好的支持8PGP PGP功能列表为了适应邮件的大小限制,PGP支持分段和重组数据分段邮件应用完全透明,加密后的消息用Radix 64转换Radix 64邮件兼容性消息用ZIP算法压缩ZIP压缩消息用一次性会话密钥加密,会话密钥用接收方的公钥加密CAST或IDEA或3DES、AES及RSA或D-F消息加密用SHA-1创建散列码,用发送者的私钥和DS
9、S或RSA加密消息摘要DSS/SHA或RSA/SHA数字签名说明采用算法服务9PGP密码功能概要10PGP 邮件数据处理n顺序:签名 压缩 加密n压缩对邮件传输或存储都有节省空间的好处。n签名后压缩的原因:n不需要为检验签名而保留压缩版本的消息n为了检验而再做压缩不能保证一致性,压缩算法的不同实现版本可能会产生不同的结果n压缩之后再做加密的原因:n压缩后的消息其冗余小,增加密码分析的难度n若先加密,则压缩难以见效nE-mail兼容性nPGP处理后的消息,部分或者全部是加密后的消息流,为任意的8位字节。某些邮件系统只允许ASC字符,所以PGP提供了转换到ASC格式的功能。采用了Radix-64转
10、换方案11Session keycomponentKeyID of recipientspublic key(KUb)Session key(Ks)TimestampKeyID of senderspublic key(KUa)Leading two octetsof message digestMessage digestSignatureFilenameTimestampDataMessageEKUbEKRaZIPEKsR64ContentOperationPGP消息的一般格式(A to B)12PGP PGP密钥nPGP使用四种类型的密钥:n一次性会话传统密钥n公钥n私钥n基于口令短语的
11、传统密钥nPGP对密钥的需求n会话密钥:需要一种生成不可预知的会话密钥的方法,PGP使用了一种复杂的随机密钥生成算法(一定的真随机性)n公钥和私钥n需要某种手段来标识具体的密钥n一个用户拥有多个公钥/私钥对n密钥更新管理n私钥如何保存13PGP 密钥标识符和钥匙环n一个用户有多个公钥/私钥对时,接收者如何知道发送者是用哪个公钥来加密会话密钥的?n将公钥与消息一起传送。n将一个标识符与一个公钥关联,对一个用户来说唯一。即用户ID和密钥ID标识一个密钥n定义KeyID 包括64个有效位(PGP采用公钥的低64位作为KeyID)n对于PGP数字签名,KeyID也很必需。用哪个公钥来验证签名?n钥匙环
12、nKeyID对于PGP非常关键。nPGP消息中包括两个keyID,分别提供保密与认证功能。n需要一种系统化的方法存储和组织这些密钥以保证有效使用这些密钥nPGP密钥管理方案:n用户机器(节点)上有一对数据结构:私钥环:存储本节点拥有的公钥/私钥对公钥环:存储本节点所知道的其他用户的公钥1415PGP 私钥环n信息:时间戳、KeyID、公钥、私钥、UserIDnUserID:n通常是用户的邮件地址。也可以是一个名字,可以重名n私钥如何保存:n用户选择一个口令短语用于加密私钥n当系统用RSA生成一个新的公钥/私钥对时,要求用户输入口令短语。对该短语使用SHA-1生成一个160位的散列码后,销毁该短
13、语n系统用其中128位作为密钥用CAST-128加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中n当用户要访问私钥环中的私钥时,必须提供口令短语。PGP将取出加密后的私钥,生成散列码,解密私钥16PGP 公钥环n信息:时间戳、KeyID、公钥、对所有者信任度、用户ID、密钥合法度、签名、对签名者信任度nUserID:n公钥的拥有者。多个UserID可以对应一个公钥。n公钥环可以用UserID或KeyID索引。17PGP 公钥管理n由于PGP重在广泛地在正式或非正式环境下的应用,所以它没有建立严格的公钥管理模式。n有关的问题:n一旦你的私钥泄漏,存在两种危险:n别人可以伪造你的签名n
14、其他人发送给你的保密信件可被别人读取n防止公钥环上包含错误的公钥n保证公钥环上公钥的正确性n物理上得到B的公钥。可靠,但有一定局限性n通过电话验证公钥n从双方都信任的个体D处获得B的公钥n从一个信任的CA中心得到B的公钥18PGP 发送方处理消息的过程n签名:n从私钥环中得到私钥,利用userid作为索引nPGP提示输入口令短语,恢复私钥n构造签名部分n加密:nPGP产生一个会话密钥,并加密消息nPGP用接收者userid从公钥环中获取其公钥n构造消息的会话密钥部分1920PGP 接收方处理消息的过程n解密消息nPGP用消息的会话密钥部分中的KeyID作为索引,从私钥环中获取私钥nPGP提示输
15、入口令短语,恢复私钥nPGP恢复会话密钥,并解密消息n验证消息nPGP用消息的签名部分中的KeyID作为索引,从公钥环中获取发送者的公钥nPGP恢复被传输过来的消息摘要nPGP对于接收到的消息作摘要,并与上一步的结果作比较2122PGP信任模型n在PGP中使用Meta-introducer和trusted introducers,与X.509环境中的Root CA和Certification Authorities相对应n采用 Web of Trust 模型,由用户自己决定模型,由用户自己决定信任关系。信任关系。n基于从旁观者角度和信息越多越好的思想,是一种累计的信任模型n可以是直接信任,n可
16、以是某种形式的信任链n也可以通过多个介绍者23PGP-Web of Trust 模型是通过定在公钥环中的三个域来实现的:1.密钥合法字段(key_legitimacykey_legitimacy)用来指示 PGP 信任“这是这个用户合法的公开密钥”的程度;信任程度越高,这个用户 ID 与这个密钥的绑定越紧密2.拥有者信任字段(owner_trustowner_trust)用来指示这个公开钥对其他公开密钥证书进行签名的可信任程度,这个信任程度是由该公钥环的拥有者指派的。3.签名信任字段(signature_trustsignature_trust)用来指示该 PGP 公钥环拥有者信任签名者对这个
17、公开密钥信任的程度。签名信任字段是拥有者信任字段的一个备份。24信任关系处理过程1、当A向公钥环中插入一个新公钥时,建立一个新条目,PGP必须向owner_trust字段字段赋值,该标志与该公钥的拥有者相关。如果其拥有者是A,则该值为最高信任(ultimate trust)。否则,PGP询问用户,让用户给出信任级别。用户可选:该公钥的拥有者是不认识(unknown)、不信任(untrusted)、接近信任(marginally trusted)或完全信任(complete trusted)。2、当新公钥加入时,可能有一个或多个签名跟随其后。许多签名可以以后再加入。当一个签名插入到一个条目中时,
18、PGP查找该公钥环中是否已存在该签名的公钥的拥有者。如果存在,则这个拥有者的owner_trust字段值拷贝到该插入公钥条目的signature_trust字段。否则,赋予unknown user 值。3、key_legitimacy 字段的值基于该条目中signature_trust 字段来计算。如果至少一个签名有一个签名信任值为ultimate,则key_legitimacy 字段的值设为complete。否则,PGP计算一个信任值的加权和。25PGP 信任模型示例26PGP 公钥的注销n公钥注销功能的必要性:密钥暴露或定时更新n通常的注销途径是由私钥主人签发一个密钥注销证书n私钥主人应尽
19、可能越广越快散布这个证书,以使得潜在的有关人员更新他们的公钥环n注意:对手也可以发出这个证书,然而,这将导致他自己也被否决。因此,这样比起恶意使用偷来的私钥来看,似乎会减少漏洞。27保密增强邮件(PEM)n保密增强邮件(Private Enhanced Mail,PEM)是增强Internet电子邮件隐秘性的标准草案,是美国RSA实验室基于RSA和DES算法而开发的产品,其目的是为了增强个人的隐私功能。它在Internet电子邮件的标准格式上增加了加密、鉴别和密钥管理的功能,允许使用公开密钥和专用密钥的加密方式,并能够支持多种加密工具。对于每个电子邮件报文可以在报文头中规定特定的加密算法、数字
20、鉴别算法、散列功能等安全措施。nPEM是通过Internet传输安全性商务邮件的非正式标准。nPEM有可能被S/MIME和PEM-MIME规范所取代28PGP vsPEM、S/MIMEItemPGPPEM or S/MIMESupports encryption?YesYesSupports authenticationYesYesSupports non-repudiation?YesYesSupports compression?YesNoSupports mailing lists?NoYesUses base64 coding?YesYesCurrent data encryption
21、 algorithmIDEADESKey length for data encryption(bits)12856Current algorithm for key managementRSARSA/D-HKey length for key management(bits)?384/512/1024VariableUser name spaceUser definedX.400X.509 conformant?NoYesCan eavesdropper read messages?NoNoCan eavesdropper read signatures?NoYesInternet Stan
22、dard?YesYes29n“垃圾垃圾”邮件邮件全球性泛滥问题全球性泛滥问题n黑客採用的黑客採用的攻击手段多变无穷攻击手段多变无穷n特洛伊木马(Trojan),蠕虫,恶意代码 等植入手段控制无数计算机使之成为“僵尸”n邮件目录帐号搜集 攻击(DHA)n拒绝服务(DoS)攻击 n网上钓鱼 诈骗方式n有效防御措施有效防御措施(Email 网关网关)n避免企业信息系统受攻破n88%的病毒由电子邮件及附件传播(1)n节省内部系统资源n提高员工工作效率Source:IDC 2004预测电子邮件增长趋势(2003 2008)每日电子邮件流量(十亿)CAGR:14%(1)Source:ISCA Labs,2
23、00350.698.7E-Mail 发展趋势及未来挑战30中国垃圾电子邮件的现状中国互联网协会反垃圾邮件工作报告中国互联网协会反垃圾邮件工作报告(2006.02)n互联网用户平均每周收到垃圾邮件数量为19.33封n平均每个网民每周处理垃圾邮件时间为13.15分钟n垃圾邮件每年给中国GDP造成60.69亿元的损失 31垃圾邮件内容类型的演变n早期n广告宣传邮件n色情邮件n政治性色彩邮件n发展n病毒邮件n特洛伊木马n恶化n钓鱼式攻击邮件n僵尸网络植入32垃圾邮件发送方式的演变n早期n利用OP或OR发送n发展n发件人地址随机变化n邮件主题随机变化n伪造邮件头干扰信息n信体内容随机变化n正文以图片方式
24、显示n恶化n信体加入干扰内容识别算法的文字n利用人的视觉反差来干扰内容分析n低速群发垃圾邮件33传统反垃圾邮件技术n关闭开放式转发和打开发件认证n必须是合法用户才能对外发邮件n关闭匿名代理nWingate身份认证n静态黑名单、白名单n静态黑名单基本没用n静态白名单作为反垃圾邮件技术的补充n静态内容过滤n某些严格控制邮件内容的场合,例如政治场合有用34传统反垃圾邮件技术n实时黑名单n互联网上共同维护n据统计80%的垃圾邮件来自200个左右的团体n数量控制n带宽n链接数量n邮件重复n贝叶斯分析条件概率n分布协作的内容指纹分析n有代表性的内容摘要n蜜罐系统n非显示帐号、网站注册帐号等35源头认证方案n质询-回应技术ndomainKey技术nD可以下载n与S/MIME技术共存36反反垃圾邮件技术n关键词变形n内容图片化、图片加噪n内容附件化n心头、正文随机化37