电子商务安全技术第10章安全通信协议与交易协议-IP安全.ppt

上传人:本田雅阁 文档编号:2906803 上传时间:2019-06-04 格式:PPT 页数:60 大小:206.52KB
返回 下载 相关 举报
电子商务安全技术第10章安全通信协议与交易协议-IP安全.ppt_第1页
第1页 / 共60页
电子商务安全技术第10章安全通信协议与交易协议-IP安全.ppt_第2页
第2页 / 共60页
电子商务安全技术第10章安全通信协议与交易协议-IP安全.ppt_第3页
第3页 / 共60页
电子商务安全技术第10章安全通信协议与交易协议-IP安全.ppt_第4页
第4页 / 共60页
电子商务安全技术第10章安全通信协议与交易协议-IP安全.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《电子商务安全技术第10章安全通信协议与交易协议-IP安全.ppt》由会员分享,可在线阅读,更多相关《电子商务安全技术第10章安全通信协议与交易协议-IP安全.ppt(60页珍藏版)》请在三一文库上搜索。

1、1,IP安全,2,Internet安全协议,IETF的各个工作小组从不同角度解决互连网安全问题,形成一些RFC和草案: DNSSEC工作组 RFC2137、2535、2541 研究DNS安全及DNS动态更新 WTS(Web Transaction Security)工作组 建立SHTTP 认证、完整性保护;RFC2084 SECSH工作组 安全Shell IPSEC工作组 TLS工作组(SSL协议),3,IP安全面临的问题,伪造IP包的地址;修改其内容 重播以前的包;拦截并查看包的内容 如何确保收到的IP数据报: 1)来自原先要求的发送方(IP头内的源地址); 2)包含的是发送方当初放在其中的

2、原始数据; 3)原始数据在传输中途未被其它人看过。,4,IPSec协议,IP安全是整个TCP/IP安全的基础与核心。它可对上层的各种应用服务提供透明的安全保护。IPv4没有考虑安全性,缺乏对通信双方身份的认证,缺乏对传输数据的保护,并且容易受窃听、IP地址欺骗等攻击。IPSec工作组于1994年成立,1995年8月公布了一系列建议标准: RFC2401:IP安全结构 RFC2406:AH; RFC2406:ESP RFC2409:IKE RFC2403:HMAC-MD5-96 RFC2404:HMAC-SHA-96,5,IPSec概述,IPSec可保障主机之间、网络安全网关(如路由器或防火墙)

3、之间或主机与安全网关之间的数据包的安全。 由于受IPSec保护的数据报本身不过是另一种形式的IP包,所以完全可以嵌套提供安全服务,同时在主机之间提供像端到端这样的认证,并通过一个隧道,将那些受IPSec保护的数据传送出去(隧道本身也通过IPSec受到安全网关的保护)。,6,IPSec的协议,对IP数据报或上层协议进行保护的方法是使用某种IPSec协议:“封装安全载荷(ESP:Encapsulating Security Payload)”或者“认证头(AH:Authentication Header)”。 AH可证明数据的起源地、保障数据的完整性、防止相同数据包的重播。 ESP除具有AH的所有

4、能力之外,还可选择保障数据的机密性,以及为数据流提供有限的机密性保障。,7,IPSec的安全业务,8,密钥管理协议IKE,密钥管理协议IKE(Internet Key Exchange)用于动态地认证IPSec参与各方的身份、协商安全服务以及生成共享密钥等。 IPSec提供的安全服务需要用到共享密钥,它既可用于保障数据的机密性,亦可用于数据完整性(消息认证码MAC),或者同时应用于两者。 IPSec的运算速度必须够快,而现有公共密钥技术(如RSA或DSS)的速度均不够快。公共密钥技术仍然限于在密钥交换期间完成一些初始的认证工作。,9,IPSec协议组成,安全关联SA (Security Ass

5、ociation) 安全策略数据库SPD (Security Policy Database) 认证头AH (Authentication Head ) 封装安全载荷ESP(Encapsulation Security Payload) IKE(Internet密钥交换) ISAKMP/Oakley(密钥管理协议) ISAKMP:Internet Security Association and Key Management Protocol Oakley:是D-H密钥交换协议的改进,10,结构图,11,IPSec实施,IPSec既可在终端系统上实现,亦可在某种安全网关上实现(如路由器及防火墙

6、)。 在主机中实施可以有两种方式: 1、与操作系统的集成实施。 2、在协议堆栈中的网络层和数据链路层之间实施。,12,操作系统集成,IPSec作为网络层协议,可在网络层实现,由IP层的服务构建IP头。这个模型与其它网络层协议(比如ICMP)的实施等同。,13,在协议堆栈中实施,14,在主机实施的特点,a保证端到端的安全性 b能够实现所有的IPSEC安全模式 c能够对每个数据流提供安全保障 d在建立IPSEC的过程中,能够维持用户身份的认证。,15,在路由器中实施,如果在路由器中实施,可在网络的一部分中对传输的数据包进行安全保护。 例如某公司只打算对传给地理位置分散的那些部门的数据实施保护,而且

7、只在数据流经Internet的时候进行保护,从而构建自己的VPN或者内联网。IPSec实施方案通过对数据包进行“隧道传输”,从而实现了对它们的保护。,16,IPSec两种不同的使用模式,传送模式:保护上层协议;用于两主机之间; 隧道模式:保护整个IP数据报;当一方为网关时。 原始IP包: IP头 + TCP头 + 数据 传送模式: IP头 + IPSec头 + TCP头 + 数据 隧道模式:新 IP头 + IPSec头 + IP头 + TCP头 + 数据,17,安全关联,为正确封装及提取IPSec数据包,要将安全服务、密钥与要保护的通信数据联系到一起;同时要将远程通信实体与要交换密钥的IPSe

8、c数据传输联系起来。这样的方案称为安全关联(Security Association,SA)。 SA是构成IPSec的基础。它由两个通信实体协商建立。它们决定了用来保护数据包安全的IPSec协议、密钥以及密钥的有效存在时间等。任何IPSec实施方案都会构建一个SA数据库(SAD),由它来维护保障数据包安全的SA记录。,18,安全关联,SA是单向进行的,它仅朝一个方向定义安全服务,要么对通信实体收到的包进行“进入”保护,要么对实体外发的包进行“外出”保护。SA由一个三元组唯一标识: 1)安全参数索引(SPI):存在于IPSec协议头内; 2)安全协议(AH、ESP)标识符; 3)目标IP地址:它

9、同时决定了关联方向。 通常SA是以成对的形式存在的,每个朝一个方向。既可人工创建它,亦可采用动态创建方式。SA驻留在“安全关联数据库(SAD)”内。,19,SA创建,若用人工方式加以创建,SA便会一直存在下去,除非再用人工方式将其删除。 若用动态方式创建,则SA有一个存活时间与其关联在一起。存活时间(TTL)由IPSec通信双方在密钥管理协议中协商。TTL非常重要,因为受一个密钥保护的通信量必须加以谨慎地管理。若超时使用一个密钥,会为攻击者侵入系统提供更多的机会。,20,安全关联数据库SAD,SAD用于定义每个SA的参数值: 顺序号:以AH/ESP报头中32位bit值表示 顺序号溢出标记:防止

10、溢出数据报的传送 反重放窗口:收到的AH/ESP数据报是否重放 AH/ESP信息:认证/加密算法、密钥、有效期 SA有效期:该时间间隔之后,SA结束/被替代 IPSec协议模式:传输模式/隧道模式 路径最大传输单元:最大数据报长度(不分段),21,安全策略数据库SPD,SPD (Security Policy Database)定义了对所有出/入业务应采取的安全策略,为IP数据项提供什么服务以及以什么方式提供。对所有出/入包括非Ipsec业务的处理必须咨询SPD,处理有三种可能: 1)丢弃:不允许在此主机上存在,或不允许通过此网关。 2)绕过Ipsec:允许通过而无需Ipsec保护 3)采用I

11、psec:对这种业务流,SPD要指明提供的安全服务,采用的协议及使用的算法等。,22,安全策略,用户可以根据自己的要求,对不同的通信设定不同级别的安全策略。 例:在一个网络安全网关上制订IPSec策略,对本地子网与远程网关的子网间通信数据采用DES加密,并用HMAC-MD5进行认证;对从远程子网发给一个邮件服务器的所有Telnet数据用3DES进行加密,同时用HMAC-SHA进行认证;对于需要加密的、发给另一个服务器的所有Web通信数据,则用IDEA满足其加密要求,同时用HMAC-RIPEMD进行认证。,23,安全参数索引(SPI ),SPI长度为32位,用于唯一地标识出接收端上的一个SA。作

12、为两个主机秘密通信的协定, SA决定了密钥和加密算法等参数。必须采用某种机制,让通信源指出用哪个SA来保护数据包;而对通信的目的地,则需指出用哪个SA来检查收到的包是否安全。SPI是个任意数,一般是在IKE交换过程中由目标主机选定的。 SPI被当作AH和ESP头的一部分传送。接收主机使用这个字元组来唯一地标定SA(DST是IP头中的目标地址;而protocol代表协议是AH或ESP)。,24,消息认证码MAC,MAC:使用一个保密密钥生成固定大小的小数据块,并加入到消息中,称MAC, 或加密和。 用户A和用户B,共有保密密钥K,消息M, MAC=CK(M) 1、接收者可以确信消息M未被改变。

13、2、接收者可以确信消息来自所声称的发送者; 3、如果消息中包含顺序码,则接收者可以保证消息的正常顺序; MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少。,25,MAC的基本应用方式,1)消息认证 AB: M|CK(M) 2)消息认证+保密 AB: EK2 M|CK1(M) 3)消息认证+保密 AB: EK2 M|CK1(EK2 M),26,封装安全载荷概述,ESP(Encapsulating Security Payload)属于IPSec的一种协议,可用于确保IP数据包的机密性、数据的完整性以及对数据源的身份认证。此外,它也要负责对重播攻击的抵抗。 具体做法

14、是在IP头之后、需要保护的数据之前,插入一个新头ESP头。受保护的数据可以是一个上层协议,或者是整个IP数据报。最后,还要在最后追加一个ESP尾。ESP是一种新的IP协议,对ESP数据包的标识是通过IP头的协议字段来进行的。,27,ESP原理,ESP保护示意图,28,ESP格式,29,ESP格式,作为IPSec头,ESP头中会包含一个SPI字段。它和IP头之前的目标地址以及协议结合在一起,用来标识用于处理数据包的特定的SA。 通过序列号,ESP具有了抵抗重播攻击的能力。序列号是一个不重复的、单向递增的、由发送端插在ESP头的一个号码。 ESP保护的实际数据包含在载荷数据字段中。因此,这个字段的

15、长度由数据长度决定。某些加密算法要用到初始化向量(IV),它也受到保护。,30,隧道模式,隧道模式下受ESP保护的一个IP包,下一个头是TCP,加密,认证,31,传输模式,32,加密与认证,由于ESP同时提供了机密性以及身份认证机制,所以在其SA中必须同时定义两套算法用来确保机密性的算法叫作cipher(加密器),而负责身份认证的叫作authenticator(认证器)。每个ESP SA都至少有一个加密器和一个认证器。,33,处理外出数据包:传送模式,对在IPv4上运行的传送模式应用来说,ESP头跟在IP头后,IP头的协议字段被复制到ESP头的“下一个头”字段中,ESP头的其余字段则被填满SP

16、I字段分配到的是来自SAD的、用来对这个包进行处理的特定SA的SPI;填充序列号字段的是序列中的下一个值;填充数据会被插入,其值被分配;同时分配的还有填充长度值。随后,IP头的协议字段得到的是ESP的值,50。 除了头插入位置不同之外,IPv6处理规则基本上类似于IPv4。ESP头可插在任意一个扩展头之后。,34,处理外出数据包:隧道模式,对隧道模式应用来说,ESP头是加在IP包前面的。如果封装的是一个IPv4包,那么ESP头的“下一个头”字段分配到值4;如果封装的是一个IPv6包,则分配到值41。其他字段的填充方式和在传送模式中一样。随后,在ESP头的前面新增了一个IP头,并对相应的字段进行

17、填充(赋值)源地址对应于应用ESP的那个设备本身;目标地址取自于用来应用ESP的SA;协议设为50;其他字段的值则参照本地的IP处理加以填充。,35,加密认证,不管哪种模式下,接下去的步骤都是相同的。从恰当的SA中选择加密器(加密算法),对包进行加密(从载荷数据的开头,一直到“下一个头”字段)。随后,使用恰当的SA中的认证器,对包进行认证(自ESP头开始,中间经过加密的密文,一直到ESP尾)。随后,将认证器的结果插入ESP尾的“认证数据”字段中。 对外出数据包进行处理的最后一步是:重新计算位于ESP前面的IP头的校验和。,36,处理进入数据包,接收端在收到一个ESP包之后,若不对这个包进行处理

18、,就无法得知它究竟处于隧道模式,还是传送模式。根据对这个包进行处理的SA,便可知道它到底处在什么模式下。但除非完成了对它的解密,实际上不可能知道ESP保护的是什么。 如果收到的IPSec包是一个分段,必须把它保留下来,直到这个包的其他部分收完为止。,37,处理进入数据包,收到ESP包后,首先要检查处理这个包的SA是否存在这是基本的IPSec要求,而不是ESP专有的。如果没有SA,这个包就会被丢弃。 一旦认证通过了一个有效的SA,就可用它开始对包的处理。 首先检查序列号。 由于ESP身份认证密文而不是明文,接下来进行的便是对这个包进行身份认证。,38,处理进入数据包,然后是解密。通过取自SA的密

19、钥和密码算法,就可对ESP包进行解密,这个ESP包从载荷数据开始到下一个头结束。 传送身份认证和解密检查成功之后,就可对结果数据包进行初步的有效性检验。如果用来处理这个数据包的SA表明在某一特定模式下要么是隧道模式,要么是传送模式只能处理ESP包,那么还必须检验这个包的适用性。如果这个包与要求的模式不符,就必须把它丢弃。,39,处理进入数据包,对于传送模式,上层协议头与IP头是同步的,ESP头的下一个头字段被复制到IP头的协议字段中,并计算出一个新的IP校验和; 对于隧道模式,就抛开外部IP头和ESP头我们需要的是这个解开封装的包。 为进行下一步的处理,可将一个经过改造和认证的包转发出去。如果

20、它是一个传送模式包,就会转发到一个高一级的协议层(比如TCP或UDP),由它们对这个包进行处理;如果它是一个隧道模式包,就会重新插入到IP处理流中,继续转发到它的最终目的地。,40,认证头概述,认证头(AuthenticationHeader,AH)是一种IPSec协议,用于为IP提供数据完整性、数据原始身份认证和一些可选的、有限的抗重播服务。它定义在RFC2402中。除了机密性之外,AH提供ESP能够提供的一切东西。不需要加密算法(加密器),而需要一个认证器(身份认证器)。AH定义保护方法、头的位置、身份认证的覆盖范围以及输出和输入处理规则,但没有对所用的身份认证算法进行定义。,41,认证头

21、概述,认证头的保护,42,认证头概述,AH是另一个IPSec协议。在IPv4中数据报的协议字段值是51,表明IP头之后是一个AH头。在IPv6中,下一个头字段的值由扩展头的存在来决定。如果没有扩展头,下一个头字段将是51。如果AH头之前有扩展头,紧靠在AH头前面的扩展头中的下一个头字段就会被设成51。将AH头插入IPv6的规则与ESP插入规则类似。AH和ESP保护的数据相同时,AH头会一直插在ESP头之后。AH头比ESP头简单,因为它不提供机密性。由于不需要填充和一个填充长度指示器,因此也不存在尾。另外,也不需要一个初始化向量。,43,认证头格式,AH格式,44,认证头格式,下一头字段表示AH

22、头之后是什么。在传送模式下,将是处于保护中的上层协议的值,如UDP或TCP协议的值。在隧道模式下,值为4,表示IP-in-IP(IPv4)封装或IPv6封装的41这个值。 载荷长度字段表示采用32位的字减2表示头本身的长度。AH头是一个IPv6扩展头,按照RFC2460,它的长度是从64位字表示的头长度中减去一个64位字而来的。但AH采用32位字来计算,因此,我们减去两个32位字(或一个64位字)。没有使用预留字段时,必须将它设成0。,45,认证头格式,SPI和外部IP头的目的地址一起,用于识别对这个包进行身份认证的SA。 序列号是一个单向递增的计算器,等同于ESP中使用的序列号。序列号提供抗

23、重播功能。 认证数据字段长度不固定,其中包括完整性校检的结果。AH没有定义身份认证器,但有两个强制实施身份认证器:HMAC-SHA-96和HMAC-MD5-96。和ESP一样,输出结果被切短成96个位。同时,也没有针对AH的使用,定义公共密钥身份认证算法(比如RSA和DDS)。,46,模式,和ESP一样,AH可用于传送模式和隧道模式。不同之处在于它保护的数据要么是一个上层协议,要么就是一个完整的IP数据报。任何一种情况下,AH都要对外部IP头的固有部分进行身份认证。,47,传送模式,AH用于传送模式时,保护的是端到端通信。通信终点必须是IPSec终点。下一个头是TCP。,已认证,48,隧道模式

24、,AH用于隧道模式时,它将自己保护的数据报封装起来,另外,在AH头之前,另添了一个IP头。“里面的”IP数据报中包含了通信的原始寻址,而“外面的”IP数据报则包含了IPSec端点的地址。隧道模式可用来替换端对端安全服务的传送模式,AH只用于保证收到的数据包在传输过程中不会被修改,保证由要求发送它的当事人将它发送出去,以及保证它是一个新的非重播的数据包。,49,隧道模式,已认证,下一个头是IP-in-IP,50,AH处理,外出数据包与一个SPD条目(表示采用AH保护)匹配时,要求SAD查看是否存在一个合适的SA。如果没有,可用IKE动态地建立一个。如果有,就将AH应用到这个与之相符的数据包,该数

25、据包在SPD条目指定的那个模式中。如果它是一束SPD,应用顺序就由它所涉及的协议而定。AH始终保护的是ESP,别无它物。,51,输出处理,创建一个外出SA时可通过手工或IKE将序列号计算器初始化成0。在利用这个SA构建一个AH头之前,计算器就开始递增。这样保证了每个AH头中的序列号都是一个独一无二的、非零的和单向递增的数。 AH头的其余字段都将填满恰当的值。SPI字段分配的值是取自SA的SPI;下一个头字段分配的是跟在AH头之后的数据类型值;载荷长度分配的是“32位字减二”;“身份认证数据”字段设成0。,52,输出处理,和ESP不一样,AH将安全保护扩展到外部IP头的原有的或预计有的字段。因此

26、,要将完整性检查值(ICV)之前的不定字段调成零。对没有包含在身份认证ICV中的IPv4头来说,它的不定字段包括Type of service(服务类型)、Flags(标志)、Fragment offset(分段偏移)、Time to live(存活时间)和Header checksum(头校验和)。 对IPv4选项或IPv6扩展头来说,如果它们是固定的或预定的,都会包含在ICV计算之中。否则,必需在计算ICV之前,把它们调成零。,53,输出处理,身份认证可能要求进行适当的填充。对有些MAC来说,比如DES-CBCMAC,要求在其上面应用MAC的数据必须是算法的块尺寸的倍数。因此,必须进行填充

27、,以便正确地使用MAC(注:两种强制算法均无此要求)。这个填充项是隐式添加的。它必须一概为零,其大小不包括在载荷长度中,并且不随数据包一起传送。 对于IPv4,AH头必须是32个字节的一倍,IPv6则是64个字节的一倍。若MAC的输出和这项要求不符,就必须添加AH头。对于填充项的值,必须包括在ICV计算中,并在载荷长度中反映出填充项的大小。如果强制实施身份认证程序正确对齐了,在用HMAC-MD5-96或HMAC-SHA-96时,就不再需要填充项。,54,输出处理,通过把密钥从SA和整个IP包(包括AH头)传到特定的算法(它被认作SA中的身份认证程序)这一方式,对ICV进行计算。由于不定字段已设

28、成零,不会包括在ICV计算中。接下来,ICV值被复制到AH的“身份认证数据”字段中,IP头中的不定字段就可根据IP处理的不同得以填充。 现在,AH处理结束,AH保护的IP包可以输出了。根据包的大小,在放到线上之前,可将它分段,或在两个IPSec同级之间的传送过程中,由路由器进行分段。,55,输入处理,如果一个受安全保护的包在被收到之前分成了几段,就要在AH输入处理前对这些分段进行重组。 接收IPSec包首先要找出用来保护这个包的SA。然后,IP头的目的地址、特定协议(这里是51)和取自AH头的SPI这三者再对SA进行识别。如果没有找到合适的SA,这个包就会被丢弃。 找到SA之后,进行序列号检查

29、。抗重播检查会决定这个包是新收的还是以前收到的。如果检查失败,这个包就会被丢弃。,56,输入处理,现在必须检查完整性检查值(ICV)了。对整个数据包应用“身份认证器”算法,并将获得的摘要同保存下来的ICV值进行比较。如相符,IP包就通过了身份认证;如不符,便丢弃该包。,57,Internet密钥交换,IKE的用途是在IPSec通信双方之间,建立起共享安全参数及认证过的密钥(即建立“安全关联” )。 IKE协议是Oakley和SKEME协议的混合,并在由ISAKMP规定的一个框架内运作。ISAKMP是“Internet安全关联和密钥管理协议”的简称,即Internet Security Asso

30、ciation and Key Management Protocol。ISAKMP定义了包格式、重发计数器以及消息构建要求。它定义了整套加密通信语言。,58,Internet密钥交换,IKE的用途,Oakley和SKEME定义了通信双方建立共享密钥的步骤。IKE利用ISAKMP语言描述这些步骤以及其它信息交换措施。,59,建立IKE的两个阶段,阶段1:协商创建并认证一个通信信道(IKE SA),为双方下一步通信提供保密、完整以及数据源认证服务。本阶段有两种运行模式:Main mode和aggressive模式。 阶段2:对Sa可提供的服务及所需密钥进行协商。IKE支持四种认证方式:基于数字签名的认证、两种基于公钥的认证、基于共享密钥的认证。IKE使用UDP协议和500端口。,60,六、IPSec的应用,IPSec是IPv6必须支持的功能,它与防火墙、安全网关结合可形成各种安全解决方案;与其他协议相结合将使安全性更高;能使企业将其Extranet扩展到贸易伙伴进行电子商务,而不用担心安全协议的兼容性。 IPSec的典型应用是构建虚拟专用网VPN VPN通过保密隧道在非信任公共网络上产生安全私有连接。它能把远程用户、分支机构和商业伙伴连接组成一个自治网络,达到与专用网同样的安全、可靠、可扩充、可管理、服务质量。IPSec为VPN的互操作性、管理、通信提供了有力手段。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1