一种基于区块链的身份认证方法、系统及设备与流程

文档序号:24236948发布日期:2021-03-12 13:09阅读:233来源:国知局
一种基于区块链的身份认证方法、系统及设备与流程

本申请涉及身份认证技术领域,具体涉及一种基于区块链的身份认证方法、系统及设备。



背景技术:

区块链,作为新兴的分布式加密技术,也可用于用户隐私数据的加密和不可篡改。对于资产的安全存储,现有的去中心化资产存储软件,主要使用助记词生成私钥树,实现了对不同区块链资产类型的统一存管,市场上所有的去中心钱包背后使用的算法都是基于此技术。

身份认证又称“身份验证”、“身份鉴权”,是指通过一定的手段,完成对用户身份的确认。身份认证的方法有很多,基本上可分为:基于共享密钥的身份验证、基于生物学特征的身份验证和基于公开密钥加密算法的身份验证。

但是现有的身份认证一般都是用户有用户之间提前进行了密钥交换或者是基于共同的公开密钥建立认证关系。但是由于密钥存储的不安全因素,使得密钥泄露丢失等问题,从而使得身份认证存在安全隐患。



技术实现要素:

本申请为了解决上述技术问题,提出了如下技术方案:

第一方面,本申请实施例提供了一种基于区块链的身份认证方法,所述方法包括:将用户的认证密钥存储在中心区块链中;如果存在用户之间进行数据交互时触发身份认证,第一用户向所述中心区块链发出申请,所述第一用户为需要进行数据交互的任一用户;所述中心区块链根据所述申请确定是否向所述第一用户提供进行身份认证的认证密钥。

采用上述实现方式,将用户的认证密钥通过链上存储,实现了认证密钥的安全性。而且进行身份认证时,发起发首先需要通过链上的初级审核,审核通过后才会实现用户之间的认证通信,进而防止了假冒身份的用户,进一步提升了身份认证的安全性。

结合第一方面,在第一方面第一种可能的实现方式中,所述将用户的认证密钥存储在中心区块链中,包括:每个用户将自己的认证密钥进行加密生成一个密钥封装包;将所述密钥封装包进行标识操作后存储到中心区块链。

结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述如果存在用户之间进行数据交互时触发身份认证,第一用户向所述中心区块链发出申请,包括:所述第一用户确定需要进行数据交互的第二用户对应的用户名称;将所述第二用户的用户名称和第一用户的用户标识通过与所述中心区块链的加密通道发送给所述中心区块链。

结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述中心区块链根据所述申请确定是否向所述第一用户提供进行身份认证的认证密钥,包括:所述中心区块链根据所述第一用户的用户标识进行身份鉴权;如果鉴权通过,则根据所述第二用户的用户名称确定对应的用户标识;向所述第二用户发出认证密钥发放许可请求;如果所述第二用户允许发放,则所述中心区块链将所述第二用户的密钥封装包发送给所述第一用户,并且为所述第一用户和所述第二用户分配一个临时通信通道。

结合第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,所述第一用户和所述第二用户在所述临时通信通道进行通信时,所述第一用户和所述第二用户进行认证密钥交换,建立认证通道,所述临时通信通道失效。

结合第一方面第四种可能的实现方式,在第一方面第五种可能的实现方式中,所述第一用户和所述第二用户进行认证密钥交换,包括:所述第一用户将自己的认证密钥直接发送给所述第二用户;所述第二用户同时将所述密钥封装包的解密密钥通过所述临时通信通道发送给所述第一用户;所述第一用户通过所述解密密钥对所述密钥封装包进行解密获得所述第二用户的认证密钥。

第二方面,本申请实施例提供了一种基于区块链的身份认证系统,所述系统包括:存储模块,用于将用户的认证密钥存储在中心区块链中;请求模块,用于如果存在用户之间进行数据交互时触发身份认证,第一用户向所述中心区块链发出申请,所述第一用户为需要进行数据交互的任一用户;处理模块,用于所述中心区块链根据所述申请确定是否向所述第一用户提供进行身份认证的认证密钥。

结合第二面,在第二方面第一种可能的实现方式中,所述存储模块包括:封装单元,用于每个用户将自己的认证密钥进行加密生成一个密钥封装包;存储单元,用于将所述密钥封装包进行标识操作后存储到中心区块链。

结合第二方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述请求模块包括:第一确定单元,用于所述第一用户确定需要进行数据交互的第二用户对应的用户名称;第一发送单元,用于将所述第二用户的用户名称和第一用户的用户标识通过与所述中心区块链的加密通道发送给所述中心区块链。

结合第二方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述处理模块包括:认证单元,用于所述中心区块链根据所述第一用户的用户标识进行身份鉴权;第二确定单元,用于如果鉴权通过,则根据所述第二用户的用户名称确定对应的用户标识;第二发送单元,用于向所述第二用户发出认证密钥发放许可请求;处理单元,用于如果所述第二用户允许发放,则所述中心区块链将所述第二用户的密钥封装包发送给所述第一用户,并且为所述第一用户和所述第二用户分配一个临时通信通道

第三方面,本申请实施例提供了一种设备,包括:处理器;用于存储所述处理器处理可执行指令的存储器;所述处理器执行第一方面或第一方面任一可能实现方式所述的基于区块链的身份认证方法,提升用户之间的身份认证安全。

附图说明

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

图2为本申请实施例提供的一种用户通信框架示意图;

图3为本申请实施例提供的一种基于区块链的身份认证系统的示意图;

图4为本申请实施例提供的一种设备的示意图。

具体实施方式

下面结合附图与具体实施方式对本方案进行阐述。

图1为本申请实施例提供的一种基于区块链的身份认证方法的流程示意图,参见图1,所述方法包括:

s101,将用户的认证密钥存储在中心区块链中。

参见图2,本实施例中用户可以理解为需要进行身份认证的用户,所有用户均与相同的中心区块链链上通信。每个用户将自己的认证密钥进行加密生成一个密钥封装包,将所述密钥封装包进行标识操作后存储到中心区块链。

存储到中心区块链后,中心区块链将所有标识对应的用户设置为白名单,所有需要想中心区块链发出身份认证请求的用户必须为白名单用户,否则,中心区块链拒绝通信。

s102,如果存在用户之间进行数据交互时触发身份认证,第一用户向所述中心区块链发出申请。

所述第一用户确定需要进行数据交互的第二用户对应的用户名称。将所述第二用户的用户名称和第一用户的用户标识通过与所述中心区块链的加密通道发送给所述中心区块链。

例如图2中,用户a需要与用户b进行身份认证,则可以由用户a将用户b的用户名称和自己的用户标识发送给中心区块链,提出认证申请。相反,用户b也可以主动发起申请。

s103,所述中心区块链根据所述申请确定是否向所述第一用户提供进行身份认证的认证密钥。

所述中心区块链根据所述第一用户的用户标识进行身份鉴权,如果鉴权通过,则根据所述第二用户的用户名称确定对应的用户标识。向所述第二用户发出认证密钥发放许可请求,如果所述第二用户允许发放,则所述中心区块链将所述第二用户的密钥封装包发送给所述第一用户,并且为所述第一用户和所述第二用户分配一个临时通信通道。

所述第一用户和所述第二用户在所述临时通信通道进行通信时,所述第一用户和所述第二用户进行认证密钥交换,建立认证通道,所述临时通信通道失效。

具体地,所述第一用户将自己的认证密钥直接发送给所述第二用户,所述第二用户同时将所述密钥封装包的解密密钥通过所述临时通信通道发送给所述第一用户。所述第一用户通过所述解密密钥对所述密钥封装包进行解密获得所述第二用户的认证密钥。

需要指出的是,如果第一用户和第二用户已经约定进行身份认证,为了身份认证的安全,也需要经过中心区块链。此时由于第一用户向中心区块链请求与第二用户进行身份认证,而第二用户向中心区块链请求与第一用户进行身份认证。因此,在这种情况下中心区块链对两个用户的标识信息进行识别后,分别向两个用户发放对方的密钥封装包,然后建立临时通信通道。

在临时通信通道内,第一用户和第二用户分别向对方发送自己的解密密钥。第一用户和第二用户分别通过接收到的解密秘钥对密钥封装包进行解密,获取对方的认证密钥,建立双方的认证通道,临时通信通道失效。

由上述实施例可知,本实施例提供了一种基于区块链的身份认证方法,将用户的认证密钥通过链上存储,实现了认证密钥的安全性。而且进行身份认证时,发起发首先需要通过链上的初级审核,审核通过后才会实现用户之间的认证通信,进而防止了假冒身份的用户,进一步提升了身份认证的安全性。

与上述实施例提供的一种基于区块链的身份认证方法相对应,本申请还提供了一种基于区块链的身份认证系统的实施例。参见图3,基于区块链的身份认证系统20包括:存储模块201、请求模块202和处理模块203。

所述存储模块201,用于将用户的认证密钥存储在中心区块链中。所述请求模块202,用于如果存在用户之间进行数据交互时触发身份认证,第一用户向所述中心区块链发出申请,所述第一用户为需要进行数据交互的任一用户。所述处理模块203,用于所述中心区块链根据所述申请确定是否向所述第一用户提供进行身份认证的认证密钥。

进一步地,所述存储模块包括:封装单元和存储单元。

所述封装单元,用于每个用户将自己的认证密钥进行加密生成一个密钥封装包。所述存储单元,用于将所述密钥封装包进行标识操作后存储到中心区块链。

所述请求模块包括:第一确定单元和第一发送单元。

所述第一确定单元,用于所述第一用户确定需要进行数据交互的第二用户对应的用户名称。所述第一发送单元,用于将所述第二用户的用户名称和第一用户的用户标识通过与所述中心区块链的加密通道发送给所述中心区块链。

所述处理模块包括:认证单元、第二确定单元、第二发送单元和处理单元。

所述认证单元,用于所述中心区块链根据所述第一用户的用户标识进行身份鉴权。所述第二确定单元,用于如果鉴权通过,则根据所述第二用户的用户名称确定对应的用户标识。所述第二发送单元,用于向所述第二用户发出认证密钥发放许可请求。所述处理单元,用于如果所述第二用户允许发放,则所述中心区块链将所述第二用户的密钥封装包发送给所述第一用户,并且为所述第一用户和所述第二用户分配一个临时通信通道。

所述第一用户和所述第二用户在所述临时通信通道进行通信时,所述第一用户和所述第二用户进行认证密钥交换,建立认证通道,所述临时通信通道失效。

具体地,所述第一用户将自己的认证密钥直接发送给所述第二用户,所述第二用户同时将所述密钥封装包的解密密钥通过所述临时通信通道发送给所述第一用户。所述第一用户通过所述解密密钥对所述密钥封装包进行解密获得所述第二用户的认证密钥。

本申请实施例还提供了一种设备的实施例,参见图4,设备30包括处理器301、存储器302和通信接口303。

在图4中,处理器301、存储器302和通信接口303可以通过总线相互连接;总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器301通常是控制设备30的整体功能,例如设备30的启动、以及设备30启动后将用户认证密钥存储在中心区块链中;如果存在用户之间进行数据交互时触发身份认证,第一用户向所述中心区块链发出申请,所述第一用户为需要进行数据交互的任一用户;所述中心区块链根据所述申请确定是否向所述第一用户提供进行身份认证的认证密钥。

处理器301可以是通用处理器,例如,中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。处理器也可以是微处理器(mcu)。处理器还可以包括硬件芯片。上述硬件芯片可以是专用集成电路(asic),可编程逻辑器件(pld)或其组合。上述pld可以是复杂可编程逻辑器件(cpld),现场可编程逻辑门阵列(fpga)等。

存储器302被配置为存储计算机可执行指令以支持设备30数据的操作。存储器301可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

启动设备30后,处理器301和存储器302上电,处理器301读取并执行存储在存储器302内的计算机可执行指令,以完成上述的基于区块链的身份认证方法实施例中的全部或部分步骤。

通信接口303用于设备30传输数据,例如实现与客户端和服务端之间的通信等。通信接口303包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口包括usb接口、microusb接口,还可以包括以太网接口。无线通信接口可以为wlan接口,蜂窝网络通信接口或其组合等。

在一个示意性实施例中,本申请实施例提供的设备30还包括电源组件,电源组件为设备30的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为设备30生成、管理和分配电力相关联的组件。

通信组件,通信组件被配置为便于设备30和其他设备之间有线或无线方式的通信。设备30可以接入基于通信标准的无线网络,如wifi,4g或5g,或它们的组合。通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在一个示意性实施例中,设备30可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)或其他电子元件实现。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当然,上述说明也并不仅限于上述举例,本申请未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述;以上实施例及附图仅用于说明本申请的技术方案并非是对本申请的限制,如来替代,本申请仅结合并参照优选的实施方式进行了详细说明,本领域的普通技术人员应当理解,本技术领域的普通技术人员在本申请的实质范围内所做出的变化、改型、添加或替换都不脱离本申请的宗旨,也应属于本申请的权利要求保护范围。

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