掌桥专利:专业的专利平台
掌桥专利
首页

一种报文认证方法及系统

文献发布时间:2023-06-19 18:46:07


一种报文认证方法及系统

技术领域

本发明属于计算机IP网络应用领域,更具体地,涉及一种报文认证方法及系统。

背景技术

网络通信设备在转发IP报文时,为了提高网络的可靠性,支持同报文在多个不同的路径上,从发送方传递至接收方;同时也可支持指定路径的安全转发。网络中的终端通过截获合法的报文,可冒充合法的发送方伪造数据包发送给接收方进行网络攻击。

发明内容

针对现有技术的缺陷,本发明的目的在于提供一种报文认证方法及系统,旨在解决现有的IP报文在传输过程中抗网络攻击能力较差的问题。

为实现上述目的,本发明提供了一种报文认证方法,包括以下步骤:

S1:采用认证链作为IPv6认证扩展头的选项数据;其中,认证链包括一字节认证码数量、一字节单个认证码长度、四字节时戳和多个认证码;每个认证码的长度为八字节整数倍;所述认证码包括四字节证书序列号和N-4字节的认证值;所述认证值包括签名值和填充数据;其中,N为大于4的整数;

S2:通过对发送终端将发送的IPv6报文计算哈希值进而计算签名值,结合签名值、发送终端的证书序列号以及填充数据生成初始认证码,将初始认证码添加至认证链尾部后发送IPv6报文;

S3:通过对接收设备收到的IPv6报文解析认证链,提取各认证码中的证书序列号,查找各认证码对应的证书获取公钥;

S4:通过计算收到的IPv6报文中第n个认证码之前的哈希值计算第n个认证码中的签名值,将各认证码对应的公钥、签名值和哈希值一并输入验签算法中进行验签;

S5:若所有认证码通过验签且接收设备为中间接收端,则根据中间接收端的私钥结合第m个认证码之前的IPv6报文哈希值计算签名值,采用中间接收端的证书序列号与签名值生成第m+1个认证码,添加至认证链的尾部,更新IPv6报文,转至S3;若所有认证码通过验签且接收设备为最终接收端,则将IPv6报文发送至应用程序;其中,n≤m;m为认证码总个数。

进一步优选地,IPv6报文中第n个认证码之前的哈希值计算方法为:

将IP净荷、源地址、目的地址、协议和扩展头中第n个认证码之前内容包含的所有字节拼接成连续的字节串;

计算字节串的哈希值;

采用哈希值计算签名值,其中,签名值为ECCSign(hash);hash为报文的哈希值。

进一步优选地,中间接收端为报文传输路径上的每个安全路由器。

另一方面,本发明提供了一种报文认证系统,包括:

认证链构建模块,用于采用认证链作为IPv6认证扩展头的选项数据;其中,认证链包括一字节认证码数量、一字节单个认证码长度、四字节时戳和多个认证码;每个认证码的长度为八字节的整数倍;认证码包括四字节证书序列号和N-4字节的认证值;所述认证值包括签名值和填充数据;其中,N为大于4的整数;

发送终端,用于通过对发送的IPv6报文计算哈希值进而计算签名值,结合签名值、发送终端的证书序列号以及填充数据生成初始认证码,将初始认证码添加至认证链尾部后发送报文;

接收设备,用于通过对收到的IPv6报文解析认证链,提取各认证码中的证书序列号,查找各认证码对应的证书获取公钥;通过计算收到的IPv6报文中第n个认证码之前的哈希值计算第n个认证码中的签名值,将各认证码对应的公钥、签名值和哈希值一并输入验签算法中进行验签;若所有认证码通过验签且接收设备为中间接收端,则根据中间接收端的私钥结合第m个认证码之前的IPv6报文哈希值计算签名值,采用中间接收端的证书序列号与签名值生成第m+1个认证码,添加至认证链的尾部;若所有认证码通过验签且接收设备为最终接收端,则将IPv6报文发送至应用程序;其中,n≤m;m为认证码总个数。

进一步优选地,IPv6报文中第n个认证码之前的哈希值计算方法为:

将IP净荷、源地址、目的地址、协议和扩展头中第n个认证码之前内容包含的所有字节拼接成连续的字节串;

计算字节串的哈希值;

采用哈希值计算签名值,其中,签名值为ECCSign(hash);hash为报文的哈希值。

进一步优选地,中间接收端为报文传输路径上的每个安全路由器。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下

有益效果:

本发明提供了一种报文认证方法及系统,本发明采用认证链作为IPv6认证扩展头的选项数据,占用一部分IP报文空间,所有发送和转发设备依次添加认证码,可以使途经的每个安全路由器以及接收终端通过报文中的认证链完成报文的路径溯源,对报文的发送端进行源认证。接收终端可验证报文的合法性,提升抗网络攻击能力,大大提升了IP报文的传输安全性。

本发明提供的报文认证方法及系统,根据安全路由器的私钥生成中间认证码,并不需要进行密钥协商,降低了报文生成、传输和接收三种设备相互之间进行密钥协商所需的大量计算资源,保证了认证码可认证性和不可否认性。

附图说明

图1是本发明实施例提供的IPv6扩展头结构图;

图2是本发明实施例提供的认证链结构图;

图3是本发明实施例提供的认证码结构图;

图4是本发明实施例提供的认证链建立及验证流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

一方面,本发明提供了一种报文认证方法,包括以下步骤:

S1:选定认证值计算方法,设计IPv6扩展头结构、认证码结构和认证链结构;

如图1所示;认证链作为IPv6认证扩展头的选项数据替换RFC(Request ForComments)中定义的数据格式;

如图2所示,认证链包括一字节认证码数量、一字节单个认证码长度、四字节时戳和多个认证码;每个认证码的长度由一字节单个认证码长度字段指定,长度为8字节的整数倍,以保证每次添加认证码之后,扩展头的长度为八字节的整数倍,满足RFC对扩展头长度的规定;

如图3所示,认证码包括四字节证书序列号和N-4字节的认证值;证书序列号由系统中颁发证书的证书服务器产生,认证值的长度包括签名值和填充数据;签名值根据系统选定的ECC算法的密钥长度确定,填充数据的长度设置需要保证证书序列号、签名值和填充数据三者长度之和为八字节的整数倍;

S2:对发送的IP报文计算认证值,构建认证码,并附加至认证链;

发送报文的终端设备对IPv6报文计算哈希值=hash(IP净荷||源地址||目的地址||协议||扩展头中当前认证码之前的内容),然后计算签名值=ECCSign(hash),将签名值和设备证书序列号一起填入认证码中,并补充适当的填充数据,保证证书序列号、签名值和填充数据三者长度之和为八字节的整数倍;

S3:对收到的IP报文计算认证值,并依次与报文认证链中包含的认证码进行比对,直至某个认证码比对失败或所有认证码比对成功;更为具体地,包括以下步骤:

S3.1:通过对接收设备收到的IPv6报文解析认证链,提取各认证码中的证书序列号,查找各认证码对应的证书获取公钥;

S3.2:通过计算收到的IPv6报文中第n个认证码之前的哈希值计算第n个认证码中的签名值,将各认证码对应的公钥、签名值和哈希值一并输入验签算法中进行验签;

S3.3:若所有认证码通过验签且接收设备为中间接收端,则根据中间接收端的私钥结合第m个认证码之前的IPv6报文哈希值计算签名值,采用中间接收端的证书序列号与签名值生成第m+1个认证码,添加至认证链的尾部,更新IPv6报文,转至S3.1;若所有认证码通过验签且接收设备为最终接收端,则将IPv6报文发送至应用程序;其中,n≤m;m为认证码总个数。

另一方面,如图4所示本发明提供了一种报文认证系统,包括:

认证链构建模块,用于采用认证链作为IPv6认证扩展头的选项数据;其中,认证链包括一字节认证码数量、一字节单个认证码长度、四字节时戳和多个认证码;每个认证码的长度为八字节的整数倍;认证码包括四字节证书序列和N-4字节的认证值;所述认证值包括签名值和填充数据;其中,N为大于4的整数;

发送终端,用于通过对发送的IPv6报文计算哈希值进而计算签名值,结合签名值、发送终端的证书序列号以及填充数据生成初始认证码,将初始认证码添加至认证链尾部后发送报文;

接收设备,用于通过对收到的IPv6报文解析认证链,提取各认证码中的证书序列号,查找各认证码对应的证书获取公钥;通过计算收到的IPv6报文中第n个认证码之前的哈希值计算第n个认证码中的签名值,将各认证码对应的公钥、签名值和哈希值一并输入验签算法中进行验签;若所有认证码通过验签且接收设备为中间接收端,则根据中间接收端的私钥结合第m个认证码之前的IPv6报文哈希值计算签名值,采用中间接收端的证书序列号与签名值生成第m+1个认证码,添加至认证链的尾部;若所有认证码通过验签且接收设备为最终接收端,则将IPv6报文发送至应用程序;其中,n≤m;m为认证码总个数。

进一步优选地,IPv6报文中第n个认证码之前的哈希值计算方法为:

将IP净荷、源地址、目的地址、协议和扩展头中第n个认证码之前内容包含的所有字节拼接成连续的字节串;

计算字节串的哈希值;

采用哈希值计算签名值,其中,签名值为ECCSign(hash);hash为报文的哈希值。

进一步优选地,中间接收端为报文传输路径上的每个安全路由器。

本发明提供了一种报文认证方法及系统,本发明采用认证链作为IPv6认证扩展头的选项数据,占用一部分IP报文空间,所有发送和转发设备依次添加认证码,可以使途经的每个安全路由器以及接收终端通过报文中的认证链完成报文的路径溯源,对报文的发送端进行源认证。接收终端可验证报文的合法性,提升抗网络攻击能力,大大提升了IP报文的传输安全性。

本发明提供的报文认证方法及系统,根据安全路由器的私钥生成中间认证码,并不需要进行密钥协商,降低了报文生成、传输和接收三种设备相互之间进行密钥协商所需的大量计算资源,保证了认证码可认证性和不可否认性。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术分类

06120115686770