基于登陆服务器的登陆链接方法及系统的制作方法

文档序号:8514617阅读:338来源:国知局
基于登陆服务器的登陆链接方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及基于登陆服务器的登陆链接方法及系统。
【背景技术】
[0002]手游研发商需要根据各家手游平台的登录规范,实现用户登录验证功能,一般步骤如下:
1.平台为了防止研发商得到用户的用户名和密码以及其他安全问题,会先让用户在平台提供的页面中输入用户名和密码登录,中间使用必要的SSl加密等手段确保安全传输,防止中间人监听等,用户会得到一个令牌(token),例如11814024959cb47eefl734bl5bc94c79984493a922b7c5c088,有些平台也会附带用户的id。
[0003]2.用户向游戏服务器发起连接,发送令牌(有些平台还要附带用户id),服务器调用平台的玩家认证接口,获取这个令牌所代表的用户的详细信息(或者验证用户id和令牌是否匹配),实现用户登录。
[0004]3.用户和游戏服务器开始正常通信。
[0005]但是在第2步中存在着如下冋题:
用户和游戏服务器之间的连接是不安全的,可能存在中间人截取到玩家发送给游戏服务器的令牌,替代玩家登录;也可能存在嗅探者,把玩家发送给游戏服务器的网络包重新发送给游戏服务器一次,替代玩家登录。
[0006]玩家断开连接时,不能要求玩家重新向平台输入用户名和密码,获取新令牌登陆;
玩家可能会自己录制下和游戏服务器之间所有的网络包,重复发送给游戏服务器,实现机器人效果。
[0007]玩家可能会篡改之后的网络通信包,如果预先将加密消息的密钥存在手机游戏客户端中,通过破解等手段获得密钥的风险很大。

【发明内容】

[0008]为了解决现有技术中的问题,本发明提供了一种基于登陆服务器的登陆链接方法。
[0009]本发明提供了一种基于登陆服务器的登陆链接方法,在登陆服务器中执行如下步骤:
接收步骤,登陆服务器接收客户端发送的加密后的登录消息login_message ;
解密步骤,登陆服务器收到登录消息loginjnessage后,使用非对称加密算法的私钥进行解密,获得令牌和随机字符串login_key,调用平台接口获得令牌代表的用户的详细信息 user_info ;
处理步骤,登陆服务器生成一串随机字符串key,再获取当前时间time ;用随机字符串internal_key作为密钥,使用对称加密算法加密user_info、key、time,获得secret ;用login_key作为密钥使用对称加密算法加密key、time,获得reply ;登录服务器将secret和reply发送给客户端;
在游戏服务器中执行如下步骤:
游戏服务器收到客户端发送的secret和login_message2后,使用internal_key解密 secret,获得 user_info 和 key 以及 time,用 key 解密 login_message2,判断 login_message2中解密得到的time是否和secret中的time相同,如果不同则登录失败,反之则成功;
其中,在登录消息login_message中包括令牌、客户端生成的一串随机字符串login_key,使用服务器的非对称加密算法的公钥加密令牌、随机字符串login_key ;
在该登陆链接方法中,客户端和游戏服务器所有的通信都使用随机字符串key作为密钥使用对称加密算法加密。
[0010]作为本发明的进一步改进,在游戏服务器还包括比较步骤,
在所述比较步骤中,游戏服务器从数据库中读取此用户上次成功登录的时间timeO,如果timeO大于或等于time,那么登录失败,反之则登录成功,并在数据库中将此用户上次成功登录时间设为time。
[0011 ] 作为本发明的进一步改进,在该登陆链接方法中,游戏服务器还执行如下步骤:判断步骤,游戏服务器接收客户端发送的消息序号sequence,判断当前消息序号sequence是否大于此条连接上一次发送的消息中的sequence,如果大于,则合法,不然则为非法消息。
[0012]作为本发明的进一步改进,客户端执行如下步骤:
生成加密步骤,客户端生成一串随机字符串l0gin_key,使用登陆服务器的非对称加密算法的公钥加密令牌、随机字符串login_key,获得加密后的登录消息login_message ;
发送步骤,客户端将登录消息login_message发送至服务器。
[0013]作为本发明的进一步改进,在客户端还包括执行如下步骤:
获取步骤,客户端使用自己生成加密步骤中生成的login_key解密reply,获得key和time,使用key作为密钥,使用对称加密算法算法加密time,获得login_message2,连接游戏服务器,发送secret和login_message20
[0014]本发明还提供了一种基于登陆服务器的登陆链接系统,在登陆服务器中包括: 接收模块,用于接收客户端发送的加密后的登录消息login_message ;
解密模块,登陆服务器收到登录消息loginjnessage后,使用非对称加密算法的私钥进行解密,获得令牌和随机字符串login_key,调用平台接口获得令牌代表的用户的详细信息 user_info ;
处理模块,登陆服务器生成一串随机字符串key,再获取当前时间time ;用随机字符串internal_key作为密钥,使用对称加密算法加密user_info、key、time,获得secret ;用login_key作为密钥使用对称加密算法加密key、time,获得reply ;登录服务器将secret和reply发送给客户端;
在游戏服务器中还包括:游戏服务器收到客户端发送的secret和login_message2后,使用 internal_key 解密 secret,获得user_info 和 key 以及 time,用 key 解密 login_message2,判断login_message2中解密得到的time是否和secret中的time相同,如果不同则登录失败,反之则成功;
其中,在登录消息login_message中包括令牌、客户端生成的一串随机字符串login_key,使用服务器的非对称加密算法的公钥加密令牌、随机字符串login_key ;
在该登陆链接方法中,客户端和游戏服务器所有的通信都使用随机字符串key作为密钥使用对称加密算法加密。
[0015]作为本发明的进一步改进,在游戏服务器还包括比较模块,
在所述比较模块中,游戏服务器从数据库中读取此用户上次成功登录的时间timeO,如果timeO大于或等于time,那么登录失败,反之则登录成功,并在数据库中将此用户上次成功登录时间设为time。
[0016]作为本发明的进一步改进,在该登陆链接系统中,游戏服务器还包括:
判断模块,游戏服务器接收客户端发送的消息序号sequence,判断当前消息序号sequence是否大于此条连接上一次发送的消息中的sequence,如果大于,则合法,不然则为非法消息。
[0017]作为本发明的进一步改进,客户端还包括:
生成加密模块,客户端生成一串随机字符串l0gin_key,使用登陆服务器的非对称加密算法的公钥加密令牌、随机字符串login_key,获得加密后的登录消息login_message ;
发送模块,客户端将登录消息login_message发送至服务器。
[0018]作为本发明的进一步改进,在客户端还包括:
获取步骤,客户端使用自己生成加密步骤中生成的login_key解密reply,获得key和time,使用key作为密钥,使用对称加密算法算法加密time,获得login_message2,连接游戏服务器,发送secret和login_message20
[0019]本发明的有益效果是:登录服务器完全不需要连接数据库,和游戏服务器完全剥离,且每个登录请求都是独立无状态的,登录服务器不需要知道这个用户上一次成功登录的时间,可以使用集群来负载均衡登录请求,而不会影响游戏服务器的性能。
【附图说明】
[0020]图1是本发明的方法流程图。
【具体实施方式】
[0021]本发明公开了一种基于登陆服务器的登陆链接方法,在该登陆链接方法中需要做如下准备工作:
选择一种安全的非对称加密算法(比如RSA),以下当作使用RSA ;
选择一种安全的对称加密算法(比如AES),以下当作使用AES ;
研发商的服务器分为登录服务器和游戏服务器,预先生成一对RSA公钥和私钥,公钥存在手机游戏客户端(以下简称客户端)中,对所有人开放。私钥存在登录服务器中,没有第三方能获得。
[0022]如图1所示,在本发明的登陆链接方法中,在登陆服务器中执行如下步骤:
接收步骤,登陆服务器接收客户端发送的加密后的登录消息login_message ;
解密步骤,登陆服务器收到登录消息loginjnessage后,使用非对称加密算法的私钥进行解
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1