一种基于区块链技术的交叉认证系统及方法与流程

文档序号:14394356阅读:243来源:国知局

本发明涉及区块链技术领域,尤其是一种基于区块链技术的交叉认证系统及方法。



背景技术:

互联网虚拟世界正不断与现实世界相交融,用户接受的网络服务也越来越多,用户使用的不同的智能硬件通常由不同的业务平台来提供服务。比如用户拥有一个智能手环、一块智能手表和一张蓝牙卡,这三个智能设备分别属于不同的硬件厂商,则很可能需要分别在每个智能设备各自对应的业务平台上进行认证。而这些业务平台都分别由各自所属的企业进行管理,业务平台之间相互独立、数据不一致、信息共享程度不高,用户的认证和身份管理较为麻烦。



技术实现要素:

本发明人针对上述问题及技术需求,提出了一种基于区块链技术的交叉认证系统及方法,该系统和方法可以实现不同业务平台之间的交叉互认证,为各个业务平台的数据交换提供基础。

本发明的技术方案如下:

一种基于区块链技术的交叉认证系统,该系统包括:用户设备、第一业务平台、第二业务平台和区块链平台,区块链平台中包括至少三个节点,至少三个节点互相建立通讯连接,第一业务平台和第二业务平台分别连接区块链平台中的节点,第一业务平台是用于为用户设备提供服务的业务平台,第二业务平台是用于为其他的用户设备提供服务的业务平台,用户设备连接第二业务平台,第二业务平台用于通过第一业务平台对用户设备进行交叉认证,并在交叉认证通过时为用户设备提供服务。

一种基于区块链技术的交叉认证方法,该方法用于上述交叉认证系统中,该方法包括:

用户设备向第二业务平台发起认证请求,认证请求中包括用户设备的用户设备标识;

第二业务平台接收认证请求并读取用户设备标识;

第二业务平台将用户设备标识发送给区块链平台;

区块链平台中的节点在区块链中查询与用户设备标识对应的交易信息,并将交易信息返回给第二业务平台,交易信息是第一业务平台发起与用户设备的身份交易后,区块链平台的各个节点添加在区块链中的身份交易的信息,交易信息至少包括第一业务平台的业务平台标识;

第二业务平台根据第一业务平台的业务平台标识向第一业务平台发起交叉认证请求;

在第一业务平台通过交叉认证请求时,第二业务平台为用户设备提供服务。

其进一步的技术方案为,第二业务平台根据第一业务平台的业务平台标识向第一业务平台发起交叉认证请求,包括:

第二业务平台根据第一业务平台的业务平台标识向第一业务平台请求随机数;

第二业务平台将第一业务平台返回的随机数发送给用户设备;

用户设备根据存储的设备私钥对随机数进行签名得到签名结果,并将签名结果发送给第二业务平台;

第二业务平台将用户设备标识和签名结果发送给第一业务平台;

第一业务平台根据用户设备标识验证签名结果是否正确;

当第一业务平台确定签名结果正确时,第一业务平台通过交叉认证请求。

其进一步的技术方案为,第一业务平台根据用户设备标识验证签名结果是否正确,包括:

第一业务平台在存储的公钥地址列表中查询与用户设备标识对应的设备公钥的公钥地址,公钥地址列表中储存有第一业务平台所服务的各个用户设备对应的公钥地址;

第一业务平台使用查询到的公钥地址验证签名结果。

其进一步的技术方案为,交易信息中还包括与用户设备标识对应的设备公钥的公钥地址,则方法还包括:

第二业务平台使用交易信息中包括的公钥地址验证签名结果;

当第一业务平台以及第二业务平台分别确定签名结果正确时,第一业务平台通过交叉认证请求。

其进一步的技术方案为,交易信息还包括用户设备状态标识,则方法还包括:

第二业务平台根据用户设备状态标识确定用户设备的状态,用户设备的状态为处于使用状态或处于注销状态;

若用户设备状态标识指示用户设备处于使用状态,则第二业务平台执行根据第一业务平台的业务平台标识向第一业务平台发起交叉认证请求的步骤。

其进一步的技术方案为,该方法还包括:

用户设备生成与第一业务平台对应的一对密钥,一对密钥包括设备私钥和设备公钥,用户设备存储设备私钥;

用户设备向第一业务平台发送绑定请求,绑定请求中包括用户设备标识和设备公钥的公钥地址;

第一业务平台接收绑定请求并将用户设备标识和公钥地址对应存储在公钥地址列表中。

其进一步的技术方案为,该方法还包括:

第一业务平台接收绑定请求并根据绑定请求发起身份交易;

区块链平台中的各个节点将身份交易的交易信息添加到区块链上。

本发明的有益技术效果是:

本申请中第一业务平台接入区块链平台后将用户及用户设备相关的认证信息脱敏之后添加到区块链上,另一个第三方的第二业务平台在接入区块链平台后,可以获取到相关的认证信息并根据认证信息与第一业务平台进行交叉互认证,交叉认证成功后,第二业务平台可以从第一业务平台中获取与用户有关的数据从而为用户设备提供服务,这一交叉认证的做法减少了用户所需要记忆的账号密码的数量,实现了不同业务平台之间的数据交换与共享,有助于各个业务平台统一为用户服务。

附图说明

图1是本申请公开的一种基于区块链技术的交叉认证系统的系统结构图。

图2是是本申请公开的一种基于区块链技术的交叉认证方法的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步说明。

本申请公开了一种基于区块链技术的交叉认证系统,请参考图1,该系统包括:区块链平台10、第一业务平台20、第二业务平台30和用户设备40。区块链平台10中包括至少三个节点,该至少三个节点两两之间互相建立通讯连接,这里的节点可以是计算机、服务器、工作站和打印机等各种设备,如图1以区块链平台10中包括第一节点11、第二节点12以及第三节点13为例。第一业务平台20和第二业务平台30分别连接区块链平台中的节点,第一业务平台20和第二业务平台30连接的可以是同一个节点也可以是不同的节点,如图1以第一业务平台20连接第一节点11、第二业务平台30连接第二节点12为例。需要说明的是,实际实现时,接入区块链平台的业务平台的个数很多,本申请中的“第一”、“第二”并没有特指的含义,仅用于区分两个不同的业务平台。第一业务平台20用于为用户设备40提供服务,第二业务平台30用于为其他的用户设备提供服务,用户设备40是诸如计算机、智能手机、智能手环、智能手表以及蓝牙卡之类的智能硬件设备,实际每个业务平台可以连接并为多个用户设备提供服务,本申请对此不做限定。用户设备40连接第二业务平台30,由于第二业务平台30不是为用户设备40提供服务的业务平台,依次用户设备40无法直接在第二业务平台30上进行认证,第二业务平台30也无法直接为用户设备40提供服务,但在如图1所示的结构中,第一业务平台20和第二业务平台30分别接入区块链平台10,则第二业务平台30可以通过第一业务平台20对用户设备40进行交叉认证,并在交叉认证通过时为用户设备40提供服务。

在本申请中,用户设备40预先与自身对应的第一业务平台20进行了绑定,第一业务平台20会发起与用户设备40的身份交易并由区块链平台10的各个节点将身份交易的交易信息添加在区块链中,使得接入区块链平台10的各个业务平台都能获取到交易信息,绑定及身份交易过程如下:

用户设备40生成与第一业务平台20对应的一对密钥,一对密钥包括设备私钥和设备公钥,用户设备40存储设备私钥,设备私钥无法导出。用户设备40向第一业务平台20发送绑定请求,绑定请求中包括用户设备标识和设备公钥的公钥地址,用户设备标识用于标识用户设备40并与用户设备40一一对应,可以是用户设备40的imei(internationalmobileequipmentidentity,国际移动设备身份码)号或mac地址(mediaaccesscontrol,物理地址)等。第一业务平台20接收绑定请求并将用户设备标识和公钥地址对应存储在公钥地址列表中,同时根据绑定请求发起身份交易,该身份交易的交易信息包括身份交易的目的地址、交易类型标识、第一业务平台20的业务平台标识、用户设备标识、账户标识以及用户设备状态标识。该身份交易的目的地址即为用户设备40的设备公钥的公钥地址;交易类型标识用于标识发起的是身份交易;业务平台标识用于标识第一业务平台20,该标识与第一业务平台20一一对应;账户标识用于标识用户在第一业务平台20内的身份,该账户标识由第一业务平台20根据预设的规则生成;用户状态标识用于标识用户设备处于使用状态或者处于注销状态。第一业务平台20向区块链平台10广播身份交易,区块链平台10中的各个节点验证身份交易合法时将身份交易的交易信息添加到区块链中,区块链平台10的各个节点添加的交易信息可以不包括交易类型标识,其存储形式可以为hid||addra||appa||ida||status,其中,hid为用户设备表示,addra为身份交易的目的地址,也即用户设备40的设备公钥的公钥地址,appa是第一业务平台20的业务平台标识,ida是账户标识,status是用户设备40的用户设备状态标识。

至此,区块链平台10的各个节点已经将第一业务平台20与用户设备40的身份交易的交易信息添加到区块链上,在此基础上,图1所示的系统中第二业务平台30可以通过第一业务平台20对用户设备40进行交叉认证,交叉认证过程包括如下步骤,请参考图2示出的流程示意图:

步骤1:用户设备向第二业务平台发起认证请求,认证请求中包括用户设备的用户设备标识。

步骤2:第二业务平台接收认证请求并读取用户设备标识。

步骤3:第二业务平台将用户设备标识发送给区块链平台中的节点。

步骤4:区块链平台中的节点在区块链中查询与用户设备标识对应的交易信息,并将交易信息返回给第二业务平台,如上例子所述,若用户设备标识为hid,则区块链平台中的节点查询到交易信息为hid||addra||appa||ida||

status,查询到的交易信息至少包括第一业务平台的业务平台标识。

步骤5:交易信息中通常还包括用户设备状态标识,则第二业务平台接收到交易信息后,根据交易信息中的用户设备状态标识确定用户设备的状态,用户设备的状态为处于使用状态或处于注销状态,比如用户设备状态标识为1时表示用户设备处于使用状态,用户设备状态标识为0时表示用户设备处于注销状态。

步骤6:若用户设备状态标识指示用户设备处于注销状态,则第二业务平台可以不响应用户设备发起的认证请求。

步骤7:若用户设备状态标识指示用户设备处于使用状态,则第二业务平台根据第一业务平台的业务平台标识向第一业务平台请求随机数r。

步骤8:第一业务平台向第二业务平台返回随机数r。

步骤9:第二业务平台将随机数r发送给用户设备。

步骤10:用户设备根据存储的设备私钥对随机数r进行签名得到签名结果s,并将签名结果s发送给第二业务平台。

步骤11:第二业务平台将用户设备标识和签名结果发送给第一业务平台。

步骤12:如上所述,第一业务平台在与任意一个其服务的用户设备进行绑定时,都会将用户设备标识及其对应的公钥地址进行存储,因此第一业务平台的公钥地址列表中储存有第一业务平台所服务的各个用户设备对应的公钥地址,第一业务平台在存储的公钥地址列表中查询与用户设备标识对应的设备公钥的公钥地址。

步骤13:第一业务平台使用查询到的公钥地址验证签名结果s,若用户设备与第一业务平台正确建立了绑定关系,则第一业务平台查询到的公钥地址对应的设备公钥与用户设备签名时所使用的设备私钥属于一对密钥,在此基础上,若签名结果s未被篡改,则第一业务平台使用公钥地址验证确定签名结果正确;若签名结果s被篡改,则第一业务平台使用公钥地址验证确定签名结果不正确。在第一业务平台确定签名结果正确时,第一业务平台通过交叉认证请求,第二业务平台可以开始向第一业务平台请求与此用户有关的数据并为用户设备提供服务。

交易信息中通常还包括与用户设备标识对应的设备公钥的公钥地址,则为了进一步提高安全性,第二业务平台也会使用交易信息中包括的公钥地址验证签名结果,当第一业务平台以及第二业务平台分别确定签名结果正确时,第一业务平台才通过交叉认证请求,第二业务平台才可以开始向第一业务平台请求与此用户有关的数据并为用户设备提供服务。

以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

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