高通平台TrustZone指纹识别实现方法及系统与流程

文档序号:13031633阅读:4250来源:国知局
高通平台TrustZone指纹识别实现方法及系统与流程

本发明涉及指纹识别技术领域,特别涉及一种高通平台trustzone指纹识别实现方法及系统。



背景技术:

目前市面上大多数的手机支持指纹方案,大多数厂商在实现主要是基于普通用户环境存储指纹方案,此方案的特点是操作实现原理比较简单,存储操作比较方便.

android5上原生没有支持指纹及相关的应用,目前在使用trustzone安全环境下的指纹实现比较少。



技术实现要素:

本发明的目的旨在至少解决所述技术缺陷之一。

为此,本发明的目的在于提出一种高通平台trustzone指纹识别实现方法及系统。

为了实现上述目的,本发明一方面的实施例提供一种高通平台trustzone指纹识别实现方法,包括如下步骤:

步骤s1,对系统资源和cpu进行监控和管理,通知安全系统和普通系统的资源和利用情况;

步骤s2,对运行在安全区域的安全系统中的程序、对敏感设备进行操作、对数据进行操作管理,所述敏感设备为指纹芯片,采用登录验证组件、指纹管理api组件、指纹服务组件、指纹hal组件和ta指纹应用组件进行处理;

步骤s3,通过硬件接口与cpu的对接,通过系统总线与cpu进行通信;

步骤s4,通过共享中断对安全监控模式实现非安全模式到安全模式的转换,包括:利用采集处理系统上报来的中断信号,通过系统相关程序进行数据的采集和处理;

步骤s5,通过用户界面将程序处理的结果反映并显示处理,同时将用户的操作申请请求反馈至系统相关程序;

步骤s6,建立内存使用管理模型,通过物理内存共享方式,控制总线共享在普通操作系统和安全操作系统之间的可定向或双向传递数据传递。

进一步,对所述高通平台trustzone指纹识别实现方法采用的程序,进行模块化的定制与封装。

进一步,其中,所述内存使用管理模型包括:安全应用程序、动态内存、安卓系统内核和qsee内核代码,其中,

所述安全应用程序:可信应用ta运行使用的独立内存空间,该内存空间提前划分且固定分配;

所述动态内存包括:安卓系统和用户程序运行使用的内存空间;

所述安卓系统内核:安卓系统用户模块数据空间,为固定分配;

qsee内核代码:高通安全执行环境,用于为tz安全应用程序提供身份验证、加密和日志记录安全应用进一步,所述登录验证组件用于实现界面登录验证操作;

所述指纹管理api组件用于提供给界面相关的验证操作接口服务;

所述指纹服务组件用于提供系统服务,确保指纹相关的业务;

所述指纹hal组件用于通过指纹协商命令字和ta中的指纹应用进行协议控制;

所述ta指纹应用组件包括ta环境工作环境配置和指纹驱动,其中,指纹驱动用于实现特征数据采集、数据对比和数据存储,通过qsee提供的通信接口驱动指纹模组正常工作,根据控制指令完成相对应的工作业务。

进一步,指纹识别过程如下:

1)手机触碰指纹ic芯片,上报信息给系统

当手指触碰到指纹ic芯片时,指纹ic芯片上报了中断给系统,系统监控到指纹ic芯片上报中断;

2)通知指纹ta应用进行指纹数据采集

系统把中断消息传递给了指纹hal组件,指纹hal组件,发命令通知安全系统调用处理;

下发数据采集控制指令系统安全调用,系统安全调用传递信息给ta指纹应用。ta指纹应用;

在收到信息之后,下发数据采集命令给指纹ic芯片,依次从指纹ic芯片上读取手指指纹;

3)对比指纹数据,回传比对结果给系统

指纹ic读取完用户指纹后,通过系统安全调用传递信息给指纹hal组件;

指纹hal组件在收到指纹收集完的信息后,下发指纹比对命令给ta指纹应用组件;

ta指纹应用组件从tz存储区中读取之前已存储的指纹a和新收集的临时指纹b对比;

然后通过系统安全调用传递比对结果给hal指纹组件;

4)处理对比结果,通知系统

指纹hal组件,指纹对比结果,通过指纹服务组件将消息通知,登录验证组件;

5)登录验证界面解锁或提示指纹错误

登录验证组件通过指纹管理api组件从指纹服务组件中,获取到指纹对比结果;

如对比结果一致则解锁手机界面,否则界面ui提示输入密码或输入指纹解锁,并提示错误次数一次。

本发明另一方面的实施例提供一种高通平台trustzone指纹识别实现系统,包括:软件控制管理模块和内存使用管理模块,其中,

所述软件控制管理模块用于对系统资源和cpu进行监控和管理,通知安全系统和普通系统的资源和利用情况,对运行在安全区域的安全系统中的程序、对敏感设备进行操作、对数据进行操作管理,其中,所述敏感设备为指纹芯片,所述软件控制管理模块采用登录验证组件、指纹管理api组件、指纹服务组件、指纹hal组件和ta指纹应用组件进行处理;

通过硬件接口与cpu的对接,通过系统总线与cpu进行通信,通过共享中断对安全监控模式实现非安全模式到安全模式的转换,包括:利用采集处理系统上报来的中断信号,通过系统相关程序进行数据的采集和处理,通过用户界面将程序处理的结果反映并显示处理,同时将用户的操作申请请求反馈至系统相关程序;

所述内存使用管理模块用于建立内存使用管理模型,通过物理内存共享方式,控制总线共享在普通操作系统和安全操作系统之间的可定向或双向传递数据传递,其中,所述内存使用管理模型包括:安全应用程序、动态内存、安卓系统内核和qsee内核代码。

进一步,所述安全应用程序:可信应用ta运行使用的独立内存空间,该内存空间提前划分且固定分配;

所述动态内存包括:安卓系统和用户程序运行使用的内存空间;

所述安卓系统内核:安卓系统用户模块数据空间,为固定分配;

qsee内核代码:高通安全执行环境,用于为tz安全应用程序提供身份验证、加密和日志记录安全应用。

进一步,所述软件控制管理模块对所述高通平台trustzone指纹识别实现方法采用的程序,进行模块化的定制与封装

进一步,所述登录验证组件用于实现界面登录验证操作;

所述指纹管理api组件用于提供给界面相关的验证操作接口服务;

所述指纹服务组件用于提供系统服务,确保指纹相关的业务;

所述指纹hal组件用于通过指纹协商命令字和ta中的指纹应用进行协议控制;

所述ta指纹应用组件包括ta环境工作环境配置和指纹驱动,其中,指纹驱动用于实现特征数据采集、数据对比和数据存储,通过qsee提供的通信接口驱动指纹模组正常工作,根据控制指令完成相对应的工作业务。

进一步,指纹识别过程如下:

1)手机触碰指纹ic芯片,上报信息给系统

当手指触碰到指纹ic芯片时,指纹ic芯片上报了中断给系统,系统监控到指纹ic芯片上报中断;

2)通知指纹ta应用进行指纹数据采集

系统把中断消息传递给了指纹hal组件,指纹hal组件,发命令通知安全系统调用处理;

下发数据采集控制指令系统安全调用,系统安全调用传递信息给ta指纹应用。ta指纹应用;

在收到信息之后,下发数据采集命令给指纹ic芯片,依次从指纹ic芯片上读取手指指纹;

3)对比指纹数据,回传比对结果给系统

指纹ic读取完用户指纹后,通过系统安全调用传递信息给指纹hal组件;

指纹hal组件在收到指纹收集完的信息后,下发指纹比对命令给ta指纹应用组件;

ta指纹应用组件从tz存储区中读取之前已存储的指纹a和新收集的临时指纹b对比;

然后通过系统安全调用传递比对结果给hal指纹组件;

4)处理对比结果,通知系统

指纹hal组件,指纹对比结果,通过指纹服务组件将消息通知,登录验证组件;

5)登录验证界面解锁或提示指纹错误

登录验证组件通过指纹管理api组件从指纹服务组件中,获取到指纹对比结果;

如对比结果一致则解锁手机界面,否则界面ui提示输入密码或输入指纹解锁,并提示错误次数一次。

根据本发明实施例的高通平台trustzone指纹识别实现方法及系统,基于高通trustzone硬件环境,通过共享中断对安全监控模式实现非安全模式到安全模式的转换,通过物理内存共享方式,控制总线共享在普通操作系统和安全操作系统之间的可定向或双向传递数据传递.所使用的程序进行模块化的定制与封装,均可独立运行,可根据项目要去实现独立升级。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的高通平台trustzone指纹识别实现方法的流程图;

图2为根据本发明实施例的高通平台trustzone指纹识别实现系统的结构图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本发明提出一种高通平台trustzone指纹识别实现方法及系统,基于trustzone硬件环境下,安全存储控制指纹的方法。本发明是在高通trustzone硬件的基础上实现的指纹数据的安全的存取过程的方法。

具体来说,本发明根据程序所处的环境不同,可由两个区域,六个组件构成.两个区域包括非安全区域和安全区域,六个组件包括登录验证组件、指纹管理api组件、指纹服务组件、指纹hal组件和ta指纹应用组件和高通qsee组件。其中,本发明可分别软件控制管理和内存管理模型两部分。软件控制管理包括:系统监控环境,安全控制程序,安全系统调用,用户服务程序和用户界面。

如图1所示,本发明实施例的高通平台trustzone指标识别实现方法,包括如下步骤:

步骤s1,系统监控环境:对系统资源和cpu进行监控和管理,通知安全系统和普通系统的资源和利用情况。

步骤s2,安全控制程序:对运行在安全区域的安全系统中的程序、对敏感设备进行操作、对数据进行操作管理。

步骤s3,安全系统调用:通过硬件接口与cpu的对接,通过系统总线与cpu进行通信;

步骤s4,系统共享中断:通过共享中断对安全监控模式实现非安全模式到安全模式的转换,包括:利用采集处理系统上报来的中断信号,通过系统相关程序进行数据的采集和处理。

在本步骤中,共享中断为普通系统环境下的中断,唤醒系统,通过中断上报给系统监控环境,通知安全系统调用处理。

步骤s5,用户界面:通过用户界面将程序处理的结果反映并显示处理,同时将用户的操作申请请求反馈至系统相关程序。

步骤s6,建立内存使用管理模型,通过物理内存共享方式,控制总线共享在普通操作系统和安全操作系统之间的可定向或双向传递数据传递,其中,内存使用管理模型包括:安全应用程序、动态内存、安卓系统内核和qsee内核代码。

(1)安全应用程序:可信应用ta运行使用的独立内存空间,该内存空间提前划分且固定分配。

tee:全称trustexecutionenvironment,可信执行环境。

ta:全称trustedapplication,可信应用,是tee环境中授权的应用程序。

(2)动态内存包括:安卓系统和用户程序运行使用的内存空间;

(3)安卓系统内核:安卓系统用户模块数据空间,属于固定分配;

(4)qsee内核代码:tz数据申请内存空间属于固定分配。高通安全执行环境,用于为tz安全应用程序提供身份验证、加密和日志记录安全应用。

其中,tz为trustzone的缩写:在硬件环境中提供安全区域并要求在其中运行安全软件,并利用其提供存储敏感数据的区域,简写tz。

qsee:全称qualcommsecureexecutionenvironment,高通安全执行环境,为tz安全应用程序提供身份验证,加密,日志记录等安全应用。tee在高通平台上实现被定义为qsee。

在本发明的一个实施例中,对高通平台trustzone指纹识别实现方法采用的程序,进行模块化的定制与封装。

需要说明的是,在本发明中,敏感设备为指纹芯片,采用登录验证组件、指纹管理api组件、指纹服务组件、指纹hal组件和ta指纹应用组件进行处理。

具体地,登录验证组件用于实现界面登录验证操作(fingerprintsystemui)。在android5.1原生系统中没有支持指纹相关的应用,此块需要新增。增加相关的业务流程和相关的界面代码实现,其包括指纹解锁界面,和指纹管理相关应用。

指纹管理api组件用于提供给界面相关的验证操作接口服务(fingerprintextensionservice)。

指纹服务组件用于提供系统服务,确保指纹相关的业务(fingerprintandroidservice)。

指纹hal组件用于通过有指纹芯片厂提供的相关的指纹协商命令字和ta中的指纹应用进行协议控制(androidfingerprintsetting)。其实现包括系统内核中协议控制部分和通讯部分。

ta指纹应用组件包括ta环境工作环境配置和指纹驱动,其中,指纹驱动用于实现特征数据采集、数据对比和数据存储,相关联的程序为fingerprintapp(工程名为fingerapp)。通过qsee提供的通信接口驱动指纹模组正常工作,根据控制指令完成相对应的工作业务。

高通qsee组件:提供了多种总线通信方式,如i2c,spi等,其通过独立cpu工作,本身和安卓系统相隔离的工作环境,确保ta在此安全环境下可以正常工作。

下面对指纹识别的详细过程进行说明。

1)手机触碰指纹ic,上报信息给系统

当手指触碰到指纹ic时,指纹ic上报了中断给系统,系统监控到指纹ic上报中断。

2)通知指纹ta应用进行指纹数据采集。

系统把中断消息传递给了指纹hal组件,指纹hal组件,发命令通知安全系统调用处理。

下发数据采集控制指令系统安全调用,系统安全调用传递信息给ta指纹应用。ta指纹应用。

在收到信息之后,下发数据采集命令给指纹ic,依次从指纹ic上读取手指指纹。

3)对比指纹数据,回传比对结果给系统

指纹ic读取完用户指纹后,通过系统安全调用传递信息给指纹hal组件。

指纹hal组件在收到指纹收集完的信息后,下发指纹比对命令给ta指纹应用组件。

ta指纹应用组件从tz存储区中读取之前已存储的指纹a和新收集的临时指纹b对比。

然后通过系统安全调用传递比对结果给hal指纹组件。

4)处理对比结果,通知系统

指纹hal组件,指纹对比结果,通过指纹服务组件将消息通知,登录验证组件。

5)登录验证界面解锁或提示指纹错误

登录验证组件通过指纹管理api组件从指纹服务组件中,获取到指纹对比结果。

如对比结果一致则解锁手机界面,否则界面ui提示输入密码或输入指纹解锁,并提示错误次数一次。

如图2所示,本发明实施例提供一种高通平台trustzone指纹识别实现系统,包括:软件控制管理模块1和内存使用管理模块2。

具体地,软件控制管理模块1用于对系统资源和cpu进行监控和管理,通知安全系统和普通系统的资源和利用情况,对运行在安全区域的安全系统中的程序、对敏感设备进行操作、对数据进行操作管理,通过硬件接口与cpu的对接,通过系统总线与cpu进行通信,通过共享中断对安全监控模式实现非安全模式到安全模式的转换,包括:利用采集处理系统上报来的中断信号,通过系统相关程序进行数据的采集和处理。

在本发明的一个实施例中,共享中断为普通系统环境下的中断,唤醒系统,通过中断上报给系统监控环境,通知安全系统调用处理。

软件控制管理模块1通过用户界面将程序处理的结果反映并显示处理,同时将用户的操作申请请求反馈至系统相关程序。

内存使用管理模块2用于建立内存使用管理模型,通过物理内存共享方式,控制总线共享在普通操作系统和安全操作系统之间的可定向或双向传递数据传递,其中,内存使用管理模型包括:安全应用程序、动态内存、安卓系统内核和qsee内核代码。

(1)安全应用程序:可信应用ta运行使用的独立内存空间,该内存空间提前划分且固定分配。

tee:全称trustexecutionenvironment,可信执行环境。

ta:全称trustedapplication,可信应用,是tee环境中授权的应用程序。

(2)动态内存包括:安卓系统和用户程序运行使用的内存空间;

(3)安卓系统内核:安卓系统用户模块数据空间,属于固定分配;

(4)qsee内核代码:tz数据申请内存空间属于固定分配。高通安全执行环境,用于为tz安全应用程序提供身份验证、加密和日志记录安全应用。

其中,tz为trustzone的缩写:在硬件环境中提供安全区域并要求在其中运行安全软件,并利用其提供存储敏感数据的区域,简写tz。

qsee:全称qualcommsecureexecutionenvironment,高通安全执行环境,为tz安全应用程序提供身份验证,加密,日志记录等安全应用。tee在高通平台上实现被定义为qsee。

在本发明的一个实施例中,软件控制管理模块1对高通平台trustzone指纹识别实现方法采用的程序,进行模块化的定制与封装。

需要说明的是,敏感设备为指纹芯片,软件控制管理模块1采用登录验证组件、指纹管理api组件、指纹服务组件、指纹hal组件和ta指纹应用组件进行处理。

具体地,登录验证组件用于实现界面登录验证操作(fingerprintsystemui)。在android5.1原生系统中没有支持指纹相关的应用,此块需要新增。增加相关的业务流程和相关的界面代码实现,其包括指纹解锁界面,和指纹管理相关应用。

指纹管理api组件用于提供给界面相关的验证操作接口服务(fingerprintextensionservice)。

指纹服务组件用于提供系统服务,确保指纹相关的业务(fingerprintandroidservice)。

指纹hal组件用于通过有指纹芯片厂提供的相关的指纹协商命令字和ta中的指纹应用进行协议控制(androidfingerprintsetting)。其实现包括系统内核中协议控制部分和通讯部分。

ta指纹应用组件包括ta环境工作环境配置和指纹驱动,其中,指纹驱动用于实现特征数据采集、数据对比和数据存储,相关联的程序为fingerprintapp(工程名为fingerapp)。通过qsee提供的通信接口驱动指纹模组正常工作,根据控制指令完成相对应的工作业务。

高通qsee组件:提供了多种总线通信方式,如i2c,spi等,其通过独立cpu工作,本身和安卓系统相隔离的工作环境,确保ta在此安全环境下可以正常工作。

下面对指纹识别的详细过程进行说明。

1)手机触碰指纹ic,上报信息给系统

当手指触碰到指纹ic时,指纹ic上报了中断给系统,系统监控到指纹ic上报中断。

2)通知指纹ta应用进行指纹数据采集。

系统把中断消息传递给了指纹hal组件,指纹hal组件,发命令通知安全系统调用处理。

下发数据采集控制指令系统安全调用,系统安全调用传递信息给ta指纹应用。ta指纹应用。

在收到信息之后,下发数据采集命令给指纹ic,依次从指纹ic上读取手指指纹。

3)对比指纹数据,回传比对结果给系统

指纹ic读取完用户指纹后,通过系统安全调用传递信息给指纹hal组件。

指纹hal组件在收到指纹收集完的信息后,下发指纹比对命令给ta指纹应用组件。

ta指纹应用组件从tz存储区中读取之前已存储的指纹a和新收集的临时指纹b对比。

然后通过系统安全调用传递比对结果给hal指纹组件。

4)处理对比结果,通知系统

指纹hal组件,指纹对比结果,通过指纹服务组件将消息通知,登录验证组件。

5)登录验证界面解锁或提示指纹错误

登录验证组件通过指纹管理api组件从指纹服务组件中,获取到指纹对比结果。

如对比结果一致则解锁手机界面,否则界面ui提示输入密码或输入指纹解锁,并提示错误次数一次。

需要说明的是,本发明实施例的高通平台trustzone指纹识别实现方法及系统不限于应用在高通平台环境上,还可以应用到其他平台上。

根据本发明实施例的高通平台trustzone指纹识别实现方法及系统,基于高通trustzone硬件环境,通过共享中断对安全监控模式实现非安全模式到安全模式的转换,通过物理内存共享方式,控制总线共享在普通操作系统和安全操作系统之间的可定向或双向传递数据传递。所使用的程序进行模块化的定制与封装,均可独立运行,可根据项目要去实现独立升级。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1