1.本发明涉及通信的技术领域,具体地,涉及通用性的移动设备基于生物信息的识别方法及系统,尤其涉及一种高通用性的移动设备基于生物信息的识别方法。
背景技术:
2.随着移动技术的快速兴起,it大环境背景下,应用市场上app云集。信息安全理念的不断增强,app对与身份认证识别的要求也越来越高。传统的app通常是已用户名密码、一次性密码otp、短信验证码的方式验证用户身份,但这些虚拟的信息数据容易被一些非法分子窃取,造成不必要的损失。对于安全性更高的企业或者应用,通常会使用一个额外的硬件来保障用户身份合法有效,例如u盾,蓝牙盾等,虽然相对安全,但大大降低了便捷性。现如今,生物验证作为一个新兴的认证方式,走进人们的日常生活中,指纹识别,人脸识别也在智能设备终端以及各大应用中普及,终端系统通过对指纹或者人脸信息的识别验证来验明用户身份,但是一旦手机被破解,例如root或者越狱,系统通知我们的验证结果就容易被篡改,结果便不再可信,再加上市面上的手机厂商众多,应用开发商无法在不同平台不同厂商的手机中实现认证过程统一,对应用开发也造成一定的阻碍。
3.在公告号为cn107704746b的专利文献中公开了一种基于手掌生物信息的解锁屏方法及移动设备。所述方法包括:检测输入的解锁屏手掌生物信息,所述解锁屏手掌生物信息包括解锁屏手指静脉特征信息和/或解锁屏掌纹;对比所述解锁屏手掌生物信息与预设解锁屏手掌生物信息是否匹配,如果匹配,检测移动设备以及与所述移动设备绑定的穿戴设备是否均在预设时长内发生同一动作事件,如果均在预设时长内发生同一动作事件,对所述移动设备执行解锁屏。
4.针对上述中的相关技术,发明人认为在进行身份信息认证时需与设备适配才能实现可信的认证,不能兼容不同平台与版本,因此,需要提出一种技术方案以改善上述技术问题。
技术实现要素:
5.针对现有技术中的缺陷,本发明的目的是提供一种通用性的移动设备基于生物信息的识别方法及系统。
6.根据本发明提供的一种通用性的移动设备基于生物信息的识别方法,包括符合金融标准和信息安全标准的安全服务,所述安全服务的实现方式包括绑定流程和验证流程;
7.所述绑定流程是指将一个app已经验证的用户注册到服务提供的认证识别系统中,并将用户与tee环境中生成的公私钥对中的公钥进行绑定;
8.所述验证流程是指对业务进行生物识别验证时,调用服务访问tee签名接口对请求信息签名,再传递给应用服务器端进行签名验证。
9.优选地,所述绑定流程包括如下步骤:
10.步骤s1:绑定流程开始前,设备端向应用服务器请求一个随机数nonce;
11.步骤s2:应用服务器收到获取nonce的请求后,生成一个随机数nonce,并通过自定义的方式传递给设备端;
12.步骤s3:设备端收到应用服务器返回的随机数nonce,将随机数nonce与注册信息打包,并调用tee签名接口,生成对应用户与业务的公私钥对,并将打包后的信息与公私钥对中的公钥传递给应用服务器;
13.步骤s4:应用服务器收到注册请求后,对请求信息进行合法性校验,包括用户凭证的校验、nonce的检查和公钥的合法性检查,其中用户凭证的校验与nonce的检查交由服务器直接校验,对应业务公钥的校验则通过安全服务提供的公钥验证中心完成,验证公钥是否来自于一台合法的设备;
14.步骤s5:合法性校验通过后,应用服务器将根据用户凭证生成一个唯一判定用户身份的id,并将该id、业务相关信息以及生物信息使用app厂商保有的私钥进行签名,生成的用户身份凭证与业务描述信息、生物信息、签名将共同被称为token;token通过可信的方式下发至app,app通过token获得对应用户的id;
15.步骤s6:app收到应用服务器返回的token后,将token简单存储在设备端供验证时使用。
16.优选地,所述步骤s3中的注册信息包括用户凭证信息、业务描述信息以及生物标识信息;
17.用户凭证信息指应用app任意一个标识用户身份的字段;用户凭证具有唯一性和保密性,即不同用户的凭证信息不相同且不容易被伪造;
18.业务描述信息指对需要进行生物信息验证的业务请求的具体描述,通常由标识业务的整数uid和业务描述scene共同组成;
19.生物标识信息指进行身份验证时采取的具体的验证方式type,生物信息fid和设备唯一标识码cpuid。
20.优选地,所述验证流程包括如下步骤:
21.步骤1:应用发起业务请求,提交业务内容,并调用安全服务;
22.步骤2:由服务访问tee环境,调用生物信息识别接口,若身份信息识别通过,则通过注册绑定时生成的对应业务的公私钥对中的私钥对业务内容、业务描述信息、生物标识信息进行签名,再将签名、请求信息和注册时下发的token传递给应用服务器;
23.步骤3:应用服务器收到验证请求后,通过密钥管理策略找到注册时绑定的对应用户与业务的公钥,对签名进行验签,验证请求是否来自一台合法的用户设备;
24.步骤4:请求内容验签通过后进行token验签,校验token是否由服务器端生成,同时对于不同的业务请求,应用服务器可根据token中提供的生物标识信息对请求做进一步的生物信息校验;
25.步骤5:验证通过后,应用服务器进行相关业务的处理,并将处理结果返回给设备应用;
26.步骤6:app根据返回的业务处理结果,进行应用app的相关处理,验证过程结束。
27.优选地,所述步骤4中token验签指通过app厂商保有的tokenkey对请求内容中的业务描述信息、生物标识信息、以及签名信息进行签名验签。
28.本发明还提供一种通用性的移动设备基于生物信息的识别系统,包括符合金融标
准和信息安全标准的安全服务,所述安全服务的实现方式包括绑定流程和验证流程;
29.所述绑定流程是指将一个app已经验证的用户注册到服务提供的认证识别系统中,并将用户与tee环境中生成的公私钥对中的公钥进行绑定;
30.所述验证流程是指对业务进行生物识别验证时,调用服务访问tee签名接口对请求信息签名,再传递给应用服务器端进行签名验证。
31.优选地,所述绑定流程包括如下模块:
32.模块m1:绑定流程开始前,设备端向应用服务器请求一个随机数nonce;
33.模块m2:应用服务器收到获取nonce的请求后,生成一个随机数nonce,并通过自定义的方式传递给设备端;
34.模块m3:设备端收到应用服务器返回的随机数nonce,将随机数nonce与注册信息打包,并调用tee签名接口,生成对应用户与业务的公私钥对,并将打包后的信息与公私钥对中的公钥传递给应用服务器;
35.模块m4:应用服务器收到注册请求后,对请求信息进行合法性校验,包括用户凭证的校验、nonce的检查和公钥的合法性检查,其中用户凭证的校验与nonce的检查交由服务器直接校验,对应业务公钥的校验则通过安全服务提供的公钥验证中心完成,验证公钥是否来自于一台合法的设备;
36.模块m5:合法性校验通过后,应用服务器将根据用户凭证生成一个唯一判定用户身份的id,并将该id、业务相关信息以及生物信息使用app厂商保有的私钥进行签名,生成的用户身份凭证与业务描述信息、生物信息、签名将共同被称为token;token通过可信的方式下发至app,app通过token获得对应用户的id;
37.模块m6:app收到应用服务器返回的token后,将token简单存储在设备端供验证时使用。
38.优选地,所述模块m3中的注册信息包括用户凭证信息、业务描述信息以及生物标识信息;
39.用户凭证信息指应用app任意一个标识用户身份的字段;用户凭证具有唯一性和保密性,即不同用户的凭证信息不相同且不容易被伪造;
40.业务描述信息指对需要进行生物信息验证的业务请求的具体描述,通常由标识业务的整数uid和业务描述scene共同组成;
41.生物标识信息指进行身份验证时采取的具体的验证方式type,生物信息fid和设备唯一标识码cpuid。
42.优选地,所述验证流程包括如下模块:
43.模块1:应用发起业务请求,提交业务内容,并调用安全服务;
44.模块2:由服务访问tee环境,调用生物信息识别接口,若身份信息识别通过,则通过注册绑定时生成的对应业务的公私钥对中的私钥对业务内容、业务描述信息、生物标识信息进行签名,再将签名、请求信息和注册时下发的token传递给应用服务器;
45.模块3:应用服务器收到验证请求后,通过密钥管理策略找到注册时绑定的对应用户与业务的公钥,对签名进行验签,验证请求是否来自一台合法的用户设备;
46.模块4:请求内容验签通过后进行token验签,校验token是否由服务器端生成,同时对于不同的业务请求,应用服务器可根据token中提供的生物标识信息对请求做进一步
的生物信息校验;
47.模块5:验证通过后,应用服务器进行相关业务的处理,并将处理结果返回给设备应用;
48.模块6:app根据返回的业务处理结果,进行应用app的相关处理,验证过程结束。
49.优选地,所述模块4中token验签指通过app厂商保有的tokenkey对请求内容中的业务描述信息、生物标识信息、以及签名信息进行签名验签。
50.与现有技术相比,本发明具有如下的有益效果:
51.1、本发明能够给应用厂商提供可信的身份认证能力,同时兼容android与ios等不同平台和版本,支持统一认证;
52.2、本发明可以以设备端sdk与应用服务器端sdk的形式出现或者直接在应用app和应用服务器后台中实现;
53.3、应用开放商只需实现该方案,即可安全的将生物信息验证用于用户登录、交易支付、访问授权等场景;
54.4、本发明同时符合金融标准和信息安全标准,可广泛应用于政务、金融、电商、移动办公等领域,安全便捷的身份认证体系,能在不增加用户使用成本的前提下,实现身份认证,同时也能保证相关文件的安全与防篡改,安全又便捷。
附图说明
55.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
56.图1为本发明的架构图;
57.图2为本发明的注册流程图;
58.图3为本发明的验证流程图。
具体实施方式
59.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
60.参照图1,本发明提供了一种通用性的移动设备基于生物信息的识别方法及系统,在现有的技术环境与背景下,能够给应用厂商提供可信的身份认证能力,同时兼容android与ios等不同平台和版本,支持统一认证。
61.本发明是构建于tee(trusted execution environment)环境的一套生物信息识别方案,基于tee的安全特性,实现了对不同业务与不同身份信息的识别认证。现有的手机厂商的生物信息识别也均在tee环境中完成。
62.tee(trusted execution environment)可信执行环境是global platform(gp)提出的概念。独立于移动设备操作系统的一块安全区域,它有其自己的独立执行空间,运行独立的操作系统,因此,即使设备操作系统被root或者被病毒、蠕虫、木马等威胁,tee环境也不受影响。tee内部主要包含了密钥管理,密码算法,安全存储,安全时钟等服务,对外提供
了api供操作系统调用和底层通信。tee依靠加密和完整性保护技术来保护数据和密钥。tee将用户的身份、密钥和证书等敏感信息存储在安全区域中,这些敏感信息只能由tee授权的可信应用访问或修改,并且tee为这些敏感信息的操作处理提供了加密和完整性保护机制。同时,可利用tee中存储的密钥对普通执行环境下用户的信息,如通讯录、短信等敏感信息进行加密,保证存储在普通执行环境下敏感信息的安全性。目前,arm在芯片ip设计中已全面支持了tee,包括高通、联发科、三星、海思、展讯等企业已采用,成为基于硬件安全的方案。
63.为了防止基于操作系统的app隔离被绕过,或者敏感数据由于操作系统的漏洞等问题被窃取,可将生物信息识别过程交由tee环境处理,保证生物信息认证的安全性,但应用相关的业务逻辑通常在应用服务器中执行,设备生物信息的处理结果需及时有效的通知到应用服务器端。传统的设备端应用与云端的通信方式是应用通过可信的网络链接将识别结果传递给云端,虽然该方式能保证传输过程中信息不被篡改,但由于云端对请求的来源不做过多的限制与判定,请求的内容容易被不法分子伪造,云端收到生物信息识别结果可能不是由设备端发起的,云端收到请求后做了错误的处理,造成损失。因此,传输过程不仅需要可信不被恶意篡改,同时还需保证请求发送方是云端所认可的设备。对此可以使用公私钥的方式将一次业务的身份验证转换为一次公钥的验签操作。设备端在执行业务请求前在tee环境中生成一对无法被破解的公私钥对,并将私钥存储与tee安全存储中,公钥上传至云端应用服务器并被校验,设备端只在生物信息识别授权通过后,才通过私钥对验证结果及业务信息做加签处理,应用服务器端收到业务请求后,通过对应的公钥对请求信息中的签名进行校验,及可判断该请求是否由指定的用户或者设备发起。整个过程中,用户的生物信息不会离开设备,通过验签结果即可判定用户授权是否通过。同时,本方案还提供了公钥认证中心模块来判断设备上传的公钥是否由设备端组件生成,以防止恶意的第三方伪造用户或用户行为。
64.然而,不同手机厂商、不同平台版本、不同操作系统版本对于tee的支持是不一样的,例如某些厂商可能在产线过程中将生物信息识别相关可信应用集成在tee环境中,对于在该厂商生产的手机上的app应用,只需调用该可信应用提供的相关接口,即可访问tee提供的安全服务。对于其他厂商手机或者不同版本来说,一但tee环境中不支持该可信应用,app无法调用服务,则无法保证在不同平台不同手机上的认证安全。
65.对此,本发明提供了一套统一的符合金融标准和信息安全标准的安全服务去访问不同厂商的可信应用或者直接深入tee安全域来调用tee安全服务。对与应用开放商来说,生物信息识别流程只需要接入该服务即可实现在不同设备不同平台的统一,大大的提高了应用app的兼容性。
66.参照图2,服务的实现方式主要包含绑定与验证两个流程,绑定是指将一个app已经验证的用户注册到该服务提供的认证识别系统中,并将用户与tee环境中生成的校验公钥进行绑定,该过程先后在设备端与服务器端进行。
67.在设备端注册操作需要传入用户凭证信息,接入业务描述,生物标识,以及随机数nonce作为接入的必要信息。
68.用户凭证指任意一个能够可靠地标识用户身份的字段,字段可以是用户名密码,或者是用户登陆成功后下发的token。开发者应该保证用户凭证的唯一性和保密性,即不同
用户的凭证信息不相同,且一个恶意第三方很难获取或者构造一个合法的用户凭证。
69.接入业务描述由uid和scene组成,uid是一个由开发者定义的标识业务的整数,比如登陆操作的值为0,付款操作的值为1等等。scene通常指对该场景的描述信息,对于包含多个安全业务的应用,开发者可以为每一个业务单独进行一次注册绑定流程,以保证安全事故不会在业务间扩散。
70.生物标识指后续进行身份验证时所采用的方式及生物信息,由cpuid,fid和type组成,cpuid指当前设备唯一id,type指生物信息识别方式,例如指纹识别与人脸识别,fid指当前生物信息的唯一id,例如不同手指的id。
71.nonce为应用服务器端生成的一定长度的随机数,并通过自定义的方式返回给应用,例如123456asdfgh,应用在注册过程中提交该随机数用于校验重复请求。当公钥信息与用户信息绑定后,该随机数在应用服务器端被删除,以防止应用重复绑定。
72.流程主要步骤如下:
73.步骤s1:为了避免重放攻击,注册流程开始前,设备端向应用服务器请求一个随机数nonce。
74.步骤s2:应用服务器收到请求随机数nonce的请求后,生成一个随机数nonce,并通过自定义的方式传递给设备端。
75.步骤s3:设备端收到云端返回的随机数nonce后,将其与注册信息包括用户凭证信息、业务描述信息、生物标识信息等打包,并调用tee签名接口,生成对应业务的公钥,并将请求信息与公钥通过可信的方式传递给云端。
76.步骤s4:应用服务器端收到注册请求后,由云端对请求信息进行合法性校验,包括用户凭证的校验,是否是合法的用户,以及nonce的检查和公钥的合法性检查,其中用户凭证的校验与nonce的检查交由云端直接校验,而对应业务公钥的校验则通过公钥验证中心完成,以验证公钥来自于一台合法的设备。
77.步骤s5:合法性校验通过后,应用服务器将根据用户凭证找到(生成)一个可以唯一判定用户身份的id,并将该id、业务相关信息以及生物信息相关信息使用app厂商保有的私钥进行签名。生成的信息和签名将共同被称为token。token通过可信的方式下发至app,其主要作用是保存业务验证信息与用户身份的关联关系,app可以通过token获得对应用户的id。
78.步骤s6:设备端收到云端返回的token后,将token简单存储在设备端供验证时使用。
79.参照图3,当需要对业务进行生物识别验证时,应用开发商通过调用服务访问tee签名接口对验证信息签名然后可信的传递给应用服务器端验证,主要流程如下步骤:
80.步骤1:应用发起业务请求,提交业务内容,调用服务。
81.步骤2:由服务访问tee环境,调用生物识别接口,若身份信息识别通过后,则通过注册绑定时生成的对应业务的公私钥对中的私钥对业务内容、业务描述信息、生物标识信息等进行签名,再将签名和注册时下发的token一起包装通过可信的方式传递给应用服务器。
82.步骤3:应用服务器收到验证请求后,通过密钥管理策略找到注册时绑定的对应用户与业务的公钥,对签名进行验签,验签通过,则表明验证请求来自一台合法的用户设备。
83.步骤4:请求内容验签通过,随后进token验签,通过请求内容中的业务描述信息、生物标识信息、token与app厂商的tokenkey进行token验签,校验token是否由服务器端生成,同时对于不同的业务请求,应用服务器也可以根据token中不同的生物标识信息对请求做进一步校验,例如支付请求是否是由特定的手指进行的指纹认证。
84.步骤5:签名与token都验证通过,则身份验证通过,随后由应用服务器进行相关业务的处理,并将处理结果返回给设备应用。
85.步骤6:app根据返回的业务处理结果,进行应用app的相关处理。至此,验证过程结束。
86.本发明还提供一种通用性的移动设备基于生物信息的识别系统,包括符合金融标准和信息安全标准的安全服务,安全服务的实现方式包括绑定流程和验证流程;绑定流程是指将一个app已经验证的用户注册到服务提供的认证识别系统中,并将用户与tee环境中生成的公私钥对中的公钥进行绑定;验证流程是指对业务进行生物识别验证时,调用服务访问tee签名接口对请求信息签名,再传递给应用服务器端进行签名验证。
87.绑定流程包括如下模块:模块m1:绑定流程开始前,设备端向应用服务器请求一个随机数nonce;模块m2:应用服务器收到获取nonce的请求后,生成一个随机数nonce,并通过自定义的方式传递给设备端。
88.模块m3:设备端收到应用服务器返回的随机数nonce,将随机数nonce与注册信息打包,并调用tee签名接口,生成对应用户与业务的公私钥对,并将打包后的信息与公私钥对中的公钥传递给应用服务器;注册信息包括用户凭证信息、业务描述信息以及生物标识信息;用户凭证信息指应用app任意一个标识用户身份的字段;用户凭证具有唯一性和保密性,即不同用户的凭证信息不相同且不容易被伪造;业务描述信息指对需要进行生物信息验证的业务请求的具体描述,通常由标识业务的整数uid和业务描述scene共同组成;生物标识信息指进行身份验证时采取的具体的验证方式type,生物信息fid和设备唯一标识码cpuid。
89.模块m4:应用服务器收到注册请求后,对请求信息进行合法性校验,包括用户凭证的校验、nonce的检查和公钥的合法性检查,其中用户凭证的校验与nonce的检查交由服务器直接校验,对应业务公钥的校验则通过安全服务提供的公钥验证中心完成,验证公钥是否来自于一台合法的设备;模块m5:合法性校验通过后,应用服务器将根据用户凭证生成一个唯一判定用户身份的id,并将该id、业务相关信息以及生物信息使用app厂商保有的私钥进行签名,生成的用户身份凭证与业务描述信息、生物信息、签名将共同被称为token;token通过可信的方式下发至app,app通过token获得对应用户的id;模块m6:app收到应用服务器返回的token后,将token简单存储在设备端供验证时使用。
90.验证流程包括如下模块:
91.模块1:应用发起业务请求,提交业务内容,并调用安全服务;模块2:由服务访问tee环境,调用生物信息识别接口,若身份信息识别通过,则通过注册绑定时生成的对应业务的公私钥对中的私钥对业务内容、业务描述信息、生物标识信息进行签名,再将签名、请求信息和注册时下发的token传递给应用服务器;模块3:应用服务器收到验证请求后,通过密钥管理策略找到注册时绑定的对应用户与业务的公钥,对签名进行验签,验证请求是否来自一台合法的用户设备。
92.模块4:请求内容验签通过后进行token验签,校验token是否由服务器端生成,同时对于不同的业务请求,应用服务器可根据token中提供的生物标识信息对请求做进一步的生物信息校验;token验签指通过app厂商保有的tokenkey对请求内容中的业务描述信息、生物标识信息、以及签名信息进行签名验签。
93.模块5:验证通过后,应用服务器进行相关业务的处理,并将处理结果返回给设备应用;模块6:app根据返回的业务处理结果,进行应用app的相关处理,验证过程结束。
94.本发明可以以设备端sdk与应用服务器端sdk的形式出现或者直接在应用app和应用服务器后台中实现。应用开放商只需实现该方案,即可安全的将生物信息验证用于用户登录、交易支付、访问授权等场景。本方案同时符合金融标准和信息安全标准,可广泛应用于政务、金融、电商、移动办公等领域,安全便捷的身份认证体系,能在不增加用户使用成本的前提下,实现身份认证,同时也能保证相关文件的安全与防篡改,安全又便捷。
95.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
96.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
转载请注明原文地址:https://doc.8miu.com/read-1750189.html