版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章 安全通信与交易协议71 PGPPGP(Pretty Good Privacy)主要是由Phil Zimmermann开发的网络应用过程,能为电子邮件系统和文件存储应用过程提供认证业务和保密业务。Phil Zimmermann所做的工作主要有:(1)选择了最好的密码算法作为系统组件。(2)将密码算法集成于与操作系统和处理器独立、且其命令集易于使用的通常目的的应用程序。(3)使得其软件包和源代码等文档可通过因特网、公告板或其他商用网络免费使用。(4)用户可与公司建立协议,以获取完全兼容的、低成本的商用版本。PGP被广为使用的原因有:(1)世界各地都可免费使用的几种版本也都可用于各种平台,包
2、括DOS、WINDOWS、UNIX、Macintosh。此外,商用版可满足而家用以支持自己的产品。(2)所用算法具合很高的安全件,其软件包中的公钥加密算法有RSA、DSS、ElGamal,单钥算法有CAST128、IDEA、三重DES、杂凑算法足SHA。(3)适用范围极为广泛,从公司到个人都可使用,公司可用它做为加密的标准方案,个人可用它和世界各地安全通信。(4)它的开发未受任何政府组织和标准化组织的控制。 下面分别介绍PGP的运行方式、密钥的产生和存储以及公钥的管理。711 运行方式PGP有5种业务:认证性、保密性、压缩、电子邮件的兼容性、分段。表71是这5种业务的总结。其中CAST128是
3、由加拿大Carlisle Adams和Stafford Tavares设计的分组密码,在RFC2144中公布。算法具有传统Feistel网络结构,采用16轮迭代,明文分组长度为以比特,密钥长以8比特为增量,从40比特到128比特可变。表71 PGP的业务功能所用算法描述数字签字DSS/SHA或RSA/SHA发方使用SHA产生消息摘要,再用自己的秘密钥DSS算法或RSA算法对消息摘要签字消息加密CAST或IDEA或三个密钥的三重DES/ElGamal或RSA消息由用户产生的一次性会话密钥按CAST128或IDEA或三重DES加密,对会话密钥用收方的公开密钥按ElGamal或RSA加密压缩ZIP消
4、息经ZIP算法压缩后存储或传送电子邮件的兼容性基数64变换使用基数64变换将加密的消息转换为ASCII字符串,以提供电子邮件应用系统的透明性分段对消息进行分段和重组以适应PGP对消息最大长度的限制图71是PGP的认证业务和保密业务示意图,其中Ks为分组加密算法所用的会话密钥,EC利DC分别为分组加密算法和解密算法,EP和DP分别为公钥加密算法和解密算法,SKA和PKA分别为用户的秘密钥和公开钥,H表示杂凑函数,|表示链接,Z为ZIP压缩算法,R64表示基64变换。1认证业务图81(a)表示PGP中通过数字签字提供认证的过程,分为5步:(1)发方产生消息M,(2)用SHA产生160比特长的消息摘
5、要H(M),(3)发方用自己的秘密钥SKAd按RSA算法对以H(M)加密,并将加密结果EPSKAH(M)与M链接后发送,(4)收万用发方的公开钥EPSKAH(M)解密得H(M),(5)收方对收到的M计算消息摘要,并与(4)中的H(M)比较。如果一致,则认为M是真实的。过程个结合使用了SHA和RSA算法,类似地也可结合使用DSS算法和SHA算法。以上过程将消息的签字;消息链接后一起发送dZ存储,但在有些情况中却将消息的签字与消息分开发送或存储。例如将可执行程序的签字分并存储,以后可用来检查程序是否有病毒感染。再如多人签署同一文件(如法律合同),每人的签字邯应与被签文件分开存放。由于第一个人签完字
6、后将消息与签字链接在一起,第二人签字时既要签消息,又要答第一人的签字,因此就形成了签字的嵌套。2保密业务PGP的另一业务是为传输或存储的文件提供加密的保密性业务。加密算法用CAST128,也可用IDEA或三重DES,运行模式为64比特CFB模式。加密算法的密钥为一次性的,即每加密一消息时都需产生一新的密钥,称为一次性会话密钥,且新密钥也需用收方图71 PGP的认证业务和保密业务的公开钥加信用与消息一起发往收方,整个过程如下(看图81(b): (1)发方产生消息M及一次性会话密钥Ks (2)用密钥Ks按CAST128(或IDEA或3DES)加密M。 (3)用收方的公开钥PKB按RSA算法加密一次
7、性会话密闭Ks,将(2)、(3)中的两个加密结果链接起来发往收方。 (4)收方用自己的秘密钥按RSA算法恢复一次性会话密钥。 (5)收方用一次性会话密钥恢复发方发来的消息。3保密性与认证性如果对同一消息同时提供保密性与认证性,可使用图71(c)的方式。发方首先用自己的秘密钥对消息签字,将明文消息和签字链接在一起,再使用一次性合话密钥按CAST128(或ISEA或3DES)对其加密,同的用E1Gamal算法对会话密钥加密,最后将两个加密结果一同发往收方。这一过程中,先对消息签字再对签字加密。这一顺序优于先加密、再对加密结果签字。这是因为将签字的明文消息在一起存储比与密文消息在起存储会带来很多方便
8、,同时也给第三方对签字的验证带来方便。4PGP的消息格式图73表示PGP中发方A发往收方B的消息格式,其中EPKB表示用收方B的公开销加密,ESKA表示用发方A的秘密钥加密(即A的签字),Eks表示用次件会话密钥Ks的加密,ZIP是压缩算法,R64是基数64变换。5压缩图81中Z表示ZIP压缩算法,Z-1表示解压算法。压缩的目的是为邮件的传输或文件的存储节省空间。压缩运算的位置是在签字以后、加密以前,这是因为:(1)压缩前产生签字的原因有二:对不压缩的消息签字,可便于以后对签字的验证。如果对压缩后的消息签字为了以后对签字的验证,需存储压缩后的消息或在验证签字时对消息重做压缩。即便用户愿意对压缩
9、后的消息签字且愿意验证时对原消息重做压缩,实现起来也极为团难,这是因为ZIP压缩算法是不确定性的,该算法在不同的实现中会由于在运行速度和压缩率之间产生不同的折衷,因而产生出不同的压缩结果(虽然解压结果相同)。(2)对消息压缩后再进行加密可加强其安全性,这是的为消息压缩后比压缩前的冗余度要小,团此会使得密码分析更为困难。6电子邮件的兼容性PGP在如图71所示的三种业务中,传输的消息都有被加密的部分(也许是所有部分),这些部分构成了任意8特位组串。然而许多电子邮件系统只允许使用AscII本串,为此PGP提供了将8比特位串转换为可打印的AscII字符的服务。7分段与重组电子邮件通常部对最大可用的消息
10、长度有所限制,如果消息长度大于最大可用限度,则将消息分为若干子段并分别发送。分段是在图82(a)基数64变换以后进行,因此会话密钥报头和签字报头仅在第一子段的开头处出现一次。接收方在82(b)的处理过程以前,首先去掉第一子段开头处的报头再将各子段拼装在一起。图7.2PGP的消息处理框图8PGP的消息格式图7.3 PGP的消息格式 PGP的消息由干部分组成:消息、消息的签字(可选)、会话密钥(可选)。 消息部分包括被存储或被发送的实际数据、文件名以及时戳,时戳用来表不产生消息的时间。 签字部分包括以下成分: 时戳:产生签字的时间。 消息摘要:消息摘要是由SHA对签字的时戳链接上消息本身后求得的1
11、60比特输出,再由发方用秘密钥签字。消息摘要中包含签字时戳目的是防止重放攻击,而不包含消息的文件名和产生消息的时戳目的是使得分离的签字与作为前缀而附加在消息前的签字完全一样。分离的签字是对无报头域的实际数据计算的。 消息摘要的前两个8比特位组:接收方用于与解密消息摘要后得的到的前两个8比特位组进行比较,以确定自己在验证发方的数字签字时是否正确地使用了发方的公开钥。消息摘要的前两个8比特位组,也可用作消息的16比特帧校验序列。发方公开钥的ID:用于标识解密消息摘要(即验证签字)的公开钥,相应地也标识了签字的秘密钥。消息部分和签字部分经ZIP算法压缩后再用会话密钥加密。会话密钥部分包括会活密钥和接
12、收方公开钥标识符,标识符用以识别发方加密会话密钥时用收方的哪个公开钥。发送消息前,对整个消息作基数64变换。7.2 S/MIME协议为了加强E-mail安全,目前已提出了许多种安全保密措施,而且为E-mail制定出了5个不同的加密协议。这些协议的共同目的与用途是对正在Internet上传输的E-mail起到安全保密作用,只是采用的加密算法和认证方法各不相同。此外,还采取不同的方法来处理诸如密钥管理这类的问题,因为密钥管理问题就象确保数据安全的加密问题一样重要。销售商在做出执行这些协议的设计方案时,要考虑到便于使用和管理,尤其要便于在大型网络上执行这些协议。这些协议都形成了标准或处于不同的执行阶
13、段,正在形成标准,其中有些已做成商业软件包,有些仍处于理论研究阶段。对此,必须弄清协议的内容、E-mail加密方案的工作原理以及各协议之间的差异。1 S/MIME S/MIME(secure/Multipurpose Internet Mail Extension安全/多用途因特网邮件扩展)是基于RSA数据安全公司技术的、对MIME因特网邮件格式标推的安全增强版。虽然PGP和S/MIME都是沿袭IETF标准,但S/MIME可能会作为商用的行业称推,而PGP则仍然用于个人月的的电子邮件安全。2 SMIME的安全功能SMIME的安全功能与PGP的安全功能相同,有加密和签字,即: 数据的封装:被封装
14、的数据包括被加密的消息内容和被加密的消息加密密钥。 数据的签字:发方用自己的秘密钥对消息摘要的签字。然后,或者签字和消息内容一起经基数64编码变换后,发给收方,仅当收方也具有SMIME的安全功能时,才能解读消息。或者仅对签字进行基64编码变换,消息内容则以明文形式发送,这时接收入如果没有SMIME安全功能,能够读消息内容,但都无法验证它的签字。安全功能的另一种方式是加密和签字的嵌套使用,即加密后的数据又可被签字,或先对消息签字,再对签字加密。SMIME使用的密码算法有:消息摘要算法、签字算法、加密会话密钥的加密算法和加密消息的加密算法。建议使用的消息摘要算法是SHA,但也支持MD5,签字的首选
15、算法是DSS,加密会话密钥的首选算法是E1Gamal。 此外,RSA算法也能用于签字和加密会话密钥。加密消息的建议算法是3DES,但也支持40比特的RC2,后奋虽然强度弱,但不受美国出口限制。RC2是RRjvest设计的分组加密算法,其明文分组和密文分组都为64比特长,密钥长在8比特到1024比特之间可变。3 SMlME的消息格式 S/MIME在MIME消息格式的基础上增加了签字、加密等安全功能,在消息报头中新增了两个内容类型则multipart和application,并在application的子类型中都标有PKCS(public-key cryptography specificatio
16、ns),PKCS表示RSA实验室发布的公钥密码规范。SMIME的消息产生过程如下:首先按MIME消息产生的规范形式产牛MIME消息,然后再加上与安全相关的数据,如算法标识符、证书等。再由s/MIME对上述结果处理(包括加密和签字)后产生出自己的消息内容(称为PKCS对象),最后再加上MIME报头就形成完整的S/MIME邮件消息。由于加密、签字的作用,邮件消息形式是(或部分是)二元数字串(由ITU-T建议的X.209中定义的BER表示),还需对其作基64的编码变换,将其变为规范形式。下面分别介绍SMIME新增加的两个内容类型。(1)multipart该类型又有个子类型signed,表示发送的内容
17、是明文消息和对消息的签字。(2)application该类型又有5个子类型,分别为application/pkcs7-mineenvelopedData其中pkcs7-mine表示子类型,envelopedData是类型参数,用于表示S/MIME对邮件消息的基64编码方式,下面将介绍的其他子类型中的参数也是表不编码变换方式。application/pkcs7-minesignedData参数signedData表示对消息签字。application/pkcs7- signature表示类型为multipartsigned的消息中签字部分的内容类型。application/pkcs10-mine
18、表示用户或应用程序将向证书发放机构发送一组数据,以申请一个公钥证书。这一组数据包括证书请求信息、公钥加密算法标识符、 申请者对证书请求信息的签字。证书请求信息又包括证书主体的名称和用户公开钥的比特串表示。applicationpkcs7-minedegenerate signedData表示该消息是证书发放机构用于对用户申请公钥证书请求的应答,消息的内容只有发给用户的证书或证书吊销列表。5 SMIME的证书 SMIME使用第3版X509公钥证书,其公钥管理采用X.509证书层次结构和PGP信任关系的混合方式。和PGP一样,SMIME中管理者和用户都需建立证书列表(其中每行都是由证书发放机构为某
19、一用户签署的公钥证书)和证书吊销列表,从而可以对接收的消息验证其上的签字,而对自己发出的消息可用对方的公开钥加密。 1用户作用 用户可执行以下密钥管理功能: 密钥的产生:用户或其代理能产生所需的ElGamal或DSS密钥对,或长度范围在768比特到1024比特的RSA密钥。 注册:用户的公钥必须由证书发放机构注册,以形成用户的X.509公钥证书。 证书的存取:用户为了验证收到的消息或加密将发出的消息,则需访问证书列表。证书列表的维护可由用户自己完成或由代表多个用户的本地管理者完成。 2VeriSign证书 VeriSign是最为广泛使用的、支持SMIME的证书发放机构,它发放的X.509证书其
20、产品名为Vertsign Digital ID,其中包括证书属主(即用户)的公开钥、属主的名称或别名、证书的截止日期、序列号、发放机构的名称、发放机构的签字,此外还包括用户提供的信息,有地址、电子邮件地址、基本注册信息(如国别、邮编、年龄、性别等)。VeriSign按安全性要求,将证书分为二类,用户可在线向VeriSign的web站点申请。6 增强的安全服务增强的安全服务有:收据:消息的发方如果发给收方的消息类型是SignedData,则可要求收方对收到的消息开据收据。收方对发方发来的消息及发方的签字再进行签字,作为自己已收到消息的收据。发方对用此收据向第三方证明收方的确已收到消息。安全标签:
21、如果消息类型是SignedData,则可为此消息加一安全标签。安全标签表示由S/MIME封装保护的消息内容的敏感性,可用于访问控制,表示该消息可被哪些用户访问。也可用于表示消息的安全级别(绝密、秘密、内部等)。安全邮件列表:用户如果要将一个消息发给多个接收者,就需分别使用每个接收方的公开钥为消息加密,这一工作可由SMIME的邮件列表代理机构MLA(Mail ListAgent)来完成。用户只需将欲发送的消息用MLA的公开钥加密后,发给MLA,MLA则分别为每个指定的接收方加密消息后再发送。7 通过Outlook Express收发安全电子邮件 1获取一个私人的数字标识PIN 在使用微软Outl
22、ook Express进行收发安全的电子邮件之前,必须先获取一个私人的数字标识。可以从发证机构获得这个数字标识。然后,将自己的数字标识发送给需要给你发送加密邮件的用户或朋友,也可用相同的数字标识发送签名邮件。目前Internet上有较多的商业发证机构。这里以verisign公司为例,介绍获取私人数字标识的步骤。 (1)访问http:/站点,按提示填人个人信息及电子邮件地址,确认无误并提交后,过一会儿就会收到一封verisign公司发来的电子邮件,其中就包含自己的数字标识PIN、 (2)根据刚才接收到的电子邮件中的提示,访问http:/digitalid veri
23、mspickup.htm站点,按照提示输人数字标识PIN并提交,成功后即可获得你的数字标识。这个数字标识将自动加人到本机的Outlook Express中。这里要注意的是,verisign公司提供的数字标识,免费使用时间只有60天,若想要长期使用,则必须付费。 2.对电子邮件进行数字签名获得数字标识以后,就可以通过Outlook Express方便地对所发送的电子邮件进行数字签名。数字签名可以使别人确认这些邮件确实是你发出去的,并且可以保证邮件在传送过程中不会被改变。假如预定的接收者的电子邮件收发软件不支持SMIME协议,他仍然可以接收发送有数字签名的邮件,这时你的数字签名只是
24、简单地作为一个附件,附在邮件的后面。 签名图标表明一个邮件已经被数字签名了。当对一个邮件进行数字签名时,这个图标显示在主题一栏的右下角。当收到一个进行了数字签名的邮件,用Outlook Express阅读这个邮件时,这个图标也会显示出来。可以对单个邮件进行数字签名,也可以通过设置Outlook Express中的安全选项,来对所有发送的邮件自动进行数字签名。 对单个邮件进行数字签名 (1)单击信息窗口中的签名按钮; (2)签名固标显示么地址栏的右下角,这时表明该邮件已经被签名了(注意:再次单击签名将按钮将移去该邮件的数字签名)。 对所有发送的邮件自动进行数字签名 (1)在Outlook Exp
25、ress中,选择“工具”菜单的“选项”项; (2)单击“安全”一栏; (3)设置“在所有待发邮件中添加数字签名”一栏为有效状态3.对电子邮件加密 电于邮件很容易在传递途中校别人截取并阅读。传递安全邮件的惟一方法就是对邮件进行加密,使得只有预定的接收者才能接收并阅读它们。在Outlook Express中对邮件进行加密与数字签名是一样容易的。要对一个邮件进行加密,必须拥有预定接收者的数字标识,当收到一封签了名的电子邮件时,可以将该邮件发送者的数字标识保存在本地的地址簿中。还可以从联机目录服务中取回别人的数字标识。 加密图标表明邮件已经被加密。当加密了一封邮件时,加密图标显示在主题栏的右下角。当收
26、到一封被加密了的邮件,Outlook Express会自动地对邮件进行解密,并且在阅读该邮件时将加密图标显示出来。可以对单个邮件进行加密,也可以通过设置使系统对所有邮件进行加密。但要注意,若在地址薄中没有邮件接收者的数字标识则不能对该邮件进行加密。 对单个邮件进行加密 (1)单击信息窗口的“加密”按钮; (2)加密图标显示在主题栏的右下角,这表明该邮件已被加密(注意再次单击“加密”按钮将切换到“解密”状态)。 对所有邮件自动进行加密 (1)从“工具”菜单中选择“选项”; (2)单击“安全”项; (3)将“对所有待发邮件的内容和附件进行加密” 一栏设置成有效状态。4管理他人的数字标识 要发送加密
27、邮件,就必须将邮件接收者的数字标识存在本地的地址簿中。Outlook Exprsss允许查看地址簿中他人的数字标识并且可以很容易地增加和删除他人的数字标识。具体操作方法如下: 从他人的签名邮件中取出数字标识并保存 (1)打开签名邮件; (2)从“文件”菜单中选择”届性”; (3)单击“安全”一栏; (4)单击“加入地址簿“按钮。将一个下载的数字标识导人地址簿可以从一个联机目录服务中查找某人的数字标识并下裁,然下次可以给这人发送加密的邮件。将一个下载的数字标识转存人地址簿中的步骤如下:(1)在Outlook Express中建立一个新的地址信息项或打开个已存在的地址项;(2)单击属性对话框中数字
28、标识一栏;(3)单击“导人”按钮:(4)选择下载的数字标识文件,然后单击打开按钮。删除地址簿中他人的数字标识(1)打开地址簿,选中想要删除的用户;(2)在“属性”对话框中单击“数字标识”(3)选择想要删除的数字标识;(4)单击“删除”按钮。7 电子邮件安全产品与系统介绍7.1 SecMaiI安全电子邮件系统 SecMail安全电子邮件系统是基于PKI的企业网及电子商务安全解决方案的一部分,它作为一个独立完整的邮件客户端软件,除了可以执行常规的收发电子邮件的功能之外还可以实现邮件加密、邮件数字答名及邮件自动回执等安全功能。它有以下特点: 支持POP3、SMTP、PEM和SMIME等通用Inter
29、net电子邮件协议。 支持HTML格式的邮件。 支持通用POP3、SMTP邮件服务器。 可与0utlook、Netscape等通用邮件客户端软件互通。 支持3DES、IDSA等标准加密算法和国家审批的专用密码算法。7.2 诺方安全电子邮件服务iSafe 诺方电子邮件安全服务基于诺方在线信任中心(OTC)的密钥管理服务(GrandKey),但际标准的安全电子邮件标准SMIME。安装iSafe后,在原来邮件系统的正常操作过程小的电子邮件将自动变成有安全特性的邮件系统。它有以下特点: 密钥管理与维护工作自动化程度高、使用简便、易于维护。 可与其他支持SMIME协议的电子邮件系统互通。 支持Hortm
30、ail、Yahu、263.net、163.net、润迅和百家等电子邮件系统。 与SMIME电子邮件的客户端软件(如Outlook Express、Lotus Notes)等兼容。7.3 IPSec7.3.1 IPSec概述网络中的认证(包括Kerbros,X.509)及电子邮件的安全性(包括SMTP,SMIME)考虑的是特定应用系统的安全性。另外各应用系统的安全性还需从协议层加以考虑,例如,公司为保证自己专用TCP/IP网络的安全性,可对从自己网络发出的数报报进行加密,对进入自己网络的数据报进行认证,同时不允许对不可信站点的连接,这些安全策略的实施是在IP层上进行的。IP层上的安全性(简称IP
31、sec)包括认证性、保密件和密钥管理三个方面。认证性可保证收到的数据报的确是由数据报报头所标识的数据源发来的,且可保证数据报在传输期间未被篡改;保密性可保证数据在传输期间不被第三方窃听,而密钥管理则解决密钥的安全交换。IPsec 在 IP 层提供安全服务,它使系统能按需选择安全协议,决定服务所使用的算法及放置需求服务所需密钥到相应位置。 IPsec 用来保护一条或多条主机与主机间、安全网关与安全网关间、安全网关与主机间的路径。IPsec 能提供的安全服务集包括访问控制、无连接的完整性、数据源认证、拒绝重发包(部分序列完整性形式)、保密性和有限传输流保密性。因为这些服务均在 IP 层提供,所以任
32、何高层协议均能使用它们,例如 TCP 、 UDP 、ICMP 、 BGP 等等。这些目标是通过使用两大传输安全协议,头部认证(AH) 和封装安全负载 (ESP),以及密钥管理程序和协议的使用来完成的。图 7 - 4 IPsec:IP 层协议安全结构7.3.2 IPSec的作用 IPsec通过在IP层对所有业务流加密和认证,保证了所有分布式应用程序包括远程登录、客户机/服务器、电子邮件系统、文件传输、Web的访问等)的安全性,因此可提供网络内(包括局域网LAN、广域网WANs等)或网际问的安全通信。例如: 公司可在因特网或公用广域网上建立自己的安全虚拟专用网,从而可节省建立并管理自己专用网的支出
33、。 配备有IPsec系统的终端用户,可在本地呼叫因特网服务提供商ISP(Intenet service Provider)以获取对某一公司网络的安全访问。 IPsec不仅能用于建立内部网中的连接而是也能用于建立与外部网的安全连接。 某些Web应用程序和电子商务应用程序即使已有自己的安全协议,但使用IPsec可增加它们的安全性。图72是IPsec应用示例,图中有一个用户系统和两个LAN。从用户系统和LAN发出通信业务流时,都需在网际设备个使用IPsec协议。图9.2 IPsec应用示例网际设备指路由器或防火墙等设备,用于将LAN连接到外部网中。网际设备对发往WAN的业务流进行加密和压缩,对来自W
34、AN的业务流进行解密和解压缩。以上运算对LAN上的工作站和服务器都是透明的。 IPSec具有以下意义: IPsec用于防火墙和路由器等网际设备,可为通过网际设备的业务流提供强安全业务,且在LAN内(比如一个公司的LAN)的业务无需进行安全性处理。 IPsec用于防火墙可防止使用IP的业务流绕过防火墙。 IPsec位于传输层(TCP,UDP)之下,所以它对应用程序来说是透明的。且当IPsec用于防火墙或路由器时,无需修改用户或服务器所使用的软件。即使IPsec用于端系统时,上层软件(包括应用程序)也不受影响。 IPsec对终端用户来说是透明的,因此无需对用户进行安全培训,也无需对用户发放或撤销密
35、钥材料。73.3 IPSec的结构IPsec在IP层提供安全业务的方式是让系统选择所要求的支全协议、决定所需的算法和密锁。安全协议有两个,一是由协议的报头、即认证报头AH(Authentication Header)指定的认证协议,二是由协议数据报格式、即封装的安全负载ESP(Encapsulating Security Payload)指定的将加密和认证结合起来的协议。安全业务有访问控制、无连接的完整性、数据源的认证性、对重放数据报的拒绝、保密性、受限的业务流保密性等。表71显示AH指定的协议(简称AH协议)和ESP指定的协议(简称ESP协议)所能提供的安全业务,其中ESP又分为仅加密和加密
36、与认证结合两种情况。协议安全业务AHESP(有加密)ESP(有加密和认证)访问控制无连接的完整性数据来源的认证对重放数据的拒绝保密性受限业务流的保密性7.34 认证报头认证报头AH用于保证D数据报的数据完整性、认证性,并用于防地址欺骗攻击、消息重放攻击等。其认证性由消息认证码MAC实现,因此要求通信双方有共享的密钥。AH有以下数据字段(如图95)。下一报头:字段长为8比特,用来标识下一数据报的报头。负载长度:字段长也为8比特,其值(即负载长度)为以32比特字为单位的AH长度减2(节位为字)。例如:“认证数据”字段的默认长度为96比特,即3个字,此时AH总长为6个字,所以负载长度为4(单位为字)
37、。保留:字段长为16比特,留待将来可能出现的新用途使用。安全参数索引SPI:字段氏32比特,其用途在前面己解释过。序列号:字段长32比特,为单调递增的讨教器。认证数据;为可变长字段,但长必须为32比特的整数倍。字段的值为本数据报所用的完整性检验值ICV(Integrity check value)即MAC。所以AH总长为96比特固定部分加上认证数据的可变长部分。7.35封装安全负载封装文全负载EsP用于提供保密性业务,包括对消息内容的保密性和通信流量的保密ESP也提供作为可选项的认证业务。1 ESP数据报格式 如图910所示,ESP数据报包括以下字段。 安全参数索引SPI:字段长32比特,用于
38、标识SA关联 序列号:字段长32比特,为一个单调递增的计数器,用于防重放攻击。 负载数据:字段长可变,为经加密保护的传输层数据段(传输模式时)或IP数据报(隧道模式时)。 填充:宁段长范围为。到255字节,其作用下面介绍。 填充长度:字段长8比特,表示前一字段以字节为单位的长度。 下一报头:字段长8比特,通过表示负载数据的第一个报头(AH IPv6的一个扩展报头或TCP等上层协议)而表示负载数据的数据类型。 认证数据:字段长可变(然而必须是32的整数倍),为前面各字段计算出的完整性校验值ICV。其中“安全参数索引”、“序列号”构成了ESP的报头,“填充”、“填充长度”和“下一报头”三个字段构成
39、了ESP的报尾。2 ESP所用的加密算法和认证算法ESP保密业务为负载数据、填充、填充长度、下一报头四个字段提供加密,如果加密算法需要初始向量,则将初始向量以明文形式放在负载数据头部。ESP要求文持CBC模式的DES,同时支持的加密算法还有:三个密钥的三重DES、RC5、IDEA、CAST、Blowfish等。和AH一样,ESP支持的消息认证码的默认长度为96比特,支持的算法为HMAC-MD5-96和HMAC-SHA-1-96。7.36 安全关联安全关联SA(Security Associations)是指由IPSec提供安全服务的业务流的发方到收方的一个单向逻辑关系,用来表示IPSec为SA
40、所承载的数据通信提供安全服务,其方式是使用AH或ESP之一,一个SA不能同时使用AH和ESP保护。因为SA是单向的,所以两个系统之间的双向通信需要两个SA,个SA可由三个参数惟地表示为: 三个参数的含义分别为:安全参数索引SPI(Security Parameter Index):赋他给该SA的比特串,其位置在AH和ESP报头中。作用是使接收系统对收到的数据报能够选择在哪个SA下进行处理。所以SPI只有本地意义。目标IP地址:即SA中接收方的IP地址,该地址可以是终端用户系统或防火墙、路由器等网际设备的地址。目前的SA管理机制只支持单目传送地址(即只指定一个用户或网际设备的地址)。安全协议标识
41、符:表示SA使用的协议是AH协议还是ESP协议。所以对任何IP数据报,通过IPv4或Pv6报头中的目标地址以及封装扩展报头(AH或ESP)中的SPI,可对SA惟一地识别。IPSec的实现还需维护两个数据库:安全关联数据库SAD(Secunty Association Database)和安全政策数据库SPD(Security Policy Database),下面分别介绍之。1SADSAD用于定义每一个SA的参数值,包括:顺序号:以AH或EsP报头中的32比特的值表示。顺序号溢出标记:表示顺序号的溢出是否能产生一个可审核事件并防止在这一SA上数据报的进一步传送。反重放窗口:用以决定收到的AH或
42、ESP数据报是否是重放的。AH信息:表示AH所使用的认证算法、密钥、密钥有效期等。ESP信息:表示ESP所使用的认证和加密算法、密钥、初始值、密钥有效期等。SA的有效期:表示一时间间隔,在该间隔以后,SA的关联关系或者结束或者被新SA代替。同时这一多数值中还有一标识符标识SA是被结束还是被代替。IPsec的协议模式:协议模式有隧道模式、传输模式或通配符。路径最大传输单元:指不被分段而能传输的最大数据报长度。2SPD一个业务流是被提供安全服务还是让其绕过IPsec是由是否将业务流关联于一个特定的SA决定的,关联的手段是安全政策数据库SPD。在SPD的最简单形式中,各数据项定义了一个IP业务流子集
43、以及每一业务流指间一个SA的指针。在较复杂形式中,多个数据项指向同一SA,或一个数据项指向多个SA。发出业务流的处理过程如下:(1)在SPD中寻找与业务流数据报相匹配的选择值。(2)由选择他决定该业务流的SA。(3)对业务流进行所渭的IPsec处理(如AH处理或ESP处理)7.37 AH和ESP的两种使用模式AH和ESP的两种使用模式分别是传输模式和隧道模式,这里先介绍两种模式的一般概。(1)传输模式传输模式主要用于对上层协议的保护,即将其保护报推广到IP数据报的负载,如TCP数据段、UDP数据段或ICMP(Internet Control Message Protocol)数据报。传输模式典
44、型地用于两个主机的端端通信。在IPv4中,负载指位于IP报头之后的数据。在IPv6中,负载指IP报头和扩展报头(除目标地址选项)之后的数据,而目标地址选项也和负载一起受到保护。以传输模式运行的ESP协议对负载进行加密和认证(认证件可供选择),但不对IP报头进行加密和认证。以传输模式运行的AH协议对负载及报头中选择的一部分进行认证;(2)隧道模式隧道模式用于对整个IP数据报的保护,它是将一个数据报用一个新的数据报包装,即给原数据报加一个新的报头,称为外部报头,这样原数据报就成为新数据报的负载。因此原数据报在整个传送过程中就象在隧道中一样,传送路径上的路由器都无法看到原数据报的报头。由于封装了原数
45、据报,新数据报的源地划:和目标地址都与原数据报的不同,从而增加了安全性。隧道模式用于SA关系中至少一方是一个安全的网关,如实现IPsec的防火墙或路由器。通过网关进入局域网中的通信则无需使用IPSec予以保护,而从局域网通过网关发出的数据报则由网关中的IPsec软件建立起隧道模式的SA,升以隧道模式发送。例如,主机A产生一个数据报,其目标地址是另一网络中主机B的地址,A将自己的数据报发送给所在网络中的防火墙或安全路由器。防火墙过滤自己将发送的所有数据报以决定哪些需要进行IPSec处理,如果A发往B的数据报需要IPsec处理,防火墙则对其进行处理并用一个新报头对其封装,新报头中源地址则为防火墙的
46、IP地址,目标地址则是B所在局域网中防火墙的IP地址。数据报在到达B的防火墙前,所有中间路由器仅检查外部报头,到达B的防火墙后,则剥去外部报头并将原数据报发给B。以隧道模式运行的ESP协议对整个内部数据报(包括报头)加密和队证(认证性可供选择),而AH协议则对整个内部数据报和外部报头中的所选部分进行认证。7.4 安全超文本传输协议 安全超文本协议S-HTTP是Web上使用的超文本传输协议(HTTP)的安全增强版本,是 Veri Fone公司应 Commerce Net要求开发的。它建立以 Internet为基础的电子商务所需的技术,目的是保证商业贸易的传输安全,促进电子商务的发展。由于SSL的
47、迅速出现,S-HTTP未能得到广泛应用。7.4.1 S-HTTP协议概述 S-HTTP是用于互联网进行安全信息传输的协议,在Web会话过程中,该协议对客户机和服务器双方在安全上的加密和解密进行管理。 S-HTTP建立在HTTP之上,S-HTTP好似HTTP规范之外的一个封闭层,旨为HTTP事务提供身份认证和加密手段。所谓封闭是指全部HhP请求和响应都经过加密并作为SHTTP请求和响应的实体主体。在S-HTTP中对所有安全事务所提议的请求都形如: secure*secure-HTTP/l.l注意:在请求行中,与HTTP不同,不再指定URL,这是为了防止恶意的第三方从请求中窃取信息,这样也把所有信
48、息全部隐含在消息的加密部分,而只会在请求行中保留极少量的信息。 S-HTTP中的响应行也应形如: secure-HTTP/l.12OOOK真正的响应也隐含在响应主体中,有加密保护。 在S-HTTP中新增了下列请求行: (1)ContentPrivacyDomain:表明消息格式。其合法值为 PEM、PKCS-7和PGP。PEM是指 RFC1421定义的保密增强型邮件(Privacy Enhanced Mail,PEM),PKCS-7是 S-HTTP定义的一种消息格式。PGP指PrettyGoodPrivacy 2.6定义的格式。 (2)Content-Transfer-Encoding:定义对
49、象的编码方式,包括7BIT、8BIT、BASE64。这一域值受Content-Privacy-Domain值的限制。 (3)Content-TYPE:这虽不是新增的域,但在S-HTTP中其返回值应为Application/http。(4)Prearranyed-Key-Info:标识此段加密所用的密码。密码是从服务器和客户共有的一组密钥中挑选出来的。(5)MAC-Info:方法验证信息,为服务器提供一个验证用的校验和,保证该消息不是旧消息的副本,以及消息中的数据在传递过程中不被篡改。这些就是S-HTTP对HTTP的主要扩充。规范中还定义了对象内容格式;为了在HTML文档中嵌入有关安全性的信息,
50、还定义了新的HTML标签;最后S-HTTP规范还提出了一种新的URL机制,它通过理解SHThP的服务器,来表明得到的资源是有效的资源,S-HTTP中的URL以shttp机制开头。S-HTTP使用HTTP的MIME(Internet邮件的附件标准)网络数据包进行签名、验证和加密,数据加密可以采用对称或非对称加密。通过S-HTTP,安全服务器以加密和签名信息回答请求。在对客户验证签名及身份时,验证是通过服务器的私钥实现的,该私钥用来产生服务器的数字签名;当信息发给客户时,服务器将其公钥证书和签名信息一起发往客户,客户便可以验证发送者身份,服务器也可以用同样的过程来验证发自客户的数字签名。SHTTP
51、的范围覆盖了Web客户和服务器。S-HTTP提供了文件级的安全机制,因此每个文件都可以被设成私人、签字状态。用作加密解密及签名的算法可以由参与通信的收发双方协商。S-HTTP提供了对多种单向散列(Hash)函数的支持,如MD2、MD5和SHA;对多种单钥体制的支持,如DES、三元DES、RC2、RC4和CDMF;对数字签名体制的支持,如RSA和DSS。742 SSL与S-HTTP的比较S-HTTP和SSL是从不同角度提供Web的安全性的。S-HTTP建立在HTTP之上,旨为HTTP事务提供身份认证和加密手段。SSL则建立在HTTP的下一层,并可用于FTPGopher等其他协议。S-HTTP对单
52、个文件作“私人/签字”之区分,而SSL则把参与相应进程之间的数据通道即“私用”和“已认证”进行监管。SSL是Netscape公司为TCP/IP套按字开发的一种加密技术,它是基于通道的加密方法,用于提高应用层协议(如 HTTP、Telnet和FTP)等的安全性,增强通信应用程序间的保密性和可靠性。其功能包括数据加密、服务器验证、信息完整性以及可选的客户 TCPIP连接验证。SSL可使用各种类型的加密算法和密钥验证机制,与S-HTTP相似,SSL提供加密HW网络数据包的能力。S-HTTP在HTTP协议层工作,SSL在套接字层工作,能加密多种其他基于套接字的Internet协议。SSL的客户机和服务
53、器之间的谈判与套接字谈判的处理过程相似。SSL不同于S-HTTP之处在于:后者是HTTP的超集,只限于Web的使用;前者则是通过Socket发送信息,SSL是一个通过Socket层对客户和服务器间的事务进行安全处理的协议,适用于所有 TCPIP应用。SSL包括客户和服务器之间协商加密算法类型的信息和交换证书与密钥的信息。7.5 安全套接层协议(SSL) 7.5.1 SSL协议为了适应Internet安全的传送机制,Netscape公司提供了一种安全数据传输协议SSL协议。SSL协议3.0提供了数据加密措施、服务器认证、信息完整性以及TCPIP连接的用户认证。在web和其他的Internet事务
54、处理中,SSL协议为服务器和用户提供了一种加密和保护信息的方法,其主要作用是请求浏览器和服务器互相连接通信。两个主要的浏览器Netscape的Navigator和微软公司的Explorer都能提供SSL的安全连接。7.5.2 SSL提供的安全服务 SSL用下面的3种服务来让用户和服务器对它们传送的信息进行保护(以下详细介绍这个服务)。 用数字证书实现的服务器认证(防止冒名顶替音)。 加密传输信息(防止窃听)。端对端连接,保证数据信息完整性(防止数据的损坏)。 在TCPIP 协议里,SSL位于应用程序之下网络层和传输层之上,这些应用程序包括HTTP、SMTP、Telnet、FTP、Gopher等
55、协议,把SSL放在应用程序协议之下和TCPIP通信协议之上有利于让SSL利用Internet通信标准的优点,而不是局限于一个特定的应用程序协议。7.5.3 SSL的工作原理 当一个使用者在Web上用Netscape浏览器漫游时,浏览器利用HTTP协议与Web服务器沟通。例如,浏览器发出一个HTTP GET命令给服务器,想下载一个首页的HTML档案,而服务器会以传送档案的内容给浏览器来响应。GET这个命令的文字和HTML档案的文字会通过会话层(Socket)的连接来传送。Socket使两台远程的计算机能利用Internet来通话。通过SSL,资料在传送出去之前就自动被加密了,它会在接收端被解密。对没有解密密钥的人来说,其中的资料是无法阅读的。 采用TCP作为传输协议以提供数据的可靠传送和接收; 工作在会话层,独立于更高层,可为更高层协议(如Telnet、FTP和HTTP)提供安全业务; 采用对称和非对称两种加密体制对Web服务器和客户机的通信提供保密性、数据完整性和身份认证。 SSL的两层结构:SSL握手协议和SSL记录协议 SSL握手协议是在客户机和服务器之间交换消息强化安全性的协议。该协议由六个阶段组成: 接通阶
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026新疆兵团第一师八团医院招聘3人备考题库及答案详解(必刷)
- 2026内蒙古锡林郭勒盟金盾押运服务有限公司招聘5人备考题库及参考答案详解(综合卷)
- 2026恒丰银行杭州分行社会招聘20人备考题库(考试直接用)附答案详解
- 2026湖北武汉市第三医院骨干人才及成熟型人才招聘备考题库【名师系列】附答案详解
- 2026浙江宁波华侨温德姆至尊豪廷大酒店招聘2人备考题库及答案详解【考点梳理】
- 2026湖南怀化市辰溪县残疾人联合会公益性岗位招聘1人备考题库(典型题)附答案详解
- 2026新疆天筑建工集团有限公司社会化招聘121人备考题库及参考答案详解(突破训练)
- 2026新疆第七师医院医共体上半年招聘87人备考题库及答案详解(各地真题)
- 2026浙江凯航物产有限公司招聘31人备考题库(综合卷)附答案详解
- (新教材)2026人教版二年级下册数学 3.2.5 10000以内数的大小比较 教学课件
- 2026年春季人教版小学数学二年级下册教学计划(含进度表)
- 2024年-2024五届华杯赛小高年级组试题及答案
- 尾箱集市商业计划书
- 少先队德育知识讲座
- 中医康复实训室方案及流程
- (完整)CRH380A动车组轮对检修流程及改进方案
- 四川省省属卫生事业单位公开招聘卫生专业技术岗位人员公共科目笔试大纲
- 船舶液压系统常见故障分析及解决方案
- 2023年中级注册安全工程师《安全生产专业实务(建筑施工安全)》真题及答案
- THSPP 0010-2023 欧标茶生产茶园栽培技术规程
- 危化品考试题库及答案参考
评论
0/150
提交评论