IPv6网络中协商SA的方法、系统和设备的制作方法

文档序号:7917573阅读:398来源:国知局
专利名称:IPv6网络中协商SA的方法、系统和设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种IPv6网络中协商SA的方法、 系统和i殳备。
背景技术
在IPv6 (Internet Protocol version 6,因特网协议版本6 )网络中,将IPSec (Internet Protocol Security,因特网协i义安全)作为网络安全标准实施。IPSec 为IP及上层协议提供了无连接的数据完整性、数据源身份认证、抗重放攻击、 数据保密性、有限的数据流保密性以及访问控制等安全服务。IPv6网络中的 通信双方为了能够保护IP数据包,需要一种方法来保存通信的密钥、算法等 有关信息,所有这些参凄t保存在一个SA ( Security Association,安全联盟)中。 现阶段IPSec中SA的协商主要是通过IKE (Internet Key Exchange Protocol, 因特网密钥交换协议)协议来实现。
具体的,目前通过IKE协议建立SA的过程可以分为两个阶段。第一阶 段,协商创建一个通信信道IKE SA,该IKE SA只是用来保护建立IPSec SA 过程中的数据,不是最终要得到的SA,它在双方IKE协商完成后的通信中, 并不用来保护正常通信数据。之后对该通信信道进行认证,为双方进一步的 IKE通信提供机密性、数据完整性以及数据源认证服务。同时建立第一个IPSec SA,该IPSec SA是最终想要得到的SA,用于双方正常通信数据的保护。在 第一阶段中,通信双方共需要4条消息的交互完成。第二阶段,通信双方使 用已建立的IKE SA更新IPSec SA,此阶段通信双方一共需要2条消息的交互 完成。
发明人在实现本发明的过程中,发现现有技术至少存在以下问题 上述在SA协商过程的两个阶>^总共需要6条消息,导致整个SA协商过 程比较复杂,耗时较长。

发明内容
本发明的实施例提供一种IPv6网络中协商SA的方法、系统和i殳备,用 于实现SA的快速简便协商。
本发明的实施例提供一种IPv6网络中协商SA的方法,包括 向应答方发送请求消息,所述请求消息中携带生成SA所需的参数; 接收所述应答方发送的应答消息,所述应答消息中携带生成SA所需的参
数;
生成SA。
本发明的实施例还提供一种IPv6网络中协商SA的方法,包括 接收发起方发送的请求消息,所述请求消息中携带生成SA所需的参数; 根据所述请求消息生成应答消息,所述应答消息中携带生成SA所需的参
数;
向所述发起方发送所述应答消息并生成SA。
本发明的实施例还提供一种IPv6网络中的发起方设备,用于SA协商, 包括
发起方请求消息发送单元,用于向应答方设备发送请求消息,所述请求 消息中携带生成SA所需的参数;
发起方应答消息接收单元,用于接收所述应答方设备发送的应答消息, 所述应答消息中携带生成SA所需的参数;
发起方SA生成单元,用于生成SA。
本发明的实施例还提供一种IPv6网络中的应答方设备,用于SA协商, 包括
应答方请求消息接收单元,用于接收发起方设备发送的请求消息,所述 请求消息中携带生成SA所需的参数;应答方应答消息生成单元,根据所述应答方请求消息接收单元接收的请
求消息生成应答消息,所述应答消息中携带生成SA所需的参数;
应答方应答消息发送单元,用于向所述发起方设备发送所述应答方应答
消息生成单元生成的应答消息;
应答方SA生成单元,用于生成SA。
本发明的实施例还提供一种IPv6网络中的SA协商系统,包括 发起方设备,用于向应答方设备发送请求消息,所述请求消息中携带生
成SA所需的参数;接收所述应答方设备发送的应答消息,所述应答消息中携
带生成SA所需的参it,并生成SA;
应答方设备,用于接收所述发起方设备发送的请求消息,所述请求消息
中携带生成SA所需的参数;根据所述请求消息生成应答消息,所述应答消息
中携带生成SA所需的参数,向所述发起方设备发送所述应答消息并生成SA。
与现有"^支术相比,本发明的实施例具有以下优点
与现有的基于IKE建立SA的流程相比,本发明实施例中协商SA所需的 交互流程大大简化,交互所需的消息数量从6条减少到2条,使得协商的过 程更加快捷方便。


图l是本发明的实施例中协商SA的方法的流程图2是本发明的实施例中所使用的ESP—INFO的包格式的示意图3是本发明的实施例中协商SA的方法的另一流程图4是本发明的实施例中协商SA的方法的另一流程图5是本发明的实施例中SA协商系统的结构示意图6是本发明的实施例中发起方设备的结构示意图7是本发明的实施例中发起方设备的另一结构示意图8是本发明的实施例中应答方设备的结构示意图;图9是本发明的实施例中应答方设备的另一结构示意图。
具体实施例方式
本发明的实施例中4是供一种IPv6网络中协商SA的方法,如图1所示, 包括
步骤sl01、发起方向应答方发送请求消息,请求消息中携带生成SA所 需的参数。
步骤s102、应答方根据请求消息生成应答消息并向发起方发送,应答消 息中携带生成SA所需的参数;应答方生成SA。
步骤sl03、发起方接收应答方发送的应答消息,应答消息中携带生成SA 所需的参数;发起方生成SA。
本发明实施例提供的方法与现有的基于IKE建立SA的流程相比,协商 SA所需的交互流程大大简化,交互所需的消息数量从6条减少到2条,使得 协商的过程更加快捷方便。
以下首先对本发明实施例中4吏用的ESP (Encapsulating Security Payload, 封装安全载荷)协议进行介绍,ESP协议是属于IPSec的一种协议,用于提供 IP数据包的机密性、数据完整性以及对数据源鉴别以及抗重放攻击的功能。 ESP协议中,发起者(Initiator)和应答者(Responder)通过ESP—INFO包的 交互发送SPI ( Security Parameter Index,安全参数索引),以指明对方在给它 发送ESP数据时使用的SA,并标识消息的Message ID。 ESP—INFO的包格式 如图2所示,包括
Type,长度为8比特;
Length,长度为8比特;单位为字节,用于指示包中所有内容Type、Length、 Pad Length 、 Reserved 、 SPI和Message ID的长度。
PadLength,长度为8比特;单位为字节,用于指示填充padding的长度, 如果没有填充,则其值为零。
Reserved,长度为8比特;用于携带保留字^:,不用时置为0。
SPI,长度为32比特;其值由包发送者指定,用于指向使用的SA。Message ID,长度为32比特;用于标识每个包,可以防范重》文攻击。该 Message ID携带在ESP—INFO中,可以用来协调消息的请求和应答,并且可 以用于识别消息的重传。发起者和应答者向对方发送的第一个消息中Message ID为0,然后发起者和应答者对于自己向对方发出的消息单独进行计数。对 于某一请求消息所对应的应答消息,两个消息中的Message ID—致。
本发明实施例中的SA协商方法应用于端到端的场景,并且每个端点都需 要支持IPSec,在IPv6中IPSec强制加入IP头。应用协议只能用来协商ESP SA。 传输凄史据的加密和完整性保护都由ESP完成。
如图3所示,本发明实施例中的SA协商方法包括
步骤s301、发起者Initiator向应答者Responder发送I包,到应答者 Responder处进行协商请求。该I包中包括ESP—INFO、 ESP—TRANSFORM, Ni、 DHi、 CGA参数以及SIG,另外还可以包括可选项CERT。
具体的
ESP—INFO用于指示发起者Initiator在发送ESP凄史据时^f吏用的SA,并标 识消息的Message ID;
ESP_TRANSFORM用于携带Initiator支持的所有加密和认证算法的列
表;
Ni用于携带发起者Initiator的nonce (随机数)值;
DHi用于携带发起者Initiator侧的DH算法生成共享密钥所需要的基本材 料信息;
CGA参数为生成CGA所需的各种参数;具体的,CGA是一种将公共密 钥与IPv6地址绑定的方法,基于CGA参数可以生成加密的IPv6地址。其生 成过程为前64位的子网前缀由所在子网分配,后64位为4妄口标识符,由 主机生成公私钥对,对由公钥和其他一些参数组成的CGA参数计算一个单向 哈希函数,产生后64位的接口标识符。
SIG用于携带发起者Initiator的签名;
CERT用于携带发起者Initiator的证书。步骤s302、应答者Responder对I包进行应答,向发起者Initiator发送R 包作为应答。该R包中包括ESP—INFO、 ESP—TRANSFORM、 Nr、 DHr、 CGA 参数以及SIG,另外还可以包括可选项CERT。
该步骤中,应答者Responder对I包的每个参数逐项进行应答,然后将应 答内容通过R包向发起者Initiator发送,应答者Responder发送的R包不依赖 上层协议,而是单独发送一个IP包。具体的,应答者Responder对I包的每 个参数逐项进行应答的流程包括
(1 )利用接收到的CGA参数检验发起者Initiator的地址是否合法。 如果发起者Initiator的地址合法则继续其他参数项的应答;如果不合法, 则直"l妄丢弃该I包,不对该I包桑合予任"f可处理,并且不通知发起者Initiator。 (2)利用接收到的SIG参数检查对方的签名是否正确。 如果签名正确,就继续进行其他参数项的应答;如果签名不正确,则直 接丢弃该I包,不对该I包给予任何处理,并且不通知发起者Initiator。 (3 )检查接收到的ESP_INFO中的Message ID。
如果确i人此Message ID比上次与发起者Initiator建立SA时所〗吏用的 Message ID大,考虑到Message ID的值一般是逐次递增的,就继续进行其他 参数项的应答;如果发现Message ID比上次与发起者Initiator建立SA时所使 用的Message ID小,则可以i人为该I包是之前处理过的I包,则可以直4妻丟 弃该I包,不对该I包给予任何处理,并且不通知发起者Initiator。 (4 )检查是否已经发出了 一个到此发起者Initiator处的请求。
如果没有发送过,就继续进行其他参数项的应答;如果已经发送过,就 比较二者的nonce值,如果对方的较大就响应对方的,否则丢弃此包,等待对 方的R包应答。这里的通过比较nonce值判断是否响应对方是预先设置好的, 考虑到发起者Initiator在向应答者Responder发送I包时,应答者Responder 也可能作为发起者向当前的发起者Initiator发送I包,为了避免发起者Initiator 和应答者Responder同时对对方的I包进行应答、或同时不进行应答,可以预 先设定应答规则,通过该规则判断由哪一方向对方发送R包,具体到本实施 例中即为以nonce值的大小作为判断规则,可以规定发送具有较小(或较大)nonc6 值的I包的一方向对方发送R包。
(5 )查看4妄收到的ESP—TRANSFORM中的密码套件。
如果ESP一TRANSFORM的算法列表中有适合使用的套件,则将适合使用 的套件写入R包中的ESP—TRANSFORM;如果没有合适^f吏用的套件则丟弃此 I包,同时用 一个Notify消息NO—PROPOSAL—CHOSEN通知对方,表示没有 合适使用的加密套件。
(6)查看对方的DH载荷。
选捧一套合适的DH组,本发明实施例中假设每个协商设备至少支持两 个指定的DH组,所以可以选择一个合适的DH组。在本地生成DH共享值, 同时把自己生成的DH密钥方文入自己的DH载荷中。
在处理I包的过程中,应答者Responder即可确定SA的各项内容;在处 理完I包后,Responder可以根据协商好的算法和密钥材料生成SA,其中包括 ESP密钥等内容。在之后的ESP通信中,如果应答者Responder收到了一个 与发起者Initiator身份对应的包,并且也进行了加密等处理,则就可以用之前 协商好的SA处理此包。
步骤s303、发起者Initiator接收到应答者Responder发送的R包后,对R 包中的应答进行处理。
该步骤中,发起者Initiator接收到应答者Responder发送的R包后,验证 应答者Responder的CGA地址、签名等信息,然后检查发起者Initiator是否 已经发送I包到此R包的发送者。具体的,发起者Initiator对R包的每个参数 逐项进行处理的流程包括
(1)用接收到的CGA参数4企验应答者Responder的CGA地址和签名是 否正确。
如果都正确,则继续进行其他参数项的处理;如果有任何一项不正确, 则直接丟弃该R包,不对该R包给予任何处理,并且不通知应答者Responder。 (2 )检查R包中的Message ID是否和自己发送I包时所使用的Message ID —致。如果一致则继续进行其他参数项的处理;如果不正确则直接丢弃该R包, 不对该R包给予任何处理,并且不通知应答者Responder。 (3 )查看ESPJTRANSFORM中的内容。
如果应答者Responder选择自身的一个密码套件,则在以后的通信就使用 该密码套件;如果自身提供的密码套件中没有被对方选中的,则直接丟弃该R 包,不对该R包给予任何处理,断开此次协商。
(4)用收到的DHr共享密钥值,在本地生成密钥材料,然后生成ESP密钥。
上述过程后,发起者Initiator即可确定SA的各项内容;在处理完R包后, 发起者Initiator可以根据协商好的算法和密钥材料生成SA,其中包括ESP密 钥等内容。在之后的ESP通信中,如果发起者Initiator收到了一个与应答者 Responder身份对应的包,并且也进行了加密等处理,则就可以用之前协商好 的SA处理jt匕包。
另外需要说明的是,因为发起者Initiator之前可能重传了多个I包,所以 将来一段时间会接受多个R包。对这种情况,只需响应最先到达的R包即可, 后续到达的全部抛弃。另外,上述步骤s302中,如果应答者Responder不愿 与发起者Initiator建立ESP关联,则就不必对I包进行处理。这在某种程度上 可防止DoS攻击。另外,应答者Responder在应答I包时,要限制接收来自同 一 IP地址的I包的频率,对于频繁发送I包的发起者Initiator可以不进4于应答 处理。
本发明的实施例还提供一种SA的协商方法,如图4所示,包括 步骤s401、在发起方和应答方配置启用CGA协商SA的功能。 具体的,可以通过发起方的用户接口,配置发起方启用CGA协商SA的 功能;并通过应答方的用户接口,配置应答方启用CGA协商SA的功能。 步骤s402、发起方向应答方发送协商SA的请求消息。 具体的,发起方发现有发送至应答方的数据包后,查看配置,决定触发SA的协商。
步骤s403、应答方向发起方发送应答消息。
步骤s404、发起方和应答方完成基于CGA的SA协商。
上述步骤s402 s404中的具体实施方式
可以参考前述图3的流程以及相 关实施例中的描述。
步骤s405、发起方和应答方分别将协商好的SA写入本地的SAD( Security Association Database,安全联盟数据库)。
步骤s406、发起方和应答方分别产生SA对应的SP (SecurityPolicy,安 全策略)写入临时SPD ( Security Policy Database,安全策略数据库)。
一条SP对一个数据包的处理有三种选择丢弃(DISCARD),通过 (BYPASS),保护(PROTECT),丟弃表示不让这个数据包通过本设备;通 过表示让数据包直接穿过本设备继续传输而不作额外的IPSec处理;保护表示 要对这个lt据包进行IPSec处理。
至此,SA的协商已经完成,但是协商得到的SA还没有被启用。如果需 要启用该SA,则需要将临时SPD中的SP存储到SPD,发起方和应答方开始 使用协商得到的SA传输数据。
本发明实施例提供的方法中,与现有的基于IKE建立SA的流程相比, 本发明实施例中的交互流程大大简化,交互所需的消息数量从6条减少到2 条,所以使协商的过程更加快捷方便。另外,在消息中加入了 CGA验证,这 样就可以使入侵者无法伪造别人的地址,提高了 SA协商的安全性;以IKE 中常遇到的中间人攻击为例"中间人"(主机C,攻击者)处于通信发起方 (主机A)与应答方(主机B )之间,同时冒充发起方和应答方的地址,分别 与主机A、主机B通信。若主机A知道主机B的地址,那么应用本发明实施 例提供的方法的情况下,攻击者无法篡改主机B发给主机A的消息,因为通 过应用CGA,将身份(公钥)和地址绑定,攻击者不知道主机B的私钥,无 法得出篡改后消息的正确签名。另外,本发明实施例中将CGA作为IPv6扩 展头使用,将协商的过程从应用层转移到网络层,使得不需要安装IKE情况下只通过一个简单的收发包就完成了 SA的协商,对于用户是完全透明的。最 后,本发明实施例中提供了临时SPD的设置,可以用于存储由协商得到的SA 生成的SP,并在需要使用时将临时SPD中的SP同步到SPD中,从而在数据 交互中使用协商得到的SA。
本发明的实施例还提供一种SA协商系统,如图5所示,包括 发起方设备10,用于向应答方设备20发送请求消息,所述请求消息中携
带生成SA所需的参数;接收应答方设备20发送的应答消息,所述应答消息
中携带生成SA所需的参数;并生成SA。
应答方设备20,用于接收发起方设备10发送的请求消息,所述请求消息
中携带生成SA所需的参数;并向发起方设备IO发送应答消息,所述应答消
息中携带生成SA所需的参数,并生成SA。
具体的,该发起方设备10的结构如图6所示,具体可以包括
发起方请求消息发送单元11,用于向应答方发送请求消息,所述请求消 息中携带生成SA所需的参数。
发起方应答消息接收单元12,用于接收应答方发送的应答消息,所述应 答消息中携带生成SA所需的参数。
发起方SA生成单元13,用于生成SA。
发起方设备10还可以包括
发起方应答消息处理单元14,用于对所述发起方应答消息接收单元12接 收的应答消息进行处理,该处理包括
检查所述应答消息中携带的Message ID与所述请求消息中携带的 Message ID是否相同,不相同时则丟弃所述应答消息;
冲企查所述应答消息中携带的ESP—TRANSFORM中的内容,判断所述应答 方选择的密码套件是否为所述请求消息的ESP—TRANSFORM中携带的密码 套件,不是时则丟弃所述应答消息。应答消息中还携带密码生成地址CGA参数时,发起方应答消息处理单元 14还用于通过应答消息中携带的CGA参数对所述应答方的地址和签名进行 验证,-验证失败时则丟弃所述应答消息。
本发明的另一实施例中,如图7所示,该发起方设备10还包括 SAD存储单元15,用于存储发起方SA生成单元13生成的协商后的SA。 临时SPD存储单元16,用于根据发起方SA生成单元13生成的SA,产
生对应的SP并存储。该临时SPD存储单元16可以为发起方设备中的一个存
储空间。
SPD存储单元17,用于存储当前与应答方设备间使用的SP,当需要使用 最近协商的SP时,将临时SPD存储单元16中存储的SP同步到本单元,则 发起方设备开始使用协商得到的SA与应答方设备传输数据。
配置单元18,用于通过接口配置发起方设备10启用CGA协商SA的功
6匕
具体的,该应答方设备20的结构如图8所示,具体可以包括
应答方请求消息接收单元21,用于接收发起方发送的请求消息,所述请 求消息中携带生成SA所需的参数。
应答方应答消息生成单元22,根据所述应答方请求消息接收单元接收的 请求消息生成应答消息,所述应答消息中携带生成SA所需的参数。
应答方应答消息发送单元23,用于向所述发起方发送应答方应答消息生 成单元22生成的应答消息。
应答方SA生成单元24,用于生成SA。
上述应答方应答消息生成单元22根据请求消息生成应答消息包括 利用所述请求消息中的SIG检查所述发起方的签名是否正确,不正确时 则丟弃所述请求消息;
才企查所述i青求消息中的ESPJNFO中的Message ID,所述Message ID比上次与所述发起方建立SA时所使用的Message ID小时则丟弃所述请求消息; 检查是否已经发出了一个到所述发起方的请求消息,如果已经发送过则
比较二者请求消息的nonce值,如果所述发起方的请求消息中的nonce较小则
丢弃所述请求消息;
查看所述请求消息中的ESP—TRANSFORM中是否有合适的密码套件,如
果有则将适合使用的密码套件写入所述应答消息中的ESP—TRANSFORM;如
果没有合适使用的套件则丟弃所述请求消息,同时通知所述发起方没有合适
使用的加密套件。
请求消息中还携带密码生成地址CGA参数时,应答方应答消息生成单元 22还用于利用所述请求消息中的CGA参数检验所述发起方的地址是否合 法,不合法时则丟弃所述请求消息。
本发明的另一实施例中,如图9所示,该应答方i殳备20还包括
SAD存储单元25,用于存储应答方SA生成单元24生成的协商后的SA。
临时SPD存储单元26,用于根据应答方SA生成单元24生成的SA,产
生对应的SP并存储。该临时SPD存储单元26可以为应答方设备中的一个存
储空间。
SPD存储单元27,用于存储当前与发起方设备间使用的SP,当需要使用 最近协商的SP时,将临时SPD存储单元16中存储的SP同步到本单元,则 应答方设备开始使用协商得到的SA与发起方设备传输数据。
配置单元28,用于通过接口配置应答方i殳备20启用CGA协商SA的功
6匕 月匕。
本发明实施例提供的系统和设备中,与现有的基于IKE建立SA的流程 相比,本发明实施例中协商SA所需的交互流程大大简化,交互所需的消息数 量从6条减少到2条,使得协商的过程更加快捷方便。另外,在消息中加入 了CGA验证,这样就可以使入侵者无法伪造别人的地址,提高了SA协商的 安全性。另外,本发明实施例中将CGA作为IPv6扩展头使用,将协商的过程从应用层转移到网络层,使得不需要安装IKE情况下只通过一个简单的收 发包就完成了 SA的协商,对于用户是完全透明的。最后,本发明实施例中提 供了临时SPD的设置,可以用于存储由协商得到的SA生成的SP,并在需要 使用时将临时SPD中的SP同步到SPD中,从而在数据交互中使用协商得到 的SA。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软 件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬 盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种IPv6网络中协商安全联盟SA的方法,其特征在于,包括向应答方发送请求消息,所述请求消息中携带生成SA所需的参数;接收所述应答方发送的应答消息,所述应答消息中携带生成SA所需的参数;生成SA。
2、 如权利要求1所述的方法,其特征在于,所述生成SA所需的参数包 括封装安全栽荷信息ESP—INFO 、封装安全载荷算法列表 ESPJTRANSFORM、随机数、密钥交换材料DH以及签名SIG;所述ESP—INFO 中携带指示所述消息通信SA的安全参数索引SPI以及消息标识Message ID。
3、 如权利要求l所述的方法,其特征在于,所述接收所述应答方发送的 响应消息后,还包括对所述应答消息进行处理。
4、 如权利要求2或3所述的方法,其特征在于,所述对所述应答消息进 行处理包括检查所述应答消息中携带的Message ID与所述请求消息中携带的 Message ID是否相同,不相同时则丟弃所述应答消息;斗企查所述应答消息中携带的ESP_TRANSFORM中的内容,判断所述应答 方选择的密码套件是否为所述请求消息的ESP—TRANSFORM中携带的密码 套件,不是时则丟弃所述应答消息。
5、 如权利要求1或2所述的方法,其特征在于所述生成SA包括 根据确定的算法和密钥材料生成SA。
6、 如权利要求3所述的方法,其特征在于,所述请求消息和应答消息中 还携带密码生成地址CGA参数;所述对所述应答消息进行处理还包括通过所述应答消息中携带的CGA参数对所述应答方的地址和签名进行验 证,验证失败时则丢弃所述应答消息。
7、 如权利要求6所述的方法,其特征在于,所述向应答方发送请求消息 前还包括通过接口配置启用CGA协商SA的功能。
8、 如权利要求l所述的方法,其特征在于,所述生成SA后还包括 生成与所述SA对应的安全策略SP并存储到临时安全策略数据库SPD; 需要使用所述SA时,将所述临时SPD中的SP同步到当前使用的安全策略数据库中。
9、 一种IPv6网络中协商SA的方法,其特征在于,包括 接收发起方发送的请求消息,所述请求消息中携带生成SA所需的参数; 才艮据所述请求消息生成应答消息,所述应答消息中携带生成SA所需的参数;向所述发起方发送所述应答消息并生成SA。
10、 如权利要求9所述的方法,其特征在于,所述生成SA所需的参数包 括封装安全载荷信息ESP_INFO 、封装安全载荷算法列表 ESP一TRANSFORM、随机 数、密钥交换材料DH以及签名SIG;所述ESP—INFO 中携带指示所述消息通信SA的安全参数索引SPI以及消息标识Message ID。
11、 如权利要求9或IO所述的方法,其特征在于,所述根据所述请求消 息生成应答消息包括利用所述请求消息中的SIG检查所述发起方的签名是否正确,不正确时 则丢弃所述请求消息;才企查所述请求消息中的ESP_INFO中的Message ID,所述Message ID比 上次与所述发起方建立SA时所使用的Message ID小时则丟弃所述请求消息;检查是否已经发出了一个到所述发起方的请求消息,如果已经发送过则 根据二请求消息中随机数的大小判断是否丢弃所述请求消息;查看所述请求消息中的ESP—TRANSFORM中是否有合适的密码套件,如 果有则将适合使用的密码套件写入所述应答消息中的ESP_TRANSFORM;如 果没有合适使用的套件则丢弃所述请求消息,同时通知所述发起方没有合适 使用的加密套件。
12、 如权利要求9或IO所述的方法,其特征在于,所述生成SA包括; 才艮据确定的算法和密钥材料生成SA。
13、 如权利要求9所述的方法,其特征在于,所述请求消息和应答消息 中还携带密码生成地址CGA参数;所述根据所述请求消息生成应答消息还包 括利用所述请求消息中的CGA参数检验所述发起方的地址是否合法,不合 法时则丢弃所述请求消息。
14、 如权利要求13所述的方法,其特征在于,所述接收发起方发送的请 求消息前还包括通过接口配置启用CGA协商SA的功能。
15、 如权利要求9所述的方法,其特征在于,所述生成SA后还包括 生成与所述SA对应的SP并存储到临时SPD;需要使用所述SA时,将所述临时SPD中的SP同步到当前使用的安全策 略数据库中。
16、 一种IPv6网络中的发起方设备,用于SA协商,其特征在于,包括 发起方请求消息发送单元,用于向应答方设备发送请求消息,所述请求消息中携带生成SA所需的参数;发起方应答消息接收单元,用于接收所述应答方设备发送的应答消息, 所述应答消息中携带生成SA所需的参数;发起方SA生成单元,用于生成SA。
17、 如权利要求16所述的发起方设备,其特征在于,所述生成SA所需 的参数包括封装安全载荷信息ESP_INFO、封装安全载荷算法列表 ESP—TRANSFORM,随机数、密钥交换材料DH以及签名SIG;所述ESP—INFO 中携带指示所述消息通信SA的安全参数索引SPI以及消息标识Message ID。
18、 如权利要求16或17所述的发起方设备,其特征在于,还包括 发起方应答消息处理单元,用于对所述发起方应答消息接收单元接收的应答消息进行处理,所述处理包括检查所述应答消息中携带的Message ID与所述请求消息中携带的 Message ID是否相同,不相同时则丢弃所述应答消息;才企查所述应答消息中携带的ESP—TRANSFORM中的内容,判断所述应答 方选择的密码套件是否为所述请求消息的ESP一TRANSFORM中携带的密码 套件,不是时则丟弃所述应答消息;
19、 如权利要求16或17所述的发起方设备,其特征在于, 所述发起方SA生成单元具体用于根据确定的算法和密钥材料生成SA。
20、 如权利要求18所述的发起方设备,其特征在于,所述请求消息和应 答消息中还携带密码生成地址CGA参数时,所述发起方应答消息处理单元, 还用于通过所述应答消息中携带的CGA参数对所述应答方的地址和签名进行 验证,验证失败时则丟弃所述应答消息。
21、 如权利要求16所述的发起方设备,其特征在于,还包括 配置单元,用于通过^t妄口配置启用CGA协商SA的功能。
22、 如权利要求16所述的发起方设备,其特征在于,还包括 SAD存储单元,用于存储所述发起方SA生成单元生成的SA; 临时SPD存储单元,用于根据所述发起方SA生成单元生成的SA,产生对应的SP并存储;SPD存储单元,用于存储当前与所述应答方设备间使用的SP,当需要使 用最近协商的SP时,将所述临时SPD存储单元中存储的SP同步到本单元, 则所述发起方设备开始使用协商得到的SA与所述应答方设备传输数据。
23、 一种IPv6网络中的应答方设备,用于SA协商,其特征在于,包括 应答方请求消息接收单元,用于接收发起方设备发送的请求消息,所述请求消息中携带生成SA所需的参数;应答方应答消息生成单元,根据所述应答方请求消息接收单元接收的请 求消息生成应答消息,所述应答消息中携带生成SA所需的参数;应答方应答消息发送单元,用于向所述发起方设备发送所述应答方应答 消息生成单元生成的应答消息;应答方SA生成单元,用于生成SA。
24、 如权利要求23所述的应答方设备,其特征在于,所述生成SA所需的参数包括封装安全载荷信息ESP一INFO、封装安全载荷算法列表 ESP—TRANSFORM,随机数、密钥交换材料DH以及签名SIG;所述ESP—INFO 中携带指示所述消息通信SA的安全参数索引SPI以及消息标识Message ID。
25、 如权利要求23或24所述的应答方设备,其特征在于,所述应答方 应答消息生成单元根据所述请求消息生成应答消息包括利用所述请求消息中的SIG 4企查所述发起方的签名是否正确,不正确时 则丢弃所述请求消息;冲企查所述请求消息中的ESP—INFO中的Message ID,所述Message ID比 上次与所述发起方建立SA时所使用的Message ID小时则丟弃所述请求消息;检查是否已经发出了一个到所述发起方的请求消息,如果已经发送过则 根据二请求消息中随机数的大小判断是否丟弃所述请求消息;查看所述请求消息中的ESP—TRANSFORM中是否有合适的密码套件,如 果有则将适合使用的密码套件写入所述应答消息中的ESP—TRANSFORM;如 果没有合适使用的套件则丢弃所述请求消息,同时通知所述发起方没有合适 使用的加密套件。
26、 如权利要求23或24所述的应答方设备,其特征在于, 所述应答方SA生成单元具体用于根据确定的算法和密钥材料生成SA。
27、 如权利要求26所述的应答方设备,其特征在于,所述请求消息和应 答消息中还携带密码生成地址CGA参数时,所述应答方应答消息生成单元还 用于,利用所述请求消息中的CGA参数检验所述发起方的地址是否合法,不 合法时则丟弃所述请求消息。
28、 如权利要求23所述的应答方设备,其特征在于,还包括 配置单元,用于通过^l妄口配置启用CGA协商SA的功能。
29、 如权利要求23所述的应答方设备,其特征在于,还包括SAD存储单元,用于存储所述发起方SA生成单元生成的协商后的SA。 临时SPD存储单元,用于根据所述发起方SA生成单元生成的SA,产生 对应的SP并存储;SPD存储单元,用于存储当前与所述应答方设备间使用的SP,当需要使用最近协商的SP时,将所述临时SPD存储单元中存储的SP同步到本单元, 则所述发起方设备开始使用协商得到的SA与所述应答方设备传输数据。
30、 一种IPv6网络中的SA协商系统,其特征在于,包括 发起方设备,用于向应答方设备发送请求消息,所述请求消息中携带生成SA所需的参数;接收所述应答方设备发送的应答消息,所述应答消息中携带生成SA所需的参数,并生成SA;应答方设备,用于接收所述发起方设备发送的请求消息,所述请求消息中携带生成SA所需的参数;根据所述请求消息生成应答消息,所述应答消息中携带生成SA所需的参数,向所述发起方设备发送所述应答消息并生成SA。
全文摘要
本发明的实施例公开了一种IPv6网络中协商SA的方法、系统和设备。该方法中,发起方与应答方通过两个消息的交互生成SA。与现有的基于IKE建立SA的流程相比,本发明实施例中的交互流程大大简化,所以使协商的过程更快更方便。另外,通过使用本发明的实施例,在消息中加入了CGA参数,可以对于CGA进行验证,使入侵者无法伪造别人的地址。
文档编号H04L29/06GK101626374SQ20081013771
公开日2010年1月13日 申请日期2008年7月11日 优先权日2008年7月11日
发明者刘利锋, 东 张 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1