身份认证方法、装置及区块链节点与流程

文档序号:15497409发布日期:2018-09-21 22:00阅读:201来源:国知局

本发明实施例涉及通信技术领域,尤其涉及一种身份认证方法、装置及区块链节点。



背景技术:

在区块链网络中,交易双方需要对对方的身份进行认证,以确保交易安全性。

但是在现有技术中,交易双方进行身份认证的过程较繁琐,降低了身份认证的效率。



技术实现要素:

本发明实施例提供一种身份认证方法、装置及区块链节点,以提高身份认证的效率。

第一方面,本发明实施例提供一种身份认证方法,包括:

第一交易节点从区块链的区块中获取密钥生成中心的公共参数;

所述第一交易节点对交易信息、所述第一交易节点的私钥和所述公共参数进行加密得到第一加密结果;

所述第一交易节点将所述交易信息、所述第一交易节点的用户名和所述第一加密结果广播到区块链网络中;

其中,所述交易信息包括所述第一交易节点的用户名、以及与所述第一交易节点进行交易的第二交易节点的用户名。

第二方面,本发明实施例提供一种身份认证方法,包括:

第二交易节点从区块链网络中接收第一交易节点广播的交易信息,所述交易信息包括所述第二交易节点的用户名、以及与所述第二交易节点进行交易的第一交易节点的用户名;

所述第二交易节点根据所述第一交易节点的用户名,对所述第一交易节点进行身份认证。

第三方面,本发明实施例提供一种身份认证装置,包括:

获取模块,用于从区块链的区块中获取密钥生成中心的公共参数;

加密模块,用于对交易信息、第一交易节点的私钥和所述公共参数进行加密得到第一加密结果;

发送模块,用于将所述交易信息、所述第一交易节点的用户名和所述第一加密结果广播到区块链网络中;

其中,所述交易信息包括所述第一交易节点的用户名、以及与所述第一交易节点进行交易的第二交易节点的用户名。

第四方面,本发明实施例提供一种身份认证装置,包括:

接收模块,用于从区块链网络中接收第一交易节点广播的交易信息,所述交易信息包括第二交易节点的用户名、以及与所述第二交易节点进行交易的第一交易节点的用户名;

认证模块,用于根据所述第一交易节点的用户名,对所述第一交易节点进行身份认证。

第五方面,本发明实施例提供一种区块链节点,包括:

存储器;

处理器;以及

计算机程序;

其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现第一方面所述的方法。

第六方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。

本发明实施例提供的身份认证方法、装置及区块链节点,通过第一交易节点从区块链的区块中获取密钥生成中心的公共参数,对交易信息、第一交易节点的私钥和该公共参数进行加密得到第一加密结果,并将该交易信息、第一交易节点的用户名和该第一加密结果广播到区块链网络中,以便与该第一交易节点交易的第二交易节点根据该第一交易节点的用户名,对第一交易节点进行身份认证,简化了交易双方进行身份认证的过程,提高了身份认证的效率。

附图说明

图1为本发明实施例提供的一种应用场景的示意图;

图2为本发明实施例提供的另一种应用场景的示意图;

图3为本发明实施例提供的身份认证方法流程图;

图4为本发明另一实施例提供的身份认证方法流程图;

图5为本发明又一实施例提供的身份认证方法流程图;

图6为本发明实施例提供的一种身份认证装置的结构示意图;

图7为本发明实施例提供的另一种身份认证装置的结构示意图;

图8为本发明实施例提供的区块链节点的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本发明提供的身份认证方法,可以适用于图1所示的通信系统。如图1所示,该通信系统包括:接入网设备11、终端设备12、终端设备13以及服务器14。需要说明的是,图1所示的通信系统可以适用于不同的网络制式,例如,可以适用于全球移动通讯(globalsystemofmobilecommunication,简称gsm)、码分多址(codedivisionmultipleaccess,简称cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,简称wcdma)、时分同步码分多址(timedivision-synchronouscodedivisionmultipleaccess,简称td-scdma)、长期演进(longtermevolution,简称lte)系统及未来的5g等网络制式。可选的,上述通信系统可以为5g通信系统中高可靠低时延通信(ultra-reliableandlowlatencycommunications,简称urllc)传输的场景中的系统。

故而,可选的,上述接入网设备11可以是gsm或cdma中的基站(basetransceiverstation,简称bts)和/或基站控制器,也可以是wcdma中的基站(nodeb,简称nb)和/或无线网络控制器(radionetworkcontroller,简称rnc),还可以是lte中的演进型基站(evolutionalnodeb,简称enb或enodeb),或者中继站或接入点,或者未来5g网络中的基站(gnb)等,本发明在此并不限定。

上述终端设备12、终端设备13可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radioaccessnetwork,简称ran)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(personalcommunicationservice,简称pcs)电话、无绳电话、会话发起协议(sessioninitiationprotocol,简称sip)话机、无线本地环路(wirelesslocalloop,简称wll)站、个人数字助理(personaldigitalassistant,简称pda)等设备。无线终端也可以称为系统、订户单元(subscriberunit)、订户站(subscriberstation),移动站(mobilestation)、移动台(mobile)、远程站(remotestation)、远程终端(remoteterminal)、接入终端(accessterminal)、用户终端(userterminal)、用户代理(useragent)、用户设备(userdeviceoruserequipment),在此不作限定。可选的,上述终端设备12、终端设备13还可以是智能手表、平板电脑等设备。在本实施例中,终端设备12、终端设备13、以及服务器14可以是区块链网络中的节点,终端设备12、终端设备13可以是交易双方的两个节点,服务器14可以是记账节点,记账节点用于在区块中记录各交易节点的交易信息。

另外,本发明提供的身份认证方法还可以适用于图2所示的通信系统。如图2所示,21表示第一交易节点,22表示第二交易节点,23表示记账节点,24表示密钥生成中心,具体的,该密钥生成中心可以是可信密钥生成中心,第一交易节点21、第二交易节点22、记账节点23、密钥生成中心24同时位于区块链网络中,该区块链网络是去中心化的网络。在该区块链网络中,密钥生成中心不限于如图2所示的密钥生成中心24,还可以根据该区块链网络中用户数的多少以及区域等因素来设置不同数量的密钥生成中心,例如,可以设置n个密钥生成中心,该n个密钥生成中心的域名分别为domain1.bc、domain2.bc、……domainn.bc。另外,用户也可选择自己所信任的密钥生成中心。此处,只是示意性说明,并不限定区块链网络的具体结构和节点。

本发明提供的身份认证方法,旨在解决现有技术的如上技术问题。

下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

图3为本发明实施例提供的身份认证方法流程图。本发明实施例针对现有技术的如上技术问题,提供了身份认证方法,该方法具体步骤如下:

步骤301、第一交易节点从区块链的区块中获取密钥生成中心的公共参数。

如图2所示,本实施例以一个密钥生成中心为例进行示意性说明。如图2所示,第一交易节点21和第二交易节点22是密钥生成中心24的签发用户,第一交易节点21、第二交易节点22和密钥生成中心24通过互联网或移动通信网络进行通信,第一交易节点21和第二交易节点22从密钥生成中心24分别获得各自的私钥,具体的,第一交易节点21和第二交易节点22通过移动通信网络从密钥生成中心24获取各自的私钥,例如,密钥生成中心24以短信方式将第一交易节点21的私钥k1发送给第一交易节点21,将第二交易节点22的私钥k2发送给第二交易节点22。由于相比于互联网,移动通信网络的安全性更高一些,所以采用移动通信网络可以提升私钥获取过程的安全性。

如图2所示,密钥生成中心24将自己的公共参数广播到区块链网络中,记账节点23接收到密钥生成中心24的广播消息后,识别出该广播消息中的该密钥生成中心24的公共参数,并将该公共参数记录到该区块链网络的区块中,如图2所示,该区块链网络中有区块n、区块n+1、区块n+2,此处只是示意性说明,并不限定该区块链网络的区块个数和标识。可选的,记账节点23将该密钥生成中心24的公共参数记录在区块n+1中,以便该区块链网络中的其他各个节点从区块中获取或查询该密钥生成中心24的公共参数,此处将密钥生成中心24的公共参数记为para1。

具体的,当第一交易节点21需要向第二交易节点22发送交易信息时,第一交易节点21首先从区块n+1中获取密钥生成中心24的公共参数para1,具体的,该交易信息记为m。

其中,所述交易信息包括所述第一交易节点的用户名、以及与所述第一交易节点进行交易的第二交易节点的用户名。

例如,该交易信息表示第一交易节点21需要向第二交易节点22转账5元,若将第一交易节点21记为user1,将第二交易节点22记为user2,则m=(user1→user2五元)。

步骤302、所述第一交易节点对交易信息、所述第一交易节点的私钥和所述公共参数进行加密得到第一加密结果。

具体的,第一交易节点21将该交易信息m、第一交易节点21的私钥k1和密钥生成中心24的公共参数para1进行加密得到第一加密结果m’,具体的,第一交易节点21对m、k1、para1加密时所采用的加密算法可以是基于身份的加密(identitybasedencryption,ibe)算法,则第一加密结果m’=ibe(m,k1,para1)。

步骤303、所述第一交易节点将所述交易信息、所述第一交易节点的用户名和所述第一加密结果广播到区块链网络中。

第一交易节点21对m、k1、para1加密得到第一加密结果m’之后,将交易信息m、第一交易节点21的用户名例如user1@domain1.bc和第一加密结果m’广播到区块链网络中。

本发明实施例通过第一交易节点从区块链的区块中获取密钥生成中心的公共参数,对交易信息、第一交易节点的私钥和该公共参数进行加密得到第一加密结果,并将该交易信息、第一交易节点的用户名和该第一加密结果广播到区块链网络中,以便与该第一交易节点交易的第二交易节点根据该第一交易节点的用户名,对第一交易节点进行身份认证,简化了交易双方进行身份认证的过程,提高了身份认证的效率。

图4为本发明另一实施例提供的身份认证方法流程图。如图4所示,本实施例提供的身份认证方法具体包括如下步骤:

步骤401、第二交易节点从区块链网络中接收第一交易节点广播的交易信息,所述交易信息包括所述第二交易节点的用户名、以及与所述第二交易节点进行交易的第一交易节点的用户名。

第二交易节点22从区块链网络中接收第一交易节点21广播的交易信息m、第一交易节点21的用户名例如user1@domain1.bc和第一加密结果m’,该交易信息m中包括第二交易节点22的用户名、以及第一交易节点21的用户名。

步骤402、所述第二交易节点根据所述第一交易节点的用户名,对所述第一交易节点进行身份认证。

第二交易节点22根据第一交易节点21的用户名,对第一交易节点21进行身份认证。

具体的,第二交易节点22根据第一交易节点21的用户名,确定第一交易节点21对应的密钥生成中心为domain1.bc,进一步确定第一交易节点21对应的密钥生成中心的公共参数为para1。进一步的,第二交易节点22对第一加密结果m’、第一交易节点21的用户名user1@domain1.bc和密钥生成中心的公共参数para1进行ibe加密得到第二加密结果c,具体的,c=ibe(m’,user1@domain1.bc,para1)。如果第二加密结果c与上述实施例中的交易信息m相同,则说明该第二交易节点22从区块链网络中接收到的交易信息m确实是第一交易节点21发起的,而不是伪造的,即对第一交易节点21的身份认证通过。

另外,区块链中记录至少两类信息:一类是由密钥生成中心发布的自己的域名domain1.bc和其对应的公共参数para1,供所有的参与者查询,以便进行签名验证或者加密的时候使用,并且保证该信息不被篡改,并且唯一。另一类信息为区块链继续的正常业务信息,比如交易、合约等等。所有参与方均可以发起,发起后对所有消息签名、加密,采用密钥生成中心发布的公共参数和参与方的标识生成。这样只要知道参与方的标志用户名,即可验证和加密参与方的信息。

本发明实施例通过第二交易节点从区块链网络中接收第一交易节点广播的交易信息,该交易信息包括所述第二交易节点的用户名、以及与所述第二交易节点进行交易的第一交易节点的用户名,该第二交易节点根据所述第一交易节点的用户名,对所述第一交易节点进行身份认证,简化了交易双方进行身份认证的过程,提高了身份认证的效率。

图5为本发明又一实施例提供的身份认证方法流程图。在上述实施例的基础上,本实施例提供的身份认证方法具体包括如下步骤:

步骤501、第二交易节点从区块链网络中接收第一交易节点广播的交易信息,所述交易信息包括所述第二交易节点的用户名、以及与所述第二交易节点进行交易的第一交易节点的用户名。

步骤501的具体实现方式与步骤401一致,此处不再赘述。

步骤502、所述第二交易节点从所述区块链网络中接收所述第一交易节点广播的第一加密结果。

在本实施例中,第二交易节点22可以分别接收第一交易节点21广播的交易信息m和第一加密结果m’。

步骤503、所述第二交易节点根据所述第一交易节点的用户名,确定所述第一交易节点对应的密钥生成中心的公共参数。

具体的,第二交易节点22根据第一交易节点21的用户名,确定第一交易节点21对应的密钥生成中心为domain1.bc,进一步确定第一交易节点21对应的密钥生成中心的公共参数为para1。

步骤504、所述第二交易节点对所述第一加密结果、所述第一交易节点的用户名和所述公共参数进行加密得到第二加密结果。

第二交易节点22对第一加密结果m’、第一交易节点21的用户名user1@domain1.bc和密钥生成中心的公共参数para1进行ibe加密得到第二加密结果c,具体的,c=ibe(m’,user1@domain1.bc,para1)。

步骤505、若所述第二加密结果与所述交易信息相同,则所述第二交易节点确定对所述第一交易节点的身份认证通过。

如果第二加密结果c与上述实施例中的交易信息m相同,则说明该第二交易节点22从区块链网络中接收到的交易信息m确实是第一交易节点21发起的,而不是伪造的,即对第一交易节点21的身份认证通过。

本发明实施例通过第二交易节点从区块链网络中接收第一交易节点广播的交易信息,该交易信息包括所述第二交易节点的用户名、以及与所述第二交易节点进行交易的第一交易节点的用户名,该第二交易节点根据所述第一交易节点的用户名,对所述第一交易节点进行身份认证,简化了交易双方进行身份认证的过程,提高了身份认证的效率。

图6为本发明实施例提供的一种身份认证装置的结构示意图。本发明实施例提供的身份认证装置可以执行身份认证方法实施例提供的处理流程,如图6所示,身份认证装置60包括:获取模块61、加密模块62和发送模块63;其中,获取模块61用于从区块链的区块中获取密钥生成中心的公共参数;加密模块62用于对交易信息、第一交易节点的私钥和所述公共参数进行加密得到第一加密结果;发送模块63用于将所述交易信息、所述第一交易节点的用户名和所述第一加密结果广播到区块链网络中;其中,所述交易信息包括所述第一交易节点的用户名、以及与所述第一交易节点进行交易的第二交易节点的用户名。

另外,身份认证装置60还包括:接收模块64;接收模块64用于从所述密钥生成中心接收所述第一交易节点的私钥。

图6所示实施例的身份认证装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图7为本发明实施例提供的另一种身份认证装置的结构示意图。本发明实施例提供的身份认证装置可以执行身份认证方法实施例提供的处理流程,如图7所示,身份认证装置70包括:接收模块71、认证模块72;其中,接收模块71用于从区块链网络中接收第一交易节点广播的交易信息,所述交易信息包括第二交易节点的用户名、以及与所述第二交易节点进行交易的第一交易节点的用户名;认证模块72用于根据所述第一交易节点的用户名,对所述第一交易节点进行身份认证。

可选的,接收模块71还用于:从所述区块链网络中接收所述第一交易节点广播的第一加密结果。

可选的,认证模块72包括:第一确定单元721、加密单元722、第二确定单元723;其中,第一确定单元721用于根据所述第一交易节点的用户名,确定所述第一交易节点对应的密钥生成中心的公共参数;加密单元722用于对所述第一加密结果、所述第一交易节点的用户名和所述公共参数进行加密得到第二加密结果;第二确定单元723用于当所述第二加密结果与所述交易信息相同时,确定对所述第一交易节点的身份认证通过。

可选的,接收模块71还用于:从所述密钥生成中心接收所述第二交易节点的私钥。

图7所示实施例的身份认证装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图8为本发明实施例提供的区块链节点的结构示意图。本发明实施例提供的区块链节点可以执行身份认证方法实施例提供的处理流程,如图8所示,区块链节点80包括存储器81、处理器82、计算机程序和通讯接口83;其中,计算机程序存储在存储器81中,并被配置为由处理器82执行上述实施例所述的身份认证方法。

图8所示实施例的区块链节点可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的身份认证方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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