您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子商务安全技术 第13章 电子邮件安全协议与系统设计
第十一章电子邮件安全协议于系统设计11.1电子邮件安全概述11.2PGP11.3S/MIME11.1电子邮件安全概述Email概述协议:SMTP,POP3服务器:Sendmail,LotesDomino客户:MSOutlook,LotesNotes邮件关键词ToFromMessage-IdDateStatusContent-LengthReply-toEmail威胁邮件炸弹邮件欺骗邮件服务器控制权……Email安全目标安全的电子邮件主要是解决身份鉴别和保密性的安全问题Email安全协议PGPPEMS/MIMEMOSS安全电子邮件.E-mail是Internet上最大的应用,也是唯一的广泛跨平台、跨体系结构的分布式应用。.安全的电子邮件主要是解决身份鉴别和保密性的安全问题。涉及到的问题:–安全算法的选择–系统邮件的信息格式–如何实现认证和信任管理–邮件服务器的可靠性.应用实际例子:PGP、S/MIME、PEM、MOSS安全的算法.算法的安全.交互操作性PEMMOSSS/MIMEPGPRSADESMD5没有特别要求RSADESRC2RC3RC5MD5SHA-1RSA、DSS和Diffie-HellmanIDEA、3DES、CAST128SHA-1、MD5系统的邮件信息格式系统的信任管理.ASCII文本.MultipurposeInternetMailExtensions(MIME).PGP密钥:公钥环、私钥环,简单的信任模型,相当于把一个朋友介绍给另一个朋友.X.509只能被签名者签名一次.PEM简单的而又严格的全球认证分级安全的邮件服务器.对邮件服务器的攻击由来已久,WORM病毒.网络入侵和拒绝服务.防范措施:–防止来自外部的攻击:拒绝来自特定地址的连接请求、限制单个IP的连接数量–防止来自内部的攻击:实现用户身份的鉴别11.2PGP实例分析PGP-PrettyGoodPrivacy–作者PhilZimmermann–提供可用于电子邮件和文件存储应用的保密与鉴别服务PGP发展特点1)选择最好的可用加密算法作为系统的构造模块2)将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,并且基于一个使用方便的小命令集。3)设计了程序、文档,并在Internet上公开4)一个商业公司(Viacrypt即NetworkAssociates)提供全兼容、低成本的商业版本。PGP广泛应用的原因.免费、可用于多平台。DOS/Windows、Unix、Macintosh.选用算法的生命力和安全性公众认可。.具有广泛的可用性.不由政府或标准化组织控制。PGP安全业务.数字签名–DSS/SHA或RSA/SHA.完整性:–RSA、MD5.消息加密–CAST-128或IDEA或3DES+Diffie-Hellman或RSA.数据压缩–ZIP.邮件兼容–Radix64.数据分段PGP密码功能概要PGP密码功能概要记号说明:Ks:sessionkeyKRa:用户A的私钥KUa:用户A的公钥EP:公钥加密DP:公钥解密EC:常规加密DC:常规加密H:散列函数||:连接Z:用ZIP算法数据压缩R64:用radix64转换到ASCII格式身份认证功能的实现.发送者产生消息M.用SHA-1对M生成一个160位的散列码H.H用发送者的私钥加密,并与M连接.接收者用发送者的公钥解密并恢复散列码H.对消息M生成一个新的散列码,与H比较。如果一致,则消息M被认证。DSS/SHA-1可选替代方案。签名与消息分离的支持。加密功能的实现采用CAST-128(或IDEA或3DES)、6464位CFB方式。一次性密钥,单向分发,公钥算法保护。.发送者生成消息M并为该消息生成一个128位的随机数作为会话密钥。.M被加密,使用会话密钥、CAST-128算法(或IDEA或3DES).会话密钥用RSA及接收者的公钥加密并与消息M结合。(也可用Diffie-Hellman算法).接收者用自己的私钥解密恢复会话密钥.用会话密钥解密恢复消息M加密、认证功能的同时实现.两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密,再用接收者的公钥加密会话密钥数据压缩功能.发生在签名后、加密前.对邮件传输或存储都有节省空间的好处Email兼容性.加密后是任意的8位字节,需要转换到ASCII格式.Radix64将3字节输入转换到4个ASCII字符,并带CRC校验.长度扩大33%.与压缩综合后,长度为:–1.33x0.5xM=0.665xM分段与重组.Email常常受限制于最大消息长度(一般限制在最大50000字节).更长的消息要进行分段,每一段分别邮寄.PGP自动分段并在接收时自动恢复.签名只需一次,在第一段中PGP消息的传送与接收加秘密钥和钥匙环PGP使用四种类型的密钥:一次性会话传统密钥、公钥、私钥、基于过度阶段的传统密钥需求:1需要一种生成不可预知的会话密钥的手段2需要某种手段来标识具体的密钥–一个用户拥有多个公钥/私钥对(更换,分组)3每个PGP实体需要维护一个文件保存其公钥私钥对,和一个文件保存通信对方的公钥会话密钥的生成.以CAST-128为例.128位的随机数是由CAST-128自己生成的。输入包括一个128位的密钥和两个64位的数据块作为加密的输入。使用CFB方式,CAST-128产生两个64位的加密数据块,这两个数据块的结合构成128位的会话密钥。(算法基于ANSIX12.17).作为明文输入的两个64位数据块,是从一个128位的随机数流中导出的。这些数是基于用户的键盘输入的。键盘输入时间和内容用来产生随机流。因此,如果用户以他通常的步调敲击任意键,将会产生合理的随机性。密钥标识符.一个用户有多个公钥/私钥对时,接收者如何知道发送者是用了哪个公钥来加密会话密钥?–将公钥与消息一起传送–将一个标识符与一个公钥关联。对一个用户来说做到一一对应.定义KeyID包括64个有效位(KUamod264).KeyID同样也需要PGP数字签名发送消息的格式.一个消息包含三部分成员:–messagecomponent–signature(optional)–sessionkeycomponent(optional)钥匙环.我们已经看到KeyID对于PGP是如何关键–两个keyID包含在任何PGP消息中,提供保密与认证功能–需要一种系统化的方法存储和组织这些key以保证使用.PGP在每一个节点上提供一对数据结构:–存储该节点拥有的公钥/私钥对;(私钥环)–存储本节点知道的其他用户的公钥;(公钥环)私钥环说明.UserID:通常是用户的邮件地址,也可以是一个名字,或重用一个名字多次.PrivateKey:使用CAST-128(或IDEA或3DES)加密过程如下–用户选择一个口令短语用于加密私钥–当系统用RSA生成一个新的公钥/私钥对时,要求用户输入口令短语。对该短语使用SHA-1生成一个160位的散列码后,销毁该短语–系统用其中128位作为密钥用CAST-128加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中–当用户要访问私钥环中的私钥时,必须提供口令短语。PGP将检索出加密的私钥,生成散列码,解密私钥公钥环说明.UserID:公钥的拥有者。多个UserID可以对应一个公钥.公钥环可以用UserID或KeyID索引PGP典型示例(产生PGPMessage)PGP典型示例(接收PGPMessage)公钥管理问题.由于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的公钥信任关系的应用.尽管PGP没有包含任何建立认证权威机构或建立信任体系的规格说明,但它提供了一个利用信任关系的手段,将信任与公钥关联,利用信任信息–Keylegitimacyfield表明PGP将信任这是一个对该用户是合法的公钥;信任级别越高,这个userID对这个密钥的绑定越强。这个字段是由PGP计算的–每一个签名与一个signaturetrustfield关联,表明这个PGP用户对签名人对公钥签名的信任程度。Keylegitimacyfield是由多个signeturetrustfield导出的–Ownertrustfield表明该公钥被信任用于签名其它公钥证书的信任程度。这一级别的信任是由用户给出的信任关系的处理过程(一)1、当A向公钥环中插入一个新公钥时,PGP必须向trustflag赋值,该标志与该公钥的主人相关。如果其主人是A,则该值为最高信任(ultimatetrust)。否则,PGP询问用户,让用户给出信任级别。用户可选:该公钥的主人是不认识(unknown)、不信任(untrusted)、接近信任(marginallytrusted)或完全信任(completetrusted)2、当新公钥进入时,可能有一个或多个签名跟随其后。许多签名可以以后再加入。当一个签名插入到一个条目中时,PGP查找该公钥环中是否已有公钥的主人中包含该公钥的作者。如果包含,则这个主人的OWNERTRUST值被赋予该签名的SIGTRUST字段。否则赋予unknownuser值3、keylegitimacyfield的值基于该条目中signaturetrustfield来计算。如果至少一个签名有一个签名信任值为ultimate,则klf的值设为complete。否则,PGP计算一个信任值的权重和信任关系的处理过程(二)公钥的作废.密钥暴露或定时更新导致需要公钥报废功能.通常的报废方法是由主人签发一个密钥报废证书。这个证书具有与通常签名证书相同的形式,但包含一个指示符表明这个证书是要作废该公钥的使用。注意到所对应的私钥必须用来签名一个密钥报废证书,其主人应尽可能越广越快散布这个证书,以使得潜在的有关人员更新他们的公钥环.注意:对手也可以发出这个证书,然而,这将导致他自己也被否决。因此,这样比起恶意使用偷来的私钥来看似乎会减少漏洞11.3S/MIME概述.是对MIME电子邮件格式的安全扩展.技术来自RSADataSecurity.与PKI的结合,使用X.509证书,以及PKCS标准–算法协商不可能在线进行,只能用一组规则保证尽可能地达到安全性–不严格的信任模型,由客户实现和用户来决定.S/MIME更象商用或组织使用的工业标准,PGP更面向个体用户选用。.定义了用电子邮件发送的正文消息的格式。.在RFC822的内容中,消息被看成是具有信封和内容组成。信封包含传输和交付的信息;内容包含要交付给接收着的对象。.RFC822标准只应用于内容,然而,内容标准中包含了一组字头段可以被邮件系统用于生成信封。且该标准目的在于方便程序获得这些信息。RFC822.RFC822/SMTP822的扩展。–SMTP不能传送可执行文件或其他二进制文件。(UNIXUU)–SMTP不能传送包含自然语言字符的正文数据。(7-bitonly)–SMTP服务器可能拒绝超过某一大小限制的邮件–SMTP网关转换ASCII和EBCDIC(Extend
本文标题:电子商务安全技术 第13章 电子邮件安全协议与系统设计
链接地址:https://www.777doc.com/doc-5939520 .html