本公开总体上涉及信息技术,更具体地涉及用于生成、验证去中心化身份的方法和装置、以及存储介质。
背景技术:
1、随着互联网的出现和普及,传统的身份有了另外一种表现形式,即数字身份。一般认为,数字身份的演进经历了四个阶段,分别是:中心化身份、联盟身份、以用户为中心的身份以及自我主权身份。去中心化身份是一种自我主权身份,它完全由所有者控制,不需要任何中心化的第三方参与,这意味着关于所有者的身份的任何信息都完全掌握在所有者自己的手中,没有所有者的许可,任何人都无法获取这些信息。
2、如何更安全的使用去中心化身份始终是关注的重点。
技术实现思路
1、在下文中给出了关于本公开的简要概述,以便提供关于本公开的一些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。
2、本公开提出用于生成、验证去中心化身份的方法和装置、以及存储介质,提供高效、安全的去中心化身份解决方案。
3、根据本公开的一个方面,提供一种用于生成去中心化身份的方法,包括:基于用户的真实身份信息为用户生成去中心化身份did标识符;向用户签发用于进行数字签名的私钥;使用第一密钥对所述私钥进行加密并存储被加密后的所述私钥,其中所述第一密钥被划分成第一数量的部分并分别发送给第一数量的密钥持有者;以及为用户生成did文档,所述did文档包括所述did标识符和所述第一数量的密钥持有者的列表。
4、在本公开的实施例中,还包括:响应于从所述用户接收到恢复所述私钥的请求,基于所述用户的所述did标识符从所述did文档中获得所述第一数量的密钥持有者的列表;从所述第一数量的密钥持有者恢复所述第一密钥;使用所述第一密钥对被加密后的所述私钥进行解密,以得到所述私钥;以及向所述用户签发经解密得到的所述私钥。
5、在本公开的实施例中,所述从所述第一数量的密钥持有者恢复所述第一密钥包括:从第二数量的所述密钥持有者接收所述第一密钥的第二数量的部分,其中所述第二数量小于等于第一数量;以及响应于确定所述第二数量大于预设值,基于所述第一密钥的第二数量的部分,恢复所述第一密钥。
6、在本公开的实施例中,还包括:验证所述用户的真实身份信息;以及再次基于所述用户的真实身份信息生成所述did标识符。
7、在本公开的实施例中,所述向用户签发用于进行数字签名的私钥包括:将所述私钥写入所述用户的用户识别装置中,其中,所述did文档还包括所述用户识别装置的识别码,其中,所述方法还包括:将所述did标识符写入所述用户识别装置中。
8、在本公开的实施例中,所述用户识别装置包括用户识别模块sim卡,所述用户识别装置的识别码包括所述sim卡的国际移动用户识别码imsi。
9、在本公开的实施例中,还包括:将所述did文档存储于区块链,其中被加密后的所述私钥被存储至签发机构的服务器。
10、在本公开的实施例中,所述did标识符包括所述用户的真实身份信息的哈希运算值。
11、在本公开的实施例中,所述did文档还包括用于进行所述数字签名的公钥,其中所述公钥与所述私钥一起被生成,其中,所述方法还包括:将所述did文档存储于区块链。
12、根据本公开的另一个方面,提供一种用于验证去中心化身份的方法,包括:从用户接收基于私钥的数字签名;从所述用户接收去中心化身份did验证请求,所述请求包含所述用户的去中心化身份did标识符,所述did标识符是基于用户的真实身份信息生成的;基于所述did验证请求中的所述did标识符,获取所述用户的did文档;取得did文档中的所述用户的公钥;使用所述公钥对于所述基于私钥的数字签名进行验证;以及根据对于所述数字签名进行验证的结果,验证所述用户的去中心化身份。
13、在本公开的实施例中,所述did验证请求还包括所述用户的用户识别装置的识别码,所述方法还包括:取得所述用户的所述did文档中的识别码;以及将所述did验证请求中的识别码与所述did文档中的识别码进行比较;其中,所述根据对于所述数字签名进行验证的结果验证所述用户的去中心化身份包括:在所述数字签名通过验证并且所述did验证请求中的识别码与所述did文档中的识别码相同时,所述用户的去中心化身份通过验证。
14、在本公开的实施例中,所述用户识别装置是用户识别模块sim卡,所述识别码是所述sim卡的国际移动用户识别码imsi。
15、在本公开的实施例中,所述获取所述用户的did文档包括从区块链获取所述did文档。
16、根据本公开的一个方面,提供一种去中心化身份生成装置,包括:存储器,其上存储有指令;以及处理器,被配置为执行存储在所述存储器上的指令,以执行上述的用于生成去中心化身份的方法。
17、根据本公开的一个方面,提供一种去中心化身份验证装置,包括:存储器,其上存储有指令;以及处理器,被配置为执行存储在所述存储器上的指令,以执行上述的用于验证去中心化身份的方法。
18、根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行上述的用于生成去中心化身份的方法。
19、根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行上述的用于验证去中心化身份的方法。
20、根据本公开的实施例,提供高效、安全的去中心化身份解决方案。
1.一种用于生成去中心化身份的方法,包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求2所述的方法,其中所述从所述第一数量的密钥持有者恢复所述第一密钥包括:
4.根据权利要求2所述的方法,还包括:
5.根据权利要求1所述的方法,其中,所述向用户签发用于进行数字签名的私钥包括:
6.根据权利要求5所述的方法,其中所述用户识别装置包括用户识别模块sim卡,所述用户识别装置的识别码包括所述sim卡的国际移动用户识别码imsi。
7.根据权利要求1-6中任一项所述的方法,还包括:
8.根据权利要求1所述的方法,其中,所述did标识符包括所述用户的真实身份信息的哈希运算值。
9.根据权利要求1所述的方法,其中,所述did文档还包括用于进行所述数字签名的公钥,其中所述公钥与所述私钥一起被生成。
10.一种用于验证去中心化身份的方法,包括:
11.根据权利要求10所述的方法,其中,所述did验证请求还包括所述用户的用户识别装置的识别码,
12.根据权利要求11所述的方法,其中,
13.根据权利要求10或11所述的方法,所述获取所述用户的did文档包括从区块链获取所述did文档。
14.一种去中心化身份生成装置,包括:
15.一种去中心化身份验证装置,包括:
16.一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1至9中的任意一项所述的用于生成去中心化身份的方法。
17.一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求10至13中的任一项所述的用于验证去中心化身份的方法。