首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 账户统一方法、装置及存储介质

账户统一方法、装置及存储介质

阅读:834发布:2020-08-07

专利汇可以提供账户统一方法、装置及存储介质专利检索,专利查询,专利分析的服务。并且本公开涉及一种账户统一方法、装置及存储介质,用以解决 现有技术 中在不同应用 服务器 中使用不同账户而导致的用户使用不便的技术问题。所述方法应用于应用客户端,所述方法包括:创建身份合约并将所述身份合约与用户实体账户关联;在 区 块 链 上部署所述身份合约,得到所述身份合约的身份合约地址;向 应用服务器 发送包括所述身份合约地址的注册 请求 ,所述身份合约地址用于指示所述应用服务器将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。,下面是账户统一方法、装置及存储介质专利的具体信息内容。

1.一种账户统一方法,其特征在于,应用于客户端,所述方法包括:
创建身份合约并将所述身份合约与用户实体账户关联;
链上部署所述身份合约,得到所述身份合约的身份合约地址;
向应用服务器发送包括所述身份合约地址的注册请求,所述身份合约地址用于指示所述应用服务器将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述应用服务器发送登陆请求,所述登陆请求包括所述身份合约地址和签名信息,其中,所述身份合约地址和所述签名信息用于所述应用服务器确定所述用户实体账户与所述身份合约地址是否关联并对所述签名信息进行签名验证。
3.根据权利要求1所述的方法,其特征在于,所述身份合约还包括多个仲裁客户端的账户信息以及仲裁规则;
所述方法还包括:
创建新用户实体账户;
根据所述多个仲裁客户端的账户信息分别向所述多个仲裁客户端发送实体账户更换请求,所述实体账户更换请求包括所述身份合约地址和所述新用户实体账户的区块链地址,其中,所述身份合约地址用于指示所述多个仲裁客户端向所述身份合约发送仲裁结果,所述新用户实体账户的区块链地址用于指示所述身份合约根据所述多个仲裁客户端的仲裁结果和所述仲裁规则将所述新用户实体账户与所述身份合约关联。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设算法将所述用户实体账户的私钥进行分块,得到n个数据块,其中,n≥2;
分别对所述n个数据块进行哈希处理,得到所述n个数据块的哈希值;
根据c个好友客户端的公钥对所述n个数据块中的s个数据块进行加密,得到s个加密数据块,其中,c≥1,n≥s≥k;
将所述s个加密数据块、所述c个好友客户端的区块链地址以及所述n个数据块的哈希值写入所述身份合约中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述身份合约地址访问所述身份合约,获得所述s个加密数据块中至少k个加密数据块对应的目标好友客户端的区块链地址,其中,n≥k≥1;
根据所述至少k个目标好友客户端的区块链地址分别向所述至少k个目标好友客户端发送私钥恢复请求,所述私钥恢复请求用于指示所述至少k个目标好友客户端从所述身份合约中获取所述至少k个加密数据块并经解密和重新加密后存储至所述身份合约;
从所述身份合约中查询所述至少k个重新加密后的加密数据块和对应的所述哈希值并解密得到所述用户实体账户的私钥。
6.一种账户统一方法,其特征在于,应用于客户端,所述方法包括:
向应用服务器发送注册请求,所述注册请求包括用户实体账户的区块链地址,所述区块链地址用于所述应用服务器根据所述区块链地址部署与所述用户实体账户关联的身份合约;
接收所述应用服务器发送的注册成功响应,所述注册请求包括与所述用户实体账户关联的身份合约地址。
7.一种账户统一方法,其特征在于,应用于应用服务器,所述方法包括:
接收客户端发送的注册请求,所述注册请求包括与待注册的用户实体账户关联的身份合约地址;
将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的登陆请求,所述登陆请求包括所述身份合约地址和所述用户实体账户的挑战签名信息;
根据所述身份合约地址和所述挑战签名信息验证所述用户实体账户是否与所述身份合约地址关联;
在确定所述用户实体账户与所述身份合约地址关联且对所述挑战签名信息验证通过时,向所述客户端返回登陆成功响应。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的登陆请求,所述登陆请求包括所述身份合约地址和所述用户实体账户的签名信息;
根据所述身份合约地址查询所述区块链上的登陆信息合约,确定所述身份合约地址在其他可信任应用服务器上的登陆状态,其中,所述登陆信息合约是预先部署在所述区块链上的记录有各身份合约地址在各可信任应用服务器上的登陆状态的合约;
在确定所述身份合约地址在所述其他可信任应用服务器上的登陆状态为已登陆时,根据所述身份合约地址和所述签名信息验证所述用户实体账户是否与所述身份合约地址关联;
在确定所述用户实体账户与所述身份合约地址关联时,向所述客户端返回登陆成功响应。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在确定所述身份合约地址在所述其他可信任应用服务器上的登陆状态为未登陆时,根据所述身份合约地址和所述签名信息验证所述用户实体账户是否与所述身份合约地址关联;
在确定所述用户实体账户与所述身份合约地址关联时,对所述用户实体账户进行挑战认证,并在认证通过后将所述身份合约地址在所述应用服务器上的登陆状态标记为已登录并记录至所述登陆信息合约中。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的注销请求,所述注销请求包括所述身份合约地址;
将所述身份合约地址在所述应用服务器上的登陆状态标记为未登录并记录至所述登陆信息合约中。
12.一种账户统一方法,其特征在于,应用于应用服务器,所述方法包括:
接收客户端发送的注册请求,所述注册请求包括待注册的用户实体账户的区块链地址;
根据所述用户实体账户的区块链地址创建身份合约并与所述用户实体账户关联;
在区块链上部署所述身份合约,得到所述身份合约的身份合约地址;
将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识并将包括所述身份合约地址的注册成功响应发送给所述客户端。
13.一种账户统一装置,其特征在于,应用于客户端,所述装置包括:
第一身份合约创建模块,用于创建身份合约并将所述身份合约与用户实体账户关联;
第一身份合约部署模块,用于在区块链上部署所述身份合约,得到所述身份合约的身份合约地址;
第一注册请求发送模块,用于向应用服务器发送包括所述身份合约地址的注册请求,所述身份合约地址用于指示所述应用服务器将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
登陆请求发送模块,用于向所述应用服务器发送登陆请求,所述登陆请求包括所述身份合约地址和签名信息,其中,所述身份合约地址和所述签名信息用于所述应用服务器确定所述用户实体账户与所述身份合约地址是否关联并对所述签名信息进行签名验证。
15.根据权利要求13所述的装置,其特征在于,所述身份合约还包括多个仲裁客户端的账户信息以及仲裁规则;
所述装置还包括:
实体账户创建模块,用于创建新用户实体账户;
更换请求发送模块,用于根据所述多个仲裁客户端的账户信息分别向所述多个仲裁客户端发送实体账户更换请求,所述实体账户更换请求包括所述身份合约地址和所述新用户实体账户的区块链地址,其中,所述身份合约地址用于指示所述多个仲裁客户端向所述身份合约发送仲裁结果,所述新用户实体账户的区块链地址用于指示所述身份合约根据所述多个仲裁客户端的仲裁结果和所述仲裁规则将所述新用户实体账户与所述身份合约关联。
16.根据权利要求13所述的装置,其特征在于,所述装置还包括:
私钥分块模块,用于根据预设算法将所述用户实体账户的私钥进行分块,得到n个数据块,其中,n≥2;
哈希处理模块,用于分别对所述n个数据块进行哈希处理,得到所述n个数据块的哈希值;
数据块加密模块,用于根据c个好友客户端的公钥对所述n个数据块中的s个数据块进行加密,得到s个加密数据块,其中,c≥1,n≥s≥k;
信息写入模块,用于将所述s个加密数据块、所述c个好友客户端的区块链地址以及所述n个数据块的哈希值写入所述身份合约中。
17.根据权利要求16所述的方法,其特征在于,所述装置还包括:
目标好友客户端地址获取模块,用于根据所述身份合约地址访问所述身份合约,获得所述s个加密数据块中至少k个加密数据块对应的目标好友客户端的区块链地址,其中,n≥k≥1;
私钥恢复请求发送模块,用于根据所述至少k个目标好友客户端的区块链地址分别向所述至少k个目标好友客户端发送私钥恢复请求,所述私钥恢复请求用于指示所述至少k个目标好友客户端从所述身份合约中获取所述至少k个加密数据块并经解密和重新加密后存储至所述身份合约;
私钥恢复模块,用于从所述身份合约中查询所述至少k个重新加密后的加密数据块和对应的所述哈希值并解密得到所述用户实体账户的私钥。
18.一种账户统一装置,其特征在于,应用于客户端,所述装置包括:
第二注册请求发送模块,用于向应用服务器发送注册请求,所述注册请求包括用户实体账户的区块链地址,所述区块链地址用于所述应用服务器根据所述区块链地址部署与所述用户实体账户关联的身份合约;
注册成功响应接收模块,用于接收所述应用服务器发送的注册成功响应,所述注册请求包括与所述用户实体账户关联的身份合约地址。
19.一种账户统一装置,其特征在于,应用于应用服务器,所述装置包括:
第一注册请求接收模块,用于接收客户端发送的注册请求,所述注册请求包括与待注册的用户实体账户关联的身份合约地址;
第一账户标识确定模块,用于将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第一登陆请求接收模块,用于接收所述客户端发送的登陆请求,所述登陆请求包括所述身份合约地址和所述用户实体账户的挑战签名信息;
第一关联关系验证模块,用于根据所述身份合约地址和所述挑战签名信息验证所述用户实体账户是否与所述身份合约地址关联;
第一登陆成功响应模块,用于在确定所述用户实体账户与所述身份合约地址关联且对所述挑战签名信息验证通过时,向所述客户端返回登陆成功响应。
21.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第二登陆请求接收模块,用于接收所述客户端发送的登陆请求,所述登陆请求包括所述身份合约地址和所述用户实体账户的签名信息;
登陆状态确定模块,用于根据所述身份合约地址查询所述区块链上的登陆信息合约,确定所述身份合约地址在其他可信任应用服务器上的登陆状态,其中,所述登陆信息合约是预先部署在所述区块链上的记录有各身份合约地址在各可信任应用服务器上的登陆状态的合约;
第二关联关系验证模块,用于在确定所述身份合约地址在所述其他可信任应用服务器上的登陆状态为已登陆时,根据所述身份合约地址和所述签名信息验证所述用户实体账户是否与所述身份合约地址关联;
第二登陆成功响应模块,用于在确定所述用户实体账户与所述身份合约地址关联时,向所述客户端返回登陆成功响应。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
第三关联关系验证模块,用于在确定所述身份合约地址在所述其他可信任应用服务器上的登陆状态为未登陆时,根据所述身份合约地址和所述签名信息验证所述用户实体账户是否与所述身份合约地址关联并对所述签名信息进行签名验证;
第一登陆状态标记模块,用于在确定所述用户实体账户与所述身份合约地址关联且时,对所述用户实体账户进行挑战认证,并在认证通过后在认证通过后将所述身份合约地址在所述应用服务器上的登陆状态标记为已登陆并记录至所述登陆信息合约中。
23.根据权利要求21或22所述的装置,其特征在于,所述装置还包括:
注销请求接收模块,用于接收所述客户端发送的注销请求,所述注销请求包括所述身份合约地址;
第二登陆状态标记模块,用于将所述身份合约地址在所述应用服务器上的登陆状态标记为未登陆并记录至所述登陆信息合约中。
24.一种账户统一装置,其特征在于,应用于应用服务器,所述装置包括:
第二注册请求接收模块,用于接收客户端发送的注册请求,所述注册请求包括待注册的用户实体账户的区块链地址;
第二身份合约创建模块,用于根据所述用户实体账户的区块链地址创建身份合约并与所述用户实体账户关联;
第二身份合约部署模块,用于在区块链上部署所述身份合约,得到所述身份合约的身份合约地址;
第二账户标识确定模块,用于将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识并将包括所述身份合约地址的注册成功响应发送给所述客户端。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求1-5中任一项所述的方法。
26.一种账户统一装置,应用于客户端,其特征在于,包括:权利要求25所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求6所述的方法。
28.一种账户统一装置,应用于客户端,其特征在于,包括:权利要求27所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求7-11中任一项所述的方法。
30.一种账户统一装置,应用于应用服务器,其特征在于,包括:权利要求29所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
31.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求12所述的方法。
32.一种账户统一装置,应用于应用服务器,其特征在于,包括:权利要求31所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。

说明书全文

账户统一方法、装置及存储介质

技术领域

[0001] 本公开涉及信息技术领域,尤其涉及一种账户统一方法、装置及存储介质。

背景技术

[0002] 随着互联网的飞速发展,各种移动应用、WEB网站端服务等成为人们日常生活中不可或缺的一部分。账户作为访问各个服务的凭证和身份标识扮演着极为重要的色。目前,无论是不同的应用服务器还是统一企业内部的不同应用系统,都需要用户在使用之前独立地完成注册且记住每一个系统的账户和密码,繁多的账户和密码容易使用户混淆甚至遗忘,给用户带来使用的不便。
发明内容
[0003] 本公开的主要目的是提供一种账户统一方法、装置及存储介质,用以解决现有技术中在不同应用服务器中使用不同账户而导致的用户使用不便的技术问题。
[0004] 为了实现上述目的,本公开第一方面提供一种账户统一方法,应用于客户端,所述方法包括:创建身份合约并将所述身份合约与用户实体账户关联;在链上部署所述身份合约,得到所述身份合约的身份合约地址;向应用服务器发送包括所述身份合约地址的注册请求,所述身份合约地址用于指示所述应用服务器将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
[0005] 本公开第二方面提供一种账户统一方法,应用于客户端,所述方法包括:向应用服务器发送注册请求,所述注册请求包括用户实体账户的区块链地址,所述区块链地址用于所述应用服务器根据所述区块链地址部署与所述用户实体账户关联的身份合约;接收所述应用服务器发送的注册成功响应,所述注册请求包括与所述用户实体账户关联的身份合约地址。
[0006] 本公开第三方面提供一种账户统一方法,应用于应用服务器,所述方法包括:接收客户端发送的注册请求,所述注册请求包括与待注册的用户实体账户关联的身份合约地址;将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
[0007] 本公开第四方面提供一种账户统一方法,应用于应用服务器,所述方法包括:接收客户端发送的注册请求,所述注册请求包括待注册的用户实体账户的区块链地址;根据所述用户实体账户的区块链地址创建身份合约并与所述用户实体账户关联;在区块链上部署所述身份合约,得到所述身份合约的身份合约地址;将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识并将包括所述身份合约地址的注册成功响应发送给所述客户端。
[0008] 本公开第五方面提供一种账户统一装置,应用于客户端,所述装置包括:第一身份合约创建模块,用于创建身份合约并将所述身份合约与用户实体账户关联;第一身份合约部署模块,用于在区块链上部署所述身份合约,得到所述身份合约的身份合约地址;第一注册请求发送模块,用于向应用服务器发送包括所述身份合约地址的注册请求,所述身份合约地址用于指示所述应用服务器将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
[0009] 本公开第六方面提供一种账户统一装置,应用于客户端,所述装置包括:第二注册请求发送模块,用于向应用服务器发送注册请求,所述注册请求包括用户实体账户的区块链地址,所述区块链地址用于所述应用服务器根据所述区块链地址部署与所述用户实体账户关联的身份合约;注册成功响应接收模块,用于接收所述应用服务器发送的注册成功响应,所述注册请求包括与所述用户实体账户关联的身份合约地址。
[0010] 本公开第七方面提供一种账户统一装置,应用于应用服务器,所述装置包括:第一注册请求接收模块,用于接收客户端发送的注册请求,所述注册请求包括身份合约地址;第一账户标识确定模块,用于将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
[0011] 本公开第八方面提供一种账户统一装置,应用于应用服务器,所述装置包括:第二注册请求接收模块,用于接收客户端发送的注册请求,所述注册请求包括待注册的用户实体账户的区块链地址;第二身份合约创建模块,用于根据所述用户实体账户的区块链地址创建身份合约并与所述用户实体账户关联;第二身份合约部署模块,用于在区块链上部署所述身份合约,得到所述身份合约的身份合约地址;第二账户标识确定模块,用于将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识并将包括所述身份合约地址的注册成功响应发送给所述客户端。
[0012] 本公开第九方面提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行第一方面所述的方法。
[0013] 本公开第十方面提供一种账户统一装置,应用于客户端,包括:第九方面所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
[0014] 本公开第十一方面提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行第二方面所述的方法。
[0015] 本公开第十二方面提供一种账户统一装置,应用于客户端,包括:第十一方面所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
[0016] 本公开第十三方面提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行第三方面所述的方法。
[0017] 本公开第十四方面提供一种账户统一装置,应用于应用服务器,包括:第十三方面所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
[0018] 本公开第十五方面提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行第四方面所述的方法。
[0019] 本公开第十六方面提供一种账户统一装置,应用于应用服务器,包括:第十五方面所述的计算机可读存储介质;以及一个或多个处理器,用于执行所述计算机可读存储介质中的程序。
[0020] 采用上述技术方案,基于区块链技术,客户端在区块链上部署与用户实体账户关联的身份合约,并向应用服务器发送包括身份合约地址的注册请求,以指示应用服务器将身份合约地址作为用户实体账户的账户标识,可以方便用户统一使用身份合约地址参与各种应用服务,从根本上解决繁多的账户给用户带来使用不便的问题。同时,区块链的去中心化使得身份合约与用户实体账户的关联关系无法被篡改和伪造,可以保证在各应用服务器上使用身份合约作为账户标识的安全性,相比于在各应用服务器上使用相同的账户和密码,降低了账户遗失或被盗造成的损失。
[0021] 本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明
[0022] 图1是根据本公开一示例性实施例示出的一种账户统一方法的流程图,其中,所述方法应用于客户端;
[0023] 图2是根据本公开一示例性实施例示出的一种账户统一方法的流程图,其中,所述方法应用于应用服务器;
[0024] 图3是根据本公开一示例性实施例示出的一种用户实体账户与身份合约的关联关系的示意图;
[0025] 图4是根据本公开一示例性实施例示出的一种账户统一方法的信令交互示意图;
[0026] 图5是根据本公开另一示例性实施例示出的一种账户统一方法的信令交互示意图;
[0027] 图6是根据本公开一示例性实施例示出的一种实施环境的示意图;
[0028] 图7是根据本公开一示例性实施例示出的一种更换用户实体账户的方法的流程图;
[0029] 图8是本公开一示例性实施例示出的一种单点登陆及注销方法的信令交互示意图;
[0030] 图9是根据本公开一示例性实施例示出的一种账户统一装置的框图,其中,所述装置应用于应用服务器;
[0031] 图10是根据本公开另一示例性实施例示出的一种账户统一装置的框图,其中,所述装置应用于应用服务器;
[0032] 图11是根据本公开一示例性实施例示出的一种账户统一装置的框图,其中,所述装置应用于客户端;
[0033] 图12是根据本公开另一示例性实施例示出的一种账户统一装置的框图,其中,所述装置应用于客户端。

具体实施方式

[0034] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035] 为了使本领域技术人员更容易理解本公开实施例提供的技术方案,下面首先对涉及到的相关技术进行简单介绍。
[0036] 区块链是由区块链网络中所有节点共同参与维护的去中心化分布式数据库系统,它是由一系列基于密码学方法产生的数据块组成,每个数据块即为区块链中的一个区块。根据产生时间的先后顺序,区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链。区块链由其特别的区块和交易产生、验证协议,具有不可更改,不可伪造、完全可追溯的安全特性。
[0037] 区块链技术中涉及到的相关概念说明:
[0038] 区块链节点:区块链网络基于P2P(Peer to Peer,对等网络)网络,每个参与交易和区块存储、验证、转发的P2P网络节点都是一个区块链网络中的节点。
[0039] 用户身份:区块链中的用户身份使用公钥表示,并且公钥和私钥是成对出现的,其中,私钥由用户掌握而不发布到上述的区块链网络中,公钥通过特定的哈希和编码后成为“地址”,“地址”代表了用户,并且公钥和“地址”可随意发布在区块链网络中。值得一提的是,用户身份和区块链节点不存在一一对应关系,用户可以在任意一个区块链节点上使用自己的私钥。
[0040] 区块链数据写入:区块链节点通过向区块链网络发布“交易”(Transaction)实现向区块链写入数据。交易中包含用户使用自己私钥对交易的签名,以证明用户的身份。交易被“矿工”(执行区块链共识竞争机制的区块链节点)记录入产生的新区块,然后发布到区块链网络,并被其他区块链节点验证通过和接受后,交易数据即被写入区块链。
[0041] 图1是根据本公开一示例性实施例示出的一种账户统一方法的流程图,该方法应用于客户端,如图1所示,该方法包括:
[0042] 在步骤S101中,创建身份合约并将身份合约与用户实体账户关联。
[0043] 在步骤S102中,在区块链上部署身份合约,得到身份合约的身份合约地址。
[0044] 在本公开的实施例中,区块链可以是以太坊区块链。在以太坊区块链上存在两种实体账户,一种是用户实体账户(可对应人或智能设备),其对应的拥有一对公钥和私钥,公钥的哈希编码值(例如哈希值前20个字节)即为该用户实体账户的区块链地址;另一种是程序实体,也就是智能合约,其只拥有预设字节数的地址值(例如20个字节的地址值),不具有相关私钥。
[0045] 在本公开的实施例中,客户端可以通过运行区块链程序产生自己的用户实体账户。此外,客户端还可以创建身份合约(即智能合约的一种类型)并将身份合约与用户实体账户关联(例如将用户实体账户的区块链地址写入身份合约中),且通过在区块链上部署该身份合约获得身份合约的地址。
[0046] 在步骤S103中,向应用服务器发送包括身份合约地址的注册请求。
[0047] 其中,身份合约地址用于指示应用服务器将身份合约地址作为用户实体账户在该应用服务器上的账户标识。
[0048] 图2是根据本公开一示例性实施例示出的一种账户统一方法的流程图,其中,该方法应用于应用服务器,如图2所述,该方法包括:
[0049] 在步骤S201中,接收客户端发送的注册请求,注册请求包括与待注册的用户实体账户关联的身份合约地址。
[0050] 在步骤S202中,将身份合约地址作为用户实体账户在该应用服务器上的账户标识。
[0051] 可选地,应用服务器可将该身份合约地址记录至其账户数据库或者区块链上的账户信息合约中,其中,账户信息合约可以是预先部署在区块链上记录有各已注册的身份合约地址的合约。
[0052] 应用服务器可将身份合约地址作为用户实体账户在应用服务器上的账户标识。由此,用户通过客户端在各应用服务器上完成注册后,便可在各应用服务器上统一使用身份合约地址登陆。
[0053] 需要说明的是,在本公开的实施例中,如图3所示,可选地,客户端可创建一个身份合约并将用户实体账户与身份合约一一关联,进而可以将身份合约地址作为用户实体账户的唯一账户标识,这样,用户可以方便地在各应用服务器上的统一使用该身份合约地址。
[0054] 可选地,客户端也可以创建多个身份合约并将用户实体账户分别与多个身份合约关联,由此,用户可以对外以不同的身份合约地址(即不同的账户标识)参与不同的应用服务,而对内可以方便地仅使用唯一的实体账户。
[0055] 采用上述方法,基于区块链技术,客户端在区块链上部署与用户实体账户关联的身份合约,并使用身份合约地址在应用服务器上注册,以使应用服务器将身份合约地址作为该用户实体账户在应用服务器上的账户标识,这样,可以方便用户统一使用身份合约地址参与各种应用服务,从根本上解决繁多的账户给用户带来使用不便的问题。同时,区块链的去中心化使得身份合约与用户实体账户的关联关系无法被篡改和伪造,可以保证在各应用服务器上使用身份合约作为账户标识的安全性,相比于在各应用服务器上使用相同的账户和密码,降低了账户遗失或被盗造成的损失。
[0056] 在本公开的另一些实施例中,若应用服务器中存在用户已注册的其他账户信息,则在用户通过客户端使用已注册的其他账户信息登陆应用服务器时,客户端可以向应用服务器发送包括其他账户信息和身份合约地址的登陆请求,应用服务器对其他账户信息进行身份认证,在身份认证通过后则向客户端返回登陆成功响应。与此同时,应用服务器还可以将身份合约地址替换或关联已注册的其他账户信息,这样,应用服务器可以迁移使用身份合约地址作为用户实体账户的账户标识。
[0057] 为了使本公开技术方案更加易于理解,下面再通过以下可能的实施方式的信令交互示意图对本公开技术方案进行详细说明。
[0058] 图4是根据本公开一示例性实施例示出的一种账户统一方法的信令交互示意图,如图4所示,该方法包括:
[0059] 在步骤S401中,客户端创建身份合约并将身份合约与用户实体账户关联。
[0060] 在步骤S402中,客户端在区块链上部署身份合约,得到该身份合约的身份合约地址。
[0061] 在步骤S403中,客户端向应用服务器发送包括身份合约地址的注册请求。
[0062] 在步骤S404中,应用服务器在接收到客户端发送的注册请求时,将身份合约地址作为用户实体账户在该应用服务器上的账户标识。
[0063] 在步骤S405中,应用服务器向客户端发送注册成功响应。
[0064] 可见,通过本公开实施例的上述技术方案,基于区块链技术,客户端可产生用户实体账户并在区块链上部署身份合约,将用户实体账户与身份合约关联,且可使用身份合约地址在应用服务器上注册,而应用服务器在接收到客户端发送的注册请求时,可以将身份合约地址作为用户实体账户的账户标识,进而方便用户统一使用身份合约地址参与各种应用服务,从根本上解决繁多的账户给用户带来使用不便的问题。同时,区块链的去中心化使得身份合约与用户实体账户的关联关系无法被篡改和伪造,可以保证在各应用服务器上使用身份合约作为账户标识的安全性,相比于在各应用服务器上使用相同的账户和密码,降低了账户遗失或被盗造成的损失。
[0065] 在本公开的其他实施例中,身份合约也可以由应用服务器创建和部署,在这种情况下,客户端在向应用服务器注册时仅需提供用户实体账户的区块链地址。例如,对于同一企业内部的用户,应用服务器在接收到各客户端发送的注册请求时,可根据各用户实体账户的区块链地址创建身份合约并建立身份合约与用户实体账户之间的关联关系。相应地,如图5所示,所述账户统一方法可以包括:
[0066] 在步骤S501中,客户端向应用服务器发送注册请求,注册请求包括用户实体账户的区块链地址。
[0067] 在步骤S502中,应用服务器在接收到客户端发送的注册请求时,根据用户实体账户的区块链地址创建身份合约并将身份合约与用户实体账户关联。
[0068] 在步骤S503中,应用服务器在区块链上部署身份合约,得到该身份合约的身份合约地址。
[0069] 在步骤S504中,应用服务器将身份合约地址作为用户实体账户在该应用服务器上的账户标识。
[0070] 在步骤S505中,应用服务器向客户端发送注册成功响应,注册成功响应包括身份合约地址。
[0071] 如图3所示,可选地,应用服务器可以将每个待注册的用户实体账户关联一个身份合约,以将身份合约地址作为用户实体账户的唯一账户标识,这样,用户可以方便地在各应用服务器上的统一使用该身份合约地址。
[0072] 可选地,应用服务器也可以将每个用户实体账户分别与多个身份合约关联,由此可支持用户对外以不同的身份合约地址(即不同的账户标识)使用不同的应用服务器,而对内可以方便地仅使用唯一的实体账户。
[0073] 可选地,应用服务器也可以将多个用户实体账户与同一个身份合约关联,此种设置可适用于相关业务场景,比如用户拥有多个不同预置或分配的用户实体账户的移动设备,通过配置可使这些移动设备的用户实体账户都与一个相同的身份合约关联,在这种情况下,用户不管使用哪个移动设备,都可以以相同的身份合约表征的身份参与各种应用服务,由此可以解决用户无法方便地以不同的私钥标识相同身份的问题。
[0074] 可选地,应用服务器还可以设置用户实体账户与身份合约之间的多对多关系,以支持更复杂或特殊的业务需求。
[0075] 需要说明的是,应用服务器创建和部署身份合约的过程可以参照图1提供的账户统一方法中客户端创建和部署身份合约的过程,此处不再赘述。
[0076] 在本公开的实施例中,为了解决用户无法方便地更换实体账户的问题,在一种可能的实施方式中,客户端可以在身份合约中加入用户实体账户关联关系管理功能。例如,与身份合约关联的当前用户实体账户有权指定、添加新的用户实体账户与身份合约关联。这样,客户端无需更新参与的身份合约,只需要更换同身份合约关联的用户实体账户,从而不会影响应用服务器的数据和逻辑。
[0077] 在另一种可能的实施方式中,客户端还可以在身份合约中加入用户实体账户关联关系仲裁功能,即,客户端可在身份合约中设置多个仲裁客户端(比如用户的可信好友客户端或者第三方可信机构等),通过程序逻辑赋予仲裁客户端管理用户实体账户同身份合约的关联关系的功能,同时设定仲裁规则。
[0078] 为了使本领域技术人员更加理解本公开的上述实施方式提供的技术方案,下面以结合图6对上述实施方式进行详细说明。
[0079] 图6是根据本公开一示例性实施例示出的一种实施环境的示意图,如图6所示,该实施环境包括客户端61、客户端61创建的身份合约以及与该身份合约关联的用户实体账户以及多个仲裁客户端62。结合图6,本公开实施例提供的一种更换用户实体账户的方法如图7所示,包括:
[0080] 在步骤S701中,客户端61在区块链上部署身份合约并在身份合约中设置多个仲裁客户端的账户信息和仲裁规则。
[0081] 在步骤S702中,客户端61创建新用户实体账户。
[0082] 在步骤S703中,客户端61分别向多个仲裁客户端发送实体账户更换请求。
[0083] 其中,实体账户更换请求可以包括身份合约地址和新用户实体账户的区块链地址。
[0084] 在一种可能的实施方式中,客户端可以通过链外能够明确身份的方式分别向各个仲裁客户端发送实体账户更换请求,例如,客户端可以通过邮件等方式向各个仲裁客户端发送实体账户更换请求并在实体账户更换请求携带表明自己与身份合约关联的身份信息。
[0085] 在步骤S704中,各仲裁客户端62在确认原用户实体账户的身份后,通过调用身份合约的接口向身份合约发送仲裁结果。
[0086] 在步骤S705中,身份合约根据各个仲裁客户端发送的仲裁结果、各个仲裁客户端的账户信息以及仲裁规则,将新用户实体账户与身份合约关联。
[0087] 例如,仲裁规则可以为超过半数仲裁客户端的同意后可以修改与身份合约关联的用户实体账户。相应地,若身份合约接收到超过半数的仲裁客户端确认将新用户实体账户与身份合约关联的仲裁结果,则根据新用户实体账户的区块链地址,通过内置程序逻辑与新用户实体账户关联。
[0088] 通过上述实施方式提供的技术方案,不仅可以解决用户无法方便地更换实体账户的问题,与此同时,即使原用户实体账户的私钥丢失或被盗,也可以通过仲裁管理将身份合约与新用户实体账户关联,从而解决了私钥丢失后身份合约无法使用以及私钥被盗后无法挽回身份证明的问题。
[0089] 在本公开的实施例中,私钥作为用户实体账户至关重要的信息,除了安全硬件不可导出的情况,通常在可能的情况下为了安全需要对私钥进行备份。用户可以选择加密或明文离线备份,但考虑到这种方式仍需要考虑备份文件的安全以及备份文件或加密密码遗忘和遗失的问题,用户也可以同时选择在线加密备份的方式,比如通过密码技术将用户实体账户的私钥(或种子)加密保存至区块链上,并在适当的时候通过相关解密方式恢复。通过采用合适的备份和恢复技术,可以避免私钥的丢失。
[0090] 在一种可能的实施方式中,在需要备份用户实体账户的私钥时,客户端可通过预设算法(例如Shamir’s Secret Sharing算法)将用户实体账户的私钥进行分块,得到n个(n≥2)数据块,相应地,任意k个数据块(n≥k≥1)即可恢复整个私钥。接着,客户端可对n个数据块分别进行哈希处理,例如,使用哈希算法计算n个数据块的哈希值,并再次使用哈希算法计算每个数据块哈希值的哈希值,以作为各数据块的指纹,这些指纹可在恢复私钥时作为验证。然后,客户端可将s(k≤s≤n)个数据块分享给c(c≥1)个好友客户端,并使用c个好友客户端的公钥加密这s个数据块(比如每个好友客户端的公钥加密s个数据块中的一个或多个,以保证s个数据块均被加密),且将所有的加密数据块、各加密数据块对应的哈希值以及c个好友客户端的区块链地址记录至该用户实体账户关联的身份合约中。
[0091] 需要说明的是,k值、s值以及c值决定了密钥分享备份的强度,其中,k值越小、s值和c值越大,私钥越不容易丢失。
[0092] 此外,为了在恢复密钥时向好友账户表明用户实体账户与身份合约的关联关系,客户端在向好友客户端分享加密数据时,可以告知各好友客户端自己关联的身份合约,以使好友客户端记录下该关联关系。客户端也可以在用户实体账户关联的身份合约中记录挑战信息(例如以好友客户端的公钥加密的问题及答案)或者记录用户实体账户的标识(例如用户实体账户的身份证ID哈希值)。
[0093] 在需要恢复私钥时,客户端可从身份合约中查询获取至少k个加密数据块对应的目标好友账户的区块链地址,并根据区块链地址分别向这至少k个目标好友发送私钥恢复请求。各目标好友账户在接收到私钥恢复请求时对客户端的身份进行验证并在验证通过后,根据身份合约地址访问身份合约并从身份合约中获取到其加密的加密数据块,且对加密数据块解密后以用户实体账户指定的公钥加密存储回身份合约中。当客户端能够从身份合约中获取到k个或k个以上指定公钥加密的数据块后,以相关私钥解密即可得到解密的k份数据,并通过身份合约中记录的哈希值验证k份数据的有效性,在验证通过后应用预设算法(例如Shamir’s Secret Sharing算法)即可恢复用户实体账户的原始私钥。
[0094] 需要说明的是,上述各实施例提供的用户实体账户关联关系管理功能、用户实体账户关联关系仲裁功能、私钥备份与恢复功能等不限于加入身份合约的程序逻辑中,其也可以提取至其他程序实体中,本公开对此不做限定。
[0095] 在本公开的实施例中,基于上述账户统一方法,用户通过客户端在各应用服务器上完成注册后,可使用关联的身份合约地址作为账户标识在各应用平台上登陆,其具体登陆过程可以为:用户通过客户端向服务器发送登陆请求,在客户端上查询和选择与其实体账户的区块链地址关联的身份合约地址。客户端响应应用服务器的登陆挑战,其中,登陆挑战响应可以包括用户实体账户的挑战签名信息和身份合约地址。应用平台在接收到客户端发送的登陆挑战响应后,验证身份合约地址是否已注册以及基于挑战签名机制验证用户实体账户是否为身份合约的关联账户,若该身份合约地址已注册且用户实体账户为该身份合约的关联账户,则向客户端发送登陆成功响应;否则,拒绝该用户实体账户的登陆请求。
[0096] 与传统的用户密码登陆相比,本公开的上述实施例基于挑战签名机制进行登陆,应用服务器需要客户端发送的用户实体账户的签名信息来验证用户实体账户的身份。此外,客户端还可以集成生物认证等技术,例如虹膜解、指纹解锁、面部解锁等,可以避免用户输入密码。在生物认证成功后,客户端可以使用用户实体账户的私钥签名应用服务器的相关信息并发送给应用服务器,以供应用服务器进行挑战签名认证。
[0097] 在本公开的其他实施例中,基于上述账户统一方法,用户通过客户端在各应用服务器上完成注册后,还可以使用身份合约地址(即账户标识)实现在各应用服务器上的单点登录及注销。为了使该技术方案更加易于理解,下面结合图8对该技术方案进行详细说明。图8是本公开一示例性实施例示出的一种单点登陆及注销方法的信令交互示意图,该方法包括:
[0098] 在步骤S801中,客户端向第一应用服务器发送第一登陆请求,第一登陆请求包括用户实体账户的第一签名信息和与该用户实体账户关联的身份合约地址。
[0099] 其中,用户实体账户的第一签名信息可以是用户实体账户的私钥签名第一应用服务器的域名和当前时间等信息得到的。
[0100] 在步骤S802中,第一应用服务器在接收到客户端发送的登陆请求时,验证该身份合约地址是否已登陆。
[0101] 在步骤S803中,第一应用服务器在验证得出该身份合约地址未登陆时,根据身份合约地址查询区块链上的登陆信息合约,确定身份合约地址在其他可信任应用服务器上的登陆状态。
[0102] 其中,登陆信息合约是预先部署在区块链上的记录有各身份合约地址在各可信任应用服务器上的登陆状态的合约。
[0103] 在步骤S804中,若确定该身份合约地址在其他可信任应用服务器上的登陆状态为未登陆,第一应用服务器则根据身份合约地址和第一签名信息验证用户实体账户是否与身份合约地址关联。
[0104] 在步骤S805中,第一应用服务器在确定用户实体账户与身份合约地址关联时,向客户端发送登陆挑战页面。
[0105] 在步骤S806中,客户端使用身份合约地址响应第一应用服务器的挑战。
[0106] 在步骤S807中,第一应用服务器对客户端的挑战响应进行认证并在认证成功后将该身份合约信息在其上的登陆状态标记为已登陆。
[0107] 在本公开的实施例中,身份合约至少具有一个特定的接口,可用于判定用户实体账户是否和该身份合约关联。可选地,第一应用服务器可使用用户实体账户的公钥对第一签名信息进行签名验证,并在签名验证成功后,根据该身份合约地址查询相应的身份合约并通过该身份合约的接口查看该身份合约中记录的用户实体账户的区块链地址,以确定该第一签名信息所属的用户实体账户是否与该身份合约地址关联。
[0108] 在步骤S808中,第一应用服务器将该身份合约地址在其上的已登录状态记录至登陆信息合约中。
[0109] 在步骤S809中,第一应用服务器向客户端返回第一登陆成功响应。
[0110] 其中,第一登陆成功响应中可以包括第一应用服务器的会话ID。
[0111] 在步骤S810中,客户端向第二应用服务器发送第二登陆请求,第二登陆请求包括用户实体账户的第二签名信息和与该用户实体账户关联的身份合约地址。
[0112] 其中,用户实体账户的第二签名信息可以是用户实体账户的私钥签名第二应用服务器的域名和当前时间等信息得到的。
[0113] 在步骤S811中,第二应用服务器在接收到客户端发送的登陆请求时,验证该身份合约地址是否已登陆。
[0114] 在步骤S812中,第二应用服务器在验证得出该身份合约地址未登陆时,根据身份合约地址查询区块链上的登陆信息合约,确定身份合约地址在其他可信任应用服务器上的登陆状态。
[0115] 在步骤S813中,第二应用服务器查询到该身份合约地址在第一应用服务器上的登陆状态为已登陆,则根据身份合约地址和第二签名信息验证用户实体账户是否与该身份合约地址关联。
[0116] 其中,第二应用服务器根据身份合约地址和第二签名信息验证用户实体账户是否与身份合约地址关联的过程可参考步骤S805中第一应用服务器验证用户实体账户是否与身份合约地址关联的过程,此处不再赘述。
[0117] 在步骤S814中,在确定该用户实体账户与该身份合约地址关联时,第二应用服务器将该身份合约信息在其上的登陆状态标记为已登陆。
[0118] 在步骤S815中,第二应用服务器向客户端返回第二登陆成功响应。
[0119] 其中,第二登陆成功响应中可以包括第二应用服务器的会话ID。
[0120] 在步骤S816中,客户端向第二应用服务器发送注销请求,注销请求包括与用户实体账户关联的身份合约地址。
[0121] 在步骤S817中,第二应用服务器将该身份合约信息在其上的登陆状态标记为未登陆。
[0122] 在步骤S818中,第二应用服务器将该身份合约地址在其上的未登录状态记录至登陆信息合约中。
[0123] 在步骤S819中,第二应用服务器向客户端发送登陆挑战界面。
[0124] 在步骤S820中,第一应用服务器监听或者轮训查询登陆信息合约。
[0125] 在步骤S821中,第一应用服务器在获知该身份信息合约在第二应用服务器上的登陆状态为未登陆时,标记该身份合约在其上的登陆状态为未登陆。
[0126] 需要说明的是,在本公开的各实施例中,应用服务器可以是区块链上的应用服务器,也可以是区块链外的应用服务器。对于区块链上的应用服务器,其可通过身份合约的接口验证身份合约与用户实体账户的关联关系。对于区块链外的应用服务器,其可通过区块链相关的API接口访问、读写或调用区块链上的身份合约,验证身份合约与用户实体账户的关联关系。
[0127] 可见,采用上述方法,各个应用服务器可以有自己的登陆控制,用户使用身份合约地址在任一应用服务器上登陆后不需要与其他待登陆的应用平台进行凭证传递,在实现非中心化登陆和注销的同时增加了由客户端、多个应用平台及区块链组成的单点登陆及注销系统的鲁棒性。
[0128] 需要说明的是,在本公开的实施例中,任何一个互相信任的应用服务器都可以成为相关单点登陆及注销系统中的认证机构,同时,相互信任的应用服务器也可以不限制于同一企业。
[0129] 另外,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
[0130] 图9是根据本公开一示例性实施例示出的一种账户统一装置900的框图,所述装置900应用于应用服务器,所述装置900包括:
[0131] 第一注册请求接收模块901,用于接收客户端发送的注册请求,所述注册请求包括身份合约地址;
[0132] 第一账户标识确定模块902,用于将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
[0133] 可选地,所述装置900还包括:
[0134] 第一登陆请求接收模块903,用于接收所述客户端发送的登陆请求,所述登陆请求包括所述身份合约地址和所述用户实体账户的挑战签名信息;
[0135] 第一关联关系验证模块904,用于根据所述身份合约地址和所述挑战签名信息验证所述用户实体账户是否与所述身份合约地址关联;
[0136] 第一登陆成功响应模块905,用于在确定所述用户实体账户与所述身份合约地址关联且对所述挑战签名信息验证通过时,向所述客户端返回登陆成功响应。
[0137] 可选地,所述装置900还包括:
[0138] 第二登陆请求接收模块906,用于接收所述客户端发送的登陆请求,所述登陆请求包括所述身份合约地址和所述用户实体账户的签名信息;
[0139] 登陆状态确定模块907,用于根据所述身份合约地址查询所述区块链上的登陆信息合约,确定所述身份合约地址在其他可信任应用服务器上的登陆状态,其中,所述登陆信息合约是预先部署在所述区块链上的记录有各身份合约地址在各可信任应用服务器上的登陆状态的合约;
[0140] 第二关联关系验证模块908,用于在确定所述身份合约地址在所述其他可信任应用服务器上的登陆状态为已登陆时,根据所述身份合约地址和所述签名信息验证所述用户实体账户是否与所述身份合约地址关联;
[0141] 第二登陆成功响应模块909,用于在确定所述用户实体账户与所述身份合约地址关联时,向所述客户端返回登陆成功响应。
[0142] 可选地,所述装置900还包括:
[0143] 第三关联关系验证模块910,用于在确定所述身份合约地址在所述其他可信任应用服务器上的登陆状态为未登陆时,根据所述身份合约地址和所述签名信息验证所述用户实体账户是否与所述身份合约地址关联并对所述签名信息进行签名验证;
[0144] 第一登陆状态标记模块911,用于在确定所述用户实体账户与所述身份合约地址关联时,对所述用户实体账户进行挑战认证,并在认证通过后将所述身份合约地址在所述应用服务器上的登陆状态标记为已登陆并记录至所述登陆信息合约中。
[0145] 可选地,所述装置900还包括:
[0146] 注销请求接收模块912,用于接收所述客户端发送的注销请求,所述注销请求包括所述身份合约地址;
[0147] 第二登陆状态标记模块913,用于将所述身份合约地址在所述应用服务器上的登陆状态标记为未登陆并记录至所述登陆信息合约中。
[0148] 相应地,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权上述应用于实施上述方法实施例中提供的应用于应用服务器所示的账户统一方法。
[0149] 相应地,本公开实施例还提供一种账户统一装置,应用于应用服务器,包括上述计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
[0150] 图10是根据本公开另一示例性实施例示出的一种账户统一装置1000的框图,所述装置1000应用于应用服务器,所述装置1000包括:
[0151] 第二注册请求接收模块1001,用于接收客户端发送的注册请求,所述注册请求包括待注册的用户实体账户的区块链地址;
[0152] 第二身份合约创建模块1002,用于根据所述用户实体账户的区块链地址创建身份合约并与所述用户实体账户关联;
[0153] 第二身份合约部署模块1003,用于在区块链上部署所述身份合约,得到所述身份合约的身份合约地址;
[0154] 第二账户标识确定模块1004,用于将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识并将包括所述身份合约地址的注册成功响应发送给所述客户端。
[0155] 相应地,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权上述应用于实施上述方法实施例中提供的应用于应用服务器的账户统一方法。
[0156] 相应地,本公开实施例还提供一种账户统一装置,应用于应用服务器,包括上述计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
[0157] 图11是根据本公开一示例性实施例示出的一种账户统一装置1100的框图,所述装置1100应用于客户端,所述装置1100包括:
[0158] 第一身份合约创建模块1101,用于创建身份合约并将所述身份合约与用户实体账户关联;
[0159] 第一身份合约部署模块1102,用于在区块链上部署所述身份合约,得到所述身份合约的身份合约地址;
[0160] 第一注册请求发送模块1103,用于向应用服务器发送包括所述身份合约地址的注册请求,所述身份合约地址用于指示所述应用服务器将所述身份合约地址作为所述用户实体账户在所述应用服务器上的账户标识。
[0161] 可选地,所述装置1100还包括:
[0162] 登陆请求发送模块1104,用于向所述应用服务器发送登陆请求,所述登陆请求包括所述身份合约地址和签名信息,其中,所述身份合约地址和所述签名信息用于所述应用服务器确定所述用户实体账户与所述身份合约地址是否关联并对所述签名信息进行签名验证。
[0163] 可选地,所述身份合约还包括多个仲裁客户端的账户信息以及仲裁规则;
[0164] 所述装置1100还包括:
[0165] 实体账户创建模块1105,用于创建新用户实体账户;
[0166] 更换请求发送模块1106,用于根据所述多个仲裁客户端的账户信息分别向所述多个仲裁客户端发送实体账户更换请求,所述实体账户更换请求包括所述身份合约地址和所述新用户实体账户的区块链地址,其中,所述身份合约地址用于指示所述多个仲裁客户端向所述身份合约发送仲裁结果,所述新用户实体账户的区块链地址用于指示所述身份合约根据所述多个仲裁客户端的仲裁结果和所述仲裁规则将所述新用户实体账户与所述身份合约关联。
[0167] 可选地,所述装置1100还包括:
[0168] 私钥分块模块1107,用于根据预设算法将所述用户实体账户的私钥进行分块,得到n个数据块,其中,n≥2;
[0169] 哈希处理模块1108,用于分别对所述n个数据块进行哈希处理,得到所述n个数据块的哈希值;
[0170] 数据块加密模块1109,用于根据c个好友客户端的公钥对所述n个数据块中的s个数据块进行加密,得到s个加密数据块,其中,c≥1,n≥s≥k;
[0171] 信息写入模块1110,用于将所述s个加密数据块、所述c个好友客户端的区块链地址以及所述n个数据块的哈希值写入所述身份合约中。
[0172] 可选地,所述装置1100还包括:
[0173] 目标好友客户端地址获取模块1111,用于根据所述身份合约地址访问所述身份合约,获得所述s个加密数据块中至少k个加密数据块对应的目标好友客户端的区块链地址,其中,n≥k≥1;
[0174] 私钥恢复请求发送模块1112,用于根据所述至少k个目标好友客户端的区块链地址分别向所述至少k个目标好友客户端发送私钥恢复请求,所述私钥恢复请求用于指示所述至少k个目标好友客户端从所述身份合约中获取所述至少k个加密数据块并经解密和重新加密后存储至所述身份合约;
[0175] 私钥恢复模块1113,用于从所述身份合约中查询所述至少k个重新加密后的加密数据块和对应的所述哈希值并解密得到所述用户实体账户的私钥。
[0176] 相应地,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权上述应用于实施上述方法实施例中提供的应用于客户端的账户统一方法。
[0177] 相应地,本公开实施例还提供一种账户统一装置,应用于客户端,包括上述计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
[0178] 图12是根据本公开一示例性实施例示出的一种账户统一装置1200的框图,所述装置1200应用于客户端,所述装置1200包括:
[0179] 第二注册请求发送模块1201,用于向应用服务器发送注册请求,所述注册请求包括用户实体账户的区块链地址,所述区块链地址用于所述应用服务器根据所述区块链地址部署与所述用户实体账户关联的身份合约;
[0180] 注册成功响应接收模块1202,用于接收所述应用服务器发送的注册成功响应,所述注册请求包括与所述用户实体账户关联的身份合约地址。
[0181] 相应地,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权上述应用于实施上述方法实施例中提供的应用于客户端的账户统一方法。
[0182] 相应地,本公开实施例还提供一种账户统一装置,应用于客户端,包括上述计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
[0183] 需要说明的是,本领域的技术人员可以清楚地了解到,为描述的方便和简洁,针对上述各实施例所示的账户统一装置,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述功能单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0184] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈