CN111167122B - 一种基于wake算法的动态秘钥下发的加固方法及其系统 - Google Patents
一种基于wake算法的动态秘钥下发的加固方法及其系统 Download PDFInfo
- Publication number
- CN111167122B CN111167122B CN202010012337.XA CN202010012337A CN111167122B CN 111167122 B CN111167122 B CN 111167122B CN 202010012337 A CN202010012337 A CN 202010012337A CN 111167122 B CN111167122 B CN 111167122B
- Authority
- CN
- China
- Prior art keywords
- game
- authentication
- key
- data packet
- key table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/71—Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Abstract
本发明提供了一种基于wake算法的动态秘钥下发的加固方法,该方法为:1、游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,游戏认证时会随机产生一串子秘钥;通过主秘钥和子秘钥来生成秘钥表;2、游戏认证客户端发起第一次认证信息时,游戏秘钥认证服务端动态下发秘钥表;游戏认证客户端对秘钥表进行混淆操作;通过秘钥表对数据包进行加密,并发起第二次认证信息;3、游戏秘钥认证服务端接收到第二次认证的认证信息时:根据游戏认证客户端发送的数据包和第二次认证信息还原出混淆后的秘钥表,解密并校验第二次认证数据包中数据的有效性;本发明能防止客户端与游戏认证服务端通信时数据包被恶意拦截篡改或被逆向破译的情况。
Description
技术领域
本发明涉及计算机编程技术领域,特别是一种基于wake算法的动态秘钥下发的加固方法及其系统。
背景技术
WAKE算法(Word Auto Key Encryption)是英国剑桥大学计算机实验室的DavieJ.Wheeler提出的数据加密算法,WAKE被认为是最快的密码算法之一,加密一个字(32比特)大约20条指令。
现有的加固方式:使用wake (Word Auto Key Encryption)算法在游戏客户端进行数据包加密前需要填充秘钥生成秘钥表,执行加密、解密操作时会通过查找秘钥表在内存中映射的秘钥字段进行数据包的加密、解密操作。
现有的加固方式的缺点是:秘钥表生成在游戏客户端内存中,软件破坏者就可以通过逆向破解手段将秘钥表从内存中还原,根据秘钥生成算法可以逆向得出真实的秘钥;通过真实的秘钥可以解密所有玩家的数据包,可以拦截、篡改任意的数据包。
发明内容
为克服上述问题,本发明的目的是提供一种基于wake算法的动态秘钥下发的加固方法,能防止游戏认证客户端与游戏秘钥认证服务端通信时数据包被恶意拦截篡改或被逆向破译的情况。
本发明采用以下方案实现:一种基于wake算法的动态秘钥下发的加固方法,所述加固方法中设置有游戏秘钥认证服务端和游戏认证客户端,所述加固方法包括如下步骤:步骤S1、游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,游戏认证时会随机产生一串子秘钥;通过主秘钥和子秘钥来生成秘钥表;
步骤S2、游戏平台的游戏认证客户端发起第一次认证信息时,游戏秘钥认证服务端动态下发秘钥表;游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作;通过使用混淆后的秘钥表对数据包进行加密,并发起第二次认证信息;
步骤S3、游戏认证客户端通信过程中将数据包上传到游戏秘钥认证服务端,游戏秘钥认证服务端接收到第二次认证的认证信息时:根据游戏认证客户端发送的数据包和第二次认证信息还原出混淆后的秘钥表,解密并校验第二次认证数据包中数据的有效性。
进一步的,所述步骤S1中进一步具体为:游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,则android游戏平台和ios游戏平台最终会分别对应有一个秘钥表,其中秘钥表的生成方式为将主秘钥和子秘钥通过循环移位和异或运算后生成数组大小为256的秘钥表。
进一步的,第一次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳;所述游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作,具体为将游戏玩家固定标识和玩家登录游戏的时间戳进行与运算,计算后的结果对秘钥表按数组大小进行循环或运算从而实现混淆操作。
进一步的,第二次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳、游戏客户端版本号、玩家姓名、年龄、性别、以及身份证号。
进一步的,所述步骤S3进一步具体为:游戏秘钥认证服务端进行第二次认证时游戏秘钥认证服务端将之前下发给游戏认证客户端的秘钥表进行还原得出混淆后的秘钥表,通过还原出混淆后的秘钥表解密出游戏认证客户端第二次认证提交的数据包;数据包解密后开始验证数据包中的内容是否有效;当第二次认证的数据包校验结果有效,下发验证通过的指令消息给游戏认证客户端;当第二次认证的数据包校验结果无效,下发拒绝连接的指令消息给游戏认证客户端;当第二次认证的数据包解密失败,下发拒绝连接的指令消息给游戏认证客户端。
本发明还提供了一种基于wake算法的动态秘钥下发的加固系统,所述加固系统包括游戏秘钥认证服务端和游戏认证客户端,所述游戏秘钥认证服务端和游戏认证客户端通过互联网进行连接;
所述游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,游戏认证时会随机产生一串子秘钥;通过主秘钥和子秘钥来生成秘钥表;
游戏平台的游戏认证客户端发起第一次认证信息时,游戏秘钥认证服务端动态下发秘钥表;游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作;通过使用混淆后的秘钥表对数据包进行加密,并发起第二次认证信息;
游戏认证客户端通信过程中将数据包上传到游戏秘钥认证服务端,游戏秘钥认证服务端接收到第二次认证的认证信息时:根据游戏认证客户端发送的数据包和第二次认证信息还原出混淆后的秘钥表,解密并校验第二次认证数据包中数据的有效性。
进一步的,所述秘钥表生成的方式具体为:游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,则android游戏平台和ios游戏平台最终会分别对应有一个秘钥表,其中秘钥表为将主秘钥和子秘钥通过循环移位和异或运算后生成数组大小为256的秘钥表。
进一步的,第一次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳;所述游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作,具体为将游戏玩家固定标识和玩家登录游戏的时间戳进行与运算,计算后的结果对秘钥表按数组大小进行循环或运算从而实现混淆操作。
进一步的,第二次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳、游戏客户端版本号、玩家姓名、年龄、性别、以及身份证号。
进一步的,所述游戏秘钥认证服务端进行第二次认证的方式具体为:游戏秘钥认证服务端进行第二次认证时游戏秘钥认证服务端将之前下发给游戏认证客户端的秘钥表进行还原得出混淆后的秘钥表,通过还原出混淆后的秘钥表解密出游戏认证客户端第二次认证提交的数据包;数据包解密后开始验证数据包中的内容是否有效;当第二次认证的数据包校验结果有效,下发验证通过的指令消息给游戏认证客户端;当第二次认证的数据包校验结果无效,下发拒绝连接的指令消息给游戏认证客户端;当第二次认证的数据包解密失败,下发拒绝连接的指令消息给游戏认证客户端。
本发明的有益效果在于:本发明游戏认证的秘钥表是游戏秘钥认证服务端动态下发的,游戏认证客户端很难破译出秘钥表的生成过程;游戏认证客户端执行秘钥表混淆操作,大大增强秘钥表被破译的难度;android/ios平台的游戏客户端使用不同的主秘钥,无法通过android端还原出ios端的秘钥表,反之同理;相同平台每次认证都会随机得到一串子秘钥,子秘钥保证每次下发的秘钥表都是不同的,加强秘钥表的安全性也增大破译者的难度;最终即使秘钥表被破译,游戏秘钥认证服务端可以实现改变秘钥表生成的规则快速响应保护游戏,从而能防止游戏认证客户端与游戏秘钥认证服务端通信时数据包被恶意拦截篡改或被逆向破译的情况。
附图说明
图1是本发明的方法流程示意图。
图2是本发明游戏秘钥认证服务端执行的流程示意图。
图3是本发明游戏认证客户端执行的流程示意图。
图4是本发明的加固系统示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种基于wake算法的动态秘钥下发的加固方法,所述加固方法中设置有游戏秘钥认证服务端和游戏认证客户端,所述加固方法包括如下步骤:步骤S1、游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,每次游戏认证时会随机产生一串子秘钥;通过主秘钥和子秘钥来生成秘钥表;所述步骤S1中进一步具体为:游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,则android游戏平台和ios游戏平台最终会分别对应有一个秘钥表,其中秘钥表的生成方式为将主秘钥和子秘钥通过循环移位和异或运算后生成数组大小为256的秘钥表。
步骤S2、游戏平台的游戏认证客户端发起第一次认证信息时,游戏秘钥认证服务端动态下发秘钥表;游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作;通过使用混淆后的秘钥表对数据包进行加密,并发起第二次认证信息;第一次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳;所述游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作,具体为将游戏玩家固定标识和玩家登录游戏的时间戳进行与运算,计算后的结果对秘钥表按数组大小进行循环或运算从而实现混淆操作。玩家的固定标识指的是玩家账号ID。
步骤S3、游戏认证客户端通信过程中将数据包上传到游戏秘钥认证服务端,游戏秘钥认证服务端接收到第二次认证的认证信息时:根据游戏认证客户端发送的数据包和第二次认证信息还原出混淆后的秘钥表,解密并校验第二次认证数据包中数据的有效性。第二次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳、游戏客户端版本号、玩家姓名、年龄、性别、以及身份证号。其中,步骤S1-S3中秘钥表的生成、游戏认证客户端加密数据包的算法、游戏秘钥认证服务端解密数据包的算法,都是基于wake算法的原理进行演变,如:秘钥表的生成就是在原有wake算法中增加主秘钥和子秘钥进行实现,而加密算法和解密算法是依赖秘钥表进行加解密。
所述步骤S3进一步具体为:游戏秘钥认证服务端进行第二次认证时游戏秘钥认证服务端将之前下发给游戏认证客户端的秘钥表进行还原得出混淆后的秘钥表,通过还原出混淆后的秘钥表解密出游戏认证客户端第二次认证提交的数据包;数据包解密后开始验证数据包中的内容是否有效;当第二次认证的数据包校验结果有效,下发验证通过的指令消息给游戏认证客户端;当第二次认证的数据包校验结果无效,下发拒绝连接的指令消息给游戏认证客户端;当第二次认证的数据包解密失败,下发拒绝连接的指令消息给游戏认证客户端。有效指数据包能够解密成功,并且存在有效的实名认证信息;无效指的是:1、数据包解密失败;2、数据包解密成功,但是不存在有效的实名认证信息:如姓名/身份证号等。
参阅图2所示,游戏秘钥认证服务端包括:用于生成秘钥表、游戏数据包校验、数据通信的游戏秘钥认证服务端程序;
a2.1、当游戏认证客户端发起第一次认证消息时:根据游戏认证客户端请求的信息动态生成秘钥表,下发给游戏客户端;
a2.2、当游戏认证客户端发起第二次认证消息时:根据游戏认证客户端发送的数据包和认证信息对秘钥表进行混淆操作,解密并校验第二次认证数据包中的内容是否合法;
a2.3、当第二次认证的数据包校验结果合法,下发验证通过的指令消息;
a2.4、当第二次认证的数据包校验结果不合法,下发拒绝连接的指令消息;
a2.5、当第二次认证的数据包解密失败,下发拒绝连接的指令消息。
参阅图3所示,游戏认证客户端:用于加密数据包并与游戏秘钥认证服务器进行通信的程序;
a3.1、游戏认证客户端向游戏秘钥认证服务端发送第一个认证消息包;
a3.2、根据第一个认证包的内容,执行秘钥表混淆操作;
a3.3、通过秘钥表对数据包进行加密操作,发送第二个认证数据消息包;
a3.5、当接收到第二个认证消息结果为校验通过的指令消息时,游戏玩家既可登录游戏;
a3.6、当接收到第二个认证消息结果为拒绝连接的指令消息时,游戏玩家需重新认证。
请参阅图4所示,本发明还提供了一种基于wake算法的动态秘钥下发的加固系统,所述加固系统包括游戏秘钥认证服务端和游戏认证客户端,所述游戏秘钥认证服务端和游戏认证客户端通过互联网进行连接;
所述游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,游戏认证时会随机产生一串子秘钥;通过主秘钥和子秘钥来生成秘钥表;
游戏平台的游戏认证客户端发起第一次认证信息时,游戏秘钥认证服务端动态下发秘钥表;游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作;通过使用混淆后的秘钥表对数据包进行加密,并发起第二次认证信息;
游戏认证客户端通信过程中将数据包上传到游戏秘钥认证服务端,游戏秘钥认证服务端接收到第二次认证的认证信息时:根据游戏认证客户端发送的数据包和第二次认证信息还原出混淆后的秘钥表,解密并校验第二次认证数据包中数据的有效性。秘钥表是通过游戏秘钥认证服务端第一次接收到认证消息时下发给游戏认证客户端的,游戏认证客户端发起第二次数据包认证前会对第一次下发的秘钥表进行混淆,生成混淆后的秘钥表后会用混淆后的秘钥表进行第二次认证数据包的加密工作,接着发起第二次数据包认证。
所述秘钥表生成的方式具体为:游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,则android游戏平台和ios游戏平台最终会分别对应有一个秘钥表,其中秘钥表为将主秘钥和子秘钥通过循环移位和异或运算后生成数组大小为256的秘钥表。
第一次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳;所述游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作,具体为将游戏玩家固定标识和玩家登录游戏的时间戳进行与运算,计算后的结果对秘钥表按数组大小进行循环或运算从而实现混淆操作。
第二次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳、游戏客户端版本号、玩家姓名、年龄、性别、以及身份证号。
所述游戏秘钥认证服务端进行第二次认证的方式具体为:游戏秘钥认证服务端进行第二次认证时游戏秘钥认证服务端将之前下发给游戏认证客户端的秘钥表进行还原得出混淆后的秘钥表,通过还原出混淆后的秘钥表解密出游戏认证客户端第二次认证提交的数据包;数据包解密后开始验证数据包中的内容是否有效;当第二次认证的数据包校验结果有效,下发验证通过的指令消息给游戏认证客户端;当第二次认证的数据包校验结果无效,下发拒绝连接的指令消息给游戏认证客户端;当第二次认证的数据包解密失败,下发拒绝连接的指令消息给游戏认证客户端。有效指数据包能够解密成功,并且存在有效的实名认证信息;无效指的是:1、数据包解密失败;2、数据包解密成功,但是不存在有效的实名认证信息:如姓名/身份证号等。
本发明的应用场景如下:
玩家小米是游戏逆向者,想要破解“魔域”游戏的认证数据包:
1、小米启动游戏时游戏秘钥认证服务端下发秘钥表;
2、小米开启调试软件截获秘钥表,伪造第二次认证数据包,游戏秘钥认证服务端下发拒绝连接的指令消息;
3、小米发现认证方法改变了,开始逆向游戏认证客户端,发现秘钥生成方式不同以往的情况;
4、小米继续研究游戏认证客户端,改变思路多次尝试后发现秘钥表每次请求都是不同的而且没有规律可循;
5、小米几经周折后发现秘钥表是动态下发生成的,无法更改;
6、小米放弃上述思路,想直接调用游戏认证客户端的接口批量伪造第二次认证数据包,但是无法逆向出秘钥表的混淆机制,游戏秘钥认证服务端每次都是下发拒绝连接的指令消息;
7、小米尝试不同平台的游戏认证客户端尝试逆向工作,发现不同平台的秘钥表也是不同无法深入破译;
8、小米无法像之前一样解出真实的秘钥,工作室的所有工作设备都无法使用秘钥批量伪造包进行工作。
总之,本发明游戏认证的秘钥表是游戏秘钥认证服务端动态下发的,游戏认证客户端很难破译出秘钥表的生成过程;游戏认证客户端执行秘钥表混淆操作,大大增强秘钥表被破译的难度;android/ios平台的游戏客户端使用不同的主秘钥,无法通过android端还原出ios端的秘钥表,反之同理;相同平台每次认证都会随机得到一串子秘钥,子秘钥保证每次下发的秘钥表都是不同的,加强秘钥表的安全性也增大破译者的难度;最终即使秘钥表被破译,游戏秘钥认证服务端可以实现改变秘钥表生成的规则快速响应保护游戏,从而能防止游戏认证客户端与游戏秘钥认证服务端通信时数据包被恶意拦截篡改或被逆向破译的情况。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (8)
1.一种基于wake算法的动态秘钥下发的加固方法,其特征在于:所述加固方法中设置有游戏秘钥认证服务端和游戏认证客户端,所述加固方法包括如下步骤:步骤S1、游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,游戏认证时会随机产生一串子秘钥;通过主秘钥和子秘钥来生成秘钥表;
步骤S2、游戏平台的游戏认证客户端发起第一次认证信息时,游戏秘钥认证服务端动态下发秘钥表;游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作;通过使用混淆后的秘钥表对数据包进行加密,并发起第二次认证信息;
步骤S3、游戏认证客户端通信过程中将数据包上传到游戏秘钥认证服务端,游戏秘钥认证服务端接收到第二次认证的认证信息时:根据游戏认证客户端发送的数据包和第二次认证信息还原出混淆后的秘钥表,解密并校验第二次认证数据包中数据的有效性;第一次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳;所述游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作,具体为将游戏玩家固定标识和玩家登录游戏的时间戳进行与运算,计算后的结果对秘钥表按数组大小进行循环或运算从而实现混淆操作。
2.根据权利要求1所述的一种基于wake算法的动态秘钥下发的加固方法,其特征在于:所述步骤S1中进一步具体为:游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,则android游戏平台和ios游戏平台最终会分别对应有一个秘钥表,其中秘钥表的生成方式为将主秘钥和子秘钥通过循环移位和异或运算后生成数组大小为256的秘钥表。
3.根据权利要求1所述的一种基于wake算法的动态秘钥下发的加固方法,其特征在于:第二次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳、游戏客户端版本号、玩家姓名、年龄、性别、以及身份证号。
4.根据权利要求1所述的一种基于wake算法的动态秘钥下发的加固方法,其特征在于:所述步骤S3进一步具体为:游戏秘钥认证服务端进行第二次认证时游戏秘钥认证服务端将之前下发给游戏认证客户端的秘钥表进行还原得出混淆后的秘钥表,通过还原出混淆后的秘钥表解密出游戏认证客户端第二次认证提交的数据包;数据包解密后开始验证数据包中的内容是否有效;当第二次认证的数据包校验结果有效,下发验证通过的指令消息给游戏认证客户端;当第二次认证的数据包校验结果无效,下发拒绝连接的指令消息给游戏认证客户端;当第二次认证的数据包解密失败,下发拒绝连接的指令消息给游戏认证客户端。
5.一种基于wake算法的动态秘钥下发的加固系统,其特征在于:所述加固系统包括游戏秘钥认证服务端和游戏认证客户端,所述游戏秘钥认证服务端和游戏认证客户端通过互联网进行连接;
所述游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,游戏认证时会随机产生一串子秘钥;通过主秘钥和子秘钥来生成秘钥表;
游戏平台的游戏认证客户端发起第一次认证信息时,游戏秘钥认证服务端动态下发秘钥表;游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作;通过使用混淆后的秘钥表对数据包进行加密,并发起第二次认证信息;
游戏认证客户端通信过程中将数据包上传到游戏秘钥认证服务端,游戏秘钥认证服务端接收到第二次认证的认证信息时:根据游戏认证客户端发送的数据包和第二次认证信息还原出混淆后的秘钥表,解密并校验第二次认证数据包中数据的有效性;
第一次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳;所述游戏认证客户端根据秘钥表、游戏玩家固定标识、玩家登录游戏的时间戳对秘钥表进行混淆操作,具体为将游戏玩家固定标识和玩家登录游戏的时间戳进行与运算,计算后的结果对秘钥表按数组大小进行循环或运算从而实现混淆操作。
6.根据权利要求5所述的一种基于wake算法的动态秘钥下发的加固系统,其特征在于:所述秘钥表生成的方式具体为:游戏秘钥认证服务端对android/ios游戏平台分别对应生成一个固定不变的主秘钥,则android游戏平台和ios游戏平台最终会分别对应有一个秘钥表,其中秘钥表为将主秘钥和子秘钥通过循环移位和异或运算后生成数组大小为256的秘钥表。
7.根据权利要求5所述的一种基于wake算法的动态秘钥下发的加固系统,其特征在于:第二次认证时的认证信息包括:游戏玩家固定标识、账号名、玩家登录时的游戏平台、玩家登录游戏的时间戳、游戏客户端版本号、玩家姓名、年龄、性别、以及身份证号。
8.根据权利要求5所述的一种基于wake算法的动态秘钥下发的加固系统,其特征在于:所述游戏秘钥认证服务端进行第二次认证的方式具体为:游戏秘钥认证服务端进行第二次认证时游戏秘钥认证服务端将之前下发给游戏认证客户端的秘钥表进行还原得出混淆后的秘钥表,通过还原出混淆后的秘钥表解密出游戏认证客户端第二次认证提交的数据包;数据包解密后开始验证数据包中的内容是否有效;当第二次认证的数据包校验结果有效,下发验证通过的指令消息给游戏认证客户端;当第二次认证的数据包校验结果无效,下发拒绝连接的指令消息给游戏认证客户端;当第二次认证的数据包解密失败,下发拒绝连接的指令消息给游戏认证客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010012337.XA CN111167122B (zh) | 2020-01-07 | 2020-01-07 | 一种基于wake算法的动态秘钥下发的加固方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010012337.XA CN111167122B (zh) | 2020-01-07 | 2020-01-07 | 一种基于wake算法的动态秘钥下发的加固方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111167122A CN111167122A (zh) | 2020-05-19 |
CN111167122B true CN111167122B (zh) | 2023-09-08 |
Family
ID=70620141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010012337.XA Active CN111167122B (zh) | 2020-01-07 | 2020-01-07 | 一种基于wake算法的动态秘钥下发的加固方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111167122B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003069561A (ja) * | 2001-08-24 | 2003-03-07 | Sanyo Electric Co Ltd | 利用者認証システム |
CN101256700A (zh) * | 2008-03-31 | 2008-09-03 | 浙江大学城市学院 | 一种混合型用户身份认证的自动取款机 |
CN106330464A (zh) * | 2016-10-26 | 2017-01-11 | 上海众人网络安全技术有限公司 | 一种身份认证方法、设备及系统 |
CN106911471A (zh) * | 2017-02-22 | 2017-06-30 | 华东师范大学 | 车载网中密码混淆区建立的方法 |
CN108768624A (zh) * | 2018-04-26 | 2018-11-06 | 宁波大学科学技术学院 | 一种基于Camellia算法的防御逆向工程加密方法 |
CN108809637A (zh) * | 2018-05-02 | 2018-11-13 | 西南交通大学 | 基于混合密码的lte-r车-地通信非接入层认证密钥协商方法 |
CN108964886A (zh) * | 2018-05-04 | 2018-12-07 | 霍尼韦尔环境自控产品(天津)有限公司 | 包含加密算法的通信方法、包含解密算法的通信方法及设备 |
-
2020
- 2020-01-07 CN CN202010012337.XA patent/CN111167122B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003069561A (ja) * | 2001-08-24 | 2003-03-07 | Sanyo Electric Co Ltd | 利用者認証システム |
CN101256700A (zh) * | 2008-03-31 | 2008-09-03 | 浙江大学城市学院 | 一种混合型用户身份认证的自动取款机 |
CN106330464A (zh) * | 2016-10-26 | 2017-01-11 | 上海众人网络安全技术有限公司 | 一种身份认证方法、设备及系统 |
CN106911471A (zh) * | 2017-02-22 | 2017-06-30 | 华东师范大学 | 车载网中密码混淆区建立的方法 |
CN108768624A (zh) * | 2018-04-26 | 2018-11-06 | 宁波大学科学技术学院 | 一种基于Camellia算法的防御逆向工程加密方法 |
CN108809637A (zh) * | 2018-05-02 | 2018-11-13 | 西南交通大学 | 基于混合密码的lte-r车-地通信非接入层认证密钥协商方法 |
CN108964886A (zh) * | 2018-05-04 | 2018-12-07 | 霍尼韦尔环境自控产品(天津)有限公司 | 包含加密算法的通信方法、包含解密算法的通信方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111167122A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108023874B (zh) | 单点登录的校验装置、方法及计算机可读存储介质 | |
CN101051904B (zh) | 一种保护网络应用程序使用账号密码进行登录的方法 | |
US6976162B1 (en) | Platform and method for establishing provable identities while maintaining privacy | |
TWI489315B (zh) | 用於電子裝置之暫時安全開機流程之系統與方法 | |
US7681037B2 (en) | Network connection system | |
CN112000975B (zh) | 一种密钥管理系统 | |
WO2020000786A1 (zh) | 一种投票方法、装置、计算机设备及计算机可读存储介质 | |
TWI420339B (zh) | 軟體授權系統及方法 | |
US7693286B2 (en) | Method of delivering direct proof private keys in signed groups to devices using a distribution CD | |
CN109714176B (zh) | 口令认证方法、装置及存储介质 | |
CN105471833A (zh) | 一种安全通讯方法和装置 | |
CN106372497B (zh) | 一种应用编程接口api保护方法和保护装置 | |
CN109033808B (zh) | 一种体验游戏的方法及账号服务端 | |
CN109684129B (zh) | 数据备份恢复方法、存储介质、加密机、客户端和服务器 | |
US20220245631A1 (en) | Authentication method and apparatus of biometric payment device, computer device, and storage medium | |
CN101539977B (zh) | 一种计算机软件保护方法 | |
CN114244508A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN104767766A (zh) | 一种Web Service接口验证方法、Web Service服务器、客户端 | |
CN101924734A (zh) | 一种基于Web表单的身份认证方法及认证装置 | |
CN111639357A (zh) | 一种加密网盘系统及其认证方法和装置 | |
CN105191332B (zh) | 用于在未压缩的视频数据中嵌入水印的方法和设备 | |
CN110611679A (zh) | 一种数据传输方法、装置、设备及系统 | |
JP4998314B2 (ja) | 通信制御方法および通信制御プログラム | |
JP2005012466A (ja) | メッセージ認証方法及びメッセージ認証システム | |
CN101539978B (zh) | 基于空间的软件保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |