基于隐私保护的身份认证方法、装置、计算机设备及介质与流程

文档序号:31702153发布日期:2022-10-01 08:52阅读:71来源:国知局
基于隐私保护的身份认证方法、装置、计算机设备及介质与流程

1.本技术涉及网络安全和隐私保护技术领域,尤其涉及一种基于隐私保护的身份认证方法、装置、计算机设备及介质。


背景技术:

2.身份认证也称为“身份验证”或“身份鉴别”,是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使计算机和网络系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。
3.目前常见的身份认证通常通过认证凭据实现,认证凭据包括数字证书、数字签名、口令、一次性手机短信验证码等,这些身份认证凭据很容易和用户个人身份关联起来,从而导致用户隐私的泄露。


技术实现要素:

4.本技术实施例的目的在于提出一种基于隐私保护的身份认证方法、装置、计算机设备及介质,以解决相关技术中身份认证过程中容易造成用户隐私信息的泄露的技术问题。
5.为了解决上述技术问题,本技术实施例提供一种基于隐私保护的身份认证方法,应用于身份验证端,采用了如下所述的技术方案:
6.获取客户端发送的用户的待认证信息,其中,所述待认证信息包括待认证特征、所述待认证特征对应的哈希列表、基于所述用户特征生成的特征树的特征树根值、身份认证凭据以及基于所述哈希列表生成的叶子节点证明;
7.从身份凭据颁发端获取凭据撤销列表,验证所述身份认证凭据是否在凭据撤销列表中;
8.确定所述身份认证凭据不在凭据撤销列表中,验证所述身份认证凭据是否正确;
9.当所述身份认证凭据验证正确时,则验证所述叶子节点证明是否正确;
10.若所述叶子节点证明验证正确,验证所述用户是否持有密钥,若所述用户持有密钥,则所述用户的身份认证通过。
11.进一步的,所述验证所述身份认证凭据是否正确的步骤包括:
12.对所述身份认证凭据进行解密,得到待验证树根值;
13.比较所述待验证树根值与所述特征树根值是否一致;
14.如果一致,则所述身份认证凭据正确。
15.进一步的,所述验证所述叶子节点证明是否正确的步骤包括:
16.根据所述叶子节点证明得到待认证特征树;
17.根据所述待认证特征树确定每个叶子节点,将每个所述叶子节点组成验证特征;
18.将所述验证特征和所述哈希列表进行一致性比对;
19.若比对结果一致,则验证所述叶子节点证明正确。
20.进一步的,所述验证所述用户是否持有密钥的步骤包括:
21.获取随机值,将所述随机值发送至所述客户端;
22.接收所述客户端基于所述随机值和待验证密钥计算得到的第一同态哈希值;
23.计算所述第一同态哈希值和所述哈希列表中每个哈希值的和值,得到验证值;
24.基于所述随机值计算每个所述待认证特征的哈希值,得到第二同态哈希值;
25.比较所述验证值和所述第二同态哈希值是否相等,若相等,则所述用户持有密钥。
26.为了解决上述技术问题,本技术实施例提供一种基于隐私保护的身份认证方法,应用于身份凭据颁发端,采用了如下所述的技术方案:
27.接收客户端发送的用户特征、所述用户特征对应的特征哈希列表以及颁发身份认证凭据请求;
28.接收用户身份信息验证通过指令,基于所述特征哈希列表建立特征树;
29.获取所述特征树的特征树根值,使用第一私钥对所述特征树根值进行数字签名,得到签名值;
30.将所述签名值作为身份认证凭据发送至所述客户端。
31.进一步的,所述的基于隐私保护的身份认证方法还包括:
32.接收客户端发送的所述用户特征、所述特征哈希列表、第二私钥以及撤销身份凭据请求;
33.基于所述用户特征和所述第二私钥计算得到待验证哈希列表;
34.比较所述待验证哈希列表和所述特征哈希列表是否一致;
35.若一致,则确认用户身份正确;
36.将所述用户对应的身份认证凭据添加至凭据撤销列表,并将撤销通知返回至所述客户端。
37.为了解决上述技术问题,本技术实施例还提供一种基于隐私保护的身份认证装置,应用于身份验证端,采用了如下所述的技术方案:
38.获取模块,用于获取客户端发送的用户的待认证信息,其中,所述待认证信息包括待认证特征、所述待认证特征对应的哈希列表、基于所述用户特征生成的特征树的特征树根值、身份认证凭据以及基于所述哈希列表生成的叶子节点证明;
39.撤销验证模块,用于从身份凭据颁发端获取凭据撤销列表,验证所述身份认证凭据是否在凭据撤销列表中;
40.凭据认证模块,用于确定所述身份认证凭据不在凭据撤销列表中,验证所述身份认证凭据是否正确;
41.证明认证模块,用于当所述身份认证凭据验证正确时,则验证所述叶子节点证明是否正确;
42.密钥认证模块,用于若所述叶子节点证明验证正确,验证所述用户是否持有密钥,若所述用户持有密钥,则所述用户的身份认证通过。
43.为了解决上述技术问题,本技术实施例还提供一种基于隐私保护的身份认证装置,应用于身份凭据颁发端,采用了如下所述的技术方案:
44.接收模块,用于接收客户端发送的用户特征、所述用户特征对应的特征哈希列表
以及颁发身份认证凭据请求;
45.建立模块,用于接收用户身份信息验证通过指令,基于所述特征哈希列表建立特征树;
46.签名模块,用于获取所述特征树的特征树根值,使用第一私钥对所述特征树根值进行数字签名,得到签名值;
47.发送模块,用于将所述签名值作为身份认证凭据发送至所述客户端。
48.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:
49.该计算机设备包括身份验证端以及与所述身份验证端连接的身份凭据颁发端,所述身份验证端包括第一存储器和第一处理器,所述第一存储器中存储有计算机可读指令,所述第一处理器执行所述计算机可读指令时实现如上所述的基于隐私保护的身份认证方法的步骤;所述身份凭据颁发端包括第二存储器和第二处理器,所述第二存储器中存储有计算机可读指令,所述第二处理器执行所述计算机可读指令时实现如上所述的基于隐私保护的身份认证方法的步骤。
50.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
51.所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的基于隐私保护的身份认证方法的步骤。
52.与现有技术相比,本技术实施例主要有以下有益效果:
53.本技术获取客户端发送的用户的待认证信息,其中,待认证信息包括待认证特征、待认证特征对应的哈希列表、基于用户特征生成的特征树的特征树根值、身份认证凭据以及基于哈希列表生成的叶子节点证明;从身份凭据颁发端获取凭据撤销列表,验证身份认证凭据是否在凭据撤销列表中;确定身份认证凭据不在凭据撤销列表中,验证身份认证凭据是否正确;当身份认证凭据验证正确时,则验证叶子节点证明是否正确;若叶子节点证明验证正确,验证用户是否持有密钥;若用户持有密钥,则用户的身份认证通过;本技术通过将用户身份分解为多个用户特征,在身份认证过程中,通过特征树、部分特征以及对应的哈希值等作为身份认证凭据,对用户身份进行认证,可以保证用户仅向身份验证端暴露最少的特征项进行身份认证,更好地实现保护用户隐私的效果。
附图说明
54.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
55.图1是本技术可以应用于其中的示例性系统架构图;
56.图2是根据本技术的基于隐私保护的身份认证方法的一个实施例的流程图;
57.图3是本技术实施例中的默克尔树的结构示意图;
58.图4是根据本技术的基于隐私保护的身份认证装置的一个实施例的结构示意图;
59.图5是根据本技术的基于隐私保护的身份认证装置的另一个实施例的结构示意图;
60.图6是根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
61.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
62.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
63.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
64.本技术提供了一种基于隐私保护的身份认证方法,可以应用于如图1所示的系统架构100中,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
65.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
66.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
67.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
68.需要说明的是,本技术实施例所提供的基于隐私保护的身份认证方法一般由服务器执行,相应地,基于隐私保护的身份认证装置一般设置于服务器中。
69.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
70.继续参考图2,示出了根据本技术的基于隐私保护的身份认证方法的一个实施例的流程图,该方法应用于身份验证端,包括以下步骤:
71.步骤s201,获取客户端发送的用户的待认证信息,其中,待认证信息包括待认证特征、待认证特征对应的哈希列表、基于用户特征生成的特征树的特征树根值、身份认证凭据以及基于哈希列表生成的叶子节点证明。
72.在本实施例中,用户通过客户端将待认证信息发送给身份验证端进行身份验证。
其中,一个用户关联多个用户特征,组成用户自己的用户特征列表(t1,t2,
……
,tn),并从中挑选出需要认证身份的特征子集组成待认证特征,记为(t
i1
,t
i2
,
……
,t
im
),显然,im≤n。
73.对待认证特征中的每个特征计算哈希值,得到待认证特征对应的哈希列表。需要说明的是,在计算哈希值的过程中嵌入客户端携带的密钥s,即将密钥s作为计算哈希值的输入之一。
74.具体地,使用同态哈希算法(记为hh)计算哈希值,计算公式入下:
75.h
ij

hh(s+t
ij
)
76.则生成哈希列表为(h
i1
,h
i2
,
……
,h
im
)。
77.特征树根值可以由建立的特征树直接得到,创建特征树之前,要使用哈希算法计算每个用户特征对应的哈希值,计算方法同上,计算得到用户特征对应的特征哈希列表(h1,h2,
……
,hn),再使用哈希算法为特征哈希列表建立特征树,基于特征树可以得到特征树根值,根据特征树根值获得身份认证凭据。
78.在本实施例中,用户的身份认证凭据的颁发由身份凭据颁发端执行,包括如下步骤:
79.接收客户端发送的用户特征、用户特征对应的特征哈希列表以及颁发身份认证凭据请求;
80.接收用户身份信息验证通过指令,基于特征哈希列表建立特征树;
81.获取特征树的特征树根值,使用第一私钥对特征树根值进行数字签名,得到签名值;
82.将签名值作为身份认证凭据发送至客户端。
83.在客户端,通过哈希算法计算每个用户特征对应的哈希值,计算方法同上,计算得到用户特征对应的特征哈希列表(h1,h2,
……
,hn),将用户特征列表(t1,t2,
……
,tn)、特征哈希列表(h1,h2,
……
,hn)和颁发身份认证凭据请求发送给身份凭据颁发端。
84.验证用户的身份信息,验证通过,身份凭据颁发端接收用户身份信息验证通过指令,使用哈希算法为特征哈希列表(h1,h2,
……
,hn)建立特征树。
85.其中,特征树为merkle树(默克尔树)。merkle树是一种哈希二叉树,在merkle树树中,叶子节点存储实际的数据,每个节点都标有一个数据块的哈希值。图3是一棵merkle树的例子,以图3为例,该merkle树中一共有10个叶子节点存储10块数据,分别为:t1,t2,

,t10。
86.节点h
1,2
是h1和h2的哈希值,即h
1,2
=h(h1,h2),其中h为哈希函数;类似的,节点h
3,4
是h3和h4的哈希值,结点h
5,6
是h5和h6的哈希值,依次层层计算哈希值,直到得到根节点h
1~10
(显然,根节点h
1~10
=h(h
1~8
,h
9,10
))。
87.在本实施例中,建立特征树,树根节点的值为特征树根值,记为r,使用身份凭据颁发端的第一私钥对特征树根值r进行数字签名,得到签名值σ,把签名值σ作为身份认证凭据发送至客户端,使得用户获得身份认证凭据。
88.在本实施例中,身份认证凭据的数据结构包括特征哈希列表、由特征哈希列表构建的特征树以及对特征树根植的签名值,这样,在对用户的身份进行认证时,可以避免用户隐私信息的泄露。
89.在本实施例中,叶子节点证明是证明某一特征为特征树的叶子,叶子节点证明的
生成由客户端执行,其依据merkle树的规则,构建待认证特征对应的哈希列表(h
i1
,h
i2
,
……
,h
im
)的待认证merkle树,基于待认证merkle树得到每个待认证特征的叶子节点证明。
90.以图3的merkle树h3的叶子节点证明为例,步骤如下:
91.1)确定从h3到根节点的路径为:h3、h
3,4
、h
1,2,3,4
、h
1~8
、h
1~10
(根节点);
92.2)路径上每个节点的兄弟节点为:h3的兄弟节点是h4,h
3,4
的兄弟节点是h
1,2
,h
1,2,3,4
的兄弟节点是h
5,6,7,8
,h
1~8
的兄弟节点是
h9,10

93.3)h3的叶子节点证明是((h3,h4),(h
3,4
,h
1,2
),(h
1,2,3,4
,h
5,6,7,8
),(h
1~8
,h
9,10
),h
1~10
)。
94.需要强调的是,为进一步保证待认证特征的私密和安全性,上述待认证特征还可以存储于一区块链的节点中。
95.本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。。
96.步骤s202,从身份凭据颁发端获取凭据撤销列表,验证身份认证凭据是否在凭据撤销列表中。
97.在本实施例中,身份认证凭据撤销有两种情况,第一,用户要求撤销;第二,身份凭据颁发端要求撤销。撤销后,身份凭据颁发端将用户对应的身份认证凭据添加至凭据撤销列表,并不断更新。
98.在一些可选的实现方式中,撤销身份认证凭据由身份凭据颁发端执行,用户要求撤销的流程包括以下步骤:
99.接收客户端发送的用户特征、特征哈希列表、第二私钥以及撤销身份凭据请求;
100.基于用户特征和第二私钥计算得到待验证哈希列表;
101.比较待验证哈希列表和特征哈希列表是否一致;
102.若一致,则确认用户身份正确;
103.将用户对应的身份认证凭据添加至凭据撤销列表,并将撤销通知返回至客户端。
104.具体地,客户端将用户特征(t1,t2,
……
,tn)、特征哈希列表(h1,h2,
……
,hn)和撤销身份凭据请求发送给身份凭据颁发端,申请撤销身份认证凭据,身份凭据颁发端由用户特征(t1,t2,
……
,tn)和第二私钥计算出对应的待验证哈希列表(h'1,h'2,
……
,h'n),将待验证哈希列表(h'1,h'2,
……
,h'n)与特征哈希列表(h1,h2,
……
,hn)进行一一比对,若完全一致,则说明确认用户身份正确,将该用户对应的身份认证凭据添加至凭据撤销列表,并发送撤销通知至客户端通知用户其身份认证凭据已经被撤销。
105.在本实施例的一些可选的实现方式中,身份凭据颁发端要求撤销的流程包括:
106.身份凭据颁发端将要撤销的目标身份认证凭据直接添加至凭据撤销列表;
107.发送撤销通知至客户端通知用户其身份认证凭据已经被撤销。
108.本实施例中通过用户特征及其对应的哈希列表进行验证,验证通过才可以进行身份认证凭据撤销,可以防止用户身份被仿冒注销。
109.在本实施例中,从身份凭据颁发端获取最新的凭据撤销列表,验证身份认证凭据是否在凭据撤销列表中。在本实施例中,身份认证凭据是特征树根值的签名值,则验证的方式可以根据签名值在列表中查找,查找到,则说明身份认证凭据在凭据撤销列表中,查找不到,则说明身份认证凭据不在凭据撤销列表中。
110.步骤s203,确定身份认证凭据不在凭据撤销列表中,验证身份认证凭据是否正确。
111.其中,如果身份认证凭据在凭据撤销列表中,则说明该身份认证凭据已经被撤销,身份验证不通过,可以退出整个身份认证流程;如果身份认证凭据不在凭据撤销列表中,则验证身份认证凭据是否正确。
112.在本实施例中,身份认证凭据是使用第一私钥对特征树根值进行数字签名得到的,为了验证身份认证凭据是否正确,则使用与第一私钥对应的公钥对身份认证凭据进行解密,即对签名值σ进行解密,可以获得待验证树根值,比较待验证树根值与特征树根值是否一致,如果一致,则说明身份认证凭据正确,则继续执行下一步;如果不一致,则说明身份认证凭据不正确,则退出整个身份认证流程。
113.本实施例中,通过验证身份认证凭据,可以避免暴露用户特征,保护用户的隐私。
114.步骤s204,当身份认证凭据验证正确时,则验证叶子节点证明是否正确。
115.在本实施例中,验证叶子节点证明是否正确,则是根据merkle树的构建规则,根据叶子节点证明得到待验证的每个叶子节点,确定其是否正确地构成(h
i1
,h
i2
,
……
,h
im
),如果正确,说明叶子节点为用户待验证特征,身份验证通过,继续执行下一步,否则,退出整个身份认证流程。
116.具体地,上述验证叶子节点证明是否正确的步骤包括:
117.根据叶子节点证明得到待认证特征树;
118.根据待认证特征树确定每个叶子节点,将每个叶子节点组成验证特征;
119.将验证特征和哈希列表进行一致性比对;
120.若比对结果一致,则验证叶子节点证明正确。
121.应当理解,根据某一叶子节点证明,可以得到该叶子节点到根节点的路径,全部叶子节点证明,则可以得到所有叶子节点到根节点的路径,基于所有路径可以得到待认证特征树,将待认证特征树的所有叶子节点作为验证特征与待认证特征的哈希列表(h
i1
,h
i2
,
……
,h
im
)进行比对,如果一致,则验证叶子节点证明正确,可以执行下一步;否则,退出整个身份认证流程。
122.本实施例中,通过验证叶子节点证明,可以避免暴露用户特征,保护用户的隐私。
123.步骤s205,若叶子节点证明验证正确,验证用户是否持有密钥,若用户持有密钥,则所述用户的身份认证通过。
124.在本实施例中,通过身份验证端和客户端之间的协议验证用户是否持有密钥。
125.具体地,上述验证用户是否持有密钥的步骤包括:
126.获取随机值,将随机值发送至客户端;
127.接收客户端基于所述随机值和待验证密钥计算得到的第一同态哈希值;
128.计算第一同态哈希值和哈希列表中每个哈希值的和值,得到验证值;
129.基于随机值计算每个待认证特征的哈希值,得到第二同态哈希值;
130.比较验证值和第二同态哈希值是否相等,若相等,则用户持有密钥。
131.其中,随机值为a,随机进行选择;将随机值a发送给客户端,客户端使用其待验证密钥和随机值计算同态哈希值得到第一同态哈希值hv,计算公式为hv

hh(-s'+a);客户端将第一同态哈希值hv返回至身份验证端,身份验证端验证等式hv+h
ij
=hh(a+t
ij
)是否对于待认证特征列表(t
i1
,t
i2
,
……
,t
im
)和哈希列表(h
i1
,h
i2
,
……
,h
im
)中每一对(h
ij
,t
ij
)都成立,如果都成立,用户持有密钥,验证通过,则身份认证通过,否则,身份认证不通过。
132.需要说明的是,等式hv+h
ij
=hh(a+t
ij
)中,hv+h
ij
的和值为验证值,hh(a+t
ij
)为第二同态哈希值。
133.本实施例中,通过计算相应的哈希值来验证用户是否持有密钥,可以避免暴露用户特征,保证保护用户的隐私。
134.本技术通过将用户身份分解为多个用户特征,在身份认证过程中,用户向身份验证端证明自己具有的某些特征来进行身份认证,通过特征树、某些特征以及对应的哈希值等作为身份认证凭据,通过验证身份认证凭据、叶子节点证明以及用户持有的密钥来实现对用户身份进行认证,可以保证用户仅向身份验证端暴露最少的特征项进行身份认证,更好地实现保护用户隐私的效果。
135.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
136.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
137.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
138.进一步参考图4,作为对上述图2所示方法的实现,本技术提供了一种基于隐私保护的身份认证装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
139.如图4所示,本实施例所述的基于隐私保护的身份认证装置400,应用于身份验证端,包括:获取模块401、撤销验证模块402、凭据认证模块403、证明认证模块404以及密钥认证模块405。其中:
140.获取模块401用于获取客户端发送的用户的待认证信息,其中,所述待认证信息包括待认证特征、所述待认证特征对应的哈希列表、基于所述用户特征生成的特征树的特征树根值、身份认证凭据以及基于所述哈希列表生成的叶子节点证明;
141.撤销验证模块402用于从身份凭据颁发端获取凭据撤销列表,验证所述身份认证凭据是否在凭据撤销列表中;
142.凭据认证模块403用于确定所述身份认证凭据不在凭据撤销列表中,验证所述身份认证凭据是否正确;
143.证明认证模块404用于当所述身份认证凭据验证正确时,则验证所述叶子节点证明是否正确;
144.密钥认证模块405用于若所述叶子节点证明验证正确,验证所述用户是否持有密钥,若所述用户持有密钥,则所述用户的身份认证通过。
145.基于上述的基于隐私保护的身份认证装置,通过将用户身份分解为多个用户特征,在身份认证过程中,用户向身份验证端证明自己具有的某些特征来进行身份认证,通过特征树、某些特征以及对应的哈希值等作为身份认证凭据,通过验证身份认证凭据、叶子节点证明以及用户持有的密钥来实现对用户身份进行认证,可以保证用户仅向身份验证端暴露最少的特征项进行身份认证,更好地实现保护用户隐私的效果。
146.在本实施例中,凭据认证模块403包括解密子模块和比较子模块,解密子模块用于对所述身份认证凭据进行解密,得到待验证树根值;比较子模块用于比较所述待验证树根值与所述特征树根值是否一致以及如果一致,则所述身份认证凭据正确。
147.本实施例中,通过验证身份认证凭据,可以避免暴露用户特征,保护用户的隐私。
148.在本实施例中,证明认证模块404进一步用于:
149.根据所述叶子节点证明得到待认证特征树;
150.根据所述待认证特征树确定每个叶子节点,将每个所述叶子节点组成验证特征;
151.将所述验证特征和所述哈希列表进行一致性比对;
152.若比对结果一致,则验证所述叶子节点证明正确。
153.本实施例中,通过验证叶子节点证明,可以避免暴露用户特征,保护用户的隐私。
154.在本实施例中,密钥认证模块405包括获取子模块、接收子模块、第一计算子模块、第二计算子模块及比较子模块,其中:
155.获取子模块用于获取随机值,将所述随机值发送至所述客户端;
156.接收子模块用于接收所述客户端基于所述随机值和待验证密钥计算得到的第一同态哈希值;
157.第一计算子模块用于计算所述第一同态哈希值和所述哈希列表中每个哈希值的和值,得到验证值;
158.第二计算子模块用于基于所述随机值计算每个所述待认证特征的哈希值,得到第二同态哈希值;
159.比较子模块用于比较所述验证值和所述第二同态哈希值是否相等,若相等,则所述用户持有密钥。
160.本实施例中,通过计算相应的哈希值来验证用户是否持有密钥,可以避免暴露用户特征,保证保护用户的隐私。
161.本技术提供了一种基于隐私保护的身份认证装置的另一个实施例,本实施例所述的基于隐私保护的身份认证装置500,应用于身份凭据颁发端,包括接收模块501、建立模块502、签名模块503以及发送模块504。其中:
162.接收模块501用于接收客户端发送的用户特征、所述用户特征对应的特征哈希列表以及颁发身份认证凭据请求;
163.建立模块502用于接收用户身份信息验证通过指令,基于所述特征哈希列表建立特征树;
164.签名模块503用于获取所述特征树的特征树根值,使用第一私钥对所述特征树根值进行数字签名,得到签名值;
165.发送模块504用于将所述签名值作为身份认证凭据发送至所述客户端。
166.在本实施例中,身份认证凭据的数据结构包括特征哈希列表、由特征哈希列表构建的特征树以及对特征树根植的签名值,这样,在对用户的身份进行认证时,可以避免用户隐私信息的泄露。
167.在本实施例中,上述应用于身份凭据颁发端的基于隐私保护的身份认证装置500还包括撤销模块,用于:
168.接收客户端发送的所述用户特征、所述特征哈希列表、第二私钥以及撤销身份凭据请求;
169.基于所述用户特征和所述第二私钥计算得到待验证哈希列表;
170.比较所述待验证哈希列表和所述特征哈希列表是否一致;
171.若一致,则确认用户身份正确;
172.将所述用户对应的身份认证凭据添加至凭据撤销列表,并将撤销通知返回至所述客户端。
173.本实施例中通过用户特征及其对应的哈希列表进行验证,验证通过才可以进行身份认证凭据撤销,可以防止用户身份被仿冒注销。
174.为解决上述技术问题,本技术实施例还提供计算机设备,包括身份验证端以及与身份验证端连接的身份凭据颁发端,。具体请参阅图6,图6为本实施例计算机设备基本结构框图。
175.所述计算机设备6包括身份验证端61以及与身份验证端61连接的身份凭据颁发端62,身份验证端61包括第一存储器611和第一处理器612,身份凭据颁发端62包括第二存储器621和第二处理器622,通过系统总线相互通信连接第一存储器611、第一处理器612、第一网络接口613,通过系统总线相互通信连接第二存储器621、第二处理器622、第二网络接口623。需要指出的是,图中仅示出了具有组件51-52的计算机设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
176.所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人
机交互。
177.所述第一存储器611和所述第二存储器621至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述第一存储器611和所述第二存储器621可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述第一存储器611和所述第二存储器621也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述第一存储器611和所述第二存储器621还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述第一存储器611和所述第二存储器621通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如基于隐私保护的身份认证方法的计算机可读指令等。此外,所述第一存储器611和所述第二存储器621还可以用于暂时地存储已经输出或者将要输出的各类数据。
178.所述第一处理器612和第二处理器622在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。第一处理器612和第二处理器622通常用于控制所述计算机设备6的总体操作。本实施例中,所述第一处理器612和所述第二处理器622用于运行对应的所述第一存储器611和所述第二存储器621中存储的计算机可读指令或者处理数据,例如运行所述基于隐私保护的身份认证方法的计算机可读指令。
179.所述第一网络接口613和所述第二网络接口623可包括无线网络接口或有线网络接口,第一网络接口613和第二网络接口623通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
180.本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例基于隐私保护的身份认证方法的步骤,通过将用户身份分解为多个用户特征,在身份认证过程中,用户向身份验证端证明自己具有的某些特征来进行身份认证,通过特征树、某些特征以及对应的哈希值等作为身份认证凭据,通过验证身份认证凭据、叶子节点证明以及用户持有的密钥来实现对用户身份进行认证,可以保证用户仅向身份验证端暴露最少的特征项进行身份认证,更好地实现保护用户隐私的效果。
181.本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于隐私保护的身份认证方法的步骤,通过将用户身份分解为多个用户特征,在身份认证过程中,用户向身份验证端证明自己具有的某些特征来进行身份认证,通过特征树、某些特征以及对应的哈希值等作为身份认证凭据,通过验证身份认证凭据、叶子节点证明以及用户持有的密钥来实现对用户身份进行认证,可以保证用户仅向身份验证端暴露最少的特征项进行身份认证,更好地实现保护用户隐私的效果。
182.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
183.显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1