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

基于Android系统秘钥文件安全存储的方法及系统与流程

2022-03-26 14:22:27 来源:中国专利 TAG:

基于android系统秘钥文件安全存储的方法及系统
技术领域
1.本发明涉及数据存储技术领域,具体涉及一种基于android系统秘钥文件安全存储的方法及系统。


背景技术:

2.android系统手机、ar眼镜等移动终端中,使用android sdk的keystore接口生成的秘钥文件最终会被存储到android的文件系统中(/data/misc/keystore/目录下),若android设备被恶意攻击,攻击者获取到了root权限时,则可以获取到秘钥文件,并使用该秘钥文件完成对用户敏感数据的解密,进而造成用户机密数据的泄露或其他安全风险。


技术实现要素:

3.针对上述现有技术中存在的不足之处,本发明提出了一种基于android系统秘钥文件安全存储方法及系统,解决使用android sdk的keystore接口生成的秘钥文件在受攻击的android系统中可以被恶意获取并可用于重放攻击的问题。
4.为实现上述技术效果,本发明的第一方面提供了一种基于android系统秘钥文件安全存储方法,其包括以下步骤:
5.创建中间层接口,对接android sdk的keystore接口和rpmb分区的函数接口;
6.获取keystore接口生成或导入的密钥文件;
7.修改android framework层的keystore服务代码,将所述密钥文件通过所述中间层接口存储到所述rpmb分区中。
8.本发明方法的一些实施例中,对所述中间层接口设置有访问权限。
9.本发明方法的一些实施例中,在获取keystore接口生成或导入的密钥文件后,对需要安全存储的密钥文件配置标记字段,仅将配置标记字段的密钥文件存储至所述rpmb分区。
10.本发明方法的一些实施例中,对未配置标记字段的密钥文件无需修改keystore服务代码,直接存储至android sdk的原文件系统中。
11.本发明方法的一些实施例中,所述中间层接口由集成了带有rpmb分区的trustzone能力的芯片所提供。
12.本发明的第二方面还提供了一种基于android系统秘钥文件安全存储系统,其包括提供中间层接口的应用程序,所述中间层接口对接android sdk的keystore接口和rpmb分区的函数接口;所述应用程序在获取keystore接口生成或导入的密钥文件后,修改android framework层的keystore服务代码,将所述密钥文件通过所述中间层接口存储到所述rpmb分区中。
13.本发明系统的一些实施例中,所述应用程序对所述中间层接口设置有访问权限模块。
14.本发明系统的一些实施例中,所述应用程序还包括标记字段配置模块,用于在获
取keystore接口生成或导入的密钥文件后,对需要安全存储的密钥文件配置标记字段,仅将配置标记字段的密钥文件存储至所述rpmb分区。
15.本发明系统的一些实施例中,所述应用程序对未配置标记字段的密钥文件无需修改keystore服务代码,直接存储至android sdk的原文件系统中。
16.本发明系统的一些实施例中,所述应用程序为集成了带有rpmb分区的trustzone能力的芯片。
17.由于采用上述技术方案,使得本发明取得的技术效果是:
18.采用本发明方法,android开发者仍然可以使用android sdk的keystore接口完成秘钥的生成、导入、加密/解密等功能。而对于特别重要的秘钥文件,可以通过指定标记字段等方式告知keystore服务,将秘钥文件存储到rpmb分区中。秘钥文件存储到rpmb分区中后,android设备被恶意攻击,攻击者获取到了root权限时,无法在文件系统中找到该秘钥文件,进而防止攻击者利用秘钥文件解密用户敏感数据的问题。
附图说明
19.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本发明实施例中基于android系统秘钥文件安全存储系统的操作流程图。
具体实施方式
21.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.本发明实施例提供了一种基于android系统秘钥文件安全存储方法,适用于所有基于android系统手机、ar眼镜等移动终端。通过将秘钥文件保存到rpmb(replay protected memory block重放保护内存块)分区中的方法,即使android设备被恶意攻击,攻击者获取到了root权限时,也无法通过上述方式获取到秘钥文件,进而保证了用户数据的安全性。
23.其中,rpmb是emmc中的一个具有安全特性的分区,emmc在写入数据到rpmb时,会校验数据的合法性,只有指定的host(终端)才能够写入,同时在读数据时,也提供了签名机制,保证host(终端)读取到的数据是rpmb内部数据,而不是攻击者伪造的数据。
24.本实施例提供的基于android系统秘钥文件安全存储方法,主要包括以下步骤:
25.s1:创建中间层接口,对接android sdk的keystore接口和rpmb分区的函数接口;
26.s2:获取keystore接口生成或导入的密钥文件;
27.s3:修改android framework层的keystore服务代码,将密钥文件通过所述中间层接口存储到所述rpmb分区中。
28.其中,该中间层接口为由集成了带有rpmb分区的trus tzone能力的芯片所提供。
中间层接口由集成了带有rpmb分区的trustzone能力的芯片所提供。例如:基于高通的sm4250平台,该平台方案中集成了带有rpmb分区的trustzone能力,实际上,中间层接口并不局限于来自该单一平台,只要是集成了带有rpmb分区的trustzone能力的芯片都可以实现。该中间层接口实现代码中,封装了trustzone环境的初始化与去初始化操作,非安全区与trustzone对应的安全区数据交换缓冲区申请与释放,rpmb分区初始化等操作。
29.进一步地,为了确保中间层接口的安全性,可以对其配置相应的访问权限,如限制只有特定的角色权限可以访问该中间层接口。
30.更进一步地,因为rpmb分区大小有限,不能将所有keystore生成的秘钥文件都存储到rpmb分区中。因此在获取keystore接口生成或导入的密钥文件后,系统还会对需要安全存储的密钥文件配置标记字段,keystore服务根据该标记字段判断是否要将秘钥文件存储到rpmb分区中,将需要特别的安全存储的密钥文件存储至rpmb分区中,而那些不需要特别的安全存储的密钥文件则无需修改keystore服务代码,直接存储至android sdk的原文件系统中。
31.参阅图1,本发明还提供了一种基于android系统秘钥文件安全存储系统,该系统可用于实现上述实施例中的基于android系统秘钥文件安全存储方法。具体来说,该系统包括提供一中间层接口(trust_client)的应用程序(trust_app),该中间层接口(trust_client)即上述方法中的中间层接口,用于对接android sdk的keystore接口和rpmb分区的函数接口。android framework层keys tore_service模块获取来自外部程序app导入的密钥文件,或者自己生成密钥文件。应用程序(trust_app)在获取keystore接口生成或导入的密钥文件后,修改android framework层keystore_service模块中的keystore服务代码,将密钥文件通过中间层接口存储到rpmb分区中,从而实现将秘钥文件保存到rpmb分区中,实现对android系统秘钥文件的安全存储。
32.其中,该应用程序(trust_app)可基于soc厂商(如高通公司)提供的tee sdk所编写,例如:基于高通的sm4250平台,该平台方案中集成了带有rpmb分区的trustzone能力,实际上,中间层接口并不局限于来自该单一平台,只要是集成了带有rpmb分区的trustzone能力的芯片都可以实现。在该应用程序中调用rpmb分区的函数接口,完成文件的存取、删除、查询等操作。
33.为了确保该应用程序(trust_app)对外暴露的安全存储文件访问接口,即中间层接口的安全性,可以配置访问权限模块,如限制只有特定的角色权限可以访问该中间层接口。
34.因为rpmb分区大小有限,不能将所有keystore生成的秘钥文件都存储到rpmb分区中。因此,该应用程序(trust_app)还配置了标记字段配置模块,用于在获取keystore接口生成或导入的密钥文件后,对需要安全存储的密钥文件配置标记字段,将需要特别安全存储的密钥文件存储至所述rpmb分区,将不需要特别安全存储的密钥文件则无需修改keystore服务代码,直接存储至android sdk的原文件系统(keymaster)中。
35.参阅图1,其中的trust client和trust app为新增部分,keystore_service模块需要做出修改,以便于适配android sdk中keystore接口,其余部分为android系统的现有部分。
36.经过以上步骤,android开发者仍然可以使用android sdk的keystore接口完成秘
钥的生成、导入、加密/解密等功能。而对于特别重要的秘钥文件,可以通过指定标记字段等方式告知keystore服务,将秘钥文件存储到rpmb分区中。秘钥文件存储到rpmb分区中后,android设备被恶意攻击,攻击者获取到了root权限时,无法在文件系统中找到该秘钥文件,进而防止攻击者利用秘钥文件解密用户敏感数据的问题。
37.本发明中未涉及部分均与现有技术相同或可采用现有技术加以实现。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献