安全自动登录方法及装置与流程
未命名
10-21
阅读:89
评论:0
1.本发明涉及通信领域,尤其涉及自动登录技术,特别是一种安全自动登录方法及装置。
背景技术:
2.自动登录是互联网、物联网、车联网领域普遍的需求。一般在终端本地加密保存用户名和密码来实现,但是这种方式安全性往往不够,一旦保存的用户名密码被窃取,后果不堪设想。这种实现方式也不适合短信验证码等登录形式。较安全的方案是用服务器端下发的令牌来自动登录,登录成功后终端保存服务器端下发的令牌,下次发送令牌即可登录。不少解决方案用了令牌,但一般都是固定的令牌,令牌如果被窃取也会让用户被冒名登录;只要黑客伪造了所有的客户端请求数据,就可能在用户无感知的情况下冒名登录,安全隐患也是极大的。更安全的方案是每次自动登录成功后,服务器重新下发令牌来替换终端的令牌,老令牌则失效。这样,万一黑客盗取了终端保存的令牌,并自动登录成功,真正的用户会发现终端保存的自动登录令牌失效,而察觉异常,并可以立即以用户名密码等方式登录成功,造成黑客窃取的令牌失效。
3.每次替换令牌的安全性是较高的,但有一个问题。万一网络出现故障,服务器端已经处理自动登录完成,下发替换的令牌时,终端却未能成功获取,那终端只有之前保存的已失效的老令牌,自动登录就失效了。尤其在移动网络、车机网络等不稳定的网络环境,出现这样情况的概率还是挺高的,会造成较高的自动登录失效率,影响用户感受。
技术实现要素:
4.本发明的目的在于提供一种安全自动登录方法及装置,用于解决现有技术中自动登录不安全的问题。
5.第一方面,本发明提供一种安全自动登录方法,包括以下步骤:在客户端首次手动登录服务器端之后,所述服务器端将当前登录的用户id信息存入数据库,并发送密钥至所述客户端,所述客户端对应保存所述用户id信息和所述密钥;所述客户端将本地保存的第一自动登录数字设置为x,所述服务器端将所述数据库中保存的第二自动登录数字设置为y,其中,x=y;所述客户端在确定本地保存所述密钥和所述用户id信息之后启动自动登录,更新本地保存的所述第一自动登录数字,并通过所述密钥对更新后的所述第一自动登录数字进行加密后生成自动登录令牌,将所述自动登录令牌和所述用户id信息发送至所述服务器端,其中,更新后的所述第一自动登录数字大于更新前的所述第一自动登录数字;所述服务器端在接收到所述自动登录令牌和所述用户id信息之后,从所述数据库中调用所述密钥对所述自动登录令牌进行解密;在解密成功之后得到解密数字,比较所述解密数字与所述数据库中保存的所述第二自动登录数字的大小,在确定所述解密数字大于所述第二自动登录数字之后自动登录成功之后,并将所述数据库中的所述第二自动登录数字更新为所述解密数字。
6.于第一方面的一实现方式中,在确定所述解密数字等于或者小于所述第二自动登录数字之后,所述服务器端将所述用户id信息对应的所述密钥设置为失效状态,并反馈所述客户端此次登录失败,并且所述客户端下一次登录过程为手动登录。
7.于第一方面的一实现方式中,更新后的所述第一自动登录数字z与更新前的所述第一自动登录数字x满足如下条件:z=x+1。
8.于第一方面的一实现方式中,所述密钥对应的加密算法为非对称加密算法,所述客户端保存的密钥为公钥,所述服务器端的所述数据库中保存的密钥为所述公钥对应的私钥。
9.于第一方面的一实现方式中,所述方法还包括在对所述自动登录令牌解密失败之后,所述服务器端发送登录失败信息至所述客户端,并保持所述数据库中的数据不变。
10.第二方面,本发明还提供了一种安全自动登录装置,包括:客户端和服务器端;其中,所述服务器端用于在所述客户端首次登录服务器端之后,将当前登录的用户id信息存入数据库,并发送密钥至所述客户端,并将所述数据库中保存的第二自动登录数字设置为y,所述客户端用于对应保存所述用户id信息和所述密钥,并将本地保存的第一自动登录数字设置为x,其中,x=y;所述客户端还用于在确定本地保存所述密钥和所述用户id信息之后启动自动登录,更新本地保存的所述第一自动登录数字,并通过所述密钥对更新后的所述第一自动登录数字进行加密后生成自动登录令牌,并将所述自动登录令牌和所述用户id信息发送至所述服务器端,其中,更新后的所述第一自动登录数字大于更新前的所述第一自动登录数字;所述服务器端还用于在接收到所述自动登录令牌和所述用户id信息之后,从所述数据库中调用所述密钥对所述自动登录令牌进行解密,并在解密成功之后得到解密数字,比较所述解密数字与所述数据库中保存的所述第二自动登录数字的大小,在确定所述解密数字大于所述第二自动登录数字之后确定自动登录成功,并将所述数据库中的所述第二自动登录数字更新为所述解密数字。
11.于第二方面的一实现方式中,所述服务器端还用于在确定所述解密数字等于或者小于所述第二自动登录数字之后,将所述用户id信息对应的所述密钥设置为失效状态,并反馈所述客户端此次登录失败。
12.于第二方面的一实现方式中,所述密钥对应的加密算法为非对称加密算法,所述客户端保存的密钥为公钥,所述服务器端的所述数据库中保存的密钥为所述公钥对应的私钥。
13.如上所述,本发明所述的安全自动登录方法及装置,具有以下有益效果:
14.与现有技术相比,本发明的安全自动登录方法,在正常情况下,客户端保存的密钥不失效,第一自动登录数字更新增大后形成大于第二自动登录数字的数字,保证每一次自动登录均能成功,如果因网络不稳定,服务器端不能返回登录结果,也不影响下次网络顺利时第一自动登录数字再次更新来实现自动登录,即使被黑客入侵客户端后获取了密钥,并且黑客也了解使用的加密算法,并设置较大的数字以确保自动登录成功,伪造所有的客户端请求数据进行冒名登录,则用户终端保存的第一自动登录数字比黑客使用的小,在仍然没有大于服务器端保存的第二自动登录数字时会造成自动登录失败,密钥失效,使得用户只能重新手动登录,以便于在出现自动登录失败的情况时使得密钥立即失效,及时阻止黑客的后续动作,用户也可以仔细排查终端的安全问题,提高了自动登录过程的安全性。
附图说明
15.图1显示为本发明的安全自动登录方法于一实施例中的流程图。
16.图2显示为本发明的安全自动登录装置中客户端和服务器端于一实施例中的交互示意图。
17.图3显示为本发明的客户端手动登录于一实施例中的过程示意图。
18.图4显示为本发明的客户端自动登录于一实施例中的过程示意图。
具体实施方式
19.以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
20.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
21.参阅图1至图4。本发明的安全自动登录方法及装置,在正常情况下,客户端保存的密钥不失效,第一自动登录数字更新增大后形成大于第二自动登录数字的数字,保证每一次自动登录均能成功,如果因网络不稳定,服务器端不能返回登录结果,也不影响下次网络顺利时第一自动登录数字再次更新来实现自动登录,即使被黑客入侵客户端后获取了密钥,并且黑客也了解使用的加密算法,并设置较大的数字以确保自动登录成功,伪造所有的客户端请求数据进行冒名登录,则用户终端保存的第一自动登录数字比黑客使用的小,在仍然没有大于服务器端保存的第二自动登录数字时会造成自动登录失败,密钥失效,使得用户只能重新手动登录,以便于在出现自动登录失败的情况时使得密钥立即失效,及时阻止黑客的后续动作,用户也可以仔细排查终端的安全问题,提高了自动登录过程的安全性。
22.如图1所示,于一实施例中,本发明的一种安全自动登录方法,包括以下步骤:
23.s101、在客户端首次手动登录服务器端之后,所述服务器端将当前登录的用户id信息存入数据库,并发送密钥至所述客户端,所述客户端对应保存所述用户id信息和所述密钥。
24.如图3所示,在用户首次使用客户端的时候,用户通过手动输入用户id信息和密码登录连接到服务器端之后,服务器端对登录信息进行验证,在验证成功之后则表明当前用户信息正确,服务器端将当前登录的用户id信息存入数据库,并将加密算法的密钥发送至客户端,客户端收到之后对应保存当前的用户id信息和密钥,以确保后续进行自动登录。而在服务器端验证失败的时候,则直接反馈验证失败的结果至客户端,提示客户端的用户用户信息输入错误。
25.需要说明的是,所述服务器端采用的是非对称加密算法,所述服务器端保存私钥,而客户端对应保存的密钥为公钥,从而提高后续加密过程的安全性,也提高后续自动登录验证过程的安全性。
26.s102、所述客户端将本地保存的第一自动登录数字设置为x,所述服务器端将所述数据库中保存的第二自动登录数字设置为y,其中,x=y。
27.示例性的,客户端将本地保存的第一自动登录数字设置为0,服务器端也将数据库中保存的第二自动登录数字设置为0,方便后续自动登录的时候进行比较判断。
28.s103、所述客户端在确定本地保存所述密钥和所述用户id信息之后启动自动登录,更新本地保存的所述第一自动登录数字,并通过所述密钥对更新后的所述第一自动登录数字进行加密后生成自动登录令牌,将所述自动登录令牌和所述用户id信息发送至所述服务器端,其中,更新后的所述第一自动登录数字大于更新前的所述第一自动登录数字。
29.如图4所示,在本实施例中,当客户端确定本地保存加密算法对应的密钥和用户id信息之后,在需要启动自动登录的时候,客户端启动自动登录,获取本地保存的第一自动登录数字并进行更新,将更新后的第一自动登录数字保存在本地并覆盖之前的第一自动登录数字,并将更新后的第一自动登录数字通过密钥进行加密之后生成自动登录令牌,将所述自动登录令牌和所述用户id信息发送至所述服务器端。
30.于一实施例中,更新后的所述第一自动登录数字z与更新前的所述第一自动登录数字x满足如下条件:z=x+1。
31.示例性的,初始的所述第一自动登录数字为0,将更新后的第一自动登录数字设置为1,并保存在客户端本地。
32.s104、所述服务器端在接收到所述自动登录令牌和所述用户id信息之后,从所述数据库中调用所述密钥对所述自动登录令牌进行解密。
33.具体的,以非对称加密算法为例,服务器端在接收到所述自动登录令牌和所述用户id信息之后,调用私钥对所述自动登录令牌进行解密,以便于后续根据解密结果对自动登录过程进行判断。
34.s105、在解密成功之后得到解密数字,比较所述解密数字与所述数据库中保存的所述第二自动登录数字的大小,在确定所述解密数字大于所述第二自动登录数字之后自动登录成功之后,并将所述数据库中的所述第二自动登录数字更新为所述解密数字。
35.如图4所示,在服务器端对自动登录令牌解密之后得到解密数字,比较所述解密数字与数据库中保存的第二自动登录数字的大小,在正常情况下,由于解密数字等于更新后的第一自动登录数字,即等于1,而第二自动登录数字为0,即可确定解密数字大于第二自动登录数字,则服务器端反馈至客户端确定当前自动登录成功,用户完成自动登录,同时将数据库中的第二自动登录数字更新为解密数字,便于后续的自动登录过程。
36.于一实施例中,在确定所述解密数字等于或者小于所述第二自动登录数字之后,所述服务器端将所述用户id信息对应的所述密钥设置为失效状态,并反馈所述客户端此次登录失败,并且所述客户端下一次登录过程为手动登录。
37.当确定解密数字等于或者小于第二自动登录数字的时候,即可确定当前的解密数字不符合要求,当前登录失败,则服务器端将数据库中的当前的用户id信息对应的密钥设置为失效状态,以确保下一次自动登录失败,下一次必须要手动登录,同时将登录失败的消息反馈至客户端。
38.具体的,比如在客户端被黑客入侵并获取了密钥之后,并且黑客也了解使用的加密算法,设置了一个较大的数字以确保自动登录成功,伪造所有的客户端请求数据进行冒
名登录,则由于客户端中保存的第一自动登录数字比黑客使用的小,自增后仍然没有大于服务器端保存的第二自动登录数字,造成自动登录失败,同时服务器端将当前用户id信息对应的密钥设置为失效,用户下一次必须重新手动登录,同时提示用户自动登录失败,通过将密钥设置为失效,有效阻止了黑客的后续动作,用户也可以仔细排查终端的安全问题,提高了自动登录的安全性。
39.于一实施例中,所述方法还包括在对所述自动登录令牌解密失败之后,所述服务器端发送登录失败信息至所述客户端,并保持所述数据库中的数据不变,以便于在下一次自动登录的时候进行数据比对。
40.需要说明的是,本发明实施例所述的安全自动登录方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
41.如图2所示,于一实施例中,本发明还提供了一种安全自动登录装置,包括:客户端201和服务器端202。
42.其中,所述服务器端202用于在所述客户端201首次登录服务器端之后,将当前登录的用户id信息存入数据库,并发送密钥至所述客户端201,并将所述数据库中保存的第二自动登录数字设置为y,所述客户端201用于对应保存所述用户id信息和所述密钥,并将本地保存的第一自动登录数字设置为x,其中,x=y。
43.所述客户端201还用于在确定本地保存所述密钥和所述用户id信息之后启动自动登录,更新本地保存的所述第一自动登录数字,并通过所述密钥对更新后的所述第一自动登录数字进行加密后生成自动登录令牌,并将所述自动登录令牌和所述用户id信息发送至所述服务器端202,其中,更新后的所述第一自动登录数字大于更新前的所述第一自动登录数字;
44.所述服务器端202还用于在接收到所述自动登录令牌和所述用户id信息之后,从所述数据库中调用所述密钥对所述自动登录令牌进行解密,并在解密成功之后得到解密数字,比较所述解密数字与所述数据库中保存的所述第二自动登录数字的大小,在确定所述解密数字大于所述第二自动登录数字之后确定自动登录成功,并将所述数据库中的所述第二自动登录数字更新为所述解密数字。
45.于一实施例中,所述服务器端202还用于在确定所述解密数字等于或者小于所述第二自动登录数字之后,将所述用户id信息对应的所述密钥设置为失效状态,并反馈所述客户端此次登录失败。
46.于一实施例中,所述密钥对应的加密算法为非对称加密算法,所述客户端保存的密钥为公钥,所述服务器端的所述数据库中保存的密钥为所述公钥对应的私钥。
47.需要说明的是,该安全自动登录装置的工作原理与上述安全自动登录装置方法的工作原理相同,故在此不再赘述。
48.需要说明的是,本发明的安全自动登录装置可以实现本发明的安全自动登录方法,但本发明的安全自动登录方法的实现装置包括但不限于本实施例列举的安全自动登录装置的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
49.综上所述,本发明的安全自动登录方法及装置,在正常情况下,客户端保存的密钥
不失效,第一自动登录数字更新增大后形成大于第二自动登录数字的数字,保证每一次自动登录均能成功,如果因网络不稳定,服务器端不能返回登录结果,也不影响下次网络顺利时第一自动登录数字再次更新来实现自动登录,即使被黑客入侵客户端后获取了密钥,并且黑客也了解使用的加密算法,并设置较大的数字以确保自动登录成功,伪造所有的客户端请求数据进行冒名登录,则用户终端保存的第一自动登录数字比黑客使用的小,在仍然没有大于服务器端保存的第二自动登录数字时会造成自动登录失败,密钥失效,使得用户只能重新手动登录,以便于在出现自动登录失败的情况时使得密钥立即失效,及时阻止黑客的后续动作,用户也可以仔细排查终端的安全问题,提高了自动登录过程的安全性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
50.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
技术特征:
1.一种安全自动登录方法,其特征在于,包括以下步骤:在客户端首次手动登录服务器端之后,所述服务器端将当前登录的用户id信息存入数据库,并发送密钥至所述客户端,所述客户端对应保存所述用户id信息和所述密钥;所述客户端将本地保存的第一自动登录数字设置为x,所述服务器端将所述数据库中保存的第二自动登录数字设置为y,其中,x=y;所述客户端在确定本地保存所述密钥和所述用户id信息之后启动自动登录,更新本地保存的所述第一自动登录数字,并通过所述密钥对更新后的所述第一自动登录数字进行加密后生成自动登录令牌,将所述自动登录令牌和所述用户id信息发送至所述服务器端,其中,更新后的所述第一自动登录数字大于更新前的所述第一自动登录数字;所述服务器端在接收到所述自动登录令牌和所述用户id信息之后,从所述数据库中调用所述密钥对所述自动登录令牌进行解密;在解密成功之后得到解密数字,比较所述解密数字与所述数据库中保存的所述第二自动登录数字的大小,在确定所述解密数字大于所述第二自动登录数字之后自动登录成功之后,并将所述数据库中的所述第二自动登录数字更新为所述解密数字。2.根据权利要求1所述的安全自动登录方法,其特征在于,在确定所述解密数字等于或者小于所述第二自动登录数字之后,所述服务器端将所述用户id信息对应的所述密钥设置为失效状态,并反馈所述客户端此次登录失败,并且所述客户端下一次登录过程为手动登录。3.根据权利要求1所述的安全自动登录方法,其特征在于,更新后的所述第一自动登录数字z与更新前的所述第一自动登录数字x满足如下条件:z=x+1。4.根据权利要求1所述的安全自动登录方法,其特征在于,所述密钥对应的加密算法为非对称加密算法,所述客户端保存的密钥为公钥,所述服务器端的所述数据库中保存的密钥为所述公钥对应的私钥。5.根据权利要求1所述的安全自动登录方法,其特征在于,所述方法还包括在对所述自动登录令牌解密失败之后,所述服务器端发送登录失败信息至所述客户端,并保持所述数据库中的数据不变。6.一种安全自动登录装置,其特征在于,包括:客户端和服务器端;其中,所述服务器端用于在所述客户端首次登录服务器端之后,将当前登录的用户id信息存入数据库,并发送密钥至所述客户端,并将所述数据库中保存的第二自动登录数字设置为y,所述客户端用于对应保存所述用户id信息和所述密钥,并将本地保存的第一自动登录数字设置为x,其中,x=y;所述客户端还用于在确定本地保存所述密钥和所述用户id信息之后启动自动登录,更新本地保存的所述第一自动登录数字,并通过所述密钥对更新后的所述第一自动登录数字进行加密后生成自动登录令牌,并将所述自动登录令牌和所述用户id信息发送至所述服务器端,其中,更新后的所述第一自动登录数字大于更新前的所述第一自动登录数字;所述服务器端还用于在接收到所述自动登录令牌和所述用户id信息之后,从所述数据库中调用所述密钥对所述自动登录令牌进行解密,并在解密成功之后得到解密数字,比较所述解密数字与所述数据库中保存的所述第二自动登录数字的大小,在确定所述解密数字大于所述第二自动登录数字之后确定自动登录成功,并将所述数据库中的所述第二自动登
录数字更新为所述解密数字。7.根据权利要求6所述的安全自动登录装置,其特征在于,所述服务器端还用于在确定所述解密数字等于或者小于所述第二自动登录数字之后,将所述用户id信息对应的所述密钥设置为失效状态,并反馈所述客户端此次登录失败。8.根据权利要求6所述的安全自动登录装置,其特征在于,所述密钥对应的加密算法为非对称加密算法,所述客户端保存的密钥为公钥,所述服务器端的所述数据库中保存的密钥为所述公钥对应的私钥。
技术总结
本发明提供一种安全自动登录方法及装置,所述方法包括:在客户端首次手动登录服务器端之后,服务器端将当前登录的用户ID信息存入数据库,并发送密钥至客户端,客户端对应保存用户ID信息和密钥;客户端将本地保存的第一自动登录数字设置为X,服务器端将数据库中保存的第二自动登录数字设置为Y,启动自动登录,更新本地保存的第一自动登录数字,并通过密钥进行加密后生成自动登录令牌发送至服务器端;服务器端从数据库中调用密钥对自动登录令牌进行解密得到解密数字,比较解密数字与第二自动登录数字的大小以确定自动登录是否成功;本发明通过实时更新第一自动登录数字提高了自动登录过程的安全性。录过程的安全性。录过程的安全性。
技术研发人员:史东晖
受保护的技术使用者:延锋伟世通电子科技(上海)有限公司
技术研发日:2023.08.07
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/