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

认证方法、可读介质和电子设备与流程

2023-02-10 17:59:19 来源:中国专利 TAG:


1.本技术涉及通信技术领域,特别涉及一种认证方法、可读介质和电子设备。


背景技术:

2.基于生物特征的身份认证方法是通过用户固有的生理或行为属性进行认证的方法,受到了广泛的应用。目前可用于身份认证的生物特征包括指纹、面部特征、虹膜、掌纹、步态、声纹、声音、笔迹等。
3.其中,基于面部特征识别的人脸识别技术(human face recognition method,hfrm)作为一种快捷方便的新型认证方式在各个领域得到了广泛的应用。例如,人脸识别技术可用于金融场景中的刷脸支付、用于民航场景中的刷脸认证、用于办公场景下的刷脸门禁,以及用于酒店住宿场景下的刷脸认证等。例如,将采集到的人脸的面部特征与参考特征进行比对,从而得到人脸识别结果。然而,由于人脸特征具有较高的稳定性和唯一性,用户的人脸的面部特征一旦泄露将带来极大的安全隐患。


技术实现要素:

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.即在本技术的实施例中,第二生物特征存储于第二电子设备的可信执行环境(trusted execution environment,tee)。第二电子设备中有专门的代码可以调用tee中的信息,在调用过程中可通过硬件抽象层调用专门的代码,进而协调硬件对第二生物特征的调用。此外,为了安全性能,所有关于第二生物特征的操作必须在tee内完成,例如,根据第二生物特征对第一加密数据进行同态加密计算必须在tee内完成。
36.上述认证方法,将用于协助其他设备进行认证的第二生物特征存储于第二电子设备中安全等级较高的可信执行环境中,同时将第二生物特整的相关的计算均设置于可信环境内,避免第二生物特征从第二电子设备中泄露,提高了认证方案的安全性。
37.在上述第一方面的一种可能的实现中,生物数据为面部图像、指纹图像和虹膜图像中的任意一种。即在本技术的实施例中,第一生物特征为面部特征、指纹特征和虹膜特征中的任意一种。除此之外,生物数据还可以是掌纹特征、步态特征、声纹特征和笔迹特征中的任意一种。上述认证方法适用的应用场景多,能够适配于多种类型的生物认证方法,扩大了本技术中认证方法的适用范围。
38.在上述第一方面的一种可能的实现中,第一生物特征组成第一特征向量,第一加密数据为第一特征向量中各分量加密后组成的向量,第二生物特征组成第二特征向量,利用第一加密数据对第二电子设备存储的模板生物数据的第二生物特征进行第一类处理,得到第二加密数据,具体包括:对第一加密数据和第二特征向量进行幂乘计算,以得到第二加密数据,其中第一加密数据中的加密后的第一生物特征作为幂乘计算中的底数,第二特征
向量中相应的第二生物特征作为幂乘计算中的指数。
39.在上述第一方面的一种可能的实现中,利用第二预设密钥对第二加密数据进行第二类处理,将第二加密数据转换为第一生物特征和第二生物特征的第二处理结果,具体包括:利用第二预设密钥对第二加密数据进行解密,得到第一特征向量和第二特征向量的内积作为第二处理结果。
40.在上述第一方面的一种可能的实现中,第一电子设备基于第二处理结果,计算第一生物特征和第二生物特征的匹配度,并根据匹配度生成认证结果,具体包括:第一电子设备接收第二电子设备发送的第二特征向量的模;第一电子设备基于第二特征向量的模、第二处理结果通过余弦相似度或者欧式距离计算第一特征向量和第二特征向量的相似度;第一电子设备通过判断计算出的相似度是否达到相似度阈值生成认证结果。具体地,当第一电子设备判断出相似度达到相似度阈值时,生成的认证结果为通过认证,当第一电子设备判断出相似度未达到相似度阈值时,生成的认证结果为未通过认证。
41.在上述第一方面的一种可能的实现中,上述认证方法还包括:第一生物特征组成第一特征向量,第二生物特征出现的概率组成第二特征矩阵,第二处理结果为第一特征向量和第二特征矩阵的乘积;第一电子设备基于第二处理结果中分量中的最大值是否达到权重阈值生成认证结果。
42.在上述第一方面的一种可能的实现中,上述认证方法还包括:第二电子设备注册于第一电子设备对应的服务器中;第一电子设备将认证结果发送给第一电子设备对应的服务器,以对认证结果和第二电子设备进行鉴权。
43.例如,为了赋予终端设备能够协助门禁设备完成用户身份认证的权限,在用户身份认证步骤之前,终端设备需要先在门禁设备对应的门禁系统服务器中进行注册。具体地,终端设备在门禁系统服务器内进行设备信息注册。门禁系统服务器判断认证结果是否为用户身份认证通过,其次,门禁系统服务器还能够根据设备信息对终端设备进行鉴权。上述认证方法提高了认证方案的安全性和可靠性。
44.本技术的第二方面提供了一种认证方法,具体包括:第二电子设备从第一电子设备接收第一加密数据,其中,第一加密数据为第一预设密钥对待认证的生物数据的第一生物特征进行加密得到的;第二电子设备利用第一加密数据对第二电子设备存储的模板生物数据的第二生物特征进行第一类处理,得到第二加密数据,其中,第二加密数据为第一生物特征和第二生物特征的第一处理结果的加密数据;第二电子设备向第一电子设备发送第二加密数据,其中,第二加密数据能够被第一电子设备用于进行第二类处理,以将第二加密数据转换为第一生物特征和第二生物特征的第二处理结果,并且第二处理结果能够被第一电子设备用于计算第一生物特征和第二生物特征的匹配度,以及匹配度能够被第一电子设备用于生成认证结果。
45.在上述第二方面的一种可能的实现中,第二生物特征为多个时,方法还包括:第一电子设备利用第一加密数据分别对每个第二生物特征进行第一类处理,得到与每个第二生物特征对应的第二加密数据;第一电子设备分别对每个第二加密数据进行第二类处理,得到与每个第二生物特征对应的第二处理结果;第一电子设备基于每个第二生物特征对应的第二处理结果,分别计算第一生物特征和每个第二生物特征的匹配度,并根据匹配度中的最大值生成认证结果。
46.在上述第二方面的一种可能的实现中,上述认证方法还包括:第一电子设备接收第一加密数据和匹配算法标识,并利用第一加密数据对第二生物特征进行与匹配算法标识对应的第一类处理,得到第二加密数据;第一电子设备从第二电子设备接收第二加密数据,并对第二加密数据进行第二类处理,得到第二处理结果;第一电子设备基于第二处理结果根据与匹配算法标识对应的匹配方式计算第一生物特征和第二生物特征的匹配度。
47.在上述第二方面的一种可能的实现中,第一电子设备利用第二预设密钥对第二加密数据进行解密,将第二加密数据转换为第一生物特征和第二生物特征的第二处理结果。
48.在上述第二方面的一种可能的实现中,第二电子设备利用第一加密数据和第一预设密钥对第二电子设备存储的模板生物数据的第二生物特征进行第一类处理,其中第一预设密钥为公钥,第二预设密钥为与公钥相对应的私钥。
49.在上述第二方面的一种可能的实现中,第一电子设备为公共设备,第二电子设备为用户设备。
50.在上述第二方面的一种可能的实现中,第二生物特征存储于第二电子设备的可信执行环境内,第一加密数据对第二生物特征的第一类处理发生于可信执行环境内。
51.在上述第二方面的一种可能的实现中,生物数据为面部图像、指纹图像和虹膜图像中的任意一种。
52.在上述第二方面的一种可能的实现中,上述认证方法还包括:第一生物特征组成第一特征向量,第一加密数据为第一特征向量中各分量加密后组成的向量,第二生物特征组成第二特征向量,利用第一加密数据对第二电子设备存储的模板生物数据的第二生物特征进行第一类处理,得到第二加密数据,包括:对第一加密数据和第二特征向量进行幂乘计算,以得到第二加密数据,其中第一加密数据中的加密后的第一生物特征作为幂乘计算中的底数,第二特征向量中相应的第二生物特征作为幂乘计算中的指数。
53.在上述第二方面的一种可能的实现中,上述认证方法还包括:利用第二预设密钥对第二加密数据进行第二类处理,将第二加密数据转换为第一生物特征和第二生物特征的第二处理结果,包括:利用第二预设密钥对第二加密数据进行解密,得到第一特征向量和第二特征向量的内积作为第二处理结果。
54.在上述第二方面的一种可能的实现中,上述认证方法还包括:第一电子设备基于第二处理结果,计算第一生物特征和第二生物特征的匹配度,并根据匹配度生成认证结果,包括:第一电子设备接收第二电子设备发送的第二特征向量的模;第一电子设备基于第二特征向量的模、第二处理结果通过余弦相似度或者欧式距离计算第一特征向量和第二特征向量的相似度;第一电子设备通过判断计算出的相似度是否达到相似度阈值生成认证结果。
55.在上述第二方面的一种可能的实现中,方法还包括:第一生物特征组成第一特征向量,第二生物特征出现的概率组成第二特征矩阵,第二处理结果为第一特征向量和第二特征矩阵的乘积;第一电子设备基于第二处理结果中分量中的最大值是否达到权重阈值生成认证结果。
56.在上述第二方面的一种可能的实现中,上述认证方法还包括:第二电子设备注册于第一电子设备对应的服务器中;第一电子设备将认证结果发送给第一电子设备对应的服务器,以对认证结果和第二电子设备进行鉴权。
57.本技术的第三方面提供了一种认证方法,具体包括:第一电子设备采集待认证的生物数据,并采用第一预设密钥对生物数据的第一生物特征进行加密得到第一加密数据;第二电子设备从第一电子设备接收第一加密数据,并利用第一加密数据对第二电子设备存储的模板生物数据的第二生物特征进行第一类处理,得到第二加密数据,其中,第二加密数据为第一生物特征和第二生物特征的第一处理结果的加密数据;第一电子设备从第二电子设备接收第二加密数据,并对第二加密数据进行第二类处理,将第二加密数据转换为第一生物特征和第二生物特征的第二处理结果;第一电子设备基于第二处理结果,计算第一生物特征和第二生物特征的匹配度,并根据匹配度生成认证结果。
58.在上述第三方面的一种可能的实现中,第二生物特征为多个时,方法还包括:第一电子设备利用第一加密数据分别对每个第二生物特征进行第一类处理,得到与每个第二生物特征对应的第二加密数据;第一电子设备分别对每个第二加密数据进行第二类处理,得到与每个第二生物特征对应的第二处理结果;第一电子设备基于每个第二生物特征对应的第二处理结果,分别计算第一生物特征和每个第二生物特征的匹配度,并根据匹配度中的最大值生成认证结果。
59.在上述第三方面的一种可能的实现中,上述认证方法还包括:第一电子设备接收第一加密数据和匹配算法标识,并利用第一加密数据对第二生物特征进行与匹配算法标识对应的第一类处理,得到第二加密数据;第一电子设备从第二电子设备接收第二加密数据,并对第二加密数据进行第二类处理,得到第二处理结果;第一电子设备基于第二处理结果根据与匹配算法标识对应的匹配方式计算第一生物特征和第二生物特征的匹配度。
60.在上述第三方面的一种可能的实现中,第一电子设备利用第二预设密钥对第二加密数据进行解密,将第二加密数据转换为第一生物特征和第二生物特征的第二处理结果。
61.在上述第三方面的一种可能的实现中,第二电子设备利用第一加密数据和第一预设密钥对第二电子设备存储的模板生物数据的第二生物特征进行第一类处理,其中第一预设密钥为公钥,第二预设密钥为与公钥相对应的私钥。
62.在上述第三方面的一种可能的实现中,第一电子设备为公共设备,第二电子设备为用户设备。
63.在上述第三方面的一种可能的实现中,第二生物特征存储于第二电子设备的可信执行环境内,第一加密数据对第二生物特征的第一类处理发生于可信执行环境内。
64.在上述第三方面的一种可能的实现中,生物数据为面部图像、指纹图像和虹膜图像中的任意一种。
65.在上述第三方面的一种可能的实现中,上述认证方法还包括:第一生物特征组成第一特征向量,第一加密数据为第一特征向量中各分量加密后组成的向量,第二生物特征组成第二特征向量,利用第一加密数据对第二电子设备存储的模板生物数据的第二生物特征进行第一类处理,得到第二加密数据,包括:对第一加密数据和第二特征向量进行幂乘计算,以得到第二加密数据,其中第一加密数据中的加密后的第一生物特征作为幂乘计算中的底数,第二特征向量中相应的第二生物特征作为幂乘计算中的指数。
66.在上述第三方面的一种可能的实现中,上述认证方法还包括:利用第二预设密钥对第二加密数据进行第二类处理,将第二加密数据转换为第一生物特征和第二生物特征的第二处理结果,包括:利用第二预设密钥对第二加密数据进行解密,得到第一特征向量和第
二特征向量的内积作为第二处理结果。
67.在上述第三方面的一种可能的实现中,上述认证方法还包括:第一电子设备基于第二处理结果,计算第一生物特征和第二生物特征的匹配度,并根据匹配度生成认证结果,包括:第一电子设备接收第二电子设备发送的第二特征向量的模;第一电子设备基于第二特征向量的模、第二处理结果通过余弦相似度或者欧式距离计算第一特征向量和第二特征向量的相似度;第一电子设备通过判断计算出的相似度是否达到相似度阈值生成认证结果。
68.在上述第三方面的一种可能的实现中,上述认证方法还包括:第一生物特征组成第一特征向量,第二生物特征出现的概率组成第二特征矩阵,第二处理结果为第一特征向量和第二特征矩阵的乘积;第一电子设备基于第二处理结果中分量中的最大值是否达到权重阈值生成认证结果。
69.在上述第三方面的一种可能的实现中,上述认证方法还包括:第二电子设备注册于第一电子设备对应的服务器中;第一电子设备将认证结果发送给第一电子设备对应的服务器,以对认证结果和第二电子设备进行鉴权。
70.本技术的第四方面提供了一种可读介质,可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行上述第一方面、第二方面和第三方面中的任意一种认证方法。
71.本技术的第五方面提供了一种电子设备,包括存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行上述第一方面、第二方面和第三方面中的任意一种认证方法。
附图说明
72.图1示出了一些实施例中用户身份认证方案所适用的应用场景;
73.图2示出了其他一些实施例中用户身份认证方案所适用的应用场景;
74.图3示出了本技术一些实施例中用户身份认证方案所适用的应用场景图;
75.图4示出了本技术一些实施例中身份认证方案中终端设备100、门禁设备200和门禁系统服务器300的交互图;
76.图5示出了本技术一些技术方案中终端设备100与门禁设备200的结构示意图;
77.图6示出了本技术一些技术方案中终端设备100与门禁设备200中具体模块的交互图;
78.图7为本技术一些实施例,示出了手机100

的结构示意图;
79.图8为本技术一些实施例,示出了手机100

的软件结构框图。
80.其中,附图标记中:210
′‑
门禁设备;210a
′‑
第一门禁设备;210b
′‑
第二门禁设备;220
′‑
认证设备;100a
″‑
第一终端设备;110a
″‑
认证模块;120a
″‑
可信管理模块;100b
″‑
第二终端设备;110b
″‑
信息采集模块;120b
″‑
可信管理模块;130b
″‑
业务模块;
81.100-终端设备;101-终端设备连接模块;102-服务认证模块;103-模板存储模块;104-密态计算模块;200-门禁设备;201-门禁设备连接模块;202-信息采集模块;203-特征提取模块;204-密码服务模块;205-相似度计算模块;206-本地认证模块;300-门禁系统服务器;400-门锁。
具体实施方式
82.本技术的说明性实施例包括但不限于一种用户身份认证方法、装置、可读介质和电子设备。
83.本技术技术方案中涉及的身份认证方法可以是生物特征认证方法(biometric identification authentication method,biam)。其中生物特征认证方法是利用人的生理特征(例如:指纹、面部特征、虹膜、掌纹等)或行为特征(例如:步态、声纹、笔迹等)来进行用户身份鉴定的认证方法。本技术中的用户身份认证方法适用于办公场景中的刷脸和/或刷指纹门禁、金融场景中的刷脸支付、民航场景中刷脸认证、以及酒店住宿场景中的刷脸认证等应用场景。
84.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
85.为了更好地理解本技术实施例的技术方案,下面以用户在办公场所的门禁系统上刷脸或者刷指纹进行身份认证,以进入办公场所的场景为例,对本技术的一些技术方案进行详细介绍。
86.例如,图1示出了用户在办公场所的门禁系统上通过刷脸进行身份认证的场景图。用户通过在办公场所的门禁系统上刷脸或者刷指纹进行身份认证,从而在身份认证通过的情况下,进入办公场所。
87.如图1所示,应用于办公场所的门禁系统包括用于采集用户人脸图像的门禁设备210

(例如:摄像头),门禁设备210

包括第一门禁设备210a

和第二门禁设备210b

;以及用于认证用户身份的认证设备220

(例如:云服务器)。其中,门禁设备210

和认证设备220

均为公共设备,此处公共设备是指用于为公众提供公共服务的设备。
88.具体地,如图1所示的实施例中用户身份认证的原理为:
89.门禁设备210

采集用户的人脸图像,并将采集到的人脸图像发送给认证设备220

。认证设备220

存储有公司所有员工的模板特征,其中模板特征是指采集设备(例如:门禁系统中的门禁设备210

或者其他采集设备)通过多次、多角度采集的所有员工的生物特征信息,并通过服务器最终生成的完备性较高的生物特征。可以理解,在对用户身份进行认证时,模板特征可以作为参考的基准特征。认证设备220

接收到门禁设备210

发送的人脸图像之后,从人脸图像中提取用户的面部特征,并通过比对提取到的面部特征与模板特征的相似度,对用户身份进行认证。例如,当相似度达到相似度阈值时,则判断用户身份是可信任的,即用户身份认证通过。否则,当相似度未达到相似度阈值时,则判断用户身份是不可信任的,即用户身份认证不通过。以下将图1所示的身份认证方案记为集中式认证方案。
90.可以理解的是,在使用图1所示的集中式方案进行身份认证之前,需要用户先在门禁设备210

上录入自身的模板特征。例如,用户a录入自身的模板特征t1,用户b录入自身的模板特征t2。然后将模板特征存储于认证设备220

中。也即,认证设备220

预先收集用户a和用户b的模板特征,并集中存储于认证设备220

中,以便后续为用户a和用户b提供远程身份认证。
91.为了更好地理解图1所示的身份认证技术方案,下面简要介绍下用户a的身份认证过程。
92.当用户a想要通过第一门禁设备210a

进行身份认证时,用户a面向第一门禁设备210a

站立,第一门禁设备210a

采集用户a的人脸图像,并将人脸图像发送给认证设备220

。认证设备220

提取人脸图像中的面部特征f1。随后,认证设备220

将面部特征f1与其存储的模板特征t1进行匹配。若匹配成功,则用户a身份认证通过;若匹配失败,则用户a身份认证不通过。最后,认证设备220

将认证结果返回给第一门禁设备210a

,第一门禁设备210a

根据认证结果控制门锁(未图示)打开或者保持关闭。
93.用户b的身份认证过程与用户a类似,在此不再赘述。
94.然而,由于在上述用户身份认证方案中,需要将身份认证时参考的模板特征预先上传至认证设备220

,使得用户的模板特征不可避免地泄露给了认证设备220

的供应商。首先,认证设备220

中集中存储有多个用户的模板特征,当外界想要恶意获取其中一个用户的模板特征时,会攻击认证设备220

。一旦认证设备220

被破解,将导致认证设备220

中集中存储的所有用户的模板特征一起被泄露。因此,用户的模板特征被泄露的风险较高,用户的模板特征存储的安全性较低。其次,认证设备220

得到的认证结果为确定门禁是否打开的唯一判断条件,并且在认证结果由认证设备220

向门禁设备210

传输的过程中可能被破解及篡改,由于门禁设备210

无法感知验证认证结果是否已经被篡改,导致门禁设备210

有可能会执行被篡改后的认证结果,最终导致门禁系统的认证功能失效,降低用户身份认证的可靠性和准确性。再者,门禁设备210

将采集到的人像图像直接发送给认证设备220

,发送过程中人像图像的加密信道一旦被破解,会导致用户的人像图像泄露,由于人像图像具有确定性和唯一性,一旦泄露很难补救,将会给用户带来极大的安全隐患和隐私威胁。此外,上述身份用户身份认证方案中,单个认证设备220

存储有多个用户的模板特征,也即多个用户需要使用同一个认证设备220

进行身份认证,导致用户身份认证的响应速度较慢,影响用户使用体验。
95.图2示出了另一身份认证方案的场景图。在图2所示的涉及用户身份认证的场景中,用户身份认证方案为具有可信关系的跨设备认证方案,例如采用登录同一用户账号的两个终端设备来共同完成认证过程。相比较于图1所示的实施例,图2所示的应用场景较为受限,图2所示的身份认证方案无法应用到公共场所中。具体地,如图2所示,用户身份认证的场景中包括具有可信关系的第一终端设备100a

和第二终端设备100b

。第一终端设备100a

为具有认证功能的设备(例如:具有处理器的手机)。第二终端设备100b

为具有采集功能的设备(例如:具有摄像头的平板)。除此之外,可信关系还可以通过第一终端设备100a

和第二终端设备100b

处于同一wifi、账号关联来实现。
96.第一终端设备100a

包括认证模块110a

和可信管理模块120a

。其中,认证模块110a

用于提取人脸图像中的面部特征,并根据面部特征和模板特征对用户进行身份认证,以及根据共享密钥对认证结果进行加密解密。第二终端设备100b

包括信息采集模块110b

、可信管理模块120b

和业务模块130b

。信息采集模块110b

用于采集用户的人脸图像及通过共享密钥对人脸图像进行加密。业务模块130b

用于承载不同的业务系统。可信管理模块120a

和可信管理模块120b

分别生成各自的一对公钥和私钥,然后共享给对方公钥,并创建双方共享的密钥。可信管理模块120a

和可信管理模块120b

可以通过两方共享密钥来进行加密及解密消息。
97.在身份认证时,第一终端设备100a

将加密的人脸图像发送给第二终端设备
100b

,第二终端设备100b

对该人脸图像进行解密后进行用户身份认证,然后将认证结果加密发送给第一终端设备100a

,第一终端设备100a

对认证结果进行解密,根据解密后的认证结果完成用户身份认证。
98.然而,图2所示的用户身份认证方案存在以下问题:首先,图2所示的身份认证方案只能够应用于具有可信关系的第一终端设备100a

和第二终端设备100b

之间的协同认证,应用场景较为局限,适用范围较窄。其次,由于第一终端设备100a

和第二终端设备100b

具有可信关系,直接由第一终端设备100a

发送给第二终端设备100b

的认证结果为最终结果,也即第二终端设备100b

能够根据认证结果访问业务或者拒绝访问业务。然而,认证结果由第一终端设备100a

发送给第二终端设备100b

的过程中可能被破解及篡改,由于第二终端设备100b

无法感知认证结果是否已经被篡改,导致第二终端设备100b

有可能会执行被篡改后的认证结果,最终导致业务系统的认证功能失效,降低用户身份认证的可靠性和准确性。此外,由于共享密钥通过可信管理模块120a

和可信管理模块120b

分别分配给第一终端设备100a

和第二终端设备100b

,可能会导致共享密钥被截获,进而导致用户的人脸图像被解密并泄露,由于人脸图像具有确定性和唯一性,一旦泄露很难补救,将会给用户带来极大的安全隐患和隐私威胁。
99.为了解决上述问题,本技术提供了一种新的用户身份认证方案。为了便于理解,下面仍以用户在办公场所的门禁系统上刷脸进行身份识别,以进入办公场所的场景为例,对本技术的技术方案进行详细介绍。图3示出了用户身份认证的场景示意图。如图3所示,本技术中身份认证方案适用的认证系统包括终端设备100、门禁设备200、门禁系统服务器300和门锁400。其中,终端设备100可以是手机、平板、笔记本电脑、智能手表、平板大屏、智能手环、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备等可移动电子设备。可以理解,在其他一些应用场景中,门禁设备200还可以被替换为与场景对应的其他设备,例如,电影院中能够生物识别的取票机,小区楼宇中的门禁设备,火车站、汽车站及机场中能够生物识别的取票机,火车站、汽车站及机场中能够生物识别的验票设备,超市中的生物识别付款机等能够采集生物特征的公共设备。在另外一些应用场景中门禁设备还可以被替换为用户的其他个人设备,例如用户的平板,用户的笔记本电脑等。
100.其中,终端设备100为用户私有电子设备,终端设备100中预先存储有用户的模板特征。门禁设备200用于采集用户的人脸图像,并能够从人脸图像中提取出面部特征,而后对面部特征进行加密,并将加密结果发送给终端设备100。终端设备100根据存储的模板特征对面部特征的加密结果进行同态加密计算,得到密态计算结果。其中,同态加密计算为:在无需对加密结果进行解密的情况下,将上述模板特征和加密结果进行同态加密计算,得到密态计算结果,该密态计算结果是对上述面部特征和模板特征进行整合并且按照面部特征的加密方法加密后的结果。
101.由于终端设备100向门禁设备200发送的是密态计算结果,门禁设备200根据预设私钥对接收的密态计算结果解密后得到的是用户的面部特征和模板特征整合之后的结果。相较于终端设备100直接将模板特征发送给门禁设备200的技术方案,本技术技术方案可以避免用户的模板特征被泄露,提高用户身份认证的安全性。而后,终端设备100将密态计算结果发送给门禁设备200。门禁设备200对密态计算结果进行解密。门禁设备200根据解密后的整合结果和面部特征进一步计算,以得到面部特征与模板特征的最终比较结果,门禁设
备200根据最终比较结果得出用户身份的认证结果,以使门禁系统服务器300根据认证结果控制门锁400解锁或者保持锁止。
102.由此可见,本技术中的用户身份认证方案与上述集中式身份认证方案及可信关系的终端之间身份认证方案相比,具有以下区别:首先,终端设备100发送给门禁设备200的密态计算结果为面部特征和模板特征的整合结果,且整合结果处于加密状态,在没有密钥的情况下无法解密,避免密态计算结果被截获并破解,进而能够降低安全风险。其次,即使密态计算结果被截获并破解,但泄露的是面部特征与模板特征之间的整合结果,并非最终的比较结果,门禁设备200能够进一步验证返回的密态计算结果是否正确,及时筛除被恶意篡改的密态计算结果,进而可以避免认证结果返回过程中被恶意篡改对认证结果的影响,能够有效避免认证系统的认证功能失效,提高了用户身份认证的可靠性和准确性。再者,门禁设备200发送给终端设备100的数据为加密后的面部特征,一方面破解难度大,另一方面即使传输过程中加密结果被截获并破解,得到的是提取后的面部特征,并非用户图像(例如:人脸图像),而在不知道图像特征提取方法的情况下,即使面部特征泄露也不会造成用户生物特征的真正泄露。此外,由于能够对密态计算结果和加密结果解密的私钥仅存储于门禁设备200中,无需将私钥发送终端设备100,降低了私钥泄露的风险,提高了用户身份认证的可靠性和准确性。此外,由于终端设备100没有解密加密结果的私钥,使得终端设备100无法对加密后的面部特征进行解密,因此门禁设备200根据人脸图像提取到的面部特征也不会泄露给终端设备100,进一步提高用户生物特征的安全性。
103.除此之外,本技术的方案与上述图1所示的集中式身份认证方案单独相比,用户的模板特征存储在用户私有的终端设备100中,不会发送给公共设备(例如:认证设备220

),降低了模板特征被攻击泄露的风险,能够有效提高安全性。同时,终端设备100仅存储用户的模板特征,也即单个终端设备100

仅用于单个用户的身份认证,提高用户身份认证的响应速度,改善用户使用体验。本技术的方案与上述图2所示的可信关系的终端之间身份认证方案单独相比,本技术中的方案不局限于必须具有可信关系的终端之间的身份认证,还能够适用于用户的终端设备100(个人设备)与门禁设备200(公共设备)之间临时通信连接的协同认证,增大了身份认证方法的适用范围。
104.下面详细介绍本技术公开的用户身份认证方法和认证系统。为了便于说明,下面将继续以用户在办公场所的门禁系统上刷脸进行身份识别,以进入办公场所的场景为例,对本技术的技术方案进行详细介绍。
105.图4示出了图3所示的应用场景中,在对用户身份进行认证时,终端设备100和门禁设备200的交互图。其中终端设备100中存储有用户的模板特征t。门禁设备200用于采集用户的用户图像及根据用户图像提取生物特征,并能够对生物特征进行加密。终端设备100和门禁设备200之间能够利用同态加密计算得到门禁设备200采集到的生物特征和用终端设备100中的模板特征t的相似度,进而判断是否通过用户身份认证。结合图3和图4可知,本技术中用户身份认证过程具体包括以下步骤:
106.步骤s401:终端设备100和门禁设备200之间建立通信连接。
107.在一些实施例中,终端设备100和门禁设备200之间近距离直连,也即,终端设备100和门禁设备200距离较近时进行通信连接,以实现两者之间的数据传输。例如,终端设备100进入门禁设备200的近场通信范围后,通过终端设备100和门禁设备200的nearby模块、
蓝牙(bluetooth,bl)、近场通信(near-field communication,nfc)等方式建立通信连接。由于本技术的技术方案中需要终端设备100与门禁设备200协同完成对用户身份的认证。因而,在需要对用户身份进行认证时,首先需要终端设备100和门禁设备200建立通信连接。
108.除此之外,为了赋予终端设备100能够协助门禁设备200完成用户身份认证的权限,在用户身份认证步骤之前(例如:终端设备100和门禁设备200建立通信连接时),终端设备100需要先在门禁设备200对应的门禁系统服务器300中进行注册。例如,终端设备100在门禁系统服务器300内进行设备信息注册,注册成功后门禁系统服务器300返回注册凭据。
109.在一些实现方式中,终端设备100向门禁系统服务器300发送注册请求。门禁系统服务器300接收终端设备100发送的注册请求,并根据注册请求对终端设备100进行注册。其中,注册请求为由终端设备100向门禁系统服务器300发起的、用于请求门禁系统服务器300对终端设备100进行注册的请求信息。注册请求中包括终端设备100的设备标识(device identification,did)和协议版本(protocol version,pv)等设备信息。例如,终端设备100为手机,设备标识为终端设备100对应的手机号,或者为终端设备100对应的设备id,或者为与终端设备100对应的用户名。
110.门禁系统服务器300接收到注册请求后,对终端设备100进行注册请求验证。验证通过后,门禁系统服务器300对终端设备100进行注册,并将终端设备100的设备信息添加至门禁系统服务器300的白名单中。例如,门禁系统服务器300接收到注册请求后,通过校验终端设备100的设备标识,判断终端设备100是否尚未注册,通过校验终端设备100的协议版本号,判断终端设备100的协议版本与门禁系统服务器300当前的版本是否一致或者兼容,等等。如果门禁系统服务器300校验的参数终端设备100都满足,则说明终端设备100满足注册条件,门禁系统服务器300对终端设备100进行注册。
111.门禁系统服务器300向终端设备100发送注册凭据,其中注册凭据用于通知终端设备100已在门禁系统服务器300上完成注册。注册凭据中包括“注册已完成”标志和注册生命周期(life time,lt)。其中注册生命周期是指本次注册的有效期限,终端设备100需要在该有效期限内更新注册。例如,注册生命周期为30天,或者,注册生命周期为永久。
112.可以理解,本技术中的终端设备100在门禁系统服务器300内的注册方案并不限于本技术所提供的上述方案,其他能够实现终端设备100在门禁系统服务器300内注册的方案也在本技术的保护范围之内,本技术不作具体限制。
113.在其他一些实施例中,门禁系统服务器300中的白名单判断用户或者终端设备100是否具有协助门禁设备200完成用户身份认证的权限的过程发生于终端设备100和门禁设备200建立通信连接的过程中。
114.在一些实现方式中,当终端设备100和门禁设备200满足通信连接建立条件时,例如终端设备100和门禁设备200之间的距离小于距离阈值,终端设备100向门禁设备200发送通信连接请求,其中通信连接请求中携带有终端设备100的设备标识。门禁设备200将通信连接请求或者设备标识发送给门禁系统服务器300。门禁系统服务器300根据白名单确定终端设备100是否有权限协助门禁设备200完成用户身份认证,当判定结果为是时,终端设备100与门禁设备200建立通信连接。
115.步骤s402:门禁设备200采集用户的人脸图像。
116.在一些实施例中,门禁设备200检测到触发信号后,开始采集用户的人脸图像。
117.触发信号是指用于触发门禁设备200采集用户的人脸图像的指令信息。
118.在一些实现方式中,触发信号可以是门禁设备200根据实时监测的外界图像生成的信号。例如,门禁设备200实时监测目标区域内的外界图像,当监测到外界图像中包括人脸图像时,门禁设备200生成触发信号。
119.在可替换的其他实现方式中,触发信号也可以是门禁设备200根据用户的特定操作生成的信号。其中用户的特定操作可以为语音呼叫,例如,用户发出与人脸识别相关的语音信息,门禁设备200接收到用户发出的语音信息后,生成触发信号。用户的特定操作还可以为按键触控,例如,用户按摸特定物理按键(例如:call按键)后,生成触发信号。人脸图像是指包括人脸信息的图像。在一些实施例中,人脸图像为静态图像,门禁设备200通过摄像头或者摄像机拍摄目标区域内的图像,并从拍摄的图像中筛选出包括人脸信息的人脸图像。在另外一些实施例中,人脸图像还可以为动态图像,门禁设备200通过摄像头或者摄像机录摄目标区域内的视频流,并从录摄的视频流中筛选出包括人脸信息的人脸图像。
120.步骤s403:门禁设备200提取人脸图像中的面部特征f。
121.可以理解,面部特征f是指用于人脸识别的数据。例如,面部特征为面部特征向量。面部特征向量可以为一个一维或多维的特征向量,也即面部特征中包括一个或多个维度上的特征。
122.在一些实施例中,由于门禁设备200直接采集到的人脸图像可能受到各种条件的限制和随机干扰,往往不能直接使用。因此,需要在图像处理前对人脸图像进行预处理。
123.在一些实现方式中,门禁设备200对人脸图像进行的预处理方式包括以下方式中的至少一种:尺寸归一、人脸对齐、光线补偿、灰度变换、直方图均衡化、几何校正、中值滤波以及锐化,等等。
124.在一些实施例中,门禁设备200获取人脸图像中的人脸元素,并提取与人脸元素对应的面部关键点。门禁设备200对面部关键点进行归一化处理,得到面部特征值。面部特征值即为面部特征向量中的特征。其中,人脸元素是指人体面部中用于人脸识别的元素集合。人脸元素包括眉毛、眼睛、鼻子、嘴巴、耳朵,等等。人脸元素可通过面部关键点予以表征,每个人脸元素对应至少一个面部关键点。面部关键点为用于表征人脸元素的大小、位置、形态等信息的点。例如,鼻子包括鼻尖一个面部关键点,嘴巴包括左边嘴角和右边嘴角两个面部关键点。
125.在一些实施例中,面部关键点的数量可以是5个、11个、68个或者98个。
126.在一些实施例中,门禁设备200选择其中一个面部关键点为原点,对其他面部关键点进行归一化处理,得到每个面部关键点对应的面部特征值。其中,归一化是指将面部关键点采用统一的度量单位和度量标准表征。
127.在一种实现方式中,由于人脸中各个人脸元素的分布位置相对固定,且面部关键点以鼻子为中心发散分布,因此本方案可以采用以鼻子为原点,对面部关键点进行归一化计算,得到所有面部关键点的面部特征值。一个面部关键点可以对应于多个面部特征值,例如,面部特征值可以是该面部关键点的灰度值、相对位置等等。
128.例如,面部特征可表征为n维向量:f(x1,x2,x3,......,x
n-1
,xn)。其中,x1,x2,x3,......,x
n-1
,xn为面部关键点的特征值。这些特征值分别用于表征某一面部关键点的灰度值、位置、颜色等等。
129.相似的,本技术中前文提到的模板特征也可以表征为n维向量:t(y1,y2,y3,......,y
n-1
,yn)。其中,y1,y2,y3,......,y
n-1
,yn为模板特征中的面部关键点的特征值。此外,f向量和t向量中相同维数的特征值所表征的意义相同。例如,x1表征面部特征中眼睛的位置,则y1表征模板特征中眼睛的位置。
130.可以理解的是,本技术中对面部特征的获取方式不作具体限定,也即门禁设备200还可以通过其他技术方案从人脸图像提取用户的面部特征,也均在本技术的保护范围之内。
131.此外,为了进一步避免用户的生物特征泄露,以提高生物识别的安全性,在一些实施例中,预设周期内,门禁设备200会将采集到的人脸图像及提取的面部特征f删除,以避免用户的人脸图像与面部特征f在各个业务系统中留存,进而降低用户的生物特征泄露的风险。例如,每次身份认证结束后,门禁设备200会将采集到的人脸图像及提取的面部特征f删除。
132.步骤s404:门禁设备200对面部特征f进行加密,得到加密结果enc(f)。
133.在一些实施例中,门禁设备200根据预设的公钥pk及同态加密算法中的加密方法对面部特征中的特征值进行加密,得到加密后的面部特征,也即加密结果enc(f)。
134.在一些实施例中,门禁设备200生成预设的公钥pk和预设的私钥sk,其中公钥pk用于对终端设备100和门禁设备200之间的流通数据进行加密,私钥sk用于对加密后的数据进行解密。
135.在一些实现方式中,门禁设备200中存储有公钥pk和私钥sk,终端设备100未存储公钥pk和私钥sk。具体地,门禁设备200利用公钥pk对面部特征f进行加密,并将加密后的面部特征f发送给终端设备100,终端设备100利用模板特征t对加密后的面部特征f进行同态加密计算,并将计算得到的密态计算结果发送给门禁设备200。门禁设备200利用私钥sk对同态计算结果进行解密,得到解密结果。
136.在另外一些实现方式中,门禁设备200中存储有公钥pk和私钥sk,终端设备100存储有公钥pk。具体地,门禁设备200利用公钥pk对面部特征f进行加密,并将加密后的面部特征f发送给终端设备100,终端设备100利用模板特征t和公钥pk对加密后的面部特征f进行同态加密计算,并将密态计算结果发送给门禁设备200。门禁设备200利用私钥sk对密态计算结果进行解密,得到解密结果。
137.为了提升用户体验,在一些实施例中,门禁设备200还能够生成会话密钥,会话密钥用来加密终端设备100和门禁设备200的通信内容。可以理解,终端设备100和门禁设备200使用公钥pk来传递和约定会话密钥。
138.同态加密(homomorphic encryption,he)是一种加密形式,当对加密结果enc(f)和模板特征t进行特定形式的代数运算时,得到的仍然是加密的密态计算结果,将密态计算结果解密所得到的解密结果与面部特征f和模板特征t进行同样的特定形式的代数运算结果一样。
139.同态加密包括全同态加密、加法同态加密和乘法同态加密。全同态加密是指同时满足加同态和乘同态性质,可以进行任意多次加和乘运算的加密函数。其中,加法同态为,如果存在有效算法

,则enc(x y)=enc(x)

enc(y)或者x y=d(enc(x)

enc(y))成立,并且获取x y的过程中仅需知道enc(x)、enc(y)以及私钥sk,并不会泄漏x和y。乘法同态为,
如果存在有效算法如果存在有效算法或者成立,并且获取x
×
y的过程中仅需知道enc(x)、enc(y)以及私钥sk,并不会泄漏x和y。
140.在一些实施例中,门禁设备200采用基于合数模的高阶剩余计算困难性假设的加法同态加密(语义安全型)算法对面部特征f进行加密,得到加密结果enc(f)。
141.门禁设备200设定该同态加密算法的公钥(public key,pk)和私钥(secret key,sk)。其中,公钥pk=(n,g),私钥sk=λ。公钥pk和私钥sk的具体获取方法为:门禁设备200选择随机的素数p和q,门禁设备200选择随机数g∈z。n=pq,λ=lcm(p-1,q-1),gcd(l(g
λ
mod n2),n)=1,l(x)=(x-1)/n。其中,lcm用于计算2个或者2个以上数值的最小公倍数为λ。gcd用于计算2个或者2个以上数值的最大公约数。mod用于计算2个数值的余数。
142.可以理解,上述门禁设备200获取公钥pk与私钥sk的时间节点并不作具体限制。例如,门禁设备200获取公钥pk与私钥sk为初始化阶段,在终端设备100与门禁设备200建立通信连接之前。再例如,门禁设备200获取公钥pk与私钥sk的阶段在门禁设备200提取面部特征f之后。
143.门禁设备200利用公钥pk通过公式(1)和公式(2)对面部特征f中的特征值xi进行加密,公式(1)和公式(2)为加密公式,加密结果enc(f)即为[[xi]]:
[0144]
enc(xi,pk_device)=[[xi]]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0145][0146]
其中,xi为面部特征f中的特征值,r1为常数,n=pq。
[0147]
步骤s405:门禁设备200将加密结果enc(f)发送给终端设备100。
[0148]
在一些实施例中,门禁设备200得到加密结果enc(f)后,生成将加密结果enc(f)发送给终端设备100的发送指令。门禁设备200根据发送指令将加密结果enc(f)发送给终端设备100。
[0149]
在其他一些实施例中,终端设备100采用的相似度计算方法,可能需要通过公钥pk配合才实现模板特征t对加密结果enc(f)的同态加密计算。基于此,门禁设备200得到加密结果enc(f)后,将公钥pk、加密结果enc(f)发送给终端设备100,进而使得终端设备100通过公钥pk和模板特征t对加密结果enc(f)进行同态加密计算。可以理解,由于公钥无法对加密数据进行解密,也即终端设备100无法通过公钥pk对加密结果enc(f)进行解密,因此即使门禁设备200将公钥pk发送给终端设备100,也不会将面部特征f泄露给终端设备100。
[0150]
在另外一些实施例中,终端设备100已经提前获取了对应公钥pk,门禁设备200将加密结果enc(f)发送给终端设备100。
[0151]
步骤s406:终端设备100利用模板特征t对加密结果enc(f)进行同态加密态计算,得到密态计算结果。
[0152]
在一些实施例中,终端设备100中存储有用户的模板特征t。其中同态加密计算为:在无需对加密结果进行解密的情况下,将用户的模板特征引入加密结果中,以获取面部特征f与模板特征t的整合结果,该整合结果处于加密状态,处于加密状态的整合结果即为密态计算结果。由于终端设备100向门禁设备200发送的是密态计算结果,门禁设备200根据私钥sk对密态计算结果解密后得到的是面部特征f和模板特征t整合后的结果,避免用户的模板特征t直接发送给门禁设备200,提高用户身份认证的安全性。门禁设备200通过整合结果
以及门禁设备200中存储的面部特征f能够计算出面部特征f与模板特征t的相似度。
[0153]
在一些实施例中,门禁设备200通过余弦相似度计算用户的面部特征f与模板特征t之间的相似度,根据余弦相似度的公式可知,门禁设备200除了获取用户的面部特征f,还需要获取面部特征f和模板特征t的积,也即f*t,以及模板特征的模|t|。由于:
[0154][0155]
也即根据公式(3)可以得到,
[0156][0157]
其中,[[x1]]为加密后面部特征f的特征值,xi为面部特征f中的特征值,yi为模板特征t中的特征值,[[f*t]]为模板特征t对加密结果enc(f)的密态计算结果。
[0158]
基于此,终端设备100利用模板特征t通过公式(4)对加密结果enc(f)进行密态加法运算,得到面部特征f和模板特征t的积的加密后的结果,也即密态计算结果[[f*t]]。
[0159]
在另外一些实施例中,门禁设备200通过欧式距离计算面部特征f和模板特征t的相似度。根据欧式距离的公式可知,门禁设备200除了获取用户的面部特征f,还需要获取面部特征f和模板特征t的积,也即f*t,以及模板特征的模|t|,具体密态计算结果[[f*t]]的计算公式如上,在此不赘述。
[0160]
在另外一些实施例中,门禁设备200通过其他相似度计算用户的面部特征f与模板特征t的相似度,根据相似度的公式可知,门禁设备200除了获取用户的面部特征f,还需要获取面部特征f与模板特征t整合后的结果,或者,还需要模板特征t转换后的相关数值,面部特征f与模板特征t整合后的结果可以通过同态加密计算获取,具体参考余弦相似度的推导算法,在此不一一描述。
[0161]
对于模板特征t的获取方式,在一些实现方式中,终端设备100采集用户的人脸模板图像,并提取人脸模板图像中的面部特征,而后对提取到的面部特征作为模板特征t进行存储。模板特征t为用户多次、多角度采集自身生物特征信息而生成的完备性较高的生物特征信息。其中,人脸模板图像的采集与上文中人脸图像的采集相同,人脸模板图像中模板特征的提取与上文中人脸图像中面部特征f的提取相同,具体操作方案请参考上文,再此不作过多描述。可以理解,模板特征t还可以是其他种类的生物特征,例如指纹、声纹、虹膜等等。
[0162]
在另外一些实现方式中,终端设备100从其他电子设备处获取模板特征t。
[0163]
在一些实施例中,模板特征t可以存储于终端设备100的flash、媒体传输协议(media transfer protocol,mtp)、电可擦只读存储器(electrically erasable programmable read-only memory,eeprom)等记忆式存储器。
[0164]
在一些实施例中,终端设备100中包括低信任等级层和高信任等级层,为了满足安全性能,模板特征t存储于高信任等级层中。应用程序(application,app)只能访问低信任
等级层内存储的数据,应用程序和低信任等级层无法访问高信任等级层,只能通过调用高信任等级层提供的接口来处理数据。模板特征t存储于终端设备100的可信执行环境(trusted execution environment,tee)。终端设备100中有专门的代码可以调用tee中的信息,在调用过程中可通过硬件抽象层(hardware abstract layer,hal)调用专门的代码,进而协调硬件对模板特征t的调用。此外,为了安全性能,所有关于模板特征t的操作必须在tee内完成,例如,根据模板特征t对加密结果enc(f)进行同态加密计算必须在tee内完成。
[0165]
步骤s407:终端设备100将密态计算结果发送给门禁设备200。
[0166]
可以理解,基于不同的相似的计算方法,终端设备100除了将加密结果enc(f)发送给门禁设备200以外,还需要将其他与模板特征t相关的部分发送给门禁设备200,且其他与模板特征t相关的部分不会泄露具体的模板特征t。例如,模板特征t为模板特征向量时,其他与模板特征t相关的部分可以是模板特征的模|t|。
[0167]
在一些实施例中,若门禁设备200采用余弦相似度计算面部特征f和模板特征t的相似度,密态计算结果为[[f*t]],则终端设备100将密态计算结果[[f*t]]和模板特征的模|t|发送给门禁设备200。
[0168]
在其他一些实施例中,若门禁设备200采用欧式距离计算面部特征f和模板特征t的相似度,密态计算结果为[[f*t]],则终端设备100将密态计算结果[[f*t]]和模板特征的模|t|发送给门禁设备200。
[0169]
可以理解,余弦相似度和欧式距离是面部特征f和模板特征t的匹配度计算方式中的其中两种。在其他一些实施例中,门禁设备200还可以采用其他匹配度计算方式计算面部特征f和模板特征t的匹配度。
[0170]
步骤s408:门禁设备200对密态计算结果进行解密,得到解密结果。
[0171]
在一些实施例中,门禁设备200利用私钥sk对密态计算结果[[f*t]]进行解密,得到解密结果f*t。可以理解,门禁设备200还可以通过其他方式将密态计算结果[[f*t]]转换为f*t,具体转换方式本技术不作具体限制。
[0172]
例如,门禁设备200利用私钥sk的表达式公式(5)对密态计算结果[[f*t]]进行解密,以得到解密结果f*t:
[0173][0174]
其中,f*t为解密结果,也即为面部特征f和模板特征t的积,[[f*t]]为密态计算结果。
[0175]
步骤s409:门禁设备200根据解密结果以及面部特征f计算得到面部特征f和模板特征t的相似度。
[0176]
在一些实施例中,门禁设备200根据解密结果f*t、模板特征的模|t|以及面部特征f以及余弦相似度公式或者欧式距离计算得到面部特征f和模板特征t的相似度。
[0177]
例如,门禁设备200采用余弦相似度计算面部特征f和模板特征t的相似度。门禁设备200根据面部特征f计算得到面部特征的模|f|,而后门禁设备200利用公式(6)计算面部特征f和模板特征t夹角的余弦:
[0178]
[0179]
其中,cos《f,t》为面部特征f与模板特征t夹角的余弦,也即为面部特征f和模板特征t的相似度。
[0180]
再例如,门禁设备200采用欧式距离计算面部特征f和模板特征t的相似度。门禁设备200根据面部特征f计算得到面部特征的模|f|,而后门禁设备200利用公式(8)计算面部特征f和模板特征t之间的欧式距离:
[0181][0182][0183]
其中,d《ft》为面部特征f与模板特征t的欧式距离,也即为面部特征f和模板特征t的相似度。
[0184]
在本技术其他的技术方案中,还可以结合曼哈顿距离、切比雪夫距离、闵可斯夫基距离等方法推导出其他的同态加密算法,进而利用同态加密算法计算面部特征f与模板特征t的相似度,本技术不作具体限制。
[0185]
在本技术其他的应用场景中,门禁设备为指纹采集设备,在本技术的其他技术方案中,还可以结合神经网络算法推导出其他的同态加密算法,进而利用同态加密算法计算指纹特征lw与模板特征t的相似度权重,本技术不作具体限制。例如,门禁设备采集的指纹特征可表征为n维向量:lw(x1,x2,x3,......,x
n-1
,xn)。其中,x1,x2,x3,......,x
n-1
,xn为指纹关键点的特征值。这些特征值分别用于表征某一指纹关键点的灰度值、位置、颜色等等。
[0186]
而与指纹特征lw对应的模板特征t则可以表征为m维n阶矩阵:
[0187][0188]
其中,y
11
,y
12
,......,y
n(m-1)
,y
nm
为模板特征中的指纹关键点为某一值时出现的概率。可以理解,本应用场景中指纹特征对应的模板特征的获取方式与上个实施例中面部特征对应的模板特征的获取方式不同。指纹特征对应的模板特征的获取方式为:首先获取多张指纹图像,分别提取每张指纹图像对应的特征向量,进而根据特征向量得到每个特征出现的概率,形成模板特征。
[0189]
最后根据提取得到的指纹特征与模板特征计算得到指纹特征的权重判断指纹特征是否与模板特征匹配成功,如果指纹特征的至少一个权重大于权重阈值,则说明指纹特征与模板特征匹配成功。其中,权重阈值为指纹特征和模板特征匹配成功的临界值。
[0190]
在其他一些实施例中,门禁设备200能够采集多种类型的生物特征,例如门禁设备200能够采集面部特征、指纹特征或者虹膜特征,且门禁设备200适配的匹配度计算方式为两种或者两种以上。由于不同的生物特征适配的匹配度计算方式不尽相同,例如面部特征适配的匹配度计算方式一般为余弦相似度和欧式距离等相似度计算方式,指纹特征或者虹膜特征适配的匹配度计算方式一般为神经网络算法。门禁设备200优选地根据适配的匹配度计算方式计算生物特征和模板特征的匹配度。
[0191]
基于此,终端设备100除了接收到门禁设备200发送的加密结果,还需要根据算法
标识确定与适配的匹配度计算方式对应的同态加密计算公式。其中,算法标识可以根据门禁设备200采集到的生物特征的类型确定的、用于指示同态加密计算公式和匹配度计算方式的标识信息。下面将详细描述如何在认证过程中根据算法标识确定对应的同态加密计算公式和匹配度计算。
[0192]
在一种实现方式中,门禁设备200根据采集到的生物特征确定对应的匹配度计算方式。具体地,终端设备100接收门禁设备200发送的加密结果和算法标识,终端设备100根据算法标识确定出同态加密计算方式,进而根据确定出的同态加密计算方式和模板特征对加密结果进行同态加密计算,得到密态计算结果。门禁设备200对密态计算结果进行解密,并根据与算法标识对应的匹配度计算方式计算生物特征与模板特征之间的匹配度。
[0193]
在可替换的其他实现方式中,终端设备100根据加密后的生物特征确定对应的匹配度计算方式,例如终端设备100根据加密后的生物特征的维数和列数确定对应的匹配度计算方式。具体地,终端设备100接收门禁设备200发送的加密结果,终端设备100根据算法标识确定出同态加密计算方式,并根据确定出的同态加密计算方式和模板特征对加密结果进行同态加密计算,得到密态计算结果。门禁设备200接收算法标识和密态计算结果。并对密态计算结果进行解密,而后根据与算法标识对应的匹配度计算方式计算生物特征与模板特征之间的匹配度。
[0194]
在另外一些实施例中,开启身份认证之前,终端设备100与门禁设备200提前协商匹配度计算方式,也即门禁设备200提前确定匹配度计算方式,终端设备100提前确定与匹配度计算方式对应的同态加密计算方式。
[0195]
步骤s410:门禁设备200根据面部特征f和模板特征t的相似度得到认证结果。
[0196]
在一些实施例中,门禁设备200判断面部特征f和模板特征t的相似度是否达到相似度阈值。如果是,用户身份认证结果为通过;如果否,用户身份认证结果为不通过。
[0197]
其中相似度阈值是用户身份认证的临界值,当面部特征f和模板特征t的相似度达到相似度阈值时,说明面部特征f和模板特征t对应相似,也即人脸图像中的人脸信息与模板图像中的人脸信息基本一致,用户身份认证结果为通过。当面部特征f和模板特征t的相似度未达到相似度阈值时,说明面部特征f和模板特征t中的n维特征中对应特征的相似度相差较大,也即人脸图像中的人脸信息与模板图像中的人脸信息相差较大,用户身份认证结果为不通过。
[0198]
在其他一些实施例中,终端设备100中存储的模板特征t为多个。例如,终端设备100中分别存储了用户a的多个手指的模板特征,也即模板特征为多个。门禁设备200采集用户的指纹图像,并从指纹图像中提取中指纹特征,而后利用公钥对指纹特征进行加密。终端设备100接收到加密的指纹特征后,分别根据每一个模板特征对加密的指纹特征进行同态加密计算,以得到每个模板特征对指纹特征的密态计算结果。门禁设备200接收多个密态计算结果,并利用私钥分别对每个密态计算结果进行解密,得到每个模板特征对应的解密结果。而后,门禁设备200分别根据每个解密结果计算得到指纹特征与每个模板特征的相似度。最后,门禁设备200提取指纹特征与每个模板特征的相似度中的最大值,并根据相似度中的最大值生成认证结果。
[0199]
步骤s411:门禁设备200将认证结果发送给门禁系统服务器300。
[0200]
在一些实施例中,在门禁设备200得到用户的身份认证结果之后,将认证结果发送
给门禁系统服务器300,以供门禁系统服务器300确定是否为用户打开门禁。
[0201]
在另外一些实施例中,在门禁设备200得到用户的身份认证结果之后,还可以将包括用户的身份认证结果、表征终端设备100的身份信息的设备标识在内的认证凭据发送给门禁系统服务器300。在一种实现方式中,认证凭据的获取方法包括:门禁设备200确定用户身份认证结果为通过时,门禁设备200向终端设备100发送凭据请求,其中凭据请求中携带有认证结果。该凭据请求用于请求终端设备100生成并返回认证凭据的请求。终端设备100根据凭据请求生成认证凭据,而后将认证凭据返回给门禁设备200。
[0202]
步骤s412:门禁系统服务器300根据认证结果打开门锁400或者保持门锁400关闭。在一些实施例中,门禁系统服务器300记录该次用户身份认证的认证结果。
[0203]
在一些实现方式中,当认证结果为用户身份认证通过时,门禁系统服务器300控制门锁400打开。当认证结果为用户身份认证不通过时,门禁系统服务器300不对门锁400进行处理,以保持门锁400关闭。
[0204]
首先,门禁系统服务器300判断认证结果是否为用户身份认证通过,其次,门禁系统服务器300还能够对终端设备100进行鉴权。例如,在一些实施例中,门禁设备200还可以将终端设备100的设备标识发送给门禁系统服务器300,门禁系统服务器300根据接收的设备标识验证终端设备100是否位于门禁系统服务器300的白名单中。若终端设备100在门禁系统服务器300的白名单中,并且认证结果为用户身份认证通过时,门禁系统服务器300打开门锁400。
[0205]
可以理解,在另外一些实施例中,如果在终端设备100和门禁设备200建立通信连接时,门禁系统服务器300已对终端设备100进行鉴权,则后续门禁设备200无需再次通过上述实现方式再次对终端设备100进行鉴权。
[0206]
在可替换的其他实现方式中,当认证结果为用户身份认证通过时,门禁系统服务器300将控制指令发送给门禁设备200,门禁设备200根据控制指令控制门锁400打开。当认证结果为用户身份认证不通过时,门禁系统服务器300不向门禁设备200发送控制指令,以使得门禁设备200不对门锁400进行处理,以保持门锁400关闭。
[0207]
在介绍完本技术中的身份认证方法之后,下面将详细描述身份认证系统的具体结构。图5为本技术一些实施例中认证系统的结构图。下面将结合图3至图5详细介绍能够适用于本技术技术方案中的终端设备100和门禁设备200。
[0208]
如图3至图5所示,在一些实施例中,终端设备100包括终端设备连接模块101、服务认证模块102、模板存储模块103和密态计算模块104。
[0209]
终端设备连接模块101用于快速发现邻近的门禁设备200,实现近距离内终端设备100和门禁设备200安全自动通信连接。除此之外,终端设备连接模块101还用于终端设备100与门禁设备200之间的数据流动及信号传输。例如,终端设备连接模块101用于接收门禁设备200发送的面部特征认证服务请求以及加密结果enc(f)。
[0210]
服务认证模块102用于根据面部特征认证服务请求和终端设备100中预设的服务id白名单判断是否建立终端设备100和门禁设备200之间的面部特征认证服务。
[0211]
例如,在一些实施例中,终端设备100在门禁系统服务器300中的注册方案将门禁系统服务器300对应的门禁设备200的设备标识存储于终端设备100的服务id白名单中。进而,服务认证模块102的具体作用为,当服务id白名单中存在有门禁设备200的设备标识,则
建立终端设备100和门禁设备200之间的认证服务。否则,当服务id白名单中不存在门禁设备200的设备标识,则无法建立终端设备100和门禁设备200之间的认证服务,或者,提示用户先进行注册。
[0212]
模板存储模块103用于存储模板特征t。为了提高安全性,模板存储模块103设于tee内。
[0213]
密态计算模块104用于利用模板存储模块103中存储的模板特征t对加密结果enc(f)进行同态计算。
[0214]
如图5所示,门禁设备200包括门禁设备连接模块201、信息采集模块202、特征提取模块203、密码服务模块204、相似度计算模块205和本地认证模块206。
[0215]
其中,门禁设备连接模块201用于快速发现邻近的终端设备100,实现近距离内终端设备100和门禁设备200安全自动通信连接。门禁设备连接模块201还用于将认证服务请求和加密结果enc(f)发送给终端设备100。
[0216]
信息采集模块202用于采集用户的人脸图像。例如,信息采集模块202可以是摄像头。
[0217]
除此之外,在其他应用场景下,信息采集模块202可以为用于采集声音的麦克风,信息采集模块202还可以为用于采集指纹的指纹扫描器,等等。
[0218]
特征提取模块203用于从人脸图像中提取用户的面部特征。
[0219]
密码服务模块204用于生成同态加密计算中的公钥pk、私钥sk和会话密钥,以及利用公钥pk对面部特征f进行加密,以及利用私钥sk对密态计算结果[[f*t]]进行解密。
[0220]
相似度计算模块205用于根据解密结果f*t和面部特征f计算用户的面部特征f和模板特征t的相似度。例如,相似度计算模块205用于根据解密结果f*t、面部特征f和模板特征的模|t|计算用户的面部特征f和模板特征t的余弦相似度。
[0221]
本地认证模块206用于根据面部特征f和模板特征t的相似度与相似度阈值确定认证结果。例如,当用户的面部特征和模板特征的相似度大于预设阈值,则用户身份认证结果为通过;否则,则用户身份认证结果为未通过。
[0222]
如图5所示,在一些实施例中,门禁设备200包括采集设备210和认证设备220。其中采集设备210用于采集用户的人脸图像。认证设备220用于提取面部特征,并与终端设备100交互,以在不泄露面部特征f与模板特征t的情况下,完成面部特征f和模板特征t的相似度计算,进而完成用户身份认证。具体地,采集设备210包括信息采集模块202。认证设备220包括门禁设备连接模块201、特征提取模块203、密码服务模块204、相似度计算模块205和本地认证模块206。
[0223]
在其他一些实施例中,门禁设备200包括采集设备210和认证设备220。其中采集设备210用于采集用户的人脸图像以及从人脸图像中提取面部特征f。认证设备220用于根据面部特征f以及终端设备100交互,以在不泄露面部特征f与模板特征t的情况下,完成面部特征f和模板特征t的相似度计算,进而完成用户身份认证。具体地,采集设备210包括信息采集模块202和特征提取模块203。认证设备220包括门禁设备连接模块201、密码服务模块204、相似度计算模块205和本地认证模块206。
[0224]
终端设备100和门禁设备200在实施本技术中的用户身份认证方法之前需要满足三个前置条件:
[0225]
终端设备100中存储有模板特征t,具体方案参见步骤s402和步骤s403,在此不作赘述。
[0226]
终端设备100在门禁设备200对应的业务系统服务器400中注册,上文已进行详细描述,在此不作赘述。
[0227]
门禁设备200中的密码服务模块204生成用于同态加密计算的公钥pk、私钥sk和会话密钥。具体方案参见s404,在此不作赘述。
[0228]
在介绍完终端设备100和门禁设备200的具体结构之后,下面将结合终端设备100和门禁设备200的具体结构详细描述本技术中认证系统的认证过程。图6示出了本技术一些实施例中身份认证方案中终端设备100和门禁设备200具体模块之间的交互图。结合图5和图6可知,认证流程具体包括以下步骤:
[0229]
步骤s601:终端设备连接模块101和门禁设备连接模块201建立通信连接。
[0230]
本技术中的通信连接方法,一方面,通过终端设备连接模块101和门禁设备连接模块201建立通信连接,无需用户手动设置网络直连数据传输,另一方面,终端设备100和门禁设备200的通信连接无需互联网,扩大了应用场景。具体参阅步骤s401,在此不作赘述。
[0231]
步骤s602:信息采集模块202采集用户的人脸图像。
[0232]
步骤s603:信息采集模块202将人脸图像发送给特征提取模块203。
[0233]
步骤s604:特征提取模块203从人脸图像中提取面部特征f。
[0234]
步骤s605:特征提取模块203将面部特征f发送给密码服务模块204。
[0235]
步骤s606:密码服务模块204利用公钥pk对面部特征f进行加密,得到加密结果enc(f)。其中,密码服务模块204中存储有公钥pk和私钥sk,密码服务模块204获取公钥pk与私钥sk的时间节点并不作具体限制,只需要保证密码服务模块204在加密之前获取公钥pk和私钥sk即可。具体参阅步骤s404,在此不作赘述。
[0236]
步骤s607:密码服务模块204将加密结果enc(f)和认证服务请求发送给门禁设备连接模块201。
[0237]
步骤s608:门禁设备连接模块201将加密结果enc(f)和认证服务请求发送给终端设备连接模块101。
[0238]
步骤s609:终端设备连接模块101将加密结果enc(f)和认证服务请求发送给服务认证模块102。
[0239]
步骤s610:服务认证模块102验证服务请求中的设备标识,如果验证通过,则进入步骤s611,如果验证未通过,则结束流程。
[0240]
在一些实施例中,终端设备100通过服务认证模块102验证门禁设备200是否在终端设备100的白名单中。如果验证通过,则说明终端设备100已经在门禁系统服务器300进行注册,继续后续身份认证步骤,如果验证不通过,则说明,终端设备100尚未在门禁系统服务器300上进行注册,则中断后续身份认证步骤,或者提醒用户先完成终端设备100在门禁系统服务器300上进行注册,再继续身份认证。
[0241]
在一些实施例中,终端设备100在门禁系统服务器300中的注册过程为,门禁系统服务器300接收到注册请求后,对终端设备100进行注册请求验证。验证通过后,门禁系统服务器300对终端设备100进行注册,并将门禁系统服务器300对应的门禁设备200的设备信息发送给终端设备100。终端设备100接收门禁设备200的设备信息,并将门禁设备200的设备
信息添加至终端设备100的白名单中。
[0242]
步骤s611:服务认证模块102将加密结果enc(f)发送给密态计算模块104。
[0243]
步骤s612:密态计算模块104向模板存储模块103发送调用请求。
[0244]
步骤s613:模板存储模块103响应于调用请求,向密态计算模块104发送模板特征t。
[0245]
步骤s614:密态计算模块104利用模板特征t对加密结果enc(f)进行同态加密计算,得到密态计算结果。其中同态加密计算为在保持面部特征f加密状态的情况下,引入用户的模板特征t,以获取面部特征f与模板特征t的整合结果,且该整合结果处于加密状态。
[0246]
步骤s615:密态计算模块104将密态计算结果发送给密码服务模块204。
[0247]
在一些实施例中,基于不同的相似的计算方法,终端设备100除了将加密结果enc(f)发送给门禁设备200以外,还需要将其他与模板特征t相关的部分发送给门禁设备200,且其他与模板特征t相关的部分不会泄露具体的模板特征t。
[0248]
在一些实现方式中,门禁设备200采用余弦相似度计算面部特征f与模板特征t的相似度,则其他与模板特征t相关的部分可以是模板特征的模|t|。具体参阅步骤s407,在此不作赘述。
[0249]
步骤s616:密码服务模块204根据私钥sk对密态计算结果进行解密,得到解密结果。
[0250]
步骤s617:密码服务模块204将解密结果发送给相似度计算模块205。
[0251]
步骤s618:相似度计算模块205根据解密结果和面部特征f计算面部特征f和模板特征t的相似度。
[0252]
在一些实现方式中,门禁设备200采用余弦相似度或者欧式距离计算面部特征f与模板特征t的相似度,相似度计算模块205根据解密结果、模板特征的模|t|和面部特征f计算面部特征f和模板特征t的相似度。具体参阅步骤s409,在此不作赘述。
[0253]
步骤s619:相似度计算模块205将面部特征f和模板特征t的相似度发送给本地认证模块206。
[0254]
步骤s620:本地认证模块206根据面部特征f与模板特征t的相似度得到认证结果。
[0255]
在一些实施例中,本地认证模块206判断面部特征f和模板特征t的相似度是否达到相似度阈值。如果是,门禁设备200得到的认证结果为通过;如果否,门禁设备300得到的认证结果为未通过。具体参阅步骤s410,在此不作赘述。
[0256]
步骤s621:本地认证模块206将认证结果发送给门禁系统服务器300。具体参阅步骤s411,在此不作赘述。
[0257]
步骤s622:门禁系统服务器300根据认证结果打开门锁400或者保持门锁400关闭。具体参阅步骤s412,在此不作赘述。
[0258]
上述实施例中认证系统中的模块仅为本技术的其中一个实施例,可以理解,上述实施例中的模块可以任意重组或拆分,本技术不做具体限定,任何能够实现本技术中认证方案认证系统中的模板的形式均在本技术的保护范围之内。
[0259]
在本技术的一些实施例中,本技术方案中的终端设备为手机100

。手机100

能够执行本技术实施例提供的用户身份认证方法。图7根据本技术的实施例示出了一种手机100

的硬件结构示意图。如图7所示,手机100

可以包括处理器110、电源模块140、存储器
display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light-emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),mini led,micro led,micro oled,量子点发光二极管(quantum dot light-emitting diodes,qled)等。
[0268]
传感器模块190可以包括接近光传感器、压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
[0269]
音频模块150可以将数字音频信息转换成模拟音频信号输出,或者将模拟音频输入转换为数字音频信号。音频模块150还可以用于对音频信号编码和解码。在一些实施例中,音频模块150可以设置于处理器110中,或将音频模块150的部分功能模块设置于处理器110中。在一些实施例中,音频模块150可以包括扬声器、听筒、麦克风以及耳机接口。
[0270]
接口模块160包括外部存储器接口、通用串行总线(universal serial bus,usb)接口及用户标识模块(subscriber identification module,sim)卡接口等。其中外部存储器接口可以用于连接外部存储卡,例如micro sd卡,实现扩展手机100

的存储能力。外部存储卡通过外部存储器接口与处理器110通信,实现数据存储功能。通用串行总线接口用于手机100

和其他手机进行通信。用户标识模块卡接口用于与安装至手机100

的sim卡进行通信,例如读取sim卡中存储的电话号码,或将电话号码写入sim卡中。
[0271]
在一些实施例中,手机100

还包括按键、马达以及指示器等。其中,按键可以包括音量键、开/关机键等。马达用于使手机100

产生振动效果,例如在用户的手机100

收到新的im app消息时产生振动,以提示用户查看消息。指示器可以包括激光指示器、射频指示器、led指示器等。
[0272]
图8根据本技术的实施例示出了手机100

的一种架构图。如图8所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0273]
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0274]
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0275]
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0276]
电话管理器用于提供手机100

的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0277]
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0278]
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如
在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0279]
android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
[0280]
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0281]
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0282]
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0283]
系统库可以包括多个功能模块。例如:表面管理器(surface manager,sm),媒体库(media libraries,ml),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
[0284]
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
[0285]
本技术公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本技术的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
[0286]
可将程序代码应用于输入指令,以执行本技术描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(digital signal processor,dsp)、微控制器、专用集成电路(application specific integrated circuit,asic)或微处理器之类的处理器的任何系统。
[0287]
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本技术中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0288]
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd-roms)、磁光盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
[0289]
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,
可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
[0290]
需要说明的是,本技术各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本技术所提出的技术问题的关键。此外,为了突出本技术的创新部分,本技术上述各设备实施例并没有将与解决本技术所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
[0291]
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0292]
虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献