[发明专利]基于TrustZone的数据库文件口令加解密方法、装置及终端设备有效
申请号: | 201710214713.1 | 申请日: | 2017-04-01 |
公开(公告)号: | CN106992851B | 公开(公告)日: | 2020-04-10 |
发明(设计)人: | 孙国峰 | 申请(专利权)人: | 北京元心科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;H04L9/32;G06F21/60;G06F21/62 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 姜怡;阚梓瑄 |
地址: | 100176 北京市北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 trustzone 数据库文件 口令 解密 方法 装置 终端设备 | ||
技术领域
本发明涉及移动终端设备安全技术领域,具体而言,涉及一种基于TrustZone的数据库文件口令加解密方法、装置及终端设备。
背景技术
数据库文件是一种很常见的文件类型,很多应用程序或系统应用依赖于数据库文件的使用。尤其是关系数据库在很多应用程序中,用于保存大量的需要检索的数据,例如用户账号、联系人信息、邮件地址等。
目前适用于移动终端设备使用的常见数据库技术有SQLite、mSQL、eXtremeDB等。应用最为广泛的是SQLite,尤其在安卓与iOS操作系统中。SQLite原生支持加密接口,但是需要扩充其加密接口的实现,才能真正的支持加密操作。
开源项目SQLCipher是一个典型的基于SQLite实现的加密数据项目。该项目实现了SQLite的加密接口,从而支持了加密数据库操作。但目前该项目仅支持用户按照文件口令加密的方式进行数据库文件的加密。这就要求用户必须要“记住”这个口令,由于该口令是每数据库文件独立的,为了“记住”各数据库文件的口令,用户可能需要将其保存在一个介质中,如电子文档中,但是对于黑盒加密机制而言,安全的保存一个口令本身是很困难的。而如果对所有数据库文件使用同样的口令,则会降低应用程序的安全性。
因此,需要一种新的数据库文件加密方法,使得数据库文件的口令对用户是透明的,也即无需用户来“记住”该口令。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明提供一种基于TrustZone的数据库文件口令加解密方法、装置及终端设备,能够提供一种数据库文件口令安全地创建及使用的方法,使口令对用户透明,保证口令的安全性。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提供一种基于TrustZone的数据库文件口令加密方法,包括:接收口令创建请求,口令创建请求中包括:数据库文件的第一元数据及类密钥标识;为数据库文件创建用于加密数据库文件的口令,并将第一元数据与口令合并为第二元数据;查找存储的类密钥标识对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据加密请求,数据加密请求包括:类密钥及第二元数据;可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;可信应用程序根据解密后的类密钥,对第二元数据进行加密;以及可信应用程序通过客户接口,将加密后的第二元数据返回至普通执行环境中存储。
根据本发明的一实施方式,类密钥标识与应用场景相对应;应用场景包括:终端设备启动成功后可以访问、终端设备启动成功后且合法登录后可以访问、终端设备启动成功且合法登录且用户界面解除锁定后可以访问、终端设备启动成功且合法登录且用户界面锁定时仅可以写入。
根据本发明的一实施方式,上述方法还包括:接收加密后的第二元数据;以及将加密后的第二元数据与加密后的数据库文件合并为一个文件进行存储;其中,数据库文件根据口令在可信执行环境中被加密。
根据本发明的一实施方式,上述方法还包括:通过客户接口,向可信应用程序发送各应用场景对应的类密钥;可信应用程序根据主密钥对各应用场景对应的类密钥进行加密;以及可信应用程序通过客户接口,将加密后的各应用场景对应的类密钥返回至普通执行环境中存储。
根据本发明的一实施方式,客户接口采用强制访问控制权限管理机制。
根据本发明的另一个方面,提供一种适用于如上述任意一项的加密方法的数据库文件口令解密方法,包括:接收数据库文件的元数据解密请求,元数据解密请求包括:数据库文件的待解密的元数据及类密钥标识,元数据包括:用于加密数据库文件的口令;查找存储的类密钥标识对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据解密请求,数据解密请求包括:类密钥及待解密的元数据;可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;可信应用程序根据解密后的类密钥,对元数据进行解密;以及可信应用程序通过客户接口,将解密后的元数据返回至普通执行环境中。
根据本发明的一实施方式,上述方法还包括:接收普通执行环境中的客户应用程序发送的对数据库文件的操作请求;以及根据操作请求,发送数据库文件的元数据解密请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京元心科技有限公司,未经北京元心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710214713.1/2.html,转载请声明来源钻瓜专利网。