本说明书涉及计算机软件,尤其涉及一种基于智能合约的身份管理方法、装置、电子设备和存储介质。
背景技术:
1、身份管理是一种说明和验证用户身份及其行为权限的方式,用于确保正确的用户能够适当地访问技术资源。传统的中心化身份管理系统或联邦制身份管理系统,面临中心节点易受攻击和单点故障的挑战;基于区块链的身份管理系统在私钥丢失时用户失去身份的控制权且难以找回且难以支持多个用户对一个身份进行共同管理。
2、因此,如何克服上述问题,在区块链架构基础上提出一种支持链上多方参与的身份管理方案,是亟待解决的技术问题。
技术实现思路
1、本说明书实施例的目的是针对上述问题,提供一种基于智能合约的身份管理方法、装置、电子设备和存储介质。
2、为解决上述技术问题,本说明书实施例是这样实现的:
3、第一方面,提出了一种基于智能合约的身份管理方法,适用于基于智能合约的身份管理系统;在区块链中部署并运行第一合约,所述第一合约为用于身份管理的智能合约且配置至少一个包括多个账户的账户池和至少一个包括多条规则的规则池;所述方法包括:
4、响应于用户组中至少一个用户发送的第一请求,调用并执行所述第一合约中配置的与所述第一请求相对应的函数;所述第一请求至少包括规则管理请求、账户管理请求、身份创建请求中的一种;
5、响应于至少一个待验证方发送的第二请求,调用并执行所述第一合约中配置的与所述第二请求相对应的函数;所述第二请求至少包括身份验证请求。
6、进一步地,当所述第一请求为所述身份创建请求时,调用并执行所述第一合约中配置的身份创建函数;所述身份创建函数用于创建分布式身份。
7、进一步地,一个所述分布式身份与一个所述账户池及一个所述规则池相对应。
8、进一步地,所述规则池至少包括规则池修改规则和账户池修改规则。
9、进一步地,当所述第一请求为所述规则管理请求时,调用并执行所述第一合约中配置的规则管理函数;所述规则管理函数用于依据所述规则池修改规则对所述规则池进行维护操作,对所述规则池进行维护操作包括对所述规则的新增、修改、删除中的至少一种。
10、进一步地,所述规则的组成包括:适用于所述规则的对象或范围,和/或执行所述规则对应的操作时所需确认账户数目或特定账户,和/或所述规则的具体限定内容。
11、进一步地,当所述第一请求为所述账户管理请求时,调用并执行所述第一合约中配置的账户管理函数;所述账户管理函数用于依据所述账户池修改规则对所述账户池进行维护操作,对所述账户池进行维护操作包括对所述账户的新增、删除中的至少一种。
12、进一步地,一个所述用户与所述账户池中的一个或多个所述账户相对应,且一个所述账户与一个所述用户相对应。
13、进一步地,当所述第二请求为所述身份验证请求时,调用并执行所述第一合约的身份验证函数;所述身份验证函数用于进行身份验证并将身份验证结果发送至所述待验证方。
14、进一步地,调用并执行所述第一合约时,依据相应的所述规则,由一个或多个所述用户通过指定验证方式进行签名确认,所述指定验证方式包括私钥验证方式。
15、进一步地,还包括:响应于监管方发送的第三请求,调用并执行所述第一合约中配置的与所述第三请求相对应的函数;所述第三请求至少包括身份监管请求。
16、进一步地,当所述第三请求为所述身份监管请求时,调用并执行所述第一合约中配置的身份监管函数;所述身份监管函数用于对调用所述第一合约的执行结果进行监控和审计,并依据监控和审计结果对相应身份所拥有的权限进行处理。
17、第二方面,提出一种基于智能合约的身份管理装置,适用于基于智能合约的身份管理系统;在区块链中部署并运行第一合约,所述第一合约为用于身份管理的智能合约且配置有至少一个账户池和至少一个规则池;所述装置包括:
18、第一模块,能够响应于用户组中至少一个用户发送的第一请求,调用并执行所述第一合约中配置的与所述第一请求相对应的函数;所述第一请求至少包括规则管理请求、账户管理请求、身份创建请求中的一种;
19、第二模块,能够响应于至少一个待验证方发送的第二请求,调用并执行所述第一合约中配置的与所述第二请求相对应的函数;所述第二请求至少包括身份验证请求。
20、进一步地,还包括:第三模块,能够响应于监管方发送的第三请求,调用并执行所述第一合约中配置的与所述第三请求相对应的函数;所述第三请求至少包括身份监管请求。
21、第三方面,提出了一种电子设备,包括:处理器;以及
22、被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
23、第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
24、本说明书可以达到至少以下技术效果:
25、本发明在区块链基础上采用智能合约构建身份管理方案,支持用户组、待验证方和监管方等多方同时调用所述智能合约对账号管理、规则管理、授权管理、审计管理和应用管控,实现多个用户对一个虚拟身份的管理,可满足不同应用场景下的复杂需求;同时,通过调用执行智能合约进行账户增减和修改验证逻辑,可有效降低私钥丢失或泄露对系统安全性造成的影响。
1.一种基于智能合约的身份管理方法,其特征在于,适用于基于智能合约的身份管理系统;在区块链中部署并运行第一合约,所述第一合约为用于身份管理的智能合约且配置至少一个包括多个账户的账户池和至少一个包括多条规则的规则池;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,当所述第一请求为所述身份创建请求时,调用并执行所述第一合约中配置的身份创建函数;所述身份创建函数用于创建分布式身份。
3.根据权利要求2所述的方法,其特征在于,一个所述分布式身份与一个所述账户池及一个所述规则池相对应。
4.根据权利要求1所述的方法,其特征在于,所述规则池至少包括规则池修改规则和账户池修改规则。
5.根据权利要求4所述的方法,其特征在于,当所述第一请求为所述规则管理请求时,调用并执行所述第一合约中配置的规则管理函数;所述规则管理函数用于依据所述规则池修改规则对所述规则池进行维护操作,对所述规则池进行维护操作包括对所述规则的新增、修改、删除中的至少一种。
6.根据权利要求5所述的方法,其特征在于,所述规则的组成包括:适用于所述规则的对象或范围,和/或执行所述规则对应的操作时所需确认账户数目或特定账户,和/或所述规则的具体限定内容。
7.根据权利要求4所述的方法,其特征在于,当所述第一请求为所述账户管理请求时,调用并执行所述第一合约中配置的账户管理函数;所述账户管理函数用于依据所述账户池修改规则对所述账户池进行维护操作,对所述账户池进行维护操作包括对所述账户的新增、删除中的至少一种。
8.根据权利要求7所述的方法,其特征在于,一个所述用户与所述账户池中的一个或多个所述账户相对应,且一个所述账户与一个所述用户相对应。
9.根据权利要求1所述的方法,其特征在于,当所述第二请求为所述身份验证请求时,调用并执行所述第一合约的身份验证函数;所述身份验证函数用于进行身份验证并将身份验证结果发送至所述待验证方。
10.根据权利要求1至9任一项所述的方法,其特征在于,调用并执行所述第一合约时,依据相应的所述规则,由一个或多个所述用户通过指定验证方式进行签名确认,所述指定验证方式包括私钥验证方式。
11.根据权利要求1所述的方法,其特征在于,还包括:响应于监管方发送的第三请求,调用并执行所述第一合约中配置的与所述第三请求相对应的函数;所述第三请求至少包括身份监管请求。
12.根据权利要求11所述的方法,其特征在于,当所述第三请求为所述身份监管请求时,调用并执行所述第一合约中配置的身份监管函数;所述身份监管函数用于对调用所述第一合约的执行结果进行监控和审计,并依据监控和审计结果对相应身份所拥有的权限进行处理。
13.一种基于智能合约的身份管理装置,其特征在于,适用于基于智能合约的身份管理系统;在区块链中部署并运行第一合约,所述第一合约为用于身份管理的智能合约且配置有至少一个账户池和至少一个规则池;所述装置包括:
14.根据权利要求13所述的装置,其特征在于,还包括:
15.一种电子设备,其特征在于,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使得所述处理器执行权利要求1至12任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1至12任一项所述的方法。