一种推送认证的系统和设备的工作方法_2

文档序号:8322272阅读:来源:国知局
>[0061]步骤116:应用界面接收到认证成功信息后,允许用户访问应用,结束。
[0062]实施例2
[0063]本发明实施例2提供一种推送认证系统的工作方法,应用于包括应用界面、应用服务器、认证服务器和移动终端令牌组成的系统中,如图2、图3和图4所示,包括:
[0064]步骤201:应用界面接收用户输入的用户信息,包括用户名和密码;
[0065]其中,用户信息可以为用户名,也可以为用户名和密码,本实施例以用户信息为用户名和密码为例来说明;
[0066]例如,用户信息包括:用户名:abc@test.com,密码:168408afag。
[0067]步骤202:应用界面将用户名和密码发送至应用服务器。
[0068]步骤203:应用服务器判断接收到的用户名和密码是否正确,如果是,则执行步骤206,否则执行步骤204 ;
[0069]具体包括,应用服务器判断从应用服务器存储区中是否能够获取与接收到的用户名对应的用户信息,如果能够获取到,则判断用户信息中的密码与接收到的密码是否相同,如果是,则用户名和密码正确,否则用户名和密码不正确,执行步骤204,如果不能够获取到,则向应用界面返回用户名不正确响应。
[0070]步骤204:应用服务器向应用界面返回用户信息不正确响应。
[0071]步骤205:应用界面接收到用户信息不正确响应后,输出用户信息不正确的提示信息,结束;
[0072]本实施例中,步骤205之前还包括:初始化验证次数;本步骤中,当接收到用户信息不正确响应时,还包括:更新验证次数,判断更新后的验证次数是否达到预设次数,如果是,则报错,结束,否则返回步骤201 ;其中,验证次数的初值为0,更新验证次数优选是将验证次数自加I,预设次数优选为3次;
[0073]进一步地,本实施例中,应用界面输出用户信息不正确的提示信息之后,还可以包括输出提示重新输入用户信息,等待接收用户输入的用户信息,返回步骤201。
[0074]步骤206:应用服务器根据用户名和内部保存的应用标识生成认证请求;
[0075]本步骤还可以包括:应用服务器应用第一预设协商密钥对认证请求进行加密,得到认证请求密文;
[0076]其中,应用第一预设协商密钥对认证请求进行加密,具体为:客户端应用预设加密算法,根据第一预设协商密钥对认证请求进行加密;优选的,预设加密算法为DES算法,除此之外还可以为RSA算法等;
[0077]例如,应用界面为WEBSDK登录界面,对应的应用标识为yiwnzh-ajg。
[0078]步骤207:应用服务器将认证请求发送至认证服务器;
[0079]本步骤具体为:应用服务器将认证请求发送至认证代理,认证代理接收到认证请求后,将认证请求转发至认证服务器;
[0080]还可以为:应用服务器将认证请求密文发送至认证代理,认证代理接收到认证请求密文后,将认证请求密文转发至认证服务器。
[0081]步骤208:认证服务器接收到认证请求后,获取认证请求中的用户名和应用标识;
[0082]本步骤还可以为:认证服务器接收到认证请求密文后,根据第一预设协商密钥对认证请求密文进行解密,得到认证请求,获取认证请求中的用户名和应用标识;
[0083]其中,根据第一预设协商密钥对认证请求密文进行解密,具体为:认证服务器应用预设解密算法,根据第一预设协商密钥对认证请求密文进行解密;优选的,预设解密算法为DES算法,除此之外还可以为RSA算法等。
[0084]步骤209:认证服务器根据用户名从服务器存储区中获取对应的令牌信息和网络数据链路;
[0085]本实施例中,认证服务器从认证请求中获取用户名之后,还包括:判断从服务器存储区中是否能够找到与用户名对应的用户记录,如果是,则继续,否则向应用服务器返回用户未注册信息;
[0086]本实施例中,服务器存储区中保存的用户记录包括:用户名、服务器种子密钥、应用名称和令牌信息,其中,令牌信息包括令牌标识码、令牌序列号、移动终端操作系统。
[0087]步骤210:认证服务器根据应用标识,从服务器存储区中获取对应的应用名称;
[0088]本步骤还包括:判断从服务器存储区中是否能够找到与应用标识对应的应用名称,如果是,则继续,否则向应用服务器返回应用未注册信息;
[0089]步骤211:认证服务器生成预设长度的挑战值,与用户信息建立关联并保存至服务器存储区中;
[0090]优选的,预设长度为6位十进制数据;
[0091]本实施例中,生成挑战值可以为调用随机数生成函数生成随机数,将随机数作为挑战值,也可以为:根据用户名从服务器存储区中获取对应的服务器种子密钥,对服务器种子密钥进行计算,生成挑战值;
[0092]其中,对服务器种子密钥进行计算,生成挑战值,具体为:应用预设算法对服务器种子密钥进行计算,生成长度为6位的十进制的挑战值,优选的,预设算法为SM3算法,还可以为OATH算法等;
[0093]例如,生成的挑战值为308962 ;
[0094]本实施例中,步骤209、步骤210和步骤211无先后顺序,可同时执行。
[0095]步骤212:认证服务器获取服务器时间,根据挑战值、令牌信息、用户信息和应用名称生成推送认证请求;
[0096]本步骤还可以包括:认证服务器应用第二预设协商密钥对推送认证请求进行加密,得到推送认证请求密文;
[0097]本步骤中,还可以为:认证服务器从服务器存储区中获取令牌标识码,应用令牌标识码对挑战值进行加密,得到挑战值密文,根据挑战值密文、令牌信息、用户信息和应用名称生成推送认证请求;
[0098]其中,应用第二预设协商密钥对推送认证请求进行加密,具体为:应用预设加密算法,根据第二预设协商密钥对推送认证请求进行加密;优选的,预设加密算法为DES算法,除此之外还可以为RSA算法等;
[0099]本步骤之前还包括:认证服务器调用随机数生成函数,生成第一随机数,将第一随机数作为认证请求ID,与用户信息建立关联并保存至服务器存储区中;
[0100]进一步的,还包括:认证服务器获取当前服务器时间,将当前服务器时间作为认证请求ID的生成时间保存至服务器存储区中;
[0101]例如,认证服务器生成的认证请求ID为:
[0102]02c0e8b4-bel9-49f6-aab6-273b38522cea ;
[0103]认证请求ID的生成时间为1419325026 ;
[0104]则,所述根据挑战值、令牌信息、用户信息和应用名称生成推送认证请求,具体为:根据挑战值、令牌信息、用户信息、应用名称和认证请求ID生成推送认证请求;
[0105]例如,生成的推送认证请求为:
[0106]{"appname": "WEBSDK", "challenge": "308962",〃pushtype": " I ","reqicT:"02c0e8b4-bel9-49f6-aab6-273b38522cea","time":"1419325027","token":"1000000003","userid":"abcOtest.com"};
[0107]加密后得到的推送认证请求密文为:
[0108]{〃data〃:〃a539f8d217b3c05cb5a5340c7b8c8842bcfcace3180c6da9f595015a087Cl612e39110fc2e75debc3e435e974a2d7907fa50df880b26ce9ecfled4988c9blc5ad3d00d4-942efcd06f83df5624b35769c00f770fd2bb4ada37e0b9clac74513efle83fc519cb88a66651a875e7423ed4ff7aa546c07bc96251683d617ec8cf03f007f3287352646ee92edcfd08dced63cd916018ea7596a3b2ccd44f958a6e2245a6dc863230dl940333430703a798eef//, 〃mac〃:〃3531eIc344107efdlbee06dac2cl5f9f71467a3f〃}。
[0109]步骤213:认证服务器根据令牌信息中的令牌序列号查找对应的移动终端令牌;
[0110]具体的,认证服务器根据用户名获取对应的令牌序列号,根据令牌序列号获取到对应的网络数据链路,根据网络数据链路查找到对应的移动终端令牌。
[0111]步骤214:认证服务器通过网络数据链路将推送认证请求推送至该移动终端令牌;
[0112]本步骤还可以为:认证服务器通过网络数据链路将推送认证请求密文推送至该移动终端令牌。
[0113]步骤215:移动终端令牌接收到推送认证请求后,从推送认证请求中获取用户名和应用名称,并获取令牌当前时间;
[0114]本步骤之前还包括:移动终端令牌接收到推送认证密文后,应用第二预设协商密钥对推送认证请求密文进行解密,得到推送认证请求;
[0115]具体的,应用第二预设协商密钥对推送认证请求密文进行解密,具体为:认证服务器应用预设解密算法,根据第二预设协商密钥对推送认证请求密文进行解密;优选的,预设解密算法为DES算法,除此之外还可以为RSA算法等。
[0116]步骤216:移动终端令牌根据用户信息、应用名称和令牌当前时间对预设格式进行填充,得到登录信息;
[0117]本实施例中,预设格式为:
[0118]亲爱的XXX(用户名)
[0119]您的账号于XXX(令牌当前时间)登录XXX(应用名称)
[0120]请确保是您本人的操作,否则请拒绝
[0121]是否
[0122]步骤217:移动终端令牌显示登录信息,并接收用户对登录信息的选择,当用户选择确认登录时,执行步骤219,当用户选择取消登录时,执行步骤218 ;
[0123]例如,移动终端令牌显示的登录信息为:
[0124]亲爱的abcOtest.com
[0125]您的账号于2014年12月25日10:50:35登录WEBSDK
[0126]请确保是您本人的操作,否则请拒绝
[0127]是否
[0128]本步骤还包括:当未接收到用户选择时,向认证服务器返回超时响应,认证服务器将超时响应发送至应用服务器,应用服务器将超时响应发送至应用界面,应用界面显示超时信息
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1