欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种携带自认证码的报文处理方法及装置独创技术20088字

一种携带自认证码的报文处理方法及装置

2021-03-13 04:59:24

一种携带自认证码的报文处理方法及装置

  技术领域

  本发明涉及网络通信技术领域,尤其是涉及一种携带自认证码的报文处理方法及装置。

  背景技术

  在开放的通讯网络中,报文在传输过程中是透明且可能经过任意数量的未知网络,报文在传输过程中容易被篡改,导致不良的后果,因此,报文的完整性检测机制显得尤为重要。现有技术中,一般通过验证报文的IP地址或MAC地址,以对报文进行筛选,确定报文是否合法,如中间检查节点接收到验证报文后,通过解析获得报文的IP地址或者MAC地址,进一步利用IP地址或者MAC地址查找匹配的ACL表项,若查找到,则表明该报文为合法报文,需进行正常转发,否则,表明该报文为非法报文,需进行丢弃。该报文筛选方式一方面容易造成ACL表项资源的浪费,另一方面在IP地址或MAC地址被篡改后,则无法准确筛选报文。

  现有技术中还通过SAP协议进行报文筛选,以确定报文是否合法。具体地,在TCAM中存储至少一个报文源IP地址及其对应的密钥,当网络交换芯片接收到报文时对报文进行解析,获得当前报文的源IP地址和报文携带的自认证码,报文携带的自认证码通过SAP协议封装进SAP头中。网络交换芯片进一步根据当前报文的源IP地址查找TCAM,获得当前报文的源IP地址对应的密钥,并将密钥和数据报文通过HASH函数得到新的自认证码,并与报文中携带的自认证码进行匹配,若匹配,则表明报文为合法报文,需进行正常转发,否则,表明报文为非法报文,需进行丢弃。此种报文筛选方式,能够为网络报文提供完整性验证和数据源地址验证,在骨干网络的出入口,对所有通过的报文进行基于报文自认证码的验证过滤,使用报文自认证码机制可有效防御传统过滤机制不能有效抵抗的威胁,如报文源地址欺骗等等。

  但对于从网关发出的带有自认证码的报文,用报文源IP地址获取密钥的行为不正确,如假设报文从一台主机上发出,该报文需要经过中间检查点穿过骨干网到达另一台主机,而发送报文的主机不支持自认证码的插入,则需要通过网关做自认证码的插入操作,而此时计算自认证码的密钥需根据网关的源IP地址来获取密钥,但报文里的源IP地址是主机的源IP地址,因此获取密钥的时候容易出错,最终导致生成的自验证码与报文携带的自验证码不符,导致报文被丢弃,影响网络运行。

  发明内容

  本发明的目的在于克服现有技术的缺陷,提供一种携带自认证码的报文处理方法及装置,能够区分报文来源,以准确筛选报文。

  为实现上述目的,本发明提出如下技术方案:一种携带自认证码报文的处理方法,方法包括如下步骤:

  S100,配置SAP头部内报文验证参数字段,所述报文验证参数字段包括用于标示报文来源的第一比特位和用于标示网关的源IP地址的第二比特位;

  S200,接收报文并对携带自认证码的报进行解析,获得报文中源IP地址和SAP头部;

  S300,判断所述SAP头部中报文验证参数字段内第一比特位的值,若为第一预设值,则直接根据报文中源IP地址进行查找,获得相应密钥;若为第二预设值,则根据报文验证参数字段中第二比特位的值生成网关的源IP地址并进行查找,获得相应密钥;

  S400,获取报文携带的自认证码,并将报文中可变字段进行掩码处理,进一步将掩码处理后的报文与获得的密钥进行HMAC运算处理,获得自认证码;

  S500,将报文携带的自认证码与步骤S400中计算获得的自认证码进行匹配并在匹配时转发报文。

  优选地,在步骤S300之前还包括:

  判断入端口是否使能HMAC功能,并在入端口使能HMAC功能时判断报文中是否携带自认证码,若是,则执行步骤S300,否则,将报文丢弃并上送CPU处理。

  优选地,在步骤S300中,在第一比特位的值为第二预设值时将网关的源IP地址和报文中源IP地址同时进行查找,且根据网关的源IP地址进行查找的优先级高于根据报文中源IP地址进行查找的优先级。

  优选地,根据网关的源IP地址进行查找时,若查找到相应密钥,则执行步骤S400,否则,根据报文中源IP地址进行查找并在查找到相应密钥时执行步骤S400;若两次均未查找到相应密钥,则将报文丢弃并上送CPU处理。

  优选地,在步骤S200中,根据报文中源IP地址及网关的源IP地址进行TCAM查找。

  本发明还揭示了一种携带自认证码的报文处理装置,包括

  配置模块,用于配置SAP头部内报文验证参数字段,所述报文验证参数字段包括用于标示报文来源的第一比特位和用于标示网关的源IP地址的第二比特位;

  解析模块,用于对接收到的携带自认证码的报进行解析,获得报文中源IP地址、SAP头部及报文携带的自认证码;

  报文来源判断模块,用于判断所述SAP头部中报文验证参数字段内第一比特位的值;

  查找模块,用于在报文来源判断模块判断第一比特位为第一预设值,则直接根据报文中源IP地址进行查找,获得相应密钥;在报文来源判断模块判断第一比特位为第二预设值,则根据报文验证参数字段中第二比特位的值生成网关的源IP地址并进行查找,获得相应密钥;

  自认证码获取模块,用于将报文中可变字段进行掩码处理,并将掩码处理后的报文与查找模块查找到的密钥进行HMAC运算处理,获得自认证码;

  匹配模块,用于将报文携带的自认证码与自认证码获取模块获得的自认证码进行匹配;

  转发模块,用于匹配模块确定报文携带的自认证码与自认证码获取模块获得的自认证码匹配时转发报文。

  优选地,装置还包括

  端口使能判断模块,用于判断入端口是否使能HMAC功能;

  携带自认证判断模块,用于在端口使能判断模块入端口使能HMAC功能时判断报文是否携带自认证码;

  报文丢弃模块,用于在携带自认证判断模块判断报文中未携带自认证码时将报文丢弃并上送CPU处理。

  优选地,在报文来源判断模块判断第一比特位的值为第二预设值时,查找模块将网关的源IP地址和报文中源IP地址同时进行查找,且根据网关的源IP地址进行查找的优先级高于根据报文中源IP地址进行查找的优先级。

  优选地,所述查找模块根据网关的源IP地址进行查找并在查找到相应密钥时执行自认证码获取模块;

  在未查找到相应密钥时根据报文中源IP地址进行查找并在查找到相应密钥时执行自认证码获取模块;

  在两次均未查找到相应密钥时执行报文丢弃模块。

  优选地,所述查找模块根据报文中源IP地址及网关的源IP地址进行TCAM查找。

  本发明的有益效果是:

  本发明能够区分携带自认证码的报文是来源于网关还是来源于终端,进而可准确获得相应密钥,避免在报文合法性验证过程中生成错误的自认证码而导致合法的报文被丢弃,进而提高了报文筛选准确率。

  附图说明

  图1是本发明的方法流程图示意图;

  图2是本发明的报文处理流程示意图;

  图3是携带自认证码报文格式示意图;

  图4是本发明的装置结构框图示意图。

  具体实施方式

  下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。

  本发明所揭示的一种带有自认证码的报文处理方法,能够区分携带自认证码的报文是来源于网关还是来源于终端,进而可准确获得相应密钥,避免在报文合法性验证过程中生成错误的自认证码而导致合法的报文被丢弃,进而提高了报文筛选准确率。

  结合图1和图2所示,为本发明所揭示的一种带有自认证码的报文处理方法,包括如下步骤:

  S100,配置SAP头部内报文验证参数字段,所述报文验证参数字段包括用于标示报文来源的第一比特位和用于标示网关的源IP地址的第二比特位。

  具体地,如图3所示,SAP(Self-Authentication Code,自验证码)头部在报文中的位置以及SAP头部的格式。SAP头部包括SAP版本字段、头部长度字段、下一个首部字段、报文验证参数字段及报文自验证码字段。

  为了区分携带自认证码的报文的来源,也即区分携带自认证码的报文是来源于终端还是来源于网关(Gateway),本发明通过对SAP头部内报文验证参数进行自定义,使得根据报文验证参数字段可确认报文是来源于终端还是来源于网关。报文验证参数字段包括用于标示报文来源的第一比特位,根据第一比特位的值可快速区别报文的来源,当第一比特位的值为第一预设值时,表示报文来源于终端,当第一比特位的值为第二预设值时,表示报文来源于网关。第一比特位可包括一个或多个比特位,如图3所示,报文验证参数字段具有16个比特位,可将其中未使用的一个或多个比特位用于标示报文的来源,如将报文验证参数字段的最高比特位作为用于标示报文来源的第一比特位,当最高比特位的值为0时,标示报文来源于终端,当最高比特位的值为1时,标示报文来源于网关,当然,可根据实际需求进行设置,如最高比特位为0时,标示报文来源于网关,最高比特位的值为1时,标示报文来源于终端。

  本发明还进一步对报文验证参数字段进行自定义,使报文验证参数字段还包括用于标示网关的源IP地址的第二比特位,本实施例中,优选使用第二比特位标示网关的部分源IP地址,当然,在其他实施例中,也可以用第二比特位标示网关的全部源IP地址,可根据实际需求进行设置。第二比特位包括多个比特位,如将报文验证参数字段的低14位用于标示网关的部分源IP地址,实施时,根据第二比特位可快速获得网关的源IP地址。

  S200,接收报文并对携带自认证码的报文进行解析,获得报文中源IP地址和SAP头部;

  具体地,当中间检查节点接收到携带自认证码的报文时对报文进行解析,获得报文中的源IP地址和SAP头部。对于网络交换芯片不支持SAP头部的解析,可使用UDF(UserDefined Field)芯片进行解析,以获得SAP头部。

  中间检查节点在接收携带自认证码的报文之前,还首先判断入端口是否使能HMAC(Hash-based Message Authentication Code,基于Hash函数的消息鉴别码)功能,对于使能了HMAC功能的入端口进一步判断报文中是否存在自认证码,对于携带自认证码的报文执行步骤S300,对于未携带自认证码的报文则将报文丢弃并上送CPU处理;对于未使能HMAC功能的入端口在接收到携带自认证码的报文时将报文正常转发即可。

  S300,判断所述SAP头部内报文验证参数字段中第一比特位的值,若为第一预设值,则直接根据报文中源IP地址进行查找,获得相应密钥,并执行下一步;若为第二预设值,则根据报文验证参数字段中第二比特位的值生成网关的源IP地址并进行查找,获得相应密钥,并执行下一步。

  具体地,当获得SAP头部后,判断报文验证参数字段中第一比特位的值为第一预设值还是第二预设值,如果第一比特的值为第一预设值,则直接根据解析获得的报文中源IP地址进行查找,以获得相应密钥,如果第一比特的值为第二预设值,则进一步根据报文验证参数内第二比特位的值生成网关的源IP地址进行查找,以获得相应密钥,如在获得SAP头部后,判断报文验证字段中最高比特位的值,若最高比特位的值为0,则直接根据报文中源IP地址进行查找,以获得相应密钥,若最高比特位的值为1,则根据报文验证参数字段中低14位比特生成网关的源IP地址并进行查找,以获得相应的密钥。

  本实施例中,根据源IP地址查找时优选TCAM(Ternary Content AddressableMemory,三态内容寻址存储器)查找,当然,在其他实施例中,还可根据源IP地址进行哈希(Hash)查找,可根据实际需求进行选择。

  进一步地,当报文验证参数字段中第一比特位的值为第二预设值时,将根据第二比特位的值生成的网关的源IP地址和报文中源IP地址同时进行查找,并且根据网关的源IP地址查找优先级最高,也就是说首先根据网关的源IP地址进行查找,若查找到,则根据获得的密钥进行进一步处理,若未查找到,则进一步根据报文中源IP地址进行查找,若查找到,则根据获得的密钥进行进一步处理;若两次均未查找到密钥,则将报文丢弃并上送CPU处理。

  S400,获取报文携带的自认证码,并将报文中可变字段进行掩码处理,进一步将掩码处理后的报文与密钥进行HMAC运算处理,获得自认证码;

  S500,将步骤S200中报文携带的自认证码与步骤S300中计算获得的自认证码进行匹配,并在匹配时正常转发报文。

  具体地,图3所示为携带自认证码的报文格式,通过对报文进行解析,可获得报文携带的自认证码。同时,报文中的一些字段如标识字段、分段偏移字段、TTL字段、头部校验和字段等等,其在转发过程中发生变化,而这些变化时合理的,如TTL字段中的数值会在转发过程中逐跳减一,因此,需将这些可变字段进行掩码处理,通过掩码运算使这些可变字段的值为零。实施时,对于报文中携带TCP/UDP等四层头,同样需将四层头中Checksum(校验和)字段进行掩码处理,使Checksum字段的值为零。

  当将报文进行掩码处理后,将查找获得的密钥与其进行HMAC运算,以获得自认证码。进一步地,将计算获得的自认证码与报文中携带的自认证码进行匹配,若两者匹配,则表明报文为合法报文,进而将报文正常转发处理。若两者不匹配,则表明报文非法报文,可能经过篡改,因此,需将报文进行丢弃处理。本实施例中,通过HAMC运算获得的自认证码为20B,在进行自认证码匹配时,取高8B与报文中携带的自认证码进行匹配。

  如图4所示,本发明还揭示了一种携带自认证码的报文处理装置,包括配置模块、解析模块、报文来源判断模块、查找模块、自认证码获取模块、匹配模块和转发模块。其中,配置模块用于配置SAP头部内报文验证参数字段,所述报文验证参数字段包括用于标示报文来源的第一比特位和用于标示网关的源IP地址的第二比特位;解析模块用于对接收到的携带自认证码的报进行解析,获得报文中源IP地址、SAP头部及报文携带的自认证码;报文来源判断模块用于判断所述SAP头部中报文验证参数字段内第一比特位的值;查找模块用于在报文来源判断模块判断第一比特位为第一预设值,则直接根据报文中源IP地址进行查找,获得相应密钥;在报文来源判断模块判断第一比特位为第二预设值,则根据报文验证参数字段中第二比特位的值生成网关的源IP地址并进行查找,获得相应密钥;自认证码获取模块,用于将报文中可变字段进行掩码处理,并将掩码处理后的报文与查找模块查找到的密钥进行HMAC运算处理,获得自认证码;匹配模块,用于将报文携带的自认证码与自认证码获取模块获得的自认证码进行匹配;转发模块,用于匹配模块确定报文携带的自认证码与自认证码获取模块获得的自认证码一致时转发报文。

  具体地,配置模块对SAP头部内报文验证参数进行自定义,使得根据报文验证参数字段可确认报文是来源于终端还是来源于网关。报文验证参数字段包括用于标示报文来源的第一比特位,根据第一比特位的值可快速区别报文的来源,当第一比特位的值为第一预设值时,表示报文来源于终端,当第一比特位的值为第二预设值时,表示报文来源于网关。第一比特位和第二比特位的具体描述详见上述,在此不再一一赘述。

  解析模块在接收到携带自认证码的报文时对其进行解析,获得报文中的源IP地址、SAP头部及报文携带的自认证码。对于网络交换芯片不支持SAP头部的解析,可使用UDF(User Defined Field)芯片进行解析,以获得SAP头部。

  报文来源判断模块判断报文验证参数字段中第一比特位的值为第一预设值还是第二预设值,如果第一比特的值为第一预设值,则表明报文来源于终端,则直接通过查找模块根据解析获得的报文中源IP地址进行查找,以获得相应密钥,如果第一比特的值为第二预设值,则表明报文来源于网关,则进一步根据报文验证参数内第二比特位的值生成网关的源IP地址,并通过查找模块进行查找,以获得相应密钥,如在获得SAP头部后,判断报文验证字段中最高比特位的值,若最高比特位的值为0,则直接根据报文中源IP地址进行查找,以获得相应密钥,若最高比特位的值为1,则根据报文验证参数字段中低14位比特生成网关的源IP地址并进行查找,以获得相应的密钥。

  查找模块根据源IP地址或网关的源IP地址查找时优选TCAM(Ternary ContentAddressable Memory,三态内容寻址存储器)查找,当然,在其他实施例中,还可根据源IP地址进行哈希(Hash)查找,可根据实际需求进行选择。进一步地,当报文验证参数字段中第一比特位的值为第二预设值时,查找模块同时进行网关的源IP地址和报文中源IP地址查找,并且根据网关的源IP地址查找优先级最高,也即首先根据网关的源IP地址进行查找,若查找到,则根据获得的密钥进行进一步处理,若未查找到,则进一步根据报文中源IP地址进行查找,若查找到,则根据获得的密钥进行进一步处理;若两次均未查找到密钥,则将报文丢弃并上送CPU处理

  自认证码获取模块如何获取自认证码以及匹配模块如何进行自认证码的匹配详见上述,在此不再一一赘述。

  本发明对携带自认证码的报文,不管是来源于终端,还是来源于网关,均能够正常处理,避免在报文合法性验证过程中导致合法的报文被丢弃,进而提高了报文筛选准确率,对于组网具有很好的兼容性。

  本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

《一种携带自认证码的报文处理方法及装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)