本发明涉及物流网络技术领域,特别是涉及一种基于序列号的网络请求防篡改方法。
背景技术:
随着物流行业的蓬勃发展,物流网络安全成为必须考虑的问题。网络请求是最普遍发生的事件,也成为网络安全防御最重要的一步,有效的保护网络请求将对网络安全起到关键的作用。然而,现有技术还不能很好的保护网络请求完整有效。
技术实现要素:
本发明的目的在于提供一种基于序列号的网络请求防篡改方法,能够实现网络请求防篡改。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于序列号的网络请求防篡改方法,包括以下步骤;
s1:请求端和访问端获取数据类型关系表,所述数据类型关系表记录请求数据包的所有类型以及每一类型对应的随机代码;
s2:所述请求端根据网络请求生成请求数据包;
s3:所述请求端生成第一校验值,并将所述第一校验值发送到访问端,所述第一校验值由请求端名称和第一随机值组成;
s4:所述访问端接收到第一校验值后,向请求端发送第二校验值,所述第二校验值由访问端名称和第二随机值组成;
s5:所述请求端接收到第二校验值后,从所述数据类型关系表中获取所述请求数据包的类型所对应的随机代码,将所述第一随机值、随机代码和第二随机值组成序列号;
s6:所述请求端将所述序列号添加到请求数据包的头部组成重组数据包,并将所述重组数据包发送到访问端;
s7:所述访问端比对重组数据包中的第一随机值与第一校验值中的第一随机值是否一致以及重组数据包中的第二随机值与第二校验值中的第二随机值是否一致,如果一致,进行步骤s8;
s8:所述访问端根据所述数据类型关系表判断所述重组数据包中的随机代码与重组数据包的类型是否匹配,如果匹配,进行步骤s9;
s9:所述访问端去除重组数据包的头部得到请求数据包。
优选的,所述步骤s7还包括:如果重组数据包中的第一随机值与第一校验值中的第一随机值不一致或者重组数据包中的第二随机值与第二校验值中的第二随机值不一致,则进行步骤s10;
s10:丢弃重组数据包。
优选的,所述步骤s8还包括:如果不匹配,则进行所述步骤s10。
优选的,在将所述重组数据包发送到访问端之前,所述步骤s6还包括:
采用加密算法对重组数据包进行加密;
所述步骤s7之前,还包括:
所述访问端对加密的重组数据包进行解密。
优选的,所述加密算法为md5算法或sha128算法。
优选的,所述第一随机值和第二随机值均为4位随机数。
优选的,所述序列号依次包括第一随机值、随机代码和第二随机值。
区别于现有技术的情况,本发明的有益效果是:
1、通过对数据包进行三次校验,实现网络请求防篡改的目的;
2、多次使用随机值增加验证过程的准确性,有效解决验证过程带来的错误。
附图说明
图1是本发明实施例提供的基于序列号的网络请求防篡改方法的流程示意图。
图2是本发明实施例提供的基于序列号的网络请求防篡改方法的数据流向示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,本发明实施例的基于序列号的网络请求防篡改方法包括以下步骤;
s1:请求端和访问端获取数据类型关系表,数据类型关系表记录请求数据包的所有类型以及每一类型对应的随机代码。
其中,数据类型关系表是预先生成的,数据类型关系表可以在请求端或访问端本地保存,请求端和访问端直接从本地读取数据类型关系表,或者数据类型关系表保存在指定的服务器上,请求端和访问端从服务器获取数据类型关系表。数据类型关系表中,每一种请求数据包的类型都能找到对应的随机代码,例如请求数据包的类型为网络接口请求,对应的随机代码为sefr23f。
s2:请求端根据网络请求生成请求数据包。
如图2所示,请求端生成的请求数据包以data表示。
s3:请求端生成第一校验值,并将第一校验值发送到访问端,第一校验值由请求端名称和第一随机值组成。
如图2所示,请求端生成的第一校验值包括name1和nub1,name1表示请求端名称,nub1表示第一随机值。
s4:访问端接收到第一校验值后,向请求端发送第二校验值,第二校验值由访问端名称和第二随机值组成。
如图2所示,访问端生成的第二校验值包括name2和nub2,name2表示访问端名称,nub2表示第二随机值。在本实施例中,第一随机值和第二随机值均为4位随机数。
s5:请求端接收到第二校验值后,从数据类型关系表中获取请求数据包的类型所对应的随机代码,将第一随机值、随机代码和第二随机值组成序列号。
在本实施例中,序列号依次包括第一随机值、随机代码和第二随机值。
s6:请求端将序列号添加到请求数据包的头部组成重组数据包,并将重组数据包发送到访问端。
如图2所示,请求端发送的重组数据包包括一个头部,头部由nub1、roll、nub2组成,roll表示请求数据包的类型对应的随机代码。
s7:访问端比对重组数据包中的第一随机值与第一校验值中的第一随机值是否一致以及重组数据包中的第二随机值与第二校验值中的第二随机值是否一致,如果一致,进行步骤s8。
其中,如果一致,则表示请求端的网络请求是安全的。
s8:访问端根据数据类型关系表判断重组数据包中的随机代码与重组数据包的类型是否匹配,如果匹配,进行步骤s9。
其中,如果匹配,则表示重组数据包没有被篡改。
s9:访问端去除重组数据包的头部得到请求数据包。
其中,访问端在正确的请求数据包基础上可以继续处理网络请求。
在本实施例中,步骤s7还包括:如果重组数据包中的第一随机值与第一校验值中的第一随机值不一致或者重组数据包中的第二随机值与第二校验值中的第二随机值不一致,则进行步骤s10;
s10:丢弃重组数据包。
同样的,步骤s8还包括:如果不匹配,则进行步骤s9。
为了进一步提高安全性,在本实施例中,在将重组数据包发送到访问端之前,步骤s6还包括:
采用加密算法对重组数据包进行加密;
步骤s7之前,还包括:
访问端对加密的重组数据包进行解密。
如图2所示,请求端发送的重组数据包中的lock表示请求端对重组数据包完成加密。在本实施例中,加密算法可以为md5算法或sha128算法等公用加密算法。
通过上述方式,本发明的基于序列号的网络请求防篡改方法将利用请求数据包的类型对应的随机代码以及请求端和访问端生成的两个随机值来组成序列号,将序列号添加到请求数据包的头部得到重组数据包,同时对重组数据包进行加密,从而能够实现网络请求防篡改,方便其他的网络操作。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。