一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式身份认证方法、设备访问方法及装置与流程

2021-10-29 21:47:00 来源:中国专利 TAG:方法 区块 分布式 身份认证 装置


1.本技术涉及区块链技术领域,特别是涉及一种分布式身份认证方法、设备访问方法及装置。


背景技术:

2.移动云计算为资源受限的终端设备提供了额外的计算资源容量。然而,为了使用由不同的云服务商提供的服务,移动用户必须在不同的云服务商处注册用户身份,同时必须记住多个身份和凭证才能访问各种云服务商,这种认证方法复杂且繁琐。
3.目前,虽然已经出现了许多单点登录方案以消除移动用户访问云服务商的多次重复注册。但是,这些方案大多数依赖于受信任的第三方注册中心,该中心是管理向其注册的所有移动用户的身份信息的集中式实体。集中式的注册中心对其拥有的数据具有完全控制权,从而导致用户数据泄露的可能性和单点故障的风险增加。


技术实现要素:

4.本技术提供一种分布式身份认证方法、设备访问方法及装置,基于区块链存储的用户对应的加密信息就可完成用户的身份认证,避免了集中式注册中心导致的数据泄露和单点故障问题。
5.为达到上述目的,本技术提供一种分布式身份认证方法,该方法包括:
6.终端设备获取用户信息;
7.终端设备基于用户信息从区块链获取到用户的加密信息;
8.终端设备基于加密信息和用户信息进行计算,得到第一值;
9.终端设备将第一值发送给认证云服务商,以让认证云服务商基于第一值对用户的身份进行验证。
10.为达到上述目的,本技术提供一种分布式身份认证方法,该方法包括:
11.认证云服务商从终端设备获取到第一值,第一值是终端设备基于用户加密信息和用户信息进行计算得到的,用户加密信息是终端设备基于用户信息从区块链获得的;
12.认证云服务商对第一值进行验证;
13.若通过验证,将身份认证消息发送给终端设备以完成身份认证。
14.为达到上述目的,本技术提供一种设备访问方法,该方法包括:
15.认证云服务商获取到终端设备发送的访问请求和第一值,第一值是终端设备基于用户加密信息和用户信息进行计算得到的,用户加密信息是终端设备基于用户信息从区块链获得的;
16.认证云服务商对第一值进行验证;
17.若通过验证,认证云服务商向终端设备授予访问认证云服务商的权限。
18.为达到上述目的,本技术还提供一种电子设备,该电子设备包括处理器;处理器用于执行指令以实现上述方法。
19.为达到上述目的,本技术还提供一种计算机可读存储介质,其用于存储指令/程序数据,指令/程序数据能够被执行以实现上述方法。
20.本技术终端设备进行身份认证时,先获取用户信息,然后基于用户信息从区块链获取到用户的加密信息,接着终端设备可以基于用户的加密信息和用户信息进行计算,得到第一值,然后将第一值发送给认证云服务商,以让认证云服务商在对第一值认证通过的情况下完成用户身份认证,从而基于区块链存储的用户对应的加密信息就可完成用户的身份认证,使得注册到区块链的不同服务器都可基于区块链上的用户对应的加密信息对用户身份进行认证,无需集中式服务器对用户的信息进行管理,从而避免出现数据泄露和单点故障的问题。
附图说明
21.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
22.图1是本技术基于区块链的用户注册方法一实施方式的流程示意图;
23.图2是本技术基于区块链的用户注册方法另一实施方式的流程示意图;
24.图3是本技术分布式身份认证方法一实施方式的流程示意图;
25.图4是本技术分布式身份认证方法中终端设备的工作流程示意图;
26.图5是本技术分布式身份认证方法中认证云服务商的工作流程示意图;
27.图6是本技术分布式身份认证方法另一实施方式的流程示意图;
28.图7是本技术电子设备一实施方式的结构示意图;
29.图8是本技术计算机可读存储介质一实施方式的结构示意图。
具体实施方式
30.描述和附图说明本技术的原理。因此将了解,本领域的技术人员将能够设计各种布置,尽管本文中未明确地描述或示出布置,但其体现了本技术的原理且包括在本技术的范围内。此外,本文中的所有例子主要明确地意在用于教学目的,以辅助读者理解本技术的原理及由发明人所提供的概念,从而深化所属领域,且所有例子不应解释为限于此类特定阐述的例子及条件。另外,除非另外指明(例如,“或另外”或“或在替代方案中”),否则如本文所使用的术语“或”指代非排他性的“或”(即,“和/或”)。并且,本文所描述的各种实施例不一定相互排斥,因为一些实施例可以与一个或多个其它实施例组合以形成新的实施例。
31.为了解决现有通过集中式注册中心对用户身份进行管理的技术方案中存在的用户数据泄露和单点故障的问题。
32.本技术提出一种基于区块链的基于区块链的用户注册方法,在用户通过终端设备注册至云服务商时,云服务商会将用户信息处理成加密信息上传到区块链,这样其他云服务商也可利用存储于区块链的加密信息进行用户身份认证,使得用户无需在不同的云服务商均进行身份注册,通过区块链对用户身份信息进行管理,而无需集中式注册中心,从而避免出现数据泄露和单点故障的问题,而且区块链上存储的是用户信息的加密信息,可以提高用户信息的安全性。
33.下面将详细介绍本技术基于区块链的用户注册方法,其中基于区块链的用户注册
方法一实施方式的流程示意图具体如图1和图2所示,本实施方式的基于区块链的用户注册方法包括以下步骤。其中,本技术的基于区块链的用户注册方法的使用领域不受限制,例如可适用于跨境贸易领域或物联网设备管理领域。需要注意的是,以下步骤编号仅用于简化说明,并不旨在限制步骤的执行顺序,本实施方式的各步骤可以在不违背本技术技术思想的基础上,任意更换执行顺序。
34.s101:注册云服务商获取携带有用户信息的用户的注册请求。
35.在一实现方式中,终端设备可以将携带有用户信息的用户的注册请求直接发送给注册云服务商,使得注册云服务商可以获取到携带有用户信息的用户的注册请求。
36.在另一实现方式中,其中用户和注册云服务商均是他们共同维护的区块链中的节点,用户可通过区块链与注册云服务商交互数据,使注册云服务商仅根据收到的用户的注册请求和用户信息提供服务,而无法知晓被提供服务的用户是谁,可以保护用户的隐私。
37.另外,终端设备可以对携带有用户信息的用户的注册请求进行加密,并将加密后的数据发送给注册云服务商,以提高用户信息的安全性。而且,终端设备可先选择一云服务商作为接收用户的注册请求的云服务商(即注册云服务商),然后用注册云服务商的公钥对携带有用户信息的用户的注册请求进行加密,然后将加密后的用户的注册请求发送给注册云服务商,从而仅有注册云服务商才能用自己的私钥对加密后的用户的注册请求进行解密,以保证用户信息的安全。
38.其中,注册云服务商的公钥可以是在注册云服务商注册进区块链时,由注册云服务商自身上传到区块链上的,这样终端设备可以从区块链获取到注册云服务商的公钥。在其他实施方式中,注册云服务商可以将公钥发送给其选择的一些区块链节点,也可以将公钥直接全网广播,以发送给所有区块链节点。
39.其中注册云服务商的公钥的计算过程可以是:注册云服务商先选择至少一个私钥,例如x,y;然后利用私钥计算出公钥。例如可利用公式q=(x y).p计算出公钥q;其中,x和y为注册云服务商选择的私钥,p为椭圆曲线方程的基点。
40.另外,用户可以就近选择注册云服务商,然后将携带有用户信息的用户的注册请求发送给该就近选择的注册云服务商,以让就近选择的注册云服务商对用户信息进行处理,使得区块链中每个云服务商负责与其相邻的用户节点的注册请求,实现分区处理。
41.s102:注册云服务商基于自身的密钥和用户信息计算得到至少一个加密信息。
42.注册云服务商获取携带有用户信息的用户的注册请求后,注册云服务商可以响应于用户的注册请求对用户信息进行处理,以便后续注册云服务商将处理后的至少一个加密信息上传到区块链,以完成用户的注册,并且让自己和其他云服务商可以从区块链上获取到该用户对应的至少一个加密信息,从而在用户登录或访问时对用户的身份进行认证,从而用户仅需进行一次注册就可访问登录多个云服务商,并且也无需集中式注册中心对用户的身份信息进行管理,可以避免出现数据泄露和单点故障的问题。
43.可选地,注册云服务商可以基于自身的密钥对用户信息进行可逆计算,以得到第一加密信息,这样注册云服务商将第一加密信息发布到区块链上后,用户可以从区块链上获取到自身的第一加密信息,用户可通过用户信息和从区块链上获得的第一加密信息推算出注册云服务商的密钥的推算值,如果用户信息无误,注册云服务商的密钥的推算值就等于注册云服务商密钥的真实值,从而用户身份认证就可通过。
44.其中,用户信息可以包括关联信息,该关联信息是用户终端对用户的生物特征进行处理得到的。注册云服务商可以基于自身的密钥对关联信息进行可逆计算,以得到第一加密信息,这样如果终端设备在用户登录时采集的用户的生物特征和进行身份注册时采集的生物特征匹配,终端设备就可基于用户登录时采集的用户生物特征计算出正确的关联信息,进而推算出注册云服务商的密钥的真实值,以便完成用户的身份认证,这样终端设备无需存储用户的生物特征,也不用将用户的生物特征发送给其他设备(例如注册云服务商或认证云服务商),可以保证用户的生物特征信息安全。
45.进一步地,上述用户的关联信息可以是将用户生物特征和用户的初始标识关联得到的。具体地,用户的终端设备可以对用户的生物特征进行模糊提取,以得到密钥串;然后将密钥串和用户初始标识进行关联,得到关联值;接着将关联值进行哈希处理,得到关联信息。
46.具体地,关联信息的计算公式如下所示:gen(bio
i
)=>(b
i
,b
f
);
47.b1=h(id
i
||b
i
);
48.其中,gen(.)为模糊提取器的母函数;b
i
为对生物特征模糊提取得到的密钥串;b
f
为对生物特征模糊提取得到的公共复制串;||为关联操作;为异或操作;h(.)为单向哈希函数;id
i
是用户的初始标识。
49.在一实现方式中,基于本实施方式完成用户身份注册后,且在用户登录时,终端设备可以将推算出的注册云服务商的密钥的推算值发送给认证云服务商,让认证云服务商对密钥推算值进行验证,若验证通过,则认证云服务商对用户身份验证通过。
50.在另一实现方式中,因为认证云服务商可能与注册云服务商不相同,且认证云服务商可能不知晓注册云服务商的密钥的真实值,为了便于认证云服务商对用户身份进行验证,注册云服务商可设置第一密钥和第二密钥这两个密钥,注册云服务商基于第一密钥对用户信息进行计算,以得到第一加密信息,注册云服务商基于第二密钥对注册云服务商的第一标识进行计算,以得到第二加密信息;另外注册云服务商还可利用第一密钥和预设值相乘,得到第三加密信息;注册云服务商还可利用第二密钥和上述的预设值相乘,得到第四加密信息;然后在步骤s103中将第一加密信息、第二加密信息、第三加密信息和第四加密信息上传到区块链,这样在用户登录时用户使用的终端设备可基于用户信息和从区块链上获取的第一加密信息推算出第一密钥,并利用第一密钥和从区块链上获取的第四加密信息相乘,得到第一值,另外认证云服务商会获取到注册云服务商的第一标识等信息,并利用注册云服务商的第一标识等信息和从区块链上获取的第二加密信息推算出第二密钥,并利用第二密钥和从区块链上获取到第三加密信息相乘,得到第二值,若终端设备计算第一值时使用的用户信息无误且计算过程正确,那第二值会和第一值相同,在这样的情况下,认证云服务商对用户身份验证通过,从而区块链上的除注册云服务商以外的云服务商也可以利用用户的至少一个加密信息对用户的身份进行认证,而且在注册和登录过程中云服务商无需获取用户的生物特征等信息,可以保证用户的生物特征信息安全。其中,为便于对第一加密信息、第二加密信息、第三加密信息和第四加密信息进行描述,可将第一加密信息、第二加密信息、第三加密信息和第四加密信息称为用户对应的加密信息,并且可将第一加密信息和第四加密信息统称为用户的加密信息,可将第二加密信息和第三加密信息统称为注册云服务商的加密信息。
51.其中上述的预设值可以是随机生成的随机数,或者可以是通过用户信息和/或注册云服务商的标识信息处理得到的数值。具体地,用户信息可以包括用户标识,预设值可以是对用户标识和注册云服务商的第二标识计算得到的。进一步地,为了保证用户信息和云服务商信息,可以利用椭圆曲线等方程隐藏他们的身份,具体地,预设值可以是注册云服务商对用户标识与第二标识的和进行椭圆曲线计算得到的。而上述的用户标识可以是用户的初始标识,也可以是对用户的初始标识进行哈希处理得到的值。
52.而第一加密信息的具体计算公式可为:
53.其中,a4为用户的第一加密信息,b1为用户的关联信息,n
a
为注册云服务商的第一密钥,id
j
为注册云服务商的第二标识,为异或操作。
54.而第二加密信息的具体计算公式可为:
55.其中,p
c
为用户对应的第二加密信息,h(s)为注册云服务商的第一标识,n
b
为注册云服务商的第二密钥,id
j
的注册云服务商的第二标识,为异或操作。
56.而第三加密信息的具体计算公式可为:p
a
=n
a
×
p.(id
j
h(id
i
));
57.其中,p
a
为第三加密信息,n
a
为注册云服务商的第一密钥,id
j
为注册云服务商的第二标识,h(id
i
)为用户标识。
58.而第四加密信息的具体计算公式可为:p
b
=n
b
×
p.(id
j
h(id
i
));
59.其中,p
b
为用户对应的第四加密信息,n
b
为注册云服务商的第二密钥,id
j
为注册云服务商的第二标识,h(id
i
)为用户标识。
60.另外上述注册云服务商的第一标识可以是注册云服务商对自身的第二标识处理得到的。
61.具体地,注册云服务商可以先生成第一随机数r;
62.然后以公式s=h(r1.p||id
j
)计算出中间值,其中,||为关联操作,p为椭圆曲线方程的基点,h为单向哈希函数h(.):{0,1}*

>zp*,r为第一随机数,s为中间值;
63.再对中间值s进行哈希处理,得到注册云服务商的第一标识h(s)。
64.其中,上述的中间值可以由注册云服务商保存在本地服务器。而注册云服务商的第二标识和/或第一标识可以存储于区块链上,以便认证云服务商从区块链上获取到用户对应的注册云服务商的第二标识和/或第一标识,以便对已注册的用户进行身份认证。注册云服务商的第二标识和/或第一标识可以在注册云服务商注册进区块链时,由注册云服务商自身上传到区块链上。
65.可以理解的是,本技术基于区块链的用户注册方法是基于区块链执行的。为了便于对用户身份进行管理,以及对用户身份进行认证,可以在区块链建立初期,由至少部分云服务商确定统一的哈希函数和椭圆曲线方程的基点等,并将统一的哈希函数和椭圆曲线方程的基点发布到区块链上,以便终端设备和云服务商利用相同的哈希函数和椭圆曲线方程的基点进行数据处理,可以让终端设备和云服务商可以快速且准确地进行密钥转换,以避免出现终端设备和云服务商使用不一致的哈希函数和椭圆曲线方程的基点等外部原因导致用户身份认证失败的情况,这样可以为用户和云服务商提供安全的身份认证通道。
66.另外,在步骤s102之前,注册云服务商可以基于用户信息在区块链上检查用户是否已经注册过;若已经注册过,则注册云服务商可以忽略该次注册请求,并可向终端设备发
出提醒,以提示用户该账号已被注册;若未注册过,则执行步骤s102。
67.s103:注册云服务商将至少一个加密信息上传至区块链,以完成用户的注册。
68.基于步骤s102得到至少一个加密信息后,注册云服务商可以将至少一个加密信息上传到区块链。并且注册云服务商还可将注册成功的消息发送给终端设备,以让用户知晓自己已经成功注册。
69.此外,终端设备可以将注册过程中产生的一些参数(例如公共复制串、模糊提取函数gen(.)、复制函数rep(.)、单向哈希h(.)、时间间隔

t、基点p、以及a1)存储到自身设备上。
70.其中,a1是通过公式计算出来的;其中,id
i
的用户的初始标识;b
i
是用户的关联信息;pw
i
是用户输入的密码;s
l
可以是对用户生物特征进行处理、生成的具有生命周期的秘密。
71.基于上述基于区块链的用户注册方法或其余用户注册方法将用户对应的加密信息上传到区块链之后,终端设备和认证云服务商可以利用区块链中的用户对应的加密信息进行用户的身份认证。其中,本技术的云服务商即为云服务的提供商,并且云服务商可以是区块链中的完整节点,其可以拥有区块链分布式账本的完整副本,从而云服务商可在区块链上查找到由其他云服务商注册的用户对应的加密信息,以便进行用户的身份认证。具体地,如图3所示,利用上述加密信息进行分布式身份认证方法可包括以下步骤。
72.s201:终端设备获取用户信息。
73.s202:终端设备基于用户信息从区块链获取到用户的加密信息。
74.s203:终端设备基于用户的加密信息和用户信息进行计算,得到第一值。
75.s204:认证云服务商对第一值进行验证。
76.s205:若通过验证,认证云服务商将身份认证消息发送给终端设备以完成身份认证。
77.终端设备进行身份认证时,可以先获取用户信息,以便终端设备基于用户信息从区块链获取到用户的加密信息,从而终端设备可以基于用户的加密信息和用户信息进行计算,得到第一值,以便在认证云服务商对第一值认证通过的情况下完成用户身份认证,从而基于区块链存储的用户对应的加密信息就可完成用户的身份认证,使得注册到区块链的不同服务器都可基于区块链上的用户对应的加密信息对用户身份进行认证,无需集中式服务器对用户的信息进行管理,从而避免出现数据泄露和单点故障的问题。
78.在第一实现方式中,用户注册时,用户的加密信息是注册云服务商基于注册云服务商的密钥对用户信息进行可逆计算得到的,那在步骤s203中终端设备可以利用用户信息和用户的加密信息进行推算,以得到注册云服务商的密钥的推算值,并将注册云服务商的密钥的推算值作为第一值发送给认证云服务商,以让认证云服务商对注册云服务商的密钥的推算值进行认证,若认证通过,则认证云服务商可以将身份认证消息发送给终端设备以完成用户的身份认证。具体地,在步骤s204中,认证云服务商可基于用户对应的注册云服务商的标识等信息确定注册云服务商的密钥的真实值(例如,若认证云服务商不是注册云服务商,认证云服务商可以直接向注册云服务商请求获取注册云服务商的密钥真实值);若认证云服务商确定注册云服务商的密钥真实值和终端设备发送的注册云服务商的密钥推算值一致,则第一值认证通过。
79.在第二实现方式中,在步骤s203中,终端设备可以利用用户信息和用户的加密信息进行推算,以推算出注册云服务商的密钥的推算值;终端设备可以利用注册云服务商的密钥的推算值进行计算,得到第一值,然后将第一值发送给认证云服务商,以让认证云服务商对第一值进行认证,若认证云服务商对第一值认证通过,则认证云服务商将身份认证消息发送给终端设备以完成用户的身份认证,即用户身份认证通过。可选地,在步骤s204中,认证云服务商可以基于第一值、注册云服务商的标识以及注册云服务商的加密信息计算得到第二值;确认第一值和第二值是否一致;若第一值和第二值相同,则认证云服务商对第一值认证通过。
80.在第三实现方式中,为了便于不同的认证云服务商对用户身份进行验证,用户注册时,注册云服务商可利用第一密钥和第二密钥这两个密钥得到用户对应的第一加密信息、第二加密信息、第三加密信息和第四加密信息这四个加密信息。具体地,在步骤s202中,终端设备可通过用户信息从区块链上获取到用户注册时存储到区块链上的第一加密信息和第四加密信息;然后在步骤s203中,终端设备利用第一加密信息和用户信息推算出注册云服务商的第一密钥的推算值;将第一密钥的推算值和第四加密信息相乘,以得到第一值;接着终端设备将第一值发送给认证云服务商,以让认证云服务商在步骤s204中,基于用户对应的第二加密信息和注册云服务商的标识推算出注册云服务商的第二密钥;然后将推算得到的第二密钥和第三加密信息相乘,以得到第二值;认证云服务商确认计算得到的第二值和第一值是否一致;若一致,则对第一值验证通过,即用户身份认证通过,此时可将身份认证消息发送给终端设备以完成用户的身份认证。
81.在第四实现方式中,在步骤s202中,终端设备可通过用户信息从区块链上获取到用户注册时存储到区块链上的第一加密信息和第四加密信息;然后在步骤s203中,终端设备利用第一加密信息和用户信息推算出注册云服务商的第一密钥的推算值;将第一密钥的推算值和第四加密信息相乘,以得到第一中间值;终端设备对第一中间值和第一加密信息进行可逆处理,得到第一值;接着终端设备将第一值发送给认证云服务商,以让认证云服务商在步骤s204中,基于注册云服务商的标识和从区块链获取的第二加密信息推算出注册云服务商的第二密钥;然后将推算得到的第二密钥和从区块链获得的第三加密信息相乘,得到第二中间值;认证云服务商对第二中间值、第一值和从区块链获得的第一加密信息进行可逆处理,得到第二过渡值;然后认证云服务商对第二过渡值、第二中间值和第一加密信息进行可逆计算,得到第二值;接着认证云服务商确认计算得到的第二值和第一值是否一致;若一致,则对第一值验证通过,可将身份认证消息发送给终端设备以完成用户的身份认证。
82.可选地,用户信息可以包括用户密码,注册云服务商的标识包括第一标识和第二标识。终端设备对第一中间值和第一加密信息进行可逆处理的步骤可以包括:终端设备对用户初始标识、用户密码、当前密钥串和注册云服务商的第二标识进行处理,得到第一关联值;然后终端设备对第一关联值、第一中间值和第一加密信息进行异或操作,得到第一值。
83.其中,第一关联值的计算公式可如下所示:
84.a5=h(id
i
||pw
i
||b
i
*||r2||t1||id
j
);
85.其中,a5为第一关联值,id
i
为用户的初始标识;pw
i
为用户的密码;b
i
*为用户的当前密钥串;r2为第二随机数;t1为第一时间,id
j
为注册云服务商的第二标识。其中,第二随机数r2和第一时间t1可以是终端设备在从区块链获取到用户加密信息的情况下生成的。
86.另外,第一值的计算公式可为:
87.其中,a6为第一值,a5为第一关联值,d1为第一中间值,a4为用户的第一加密信息。
88.进一步地,上述实现方式中认证云服务商具体可对注册云服务商的第一标识、第二标识和第二加密信息进行可逆计算(例如异或计算),以得到注册云服务商的第二密钥的推算值。
89.另外,用户信息可以包括用户的当前生物特征,在上述实现方式中的步骤s203中,终端设备可以对当前生物特征进行处理,以得到用户的当前关联信息,然后终端设备利用用户的当前关联信息和用户的加密信息进行可逆运算以推算出注册云服务商的密钥的推算值,这样在用户身份认证时,终端设备可将对用户生物特征进行处理而得到的第一值发送给认证云服务商,而不是直接将用户生物特征发送给认证云服务商,可以在利用用户生物特征对用户身份进行认证的前提下,确保不将用户的生物特征发送给其他设备,而且终端设备无需存储用户生物特征,以保护用户的生物特征安全性。
90.进一步地,用户信息还可包括用户的初始标识。在步骤s203中,终端设备可以基于用户当前生物特征对用户的初始标识进行处理,以得到用户的当前关联信息。
91.具体地,终端设备基于用户当前生物特征对用户的初始标识进行处理的步骤可以包括:终端设备可以对用户的当前生物特征进行模糊提取,以得到当前密钥串;然后将当前密钥串和用户初始标识进行关联,得到关联值;接着将关联值进行哈希处理,得到关联信息。
92.具体地,当前关联信息的计算公式如下所示:gen(bio
i
*)=>(b
i
*,b
f
*);
93.b1*=h(id
i
||b
i
*);
94.其中,bio
i
*是用户的当前生物特征,当前生物特征是终端设备在用户登录或访问认证云服务商时、或者用户在认证云服务商上进行身份认证时,从用户获取到的生物特征;gen(.)为模糊提取器的母函数;b
i
*为对用户当前生物特征模糊提取得到的当前密钥串;b
f
*为对用户当前生物特征模糊提取得到的当前公共复制串;||为关联操作;为异或操作;h(.)为单向哈希函数;id
i
是用户的初始标识。
95.另外,用户的初始标识还可用来区分不同的用户,这样在步骤s202中,终端设备可以利用用户的初始标识、或利用对初始标识处理得到的用户标识,从区块链上查找到用户注册时存储到区块链分布式账本上的用户的加密信息。
96.相应地,在从终端设备获取到第一值之后,认证云服务商可以基于用户标识、或者基于用户标识和认证云服务商的标识从区块链中查询到用户对应的第一加密信息、第二加密信息和第三加密信息等加密信息,以便执行步骤s204而对第一值进行验证。
97.其中,认证云服务商可基于以下方法确定用户对应的注册云服务商的标识等信息。例如,在步骤s204中,认证云服务商可利用用户信息中用户标识等信息从区块链中查找到注册云服务商的标识等信息。又例如,终端设备计算到第一值后,可以将第一值和注册云服务商的标识一同发送给认证云服务商,这样认证云服务商可以在接收到第一值的同时,接收到注册云服务商的标识。
98.此外,在从终端设备获取到第一值时,认证云服务商可以将当前时间作为第二时间t2,并判断第二时间t2和第一时间t1的差值是否在有效期

t内;若是,则基于用户标识、或者基于用户标识和认证云服务商的标识从区块链中查询用户对应的加密信息。
99.进一步地,在基于用户标识、或者基于用户标识和认证云服务商的标识从区块链中查询到用户对应的加密信息之前,认证云服务商还可基于用户的标识在区块链上验证该用户是否已注销;若用户已注销,则终止此次请求,不执行步骤s204和s205;若用户未注销,则执行步骤s204和s205,以基于查询到的用户对应的加密信息对第一值进行验证。
100.此外,在上述实现方式的步骤s205中,认证云服务商可基于第一值生成身份认证消息,并将生成的身份认证消息发送给终端设备。
101.其中,身份认证消息可通过下述公式生成,当然不限于此:
[0102][0103]
其中,a8为身份认证消息,a5*为第二过渡值,a6为第一值,r2为第二随机数,t3为第三时间,r3为第三随机数。其中。第三时间和第三随机数可以是认证云服务商对第一值认证通过的情况下生成的。
[0104]
例外,认证云服务商在将身份认证消息发送给终端设备的同时,可将第三时间一同发送给终端设备,以便终端设备确认其收到身份认证消息的时间点t4和第三时间t3的差值是否在有效期

t内,若是,则身份认证成功。
[0105]
如图4所示,对于终端设备,其实现分布式身份认证方法的步骤如下所示。
[0106]
s301:终端设备获取用户信息。
[0107]
s302:终端设备基于用户信息从区块链获取到用户的加密信息。
[0108]
s303:终端设备基于加密信息和用户信息进行计算,得到第一值。
[0109]
s304:终端设备将第一值发送给认证云服务商,以让认证云服务商基于第一值对用户的身份进行验证。
[0110]
上述步骤与图3所示实施例中的相关步骤类似,具体不再赘述。终端设备进行身份认证时,先获取用户信息,然后基于用户信息从区块链获取到用户的加密信息,接着终端设备可以基于用户的加密信息和用户信息进行计算,得到第一值,然后将第一值发送给认证云服务商,以让认证云服务商在对第一值认证通过的情况下完成用户身份认证,从而基于区块链存储的用户对应的加密信息就可完成用户的身份认证,使得注册到区块链的不同服务器都可基于区块链上的用户对应的加密信息对用户身份进行认证,无需集中式服务器对用户的信息进行管理,从而避免出现数据泄露和单点故障的问题。
[0111]
对于认证云服务商,其实现分布式身份认证方法的步骤请参阅图5,图5是本技术分布式身份认证方法中认证云服务商的工作流程示意图。
[0112]
s401:认证云服务商从终端设备获取到第一值。
[0113]
其中,第一值是终端设备基于用户的加密信息和用户信息进行计算得到的,用户的加密信息是终端设备基于用户信息从区块链获得的。
[0114]
s402:认证云服务商对第一值进行验证。
[0115]
s403:若通过验证,将身份认证消息发送给终端设备以完成身份认证。
[0116]
本实施方式中上述步骤与图3所示实施例中的相关步骤类似,具体不再赘述。认证云服务商从终端设备接收到第一值后,会在对第一值认证通过的情况下,将身份认证消息发送给终端设备以完成身份认证,其中,第一值是终端设备基于用户的加密信息和用户信息进行计算得到的,用户的加密信息是终端设备基于用户信息从区块链获得的,这样基于区块链存储的用户对应的加密信息就可完成用户的身份认证,使得注册到区块链的不同服
务器都可基于区块链上的用户对应的加密信息对用户身份进行认证,无需集中式服务器对用户的信息进行管理,从而避免出现数据泄露和单点故障的问题。
[0117]
下面为更好说明本技术的分布式身份认证方法,提供下述一个用户身份认证具体实施例来示例性说明:
[0118]
实施例1
[0119]
如图6所示,本实施例分布式身份认证方法包括以下步骤:
[0120]
1、用户mu
i
从终端设备上提取其标识id
i
、密码pw
i
、生物特征bio
i
,并向区块链提出访问认证云服务商csp
j
的请求;
[0121]
2、区块链接收到访问请求和相关信息后,将之前注册时存储的加密信息a4,p
b
发送给用户;
[0122]
3、用户从区块链接收到a4,p
b
后,生成第二随机数r2,第一时间t1,并计算
[0123][0124]
a5=h(id
i
||pw
i
||b
i
*||r2||t1||id
j
),
[0125]
d1=n
a
×
p
b

[0126][0127][0128]
然后,用户将计算得到的以上第一时间t1、第二随机数r2和第一值a6等信息发送至对应的认证云服务商csp
j
,以进行身份认证;
[0129]
4、认证云服务商csp
j
接收到用户mu
i
发送的第一值a6等信息,验证第二时间t2和第一时间t1的差值是否在有效期

t内,若是,则通过用户的标识h(id
i
)和注册云服务商的第二标识id
j
向区块链请求用户对应的加密信息;
[0130]
5、区块链接收到认证云服务商csp
j
发送的h(id
i
)和id
j
,在其分布式账本上验证该用户是否已注销,若是,则终止此次请求,否则将查询得到的a4,p
a
和p
c
返回给认证云服务商csp
j

[0131]
6、认证云服务商csp
j
接收到区块链发来的a4,p
a
和p
c
,通过本地计算,验证本地生成的密钥与用户发送的密钥是否一致:
[0132][0133]
s1=n
b
×
p
a

[0134][0135][0136]
验证第二值a6*是否等于第一值a6,若是,生成第三随机数r3,第三时间t3,并将信息加密为身份认证消息a8发送至用户mu
i
[0137][0138]
7、用户mu
i
接收到认证云服务商csp
j
发来的<a8,t3>,首先检查当前的时间戳t4和第三时间t3的差值是否在有效期

t内,若是,则身份认证成功。
[0139]
本技术的身份认证方法可应用于多个应用场景中,例如下述的两种应用场景。
[0140]
在一应用场景中,终端设备在对认证云服务商进行访问之前,可以执行本技术的
身份认证方法,以便认证云服务商对使用终端设备的用户的身份认证通过后,认证云服务商给终端设备授予访问权限。具体地,在步骤s202中,且在该应用场景中,终端设备可以向终端设备和认证云服务商共同维护的区块链提出用户对认证云服务商的访问请求,以使所述区块链响应于访问请求将用户的加密信息发送给终端设备。其中,终端设备发送的访问请求可以携带有用户标识等信息,以便区块链基于用户标识等信息寻找到用户注册时存储到区块链上的用户的加密信息。
[0141]
在另一应用场景中,终端设备可以在与认证云服务商交互之前,可以执行本技术的身份认证方法,以便认证云服务商对使用终端设备的用户的身份认证通过后,认证云服务商与终端设备进行信息交互。
[0142]
另外,若用户因为忘记密码等需要更新或找回密码,则用户可将自身的当前生物特征bio
i
*和标识id
i
输入到终端设备上,以便终端设备对用户的当前生物特征bio
i
*和标识id
i
进行验证,若验证成功,则终端设备会同意用户的密码重置请求,此时用户可输入新密码或基于终端设备获得重置后的新密码。
[0143]
终端设备对用户当前生物特征bio
i
*和标识id
i
进行验证的过程可如下所示:
[0144]
终端设备利用模糊提取器的复制函数对当前生物特征bio
i
*进行计算,即利用公式rep(bio
i
*,p
f
)=b
i
*进行计算,得到当前密钥串b
i
*;
[0145]
终端设备对用户的当前密钥串b
i
*和用户的标识id
i
进行关联,即利用公式b1*=h(id
i
||b
i
*)进行计算,得到当前关联信息b1*;
[0146]
终端设备验证用户的当前关联信息b1*和存储在终端设备上的关联信息b1是否一致;
[0147]
若一致,则生成新的具有生命周期的秘密s
n
,并基于新密码pw
in
生成新的a
1n
,例如利用公式进行计算以生成新的a
1n
,并用新的a
1n
替换原移动设备中的a1,从而实现密码的更新/找回,全程不需要云服务商的参与。
[0148]
请参阅图7,图7是本技术电子设备20一实施方式的结构示意图。本技术电子设备20包括处理器22,处理器22用于执行指令以实现上述本技术基于区块链的用户注册方法任一实施方式及任意不冲突的组合所提供的方法。
[0149]
电子设备20可为手机、笔记本电脑等终端,或者还可以为服务器。
[0150]
处理器22还可以称为cpu(central processing unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器,或者该处理器22也可以是任何常规的处理器等。
[0151]
电子设备20还可进一步包括存储器21,用于存储处理器22运行所需的指令和数据。
[0152]
请参阅图8,图8为本技术实施方式中计算机可读存储介质的结构示意图。本技术实施例的计算机可读存储介质30存储有指令/程序数据31,该指令/程序数据31被执行时实现本技术上述方法任一实施例以及任意不冲突的组合所提供的方法。其中,该指令/程序数据31可以形成程序文件以软件产品的形式存储在上述存储介质30中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实
施方式方法的全部或部分步骤。而前述的存储介质30包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等设备。
[0153]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0154]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0155]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0156]
以上仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜