您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子商务安全技术第10章安全通信协议与交易协议-IP安全
1IP安全2Internet安全协议IETF的各个工作小组从不同角度解决互连网安全问题,形成一些RFC和草案:DNSSEC工作组RFC2137、2535、2541研究DNS安全及DNS动态更新WTS(WebTransactionSecurity)工作组建立SHTTP认证、完整性保护;RFC2084SECSH工作组安全ShellIPSEC工作组TLS工作组(SSL协议)3IP安全面临的问题伪造IP包的地址;修改其内容重播以前的包;拦截并查看包的内容如何确保收到的IP数据报:1)来自原先要求的发送方(IP头内的源地址);2)包含的是发送方当初放在其中的原始数据;3)原始数据在传输中途未被其它人看过。4IPSec协议IP安全是整个TCP/IP安全的基础与核心。它可对上层的各种应用服务提供透明的安全保护。IPv4没有考虑安全性,缺乏对通信双方身份的认证,缺乏对传输数据的保护,并且容易受窃听、IP地址欺骗等攻击。IPSec工作组于1994年成立,1995年8月公布了一系列建议标准:RFC2401:IP安全结构RFC2406:AH;RFC2406:ESPRFC2409:IKERFC2403:HMAC-MD5-96RFC2404:HMAC-SHA-965IPSec概述IPSec可保障主机之间、网络安全网关(如路由器或防火墙)之间或主机与安全网关之间的数据包的安全。由于受IPSec保护的数据报本身不过是另一种形式的IP包,所以完全可以嵌套提供安全服务,同时在主机之间提供像端到端这样的认证,并通过一个隧道,将那些受IPSec保护的数据传送出去(隧道本身也通过IPSec受到安全网关的保护)。6IPSec的协议对IP数据报或上层协议进行保护的方法是使用某种IPSec协议:“封装安全载荷(ESP:EncapsulatingSecurityPayload)”或者“认证头(AH:AuthenticationHeader)”。AH可证明数据的起源地、保障数据的完整性、防止相同数据包的重播。ESP除具有AH的所有能力之外,还可选择保障数据的机密性,以及为数据流提供有限的机密性保障。7IPSec的安全业务AHESP(加密)ESP(加密并认证)访问控制√√√无连接完整性√√数据来源认证√√对重放数据的拒绝√√√保密性√√受限业务流的保密性√√8密钥管理协议IKE密钥管理协议IKE(InternetKeyExchange)用于动态地认证IPSec参与各方的身份、协商安全服务以及生成共享密钥等。IPSec提供的安全服务需要用到共享密钥,它既可用于保障数据的机密性,亦可用于数据完整性(消息认证码MAC),或者同时应用于两者。IPSec的运算速度必须够快,而现有公共密钥技术(如RSA或DSS)的速度均不够快。公共密钥技术仍然限于在密钥交换期间完成一些初始的认证工作。9IPSec协议组成安全关联SA(SecurityAssociation)安全策略数据库SPD(SecurityPolicyDatabase)认证头AH(AuthenticationHead)封装安全载荷ESP(EncapsulationSecurityPayload)IKE(Internet密钥交换)ISAKMP/Oakley(密钥管理协议)ISAKMP:InternetSecurityAssociationandKeyManagementProtocolOakley:是D-H密钥交换协议的改进10结构图11IPSec实施IPSec既可在终端系统上实现,亦可在某种安全网关上实现(如路由器及防火墙)。在主机中实施可以有两种方式:1、与操作系统的集成实施。2、在协议堆栈中的网络层和数据链路层之间实施。12操作系统集成IPSec作为网络层协议,可在网络层实现,由IP层的服务构建IP头。这个模型与其它网络层协议(比如ICMP)的实施等同。应用TCP/UDPIP+IPsec数据链路层13在协议堆栈中实施应用TCP/UDPIPIPsec数据链路层14在主机实施的特点a.保证端到端的安全性b.能够实现所有的IPSEC安全模式c.能够对每个数据流提供安全保障d.在建立IPSEC的过程中,能够维持用户身份的认证。15在路由器中实施如果在路由器中实施,可在网络的一部分中对传输的数据包进行安全保护。例如某公司只打算对传给地理位置分散的那些部门的数据实施保护,而且只在数据流经Internet的时候进行保护,从而构建自己的VPN或者内联网。IPSec实施方案通过对数据包进行“隧道传输”,从而实现了对它们的保护。16IPSec两种不同的使用模式传送模式:保护上层协议;用于两主机之间;隧道模式:保护整个IP数据报;当一方为网关时。原始IP包:IP头+TCP头+数据传送模式:IP头+IPSec头+TCP头+数据隧道模式:新IP头+IPSec头+IP头+TCP头+数据17安全关联为正确封装及提取IPSec数据包,要将安全服务、密钥与要保护的通信数据联系到一起;同时要将远程通信实体与要交换密钥的IPSec数据传输联系起来。这样的方案称为安全关联(SecurityAssociation,SA)。SA是构成IPSec的基础。它由两个通信实体协商建立。它们决定了用来保护数据包安全的IPSec协议、密钥以及密钥的有效存在时间等。任何IPSec实施方案都会构建一个SA数据库(SAD),由它来维护保障数据包安全的SA记录。18安全关联SA是单向进行的,它仅朝一个方向定义安全服务,要么对通信实体收到的包进行“进入”保护,要么对实体外发的包进行“外出”保护。SA由一个三元组唯一标识:1)安全参数索引(SPI):存在于IPSec协议头内;2)安全协议(AH、ESP)标识符;3)目标IP地址:它同时决定了关联方向。通常SA是以成对的形式存在的,每个朝一个方向。既可人工创建它,亦可采用动态创建方式。SA驻留在“安全关联数据库(SAD)”内。19SA创建若用人工方式加以创建,SA便会一直存在下去,除非再用人工方式将其删除。若用动态方式创建,则SA有一个存活时间与其关联在一起。存活时间(TTL)由IPSec通信双方在密钥管理协议中协商。TTL非常重要,因为受一个密钥保护的通信量必须加以谨慎地管理。若超时使用一个密钥,会为攻击者侵入系统提供更多的机会。20安全关联数据库SADSAD用于定义每个SA的参数值:顺序号:以AH/ESP报头中32位bit值表示顺序号溢出标记:防止溢出数据报的传送反重放窗口:收到的AH/ESP数据报是否重放AH/ESP信息:认证/加密算法、密钥、有效期SA有效期:该时间间隔之后,SA结束/被替代IPSec协议模式:传输模式/隧道模式路径最大传输单元:最大数据报长度(不分段)21安全策略数据库SPDSPD(SecurityPolicyDatabase)定义了对所有出/入业务应采取的安全策略,为IP数据项提供什么服务以及以什么方式提供。对所有出/入包括非Ipsec业务的处理必须咨询SPD,处理有三种可能:1)丢弃:不允许在此主机上存在,或不允许通过此网关。2)绕过Ipsec:允许通过而无需Ipsec保护3)采用Ipsec:对这种业务流,SPD要指明提供的安全服务,采用的协议及使用的算法等。22安全策略用户可以根据自己的要求,对不同的通信设定不同级别的安全策略。例:在一个网络安全网关上制订IPSec策略,对本地子网与远程网关的子网间通信数据采用DES加密,并用HMAC-MD5进行认证;对从远程子网发给一个邮件服务器的所有Telnet数据用3DES进行加密,同时用HMAC-SHA进行认证;对于需要加密的、发给另一个服务器的所有Web通信数据,则用IDEA满足其加密要求,同时用HMAC-RIPEMD进行认证。23安全参数索引(SPI)SPI长度为32位,用于唯一地标识出接收端上的一个SA。作为两个主机秘密通信的协定,SA决定了密钥和加密算法等参数。必须采用某种机制,让通信源指出用哪个SA来保护数据包;而对通信的目的地,则需指出用哪个SA来检查收到的包是否安全。SPI是个任意数,一般是在IKE交换过程中由目标主机选定的。SPI被当作AH和ESP头的一部分传送。接收主机使用SPI,DST,Protocol这个字元组来唯一地标定SA(DST是IP头中的目标地址;而protocol代表协议是AH或ESP)。24消息认证码MACMAC:使用一个保密密钥生成固定大小的小数据块,并加入到消息中,称MAC,或加密和。用户A和用户B,共有保密密钥K,消息M,MAC=CK(M)1、接收者可以确信消息M未被改变。2、接收者可以确信消息来自所声称的发送者;3、如果消息中包含顺序码,则接收者可以保证消息的正常顺序;MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少。25MAC的基本应用方式1)消息认证AB:M||CK(M)2)消息认证+保密AB:EK2[M||CK1(M)]3)消息认证+保密AB:EK2[M]||CK1(EK2[M])26封装安全载荷概述ESP(EncapsulatingSecurityPayload)属于IPSec的一种协议,可用于确保IP数据包的机密性、数据的完整性以及对数据源的身份认证。此外,它也要负责对重播攻击的抵抗。具体做法是在IP头之后、需要保护的数据之前,插入一个新头——ESP头。受保护的数据可以是一个上层协议,或者是整个IP数据报。最后,还要在最后追加一个ESP尾。ESP是一种新的IP协议,对ESP数据包的标识是通过IP头的协议字段来进行的。27ESP原理ESP保护示意图IP头ESP尾ESP头受保护数据验证保护加密保护28ESP格式SPI(安全参数索引)序列号初始化向量受保护的数据填充项填充项长度下一个头认证数据29ESP格式作为IPSec头,ESP头中会包含一个SPI字段。它和IP头之前的目标地址以及协议结合在一起,用来标识用于处理数据包的特定的SA。通过序列号,ESP具有了抵抗重播攻击的能力。序列号是一个不重复的、单向递增的、由发送端插在ESP头的一个号码。ESP保护的实际数据包含在载荷数据字段中。因此,这个字段的长度由数据长度决定。某些加密算法要用到初始化向量(IV),它也受到保护。30隧道模式隧道模式下受ESP保护的一个IP包,下一个头是TCP加密认证新IP头SPI序列号初始化向量IP头TCP头数据填充项填充项长度下一个头认证数据ICV31传输模式IP头SPI序列号初始化向量TCP头数据填充项填充项长度下一个头认证数据32加密与认证由于ESP同时提供了机密性以及身份认证机制,所以在其SA中必须同时定义两套算法——用来确保机密性的算法叫作cipher(加密器),而负责身份认证的叫作authenticator(认证器)。每个ESPSA都至少有一个加密器和一个认证器。33处理外出数据包:传送模式对在IPv4上运行的传送模式应用来说,ESP头跟在IP头后,IP头的协议字段被复制到ESP头的“下一个头”字段中,ESP头的其余字段则被填满—SPI字段分配到的是来自SAD的、用来对这个包进行处理的特定SA的SPI;填充序列号字段的是序列中的下一个值;填充数据会被插入,其值被分配;同时分配的还有填充长度值。随后,IP头的协议字段得到的是ESP的值,50。除了头插入位置不同之外,IPv6处理规则基本上类似于IPv4。ESP头可插在任意一个扩展头之后。34处理外出数据包:隧道模式对隧道模式应用来说,ESP头是加在IP包前面的。如果封装的是一个IPv4包,那么ESP头的“下一个头”字段分配到值4;如果封装的是一个IPv6包,则分配到值41。其他字段的填充方式和在传送模式中一样。随后,在ESP头的前面新增了一个IP头,并对相应的字段进行填充(赋值)—源地址对应于应用ESP的那个设备本身;目标地址取自于用来应用ESP的SA;协议设为50;其他字段的值则参照本地的IP处理加以填充。35加密认证不管哪种模式下,接下去的步骤都是相同的。从恰当的SA中选择加密器(加密算法),对包进行加密(从载荷
本文标题:电子商务安全技术第10章安全通信协议与交易协议-IP安全
链接地址:https://www.777doc.com/doc-2252432 .html