防止利用合法数据或篡改合法数据进行网络攻击的方法技术

技术编号:18840350 阅读:39 留言:0更新日期:2018-09-05 08:25
本发明专利技术公开了防止利用合法数据或篡改合法数据进行网络攻击的方法,采用对请求的业务数据加入时间戳、不重复随机数、约定盐值,并对上述数据进行hash算法取得hash值,业务终端访问云端时将上述数据与业务数据一同上传到服务器;云端验签模块验证时间戳、hash值是否符合验签,若符合则将访问数据、将业务终端上传的时间戳,不重复的随机数,以及云端和终端约定的盐值进行hash算法得到hash值,再与业务终端上传的hash值进行对比,一致则通过验证,可进行后续工作,并缓存此次业务终端上传的hash值用于比对后面访问的hash值,如果不一致则拒绝服务请求。本发明专利技术可防止服务器资源被非法占据而影响正常访问,以达到保护网络和服务器资源的目的。

Method of preventing network attack by using legitimate data or tampering with legitimate data

The invention discloses a method for preventing network attack by using legitimate data or tampering with legitimate data. A hash algorithm is used to obtain the hash value of the requested service data by adding a timestamp, non-repetitive random number, and agreed salt value to the service data. When the service terminal accesses the cloud, the above data is uploaded together with the service data. Server; Cloud checking module verifies whether the timestamp and hash value conform to the checking label. If it conforms, it will access data, upload the timestamp from the service terminal, do not repeat the random number, and the salt value agreed by the cloud and the terminal will be hash algorithm to get the hash value, and then compare it with the hash value uploaded by the service terminal, and then consistently pass. Verification, follow-up work can be done, and cache the hash value uploaded by this service terminal to compare the hash value for subsequent access, if not consistent, denial of service requests. The invention can prevent server resources from being illegally occupied and affect normal access, so as to protect network and server resources.

【技术实现步骤摘要】
防止利用合法数据或篡改合法数据进行网络攻击的方法
本专利技术涉及网络安全
,特别涉及防止利用合法数据或篡改合法数据进行网络攻击的方法。
技术介绍
随着互联网应用的增多,服务于互联网应用的服务器经常遭受网络攻击者的攻击。其中网络攻击者截取请求数据,利用合法数据或篡改合法数据对服务器进行大量反复的请求,以达到占用服务器和网络资源,影响正常业务访问的方式,是一种非常普遍的攻击手段。该攻击方式简单,且易于分布式攻击,需采取一种高效,容易实现的方式抵御这样的攻击。hash算法是FIPS所认证的安全散列算法,能计算出一个数字消息所对应到的长度固定的字符串(又称消息摘要)的算法。若输入的讯息不同,它们对应到不同字串的机率很高;而SHA是FIPS所认证的五种安全杂凑算法。这些算法之所以称作“安全”是基于以下两点(根据官方标准的描述):1、由讯息摘要反推原输入讯息,从计算理论上来说是很困难的。2、想要找到两组不同的讯息对应到相同的讯息摘要,从计算理论上来说也是很困难的。任何对输入讯息的变动,都有很高的机率导致其产生的讯息摘要迥异,因此,本专利技术的技术方案中将充分运用该算法。
技术实现思路
本专利技术的目的是克服上述
技术介绍
中不足,提供防止利用合法数据或篡改合法数据进行网络攻击的方法,通过本专利技术的技术方案可有效防止网络攻击者利用合法数据或者篡改合法数据对服务器进行反复请求,以防止服务器资源被非法占据而影响正常访问,以达到保护网络和服务器资源的目的。为了达到上述的技术效果,本专利技术采取以下技术方案:防止利用合法数据或篡改合法数据进行网络攻击的方法,包含相互通信连接的终端签名模块、云端验签模块及数据存储模块,其中,数据存储模块将每个业务终端和云端约定的盐值与该终端的标识数据一对一保存,且具体包含以下步骤:S1.业务终端在进行网络请求前,先由终端签名模块向业务数据中加入时间戳、不重复的随机数及该业务终端与云端约定的盐值,从而生成待签名数据;S2.终端签名模块再对所述待签名数据进行hash算法,得到hash值;S3.业务终端访问云端时,将该hash值、业务数据、时间戳、不重复的随机数一同提交云端服务器;S4.云端验签模块将时间戳与本地时间对比,验证其时间差值是否在规定范围内,并验证hash值是否缓存;S5.若时间差值未在规定范围内,则向业务终端返回验签失败的提示并结束本次访问,否则将收到的hash值与云端缓存的hash值进行对比;S6.若收到的hash值已在云端缓存即与云端缓存的hash值相同,则说明该访问请求为重复请求,则向业务终端返回验签失败的提示并结束本次访问,否则,根据该终端的标识数据从数据库中取出对应的盐值;S7.云端验签模块按终端的方式将收到的业务数据中加入时间戳、不重复的随机数,并与所述步骤S6中取出的盐值相组合得到组合数据,并对该组合数据进行hash算法,得到hash值;S8.将步骤S7中得到的hash值与终端提交的hash值是否一致;S9.若一致则通过验证,则云端根据收到的业务数据进行相关业务逻辑工作,同时云端将终端提交的hash值缓存;若不一致则说明参数被篡改,验证不通过,则向业务终端返回验签失败的提示并结束本次访问;本专利技术的技术方案主要采用对请求的业务数据加入时间戳、不重复的随机数,云端和业务终端约定的盐值,然后对上述数据进行hash算法,取得hash值,业务终端访问云端时,时间戳、不重复的随机数、hash值与业务数据一同上传致服务器访问;云端验签模块验证时间戳是否在规定范围内,验证hash值是否缓存,如果时间戳在规定范围内,业务终端上传的hash值未缓存,服务器将访问数据,并将业务终端上传的时间戳,不重复的随机数,以及云端和终端约定的盐值进行hash算法得到hash值,再与业务终端上传的hash值进行对比,一致则通过验证,可进行后续工作,并缓存此次业务终端上传的hash值用于比对后面访问的hash值,如果不一致则拒绝服务请求。进一步地,所述终端的标识数据为该终端的SN或mac值。进一步地,所述步骤S3及步骤S7中不重复的随机数为UUID。进一步地,所述步骤S4中时间差值的规定范围为30s。本专利技术与现有技术相比,具有以下的有益效果:在本专利技术的技术方案中充分利用了业务数据(用于云端根据业务数据进行相关业务逻辑工作)、时间戳(由终端访问时间服务器或云端时间服务器获取。保障云端与终端时间保持一致)、不重复的随机数(保证每次业务终端发起的请求具有唯一性,不可重复)、终端与云端约定的盐值,并充分利用hash算法,有效防止利用合法数据或篡改合法数据进行攻击;时间戳参与hash算法,保证了hash值的时间性;不重复的随机数uuid,保证业务终端的请求的唯一性;业务终端与云端约定的盐值,由于不在网络请求中传输,因此攻击者截获请求报文后,也无法获取盐值,篡改请求数据将造成hash值不正确,同时以上参数的组合方式也增加攻击者复原签名数据的难度,最终起到防止网络攻击者截取合法数据或篡改合法数据进行网络攻击的作用,防止服务器资源被非法占据而影响正常访问,以达到保护网络和服务器资源的目的。附图说明图1是本专利技术的方法的流程步骤示意图。图2是本专利技术的一个实施例中该方法在一个项目中的部署图。附图标记:101-终端签名模块,201-云端验签模块,202-数据存储模块,301-应用服务。具体实施方式下面结合本专利技术的实施例对本专利技术作进一步的阐述和说明。实施例:实施例一:一种防止利用合法数据或篡改合法数据进行攻击的方法,可用于物联网(ipp)项目,launcher项目等移动端与云端的访问中,如图2所示,本实施例中主要是将其应用于一个在包含由多种应用服务301的物联网项目中。如图1所示,该防止利用合法数据或篡改合法数据进行攻击的方法,该方法的实现,主要由两个模块实现:终端签名模块101,云端验签模块201,其中,这两个模块分别具有以下作用:终端签名模块101:主要功能是将业务终端发出的业务数据body加上时间戳timestamp、不重复的随机数、如uuid、终端与云端约定的盐值salt,并将组合成的数据进行hash算法,得到hash值;其中,业务终端与云端约定的盐值salt为不同的业务终端盐值salt不同,该盐值salt为一组随机数,与终端SN或mac一对一对应绑定保存在数据存储模块202中。终端签名模块101向调用的业务终端提供时间戳timestamp、不重复的随机数uuid、hash值、终端SN或mac,业务终端在进行网络请求时,将这些数据与业务数据一道提交至云端验签模块201。云端验签模块201:主要功能是接收业务终端发送的业务数据body、hash值、时间戳timestamp、不重复的随机数uuid、终端SN或mac,并进行具体的验签操作。该防止利用合法数据或篡改合法数据进行攻击的方法主要包含以下步骤:S1.业务终端在进行网络请求前,先由终端签名模块101向业务数据中加入时间戳、不重复的随机数及该业务终端与云端约定的盐值,从而生成待签名数据;S2.终端签名模块101再对所述待签名数据进行hash算法,得到hash值;S3.业务终端访问云端时,将该hash值、业务数据、时间戳、不重复的随机数如UUID,一同提交云端服务器;S4.云端验签模本文档来自技高网...

【技术保护点】
1.防止利用合法数据或篡改合法数据进行网络攻击的方法,其特征在于,包含相互通信连接的终端签名模块、云端验签模块及数据存储模块,其中,数据存储模块将每个业务终端和云端约定的盐值与该终端的标识数据一对一保存,且具体包含以下步骤:S1.业务终端在进行网络请求前,先由终端签名模块向业务数据中加入时间戳、不重复的随机数及该业务终端与云端约定的盐值,从而生成待签名数据;S2.终端签名模块再对所述待签名数据进行hash算法,得到hash值;S3.业务终端访问云端时,将该hash值、业务数据、时间戳、不重复的随机数一同提交云端服务器;S4.云端验签模块将时间戳与本地时间对比,验证其时间差值是否在规定范围内,并验证hash值是否缓存;S5.若时间差值未在规定范围内,则向业务终端返回验签失败的提示并结束本次访问,否则将收到的hash值与云端缓存的hash值进行对比;S6.若收到的hash值已在云端缓存即与云端缓存的hash值相同,则说明该访问请求为重复请求,则向业务终端返回验签失败的提示并结束本次访问,否则,根据该终端的标识数据从数据库中取出对应的盐值;S7.云端验签模块按终端的方式将收到的业务数据中加入时间戳、不重复的随机数,并与所述步骤S6中取出的盐值相组合得到组合数据,并对该组合数据进行hash算法,得到hash值;S8.将步骤S7中得到的hash值与终端提交的hash值是否一致;S9.若一致则通过验证,则云端根据收到的业务数据进行相关业务逻辑工作,同时云端将终端提交的hash值缓存;若不一致则说明参数被篡改,验证不通过,则向业务终端返回验签失败的提示并结束本次访问。...

【技术特征摘要】
1.防止利用合法数据或篡改合法数据进行网络攻击的方法,其特征在于,包含相互通信连接的终端签名模块、云端验签模块及数据存储模块,其中,数据存储模块将每个业务终端和云端约定的盐值与该终端的标识数据一对一保存,且具体包含以下步骤:S1.业务终端在进行网络请求前,先由终端签名模块向业务数据中加入时间戳、不重复的随机数及该业务终端与云端约定的盐值,从而生成待签名数据;S2.终端签名模块再对所述待签名数据进行hash算法,得到hash值;S3.业务终端访问云端时,将该hash值、业务数据、时间戳、不重复的随机数一同提交云端服务器;S4.云端验签模块将时间戳与本地时间对比,验证其时间差值是否在规定范围内,并验证hash值是否缓存;S5.若时间差值未在规定范围内,则向业务终端返回验签失败的提示并结束本次访问,否则将收到的hash值与云端缓存的hash值进行对比;S6.若收到的hash值已在云端缓存即与云端缓存的hash值相同,则说明该访问请求为重复请求,则向业务终端返回验签失...

【专利技术属性】
技术研发人员:刘剑飞常清雪肖建
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1