一种实现数据安全性和完整性的方法和系统技术方案

技术编号:17815758 阅读:45 留言:0更新日期:2018-04-28 07:16
本申请涉及一种实现数据安全性和完整性的方法和系统。该方法包括:客户端与网关服务器之间建立会话;所述网关服务器向所述客户端推送数据包的加密解密机器码,以确定动态加密解密方式;以及所述客户端与所述网关服务器之间使用所述加密解密方式进行通信。还可以设定固定数据桩用来恢复流数据错误。本申请采用随机动态加密解密方式,增加数据传输和存储的安全性和完整性。

【技术实现步骤摘要】
一种实现数据安全性和完整性的方法和系统
本申请涉及数据安全,尤其涉及数据完整性校验以及数据加密解密的技术。
技术介绍
大型多人在线角色扮演游戏MMORPG(massivelymultiplayeronlinerole-playinggames)通常涉及大量玩家的参与,但同时也引起存在通过各种手段进行破解逆向,尤其是针对游戏客户端和服务器端之间的通信数据包进行分析。而一旦黑客破解了相关通信数据协议,则可以模拟客户端行为以及模拟各种合法的请求,从而达到欺骗服务器的目的,进而最终可以制作出各种恶性外挂(比如:挂机、加速等),严重影响游戏公平,甚至会盗取用户帐号或者装备。另外,还有由于一些异常的网络波动或者黑客篡改网络包等因素,造成通信包内容的紊乱,导致服务器端出现莫名异常的数据或行为。因此,本领域需要一种增强数据安全性以及实现数据完整性的技术。
技术实现思路
鉴于此,本申请旨在提供一种实现数据安全性和完整性的方法和系统。根据本专利技术一个实施例,提供了一种实现数据安全性和完整性的方法,包括:客户端与网关服务器之间建立会话;所述网关服务器向所述客户端推送数据包的加密解密机器码,以确定动态加密解密方式;以及所述客户端与所述网关服务器之间使用所述加密解密方式进行通信。根据一个方面,所述客户端根据所述网关服务器推送的加密解密机器码生成客户端本地机器码,所述网关服务器随时随机切换所述加密解密方式并通知所述客户端。根据另一个方面,所述加密解密机器码由所述网关服务器预加载时生成。根据又一个方面,所述网关服务器和内部服务器之间的通信不采用密文通信。根据又一个方面,所述方法还包括:设定固定数据桩用来恢复流数据错误。根据又一个方面,对于数据包中的至少一部分数据,采用序列化存储方式进行存储。根据本专利技术另一个实施例,提供了一种用于实现数据安全性和完整性的系统,包括:用于客户端与网关服务器之间建立会话的装置;用于所述网关服务器向所述客户端推送数据包的加密解密机器码,以确定动态加密解密方式的装置;以及用于所述客户端与所述网关服务器之间使用所述加密解密方式进行通信的装置。根据本专利技术又一个实施例,提供了一种用于实现数据安全性和完整性的系统,所述系统包括:至少一个逻辑处理器;计算机可读存储介质,所述计算机可读存储介质存储用于执行以下操作的计算机可执行指令:客户端与网关服务器之间建立会话;所述网关服务器向所述客户端推送数据包的加密解密机器码,以确定动态加密解密方式;以及所述客户端与所述网关服务器之间使用所述加密解密方式进行通信。通过本专利技术给出的针对传输中数据安全完整性的相关解决方案,保证了:1)发送方对数据进行封包,增加完整性校验机制;同时接收方能够对接收到的数据内容进行数据完整性校验,保证收到的是一个完整的数据包;2)发送方对数据包进行有效加密;接收方针对经过校验完整性的数据包需要做进一步的解密校验,从而得到最终的数据;3)采用随机动态加密解密方式,从而达到迷惑破解者使其找不到规律;4)针对传输过程中出现的不完整包的情况能够尽可能快的恢复数据传输。附图说明纳入于此且构成本说明书一部分的附图示出了本申请的示例性实施例,并与以上给出的
技术实现思路
和下面给出的具体实施方式一起用来解释本申请的特征。图1是根据本申请的一个实施例的示出动态加密解密的网拓扑结构示意图。图2是根据本申请的一个实施例的包头结构示意图。图3是根据本申请的一个实施例的示例性计算机系统。具体实施方式将参照附图详细描述各种实施例。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实现所作的引用是用于说明性目的,而无意限定本申请或权利要求的范围。措辞“示例性”在本文中用于表示“用作示例、实例或示出”。本文中描述为“示例性”的任何实现不必然被解释为优于或胜过其他实现。本专利技术提供了一种增强数据安全性以及实现数据完整性的技术。参考图1,图1是根据本申请的一个实施例的示出动态加密解密的网拓扑结构示意图。步骤S101,客户端与网关服务器之间建立会话。步骤S103,网关服务器向客户端推送数据包的加密解密机器码,以确定动态加密解密方式。步骤S105,客户端与网关服务器之间使用所述加密解密方式进行通信。数据完整性校验采用循环冗余校验(CRC)方式,以进行最初步的校验,用于检测数据包在传输过程中是否有遭篡改或者丢失某些数据位。本专利技术中,针对网络数据除了完整性初步校验外还设置一层动态加密解密。例如,动态加解密机器码可以由网关服务器端预加载时候加载生成。动态加密解密方式统一由网关服务器生成对应机器码并推送给客户端,进而在客户端和网关服务器初次建立会话时候下发客户端生成客户端本地机器码,之后在下一次加密解密方法切换之前所有的客户端和网关服务器端之间通信都通过这对加密解密方法进行加解密。实现了加密解密算法的动态传递。客户端根据网关推送的机器码字节流生成客户端本地机器码。可以采用客户端将网关服务器推送过来的字节流转为本地机器码的方式实现加密解密函数功能。网关服务器可以随时随机切换并通知和某个客户端之间的加密解密方式从而达到迷惑破解者的目的。加密解密成对出现,且函数规格一致以保证可以任意切换。优选地,保证加密前的明文和加密后的密文长度一致。通信过程中的加密解密发生在客户端和网关服务器等外网通信过程中,网关服务器和内部服务器之间通信不需要密文通信,从而减少内部服务器通信过程中加密解密带来的开销。参考图2,图2是根据本申请的一个实施例的包头结构示意图。在数据传输方面,针对传输过程中由于网络或硬件以及黑客行为造成的不完整包,可以通过在包头部分设定固定字节数的固定数据桩来达到快速恢复数据传输的目的。图如2所示,举例而言,针对异常数据包情况的处理,可以设定固定数据桩(4个字节)用来恢复当前连接上由于数据错位导致的流数据错误。优选地,数据桩不小于4个字节,以免误杀。此外,优选地,可以将数据桩设定在包头最前面位置,将读取到的数据桩和预先设定的数值进行比较,如果相同则继续进行后续的处理,否则认为收到了错位数据,此时尝试每次向后移一个字节内容,直到读取到设定的固定数据桩或者超过尝试移动读取偏移的设定次数。如果读取到设定的固定数据桩,则直接恢复正常的解码(Decode)处理过程。如果超过尝试移动读取偏移的设定次数,则可以进行断开的操作。关于数据传输加密,现有的其他解决方案中,一般采用固定加密方式,甚至采用明文通信,针对数据校验其他解决方案一般也会采用冗余校验方式,但一般仅限于传输中的数据,而非针对存储的数据。本专利技术中,在数据存储方面,对于一些诸如玩家数据或者物品数据等对一致性要求高的敏感数据采用序列化存储方式直接二进制流,可以采用结构体方式,读取时候直接转换即可,提高效率,可以采用CRC等校验方式保证数据完整性。利用本专利技术给出的方案:针对网络数据除了完整性初步校验外还设置一层动态加密解密;实现加解密算法的动态传递;采用客户端直接使用网关服务器端生成机器码方式实现加密解密函数的功能实现;网关服务器可以随时随机推送加密解密方式到客户端。此外,对一致性要求高的敏感数据序列化一次存取。能够在不断当前连接情况下恢复正确的流数据传输。应当理解,上述实施例仅作为示例而非限制,本领域技术人员还可以构想更多其他类似方法来实现数据本文档来自技高网
...
一种实现数据安全性和完整性的方法和系统

【技术保护点】
一种实现数据安全性和完整性的方法,包括:客户端与网关服务器之间建立会话;所述网关服务器向所述客户端推送数据包的加密解密机器码,以确定动态加密解密方式;以及所述客户端与所述网关服务器之间使用所述加密解密方式进行通信。

【技术特征摘要】
1.一种实现数据安全性和完整性的方法,包括:客户端与网关服务器之间建立会话;所述网关服务器向所述客户端推送数据包的加密解密机器码,以确定动态加密解密方式;以及所述客户端与所述网关服务器之间使用所述加密解密方式进行通信。2.如权利要求1所述的方法,其特征在于:所述客户端根据所述网关服务器推送的加密解密机器码生成客户端本地机器码,所述网关服务器随时随机切换所述加密解密方式并通知所述客户端。3.如权利要求1所述的方法,其特征在于:所述加密解密机器码由所述网关服务器预加载时生成。4.如权利要求1所述的方法,其特征在于:所述网关服务器和内部服务器之间的通信不采用密文通信。5.如权利要求1所述的方法,其特征在于,所述方法还包括:设定固定数据桩用来恢复流数据错误。6.如权利要...

【专利技术属性】
技术研发人员:张在伟徐金良
申请(专利权)人:盛趣信息技术上海有限公司
类型:发明
国别省市:上海,31

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

1