本发明涉及终端安全防护领域,尤其涉及一种防止移动终端解锁的方法及系统。
背景技术:
随着移动终端以及移动互联网的发展,指纹功能正逐渐成为各移动终端的标配项;由于指纹具有特定专属性,在解锁和支付方面带来方便快捷,替代了传统的数字密码输入的麻烦和不安全性。但是目前的指纹解锁仍存在暴力性破解的极大风险,使用户丢失手机后重要数据存在被暴露的风险。
因此,现有技术还有待于改进和发展。
技术实现要素:
鉴于上述现有技术的不足,本发明的目的在于提供一种防止移动终端解锁的方法及系统,旨在解决现有的指纹解锁方式在移动终端丢失后仍存在暴力解锁的风险的问题。
本发明的技术方案如下:
一种防止移动终端解锁的方法,其中,包括步骤:
A、将用户预先输入的指纹数据传递到TEE TA进行加密,然后写入到RMPB 存储区域;
B、当需要解锁时,接收用户当前输入的指纹数据,并获取存储在RPMB存储区域中的指纹数据并进行解密,将当前输入的指纹数据与解密后的指纹数据进行比对,根据比对结果判断是否解锁。
所述的防止移动终端解锁的方法,其中,所述步骤A具体包括:
A1、启动录入指纹数据;
A2、采集指纹数据;
A3、通过REE接口将指纹数据传递到TEE TA;
A4、TEE TA对指纹数据进行加密;
A5、将加密后的指纹数据写入至RPMB存储区域;
A6、返回存储结果。
所述的防止移动终端解锁的方法,其中,所述步骤B具体包括:
B1、控制点亮移动终端屏幕;
B2、接收用户当前输入的指纹数据;
B3、启动指纹验证操作;
B4、通过REE接口与TEE TA交互获取存储在RPMB存储区域中的指纹数据;
B5、读取RPMB存储区域中的指纹数据;
B6、对RPMB存储区域中的指纹数据进行解密;
B7、将当前输入的指纹数据与解密后的指纹数据进行比对;
B8、返回比对结果,并根据比对结果判断是否解锁。
所述的防止移动终端解锁的方法,其中,所述步骤A之前还包括:
S、在移动终端开机时,将注入在BROM中的内存ID与移动终端中的内存ID进行比对,若二者不一致,则控制移动终端重启,若二者一致,则控制移动终端进入待机状态。
所述的防止移动终端解锁的方法,其中,所述步骤S具体包括:
S1、BROM启动;
S2、判断BROM中是否注入有第一检查标志,若有则读取BROM中的内存ID,并启动预加载程序,若没有则直接启动预加载程序;
S3、判断移动终端是否需要检查内存ID,若需要检查则读取移动终端中的内存ID,并将注入在BROM中的内存ID与移动终端中的内存ID进行比对,若二者不一致,则控制移动终端重启,若二者一致,则控制移动终端进入待机状态;若不需要检查则控制移动终端进入待机状态。
所述的防止移动终端解锁的方法,其中,所述步骤S之前还包括:
T、获取移动终端的内存ID,将获取到的内存ID写入到BROM的存储区域中,并进行锁定。
所述的防止移动终端解锁的方法,其中,所述步骤T具体包括:
T1、通过ADB连接移动终端;
T2、获取移动终端的设备ID;
T3、根据设备ID发送读取内存ID的指令至移动终端;
T4、移动终端接收到所述指令后读取内存ID并返回;
T5、发送设备重启的命令并传递至BROM;
T6、BROM映射通讯端口;
T7、将映射结果返回;
T8、将内存ID写入到BROM的存储区域中;
T9、返回写入状态。
一种防止移动终端解锁的系统,其中,包括:
写入模块,用于将用户预先输入的指纹数据传递到TEE TA进行加密,然后写入到RMPB 存储区域;
比对模块,用于当需要解锁时,接收用户当前输入的指纹数据,并获取存储在RPMB存储区域中的指纹数据并进行解密,将当前输入的指纹数据与解密后的指纹数据进行比对,根据比对结果判断是否解锁。
所述的防止移动终端解锁的系统,其中,还包括:
检查模块,用于在移动终端开机时,将注入在BROM中的内存ID与移动终端中的内存ID进行比对,若二者不一致,则控制移动终端重启,若二者一致,则控制移动终端进入待机状态。
所述的防止移动终端解锁的系统,其中,还包括:
绑定模块,用于获取移动终端的内存ID,将获取到的内存ID写入到BROM的存储区域中,并进行锁定。
有益效果:本发明将用户的指纹数据预先加密然后写入到RMPB 存储区域,这样即使他人捡到用户移动终端,也无法窃取用户重要信息,提高了移动终端的设备安全性。
附图说明
图1为本发明一种防止移动终端解锁的方法较佳实施例的流程图。
图2为图1所示方法中步骤S1的具体流程图。
图3为图1所示方法中步骤S2的具体流程图。
图4为本发明方法中检查步骤的具体流程图。
图5为本发明方法中绑定步骤的具体流程图。
图6为本发明一种防止移动终端解锁的系统较佳实施例的结构框图。
具体实施方式
本发明提供一种防止移动终端解锁的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种防止移动终端解锁的方法较佳实施例的流程图,如图所示,其包括步骤:
S1、将用户预先输入的指纹数据传递到TEE TA进行加密,然后写入到RMPB 存储区域;
S2、当需要解锁时,接收用户当前输入的指纹数据,并获取存储在RPMB存储区域中的指纹数据并进行解密,将当前输入的指纹数据与解密后的指纹数据进行比对,根据比对结果判断是否解锁。
本发明相比传统的划屏及数字、图案解锁方法,安全性更有保障;同时,指纹数据不是存储在系统中,而是选择加密存储在RPMB 安全区域,从而确保即使移动终端丢失,也不会被窃取重要信息。
具体来说,如图2所示,所述步骤S1具体包括:
S11、启动录入指纹数据;
S12、采集指纹数据;
S13、通过REE接口将指纹数据传递到TEE TA;
S14、TEE TA对指纹数据进行加密;
S15、将加密后的指纹数据写入至RPMB存储区域;
S16、返回存储结果。
用户在使用移动终端过程中,需要通过设置来激活指纹解锁,并确保指纹作为唯一解锁方式。首先,启动录入指纹数据的操作(应用端),然后通过指纹传感器采集指纹数据,移动终端系统REE 端将指纹数据将REE接口传递到TEE 环境下的TA(TEE TA),以使TEE TA完成指纹数据的加密(具体可通过AES 加密),TA 在TEE 环境下操纵RMPB 存储区域,并将加密后的指纹数据写入RMPB 存储区域中,最终将结果返回REE 端并通知应用完成操作。其中,TEE(Trusted Execution Environment)指可信赖安全可执行环境;TA(Trusted Applicaton)指在TEE 环境下运行的程序;REE(Rich Execution Environment)指不安全的执行环境,通常就是指Linux android 系统;RPMB(Replay Protect Memory Block)指回环保护分区,用户在需要存储重要数据时可以使用该分区,该分区采用了授权加密的机制来保护数据,是MEMORY存储区上的一个特殊安全区域,存储和读写都需要特定密码才能操作;MEMORY指设备存储区域(即内存),分RAM/ROM部分, 相当于电脑的内存和硬盘,后续的内存ID即指MEMORY ID。AES(Advanced Encryption Standard)是高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
具体来说,如图3所示,所述步骤S2具体包括:
S21、控制点亮移动终端屏幕;
S22、接收用户当前输入的指纹数据;
S23、启动指纹验证操作;
S24、通过REE接口与TEE TA交互获取存储在RPMB存储区域中的指纹数据;
S25、读取RPMB存储区域中的指纹数据;
S26、对RPMB存储区域中的指纹数据进行解密;
S27、将当前输入的指纹数据与解密后的指纹数据进行比对;
S28、返回比对结果,并根据比对结果判断是否解锁。
用户在使用移动终端过程中,如开机需要通过即时指纹录入验证。在点亮移动终端屏幕后,通过指纹传感器采集当前使用者的指纹数据,然后启动指纹验证操作。
在指纹验证操作启动后,应用端通过TEE接口与TEE TA交互,获取存储在RPMB存储区域中的指纹数据,即通知TEE TA读取RPMB存储区域中的指纹数据。然后通过AES 密钥对RMPB 存储区域中的指纹数据进行解密,并返回给应用端,将采集的当前使用者的指纹数据与返回的指纹数据进行比对(具体可以交由指纹传感器来进行比对),并将比对结果返回给应用端,若指纹不匹配,应用端将告知解锁失败,保持当前状态,若指纹匹配,则解锁成功。
进一步,所述步骤S1之前还包括:
S0、在移动终端开机时,将注入在BROM中的内存ID与移动终端中的内存ID进行比对,若二者不一致,则控制移动终端重启,若二者一致,则控制移动终端进入待机状态。
上述流程是在开机后,检查MEMORY 匹配唯一性(称为检查步骤)。这样,当其他人捡到移动终端后,在开机重启时,若更换内存,则会导致启动失败,而不断重启,直至停机。
进一步,如图4所示,所述步骤S0具体包括:
S01、BROM启动;
S02、判断BROM中是否注入有第一检查标志,若有则读取BROM中的内存ID,并启动预加载程序,若没有则直接启动预加载程序;
S03、判断移动终端是否需要检查内存ID,若需要检查则读取移动终端中的内存ID,并将注入在BROM中的内存ID与移动终端中的内存ID进行比对,若二者不一致,则控制移动终端重启,若二者一致,则控制移动终端进入待机状态;若不需要检查则控制移动终端进入待机状态。
具体来说,BROM 在CPU(芯片)里面,其中有很小的一个存储区域,在出厂生产的时候有工序往这个区域注入当初与移动终端对应的内存ID;厂商给每个内存分配不同的一个串号,而且无法更改,此数据在移动终端出厂前注入BROM后将无法更改。BROM是指在CPU 芯片中上电后第一个运行程序,里面有少量的一次性存储区域,数据不可以擦除。移动终端的内存ID 可以通过在程序运行时,通过preloader程序(预加载程序)可以获取这个信息。preloader程序是指移动终端中初始工作的一个启动的运行程序。
在移动终端每次开机时,先启动BROM,判断其是否有注入第一检查标志,根据是否有注入第一检查标志来判断是否读取BROM中的内存ID,也就是说,先判断BROM中是否注入了内存ID。然后通过预加载程序来判断是否需要检查内存ID,若需要的话,则动态读取移动终端的内存ID,并进行比较,若一致则启动系统Kernel然后进入待机,若不一致,则返回重启,导致无法开机,从而避免信息被窃取。若不需要检查内存ID,则直接启动系统Kernel,正常开启后进入待机。其中的系统Kernel是指操作系统内核,操作系统内核是指大多数操作系统的核心部分;它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。
进一步,所述步骤S0之前还包括:
T、获取移动终端的内存ID,将获取到的内存ID写入到BROM的存储区域中,并进行锁定。
上述步骤是将CPU芯片和MEMMORY绑定(称为绑定步骤),从而加大捡到或盗取移动终端者窃取用户重要信息的难度。即本发明使CPU 和 memory具有强关联性,增强了不法分子替换单一器件的成本和难度,同时在生产环节导入便捷安全。
具体来说,如图5所示,所述步骤T具体包括:
T1、通过ADB连接移动终端;
T2、获取移动终端的设备ID;
T3、根据设备ID发送读取内存ID的指令至移动终端;
T4、移动终端接收到所述指令后读取内存ID并返回;
T5、发送设备重启的命令并传递至BROM;
T6、BROM映射通讯端口;
T7、将映射结果返回;
T8、将内存ID写入到BROM的存储区域中;
T9、返回写入状态。
注入内存ID需要在移动终端初始上电进行,所以需要再次让手机重启开机,并在BROM 工作过程中完成内存ID注入BROM 存储区域中,并进行锁定,确保无法再修改。
首先移动终端开机,然后由PC烧写efuse工具通过ADB连接移动终端,移动终端将设备ID返回给PC烧写efuse工具,然后PC烧写efuse工具发送读取内存ID的指令至移动终端,移动终端从设备内存中读取内存ID,并将其返回至PC烧写efuse工具,PC烧写efuse工具发送设备重启的命令至移动终端并传递至BROM,BROM映射通讯端口并将映射结果返回PC烧写efuse工具,PC烧写efuse工具组织内存ID的数据并写入到BROM的存储区域中,BROM返回写入状态至PC烧写efuse工具。
其中,efuse (Electronic fuse) 指电子熔断在CPU 芯片中一个微小的存储,存储以下重要的flag和数据,在MTK 平台上只能烧写一次,高通平台存在多次烧写机会,不可以擦除,并且需要特定方式读取。
ADB(Android Debug Bridge ) 指起到调试桥的作用。
基于上述方法,本发明还提供一种防止移动终端解锁的系统较佳实施例,如图6所示,其包括:
写入模块100,用于将用户预先输入的指纹数据传递到TEE TA进行加密,然后写入到RMPB 存储区域;
比对模块200,用于当需要解锁时,接收用户当前输入的指纹数据,并获取存储在RPMB存储区域中的指纹数据并进行解密,将当前输入的指纹数据与解密后的指纹数据进行比对,根据比对结果判断是否解锁。
具体的,所述写入模块100具体包括:
录入启动单元,用于启动录入指纹数据;
指纹采集单元,用于采集指纹数据;
指纹传递单元,用于通过REE接口将指纹数据传递到TEE TA;
指纹加密单元,用于对指纹数据进行加密;
指纹写入单元,用于将加密后的指纹数据写入至RPMB存储区域;
存储返回单元,用于返回存储结果。
具体的,所述比对模块200具体包括:
屏幕点亮单元,用于控制点亮移动终端屏幕;
指纹接收单元,用于接收用户当前输入的指纹数据;
启动验证单元,用于启动指纹验证操作;
指纹获取单元,用于通过REE接口与TEE TA交互获取存储在RPMB存储区域中的指纹数据;
指纹读取单元,用于读取RPMB存储区域中的指纹数据;
指纹解密单元,用于对RPMB存储区域中的指纹数据进行解密;
指纹比对单元,用于将当前输入的指纹数据与解密后的指纹数据进行比对;
指纹解锁单元,用于返回比对结果,并根据比对结果判断是否解锁。
进一步,系统还包括:
检查模块,用于在移动终端开机时,将注入在BROM中的内存ID与移动终端中的内存ID进行比对,若二者不一致,则控制移动终端重启,若二者一致,则控制移动终端进入待机状态。
具体的,所述检查模块具体包括:
BROM启动单元,用于启动BROM;
第一判断单元,用于判断BROM中是否注入有第一检查标志,若有则读取BROM中的内存ID,并启动预加载程序,若没有则直接启动预加载程序;
第二判断单元,用于判断移动终端是否需要检查内存ID,若需要检查则读取移动终端中的内存ID,并将注入在BROM中的内存ID与移动终端中的内存ID进行比对,若二者不一致,则控制移动终端重启,若二者一致,则控制移动终端进入待机状态;若不需要检查则控制移动终端进入待机状态。
进一步,系统还包括:
绑定模块,用于获取移动终端的内存ID,将获取到的内存ID写入到BROM的存储区域中,并进行锁定。
具体的,所述绑定模块具体包括:
连接单元,用于通过ADB连接移动终端;
设备ID获取单元,用于获取移动终端的设备ID;
指令发送单元,用于根据设备ID发送读取内存ID的指令至移动终端;
ID接收单元,用于移动终端接收到所述指令后读取内存ID并返回;
命令传递单元,用于发送设备重启的命令并传递至BROM;
映射单元,用于BROM映射通讯端口;
映射返回单元,用于将映射结果返回;
ID写入单元,用于将内存ID写入到BROM的存储区域中;
状态返回单元,用于返回写入状态。
关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
综上所述,本发明将用户的指纹数据预先加密然后写入到RMPB 存储区域,这样即使他人捡到用户手机,也无法窃取用户重要信息,提高了移动终端的设备安全性。本发明对移动终端使用者在常规使用中没有增加复杂操作,在移动终端生产操作流程中非常便捷,也便于查询;其他人无法从RPMB存储区域读取指纹并加以解析。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。