登录方法、注册方法、登录装置以及登录和注册系统的制作方法_2

文档序号:8265861阅读:来源:国知局
实施例的登录方法的流程图,该方法适用于服务器,如图1所示,该方法包括如下步骤:
[0054]步骤S110,接收客户端发送的登录请求。
[0055]客户端为运行在终端上的应用程序,可以是浏览器,即时通讯应用等。例如,用户登录论坛,打开论坛登录页面,登录页面中具有输入元素,供用户输入用户名等用户标识信息,根据用户操作,发送登录请求,登录请求中携带上述的用户标识信息。
[0056]用户标识信息可以是用户名,昵称,注册邮箱,或服务提供商为用户生成的用户ID等。
[0057]步骤S120,使用与登录请求中的用户标识信息对应的公钥将验证问题加密为密文,并将密文返回给客户端。
[0058]在本发明的登录方法中,采用非对称加密的方式。非对称加密涉及一对公钥和私钥,其中,由公钥加密的数据只有对应的私钥能够解密,由私钥加密的数据只有对应的公钥能够解密。公钥对外公开,具体地,在本发明中,公钥可由在注册时通过注册页面提交至服务器,并由服务器保存。而私钥由用户个人保存,例如,保存在指定路径下或USB key等设备中。
[0059]在该步骤中,服务器接收登录请求后,根据登录请求中的用户标识信息查找到对应的公钥。
[0060]之后,服务器使用该公钥对验证问题加密。其中,验证问题可以是验证码,由服务器在处理登录请求时生成。现有的验证码方式中,验证码直接地显示在登录页面中,而本发明采用公钥将验证码加密为密文,不仅能够区分人和计算机,不仅避免程序的不断自动尝试登录,同时还能验证用户的身份。验证问题还可以是一些用户的个人信息,例如,用户注册时填写的手机号码,邮箱地址等。还可以是通过其他途径转交的验证码,如短信验证码等,本发明对此不做限制。
[0061]在本发明实施例的一种可选方式中,该验证问题由用户在注册时预留。具体地,注册页面中为用户随机提供验证问题,或允许用户自定义问题,并收集用户提交的答案,作为登录时的参照答案。服务器中将用户的预留问题和参照答案与用户标识信息相关联地存储。
[0062]当接收到登录请求时,服务器使用与用户标识信息对应的公钥将验证问题加密为密文,将密文返回给客户端,以供客户端利用预存的私钥对密文解密,获取验证问题以及用户对验证问题的待验答案。
[0063]步骤S130,接收客户端发送的待验答案,判断待验答案是否正确。
[0064]客户端利用私钥对密文解密,显示解密后的验证问题。进一步地,私钥还设置有私钥口令,该私钥口令可由用户在私钥生成时设定。使用私钥解密前,首先要验证私钥口令的正确性。这样,即使私钥被他人获取,例如,USB key遗失,但由于不知道私钥口令,他人仍然无法使用私钥完成登录。用户根据解密后的验证问题提供待验答案。
[0065]客户端将该待验答案发送至服务器。当然,也可以将待验答案用私钥加密后发送至服务器。
[0066]对应地,服务器接收该待验答案,并判断答案是否正确。具体地,若验证问题为验证码,服务器检测客户端发送的字符串与生成的验证码是否一致。若验证问题为注册时的预留问题,服务器根据登录请求中的用户标识信息找到相应的参照答案,与用户提交的待验答案匹配,如果匹配一致,待验答案正确。
[0067]步骤S140,若待验答案正确,使用用户标识信息进行登录。
[0068]在用户提供了正确的私钥口令,私钥和验证问题的答案时,服务器确认用户身份,执行登录过程。登录过程可能包括读取数据库,获取用户相关数据,生成动态页面并返回该页面等操作,本发明对此不做限定。
[0069]根据本发明上述实施例提供的方法,通过私钥口令,私钥和验证问题的答案对用户进行多重的身份验证,安全性得以提高。结合公钥的可公开性,本发明的登录和注册方法也十分便捷,易于操作。
[0070]图2示出了根据本发明另一个实施例的登录方法的流程图,该方法适用于客户端中,如图2所示,该方法包括如下步骤:
[0071]步骤S210,向服务器发送登录请求。
[0072]客户端为运行在终端上的应用程序,可以是浏览器,即时通讯应用等。例如,用户登录论坛,在浏览器中打开登录页面,登录页面中具有输入元素,供用户输入用户名等登录信息,登录页面根据用户的操作,发送登录请求,登录请求中携带上述的登录信息。
[0073]在本发明实施例中,登录信息包括用户提供的用户标识信息。
[0074]步骤S220,接收服务器返回的使用与用户标识信息对应的公钥对验证问题加密后形成的密文。
[0075]服务器接收登录请求后,使用与登录请求中的用户标识信息对应的公钥对验证问题加密,向客户端返回密文。该公钥可由用户在注册时提供并由客户端上传。
[0076]步骤S230,获取用户提供的私钥信息和私钥口令。
[0077]本发明中采用非对称加密的方式,私钥保存在客户端中,具体地,保存在客户端所在终端的指定路径下,或USB key等外部设备中。
[0078]本发明中,还预先为私钥设置了私钥口令,例如,该私钥口令是用户在私钥生成时为私钥设定的密码。
[0079]客户端接收加密后的验证问题后,提示用户输入私钥口令,例如,弹出窗口,提示用户输入私钥口令。
[0080]本发明并不限定如何获取私钥信息。具体地,步骤S210中的登录页面中可以包括私钥信息的输入元素,供用户输入私钥名称,或带有本地浏览的功能元素,供用户提交私钥路径,或在默认路径下查找私钥。或者,在用户提交登录信息后,接收服务器返回的页面,在返回的页面中获取私钥信息。私钥信息包括私钥名称或私钥路径等信息。
[0081]步骤S240,判断用户提供的私钥口令是否正确,若私钥口令正确,执行步骤S250,否则,方法结束。
[0082]若私钥口令输入错误,用户不能通过身份验证,登录失败。若私钥口令正确,执行步骤S250。
[0083]步骤S250,根据私钥信息使用私钥对密文解密得到验证问题。
[0084]根据用户提供的私钥路径或私钥名称,找到私钥,利用私钥对密文进行解密,并显示解密后得到的验证问题。
[0085]验证问题可以是验证码,由服务器在处理登录请求时生成。验证问题也可以是一些用户的个人信息,例如,用户注册时填写的手机号码,邮箱地址等。还可以是通过其他途径转交的验证码,如短信验证码等,本发明对此不做限制。
[0086]在本发明实施例的一种可选方式中,该验证问题由用户在注册时预留。具体地,注册页面中为用户随机提供验证问题,或允许用户自定义问题,并在注册页面中收集用户提交的答案,作为登录时的参照答案。将用户的预留问题和参照答案与用户标识信息相关联地存储。
[0087]步骤S260,将用户提供的对验证问题的待验答案发送至服务器。
[0088]在页面中提供输入框等输入元素,供用户提交对验证问题的答案,作为待验答案,发送至服务器,供服务器验证。
[0089]可选地,接收服务器验证完成后的返回消息。例如,打开服务器验证成功后返回的登录成功页面或登录后页面,或者验证失败后,显示服务器返回的失败消息。
[0090]图3示出了根据本发明另一个实施例的登录方法,该方法涉及客户端和服务器,如图3所示,该方法包括如下步骤:
[0091]步骤S310,客户端发送登录请求。
[0092]对
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1