掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的身份验证方法及客户端、服务器

文献发布时间:2023-06-19 12:05:39


基于区块链的身份验证方法及客户端、服务器

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于区块链的身份验证方法及客户端、服务器。

背景技术

传统身份管理权限系统,大多采用单点登录的方式实现,会收集用户的姓名、身份证号、电话、邮箱等多数隐私信息,可能会存在隐私泄露的问题。但是DID(分布式身份标识、Decentralized Identifiers)分布式身份管理无需收集用户较多隐私信息而达到授权管理。

现有技术中的身份管理权限系统存在其缺陷:身份孤岛问题:①身份信息只存储在对应的主管机构中,互相之间联系较弱。②不同身份系统中的用户身份数据由各系统单独存储,跨域认证效率低。身份隐私和自主权问题:①身份服务意味着对第三方提供身份信息,目前的技术手段无法保证提供的信息不被泄露。②数据持有者无法真正控制自己的数据。身份信息权威性问题:准确的数据由各个主管部门掌握。尤其在B端数据方面,没有开放的系统直接连入政府系统的案例。因此,目前市面上的企业身份核对服务数据大多滞后,无法保证权威性。

因此,如何提供一种身份验证方案,在方便、权威地验证身份的同时,能够保持身份数据的隐私性是本领域技术人员亟待解决的技术问题。

发明内容

本发明提供一种基于区块链的身份验证方法及客户端、服务器,在方便、权威地验证身份的同时,能够保持身份数据的隐私性。

第一方面,本发明提供一种基于区块链的身份验证方法,应用于DID客户端,所述方法包括:

响应于用户对目标应用服务器的登录操作,向所述目标应用服务器发送访问请求;

接收所述目标应用服务器发送的需求VC证书(可验证声明,Verifiable Claim)列表,并确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;

在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,则向所述目标应用服务器提供所述本地VC证书列表以获得所述目标应用服务器的使用权限;

其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

进一步地,还包括:

在所述需求VC证书列表与本地VC证书列表不满足预设关系的情况下,基于所述需求VC证书列表与本地VC证书列表确定目标需求证书;

向目标发证服务器发送包括所述目标需求证书的发证请求,以获得所述目标需求证书。

进一步地,所述响应于用户对目标应用服务器的登录操作,向所述目标应用服务器发送访问请求包括:

接收用户在所述DID客户端的登录输入,所述登录输入包括:账号以及密码;

响应于所述登录输入,从区块链网络中获取所述用户关联的本地VC证书列表;

接收用户对目标应用服务器的登录操作;

响应于所述登录操作,向目标应用服务器发送访问请求。

进一步地,所述VC证书包括:籍贯证书、性别证书、年龄区间证书、身份有效期证书、颁发机构证书以及年龄满预设值证书。

进一步地,所述确定所述需求VC证书列表与本地VC证书列表是否满足预设关系包括:

确定同时存在于所述需求VC证书列表与本地VC证书列表的目标VC证书;

获取所述目标VC证书对应的权重值,并对所述目标VC证书进行加权,得到加权值;

在所述加权值不小于预设阈值的情况下,确定所述需求VC证书列表与本地VC证书列表满足预设关系。

第二方面,本发明提供一种基于区块链的身份验证方法,应用于应用服务器,所述方法包括:

接收DID客户端发送的访问请求;

确定与所述访问请求对应的需求VC证书列表;

将所述需求VC证书列表发送到所述DID客户端,以便所述DID客户端确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;

接收所述DID客户端发送的本地VC证书列表,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,向所述DID客户端提供使用权限;

其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

进一步地,还包括:

接收用户对应用服务器的管理输入;

响应于所述管理输入,对所述应用服务器上的应用方账号进行新增、修改或查询操作。

第三方面,本发明提供一种基于区块链的身份验证方法,应用于发证服务器,所述方法包括:

接收DID客户端发送的发证请求,所述发证请求包括目标证书以及申请条件;

响应于所述发证请求,对所述目标证书以及申请条件进行审核;

在审核通过的情况下,生成并发送目标证书至所述DID客户端。

进一步地,还包括:

接收用户的数据查看输入;

响应于所述数据查看输入,显示至少一个以下数据:用户总数、证书总数、应用服务器总数、发证服务器总数、历史授权总数、证书申请量、历史交易、区块高度、总运行时间、正常或总节点数、交易总数、空间占用量、历史峰值。

进一步地,还包括:

接收用户对发证服务器的管理输入;

响应于所述管理输入,对所述发证服务器的发证方账号进行新增、修改或查询操作。

进一步地,还包括:

接收用户对VC证书的管理输入;

响应于所述管理输入,对所述VC证书进行新增、修改或查询操作。

第四方面,本发明提供一种DID客户端,包括:

访问请求模块,用于响应于用户对目标应用服务器的登录操作,向所述目标应用服务器发送访问请求;

关系判断模块,用于接收所述目标应用服务器发送的需求VC证书列表,并确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;

权限获得模块,用于在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,则向所述目标应用服务器提供所述本地VC证书列表以获得所述目标应用服务器的使用权限;

其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

第五方面,本发明提供一种应用服务器,包括:

访问接收模块,用于接收DID客户端发送的访问请求;

证书确定模块,用于确定与所述访问请求对应的需求VC证书列表;

列表发送模块,用于将所述需求VC证书列表发送到所述DID客户端,以便所述DID客户端确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;

列表接收模块,用于接收所述DID客户端发送的本地VC证书列表,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,向所述DID客户端提供使用权限;

其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

第六方面,本发明提供一种发证服务器,包括:

发证请求模块,用于接收DID客户端发送的发证请求,所述发证请求包括目标证书以及申请条件;

条件审核模块,用于响应于所述发证请求,对所述目标证书以及申请条件进行审核;

生成发送模块,用于在审核通过的情况下,生成并发送目标证书至所述DID客户端。

第七方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于区块链的身份验证方法的步骤。

第八方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于区块链的身份验证方法的步骤。

本发明提供一种基于区块链的身份验证方法及客户端、服务器,当用户在使用目标应用服务器时,通过VC证书列表来确定用户是否能够获取到权限,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,获得所述目标应用服务器的使用权限,从而能够使用VC证书进行身份验证,在方便、权威地验证身份的同时,能够保持身份数据的隐私性。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于区块链的身份验证方法的流程示意图之一;

图2为本发明实施例提供的一种基于区块链的身份验证方法的流程示意图之二;

图3为本发明实施例提供的一种基于区块链的身份验证方法的流程示意图之三;

图4为本发明实施例提供的一种基于区块链的身份验证方法的三方交互图;

图5为本发明实施例提供的基于区块链的身份验证方法的硬件实施图;

图6为本发明实施例提供的基于区块链的身份验证方法的数据看板的界面示意图;

图7为本发明实施例提供的基于区块链的身份验证方法的发证方账户管理流程示意图;

图8为本发明实施例提供的基于区块链的身份验证方法的应用方账户管理流程示意图;

图9为本发明实施例提供的基于区块链的身份验证方法的发证方证书管理的界面示意图之一;

图10为本发明实施例提供的基于区块链的身份验证方法的发证方证书管理的界面示意图之二;

图11为本发明实施例提供的基于区块链的身份验证方法的应用方场景管理的界面示意图;

图12为本发明实施例提供的基于区块链的身份验证方法的一种VC证书的组成示意图;

图13为本发明实施例提供的一种DID客户端的组成示意图;

图14为本发明实施例提供的一种应用服务器的组成示意图;

图15为本发明实施例提供一种发证服务器的组成示意图;

图16为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合图1-图3描述本发明的一种基于区块链的身份验证方法

图1为本发明实施例提供的一种基于区块链的身份验证方法的流程示意图之一;图2为本发明实施例提供的一种基于区块链的身份验证方法的流程示意图之二;图3为本发明实施例提供的一种基于区块链的身份验证方法的流程示意图之三。

在本发明一种具体实施方式中,本发明实施例提供一种基于区块链的身份验证方法,应用于DID客户端,所述方法包括:

步骤110:响应于用户对目标应用服务器的登录操作,向所述目标应用服务器发送访问请求。

在本发明实施例中,首先用户在需要对目标应用服务器的服务时,可以首先在DID客户端输入自己的密码和账户,当然也可以是其他的能够证明用户身份的内容,例如指纹、虹膜等生物信息,DID客户端接收用户在所述DID客户端的登录输入,所述登录输入包括:账号以及密码;响应于所述登录输入,从区块链网络中获取所述用户关联的本地VC证书列表;接收用户对目标应用服务器的登录操作;响应于所述登录操作,向目标应用服务器发送访问请求。

步骤120:接收所述目标应用服务器发送的需求VC证书列表,并确定所述需求VC证书列表与本地VC证书列表是否满足预设关系。

在一种实施例中,可以利用加权的方式来确定需求VC证书列表与本地VC证书列表是否满足预设关系,具体地,可以首先确定同时存在于所述需求VC证书列表与本地VC证书列表的目标VC证书;获取所述目标VC证书对应的权重值,并对所述目标VC证书进行加权,得到加权值;在所述加权值不小于预设阈值的情况下,确定所述需求VC证书列表与本地VC证书列表满足预设关系。

例如,实践中,可以将应用场景和该场景下的证书都设置有权重,只要用户拥有的应用方所需证书的权重之和大于或等于应用场景的权重,即可满足该应用场景的认证条件。例如某应用场景的权重为3,它所需要的证书A的权重为2,证书B的权重为2,证书C的权重为1,证书D的权重为1。某用户只拥有B、C、D三个证书。用DID扫码后,只要授权B+C或者B+C+D即可满足该应用场景的认证条件。

步骤130在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,则向所述目标应用服务器提供所述本地VC证书列表以获得所述目标应用服务器的使用权限;其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

当然,在实践中,也可以存在需求VC证书列表与本地VC证书列表不满足预设关系的情况,这时DID客户端可以基于所述需求VC证书列表与本地VC证书列表确定目标需求证书,也就是确定DID客户端当前缺少的目标VC证书;并且向目标发证服务器发送包括所述目标需求证书的发证请求,以获得所述目标需求证书。

在本发明的又一实施例中,本发明实施例提供一种基于区块链的身份验证方法,应用于应用服务器,所述方法包括:

步骤210:接收DID客户端发送的访问请求;

当DID客户端需要应用服务器的某项服务时,需要对目标应用服务器的服务时,用户可以首先在DID客户端输入自己的密码和账户,当然也可以是其他的能够证明用户身份的内容,例如指纹、虹膜等生物信息,DID客户端接收用户在所述DID客户端的登录输入,所述登录输入包括:账号以及密码;响应于所述登录输入,从区块链网络中获取所述用户关联的本地VC证书列表;接收用户对目标应用服务器的登录操作;响应于所述登录操作,向目标应用服务器发送访问请求,应用服务器接收该访问请求。

步骤220:确定与所述访问请求对应的需求VC证书列表;

由于应用服务器能够提供大量不同类型的服务,而不同的服务所需要的VC证书也不仅相同,在应用服务器在可以预先设定不同类型的服务所需要的VC证书的对应表,通过查询对应表可以确定与所述访问请求对应的需求VC证书列表。

步骤230:将所述需求VC证书列表发送到所述DID客户端,以便所述DID客户端确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;

应用服务器将需求VC证书列表发送到所述DID客户端,DID客户端自身可以判断自己是否满足条件,例如,如果需求VC证书列表中的每个VC证书都在本地VC证书列表中,那么说明DID客户端的用户具有使用应用服务器的该项服务器的权限,这时DID客户端可以将需要的VC整数发送到应用服务器,以便应用服务器进行验证。

步骤240:接收所述DID客户端发送的本地VC证书列表,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,向所述DID客户端提供使用权限;其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

应用服务器在接收到DID客户端发送的本地VC证书列表,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,向所述DID客户端提供使用权限,如果所述需求VC证书列表与本地VC证书列表不满足预设关系的情况下,则禁止所述DID客户端访问应用服务器的目标服务。

在本发明的一种具体实施例中,为了实现对应用放武器上的应用方账户的管理,还可以接收用户对应用服务器的管理输入;响应于所述管理输入,对所述应用服务器上的应用方账号进行新增、修改或查询操作。例如,应用方账户管理页面展示应用方的编号、机构名称、公钥、创建日期,按创建日期排序展示,每个页面展示十条记录。应用方账户可以新增、修改和查询。其中,公钥用于唯一标识每个应用方,不可重复。机构名称可修改,在修改页面展示该应用方所需的证书,证书不可编辑。新建应用方账户成功后,会生成一个链账户及对应的公私钥对。

在本发明的又一具体实施方式中,本发明实施例提供一种基于区块链的身份验证方法,应用于发证服务器,所述方法包括:

步骤310:接收DID客户端发送的发证请求,所述发证请求包括目标证书以及申请条件;

步骤320:响应于所述发证请求,对所述目标证书以及申请条件进行审核;

步骤330:在审核通过的情况下,生成并发送目标证书至所述DID客户端。

DID客户端存在需求VC证书列表与本地VC证书列表不满足预设关系的情况,这时DID客户端可以基于所述需求VC证书列表与本地VC证书列表确定目标需求证书,也就是确定DID客户端当前缺少的目标VC证书;并且向目标发证服务器发送包括所述目标需求证书的发证请求,以获得所述目标需求证书。这时DID客户端向发证服务器发送发证请求,并且将需要的申请条件一并发送,从而让发证服务器进行审核和发证。

在本发明的一种实施例中,为了便于进行数据查看,还可以设置数据看板,数据看板第一部分包括注册用户总数、证书总数(指系统里发证方提供的证书数量之和)、应用方总数、发证方总数、历史授权总数、证书申请量。数据看板第二部分包括历史交易、区块高度、总运行时间、正常/总节点数、交易总数、空间占用量、历史峰值TPS。具体地,用户在使用时,可以接收用户的数据查看输入;响应于所述数据查看输入,显示至少一个以下数据:用户总数、证书总数、应用服务器总数、发证服务器总数、历史授权总数、证书申请量、历史交易、区块高度、总运行时间、正常或总节点数、交易总数、空间占用量、历史峰值。

在本发明的一种实施例中,为了便于对发证方的账号进行管理,还可以设置发证方账户管理页面,发证方账户管理页面展示发证方的编号、机构ID、机构名称、公钥、创建日期,按照创建日期由近及远展示,每个页面展示十条记录。发证方账户可以新增、修改和查询。其中,机构ID用于唯一标识每个发证方,不可重复。机构名称可以修改。新建发证方账户成功后,会生成一个链账户以及对应的公私钥对。具体地,可以接收用户对发证服务器的管理输入;响应于所述管理输入,对所述发证服务器的发证方账号进行新增、修改或查询操作。

在本发明又一实施例中,还可以对已经发出的VC整数进行管理,例如修改,增加等,具体地可以接收用户对VC证书的管理输入;响应于所述管理输入,对所述VC证书进行新增、修改或查询操作。

请参考图4,图4为本发明实施例提供的一种基于区块链的身份验证方法的三方交互图。

具体地,持有者为用户,在DID客户端进行操作,应用者为应用服务器,发证者为发证服务器。具体的交互步骤如下:

1.用户向应用者请求访问系统的权限;

2.应用者反馈提供应用服务所需要的VC证书列表;

3.身份持有者检查自身的VC列表。如满足条件直接进入步骤7,不满足条件进入步骤4;

4.选择发证者,提供相关信息,申请更多VC,此过程发证者可以收取费用;

5.发证者根据持有者提供的信息,判断是否提供相关的VC证明;

6.将VC证明发放给持有者,发送前加入发证者的DID签名;

7.身份的持有者向应用者提供相关的VC列表;

8.验证VC列表的签名,符合要求的话允许身份持有者进入系统或向其提供服务。

注:VC代表持有者身份特征证书,一个持有者可以持有多份VC。每个VC代表不同的含义,且多个VC只能描述持有者的特征,无法判断持有者真实身份。

请参考图5,图5为本发明实施例提供的基于区块链的身份验证方法的硬件实施图。

基于区块链的身份验证方法的硬件系统整体分为三个主要层级,分别为基础层、服务层与应用层。在功能拓展后,身份链将不仅仅是为了帮助BaaS组网,而是可以作为独立的系统对外提供一系列的功能和服务。三层各司其职,每一层的主要功能如下:

对于基础层,基础层负责整个身份链平台的基础资源,包括对于各个云资源的链接,由于身份链可能会部署至任何地点,所以与BaaS平台一致,需要拥有多云部署能力。目前身份链底层采用Fabric,未来考虑切换至JD Chain或者与JD Chain形成跨链。同时基础层中将有一些身份和证书的基本功能,包括身份的新增、查询和修改以及证书的发放、查询和更新。

对于服务层,服务层主要提供身份链系统的各种服务组件,包括验证服务、接口服务以及身份链中台。验证服务主要提供身份的验证、亮证和登录功能,方便外部系统对接使用。接口服务主要对接外部已有的身份验证数据,使其能够快速进入身份链环境。身份链中台用来配置应用层各类功能,包括身份验证页面以及数据字段的配置等。

对于应用层,应用层直接为用户提供服务,除基础的身份验证、亮证、统一登录外,身份链本身可以对接至不同的政府应用中,为政务电子化、合规审计、应急物资等场景提供身份串联服务。同时,身份链提供登录页面,为用户提供企业的信用报告,并且在加入硬件身份管理功能后,还可以通过此页面验证IOT设备身份。

请参考图6,图6为本发明实施例提供的基于区块链的身份验证方法的数据看板的界面示意图。

基于区块链的身份验证方法具体还包括数据监控看板、账户管理、证书管理3大模块。其中,账户管理包括发证方和应用方账户管理;证书管理也包括发证方和应用方的证书。

数据看板第一部分包括注册用户总数、证书总数(指系统里发证方提供的证书数量之和)、应用方总数、发证方总数、历史授权总数、证书申请量。第二部分包括历史交易、区块高度、总运行时间、正常/总节点数、交易总数、空间占用量、历史峰值TPS。

请参考图7,图7为本发明实施例提供的基于区块链的身份验证方法的发证方账户管理流程示意图。

在本发明实施例中,发证方账户管理页面展示发证方的编号、机构ID、机构名称、公钥、创建日期,按照创建日期由近及远展示,每个页面展示十条记录。发证方账户可以新增、修改和查询。其中,机构ID用于唯一标识每个发证方,不可重复。机构名称可以修改。新建发证方账户成功后,会生成一个链账户以及对应的公私钥对。

请参考图8,图8为本发明实施例提供的基于区块链的身份验证方法的应用方账户管理流程示意图。

在本发明实施例中,应用方账户管理页面展示应用方的编号、机构名称、公钥、创建日期,按创建日期排序展示,每个页面展示十条记录。应用方账户可以新增、修改和查询。其中,公钥用于唯一标识每个应用方,不可重复。机构名称可修改,在修改页面展示该应用方所需的证书,证书不可编辑。新建应用方账户成功后,会生成一个链账户及对应的公私钥对。

请参考图9,图9为本发明实施例提供的基于区块链的身份验证方法的发证方证书管理的界面示意图之一;图10为本发明实施例提供的基于区块链的身份验证方法的发证方证书管理的界面示意图之二。

在本发明实施例中,发证方证书管理页面展示发证方证书的编号、发证方、证书名称、创建日期和有效期。按照创建日期由近及远展示,每个页面展示十条记录。可以新增、修改和查询。

具体,可以点击“新增发证方证书”时,需要指定发证方、证书名称、证书ID和有效期,并上传后续在小程序中显示为证书头像的图片,可选填项为“描述”和“是否隐藏”(默认为否)。其中,证书ID为证书的唯一标识,不可重复。“是否隐藏”字段决定证书只对指定用户可见,若选择“是”隐藏,则必须指定可见用户的DID。填写完毕点击确认后需通过弹窗方式进行二次确认,提醒用户核对信息填写是否正确。点击“证书名称”可以查看证书详情。<详情>页面字段同<新增发证方证书>页面。点击“修改”可以修改证书的相关信息,发证方名称和证书ID不可修改。

请参考图11,图11为本发明实施例提供的基于区块链的身份验证方法的应用方场景管理的界面示意图。

在本发明实施例中,应用方证书按应用场景进行管理。页面展示应用场景的编号、所涉及证书数量、创建日期和有效期。按照创建日期由近及远展示,每个页面展示十条记录。可以新增、修改和查询。

点击“新建应用场景”时,需要指定应用场景名称、有效期,然后可以在系统已有的发证方提供的证书中选择所需证书。填写完毕点击确认后需通过弹窗方式进行二次确认,提醒用户核对信息填写是否正确。

而且还可以对VC证书的权重进行设置,具体的权重设置逻辑如下:“权重”是可选项,如不指定则默认为1。每个应用场景和该场景下的证书都有权重。只要用户拥有的应用方所需证书的权重之和大于或等于应用场景的权重,即可满足该应用场景的认证条件。例如某应用场景的权重为3,它所需要的证书A的权重为2,证书B的权重为2,证书C的权重为1,证书D的权重为1。某用户只拥有B、C、D三个证书。他用DID扫码后,只要授权B+C或者B+C+D即可满足该应用场景的认证条件。另外,应用场景的失效日期不能晚于其所需证书的失效日期。

请参考图12,图12为本发明实施例提供的基于区块链的身份验证方法的一种VC证书的组成示意图。

在一种实施例中,所述VC证书包括:籍贯证书、性别证书、年龄区间证书、身份有效期证书、颁发机构证书以及年龄满预设值证书。当然,也可以包括其他的能够证明用户的特征属性的VC整数。

本发明实施例提供的基于区块链的身份验证方法区块链上的身份验证方法,确保参与者链上身份的独立性;跨链身份授权管理,发证方、应用方、持有者三方互认形成身份管理闭环;链上身份信息不可篡改,审计节点可以进行链上审计监管、授权,具有以下优点:(1)证书细分,减少出证流程,节省取证时间:用户可以根据场景需求有针对性地同时进行授权多个证书而不需要透露其他信息;一个身份可以有各种不同的证书,但是这些证书的集合不能够确定具体的人员。(2)发证方之间相互认证,提高身份验证和管理的权威性;(3)发证方与应用方互相认证,对身份链形成管理自治闭环。

下面对本发明提供DID客户端、应用服务器、发证服务器进行描述,下文描述的DID客户端、应用服务器、发证服务器与上文描述的基于区块链的身份验证方法可相互对应参照。

请参考图13,图13为本发明实施例提供的一种DID客户端的组成示意图。

在本发明又一具体实施方式中,本发明实施例提供一种DID客户端1300,包括:

访问请求模块1310,用于响应于用户对目标应用服务器的登录操作,向所述目标应用服务器发送访问请求;

关系判断模块1320,用于接收所述目标应用服务器发送的需求VC证书列表,并确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;

权限获得模块1330,用于在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,则向所述目标应用服务器提供所述本地VC证书列表以获得所述目标应用服务器的使用权限;

其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

请参考图14,图14为本发明实施例提供的一种应用服务器的组成示意图。

在本发明又一具体实施方式中,本发明实施例提供一种应用服务器1400,包括:

访问接收模块1410,用于接收DID客户端发送的访问请求;

证书确定模块1420,用于确定与所述访问请求对应的需求VC证书列表;

列表发送模块1430,用于将所述需求VC证书列表发送到所述DID客户端,以便所述DID客户端确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;

列表接收模块1440,用于接收所述DID客户端发送的本地VC证书列表,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,向所述DID客户端提供使用权限;

其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

请参考图15,图15为本发明实施例提供一种发证服务器的组成示意图。

在本发明又一具体实施方式中,本发明实施例提供一种发证服务器1500,包括:

发证请求模块1510,用于接收DID客户端发送的发证请求,所述发证请求包括目标证书以及申请条件;

条件审核模块1520,用于响应于所述发证请求,对所述目标证书以及申请条件进行审核;

生成发送模块1530,用于在审核通过的情况下,生成并发送目标证书至所述DID客户端。

本发明实施例提供一种基于区块链的DID分布式身份验证DID客户端、应用服务器、发证服务器,当用户在使用目标应用服务器时,通过VC证书列表来确定用户是否能够获取到权限,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,获得所述目标应用服务器的使用权限,从而能够使用VC证书进行身份验证,在方便、权威地验证身份的同时,能够保持身份数据的隐私性。

图16示例了一种电子设备的实体结构示意图,如图16所示,该电子设备可以包括:处理器(processor)1610、通信接口(Communications Interface)1620、存储器(memory)1630和通信总线1640,其中,处理器1610,通信接口1620,存储器1630通过通信总线1640完成相互间的通信。处理器1610可以调用存储器1630中的逻辑指令,以执行基于区块链的身份验证方法,该方法包括:

响应于用户对目标应用服务器的登录操作,向所述目标应用服务器发送访问请求;接收所述目标应用服务器发送的需求VC证书列表,并确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,则向所述目标应用服务器提供所述本地VC证书列表以获得所述目标应用服务器的使用权限;其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

或接收DID客户端发送的访问请求;确定与所述访问请求对应的需求VC证书列表;将所述需求VC证书列表发送到所述DID客户端,以便所述DID客户端确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;接收所述DID客户端发送的本地VC证书列表,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,向所述DID客户端提供使用权限;其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

或接收DID客户端发送的发证请求,所述发证请求包括目标证书以及申请条件;响应于所述发证请求,对所述目标证书以及申请条件进行审核;在审核通过的情况下,生成并发送目标证书至所述DID客户端。

此外,上述的存储器1630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于区块链的身份验证方法,该方法包括:

响应于用户对目标应用服务器的登录操作,向所述目标应用服务器发送访问请求;接收所述目标应用服务器发送的需求VC证书列表,并确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,则向所述目标应用服务器提供所述本地VC证书列表以获得所述目标应用服务器的使用权限;其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

或接收DID客户端发送的访问请求;确定与所述访问请求对应的需求VC证书列表;将所述需求VC证书列表发送到所述DID客户端,以便所述DID客户端确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;接收所述DID客户端发送的本地VC证书列表,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,向所述DID客户端提供使用权限;其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

或接收DID客户端发送的发证请求,所述发证请求包括目标证书以及申请条件;响应于所述发证请求,对所述目标证书以及申请条件进行审核;在审核通过的情况下,生成并发送目标证书至所述DID客户端。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实+现以执行上述各提供的基于区块链的身份验证方法,该方法包括:

响应于用户对目标应用服务器的登录操作,向所述目标应用服务器发送访问请求;接收所述目标应用服务器发送的需求VC证书列表,并确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,则向所述目标应用服务器提供所述本地VC证书列表以获得所述目标应用服务器的使用权限;其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

或接收DID客户端发送的访问请求;确定与所述访问请求对应的需求VC证书列表;将所述需求VC证书列表发送到所述DID客户端,以便所述DID客户端确定所述需求VC证书列表与本地VC证书列表是否满足预设关系;接收所述DID客户端发送的本地VC证书列表,在所述需求VC证书列表与本地VC证书列表满足预设关系的情况下,向所述DID客户端提供使用权限;其中,所述需求VC证书列表包括当前需要的VC证书的表单,所述本地VC证书列表包括所述DID客户端的用户在本地所持有的VC证书的表单,不同的VC证书用于描述用户的不同的特征属性。

或接收DID客户端发送的发证请求,所述发证请求包括目标证书以及申请条件;响应于所述发证请求,对所述目标证书以及申请条件进行审核;在审核通过的情况下,生成并发送目标证书至所述DID客户端。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 基于区块链的身份验证方法及客户端、服务器
  • 用户身份的验证方法、服务器及客户端
技术分类

06120113162053