一种认证方法、基于区块链的认证数据处理方法及设备与流程

文档序号:11517794阅读:467来源:国知局
一种认证方法、基于区块链的认证数据处理方法及设备与流程

本申请涉及互联网信息处理技术以及计算机技术领域,尤其涉及一种认证方法、基于区块链的认证数据处理方法及设备。



背景技术:

随着互联网行业的发展,越来越多的行业通过互联网为用户提供业务服务。然而,在通过互联网提供业务服务的过程中,身份认证成为一个重要环节。

那么,提供业务服务的互联网服务平台对应的服务器通常采用以下方式实现对请求业务服务的用户的身份进行认证:

第一种方式:

预先建立互联网服务平台对应的服务器(后续称之为第一服务器)与身份管理平台(例如:公安机关等国家机构)对应的服务器(后续称之为第二服务器)之间的数据链路。

当第一服务器接收到用户发送的业务服务请求时,根据该业务服务请求中包含的该用户的身份信息(这里的身份信息中可以包含身份标识等信息),生成认证请求,并通过预先建立的数据链路将该认证请求发送给第二服务器。

第二服务器接收第一服务器发送的认证请求,并对该认证请求中包含的身份信息进行认证,将认证结果发送给第一服务器。

此时,第一服务器在接收到认证结果时,根据该认证结果,完成对该用户的身份认证。

但是,由于各互联网服务平台能够获取到用户的身份信息,那么存在用户的身份信息被泄露的风险。

第二种方式:

为了防止用户的身份信息泄露,用户利用身份信息在第二服务器中申请得到网络电子身份证(electronicidentity,缩写eid),这样,用户在请求业务服务时,可以将eid发送给第一服务器,第一服务器可以按照第一种方式实现对用户的身份认证。

但是,由于各互联网服务平台在对用户的身份进行认证时,通过上述记载的第二服务器来实现,使得第二服务器需要处理的认证请求的数量比较多,这样,将导致认证请求的处理效率较低,进而延长互联网服务平台处理请求业务服务的时间,使得用户对互联网服务平台提供的业务服务的用户体验比较差。



技术实现要素:

有鉴于此,本申请实施例提供了一种认证方法、基于区块链的认证数据处理方法及设备,用于解决现有技术中身份认证方法存在的处理效率低的问题。

本申请实施例采用下述技术方案:

本申请实施例提供了一种认证方法,包括:

接收用户发送的认证请求,所述认证请求中包含所述用户的身份标识;

从区块链网络中获取与所述身份标识相关联的认证数据,所述区块链网络的区块链节点中存储身份标识与认证数据之间的映射关系;

根据所述认证数据,对所述用户的身份进行认证。

本申请实施例还提供了一种基于区块链的认证数据处理方法,包括:

接收用户发送的身份信息,并对所述身份信息进行认证;

根据认证结果,生成第一认证数据,所述第一认证数据中包含所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识;

将所述第一认证数据存储至区块链网络的区块链节点中。

本申请实施例还提供了一种认证设备,包括:

接收单元,接收用户发送的认证请求,所述认证请求中包含所述用户的身份标识;

获取单元,从区块链网络中获取与所述身份标识相关联的认证数据,所述区块链网络的区块链节点中存储身份标识与认证数据之间的映射关系;

认证单元,根据所述认证数据,对所述用户的身份进行认证。

本申请实施例还提供了一种基于区块链的认证数据处理设备,包括:

接收单元,接收用户发送的身份信息,并对所述身份信息进行认证;

处理单元,根据认证结果,生成第一认证数据,所述第一认证数据中包含所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识;

存储单元,将所述第一认证数据存储至区块链网络的区块链节点中。

本申请实施例还提供了一种认证设备,包括:至少一个存储器和至少一个处理器,其中:所述至少一个存储器中存储有程序,并被配置成由所述至少一个处理器执行以下步骤:

接收用户发送的认证请求,所述认证请求中包含所述用户的身份标识;

从区块链网络中获取与所述身份标识相关联的认证数据,所述区块链网络的区块链节点中存储身份标识与认证数据之间的映射关系;

根据所述认证数据,对所述用户的身份进行认证。

本申请实施例还提供了一种基于区块链的认证数据处理设备,包括:至少一个存储器和至少一个处理器,其中:所述至少一个存储器中存储有程序,并被配置成由所述至少一个处理器执行以下步骤:

接收用户发送的身份信息,并对所述身份信息进行认证;

根据认证结果,生成第一认证数据,所述第一认证数据中包含所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识;

将所述第一认证数据存储至区块链网络的区块链节点中。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过本申请提供的技术方案,在接收用户发送的认证请求后,从区块链网络中获取与所述身份标识相关联的认证数据,并根据所述认证数据,对所述用户的身份进行认证。这样,基于区块链网络的去中心化、不可篡改等特点,预先将不同用户的身份标识与认证数据之间的映射关系存储在区块链网络中的区块链节点中,当互联网服务平台在向用户提供业务服务时,可基于区块链网络中存储的认证数据对用户的身份进行认证,避免了由于身份管理平台需要处理的身份认证请求数量过多导致认证请求处理效率较低的问题,提升了身份认证的处理效率,此外,借助区块链网络,能够实现认证数据在不同互联网服务平台之间共享,无需用户每次在新服务平台注册或者登录时提交身份信息,同时能够有效防止身份信息泄漏造成的冒名认证,进而有效提升身份认证的准确性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种基于区块链的认证数据处理方法的流程示意图;

图2为本申请实施例提出的一种区块链网络中认证数据的结构示意图;

图3为本申请实施例提出的一种认证方法的流程示意图;

图4为本申请实施例提出的一种认证方法的流程示意图;

图5为本申请实施例提出的一种认证方法的流程示意图;

图6为本申请实施例提出的一种身份认证系统的结构图;

图7为本申请实施例提出的一种认证设备的结构示意图;

图8为本申请实施例提出的一种基于区块链的认证数据处理设备的结构示意图。

具体实施方式

为实现本申请的目的,本申请实施例提供一种认证方法、基于区块链的认证数据处理方法及设备。在接收用户发送的认证请求后,从区块链网络中获取与所述身份标识相关联的认证数据,并根据所述认证数据,对所述用户的身份进行认证。

这样,基于区块链网络的去中心化、不可篡改等特点,预先将不同用户的身份标识与认证数据之间的映射关系存储在区块链网络中的区块链节点中,当互联网服务平台在向用户提供业务服务时,可基于区块链网络中存储的认证数据对用户的身份进行认证,避免了由于身份管理平台需要处理的身份认证请求数量过多导致认证请求处理效率较低的问题,提升了身份认证的处理效率,此外,借助区块链网络,能够实现认证数据在不同互联网服务平台之间共享,无需用户每次在新服务平台注册或者登录时提交身份信息,同时能够有效防止身份信息泄漏造成的冒名认证,进而有效提升身份认证的准确性。

需要说明的是,本申请实施例中“预先将不同用户的身份标识与认证数据之间的映射关系存储在区块链网络中的区块链节点中”可以是用户在身份管理平台对应的服务器中进行注册时身份管理平台对应的服务器存储的,也可以是用户在提供业务服务的互联网服务平台上请求业务时互联网服务平台存储的,这里不做具体限定。

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

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请实施例提供的一种基于区块链的认证数据处理方法的流程示意图。所述方法可以如下所示。本申请实施例的执行主体可以为身份管理平台对应的服务器。

步骤101:接收用户发送的身份信息,并对所述身份信息进行认证。

在本申请实施例中,身份管理平台对应的服务器可以是公安机关的户籍管理服务器,也可以是金融机构对应的服务器,也就是说,本申请实施例中所记载的身份管理平台对应的服务器所作出的身份认证具备可信度。

具体地,身份管理平台对应的服务器可以在用户注册时接收到用户发送的身份信息,也可以在用户发起某种业务(例如:存款业务、取款业务、转账业务等)时接收到用户发送的身份信息,此时,身份管理平台对应的服务器需要对接收到的身份信息进行认证。

这里的身份信息包含用户的姓名、年龄、身份证号、银行卡号等各种身份特征信息,身份管理平台对应的服务器可以基于已存储的用户的身份特征信息对接收到的身份信息进行认证,以验证该身份信息是否合法有效。

例如:身份管理平台对应的服务器为金融机构对应的服务器,用户在开户时向金融机构对应的服务器提供身份信息,此时金融机构对应的服务器可以对用户提供的身份信息进行验证,在确认该用户的身份信息合法有效时,为该用户分配银行账户信息,并建立该用户的银行账户信息(例如:银行卡号)与该用户的身份信息之间的映射关系。

需要说明的是,在本申请实施例中,身份管理平台对应的服务器在对身份信息进行认证后,若确定该身份信息合法有效,那么还可以进一步为该用户生成一个身份标识,该身份标识能够唯一确定该用户。这里的身份标识可以是eid,也可以是其他形式,这里不做具体限定。

步骤102:根据认证结果,生成第一认证数据,所述第一认证数据中包含所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识。

在本申请实施例中,认证结果可以是认证通过,说明该用户的身份信息合法有效;也可以是认证不通过,说明用户的身份信息存在异常或者无效。

在这里不管认证结果是什么,可以基于得到的认证结果,生成第一认证数据。这里的“第一认证数据”与后续“第二认证数据”、“第三认证数据”中的“第一”、“第二”与“第三”没有特殊含义,仅用于表示不同的认证数据。

具体地,在认证结果是所述身份信息合法有效时,根据所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识,得到第一认证数据。也就是说,如果后续互联网服务平台对应的服务器获取到该第一认证数据,可以根据该第一认证数据,确定该用户的身份信息合法有效,有效提升了认证的处理效率。

在认证结果是所述身份信息存在异常或者无效时,可以根据所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识,得到第三认证数据。

在本申请实施例中,可以为身份管理平台对应的服务器确定认证等级,即不同认证等级的身份管理平台对应的服务器所确定的认证结果对应的可信度不同,认证等级越高,那么所确定的认证结果对应的可信度越高;反之,所确定的认证结果对应的可信度越低。由于认证数据包含产生认证结果的机构的机构标识,那么可以根据机构标识与认证等级之间的映射关系,确定该机构标识所产生的认证结果的可信度,有效保证了身份认证的准确性。

步骤103:将所述第一认证数据存储至区块链网络的区块链节点中。

在本申请实施例中,身份管理平台对应的服务器可以作为区块链网络中的一个区块链节点,也可以作为独立于区块链网络的设备,这里不做具体限定。

身份管理平台对应的服务器在得到认证数据(例如:第一认证数据、第三认证数据)后,若身份管理平台对应的服务器为区块链网络中的一个区块链节点,此时可以将该认证数据广播给区块链网络中的其他区块链节点,以使得其他区块链节点对该认证数据进行共识处理,在共识处理结果为共识验证通过时,身份管理平台对应的服务器将所述第一认证数据存储至新产生的区块中,并将该区块存储至区块链网络的区块链节点中。

身份管理平台对应的服务器在得到认证数据(例如:第一认证数据、第三认证数据)后,若身份管理平台对应的服务器为独立于区块链网络的设备,那么身份管理平台对应的服务器可以将该认证数据发送给区块链网络中的任一区块链节点,由该区块链节点将该认证数据广播给区块链网络中的其他区块链节点,以使得其他区块链节点对该认证数据进行共识处理,在共识处理结果为共识验证通过时,该区块链节点将所述第一认证数据存储至新产生的区块中,并将该区块存储至区块链网络的区块链节点中。

为了保证身份信息的安全性,在本申请实施例中,可以将认证结果存储在区块链网络中,而将身份信息存储在身份信息数据库中,以保证身份信息不被泄露,这里的身份信息数据库不在区块链网络中,可以在身份管理平台对应的服务器中。

具体地,建立所述用户的身份标识与所述用户的身份信息之间的映射关系;并根据所述映射关系,将所述用户的身份信息存储至身份信息数据库中。

在本申请实施例中,由于用户的身份信息中的某些身份特征信息可能因为某些外在因素而使其状态发生变化,例如:用户的身份证丢失进而导致用户的身份号由正常状态变化为挂失状态,那么身份管理平台对应的服务器在不同情况下,将产生不同的认证数据,以保证认证结果与用户的身份信息的实际情况相一致。

具体地,接收用户发送的挂失/注销请求,所述挂失/注销请求中包含所述用户的身份标识;

根据所述挂失/注销请求,确定所述用户的身份信息处于异常状态;

根据所述用户的身份信息处于异常状态、产生所述认证结果的机构的机构标识和所述用户的身份标识,生成第二认证数据;

将所述第二认证数据存储至区块链网络的区块链节点中。

也就是说,身份管理平台对应的服务器一旦接收到用户发送的变更请求(包含挂失请求、注销请求、恢复请求等等),将根据该变更请求确定用户的身份信息目前所处的状态,进而根据用户的身份信息目前所处的状态、产生所述认证结果的机构的机构标识和所述用户的身份标识,生成第二认证数据。

同样地,第二认证数据在存储至区块链网络的区块链节点中时,可以发起对该第二认证数据的共识处理,共识处理方式与第一认证数据的共识处理相同或者类似,可参见上述记载的内容,这里不再一一赘述。

需要说明的是,本申请实施例中所记载的各身份管理平台对应的服务器可以作为联盟链中的区块链节点,其产生的认证数据可以被认可该联盟链的其他服务器所使用,这样有效提升了身份认证的处理效率。

在本申请实施例中,为了保证区块链中存储的认证数据的安全性,可以按照设定格式进行存储。

图2为本申请实施例提供的一种区块链网络中认证数据的结构示意图。

从图2中可以看出,产生认证结果的机构的机构标识可以采用公钥和数字签名的方式表示,即可以预先为不同的机构配置公私密钥对,这样,可以利用私钥对机构标识对应的摘要进行加密得到数字签名,将公钥和数字签名作为认证数据中产生认证结果的机构的机构信息。

用户的身份标识也可以采用公钥和数字签名的方式表示,即可以预先为用户配置公私密钥对,在对用户的身份信息进行认证后,利用私钥对用户的身份信息对应的摘要进行加密得到数字签名,将公钥和数字签名作为认证数据中用户的身份标识。

也就是说,在区块链网络的区块链节点中存储的认证数据可以采用表1的形式存储:

表1

图3为本申请实施例提供的一种认证方法的流程示意图。所述方法如下所示。所述认证方法的执行主体可以是提供业务服务的互联网服务平台对应的服务器,也可以以app形式运行于终端设备上的应用客户端,这里不做具体限定。

步骤301:接收用户发送的认证请求,所述认证请求中包含所述用户的身份标识。

在本申请实施例中,用户发送的认证请求可以是在用户发送业务处理请求时发送的,也可以是用户在登录互联网服务平台时发送的,这里不做具体限定。

这里的身份标识能够唯一标识该用户,可以是用户的登录账号,也可以是eid,还可以是其他形式,这里不做具体限定。

步骤302:从区块链网络中获取与所述身份标识相关联的认证数据,所述区块链网络的区块链节点中存储身份标识与认证数据之间的映射关系。

在本申请实施例中,由于区块链网络的区块链节点中存储身份标识与认证数据之间的映射关系,那么在接收到用户发送的认证请求时,可以基于认证请求中包含的用户的身份标识和区块链网络中各区块链节点中存储的映射关系,从区块链网络中获取与所述身份标识相关联的认证数据。

较优地,在获取与所述身份标识相关联的认证数据之前,若所述认证请求中还包含公钥和数字签名,那么利用所述公钥验证所述数字签名是否有效,所述数字签名基于公私密钥对中的私钥进行签名得到的。通过验签可以确定发送认证请求的用户是否为配置该公私密钥对的用户,进而保证后续流程实施的必要性。

若验证结果是所述数字签名无效,那么结束认证流程。

若验证结果是所述数字签名有效,那么从区块链网络中获取与所述身份标识相关联的认证数据。

由于区块链网络的各区块链节点中存储的多个认证数据,那么在本申请实施例中可以基于认证请求中包含的身份标识,从所述区块链网络中筛选包含所述身份标识的认证数据,将筛选得到的所述认证数据确定为与所述身份标识相关联的认证数据。

进一步地,若筛选得到的所述认证数据的个数大于1,那么从筛选得到的所述认证数据中,确定符合预设条件的认证数据,并将确定的所述认证数据确定为与所述身份标识相关联的认证数据。

在本申请实施例中,所述预设条件包含以下至少一种或者多种:

所述认证数据的生成时间满足设定的时间条件;

所述认证数据中包含的机构标识满足设定的签发机构的机构标识;

所述认证数据中包含的业务类型与所述用户发起的业务的业务类型相同。

具体地,若预设条件为所述认证数据的生成时间满足设定的时间条件,那么确定筛选得到的各所述认证数据的生成时间,根据各所述认证数据的生成时间,确定生成时间满足设定的时间条件的认证数据,并将确定的所述认证数据确定为与所述身份标识相关联的认证数据。

假设满足设定的时间条件为与当前时刻之间的时间差最小,那么在确定筛选得到的各所述认证数据的生成时间后,按照生成时间的先后顺序,将各所述认证数据进行排序,进而根据排序结果,选择出生成时间距离当前时刻最近的认证数据,将该认证数据确定为与所述身份标识相关联的认证数据。

需要说明的是,认证数据的生成时间可以是指认证结果产生的时间,也可以是指认证数据存储至区块链网络的区块链节点中的时间,还可以是指区块链网络的区块链节点受理认证数据的时间,这里不做具体限定。

若预设条件为所述认证数据中包含的机构标识满足设定的签发机构的机构标识,那么确定筛选得到的各所述认证数据对应的机构标识,根据各所述认证数据对应的机构标识,确定机构标识满足设定的签发机构的机构标识的认证数据,并将确定的所述认证数据确定为与所述身份标识相关联的认证数据。

假设设定的签发机构的机构标识为10000,那么在确定筛选得到的各所述认证数据对应的机构标识后,将机构标识为10000的认证数据确定为与所述身份标识相关联的认证数据。

需要说明的是,这里的机构标识可以为一个字符串,也可以为公钥和数字签名,若为公钥和数字签名,则确定筛选得到的各所述认证数据对应的机构的公钥,根据各所述认证数据对应的机构的公钥,确定公钥满足设定的签发机构的公钥的认证数据,并将确定的所述认证数据确定为与所述身份标识相关联的认证数据。

需要说明的是,在本申请实施例中,满足设定的签发机构的机构标识的个数可以不止1个,如果为多个时,可以按照签发机构的认证等级,优先获取包含认证等级高的机构标识的认证数据,若没有查找到包含认证等级高的机构标识的认证数据,其次获取包含认证等级次之的机构标识的认证数据,这样能够保证认证数据的真实有效性,进而保证认证结果的准确性。

若预设条件为所述认证数据中包含的业务类型与所述用户发起的业务的业务类型相同,那么确定用户所发起的业务的业务类型,以及确定筛选得到的各所述认证数据包含的业务类型,根据各所述认证数据包含的业务类型,确定业务类型与用户所发起的业务的业务类型相同的认证数据,并将确定的所述认证数据确定为与所述身份标识相关联的认证数据。

由于相同业务类型的业务对用户的身份认证的要求比较接近,所以依据提供相同业务服务的其他互联网服务平台产生的认证数据,对用户的身份进行认证,能够确保认证结果的准确性。

需要说明的是,在筛选认证数据时,上述记载的三种预设条件可以分别单独使用,也可以结合使用,这里不做具体限定。此外,除了以上三种设定条件外,还可根据需要设定其他的设定条件,在此不再一一列举。

步骤303:根据所述认证数据,对所述用户的身份进行认证。

在本申请实施例中,根据所述认证数据,确定所述身份标识目前所处的认证状态;若所述身份标识处于异常状态和/或认证不通过状态,那么确定对所述用户的身份认证不通过;否则,确定对所述用户的身份认证通过。

这里所记载的异常状态可以是指挂失状态,也可以是注销状态,这里不做具体限定。

在根据认证数据确定所述身份标识目前所处的认证状态时,一旦确定该身份标识的认证数据中出现过异常状态,需要进一步确定该身份标识的认证状态是否在之后进行了恢复,若没有,则确定该身份标识处于异常状态;若有,则确定该身份标识处于正常状态。

例如:用户因身份标识丢失或泄露,而向身份管理平台对应的服务器发送变更请求,以要求对身份标识进行挂失或更新,之后身份管理平台对应的服务器通过身份管理平台向区块链网络发送挂失或更新信息,并在共识验证通过之后上传至区块链;或者,

用户直接向身份管理机构发送注销请求,身份管理平台对应的服务器通过身份管理平台将注销信息上传至区块链。

本申请实施例提供的认证方法结合了区块链技术,不仅利用了区块链的优势,还可带来如下优点:第一,整个认证过程不涉及用户身份信息,仅用身份标识完成认证流程,避免身份信息被区块链节点或除区块链节点之外的其他执行主体所获取,增强身份信息的安全性;第二,在实际应用中,任何用户可通过用户客户端或者通过向有关服务机构提出申请的方式,获知自己的身份标识的认证状态,从而确认身份标识是否被冒用,从而达到监控的目的,并在发现被冒用时及早作出应对措施。

另外,认证过程的执行主体,可以是区块链节点或者与区块链节点无关的其他主体。其中,区块链中存储的认证数据只能是区块链节点写入或更新,因此,在用户或监管机构发现身份标识被冒用时,可以进行追踪。

通过本申请实施例提供的技术方案,在接收用户发送的认证请求后,从区块链网络中获取与所述身份标识相关联的认证数据,并根据所述认证数据,对所述用户的身份进行认证。这样,基于区块链网络的去中心化、不可篡改等特点,预先将不同用户的身份标识与认证数据之间的映射关系存储在区块链网络中的区块链节点中,当互联网服务平台在向用户提供业务服务时,可基于区块链网络中存储的认证数据对用户的身份进行认证,避免了由于身份管理平台需要处理的身份认证请求数量过多导致认证请求处理效率较低的问题,提升了身份认证的处理效率,此外,借助区块链网络,能够实现认证数据在不同互联网服务平台之间共享,无需用户每次在新服务平台注册或者登录时提交身份信息,同时能够有效防止身份信息泄漏造成的冒名认证,进而有效提升身份认证的准确性。

图4为本申请实施例提供的一种认证方法的流程示意图。所述方法可以如下所示。本申请实施例在图3的基础之上,实施以下步骤:

步骤404:根据认证结果,生成认证数据,所述认证数据中包含所述用户的身份标识、产生所述认证结果的机构的机构标识和所述认证结果,所述认证结果包含认证通过/认证不通过。

步骤405:将所述认证数据存储至所述区块链网络的区块链节点中。

较优地,在将所述认证数据存储至所述区块链网络的区块链节点中之前,所述方法还包括:

将所述认证数据发送至所述区块链网络,使所述区块链网络对所述认证数据进行共识处理;

若共识处理结果为共识通过,那么将所述认证数据存储至所述区块链网络的区块链节点中。

图5为本申请实施例提供的一种认证方法的流程示意图。所述方法可以如下所示。本申请实施例在图3的基础之上,实施以下步骤:

步骤504:根据所述用户请求业务的业务类型,从身份信息管理服务器中获取与所述业务类型相关联的所述用户的身份特征信息。

在实际应用中,一些业务流程需要使用用户身份信息。例如,游戏类服务平台可能会获取性别和年龄等用户身份信息,社区管理平台可能会获取用户住址、户籍、电话号码、家庭成员等用户身份信息。

此时,互联网服务平台对应的服务器可以从身份信息管理服务器中获取与所述业务类型相关联的所述用户的身份特征信息,并对获取到的身份特征信息进行认证。这里的身份特征信息包含性别、年龄、用户住址、户籍、电话号码、家庭成员等信息。

具体地,首先,向身份信息管理服务器发送所需用户身份信息获取请求。

在接收用户身份信息获取请求之后,身份信息管理服务器核验是否具有获取用户身份信息的权限,例如核验两者之间是否具有有效的签约授权协议、此次用户身份信息获取请求是否获得用户授权。

需要说明的是,这里的身份信息管理服务器可以为多个。例如:身份特征信息手机号码及身份特征信息年龄可能存储在不同的身份信息管理服务器中。

其次,接收身份信息管理服务器返回的身份特征信息。

步骤505:根据认证结果和所述身份特征信息,生成认证数据,所述认证数据中包含所述用户的身份标识、产生所述认证结果的机构的机构标识、对所述身份特征信息进行认证的认证事件和所述认证结果,所述认证结果包含认证通过/认证不通过。

需要说明的是,这里的“对所述身份特征信息进行认证的认证事件”在于说明对用户的某一个或者某几个(即获取到的)身份特征信息进行了认证。需要说明的是,认证数据中不包含身份特征信息的具体内容,这样为了保证身份特征信息的安全性,降低被泄露的风险。

步骤506:将所述认证数据存储至所述区块链网络的区块链节点中。

较优地,在将所述认证数据存储至所述区块链网络的区块链节点中之前,所述方法还包括:

将所述认证数据发送至所述区块链网络,使所述区块链网络对所述认证数据进行共识处理;

若共识处理结果为共识通过,那么将所述认证数据存储至所述区块链网络的区块链节点中。

图6为本申请实施例所提出的一种身份认证系统的结构示意图。

从图6可以看出,本申请实施例提供身份认证系统中包含区块链网络、身份管理平台对应的服务器、互联网服务平台对应的服务器和用户设备。

用户通过用户设备将身份信息发送给身份管理平台对应的服务器,由身份管理平台对应的服务器对其身份进行认证,并将包含认证结果的认证数据存储至区块链网络中。

互联网服务平台对应的服务器在向用户提供业务服务时,可以从区块链网络中获取认证数据,以实现对用户的身份认证。此外,还可以将产生的认证结果也存储至区块链网络中,以实现与其他互联网服务平台共享该认证结果。

图7为本申请实施例提供的一种认证设备的结构示意图。如下所示,所述认证设备包括:接收单元701、获取单元702和认证单元703,其中:

接收单元701,接收用户发送的认证请求,所述认证请求中包含所述用户的身份标识;

获取单元702,从区块链网络中获取与所述身份标识相关联的认证数据,所述区块链网络的区块链节点中存储身份标识与认证数据之间的映射关系;

认证单元703,根据所述认证数据,对所述用户的身份进行认证。

在本申请的另一个实施例中,所述认证设备还包括:验证单元704,其中:

所述验证单元704,若所述认证请求中还包含公钥和数字签名,那么利用所述公钥验证所述数字签名是否有效,所述数字签名基于公私密钥对中的私钥进行签名得到的;

所述获取单元702从区块链网络中获取与所述身份标识相关联的认证数据,包括:

若验证结果是所述数字签名有效,那么从区块链网络中获取与所述身份标识相关联的认证数据。

在本申请的另一个实施例中,所述获取单元702从区块链网络中获取与所述身份标识相关联的认证数据,包括:

从所述区块链网络中筛选包含所述身份标识的认证数据,将筛选得到的所述认证数据确定为与所述身份标识相关联的认证数据。

在本申请的另一个实施例中,所述获取单元702,若筛选得到的所述认证数据的个数大于1,那么从筛选得到的所述认证数据中,确定符合预设条件的认证数据,并将确定的所述认证数据确定为与所述身份标识相关联的认证数据。

在本申请的另一个实施例中,所述预设条件包含以下至少一种或者多种:

所述认证数据的生成时间满足设定的时间条件;

所述认证数据中包含的机构标识满足设定的签发机构的机构标识;

所述认证数据中包含的业务类型与所述用户发起的业务的业务类型相同。

在本申请的另一个实施例中,所述认证单元703根据所述认证数据,对所述用户的身份进行认证,包括:

根据所述认证数据,确定所述身份标识目前所处的认证状态;

若所述身份标识处于异常状态和/或认证不通过状态,那么确定对所述用户的身份认证不通过;否则,确定对所述用户的身份认证通过。

在本申请的另一个实施例中,所述认证设备还包括:存储单元705,其中:

所述存储单元705,根据认证结果,生成认证数据,所述认证数据中包含所述用户的身份标识、产生所述认证结果的机构的机构标识和所述认证结果,所述认证结果包含认证通过/认证不通过;

将所述认证数据存储至所述区块链网络的区块链节点中。

在本申请的另一个实施例中,所述认证设备还包括:发送单元706,其中:

所述发送单元706,在将所述认证数据存储至所述区块链网络的区块链节点中之前,将所述认证数据发送至所述区块链网络,使所述区块链网络对所述认证数据进行共识处理;

所述存储单元705将所述认证数据存储至所述区块链网络的区块链节点中,包括:

若共识处理结果为共识通过,那么将所述认证数据存储至所述区块链网络的区块链节点中。

在本申请的另一个实施例中,所述获取单元702,在确定对所述用户的身份认证通过后,根据所述用户请求业务的业务类型,从身份信息管理服务器中获取与所述业务类型相关联的所述用户的身份特征信息;

所述存储单元705,根据认证结果和所述身份特征信息,生成认证数据,所述认证数据中包含所述用户的身份标识、产生所述认证结果的机构的机构标识、对所述身份特征信息进行认证的认证事件和所述认证结果,所述认证结果包含认证通过/认证不通过;

将所述认证数据存储至所述区块链网络的区块链节点中。

需要说明的是,本申请实施例提供的认证设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。认证设备在接收用户发送的认证请求后,从区块链网络中获取与所述身份标识相关联的认证数据,并根据所述认证数据,对所述用户的身份进行认证。这样,基于区块链网络的去中心化、不可篡改等特点,预先将不同用户的身份标识与认证数据之间的映射关系存储在区块链网络中的区块链节点中,当互联网服务平台在向用户提供业务服务时,可基于区块链网络中存储的认证数据对用户的身份进行认证,避免了由于身份管理平台需要处理的身份认证请求数量过多导致认证请求处理效率较低的问题,提升了身份认证的处理效率,此外,借助区块链网络,能够实现认证数据在不同互联网服务平台之间共享,无需用户每次在新服务平台注册或者登录时提交身份信息,同时能够有效防止身份信息泄漏造成的冒名认证,进而有效提升身份认证的准确性。

基于同一个发明构思,本申请实施例还提供了一种认证设备,包括:至少一个存储器和至少一个处理器,其中:所述至少一个存储器中存储有程序,并被配置成由所述至少一个处理器执行以下步骤:

接收用户发送的认证请求,所述认证请求中包含所述用户的身份标识;

从区块链网络中获取与所述身份标识相关联的认证数据,所述区块链网络的区块链节点中存储身份标识与认证数据之间的映射关系;

根据所述认证数据,对所述用户的身份进行认证。

具体实现方式可以参见上述实施例中记载的内容,这里不再一一赘述。

图8为本申请实施例提供的一种基于区块链的认证数据处理设备的结构示意图。所述认证数据处理设备包括:接收单元801、处理单元802和存储单元803,其中:

接收单元801,接收用户发送的身份信息,并对所述身份信息进行认证;

处理单元802,根据认证结果,生成第一认证数据,所述第一认证数据中包含所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识;

存储单元803,将所述第一认证数据存储至区块链网络的区块链节点中。

在本申请的另一个实施例中,所述数据处理设备还包括:建立单元804,其中:

所述建立单元804,建立所述用户的身份标识与所述用户的身份信息之间的映射关系;并根据所述映射关系,将所述用户的身份信息存储至身份信息数据库中。

在本申请的另一个实施例中,所述接收单元801对所述身份信息进行认证,包括:

验证所述身份信息是否合法有效;

所述处理单元802根据认证结果,生成第一认证数据,包括:

在认证结果是所述身份信息合法有效时,根据所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识,得到第一认证数据。

在本申请的另一个实施例中,所述数据处理设备还包括:确定单元805,其中:

所述接收单元801,接收用户发送的挂失/注销请求,所述挂失/注销请求中包含所述用户的身份标识;

所述确定单元805,根据所述挂失/注销请求,确定所述用户的身份信息处于异常状态;

所述处理单元802,根据所述用户的身份信息处于异常状态、产生所述认证结果的机构的机构标识和所述用户的身份标识,生成第二认证数据;

所述存储单元803,将所述第二认证数据存储至区块链网络的区块链节点中。

需要说明的是,本申请实施例提供的认证数据处理设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。

基于同一个发明思想,本申请实施例还提供了一种基于区块链的认证数据处理设备,包括:至少一个存储器和至少一个处理器,其中:所述至少一个存储器中存储有程序,并被配置成由所述至少一个处理器执行以下步骤:

接收用户发送的身份信息,并对所述身份信息进行认证;

根据认证结果,生成第一认证数据,所述第一认证数据中包含所述认证结果、产生所述认证结果的机构的机构标识和所述用户的身份标识;

将所述第一认证数据存储至区块链网络的区块链节点中。

具体实现方式可以参见上述实施例中记载的内容,这里不再一一赘述。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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