一种基于TA的VC验证方法与流程

文档序号:33383058发布日期:2023-03-08 06:48阅读:53来源:国知局
一种基于TA的VC验证方法与流程
一种基于ta的vc验证方法
技术领域
1.本发明涉及一种信息安全技术,尤其涉及一种基于ta的vc验证方法。


背景技术:

2.目前,去中心化的数字身份应用场景越来越多。其中,去中心化身份(decentralized identity,did)和可验证凭证(verifiable credential,vc)被提出,以实现去中心化的、轻量级的认证。vc是一个did给另一个did的某些属性做背书而发出的一组描述性声明,例如,姓名、出生日期、等级、id或创建方希望赋予的其他信息,并附加自己的数字签名,用以证明这些属性的真实性,可以被认为是一种数字证书。
3.然而,在权威机构给用户颁发vc后,用户使用vc时,存在很多不想把vc中的所有信息暴露给验证方的场景。比如公安机关在给用户颁发了电子身份证的vc,电子身份中包括了用户的出身日期,住址等信息,但在通常的场景下,如果身份验证方要验证vc需要拿到所有的vc中的信息,使用颁发方的公钥才可以验证通过,不能选择性披露部分信息,比如只提供“年龄大于18岁”,或“生日为2月份”等信息。
4.目前,为了选择性披露部分信息,现有技术提出了一种基于默克尔树进行选择性披露的方案,这种方案通过提供其中一项原始隐私数据、要验证的数据所在的位置索引、验证路径值、以及默克尔根述这4类参数确认默克尔树是否包含上述原始隐私数据,从而避免其他隐私数据的暴露。但是,这种基于默克尔树进行选择性披露的方案的缺点在于:
5.1)有限的不灵活的选择披露,只能固定披露一项原始隐私数据的全部内容。如果原始隐私数据姓名、性别、生日、民族,只能固定验证这四个属性,如果只想披露“生日月份”,那么此方案披露生日的时候,还会把具体的日期一起披露。
6.2)不能对隐私数据进行计算,进行更加少的信息披露。比如只想披露“生日是否为6月之前”,无法直接给出一个这样的证明,目前的这个方案在给出信息证明的同时,暴露了具体的月份和日期。
7.鉴于此,希望获得一种新的披露隐私信息方案,该方案在保证能够使用vc顺利进行验证的同时,能够灵活地只披露用户想披露的信息。


技术实现要素:

8.本发明的目的在于提供一种基于ta的vc验证方法及系统,从而能够灵活地只披露用户想披露的信息。
9.为了实现上述目的,本发明提供一种基于ta的vc验证方法,所述验证方法应用于客户端,所述客户端所在的电子设备上具有运行在tee中的ta,所述验证方法包括:
10.响应于用户的操作,向网络侧设备发出业务操作请求;
11.通过所述ta对预先存储在所述tee中的所述用户的vc信息进行验证,在验证通过时将身份验证结果发送给所述网络侧设备,以使所述网络侧设备基于所述身份验证结果执行与所述业务操作请求对应的业务操作。
12.优选地,所述身份验证结果是经过设备私钥签名的,所述设备私钥仅仅存储于所述tee中。
13.优选地,所述身份验证结果至少包括vc信息中需披露的隐私信息,所述需披露的隐私信息包括vc信息中的一个或多个属性和/或一个或多个属性的计算结果;身份验证方在执行与所述业务操作请求对应的业务操作的同时,获取身份验证结果中需披露的隐私信息。
14.优选地,所述验证方法包括:
15.在发出业务操作请求之后,等待来自网络侧设备的接收挑战码,在收到挑战码后,在ta中使用ifaa公钥验证所述挑战码的签名;
16.对所述用户的vc信息进行验证,在所述挑战码的签名的验证通过后执行。
17.优选地,所述验证方法包括:
18.在所述挑战码的签名的验证通过之后,发起用户的信息认证,以验证用户是否为vc信息的最初的持有方;
19.对所述用户的vc信息进行验证,在用户是否为vc信息的最初的持有方的验证通过后执行。
20.优选地,发起用户的信息认证,包括:
21.调用认证界面,以采集用户的认证信息;
22.对用户的认证信息进行验证,如果验证通过则继续后续步骤,否则结束流程。
23.优选地,所述验证方法包括:
24.响应于用户的操作,向vc颁发方发起vc申请,得到vc信息;和
25.将vc信息保存到tee中;
26.所述的发出业务操作请求,在vc信息保存到tee中之后进行。
27.优选地,所述的将vc信息保存到tee中,是在调用ta来验证vc信息并且验证通过之后进行的;和/或
28.在向vc颁发方发起vc申请之前,先发起用户的信息认证。
29.优选地,所述网络侧设备包括身份验证方和ifaa服务器,所述网络侧设备基于所述身份验证结果执行与所述业务操作请求对应的业务操作,包括:身份验证方在收到身份验证结果时,利用ifaa服务器来判断身份验证结果是否来自于客户端所在的电子设备的ta,在判断结果为来自于时,身份验证方执行与所述业务操作请求对应的业务操作。
30.另一方面,本发明提供一种基于ta的vc验证方法,其应用于网络侧设备的身份验证方,所述网络侧设备还包括ifaa服务器,所述验证方法包括:
31.接收来自客户端的业务操作请求;所述客户端所在的电子设备上具有运行在tee中的ta,通过所述ta对预先存储在所述tee中的所述用户的vc信息进行验证以得到身份验证结果;
32.等待接收所述客户端发送的身份验证结果,在收到身份验证结果时,通过ifaa服务器判断身份验证结果是否来自于客户端所在的电子设备的ta,在判断结果为来自于时,执行与所述业务操作请求对应的业务操作。
33.优选地,所述身份验证结果是经过设备私钥签名的,所述设备私钥仅仅存储于所述tee中。
34.优选地,在通过ifaa服务器判断身份验证结果是否来自于客户端所在的电子设备的ta时,ifaa服务器接收身份验证方发送的身份验证结果,利用设备公钥对身份验证结果进行签名的验证来判断身份验证结果是否来自于客户端所在的电子设备的ta。
35.优选地,所述身份验证结果至少包括vc信息中需披露的隐私信息,所述需披露的隐私信息包括vc信息中的一个或多个属性和/或一个或多个属性的计算结果;在执行与所述业务操作请求对应的业务操作的同时,获取身份验证结果中需披露的隐私信息。
36.优选地,在接收来自客户端的业务操作请求之后,包括:
37.向客户端下发经过ifaa服务器加签的挑战码,使得客户端使用ifaa公钥验证所述挑战码的签名。
38.优选地,所述挑战码是在ifaa服务器上生成的;在对挑战码加签时,由ifaa服务器增加业务信息,从而对挑战码和增加的业务信息同时加签。
39.另一方面,本发明提供一种基于ta的vc验证系统,包括:
40.客户端,所述客户端所在的电子设备上具有运行在tee中的ta,所述客户端设置为:响应于用户的操作,发出业务操作请求;通过所述ta内对预先存储在所述tee中的所述用户的vc信息进行验证,在验证通过时发送身份验证结果;可选地,随后等待接收通知,在收到通知时继续业务操作;和
41.身份验证方,其设置为:接收业务操作请求;等待接收所述客户端发送的身份验证结果,在收到身份验证结果时,通过ifaa服务器判断身份验证结果是否来自于客户端所在的电子设备的ta,在判断结果为来自于时,执行与所述业务操作请求对应的业务操作。
42.优选地,所述身份验证结果是经过设备私钥签名的,所述设备私钥仅仅存储于所述tee中。
43.优选地,所述ifaa服务器设置为接收身份验证方发送的身份验证结果,利用设备公钥对身份验证结果进行签名的验证来判断身份验证结果是否来自于客户端所在的电子设备的ta。
44.优选地,所述身份验证结果至少包括vc信息中需披露的隐私信息,所述需披露的隐私信息包括vc信息中的一个或多个属性和/或一个或多个属性的计算结果;身份验证方在执行与所述业务操作请求对应的业务操作的同时,获取身份验证结果中需披露的隐私信息。
45.优选地,所述vc验证系统还包括vc颁发方,所述vc颁发方设置为在收到客户端发起的vc申请后,将vc信息颁发给客户端。
46.本发明的基于ifaa的最小披露隐私信息的方法通过手机ta的安全特性(ta逻辑不能被修改、数据不能被篡改)验证vc,并将身份验证结果发送给身份验证方,使得身份验证方通过验证身份验证结果是否来自于ta来间接验证vc的持有方的身份信息,且身份验证方无需获取vc的全部信息,只需要获取身份验证结果就能够完成验证。通过这种方式,能灵活地只披露用户想披露的信息,从而最小化披露vc中的信息。
47.另外,本发明的基于ifaa的最小披露隐私信息的方法由于通过手机ta来验证vc信息,验证过程在手机端可行安全的计算环境内进行,能解决多个vc数据的交叉计算的身份验证方式,比如用户持有盲人协会的vc,也持有公安部颁发的电子身份证,通过在安全的计算环境内同时提取“盲人”(通过盲人的vc)、“住址”(通过电子身份证,假设盲人vc无住址信
息)等信息,给出身份为“住址为杭州的盲人”的身份证明。
48.此外,本发明的基于ifaa的最小披露隐私信息的方法采用手机出厂设置的设备的私钥与云端的公钥来验证身份验证结果是否来自于ta,使得身份验证方在身份验证结果是否来自于ta的时候,不用直接验证vc签名而是验证vc的验证结果的签名,以间接验证vc的持有方的身份信息。
49.再者,本发明的基于ifaa的最小披露隐私信息的方法通过手机出厂设置的ifaa的公钥、云端的ifaa私钥,保证了调用ta时云端服务的可靠性。在进行vc信息签名前,ta会验证请求的ifaa签名,这样防止了其他终端app的恶意调用与攻击,保证了通过ta签名出的信息的可靠性。
附图说明
50.图1是本发明的基于ta的vc验证方法的信号流向图。
51.图2是根据本发明的第一实施例的基于ta的vc验证方法的流程图。
52.图3是根据本发明的第二实施例的基于ta的vc验证方法的流程图。
53.图4是根据本发明的第三实施例的基于ta的vc验证方法的流程图。
具体实施方式
54.下面将结合说明书附图和具体的实施例来对本发明的基于ta的vc验证方法及系统进行进一步地详细说明,但是该详细说明不构成对本发明的限制。
55.位于可信运行环境(tee,trusted execution environment)域内的应用被称为可信应用(trusted application,ta,也称为可信app)。ta一般由tee产商开发或由手机设备产商开发写入,其创建的数据可以被加密存储,仅能被自身访问。另外一些敏感信息(如获取指纹id等)接口也仅能被该区域内的ta应用访问。tee还有一个特性就是无视手机root(超级管理员权限)操作,尽管手机被root了,但tee环境仍然不受影响独立运作,其数据安全性与系统安全性得到了保障。
56.正是基于tee的安全特性,ifaa协议在此tee区域内设定了一个名为ifaa验证器(ifaa authenticator)的安全计算ta,其主要负责生物特征信息索引的查询和相关秘钥的创建等与安全息息相关相关的操作。
57.在ifaa协议中,ifaa服务器(ifaa server)负责第三方应用生物特征识别校验与注册。目前,ifaa服务器由ifaa认证中心负责实现与维护,而后续如果拿到ifaa的ca签发证书的会员单位则可以搭建ifaa服务器开展注册与校验服务。
58.设备私钥与公钥:由生产商在设备出厂期间创建,其中设备私钥由产商烧入设备rpmb,从而存储于安全存储中,设备公钥提交给ifaa认证中心。设备私钥与公钥用于校验设备合法性。
59.ifaa根证书公钥与私钥:由ifaa服务器向客户端提供ifaa根证书公钥,ifaa根证书私钥保存在ifaa认证中心。ifaa根证书公钥与私钥用于确保ifaa sdk(软件开发包)与ifaa server通信信息的可靠性。ifaa根证书公钥与私钥也被称为ifaa公钥与私钥。
60.基于上述的ifaa协议,本发明提供了一种基于ta的vc验证方法,其参与方包括:用户、客户端、vc颁发方、身份验证方和ifaa服务器(ifaa server),其中,vc颁发方和身份验
证方被统称为网络侧设备。其中,客户端是位于一个电子设备上的需要用户进行vc信息验证的程序,客户端所在的电子设备上具有可信运行环境(tee)以及运行在可信运行环境中的ta(可信应用),因此客户端可以调用该ta。电子设备通常是手机终端,客户端通常是手机终端上的应用程序app。
61.第一实施例一种基于ta的vc验证方法
62.如图1和图2所示,根据本发明的第一实施例,所述基于ta的vc验证方法,其参与方包括用户、客户端、vc颁发方、身份验证方和ifaa服务器,所述验证方法包括:
63.100:用户利用客户端向vc颁发方发起vc申请,得到vc信息;
64.100具体包括:
65.101:用户利用客户端发起vc申请;
66.102:客户端向vc颁发方发起vc申请;
67.103:vc颁发方在收到vc申请后,将vc信息颁发给客户端。
68.其中,发起vc申请的过程中包括了对用户的信息认证。即,在向vc颁发方发起vc申请之前,客户端可以先发起用户的信息认证。
69.发起用户的信息认证,包括:调用认证界面,以采集用户的认证信息,所述认证信息包括人脸、指纹等信息;对用户的认证信息进行验证,如果验证通过则继续后续步骤,否则结束本发明的整个方法的流程。由此,调用指纹认证界面进行指纹认证或者发起人脸认证等等,并在用户的信息认证通过后发送vc申请。
70.在vc颁发方将vc信息颁发给客户端之前,vc颁发方会对颁发的电子vc信息进行签名,使得颁发的vc信息是经过vc颁发方签名的vc信息。
71.110:客户端通过ta来验证vc信息,并在验证通过时将vc信息保存到tee中,尤其是tee的安全存储中。
72.由于vc信息需要在手机终端中进行保存,因此在本实施例中,在保存之前,ta会根据业务的需要选择性地通过验证vc信息的签名来验证收到的vc信息是否为一个真实的vc。
73.在其他实施例中,如果业务能保证vc的安全,可以跳过此过程,即110改为:客户端将vc信息保存到tee中。此存储位置只有客户端的ta能够进行读取,其他应用不能随意读写。
74.上述步骤100-110实现了vc颁发过程。
75.120:用户利用客户端发出业务操作请求。
76.120具体包括:
77.121:用户在客户端上发起业务操作;
78.122:响应于用户的操作,客户端发送业务操作请求给身份验证方;
79.130(可选):在发出业务操作请求之后,身份验证方向客户端下发经过ifaa服务器加签的挑战码,客户端在收到挑战码后,在ta中使用ifaa公钥验证所述挑战码的签名;验证通过后,继续执行后续步骤。由此防止了重放攻击。
80.在特定的业务操作中,需要验证用户的身份,比如访问特定的网站需要验证用户的年龄限制,需要验证用户的电子身份vc中的年龄信息。为了防止业务被重放攻击,因此,每次执行上述特定的业务操作时,身份验证方都会下发一个挑战码,挑战码下发前需要通过ifaa服务器进行加签,以便在后续的ta验证前,先验证是否为可信的服务端下发的业务
请求。
81.其中,挑战码是在ifaa服务器上生成的,在对挑战码加签时,可以根据业务需要,由ifaa服务器增加部分业务信息,比如业务的会话id信息,从而对挑战码和增加的业务信息同时加签。
82.130具体包括:
83.131:身份验证方向ifaa服务器发起生成挑战码的请求。
84.132:ifaa服务器响应该请求生成挑战码并使用ifaa私钥加签,并将经过ifaa服务器加签的挑战码发送给身份验证方;
85.133:身份验证方向客户端下发经过ifaa服务器加签的挑战码,以用于验证用户的身份。
86.134:在ta中使用ifaa公钥验证所述挑战码的签名,验证通过,说明当前收到的挑战码并非重放攻击,则继续后续操作。
87.需要说明的是,挑战码仅仅是为了防止重放攻击,验证是否为可信的、经过ifaa服务器认证的身份验证方,因此在其他一些实施例中,上述的步骤130是可省略的。
88.140(可选):在所述挑战码的签名的验证通过之后,基于业务需要,客户端发起用户的信息认证,以验证用户是否为vc信息的最初的持有方。验证通过后,继续执行后续步骤。
89.140包括:
90.141:客户端调用认证界面,以采集用户的认证信息,所述认证信息包括人脸、指纹等信息。
91.142:对用户的认证信息进行验证,如果验证通过则继续后续步骤,否则结束本发明的整个方法的流程。
92.150:客户端通过所述ta对预先存储在所述tee中的所述用户的vc信息进行验证,在验证通过时将身份验证结果发送给网络侧设备中的身份验证方。需要强调的是,身份验证结果是在ta内生成的。
93.在ta内采用常规的验证方法对完整的vc信息进行验证,例如验证vc信息的签名是否合法,以实现身份的验证。由此,ta可以视作一个除了用户和身份验证方之外的可信的中介,把身份认证的过程放在位于客户端上的ta中,在ta中进行验证和身份信息拆解,在此过程中,由于手机ta的安全特性(ta逻辑不能被修改、数据不能被篡改)保证了vc信息的不被泄露且验证结果是不可篡改的。
94.在本实施例中,身份验证结果是经过设备私钥签名的,所述设备私钥仅仅存储于客户端所在的电子设备的tee中。因此,150包括:
95.151:在ta内,对vc信息进行验证,得到身份验证结果;
96.152:在ta内,对身份验证结果使用设备私钥加签名;
97.153:发送经过设备私钥签名的身份验证结果。
98.所述身份验证结果至少包括vc信息中需披露的隐私信息。优选地,身份验证方在执行与所述业务操作请求对应的业务操作的同时,获取身份验证结果中需披露的隐私信息。
99.需披露的隐私信息是用于出示给身份验证方的信息,其可以受客户端控制来进行
选择。需披露的隐私信息可以直接包括vc信息中的一个或多个属性,例如vc信息中的出生日期,也可以包括vc信息中的一个或多个属性的计算结果,例如根据具体的出生日期,计算生日是否为2月份。
100.160:网络侧设备中的身份验证方在收到身份验证结果时,利用网络侧设备中的ifaa服务器来判断身份验证结果是否来自于客户端所在的电子设备的ta,在判断结果为来自于时,身份验证方获取身份验证结果中需披露的隐私信息,并执行与所述业务操作请求对应的业务操作。
101.在本实施例中,身份验证结果是经过设备私钥签名的,所述设备私钥存储于客户端所在的电子设备的tee中。因此,身份验证方利用ifaa服务器判断身份验证结果是否来自于客户端所在的电子设备的ta,具体来说,ifaa服务器接收身份验证方发送的身份验证结果,利用设备公钥对身份验证结果进行签名的验证来判断身份验证结果是否来自于客户端所在的电子设备的ta;验证通过,说明客户端所在的电子设备的ta中对vc信息的验证通过,身份验证结果来自于客户端所在的电子设备的ta。
102.因此,160包括:
103.161:身份验证方接收包含身份验证结果;
104.162:身份验证方将身份验证结果发送给ifaa服务器,利用ifaa服务器判断身份验证结果是否来自于客户端所在的电子设备的ta;其中,ifaa服务器通过对身份验证结果进行签名的验证来判断身份验证结果是否来自于客户端所在的电子设备的ta;
105.163:ifaa服务器将判断结果发送给身份验证方;
106.164:如果身份验证方收到身份验证结果来自于客户端所在的电子设备的ta的判断结果,则执行与所述业务操作请求对应的业务操作,例如通知客户端继续业务操作。
107.本发明的基于ifaa的最小披露隐私信息的方法通过手机ta的安全特性(ta逻辑不能被修改、数据不能被篡改)验证vc,并将身份验证结果发送给身份验证方,使得身份验证方通过验证身份验证结果是否来自于ta来间接验证vc的持有方的身份信息,且身份验证方无法获取vc的全部信息,无需获取vc的全部信息,只需要获取身份验证结果就能够完成验证。通过这种方式,能灵活验证所有vc中的信息,从而最小化披露vc中的信息。
108.另外,本发明的基于ifaa的最小披露隐私信息的方法由于通过手机ta来验证vc信息,验证过程在手机端可行安全的计算环境内进行,能解决多个vc数据的交叉计算的身份验证方式,比如用户持有盲人协会的vc,也持有公安部颁发的电子身份证,通过在安全的计算环境内同时提取“盲人”(通过盲人的vc)、“住址”(通过电子身份证,假设盲人vc无住址信息)等信息,给出身份为“住址为杭州的盲人”的身份证明。
109.具体来说,在本发明的基于ta的vc验证方法中,在ta中,可以读取vc中的月份信息,然后对vc中的月份信息进行动态签名,提供给身份验证方验证;或者,可以通过ta,读取vc中月份信息,在ta内可以进行安全的逻辑计算,通过计算对“生日是否为6月之前”给出一个唯一的结果,“生日在6月份之前”或“生日不是在6月份之前”,然后对这个结果进行加签名,这样就避免了具体的出生日期的披露,最小化披露vc中的信息。
110.此外,本发明的基于ifaa的最小披露隐私信息的方法采用手机出厂设置的设备的私钥与云端的公钥来验证身份验证结果是否来自于客户端所在的电子设备的ta,使得身份验证方不用直接验证vc签名而是验证vc的验证结果的签名,以间接验证vc的持有方的身份
信息。
111.再者,本发明的基于ifaa的最小披露隐私信息的方法通过手机出厂设置的ifaa的公钥、云端的ifaa私钥,保证了调用ta时云端服务的可靠性。在进行vc信息签名前,ta会验证请求的ifaa签名,这样防止了其他终端app的恶意调用与攻击,保证了通过ta签名出的信息的可靠性。
112.第二实施例一种基于ta的vc验证方法
113.如图3所示,在本实施例中,本发明的基于ta的vc验证方法应用于客户端,所述客户端所在的电子设备上具有运行在可信运行环境(tee)中的ta,包括如下步骤:
114.200:响应于用户的操作,向vc颁发方发起vc申请,得到vc信息;
115.其中,发起vc申请的过程中包括了对用户的信息认证。即,在向vc颁发方发起vc申请之前,(客户端)可以先发起用户的信息认证。
116.发起用户的信息认证,包括:调用认证界面,以采集用户的认证信息,所述认证信息包括人脸、指纹等信息;对用户的认证信息进行验证,如果验证通过则继续后续步骤,否则结束本发明的整个方法的流程。由此,调用指纹认证界面进行指纹认证或者发起人脸认证等等,并在用户的信息认证通过后发送vc申请。
117.在vc颁发方将vc信息颁发给客户端之前,vc颁发方会对颁发的电子vc信息进行签名,使得颁发的vc信息是经过vc颁发方签名的vc信息。
118.210:调用ta来验证vc信息,并在验证通过时将vc信息保存到tee中,具体保存到tee的安全存储中;
119.由于vc信息需要在手机终端中进行保存,因此在本实施例中,在保存之前,ta会根据业务的需要选择性地通过验证vc信息的签名来验证收到的vc信息是否为一个真实的vc。
120.在其他实施例中,如果业务能保证vc的安全,可以跳过此过程,即210可以替换为:将vc信息保存到tee中。此tee的存储位置只有客户端所在的电子设备的ta能够进行读取,其他应用不能随意读写。
121.上述步骤200-210实现了vc颁发过程。
122.220:响应于用户的操作,向网络侧设备发出业务操作请求;在本实施例中,网络侧设备包括验证方和ifaa服务器。
123.230(可选):在发出业务操作请求之后,等待接收来自网络侧设备的挑战码,在收到挑战码后,在ta中使用ifaa公钥验证所述挑战码的签名。验证通过后,继续后续步骤。
124.在特定的业务操作中,需要验证用户的身份,比如访问特定的网站需要验证用户的年龄限制,需要验证用户的电子身份vc中的年龄信息,以防止业务被重放攻击,因此,每次执行上述特定的业务操作时,身份验证方都会下发一个挑战码,挑战码下发前需要通过ifaa服务器进行加签,以便在后续的ta验证前,先验证是否为可信的服务端下发的业务请求。
125.其中,挑战码是在ifaa服务器上生成并由身份验证方下发给客户端的。在对挑战码加签时,可以根据业务需要,由ifaa服务器增加部分业务信息,比如业务的会话id信息,从而对挑战码和增加的业务信息同时加签。
126.需要说明的是,挑战码仅仅是为了防止重放攻击,验证是否为可信的、经过ifaa服务器认证的身份验证方,因此在其他一些实施例中,上述的步骤130是可省略的。
127.240(可选):在所述挑战码的签名的验证通过之后,发起用户的信息认证,以验证用户是否为vc信息的最初的持有方。验证通过后,继续后续步骤。
128.250:通过所述ta对预先存储在所述tee中的所述用户的vc信息进行验证并在验证通过时将身份验证结果发送给所述网络侧设备,以使所述网络侧设备基于所述身份验证结果执行与所述业务操作请求对应的业务操作。
129.需要强调的是,身份验证结果是在ta内生成的。
130.在ta采用常规的验证方法对完整的vc信息进行验证,例如验证vc信息的签名是否合法,以实现身份的验证。由此,ta可以视作一个除了用户和身份验证方之外的可信的中介,把身份认证的过程放在位于客户端上的ta中,在ta中进行验证和身份信息拆解,在此过程中,由于手机ta的安全特性(ta逻辑不能被修改、数据不能被篡改)保证了vc信息的不被泄露且验证结果是不可篡改的。
131.在本实施例中,身份验证结果是设备私钥签名的,所述设备私钥仅仅存储于客户端所在的电子设备的tee中,且每个电子设备具有各自的设备私钥。
132.所述身份验证结果至少包括vc信息中需披露的隐私信息。优选地,身份验证方在执行与所述业务操作请求对应的业务操作的同时,获取身份验证结果中需披露的隐私信息。
133.需披露的隐私信息是用于出示给身份验证方的信息,其可以受客户端控制来进行选择。需披露的隐私信息可以直接包括vc信息中的一个或多个属性,例如vc信息中的出生日期,也可以包括vc信息中的一个或多个属性的计算结果,例如根据具体的出生日期,计算生日是否为2月份。
134.所述网络侧设备包括身份验证方和ifaa服务器,所述网络侧设备基于所述身份验证结果执行与所述业务操作请求对应的业务操作,包括:身份验证方在收到身份验证结果时,利用ifaa服务器来判断身份验证结果是否来自于客户端所在的电子设备的ta,在判断结果为来自于时,身份验证方获取身份验证结果中需披露的隐私信息,并执行与所述业务操作请求对应的业务操作,例如通知客户端继续业务操作。
135.第三实施例一种基于ta的vc验证方法
136.如图4所示,在本实施例中,本发明的基于ta的vc验证方法应用于网络侧设备的身份验证方,所述网络侧设备还包括ifaa服务器,所述验证方法包括如下步骤:
137.300:接收来自客户端的业务操作请求;所述客户端所在的电子设备上具有运行在tee中的ta,在发出业务操作请求后,客户端通过所述ta对预先存储在所述tee中的所述用户的vc信息进行验证以得到身份验证结果;
138.310(可选):在接收来自客户端的业务操作请求后,向客户端下发经过ifaa服务器加签的挑战码,使得客户端使用ifaa公钥验证所述挑战码的签名;
139.验证通过后,客户端继续执行上述的通过所述ta对预先存储在所述tee中的所述用户的vc信息进行验证以得到身份验证结果的步骤,使得身份验证方能够接收到客户端发送的身份验证结果。由此,可以供其他程序验证以防止重放攻击。
140.在特定的业务操作中,需要验证用户的身份,比如访问特定的网站需要验证用户的年龄限制,需要验证用户的电子身份vc中的年龄信息。为了防止业务被重放攻击,因此,每次执行上述特定的业务操作时,身份验证方都会下发一个挑战码,挑战码下发前需要通
过ifaa服务器进行加签,以便在后续的ta验证前,先验证是否为可信的服务端下发的业务请求。
141.其中,挑战码是在ifaa服务器上生成的,在对挑战码加签时,可以根据业务需要,由ifaa服务器增加部分业务信息,比如业务的会话id信息,从而对挑战码和增加的业务信息同时加签。
142.需要说明的是,挑战码仅仅是为了防止重放攻击,验证是否为可信的、经过ifaa服务器认证的身份验证方,因此在其他一些实施例中,上述的步骤130是可省略的。
143.320:等待接收所述客户端发送的身份验证结果,在收到身份验证结果时,通过ifaa服务器判断身份验证结果是否来自于客户端所在的电子设备的ta,在判断结果为来自于时,执行与所述业务操作请求对应的业务操作(例如通知客户端继续业务操作)。
144.如果身份验证结果来自于客户端所在的电子设备的ta,则说明身份验证结果是在ta内对完整的vc信息进行验证而得到的。
145.在ta内采用常规的验证方法对完整的vc信息进行验证,例如验证vc信息的签名是否合法,以实现身份的验证。由此,ta可以视作一个除了用户和身份验证方之外的可信的中介,把身份认证的过程放在位于客户端上的ta中,在ta中进行验证和身份信息拆解,在此过程中,由于手机ta的安全特性(ta逻辑不能被修改、数据不能被篡改)保证了vc信息的不被泄露且验证结果是不可篡改的。
146.在本实施例中,身份验证结果是经过设备私钥签名的,所述设备私钥仅仅存储于客户端所在的电子设备的tee中。因此,在通过ifaa服务器判断身份验证结果是否来自于客户端所在的电子设备的ta时,ifaa服务器接收身份验证方发送的身份验证结果,利用设备公钥对身份验证结果进行签名的验证来判断身份验证结果是否来自于客户端所在的电子设备的ta;验证通过,说明客户端所在的电子设备的ta中对vc信息的验证通过,身份验证结果来自于客户端所在的电子设备的ta。
147.所述身份验证结果至少包括vc信息中需披露的隐私信息。优选地,身份验证方在执行与所述业务操作请求对应的业务操作的同时,获取身份验证结果中需披露的隐私信息。
148.需披露的隐私信息是用于出示给身份验证方的信息,其可以受客户端控制来进行选择。需披露的隐私信息可以直接包括vc信息中的一个或多个属性,例如vc信息中的出生日期,也可以包括vc信息中的一个或多个属性的计算结果,例如根据具体的出生日期,计算生日是否为2月份。
149.第四实施例一种基于ta的vc验证系统
150.在本实施例中,本发明的基于ta的vc验证系统包括:
151.客户端,所述客户端所在的电子设备上具有运行在tee中的ta,所述客户端设置为:响应于用户的操作,发出业务操作请求;通过ta内对预先存储在所述tee中的所述用户的vc信息进行验证,在验证通过时发送身份验证结果;
152.身份验证方,其设置为:接收业务操作请求;等待接收所述客户端发送的身份验证结果,在收到身份验证结果时,通过ifaa服务器判断身份验证结果是否来自于客户端所在的电子设备的ta,在判断结果为来自于时,执行与所述业务操作请求对应的业务操作所述ifaa服务器设置为接收身份验证方发送的身份验证结果,利用设备公钥对身份验证结果进
行签名的验证来判断身份验证结果是否来自于客户端所在的电子设备的ta;以及
153.vc颁发方,其设置为在收到客户端发起的vc申请后,将vc信息颁发给客户端。
154.需要强调的是,身份验证结果是在ta内生成的。
155.优选地,执行与所述业务操作请求对应的业务操作,包括通知客户端继续业务操作;相应地,客户端还设置为:在发送身份验证结果后,等待接收通知,在收到通知时继续业务操作。
156.在ta采用常规的验证方法对完整的vc信息进行验证,例如验证vc信息的签名是否合法,以实现身份的验证。由此,ta可以视作一个除了用户和身份验证方之外的可信的中介,把身份认证的过程放在位于客户端所在的电子设备的ta中,在ta中进行验证和身份信息拆解,在此过程中,由于手机ta的安全特性(ta逻辑不能被修改、数据不能被篡改)保证了vc信息的不被泄露且验证结果是不可篡改的。
157.在本实施例中,所述身份验证结果是经过设备私钥签名的,所述设备私钥仅仅存储于客户端所在的电子设备的tee中。所述身份验证结果至少包括vc信息中需披露的隐私信息。所述需披露的隐私信息包括vc信息中的一个或多个属性和/或一个或多个属性的计算结果。优选地,身份验证方在执行与所述业务操作请求对应的业务操作的同时,获取身份验证结果中需披露的隐私信息。
158.客户端还设置为执行以下功能:
159.1)在发出业务操作请求之前,向vc颁发方发起vc申请,得到vc信息;调用ta来验证vc信息,并在验证通过时将vc信息保存到tee中。由此实现了vc颁发过程。
160.其中,发起vc申请的过程中包括了对用户的信息认证。即,在向vc颁发方发起vc申请之前,客户端可以先发起用户的信息认证。
161.发起用户的信息认证,包括:客户端调用认证界面,以采集用户的认证信息,所述认证信息包括人脸、指纹等信息;对用户的认证信息进行验证,如果验证通过则继续后续步骤,否则结束本发明的整个方法的流程。由此,调用指纹认证界面进行指纹认证或者发起人脸认证等等,并在用户的信息认证通过后发送vc申请。
162.在vc颁发方将vc信息颁发给客户端之前,vc颁发方会对颁发的电子vc信息进行签名,使得颁发的vc信息是经过vc颁发方签名的vc信息。
163.由于vc信息需要在手机终端中进行保存,因此在本实施例中,在保存之前,ta会根据业务的需要选择性地通过验证vc信息的签名来验证收到的vc信息是否为一个真实的vc。
164.在其他实施例中,如果业务能保证vc的安全,调用ta来验证vc信息,并在验证通过时将vc信息保存到tee中,可以替换为:将vc信息保存到tee中。此存储位置只有客户端所在的电子设备的ta能够进行读取,其他应用不能随意读写。
165.2)在发出业务操作请求之后,对vc信息进行验证之前,等待接收挑战码,在收到挑战码后,在ta中使用ifaa公钥验证所述挑战码的签名。
166.在特定的业务操作中,需要验证用户的身份,比如访问特定的网站需要验证用户的年龄限制,需要验证用户的电子身份vc中的年龄信息,以防止业务被重放攻击,因此,每次执行上述特定的业务操作时,身份验证方都会下发一个挑战码,挑战码下发前需要通过ifaa服务器进行加签,以便在后续的ta验证前,先验证是否为可信的服务端下发的业务请求。
167.其中,挑战码是在ifaa服务器上生成并由身份验证方下发给客户端的。在对挑战码加签时,可以根据业务需要,由ifaa服务器增加部分业务信息,比如业务的会话id信息,从而对挑战码和增加的业务信息同时加签。
168.需要说明的是,挑战码仅仅是为了防止重放攻击,验证是否为可信的、经过ifaa服务器认证的身份验证方,因此在其他一些实施例中,上述的功能2)是可省略的。
169.3)在发出业务操作请求之后,对vc信息进行验证之前,发起用户的信息认证,以验证用户是否为vc信息的最初的持有方。
170.身份验证方还设置为执行以下功能:向客户端下发经过ifaa服务器加签的挑战码;由此,可以供其他程序验证以防止重放攻击。
171.在特定的业务操作中,需要验证用户的身份,比如访问特定的网站需要验证用户的年龄限制,需要验证用户的电子身份vc中的年龄信息。为了防止业务被重放攻击,因此,每次执行上述特定的业务操作时,身份验证方都会下发一个挑战码,挑战码下发前需要通过ifaa服务器进行加签,以便在后续的ta验证前,先验证是否为可信的服务端下发的业务请求。
172.其中,挑战码是在ifaa服务器上生成的,在对挑战码加签时,可以根据业务需要,由ifaa服务器增加部分业务信息,比如业务的会话id信息,从而对挑战码和增加的业务信息同时加签。
173.需要说明的是,挑战码仅仅是为了防止重放攻击,验证是否为可信的、经过ifaa服务器认证的身份验证方,因此在其他一些实施例中,上述的功能是可省略的。
174.在其他实施例中,本发明的基于ta的vc验证系统也可以仅仅包括客户端或者仅仅包括身份验证方。
175.以上所述的,仅为本发明的较佳实施例,并非用以限定本发明的范围,本发明的上述实施例还可以做出各种变化。即凡是依据本发明申请的权利要求书及说明书内容所作的简单、等效变化与修饰,皆落入本发明专利的权利要求保护范围。本发明未详尽描述的均为常规技术内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1