一种基于区块链的轻量级物联网身份认证和密钥协商方法

文档序号:33034891发布日期:2023-01-24 19:09阅读:24来源:国知局
一种基于区块链的轻量级物联网身份认证和密钥协商方法

1.本发明涉及物联网技术领域,特别涉及一种基于区块链的轻量级物联网身份认证和密钥协商方法、装置及电子设备。


背景技术:

2.随着物联网的发展,用户的数量激增,每天都有大量的用户需要进行身份认证,以判断用户的合法身份以及一些流程或者数据使用的权限,然而用户的身份认证却始终存在一些问题。
3.用户认证需求趋于实名化,在现有技术中,有的是采用手机验证码加静态密码的方式对用户进行身份认证,但当用户更换手机号码时或用户短信被盗时,容易造成一些流程或安全性上的问题;有的是采用收集用户的诸多信息特征进行特征认证,然而用户数据的隐私性和安全性并不能得到有效保障。且用户在进行身份认证后,一般情况下会继续活跃,进行一些业务或数据的操作,仍需对用户进行下一步的认证,需要耗费的时间相对更长,效率比较低,用户的体验感并不好。


技术实现要素:

4.有鉴于上述问题,本发明提供一种基于区块链的轻量级物联网身份认证和密钥协商方法、装置及电子设备,旨在解决用户身份认证时的安全性和效率问题。
5.为了达到上述目的,第一方面,本发明提供了一种基于区块链的轻量级物联网身份认证和密钥协商方法,包括:
6.检测用户在区块链认证网络的节点进行的认证是否是第一次认证;在用户在区块链认证网络的节点进行的认证是第一次认证的情况下,采用全量级的认证方式对用户进行身份认证,所述全量级的认证方式为ecc生物特征加口令认证;在用户在区块链认证网络的节点进行的认证不是第一次认证,且当前认证开始的时间与上一次认证的间隔时间未超过阈值的情况下,采用轻量级的认证方式对用户进行身份认证,所述轻量级的认证方式为口令认证。
7.进一步地,所述方法包括:采用轻量级的认证方式对用户进行身份认证,包括:
8.在区块链认证网络的任一节点上采用轻量级的认证方式对用户进行身份认证;
9.在采用轻量级的认证方式对用户进行身份认证的节点不响应轻量级认证时,在区块链认证网络的其他节点上采用轻量级的认证方式对用户进行身份认证;
10.将当前认证的认证结果和认证时间,存储在采用轻量级的认证方式完成身份认证的节点上。
11.进一步地,所述方法包括:采用全量级的认证方式对用户进行身份认证,包括:
12.获取物联网设备上传的用户的生物特征数据;其中,所述生物特征数据是物联网设备多次采集后融合,并使用ecc算法对所述生物特征数据进行了处理后上传的;
13.进行当前认证的区块链认证网络的节点采用自身的私钥对所述生物特征数据进
行签名;通过布置在区块链认证网络的各节点的生物特征识别程序,对签名后的所述生物特征数据进行身份认证;
14.将签名之后的所述生物特征数据上传至所述区块链认证网络的各个节点;在采用全量级的认证方式认证完成后,将当前认证的认证结果和认证时间上链。
15.进一步地,所述方法包括:通过布置在区块链认证网络的各节点的生物特征识别程序,对签名后的所述生物特征数据进行身份认证,包括:
16.通过相似度阈值和布置在区块链认证网络的各节点的预先训练完毕的神经网络模型,对签名后的所述生物特征数据进行身份认证;所述相似度阈值用于控制身份认证的精准度。
17.进一步地,所述方法包括:所述区块链网络的各个节点采用各自私钥对各自获取的所述生物特征数据进行签名,是采用以下表达式实现的:
[0018][0019]
其中,data
auth
表示提供给生物特征识别程序的数据,d1,d2,

,dm表示采集的m次生物特征数据,ts表示签名的时间戳,idi表示节点i的标识符,sign
ipriv
表示节点i使用其私钥进行签名。
[0020]
进一步地,所述方法包括:第一次认证后,所述区块链认证网络的所有节点都存储第一次认证的信息,所述信息至少包括:第一次认证所针对的生物特征数据、认证时间和认证结果。
[0021]
进一步地,所述方法还包括:用户在区块链认证网络的节点进行的认证不是第一次认证,且在当前认证开始的时间与上一次认证的间隔时间已超过阈值的情况下,采用全量级的认证方式对用户进行身份认证。
[0022]
进一步地,所述方法还包括:
[0023]
所述区块链认证网络的节点,拥有各自对应的积分,采用积分制,以奖励诚实节点及惩罚恶意节点;
[0024]
所述诚实节点为:认证结果正确的所述区块链认证网络的节点;所述恶意节点为:认证结果存在错误的所述区块链认证网络的节点。
[0025]
第二方面,本发明提供了一种基于区块链的物联网身份认证和密钥协商的装置,包括:
[0026]
检测单元,用于检测用户在区块链认证网络的节点进行的认证是否是第一次认证;
[0027]
第一认证单元,用于在用户在区块链认证网络的节点进行的认证是第一次认证的情况下,采用全量级的认证方式对用户进行身份认证;所述全量级的认证方式为ecc生物特征加口令认证;
[0028]
第二认证单元,用于在用户在区块链认证网络的节点进行的认证不是第一次认证,且当前认证开始的时间与上一次认证的间隔时间未超过阈值的情况下,采用轻量级的认证方式对用户进行身份认证,所述轻量级的认证方式为口令认证。
[0029]
第三方面,本发明提供了一种电子设备,包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述第一方面描述的基于区块链的轻量级物联网身份认证和密钥
协商的方法。
[0030]
本发明提供的基于区块链的轻量级物联网身份认证和密钥协商方法,通过检测用户在区块链认证网络的节点进行的认证是否是第一次认证;在用户在区块链认证网络的节点进行的认证是第一次认证的情况下,采用全量级的认证方式对用户进行身份认证,全量级的认证方式是指ecc生物特征加口令认证;这样可以保障用户数据的安全性和隐私性;在用户在区块链认证网络的节点进行的认证不是第一次认证,且当前认证开始的时间与上一次认证的间隔时间未超过阈值的情况下,采用轻量级的认证方式对用户进行身份认证,轻量级的认证方式是指口令认证,这样使认证过程变得简便;且在上一次认证背书的情况下,安全性和效率能同时得到保障。
附图说明
[0031]
为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0032]
图1是本发明提供的基于区块链的轻量级物联网身份认证和密钥协商方法中一个实施例判断用户进行全量级认证或轻量级的流程图;
[0033]
图2是本发明的一个实施例中对用户进行全量级的认证的流程图;
[0034]
图3是本发明的一个实施例中对用户进行轻量级的认证的流程图。
具体实施方式
[0035]
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0036]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0037]
图1是本发明提供的基于区块链的轻量级物联网身份认证和密钥协商方法中,一个实施例的流程图,示出了本发明的一个实施中,如何判断对用户进行轻量级认证的流程图。
[0038]
如图1所示,检测用户在区块链认证网络的节点进行的认证是否是第一次认证;在用户在区块链认证网络的节点进行的认证是第一次认证的情况下,采用全量级的认证方式对用户进行身份认证,全量级的认证方式为ecc生物特征加口令认证;
[0039]
在用户在区块链认证网络的节点进行的认证不是第一次认证,且当前认证开始的时间与上一次认证的间隔时间未超过阈值的情况下,采用轻量级的认证方式对用户进行身份认证;轻量级的认证方式为口令认证。
[0040]
在本发明的一个实施例中,采用轻量级的认证方式对用户进行身份认证,包括:
[0041]
在区块链认证网络的任一节点上采用轻量级的认证方式对用户进行身份认证;在采用轻量级的认证方式对用户进行身份认证的节点不响应轻量级认证时,在区块链认证网络的其他节点上采用轻量级的认证方式对用户进行身份认证;
[0042]
将当前认证的认证结果和认证时间,存储在采用轻量级的认证方式完成身份认证的节点上。这里的认证时间,是指认证完成的时间。即所述区块链认证网络的节点对用户完成轻量级的认证后,将认证信息(包括认证完成时间及认证结果)上链存储。
[0043]
当用户选择一个所述区块链认证网络的节点进行轻量级认证,但该节点处于宕机等意外情况,或者该节点处于繁忙状态,不能进行认证,那么,用户可以在其他所述区块链认证网络的节点进行轻量级认证。
[0044]
在第一次认证后,可在一定时间内采用口令的方式进行认证,认证过程在相应的区块链认证网络的节点上进行,无需全网节点共识。对应节点只需将认证结果记录在区块链上供日后审计。
[0045]
本实施例中,轻量级的认证方式,是有之前全量级的认证进行了背书,因此才能得到安全性保障。实际上,用户在进行身份认证后,需要进行下一步的流程,流入办理业务,或者需要调取数据等,在一定时间段内,都是比较活跃的。若有更为机密的需要,用户仍会进行多次的身份认证。每一次都进行全量级的认证,会造成时间上的不必要耗费。
[0046]
因此,在上一次全量级的认证的结束时间与当前认证的开始时间的时间间隔没有超过阈值的情侣下,进行轻量级的认证,可以在安全性的保障下,提升身份认证的效率。
[0047]
在本发明的一个实施例中,采用全量级的认证方式对用户进行身份认证,包括:
[0048]
获取物联网设备上传的用户的生物特征数据;其中,所述生物特征数据是物联网设备多次采集后融合,并使用ecc算法对所述生物特征数据进行了处理后上传的;
[0049]
进行当前认证的区块链认证网络的节点采用自身的私钥对所述生物特征数据进行签名;通过布置在区块链认证网络的各节点的生物特征识别程序,对签名后的所述生物特征数据进行身份认证;
[0050]
将签名之后的所述生物特征数据上传至所述区块链认证网络的各个节点;在采用全量级的认证方式认证完成后将当前认证的认证结果和认证时间上链。这里的认证时间,是指认证完成的时间。即全量级的身份认证后,对认证信息(包括认证所针对的所述生物特征数据、认证时间及认证结果),进行上链存储。
[0051]
上述各个节点都与物联网设备网络连接,获取与之连接的物联网设备上传后的数据后,进行认证,正是利用区块链计算负载性高的特点,对用户进行认证,再将认证结果反馈给物联网设备。对物联网设备的计算量要求小,算法简单,减轻了物联网设备的负担。
[0052]
例如,在实施例中采用指纹作为用户的具有唯一性、独特性的生物特征信息,上述物联网设备连接有指纹采集器,为了避免用户在采集指纹的过程中,出现指纹模糊不清、数据不全等问题,会多次采集用户的指纹信息,以获得用户的生物特征数据。上述物联网设备还会采用ecc算法对用户的生物特征数据进行加密处理,再传输至与该物联网设备连接的所述区块链认证网络的节点中。
[0053]
该节点对获得的所述生物特征数据进行认证之前,会采用该节点私钥对获得的所述生物特征数据进行签名,即为对所述生物特征数据进行背书,表征所述生物特征数据是通过该节点获取的。
[0054]
在本发明的一个实施例中,若一个物联网设备上传到区块链认证网络节点的数据是用户的原始指纹数据,没有进行ecc加密,则可以理解为该设备不是所述区块链认证网络所承认的,即该设备采集的用户的生物特征数据不能被所述区块链网络的节点进行认证。
对采集的生物特征数据进行ecc加密,可以作为物联网设备是否被所述区块链认证网络的节点认可的一个判断标准。
[0055]
或者,将所述区块链认证网络的节点认可的物联网设备的添加特殊标识,与其采集的生物特征数据进行关联,以实现对所述区块链认证网络的节点认可的物联网设备进行统一管理。
[0056]
每个所述区块链认证网络的节点都布置有生物特征识别程序,某个节点签名后的所述生物特征数据在该节点上进身份认证的过程为:先将ecc加密的所述生物特征数据进行ecc解密,再利用布置在该节点上的生物特征识别程序进行认证。
[0057]
在本发明的一个实施例中,通过布置在区块链认证网络的各节点的生物特征识别程序,对签名后的所述生物特征数据进行身份认证,包括:
[0058]
通过相似度阈值和布置在区块链认证网络的各节点的预先训练完毕的神经网络模型,对签名后的所述生物特征数据进行身份认证;所述相似度阈值用于控制身份认证的精准度。
[0059]
上述生物特征识别程序是通过一定数量的样本训练完成后得到的,用于将所述生物特征信息与用户身份信息所对应的生物特征信息进行匹配,若两者的相似度超过了预设的相似度阈值,则认证成功,此进行身份认证的用户是所述区块链认证网络承认的合法用户。
[0060]
例如,预先是设置的相似度阈值为百分之八十五,此次用户采集的指纹与用户的身份对应的指纹的相似度只有百分之六十,即该用户为非法用户,不能再进行下一步的流程或数据处理操作。
[0061]
一般来说,预设的相似度阈值越高,区块链认证网络的节点获得的所述生物特征信息需要与用户身份信息对应的生物特征信息吻合度更高,才能判定为认证成功,因此认证的精准度就越高。
[0062]
在本发明的一个实施例中,所述区块链认证网络的各个节点采用各自私钥对各自获取的所述生物特征数据进行签名,是采用以下表达式(1)实现的:
[0063][0064]
其中,data
auth
表示提供给生物特征识别程序的数据,d1,d2,

,dm表示采集的m次生物特征数据,ts表示签名的时间戳,idi表示节点i的标识符,sign
ipriv
表示节点i使用其私钥进行签名。
[0065]
在本发明的区块链认证网络中,各个节点是相互信任的,即各个节点为自己上传的数据负责、背书。各个节点在对用户认证完成后,都会将认证的信息传输到其他节点,其他节点在接收时,会对认证的信息的正确性进行确认。所述生物特征信息上传至其他节点时,带有上传节点的签名,以这样的方式对自己的获取的生物特征信息进行背书,对节点自己的认证结果进行负责。
[0066]
在本发明的一个实施例中,如果当前认证是用户第一次在区块链认证网络的节点上认证,则第一次认证后,所述区块链认证网络的所有节点都存储第一次认证的信息,所述信息至少包括:第一次认证所针对的生物特征数据、认证时间和认证结果。
[0067]
在本发明的区块链认证网络中,所有的区块链认证网络的节点基于共识机制,各个节点上传的数据都将在其他节点进行确认并存储。当用户是第一次认证时,在进行第一
次认证的区块链认证网络的节点完成认证后,将用户第一次认证的信息传输到其他节点,所述区块链认证网络的所有节点都可以对用户进行身份认证,包括全量级的认证和轻量级的认证。
[0068]
在本发明的一个实施例中,用户在所述区块链认证网络的节点进行的认证不是第一次认证,且在当前认证开始的时间与上一次认证的间隔时间已超过阈值的情况下,采用全量级的认证方式对用户进行身份认证。
[0069]
实际上,在第一次认证或长时间未认证的情况下,研究采用ecc生物特征认证加口令认证的方式,即全量级的认证,是为后续轻量级认证提供安全性保障。
[0070]
在本发明的一个实施例中,所述区块链认证网络的节点,拥有各自对应的积分,采用积分制,以奖励诚实节点及惩罚恶意节点;所述诚实节点为认证结果正确的所述区块链认证网络的节点;所述恶意节点为认证结果存在错误的所述区块链认证网络的节点。
[0071]
在背书策略的基础之上,引入相应的积分机制。所述区块链认证网络节点的积分的计算,考虑多种因素,包括所述区块链认证网络的节点所提交的正确数据的量n
correct
,错误数据的量n
error
,最后一次出现错误数据的时间e
last
以及该节点代理的用户数量n
user
,如式(2)所示。当验证节点发现某节点i提交的认证数据存在错误,其按照式(2)进行计算,将得出负积分,表示应当减去节点i相应的积分;在数据正确的情况下,式(2)将给出正分,表示增加节点i的积分。
[0072]
score=fun
score
(n
correct
,n
error
,e
last
,n
user
)
ꢀꢀꢀ
(2)
[0073]
其中fun
score
为积分计算函数,根据实际情况选择不同的线性或者非线性函数。
[0074]
当某节点的积分score为负时,则对该节点的认证数据进行丢弃,丢弃概率p
discard
如式(3)所示;如果节点仍然发送错误数据,导致score小于设定的临界值score
low
(如score
low
取-10),则将该节点从所述区块链认证网络中移除。
[0075]
p
discard
=1+1/(k*score)if score《0
ꢀꢀꢀꢀꢀꢀꢀ
(3)
[0076]
其中,k为大于1的整数,在倾向于容许所述区块链认证网络的节点出错的情况下,k值设置较小,否则k设置为较大值。
[0077]
在本发明的一个实施例中,对与所述区块链认证网络的各个节点连接的各个物联网设备采用积分制进行管理。将上述物联网设备设置有id编号作为唯一标识,其采集的所述生物特征信息在上传前,关联有物联网设备自身的标识。以使能上传用户生物特征数据的物联网设备也是所述区块链认证网络认可的、合法的物联网设备,进一步保障所述区块链认证网络的节点,认证的安全性。
[0078]
上述物联网设备的积分,可以考虑多种因素,包括在相同的次数中,所采集的用户生物特征信息的合格率,或者在预设时间范围内,用户使用的频率。通过积分制,可以了解每个物联网设备在使用过程中,采集信息的效率和准确性,方便对其进行维护和更换。
[0079]
在本发明的一个实施例中,轻量级的认证与前一次认证的时间间隔,是根据前一次认证的结束时间和当前认证的开始时间计算得到的。
[0080]
例如用户上一次在区块链认证网络的节点a进行了全量级认证,认证结束的时间为2022-01-01-13:23,当前认证开始的时间为2022-01-02-09:30;而预设的时间间隔的阈值为72小时,则当前认证就可以进行轻量级认证,不需要用户在物联网设备上进行多次指纹的输入,只需要进行口令认证。一般而言,口令认证的方式为静态的密码认证,需要等待
的时间更短,但安全性不高。在本发明中,这种轻量级的方式是基于全量级认证的安全性保障下进行的,因此可以达到安全又效率高的效果。
[0081]
图2是本发明的一个实施例中对用户进行全量级的认证的流程图。如图2所示,用户在与上一次认证过去一个月后再次进行认证,预设的时间间隔的阈值为72小时,用户在与区块链认证网络的一个节点连接的物联网设备中开始全量级的认证,可以按照以下步骤:
[0082]
步骤201,用户输入身份信息开始认证。
[0083]
本发明中的物联网设备,可以采用一些连接有生物特征采集器的pc端,用户先输入身份信息,例如身份证号、手机号、或员工编号等数据,基于对业务的需求设置。
[0084]
步骤202,查询该用户的上一次认证的认证信息,确定间隔时间。两次认证的时间间隔超过预设的间隔阈值72小时。
[0085]
从用户第一次认证开始,所述区块链认证网络的各个节点都存储有第一次认证所述针对的生物特征数据和认证时间及认证结果,以及之后的全量级或轻量级认证的认证时间和认证结果。
[0086]
因此,当用户在所述区块链认证网络的某个节点上进行认证时,通过查询该用户的认证记录,调取与当前认证最近的上一次认证的认证时间,进行计算,得到时间间隔与预设的间隔时间进行比对。
[0087]
步骤203,对用户进行口令认证。
[0088]
实际上,在全量级的认证方式中,口令认证与ecc生物特征认证的前后顺序,在此并不限定,可先进行口令认证再进行ecc生物特征认证,也可先进行ecc生物特征认证再进行口令认证。
[0089]
步骤204,口令认证通过后,提示用户在物联网设备连接的指纹采集器上输入指纹,直到该设备采集到一定数量的合格的指纹。
[0090]
口令认证通过后,可以通过语音指令的方式,提示用户在上述物联网设备连接的指纹采集器上输入指纹,一般而言,用户至少需要被采集三次指纹,以防止偶然性的错误。
[0091]
步骤205,物联网设备将指纹进行ecc加密后,上传到与该物联网设备连接的区块链认证网络的节点。
[0092]
物联网设备采集生物特征并进行ecc加密,仅用于全量级的认证方式,以便后续区块链认证网络的节点上的生物特征识别程序进行ecc生物特征认证。
[0093]
步骤206,所述区块链认证网络的节点采用私钥对指纹信息进行签名,在ecc解密后,通过该节点上的生物特征识别程序进行认证。
[0094]
ecc生物特征认证的过程是在所述区块链认证网络的节点上进行的,物联网设备在传输了生物特征信息后,不需要存储所述生物特征数据,也不需要再进行认证,只需等待返回认证结果,以进行下一步的操作。
[0095]
各个所述区块链认证网络的节点都拥有各自的私钥,当用户选取其中一个节点进行认证时,该节点需要对自身进行认证的生物特征数据和认证结果负责,因此,会先通过自己的私钥对所述生物特征信息进行签名,以便于后续的追踪、查看、溯源,以及对各个节点进行积分评价。
[0096]
步骤207,认证通过后,所述区块链认证网络的节点将当前认证信息,包括认证的
指纹数据与认证的时间和认证的结果传输到其余节点,验证无误后存储。
[0097]
所述区块链认证网络的各个节点基于共识机制,是互相信任的节点。存储其他节点传输的认证信息时,在该认证信息包括认证数据的情况下,作为验证节点对认证数据进行验证,认证的结果相当于进行了多次确认。
[0098]
步骤208,将认证结果返回给该物联网设备,用户可进行下一步操作。
[0099]
上述步骤记录了用户在认证通过的情况下的认证流程,在实际认证中,也存在认证不通过的情况。在用户没有通过认证的情况下,可以不将认证没有通过的认证信息,传输到所述区块链认证网络的其他节点。由此,用户在进行认证时,查询到的都是用户认证通过的记录。
[0100]
例如,用户的口令认证没有通过,直接就不能进行下一步的ecc生物特征认证;或者,用户的ecc生物特征认证没有通过,可能是用户本身与身份信息不匹配,被冒充;也可能是物联网设备或某个区块链认证网络的节点出现了故障。
[0101]
这时,用户可以通过其他节点进行认证,或为了防止用户被恶意冒充,设置用户的认证错误的次数的阈值来进行限制再次认证,以及给用户发送安全提示信息。
[0102]
在本实施例中,采用全量级的认证方式进行认证,通过ecc生物特征和口令认证,保证用户的认证的安全性。同时,用户的生物特征数据存储在所述区块链认证网络的节点中,隐私性也得到了保障。
[0103]
图3是本发明的一个实施例中对用户进行轻量级的认证的流程图。用户在与上一次认证过去一天后,再次进行认证,上一次认证可能为全量级认证,也可以是轻量级认证,预设的时间间隔的阈值为72小时。用户在与区块链认证网络的一个节点连接的物联网设备中进行轻量级的认证,可以按照以下步骤:
[0104]
步骤301,用户输入身份信息开始认证。
[0105]
步骤302,查询该用户的上一次认证的认证信息,上一次认证与认证的时间间隔未超过预设的间隔阈值72小时。
[0106]
步骤303,对用户进行口令认证。
[0107]
步骤304,认证通过后,所述区块链认证网络的节点将当前认证的结果及认证时间在区块链中。
[0108]
步骤305,将认证结果返回给该物联网设备,用户可进行下一步操作。
[0109]
在本实施例中,用户处于活跃期,与上一次认证的时间间隔未超过阈值,即进行轻量级的认证。通过这样的方式,提升用户认证的效率,减少用户的等待时间。而之前的全量级的认证可以为当前认证提供安全支撑。
[0110]
当然,有时在一次全量级的认证后,可能会有多次连续的轻量级认证。
[0111]
在本发明的一个实施例中,用户在节点a于2022-01-10-11:30:50开始进行一次全量级的认证,认证通过的时间为2022-01-10-11:31:20。预设的时间间隔阈值为72小时。
[0112]
用户继续在节点b于2022-01-12-16:00:40开始进行认证,此次为轻量级认证,认证通过的时间为2022-01-12-16:00:48。
[0113]
用户继续在节点c于2022-01-14-13:00:10开始进行认证,此次仍为轻量级认证,认证通过的时间为2022-01-14-13:00:15。
[0114]
用户继续在节点a于2022-01-15-15:30:40开始进行认证,此次为轻量级认证,认
证通过的时间为2022-01-15-15:30:48。此时,虽然与上一次全量级的认证已经过去了5天,但因为在这段时间内,用户较为活跃,通过了多次轻量级的认证,因此仍然采用轻量级的认证方式,减少用户的认证时间。
[0115]
用户再次在节点b于2022-01-24-09:30:10开始进行认证,此时查询到上一次的认证通过的时间为2022-01-15-15:30:48,距离上一次认证的时间间隔超过了72小时,那么此次就会对用户进行全量级的认证。
[0116]
本发明还提供了一种基于区块链的轻量级物联网身份认证和密钥协商的装置的一个实施例,所述装置中包括:
[0117]
检测单元,用于检测用户在区块链认证网络的节点进行的认证是否是第一次认证;
[0118]
第一认证单元,用于在用户在区块链认证网络的节点进行的认证是第一次认证的情况下,采用全量级的认证方式对用户进行身份认证;所述全量级的认证方式为ecc生物特征加口令认证;
[0119]
第二认证单元,用于在用户在区块链认证网络的节点进行的认证不是第一次认证,且当前认证开始的时间与上一次认证的间隔时间未超过阈值的情况下,采用轻量级的认证方式对用户进行身份认证,所述轻量级的认证方式为口令认证。
[0120]
上述检测单元,通过查询用户的认证记录,检测用户在区块链认证网络的节点的认证是否是第一次认证,若不是第一次认证,则进一步检测用户的上一次认证的认证完成时间,以确定在区块链认证网络中的节点上进行的当前认证是采用全量级的认证方式还是轻量级的认证方式。当用户是第一次认证的情况下,确定对用户采用全量级的认证方式;当用户不是第一次认证的情况下,进一步判断用户的上一次认证与当前认证的时间间隔是否超过阈值;在用户不是第一次认证且当前认证距离上一次认证的时间间隔未超过阈值的情况下,确定采用轻量级的认证方式;在用户不是第一次认证且当前认证距离上一次认证的时间间隔超过阈值的情况下,确定采用全量级的认证方式。
[0121]
上述第一认证单元,还用于用户在所述区块链认证网络的节点进行的认证不是第一次认证,且在当前认证开始的时间与上一次认证的间隔时间已超过阈值的情况下,采用全量级的认证方式对用户进行身份认证。
[0122]
在本发明的一个实施例中,上述装置还包括发送单元,用于将认证的结果发送到完成当前认证的所述区块链认证网络的节点所连接的物联网设备上;还用于将当前认证的认证信息,包括认证结果及认证时间,或包括认证数据、认证结果及认证时间,上链存储。这里的认证时间是指认证完成的时间。
[0123]
在本实施例中,在进行认证之前,通过查询用户的认证记录,来判断当前认证对用户的认证方式;若是全量级认证,采用ecc生物特征加口令认证的方式,保障了用户认证的安全性;若是轻量级认证,采用口令认证的方式,提升了认证效率。两种认证方式的结合,兼顾了认证的安全性和效率。
[0124]
本发明还提供了一种电子设备的实施例,包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述多个实施例描述的基于区块链的轻量级物联网身份认证和密钥协商方法。
[0125]
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其他技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1