专利名称:互联网安全通信方法
技术领域:
本发明涉及互联网通信方法,特别涉及安全通信方法。
背景技术:
安全问题始终是与互联网相关的一个重要话题。特别是当今基于互联网的电子商务、金融业务、虚拟专网(Virtual Private Network,简称“VPN”)等保密性、安全性要求高的业务的快速发展,对互联网的安全通信提出了新的需求。现有的网际协议(Internet Protocol version 4,简称“IPv4”)的目的只是作为简单的网络互联协议,因此协议设计之初并没有考虑安全性。因此,随着互联网的商业化,缺乏安全性导致的危险越来越严重。互联网上已经发生了很多起诸如商业公司或政府机构网络遭到攻击、机密数据被窃取等事件。在新的网际协议(Internet Protocol version 6,简称“IPv6”)逐渐替代IPv4成为下一代网络通信的主流之际,网络安全也将成为网络通信的关键技术之一。
网络安全性包括身份认证、完整性、保密性三个目标。其中,身份确认要求能够可靠地确定接收到的数据与发送的数据一致,并且确保发送该数据的实体与其所宣称的身份一致;完整性要求能够可靠地确定数据在从源到的传送的过程中没有被修改;保密性要求确保数据只能为预期的接收者使用或读出,而不能为其他任何实体使用或读出。
为了加强当前互联网的安全性,从1995年开始,互联网工程任务组(Internet Engineering Task Force,简称“IETF”)着手研究制定了一套用于保护互联网通信的安全的协议——IP安全(IP Security,简称“IPSec”)。IPSec提供既可用于IPv4也可用于IPv6的安全性机制,它是IPv6的一个组成部分,也是IPv4的一个可选扩展协议。IPSec提供如下网络安全服务访问控制、无连接的完整性、数据源身份认证、防御包重发攻击、加密通信、有限的业务流保密性。
IPSec由一套在网络层提供IP安全性的协议构成。其中用于加密处理的IPSec协议包括认证包头(Authentication Header,简称“AH”)协议为IP包提供信息源验证和完整性保证;封装安全负载(Encapsulating SecurityPayload,简称“ESP”)协议提供加密保证。此外,IETF还提供了一种密钥管理协议(Internet Security Association and Key Management Protocol,简称“ISAKMP”),它规定了通信双方的密钥协商过程;ISAKMP的一种具体实现协议是互联网密钥交换协议(Internet Key Exchange,简称“IKE”),它主要实现SA的协商。
SA是IPSec的基本概念之一,它将安全策略(Security Policy)和具体的加密算法、密钥等与特定的安全通信链路联系起来。SA是单向的,因此对于一条双向通信链路需要建立两个SA,对于某个通信端分别为外出SA和进入SA。在每个网络节点,SA由安全联盟数据库(Security AssociationDatabase,简称“SAD”)存储,SA不再被使用时会被删除。SA由对应的安全策略产生,并实现安全策略,同一种安全策略可以产生不同的SA,比如采用不同的密钥,而且每个SA均与相应安全通信链路挂钩,在SA中包含了用于表征安全通信链路的双方的参数。但SA均根据相应安全策略的宗旨产生,并与安全策略有对应关系,比如这个对应关系可以由安全策略入口(Security Policy Entry)等实现。
在IPSec通信过程中,SA可以由IKE协商建立,即两对等路由器之间采用匹配的加密算法、加密密钥、验证方法等。如前所述IPSec加密通信由AH或ESP实现。在SA建立之后,在双方之间往返的IP报文均通过一方的发出处理,即使用外出SA的密钥和算法将明文转换成密文,和另一方的进入处理,即使用匹配的进入SA的密钥和算法将密文还原成明文。这样,即使通信数据被窃听,窃听者由于不知道如何解密也无法获取双方的通信内容。
为防止连接建立的时间过长,IKE和IPSec连接都有使用期限的限制,一般用使用时间(秒)和数据大小(KB)来描述。IPSec连接的使用期限一般要比相关的IKE连接的使用期限短。这样在一次有效的IKE连接中,当IPSec连接超过使用期限,通过IKE协商,建立一套新的SA,对IPSec连接进行新的加密。当IKE连接超过使用期限时,IKE需要重新进行IKE连接和身份认证,此时IPSec连接也需要重新建立。
IPSec连接的使用期限也即对应SA的使用期限。IPSec连接超过使用期限称为SA超时。SA的超时机制描述为由安全策略设定好SA的超时条件,比如当处理数据超过多少KB,或者SA已使用超过多长时间,当超时条件满足时,当前SA作废,IKE协商建立新的SA,以更好保护通信。
由于IKE协商新SA需要耗费通信时间,容易造成通信中断。当旧的SA删除,而新的SA还没有建立时,IP报文会大量丢失。因此提出了SA软超时的概念在满足一定条件时候,比如当前已经处理的数据或者当前SA使用时间为最终超时条件(也称为硬超时)的一定比率,IPSec即触发IKE协商新的SA,此时旧的SA依然有效,在新的SA建立并实施之前仍然可以使用,当新的SA建立或者SA硬超时条件满足时,旧的SA将停止使用。由此尽可能地保证了IPSec安全通信的连续进行。
如前所述,在进行IPSec通信的端点上,需要对IP报文根据SA的规定进行相应的处理,而SA由安全策略产生,SA与安全策略之间存在对应关系,比如现有技术中一般在安全策略上设置安全策略入口(Security PolicyEntry),通过安全策略入口可以与由该安全策略产生的SA建立对应关系。对应于外出SA和进入SA,可以将安全策略入口分为外出安全策略入口和进入安全策略入口。对应于某一连接,均有对应的安全策略,并有IKE根据该安全策略协商一套SA进行IPSec通信。
通信端点对报文的处理流程分外出报文和进入报文的处理流程。当通信端点发送报文时,首先,由对应与该通信链路的安全策略的规定,判断通信双方之间的数据是否进行IPSec处理,在IPSec处理中,根据安全策略入口查找相应的SA并进行处理,在SA中给出了具体的保护方法和参数,比如加密算法、密钥等;当接收到对端发来的报文时,在报文中可以获取相应SA的信息,在SAD中匹配检索该SA,然后通过SA和安全策略入口的对应关系查找相应安全策略,如果找到了对应的安全策略,且策略显示此报文应该进行IPSec处理,则继续处理报文;如果没有找到安全策略,或者策略显示该报文不应该进行IPSec处理,则丢弃报文。
可见,安全策略入口指示SA和安全策略的对应关系,在IPSec通信中,当SA超时并由IKE协商产生新的SA之后,安全策略入口需要与新的SA对应,而旧的SA与安全策略入口的对应关系将被替代。
而在实际通信中,这一新旧SA替代机制容易引发问题在新旧SA替代时,由于通信双方的SA与安全策略入口对应关系的转换操作存在时间差,将出现通信双方SA不匹配的情况,导致此时发送的IP报文丢失。这是由于在网络通信,特别是非实时通信中,由于传输非对称性等原因,通信双方在协商出新的SA之后,不能保证同时进行新旧SA的替代,即实施新的SA处理发送或接收报文并停止使用旧的SA进行处理发送或接收报文。而IP通信中,报文传输是连续进行的,IKE协商流程与IPSec报文处理流程之间是并行关系,因此会造成双方SA不匹配的情况发生,在这些时刻所发生的IP通信就会失败,造成IP包丢失,乃至通信中断等严重后果。
图1给出了实际应用中IPSEC通信过程中发生报文丢失情况。比如一方实施了新的SA,并使得外出安全策略入口和新的外出SA对应,进而采用新的SA处理外出报文发往另一方,而另一方建立了但还没有实施新的SA,依旧保持旧的有效SA与安全策略入口的对应关系,导致在接收对方发送来的报文时,根据报文中的信息查找到了新的SA,但是却找不到安全策略入口,最后丢弃报文;或者,一方还没有实施新的SA,采用旧的外出SA处理外出IP报文,而另一方已经实施并更新了SA和安全策略入口的对应关系,同样也会导致丢弃报文。
可见,在IKE协商新的SA并进行新旧SA替代,即SA和安全策略入口关系的转换时,会导致了报文的丢失,无法对报文进行平滑处理,没有完全实现软超时概念的宗旨。
发明内容
有鉴于此,本发明的主要目的在于提供一种互联网安全通信方法,使得在IPSec通信的新旧SA替代过程中,减少了报文丢失情况,实现了对报文的更加平滑的处理。
为实现上述目的,本发明提供了一种互联网安全通信方法,第一通信方使用第一安全联盟处理进入报文,该第一安全联盟通过第一对应关系与安全策略对应,所述方法包含以下步骤A设置所述安全策略与处理进入报文的安全联盟对应的第二对应关系;B当所述第一安全联盟发生软超时时,所述第一通信方与对端的第二通信方协商新的安全联盟,其中包含用于处理进入报文的第二安全联盟;C所述第二安全联盟协商产生时,将所述第一安全联盟通过所述第二对应关系与所述安全策略对应,将所述第二安全联盟通过所述第一对应关系与所述安全策略对应,所述第一通信方同时使用所述第一、第二安全联盟处理进入报文;D当所述第一安全联盟发生硬超时时,将所述第一安全联盟设置为无效。
其中,所述对应关系设定在安全策略入口中。
所述步骤C还进一步包含以下子步骤C1所述第二安全联盟协商产生时,检查所述第一安全联盟是否有效,如果是则进入步骤C2,否则进入步骤C3;C2所述第一安全联盟改为通过所述第二对应关系与所述安全策略对应,进入步骤C3;C3将所述的第二安全联盟通过所述第一对应关系与所述安全策略对应,所述第一通信方同时使用所述第一、第二安全联盟处理进入报文。
所述步骤C中,当所述第一通信方同时使用所述第一、第二安全联盟处理进入报文时,根据接收到的进入报文中所附带的安全联盟信息检索所述安全联盟,并根据所述第一对应关系判断是否存在匹配的安全策略,如果是则对该报文进行接收处理,否则根据所述第二对应关系判断是否存在匹配的安全策略,如果是则对该报文进行接收处理,否则丢弃。
通过比较可以发现,本发明的技术方案与现有技术的区别在于,通过在通信的接收方建立临时SA对应关系,对新旧SA替代过程进行了缓冲,使得在新旧SA替代过程中多个SA同时有效的情况下,IPSec通信双方能够存在匹配的SA,从而能够检索到相关的安全策略,减少了因双方新旧SA替代时间差引起的报文丢失情况的发生。
图1现有IPSEC通信过程中发生报文丢失情况的示意图;图2根据本发明的一个实施例的SA协商建立和实施方法流程图;图3根据本发明的一个实施例的IPSEC通信过程示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明根据IKE协商过程中发生的新旧SA替代操作,通过在安全策略入口设置临时SA对应关系,保证替代过程中报文的平滑处理。由SA软超时等原因引起的IKE协商新的SA,当新的SA由协商产生之后,将新的SA捆绑在安全策略入口的原对应关系中,并将旧的SA捆绑在临时对应关系中,此时虽然新旧SA发生替代,但是新旧SA均与安全策略入口存在对应关系,这一过度阶段将保证了新旧SA替代时,即使发生通信双方操作时间差,也能找到匹配的SA进行报文处理。
在本发明的一个实施例中,在IPSec通信安全策略的进入安全策略入口中,设置一个临时SA对应关系用于缓存IKE协商SA过程中发生的旧SA与本安全策略入口的对应关系,以保证IPSec通信在处理进入报文时存在匹配安全策略,可以完成正常的报文处理。
在IPSec通信过程中,当SA发生软超时时,IPSEC触发IKE协商新的SA,此时称当前SA为旧SA;在IKE协商新的SA过程中,IPSec通信双方仍然采用旧的SA进行通信;当IKE协商新的SA完成后,IPSec直接使用新的SA进行发送报文的处理,这一点和现有协议中的规定一致,而处理进入报文的新旧SA也进行替代操作,不过该替代操作方式和现有技术不同,方法为将新的进入SA捆绑在安全策略入口上,不过旧的SA并不是直接被覆盖,而是通过临时对应关系捆绑在安全策略入口上,旧SA发生硬超时之前,一直处在新旧SA共存的过度阶段,在此阶段中,新旧SA均有效。IPSec通信双方在进行接收报文处理时,可以根据报文内容获取SA,根据SA和SA与安全策略的对应关系,去查找安全策略,如果没有找到相关安全策略,进一步通过SA和SA与安全策略的临时对应关系再查找,如果仍然不能得到,则丢弃报文,否则继续处理报文;由此可见,不管得到的是新的,还是旧的SA,都可以查找到相对的安全策略,从而进一步完成IPSEC通信;这样,减少了因通信双方新旧SA替代操作存在时间差而引起的SA不匹配的情况发生,保证了报文的平滑处理;当旧SA发生硬超时时,即旧SA无效,只采用新SA进行IPSec通信。
图2示出了根据本发明的一个实施例的SA协商建立和实施流程图。
在步骤201中,首先在处理进入报文的安全策略入口设置临时SA对应关系,临时SA对应关系和原SA对应关系在结构上相同。如前所述,该临时SA对应关系用于在发生新旧SA替代时起到缓冲作用,保证IPSec通信双方能够一直存在匹配SA。
在步骤202中,在IPSec通信过程中,当前SA发生软超时时,触发IKE协商新的SA。软超时的条件为当前SA所处理报文数据超过设定的字节数或当前SA生存时间超过设定的秒数。一般情况下,软超时条件为硬超时条件的一定比率。比如当硬超时条件为所处理报文数据超过n KB或者生存时间超过m秒,软超时条件可以为所处理报文数据超过0.8n KB或者生存时间超过0.8m秒。这里IPSec通信双方对一套SA中每个SA均进行软超时判断,比如当IPSec采用两个SA进行双向通信时,对外出SA和进入SA均进行判断,任一SA发生软超时,均触发IKE协商相应的新SA。
在步骤203中,当接收方的IKE协商完成得到新的进入SA时,首先检查该连接对应的安全策略入口是否已经捆绑了其他的SA,即查找旧的SA,并判断该旧的SA是否有效,即是否没有达到硬超时的条件,如果找到有效的旧的SA,则进入步骤204;否则进入步骤206。
在步骤204中,先将旧的进入SA通过临时SA对应关系捆绑在安全策略入口上,然后将新的SA通过原SA对应关系捆绑在安全策略入口上,新旧SA同时有效,进行IPSec通信。此时IPSec通信时,如果发送方采用旧的SA(外出SA)处理发送报文,接收方在收到报文时,根据所附带SA信息查询得到旧的SA(进入SA),并根据临时SA对应关系获取安全策略入口,从而得到匹配的安全策略并继续处理接收报文。
在步骤205中,当旧的SA发生硬超时时,使得旧的SA无效。
在步骤206中,直接建立新的SA与安全策略入口的对应关系,采用新的SA进行IPSec通信。
可见,本发明通过接收方的临时SA对应关系建立了安全策略入口和多个有效安全联盟的对应关系,使得在IPSec通信双方新旧SA替代实施不能完全同步的时候,仍然很好地利用匹配的SA处理IPSec报文。当旧的SA由于不再使用,即变为无效SA时,它和安全策略入口的临时对应关系也同时废止,对新的SA应用没有影响。
图3示出了根据本发明的一个实施例的IPSEC通信过程示意图。在采用本发明的IKE协商方法之后,当IPSec通信双方发生新旧SA替代时间差时,将能保证对报文的平滑处理。
在当前SA发生软超时时,触发IKE进行新SA的协商301,此时IPSec报文通信按旧的SA进行;当IKE协商完成得到新的SA时,双方均开始新旧SA替代过程;在新旧SA替代过程中,可能出现两种不同步的情况即发送方比接收方先实施新的SA的情况302或接收方比发送方先实施新的SA的情况303。
在情况302发生时,在本发明的一个实施例中,发送方先实施新的SA,并且采用新的SA进行发送报文的处理,尽管考虑到报文的传输会有一定的延时,报文达到接收方时接收方很可能还没有实施新的SA,因此该报文被接收方丢弃,这种情况下本发明和现有技术没有区别。
在情况303发生时,接收方建立新的进入SA,并将新旧进入SA均捆绑在安全策略入口,而在发送方在没有得到新的SA的情况下,仍然采用旧的SA发送报文,接收方得到的报文是用旧的SA处理的,于是根据附带的SA的信息查询SA进而获取安全策略入口,可以最后获取有效的安全策略,并根据旧的SA进行报文接收处理,避免了报文的丢失,这一点上相对于现有技术本发明有显著的改进。
此后,当IPSec通信双方判断旧的SA发生硬超时时(304),旧的SA被废止,之后,IPSec通信双方均采用新的SA进行通信。
需要说明的是,本发明仅对处理进入报文的安全策略和进入SA的对应关系进行了改造,对处理外出报文没有任何变化。我们仅处理了进入的情况,这样无论对端用发送时采用的是新的,还是旧的SA,接收报文时都能够处理,我们只需要修改本地路由器的处理流程,不影响网络已有的互联互通。反过来,如果想修改本地路由器的发送报文的处理流程以完全避免SA替换时的报文丢失,则必须修改对端路由器的处理流程,这样对于目前的互联互通是不利的。本发明采用的做法希望最大限度地与其他厂商的现有设备兼容,保护运营商的已有投资。
熟悉本领域的技术人员可以理解,当IPSec通信双方中,安全策略与对应SA的对应关系,由除安全策略入口以外的其他方式描述时,同样的可以通过建立临时SA对应关系的方法,解决双方新旧SA替代不同步的问题,达到发明目的,而不影响本发明的实质和范围。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
权利要求
1.一种互联网安全通信方法,第一通信方使用第一安全联盟处理进入报文,该第一安全联盟通过第一对应关系与安全策略对应,其特征在于,所述方法包含以下步骤A设置所述安全策略与处理进入报文的安全联盟对应的第二对应关系;B当所述第一安全联盟发生软超时时,所述第一通信方与对端的第二通信方协商新的安全联盟,其中包含用于处理进入报文的第二安全联盟;C所述第二安全联盟协商产生时,将所述第一安全联盟通过所述第二对应关系与所述安全策略对应,将所述第二安全联盟通过所述第一对应关系与所述安全策略对应,所述第一通信方同时使用所述第一、第二安全联盟处理进入报文;D当所述第一安全联盟发生硬超时时,将所述第一安全联盟设置为无效。
2.根据权利要求1所述的互联网安全通信方法,其特征在于,所述对应关系设定在安全策略入口中。
3.根据权利要求1所述的互联网安全通信方法,其特征在于,所述步骤C还进一步包含以下子步骤C1所述第二安全联盟协商产生时,检查所述第一安全联盟是否有效,如果是则进入步骤C2,否则进入步骤C3;C2所述第一安全联盟改为通过所述第二对应关系与所述安全策略对应,进入步骤C3;C3将所述的第二安全联盟通过所述第一对应关系与所述安全策略对应,所述第一通信方同时使用所述第一、第二安全联盟处理进入报文。
4.根据权利要求1所述的互联网安全通信方法,其特征在于,所述步骤C中,当所述第一通信方同时使用所述第一、第二安全联盟处理进入报文时,根据接收到的进入报文中所附带的安全联盟信息检索所述安全联盟,并根据所述第一对应关系判断是否存在匹配的安全策略,如果是则对该报文进行接收处理,否则根据所述第二对应关系判断是否存在匹配的安全策略,如果是则对该报文进行接收处理,否则丢弃。
全文摘要
本发明涉及互联网通信方法,公开了一种互联网安全通信方法,使得在IPSec通信的新旧SA替代过程中,减少了报文丢失情况,实现了对报文更加平滑的处理。这种互联网安全通信方法通过建立安全策略与处理进入报文的SA的临时对应关系,对新旧SA替代过程进行了缓冲,使得在新旧SA替代过程中多个SA同时有效的情况下,IPSec通信双方存在匹配的SA,减少了因双方新旧SA替代时间差引起的报文丢失情况的发生。
文档编号H04L9/00GK1710851SQ20041004947
公开日2005年12月21日 申请日期2004年6月16日 优先权日2004年6月16日
发明者刘淑玲, 刘廷永 申请人:华为技术有限公司