一种数据传输安全验证方法及系统与流程

文档序号:17938515发布日期:2019-06-18 22:50阅读:299来源:国知局
一种数据传输安全验证方法及系统与流程

本发明涉及数据安全传输技术领域,特别是涉及一种数据传输安全验证方法及系统。



背景技术:

随着技术的快速发展,许多黑客会偷偷写入数据篡改原本的数据包,来造成系统出错。因此,在数据传输时,为了避免数据受到黑客篡改,通常的方法是由发送端在数据包内增加复杂的字符串进行加密。

接收端接收到发送端发送的数据包后,需要对数据包中的每个数据进行比对验证来确定数据包的正确与否。具体方式是在接收端接收到数据包后,需要将数据包中的数据解析出来,并回传自身接收到的信息至发送端,来让发送端确认自身接收到的数据是否正确,发送端在确认时,需要对每个数据进行比对验证,才能完整整个安全验证过程。整个过程非常复杂,耗时长,降低了系统的工作效率。

因此,如何提供一种验证过程简单的数据传输安全验证方法及系统是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种数据传输安全验证方法及系统,通过验证数据包的数据总和是否正确来验证数据包是否被篡改,安全验证过程简单,验证过程耗时短,系统的数据传输效率高。

为解决上述技术问题,本发明提供了一种数据传输安全验证方法,包括:

在数据包发送前,发送端计算用于表征所述数据包内数据总和的理论总和值并添加至所述数据包内,之后发送所述数据包;

接收端接收到所述数据包后,计算所述数据包的实际数据总和并读取所述数据包内的理论总和值;

所述接收端比对所述实际数据总和与所述理论总和值是否一致,若两者一致,则所述数据包正常,若两者不一致,则所述数据包被篡改。

优选地,所述发送端计算用于表征所述数据包内数据总和的理论总和值并添加至所述数据包的过程具体包括:

所述发送端判断所述数据包是否满足预设筛选规则,若满足,则在所述数据包内添加若干位加密字符,并计算所述数据包的理论总和值后将所述理论总和值添加至所述数据包内;若不满足,则不对所述数据包进行处理;之后发送所述数据包;

相应的,所述接收端接收到所述数据包后,计算所述数据包的实际数据总和之前,还包括:

判断所述数据包内是否包含加密字符,若包含,则计算所述数据包的实际数据总和;若不包含,则默认所述数据包正常。

优选地,所述发送端判断所述数据包是否满足预设筛选规则,若满足,则在所述数据包内添加若干位加密字符的过程具体为:

所述发送端在所述数据包内随机选择一个位置添加若干位加密字符。

优选地,所述发送端在所述数据包内随机选择一个位置添加若干位加密字符的过程具体为:

所述发送端在所述数据包内随机选择一个位置添加若干位随机生成的字符。

优选地,所述发送端在进行数据发送时,将多路单端信号数据包转换为单路串行信号数据包后发送至所述接收端;相应的,所述接收端在进行数据接收时,将接收到的单路串行信号数据包转换为多路单端信号数据包后,再进行前述数据包的数据总和计算以及比对操作。

为解决上述技术问题,本发明还提供了一种数据传输安全验证系统,包括发送端和接收端;所述发送端包括第一存储器、第一处理器和第一通信装置;

所述第一存储器用于存储第一计算机程序;所述第一处理器,用于执行所述第一计算机程序时实现如下步骤:

在数据包发送前,在所述数据包内添加用于表征所述数据包内数据总和的理论总和值;

所述接收端包括第二存储器、第二处理器和第二通信装置;

所述第二存储器用于存储第二计算机程序;所述第二处理器,用于执行所述第二计算机程序时实现如下步骤:

接收到所述数据包后,计算所述数据包的实际数据总和并读取所述数据包内的理论总和值;比对所述实际数据总和与所述理论总和值是否一致,若两者一致,则所述数据包正常,若两者不一致,则所述数据包被篡改。

优选地,所述第一计算机程序被所述第一处理器执行时实现在所述数据包内添加用于表征所述数据包内数据总和的理论总和值的过程具体包括:

所述发送端判断所述数据包是否满足预设筛选规则,若满足,则在所述数据包内添加若干位加密字符,并计算所述数据包的理论总和值后将所述理论总和值添加至所述数据包内;若不满足,则不对所述数据包进行处理;之后发送所述数据包;

相应的,所述第二计算机程序被所述第二处理器执行时,在计算所述数据包的实际数据总和之前,还实现:

判断所述数据包内是否包含加密字符,若包含,则计算所述数据包的实际数据总和;若不包含,则默认所述数据包正常。

优选地,所述第一计算机程序被所述第一处理器执行时具体实现所述在所述数据包内添加若干位加密字符的过程为:在所述数据包内随机选择一个位置添加若干位加密字符。

优选地,所述第一计算机程序被所述第一处理器执行时具体实现所述在所述数据包内随机选择一个位置添加若干位随机生成的字符的过程为:在所述数据包内随机选择一个位置添加若干位随机生成的字符。

优选地,所述第一通信装置用于:在进行数据发送时,将多路单端信号数据包转换为单路串行信号数据包后发送至所述第二通信装置;所述第二通信装置用于:在进行数据接收时,将接收到的单路串行信号数据包转换为多路单端信号数据包后,再发送至所述第二处理器进行前述数据包的数据总和计算以及比对操作。

本发明提供了一种数据传输安全验证方法及系统,发送端在数据包中添加了用于表征数据包内数据总和的理论总和值,之后接收端收到数据包后,将计算得到的数据包的实际数据总和与从数据包中读取的理论总和值进行比较,若两者相同,表明数据包中并未增加或减少字符,因此数据包未被篡改;若两者不同,表明数据包中出现了字符增减,因此数据包被篡改。可见,本发明依据数据包字符数量是否变动来进行安全验证,是因为黑客篡改数据包时多数情况下会导致数据包字符数量变动,因此本发明这种验证方式能够正确验证绝大多数情况下的数据包。并且,本发明仅需要对数据包的数据总和进行比对即可,不需要进行数据包内每个数据的比对,也不需要将数据回传至发送端,因此大大简化了整个安全验证过程,降低了验证时间,提高了系统的数据传输效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种数据传输安全验证方法的过程的流程图;

图2为本发明提供的另一种数据传输安全验证方法的过程的流程图;

图3为本发明提供的一种将单端信号转变为串行信号通信的示意图;

图4为数据包收到篡改时的信号变化示意图。

具体实施方式

本发明的核心是提供一种数据传输安全验证方法及系统,通过验证数据包的数据总和是否正确来验证数据包是否被篡改,安全验证过程简单,验证过程耗时短,系统的数据传输效率高。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种数据传输安全验证方法,参见图1所示,图1为本发明提供的一种数据传输安全验证方法的过程的流程图;该方法包括:

步骤s1:在数据包发送前,发送端计算用于表征数据包内数据总和的理论总和值并添加至数据包内,之后发送数据包;

这里的理论总和值指的是由发送端计算的、数据包内包含的总字符位数。

步骤s2:接收端接收到数据包后,计算数据包的实际数据总和并读取数据包内的理论总和值;

由于黑客在对数据包进行篡改时,通常会增加一些数据或者删除部分数据,因此会导致数据包内的数据总和发生变化,即接收端接收到的数据包内的实际的数据总和与理论总和值不同。参见图4所示,图4为数据包收到篡改时的信号变化示意图。故本发明通过读取之前发送端添加在数据包内的理论总和值以及计算当前数据包的实际数据总和,并进行比较,即可判断数据包的字符数是否发生变化,进而判断数据包是否收到篡改。

步骤s3:接收端比对实际数据总和与理论总和值是否一致,若两者一致,则数据包正常,若两者不一致,则数据包被篡改。

本发明提供了一种数据传输安全验证方法,发送端在数据包中添加了用于表征数据包内数据总和的理论总和值,之后接收端收到数据包后,将计算得到的数据包的实际数据总和与从数据包中读取的理论总和值进行比较,若两者相同,表明数据包中并未增加或减少字符,因此数据包未被篡改;若两者不同,表明数据包中出现了字符增减,因此数据包被篡改。可见,本发明依据数据包字符数量是否变动来进行安全验证,是因为黑客篡改数据包时多数情况下会导致数据包字符数量变动,因此本发明这种验证方式能够正确验证绝大多数情况下的数据包。并且,本发明仅需要对数据包的数据总和进行比对即可,不需要进行数据包内每个数据的比对,也不需要将数据回传至发送端,因此大大简化了整个安全验证过程,降低了验证时间,提高了系统的数据传输效率和传输性能。

另外,在优选实例中,当判断完成数据包是否正常后,还可以将判断结果在接收端进行显示,方便接收端处的工作人员及时了解数据包的传输情况。另外,当判断结果为数据包被篡改时,还可以在接收端处发出报警提示,从而方便接收端处的工作人员及时处理被篡改后数据包,并且修改防火墙等来提供数据传输的安全等级,尽可能避免下次数据传输时出现被篡改的情况。

作为优选地,参见图2所示,图2为本发明提供的另一种数据传输安全验证方法的过程的流程图;步骤s1的过程具体包括:

步骤s10:发送端判断数据包是否满足预设筛选规则,若满足,进入步骤s11;若不满足,则不对数据包进行处理并发送数据包;

步骤s11:在数据包内添加若干位加密字符,并计算数据包的理论总和值后将理论总和值添加至数据包内,发送数据包;

相应的,接收端接收到数据包后,计算数据包的实际数据总和并读取数据包内的理论总和值之前,还包括:

步骤s20:判断数据包内是否包含加密字符,若包含,则进入步骤s2;若不包含,则默认数据包正常。

可以理解的是,由于数据包的大小不一,有些数据包的数据量很小,这种数据包通常不会受到黑客的篡改。因此,这部分数据包实际上不需要在发送端计算理论总和值,也不需要在接收端计算其实际数据总和并比较实际数据总和和理论数据总和值是否相同。因此,本实施例通过预设筛选规则来对数据包进行筛选,只有满足预设筛选规则的部分数据包才会在发送端计算其理论总和,后续接收端接收到数据包后,通过数据包内是否包含加密字符来判断该数据包内是否存储有理论总和值,若包含有加密字符,接收端才会计算数据包的实际数据总和,并进行后续比对。而对于不包含加密字符的部分数据包来说,会默认其未受到篡改。这种方式中,预设筛选规则是用于筛选出容易受到黑客篡改的部分数据包来进行本发明中的安全验证,而其余不容易受到黑客篡改的部分数据包则不进行安全验证,从而简化了整个安全验证过程,进一步提高了系统的数据传输效率。其中,预设筛选规则可以是筛选出数据量高于某个阈值的数据包,或者也可以为其他筛选方式,本发明对此不做限定,只需要预测筛选规则满足前述提到的要求即可。

具体的,发送端判断所述数据包是否满足预设筛选规则,若满足,则在数据包内添加若干位加密字符的过程具体为:

发送端在数据包内随机选择一个位置添加若干位加密字符。

其中,由于本发明中的加密字符仅是用于告知接收端需要进行数据总和计算等操作,因此为了避免占用过多的空间,加密字符的位数不宜设置过多,因此可以设置1位或2位加密字符;并且,由于仅设置1位加密字符可能出现接收端漏掉该加密字符的情况,因此优选设置2位加密字符,当然本发明对加密字符的设置位数不作限定。但是,相比现有技术来说,本发明不需要设置复杂的字符串作为加密字符即可实现加密效果,从而简化了整个数据加密过程。

具体的,发送端在数据包内随机选择一个位置添加若干位加密字符的过程具体为:

发送端在数据包内随机选择一个位置添加若干位随机生成的字符。

可以理解的是,加密字符的功能是为了让接收端了解该数据包是否需要进行安全验证,因此,加密字符的功能是作为一个标志的功能,而并不具有其他的意义。因此,可以按照标志字符的生成规则来随机生成加密字符。这种方式简化了加密字符的生成过程,提高了加密字符的生成效率。当然也可以采用其他方式生成加密字符。本发明对加密字符的生成方式不做限定。

作为优选地,发送端在进行数据发送时,将多路单端信号数据包转换为单路串行信号数据包后发送至接收端;相应的,接收端在进行数据接收时,将接收到的单路串行信号数据包转换为多路单端信号数据包后,再进行前述数据包的数据总和计算以及比对操作。

参见图3所示,图3为本发明提供的一种将单端信号转变为串行信号通信的示意图。

可以理解的是,在发送端与接收端进行数据传输时,若两者采用单端信号通信的话,则需要大量连接点,接线非常复杂。而本实施例,在发送端与接收端进行数据传输时,采用串行信号进行通信,即具体实现方式为:运用两颗可编成ic分别作为发送端和接收端,发送端处的可编程ic将大量的单端信号数据包转换成串行信号数据包,这样使得原本需要大量连接点的信号,只需要一根信号传输线就可以传至另外一块可编程ic上,接收端处的可编成ic再将串行信号数据包转换为多路单端信号数据包即可进行后续处理。这种方式简化了发送端和接收端之间的接线,降低了接线的硬件成本。

本发明还提供了一种数据传输安全验证系统,包括发送端和接收端;发送端包括第一存储器、第一处理器和第一通信装置;

第一存储器用于存储第一计算机程序;第一处理器,用于执行第一计算机程序时实现如下步骤:

在数据包发送前,在数据包内添加用于表征数据包内数据总和的理论总和值;

接收端包括第二存储器、第二处理器和第二通信装置;

第二存储器用于存储第二计算机程序;第二处理器,用于执行第二计算机程序时实现如下步骤:

接收到数据包后,计算数据包的实际数据总和并读取数据包内的理论总和值;比对实际数据总和与理论总和值是否一致,若两者一致,则数据包正常,若两者不一致,则数据包被篡改。

作为优选地,第一计算机程序被第一处理器执行时实现在数据包内添加用于表征数据包内数据总和的理论总和值的过程具体包括:

发送端判断数据包是否满足预设筛选规则,若满足,则在数据包内添加若干位加密字符,并计算数据包的理论总和值后将理论总和值添加至数据包内;若不满足,则不对数据包进行处理;之后发送数据包;

相应的,第二计算机程序被第二处理器执行时,在计算数据包的实际数据总和之前,还实现:

判断数据包内是否包含加密字符,若包含,则计算数据包的实际数据总和;若不包含,则默认数据包正常。

作为优选地,第一计算机程序被第一处理器执行时具体实现在数据包内添加若干位加密字符的过程为:在数据包内随机选择一个位置添加若干位加密字符。

作为优选地,第一计算机程序被第一处理器执行时具体实现在数据包内随机选择一个位置添加若干位随机生成的字符的过程为:在数据包内随机选择一个位置添加若干位随机生成的字符。

作为优选地,第一通信装置用于:在进行数据发送时,将多路单端信号数据包转换为单路串行信号数据包后发送至第二通信装置;第二通信装置用于:在进行数据接收时,将接收到的单路串行信号数据包转换为多路单端信号数据包后,再发送至第二处理器进行前述数据包的数据总和计算以及比对操作。

本发明提供了一种数据传输安全验证系统,发送端在数据包中添加了用于表征数据包内数据总和的理论总和值,之后接收端收到数据包后,将计算得到的数据包的实际数据总和与从数据包中读取的理论总和值进行比较,若两者相同,表明数据包中并未增加或减少字符,因此数据包未被篡改;若两者不同,表明数据包中出现了字符增减,因此数据包被篡改。可见,本发明依据数据包字符数量是否变动来进行安全验证,是因为黑客篡改数据包时多数情况下会导致数据包字符数量变动,因此本发明这种验证方式能够正确验证绝大多数情况下的数据包。并且,本发明仅需要对数据包的数据总和进行比对即可,不需要进行数据包内每个数据的比对,也不需要将数据回传至发送端,因此大大简化了整个安全验证过程,降低了验证时间,提高了系统的数据传输效率。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1