账户的注册与登录方法、装置、电子设备及可读存储介质与流程

文档序号:21595935发布日期:2020-07-24 16:45阅读:276来源:国知局
账户的注册与登录方法、装置、电子设备及可读存储介质与流程

本申请涉及安全认证技术领域,具体而言,本申请涉及一种账户的注册与登录方法、装置、电子设备及可读存储介质。



背景技术:

目前,软件或者网站一般会将用于用户登录的密钥存储于服务器,用户在登录账户时输入登录密码,通过服务器内存储的秘钥对用户的登录密码进行验证。由于目前的软件或者网站的数量众多,用户需要记忆大量的密码,一旦用户的遗忘密码,则会影响用户的正常登录。

现有技术中,存在使用浏览器记住密码进行登录的方式,但是这种方式存在密码泄露风险,影响用户的账户安全性。



技术实现要素:

本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:

第一方面,本申请实施例提供了一种账户的注册方法,该方法包括:

在第二终端设备向服务器发出的账户注册请求后,建立第一终端设备与服务器的会话,并将第一公钥以及用户名发送至服务器,以使服务器向区块链节点查询用户名是否已被注册,并在用户名未被注册时,生成第一验证信息,将通过第一公钥对第一验证信息加密后得到的第二验证信息发送至区块链节点;

向区块链节点获取第二验证信息,并通过与第一公钥对应的第一私钥对第二验证信息进行解密得到第三验证信息;

将第三验证信息发送至服务器,以使服务器对第三验证信息进行校验,并基于校验结果对账户注册请求进行处理。

可选地,在第二终端设备向服务器发出的账户注册请求后,建立第一终端设备与服务器的会话,包括:

当第二终端设备向服务器发出的账户注册请求,并接收到服务器返回的令牌时,获取令牌;

基于令牌,建立第一终端设备与服务器的会话。

可选地,获取令牌,包括:

通过扫描第二终端基于令牌生成的二维码,获取令牌。

第二方面,本申请实施例提供了一种账户的登录方法,该方法包括:

在第二终端设备向服务器发出的账户登录请求后,建立第一终端设备与服务器的会话,并将第二公钥以及用户名发送至服务器,以使服务器生成第四验证信息,并将通过第二公钥对第四验证信息加密后得到的第五验证信息发送至区块链节点;

向区块链节点获取第五验证信息,并通过与第二公钥对应的第二私钥对第五验证信息进行解密得到第六验证信息;

将第六验证信息发送至服务器,以使服务器对第六验证信息进行校验,并基于校验结果对账户登录请求进行处理。

可选地,上述方法还包括:

向区块链节点发出账户登录记录的查询请求,并接收区块链节点返回的查询结果。

第三方面,本申请实施例提供了另一种账户的注册方法,该方法包括:

当接收到第二终端设备发出的账户注册请求时,建立服务器与第一终端设备的会话,并接收第一终端设备发送的第一公钥以及用户名;

向区块链节点查询用户名是否已被注册;

若用户名未被注册,则生成第一验证信息,并将通过第一公钥对第一验证信息加密后得到的第二验证信息发送至区块链节点,以使区块链节点响应于第一终端设备的请求,向第一终端设备返回第二验证信息,并使得第一终端设备通过与第一公钥对应的第一私钥对第二验证信息进行解密得到第三验证信息;

接收第一终端设备发送的第三验证信息,对第三验证信息进行校验,并基于校验结果对账户注册请求进行处理。

第四方面,本申请实施例提供了另一种账户的登录方法,该方法包括:

当接收到第二终端设备发出的账户登录请求时,建立服务器与第一终端设备的会话,并接收第一终端设备发送的第二公钥以及用户名;

生成第四验证信息,并将通过第二公钥对第四验证信息加密后得到的第五验证信息发送至区块链节点,以使区块链节点响应于第一终端设备的请求,向第一终端设备返回第五验证信息,并使得第一终端设备通过与第二公钥对应的第二私钥对第五验证信息进行解密得到第六验证信息;

接收第一终端设备发送的第六验证信息,对第六验证信息进行校验,并基于校验结果对账户登录请求进行处理。

第五方面,本申请实施例提供了一种账户的注册装置,该装置包括:

注册信息发送模块,用于在第二终端设备向服务器发出的账户注册请求后,建立第一终端设备与服务器的会话,并将第一公钥以及用户名发送至服务器,以使服务器向区块链节点查询用户名是否已被注册,并在用户名未被注册时,生成第一验证信息,将通过第一公钥对第一验证信息加密后得到的第二验证信息发送至区块链节点;

验证信息解密模块,用于向区块链节点获取第二验证信息,并通过与第一公钥对应的第一私钥对第二验证信息进行解密得到第三验证信息;

验证信息发送模块,用于将第三验证信息发送至服务器,以使服务器对第三验证信息进行校验,并基于校验结果对账户注册请求进行处理。

可选地,注册信息发送模块在第二终端设备向服务器发出的账户注册请求后,建立第一终端设备与服务器的会话时,具体用于:

当第二终端设备向服务器发出的账户注册请求,并接收到服务器返回的令牌时,获取令牌;

基于令牌,建立第一终端设备与服务器的会话。

可选地,注册信息发送模块在获取令牌时,具体用于:

通过扫描第二终端基于令牌生成的二维码,获取令牌。

第六方面,本申请实施例提供了一种账户的登录装置,该装置包括:

登录信息发送模块,用于在第二终端设备向服务器发出的账户登录请求后,建立第一终端设备与服务器的会话,并将第二公钥以及用户名发送至服务器,以使服务器生成第四验证信息,并将通过第二公钥对第四验证信息加密后得到的第五验证信息发送至区块链节点;

验证信息解密模块,用于向区块链节点获取第五验证信息,并通过与第二公钥对应的第二私钥对第五验证信息进行解密得到第六验证信息;

验证信息发送模块,用于将第六验证信息发送至服务器,以使服务器对第六验证信息进行校验,并基于校验结果对账户登录请求进行处理。

可选地,上述装置还包括:

查询模块,用于向区块链节点发出账户登录记录的查询请求,并接收区块链节点返回的查询结果。

第七方面,本申请实施例提供了另一种账户的注册装置,该装置包括:

注册信息接收模块,用于在接收到第二终端设备发出的账户注册请求时,建立服务器与第一终端设备的会话,并接收第一终端设备发送的第一公钥以及用户名;

查询模块,用于向区块链节点查询用户名是否已被注册;

验证信息生成模块,用于在用户名未被注册时,生成第一验证信息,并将通过第一公钥对第一验证信息加密后得到的第二验证信息发送至区块链节点,以使区块链节点响应于第一终端设备的请求,向第一终端设备返回第二验证信息,并使得第一终端设备通过与第一公钥对应的第一私钥对第二验证信息进行解密得到第三验证信息;

注册请求处理模块,用于接收第一终端设备发送的第三验证信息,对第三验证信息进行校验,并基于校验结果对账户注册请求进行处理。

第八方面,本申请实施例提供了另一种账户的登录装置,该装置包括:

登录信息接收模块,用于在接收到第二终端设备发出的账户登录请求时,建立服务器与第一终端设备的会话,并接收第一终端设备发送的第二公钥以及用户名;

验证信息生成模块,用于生成第四验证信息,并将通过第二公钥对第四验证信息加密后得到的第五验证信息发送至区块链节点,以使区块链节点响应于第一终端设备的请求,向第一终端设备返回第五验证信息,并使得第一终端设备通过与第二公钥对应的第二私钥对第五验证信息进行解密得到第六验证信息;

登录请求处理模块,用于接收第一终端设备发送的第六验证信息,对第六验证信息进行校验,并基于校验结果对账户登录请求进行处理。

第九方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行如本申请的第一方面至第四方面中的任一实施方式中所示的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面至第四方面中的任一实施方式中所示的方法。

本申请实施例提供的技术方案带来的有益效果是:

本申请实施例提供的方案,在第二终端设备发出的账户登录请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对登录请求进行处理。基于本方案,当用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码进行登录,避免因忘记密码造成的使用不便,并且能够减少密码泄露的风险,保证账户安全性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种账户的注册方法的流程示意图;

图2为本申请实施例提供的一种账户的注册方法的时序图;

图3为本申请实施例提供的一种账户的登录方法的流程示意图;

图4为本申请实施例提供的一种账户的登录方法的时序图;

图5为本申请实施例提供的另一种账户的注册方法的流程示意图;

图6为本申请实施例提供的另一种账户的登录方法的流程示意图;

图7为本申请实施例提供的一种账户的注册装置的结构示意图;

图8为本申请实施例提供的一种账户的登录装置的结构示意图;

图9为本申请实施例提供的另一种账户的注册装置的结构示意图;

图10为本申请实施例提供的另一种账户的登录装置的结构示意图;

图11为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1示出了本申请实施例提供的一种账户的注册方法的流程示意图,如图1所示,该注册方法主要可以包括:

步骤s110:在第二终端设备向服务器发出的账户注册请求后,建立第一终端设备与服务器的会话,并将第一公钥以及用户名发送至服务器,以使服务器向区块链节点查询用户名是否已被注册,并在用户名未被注册时,生成第一验证信息,将通过第一公钥对第一验证信息加密后得到的第二验证信息发送至区块链节点;

步骤s120:向区块链节点获取第二验证信息,并通过与第一公钥对应的第一私钥对第二验证信息进行解密得到第三验证信息;

步骤s130:将第三验证信息发送至服务器,以使服务器对第三验证信息进行校验,并基于校验结果对账户注册请求进行处理。

本申请实施例中,用户可以在对第二终端设备上运行的软件进行注册或者第二终端设备上的目标网站进行注册,第二终端设备可以为个人计算机,第一终端设备可以为用户的移动终端。作为一个示例,第一终端设备可以为用户的手机,第二终端可以电脑。服务器可以为对第二终端设备上运行的软件或者目标网站的后台服务器。区块链中预存储有用户账户数据,以便在进行账户注册时,查询用户名是否以被注册。区块链节点为区块链中与第二终端以及服务器进行交互的节点。

本申请实施例中,第二终端设备检测到用户的账户注册的操作(如用户访问目标网站,并点击“账户注册”的虚拟按钮)时,第二终端设备可以向服务器发出账户注册请求。

服务器在接收到账户注册请求后,可以与第一终端设备建立会话,以实现用于身份验证相关信息的交互,具体而言,第一终端设备可以生成一对公私钥对,即第一公钥与对应的第一私钥。第一终端设备将存储的用户名与第一公钥发送给服务器。

作为一个示例,第一终端设备可以基于rsa算法生成公私钥对。

服务器接收到第一公钥以及用户名后,可以向区块链节点发送查询请求,查询第一终端设备提供的用户名是否已被注册,如果查询结果为用户名已被注册,则向第一终端返回提示信息,告知用户用户名已被注册。如果查询结果为用户名未被注册,则可以生成第一验证信息,并通过第一公钥对第一验证信息进行加密,得到第二验证信息。

第一验证信息可以为随机生成的一定数量的字符。

服务器可以将第二验证信息发送给区块链节点,使得区块链智能合约将第二验证信息存储于区块链上。服务器在将二验证信息发送给区块链节点后,可以向第一终端设备发送第二验证信息已发送的提示信息。

第一终端设备在接收到第二验证信息已发送的提示信息后,可以向区块链智能合约请求第二验证信息,并接收区块链节点返回的第二验证信息。第一终端设备通过第一私钥对第二验证信息进行解密等到第三验证信息,并将第三验证信息发送至服务器。

服务器在接收到第一终端设备发送的第三验证信息后,对第三验证信息进行校验,确定其与第一验证信息是否一致,若一致,则校验通过,可以允许第二终端设备的账户注册请求,并向第一终端设备反馈注册成功;若不一致,则校验未通过,可以拒绝第二终端设备的账户注册请求,并向第一终端设备反馈注册失败。

本申请实施例中,注册成功后,第一终端设备可以将账户信息(用户名、服务器地址、公私钥对)存储于本地。

本申请实施例中,用户的用户名及私钥被存储于第一终端设备,用户在第二终端设备上进行软件或者网站的账户注册时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码,在用户进行多账户注册时,能够减少用户操作的复杂性,便于用户的使用。

本申请实施例提供的注册方法,在第二终端设备发出的账户注册请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器向区块链节点查询用户名是否已被注册,并在用户名未被注册时,生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对注册请求进行处理。基于本方案,能够通过第一终端设备实现在第二终端设备上进行账户注册时的安全认证,无需用户手动输入密码,方便了用户的使用。

本申请实施例的一种可选方式中,在第二终端设备向服务器发出的账户注册请求后,建立第一终端设备与服务器的会话,包括:

当第二终端设备向服务器发出的账户注册请求,并接收到服务器返回的令牌时,获取令牌;

基于令牌,建立第一终端设备与服务器的会话。

本申请实施例的一种可选方式中,获取令牌,包括:

通过扫描第二终端基于令牌生成的二维码,获取令牌。

本申请实施例中,建立第一终端设备与服务器的会话可以通过扫码的方式实现。具体而言,当第二终端设备向服务器发出的账户注册请求时,服务器可以将令牌以及回调地址等用于建立会话的信息生成二维码并发送给第二终端设备,第二终端设备展示二维码,第一终端设备通过扫描第二终端设备展示的二维码获取令牌以及回调地址等信息,并基于令牌以及回调地址等信息建立与服务器的会话。

作为一个示例,服务器首先生成本次会话令牌(token),本次会话token、注册/登录回调的地址形成为可扩展标记语言(xtensiblemarkuplanguage,xml)格式;将xml格式的字符串转换成二维码,生成二维码图片。

图2中示出了本申请实施例提供的一种账户的注册方法的时序图。

如图2中,手机客户端,即第一终端设备;目标网站,即服务器;智能合约,即区块链的智能合约。

1、展示二维码,即服务器向第二终端设备发送二维码,并由第二终端设备展示二维码。

2、rsa算法生成公私钥对,即第一终端设备基于rsa算法,随机生成第一公钥以及对应的第一私钥。

3、扫描二维码,发送注册信息,即第一终端设备通过扫描第二终端设备展示的二维码,与服务器建立会话,并将第一公钥以及用户名发送给服务器。

4、查询用户名对应的注册信息,即服务器向区块链智能合约查询用户名是否已经被注册。

5、验证注册信息,即服务器基于区块链智能合约返回的信息对用户名进行验重处理,确定用户名是否已经被注册。

6、验证通过,生成验证码,使用rsa算法公钥加密验证信息,即当确定用户名未被注册时,服务器生成随机的第一验证信息,并通过第一公钥对第一验证信息进行加密,得到第二验证信息。

7、发送公钥加密后的验证信息,即服务器将第二验证信息发送给区块链节点。

8、存储信息,即将第二验证信息存储于区块链智能合约。

9、推送验证信息已发送通知,即服务器向第一终端设备发送第二验证信息已发送的提示信息。

10、获取公钥加密后的验证信息,即第一终端设备向区块链智能合约获取第二验证信息。

11、私钥解密验证信息,即第一终端设备基于第一私钥对第二验证信息进行解密,得到第三验证信息。

12、发送解密后的验证信息,即第一终端将第三验证信息发送给服务器。

13、返回注册成功,即服务器对第三验证信息进行校验,在校验成功时允许账户注册请求,并向第一终端设备返回注册成功的提示信息。

图3示出了本申请实施例提供的一种账户的登录方法的流程示意图,如图3所示,该登录方法主要可以包括:

步骤s210:在第二终端设备向服务器发出的账户登录请求后,建立第一终端设备与服务器的会话,并将第二公钥以及用户名发送至服务器,以使服务器生成第四验证信息,并将通过第二公钥对第四验证信息加密后得到的第五验证信息发送至区块链节点;

步骤s220:向区块链节点获取第五验证信息,并通过与第二公钥对应的第二私钥对第五验证信息进行解密得到第六验证信息;

步骤s230:将第六验证信息发送至服务器,以使服务器对第六验证信息进行校验,并基于校验结果对账户登录请求进行处理。

本申请实施例中,第二终端设备检测到用户的账户登录的操作(如用户访问目标网站,并点击“账户登录”的虚拟按钮)时,第二终端设备可以向服务器发出账户登录请求。

服务器在接收到账户注册请求后,可以与第一终端设备建立会话,以实现用于身份验证相关信息的交互,具体而言,第一终端设备可以生成一对公私钥对,即第二公钥与对应的第二私钥。第一终端设备将存储的用户名与第二公钥发送给服务器。

第一终端设备中可以存储有多个用户名,用户可以对用于登录的用户名进行选择。

服务器接收到第二公钥以及用户名后,可以生成第四验证信息,并通过第二公钥对第四验证信息进行加密,得到第五验证信息。

第四验证信息可以为随机生成的一定数量的字符。

服务器可以将第五验证信息发送给区块链节点,使得区块链智能合约将第五验证信息存储于区块链上。服务器在将五验证信息发送给区块链节点后,可以向第一终端设备发送第五验证信息已发送的提示信息。

第一终端设备在接收到第五验证信息已发送的提示信息后,可以向区块链智能合约请求第五验证信息,并接收区块链节点返回的第五验证信息。第一终端设备通过第二私钥对第五验证信息进行解密等到第六验证信息,并将第六验证信息发送至服务器。

服务器在接收到第一终端设备发送的第六验证信息后,对第六验证信息进行校验,确定其与第四验证信息是否一致,若一致,则校验通过,可以允许第二终端设备的账户登录请求,并向第一终端设备反馈登录成功;若不一致,则校验未通过,可以拒绝第二终端设备的账户登录请求,并向第一终端设备反馈登录失败。

本申请实施例中,用户的用户名及私钥被存储于第一终端设备,用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码即可实现登录操作,避免因忘记密码造成的使用不便,便于通过第一终端设备对多个账户进行管理。由于账户的私钥存储预第一终端设备,能够减小秘钥泄露的风险,保证用户账户的安全性。

本申请实施例提供的登录方法,在第二终端设备发出的账户登录请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对登录请求进行处理。基于本方案,当用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码进行登录,避免因忘记密码造成的使用不便,并且能够减少密码泄露的风险,保证账户安全性。

本申请实施例的一种可选方式中,上述方法还包括:

向区块链节点发出账户登录记录的查询请求,并接收区块链节点返回的查询结果。

本申请实施例中,区块链的智能合约可以保存用户的账户登录记录,并在收到用户的账户登录记录的查询请求时返回查询结果。

查询结果中可以包含登录时间、登录网址、用户名以及进行的账户操作等信息,作为一个示例,查询结果可以以表1中所示的审计界面向用户展示。

表1

图4中示出了本申请实施例提供的一种账户的登录方法的时序图。

如图4中,手机客户端,即第一终端设备;目标网站,即服务器;智能合约,即区块链的智能合约。

1、展示二维码,即服务器向第二终端设备发送二维码,并由第二终端设备展示二维码。

2、扫描二维码,发送注册信息,即第一终端设备通过扫描第二终端设备展示的二维码,与服务器建立会话,并将第二公钥以及用户名发送给服务器。

3、生成验证码,使用rsa算法公钥加密验证信息,即服务器生成随机的第四验证信息,并通过第二公钥对第四验证信息进行加密,得到第五验证信息。

4、发送公钥加密后的验证信息,即将第五验证信息发送给区块链节点。

5、存储信息,即将第五验证信息存储于区块链智能合约。

6、推送验证信息已发送通知,即向第一终端设备发送第五验证信息已发送的提示信息。

7、获取公钥加密后的验证信息,即第一终端设备向区块链智能合约获取第五验证信息。

8、私钥解密验证信息,即第一终端设备基于第一私钥对第五验证信息进行解密,得到第六验证信息。

9、发送解密后的验证信息,即第一终端将第六验证信息发送给服务器。

10、确认验证信息正确,即服务器对第六验证信息进行校验,确认校验成功。

11、返回登录成功,即服务器在校验成功时允许账户登录请求,并向第一终端设备返回登录成功的提示信息。

图5示出了本申请实施例提供的另一种账户的注册方法的流程示意图,如图5所示,该注册方法主要可以包括:

步骤s310:当接收到第二终端设备发出的账户注册请求时,建立服务器与第一终端设备的会话,并接收第一终端设备发送的第一公钥以及用户名;

步骤s320:向区块链节点查询用户名是否已被注册;

步骤s330:若用户名未被注册,则生成第一验证信息,并将通过第一公钥对第一验证信息加密后得到的第二验证信息发送至区块链节点,以使区块链节点响应于第一终端设备的请求,向第一终端设备返回第二验证信息,并使得第一终端设备通过与第一公钥对应的第一私钥对第二验证信息进行解密得到第三验证信息;

步骤s340:接收第一终端设备发送的第三验证信息,对第三验证信息进行校验,并基于校验结果对账户注册请求进行处理。

本申请实施例中,第二终端设备检测到用户的账户注册的操作(如用户访问目标网站,并点击“账户注册”的虚拟按钮)时,第二终端设备可以向服务器发出账户注册请求。

服务器在接收到账户注册请求后,可以与第一终端设备建立会话,以实现用于身份验证相关信息的交互,具体而言,第一终端设备可以生成一对公私钥对,即第一公钥与对应的第一私钥。第一终端设备将存储的用户名与第一公钥发送给服务器。

服务器接收到第一公钥以及用户名后,可以向区块链节点发送查询请求,查询第一终端设备提供的用户名是否已被注册,如果查询结果为用户名已被注册,则向第一终端返回提示信息,告知用户用户名已被注册。如果查询结果为用户名未被注册,则可以生成第一验证信息,并通过第一公钥对第一验证信息进行加密,得到第二验证信息。

服务器可以将第二验证信息发送给区块链节点,使得区块链智能合约将第二验证信息存储于区块链上。服务器在将二验证信息发送给区块链节点后,可以向第一终端设备发送第二验证信息已发送的提示信息。

第一终端设备在接收到第二验证信息已发送的提示信息后,可以向区块链智能合约请求第二验证信息,并接收区块链节点返回的第二验证信息。第一终端设备通过第一私钥对第二验证信息进行解密等到第三验证信息,并将第三验证信息发送至服务器。

服务器在接收到第一终端设备发送的第三验证信息后,对第三验证信息进行校验,确定其与第一验证信息是否一致,若一致,则校验通过,可以允许第二终端设备的账户注册请求,并向第一终端设备反馈注册成功;若不一致,则校验未通过,可以拒绝第二终端设备的账户注册请求,并向第一终端设备反馈注册失败。

本申请实施例中,用户的用户名及私钥被存储于第一终端设备,用户在第二终端设备上进行软件或者网站的账户注册时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码,在用户进行多账户注册时,能够减少用户操作的复杂性,便于用户的使用。

本申请实施例提供的注册方法,在第二终端设备发出的账户注册请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器向区块链节点查询用户名是否已被注册,并在用户名未被注册时,生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对注册请求进行处理。基于本方案,能够通过第一终端设备实现在第二终端设备上进行账户注册时的安全认证,无需用户手动输入密码,方便了用户的使用。

图6示出了本申请实施例提供的另一种账户的登录方法的流程示意图,如图6所示,该登录方法主要可以包括:

步骤s410:当接收到第二终端设备发出的账户登录请求时,建立服务器与第一终端设备的会话,并接收第一终端设备发送的第二公钥以及用户名;

步骤s420:生成第四验证信息,并将通过第二公钥对第四验证信息加密后得到的第五验证信息发送至区块链节点,以使区块链节点响应于第一终端设备的请求,向第一终端设备返回第五验证信息,并使得第一终端设备通过与第二公钥对应的第二私钥对第五验证信息进行解密得到第六验证信息;

步骤s430:接收第一终端设备发送的第六验证信息,对第六验证信息进行校验,并基于校验结果对账户登录请求进行处理。

本申请实施例中,第二终端设备检测到用户的账户登录的操作(如用户访问目标网站,并点击“账户登录”的虚拟按钮)时,第二终端设备可以向服务器发出账户登录请求。

服务器在接收到账户注册请求后,可以与第一终端设备建立会话,以实现用于身份验证相关信息的交互,具体而言,第一终端设备可以生成一对公私钥对,即第二公钥与对应的第二私钥。第一终端设备将存储的用户名与第二公钥发送给服务器。

第一终端设备中可以存储有多个用户名,用户可以对用于登录的用户名进行选择。

服务器接收到第二公钥以及用户名后,可以生成第四验证信息,并通过第二公钥对第四验证信息进行加密,得到第五验证信息。

服务器可以将第五验证信息发送给区块链节点,使得区块链智能合约将第五验证信息存储于区块链上。服务器在将五验证信息发送给区块链节点后,可以向第一终端设备发送第五验证信息已发送的提示信息。

第一终端设备在接收到第五验证信息已发送的提示信息后,可以向区块链智能合约请求第五验证信息,并接收区块链节点返回的第五验证信息。第一终端设备通过第二私钥对第五验证信息进行解密等到第六验证信息,并将第六验证信息发送至服务器。

服务器在接收到第一终端设备发送的第六验证信息后,对第六验证信息进行校验,确定其与第四验证信息是否一致,若一致,则校验通过,可以允许第二终端设备的账户登录请求,并向第一终端设备反馈登录成功;若不一致,则校验未通过,可以拒绝第二终端设备的账户登录请求,并向第一终端设备反馈登录失败。

本申请实施例中,用户的用户名及私钥被存储于第一终端设备,用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码即可实现登录操作,避免因忘记密码造成的使用不便,便于通过第一终端设备对多个账户进行管理。由于账户的私钥存储预第一终端设备,能够减小秘钥泄露的风险,保证用户账户的安全性。

本申请实施例提供的登录方法,在第二终端设备发出的账户登录请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对登录请求进行处理。基于本方案,当用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码进行登录,避免因忘记密码造成的使用不便,并且能够减少密码泄露的风险,保证账户安全性。

基于与图1中所示的方法相同的原理,图7示出了本申请实施例提供的一种账户的注册装置的结构示意图,如图7所示,该账户的注册装置50可以包括:

注册信息发送模块510,用于在第二终端设备向服务器发出的账户注册请求后,建立第一终端设备与服务器的会话,并将第一公钥以及用户名发送至服务器,以使服务器向区块链节点查询用户名是否已被注册,并在用户名未被注册时,生成第一验证信息,将通过第一公钥对第一验证信息加密后得到的第二验证信息发送至区块链节点;

验证信息解密模块520,用于向区块链节点获取第二验证信息,并通过与第一公钥对应的第一私钥对第二验证信息进行解密得到第三验证信息;

验证信息发送模块530,用于将第三验证信息发送至服务器,以使服务器对第三验证信息进行校验,并基于校验结果对账户注册请求进行处理。

本申请实施例提供的注册装置,在第二终端设备发出的账户注册请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器向区块链节点查询用户名是否已被注册,并在用户名未被注册时,生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对注册请求进行处理。基于本方案,能够通过第一终端设备实现在第二终端设备上进行账户注册时的安全认证,无需用户手动输入密码,方便了用户的使用。

可选地,注册信息发送模块在第二终端设备向服务器发出的账户注册请求后,建立第一终端设备与服务器的会话时,具体用于:

当第二终端设备向服务器发出的账户注册请求,并接收到服务器返回的令牌时,获取令牌;

基于令牌,建立第一终端设备与服务器的会话。

可选地,注册信息发送模块在获取令牌时,具体用于:

通过扫描第二终端基于令牌生成的二维码,获取令牌。

可以理解的是,本实施例中的账户的注册装置的上述各模块具有实现图1中所示的实施例中的账户的注册方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述账户的注册装置的各模块的功能描述具体可以参见图1中所示实施例中的账户的注册方法的对应描述,在此不再赘述。

基于与图3中所示的方法相同的原理,图8示出了本申请实施例提供的一种账户的登录装置的结构示意图,如图8所示,该账户的登录装置60可以包括:

登录信息发送模块610,用于在第二终端设备向服务器发出的账户登录请求后,建立第一终端设备与服务器的会话,并将第二公钥以及用户名发送至服务器,以使服务器生成第四验证信息,并将通过第二公钥对第四验证信息加密后得到的第五验证信息发送至区块链节点;

验证信息解密模块620,用于向区块链节点获取第五验证信息,并通过与第二公钥对应的第二私钥对第五验证信息进行解密得到第六验证信息;

验证信息发送模块630,用于将第六验证信息发送至服务器,以使服务器对第六验证信息进行校验,并基于校验结果对账户登录请求进行处理。

本申请实施例提供的登录装置,在第二终端设备发出的账户登录请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对登录请求进行处理。基于本方案,当用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码进行登录,避免因忘记密码造成的使用不便,并且能够减少密码泄露的风险,保证账户安全性。

可选地,上述装置还包括:

查询模块,用于向区块链节点发出账户登录记录的查询请求,并接收区块链节点返回的查询结果。

可以理解的是,本实施例中的账户的登录装置的上述各模块具有实现图3中所示的实施例中的账户的登录方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述账户的登录装置的各模块的功能描述具体可以参见图3中所示实施例中的账户的登录方法的对应描述,在此不再赘述。

基于与图5中所示的方法相同的原理,图9示出了本申请实施例提供的另一种账户的注册装置的结构示意图,如图9所示,该账户的注册装置70可以包括:

注册信息接收模块710,用于在接收到第二终端设备发出的账户注册请求时,建立服务器与第一终端设备的会话,并接收第一终端设备发送的第一公钥以及用户名;

查询模块720,用于向区块链节点查询用户名是否已被注册;

验证信息生成模块730,用于在用户名未被注册时,生成第一验证信息,并将通过第一公钥对第一验证信息加密后得到的第二验证信息发送至区块链节点,以使区块链节点响应于第一终端设备的请求,向第一终端设备返回第二验证信息,并使得第一终端设备通过与第一公钥对应的第一私钥对第二验证信息进行解密得到第三验证信息;

注册请求处理模块740,用于接收第一终端设备发送的第三验证信息,对第三验证信息进行校验,并基于校验结果对账户注册请求进行处理。

本申请实施例提供的注册装置,在第二终端设备发出的账户注册请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器向区块链节点查询用户名是否已被注册,并在用户名未被注册时,生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对注册请求进行处理。基于本方案,能够通过第一终端设备实现在第二终端设备上进行账户注册时的安全认证,无需用户手动输入密码,方便了用户的使用。

可以理解的是,本实施例中的账户的注册装置的上述各模块具有实现图5中所示的实施例中的账户的注册方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述账户的注册装置的各模块的功能描述具体可以参见图5中所示实施例中的账户的注册方法的对应描述,在此不再赘述。

基于与图6中所示的方法相同的原理,图10示出了本申请实施例提供的一种账户的登录装置的结构示意图,如图10所示,该账户的登录装置80可以包括:

登录信息接收模块810,当接收到第二终端设备发出的账户登录请求时,建立服务器与第一终端设备的会话,并接收第一终端设备发送的第二公钥以及用户名;

验证信息生成模块820,用于生成第四验证信息,并将通过第二公钥对第四验证信息加密后得到的第五验证信息发送至区块链节点,以使区块链节点响应于第一终端设备的请求,向第一终端设备返回第五验证信息,并使得第一终端设备通过与第二公钥对应的第二私钥对第五验证信息进行解密得到第六验证信息;

登录请求处理模块830,用于接收第一终端设备发送的第六验证信息,对第六验证信息进行校验,并基于校验结果对账户登录请求进行处理。

本申请实施例提供的登录装置,在第二终端设备发出的账户登录请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对登录请求进行处理。基于本方案,当用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码进行登录,避免因忘记密码造成的使用不便,并且能够减少密码泄露的风险,保证账户安全性。

可以理解的是,本实施例中的账户的登录装置的上述各模块具有实现图6中所示的实施例中的账户的登录方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述账户的登录装置的各模块的功能描述具体可以参见图6中所示实施例中的账户的登录方法的对应描述,在此不再赘述。

本申请实施例提供了一种电子设备,包括处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的方法。

作为一个示例,图11示出了本申请实施例所适用的一种电子设备的结构示意图,如图11所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。

其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。

处理器2001可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器2003可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的方法。

本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种电子设备,与现有技术相比,在第二终端设备发出的账户登录请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对登录请求进行处理。基于本方案,当用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码进行登录,避免因忘记密码造成的使用不便,并且能够减少密码泄露的风险,保证账户安全性。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的方法。

本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种计算机可读存储介质,与现有技术相比,在第二终端设备发出的账户登录请求后,建立第一终端设备与服务器的会话,将用户名以及公钥发送给服务器,使得服务器生成验证信息,通过公钥对验证信息加密后发送给区块链节点,第一终端设备在获取加密后的验证信息后通过私钥进行解密,并将解密后的验证信息发送给服务器进行校验,服务器基于校验结果对登录请求进行处理。基于本方案,当用户在第二终端设备上进行软件或者网站的账户登录时,可以通过第一终端设备存储的用户名及私钥实现安全认证,用户无需输入密码进行登录,避免因忘记密码造成的使用不便,并且能够减少密码泄露的风险,保证账户安全性。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1